:root{color:#1f2937;background:#f4f6f8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:1100px;min-height:100vh;margin:0}button,input,select{font:inherit}.app-shell{min-height:100vh}.topbar{background:#fff;border-bottom:1px solid #e5e7eb;padding:24px 40px 18px}.topbar h1{color:#172033;margin:0;font-size:26px}.topbar p{color:#6b7280;margin:5px 0 0;font-size:14px}.navigation{background:#fff;border-bottom:1px solid #e5e7eb;gap:28px;padding:0 40px;display:flex}.navigation a{color:#667085;cursor:pointer;border-bottom:3px solid #0000;padding:15px 0 13px;font-size:14px;font-weight:600}.navigation .active{color:#2457a7;border-bottom-color:#2457a7}main{padding:32px 40px 60px}.hero{margin-bottom:26px}.hero h2{color:#172033;margin:3px 0 8px;font-size:30px}.hero p:last-child{color:#667085;margin:0}.eyebrow{color:#2457a7;letter-spacing:.11em;margin:0;font-size:11px;font-weight:800}.metrics{grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:28px;display:grid}.metric-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:20px}.metric-card span{color:#667085;margin-bottom:10px;font-size:13px;font-weight:600;display:block}.metric-card strong{color:#172033;font-size:24px;display:block}.metric-card.primary{border-top:4px solid #2457a7;padding-top:17px}.panel{background:#fff;border:1px solid #e5e7eb;border-radius:10px;width:100%;overflow:hidden}.review-panel{margin-top:24px}.panel-heading{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:20px 22px;display:flex}.panel-heading h3{margin:4px 0 0;font-size:20px}.row-count{color:#667085;font-size:13px}.review-placeholder{color:#667085;background:#fff;padding:24px}.review-placeholder p{margin:6px 0}.filters{background:#fff;border:1px solid #e5e7eb;border-radius:10px;grid-template-columns:repeat(4,minmax(180px,1fr)) auto;align-items:end;gap:16px;margin-bottom:24px;padding:20px;display:grid}.filters label{flex-direction:column;gap:7px;display:flex}.filters label span{color:#475467;font-size:12px;font-weight:700}.filters input,.filters select{color:#172033;background:#fff;border:1px solid #d0d5dd;border-radius:7px;outline:none;width:100%;padding:10px 12px}.filters input:focus,.filters select:focus{border-color:#2457a7;box-shadow:0 0 0 3px #2457a71a}.filter-actions{gap:8px;display:flex}.primary-button,.secondary-button{cursor:pointer;border-radius:7px;padding:10px 16px;font-weight:700}.primary-button{color:#fff;background:#2457a7;border:1px solid #2457a7}.secondary-button{color:#344054;background:#fff;border:1px solid #d0d5dd}.primary-button:disabled,.secondary-button:disabled{cursor:not-allowed;opacity:.45}.table-wrapper{width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}th{color:#475467;text-align:left;white-space:nowrap;background:#f8fafc;border-bottom:1px solid #e5e7eb;padding:12px 14px}td{white-space:nowrap;border-bottom:1px solid #eef1f4;padding:12px 14px}tbody tr:hover{background:#f8fbff}.number{text-align:right;font-variant-numeric:tabular-nums}.number-header{text-align:center}.consensus{color:#2457a7;font-weight:700}.consensus-preview{color:#b54708;background:#fffaeb;font-weight:800}.matrix-total{background:#f8fafc;font-weight:800}.save-bar{background:#f8fafc;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:14px 22px;display:flex}.unsaved-message{color:#b54708;font-size:13px;font-weight:700}.saved-message{color:#027a48;font-size:13px;font-weight:700}.base-demand-input,.driver-input{color:#172033;text-align:right;font-variant-numeric:tabular-nums;background:#fff;border:1px solid #d0d5dd;border-radius:6px;outline:none;width:130px;padding:7px 9px}.base-demand-input:focus,.driver-input:focus{border-color:#2457a7;box-shadow:0 0 0 3px #2457a71a}.pagination{background:#fff;border-top:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:16px 22px;display:flex}.pagination-summary{color:#667085;font-size:13px}.pagination-summary strong{color:#344054}.pagination-actions{gap:8px;display:flex}.message{background:#fff;border-radius:8px;padding:18px}.message.error{color:#b42318;background:#fffbfa;border:1px solid #fecdca}.review-chart{width:100%;height:460px;margin-top:22px;position:relative}.quarterly-table{width:100%}.positive-change{color:#027a48;font-weight:700}.negative-change{color:#b42318;font-weight:700}.forecast-matrix-wrapper{width:100%;max-width:100%;overflow-x:hidden}.forecast-matrix{table-layout:fixed;border-collapse:collapse;width:100%;min-width:0;max-width:100%;font-size:10px}.forecast-matrix th,.forecast-matrix td{box-sizing:border-box;white-space:nowrap;text-overflow:clip;padding:7px 3px;overflow:hidden}.forecast-matrix th:first-child,.forecast-matrix td:first-child{text-align:left;width:10%}.forecast-matrix th:nth-child(2),.forecast-matrix td:nth-child(2),.forecast-matrix th:nth-child(n+3):nth-child(-n+14),.forecast-matrix td:nth-child(n+3):nth-child(-n+14){width:4%}.forecast-matrix th:nth-child(15),.forecast-matrix td:nth-child(15){width:6%}.forecast-matrix th:nth-child(n+16):nth-child(-n+19),.forecast-matrix td:nth-child(n+16):nth-child(-n+19){width:8%}.forecast-matrix .base-demand-input,.forecast-matrix .driver-input{box-sizing:border-box;text-align:right;width:100%;min-width:0;padding:6px 2px;font-size:10px}.allocation-matrix-actions{color:#475467;justify-content:space-between;align-items:center;gap:16px;margin:18px 22px;font-size:13px;font-weight:700;display:flex}.allocation-save-message{color:#027a48;background:#ecfdf3;border:1px solid #abefc6;border-radius:8px;margin:18px 22px 22px;padding:14px 16px;font-size:13px;font-weight:700}.driver-name-field{align-items:center;gap:12px;max-width:520px;display:flex}.driver-name-field span{color:#475467;flex:none;font-size:12px;font-weight:700}.driver-name-field input{color:#172033;background:#fff;border:1px solid #d0d5dd;border-radius:7px;outline:none;flex:auto;min-width:0;padding:9px 11px}.driver-name-field input:focus{border-color:#2457a7;box-shadow:0 0 0 3px #2457a71a}.panel-heading-actions{align-items:center;gap:8px;display:flex}:root{--crest-deep:#0b2545;--crest-blue:#4da3ff;--crest-gold:#ffb547;--crest-sand:#dce8f6;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}h1,h2,h3,.brand{font-family:Space Grotesk,Inter,ui-sans-serif,system-ui,sans-serif}.brand{align-items:center;gap:12px;display:flex}.brand-mark{flex:none;width:44px;height:30px}.brand-accent{color:var(--crest-blue)}.topbar{background:var(--crest-deep);border-bottom:3px solid var(--crest-blue)}.topbar h1{color:#fff}.topbar p{color:#b8c7dd}.topbar .user-box,.topbar .user-box span{color:#dbe6f5}.topbar .secondary-button{color:#fff;background:0 0;border:1px solid #fff6}.topbar .secondary-button:hover{background:#ffffff1f}.primary-button{background:var(--crest-blue);color:var(--crest-deep);border-color:var(--crest-blue);font-weight:600}.primary-button:hover:not(:disabled){background:#6bb4ff;border-color:#6bb4ff}.login-shell{background:var(--crest-deep)}.login-card{border-top:4px solid var(--crest-gold)}.login-card h1{color:var(--crest-deep);font-size:30px}.login-card .brand-accent{color:#1f7ae0}.login-card .login-note{color:#6b7280}.login-shell>.login-note{color:#dbe6f5}:root{background:#dce8f6}.lp{max-width:1240px;margin:0 auto;padding:8px 0 48px}.lp-hero{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;padding:28px 0 8px;display:flex}.lp-hero h2{color:#0b2545;margin:8px 0 10px;font-size:44px;line-height:1.1}.lp-hero p{color:#52627a;max-width:680px;margin:0;font-size:18px;line-height:1.5}.lp-hero .eyebrow{color:#1b66c9;margin:0;font-size:12px}.lp-cycle{color:#0b2545;background:#fff;border:1px solid #c5d6ec;border-radius:999px;align-items:center;gap:10px;padding:10px 18px;font-size:15px;font-weight:500;display:flex}.lp-dot{background:#ffb547;border-radius:5px;width:10px;height:10px;display:inline-block}.lp-grid{flex-wrap:wrap;align-items:flex-start;gap:28px;margin-top:20px;display:flex}.lp-steps{flex-direction:column;flex:999 640px;gap:20px;min-width:0;display:flex}.lp-side{flex-direction:column;flex:300px;gap:20px;min-width:0;display:flex}.lp-card{background:#fff;border:1px solid #c5d6ec;border-radius:16px;gap:20px;padding:28px;display:flex}.lp-card h3{color:#0b2545;margin:4px 0 8px;font-size:26px}.lp-num{color:#fff;background:#0b2545;border-radius:20px;flex:none;justify-content:center;align-items:center;width:40px;height:40px;font-family:Space Grotesk,Inter,sans-serif;font-size:17px;font-weight:700;display:flex}.lp-num-gold{color:#0b2545;background:#ffb547}.lp-body{flex:1;min-width:0}.lp-muted{color:#52627a;margin:0 0 14px;font-size:16px;line-height:1.55}.lp-list{padding-left:20px;font-size:15px;line-height:1.7}.lp-tight{margin:0;font-size:15px}.lp-badge{color:#5a3a00;vertical-align:middle;background:#ffe3b3;border-radius:999px;padding:3px 10px;font-family:Inter,sans-serif;font-size:14px;font-weight:600}.lp-drop{cursor:pointer;background:#f8fafd;border:2px dashed #b9c6db;border-radius:12px;flex-direction:column;gap:6px;padding:18px 20px;display:flex}.lp-drop-title{color:#0b2545;font-size:16px;font-weight:600}.lp-drop-sub{color:#52627a;font-size:14px}.lp-drop input{font:inherit;margin-top:6px}.lp-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 20px;margin-top:14px;font-size:15px;display:flex}.lp-flush{margin-top:0}.lp-mapping{background:#f8fafd;border:1px solid #c5d6ec;border-radius:12px;margin-top:18px;padding:18px}.lp-stack{flex-direction:column;gap:16px;display:flex}.lp-sub{background:#f8fafd;border:1px solid #c5d6ec;border-radius:14px;flex-direction:column;gap:12px;padding:22px;display:flex}.lp-sub h4{color:#0b2545;margin:0;font-family:Space Grotesk,Inter,sans-serif;font-size:19px}.lp-sub .message{margin:0}.lp-run{background:#0b2545;border-color:#0b2545}.lp-run h3{color:#fff}.lp-run .lp-muted,.lp-run .lp-actions>span{color:#dbe6f5}.lp-progress{color:#dbe6f5;margin-top:16px;font-size:14px}.lp-panel{background:#fff;border:1px solid #c5d6ec;border-radius:16px;padding:24px}.lp-panel h3{color:#0b2545;margin:0 0 14px;font-size:20px}.lp-check{color:#52627a;flex-direction:column;gap:12px;margin:0;padding:0;font-size:15px;list-style:none;display:flex}.lp-check li span{width:18px;display:inline-block}.lp-check .lp-done{color:#17603d;font-weight:600}.lp-last{color:#52627a;border-top:1px solid #e6edf6;margin:16px 0 0;padding-top:14px;font-size:14px}.login-card{background:#fff;padding-top:28px}.login-card label{color:#374151}.login-card input{border:1px solid #cbd5e1;border-radius:8px}.topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;display:flex}.topbar .user-box{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.filters{flex-wrap:wrap;align-items:center;gap:12px;display:flex;overflow:visible}.filters>.filter-actions{flex:100%}.fp{align-items:center;display:inline-flex;position:relative}.fp-pill{color:#0b2545;cursor:pointer;background:#fff;border:1px solid #b9c6db;border-radius:999px;align-items:center;gap:8px;min-height:40px;padding:8px 14px;font:500 14px Inter,system-ui,sans-serif;display:inline-flex}.fp-pill:hover{border-color:#4da3ff}.fp-label{color:#52627a}.fp-value{text-overflow:ellipsis;white-space:nowrap;max-width:170px;font-weight:600;overflow:hidden}.fp-caret{color:#52627a;font-size:11px}.fp-active{background:#eaf3ff;border-color:#1b66c9}.fp-active .fp-label{color:#1b66c9}.fp-open{border-color:#1b66c9;box-shadow:0 0 0 3px #4da3ff40}.fp-x{color:#1b66c9;cursor:pointer;background:0 0;border:0;border-radius:14px;width:28px;height:28px;margin-left:-34px;font-size:18px;line-height:1}.fp-active+.fp-x,.fp-x{position:relative}.fp:has(.fp-x) .fp-pill{padding-right:38px}.fp-pop{z-index:30;background:#fff;border:1px solid #c5d6ec;border-radius:14px;width:300px;padding:12px;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 12px 32px #0b25452e}.fp-search{box-sizing:border-box;border:1px solid #cbd5e1;border-radius:8px;width:100%;padding:9px 12px;font:14px Inter,system-ui,sans-serif}.fp-tools{justify-content:space-between;margin:8px 2px;display:flex}.fp-tools button{color:#1b66c9;cursor:pointer;background:0 0;border:0;padding:4px 0;font:600 13px Inter,system-ui,sans-serif}.fp-list{max-height:240px;margin:0;padding:0;list-style:none;overflow-y:auto}.fp-list label{color:#0b2545;cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:7px 6px;font-size:14px;display:flex}.fp-list label:hover{background:#dce8f6}.fp-empty{color:#52627a;padding:8px 6px;font-size:13px}.fp-foot{color:#52627a;border-top:1px solid #e6edf6;margin-top:8px;padding-top:8px;font-size:12px}.fp-pop{text-align:left;width:320px}.fp-pop .fp-search{width:100%;margin:0;display:block}.fp-pop .fp-tools{justify-content:space-between;align-items:center;display:flex}.fp-pop .fp-tools button{width:auto;min-height:0;box-shadow:none;background:0 0;border:0;padding:4px 2px}.fp-pop .fp-list li{margin:0;padding:0}.fp-pop .fp-list label{text-align:left;color:#0b2545;flex-direction:row;justify-content:flex-start;align-items:center;gap:12px;margin:0;padding:8px;font-size:14px;font-weight:400;display:flex}.fp-pop .fp-list label span{text-align:left;color:#0b2545;overflow-wrap:anywhere;flex:1;min-width:0;font-weight:400}.fp-pop .fp-list input[type=checkbox]{accent-color:#1b66c9;flex:none;width:16px;height:16px;min-height:0;margin:0;padding:0}.fp-pop .fp-list label:has(input:checked){background:#eaf3ff}.fp-pop .fp-list label:has(input:checked) span{font-weight:600}.filters .filter-group{flex-direction:column;gap:4px;min-width:0;display:flex}.filters .filter-group>label{color:#52627a;margin:0;font-size:12px;font-weight:600}.filters .filter-group select:not([multiple]),.filters .filter-group input[type=month]{box-sizing:border-box;color:#0b2545;background:#fff;border:1px solid #b9c6db;border-radius:10px;min-height:40px;padding:8px 12px;font:14px Inter,system-ui,sans-serif}.export-actions{flex-wrap:wrap;gap:12px;margin:18px 0 8px;display:flex}.rv{max-width:1280px;margin:0 auto;padding:8px 0 48px}.rv .panel,.rv .review-panel{box-shadow:none;background:#fff;border:1px solid #c5d6ec;border-radius:16px;margin:0 0 24px;overflow:hidden}.rv .panel-heading h3{color:#0b2545;font-family:Space Grotesk,Inter,sans-serif;font-size:22px}.rv .panel-heading .eyebrow{color:#1b66c9}.rv-top{flex-wrap:wrap;align-items:stretch;gap:24px;margin:0 0 24px;display:flex}.rv-top .panel{margin:0}.rv-top .rv-chart{flex:999 620px;min-width:0}.rv .chart-controls{color:#52627a;flex-wrap:wrap;align-items:center;gap:6px 16px;margin-bottom:14px;font-size:13px;display:flex}.rv .chart-toggle{color:#0b2545;align-items:center;gap:6px;font-size:13px;display:inline-flex}.rv .chart-toggle input{accent-color:#1b66c9}.rv .quarterly-table{font-variant-numeric:tabular-nums;width:100%;font-size:13px}.rv .quarterly-table th{letter-spacing:.06em;text-transform:uppercase;color:#52627a;border-bottom:2px solid #0b2545;padding:8px 6px;font-size:11px}.rv .quarterly-table td{border-bottom:1px solid #e6edf6;padding:11px 6px}.rv .forecast-matrix{font-variant-numeric:tabular-nums;border-collapse:separate;border-spacing:0}.rv .forecast-matrix th{color:#52627a;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;background:#dce8f6;border-bottom:1px solid #c5d6ec;font-size:11px}.rv .forecast-matrix td{white-space:nowrap;border-bottom:1px solid #eaf0f8}.rv .forecast-matrix .matrix-total{background:#f8fafd;font-weight:700}.rv .forecast-matrix tbody tr:hover td{background:#f8fafd}.rv .forecast-matrix th:first-child,.rv .forecast-matrix td:first-child{z-index:1;background:#fff;min-width:170px;max-width:170px;position:sticky;left:0}.rv .forecast-matrix th:nth-child(2),.rv .forecast-matrix td:nth-child(2){z-index:1;background:#fff;border-right:1px solid #e6edf6;min-width:70px;position:sticky;left:170px}.rv .forecast-matrix th:first-child,.rv .forecast-matrix th:nth-child(2){z-index:2;background:#dce8f6}.rv .positive-change{color:#17603d}.rv .negative-change{color:#b42318}.rv .lp-hero{padding:16px 0 4px}.rv .lp-hero h2{margin:6px 0 8px;font-size:30px}.rv .lp-hero p{font-size:15px}.rv .lp-cycle{padding:8px 14px;font-size:13px}.rv .panel-heading h3{font-size:17px}.rv .panel-heading .eyebrow{font-size:10.5px}.rv .chart-controls,.rv .chart-toggle{font-size:12px}.rv-top .rv-chart{flex:999 560px}.rv-top .rv-quarter{flex:520px;min-width:440px;max-width:580px}.rv .quarterly-table{width:100%;min-width:0;font-size:12.5px}.rv .quarterly-table th,.rv .quarterly-table td{white-space:nowrap;padding:10px 5px}.rv-quarter .table-wrapper,.rv-quarter .review-placeholder{overflow-x:visible}.rv .yoy-consensus-table td.positive-change{color:#0b2545;background:#ddf1e5}.rv .yoy-consensus-table td.negative-change{color:#0b2545;background:#fbe3e0}.rv-top{align-items:flex-start}.rv-chartwrap{align-items:flex-start;gap:18px;display:flex}.rv-chartmain{flex:auto;min-width:0}.rv-series{border-left:1px solid #eee8dc;flex-direction:column;flex:0 0 196px;gap:4px;padding-left:16px;display:flex}.rv-series-head{color:#0b2545;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:12px;display:flex}.rv-link{color:#1b66c9;cursor:pointer;background:0 0;border:0;padding:0 0 0 10px;font:600 12px Inter,system-ui,sans-serif}.rv-series-item{color:#0b2545;cursor:pointer;align-items:center;gap:8px;padding:4px 0;font-size:12px;display:flex}.rv-series-item input{accent-color:#1b66c9;margin:0}.rv-swatch{flex:none;display:inline-block}.rv-toggle{color:#0b2545;cursor:pointer;background:#fff;border:1px solid #b9c6db;border-radius:999px;padding:6px 14px;font:500 12px Inter,system-ui,sans-serif}.rv-toggle:hover{border-color:#4da3ff}@media (width<=900px){.rv-chartwrap{flex-direction:column}.rv-series{border-top:1px solid #eee8dc;border-left:0;flex-flow:wrap;flex:none;gap:4px 16px;width:100%;padding-top:12px;padding-left:0}}.rv-series{flex:0 0 150px}.rv-series-group{margin-top:10px}.rv-series-title{letter-spacing:.08em;text-transform:uppercase;color:#52627a;margin-bottom:2px;font-size:10.5px;font-weight:600}.rv-series-row{flex-wrap:wrap;gap:2px 14px;display:flex}.rv .yoy-consensus-table{table-layout:auto;width:max-content;min-width:100%;font-size:12.5px}.rv .yoy-consensus-table th,.rv .yoy-consensus-table td{padding:9px 12px;font-weight:400}.rv .yoy-consensus-table th{font-weight:600}.rv .yoy-consensus-table td.number{text-align:right}.rv .yoy-consensus-table td.positive-change{background:#e7f5ec}.rv .yoy-consensus-table td.negative-change{background:#fdecea}.rv .yoy-consensus-table td.positive-change{color:#0a3d1f;background:#b6e8c6;font-weight:500}.rv .yoy-consensus-table td.negative-change{color:#6e1a12;background:#f7b4ac;font-weight:500}.rv .yoy-consensus-table tbody tr:hover td.positive-change{background:#9dddb2}.rv .yoy-consensus-table tbody tr:hover td.negative-change{background:#f29a90}.rv .review-chart{height:300px}.rv .table-wrapper{overflow-x:auto}.rv .forecast-matrix th:first-child,.rv .forecast-matrix td:first-child{box-sizing:border-box;text-overflow:ellipsis;width:190px;min-width:190px;max-width:190px;overflow:hidden}.rv .forecast-matrix th:nth-child(2),.rv .forecast-matrix td:nth-child(2){box-sizing:border-box;text-align:left;width:84px;min-width:84px;max-width:84px;left:190px}.rv .forecast-matrix th,.rv .quarterly-table th{color:#fff;letter-spacing:.06em;text-transform:uppercase;background:#1b4f8f;border-bottom:0;font-size:11px;font-weight:600}.rv .forecast-matrix th:first-child,.rv .forecast-matrix th:nth-child(2){background:#1b4f8f}.rv .forecast-matrix th.number-header,.rv .quarterly-table th{text-align:right}.rv .quarterly-table th:first-child{text-align:left}.rv .base-demand-input,.rv .driver-input{box-sizing:border-box;text-align:right;width:92px}.rv .review-placeholder p{color:#52627a;font-size:13px;line-height:1.5}.rv .panel-heading-actions button{min-height:0;padding:7px 14px;font-size:13px}.rv .allocation-matrix-actions{font-size:13px}.rv{max-width:1760px}.rv-unitbar{color:#52627a;justify-content:flex-end;align-items:center;gap:6px;margin:0 0 12px;font-size:12px;display:flex}.rv-unitbar span{margin-right:6px}.rv-unitbar button{color:#0b2545;cursor:pointer;background:#fff;border:1px solid #9db6d6;border-radius:999px;padding:5px 14px;font:500 12px Inter,system-ui,sans-serif}.rv-unitbar button.on{color:#fff;background:#1b4f8f;border-color:#1b4f8f}.rv .forecast-matrix{table-layout:auto;width:100%;min-width:0;font-size:12px}.rv .forecast-matrix th:nth-child(n+3),.rv .forecast-matrix td:nth-child(n+3){text-align:right;min-width:0}.rv .forecast-matrix th:nth-child(2),.rv .forecast-matrix td:nth-child(2){width:64px;min-width:64px;max-width:64px;left:170px}.rv .yoy-consensus-table{width:100%;min-width:0}.rv .yoy-consensus-table th:nth-child(2),.rv .yoy-consensus-table td:nth-child(2){width:120px;min-width:120px;max-width:120px;left:170px}.rv-unitnote{text-align:right;color:#52627a;margin:0 0 10px;font-size:12px}.rv .forecast-matrix{--mx:12px;font-size:var(--mx)}.rv-full .forecast-matrix{--mx:min(12px, calc((100vw - 56px) / 150))}.rv .forecast-matrix th{font-size:calc(var(--mx) * .92)}.rv .forecast-matrix th,.rv .forecast-matrix td{padding:9px calc(var(--mx) * .55)}.rv .forecast-matrix th:first-child,.rv .forecast-matrix td:first-child{width:calc(var(--mx) * 14);min-width:calc(var(--mx) * 14);max-width:calc(var(--mx) * 14)}.rv .forecast-matrix th:nth-child(2),.rv .forecast-matrix td:nth-child(2){left:calc(var(--mx) * 14);width:calc(var(--mx) * 5);min-width:calc(var(--mx) * 5);max-width:calc(var(--mx) * 5)}.rv .yoy-consensus-table th:first-child,.rv .yoy-consensus-table td:first-child{width:calc(var(--mx) * 14);min-width:calc(var(--mx) * 14);max-width:calc(var(--mx) * 14)}.rv .yoy-consensus-table th:nth-child(2),.rv .yoy-consensus-table td:nth-child(2){left:calc(var(--mx) * 14);width:calc(var(--mx) * 9.5);min-width:calc(var(--mx) * 9.5);max-width:calc(var(--mx) * 9.5)}.rv .forecast-matrix td:nth-child(15),.rv .forecast-matrix th:nth-child(15),.rv .forecast-matrix .matrix-total{font-weight:700}.rv .panel-heading-actions{flex-wrap:wrap;gap:10px;display:flex}.rv .panel-heading-actions .secondary-button{border-width:1.5px;font-weight:600;box-shadow:0 2px 6px #0b25452e}.rv .panel-heading-actions .secondary-button:first-child{color:#b42318;background:#fff;border-color:#b42318}.rv .panel-heading-actions .secondary-button:nth-child(2){color:#fff;background:#0b2545;border-color:#0b2545}.rv .panel-heading-actions .secondary-button:nth-child(3){color:#fff;background:#2f8cff;border-color:#2f8cff}.rv .panel-heading-actions .secondary-button:hover{filter:brightness(1.08)}.rv .allocation-matrix-actions .primary-button{color:#fff;background:#2f8cff;font-weight:600;box-shadow:0 2px 6px #0b25452e}.filters{padding:16px 18px}.filters .filter-actions{border-top:1px solid #e6edf6;flex:100%;align-items:center;gap:10px;margin-top:6px;padding-top:14px;display:flex}.filters .filter-actions>span{color:#52627a;margin-right:auto;font-size:12px}.filters .filter-actions .secondary-button{box-shadow:none;color:#1b66c9;background:0 0;border:0;order:2;min-height:0;padding:8px 10px;font-size:14px;font-weight:600}.filters .filter-actions .primary-button{order:3;min-height:0;padding:9px 20px;font-size:14px}.rv .forecast-matrix th:nth-child(n+16),.rv .forecast-matrix td:nth-child(n+16){font-weight:700}section.filters{flex-wrap:wrap;align-items:center;gap:10px;display:flex!important}section.filters .filter-actions{flex-direction:row;flex:none;align-items:center;gap:14px;border:0!important;width:auto!important;margin:0 0 0 auto!important;padding:0!important;display:flex!important}section.filters .filter-actions .secondary-button{order:1}section.filters .filter-actions .primary-button{order:2}.fp-pill{min-height:36px;border-radius:8px!important}.exp-field{color:#52627a;background:#fff;border:1px solid #c5d6ec;border-radius:8px;align-items:center;gap:8px;min-height:36px;padding:0 12px;font-size:13px;display:inline-flex}.exp-field span{font-weight:400}.exp-field select,.exp-field input{color:#0b2545;outline:none;width:auto;min-width:0;height:auto;font-size:13px;font-weight:700;box-shadow:none!important;background:0 0!important;border:0!important;margin:0!important;padding:0!important}section.filters.export-options{margin-bottom:10px}.panel-heading .ws-count{color:#51627a;white-space:nowrap;background:#f4f8fd;border:1px solid #c5d6ec;border-radius:999px;align-self:center;align-items:center;gap:4px;padding:6px 12px;font-size:12.5px;font-weight:500;display:inline-flex}.panel-heading .ws-count strong{color:#0b2545;font-weight:700}.save-bar{border-top:1px solid #e3eaf4;border-bottom:1px solid #e3eaf4;justify-content:space-between;align-items:center;gap:16px;background:#fff!important;padding:10px 20px!important;display:flex!important}.save-bar .primary-button{white-space:nowrap;min-height:36px;font-size:13.5px;font-weight:600;border-radius:8px!important;margin:0!important;padding:0 18px!important}.save-bar .primary-button:disabled{cursor:not-allowed;color:#8a99ae!important;box-shadow:none!important;opacity:1!important;background:#e8eef6!important;border-color:#e8eef6!important}.save-bar .ws-idle,.save-bar .saved-message,.save-bar .unsaved-message{color:#51627a;font-size:13px}.save-bar .unsaved-message{color:#b54708;font-weight:600}.save-bar .saved-message{color:#067647;font-weight:600}.ws-tips{color:#6b7a90;opacity:1;background:#fafbfd;border-bottom:1px solid #e3eaf4;padding:10px 20px;font-size:12.5px;line-height:1.5;margin:0!important}.table-wrapper.ws-scroll{min-height:320px;max-height:calc(100vh - 250px);overflow:auto}.ws-grid{border-collapse:separate;border-spacing:0}.ws-grid thead th{z-index:3;white-space:nowrap;background:#eef3fa;position:sticky;top:0;box-shadow:0 1px #d5dfec}.ws-grid th:first-child,.ws-grid td:first-child{z-index:2;box-sizing:border-box;text-overflow:ellipsis;white-space:nowrap;background:#fff;width:200px;min-width:200px;max-width:200px;position:sticky;left:0;overflow:hidden}.ws-grid th:nth-child(2),.ws-grid td:nth-child(2){z-index:2;box-sizing:border-box;text-overflow:ellipsis;white-space:nowrap;background:#fff;border-right:1px solid #d5dfec;width:150px;min-width:150px;max-width:150px;position:sticky;left:200px;overflow:hidden}.ws-grid thead th:first-child,.ws-grid thead th:nth-child(2){z-index:4;background:#eef3fa}.ws-grid tbody tr:hover td:first-child,.ws-grid tbody tr:hover td:nth-child(2){background:#f4f8fd}.login-link{color:#1b66c9;cursor:pointer;background:0 0;border:0;align-self:center;padding:0;font-size:13px}.login-link:hover{text-decoration:underline}.login-card .login-title{margin:0;font-size:20px}.login-notice{color:#17603d;background:#e8f5ee;border-radius:8px;padding:10px 12px;font-size:13px}.trial-banner{color:#0b2545;background:#eaf2fd;border-bottom:1px solid #c5d6ec;justify-content:center;align-items:center;padding:8px 16px;font-size:13px;font-weight:600;display:flex}.trial-banner.warn{color:#7a4a00;background:#fff4e0;border-bottom-color:#f2d9a8}.trial-banner.ended{color:#8a1f11;background:#fdecea;border-bottom-color:#f2b8b0}.login-row{gap:10px;display:flex}.login-row label{flex:1;min-width:0}.app-shell.trial-locked main button,.app-shell.trial-locked main input,.app-shell.trial-locked main select,.app-shell.trial-locked main textarea,.app-shell.trial-locked main label,.app-shell.trial-locked main [role=button]{opacity:.5;cursor:not-allowed;pointer-events:none!important}.app-shell.trial-expired>:not(.topbar):not(.trial-banner):not(.trial-lock-card):not(.pw-backdrop){display:none!important}.trial-lock-card{text-align:center;background:#fff;border:1px solid #f2b8b0;border-radius:12px;max-width:520px;margin:64px auto;padding:32px}.trial-lock-card h2{color:#8a1f11;margin:0 0 8px;font-size:20px}.trial-lock-card p{color:#51627a;margin:0;font-size:14px}.app-shell.trial-locked main a{opacity:.5;cursor:not-allowed;pointer-events:none!important}.pw-card.team-card{max-width:560px;max-height:86vh;overflow:auto}.team-list{flex-direction:column;gap:8px;display:flex}.team-row{border:1px solid #d5dfec;border-radius:8px;align-items:center;gap:10px;padding:10px 12px;display:flex}.team-row.team-pending{background:#f7f9fc;border-style:dashed}.team-who{flex-direction:column;flex:1;min-width:0;display:flex}.team-who span{color:#51627a;text-overflow:ellipsis;font-size:12px;overflow:hidden}.team-role{color:#51627a;text-transform:capitalize;font-size:13px}.team-row select,.team-invite select{border:1px solid #c5d6ec;border-radius:8px;padding:7px 8px;font-size:13px}.team-invite{align-items:center;gap:8px;display:flex}.team-invite input{border:1px solid #c5d6ec;border-radius:8px;flex:1;min-width:0;padding:8px 10px;font-size:14px}.login-legal{text-align:center;color:#a9bbd3;margin:0;font-size:12px;position:fixed;bottom:16px;left:0;right:0}.login-legal a{color:#a9bbd3}.login-card .login-note a{color:#1b66c9}.trial-banner-btn{color:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:999px;margin-left:12px;padding:4px 12px;font-size:12px;font-weight:700}.pw-card.plan-card{max-width:640px;max-height:90vh;overflow:auto}.plan-toggle{border:1px solid #c5d6ec;border-radius:999px;margin-bottom:14px;display:inline-flex;overflow:hidden}.plan-toggle button{color:#0b2545;cursor:pointer;background:0 0;border:0;padding:7px 16px;font-size:13px;font-weight:600}.plan-toggle button.active{color:#fff;background:#1b66c9}.plan-grid{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:8px;display:grid}.plan-option{border:1px solid #d5dfec;border-radius:10px;flex-direction:column;gap:6px;padding:16px;display:flex}.plan-option h3{color:#0b2545;margin:0;font-size:17px}.plan-price{color:#0b2545;margin:0;font-size:26px;font-weight:700}.plan-price span{color:#51627a;font-size:13px;font-weight:500}.plan-option ul{color:#51627a;flex:1;margin:4px 0 10px;padding-left:18px;font-size:13px}@media (width<=560px){.plan-grid{grid-template-columns:1fr}}.login-shell{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{border:1px solid #80808059;border-radius:12px;flex-direction:column;gap:14px;width:100%;max-width:360px;padding:28px;display:flex}.login-card h1{margin:0;font-size:22px}.login-card label{flex-direction:column;gap:4px;font-size:13px;display:flex}.login-card input{padding:8px 10px;font-size:14px}.login-note{opacity:.7;margin:0;font-size:13px}.filter-clear{color:#2563eb;cursor:pointer;background:0 0;border:0;align-self:flex-start;padding:0;font-size:12px;text-decoration:underline}.pw-backdrop{z-index:50;background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.pw-card{color:canvastext;background:canvas;border:1px solid #80808059;border-radius:12px;flex-direction:column;gap:12px;width:100%;max-width:380px;padding:24px;display:flex}.pw-card h2{margin:0;font-size:18px}.pw-card label{flex-direction:column;gap:4px;font-size:13px;display:flex}.pw-error{color:#b42318;margin:0;font-size:13px}.pw-done{color:#067647;margin:0;font-size:14px}.pw-actions{justify-content:flex-end;gap:10px;display:flex}.user-box{align-items:center;gap:10px;margin-left:auto;font-size:13px;display:flex}
