:root{--color-navy-950:#04132b;--color-navy-900:#071a36;--color-navy-800:#0b2445;--color-navy-700:#12345b;--color-white:#fff;--color-surface:#f7f9fc;--color-surface-blue:#e9f7fc;--color-text:#0b2445;--color-text-muted:#5a6b80;--color-cyan:#22c7df;--color-cyan-dark:#087f9c;--color-copper:#db9b5b;--color-success:#16825d;--color-warning:#a46216;--color-error:#be3b45;--color-border:#d8e1eb;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--radius-sm:.5rem;--radius-md:.875rem;--radius-lg:1.25rem;--shadow-card:0 16px 48px #04132b17;--font-sans:Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--border:var(--color-border);--navy:var(--color-navy-950);--cyan:var(--color-cyan);--muted:var(--color-text-muted);--text:var(--color-text);--panel:var(--color-white);--panel-strong:var(--color-surface);--copper:var(--color-copper);--good:var(--color-success);--warning:var(--color-warning);--pale-blue:var(--color-surface-blue);font-family:var(--font-sans);color:var(--color-text);background:var(--color-surface);font-synthesis:none;text-rendering:optimizelegibility}.submit-review{gap:1rem;min-width:0;display:grid}.submit-hero{align-items:center}.role-switch{border:1px solid var(--border);background:var(--color-navy-950);border-radius:999px;grid-template-columns:1fr 1fr;padding:.3rem;display:inline-grid}.role-switch button{min-width:8rem;color:var(--muted);background:0 0;border:0;border-radius:999px;padding:.65rem 1rem;font-weight:700}.role-switch button[aria-pressed=true]{color:var(--navy);background:var(--cyan);box-shadow:0 6px 24px #22d3ee33}.role-switch-note,.action-notice{border:1px solid var(--border);background:var(--color-surface-blue);color:var(--muted);border-radius:.75rem;margin:0;padding:.85rem 1rem}.action-notice{border-left:4px solid var(--cyan);color:var(--text)}.review-view,.council-record{gap:1rem;min-width:0;display:grid}.review-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.section-title-row{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.section-title-row h3,.section-title-row h4{margin:.25rem 0 0}.status-badge,.sample-badge,.queue-count{border:1px solid var(--border);background:var(--panel-strong);width:fit-content;color:var(--text);white-space:nowrap;border-radius:999px;align-items:center;padding:.35rem .65rem;font-size:.78rem;font-weight:800;display:inline-flex}.sample-badge{color:var(--copper);border-color:#db9b5b73;margin-top:.35rem}.status-ready-to-submit,.status-approved{color:var(--good);border-color:#22c55e73}.status-under-review,.status-resubmitted{color:var(--cyan);border-color:#22d3ee73}.status-rfi-issued{color:var(--warning);border-color:#fbbf2473}.status-refused{color:#fca5a5;border-color:#ef444473}.completion-trio{grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin-top:1rem;display:grid}.metric{border:1px solid var(--border);background:var(--color-surface);border-radius:.7rem;min-width:0;padding:.9rem}.metric>span{color:var(--muted);font-size:.78rem;display:block}.metric>strong{margin:.2rem 0 .55rem;font-size:1.35rem;display:block}.validation-summary{border-color:#ef444473}.validation-summary--valid{border-color:#22c55e73}.validation-list{gap:.6rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.validation-list li{background:var(--color-surface);border-radius:.65rem;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem;display:flex}.validation-list li div{gap:.2rem;display:grid}.validation-list li span{color:var(--muted)}.validation-list button,.inline-action{color:var(--cyan);text-align:left;background:0 0;border:0;padding:.35rem 0;font-weight:750}.detail-list{gap:0;margin:1rem 0;display:grid}.detail-list--two{border:1px solid var(--border);border-radius:.75rem;grid-template-columns:repeat(2,minmax(0,1fr));overflow:hidden}.detail-list>div{border-bottom:1px solid #1d4673a6;grid-template-columns:minmax(8rem,.65fr) minmax(0,1.35fr);gap:.75rem;min-width:0;padding:.7rem 0;display:grid}.detail-list--two>div{border-bottom:1px solid var(--border);padding:.9rem;display:block}.detail-list--two>div:nth-child(odd){border-right:1px solid var(--border)}.detail-list dt{color:var(--muted);font-size:.78rem;font-weight:700}.detail-list dd{overflow-wrap:anywhere;margin:0}.detail-list--two dd{margin-top:.35rem}.detail-list--compact{margin-bottom:0}.document-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin:1rem 0;display:grid}.document-summary-grid>div{border:1px solid var(--border);background:var(--color-surface);border-radius:.6rem;justify-content:space-between;gap:1rem;padding:.7rem;display:flex}.document-summary-grid span{color:var(--muted);text-align:right}.button-row{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.button-row button,.primary-action,.danger-action{border:1px solid var(--border);background:var(--panel-strong);color:var(--text);border-radius:.6rem;padding:.68rem .9rem;font-weight:750}.button-row .primary-action,.primary-action{background:var(--cyan);border-color:var(--cyan);color:var(--navy)}.button-row .danger-action{color:#fca5a5;border-color:#ef444499}.button-row button:disabled{opacity:.45;cursor:not-allowed}.submit-actions{justify-content:space-between;align-items:center;gap:1.5rem;display:flex}.submit-actions>div:first-child{max-width:50rem}.disabled-reason{color:var(--warning);font-size:.88rem}.queue-filters{grid-template-columns:2fr 1fr 1fr;gap:.75rem;margin:1rem 0;display:grid}.queue-filters label,.compact-control{color:var(--muted);gap:.35rem;font-size:.78rem;font-weight:700;display:grid}.queue-filters input,.queue-filters select,.compact-control select{border:1px solid var(--border);background:var(--color-white);width:100%;min-width:0;color:var(--text);border-radius:.55rem;padding:.7rem}.queue-table-wrap{border:1px solid var(--border);border-radius:.75rem;width:100%;overflow-x:auto}.queue-table{border-collapse:collapse;width:100%;min-width:860px}.queue-table th{text-align:left;color:var(--color-white);background:var(--color-navy-950);padding:.7rem;font-size:.75rem}.queue-table td{border-top:1px solid var(--border);vertical-align:top;padding:.8rem .7rem}.queue-table td>span,.queue-table td>strong{display:block}.queue-table td>span:not(.status-badge):not(.sample-badge){color:var(--muted);margin-top:.2rem;font-size:.78rem}.queue-table tbody tr{cursor:pointer;outline:none}.queue-table tbody tr:hover,.queue-table tbody tr:focus-visible{background:#22d3ee14}.queue-table tbody tr.is-selected{box-shadow:inset 4px 0 0 var(--cyan);background:#7dd3fc21}.empty-state,.map-fallback{border:1px dashed var(--border);min-height:7rem;color:var(--muted);text-align:center;border-radius:.75rem;place-items:center;gap:.25rem;padding:1.25rem;display:grid}.empty-state strong,.map-fallback strong{color:var(--text)}.selected-empty{min-height:14rem}.record-heading{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.record-heading>div:last-child{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.council-map-card{border:1px solid var(--border);background:var(--panel);border-radius:.8rem;padding:1rem}.council-map-canvas{border-radius:.75rem;width:100%;height:340px;margin-top:1rem;overflow:hidden}.audit-list{gap:.5rem;padding-left:1.25rem;display:grid}.audit-list li{padding-left:.3rem}.audit-list time{min-width:13rem;color:var(--muted);font-size:.8rem;display:inline-block}.condition-list{gap:.65rem;margin:1rem 0;display:grid}.condition-list label{border:1px solid var(--border);background:var(--color-surface);border-radius:.65rem;align-items:flex-start;gap:.75rem;padding:.8rem;display:flex}.condition-list input{accent-color:var(--cyan);margin-top:.2rem}.condition-list span{color:var(--muted);gap:.25rem;display:grid}.condition-list strong{color:var(--text)}.generated-editor{gap:.8rem;margin-top:1rem;display:grid}.generated-meta{flex-wrap:wrap;gap:.45rem;display:flex}.generated-meta span,.generated-meta time{background:var(--pale-blue);color:var(--navy);border-radius:999px;padding:.3rem .55rem;font-size:.72rem;font-weight:750}.generated-editor textarea{resize:vertical;width:100%;font:inherit;line-height:1.5}.generated-editor details{border:1px solid var(--border);border-radius:.65rem;padding:.7rem}.generated-editor summary{cursor:pointer;font-weight:700}.generated-editor pre{white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%;color:var(--muted);font:inherit;font-size:.84rem;overflow:auto}@media (width<=900px){.review-grid,.completion-trio,.queue-filters{grid-template-columns:1fr}.submit-actions,.record-heading{flex-direction:column;align-items:stretch}.detail-list--two,.document-summary-grid{grid-template-columns:1fr}.detail-list--two>div:nth-child(odd){border-right:0}.role-switch{width:100%}}@media (width<=640px){.section-title-row,.validation-list li{flex-direction:column;align-items:stretch}.validation-list button{width:100%}.detail-list>div{grid-template-columns:1fr;gap:.25rem}.document-summary-grid>div{gap:.2rem;display:grid}.document-summary-grid span{text-align:left}.role-switch button{min-width:0}.council-map-canvas{height:260px}.audit-list time{min-width:0;display:block}}*{box-sizing:border-box}html{background:var(--color-surface);min-width:320px}body{min-width:320px;min-height:100vh;margin:0}button{font:inherit}button:focus-visible,[role=tabpanel]:focus-visible{outline:3px solid var(--color-cyan);outline-offset:3px}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-header{color:var(--color-white);background:radial-gradient(circle at 82% -40%, #22c7df2b, transparent 44%), var(--color-navy-950);border-bottom:1px solid #ffffff1a}.header-inner,.status-inner,.content-wrap,.footer-inner{width:min(1180px,100% - 48px);margin:0 auto}.header-inner{justify-content:space-between;align-items:center;gap:var(--space-5);min-height:108px;display:flex}.brand-lockup{align-items:center;min-width:0;display:flex}.spero-logo{--logo-url:none;aspect-ratio:3157.54/1190.51;width:158px;-webkit-mask-image:var(--logo-url);-webkit-mask-image:var(--logo-url);mask-image:var(--logo-url);background:currentColor;flex:none;display:inline-block;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.spero-logo--white{color:var(--color-white)}.spero-logo--navy{color:var(--color-navy-950);width:112px}.brand-divider{width:1px;height:48px;margin:0 var(--space-5);background:#ffffff3d}.product-kicker,.eyebrow,.meta-label{letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:750;line-height:1.2}.product-kicker{color:var(--color-cyan);margin-bottom:var(--space-2)}h1{letter-spacing:-.025em;margin:0;font-size:clamp(1.25rem,2.7vw,1.75rem);line-height:1.12}.reset-button{align-items:center;gap:var(--space-2);min-height:42px;color:var(--color-white);border-radius:var(--radius-sm);cursor:pointer;background:#ffffff0f;border:1px solid #ffffff4d;padding:.65rem 1rem;display:inline-flex}.reset-button:hover{border-color:var(--color-cyan);background:#ffffff1f}main{flex:1}.status-strip{background:var(--color-navy-900);color:var(--color-white)}.status-inner{align-items:center;gap:var(--space-7);grid-template-columns:1fr minmax(260px,.72fr);min-height:72px;display:grid}.application-meta{align-items:center;gap:var(--space-4);min-width:0;display:flex}.application-meta strong{letter-spacing:.025em;font-size:.92rem}.meta-label{color:#9eb2c9}.status-pill{color:#bfeff6;background:#22c7df14;border:1px solid #22c7df47;border-radius:999px;align-items:center;gap:.4rem;padding:.35rem .65rem;font-size:.76rem;font-weight:700;display:inline-flex}.status-pill span{background:var(--color-cyan);border-radius:50%;width:.4rem;height:.4rem}.readiness{align-items:center;gap:var(--space-4);grid-template-columns:auto minmax(120px,1fr);display:grid}.readiness-copy{align-items:baseline;gap:var(--space-3);white-space:nowrap;display:flex}.readiness-copy strong{color:var(--color-cyan);font-size:1.05rem}.progress-track{background:#ffffff21;border-radius:99px;height:8px;overflow:hidden}.progress-track span{background:var(--color-cyan);border-radius:inherit;height:100%;transition:width .2s;display:block}.content-wrap{padding:var(--space-7) 0 var(--space-8)}.notice{align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-6);padding:var(--space-4) var(--space-5);color:var(--color-navy-800);background:var(--color-surface-blue);border-radius:var(--radius-md);border:1px solid #bce5f0;display:flex}.notice p{margin:0;font-size:.88rem;line-height:1.55}.notice-badge{color:var(--color-navy-950);background:var(--color-copper);letter-spacing:.06em;border-radius:.35rem;flex:none;padding:.28rem .4rem;font-size:.68rem;font-weight:850}.workflow{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:hidden}.tab-list-wrap{padding:0 var(--space-5);background:var(--color-navy-800);scrollbar-width:thin;overflow-x:auto}.tab-list{grid-template-columns:repeat(3,minmax(180px,1fr));min-width:580px;display:grid}.tab{justify-content:center;align-items:center;gap:var(--space-3);min-height:76px;padding:var(--space-4);color:#b8c8d9;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:4px solid #0000;font-size:.9rem;font-weight:700;display:flex;position:relative}.tab+.tab:before{content:"";border-left:1px solid #ffffff1f;height:26px;position:absolute;left:0}.tab:hover{color:var(--color-white);background:#ffffff09}.tab[aria-selected=true]{color:var(--color-white);border-bottom-color:var(--color-cyan);background:#22c7df12}.tab-number{width:26px;height:26px;color:var(--color-navy-800);background:#91a5ba;border-radius:50%;place-items:center;font-size:.75rem;display:grid}.tab[aria-selected=true] .tab-number{background:var(--color-cyan)}.tab-panel{min-height:390px;padding:clamp(2rem,5vw,4.5rem)}.tab-panel[hidden]{display:none}.tab-panel--site{background:var(--color-surface);padding:0}.site-assessment,.application-pack{padding:clamp(1.5rem,3.5vw,3rem)}.assessment-hero{align-items:end;gap:var(--space-7);padding-bottom:var(--space-6);grid-template-columns:minmax(0,1fr) minmax(230px,.34fr);display:grid}.assessment-hero h2{max-width:720px;color:var(--color-navy-950);letter-spacing:-.04em;margin:.35rem 0 .7rem;font-size:clamp(1.55rem,3vw,2.35rem);line-height:1.12}.assessment-hero>div>p:last-child{max-width:680px;color:var(--color-text-muted);margin:0;line-height:1.6}.completion-card{padding:var(--space-4);color:var(--color-white);background:var(--color-navy-800);border-radius:var(--radius-md)}.completion-card>div:first-child{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.completion-card span{color:#b8c8d9;text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;font-weight:750}.completion-card strong{color:var(--color-cyan);font-size:1.25rem}.completion-card small{margin-top:var(--space-2);color:#b8c8d9;display:block}.completion-track{height:6px;margin-top:var(--space-3);background:#ffffff24;border-radius:99px;overflow:hidden}.completion-track span{background:var(--color-cyan);height:100%;display:block}.caution-banner{margin-bottom:var(--space-5);padding:var(--space-4) var(--space-5);color:#70400c;border:1px solid #edca9d;border-left:4px solid var(--color-warning);border-radius:var(--radius-sm);background:#fff6e8;line-height:1.5}.assessment-section{margin-top:var(--space-5);background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:clamp(1.25rem,3vw,2rem)}.section-heading-row{justify-content:space-between;align-items:flex-start;gap:var(--space-5);margin-bottom:var(--space-5);display:flex}.section-heading-row h3{color:var(--color-navy-950);letter-spacing:-.025em;margin:.3rem 0 0;font-size:clamp(1.15rem,2.2vw,1.45rem)}.section-step{color:var(--color-cyan-dark);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.7rem;font-weight:800}.section-intro{margin:calc(var(--space-4) * -1) 0 var(--space-5);color:var(--color-text-muted);line-height:1.55}.form-grid{gap:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.field-group{flex-direction:column;gap:.45rem;min-width:0;display:flex}.field-group-wide{grid-column:1/-1}.field-group label{color:var(--color-navy-800);font-size:.82rem;font-weight:750}.field-group label span{color:var(--color-text-muted);font-weight:500}.field-group input,.field-group select,.field-group textarea,.place-widget{width:100%;min-height:44px;color:var(--color-text);background:var(--color-white);border-radius:var(--radius-sm);font:inherit;border:1px solid #b9c7d6;padding:.72rem .82rem;font-size:.9rem}.field-group textarea{resize:vertical}.field-group input:focus,.field-group select:focus,.field-group textarea:focus{border-color:var(--color-cyan-dark);outline:3px solid #22c7df33}.field-help{color:var(--color-text-muted);font-size:.72rem;line-height:1.4}.field-error{color:var(--color-error);font-size:.76rem;font-weight:700}.address-stack{gap:var(--space-5);grid-template-columns:1fr 1fr;display:grid}.map-status{align-items:center;gap:var(--space-2);margin-bottom:var(--space-5);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);font-size:.8rem;line-height:1.45;display:flex}.map-status>span{border-radius:50%;flex:none;width:.55rem;height:.55rem}.map-status--ready{color:#0d5f44;background:#e9f7f1}.map-status--ready>span{background:var(--color-success)}.map-status--loading{color:#5f5312;background:#fff9db}.map-status--loading>span{background:var(--color-warning)}.map-status--unavailable,.map-status--error{color:#70400c;background:#fff4e6}.map-status--unavailable>span,.map-status--error>span{background:var(--color-warning)}.location-summary{align-items:center;gap:var(--space-5);margin-top:var(--space-5);padding:var(--space-4);background:var(--color-surface-blue);border-radius:var(--radius-sm);grid-template-columns:1fr 1fr auto;display:grid}.location-summary>div{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.location-summary>div span,.zone-card>div span,.assessment-result>span,.geometry-metrics span{color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.68rem;font-weight:750}.location-summary strong{overflow-wrap:anywhere;font-size:.86rem}.provenance{letter-spacing:.025em;white-space:nowrap;border-radius:99px;align-items:center;width:fit-content;min-height:24px;padding:.25rem .55rem;font-size:.67rem;font-weight:800;display:inline-flex}.provenance--sample-data{color:#6f3f0e;background:#fff0dc;border:1px solid #e8bd8e}.provenance--user-entered{color:#09627a;background:#e3f8fc;border:1px solid #a9dfeb}.provenance--demo-derived-assessment{color:#4b437d;background:#eeebff;border:1px solid #cbc3f0}.map-section{background:var(--color-navy-900);border-color:var(--color-navy-700);color:var(--color-white)}.map-section .section-heading-row h3{color:var(--color-white)}.map-section .section-intro{color:#b8c8d9}.mode-badge{color:#c3cfdd;background:#ffffff12;border:1px solid #ffffff26;border-radius:99px;padding:.4rem .7rem;font-size:.72rem;font-weight:750}.mode-badge.is-drawing{color:var(--color-navy-950);background:var(--color-cyan);border-color:var(--color-cyan)}.map-toolbar{gap:var(--space-3);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.button{border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;min-height:42px;padding:.64rem .95rem;font-size:.82rem;font-weight:750}.button:disabled{cursor:not-allowed;opacity:.45}.button-primary{color:var(--color-navy-950);background:var(--color-cyan)}.button-primary:hover:not(:disabled){background:#54d7e9}.button-secondary{color:var(--color-white);background:0 0;border-color:#ffffff61}.assessment-section:not(.map-section) .button-secondary{color:var(--color-navy-800);border-color:#aebdcc}.button-quiet{color:inherit;opacity:.82;background:0 0;border-color:currentColor}.assessment-section:not(.map-section) .button-quiet{color:var(--color-navy-700)}.button-danger{color:#ffd6d8;background:0 0;border-color:#ff969e80}.button-accent{color:var(--color-navy-950);background:var(--color-copper)}.button-accent:hover{background:#e7ad75}.map-grid{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.map-card{background:var(--color-navy-950);border-radius:var(--radius-md);border:1px solid #ffffff26;overflow:hidden}.map-label{justify-content:space-between;align-items:baseline;gap:var(--space-3);padding:var(--space-3) var(--space-4);display:flex}.map-label strong{font-size:.82rem}.map-label span{color:#9eb2c9;font-size:.7rem}.map-canvas{background:#102b4d;min-height:320px}.map-fallback{min-height:320px;padding:var(--space-6);text-align:center;color:#cfdae6;background:radial-gradient(circle,#17385e,#0b213e);flex-direction:column;justify-content:center;align-items:center;display:flex}.map-fallback-icon{width:52px;height:52px;margin-bottom:var(--space-3);color:var(--color-cyan);border:1px solid #22c7df66;border-radius:50%;place-items:center;font-size:1.5rem;display:grid}.map-fallback p{max-width:310px;margin:var(--space-2) 0 0;color:#9eb2c9;font-size:.78rem;line-height:1.5}.geometry-metrics{gap:var(--space-4);margin-top:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.geometry-metrics>div{gap:var(--space-1);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);background:#ffffff0f;flex-direction:column;display:flex}.geometry-metrics span{color:#9eb2c9}.geometry-metrics strong{color:var(--color-white);font-size:.88rem}.zone-card{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-5);padding:var(--space-4);background:var(--color-surface-blue);border-radius:var(--radius-sm);border:1px solid #cce9f1;display:flex}.zone-card>div{gap:var(--space-1);flex-direction:column;display:flex}.constraint-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.result-grid{gap:var(--space-4);margin-top:var(--space-5);grid-template-columns:1fr 1fr;display:grid}.assessment-result{align-items:flex-start;gap:var(--space-2);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-sm);flex-direction:column;display:flex}.assessment-result strong{color:var(--color-navy-950)}.planning-check{border-left:4px solid var(--color-copper)}.generation-output{min-height:150px;padding:var(--space-5);background:var(--color-navy-950);border-radius:var(--radius-md);color:var(--color-white)}.empty-output{color:#c4d0dc;text-align:center;place-items:center;min-height:100px;display:grid}.empty-output p{max-width:500px;margin:var(--space-2) 0 0;color:#8fa4ba;font-size:.82rem}.generating{justify-content:center;align-items:center;gap:var(--space-3);color:#c9d5e1;min-height:100px;display:flex}.generating span{border:2px solid #ffffff40;border-top-color:var(--color-cyan);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.output-meta{align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);color:#9eb2c9;flex-wrap:wrap;font-size:.7rem;display:flex}.output-text{color:#e7eef5;white-space:pre-wrap;font-size:.86rem;line-height:1.65}.output-disclaimer{margin:var(--space-4) 0 0;color:var(--color-text-muted);font-size:.76rem;line-height:1.5}.error-banner{margin-bottom:var(--space-5);padding:var(--space-4) var(--space-5);color:#7e2029;border:1px solid #efbdc1;border-left:4px solid var(--color-error);border-radius:var(--radius-sm);background:#fff0f1;line-height:1.5}.overview-grid{gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.completion-card--compact{flex-direction:column;justify-content:center;min-height:138px;display:flex}.overview-status{justify-content:center;gap:var(--space-2);min-height:138px;padding:var(--space-4);background:var(--color-surface-blue);border-radius:var(--radius-md);border:1px solid #cce9f1;flex-direction:column;display:flex}.overview-status>span{color:var(--color-cyan-dark);letter-spacing:.08em;text-transform:uppercase;font-size:.69rem;font-weight:800}.overview-status strong{color:var(--color-navy-950)}.overview-status p,.section-footnote{color:var(--color-text-muted);margin:0;font-size:.76rem;line-height:1.5}.section-footnote{margin-top:var(--space-4)}.read-only-field{justify-content:space-between;align-items:center;gap:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#f0f4f8;min-height:44px;padding:.72rem .82rem;display:flex}.read-only-field>span:first-child{overflow-wrap:anywhere;min-width:0}.inline-action{width:fit-content;color:var(--color-cyan-dark);cursor:pointer;text-underline-offset:.2em;background:0 0;border:0;padding:0;font-weight:750;text-decoration:underline}.inline-action:hover{color:var(--color-navy-700)}.site-summary{margin-top:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.site-summary-heading{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4);color:var(--color-white);background:var(--color-navy-800);display:flex}.site-summary-heading>div{gap:var(--space-1);flex-direction:column;display:flex}.site-summary-heading span{color:#a9bdcf;letter-spacing:.08em;text-transform:uppercase;font-size:.68rem;font-weight:800}.site-summary-heading .button-quiet{color:var(--color-white)}.site-summary dl{grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.site-summary dl>div{min-width:0;padding:var(--space-4);border-bottom:1px solid var(--color-border)}.site-summary dl>div:nth-child(odd){border-right:1px solid var(--color-border)}.site-summary dt{margin-bottom:var(--space-2);color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.68rem;font-weight:800}.site-summary dd{align-items:flex-start;gap:var(--space-2);overflow-wrap:anywhere;flex-wrap:wrap;margin:0;font-size:.84rem;line-height:1.45;display:flex}.assessment-cards{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.result-card{align-items:flex-start;gap:var(--space-2);padding:var(--space-5);border:1px solid var(--color-border);border-top:4px solid var(--color-cyan-dark);border-radius:var(--radius-md);flex-direction:column;display:flex}.result-card--elevated{border-top-color:var(--color-error)}.result-card--caution{border-top-color:var(--color-warning)}.result-card--low{border-top-color:var(--color-success)}.result-card>span:first-child{color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.68rem;font-weight:800}.result-card strong{color:var(--color-navy-950);font-size:1.03rem}.result-card p{color:var(--color-text-muted);margin:0;font-size:.82rem;line-height:1.55}.result-card small{padding-top:var(--space-2);color:var(--color-text-muted);margin-top:auto;line-height:1.4}.requirements-panel{margin-top:var(--space-5);padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.requirements-panel:focus{outline-offset:2px;outline:3px solid #22c7df47}.requirements-heading{justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.requirements-heading p{margin:var(--space-1) 0 0;color:var(--color-text-muted);font-size:.8rem}.requirements-panel ul{columns:2;column-gap:var(--space-6);margin:var(--space-4) 0 0;padding-left:1.15rem}.requirements-panel li{margin-bottom:var(--space-2);break-inside:avoid;color:var(--color-text-muted);font-size:.8rem}.requirements-panel a{color:var(--color-cyan-dark);font-weight:700}.caution-inline{margin-top:var(--space-4);padding:var(--space-3);color:#70400c;border-radius:var(--radius-sm);background:#fff6e8;font-size:.8rem}.checklist-list{gap:var(--space-3);display:grid}.checklist-item{align-items:center;gap:var(--space-4);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);grid-template-columns:120px minmax(0,1fr) auto;display:grid}.checklist-item strong{color:var(--color-navy-950)}.checklist-item p{margin:var(--space-1) 0 0;color:var(--color-text-muted);font-size:.78rem;line-height:1.4}.check-state{color:var(--color-text-muted);font-size:.72rem;font-weight:750}.requirement-tag{letter-spacing:.055em;text-transform:uppercase;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;width:fit-content;padding:.3rem .55rem;font-size:.63rem;font-weight:850;display:inline-flex}.requirement-tag--required,.requirement-tag--conditionally-required{color:#7e2029;background:#fff0f1;border:1px solid #efbdc1}.requirement-tag--recommended{color:#09627a;background:#e3f8fc;border:1px solid #a9dfeb}.requirement-tag--caution{color:#70400c;background:#fff6e8;border:1px solid #edca9d}.requirement-tag--optional{color:var(--color-text-muted);background:#eef2f6;border:1px solid #d6dee7}.privacy-note{margin-bottom:var(--space-5);padding:var(--space-4);color:#194d5b;background:var(--color-surface-blue);border-radius:var(--radius-sm);border:1px solid #cce9f1;line-height:1.5}.mapped-confirmation,.generated-confirmation{align-items:flex-start;gap:var(--space-3);cursor:pointer;display:flex}.mapped-confirmation{margin-bottom:var(--space-5);padding:var(--space-4);border-radius:var(--radius-sm);background:#eef9f5;border:1px solid #badfce}.mapped-confirmation input,.generated-confirmation input{width:18px;height:18px;accent-color:var(--color-cyan-dark);margin-top:.1rem}.mapped-confirmation span{gap:var(--space-1);flex-direction:column;display:flex}.mapped-confirmation small{color:var(--color-text-muted);line-height:1.45}.document-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.document-category{min-width:0;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.document-category-heading{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.document-category-heading>div{align-items:flex-start;gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.document-category-heading strong{color:var(--color-navy-950);font-size:.84rem}.file-select{color:var(--color-navy-950);background:var(--color-copper);border-radius:var(--radius-sm);cursor:pointer;flex:none;padding:.5rem .7rem;font-size:.72rem;font-weight:800}.file-select:hover{background:#e7ad75}.document-empty{margin:var(--space-4) 0 0;color:var(--color-text-muted);font-size:.76rem}.document-list{margin:var(--space-4) 0 0;padding:0;list-style:none}.document-list li{justify-content:space-between;align-items:center;gap:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border);display:flex}.document-list li>div:first-child{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.document-list li strong{overflow-wrap:anywhere;font-size:.77rem}.document-list li span{color:var(--color-text-muted);font-size:.68rem}.document-list li>div:last-child{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;flex:none;display:flex}.document-list button{color:var(--color-cyan-dark);cursor:pointer;background:0 0;border:0;padding:0;font-size:.7rem;font-weight:750;text-decoration:underline}.visually-hidden{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.justification-editor{gap:var(--space-3);display:grid}.justification-editor>label{color:#dbe7f2;font-size:.78rem;font-weight:750}.justification-editor textarea{width:100%;padding:var(--space-4);resize:vertical;color:#e7eef5;border-radius:var(--radius-sm);font:inherit;background:#0b2445;border:1px solid #526a83;font-size:.82rem;line-height:1.6}.justification-editor textarea:focus{border-color:var(--color-cyan);outline:3px solid #22c7df47}.generated-confirmation{padding:var(--space-3);color:#dbe7f2;border-radius:var(--radius-sm);background:#ffffff0f;font-size:.78rem;line-height:1.45}.justification-editor details{color:#c7d5e2;font-size:.76rem}.justification-editor summary{cursor:pointer;font-weight:750}.justification-editor pre{max-height:360px;padding:var(--space-4);white-space:pre-wrap;color:#cbd9e5;border-radius:var(--radius-sm);font:inherit;background:#0003;line-height:1.55;overflow:auto}.placeholder-card{justify-content:center;align-items:center;gap:var(--space-6);min-height:250px;padding:var(--space-7);border-radius:var(--radius-md);background:linear-gradient(135deg,#fbfdff,#f4f8fc);border:1px dashed #b9c8d7;grid-template-columns:auto minmax(0,620px);display:grid}.placeholder-icon{background:var(--color-surface-blue);border:1px solid #bce5f0;border-radius:50%;place-items:center;width:64px;height:64px;display:grid}.placeholder-icon span{border:3px solid var(--color-cyan-dark);border-radius:.35rem;width:24px;height:24px;transform:rotate(45deg)}.eyebrow{color:var(--color-cyan-dark);margin-bottom:var(--space-3)}.placeholder-card h2{margin:0 0 var(--space-3);color:var(--color-navy-950);letter-spacing:-.035em;font-size:clamp(1.55rem,3vw,2.15rem)}.placeholder-card p:not(.eyebrow){max-width:610px;color:var(--color-text-muted);margin:0;line-height:1.65}.stage-boundary{align-items:center;gap:var(--space-2);margin-top:var(--space-5);color:var(--color-text-muted);font-size:.78rem;font-weight:650;display:inline-flex}.stage-boundary span{color:var(--color-success);font-size:.6rem}.app-footer{background:var(--color-white);border-top:1px solid var(--color-border)}.footer-inner{align-items:center;gap:var(--space-4);min-height:88px;color:var(--color-text-muted);font-size:.76rem;display:flex}.footer-inner p{color:var(--color-copper);margin:0;font-weight:750}.footer-inner>span:last-child{margin-left:auto}@media (width<=700px){.header-inner,.status-inner,.content-wrap,.footer-inner{width:min(100% - 28px,1180px)}.header-inner{min-height:92px}.spero-logo{width:112px}.brand-divider{height:38px;margin:0 var(--space-3)}.product-kicker{display:none}h1{max-width:130px;font-size:1rem}.reset-button{justify-content:center;width:42px;padding:0;font-size:0}.reset-button span{font-size:1.15rem}.status-inner{gap:var(--space-3);min-height:100px;padding:var(--space-4) 0;grid-template-columns:1fr}.application-meta{justify-content:space-between;gap:var(--space-2)}.readiness{grid-template-columns:auto 1fr}.content-wrap{padding:var(--space-5) 0 var(--space-7)}.notice{padding:var(--space-4)}.tab-list-wrap{padding:0}.tab-list{grid-template-columns:repeat(3,150px);min-width:450px}.tab{min-height:66px;padding:var(--space-3) var(--space-2);gap:.4rem;font-size:.79rem}.tab-number{width:22px;height:22px}.tab-panel{min-height:360px;padding:var(--space-4)}.tab-panel--site{padding:0}.site-assessment,.application-pack{padding:var(--space-4)}.assessment-hero{gap:var(--space-4);grid-template-columns:1fr}.form-grid,.address-stack,.constraint-grid,.result-grid,.geometry-metrics,.location-summary{grid-template-columns:1fr}.section-heading-row{flex-direction:column;align-items:stretch}.section-heading-row .button{width:100%}.map-grid{grid-template-columns:1fr}.map-canvas,.map-fallback{min-height:260px}.map-label{align-items:flex-start;gap:var(--space-1);flex-direction:column}.map-toolbar .button{flex:1 1 calc(50% - var(--space-3))}.zone-card{flex-direction:column;align-items:flex-start}.overview-grid,.assessment-cards,.document-grid,.site-summary dl{grid-template-columns:1fr}.site-summary dl>div:nth-child(odd){border-right:0}.site-summary-heading,.requirements-heading,.document-category-heading{flex-direction:column;align-items:stretch}.checklist-item{gap:var(--space-2);grid-template-columns:1fr}.check-state{justify-self:start}.requirements-panel ul{columns:1}.file-select{width:fit-content}.document-list li{flex-direction:column;align-items:flex-start}.document-list li>div:last-child{justify-content:flex-start}.placeholder-card{min-height:320px;padding:var(--space-5);grid-template-columns:1fr;align-content:center;justify-items:start}.placeholder-icon{width:52px;height:52px}.footer-inner{align-content:center;row-gap:var(--space-2);flex-wrap:wrap;min-height:110px}.footer-inner>span:last-child{width:100%;margin-left:0}}@media (width>=701px) and (width<=960px){.map-grid{grid-template-columns:1fr}.constraint-grid{grid-template-columns:1fr 1fr}}@media (width>=701px) and (width<=820px){.status-inner{gap:var(--space-3);padding:var(--space-4) 0;grid-template-columns:1fr}.application-meta{justify-content:space-between}.readiness{grid-template-columns:auto minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}
