/* Compact forms stay stacked when the available width is small. */
#annualControls{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:14px;align-items:start}
#annualControls>fieldset,#annualControls>.beginner-budget{margin:0;padding:14px;min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-content:start}
#annualControls>fieldset>button,#annualControls>fieldset>p,#annualControls>.beginner-budget>button,#annualControls>.beginner-budget>p{grid-column:1/-1}
#annualControls>p,#annualControls>small,#annualControls>.pair{grid-column:1/-1;margin:0}
#annualControls>label{max-width:160px}#annualControls label{min-width:0}#annualControls input,#annualControls select{width:100%;min-width:0;box-sizing:border-box}
#annualControls #annualCloudPercent{max-width:120px}#annualControls .annual-rates label{flex:initial}#annualControls .annual-rates p{width:auto}
#annualRunActions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:16px 0 6px;padding:14px;background:#eaf2e5;border-radius:10px;border:1px solid #adc5b4}
#annualRunActions button{width:auto;min-height:42px}#estimateYear{background:#245e4e;color:white;font-weight:750;padding:12px 24px;border-color:#245e4e}
#annualDialog #annualPinName{max-width:380px}#annualGraph{max-width:390px}
#demandDialog .demand-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,185px),1fr));gap:10px 14px}
#demandDialog .demand-activity>.demand-grid{max-width:450px}#demandDialog .demand-cycle-fields{grid-column:1/-1}
#demandDialog .demand-activity{padding:12px 16px;margin:14px 0}#demandDialog .demand-activity>label:not(.demand-allday){max-width:280px}#demandDialog .demand-item-actions{margin-top:10px}
#demandDialog .demand-section>label{max-width:430px}.demand-readout{background:#edf3e9;padding:12px;border-radius:8px;min-height:90px}.demand-readout ul{display:flex;flex-wrap:wrap;gap:6px 28px;padding-left:20px;margin-bottom:0;font-size:13px}
#demandDialog .activity-excluded{border-style:dashed;background:#f4f2ee}#demandDialog .activity-excluded legend::after{content:' · excluded';font-weight:400}
#scenarioDialog{width:min(1120px,94vw);max-width:1120px;max-height:92dvh;overflow:hidden;color:#253e37}
#scenarioDialog[open]{display:flex;flex-direction:column}#scenarioDialog .modal-body{overflow:auto;min-height:0;padding:20px}#scenarioDialog .modal-header,#scenarioDialog .modal-footer{flex-shrink:0}
#scenarioDialog p{font-size:13px;line-height:1.6}#scenarioDialog label{display:flex;flex-direction:column;gap:5px;min-width:0;font-size:13px}#scenarioDialog input,#scenarioDialog select{font:inherit;box-sizing:border-box;width:100%;min-width:0;padding:9px;border:1px solid #b5c6b8;border-radius:7px;background:#fffef9}
#scenarioDialog button{min-height:38px;font-size:13px}#scenarioDialog .primary-action{background:#245e4e;color:white}#scenarioDialog button:disabled{opacity:.55;cursor:default}
.scenario-save,.scenario-run-fields{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.scenario-save label{width:min(100%,350px)}.scenario-run-fields input{max-width:130px}
#scenarioList{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr));gap:12px;margin:18px 0}
.scenario-card{border:1px solid #bbcdbd;padding:14px;border-radius:10px;background:#f7f8f0}.scenario-card p{margin:8px 0}.scenario-actions{display:flex;gap:6px;flex-wrap:wrap}
#scenarioDialog .scenario-select{display:flex;flex-direction:row;align-items:center;flex-wrap:wrap}#scenarioDialog .scenario-select input{width:auto}.scenario-rename{margin-top:10px}.scenario-rename[hidden]{display:none}
#scenarioStatus{padding:10px;background:#edf3e9}#scenarioStatus:empty{display:none}.scenario-run{border-top:2px solid #b5cbb6;padding-top:10px}.scenario-table-scroll{overflow:auto;margin:16px 0}.scenario-table{width:100%;border-collapse:collapse;font-size:13px}.scenario-table th,.scenario-table td{padding:10px;border:1px solid #c8d5c7;text-align:left;min-width:125px}.scenario-table th{background:#edf3e9}.scenario-table td small{display:block;color:#576d5e;margin-top:5px}.scenario-chart{width:100%;height:auto;background:#fffef9}.scenario-chart text{font:12px system-ui;fill:#365448}.scenario-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:13px}.scenario-legend span{border-left:5px solid;padding-left:8px}.scenario-assumptions{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:14px}.scenario-assumptions article{padding:12px;background:#f4f6ee;border-radius:8px}
#scenarioDialog .modal-footer{display:flex;flex-wrap:wrap;gap:8px;align-items:center}#scenarioDialog .scenario-import{max-width:230px}#scenarioDialog .scenario-import input{font-size:11px;padding:4px}#scenarioClose{margin-left:auto}
@media(max-width:540px){#demandDialog .demand-grid,#annualControls>fieldset,#annualControls>.beginner-budget{grid-template-columns:1fr}#scenarioDialog .modal-body{padding:12px}#scenarioDialog .modal-footer{padding:10px}.scenario-save button{width:100%}#scenarioDialog .modal-header p{display:none}}

#annualControls .annual-rates label{width:auto}#annualControls .annual-rates{border:1px solid #b8ccc2;border-radius:12px}

#demandDialog .demand-add{position:sticky;top:-22px;z-index:1;background:#fffdf3;padding:10px 0;border-bottom:1px solid #ccd9c8}#demandDialog .demand-guidance{margin-top:6px}
@media(max-width:540px){#demandDialog .demand-add{top:-14px}#scenarioDialog .modal-footer button{font-size:11px;padding:6px 9px;min-height:34px}#scenarioDialog .scenario-import{max-width:150px;font-size:11px}}
