/* Heizpol-CRM – dieselbe Farbwelt wie heizpol.de (Blau auf kühlem Neutral). */
:root{--ink:#101722;--muted:#5b6575;--brand:#12447e;--brand-d:#0d3260;--brand-hell:#eaf1fa;
--signal:#e0a11c;--signal-hell:#fdf4de;--bg:#f6f7f9;--card:#fff;--line:#e3e7ee;
--line-stark:#cdd4df;--ok:#137a45;--ok-hell:#e6f4ec;--warn:#9a5b00;--warn-hell:#fdf0d8;
--rot:#a32020;--rot-hell:#fbeaea;--nacht:#0c1521;
--schrift:'Inter',-apple-system,'Segoe UI',sans-serif;--display:'Archivo',var(--schrift);
--mono:'IBM Plex Mono',Menlo,monospace}
*{box-sizing:border-box}
body{margin:0;font:15px/1.6 var(--schrift);color:var(--ink);background:var(--bg);
-webkit-font-smoothing:antialiased}
a{color:var(--brand)}
h1{font-family:var(--display);font-size:26px;letter-spacing:-.02em;margin:0 0 6px}
h2{font-family:var(--display);font-size:19px;letter-spacing:-.01em;margin:34px 0 10px}
h3{font-size:15px;margin:0 0 10px}
.rahmen{display:grid;grid-template-columns:232px 1fr;min-height:100vh}
@media(max-width:860px){.rahmen{grid-template-columns:1fr}}
aside{background:var(--nacht);color:#fff;padding:20px 16px;position:sticky;top:0;height:100vh;
overflow:auto}
@media(max-width:860px){aside{position:static;height:auto}}
aside .logo{font-family:var(--display);font-weight:700;font-size:21px;color:#fff;
text-decoration:none;display:block;margin-bottom:4px}
aside .logo span{color:var(--signal)}
aside .rolle{font-size:12px;color:#8fa0b4;margin-bottom:22px}
aside nav a{display:block;color:#c8d3e0;text-decoration:none;padding:9px 12px;border-radius:9px;
font-size:14px;margin-bottom:2px}
aside nav a:hover{background:rgba(255,255,255,.07);color:#fff}
aside nav a.aktiv{background:var(--brand);color:#fff;font-weight:600}
aside .fuss{margin-top:26px;border-top:1px solid rgba(255,255,255,.15);padding-top:16px;
font-size:12.5px;color:#8fa0b4}
aside .fuss a{color:#c8d3e0;display:block;padding:4px 0;text-decoration:none}
main{padding:30px 34px 70px;max-width:1180px}
@media(max-width:700px){main{padding:22px 18px 50px}}
.kopf{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;flex-wrap:wrap;
margin-bottom:8px}
.lead{color:var(--muted);margin:0 0 18px;max-width:70ch}
.karten{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin:18px 0 8px}
.karte{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px 20px}
.karte b{display:block;font:600 27px/1.1 var(--display);letter-spacing:-.02em}
.karte span{font-size:13px;color:var(--muted)}
.tafel{background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden}
table{border-collapse:collapse;width:100%}
th{font-size:11.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);
text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);background:#fbfcfd}
td{padding:12px 14px;border-bottom:1px solid var(--line);font-size:14px;vertical-align:top}
tr:last-child td{border-bottom:0}
tr:hover td{background:#fafbfd}
td a{text-decoration:none;font-weight:600}
.nr{font-family:var(--mono);font-size:12.5px;color:var(--muted)}
.zeichen{display:inline-block;font:600 11.5px/1 var(--schrift);padding:5px 9px;border-radius:999px;
white-space:nowrap}
.z-neu{background:var(--brand-hell);color:var(--brand-d)}
.z-pruefung{background:var(--warn-hell);color:var(--warn)}
.z-rueckfrage{background:var(--rot-hell);color:var(--rot)}
.z-bearbeitung{background:var(--signal-hell);color:var(--warn)}
.z-geliefert{background:var(--ok-hell);color:var(--ok)}
.z-abgeschlossen{background:#eef0f3;color:var(--muted)}
.z-storniert{background:#eef0f3;color:var(--muted)}
.knopf{display:inline-flex;align-items:center;gap:8px;background:var(--brand);color:#fff;
border:0;text-decoration:none;font:600 14px var(--schrift);padding:10px 18px;border-radius:10px;
cursor:pointer}
.knopf:hover{background:var(--brand-d)}
.knopf.hell{background:#fff;color:var(--brand);border:1px solid var(--line-stark)}
.knopf.hell:hover{background:var(--brand-hell)}
.knopf.klein{padding:7px 13px;font-size:13px;border-radius:8px}
form.block{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:22px 24px;
max-width:640px}
label{display:block;font-size:13px;font-weight:600;color:var(--muted);margin:14px 0 4px}
input,select,textarea{width:100%;font:inherit;padding:10px 12px;border:1px solid var(--line-stark);
border-radius:9px;background:#fff;color:var(--ink)}
input[type=checkbox]{width:auto;margin-right:8px}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand);
box-shadow:0 0 0 3px var(--brand-hell)}
.zweispaltig{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
@media(max-width:700px){.zweispaltig{grid-template-columns:1fr}}
.hilfe{font-size:12.5px;color:var(--muted);margin-top:4px}
.fehler{background:var(--rot-hell);color:var(--rot);border:1px solid #f0cfcf;border-radius:10px;
padding:10px 14px;font-size:13.5px;margin:10px 0}
.meldung{border-radius:10px;padding:12px 16px;font-size:14px;margin-bottom:16px}
.m-success{background:var(--ok-hell);color:var(--ok);border:1px solid #bfe3ce}
.m-error{background:var(--rot-hell);color:var(--rot);border:1px solid #f0cfcf}
.m-info,.m-warning{background:var(--signal-hell);color:var(--warn);border:1px solid #f0dcae}
.spalten{display:grid;grid-template-columns:1.6fr 1fr;gap:22px;align-items:start}
@media(max-width:980px){.spalten{grid-template-columns:1fr}}
.block{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px 22px}
.block+.block{margin-top:16px}
.liste{list-style:none;margin:0;padding:0}
.liste li{padding:11px 0;border-bottom:1px solid var(--line);font-size:14px}
.liste li:last-child{border-bottom:0}
.liste .zeit{font-size:12px;color:var(--muted)}
.datei{display:flex;justify-content:space-between;gap:12px;align-items:center}
.datei .info{font-size:12.5px;color:var(--muted)}
.merkmal{display:flex;gap:10px;flex-wrap:wrap;margin:6px 0 0}
.merkmal span{background:var(--brand-hell);color:var(--brand-d);font:600 12px var(--schrift);
padding:5px 11px;border-radius:999px}
.werte{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;font-size:14px;margin:0}
.werte dt{color:var(--muted)}
.werte dd{margin:0}
.filter{display:flex;gap:10px;flex-wrap:wrap;align-items:end;margin-bottom:14px}
.filter label{margin:0 0 4px}
.filter select,.filter input{min-width:170px;width:auto}
.leer{color:var(--muted);font-size:14px;padding:18px 0}
.gesendet{color:var(--ok);font-weight:600}
.offen-zeichen{color:var(--warn);font-weight:600}
