.forecast-intro{display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(110deg,var(--c-edf2e9),var(--c-fbf7ed));margin-bottom:18px}.forecast-intro h2{font-size:25px;margin:7px 0}.forecast-intro p{font-size:13px;color:var(--muted)}.forecast-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.forecast-controls{display:grid;grid-template-columns:160px 200px 1fr;gap:16px;align-items:center;margin:0 0 20px}.forecast-controls label{font-size:12px}.forecast-controls select,.forecast-controls input,#flat-filter,#forecast-loan{display:block;width:100%;padding:10px;border:1px solid var(--line);border-radius:8px;background:white;margin-top:4px;color:var(--ink)}.forecast-controls .caption{max-width:380px}.forecast-legend{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:10px;color:var(--muted)}.forecast-legend i{width:8px;height:8px;display:inline-block;margin-right:5px;border-radius:2px}.f-income{background:var(--c-356b58)}.f-variable-income{background:var(--c-a6bcb0)}.f-expense{background:var(--c-ad7752)}.f-variable-expense{background:var(--c-dec5ad)}.forecast-chart-scroll{overflow-x:auto;max-width:100%;overscroll-behavior-x:contain}.forecast-chart{display:flex;gap:16px;min-width:530px;width:max-content;min-height:225px;margin-top:18px}.forecast-column{min-width:32px;display:flex;flex-direction:column;align-items:center;gap:5px}.forecast-column small{font-size:10px;white-space:nowrap}.forecast-bars{display:flex;align-items:flex-end;gap:4px;height:180px}.forecast-bars>div{display:flex;flex-direction:column-reverse;justify-content:flex-start;width:12px}.forecast-bars i{display:block;flex:none;min-height:0;max-height:180px}.forecast-line{width:100%;height:auto;max-height:230px;stroke:none;margin-top:15px}.forecast-table{border-collapse:collapse;width:100%;font-size:12px;white-space:nowrap}.forecast-table td,.forecast-table th{text-align:right;padding:13px 12px;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}.forecast-table th:first-child,.forecast-table td:first-child{text-align:left}.forecast-table th small{display:block;font-weight:400;font-size:10px}.forecast-table thead{background:var(--c-f7f7f2);color:var(--muted)}.forecast-table tbody th{font-weight:550}.forecast-table button{min-height:36px}.table-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}.forecast-table .money{white-space:nowrap}.finance-metrics .metric{font-size:clamp(21px,2vw,31px)}#screen>section.card,#screen>details.card{margin-bottom:18px}#screen>details.card{padding:18px}#screen>details.card summary{cursor:pointer;font-weight:600}.card-purchase details{margin-top:10px}.card-purchase details p{margin:10px 0}.card-purchase details summary{cursor:pointer;font-size:12px}#screen .card .row{min-width:0}#screen .card .row>span{overflow-wrap:anywhere}#screen .card .row>strong{flex-shrink:0}.finance-metrics .caption{overflow-wrap:anywhere}.forecast-form-error{margin-top:10px}
@media(max-width:900px){.forecast-intro{align-items:flex-start;flex-direction:column;gap:12px}.forecast-intro h2{font-size:22px}.forecast-controls{grid-template-columns:1fr 1fr;gap:12px}.forecast-controls .caption{grid-column:1/-1}.forecast-toolbar{display:block}.forecast-toolbar>.button{margin-bottom:15px}.forecast-table{font-size:11px}.forecast-table td,.forecast-table th{padding:12px 10px}.forecast-line{min-height:170px}.finance-metrics .metric{font-size:clamp(20px,5vw,27px)}.forecast-legend{font-size:10px}.finance-item>div:first-child{min-width:0;overflow-wrap:anywhere}.finance-item>div:last-child{flex-shrink:0;max-width:48%;text-align:right}.finance-item>div:last-child .money{white-space:nowrap}}
@media(prefers-reduced-motion:reduce){.forecast-line,.forecast-chart{animation:none;transition:none}}
