@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=IBM+Plex+Sans:wght@400;500;600;700&family=Sora:wght@400;500;600;700;800&display=swap";:root{--background: oklch(.97 .004 250);--foreground: oklch(.24 .04 260);--card: oklch(1 0 0);--card-foreground: oklch(.24 .04 260);--popover: oklch(1 0 0);--popover-foreground: oklch(.24 .04 260);--primary: oklch(.25 .07 262);--primary-foreground: oklch(.98 .003 250);--secondary: oklch(.72 .12 207);--secondary-foreground: oklch(.2 .05 260);--muted: oklch(.945 .008 245);--muted-foreground: oklch(.52 .04 255);--accent: oklch(.59 .24 27);--accent-foreground: oklch(.99 0 0);--destructive: oklch(.628 .258 29.23);--destructive-foreground: oklch(.98 0 0);--border: oklch(.91 .01 250);--input: oklch(.91 .01 250);--ring: oklch(.25 .07 262);--font-sans: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace;--radius: .25rem}.dark{--background: oklch(.15 .05 260);--foreground: oklch(.95 .01 250);--card: oklch(.22 .065 258);--card-foreground: oklch(.95 .01 250);--popover: oklch(.22 .065 258);--popover-foreground: oklch(.95 .01 250);--primary: oklch(.72 .12 207);--primary-foreground: oklch(.15 .05 260);--secondary: oklch(.3 .06 258);--secondary-foreground: oklch(.95 .01 250);--muted: oklch(.26 .05 258);--muted-foreground: oklch(.72 .03 250);--accent: oklch(.63 .24 27);--accent-foreground: oklch(.99 0 0);--destructive: oklch(.68 .23 22);--destructive-foreground: oklch(.98 0 0);--border: oklch(.32 .05 258);--input: oklch(.32 .05 258);--ring: oklch(.72 .12 207)}.comparison-empty{display:flex;align-items:flex-start;gap:24px;padding:38px 30px 46px;min-height:300px;color:var(--muted-foreground)}.comparison-empty>svg{flex:none;color:var(--secondary)}.comparison-empty h3{font-family:var(--font-display);font-size:21px;color:var(--foreground);margin:0 0 12px}.comparison-empty p{max-width:680px;line-height:1.6;margin:0 0 22px}.comparison-empty .btn{display:inline-flex;align-items:center;gap:9px}@media (max-width:600px){.comparison-empty{padding:28px 18px;gap:15px;min-height:280px}.comparison-empty>svg{width:25px}.comparison-empty h3{font-size:17px}}.brand-logo{width:48px;height:48px;object-fit:contain;filter:drop-shadow(0 2px 7px rgba(0,0,0,.25))}.hero-partners{display:flex;align-items:center;gap:15px;margin-top:18px}.hero-partners img:first-child{width:108px;height:38px;object-fit:contain;background:#fffffff0;border-radius:5px;padding:4px 8px}.hero-partners img:last-child{width:91px;height:38px;object-fit:contain;filter:brightness(0) invert(1)}.hero-partners span{opacity:.7}.report-brands{display:flex;align-items:center;gap:18px}.report-brands img:first-child{width:110px;height:45px;object-fit:contain}.report-brands img:last-child{width:110px;height:45px;object-fit:contain}.report-photo{height:164px;background:linear-gradient(90deg,#071b34d9,#071b341f),url(/images/night-response.png) center 46%/cover;display:flex;align-items:end;padding:22px 30px;color:#fff}.report-photo div{display:flex;flex-direction:column;gap:6px}.report-photo span{font-size:10px;font-weight:800;letter-spacing:.17em}.report-photo strong{font-family:var(--font-display);font-size:23px}.reference-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 20px}.reference-row{display:grid;grid-template-columns:1.25fr 1fr 1fr auto;gap:8px;align-items:center;border-bottom:1px solid var(--border);padding:10px 0;font-size:12px}.reference-row em{font-style:normal;font-weight:700}.reference-row .match{color:var(--success)}.reference-row .mismatch{color:var(--destructive)}.report-source-note{margin:0 0 20px;align-items:center}.report-detail-strip{display:flex;flex-wrap:wrap;gap:14px 24px;padding:18px 30px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);font-size:13px}.report-detail-strip b{font-family:var(--font-mono);color:var(--primary)}.report-interventions{padding:15px 30px 22px}.report-interventions h3{margin:0 0 12px;font-family:var(--font-display);font-size:16px}.report-four{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.report-four>div{border:1px solid var(--border);padding:12px;display:flex;flex-direction:column;gap:3px}.report-four small{font-size:11px;text-transform:uppercase;color:var(--muted-foreground)}.report-four strong{font-family:var(--font-display);font-size:24px}.report-breakdown{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.report-breakdown span{font-size:11px;border:1px solid var(--border);padding:5px 9px}@media (max-width:900px){.report-four{grid-template-columns:repeat(2,1fr)}.report-detail-strip,.report-interventions{padding:16px}.hero-partners{margin-top:8px}.hero-partners img:first-child{width:78px;height:30px}.hero-partners img:last-child{width:74px;height:30px}.reference-grid{grid-template-columns:1fr}.reference-row{grid-template-columns:1fr 1fr}.report-photo{height:130px}}*{box-sizing:border-box}html,body{height:100%;overflow:hidden;overscroll-behavior:none}body{margin:0;background:var(--background);color:var(--foreground);font-family:var(--font-sans);font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--secondary);outline-offset:2px}#root{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column}.shell{display:flex;width:100%;height:100%;overflow:hidden}.sidebar{flex:none;width:76px;background:#0b1f3f;color:#e6edf5;display:flex;flex-direction:column;position:relative;z-index:30;transition:width .2s ease}.sidebar.expanded{width:234px}.brand{height:74px;display:flex;align-items:center;gap:12px;padding:0 19px;overflow:hidden;white-space:nowrap;border-bottom:1px solid #ffffff1b}.brand-icon{font:800 26px Sora,sans-serif;letter-spacing:-3px;color:#fff;position:relative;min-width:36px}.brand-icon:after{content:"";position:absolute;height:2px;background:#12b5cb;left:1px;right:1px;bottom:-4px}.brand-icon span{font-size:14px;color:#e30613;vertical-align:top;letter-spacing:0}.brand-text strong{font:700 13px Sora;letter-spacing:-.5px;display:block}.brand-text em{font-style:normal;color:#12b5cb}.brand-text small{font-size:10px;color:#94a9c5;display:block;margin-top:5px}.collapse{position:absolute;right:-12px;top:93px;border:1px solid #DDE3EA;background:#fff;color:#0b1f3f;border-radius:50%;width:24px;height:24px;display:grid;place-items:center;padding:0;z-index:2}.collapse svg{width:14px}.nav-label{padding:30px 25px 13px;color:#7892b2;font:600 10px var(--font-sans);letter-spacing:1.5px;white-space:nowrap;overflow:hidden}.sidebar:not(.expanded) .nav-label{font-size:0;height:54px}.sidebar nav{display:flex;flex-direction:column;gap:3px;padding:0 11px;overflow-y:auto;scrollbar-width:none}.nav-item{width:100%;min-height:42px;border:0;border-radius:4px;display:flex;align-items:center;gap:14px;color:#a4b8d2;background:none;padding:0 14px;text-align:left;white-space:nowrap;font-size:13px;font-weight:500;transition:background .15s,color .15s}.nav-item svg{flex:none}.nav-item:hover{background:#1c385b;color:#fff}.nav-item.active{background:#173b60;color:#fff;border-left:2px solid #12B5CB;padding-left:12px}.nav-item span{overflow:hidden;text-overflow:ellipsis}.nav-arrow{margin-left:auto}.nav-gap{margin-top:16px}.sidebar-bottom{margin-top:auto;border-top:1px solid #ffffff1b;padding:23px;color:#92a8c4;font:600 10px var(--font-mono);white-space:nowrap;display:flex;gap:10px;align-items:center}.live-dot,.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#1e9e5a;box-shadow:0 0 0 3px #1e9e5a33}.workspace{display:flex;flex-direction:column;flex:1;min-width:0;min-height:0}.topbar{height:58px;flex:none;border-bottom:1px solid var(--border);background:var(--card);display:flex;align-items:center;justify-content:space-between;padding:0 30px}.breadcrumb{display:flex;align-items:center;gap:10px;color:var(--muted-foreground);font-size:11px;letter-spacing:1px;font-weight:600;text-transform:uppercase}.breadcrumb strong{color:var(--foreground);font-weight:700}.top-actions{display:flex;align-items:center;gap:24px;color:var(--muted-foreground);font-size:12px}.top-actions span{display:flex;align-items:center;gap:6px}.icon-btn{border:1px solid var(--border);background:var(--card);color:var(--foreground);width:34px;height:34px;border-radius:4px;display:grid;place-items:center;transition:background .15s}.icon-btn:hover{background:var(--muted)}.filterbar{min-height:84px;flex:none;background:var(--card);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 30px}.page-heading{display:flex;align-items:center;gap:14px;min-width:210px}.red-line{height:29px;width:3px;background:#e30613;display:block}.page-heading h1{font:700 22px Sora,sans-serif;letter-spacing:-.8px;margin:0;white-space:nowrap}.filters{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.filters label{font-size:10px;font-weight:700;color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.8px;display:flex;flex-direction:column;gap:4px}.filters input,.filters select{height:32px;border:1px solid var(--border);border-radius:3px;background:var(--card);color:var(--foreground);padding:0 9px;font-size:12px;font-weight:600;min-width:105px}.filters input{min-width:125px}.content{flex:1;min-height:0;overflow-y:auto;background:var(--background)}.page-body{padding:22px 30px 42px;max-width:1750px;margin:auto}.demo-banner{min-height:35px;display:flex;align-items:center;gap:10px;border:1px solid #E8890C;background:repeating-linear-gradient(130deg,#fff4d6,#fff4d6 12px,#fff8e6 12px,#fff8e6 24px);color:#7c4e06;font:700 10px var(--font-sans);letter-spacing:1.25px;padding:7px 14px;margin-bottom:19px}.demo-diamond{width:8px;height:8px;transform:rotate(45deg);background:#e8890c;flex:none}.demo-right{margin-left:auto;font-size:9px;opacity:.7}.real-banner,.error-banner,.notice{border:1px solid #E8890C;background:#fff4d6;padding:12px 15px;color:#825107;font-size:12px;display:flex;gap:9px;align-items:center;margin-bottom:16px}.error-banner{border-color:#c9162b;background:#fff1f1;color:#c9162b}.error-banner button{margin-left:auto;border:0;background:none;color:inherit}.loading{padding:15px;color:var(--muted-foreground)}.hero{height:246px;background:#07142b url(/images/night-response.png) center 44%/cover no-repeat;overflow:hidden;color:#fff}.hero-overlay{height:100%;background:linear-gradient(90deg,#07142b,#07142bea,#07142b80 62%,#07142b20);display:flex;align-items:center}.hero-content{padding:24px 43px;max-width:700px}.hero-kicker,.overline{font-size:10px;font-weight:700;letter-spacing:1.5px;color:#0a7c8e}.hero-kicker{color:#7bdae7;display:flex;align-items:center;gap:9px}.pulse{width:7px;height:7px;border-radius:50%;background:#12b5cb;box-shadow:0 0 0 4px #12b5cb38}.hero h2{font:700 clamp(27px,3vw,42px)/1.18 Sora,sans-serif;letter-spacing:-1.6px;margin:17px 0 9px}.hero h2 span{color:#9ce0e9}.hero p{color:#c6d5e5;font-size:13px;margin:0}.hero-chain{margin-top:30px;color:#9ab4d0;font-size:9px;letter-spacing:1px;font-weight:600;white-space:nowrap}.hero-chain b{color:#12b5cb;padding:0 5px}.hero-accent{height:3px;background:#e30613}.section-intro{display:flex;justify-content:space-between;align-items:end;margin:29px 0 17px}.section-intro h2,.module-heading h2{font:700 23px Sora,sans-serif;letter-spacing:-.7px;margin:6px 0 0}.source-tag,.provisional{font:700 9px var(--font-sans);letter-spacing:1.1px;color:#7b8799}.provisional{border:1px dashed #12B5CB;padding:9px;color:#0a7c8e}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.kpi,.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius)}.kpi{padding:19px 22px;min-height:110px}.eyebrow{font:700 10px var(--font-sans);letter-spacing:1.1px;color:var(--muted-foreground)}.kpi-value{font:700 31px Sora,sans-serif;letter-spacing:-1.3px;color:#13203a;margin-top:11px;white-space:nowrap}.kpi-value small{font:500 14px var(--font-sans);letter-spacing:0;color:#8693a5;margin-left:5px}.kpi-value.good,.good{color:#1e9e5a!important}.kpi-value.warning,.warning{color:#e8890c!important}.kpi-value.critical,.critical{color:#c9162b!important}.kpi-hint{color:#7c8a9d;font-size:10px;margin-top:7px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.88fr) minmax(290px,1fr);gap:16px;margin-bottom:16px}.secondary-grid{grid-template-columns:1fr 1fr}.card{padding:19px 21px;min-width:0}.card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:20px}.card-head h2{margin:0;font:700 15px Sora,sans-serif;letter-spacing:-.3px}.chart-legend{color:var(--muted-foreground);font-size:10px;display:flex;gap:8px;align-items:center}.chart-legend i{width:8px;height:8px;background:#12b5cb;border-radius:50%}.chart-legend i:nth-child(2){background:#0b1f3f}.chart-wrap{height:190px;width:100%}.chart-wrap.tall{height:330px}.chart-footer{border-top:1px solid var(--border);padding-top:13px;margin-top:9px;font-size:11px;color:#0a7c8e;font-weight:600}.situation{padding-bottom:12px}.situation-row{display:flex;align-items:center;gap:13px;padding:12px 0;border-bottom:1px solid var(--border)}.situation-row:first-of-type{padding-top:0}.situation-row>div:nth-child(2){flex:1;display:flex;align-items:center;justify-content:space-between;gap:10px}.situation-row span{color:var(--muted-foreground);font-size:11px}.situation-row strong{font:700 19px Sora}.situation-row>svg{color:#9ea9b8}.situation-icon{width:32px;height:32px;display:grid;place-items:center;background:#e5f7f9;color:#0a7c8e}.situation-icon.orange{background:#fff4d6;color:#e8890c}.situation-icon.navy{background:#e9eef3;color:#0b1f3f}.text-link{border:0;background:none;color:#0a7c8e;font-weight:700;font-size:11px;display:inline-flex;align-items:center;gap:5px;padding:7px 0;transition:color .15s}.text-link:hover{color:#0b1f3f;text-decoration:underline}.situation .text-link{margin-top:14px}.mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.mini-stats .kpi{background:var(--background);min-height:100px;padding:16px}.mini-stats .kpi-value{font-size:23px}.fineprint{font-size:11px;color:var(--muted-foreground);line-height:1.5}.focus-list{display:grid;gap:0}.focus-list>div{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--border)}.focus-list>div:first-child{padding-top:0}.focus-list span{font-size:10px;font-weight:700;letter-spacing:.8px;color:var(--muted-foreground)}.focus-list strong{font-size:12px;text-align:right}.incident-row{display:flex;align-items:center;gap:14px;padding:10px 0;border-bottom:1px solid var(--border)}.incident-row>div{flex:1;display:flex;flex-direction:column;gap:3px}.incident-row strong{font-size:12px}.incident-row small{color:var(--muted-foreground)}.incident-row svg{color:#9ba9ba}.severity{font-size:9px;font-weight:700;padding:5px 7px;text-transform:uppercase;letter-spacing:.4px}.severity.red{color:#c9162b;background:#fff1f1}.severity.amber{color:#a0640a;background:#fff4d6}textarea,.field input,.field select{background:var(--card);border:1px solid var(--border);border-radius:3px;color:var(--foreground);padding:10px 12px;width:100%;resize:vertical}textarea{margin-bottom:12px;min-height:90px}.btn{border:1px solid transparent;min-height:38px;padding:0 15px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:12px;font-weight:700;border-radius:3px;transition:background .15s,transform .15s,color .15s}.btn:hover{transform:translateY(-1px)}.btn.primary{background:#0b1f3f;color:#fff}.btn.primary:hover{background:#173b60}.btn.secondary{background:var(--card);border-color:var(--border);color:var(--foreground)}.btn.secondary:hover{background:var(--muted)}.btn.small{min-height:32px;font-size:11px}.module-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:14px 0 23px}.module-heading p{margin:8px 0 0;color:var(--muted-foreground);font-size:12px}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:17px;flex-wrap:wrap}.segmented{display:inline-flex;border:1px solid var(--border);background:var(--card);padding:3px;gap:2px}.segmented button{border:0;background:transparent;color:var(--muted-foreground);padding:8px 15px;font-size:11px;font-weight:700;min-height:32px}.segmented button.selected{background:#0b1f3f;color:#fff}.segmented button:hover:not(.selected){background:var(--muted)}.week-control{display:flex;align-items:center;gap:11px;font-size:12px;font-weight:600}.week-control button{width:30px;height:30px;border:1px solid var(--border);background:var(--card);font-size:19px}.week-control button:hover{background:var(--muted)}.planning-table-wrap,.matrix-wrap,.preview-table{overflow:auto;border:1px solid var(--border);background:var(--card)}table{border-collapse:collapse;width:100%}.planning-table{min-width:830px}.planning-table th,.planning-table td{border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:13px;text-align:left;vertical-align:top}.planning-table thead th{background:var(--muted);font-size:10px;color:var(--muted-foreground);text-transform:uppercase;white-space:nowrap}.planning-table thead th:first-child{min-width:175px}.planning-table tbody th{display:flex;align-items:center;gap:10px;font-size:11px;min-width:175px}.planning-table tbody th small{display:block;color:var(--muted-foreground);font-size:10px;font-weight:400;margin-top:4px}.planning-table td{min-width:92px;height:60px}.avatar-mini,.person-avatar{background:#e9eef3;color:#0b1f3f;font:700 10px Sora;display:grid;place-items:center;width:29px;height:29px;flex:none}.shift-pill{background:#0b1f3f;color:#fff;border:0;border-left:3px solid #12B5CB;border-radius:2px;padding:6px;font:600 10px var(--font-mono);width:100%;text-align:left;cursor:grab;transition:transform .15s}.shift-pill:hover{transform:translateY(-2px)}.shift-pill small{display:block;font:400 9px var(--font-sans);margin-top:3px}.shift-pill.day{background:#d8f2f5;color:#0b1f3f}.planning-bottom{display:grid;gap:16px;margin-top:16px}.status-panel{display:flex;align-items:center;gap:13px;border:1px solid #E8890C;background:#fff8e8;padding:14px 18px;color:#8f5b0b}.status-panel>div{flex:1;display:flex;flex-direction:column;gap:4px}.status-panel strong{font-size:12px}.status-panel span{font-size:11px}.shift-row{display:flex;align-items:center;gap:15px;border-top:1px solid var(--border);padding:10px 0;font-size:11px}.shift-row strong{flex:1}.shift-row button{border:0;background:none;color:#5b6b82;padding:5px}.shift-row button:hover{color:#0a7c8e}.mono{font-family:var(--font-mono)}.status-draft{color:#e8890c;font-size:9px;font-weight:700}.people-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.person{border:1px solid var(--border);padding:18px;display:flex;align-items:center;gap:13px}.person-avatar{width:38px;height:38px;font-size:12px}.person>div:nth-child(2){flex:1;display:flex;flex-direction:column;gap:4px}.person strong{font-size:13px}.person span,.person small{color:var(--muted-foreground);font-size:11px}.person .presence{color:#1e9e5a;font-weight:700}.dimension-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:16px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:flex;flex-direction:column;gap:6px;color:var(--muted-foreground);font-size:11px;font-weight:600}.field.full{grid-column:1/-1}.field input,.field select{height:38px;padding:7px 10px;font-size:13px;font-weight:600}.field input:focus,.field select:focus,textarea:focus{border-color:#12b5cb}.space-top{margin-top:17px}.scenario-tabs{margin-bottom:16px}.results-col{display:flex;flex-direction:column;gap:16px}.results-main{background:#0b1f3f;padding:26px;color:#fff;margin:-3px -4px 19px}.results-main span{font-size:10px;letter-spacing:1px;color:#9bd9e5;font-weight:700}.results-main strong{font:700 48px Sora;display:block;margin:11px 0}.results-main small{font:400 18px var(--font-sans)}.results-main p{color:#b4cadf;font-size:11px;margin:0}.results-lines>div{display:flex;justify-content:space-between;border-bottom:1px solid var(--border);padding:10px 0;font-size:12px;gap:10px}.results-lines span{color:var(--muted-foreground)}.results-lines .total{font-weight:700;color:var(--foreground);font-size:14px}.matrix{min-width:710px;table-layout:fixed}.matrix th,.matrix td{border-bottom:1px solid var(--border);border-right:1px solid var(--border);text-align:center;padding:3px}.matrix thead th{background:var(--muted);height:39px;font-size:11px}.matrix thead th:first-child{width:120px}.matrix thead span{color:var(--muted-foreground)}.matrix tbody th{font:500 10px var(--font-mono);color:var(--muted-foreground);background:var(--card);height:32px}.matrix-cell{width:100%;height:28px;border:0;font:600 11px var(--font-mono);transition:filter .15s,transform .15s}.matrix-cell:hover{filter:brightness(.92);transform:scale(1.03)}.matrix-cell.off{background:#f3f6f8;color:#9da9b6}.matrix-cell.risk{background:#fff1e2;color:#ba4f19}.matrix-cell.covered{background:#e2f5e9;color:#117344}.matrix-key{font-size:10px;color:var(--muted-foreground);display:flex;align-items:center;gap:7px}.matrix-key i{width:12px;height:12px;display:inline-block;margin-left:9px}.key-covered{background:#e2f5e9}.key-risk{background:#fff1e2}.key-off{background:#f3f6f8}.control-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:16px}.alert-item{border-bottom:1px solid var(--border);padding:15px 2px;display:flex;gap:13px;align-items:flex-start}.alert-mark{width:7px;height:7px;background:#c9162b;margin-top:5px;flex:none}.alert-item div:nth-child(2){flex:1}.alert-item strong{font-size:12px}.alert-item p{font-size:11px;color:var(--muted-foreground);margin:5px 0 0}.alert-item>span{font-size:9px;font-weight:700;color:#c9162b}.empty{padding:30px;text-align:center;color:var(--muted-foreground);font-size:12px}.empty-real{min-height:350px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;gap:15px;background:var(--card);border:1px solid var(--border)}.empty-real svg{color:#0a7c8e}.empty-real h2{font:700 20px Sora;margin:0}.empty-real p{max-width:440px;color:var(--muted-foreground);line-height:1.6;margin:0}.large-chart{margin-top:16px}.report{max-width:1100px;min-height:610px;background:#fff;border:1px solid var(--border);margin:auto;color:#13203a}.report-header{height:62px;background:#0b1f3f;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 32px}.report-header span{font:700 16px Sora}.report-header b{color:#9bdfe7}.report-header small{font-size:10px;letter-spacing:1px}.report-demo{background:#fff4d6;color:#89550d;text-align:center;padding:9px;font-size:10px;letter-spacing:1px;font-weight:700}.report-title{display:flex;align-items:center;justify-content:space-between;border-bottom:3px solid #E30613;padding:30px 36px}.report-title span{color:#0a7c8e;font-size:10px;letter-spacing:1px;font-weight:700}.report-title h2{font:700 29px Sora;margin:8px 0}.report-title p{margin:0;color:#5b6b82}.report-mark{font:800 64px Sora;color:#e9eef3}.report-metrics{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid #DDE3EA}.report-metrics .kpi{border:0;border-radius:0;border-right:1px solid #DDE3EA}.report-sections{padding:20px 36px;display:grid;grid-template-columns:1fr 1fr;gap:40px}.report-sections h3{font:700 14px Sora;margin:18px 0 10px}.report-sections p{font-size:12px;color:#5b6b82}.upload-zone{margin-top:20px;border:1px dashed #12B5CB;background:#f5fbfc;min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;cursor:pointer;color:#0a7c8e}.upload-zone span{max-width:250px;font-size:11px;color:#5b6b82}.upload-zone input{width:190px;font-size:11px}.mapping-row{display:grid;grid-template-columns:1fr 20px 1fr;gap:10px;align-items:center;margin:10px 0;font-size:12px}.mapping-row select{border:1px solid var(--border);background:#fff;height:32px;padding:5px}.preview-table table{font-size:11px}.preview-table th,.preview-table td{padding:8px;border:1px solid var(--border);text-align:left;white-space:nowrap}.body-copy{line-height:1.7;color:var(--muted-foreground)}.statusbar{height:28px;flex:none;display:flex;align-items:center;justify-content:space-between;background:var(--card);border-top:1px solid var(--border);padding:0 30px;font:600 9px var(--font-mono);letter-spacing:.5px;color:var(--muted-foreground)}.statusbar span:first-child{display:flex;align-items:center;gap:8px}.drawer-backdrop,.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#07142b88;z-index:90;display:flex;justify-content:flex-end}.drawer{width:min(420px,100%);background:var(--card);height:100%;padding:36px;position:relative;overflow:auto}.drawer h2,.modal h2{font:700 24px Sora;margin:12px 0}.drawer h3{font:700 15px Sora;margin-top:30px}.drawer-close{position:absolute;right:20px;top:18px;border:0;background:transparent;color:var(--foreground)}.modal-backdrop{align-items:center;justify-content:center}.modal{background:var(--card);padding:34px;width:min(510px,calc(100% - 28px));position:relative;max-height:90vh;overflow:auto}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:25px}.toast{position:fixed;bottom:40px;right:30px;background:#0b1f3f;color:#fff;padding:13px 18px;display:flex;align-items:center;gap:10px;z-index:100;font-size:12px}.mobile-toggle,.mobile-scrim,.tv .sidebar,.tv .filterbar,.tv .statusbar{display:none}.tv .topbar{background:#07142b;color:#fff}.tv .breadcrumb strong{color:#fff}.tv .content{background:#07142b}.tv .page-body{max-width:none}.tv .hero{height:320px}.tv .section-intro h2{color:#fff}.tv .kpi-value{font-size:42px}.tv .kpi{min-height:145px}@media (max-width:1150px){.filterbar{align-items:flex-start;flex-direction:column}.dashboard-grid{grid-template-columns:1.5fr 1fr}.hero{height:245px}.sidebar.expanded{width:200px}}@media (max-width:850px){.sidebar{position:fixed;inset:0 auto 0 0;transform:translate(-100%);width:235px!important;transition:transform .2s}.sidebar.mobile-open{transform:translate(0)}.sidebar .brand-text,.sidebar .nav-item span,.sidebar .nav-label{display:block!important}.sidebar .nav-item{gap:13px}.collapse{display:none}.mobile-toggle{display:grid}.mobile-scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;border:0;background:#07142b99;z-index:25}.topbar,.filterbar{padding-left:18px;padding-right:18px}.page-body{padding:16px 18px 30px}.dashboard-grid,.dimension-grid{grid-template-columns:1fr}.hero-content{padding:20px}.hero{height:240px}.hero-chain{display:none}}@media (max-width:590px){.topbar{height:52px}.top-actions{gap:9px}.top-location,.top-date{display:none!important}.filterbar{min-height:unset;gap:13px}.page-heading h1{font-size:19px}.filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.filters label{min-width:0}.filters input,.filters select{width:100%;min-width:0}.demo-right{display:none}.demo-banner{font-size:9px;line-height:1.4}.hero{height:225px;background-position:65% center}.hero h2{font-size:28px}.hero p{font-size:11px;line-height:1.5}.section-intro{align-items:flex-start;gap:10px}.section-intro h2{font-size:19px}.section-intro .source-tag{font-size:8px;text-align:right}.kpi-grid{grid-template-columns:1fr 1fr;gap:9px}.kpi{padding:14px;min-height:99px}.kpi-value{font-size:25px}.kpi-value small{font-size:11px}.kpi-hint{font-size:9px}.secondary-grid,.people-grid,.control-summary{grid-template-columns:1fr}.card{padding:16px}.module-heading{align-items:flex-start;flex-direction:column}.module-heading h2{font-size:21px}.form-grid{gap:9px}.report-metrics{grid-template-columns:1fr 1fr}.report-header{padding:0 15px}.report-header small{display:none}.report-sections{grid-template-columns:1fr;padding:15px}.report-title{padding:18px}.status-panel{align-items:flex-start;flex-wrap:wrap}.shift-row{flex-wrap:wrap;gap:8px}.shift-row strong{min-width:50%}.statusbar{padding:0 15px}.statusbar span:last-child{display:none}}@media print{html,body,#root{position:static;height:auto;overflow:visible}.shell,.workspace,.content{display:block;height:auto;overflow:visible}.sidebar,.topbar,.filterbar,.statusbar,.demo-banner,.module-heading,.error-banner{display:none!important}.page-body{padding:0}.page-body>*:not(.report){display:none!important}.report{border:0;max-width:none;min-height:100vh;break-inside:avoid}.report-demo{display:block!important}body{background:#fff}}.login-screen{position:relative;isolation:isolate;flex:1;min-height:0;overflow-y:auto;background:#07142b;color:#f4f8fc}.login-world{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-2;background:url(/images/night-response.png) 48% center/cover no-repeat}.login-shade{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(90deg,#07142bfa,#07142bde 39%,#07142b47 72%,#07142b8f),linear-gradient(0deg,rgba(7,20,43,.92),transparent 30%)}.login-frame{min-height:100%;display:flex;flex-direction:column;padding:0 clamp(24px,5vw,88px)}.login-header{height:112px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(235,246,255,.18)}.login-identity{display:flex;align-items:center;gap:26px}.login-identity img:first-child{width:124px;height:54px;object-fit:contain;background:#fffffffa;border-radius:3px;padding:7px 10px}.login-brand-separator{height:34px;width:1px;background:#ffffff59}.login-identity .login-adm{width:126px;height:54px;object-fit:contain;filter:brightness(0) invert(1)}.login-header-side,.login-overline,.login-story-bottom,.login-footer,.login-access-top,.login-access-heading>span{font-size:11px;font-weight:700;letter-spacing:.15em}.login-header-side{display:flex;align-items:center;gap:12px;color:#ffffffd4}.login-led{width:7px;height:7px;border-radius:50%;background:#12b5cb;box-shadow:0 0 0 5px #12b5cb29}.login-main{flex:1;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(370px,465px);gap:clamp(30px,5vw,120px);align-items:center;padding:50px 0 65px}.login-story{max-width:750px}.login-overline{color:#9de2ed;display:flex;gap:15px;align-items:center}.login-stroke{width:35px;height:2px;background:#12b5cb}.login-story h1{font-family:Sora,sans-serif;font-size:clamp(48px,5.2vw,83px);line-height:1.12;letter-spacing:-.055em;margin:29px 0 23px;font-weight:700;text-wrap:balance}.login-story h1 span{color:#76d7e6}.login-story>p{max-width:505px;font-size:17px;line-height:1.7;color:#c5d6e8;margin:0}.login-story-bottom{display:flex;flex-wrap:wrap;gap:16px 34px;margin-top:54px;color:#c8dce9;letter-spacing:.07em}.login-story-bottom span,.login-footer>div{display:flex;align-items:center;gap:9px}.login-story-bottom svg{color:#48c7d8}.login-access{background:#fff;color:#13203a;border-top:3px solid #e30613;padding:clamp(27px,3vw,44px);box-shadow:0 20px 60px #030e1e40}.login-access-top{display:flex;justify-content:space-between;align-items:center;color:#677a92;font-family:var(--font-mono);font-size:10px;letter-spacing:.08em}.login-access-mark{width:40px;height:40px;display:grid;place-items:center;background:#e9eef3;color:#0b1f3f}.login-access-heading{margin:30px 0}.login-access-heading>span{color:#0a7c8e;font-size:10px}.login-access-heading h2{font-family:Sora,sans-serif;line-height:1.17;letter-spacing:-.04em;font-size:clamp(27px,2.5vw,37px);margin:12px 0}.login-access-heading p{color:#5b6b82;font-size:14px;line-height:1.5;margin:0}.login-form{display:flex;flex-direction:column}.login-form>label{font-weight:600;font-size:13px;margin:0 0 8px}.login-form>input,.login-password-field{width:100%;height:50px;border:1px solid #ccd7e3;background:#f4f6f8;color:#13203a;border-radius:3px;font:500 15px IBM Plex Sans,sans-serif}.login-form>input{padding:0 15px;margin-bottom:20px}.login-form input:focus,.login-password-field:focus-within{outline:2px solid #0a7c8e;outline-offset:2px;border-color:#0a7c8e}.login-password-field{display:flex;align-items:center}.login-password-field input{border:0;background:transparent;outline:0!important;min-width:0;width:100%;height:100%;padding:0 15px;color:#13203a;font:500 15px IBM Plex Sans,sans-serif}.login-password-field button{border:0;background:none;cursor:pointer;flex:none;color:#5b6b82;width:46px;height:100%;display:grid;place-items:center}.login-password-field button:hover{color:#0a7c8e}.login-error{color:#a21427;font-size:13px;margin:13px 0 0;line-height:1.45}.login-submit{height:55px;background:#0b1f3f;color:#fff;border:1px solid #0b1f3f;border-radius:3px;margin-top:26px;display:flex;align-items:center;justify-content:space-between;padding:0 19px;font:600 15px IBM Plex Sans,sans-serif;cursor:pointer;transition:background .15s,transform .15s}.login-submit:hover:not(:disabled){background:#0a7c8e;transform:translateY(-2px)}.login-submit:disabled{opacity:.6;cursor:wait}.login-submit:focus-visible,.login-password-field button:focus-visible{outline:2px solid #12b5cb;outline-offset:3px}.login-access-foot{display:flex;gap:9px;align-items:center;color:#5b6b82;font-size:12px;margin-top:25px;border-top:1px solid #dde3ea;padding-top:20px}.login-access-foot svg{color:#0a7c8e;flex:none}.login-footer{min-height:76px;flex-shrink:0;display:flex;gap:15px;align-items:center;justify-content:space-between;border-top:1px solid rgba(235,246,255,.18);color:#afc6d7;letter-spacing:.1em}.login-footer>span{font-size:10px}.login-footer i{color:#12b5cb;font-style:normal;margin:0 4px}.login-footer small{font-size:10px}.login-checking{display:grid;place-items:center;flex:1;background:#07142b;color:#f4f8fc;font-family:Sora,sans-serif}.top-user{font-size:12px;font-family:var(--font-mono);color:var(--muted-foreground)}.logout-btn{color:var(--muted-foreground)!important}.logout-btn:hover{color:var(--destructive)!important}@media (max-width:980px){.login-main{grid-template-columns:minmax(0,1fr) minmax(320px,440px);gap:24px}.login-story h1{font-size:clamp(42px,5vw,65px)}.login-story>p{font-size:15px}.login-footer>span{display:none}}@media (max-width:700px){.login-world{background-position:57% top;background-size:auto 65%}.login-shade{background:linear-gradient(180deg,#07142b9e,#07142be8 42%,#07142b 76%)}.login-frame{padding:0 22px;min-height:100%}.login-header{height:82px}.login-identity{gap:13px}.login-identity img:first-child{width:94px;height:40px;padding:4px 7px}.login-brand-separator{height:27px}.login-identity .login-adm{width:90px;height:38px}.login-header-side{display:none}.login-main{display:flex;flex-direction:column;gap:28px;align-items:stretch;padding:45px 0 38px}.login-story h1{font-size:clamp(40px,10vw,58px);margin:18px 0 12px}.login-story>p{font-size:14px;line-height:1.55;max-width:410px}.login-story-bottom{display:none}.login-access{padding:26px 23px}.login-access-heading{margin:23px 0}.login-access-heading h2{font-size:27px}.login-footer{min-height:65px;justify-content:center;text-align:center}.login-footer>div,.login-footer>span{display:none}.login-footer small{font-size:10px}}@media (max-width:380px){.login-story h1{font-size:38px}.login-main{padding-top:30px}.login-access{padding:23px 19px}}
