:root{--bg-1:#0b0e1f;--bg-2:#2a1650;--bg-3:#5b1f5e;--bg-4:#1c1240;--bg-glow-1:#7c3aed47;--bg-glow-2:#db277733;--surface:#ffffff0e;--surface-strong:#ffffff17;--border:#ffffff1c;--border-strong:#ffffff2e;--text-primary:#f7f7fb;--text-secondary:#ededf7cc;--text-muted:#ededf7b3;--accent:#bcb0ff;--accent-2:#6ee7d8;--accent-soft:#9d8bff29;--series-1:#4fa8ff;--series-2:#2fd6a7;--series-3:#ffb648;--series-4:#7ee787;--series-5:#9d8bff;--series-6:#ff6f81;--status-good:#35d68f;--status-critical:#ff9aa4;--status-warning:#ffb648;--shadow-card:0 8px 30px #05061459, 0 1px 0 #ffffff0d inset;--radius-lg:22px;--radius-md:16px;--radius-sm:11px}:root[data-theme=petrol]{--bg-1:#061a1f;--bg-2:#0c2f36;--bg-3:#0f3d3a;--bg-4:#082a2e;--bg-glow-1:#065f5a4d;--bg-glow-2:#14b8a624}*{box-sizing:border-box;margin:0;padding:0}html,body{min-height:100%;color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:15px;line-height:1.5}body{background:radial-gradient(1200px 800px at 90% 100%, var(--bg-glow-2), transparent 60%), radial-gradient(900px 600px at -10% 10%, var(--bg-glow-1), transparent 55%), linear-gradient(160deg, var(--bg-1) 0%, var(--bg-4) 38%, var(--bg-3) 70%, var(--bg-2) 100%);background-attachment:fixed;transition:background .3s}a{color:inherit;text-decoration:none}::selection{background:var(--accent-soft);color:var(--text-primary)}.page{max-width:1640px;margin:0 auto;padding:28px 44px 56px}.topbar{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.clock-chip{color:var(--text-secondary);align-items:baseline;gap:10px;font-size:13px;display:flex}.clock-time{color:var(--text-primary);font-variant-numeric:tabular-nums;font-weight:700}.topbar-right{align-items:center;gap:10px;display:flex}.theme-toggle{background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:6px 8px;display:inline-flex}.theme-dot{border-radius:50%;width:14px;height:14px;transition:box-shadow .15s,transform .15s;display:inline-block;box-shadow:0 0 0 2px #0000}.theme-dot[data-swatch=violet]{background:linear-gradient(135deg,#7c3aed,#db2777)}.theme-dot[data-swatch=petrol]{background:linear-gradient(135deg,#0f3d3a,#14b8a6)}.theme-dot.active{box-shadow:0 0 0 2px var(--text-primary);transform:scale(1.15)}.user-pill{background:var(--surface);-webkit-backdrop-filter:blur(20px)saturate(160%);border:1px solid var(--border);box-shadow:var(--shadow-card);border-radius:999px;align-items:center;gap:10px;padding:7px 8px 7px 16px;display:flex}.user-email{color:var(--text-secondary);font-size:13px;font-weight:500}.user-avatar{color:#1c1240;background:linear-gradient(135deg,#ff8fb0,#ff6f81);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;font-weight:700;display:inline-flex}.brand-title{letter-spacing:-.02em;margin-bottom:4px;font-size:36px;font-weight:800}.brand-title span{color:var(--text-secondary);font-weight:400}main.content p.sub{color:var(--text-secondary);margin-bottom:22px}.pillnav{background:var(--surface);-webkit-backdrop-filter:blur(24px)saturate(160%);border:1px solid var(--border);box-shadow:var(--shadow-card);border-radius:999px;flex-wrap:wrap;gap:2px;margin-bottom:26px;padding:6px;display:flex}.pillnav a.nav-item{color:var(--text-secondary);white-space:nowrap;border-radius:999px;padding:9px 18px;font-size:14px;font-weight:600;transition:background .15s,color .15s}.pillnav a.nav-item:hover{color:var(--text-primary);background:#ffffff0f}.pillnav a.nav-item.active{background:linear-gradient(135deg, var(--accent), #7a6cff);color:#0c1022;box-shadow:0 4px 18px #9d8bff73}main.content{padding-bottom:12px}main.content h1{letter-spacing:-.02em;margin-bottom:4px;font-size:26px;font-weight:800}.page-footer{border-top:1px solid var(--border);color:var(--text-muted);justify-content:space-between;align-items:center;gap:16px;margin-top:32px;padding-top:18px;font-size:13px;display:flex}.page-footer button.logout{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:#ffffff0a;border-radius:999px;padding:8px 16px;font-size:13px;font-weight:600}.page-footer button.logout:hover{border-color:var(--border-strong);color:var(--text-primary)}h2.section{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:30px 0 14px;font-size:13px;font-weight:700}.tile-grid{flex-wrap:wrap;gap:18px;display:flex}.tile{background:var(--surface);-webkit-backdrop-filter:blur(20px)saturate(160%);border:1px solid var(--border);border-radius:var(--radius-md);min-width:240px;box-shadow:var(--shadow-card);flex-direction:column;flex:270px;gap:10px;padding:22px 24px 18px;transition:transform .18s,border-color .18s,background .18s;display:flex}.tile:hover{border-color:var(--border-strong);background:var(--surface-strong);transform:translateY(-2px)}a.tile{color:inherit;cursor:pointer;text-decoration:none}button.linklike{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0}.export-menu{border:1px solid var(--border);background:var(--surface);border-radius:999px;align-items:center;gap:4px;padding:4px;display:inline-flex}.export-menu a,.export-menu button{font:inherit;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600;text-decoration:none}.export-menu a:hover,.export-menu button:hover{color:var(--text-primary);background:var(--surface-strong)}.tile .label{color:var(--text-secondary);align-items:center;gap:10px;font-size:13.5px;font-weight:600;display:flex}.tile-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex}.tile-icon svg{width:17px;height:17px}.tile .value-row{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.tile .value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:32px;font-weight:800}.badge{font-variant-numeric:tabular-nums;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:700}.badge.up{color:var(--status-good);background:color-mix(in srgb, var(--status-good) 18%, transparent)}.badge.down{color:var(--status-critical);background:color-mix(in srgb, var(--status-critical) 18%, transparent)}.badge.flat{color:var(--text-muted);background:color-mix(in srgb, var(--text-muted) 18%, transparent)}.badge-sub{opacity:.75;margin-left:4px;font-weight:400}.tile .value-month{color:var(--text-muted);font-size:12px;font-weight:600}.tile .value-mtd{color:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:12.5px}.chart-grid{flex-wrap:wrap;gap:18px;display:flex}.chart-card{background:var(--surface);-webkit-backdrop-filter:blur(20px)saturate(160%);border:1px solid var(--border);border-radius:var(--radius-md);min-width:min(360px,100%);box-shadow:var(--shadow-card);flex:440px;padding:22px 24px}.chart-card h3{color:var(--text-secondary);margin-bottom:14px;font-size:14px;font-weight:700}.chart-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;margin-bottom:14px;display:flex}.chart-head h3{margin-bottom:0}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;margin:30px 0 14px;display:flex}.section-head h2.section{margin:0}.chart-controls{flex-wrap:wrap;gap:6px;display:flex}.pillnav.pillnav-sm{box-shadow:none;margin-bottom:0;padding:3px}.pillnav.pillnav-sm a.nav-item{padding:4px 10px;font-size:12px}.chart-note{color:var(--text-muted);flex-basis:100%;margin:0;font-size:12px}.chart-title-link{color:inherit;text-decoration:none}.chart-title-link:hover{color:var(--text-primary);text-underline-offset:3px;text-decoration:underline}.chart-unit{color:var(--text-muted);margin:-6px 0 4px;font-size:11px}.chart-links,.chart-note{color:var(--text-muted);margin-top:10px;font-size:12px}.chart-links a{color:var(--text-secondary);text-underline-offset:3px}.chart-links a:hover{color:var(--text-primary)}.table-scroll{max-width:100%;position:relative;overflow-x:auto}table.data{border-collapse:collapse;background:var(--surface);-webkit-backdrop-filter:blur(20px)saturate(160%);border:1px solid var(--border);border-radius:var(--radius-md);width:100%;box-shadow:var(--shadow-card);overflow:hidden}table.data th,table.data td{text-align:left;border-bottom:1px solid var(--border);padding:11px 16px;font-size:14px}table.data th{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;background:#ffffff09;font-size:11.5px;font-weight:700}table.data tr:last-child td{border-bottom:none}table.data tr:hover td{background:#ffffff08}table.data td.num{font-variant-numeric:tabular-nums;text-align:right}button.primary{background:linear-gradient(135deg, var(--accent), #7a6cff);color:#0c1022;cursor:pointer;border:none;border-radius:999px;padding:10px 20px;font-size:14px;font-weight:700;transition:transform .15s,box-shadow .15s;box-shadow:0 6px 20px #9d8bff59}button.primary:hover:not(:disabled):not([aria-disabled=true]){transform:translateY(-1px);box-shadow:0 8px 26px #9d8bff73}button.primary:disabled,button.primary[aria-disabled=true]{opacity:.55;cursor:default;box-shadow:none}button.ghost{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:#ffffff0a;border-radius:999px;padding:7px 14px;font-size:13px;font-weight:600;transition:border-color .15s,color .15s}button.ghost:hover:not(:disabled):not([aria-disabled=true]){border-color:var(--border-strong);color:var(--text-primary)}button.ghost:disabled,button.ghost[aria-disabled=true]{opacity:.55;cursor:default}input,select{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);background:#ffffff0b;padding:9px 11px;font-size:14px}input::placeholder{color:var(--text-muted)}input:focus,select:focus{outline:2px solid var(--accent);outline-offset:-1px}.login-wrap{justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-card{background:var(--surface);-webkit-backdrop-filter:blur(28px)saturate(160%);border:1px solid var(--border);border-radius:var(--radius-lg);width:380px;box-shadow:var(--shadow-card);flex-direction:column;gap:18px;padding:36px 32px;display:flex}.login-card h1{font-size:24px;font-weight:800}.login-card h1 span{color:var(--text-secondary);font-weight:400}.login-card label{color:var(--text-secondary);flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}.login-card button{background:linear-gradient(135deg, var(--accent), #7a6cff);color:#0c1022;cursor:pointer;border:none;border-radius:999px;padding:11px;font-size:15px;font-weight:700;box-shadow:0 6px 20px #9d8bff59}.login-card button:disabled{filter:grayscale();opacity:.45;cursor:not-allowed;box-shadow:none}.login-card button.ghost{border:1px solid var(--border);color:var(--text-secondary);box-shadow:none;background:#ffffff0a;padding:7px 14px;font-size:13px;font-weight:600}.login-error{color:var(--status-critical);font-size:13px}:root{--blur-strength:8px;--blur-strength-lg:12px}[data-blur-scope] .chf{transition:filter .2s}[data-blur=on] [data-blur-scope] .chf{filter:blur(var(--blur-strength));-webkit-user-select:none;user-select:none;transition:none}[data-blur=on] [data-blur-scope] .tile .value.chf{filter:blur(var(--blur-strength-lg))}@media (prefers-reduced-motion:reduce){[data-blur-scope] .chf{transition:none}}.blur-toggle{border:1px solid var(--border);background:var(--surface);border-radius:999px;align-items:center;gap:2px;padding:3px;display:inline-flex}.blur-toggle button{font:inherit;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;min-height:28px;padding:4px 10px;font-size:12px;font-weight:600;transition:background .15s,color .15s;display:inline-flex}.blur-toggle button:hover{color:var(--text-primary);background:var(--surface-strong)}.blur-toggle .blur-main[aria-pressed=true]{background:linear-gradient(135deg, var(--accent), #7a6cff);color:#0c1022}.blur-toggle .blur-auto[aria-pressed=true]{background:var(--accent-soft);color:var(--text-primary)}.blur-toggle button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.skip-link{z-index:100;border-radius:var(--radius-sm);background:var(--accent);color:#0c1022;padding:8px 14px;font-size:14px;font-weight:700;position:absolute;top:-60px;left:16px}.skip-link:focus{outline:2px solid var(--text-primary);outline-offset:2px;top:12px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.status-pill{border-radius:999px;align-items:center;gap:6px;padding:4px 11px;font-size:12px;font-weight:700;display:inline-flex}.status-pill.ok{color:var(--status-good);background:color-mix(in srgb, var(--status-good) 18%, transparent)}.status-pill.error,.status-pill.aborted{color:var(--status-critical);background:color-mix(in srgb, var(--status-critical) 18%, transparent)}.status-pill.not_configured{color:var(--text-muted);background:color-mix(in srgb, var(--text-muted) 18%, transparent)}.status-pill.warn{color:var(--text-primary);background:color-mix(in srgb, var(--status-warning) 18%, transparent);border:1px solid var(--status-warning)}.status-pill.alarm{color:var(--text-primary);background:color-mix(in srgb, var(--status-critical) 18%, transparent);border:1px solid var(--status-critical)}.demo-banner{background:var(--accent-soft);color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:20px;padding:10px 16px;font-size:13px;font-weight:500}
@media print{:root,:root[data-theme=petrol],:root[data-theme=violet]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--text-primary:#111;--text-secondary:#333;--text-muted:#555;--accent:#4b3bb3;--accent-2:#0f766e;--accent-soft:#f1eefe;--surface:#fff;--surface-strong:#f4f5f8;--border:#cfd3dc;--border-strong:#9aa1ae;--status-good:#0a7a3c;--status-critical:#b3261e;--status-warning:#8a5a00;--shadow-card:none}html,body{color:#111!important;background:#fff!important}.demo-banner{break-inside:avoid;color:#111!important;background:#fff!important;border:1px solid #8a8f9c!important}.page form,.page dialog,.page button,.page noscript,.nur-mit-js{display:none!important}.page details:has(form){display:none!important}.recharts-responsive-container>div{width:100%!important}.recharts-responsive-container,.recharts-wrapper{width:100%!important;max-width:100%!important}.recharts-wrapper>svg.recharts-surface{width:100%!important;height:100%!important}.recharts-legend-wrapper{width:100%!important;left:0!important}.trend-chart,.trend-chart .recharts-responsive-container,.trend-chart .recharts-responsive-container>div,.trend-chart .recharts-wrapper,.trend-chart .recharts-wrapper>svg.recharts-surface{height:auto!important}.trend-chart:has(.recharts-legend-wrapper){padding-bottom:28px}.trend-chart .recharts-legend-wrapper{height:auto!important;top:100%!important;bottom:auto!important}.recharts-tooltip-wrapper{display:none!important}.recharts-legend-item-text{color:#333!important}.table-scroll{overflow:visible}.page{max-width:none;padding:0}.topbar,.pillnav,.page-footer,.export-menu,.theme-toggle,.blur-toggle,button.primary,form[action="/api/logout"]{display:none!important}.brand-title,.brand-title span,.sub,.section,.tile,.chart-card,table.data{color:#111!important;text-shadow:none!important}.tile *,.chart-card *,table.data *{text-shadow:none!important}.tile,.chart-card{break-inside:avoid;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:#fff!important;border:1px solid #cfd3dc!important}.tile-grid,.chart-grid{gap:10px}.badge.up{color:#0a7a3c!important}.badge.down{color:#b3261e!important}table.data th,table.data td{border-bottom:1px solid #dde1e8!important}.recharts-cartesian-grid line{stroke:#e3e6ec!important}.recharts-text{fill:#333!important}[data-einzelzeilen]{display:none!important}[data-einzelzeilen-hinweis]{font-size:12px;color:#333!important;display:block!important}}@page report{size:A4;margin:14mm 12mm}@page report-quer{size:A4 landscape;margin:12mm 14mm}@media print{:is(.report,.page:has(.report)){page:report}:is(.page:has(.report) .brand-title,.report .report-actions){display:none!important}.report,.report *{color:#111!important;text-shadow:none!important}.report .report-muted,.report .report-muted *{color:#555!important}.report .report-delta.up,.report .badge.up{color:#0a7a3c!important}.report .report-delta.down,.report .badge.down{color:#b3261e!important}.report .report-head{border-bottom:1px solid #cfd3dc!important}.report h2.section{margin:14px 0 8px}.report h2,.report h3{break-after:avoid}.report .report-tiles{gap:8px;grid-template-columns:repeat(4,minmax(0,1fr))!important;display:grid!important}.report .report-tile{break-inside:avoid;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:#fff!important;border:1px solid #cfd3dc!important}.report .report-charts{break-before:page}.report .report-table-wrap{overflow:visible!important}.report table.data{box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:#fff!important;border:1px solid #cfd3dc!important;overflow:visible!important}.report table.data thead{display:table-header-group}.report table.data tr{break-inside:avoid}.report table.data th,.report table.data td{background:#fff!important;padding:3px 6px!important;font-size:8.5pt!important}.report .report-vorlage-kern{break-inside:avoid}.report .report-vorlage-quer{page:report-quer}.report .report-vorlage table.data{width:100%}.report .report-vorlage table.data th,.report .report-vorlage table.data td{line-height:1.25;padding:2px 4px!important;font-size:7pt!important}.report .report-vorlage table.data th{vertical-align:bottom;text-transform:none!important;letter-spacing:0!important}.report .report-vorlage table.data th:first-child{-webkit-hyphens:auto;hyphens:auto}.report .report-vorlage table.data td.num{white-space:nowrap}.report .report-vorlage-quer table.data th,.report .report-vorlage-quer table.data td{font-size:7.5pt!important}}
