:root{color-scheme:light;--brand-navy: #013576;--brand-canvas: #05101a;--brand-canvas-deep: #030a12;--brand-panel: #0a1a2b;--brand-panel-2: #0f2438;--brand-accent: #00aabd;--brand-accent-hover: #3fd4e6;--brand-accent-muted: #0a5a68;--brand-text-primary: #e8f0f4;--brand-text-secondary: #8fa6b5;--brand-hairline: rgba(143, 166, 181, .14);--brand-border-interactive: rgba(143, 166, 181, .62);--brand-radius: 3px;--brand-danger: #ff6b6b;--brand-danger-muted: rgba(255, 107, 107, .12);--brand-scrim: rgba(3, 10, 18, .6);--brand-film-scrim: linear-gradient( to bottom, rgba(3, 10, 18, .72) 0%, rgba(3, 10, 18, .66) 24%, rgba(3, 10, 18, .15) 50%, rgba(3, 10, 18, .15) 100% );--brand-text-shadow: 0 1px 2px rgba(3, 10, 18, .95), 0 3px 12px rgba(3, 10, 18, .78), 0 10px 44px rgba(3, 10, 18, .8);--brand-teal: #00838f;--card-padding: 16px;--grid-gap: 12px;--section-gap: 16px;--sidebar-width: 240px;--sidebar-rail-width: 64px;--header-height: 56px;--table-row-height: 36px;--color-bg: #f4f6f7;--color-surface: #ffffff;--color-surface-alt: #e9eef1;--color-text: #0b1b26;--color-heading: var(--brand-navy);--color-text-muted: #3f5666;--color-border: #c7d2d8;--color-focus-ring: var(--brand-navy);--color-accent: var(--brand-accent);--color-accent-contrast: #ffffff;--color-success: #146c34;--color-success-surface: #e3f3e8;--color-warning: #825200;--color-warning-surface: #fbedd2;--color-danger: #a4241c;--color-danger-surface: #fbe6e4;--color-link: var(--brand-navy);--tile-blue: #2a78d6;--tile-orange: #eb6834;--tile-violet: #4a3aa7;--tile-red: #e34948;--font-sans: "IBM Plex Sans", system-ui, sans-serif;--font-display: "Manrope", system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace;--step-2xs: .75rem;--step-xs: .875rem;--step-0: 1rem;--step-1: 1.125rem;--step-2: 1.25rem;--step-3: 1.5rem;--step-4: 2rem;--step-5: 2.5rem;--line-height: 1.5;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--space-8: 4rem;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-full: 999px;--elevation-1: 0 1px 2px rgba(11, 27, 38, .08), 0 1px 1px rgba(11, 27, 38, .04);--elevation-2: 0 8px 24px rgba(11, 27, 38, .14);--tap-min: 44px}@media(prefers-color-scheme:dark){:root{color-scheme:dark;--color-bg: var(--brand-canvas);--color-surface: var(--brand-panel);--color-surface-alt: var(--brand-panel-2);--color-text: var(--brand-text-primary);--color-heading: var(--brand-text-primary);--color-text-muted: var(--brand-text-secondary);--color-border: var(--brand-hairline);--color-focus-ring: var(--brand-accent-hover);--color-accent: var(--brand-accent);--color-accent-contrast: var(--brand-canvas);--color-success: #4caf6d;--color-success-surface: rgba(76, 175, 109, .14);--color-warning: #f2b134;--color-warning-surface: rgba(242, 177, 52, .14);--color-danger: #ff6b6b;--color-danger-surface: rgba(255, 107, 107, .14);--color-link: var(--brand-accent);--tile-blue: #3987e5;--tile-orange: #d95926;--tile-violet: #9085e9;--tile-red: #e66767;--elevation-1: 0 1px 0 rgba(255, 255, 255, .04);--elevation-2: 0 8px 24px rgba(0, 0, 0, .45)}}@font-face{font-family:Manrope;font-style:normal;font-weight:700 800;font-display:swap;src:url(/fonts/manrope-latin.woff2) format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400 500;font-display:swap;src:url(/fonts/plex-sans-latin.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/plex-mono-400-latin.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/plex-mono-500-latin.woff2) format("woff2")}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:var(--header-height)}body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:var(--step-0);line-height:var(--line-height)}h1,h2,h3{font-family:var(--font-display);color:var(--color-heading);font-weight:700}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}a{color:var(--color-link)}:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:2px;border-radius:var(--radius-sm)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--tap-min);min-width:var(--tap-min);padding:var(--space-2) var(--space-5);border-radius:var(--radius-md);border:1px solid transparent;font-size:var(--step-1);font-weight:600;font-family:inherit;cursor:pointer;line-height:1.2;touch-action:manipulation}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-primary{background:var(--brand-navy);color:#fff}.btn-primary:hover:not(:disabled){background:var(--brand-accent-muted)}.btn-secondary{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border)}.btn-secondary:hover:not(:disabled){background:var(--color-surface-alt)}.btn-danger{background:var(--color-danger);color:#fff}.btn-block{width:100%}.input{display:block;width:100%;min-height:var(--tap-min);padding:var(--space-2) var(--space-3);font-size:var(--step-1);font-family:inherit;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-text-muted);border-radius:var(--radius-md);touch-action:manipulation}.input:focus-visible{border-color:var(--color-focus-ring)}.input[aria-invalid=true]{border-color:var(--color-danger);border-width:2px}.field{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-5)}.field-label{font-weight:600;color:var(--color-text)}.field-required-mark{color:var(--color-danger)}.field-hint{margin:0;color:var(--color-text-muted);font-size:var(--step-0)}.field-error{display:flex;align-items:flex-start;gap:var(--space-2);margin:0;color:var(--color-danger);font-weight:600}.alert,.status{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-weight:600;margin:0}.alert{background:var(--color-danger-surface);color:var(--color-danger);border:1px solid var(--color-danger)}.status{background:var(--color-surface-alt);color:var(--color-text);border:1px solid var(--color-border)}.status-tone-warning{background:var(--color-warning-surface);color:var(--color-warning);border-color:var(--color-warning)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--elevation-1);padding:var(--card-padding)}.page-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-6)}.page-header h1{margin:0 0 var(--space-2);font-size:var(--step-4)}.page-header p{margin:0;color:var(--color-text-muted)}.skeleton{display:block;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--color-surface-alt) 25%,var(--color-border) 37%,var(--color-surface-alt) 63%);background-size:400% 100%;animation:skeleton-shimmer 1.4s ease infinite}@keyframes skeleton-shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}.facts{display:grid;grid-template-columns:max-content 1fr;gap:var(--space-2) var(--space-5);margin:0}.facts dt{color:var(--color-text-muted)}.facts dd{margin:0}.facts dd[data-status=ok]:before,.facts dd[data-status=degraded]:before{content:"● "}.facts dd[data-status=ok]:before{color:var(--color-success)}.facts dd[data-status=degraded]:before{color:var(--color-warning)}.kpi-card-title{margin:0 0 var(--space-2);font-size:var(--step-0);font-weight:600;color:var(--color-text-muted)}.kpi-card-value{margin:0;font-size:var(--step-4);font-weight:700;color:var(--color-heading);line-height:1.1}.kpi-card-hint{margin:var(--space-1) 0 0;color:var(--color-text-muted);font-size:var(--step-0)}.kpi-card-secondary{display:flex;flex-wrap:wrap;gap:var(--space-4);margin:var(--space-3) 0 0}.kpi-card-secondary-item dt{margin:0;color:var(--color-text-muted);font-size:var(--step-xs)}.kpi-card-secondary-item dd{margin:0;font-weight:600;color:var(--color-text)}.kpi-card-footer,.chart-card-footer,.gauge-card-footer{margin:var(--space-4) 0 0}.sparkline{margin:var(--space-3) 0 0}.sparkline-plot{line-height:0}.chart-figure{margin:0}.chart-plot{line-height:0}.chart-table{margin-top:var(--space-3)}.chart-table summary{cursor:pointer;color:var(--color-link);font-weight:600;min-height:var(--tap-min);display:inline-flex;align-items:center}.chart-table table{width:100%;border-collapse:collapse;margin-top:var(--space-2);font-size:var(--step-0)}.chart-table th,.chart-table td{text-align:left;height:var(--table-row-height);padding:0 var(--space-3);border-bottom:1px solid var(--color-border)}.chart-table td{text-align:right}.chart-card-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.chart-card-header h3{margin:0;font-size:var(--step-2)}.chart-card-toolbar{display:flex;gap:var(--space-2)}.chart-toolbar-btn{display:inline-flex;align-items:center;gap:var(--space-1);min-height:var(--tap-min);padding:0 var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);font-weight:600;font-size:var(--step-xs);cursor:pointer;touch-action:manipulation}.chart-toolbar-btn[aria-pressed=true]{background:var(--brand-navy);border-color:var(--brand-navy);color:#fff}@media(prefers-color-scheme:dark){.chart-toolbar-btn[aria-pressed=true]{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-contrast)}}.chart-toolbar-btn:disabled{cursor:not-allowed;opacity:.6}.chart-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-1);text-align:center;color:var(--color-text-muted)}.chart-empty-title{margin:0;font-weight:600;color:var(--color-text)}.chart-empty-guidance{margin:0;font-size:var(--step-xs);max-width:32ch}.bullet-chart{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.bullet-row{display:grid;grid-template-columns:minmax(100px,auto) 1fr minmax(140px,auto);align-items:center;gap:var(--space-3)}.bullet-label{font-weight:600;font-size:var(--step-xs);color:var(--color-text-muted)}.bullet-track{position:relative;display:block;height:12px;border-radius:var(--radius-full);background:var(--color-surface-alt)}.bullet-fill{position:absolute;inset:0 auto 0 0;border-radius:var(--radius-full);background:var(--color-accent)}.bullet-target{position:absolute;top:-3px;bottom:-3px;width:3px;background:var(--color-heading);transform:translate(-1.5px)}.bullet-numbers{font-size:var(--step-xs);color:var(--color-text);white-space:nowrap}.bullet-target-text{color:var(--color-text-muted)}.breadcrumbs{margin-bottom:var(--space-3)}.breadcrumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-1);font-size:var(--step-xs);color:var(--color-text-muted)}.breadcrumbs li:not(:last-child):after{content:"›";margin-left:var(--space-1)}.breadcrumbs a{display:inline-block;min-height:24px;padding:4px 0;color:var(--color-link)}.breadcrumbs [aria-current=page]{color:var(--color-text);font-weight:600}.stat-tile{display:flex;align-items:center;gap:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--elevation-1);padding:var(--space-4) var(--space-5)}.stat-tile-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex:none;border-radius:var(--radius-md);color:#fff;background:var(--color-text-muted)}.stat-tile[data-accent=violet] .stat-tile-icon{background:var(--tile-violet)}.stat-tile[data-accent=blue] .stat-tile-icon{background:var(--tile-blue)}.stat-tile[data-accent=red] .stat-tile-icon{background:var(--tile-red)}.stat-tile[data-accent=orange] .stat-tile-icon{background:var(--tile-orange)}.stat-tile-body{min-width:0}.stat-tile-value{margin:0;font-size:var(--step-3);font-weight:700;color:var(--color-heading);line-height:1.1}.stat-tile-label{margin:var(--space-1) 0 0;color:var(--color-text-muted);font-size:var(--step-xs)}.stat-tile-secondary{margin:var(--space-1) 0 0;color:var(--color-text-muted);font-size:var(--step-2xs)}.gauge-row{display:flex;flex-wrap:wrap;gap:var(--space-5);justify-content:space-around}.gauge{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-1)}.gauge-value{margin:0;font-weight:700;color:var(--color-heading)}.gauge-label{margin:0;color:var(--color-text-muted);font-size:var(--step-xs)}.data-age{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--step-0);color:var(--color-text-muted)}.data-age[data-stale=true]{color:var(--color-warning)}.data-age-flag{display:inline-flex;align-items:center;gap:var(--space-1);font-weight:600}.skip-link{position:absolute;left:var(--space-3);top:-100px;z-index:300;background:var(--color-surface);color:var(--color-text);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:2px solid var(--color-focus-ring);transition:top .15s ease}.skip-link:focus{top:var(--space-3)}.app-shell{display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);grid-template-areas:"topbar topbar" "sidebar main";min-height:100vh}.top-bar,.sidebar{--color-focus-ring: var(--brand-accent-hover)}.top-bar{grid-area:topbar;position:sticky;top:0;z-index:80;display:flex;align-items:center;gap:var(--space-3);min-height:var(--header-height);padding:0 var(--space-4);background:var(--brand-canvas);color:var(--brand-text-primary);border-bottom:1px solid var(--brand-hairline)}.top-bar-menu-toggle{display:inline-flex;align-items:center;justify-content:center;min-width:var(--tap-min);min-height:var(--tap-min);background:transparent;border:0;border-radius:var(--brand-radius);color:var(--brand-text-primary);cursor:pointer;flex:none}.top-bar-menu-toggle:hover{background:var(--brand-panel)}.top-bar-tenant{color:var(--brand-text-secondary);font-size:var(--step-xs);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:12ch}.top-bar-search{display:flex;align-items:center;gap:var(--space-2);flex:1;max-width:360px;min-height:40px;padding:0 var(--space-3);background:var(--brand-panel);border:1px solid var(--brand-hairline);border-radius:var(--brand-radius);color:var(--brand-text-secondary)}.top-bar-search input{width:100%;min-height:38px;background:transparent;border:0;color:var(--brand-text-primary);font:inherit}.top-bar-search input::placeholder{color:var(--brand-text-secondary)}.top-bar-search input:disabled{cursor:not-allowed}.top-bar-actions{display:flex;align-items:center;gap:var(--space-3);margin-left:auto;flex-wrap:wrap;justify-content:flex-end;row-gap:var(--space-2)}.demo-toggle{min-height:var(--tap-min);padding:0 var(--space-3);background:transparent;border:1px solid var(--brand-border-interactive);border-radius:var(--brand-radius);color:var(--brand-text-secondary);font-weight:600;cursor:pointer;white-space:nowrap}.demo-toggle-label-short{display:none}.demo-toggle[aria-pressed=true]{background:var(--brand-accent-muted);border-color:var(--brand-accent);color:var(--brand-text-primary)}.top-bar-icon-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:var(--tap-min);min-height:var(--tap-min);background:transparent;border:0;border-radius:var(--brand-radius);color:var(--brand-text-secondary);text-decoration:none;cursor:pointer}.top-bar-icon-btn:hover{background:var(--brand-panel);color:var(--brand-text-primary)}.top-bar-icon-btn:disabled{cursor:not-allowed;opacity:.6}.top-bar-badge{position:absolute;top:4px;right:4px;min-width:16px;height:16px;padding:0 3px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-full);background:var(--brand-danger);color:var(--brand-canvas);font-size:11px;font-weight:700;line-height:1}.top-bar-user{display:flex;align-items:center;gap:var(--space-3);padding-left:var(--space-3);border-left:1px solid var(--brand-hairline)}.top-bar-avatar{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex:none;border-radius:var(--radius-full);background:var(--brand-panel-2);color:var(--brand-accent)}.top-bar-user-info{display:flex;flex-direction:column;line-height:1.25}.top-bar-user-name{font-weight:600;font-size:var(--step-xs);color:var(--brand-text-primary)}.top-bar-user-status{font-size:var(--step-2xs);color:var(--brand-text-secondary)}.top-bar-signout{gap:var(--space-2);background:transparent;border-color:var(--brand-danger);color:var(--brand-danger)}.top-bar-signout:hover:not(:disabled){background:var(--brand-danger-muted)}@media(max-width:1023px){.top-bar-user-info{display:none}.top-bar-signout-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.top-bar-signout{padding:0;width:var(--tap-min)}}@media(max-width:640px){.top-bar-tenant,.top-bar-search,.demo-toggle-label-full{display:none}.demo-toggle-label-short{display:inline}}.sidebar{grid-area:sidebar;display:flex;flex-direction:column;background:var(--brand-canvas);color:var(--brand-text-primary);border-right:1px solid var(--brand-hairline);overflow-y:auto}.sidebar-header{display:flex;align-items:center;justify-content:space-between;min-height:var(--header-height);padding:0 var(--space-4);border-bottom:1px solid var(--brand-hairline)}.sidebar-logo{display:inline-flex;align-items:center}.sidebar-logo img{display:block;height:36px;width:auto}.sidebar-close{display:inline-flex;align-items:center;justify-content:center;min-width:var(--tap-min);min-height:var(--tap-min);background:transparent;border:0;color:var(--brand-text-primary);cursor:pointer}.sidebar nav{padding-bottom:var(--space-4)}.sidebar-group{position:relative;border-top:1px solid var(--brand-hairline)}.sidebar-group:first-child{border-top:0}.sidebar-group-summary{display:flex;align-items:center;gap:var(--space-3);min-height:var(--tap-min);padding:var(--space-3) var(--space-4);color:var(--brand-text-secondary);font-size:var(--step-2xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;cursor:pointer;list-style:none}.sidebar-group-summary::-webkit-details-marker{display:none}.sidebar-group-summary svg{flex:none;width:18px;height:18px}.sidebar-label{flex:1;text-align:left}.sidebar-chevron{flex:none;transition:transform .2s ease}.sidebar-group[open]>.sidebar-group-summary .sidebar-chevron{transform:rotate(180deg)}.sidebar-group ul{list-style:none;margin:0;padding:0 0 var(--space-2)}.sidebar-item{display:flex;align-items:center;gap:var(--space-2);width:100%;min-height:var(--tap-min);padding:0 var(--space-4) 0 calc(var(--space-4) + 18px + var(--space-3));border:0;border-left:3px solid transparent;background:none;color:var(--brand-text-secondary);font:inherit;font-weight:600;text-align:left;text-decoration:none;cursor:pointer}a.sidebar-item:hover,button.sidebar-item:hover{background:var(--brand-panel);color:var(--brand-text-primary)}.sidebar-item-active{border-left-color:var(--brand-accent);background:var(--brand-panel);color:var(--brand-text-primary);font-weight:700}.sidebar-item-disabled{color:var(--brand-text-secondary);cursor:not-allowed}.sidebar-item-disabled:hover{background:none;color:var(--brand-text-secondary)}.sidebar-item-action svg{flex:none;width:16px;height:16px}.sidebar-backdrop{position:fixed;inset:0;z-index:190;padding:0;border:0;background:var(--brand-scrim);cursor:pointer}.sidebar[data-open=false] .sidebar-label,.sidebar[data-open=false] .sidebar-group>ul{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sidebar[data-open=false] .sidebar-chevron{display:none}.app-shell-main{grid-area:main;width:100%;max-width:1600px;margin:0 auto;padding:var(--space-5) var(--space-4) var(--space-8);background:var(--color-bg)}.offline-banner{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);margin-bottom:var(--space-4);background:var(--color-warning-surface);color:var(--color-warning);font-weight:600;text-align:center;border-radius:var(--radius-md)}@media(min-width:768px)and (max-width:1023px){.app-shell{grid-template-columns:var(--sidebar-rail-width) minmax(0,1fr)}.top-bar-menu-toggle{display:none}.sidebar .sidebar-label,.sidebar .sidebar-group>ul{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sidebar .sidebar-chevron{display:none}.sidebar-group:focus-within>ul,.sidebar-group:hover>ul{position:absolute;top:100%;left:0;z-index:90;width:var(--sidebar-width);height:auto;margin:0;padding:var(--space-2) 0;overflow:visible;clip:auto;white-space:normal;background:var(--brand-canvas);border:1px solid var(--brand-hairline);box-shadow:var(--elevation-2)}}@media(min-width:1024px){.app-shell:has(.sidebar[data-open=false]){grid-template-columns:var(--sidebar-rail-width) minmax(0,1fr)}}@media(max-width:767px){.app-shell{grid-template-columns:minmax(0,1fr);grid-template-areas:"topbar" "main"}.sidebar{position:fixed;inset:0 auto 0 0;width:280px;max-width:85vw;z-index:200;transform:translate(-100%);transition:transform .25s ease}.sidebar:not([data-open=true]){visibility:hidden;transition:transform .25s ease,visibility 0s linear .25s}.sidebar[data-open=true]{visibility:visible;transform:translate(0);transition:transform .25s ease,visibility 0s linear 0s}}.dashboard-section{margin-bottom:var(--section-gap)}.dashboard-section h2{margin:0 0 var(--space-1);font-size:var(--step-3)}.dashboard-section-purpose{margin:0 0 var(--space-4);color:var(--color-text-muted);font-size:var(--step-xs)}.kpi-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--grid-gap);margin-bottom:var(--grid-gap)}.kpi-grid>*{grid-column:span 4}@media(max-width:900px){.kpi-grid>*{grid-column:span 12}}.tile-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--grid-gap);margin-bottom:var(--grid-gap)}.tile-grid>*{grid-column:span 4}@media(max-width:900px){.tile-grid>*{grid-column:span 6}}@media(max-width:480px){.tile-grid>*{grid-column:span 12}.bullet-row{grid-template-columns:1fr;row-gap:var(--space-1)}.bullet-numbers{white-space:normal}}.dashboard-row{display:grid;grid-template-columns:minmax(240px,1fr) minmax(0,2fr);gap:var(--grid-gap);margin-bottom:var(--grid-gap)}.dashboard-charts-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--grid-gap);margin-bottom:var(--grid-gap);align-items:start}@media(max-width:900px){.dashboard-row{grid-template-columns:1fr}}.demo-banner{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-5);background:var(--color-warning-surface);color:var(--color-warning);border:1px solid var(--color-warning);border-radius:var(--radius-md);font-weight:600}.attention-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--grid-gap)}.attention-item h3{margin:var(--space-2) 0;font-size:var(--step-1)}.attention-item p{margin:0;color:var(--color-text-muted)}.attention-item-kind{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-danger);font-weight:700;font-size:var(--step-xs);text-transform:uppercase;letter-spacing:.04em}.attention-item-footer{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-3);color:var(--color-text-muted);font-size:var(--step-xs)}.attention-empty{display:flex;align-items:center;gap:var(--space-3);color:var(--color-success)}.login-page{min-height:100vh;min-height:100dvh;background:var(--brand-canvas-deep)}.login-film{position:relative;isolation:isolate;min-height:100vh;min-height:100dvh;background:var(--brand-canvas-deep)}.login-film__poster,.login-film__video{position:fixed;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:50% 50%}.login-film__video{opacity:0;transition:opacity .7s ease-out}.login-film[data-started=true] .login-film__video{opacity:1}.login-film__scrim{position:fixed;inset:0;z-index:-1;background:var(--brand-film-scrim)}.login-film__content{display:grid;grid-template-rows:1fr auto 1fr;gap:var(--space-5);min-height:100vh;min-height:100dvh;padding:var(--space-5) var(--space-4)}.login-brand{align-self:center;justify-self:center;display:flex;flex-direction:column;align-items:center;text-align:center;color:var(--brand-text-primary);text-shadow:var(--brand-text-shadow)}.login-brand__lockup{display:flex;align-items:center;justify-content:center;gap:var(--space-3)}.login-brand__mark{display:block;width:auto;height:34px;flex:none}.login-brand__wordmark{display:block;width:min(220px,54vw);height:auto}.login-brand__strapline{margin:var(--space-3) 0 0;white-space:nowrap;font-family:var(--font-display);font-size:clamp(12px,calc((100vw - 2 * var(--space-4)) / 25),var(--step-1));font-weight:700;line-height:1.3}@media(max-width:339px){.login-brand__strapline{white-space:normal;text-wrap:balance}}.login-main{grid-row:2;display:flex;justify-content:center}.login-card{width:100%;max-width:28rem;box-shadow:0 18px 48px #030a1273}.login-card .page-header{margin-bottom:var(--space-4)}.login-film__toggle{--color-focus-ring: var(--brand-accent-hover);position:absolute;bottom:var(--space-3);right:var(--space-3);display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--tap-min);padding:0 var(--space-3);border:1px solid var(--brand-border-interactive);border-radius:var(--radius-full);background:var(--brand-scrim);color:var(--brand-text-primary);font-family:inherit;font-size:var(--step-xs);font-weight:500;cursor:pointer;touch-action:manipulation}.login-film__toggle:hover{background:var(--brand-panel-2)}.login-film__toggle svg{width:16px;height:16px}@media(min-width:768px){.login-film__content{gap:var(--space-6);padding:var(--space-6)}.login-brand__mark{height:52px}.login-brand__wordmark{width:360px}.login-brand__strapline{margin-top:var(--space-4);font-size:var(--step-1)}.login-film__toggle{bottom:var(--space-5);right:var(--space-5)}}@media(min-width:1024px){.login-brand__mark{height:60px}.login-brand__wordmark{width:420px}.login-brand__strapline{font-size:var(--step-2)}}.route-status{display:flex;justify-content:center;padding:var(--space-8) var(--space-4);color:var(--color-text-muted)}
