/* Forecast tables own their scrolling and frozen columns; shared dashboards retain their existing layout. */
#forecast{min-width:0;--forecast-teal:#007f7a}
#forecast .forecast-filters{display:grid;grid-template-columns:1fr 1.6fr 1fr 1fr 1fr auto;gap:14px;align-items:end;margin-bottom:14px}
#forecast label{display:block;font-size:12px;color:#62758d}
#forecast select,#forecast input[type=date]{display:block;margin-top:7px;width:100%}
#forecast .forecast-toolbar,#forecast .forecast-pagination{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}
#forecast .forecast-toolbar h2{margin:0}
#forecast .forecast-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
#forecast .forecast-tools label{display:flex;align-items:center;gap:5px}
#forecast .forecast-notice{font-size:12px;line-height:1.8;margin:12px 0;color:#60758b}
#forecast .forecast-notice.error{color:#ae4437;background:#fff3ef;padding:12px;border-radius:6px}
#forecast .forecast-table-panel{padding:20px;min-width:0}
#forecast .forecast-scroll{overflow:auto;max-height:630px;margin-top:16px;border:1px solid #e5ebf1;border-radius:6px;position:relative}
#forecast table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;font-size:12px;table-layout:fixed}
#forecast th,#forecast td{padding:13px 12px;white-space:nowrap;text-align:right;border-bottom:1px solid #e5ebf1;border-right:1px solid #eef1f5;min-width:94px;height:57px;background:#fff}
#forecast th{font-weight:600;background:#f5f8fb;color:#52677e;height:40px}
#forecast thead th{position:sticky;top:0;z-index:3}
#forecast thead tr:nth-child(2) th{top:40px}
#forecast th.forecast-group{text-align:center}
#forecast .forecast-prediction{background:#f0faf8;color:#007f7a}
#forecast .forecast-frozen{position:sticky;z-index:2;box-sizing:border-box}
#forecast thead .forecast-frozen{z-index:5}
#forecast .forecast-col-date{left:0;width:124px;min-width:124px;max-width:124px;text-align:left}
#forecast .forecast-col-spend{left:124px;width:120px;min-width:120px;max-width:120px}
#forecast .forecast-col-users{left:244px;width:112px;min-width:112px;max-width:112px}
#forecast .forecast-col-cpa{left:356px;width:100px;min-width:100px;max-width:100px;border-right:2px solid #bfdad7}
#forecast tbody tr:hover td{background:#f7fafc}
#forecast tbody tr:hover td.forecast-prediction{background:#e5f5f1}
#forecast .forecast-multiple{display:block;font-size:10px;color:#8898aa;margin-top:3px}
#forecast .forecast-value{border:0;padding:0;background:none;color:#007f7a;font-variant-numeric:tabular-nums;min-width:66px;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:4px}
#forecast .forecast-value:hover{color:#004f4c;background:none}
#forecast .forecast-muted{color:#91a0b1;font-size:11px}
#forecast .forecast-pagination{margin-top:14px;font-size:12px;color:#71839a}
#forecast .forecast-pagination button{padding:6px 13px}
#forecast .forecast-nodes{font-size:11px;color:#71839a;line-height:1.9;margin:12px 0 0}
#forecast .forecast-columns{background:#f6f9fb;padding:16px;border-radius:6px;margin-top:14px}
#forecast .forecast-column-group{display:flex;gap:12px;flex-wrap:wrap;margin:8px 0}
#forecast .forecast-column-group label{display:flex;gap:4px;align-items:center}
#forecast .forecast-explanation{margin-top:20px}
#forecast .forecast-formulas{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:18px 0}
#forecast .forecast-formula{padding-left:14px;border-left:3px solid #b8ded7;font-size:13px;line-height:1.9}
#forecast .forecast-formula strong{display:block;color:#28445b;margin-bottom:6px}
#forecast .forecast-equation{background:#e9f6f3;color:#007f7a;padding:14px;border-radius:6px;font-weight:600;text-align:center}
#forecast .forecast-rules{font-size:12px;color:#687e92;line-height:1.9;padding-left:20px}
#forecast .forecast-detail{border:1px solid #b9dbd5;margin-top:20px;scroll-margin-top:16px}
#forecast .forecast-detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0;font-size:12px;line-height:1.8}
#forecast .forecast-detail-grid strong{display:block;color:#264354;font-size:15px}
#forecast .forecast-steps{max-height:330px;overflow:auto;border:1px solid #e5ebf1;border-radius:6px;margin-top:12px}
#forecast .forecast-steps table{width:100%}
#forecast .forecast-steps th,#forecast .forecast-steps td{height:auto;padding:9px 14px}
#forecast .forecast-backtest{margin-top:20px}
#forecast .forecast-backtest-controls{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:16px 0}
#forecast .forecast-backtest-controls select{min-width:110px}
#forecast .forecast-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:16px 0}
#forecast .forecast-stat{background:#f5f8fb;padding:15px;border-radius:6px;font-size:12px;color:#6a7c91}
#forecast .forecast-stat strong{display:block;margin-top:9px;color:#294357;font-size:23px}
#forecast button:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:1150px){#forecast .forecast-filters{grid-template-columns:repeat(3,1fr)}#forecast .forecast-formulas{grid-template-columns:1fr}#forecast .forecast-detail-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:750px){#forecast .forecast-filters{grid-template-columns:repeat(2,1fr)}#forecast .forecast-stat-grid{grid-template-columns:repeat(2,1fr)}#forecast .forecast-frozen{position:static}#forecast .forecast-table-panel{padding:12px}}
