

/* UI polish batch 4: responsive workflows. */
.analysis-hero h1{margin:8px 0;font:600 clamp(28px,4vw,46px)/1.08 var(--font-display);letter-spacing:-.04em;}
.analysis-recovery h1{position:relative;z-index:1;margin:10px 0 12px;color:var(--text);font:760 clamp(34px,5vw,58px)/1.02 var(--font-display);letter-spacing:-.035em;font-size:32px;}
.site-analysis-page[data-analysis-state="missing_analysis"]{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:16px;align-items:start;max-width:1180px;margin:0 auto;}.site-analysis-page[data-analysis-state="missing_analysis"]>.analysis-recovery,.site-analysis-page[data-analysis-state="missing_analysis"]>#rate-assumptions>.analysis-card{max-width:none;margin:clamp(28px,7vh,78px) 0;}.site-analysis-page[data-analysis-state="missing_analysis"]>#rate-assumptions{min-width:0;}
#electrical-results:has([data-electrical-empty]){overflow:hidden;border-color:var(--line);background:var(--panel);color:var(--text);box-shadow:none;}
.electrical-empty-state{max-width:760px;}.electrical-empty-state .eyebrow{color:var(--accent);}.electrical-empty-state h2{color:var(--text);}.electrical-empty-state>p{color:var(--muted);}.electrical-empty-state li{border-color:var(--line);background:var(--panel-strong);color:var(--muted);}.electrical-empty-state li::before{background:var(--accent);color:var(--accent-ink);}
.electrical-empty-visual{width:100%;height:auto;margin:0 0 28px;transform:none;filter:none;}.electrical-empty-visual svg{display:block;width:100%;height:auto;}.electrical-empty-visual :is(rect,circle){stroke:#dfe8df2b;stroke-width:1.5;}.electrical-empty-visual path:not(.electrical-flow-line){stroke:#dce8df9e;stroke-width:2;stroke-linecap:round;}.electrical-empty-visual text{fill:#7f8b82;font:800 11px var(--font-sans);letter-spacing:.14em;text-anchor:middle;}.electrical-flow-line{stroke:url(#electrical-flow);stroke-width:2;stroke-dasharray:7 9;}.electrical-flow-pulse{fill:#c8ff57;stroke:none!important;filter:drop-shadow(0 0 9px #c8ff57);animation:none;}
@keyframes electrical-flow-pulse{to{transform:translateX(404px);}}
.electrical-empty-visual::after{display:none;}
@media(max-width:560px){}
@media(max-width:900px){
  .site-analysis-page[data-analysis-state="missing_analysis"]{grid-template-columns:1fr;}.site-analysis-page[data-analysis-state="missing_analysis"]>.analysis-recovery{margin-bottom:0;}.site-analysis-page[data-analysis-state="missing_analysis"]>#rate-assumptions>.analysis-card{margin-top:0;}
  .electrical-page{grid-template-columns:minmax(0,1fr);grid-auto-rows:max-content;align-items:start;}
  .electrical-inputs{position:relative!important;top:auto!important;align-self:start;}
  #electrical-results{min-height:0;align-self:start;}
}
 .solver-swarm-status{position:absolute;z-index:13;left:50%;top:18px;transform:translateX(-50%);padding:8px 13px;background:var(--panel);color:var(--text);border:1px solid var(--line);box-shadow:none;font-size:11px;letter-spacing:.02em;pointer-events:none;}.solver-swarm-status strong{color:var(--accent);}.solver-candidate{fill:#2dd4bf10;stroke:#67e8f9;stroke-width:1.2;stroke-dasharray:6 4;pointer-events:none;}.solver-candidate.phase-pruned{stroke:#fb7185;opacity:.25;}.solver-candidate.phase-finalist,.solver-candidate.phase-ranked{stroke:#facc15;stroke-width:2;stroke-dasharray:none;}.solver-candidate.phase-selected{stroke:#d6f047;stroke-width:3;fill:#d6f04718;stroke-dasharray:none;}.shadow-replay-cell{stroke:#8bd3dd55;stroke-width:.35;pointer-events:none;}.shade-presets{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;}.shade-presets button{min-height:30px;padding:5px;}.shade-presets button.active{background:var(--accent);color:var(--accent-ink);}.solar-terrain-active{background:var(--panel);color:var(--text);}
.solar-terrain-surface{animation:solar-terrain-reveal .42s cubic-bezier(.2,.75,.25,1) both;}@keyframes solar-terrain-reveal{from{opacity:0;}to{opacity:1;}}
@media (prefers-reduced-motion:reduce){.solver-candidate,.shadow-replay-cell{transition:none!important;}.solar-terrain-surface{animation:none!important;}}
.shade-time-panel{left:16px;right:auto;}
@media(max-width:760px){
  .electrical-inputs,#electrical-results{animation:none!important;transform:none!important;}
}
@view-transition{navigation:auto;}
::view-transition-old(root){animation:route-fade-out 120ms ease both;}::view-transition-new(root){animation:route-fade-in 220ms var(--ease-out-expo) both;}
@keyframes route-fade-out{to{opacity:.72;transform:translate3d(0,-2px,0);}}@keyframes route-fade-in{from{opacity:.35;transform:translate3d(0,7px,0);}to{opacity:1;transform:none;}}
@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root),.electrical-flow-pulse{animation:none!important;}}

/* UI polish batch 4: mobile audit staging and compact report gaps. */
.audit-steps a[aria-current]{background:var(--panel);color:var(--text);box-shadow:none;}.audit-steps a[aria-current] b{background:var(--accent);color:var(--accent-ink);}
.audit-stage-track{display:contents;}
.report-section-unavailable{overflow:hidden;}.report-section-unavailable>summary{display:grid;grid-template-columns:minmax(0,1fr) 30px;align-items:center;gap:14px;padding:18px 20px;cursor:pointer;list-style:none;}.report-section-unavailable>summary::-webkit-details-marker{display:none;}
.report-section-unavailable>summary>div{min-width:0;grid-column:1;}.report-section-unavailable>summary>.report-status{grid-column:1;grid-row:2;justify-self:start;}.report-section-unavailable>summary h2{margin:4px 0 0;}.report-section-unavailable>summary>i{grid-column:2;grid-row:1/3;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--panel);color:var(--muted);font-size:18px;font-style:normal;transition:transform 220ms var(--ease-out-expo);}
.report-section-unavailable[open]>summary>i{transform:rotate(45deg);}.report-unavailable-reason{margin:0;padding:0 20px 18px;color:var(--text-muted);font-size:12px;line-height:1.5;}
@media(max-width:760px){
  .audit-workbench form{display:block;}.audit-steps{display:grid;margin-bottom:14px;}
  .audit-stage-track{display:flex;align-items:flex-start;gap:10px;width:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scrollbar-width:none;transition:height 260ms var(--ease-out-expo);}.audit-stage-track::-webkit-scrollbar{display:none;}
  .audit-stage-track>#audit-proposal,.audit-stage-track>#audit-claims,.audit-stage-track>#audit-baseline{box-sizing:border-box;flex:0 0 100%;width:100%;scroll-snap-align:start;scroll-snap-stop:always;margin:0!important;}
  .audit-submit-bar{margin-top:14px;}.report-section-unavailable{margin:0!important;border-radius:14px;box-shadow:none;}.report-section-unavailable>summary{min-height:70px;padding:12px 14px;}.report-section-unavailable>summary h2{font-size:16px;}.report-section-unavailable>summary .report-eyebrow{font-size:8px;}.report-section-unavailable>summary .status-badge{margin:0;}
  .report-unavailable-reason{padding:0 14px 14px;}.report-sections{gap:9px;}
}
@media(prefers-reduced-motion:reduce){.audit-stage-track,.report-section-unavailable>summary>i{transition:none!important;}}


/* PR67 platform modernization: native controls and render containment. */
:where(input,select,textarea):user-invalid,[aria-invalid="true"]{border-color:var(--status-danger)!important;box-shadow:none;}
:where(input,select,textarea):user-valid:not(:placeholder-shown){border-color:color-mix(in srgb,var(--status-positive) 50%,var(--border-default));}
.field-source{display:block;margin:-2px 0 12px;color:var(--text-muted);font-size:var(--text-xs);line-height:1.4;}
.electrical-advanced{margin:2px 0 16px;padding:10px 12px;border:1px solid var(--border-default);border-radius:var(--radius-control);background:var(--surface-subtle);}
.electrical-advanced>summary{cursor:pointer;color:var(--accent);font-weight:800;}.electrical-advanced[open]>summary{margin-bottom:10px;}
.smart-opportunities,.project-unlock,.analysis-card,.build-plan-card,.report-card,.scenario-card,.audit-result,.audit-equipment,.field-full-sheet{content-visibility:auto;contain-intrinsic-size:auto 420px;}
@media(max-width:900px){dialog.shell-menu{border:0;color:var(--text);background:transparent;}dialog.shell-menu[open]{display:block;position:fixed;inset:12px 12px auto auto;width:min(360px,calc(100% - 24px));height:auto;max-width:none;max-height:calc(100% - 24px);margin:0;padding:0;overflow:auto;background:transparent;}dialog.shell-menu::backdrop{background:var(--panel);backdrop-filter:none;}}
/* Heatmap evidence controls */
.heatmap-layer{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--muted);white-space:nowrap;}.heatmap-layer[hidden],.heatmap-scale-mode[hidden],.heatmap-time-machine[hidden]{display:none!important;}.heatmap-layer select{height:28px;max-width:112px;padding:3px 22px 3px 7px;border:1px solid var(--line);background:var(--panel);color:var(--ink);font-size:11px;}.heatmap-scale-mode,.heatmap-time-machine{font-size:11px;padding:5px 8px;border-radius:0;}.heatmap-scale-mode[aria-pressed="true"]{background:var(--panel);color:var(--text);}.heatmap-raster{pointer-events:none;image-rendering:auto;}.heatmap-progress{font-size:11px;font-weight:750;color:var(--lime);white-space:nowrap;}
.shade-time-panel{position:absolute;z-index:14;right:16px;top:16px;width:min(390px,calc(100% - 32px));padding:14px;background:var(--panel);color:var(--text);border:1px solid var(--line);box-shadow:none;backdrop-filter:none;}.shade-time-panel[hidden]{display:none;}.shade-time-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;}.shade-time-head strong{display:block;font:600 17px var(--font-display);}.shade-time-head button{min-width:34px;min-height:34px;border-color:var(--line);background:var(--panel-strong);color:var(--text);}.shade-time-panel>p{font-size:11px;line-height:1.45;color:var(--muted);}.shade-time-panel label{display:grid;grid-template-columns:76px 1fr 48px;align-items:center;gap:7px;font-size:11px;font-weight:700;margin:8px 0;}.shade-time-panel input[type=range]{width:100%;}.shade-time-panel output{text-align:right;font-variant-numeric:tabular-nums;color:var(--accent);}.shade-time-readout{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:10px 0;}.shade-time-metric{padding:8px;background:var(--panel-strong);border:1px solid var(--line);}.shade-time-metric strong{display:block;font-size:18px;}.shade-time-metric span{display:block;margin-top:2px;font-size:11px;color:var(--muted);}.shade-time-profile{display:flex;align-items:end;gap:3px;height:74px;padding:8px 3px 2px;border-bottom:1px solid var(--line);}.shade-time-profile i{display:block;flex:1;min-width:3px;background:var(--panel);border-top:1px solid var(--line);}.shade-time-profile i.is-selected{background:var(--accent);color:var(--accent-ink);}.shade-time-disclosure{margin-bottom:0!important;}.shade-inspection-marker{fill:#d6f047;stroke:#10271f;stroke-width:3;pointer-events:none;filter:drop-shadow(0 0 4px #d6f047);}

/* Core workflow stays visible; specialist tools live under one predictable menu. */
.app-nav .shell-more{position:relative;flex:0 0 auto;color:var(--text);}
@media(prefers-reduced-motion:reduce){}
@media(max-width:900px){}

.analysis-recovery-optional{max-width:620px;margin:16px auto 10vh;border:1px solid var(--line);border-radius:14px;background:var(--panel);}.analysis-recovery-optional>summary{cursor:pointer;padding:14px 16px;font-weight:800;color:var(--accent);}.analysis-recovery-optional>#rate-assumptions{padding:0 16px 16px;}

.post-install-entry{display:grid;gap:14px;}
.post-install-entry form{display:grid;gap:14px;}
.post-install-sources{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.post-install-periods{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;}
.post-install-period{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:0;padding:12px;border:1px solid var(--border-default);border-radius:10px;}
.post-install-period legend{padding:0 5px;font-weight:800;}
.post-install-period label,.post-install-sources label,.post-install-entry form>label{display:grid;gap:5px;color:var(--muted);font-size:12px;font-weight:700;}
.post-install-period input,.post-install-period select,.post-install-sources input,.post-install-entry input{width:100%;min-height:40px;padding:7px 9px;border:1px solid var(--border-default);border-radius:var(--radius-control);background:var(--panel);color:var(--ink);font:inherit;}
.post-install-entry>.report-muted{margin:0;}
@media(max-width:600px){.post-install-sources{grid-template-columns:1fr;}.post-install-periods{grid-template-columns:1fr;}}
@media print{.no-print{display:none!important;}}
.analysis-heatmap-cell[data-exposure="missing"]{background:#aeb3af;}

/* Replay details remain reachable at desktop zoom and narrow heights. */
#shade-time-panel{overflow-y:auto;min-height:0;}

#quote-audit-root [id]{scroll-margin-top:12rem;}
.design-page .helio-layer-list button[aria-pressed="true"]:hover{background:var(--accent);color:var(--accent-ink);}
