/* hse-neu Oberfläche — impulsmedia CI (Skill impulsmedia-ci): Dunkelblau #073864, Akzent Orange #f49528, Inter. Eine Datei für Instanz-Verwaltung und Leitstand. */
:root{--imp-primary:#073864;--imp-primary-light:#0e5da5;--imp-blue-medium:#6498cc;--imp-blue-light:#ddecf6;--imp-accent:#f49528;--imp-accent-hover:#db8623;--imp-white:#fff;--imp-text:#616160;--imp-text-dark:#000;--imp-font:'Inter','Roboto',system-ui,-apple-system,sans-serif;--imp-radius:8px;--imp-radius-btn:25px;--imp-shadow:0 2px 8px rgba(7,56,100,.08);--imp-shadow-hover:0 4px 16px rgba(7,56,100,.15);--ok:#1e8e3e;--warn:#c47a00;--err:#b3261e;--bg:#f4f7fa}
*{box-sizing:border-box}html{font-size:15px}body{margin:0;font-family:var(--imp-font);color:var(--imp-text);background:var(--bg);line-height:1.5}
a{color:var(--imp-primary-light);text-decoration:none}a:hover{color:var(--imp-accent)}
h1,h2,h3{color:var(--imp-primary);line-height:1.25;margin:0 0 .6em}h1{font-size:1.7rem;font-weight:900}h2{font-size:1.3rem;font-weight:700}h3{font-size:1.05rem;font-weight:700}
.layout{display:flex;min-height:100vh}.side{width:230px;background:var(--imp-primary);color:#fff;padding:1.2rem 1rem;flex-shrink:0}.side .brand{font-weight:900;font-size:1.15rem;color:#fff;display:block;margin-bottom:.2rem}.side .sub{font-size:.8rem;opacity:.75;margin-bottom:1.4rem}
.side nav a{display:block;color:#fff;padding:.5rem .7rem;border-radius:var(--imp-radius);margin-bottom:.15rem;font-weight:500;opacity:.9}.side nav a:hover{background:rgba(255,255,255,.1);opacity:1}.side nav a.aktiv{background:var(--imp-accent);color:#fff;opacity:1}.side .user{margin-top:2rem;font-size:.8rem;opacity:.8;border-top:1px solid rgba(255,255,255,.2);padding-top:1rem}
.main{flex:1;padding:1.6rem 2rem;min-width:0}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.2rem;gap:1rem;flex-wrap:wrap}
.card{background:#fff;border-radius:var(--imp-radius);box-shadow:var(--imp-shadow);padding:1.1rem 1.3rem;margin-bottom:1.2rem}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;margin-bottom:1.2rem}.kpi{background:#fff;border-radius:var(--imp-radius);box-shadow:var(--imp-shadow);padding:1rem 1.2rem}.kpi .wert{font-size:1.9rem;font-weight:900;color:var(--imp-primary)}.kpi .label{font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}
table{width:100%;border-collapse:collapse;font-size:.92rem}th{text-align:left;background:var(--imp-blue-light);color:var(--imp-primary);font-weight:600;padding:.55rem .7rem;white-space:nowrap}td{padding:.5rem .7rem;border-bottom:1px solid #e6ecf2;vertical-align:top}tr:hover td{background:#fafcfe}.num{text-align:right;font-variant-numeric:tabular-nums}
.btn{display:inline-block;border:none;border-radius:var(--imp-radius-btn);padding:.55rem 1.3rem;font-family:inherit;font-weight:600;font-size:.9rem;cursor:pointer;background:var(--imp-accent);color:#fff;transition:background .2s,box-shadow .2s;text-decoration:none}.btn:hover{background:var(--imp-accent-hover);box-shadow:var(--imp-shadow-hover);color:#fff}
.btn-sec{background:transparent;color:var(--imp-primary);border:2px solid var(--imp-primary);padding:.45rem 1.2rem}.btn-sec:hover{background:var(--imp-primary);color:#fff}.btn-klein{padding:.3rem .9rem;font-size:.8rem}.btn-gefahr{background:var(--err)}.btn-gefahr:hover{background:#8f1d17}
.badge{display:inline-block;padding:.15rem .6rem;border-radius:12px;font-size:.78rem;font-weight:600;background:var(--imp-blue-light);color:var(--imp-primary)}.badge.ok{background:#e4f4e8;color:var(--ok)}.badge.warnung{background:#fff1dc;color:var(--warn)}.badge.fehler{background:#fde8e6;color:var(--err)}.badge.grau{background:#eee;color:#666}.badge.akzent{background:var(--imp-accent);color:#fff}
.ampel{display:inline-block;width:.75rem;height:.75rem;border-radius:50%;vertical-align:middle;margin-right:.35rem}.ampel.ok{background:var(--ok)}.ampel.warnung{background:var(--warn)}.ampel.fehler{background:var(--err)}.ampel.grau{background:#bbb}
form.inline{display:inline}label{display:block;font-size:.85rem;font-weight:600;color:var(--imp-primary);margin:.6rem 0 .2rem}input,select,textarea{font-family:inherit;font-size:.95rem;padding:.5rem .7rem;border:1px solid #c9d6e2;border-radius:var(--imp-radius);width:100%;max-width:520px;background:#fff;color:#222}input:focus,select:focus,textarea:focus{outline:2px solid var(--imp-blue-medium);border-color:var(--imp-blue-medium)}input[type=checkbox]{width:auto}
.felder{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:0 1.2rem}.hinweis{background:var(--imp-blue-light);border-left:4px solid var(--imp-primary-light);padding:.7rem 1rem;border-radius:var(--imp-radius);margin:.8rem 0;font-size:.9rem}.hinweis.warnung{background:#fff6e8;border-color:var(--imp-accent)}.hinweis.fehler{background:#fde8e6;border-color:var(--err)}.hinweis.ok{background:#e4f4e8;border-color:var(--ok)}
.login{max-width:400px;margin:8vh auto;background:#fff;border-radius:var(--imp-radius);box-shadow:var(--imp-shadow-hover);padding:2rem}.login h1{font-size:1.4rem}.login .btn{width:100%;margin-top:1rem}
.filter{display:flex;gap:.6rem;flex-wrap:wrap;align-items:end;margin-bottom:1rem}.filter label{margin:0 0 .2rem}.filter input,.filter select{max-width:260px}
.klein{font-size:.82rem;color:#777}code,pre{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85em}pre{background:#f1f4f8;padding:.8rem;border-radius:var(--imp-radius);overflow:auto;max-height:420px}
.tabs{display:flex;gap:.3rem;border-bottom:2px solid var(--imp-blue-light);margin-bottom:1rem}.tabs a{padding:.5rem .9rem;border-radius:var(--imp-radius) var(--imp-radius) 0 0;font-weight:600;color:var(--imp-primary)}.tabs a.aktiv{background:var(--imp-primary);color:#fff}
.foto{width:72px;height:90px;object-fit:cover;border-radius:4px;border:1px solid #ddd;background:#eee}
@media(max-width:860px){.layout{flex-direction:column}.side{width:auto}.main{padding:1rem}table{display:block;overflow-x:auto}}
@media print{.side,.topbar .btn,.filter{display:none}.main{padding:0}}
