:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f3f6f8;--panel:#fff;--panel-soft:#f7fafc;--border:#d8e0e8;--border-strong:#c2ceda;--text:#132033;--muted:#66758a;--accent:#1167b1;--accent-strong:#0b4f86;--accent-soft:#e7f2fb;--ok:#15835a;--warn:#a76a00;--bad:#be2d2d;--unknown:#687589;--shadow:0 18px 46px #2030481a;--shadow-soft:0 10px 28px #20304812}*{box-sizing:border-box}body{background:linear-gradient(180deg, #eaf0f5 0, var(--bg) 320px), var(--bg);color:var(--text);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit}button,input,select{font:inherit}.login-shell{background:linear-gradient(180deg, #1167b117, #15835a0d), var(--bg);place-items:center;min-height:100vh;padding:24px;display:grid}.login-panel{background:var(--panel);border:1px solid var(--border);width:min(100%,380px);box-shadow:var(--shadow);border-radius:8px;padding:28px}.login-panel h1,.page-title h1{margin:0;line-height:1.15}.login-panel p,.page-title p,.muted{color:var(--muted)}.page-title h1{font-size:clamp(26px,3vw,40px)}.page-title p{margin:8px 0 0}.field{gap:6px;margin-top:16px;display:grid}.field label{font-size:14px;font-weight:700}.field input,.select{border:1px solid var(--border-strong);width:100%;min-height:42px;color:var(--text);background:#fff;border-radius:6px;outline:none;padding:0 12px;transition:border-color .14s,box-shadow .14s,background .14s}.field input:focus,.select:focus,.compact-field input:focus,.compact-field select:focus,.form-grid input:focus,.form-grid select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #1167b11f}.button{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:6px;min-height:42px;padding:0 14px;font-weight:800;transition:transform .12s,background .12s,box-shadow .12s;box-shadow:0 8px 18px #1167b12e}.button:hover{background:var(--accent-strong);transform:translateY(-1px);box-shadow:0 10px 22px #1167b138}.button.secondary{color:var(--text);border:1px solid var(--border);box-shadow:none;background:#eef4f8}.button.secondary:hover{box-shadow:none;background:#e4edf4}.link-button{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.error{color:var(--bad);margin-top:16px;font-weight:700}.error-panel{color:var(--bad);font-weight:700}.app-shell{width:min(1440px,100%);margin:0 auto;padding:28px}.topbar{box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffd1;border:1px solid #d8e0e8e6;border-radius:8px;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;padding:20px;display:flex}.actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.actions form,.filters-form{flex-wrap:wrap;align-items:end;gap:10px;display:flex}.filters-form{background:var(--panel-soft);border:1px solid var(--border);border-radius:8px;padding:10px}.filters-form .select{min-width:155px}.compact-field{gap:5px;min-width:190px;display:grid}.compact-field span,.checkbox-field span{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:800}.compact-field input,.compact-field select,.form-grid input,.form-grid select{border:1px solid var(--border-strong);min-height:42px;color:var(--text);background:#fff;border-radius:6px;outline:none;padding:0 12px}.form-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));align-items:end;gap:14px;display:grid}.form-submit{align-items:center;gap:10px;display:flex}.checkbox-field{align-items:center;gap:8px;min-height:42px;display:flex}.checkbox-field input{width:18px;height:18px}.grid{gap:16px;display:grid}.metrics{grid-template-columns:repeat(auto-fit,minmax(205px,1fr))}.panel,.metric{background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow-soft);border-radius:8px}.panel{padding:20px;overflow:hidden}.metric{min-height:132px;padding:17px;position:relative;overflow:hidden}.metric:before{content:"";background:var(--accent);height:4px;position:absolute;inset:0 0 auto}.metric:hover{border-color:var(--border-strong)}.metric span,.table-title span{color:var(--muted);text-transform:uppercase;font-size:13px;font-weight:700;display:block}.metric strong{letter-spacing:0;margin-top:8px;font-size:28px;display:block}.metric-date{line-height:1.3;font-size:18px!important}.status-pill{color:#fff;border-radius:6px;align-items:center;min-height:32px;padding:0 10px;font-weight:800;display:inline-flex;box-shadow:inset 0 -1px #0000001f}.table-status{white-space:nowrap;min-height:26px;padding:0 8px;font-size:12px}.status-ok{background:var(--ok)}.status-warnung{background:var(--warn)}.status-kritisch{background:var(--bad)}.status-offline,.status-unbekannt,.status-zeitversatz,.status-empfangsproblem{background:var(--unknown)}.notice{color:#5f4100;background:#fff8e6;border:1px solid #f0d48a;border-radius:8px;gap:4px;padding:14px 16px;display:grid}.chart-frame{border:1px solid var(--border);background:#fff;border-radius:8px;margin-top:14px;position:relative;overflow:hidden}.chart{width:100%;height:auto;min-height:340px;display:block}.axis-text{fill:var(--muted);font-size:12px}.axis-label{fill:#344255;font-size:13px;font-weight:700}.chart-tooltip{color:#fff;background:#132033f0;border-radius:8px;gap:4px;min-width:230px;padding:10px 12px;font-size:13px;display:grid;position:absolute;top:14px;right:14px;box-shadow:0 14px 32px #0f172a3d}.chart-tooltip strong{font-size:18px}.table-wrap{border:1px solid var(--border);background:#fff;border-radius:8px;width:100%;margin-top:14px;overflow:auto}.export-actions{flex-wrap:wrap;gap:10px;margin:12px 0 14px;display:flex}table{border-collapse:collapse;width:100%;font-size:14px}th,td{border-bottom:1px solid var(--border);text-align:left;white-space:nowrap;padding:12px 10px}th{color:var(--muted);text-transform:uppercase;z-index:1;background:#f7fafc;font-size:12px;position:sticky;top:0}tbody tr:nth-child(2n){background:#fbfdff}tbody tr:hover{background:var(--accent-soft)}tbody tr:last-child td{border-bottom:0}.table-title{justify-content:space-between;align-items:end;gap:16px;display:flex}.table-title h2{margin:4px 0 0;font-size:22px;line-height:1.2}.section{margin-top:18px}@media (max-width:860px){.app-shell{padding:16px}.topbar,.actions{display:grid}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:520px){.metrics{grid-template-columns:1fr}}
