:root{--ink:#153c5b;--muted:#596c7c;--teal:#17618b;--cream:#f6f5f0;--line:#d9dfe3}*{box-sizing:border-box}body{margin:0;font:14px/1.5 system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);background:var(--cream)}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{border:1px solid #cbd3da;background:white;border-radius:8px;padding:10px 13px;cursor:pointer;color:var(--ink);font-weight:600}button:hover{background:#e7eef5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #e9bc32;outline-offset:2px}button.primary{background:var(--teal);color:white;width:100%;border:none;padding:14px}header{height:78px;background:#102e49;color:white;display:flex;justify-content:space-between;align-items:center;padding:0 25px}.brand{display:flex;align-items:center;gap:12px}.brand strong{font-size:18px;letter-spacing:.12em}.brand small{display:block;font-size:10px;letter-spacing:.16em;color:#c3d6e3}.mark{border:1px solid #d3a92c;border-radius:9px;font-size:27px;font-weight:800;padding:0 10px}.mark span{color:#f0ca37;font-size:20px}.headerRight{display:flex;align-items:center;gap:15px}.headerRight button{background:#254762;color:white;border-color:#54728b}#network{font-size:10px;letter-spacing:.13em;color:#f3d46c}main{display:grid;grid-template-columns:minmax(0,1fr) 420px;height:calc(100dvh - 78px)}#mapPane{position:relative;min-height:380px}#map{height:100%;background:#e9ede4}.maptop{position:absolute;z-index:500;top:20px;left:23px;right:23px;pointer-events:none;display:flex;justify-content:space-between;gap:15px}.maptitle{background:#fffffff0;border:1px solid #d5dfd7;box-shadow:0 6px 25px #1c393315;border-radius:12px;padding:18px 22px;max-width:350px}.eyebrow{font-size:10px;font-weight:800;letter-spacing:.15em;color:var(--teal)}h1{font-size:29px;line-height:1.13;margin:7px 0 10px;letter-spacing:-.04em}h2{font-size:23px;letter-spacing:-.03em;line-height:1.2;margin:6px 0 14px}h3{font-size:15px;margin:15px 0 8px}p{color:var(--muted);margin:10px 0}.maptitle p{font-size:12px;margin:0}.maptools{pointer-events:auto;display:flex;flex-direction:column;align-items:stretch;gap:7px}.maptools button{box-shadow:0 3px 12px #1c393319;background:#fffffff5}.mapbottom{position:absolute;z-index:500;bottom:25px;left:12px;right:12px;display:flex;justify-content:space-between;gap:12px;pointer-events:none}.mapbottom span{background:#102e49ea;color:#e7f3e9;border-radius:7px;font-size:10px;padding:7px 10px}aside{border-left:1px solid #d3dce4;overflow-y:auto;background:#fafaf8}nav{display:flex;position:sticky;top:0;background:#fafaf8;z-index:600;border-bottom:1px solid var(--line);padding:8px 12px;gap:3px}nav button{border:0;background:transparent;font-size:12px;flex:1;padding:12px 3px;color:#596c7c}nav button.active{background:#e8edf5;color:#173f66}.panel{padding:24px 23px}.sectionhead{display:flex;align-items:center;justify-content:space-between;gap:8px}.badge{border:1px solid #d6c17b;background:#fff6d8;color:#6a421e;border-radius:20px;padding:5px 10px;font-size:11px;white-space:nowrap}#origin{font-size:12px}.search{margin:20px 0 12px}label{display:block;font-size:12px;font-weight:650;margin:14px 0 7px}input:not([type=checkbox]),select{width:100%;border:1px solid #cbd3da;background:white;color:var(--ink);border-radius:7px;min-height:43px;padding:10px;margin-top:5px}input[type=checkbox]{accent-color:var(--teal);width:17px;height:17px;vertical-align:middle}.filters{display:flex;gap:12px;align-items:center;margin-bottom:15px}.filters select{width:45%;font-size:12px}.filters label{font-size:11px;font-weight:500}.asset{background:white;border:1px solid var(--line);border-radius:11px;margin:10px 0;padding:14px;cursor:pointer}.asset:hover{border-color:#6ca39c}.asset .top{display:flex;justify-content:space-between;align-items:center;gap:8px}.asset h3{margin:6px 0;font-size:14px}.asset p{font-size:12px;margin:3px 0}.asset .kind{font-size:9px;letter-spacing:.1em;font-weight:750}.asset .distance{font-size:11px;color:var(--teal);white-space:nowrap}.asset .status{font-size:10px;border-radius:4px;background:#edf3ea;padding:3px 6px;display:inline-block}.asset .bad{background:#fae6e1;color:#9d372d}.row{display:flex;gap:10px}.row>*{flex:1;min-width:0}.row button{font-size:11px}.callout{background:#e9eef4;padding:12px;border-left:3px solid var(--teal);font-size:12px;margin:12px 0}.warning{background:#fff1d6;border-left:3px solid #ce8e28;padding:12px;margin:12px 0;font-size:12px}.error{background:#fbe5df;border-left:3px solid #bf5345;padding:12px;margin:12px 0}.muted,.fine{font-size:11px;color:#65767a}.subhead{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:15px}.subhead button{font-size:10px;padding:7px}.check{font-weight:500;line-height:1.5}.doclink{display:block;margin:15px 0;color:var(--teal);font-weight:650}.key{line-height:2}.layeritem{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:13px 0}.layeritem label{margin:0;font-size:13px}.layeritem small{color:var(--muted)}#pinHint{position:absolute;top:195px;left:20px;z-index:600;background:#102e49;color:white;padding:10px;border-radius:8px}#pinHint button{padding:4px 8px;margin-left:10px}.leaflet-control-zoom{margin-bottom:70px!important}.leaflet-popup-content{max-width:300px;font:12px/1.55 system-ui;color:var(--ink);overflow-wrap:anywhere}.leaflet-popup-content h3{margin-top:0}.leaflet-popup-content a{color:#155c8d}.leaflet-tooltip{font:11px system-ui}.incidentMarker{background:#b94336;color:white;border:3px solid white;border-radius:50%;width:26px!important;height:26px!important;box-shadow:0 2px 8px #0005;display:grid;place-items:center;font-size:15px;font-weight:bold}.snapshot{padding:15px;border:1px solid var(--line);border-radius:10px;margin:15px 0;background:white}.snapshot button{font-size:11px;margin:4px}dialog{border:0;border-radius:15px;max-width:660px;width:94%;padding:28px;color:var(--ink);box-shadow:0 10px 70px #0003}dialog::backdrop{background:#102e4999}dialog li{margin:12px 0;font-size:13px}.close{float:right}.ergnums{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}.ergnums div{background:#f1ede1;padding:12px;border-radius:7px}.ergnums strong{display:block;font-size:23px}.ergnums small{font-size:10px}.pointlabel{background:white;border:1px solid #ccc;border-radius:3px;padding:1px 3px}.outcross{color:#fff;font:bold 12px system-ui;background:#a43e35;border:2px solid white;border-radius:50%;text-align:center}.mapfoot{font-size:10px}#more{width:100%}[hidden]{display:none!important}@media(max-width:1000px){main{grid-template-columns:minmax(0,1fr) 370px}.maptitle{max-width:235px;padding:14px}h1{font-size:23px}.maptools button{font-size:11px;padding:9px}.maptop{left:12px;right:12px;top:12px}}@media(max-width:700px){header{height:65px;padding:0 14px}.brand strong{font-size:14px}.brand small{font-size:8px}.headerRight{gap:6px}.headerRight button{font-size:10px;padding:7px}#network{font-size:8px}.mark{font-size:22px}main{display:block;height:auto}#mapPane{height:48dvh;min-height:330px;position:sticky;top:0;z-index:400}aside{border-left:0;overflow:visible}nav{top:48dvh}.maptitle{padding:10px 13px;max-width:205px}h1{font-size:21px;margin:4px 0 7px}.maptitle .eyebrow{font-size:8px}.maptitle p{font-size:10px}.mapbottom{bottom:23px}.mapbottom span{font-size:8px;padding:5px}.panel{padding:20px}.maptools button{font-size:10px;padding:8px}.maptop{gap:6px}.maptitle{max-height:140px}#pinHint{top:158px;left:10px;font-size:11px}.leaflet-control-attribution{font-size:8px}}

/* Arp patch identity: blue, burgundy, gold, black and white. */
header{background:#800c2c;border-bottom:4px solid #f3cb20}.brandLogo{height:64px;width:61px;object-fit:contain;filter:drop-shadow(0 1px 2px #0004)}.brand{gap:14px}.brand small{color:#f3d46c}.headerRight button{background:#800c2c;border-color:#9b5965}.headerRight button:hover{background:#9a1436}nav button.active{background:#800c2c;color:#fff;box-shadow:inset 0 -3px #f3cb20}button.primary{background:#800c2c}button.primary:hover{background:#9a1436}.eyebrow{color:#195f8c}.maptitle{border-top:4px solid #f3cb20}.badge{color:#800c2c;border-color:#dac17d;background:#fff7df}.mapbottom span{background:#075a99ee}.doclink{color:#800c2c}.brandPreview{display:block;width:160px;height:180px;object-fit:contain;margin:0 auto 16px}@media(max-width:700px){.brandLogo{height:49px;width:46px}.brand{gap:9px}.brand strong{font-size:12px}.brand small{font-size:7px}}
.substancePriority{border-top:3px solid #f3cb20;margin-top:22px;padding-top:12px}.ergSearchBox{border:1px solid #d6dfe7;border-radius:10px;background:#edf2f7;padding:14px;margin:18px 0}.ergSearchBox label{margin-top:0}.ergSearchBox a{font-size:12px;color:#155c8d}#substanceReference{background:#fff;border:1px solid #d5dfe7;border-left:4px solid #800c2c;border-radius:8px;padding:15px;margin:16px 0}.referenceLinks{display:grid;gap:9px}.referenceLinks a{color:#155c8d;font-size:12px;font-weight:650}.ergMatch{display:block;text-align:left;width:100%;margin:7px 0;padding:11px}.ergMatch strong,.ergMatch span,.ergMatch small{display:block}.ergMatch strong{color:#800c2c;font-size:12px}.ergMatch span{font-size:13px}.ergMatch small{color:#596c7c;font-size:10px}
.scopeLabel{margin:0;background:#fffffff2;border-radius:8px;padding:5px 9px;font-size:10px}.scopeLabel select{font-size:11px;min-height:30px;padding:5px;margin-top:2px}#profileDialog{max-width:460px}#sharedStatus{font-size:12px;color:#800c2c;margin:12px 0}#sharedList .snapshot{border-left:3px solid #f3cb20}.headerRight button{font-size:12px}@media(max-width:700px){.headerRight{gap:4px}.headerRight button{font-size:9px;padding:7px 5px}.brand strong{font-size:11px}.scopeLabel{max-width:155px}.scopeLabel select{font-size:9px}.maptools{max-width:160px}.maptitle{max-width:170px}.maptitle h1{font-size:18px}}

/* Phone-first map workspace. Desktop retains its full-height side panel. */
#sheetToggle{display:none}#sheetContent{min-height:0}button,input,select{min-height:44px}
@media(max-width:700px){
 html,body{height:100%;overflow:hidden}body{font-size:14px;-webkit-text-size-adjust:100%}
 header{height:calc(60px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 12px 0;gap:8px;border-bottom-width:3px}
 .brandLogo{height:45px;width:40px}.brand{gap:7px;flex-shrink:0}.brand strong{font-size:12px;letter-spacing:.08em}.brand small{font-size:7px;letter-spacing:.12em}
 .headerRight{gap:5px}.headerRight button{font-size:11px;padding:7px 9px;min-height:36px;border-radius:9px}#network{position:absolute;right:14px;top:calc(3px + env(safe-area-inset-top));font-size:7px;letter-spacing:.1em}#install{display:none}#profileButton{font-size:0}#profileButton::after{content:'Contact';font-size:11px}#about{font-size:0}#about::after{content:'Info';font-size:11px}
 main{height:calc(100dvh - 60px - env(safe-area-inset-top));display:flex;flex-direction:column;overflow:hidden}
 #mapPane{height:auto;min-height:0;position:relative;top:auto;flex:1;z-index:1}#map{height:100%;width:100%}
 .maptop{top:10px;left:10px;right:10px;display:block}.maptools{display:contents;max-width:none}
 .scopeLabel{position:absolute;top:0;left:0;right:0;max-width:none;background:white;border:1px solid #d5dfe7;border-radius:12px;box-shadow:0 3px 14px #153c5b20;padding:0;font-size:0;pointer-events:auto}
 .scopeLabel select{min-height:44px;font-size:13px;font-weight:650;margin:0;border:0;background:transparent;padding:10px 12px;border-radius:12px}
 .maptitle{position:absolute;left:0;top:53px;max-width:calc(100% - 130px);max-height:none;padding:6px 9px;border:0;border-left:3px solid #f3cb20;border-radius:5px;box-shadow:0 2px 8px #153c5b14}
 .maptitle h1,.maptitle .eyebrow{display:none}.maptitle p{font-size:10px;line-height:1.4;color:#294a5d}
 .maptools button{position:absolute;right:0;width:116px;min-height:44px;padding:8px 6px;font-size:11px;line-height:1.25;border-radius:10px;box-shadow:0 2px 10px #153c5b22}
 #locate{top:53px}#pinMode{top:104px;background:#800c2c;color:white;border-color:#800c2c}#home{top:155px;font-size:0}#home::after{content:'District view';font-size:11px}
 .mapbottom{left:10px;right:10px;bottom:22px;gap:6px;align-items:flex-end}.mapbottom span{font-size:9px;line-height:1.3;padding:5px 7px;max-width:57%;border-radius:6px}#cacheStatus{max-width:40%;text-align:right}
 .leaflet-control-zoom{margin:0 10px 66px 0!important}.leaflet-control-zoom a{width:36px;height:36px;line-height:36px;font-size:23px}.leaflet-control-scale{margin-bottom:61px!important}.leaflet-control-attribution{font-size:8px;max-width:100%}
 #pinHint{top:65px;left:10px;right:138px;font-size:12px;padding:10px;border:1px solid white}#pinHint button{min-height:36px;padding:5px 8px;margin:5px 0 0}
 aside{position:relative;z-index:650;flex:0 0 34%;height:34%;min-height:130px;border:0;border-top:1px solid #d5dfe7;border-radius:18px 18px 0 0;box-shadow:0 -5px 20px #153c5b20;display:flex;flex-direction:column;overflow:hidden;padding-bottom:env(safe-area-inset-bottom);background:#f9fafb}
 aside[data-state=expanded]{flex-basis:72%;height:72%}
 #sheetToggle{display:flex;align-items:center;justify-content:center;gap:9px;flex-shrink:0;width:100%;border:0;border-radius:0;background:transparent;min-height:28px;height:28px;padding:3px 12px;font-size:10px;color:#526b7c;touch-action:none}
 .sheetGrip{height:4px;width:30px;background:#b9c8d2;border-radius:3px}aside[data-state=expanded] #sheetToggle>span:last-child{transform:rotate(180deg)}
 nav{position:relative;top:auto;flex-shrink:0;padding:0 10px 7px;gap:5px;background:#f9fafb;z-index:1;border-bottom:1px solid #dce3e9}
 nav button{font-size:11px;line-height:1.2;min-height:44px;padding:9px 4px;border-radius:9px;background:#edf1f5;color:#526b7c}nav button.active{box-shadow:inset 0 -3px #f3cb20;background:#800c2c}
 #sheetContent{overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:1}.panel{padding:15px 16px 24px}.sectionhead{align-items:center}.panel h2{font-size:21px;line-height:1.15;margin:4px 0 8px}.panel .eyebrow{font-size:8px}.badge{font-size:10px;padding:4px 8px;white-space:normal;max-width:112px;text-align:center}#origin{font-size:11px;line-height:1.5;margin:5px 0 12px}
 input:not([type=checkbox]),select{font-size:16px;min-height:46px}label{font-size:12px}.search{margin:12px 0}.filters{gap:10px;align-items:center}.filters select{width:48%;font-size:13px}.filters label{font-size:11px;flex:1;margin:0}.filters input[type=checkbox]{width:20px;height:20px;margin:8px 4px 8px 0}input[type=checkbox]{min-height:0}.check{display:block;padding:7px 0}.check input{width:20px;height:20px}
 .asset{padding:12px;border-radius:12px}.asset h3{font-size:14px}.asset p{font-size:12px}.asset .distance{font-size:12px}.asset .kind{font-size:10px}.row{gap:8px}.row button{font-size:12px;padding:9px 7px}.subhead{align-items:center}.subhead button{min-height:44px;font-size:11px}#saveIncident{width:100%;margin-top:10px}.ergSearchBox{padding:12px}.ergMatch{min-height:56px}.referenceLinks a{padding:6px 0;font-size:13px}
 dialog{max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain;width:calc(100% - 24px);padding:22px;border-radius:16px}dialog p{font-size:13px}dialog h2{font-size:23px}.brandPreview{width:110px;height:125px}.leaflet-popup-content{max-width:240px;font-size:12px}.leaflet-popup-content a{display:inline-block;padding:4px 0}
}
@media(max-width:700px) and (max-height:540px){aside{flex-basis:28%;height:28%;min-height:88px}aside[data-state=expanded]{flex-basis:65%;height:65%}.maptitle{display:none}.maptools button{width:105px}#home{display:none}}
@media(max-width:700px){
 main:has(aside[data-state=expanded]) .maptitle,main:has(aside[data-state=expanded]) #home,main:has(aside[data-state=expanded]) .mapbottom,main:has(aside[data-state=expanded]) .leaflet-control-zoom,main:has(aside[data-state=expanded]) .leaflet-control-scale{display:none}
 main:has(aside[data-state=expanded]) #locate{top:53px;left:0;right:auto;width:116px}
 main:has(aside[data-state=expanded]) #pinMode{top:53px;right:0;width:116px}
 main:has(aside[data-state=expanded]) #pinHint{top:108px;right:10px}
}
#notificationsButton{position:relative;font-size:17px;min-width:40px;padding:5px 8px}#notificationCount{display:inline-grid;place-items:center;background:#f3cb20;color:#153c5b;font-size:10px;border-radius:12px;min-width:17px;padding:1px 4px;margin-left:3px}#notificationsDialog{max-width:520px}
@media(max-width:700px){#notificationsButton{min-height:36px;min-width:36px;padding:5px;font-size:16px}.headerRight{gap:4px}#notificationCount{position:absolute;top:-5px;right:-4px;margin:0}.brand strong{font-size:11px}.brand small{font-size:6px}.brandLogo{width:35px}.headerRight button{padding-left:7px;padding-right:7px}.headerRight{flex-shrink:0}#sheetToggle{min-height:32px;height:32px}}
@media(max-width:350px){.brand strong{font-size:10px;letter-spacing:.03em}.brand small{letter-spacing:.04em}.brand{gap:4px}.brandLogo{width:30px}.headerRight button{padding-left:6px;padding-right:6px}}
