:root{--ink:#252525;--gold:#8c6828;--line:#e5e5e2;--blue:#38718b;--purple:#775589}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff;font-size:16px}button,input,select{font:inherit}button{cursor:pointer}header{height:102px;display:flex;align-items:center;border-bottom:1px solid var(--line);padding:18px 30px;gap:32px}header img{width:181px;height:67px;object-fit:contain}.title{padding-left:32px;border-left:1px solid var(--line)}h1{font-size:24px;letter-spacing:-.7px;margin:0}.title span,.eyebrow{font-size:12px;letter-spacing:2px;font-weight:700;color:var(--gold)}header .outline{margin-left:auto}.outline{background:white;border:1px solid #ccc;padding:11px 17px;border-radius:6px;font-size:14px}main{height:calc(100dvh - 102px);display:grid;grid-template-columns:340px 1fr;min-height:540px}aside{display:flex;flex-direction:column;border-right:1px solid var(--line);padding:23px 20px 0;min-height:0;background:#fff;z-index:3}.searchbox{display:flex;align-items:center;background:#f6f6f4;border:1px solid var(--line);border-radius:7px;padding:5px 8px;gap:5px}.searchbox span{font-size:27px}.searchbox input{width:100%;min-width:0;border:0;background:transparent;padding:10px 0;font-size:14px;outline:none}.searchbox button{border:0;background:none;font-size:22px;color:#777}aside h2{font-size:12px;letter-spacing:1.6px;color:#777;margin:26px 0 15px}.layer{display:flex;align-items:center;gap:10px;padding:10px 0;font-size:14px;cursor:pointer}.layer input{accent-color:var(--gold);width:17px;height:17px}.layer b{margin-left:auto;font-size:13px;font-weight:400;color:#6c6c6c}.layer i,.legend i{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--gold)}.layer i.gate,.legend i.gate{background:var(--blue)}.layer i.lab,.legend i.lab{background:var(--purple)}.filters{display:grid;gap:8px;margin:18px 0}select{border:1px solid var(--line);background:white;border-radius:6px;padding:10px;font-size:14px;width:100%}.results-head{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:17px 0 13px;font-size:14px}.textbutton{border:0;background:none;color:var(--gold);padding:0;font-size:14px}#results{overflow:auto;flex:1;margin:0 -20px;padding:0 14px}.record{display:block;text-align:left;width:100%;border:0;border-bottom:1px solid #eee;background:white;padding:15px 8px}.record:hover,.record.selected{background:#f6f3ed;border-radius:6px}.record strong{display:block;font-size:14px;line-height:1.5;font-weight:600}.record small{display:block;color:#707070;font-size:12px;line-height:1.5;margin-top:5px}.kinddot{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:5px}.sidefooter{font-size:12px;line-height:1.7;border-top:1px solid var(--line);margin:0 -20px;padding:15px 20px;background:#fafafa}.sidefooter span{color:#777}.maparea{position:relative;overflow:hidden;background:#f0f3f4}.maptitle{position:absolute;top:32px;left:34px;z-index:1;pointer-events:none}.maptitle h2{font-size:24px;letter-spacing:-.6px;margin:10px 0 8px}.maptitle p{color:#727777;font-size:14px;margin:0}#mapcanvas{width:100%;height:100%;display:flex;align-items:center;touch-action:none}svg{width:100%;height:100%;user-select:none}.province{fill:#fff;stroke:#d3d5d3;stroke-width:.65;transition:fill .15s}.province:hover,.province.chosen{fill:#e7ddc6}.neighbor{fill:#e1e7e8;stroke:#cfd8da;stroke-width:.6}.marker{cursor:pointer}.marker circle{stroke:#fff;stroke-width:2}.marker text{font-size:12px;font-weight:bold;fill:#fff;pointer-events:none;text-anchor:middle}.maplabel{fill:#849197;font-size:14px;letter-spacing:4px;font-style:italic}.mapcontrols{position:absolute;right:24px;top:30px;display:grid;box-shadow:0 2px 12px #0001}.mapcontrols button{background:white;border:1px solid var(--line);width:42px;height:42px;font-size:24px}.legend{position:absolute;bottom:63px;left:30px;background:#fffE;padding:14px 17px;border-radius:6px;font-size:13px;box-shadow:0 3px 15px #0001}.legend i{margin:0 6px 0 15px}.legend i:first-child{margin-left:0}.legend p{margin:10px 0 0;color:#666;font-size:12px}.snapshot{position:absolute;bottom:0;left:0;right:0;background:#fffE;border-top:1px solid #dfe3e4;padding:14px 28px;font-size:12px;color:#555}.snapshot span{float:right}.tooltip{position:fixed;background:#222;color:white;border-radius:7px;padding:15px;max-width:330px;z-index:8;box-shadow:0 8px 30px #0003;pointer-events:auto;font-size:13px;line-height:1.6}.tooltip strong{font-size:15px}.tooltip p{margin:6px 0 0;color:#ddd}.detail{position:absolute;top:18px;right:18px;bottom:65px;width:min(410px,calc(100% - 36px));background:white;border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 40px #0002;padding:28px;overflow:auto;z-index:5}.close{float:right;border:0;background:#f3f3f1;border-radius:50%;width:32px;height:32px;font-size:24px;color:#555}.detail h2{font-size:23px;line-height:1.25;margin:16px 0 12px;letter-spacing:-.5px}.detail .sub{color:#777;font-size:14px;margin-bottom:24px}.pill{display:inline-block;font-size:12px;padding:6px 8px;background:#f3f0e8;border-radius:4px;color:#6d521f}.detail h3{font-size:14px;margin:26px 0 10px}.detail p,.detail li{font-size:14px;line-height:1.65}.detail dl{font-size:14px;line-height:1.55}.detail dt{color:#777;margin-top:14px}.detail dd{margin:3px 0 0}.update{border-left:3px solid var(--gold);padding:4px 0 4px 12px;margin:17px 0}.update p{margin:8px 0}.update time{font-size:12px;color:#666}a{color:#80601f;text-underline-offset:3px} .notice{background:#f5f5f3;border:1px solid #e8e8e4;padding:12px;font-size:13px!important;color:#666}.empty{padding:20px 8px;color:#777;font-size:14px;line-height:1.5}dialog{border:1px solid var(--line);border-radius:12px;padding:30px;max-width:620px;width:calc(100% - 32px);max-height:90dvh;line-height:1.7}dialog::backdrop{background:#0006}dialog h2{font-size:26px;margin:15px 0}dialog p,dialog li{font-size:14px}button:focus-visible,select:focus-visible,a:focus-visible,.marker:focus-visible{outline:3px solid #bc913c;outline-offset:3px}@media(max-width:800px){header{height:84px;padding:12px 16px;gap:15px}header img{width:114px;height:48px}.title{padding-left:15px}h1{font-size:17px;line-height:1.2;margin:0}.title span{display:none}.outline{font-size:12px;padding:9px;white-space:nowrap}main{height:auto;min-height:calc(100dvh - 84px);display:flex;flex-direction:column}.maparea{height:56dvh;min-height:360px;order:0}aside{order:1;border:0;padding:18px 18px 0;max-height:650px}.maptitle{top:20px;left:20px}.maptitle h2{font-size:19px}.maptitle p{font-size:12px}.mapcontrols{right:15px;top:20px}.mapcontrols button{width:36px;height:36px;font-size:22px}.legend{left:15px;bottom:50px;padding:10px;font-size:12px}.legend p{font-size:11px}.snapshot{padding:11px 15px;font-size:11px}.snapshot span{float:none;display:block;margin-top:4px}#layers{display:flex;gap:12px;flex-wrap:wrap}.layer{font-size:12px;gap:5px}.layer b{display:none}aside h2{margin:18px 0 5px}.filters{grid-template-columns:1fr 1fr;margin:12px 0}#results{max-height:340px;margin:0 -10px;padding:0 6px}.sidefooter{margin:0 -18px}.detail{position:fixed;top:95px;left:12px;right:12px;bottom:12px;width:auto;padding:24px;z-index:10}.tooltip{display:none!important}}

.province-name{fill:#344449;font-weight:700;text-anchor:middle;paint-order:stroke;stroke:#fff;stroke-linejoin:round;pointer-events:none;user-select:none}

.contact-card{border-top:1px solid var(--line);padding-top:14px;margin-top:14px}.contact-card>strong{display:block;font-size:14px;line-height:1.5;margin-bottom:8px}.contact-card dd{overflow-wrap:anywhere}.contact-source{display:block;font-size:11px;color:#777;margin:5px 0 8px}.contact-caution{font-size:12px!important;color:#777}.unverified{color:#888;font-size:12px}.copy-kep{font-size:11px;background:#f3f0e8;border:1px solid #d7cbb5;border-radius:4px;padding:4px 6px;color:#6d521f}.copy-status{font-size:12px;color:#6d521f}

.layer i.batibay,.legend i.batibay{background:#8D680D;border-radius:2px}.batibay-marker{cursor:pointer}.batibay-marker path{fill:#8D680D;stroke:#fff;stroke-width:2}.batibay-marker text{fill:white;text-anchor:middle;font-size:15px;font-weight:700;pointer-events:none}.batibay-marker:focus-visible{outline:3px solid #8D680D}.batibay-pill{color:white;background:#8D680D}.legend>div{display:flex;align-items:center;flex-wrap:wrap;gap:4px}.legend{max-width:calc(100% - 90px)}@media(max-width:800px){.legend{max-width:calc(100% - 30px)}.legend p{max-width:310px;line-height:1.4}.results-head{font-size:13px}}

.layer i.batibay,.legend i.batibay{background:transparent url("batibay-arrow.svg") center/contain no-repeat;width:16px;height:19px;border:0;border-radius:0}.batibay-marker .office-anchor{fill:transparent;stroke:none}.office-arrow{pointer-events:all}.batibay-marker:focus-visible .office-anchor{stroke:#222;stroke-width:2}

h1{text-transform:none}.facility-marker{cursor:pointer}.facility-marker:focus-visible{outline:3px solid #8D680D}.facility-symbol .cluster-badge{fill:#263c46;stroke:white;stroke-width:1.5}.cluster-count{font-size:12px;font-weight:700;fill:white;text-anchor:middle;pointer-events:none}.cluster-list{max-height:260px;overflow:auto;margin-top:10px}.cluster-list button{display:block;width:100%;text-align:left;color:#252525;background:white;border:0;border-bottom:1px solid #ddd;padding:10px;border-radius:4px;font-size:14px}.cluster-list small{display:block;color:#666;margin-top:4px}.location-details{padding:14px 0;border-top:1px solid #eee}.layer i.office,.legend i.office{width:19px;height:19px;background:transparent url("ticaret-symbol.png") left center/auto 19px no-repeat;border-radius:0}#locationSummary{max-width:440px;line-height:1.5}.province{cursor:pointer}@media(max-width:800px){.tooltip:has(.cluster-list){display:block!important;max-width:calc(100vw - 24px)}#locationSummary{max-width:230px;font-size:12px}.maptitle h2{margin-top:5px}.legend p{max-width:270px}}
.layer i.gate,.legend i.gate{width:19px;height:19px;background:transparent url("checkpoint-icon.svg") center/contain no-repeat;border-radius:0}.layer i.lab,.legend i.lab{width:19px;height:19px;background:transparent url("laboratory-icon.svg") center/contain no-repeat;border-radius:0}

.tooltip{max-height:calc(100dvh - 24px);overflow:auto}

.pending-labs{background:#f5eff8;border:1px solid #e1d3e9;border-radius:6px;padding:11px 12px;margin-bottom:4px}.pending-labs strong{font-size:13px;line-height:1.4;display:block;color:#614173}.pending-labs button{display:block;text-align:left;background:none;border:0;color:#614173;text-decoration:underline;padding:8px 0;font-size:14px}.pending-labs small{display:block;color:#675e6d;font-size:12px;line-height:1.5}

.maptitle .pending-labs{max-width:330px;margin-top:12px;pointer-events:auto}.maptitle .pending-labs button{padding:6px 0}@media(max-width:800px){.maptitle .pending-labs{max-width:240px;padding:8px 10px}.maptitle .pending-labs small{display:none}.maptitle .pending-labs strong{font-size:12px}.maptitle .pending-labs button{font-size:13px}}

.provisional-marker .marker-body>circle:first-child,.provisional-marker .marker-body>rect:first-child{stroke:#ad6c08;stroke-width:2;stroke-dasharray:4 3;fill:#fff8e9}.provisional-pill{background:#fff1d7;color:#825109;border:1px dashed #b4771b}

.layer-scope{font-size:12px;color:#777;margin:-7px 0 8px;line-height:1.4}#locationSummary{max-width:min(610px,calc(100vw - 460px))}@media(max-width:800px){.layer b{display:inline}.layer-scope{margin:0 0 5px}#locationSummary{max-width:calc(100vw - 100px)}}

.district-boundary{fill:transparent;stroke:#9d9181;stroke-width:.8;stroke-dasharray:3 2;vector-effect:non-scaling-stroke}.district-boundary:hover{fill:#c5bba82b}#districtNames{font-size:14px}.district-name{fill:#59656b;font-weight:500;text-anchor:middle;dominant-baseline:middle;paint-order:stroke;stroke:white;stroke-linejoin:round;pointer-events:none}.maptitle p.district-status{font-size:12px;margin-top:7px;color:#6d7579}.province-name{fill:#283f4a}

.district-boundary{fill-rule:evenodd}

.position-leader{stroke:#495962;stroke-width:1.5;stroke-dasharray:3 2;pointer-events:none}.position-anchor{fill:#495962;stroke:white;stroke-width:1;pointer-events:none}

.cluster-list button{display:flex;align-items:center;gap:10px}.expanded-icon{width:34px;height:34px;flex:0 0 34px}.inactive-pill{display:inline-block;font-size:10px;color:#774343;background:#f4e3e3;border-radius:4px;padding:2px 4px;margin-left:5px;font-weight:500}.cluster-list button:focus-visible{outline:2px solid #8d680d;outline-offset:-2px}

/* Keep the requested summary at the lower right, clear of the legend and controls. */
.map-bottom-info{position:absolute;left:30px;right:24px;bottom:63px;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px;pointer-events:none;z-index:1}
.map-bottom-info .legend{position:static;max-width:100%;flex:0 1 auto;margin:0}
.map-bottom-info .maptitle{position:static;flex:0 1 420px;max-width:100%;margin-left:auto;text-align:right;min-width:0}
.maptitle .eyebrow{letter-spacing:0;text-transform:none}.maptitle h2{text-transform:none}
.map-bottom-info #locationSummary{max-width:none}.maptitle .pending-labs{margin-left:auto;text-align:left}
@media(max-width:1100px){.map-bottom-info{gap:10px}.map-bottom-info .maptitle{flex-basis:100%}.maptitle h2{font-size:20px;margin:6px 0}.map-bottom-info .legend{padding:10px 12px}.map-bottom-info .legend p{margin-top:6px}}
@media(max-width:800px){.maparea{height:auto;min-height:0}#mapcanvas{height:56dvh;min-height:360px}.map-bottom-info{position:relative;left:auto;right:auto;bottom:auto;margin:0 15px 15px;gap:14px}.map-bottom-info .maptitle{flex-basis:100%}.map-bottom-info .legend{max-width:100%}.snapshot{position:relative;left:auto;right:auto;bottom:auto}.maptitle h2{font-size:19px}}

/* Shared accessible surfaces, with the original light appearance as default. */
:root{color-scheme:light;--surface:#fff;--soft:#f6f6f4;--selected:#f6f3ed;--muted:#656565;--map:#f0f3f4;--land:#fff;--land-line:#b8bebc;--land-active:#e7ddc6;--label:#283f4a;--halo:#fff;--district:#817565;--water:#607179;--tip:#222;--tip-text:#fff;--tip-muted:#ddd;--pill-bg:#f3f0e8;--pill-text:#6d521f;--notice-bg:#f5f5f3;--purple-bg:#f5eff8;--purple-text:#614173;--warning-bg:#fff1d7;--warning-text:#825109;--inactive-bg:#f4e3e3;--inactive-text:#774343;--focus:#90651a}
:root[data-theme="dark"]{color-scheme:dark;--ink:#f0ede6;--gold:#d9b46c;--line:#48515a;--surface:#20272e;--soft:#2a323a;--selected:#3b352b;--muted:#bfc6cb;--map:#151e26;--land:#303b44;--land-line:#687985;--land-active:#665334;--label:#f2eee4;--halo:#303b44;--district:#b3a58c;--water:#adbdc8;--tip:#10171d;--tip-text:#f0ede6;--tip-muted:#c4cbd0;--pill-bg:#443923;--pill-text:#f0ce8c;--notice-bg:#29323a;--purple-bg:#382d42;--purple-text:#dfc5ee;--warning-bg:#493619;--warning-text:#ffda96;--inactive-bg:#4a3034;--inactive-text:#ffc6c8;--focus:#f4cf83}
body,header,aside,.outline,select,.record,.mapcontrols button,.detail,dialog,.cluster-list button{background:var(--surface);color:var(--ink)}
button,input,select{color:inherit}input::placeholder{color:var(--muted);opacity:1}.searchbox,.close{background:var(--soft);color:var(--ink)}.record:hover,.record.selected,.cluster-list button:hover{background:var(--selected)}
.record,.cluster-list button,.location-details,.notice,.snapshot,.outline{border-color:var(--line)}
aside h2,.layer b,.record small,.sidefooter span,.searchbox button,.maptitle p,.legend p,.snapshot,.detail .sub,.detail dt,.update time,.notice,.empty,.contact-source,.contact-caution,.unverified,.cluster-list small,.layer-scope,.maptitle p.district-status{color:var(--muted)}
.sidefooter,.legend,.snapshot{background:var(--surface)}.maparea{background:var(--map)}a,.textbutton{color:var(--gold)}
.province{fill:var(--land);stroke:var(--land-line)}.province:hover,.province.chosen{fill:var(--land-active)}.maplabel{fill:var(--water)}.province-name,.district-name{fill:var(--label);stroke:var(--halo)}.district-boundary{stroke:var(--district)}.district-boundary:hover{fill:#c5bba838}
.tooltip{background:var(--tip);color:var(--tip-text)}.tooltip p{color:var(--tip-muted)}.pill,.copy-kep{background:var(--pill-bg);color:var(--pill-text)}.copy-kep{border-color:var(--gold)}.copy-status{color:var(--gold)}.notice{background:var(--notice-bg)}
.pending-labs{background:var(--purple-bg);border-color:var(--line)}.pending-labs strong,.pending-labs button,.pending-labs small{color:var(--purple-text)}.provisional-pill{background:var(--warning-bg);color:var(--warning-text)}.inactive-pill{background:var(--inactive-bg);color:var(--inactive-text)}.batibay-pill{background:#8D680D;color:#fff}
.position-leader{stroke:var(--muted)}.position-anchor{fill:var(--muted);stroke:var(--surface)}.batibay-marker:focus-visible .office-anchor{stroke:var(--focus)}
button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible,.marker:focus-visible,.facility-marker:focus-visible,.batibay-marker:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.searchbox:focus-within{outline:2px solid var(--focus);outline-offset:2px}
header .theme-toggle{margin-left:auto;white-space:nowrap}header #infoButton{margin-left:0}header{gap:22px}:root[data-theme="dark"] header img{background:#fff;border-radius:5px;padding:3px}:root[data-theme="dark"] .legend i,:root[data-theme="dark"] .layer i{background-color:#fff;border-radius:3px}
@media(max-width:800px){header{height:auto;min-height:84px;gap:10px;flex-wrap:wrap}.title{flex:1;padding-left:10px}header .theme-toggle{margin-left:auto}.theme-toggle,#infoButton{font-size:12px;padding:8px 10px}}
@media(prefers-reduced-motion:reduce){.province{transition:none}}
/* Outline only the three company arrows; preserve their exact brand fill and geographic tip. */
:root[data-theme="dark"] .office-arrow{filter:drop-shadow(0 0 1px #fff) drop-shadow(0 0 1px #fff)}

/* Keep camera frames independent of label collision and marker layout work. */
#map.camera-moving #provinceNames,#map.camera-moving #districtNames,#map.camera-moving #facilityMarkers,#map.camera-moving #batibayMarkers,#map.camera-moving #markers{opacity:0;pointer-events:none}
@media(min-width:801px){.maparea.province-focus{display:flex;flex-direction:column}.province-focus #mapcanvas{height:auto;flex:1;min-height:0}.province-focus .map-bottom-info{position:static;margin:8px 24px 14px;flex-shrink:0;gap:8px}.province-focus .map-bottom-info .maptitle{flex-basis:auto}.province-focus .maptitle h2{margin:4px 0}.province-focus .snapshot{position:static;flex-shrink:0}}
#provinceNames,#districtNames,#facilityMarkers,#batibayMarkers,#markers{transition:opacity .16s ease-out}#map.camera-moving #provinceNames,#map.camera-moving #districtNames,#map.camera-moving #facilityMarkers,#map.camera-moving #batibayMarkers,#map.camera-moving #markers{transition:none}@media(prefers-reduced-motion:reduce){#provinceNames,#districtNames,#facilityMarkers,#batibayMarkers,#markers{transition:none}}

/* Province identity colors are quiet until hover, keyboard focus, or selection. */
.province{--province-color:var(--province-light)}
:root[data-theme="dark"] .province{--province-color:var(--province-dark)}
.province:hover,.province.preview,.province.chosen,.province:focus-visible{fill:var(--province-color)}
/* Pointer focus must not draw the browser's rectangular SVG bounding-box outline. */
.province:focus:not(:focus-visible){outline:none}
.province:focus-visible{outline:none;stroke:var(--focus);stroke-width:2;vector-effect:non-scaling-stroke}
