:root{--moor: #12160f;--moos: #2f3b2a;--moos-hell: #6f7f5f;--nebel: #c9ccc4;--bernstein: #d9a35b;--leinen: #ece7dc;--karte: #1a2016}*{margin:0;box-sizing:border-box}body{font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--moor);color:var(--leinen)}a{color:var(--bernstein)}header.top{border-bottom:1px solid var(--moos);padding:14px 24px;display:flex;gap:20px;align-items:center;flex-wrap:wrap}header.top .brand{font-family:Georgia,serif;font-size:18px;letter-spacing:.3em;text-transform:lowercase;color:var(--leinen);text-decoration:none}header.top .brand span{color:var(--bernstein);letter-spacing:.1em}header.top nav{display:flex;gap:16px;margin-left:auto;align-items:center;font-size:14px}header.top nav a{color:var(--nebel);text-decoration:none}header.top nav a:hover{color:var(--leinen)}header.top nav form button{background:none;border:1px solid var(--moos);color:var(--nebel);border-radius:999px;padding:5px 12px;font:inherit;cursor:pointer}header.top nav form button:hover{border-color:var(--nebel);color:var(--leinen)}main{max-width:1100px;margin:0 auto;padding:24px 16px 60px}h1{font-family:Georgia,serif;font-weight:400;font-size:28px}h2{font-size:12px;text-transform:uppercase;letter-spacing:.2em;color:var(--moos-hell);margin-bottom:12px}.row{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:20px}.range{display:flex;gap:4px;background:var(--karte);border:1px solid var(--moos);border-radius:999px;padding:3px}.range a{padding:5px 12px;border-radius:999px;color:var(--nebel);text-decoration:none;font-size:13px}.range a.on{background:var(--bernstein);color:var(--moor)}.live{font-size:13px;color:var(--nebel)}.live b{color:var(--bernstein)}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:20px}.kpi{background:var(--karte);border:1px solid var(--moos);border-radius:10px;padding:14px 16px}.kpi .v{font-size:26px;font-variant-numeric:tabular-nums}.kpi .l{font-size:12px;color:var(--nebel);margin-top:4px}.card{background:var(--karte);border:1px solid var(--moos);border-radius:10px;padding:16px}.chart{margin-bottom:20px}.chart svg{width:100%;height:auto;display:block}.chart .legend{display:flex;gap:16px;font-size:12px;color:var(--nebel);margin-top:8px}.chart .legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px;vertical-align:-1px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px}table{width:100%;border-collapse:collapse;font-size:14px}td{padding:6px 0;border-top:1px solid var(--moos);vertical-align:top}tr:first-child td{border-top:0}td.n{text-align:right;font-variant-numeric:tabular-nums;color:var(--nebel);width:70px}td.lbl{overflow-wrap:anywhere;padding-right:12px}.bar{height:3px;background:var(--bernstein);opacity:.6;border-radius:2px;margin-top:4px}.empty{color:var(--moos-hell);font-size:13px}.hint{color:var(--bernstein);background:#2a2214;border:1px solid #5a4424;border-radius:8px;padding:10px 14px;font-size:14px;margin-bottom:16px}.loginwrap{min-height:80vh;display:flex;align-items:center;justify-content:center;padding:16px}.loginbox{background:var(--karte);border:1px solid var(--moos);border-radius:14px;padding:32px;width:360px;max-width:100%}.loginbox h1{font-size:22px;letter-spacing:.25em;text-transform:lowercase;margin-bottom:4px}.loginbox p.lead{font-size:13px;color:var(--nebel);margin-bottom:20px}.loginbox label,.pwform label{display:block;font-size:12px;color:var(--nebel);margin:12px 0 4px}.loginbox input,.pwform input{width:100%;padding:9px 12px;background:var(--moor);color:var(--leinen);border:1px solid var(--moos);border-radius:8px;font-size:14px}.loginbox input:focus,.pwform input:focus{outline:none;border-color:var(--bernstein)}.loginbox button,.pwform button{width:100%;margin-top:20px;padding:10px;border:0;border-radius:8px;background:var(--bernstein);color:var(--moor);font-size:14px;font-weight:700;cursor:pointer}.loginerr,.msg.err{margin-top:16px;font-size:13px;color:#f0a8a0;background:#2a1614;border:1px solid #5a2a24;border-radius:8px;padding:8px 12px}.msg.ok{margin-top:16px;font-size:13px;color:#b8d8a8;background:#18241a;border:1px solid #2f4a2a;border-radius:8px;padding:8px 12px}.pwform{max-width:360px}
