:root{--bg:#f4f6fa;--card:#fff;--text:#111827;--muted:#6b7280;--line:#e5e7eb;--accent:#1d4ed8;--accent2:#0ea5e9;--ok:#059669}
*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,sans-serif;background:var(--bg);color:var(--text)}
.wrap{max-width:1180px;margin:0 auto;padding:24px 16px}
header{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-bottom:20px}
h1{font-size:22px;margin:0}h2{font-size:16px;margin:28px 0 12px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em}
.sub{color:var(--muted);font-size:13px;margin-top:4px}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff}
.seg button{border:0;background:transparent;padding:8px 14px;cursor:pointer;font:inherit;color:var(--muted)}
.seg button.active{background:var(--accent);color:#fff}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px}
.kpi .l{font-size:12px;color:var(--muted)}.kpi .v{font-size:26px;font-weight:700;margin-top:6px;letter-spacing:-.02em}.kpi .h{font-size:12px;color:var(--muted);margin-top:4px}
table{width:100%;border-collapse:collapse;font-size:14px}th,td{padding:10px 8px;text-align:right;border-bottom:1px solid var(--line);white-space:nowrap}
th:first-child,td:first-child{text-align:left;white-space:normal}th{color:var(--muted);font-weight:600;font-size:12px}
.bar{height:6px;background:var(--line);border-radius:3px;overflow:hidden;margin-top:6px}.bar i{display:block;height:100%;background:var(--accent)}
.badge{display:inline-block;background:#fef3c7;color:#92400e;font-size:12px;padding:4px 8px;border-radius:6px}
.err{background:#fee2e2;color:#991b1b;padding:12px;border-radius:8px}
canvas{max-height:280px}
form.login{max-width:380px;margin:12vh auto}input{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:8px;font:inherit;margin:6px 0 14px}
.btn{background:var(--accent);color:#fff;border:0;border-radius:8px;padding:10px 16px;font:inherit;cursor:pointer;width:100%}
footer{color:var(--muted);font-size:12px;margin-top:32px;text-align:center}
@media(max-width:600px){.kpi .v{font-size:22px}td,th{padding:8px 6px;font-size:13px}}
/* Info-Tooltips */
.info{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;border:1px solid var(--muted);color:var(--muted);font-size:10px;font-weight:700;margin-left:5px;cursor:pointer;vertical-align:middle;position:relative;font-style:normal;line-height:1}
.info:hover,.info.open{border-color:var(--accent);color:var(--accent)}
.info .tip{display:none;position:fixed;width:min(260px,calc(100vw - 24px));background:#111827;color:#fff;font-size:12px;font-weight:400;line-height:1.45;padding:10px 12px;border-radius:8px;text-align:left;white-space:normal;z-index:10;box-shadow:0 6px 20px rgba(0,0,0,.2)}
.info:hover .tip,.info.open .tip{display:block}
th .info{margin-left:3px}
.glossar{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px 24px;font-size:14px}
.glossar dt{font-weight:600;margin-top:6px}.glossar dd{margin:2px 0 8px;color:var(--muted)}
