:root[data-theme=light]{--page:#f4f5f8;--surface:#fff;--surface-2:#f3f4f7;--ink:#0a0a0a;--ink-2:#34343b;--muted:#5e5e68;--line:#0f0f1e1a;--line-2:#0f0f1e29;--hair:#0f0f1e12;--ring:#0f0f1e1f;--grid:#0f0f1e12;--accent:#1d4ed8;--accent-ink:#1d4ed8;--accent-deep:#1e40af;--accent-wash:#1d4ed814;--accent-solid:#1d4ed8;--glass-bg:#ffffffb8;--glass-bg-2:#ffffffdb;--glass-brd:#0f0f1e17}.app{--app-canvas:radial-gradient(60% 80% at 18% 25%, #7a8cff6b 0%, #7a8cff00 60%), radial-gradient(55% 75% at 82% 20%, #ff96b461 0%, #ff96b400 62%), radial-gradient(70% 90% at 55% 90%, #ffc4826b 0%, #ffc48200 65%), radial-gradient(50% 60% at 85% 80%, #8cdcff52 0%, #8cdcff00 60%), linear-gradient(160deg, #e4e6f2 0%, #eee4ea 45%, #f4e9df 100%);--app-lift:0 1px 2px #0f0f1e0a, 0 16px 40px -20px #28244633}:root[data-theme=light] .app:before{background:radial-gradient(40% 36% at 10% 0%, #7a8cff1a, transparent 70%), radial-gradient(36% 32% at 92% 4%, #ff96b414, transparent 70%), var(--page)}:root[data-theme=light] .app:after{background:0 0}@media (min-width:981px){.app .side{border:1px solid var(--line);border-radius:22px;width:240px;height:calc(100vh - 24px);margin:12px 0 12px 12px;padding:20px 12px 14px;top:12px}}:root[data-theme=light] .app .side{-webkit-backdrop-filter:blur(24px)saturate(160%);backdrop-filter:blur(24px)saturate(160%);box-shadow:var(--app-lift);color:var(--ink);background:#fffc;border-color:#0f0f1e14}.app .side .wordmark{padding:2px 12px 16px}.app .side .wm-main{letter-spacing:-.03em;font-size:22px}.app .side .side-label{letter-spacing:.14em;padding:6px 12px 8px;font-size:11px;font-weight:600}.app .side .nav{gap:2px}.app .side .nav a,.app .side .nav .nav-static{border-radius:12px;align-items:center;gap:10px;min-height:40px;padding:8px 12px;font-size:14.5px;font-weight:500;text-decoration:none;display:flex}.app .side .nav .ic{width:18px;height:18px}.app .side .nav .n-badge{border-radius:var(--rad-pill);margin-inline-start:auto;padding:1px 7px}:root[data-theme=light] .app .side .nav a,:root[data-theme=light] .app .side .nav .nav-static{color:var(--ink-2)}:root[data-theme=light] .app .side .nav a .ic,:root[data-theme=light] .app .side .nav .nav-static .ic{color:var(--muted);opacity:1}:root[data-theme=light] .app .side .nav a:hover{color:var(--ink);background:#0f0f1e0d}:root[data-theme=light] .app .side .nav a[aria-current=page]{color:#fff;background:#0a0a0a;font-weight:600;box-shadow:0 8px 18px -10px #0a0a0a8c}:root[data-theme=light] .app .side .nav a[aria-current=page] .ic{color:#fff}:root[data-theme=light] .app .side .side-foot{border-top-color:#0f0f1e14}@media (min-width:981px){.app .topbar{border:1px solid var(--line);border-radius:18px;margin:12px 12px 0;padding:9px 12px 9px 14px;top:12px}}:root[data-theme=light] .app .topbar{-webkit-backdrop-filter:blur(24px)saturate(160%);backdrop-filter:blur(24px)saturate(160%);box-shadow:var(--app-lift);background:#fffc;border-color:#0f0f1e14}.app .topbar .client-pick{letter-spacing:-.01em;border-radius:12px;padding:6px 12px;font-size:15px;font-weight:700}.app .topbar .demo-chip{letter-spacing:.1em}.app .topbar .cmp{border-radius:12px}:root[data-theme=light] .app .topbar .client-pick{background:#fff;border-color:#0f0f1e1a}:root[data-theme=light] .app .topbar .demo-chip{color:#1e40af;background:#1d4ed814}.app .src-strip{background:0 0;border-bottom:0;padding:10px 28px 0}.app .content{max-width:1240px;padding:18px 28px 56px}.app .dash-hero{--ink:#0a0a0a;--ink-2:#34343b;--muted:#55555f;--line:#0f0f1e1a;--line-2:#0f0f1e29;--ring:#0f0f1e1f;--grid:#0f0f1e14;--surface:#fff;--accent:#1d4ed8;--accent-ink:#1d4ed8;--accent-wash:#1d4ed814;--critical:#d92d4e;--critical-text:#a4132f;--serious:#d2691e;--serious-text:#9a4409;--warning:#c2870b;--warning-text:#8a5d00;--good:#1f8a5b;--good-text:#12653f;isolation:isolate;background:var(--app-canvas);color:var(--ink);border-radius:28px;margin:2px 0 20px;padding:clamp(24px,3vw,40px) clamp(20px,3vw,40px) clamp(96px,9vw,128px);position:relative;overflow:clip;box-shadow:0 30px 70px -30px #28244657}.app .dash-range{z-index:-1;pointer-events:none;width:100%;height:46%;position:absolute;inset:auto 0 0}.app .dash-hero .mtn .mtn-far{fill-opacity:.38}.app .dash-hero .mtn .mtn-mid{fill-opacity:.58}.app .dash-hero .mtn .mtn-near{fill-opacity:.86}.app .dash-hero .vhead{align-items:flex-end;gap:6px 16px;margin:0 0 18px}.app .dash-hero .vhead h1{letter-spacing:-.04em;color:#0a0a0a;font-size:clamp(2rem,1.35rem + 1.7vw,2.875rem);font-weight:700;line-height:1.02}.app .dash-hero .vhead .sub{color:#3f3f46;padding-bottom:5px;font-size:14px}.app .dash-hero .range,:root[data-theme=light] .app .range{border-radius:var(--rad-pill);background:#ffffffc7;border:1px solid #0f0f1e1a;gap:2px;padding:3px;overflow:visible}.app .dash-hero .range button,:root[data-theme=light] .app .range button{border-radius:var(--rad-pill);color:#34343b;background:0 0;border:0;padding:6px 14px;font-size:13.5px;font-weight:500}.app .dash-hero .range button+button,:root[data-theme=light] .app .range button+button{border-left:0}.app .dash-hero .range button[aria-pressed=true],:root[data-theme=light] .app .range button[aria-pressed=true]{color:#fff;background:#0a0a0a;font-weight:600}.app .dash-hero .act-row{gap:8px;margin:0 0 22px}.app .dash-hero .act,:root[data-theme=light] .app .act{border-radius:var(--rad-pill);color:#0a0a0a;background:#ffffffdb;border:1px solid #0f0f1e1a;min-height:40px;padding:0 16px;font-size:14px;font-weight:600;box-shadow:0 1px 2px #0f0f1e0d}.app .dash-hero .act:hover,:root[data-theme=light] .app .act:hover{background:#fff;border-color:#0f0f1e38}.app .dash-hero .act-primary,:root[data-theme=light] .app .act-primary{color:#fff;background:#0a0a0a;border-color:#0a0a0a}.app .dash-hero .act-primary:hover,:root[data-theme=light] .app .act-primary:hover{background:#1f1f24;border-color:#1f1f24}.app .dash-hero .act kbd{color:#34343b;background:#f4f5f8;border:1px solid #0f0f1e24;border-radius:6px}.app .dash-hero .tstats{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0}@media (min-width:1200px){.app .dash-hero .tstats{grid-template-columns:repeat(4,minmax(0,1fr))}}.app .dash-hero .tstat{-webkit-backdrop-filter:blur(20px)saturate(160%);backdrop-filter:blur(20px)saturate(160%);color:#0a0a0a;background:#ffffffd1;border:1px solid #fffffff2;border-radius:20px;flex-direction:column;padding:20px 20px 18px;display:flex;box-shadow:inset 0 1px #fff,0 18px 40px -22px #2824465c}.app .dash-hero .h-lab{color:#55555f;letter-spacing:.1em;font-size:11.5px}.app .dash-hero .ts-val{letter-spacing:-.035em;font-variant-numeric:tabular-nums;margin-top:10px;font-size:clamp(1.75rem,1.3rem + 1vw,2.375rem);font-weight:700;line-height:1.05}.app .dash-hero .ts-val.at-stake{color:#a4132f}.app .dash-hero .ts-val.rec-green{color:#12653f}.app .dash-hero .ts-unit{color:#55555f}.app .dash-hero .ts-sub{color:#3f3f46;margin-top:8px;font-size:13.5px;line-height:1.5}.app .dash-hero .ts-link{color:#0a0a0a;text-underline-offset:3px;margin-top:auto;padding-top:14px;font-size:13.5px;font-weight:600;-webkit-text-decoration:underline #0a0a0a40;text-decoration:underline #0a0a0a40}.app .dash-hero .ts-link:hover{text-decoration-color:#0a0a0a}.app .dash-hero .pace-bar{background:#0f0f1e14}.app .dash-hero .pb-done,.app .dash-hero .pb-sched{background:#1d4ed8}.app .dash-hero .pace-tick{background:#0a0a0a}.app .dash-hero .live-finding{border-radius:18px;margin:0 0 16px}.app .dash-hero-sk{padding-bottom:clamp(24px,3vw,40px)}.app .dash-hero-sk>.sk{margin-bottom:22px}.app .dash-hero-sk .sk-bar.sk-tall{height:34px}.app .content .card.sk{padding:20px}.app .pw{background:var(--app-canvas)}.app .pw-globe{opacity:1;height:46%}.app .pw-globe .mtn-far{fill-opacity:.38}.app .pw-globe .mtn-mid{fill-opacity:.58}.app .pw-globe .mtn-near{fill-opacity:.86}.app .pw-kicker{color:#55555f}.app .pw-h{color:#0a0a0a;letter-spacing:-.04em;font-weight:700}.app .pw-sub{color:#34343b}.app .pw-esc{color:#55555f}.app .pw-btn:not(.pw-btn-quiet),.app .pw-btn:not(.pw-btn-quiet):hover{color:#fff;background:#0a0a0a;border-color:#0a0a0a}.app .pw-btn:not(.pw-btn-quiet):hover{background:#1f1f24;border-color:#1f1f24}.app .pw-btn:focus-visible{outline-offset:3px;outline:3px solid #1d4ed8}:root[data-theme=light] .app .card,:root[data-theme=light] .app .kpi,:root[data-theme=light] .app .finding,:root[data-theme=light] .app .set-card{box-shadow:var(--app-lift);background:#fff;border:1px solid #0f0f1e14}.app .content .card,.app .content .kpi{border-radius:20px}.app .content .finding{border-radius:18px}.app .card-h{gap:10px;padding:18px 20px 0}.app .card-h h2{letter-spacing:-.015em;font-size:16px;font-weight:700}.app .card-f{padding:10px 20px 14px}.app .legend{padding:10px 20px 0}.app .chart-wrap{padding:8px 14px 14px}.app .ins{padding:14px 20px}.app .chartdata-switch{margin-inline-end:16px}.app .grid-2{gap:16px;margin-bottom:16px}@media (max-width:1199px){.app .grid-2{grid-template-columns:minmax(0,1fr)}}.app .content>section>.card,.app .content>section>.kpis{margin-bottom:16px}.app .kpis{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px}.app .kpi{padding:16px 18px 14px}.app .kpi .k-label{letter-spacing:.1em;font-size:11.5px}.app .kpi .k-val{letter-spacing:-.03em;font-size:26px}.app .kpi .k-delta{border-radius:var(--rad-pill);padding:2px 8px}.app .bestperf{padding:18px 20px}.app .content>section>.vhead h1,.app .content>.vhead h1{letter-spacing:-.03em;font-size:clamp(1.5rem,1.2rem + .8vw,1.875rem);font-weight:700}.app .set-h1{letter-spacing:-.03em;font-weight:700}.app .content .set-card{border-radius:20px}.app .db{width:100%;max-width:1240px;margin:0 auto;padding:18px 28px 56px}.app .db-head{isolation:isolate;background:var(--app-canvas);border-radius:28px;align-items:flex-end;margin:2px 0 18px;padding:clamp(24px,3vw,40px) clamp(20px,3vw,40px);position:relative;overflow:clip;box-shadow:0 30px 70px -30px #28244657}.app .db-head h1{letter-spacing:-.04em;color:#0a0a0a;font-size:clamp(2rem,1.35rem + 1.7vw,2.875rem);line-height:1.02}.app .db-head p{color:#3f3f46}.app .db-ranges{background:#ffffffc7;border:1px solid #0f0f1e1a}.app .db-range{color:#34343b}.app .db-range.is-on{color:#fff;background:#0a0a0a}.app .db-metrics{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-bottom:16px;display:grid}.app .db-metric,.app .db-panel,.app .db-railcard,.app .db-findings{border-radius:20px;padding:18px 20px}.app .db-split{grid-template-columns:minmax(0,1.9fr) minmax(0,1fr);gap:16px;display:grid}.app .db-rows{gap:10px;display:grid}.app .db-findings,.app .db-foot{margin-top:16px}:root[data-theme=light] .app .db-metric,:root[data-theme=light] .app .db-panel,:root[data-theme=light] .app .db-railcard,:root[data-theme=light] .app .db-findings{box-shadow:var(--app-lift);background:#fff;border:1px solid #0f0f1e14}:root[data-theme=light] .app .db-delta.is-good,:root[data-theme=light] .app .db-sub .is-up{color:#12653f}:root[data-theme=light] .app .db-delta.is-bad,:root[data-theme=light] .app .db-sub .is-down{color:#a4132f}:root[data-theme=light] .app .db-mix-track{background:#0f0f1e14}:root[data-theme=light] .app .db-mix-track i{background:#1d4ed8}@media (max-width:980px){.app .topbar{border:1px solid var(--line);border-radius:16px;gap:8px;margin:8px 8px 0;padding:8px 10px;top:8px}.app .src-strip{padding:8px 18px 0}.app .content,.app .db{padding:12px 12px 112px}.app .db-split{grid-template-columns:minmax(0,1fr)}.app .mobile-nav{border:1px solid var(--line);padding:4px 4px calc(4px + env(safe-area-inset-bottom,0px));border-radius:20px;bottom:8px;left:8px;right:8px}:root[data-theme=light] .app .mobile-nav{-webkit-backdrop-filter:blur(24px)saturate(160%);backdrop-filter:blur(24px)saturate(160%);background:#ffffffe6;border-color:#0f0f1e14;box-shadow:0 18px 40px -16px #28244652}.app .mnav-item{border-radius:14px;font-size:11.5px}:root[data-theme=light] .app .mnav-item{color:#55555f}:root[data-theme=light] .app .mnav-item[aria-current=page]{color:#fff;background:#0a0a0a}.app .dash-hero,.app .db-head{border-radius:22px;padding:22px 16px 88px}.app .db-head{padding-bottom:22px}.app .grid-2{gap:12px}.app .kpis,.app .db-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.app .kpis>:last-child:nth-child(odd),.app .db-metrics>:last-child:nth-child(odd){grid-column:1/-1}}@media (max-width:600px){.app .topbar>div:first-child{flex:120px;min-width:0}.app .topbar .client-pick{min-width:0;max-width:100%;font-size:14px}.app .topbar .client-pick>span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.app .topbar .demo-chip{flex:none;padding:3px 7px;font-size:10.5px}.app .topbar .bar-right{flex-wrap:nowrap;flex:none;margin-inline-start:auto}.app .topbar .bar-right .btn-p{white-space:nowrap;align-items:center;min-height:36px;padding:0 12px;font-size:13px;display:inline-flex}.app .topbar .cmp{display:none}:root[data-theme=light] .app .topbar{background:#ffffffeb}.app .dash-hero{padding-bottom:56px}.app .dash-hero .range button{min-height:36px}.app .dash-hero .vhead{gap:8px}.app .dash-hero .vhead h1,.app .db-head h1{font-size:1.875rem}.app .dash-hero .vhead .sub{width:100%;padding-bottom:0}.app .dash-hero .range,.app .db-ranges{margin-left:0!important}.app .dash-hero .range button{padding:6px 12px}.app .dash-hero .act-row{margin-bottom:18px}.app .dash-hero .act{min-height:38px;padding:0 14px;font-size:13.5px}.app .dash-hero .tstats{grid-template-columns:minmax(0,1fr);gap:10px}.app .dash-hero .tstat{border-radius:18px;padding:16px}.app .dash-hero .ts-val{font-size:1.875rem}.app .card-h{padding:16px 16px 0}.app .card-f{padding:10px 16px 12px}.app .legend{padding:8px 16px 0}.app .ins{gap:10px;padding:12px 16px}.app .content .card,.app .content .kpi{border-radius:18px}.app .kpi{padding:14px}.app .kpi .k-val{font-size:22px}.app .db-metric,.app .db-panel,.app .db-railcard,.app .db-findings{border-radius:18px;padding:16px}}
.cookie{z-index:200;box-sizing:border-box;-webkit-backdrop-filter:blur(28px)saturate(180%);backdrop-filter:blur(28px)saturate(180%);color:#0a0a0a;width:min(440px,100vw - 32px);font-family:var(--font-inter), "Inter", system-ui, -apple-system, sans-serif;background:#ffffffd1;border:1px solid #ffffffe6;border-radius:20px;gap:10px;padding:18px 18px 16px;font-size:14px;line-height:1.5;display:grid;position:fixed;bottom:16px;left:16px;box-shadow:inset 0 1.5px #fff,0 24px 60px #1410282e,0 4px 14px #14102814}.cookie .ck-head{align-items:center;gap:10px;display:flex}.cookie .ck-ico{color:#0a0a0a;background:#0a0a0a0d;border:1px solid #0a0a0a1a;border-radius:9px;flex:none;place-items:center;width:28px;height:28px;display:inline-grid}.cookie .ck-head b{letter-spacing:-.01em;color:#0a0a0a;font-size:14px;font-weight:700}.cookie .ck-body{color:#2d2d2d;margin:0;font-size:13.5px}.cookie .ck-body .h-link{color:#1d4ed8;text-underline-offset:2px;text-decoration:underline}.cookie .ck-acts{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:2px;display:flex}.cookie .ck-btn{min-height:40px;font:inherit;cursor:pointer;border:1px solid #0000;border-radius:999px;padding:0 16px;font-size:13.5px;font-weight:600;line-height:1}.cookie .ck-btn:focus-visible{outline-offset:2px;outline:2px solid #1d4ed8}.cookie .ck-btn-ghost{color:#0a0a0a;background:#ffffffb3;border-color:#0a0a0a24}.cookie .ck-btn-ghost:hover{background:#fff}.cookie .ck-btn-solid{color:#fff;background:#0a0a0a;border-color:#0a0a0a}.cookie .ck-btn-solid:hover{background:#262626;border-color:#262626}@media (max-width:560px){.cookie{width:auto;bottom:12px;left:12px;right:12px}.cookie .ck-btn{flex:1}}html[data-site-theme=dark] .cookie,:root[data-theme=dark] .cookie{color:#f5f5f7;background:#14141ad6;border-color:#ffffff29;box-shadow:inset 0 1px #ffffff24,0 24px 60px #0000008c}html[data-site-theme=dark] .cookie .ck-head b,:root[data-theme=dark] .cookie .ck-head b{color:#f5f5f7}html[data-site-theme=dark] .cookie .ck-ico,:root[data-theme=dark] .cookie .ck-ico{color:#f5f5f7;background:#ffffff14;border-color:#ffffff29}html[data-site-theme=dark] .cookie .ck-body,:root[data-theme=dark] .cookie .ck-body{color:#c7c7cf}html[data-site-theme=dark] .cookie .ck-body .h-link,:root[data-theme=dark] .cookie .ck-body .h-link{color:#8ab4ff}html[data-site-theme=dark] .cookie .ck-btn-ghost,:root[data-theme=dark] .cookie .ck-btn-ghost{color:#f5f5f7;background:#ffffff0f;border-color:#fff3}html[data-site-theme=dark] .cookie .ck-btn-solid,:root[data-theme=dark] .cookie .ck-btn-solid{color:#07070a;background:#f5f5f7;border-color:#f5f5f7}@media (prefers-reduced-motion:no-preference){.cookie{animation:.5s cubic-bezier(.16,1,.3,1) .4s both ck-in}@keyframes ck-in{0%{opacity:0;transform:translateY(24px)scale(.98)}to{opacity:1;transform:none}}.cookie .ck-btn{transition:background-color .16s,border-color .16s}}
