.solar-map-open{margin-top:.85rem;width:100%}
.solar-map-panel{background:var(--surface-soft);border:1px solid var(--line);border-radius:1.25rem;margin-top:1rem;padding:clamp(1rem,3vw,1.4rem)}
.solar-map-heading{align-items:start;display:flex;gap:1rem;justify-content:space-between}
.solar-map-heading h4,.solar-map-heading p{margin:0}
.solar-map-heading .eyebrow{color:var(--brand);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.solar-map-heading p,.solar-map-note,.solar-map-status,.solar-setback-controls p{color:var(--muted);line-height:1.65}
.solar-map-heading p{margin-top:.4rem}
.solar-map-canvas{background:#e8eef0;border:1px solid var(--line);border-radius:1rem;height:clamp(340px,50vw,520px);margin-top:1rem;overflow:hidden;width:100%}
.solar-map-canvas.is-editing{box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 22%,transparent)}
.solar-map-status{color:var(--ink);font-weight:700;margin:.8rem 0;min-height:3.2em}
.solar-map-sheet{background:var(--surface);border:1px solid var(--line);border-radius:1rem;display:grid;gap:1rem;padding:1rem}
.solar-map-mode{display:grid;gap:.65rem;grid-template-columns:repeat(3,minmax(0,1fr))}
.solar-map-mode .button[aria-pressed=true],.solar-setback-options .button[aria-pressed=true]{border-color:var(--brand);box-shadow:0 0 0 2px color-mix(in srgb,var(--brand) 18%,transparent);color:var(--brand)}
.solar-map-edit-actions,.solar-setback-options{display:flex;flex-wrap:wrap;gap:.6rem}
.solar-coordinate-entry,.solar-setback-controls{border:1px solid var(--line);border-radius:1rem;margin:1rem 0 0;padding:1rem}
.solar-coordinate-entry legend,.solar-setback-controls legend{font-size:var(--tool-label-size);font-weight:800;line-height:var(--tool-label-leading);padding:0 .4rem}
.solar-coordinate-entry>div,.solar-setback-custom{align-items:end;display:grid;gap:.65rem;grid-template-columns:repeat(2,minmax(0,1fr)) auto}
.solar-coordinate-entry label,.solar-setback-custom label{font-size:var(--tool-label-size);font-weight:800;line-height:var(--tool-label-leading)}
.solar-coordinate-entry input,.solar-setback-custom input{background:var(--surface);border:1px solid var(--line);border-radius:.85rem;color:var(--ink);font:inherit;min-height:var(--tool-control-min-height);padding:0 .8rem;width:100%}
.solar-setback-custom{margin-top:.75rem}
.solar-setback-custom[hidden]{display:none}
.solar-setback-controls p{font-weight:700;margin:.75rem 0 0}
.solar-spatial-summary{display:grid;gap:.65rem;grid-template-columns:repeat(4,minmax(0,1fr));margin:0}
.solar-spatial-summary div{background:var(--surface-soft);border:1px solid var(--line);border-radius:.9rem;padding:.8rem}
.solar-spatial-summary dt{color:var(--muted);font-size:.78rem;font-weight:800}
.solar-spatial-summary dd{font-weight:800;margin:.35rem 0 0;overflow-wrap:anywhere}
.solar-capacity-limit{color:var(--muted);line-height:1.65;margin:0}
.solar-capacity-comparison{border-left:4px solid var(--brand);line-height:1.6;margin:0;padding:.5rem .75rem}
.solar-map-legend{display:flex;flex-wrap:wrap;gap:.75rem 1rem}
.solar-map-legend span{align-items:center;color:var(--muted);display:inline-flex;font-size:.82rem;font-weight:700;gap:.4rem}
.solar-map-legend i{display:inline-block;height:12px;width:28px}
.solar-map-legend .is-site{background:color-mix(in srgb,var(--brand) 24%,transparent);border:2px solid var(--brand)}
.solar-map-legend .is-parcel{background:color-mix(in srgb,#2563eb 18%,transparent);border:2px solid #2563eb}
.solar-map-legend .is-setback{border-top:3px dashed #9a5b13;height:0}
.solar-map-legend .is-point{background:#132238;border:2px solid white;border-radius:50%;box-shadow:0 0 0 1px #132238;height:12px;width:12px}
.solar-map-points,.solar-map-note{margin:.25rem 0 0}
.solar-map-note{font-size:.85rem}
.maplibregl-ctrl-attrib{font-size:10px}
@media(max-width:760px){
  .solar-map-panel{padding:.85rem}
  .solar-map-heading{display:grid}
  .solar-map-heading .button{width:100%}
  .solar-map-canvas{height:46vh;min-height:320px}
  .solar-map-sheet{border-radius:1.1rem 1.1rem .75rem .75rem;margin-top:-.25rem;padding:.85rem}
  .solar-map-mode,.solar-spatial-summary{grid-template-columns:1fr 1fr}
  .solar-map-edit-actions,.solar-setback-options{display:grid;grid-template-columns:1fr 1fr}
  .solar-coordinate-entry>div,.solar-setback-custom{align-items:stretch;grid-template-columns:1fr}
  .solar-map-mode .button,.solar-map-edit-actions .button,.solar-setback-options .button,.solar-setback-custom .button,.solar-coordinate-entry .button{min-height:48px;width:100%}
}
@media(max-width:560px){.solar-map-canvas{height:46vh}.solar-map-sheet{position:relative}}
@media(max-width:420px){.solar-map-mode,.solar-spatial-summary,.solar-map-edit-actions,.solar-setback-options{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.solar-map-panel *{scroll-behavior:auto!important;transition:none!important}}

.solar-public-spatial{background:var(--surface-soft);border:1px solid var(--line);border-radius:1.25rem;display:grid;gap:1rem;margin-top:1rem;padding:clamp(1rem,3vw,1.4rem)}
.solar-public-heading{align-items:start;display:flex;gap:1rem;justify-content:space-between}
.solar-public-heading h4,.solar-public-heading p{margin:0}
.solar-public-heading p{color:var(--muted);line-height:1.65;margin-top:.4rem}
.solar-public-status{border-left:4px solid var(--brand);color:var(--ink);line-height:1.6;margin:0;min-height:2.8em;padding:.55rem .75rem}
.solar-parcel-candidates{display:grid;gap:.65rem}
.solar-parcel-candidate{background:var(--surface);border:1px solid var(--line);border-radius:.9rem;color:var(--ink);cursor:pointer;font:inherit;padding:.85rem;text-align:left;width:100%}
.solar-parcel-candidate:hover,.solar-parcel-candidate:focus-visible,.solar-parcel-candidate[aria-pressed=true]{border-color:var(--brand);box-shadow:0 0 0 2px color-mix(in srgb,var(--brand) 18%,transparent)}
.solar-parcel-candidate strong,.solar-parcel-candidate span{display:block}
.solar-parcel-candidate span{color:var(--muted);font-size:.82rem;margin-top:.3rem;overflow-wrap:anywhere}
.solar-public-summary,.solar-grid-record{background:var(--surface);border:1px solid var(--line);border-radius:1rem;padding:1rem}
.solar-public-summary h5{margin:0 0 .8rem}
.solar-public-summary dl{display:grid;gap:.65rem;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}
.solar-public-summary dl div{background:var(--surface-soft);border-radius:.75rem;padding:.75rem}
.solar-public-summary dt{color:var(--muted);font-weight:800}
.solar-public-summary dd{font-weight:800;margin:.3rem 0 0;overflow-wrap:anywhere}
.solar-public-summary>p{color:var(--muted);line-height:1.65;margin:.8rem 0 0}
.solar-grid-actions{align-items:center;display:flex;gap:1rem}
.solar-grid-actions .solar-public-status{flex:1}
.solar-grid-summary{display:grid;gap:.75rem}
.solar-grid-result-heading{background:var(--surface);border:1px solid var(--line);border-radius:1rem;display:grid;gap:.35rem;padding:1rem}
.solar-grid-result-heading strong{color:var(--brand);font-size:1.05rem}
.solar-grid-result-heading span{color:var(--muted);line-height:1.55}
.solar-grid-record>p{font-weight:800;margin:0 0 .7rem}
.solar-grid-record ul{display:grid;gap:.55rem;list-style:none;margin:0;padding:0}
.solar-grid-record li{border-top:1px solid var(--line);display:grid;gap:.2rem;padding-top:.55rem}
.solar-grid-record li span{color:var(--muted)}
.solar-grid-required-notice{background:color-mix(in srgb,#d97706 12%,var(--surface));border-left:4px solid #d97706;border-radius:.7rem;font-weight:800;line-height:1.6;margin:0;padding:.75rem}
.solar-public-empty{color:var(--muted);margin:0}
.solar-ordinance-results ol,.solar-permit-checklist ol,.solar-rule-report ol{display:grid;gap:.8rem;margin:0;padding-left:1.4rem}
.solar-ordinance-results li,.solar-permit-checklist li,.solar-rule-report li{background:var(--surface);border:1px solid var(--line);border-radius:1rem;padding:1rem}
.solar-ordinance-results p,.solar-permit-checklist p,.solar-rule-report p{line-height:1.6;margin:.45rem 0}
.solar-ordinance-results details{border-top:1px solid var(--line);margin-top:.65rem;padding-top:.65rem}
.solar-ordinance-results summary{cursor:pointer;font-weight:800}
.solar-permit-checklist label{align-items:center;display:flex;gap:1rem;justify-content:space-between}
.solar-permit-checklist select{min-height:48px;min-width:9rem}
.solar-permit-checklist small,.solar-rule-report small{color:var(--muted);overflow-wrap:anywhere}
.solar-ai-consent{background:var(--surface);border:1px solid var(--line);border-radius:.9rem;padding:1rem}
.tool-form .solar-ai-consent{align-items:flex-start;display:flex;gap:.75rem;line-height:1.65;margin:0}
.tool-form .solar-ai-consent input[type="checkbox"]{height:24px;margin:.12rem 0 0;min-height:24px;width:24px}
.tool-form .solar-ai-consent span{min-width:0}
.solar-ai-explanation{border-left:4px solid var(--brand);padding-left:.75rem}
@media(max-width:760px){
  .solar-public-heading,.solar-grid-actions{align-items:stretch;display:grid}
  .solar-public-heading .button,.solar-grid-actions .button{width:100%}
  .solar-public-summary dl{grid-template-columns:1fr}
  .solar-permit-checklist label{align-items:stretch;display:grid}
  .solar-permit-checklist select{width:100%}
}
