:root{color-scheme:dark;--bg:#071722;--surface:#102733;--line:#28424f;--ink:#e6f0f4;--muted:#9ab4c1;--accent:#57d8b8}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.6 system-ui,-apple-system,Segoe UI,sans-serif}a{color:var(--accent);text-decoration:none}button,.file-button{font:inherit;cursor:pointer;color:var(--ink);background:#183440;border:1px solid #345361;border-radius:8px;padding:10px 16px;min-height:44px}button:hover,a:hover{filter:brightness(1.15)}button:disabled{opacity:.55;cursor:wait}.primary{background:var(--accent);color:#05251f;font-weight:700;border-color:var(--accent)}[hidden]{display:none!important}.top{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:20px 4%;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;color:var(--ink);font-weight:700;letter-spacing:.6px}.brand small{display:block;font-size:10px;font-weight:500;color:var(--muted);margin-top:3px}.mark{display:grid;place-items:center;width:43px;height:43px;border:1px solid #367b72;border-radius:12px;color:var(--accent);background:#133d39}.account{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:13px}.nav{display:flex;gap:8px;padding:12px 4%;border-bottom:1px solid var(--line);flex-wrap:wrap}.nav button{background:transparent;border-color:transparent}.nav .active,.switch .active{border-color:var(--accent);color:var(--accent);background:#163d37}main{max-width:1480px;margin:auto;padding:24px 4%}.intro{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:14px 0 30px}h1{font-size:clamp(26px,3vw,40px);line-height:1.22;letter-spacing:-1px;margin:10px 0 16px}.intro p{max-width:630px;color:var(--muted);font-size:14px}.eyebrow{color:var(--accent)!important;font-size:11px!important;font-weight:700;letter-spacing:2px}.summary{min-width:230px;border-left:1px solid var(--line);padding-left:30px}.summary strong{font-size:44px;display:block;color:var(--accent);line-height:1.1}.summary span,.summary small{display:block}.summary small{font-size:11px;color:var(--muted);margin-top:10px}.map-panel,.card{background:var(--surface);border:1px solid var(--line);border-radius:13px;overflow:hidden}.map-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:15px}.map-tools label{margin:0}.search{flex:1;min-width:220px}.switch{display:flex;gap:5px}input,textarea,select{width:100%;background:#0b202b;color:var(--ink);border:1px solid #34515e;border-radius:8px;padding:12px;font:inherit;min-height:44px}input:focus,textarea:focus,select:focus,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}textarea{min-height:100px;resize:vertical}.map-wrap{height:min(62vh,610px);min-height:350px;position:relative;background:#dfE8e4}canvas{display:block;width:100%;height:100%;touch-action:none}.map-buttons{position:absolute;right:12px;top:12px;display:grid;gap:7px}.map-buttons button{font-size:21px;width:44px;height:44px;padding:0;background:#12303deF}#attribution{position:absolute;right:0;bottom:0;background:#fffffff0;color:#123951;font-size:11px;padding:3px 7px;text-decoration:underline}.empty-map{position:absolute;left:18px;bottom:35px;max-width:460px;margin:0;padding:14px 17px;background:#0c2732ed;border:1px solid #46656f;border-radius:10px;pointer-events:none;font-size:13px}.map-foot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:12px 16px;font-size:11px;color:var(--muted)}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin:0 4px 0 10px}.good{background:#48d1ab}.bad{background:#ee715d}.gray{background:#8f9fa8}.subnote{padding:0 16px;color:var(--muted);font-size:12px}.lower{display:grid;grid-template-columns:1.3fr 1fr;gap:18px;margin:20px 0}.card{padding:20px;margin-bottom:18px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}.section-title h2{font-size:17px;margin:0}.section-title small{font-size:11px;color:var(--muted)}.muted{color:var(--muted);font-size:13px}#selection p{margin:8px 0;font-size:13px}.badge{display:inline-block;padding:4px 9px;background:#245247;color:#a1f3d7;border-radius:5px;font-size:12px}.badge.issue{background:#573b30;color:#ffbe9f}.asset-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}.asset-button{text-align:left;min-width:0}.asset-button strong,.asset-button small{display:block;overflow-wrap:anywhere}.asset-button small{font-size:11px;color:var(--muted);margin-top:4px}.asset-button.selected{border-color:var(--accent)}.pager{display:flex;justify-content:flex-end;gap:12px;align-items:center;margin-top:18px;font-size:12px}.notice{padding:14px;border:1px solid #566b44;border-radius:8px;color:#dfd997;margin-bottom:18px}.error{color:#ffada5;font-size:13px;white-space:pre-wrap}.alert-item{border-left:3px solid #ee846b;padding:8px 12px;margin-bottom:12px;font-size:13px}.alert-item small{display:block;color:var(--muted)}footer{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;padding:24px 4%;border-top:1px solid var(--line);color:var(--muted);font-size:11px}dialog{background:#102733;color:var(--ink);border:1px solid #3b5969;border-radius:14px;width:min(560px,calc(100% - 24px));max-height:92dvh;padding:24px}dialog::backdrop{background:#020b16bc;backdrop-filter:blur(3px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px}.dialog-head h2{font-size:21px;margin:0}.dialog-head button{padding:4px 12px}dialog label{display:block;font-size:13px;font-weight:600;margin:14px 0}dialog label input,dialog label textarea,dialog label select{margin-top:6px}dialog small{font-size:11px;color:var(--muted)}dialog>.primary,form>.primary{width:100%;margin-top:12px}.inset{background:#091f2b;border-radius:8px;padding:12px;font-size:13px}.inset small{display:block}.photo-tools{display:flex;gap:10px;margin-top:16px}.file-button{position:relative;flex:1;text-align:center;margin:0!important}.file-button input{position:absolute;inset:0;width:100%;opacity:0;margin:0;cursor:pointer}.photos{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.photos figure{margin:0;position:relative}.photos img{width:100px;height:85px;object-fit:cover;border-radius:8px}.photos button{position:absolute;right:0;top:0;min-height:28px;padding:0 7px;background:#21313c}.honeypot{position:absolute;left:-10000px;overflow:hidden;width:1px;height:1px}.timeline{border-left:2px solid var(--accent);padding:0 0 5px 16px;margin:20px 0}.timeline p{white-space:pre-wrap;font-size:13px}.staff-head{padding:12px 4%;display:flex;gap:15px;flex-wrap:wrap;font-size:12px;background:#283622}.staff-head span{color:#d1dbb5}#staffFrame{width:100%;height:calc(100dvh - 160px);min-height:650px;border:0;background:var(--bg)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:760px){.top{padding:16px;align-items:flex-start;flex-wrap:wrap}.brand{font-size:13px}.account{width:100%;justify-content:flex-end;font-size:12px}.account>span{margin-right:auto}.nav{padding:8px 12px;gap:3px}.nav button{font-size:12px;padding:8px 10px}.intro{display:block;margin-top:4px}.intro h1 br{display:none}.summary{border-left:0;border-top:1px solid var(--line);padding:14px 0 0;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.summary strong{font-size:29px}.summary small{margin:0;width:100%}main{padding:18px 12px}.lower{grid-template-columns:1fr;gap:0}.map-tools{padding:12px;gap:8px}.search{min-width:100%;flex-basis:100%}.map-tools select,.map-tools button{font-size:12px}.map-tools>label:not(.search){flex:1}.map-tools .switch{flex:1}.map-tools>button{flex-basis:100%}.map-wrap{height:440px;min-height:340px}.card{padding:16px}.section-title{flex-wrap:wrap}.section-title small{display:block}.empty-map{left:12px;right:12px;bottom:35px}.map-foot{font-size:10px}input,textarea,select{font-size:16px}dialog{padding:20px 16px}.asset-list{grid-template-columns:1fr}.pager{justify-content:space-between}.staff-head{padding:10px 12px}#staffFrame{height:calc(100dvh - 200px)}}

/* V09: map first, details anchored below and collapsed by default. */
main{max-width:none;padding:12px 2% 0}.intro{margin:0 0 10px;gap:12px}.intro h1{font-size:21px;margin:2px 0}.intro p{margin:2px 0;font-size:12px}.intro .eyebrow{font-size:9px!important}.summary{min-width:160px;padding-left:16px}.summary strong{font-size:24px}.summary span{font-size:11px}.map-wrap{height:calc(100dvh - 320px);min-height:360px}.bottom-dock{display:flex;gap:8px;position:sticky;bottom:0;background:#071722f5;padding:8px 0;z-index:5}.bottom-dock details{flex:1;border:1px solid var(--line);border-radius:9px;background:var(--surface);min-width:0}.bottom-dock summary{cursor:pointer;padding:12px;font-size:13px;min-height:44px}.bottom-dock details[open] .card{position:absolute;bottom:64px;left:0;right:0;max-height:45dvh;overflow:auto;margin:0;box-shadow:0 -8px 30px #0008}.nav a{padding:10px 12px;font-size:13px}.map-foot{padding:6px 12px}.subnote{margin:4px 0;font-size:11px}footer{padding:10px 2%}@media(max-width:760px){main{padding:8px}.intro .summary,.intro p:not(.eyebrow){display:none}.intro h1{font-size:17px}.map-wrap{height:calc(100dvh - 370px);min-height:320px}.map-tools{padding:8px}.map-tools .search{min-width:100%;flex-basis:100%}.map-tools>label:not(.search){flex:1;min-width:95px}.map-tools .switch{flex:2}.map-tools .switch button{white-space:nowrap;padding:8px;flex:1}.map-tools>button{white-space:nowrap;padding:8px}.map-tools>button{flex-basis:auto}.bottom-dock{gap:4px}.bottom-dock summary{font-size:11px;padding:9px 6px}.bottom-dock #listCount{display:none}.top{padding:9px 12px}.account{gap:8px}.nav{padding:5px 8px}.brand small{font-size:9px}}

.gis-layers{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:10px 14px;border-bottom:1px solid var(--line);font-size:12px}.gis-layers[hidden]{display:none}.gis-layers label{display:flex;align-items:center;gap:6px}.gis-layers input{width:auto}.gis-layers select{padding:6px;max-width:150px}.gis-layers span{color:var(--muted)}

.simulation-banner{margin:0 0 16px;padding:12px 16px;border:2px solid #b9690d;border-radius:14px;background:#fff7e7;color:#573900}.simulation-heading{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}.simulation-heading strong{letter-spacing:.03em}.simulation-metrics{display:flex;gap:16px;margin:10px 0;flex-wrap:wrap}.simulation-metrics span{display:grid;gap:3px;min-width:110px;font-size:12px}.simulation-metrics strong{font-size:20px}.simulation-banner p{margin:6px 0;font-size:13px}.simulation-banner small{display:block;margin-top:6px}.simulation-banner[hidden]{display:none}.simulation-banner summary{cursor:pointer;font-size:13px}@media(max-width:600px){.simulation-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.simulation-metrics span{min-width:0}.simulation-metrics strong{font-size:17px}.simulation-banner{padding:10px}.simulation-heading{font-size:13px}}

/* Public portal: one identity bar, one compact map toolbar. */
html.dts-shell body[data-shell-page=portal]>header.top{position:relative;padding:6px 12px;gap:12px;min-height:52px;flex-wrap:nowrap}
.top .brand{flex:0 1 auto;min-width:0;font-size:13px;gap:9px;letter-spacing:.3px}
.top .brand small{font-size:9px;margin:0;letter-spacing:.8px}
.top .portal-menu{margin-left:auto;flex:0 1 auto;min-width:0}
.top .portal-menu>summary{display:none;cursor:pointer;list-style:none}
.top .portal-menu .nav{padding:0;border:0;gap:5px;align-items:center;flex-wrap:wrap}
.top .portal-menu .nav :is(button,a){padding:6px 10px;min-height:36px;font-size:12px;white-space:nowrap}
html.dts-shell .top .account{flex:0 0 auto;gap:6px;width:auto;margin:0;font-size:12px}
.top .account button{font-size:12px;white-space:nowrap}
body.portal-public #publicTab{display:none!important}
html.map-priority-layout #publicWorkspace .intro{display:none}
html.map-priority-layout #publicWorkspace{padding:5px 8px 0}
html.map-priority-layout #publicWorkspace .map-tools{padding:5px 7px;gap:6px;align-items:center}
html.map-priority-layout #publicWorkspace .map-tools #areaName{flex:1 1 220px;min-width:0;font-size:14px;line-height:1.35;letter-spacing:0;margin:0;padding:3px 5px;font-weight:650}
html.map-priority-layout #publicWorkspace .map-tools .switch{flex:0 0 auto;gap:3px}
html.map-priority-layout #publicWorkspace .map-tools .mp-search{order:2}
html.map-priority-layout #publicWorkspace .map-tools .switch{order:1}
html.map-priority-layout #publicWorkspace .map-tools #refresh{order:4;width:36px;padding:0;font-size:19px}
html.map-priority-layout #publicWorkspace .map-tools #gisDrawer{order:3}
html.map-priority-layout #publicWorkspace .map-tools :is(.mp-search,#gisDrawer)>summary{padding:6px 10px;min-height:36px;font-size:12px;line-height:22px;border:1px solid #345361;border-radius:7px;cursor:pointer;background:#102733;white-space:nowrap}
html.map-priority-layout #publicWorkspace .map-tools :is(.mp-search,#gisDrawer)[open]{flex-basis:100%;padding:0 0 5px}
html.map-priority-layout #publicWorkspace .map-tools :is(.mp-search,#gisDrawer)[open]>summary{display:inline-block;margin-bottom:5px;color:var(--accent)}
html.map-priority-layout #publicWorkspace #gisLayers{padding:6px 3px;gap:8px 16px;border:0;font-size:12px}
html.map-priority-layout #publicWorkspace #gisLayers>strong{display:none}
html.map-priority-layout #publicWorkspace #gisLayers label{margin:0;gap:7px;white-space:nowrap}
html.map-priority-layout #publicWorkspace #gisLayers input[type=checkbox]{width:17px;height:17px;min-height:17px;padding:0;accent-color:var(--accent)}
html.map-priority-layout #publicWorkspace #gisLayers select{width:auto;min-width:130px;min-height:34px;padding:4px 8px}
html.map-priority-layout #publicWorkspace #gisSummary{font-size:11px;margin-left:auto}
html.map-priority-layout #publicWorkspace .map-panel{border-radius:9px}
@media(max-width:1199px){
 .top .portal-menu{position:static;flex:0 0 auto}
 .top .portal-menu>summary{display:block;padding:5px 9px;border:1px solid #345361;border-radius:7px;min-height:36px;font-size:12px}
 .top .portal-menu[open] .nav{position:absolute;right:8px;top:calc(100% + 5px);z-index:50;display:flex;flex-direction:column;align-items:stretch;width:min(300px,calc(100vw - 24px));background:#102733;border:1px solid #345361;border-radius:9px;padding:7px;box-shadow:0 12px 32px #0007;white-space:normal}
 .top .portal-menu .nav :is(button,a){text-align:left;min-height:40px}
}
@media(max-width:760px){
 html.dts-shell body[data-shell-page=portal]>header.top{padding:5px 8px;gap:7px;min-height:48px;align-items:center}
 .top .brand{font-size:11px;line-height:1.5;flex:1 1 auto}
 .top .brand .mark{display:none}
 .top .brand small{font-size:8px;letter-spacing:.2px;white-space:nowrap}
 .top .portal-menu{margin-left:0}
 .top .account #loginButton{padding:6px 9px;min-height:40px;font-size:11px}
 .top .account .staff-only-label{display:none}
 .top .portal-menu>summary{min-height:40px;padding:8px}
 html.map-priority-layout #publicWorkspace{padding:4px 5px 0}
 html.map-priority-layout #publicWorkspace .map-tools{padding:4px;gap:4px}
 html.map-priority-layout #publicWorkspace .map-tools #areaName{flex-basis:100%;font-size:12px;padding:0 2px 2px;line-height:1.4}
 html.map-priority-layout #publicWorkspace .map-tools .switch{flex:0 0 auto}
 html.map-priority-layout #publicWorkspace .map-tools :is(button,.mp-search>summary,#gisDrawer>summary){min-height:40px;padding:8px;font-size:11px}
 html.map-priority-layout #publicWorkspace .map-tools #refresh{margin-left:auto;width:32px;padding:0}
 html.map-priority-layout #publicWorkspace .map-tools .mp-search>label{min-width:0;width:100%}
 html.map-priority-layout #publicWorkspace #gisSummary{margin-left:0;width:100%}
}

/* Consolidated desktop bar; map tools keep their original IDs and state. */
html.dts-shell body[data-shell-page=portal]>header.unified-map-header{z-index:40;gap:12px;min-height:54px;padding:5px 12px;justify-content:flex-start}
.unified-map-header .brand{flex:0 0 auto;font-size:12px}
.unified-map-header .brand .mark{width:29px;height:29px;font-size:14px}
.unified-map-header .map-tools{display:flex;flex:1 1 auto;min-width:0;flex-wrap:nowrap;gap:5px;padding:0 0 0 12px;border-left:1px solid var(--line);background:transparent}
.unified-map-header .map-tools #areaName{flex:0 1 270px;min-width:140px;max-width:300px;margin:0 10px 0 0;padding:0;font-size:12px;line-height:1.4;letter-spacing:0;font-weight:600;overflow-wrap:anywhere}
.unified-map-header .map-tools .switch{order:1;flex:none;gap:3px}
.unified-map-header .map-tools .mp-search{order:2;flex:none}
.unified-map-header .map-tools #gisDrawer{order:3;flex:none}
html.map-priority-layout .unified-map-header .map-tools :is(button,summary){min-height:34px;padding:5px 9px;font-size:11px;line-height:22px;white-space:nowrap}
.unified-map-header .map-tools details>summary{border:1px solid #345361;border-radius:7px;cursor:pointer;background:#102733}
html.map-priority-layout .unified-map-header .map-tools :is(.mp-search,#gisDrawer)[open]{position:absolute;right:12px;top:calc(100% + 5px);z-index:60;display:block;width:min(550px,calc(100vw - 24px));max-width:none;padding:10px;border:1px solid #345361;border-radius:9px;background:#102733;box-shadow:0 12px 32px #0007}
.unified-map-header .map-tools details[open]>summary{width:max-content;margin-bottom:8px;color:var(--accent)}
.unified-map-header .map-tools .mp-search>label{display:inline-block;min-width:180px;margin:0 6px 0 0;max-width:100%}
.unified-map-header #gisLayers{gap:10px 16px;padding:4px 0;border:0;font-size:12px}
.unified-map-header #gisLayers>strong{display:none}
.unified-map-header #gisLayers label{margin:0;white-space:nowrap}
.unified-map-header #gisLayers input[type=checkbox]{width:17px;height:17px;min-height:17px;padding:0;accent-color:var(--accent)}
.unified-map-header #gisLayers select{width:130px;min-height:34px;padding:4px 8px}
.unified-map-header #gisSummary{width:100%;font-size:11px}
.unified-map-header .portal-menu{margin-left:0}
.unified-map-header .portal-menu .nav :is(button,a){padding:5px 7px;font-size:11px;min-height:34px}
/* Keep staff links in a compact menu so they cannot crowd the unified bar. */
.unified-map-header .portal-menu{position:static}
.unified-map-header .portal-menu>summary{display:block;padding:5px 9px;border:1px solid #345361;border-radius:7px;min-height:34px;font-size:11px}
.unified-map-header .portal-menu[open] .nav{position:absolute;right:12px;top:calc(100% + 5px);z-index:60;display:flex;flex-direction:column;align-items:stretch;width:270px;background:#102733;border:1px solid #345361;border-radius:9px;padding:7px;box-shadow:0 12px 32px #0007}
.unified-map-header .portal-menu .nav :is(button,a){text-align:left;min-height:38px}
@media(min-width:1200px){html.map-priority-layout #publicWorkspace .map-panel{border-top-left-radius:6px;border-top-right-radius:6px}}
