main{padding-top:20px}.intro{margin-bottom:16px}.intro h1{font-size:27px}.intro p{font-size:13px}
#practiceBar{padding:12px 16px;margin:12px 0;border-radius:10px}.practice-top{display:flex;align-items:center;justify-content:space-between;gap:16px}.practice-top h2{font-size:18px;margin:0}.practice-top .eyebrow{display:none}#saveStatus{font-size:12px;margin:4px 0}.practice-top .toolbar{margin:0;flex-shrink:0}#practiceBar button{width:auto}#practiceDetails{margin-top:8px}#practiceDetails>summary{cursor:pointer;font-size:13px;font-weight:600}#practiceDetails .practice-fields{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}#practiceDetails label{margin-top:10px}#practiceDetails input{padding:8px}
.source-choice{margin:18px 0}.source-choice h2{font-size:18px;margin:0 0 10px}.source-buttons{display:flex;gap:12px}.source-buttons button{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:13px 18px;border:2px solid #d2ddd2;border-radius:10px;background:white;color:#355746}.source-buttons button[aria-pressed=true]{border-color:#25654b;background:#e8f2e7;box-shadow:inset 4px 0 #25654b}.source-buttons b{font-size:16px}.source-buttons span{font-size:12px}
#mapsSection{padding:16px}.map-workspace{display:grid;grid-template-columns:minmax(0,3fr) minmax(340px,2fr);gap:16px;height:clamp(440px,76vh,850px);margin-top:12px}.map-stage,.map-sidebar{min-height:0;min-width:0}.map-stage .map-wrap,#googleMap{height:100%}.map-sidebar{display:flex;flex-direction:column;border:1px solid #d5dfd2;border-radius:10px;background:#fafcf8;overflow:hidden}.active-face-bar{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid #d5dfd2}.active-face-bar label{margin:0;white-space:nowrap}.active-face-bar select{padding:8px}.map-sidebar-scroll{overflow-y:auto;overscroll-behavior:contain;min-height:0;padding:0 10px 10px;scrollbar-gutter:stable}.map-sidebar .map-workflow>summary{font-size:14px;padding:12px}.map-sidebar .map-workflow-body{padding:4px 10px 12px}.map-sidebar .solar-actions{gap:8px}.map-sidebar button{width:auto;font-size:12px;padding:9px 10px}.map-sidebar .solar-actions .check{font-size:12px}.map-sidebar p{font-size:12px;margin:8px 0;line-height:1.4}.map-sidebar p:empty{display:none}.map-sidebar details{padding:10px;margin-bottom:8px}.map-sidebar .solar-results-grid{display:block}.solar-results-grid[data-active=layers] #solarProposal,.solar-results-grid[data-active=insights] #solarLayersProposal{display:none}.solar-result-tabs{display:flex;gap:6px;margin:10px 0}.solar-result-tabs button{flex:1;border:1px solid #cbdaca;border-radius:7px;background:#fff;color:#325841}.solar-result-tabs button[aria-pressed=true]{background:#25654b;color:white}.map-sidebar .solar-results-grid>div{padding:0;border:0}.map-sidebar .solar-results-grid h4{display:none}.map-sidebar select{font-size:13px;padding:8px}.map-sidebar .toolbar{gap:6px;margin:8px 0}.map-sidebar .solar-actions>details{margin:0}.map-sidebar .solar-actions>details input{width:90px}
@media(max-width:850px){#practiceDetails .practice-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.map-workspace{grid-template-columns:1fr;height:auto;gap:10px}.map-stage{position:sticky;top:0;z-index:2;height:36vh;min-height:200px}.map-sidebar{height:52vh;min-height:300px}.source-buttons{gap:8px}.source-buttons button{padding:10px}.practice-top{align-items:flex-start}.practice-top h2{font-size:16px}}
@media(max-width:500px){#practiceDetails .practice-fields{grid-template-columns:1fr}.practice-top{flex-wrap:wrap}.intro h1{font-size:23px}#mapsSection{padding:10px}}

/* Project controls and totals share one compact row. */
.project-overview{display:grid;grid-template-columns:minmax(320px,1fr) minmax(0,1fr);gap:16px;align-items:stretch;margin-bottom:12px}
.project-overview .project-bar{display:flex;flex-direction:column;gap:14px;padding:16px;margin:0;min-width:0}
.project-overview .project-bar h2{font-size:16px;margin-bottom:6px}
.project-overview .project-faces .hint{margin-bottom:8px}
.project-overview #faces{max-height:180px;overflow-y:auto}
.project-overview .toolbar{margin:8px 0 0;gap:6px}
.project-overview button{font-size:12px;padding:8px 10px}
.project-overview .power-settings{border-top:1px solid #e0e7dc;padding-top:12px}
.project-overview .power-settings label{margin-top:8px}
.project-overview .power-settings select,.project-overview .power-settings input{padding:8px}
.project-overview .metrics{display:grid;grid-template-columns:1fr;gap:10px;margin:0}
.project-overview .metrics>div{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 20px;min-width:0}
.project-overview .metrics strong{margin:0;font-size:30px;white-space:nowrap}
.face-fold{border:1px solid #d6e0d3;border-radius:8px;margin-top:12px;overflow:hidden}
.face-fold>summary{display:flex;align-items:center;gap:9px;background:#eff5eb;color:#2c563e;padding:12px 10px;list-style:none;cursor:pointer;font-size:13px;font-weight:650}
.face-fold>summary::-webkit-details-marker{display:none}
.face-fold>summary::before{content:"";width:7px;height:7px;flex:0 0 7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg)}
.face-fold[open]>summary::before{transform:rotate(45deg)}
.face-fold>summary:focus-visible{outline-offset:-3px}
.face-fold-body{padding:0 10px 12px}.face-fold-body .fields{gap:8px}
@media(max-width:760px){.project-overview{grid-template-columns:1fr}.project-overview .metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.project-overview .metrics>div{display:block;padding:12px}.project-overview .metrics strong{font-size:24px;margin-top:8px}.project-overview .metrics span{font-size:11px}}

.vertex-details{margin-top:16px;background:#fff}.vertex-details>summary{padding:12px 16px}.vertex-details>.face-fold-body{padding:0 16px 12px}.vertex-controls{display:flex;align-items:flex-start;gap:16px;flex-wrap:wrap}.vertex-controls #objects{display:flex;gap:8px;flex-wrap:wrap;flex:1}.vertex-controls #objectEditor{max-width:260px}.vertex-details #vertices{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:0 16px;max-height:260px}.vertex-details .object{margin:8px 0}.vertex-details .hint{margin:8px 0}

#mapToolMessage{margin:0;padding:10px 12px;background:#fff0e6;color:#973e2c;font-size:13px;flex-shrink:0}
