.forecast-explorer{border:1px solid var(--rule);background:#fafbff;color:var(--ink);padding:30px;min-width:0}
.forecast-header{display:flex;justify-content:space-between;align-items:start;gap:24px;margin-bottom:28px}.forecast-header .viz-kicker{font:11px/1.5 var(--mono);color:#525d70;letter-spacing:.04em;text-transform:uppercase;margin-bottom:10px}.forecast-header h2{font-size:38px;letter-spacing:-.045em;line-height:1.1}
.forecast-reset{border:1px solid #c8cede;background:white;color:#444e65;padding:9px 14px;font-size:13px;white-space:nowrap}
.forecast-inputs{display:grid;grid-template-columns:1fr 1fr 1.2fr 1.2fr;gap:24px;border-bottom:1px solid var(--rule);padding-bottom:26px;margin:0}
.forecast-explorer label{font-size:13px;line-height:1.5;color:#525d70;display:block;min-width:0}.forecast-explorer input[type=number],.forecast-explorer select{font:16px/1.4 var(--mono);color:var(--ink);width:100%;min-width:0;border:1px solid #c5cde0;background:#fff;padding:10px 12px;margin-top:7px;border-radius:0;height:44px}.forecast-explorer select{font:14px/1.4 var(--sans);padding-right:24px}
.currency-input{display:flex;align-items:center;position:relative;min-width:0}.currency-input>span{position:absolute;left:13px;top:18px;font:16px/1 var(--mono);color:#636e87}.forecast-explorer .currency-input input{padding-left:29px}.forecast-explorer input[type=range]{display:block;width:100%;accent-color:var(--blue);min-height:25px;margin:3px 0 0}.forecast-inputs output{display:block;font:14px/1.4 var(--mono);color:var(--ink);margin-top:8px}
.forecast-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:25px;margin:25px 0 30px}.forecast-kpis dt{font:11px/1.5 var(--mono);color:#525d70}.forecast-kpis dd{font-size:38px;font-weight:700;letter-spacing:-.05em;line-height:1.15;margin:8px 0 0;font-variant-numeric:tabular-nums}
.forecast-main{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:30px;border-block:1px solid var(--rule);padding:27px 0}.forecast-timeline,.forecast-estimates{min-width:0}.forecast-estimates{border-left:1px solid var(--rule);padding-left:27px}.forecast-section-heading{display:flex;justify-content:space-between;gap:20px;align-items:baseline;margin-bottom:22px}.forecast-section-heading h3{font-size:22px;line-height:1.2;letter-spacing:-.03em;margin:0}.forecast-section-heading>span{font:10px/1.5 var(--mono);color:#525d70;text-align:right}.forecast-section-heading b{font-weight:500;color:var(--ink)}
.forecast-legend{display:flex;flex-wrap:wrap;gap:9px 18px;font:10px/1.5 var(--mono);color:#525d70;margin-bottom:13px}.forecast-legend>span{display:flex;align-items:center;gap:7px}.f-line{display:inline-block;width:20px;border-top:2px solid #8c96ad}.f-projection{border-top:2px dashed var(--blue)}.f-dot{height:8px;width:8px;display:inline-block;border-radius:50%;background:var(--blue)}
.f-target{border-top:1px dashed #292d37}
.forecast-chart{display:block;width:100%;height:auto;overflow:visible}.forecast-chart text{font:13px var(--mono);fill:#58637a}.review-grid{stroke:#dde2ee;stroke-width:1;fill:none}.review-future{fill:#eef1fb}.review-plan{stroke:#939db5;stroke-width:2;fill:none;stroke-linejoin:round}.review-projection{stroke:var(--blue);stroke-width:3;stroke-dasharray:7 5;fill:none;stroke-linejoin:round}.review-target{stroke:#292d37;stroke-width:1.3;stroke-dasharray:3 5;fill:none}.review-cutoff{stroke:#a7b0c7;stroke-width:1;stroke-dasharray:2 5}.review-booked{fill:var(--blue);stroke:white;stroke-width:3}.forecast-chart .review-point{fill:var(--ink);font-size:13px}.forecast-chart-note{font-size:13px;line-height:1.6;color:#525d70;margin:16px 0 0}
.forecast-comparisons{margin-bottom:23px}.forecast-comparison+.forecast-comparison{margin-top:19px}.forecast-comparison>div:first-child{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:12px;line-height:1.5}.forecast-comparison strong{font:600 17px/1.5 var(--mono);white-space:nowrap}.comparison-track{height:10px;background:#e7eaf2;margin-top:7px;position:relative}.comparison-bar{display:block;height:10px}.comparison-bar.pace{background:var(--blue)}.comparison-bar.deals{background:#24766d}.comparison-bar.leader{background:#687184}.comparison-target{position:absolute;top:-4px;height:18px;border-left:1px dashed #15161a}.forecast-field+.forecast-field{margin-top:14px}.forecast-field .currency-input input{height:39px;font-size:14px}.forecast-field .currency-input>span{font-size:14px;top:19px}.forecast-toggle{display:flex!important;gap:10px;align-items:start;margin-top:18px;cursor:pointer}.forecast-toggle input{accent-color:var(--blue);margin:4px 0 0;flex:none}.forecast-toggle>span{font-size:12px;line-height:1.6}.forecast-gap{margin:23px 0 0;padding-top:17px;border-top:1px solid var(--rule)}.forecast-gap dt{font-size:12px;color:#525d70;line-height:1.5}.forecast-gap dd{font-size:32px;font-weight:700;letter-spacing:-.04em;line-height:1.2;margin:7px 0 0}
.forecast-recovery{padding-top:27px}.forecast-recovery-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:42px}.recovery-values{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:0 0 24px}.recovery-values dt{font-size:12px;line-height:1.5;color:#525d70}.recovery-values dd{font-size:30px;font-weight:700;line-height:1.2;letter-spacing:-.04em;margin:8px 0 0}.meeting-bars>div{display:grid;grid-template-columns:1fr auto;gap:6px 15px;margin-top:18px}.meeting-bars span{font-size:12px;line-height:1.5;color:#525d70}.meeting-bars strong{font:14px/1.5 var(--mono)}.meeting-bars i{display:block;grid-column:1/-1;height:12px;max-width:100%}.meeting-bars .required{background:#9fa9c0}.meeting-bars .available{background:var(--blue)}.recovery-controls>label{display:flex;justify-content:space-between;align-items:center;gap:20px}.forecast-explorer .recovery-controls>label>input{width:110px;flex:none;margin:0}.recovery-controls .recovery-values{margin-top:25px}.forecast-recovery-note{font-size:14px;line-height:1.6;margin:22px 0 0;color:#525d70}
.forecast-assumptions{border-top:1px solid var(--rule);margin-top:25px;padding-top:18px}.forecast-assumptions summary{font-size:13px;color:var(--blue);cursor:pointer;padding:7px 0}.assumption-controls{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:22px}.forecast-assumptions ul{padding-left:20px;font-size:13px;color:#525d70;line-height:1.7;margin:24px 0}.forecast-assumptions li+li{margin-top:9px}.forecast-table{overflow-x:auto}.forecast-table table{width:100%;border-collapse:collapse;font-size:13px;line-height:1.6;text-align:left}.forecast-table caption{text-align:left;font-weight:600;margin-bottom:14px}.forecast-table td,.forecast-table th{padding:12px;border:1px solid var(--rule);font-weight:400;vertical-align:top}.forecast-table thead th{background:var(--wash);font-weight:600}.forecast-table th[scope=row]{width:29%}
.forecast-input-error{font-size:14px;color:#8d3e19;margin:18px 0}.forecast-input-error[hidden]{display:none}.forecast-explorer [aria-invalid=true]{border-color:#ad582d!important}.forecast-explorer.has-invalid .forecast-kpis,.forecast-explorer.has-invalid .forecast-main,.forecast-explorer.has-invalid .forecast-recovery{opacity:.45}
@media(max-width:1100px){.forecast-inputs{grid-template-columns:1fr 1fr}.forecast-main{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:22px}.forecast-estimates{padding-left:22px}.forecast-section-heading{display:block}.forecast-section-heading>span{display:block;text-align:left;margin-top:7px}.forecast-chart text,.forecast-chart .review-point{font-size:16px}.forecast-kpis dd{font-size:34px}}
@media(max-width:800px){.forecast-main{grid-template-columns:1fr}.forecast-estimates{border-left:0;border-top:1px solid var(--rule);padding:25px 0 0}.forecast-estimates .forecast-field{display:inline-block;width:calc(50% - 12px);vertical-align:top;margin:0}.forecast-estimates .forecast-field+.forecast-field{margin-left:18px}.forecast-comparisons{max-width:100%}.forecast-recovery-grid{grid-template-columns:1fr;gap:25px}.forecast-section-heading{display:flex}.forecast-kpis{gap:20px}.forecast-kpis dd{font-size:30px}.forecast-header h2{font-size:32px}.forecast-explorer{padding:25px}}
@media(max-width:520px){.forecast-explorer{padding:20px}.forecast-header{display:block;margin-bottom:24px}.forecast-header h2{font-size:30px}.forecast-header .viz-kicker{font-size:10px}.forecast-reset{margin-top:16px}.forecast-inputs{gap:20px 16px}.forecast-explorer label{font-size:12px}.forecast-explorer input[type=number]{font-size:14px}.forecast-explorer select{font-size:13px}.currency-input>span{font-size:14px;top:20px}.forecast-kpis{grid-template-columns:1fr 1fr;gap:23px;margin:24px 0}.forecast-kpis dd{font-size:32px}.forecast-kpis dt{font-size:10px}.forecast-section-heading{display:block}.forecast-section-heading h3{font-size:23px}.forecast-section-heading>span{font-size:11px}.forecast-chart text,.forecast-chart .review-point{font-size:23px}.forecast-legend{font-size:10px;gap:9px 13px}.forecast-chart-note{font-size:13px}.forecast-estimates .forecast-field,.forecast-estimates .forecast-field+.forecast-field{display:block;width:100%;margin:16px 0 0}.forecast-comparison>div:first-child{font-size:12px}.forecast-gap dd{font-size:34px}.recovery-values{gap:20px}.recovery-values dd{font-size:29px}.recovery-values dt{font-size:11px}.recovery-controls>label{font-size:13px}.forecast-explorer .recovery-controls>label>input{width:90px}.forecast-recovery-note{font-size:13px}.assumption-controls{gap:16px}.forecast-table td,.forecast-table th{font-size:12px;padding:9px}.forecast-table th[scope=row]{width:35%}}
