:root{color-scheme:dark;font-family:system-ui,sans-serif;background:#081321;color:#e6edf7}*{box-sizing:border-box}body{margin:0}header,main{max-width:1500px;margin:auto;padding:18px}header{display:flex;gap:20px;align-items:center;border-bottom:1px solid #30455c}.brand{font-size:30px;font-weight:950;color:#f87171;text-decoration:none}h1{font-size:24px;margin:0}h2{font-size:18px}header p{margin:6px 0 0;color:#aabfd3}.beta{font-size:12px;border:1px solid #fbbf24;color:#fbbf24;border-radius:5px;padding:3px 6px;vertical-align:middle}.notice{padding:13px 16px;background:#13273b;border-left:4px solid #38bdf8;border-radius:8px;line-height:1.55;font-size:14px}a{color:#7dd3fc}.controls{display:flex;flex-wrap:wrap;align-items:end;gap:10px;margin:18px 0 8px}.controls label{display:flex;flex-direction:column;gap:5px;font-size:13px;color:#b9cede}.controls label:first-child{flex:1;min-width:220px}input,select,button{background:#15283d;color:#eef5ff;border:1px solid #48627e;border-radius:8px;font:inherit;padding:10px}button{cursor:pointer;font-weight:700}button:hover{background:#254463}button[aria-pressed=true]{background:#bae6fd;color:#082f49}button:focus-visible,a:focus-visible{outline:3px solid #fbbf24;outline-offset:3px}#status{font-weight:750;margin-bottom:4px}.muted,footer{color:#a9bed1;font-size:12px}.layout{display:grid;grid-template-columns:minmax(0,1fr) 315px;gap:14px}.map-panel{min-width:0}#map{height:65vh;min-height:420px;border:1px solid #48627e;border-radius:12px;background:#15273b}#details{padding:16px;border:1px solid #304b65;border-radius:12px;background:#102236;max-height:75vh;overflow:auto;overflow-wrap:anywhere}#details dl{font-size:14px}#details dt{color:#9eb8cf;margin-top:12px}#details dd{margin:3px 0;line-height:1.5}.detail-photo{display:block;max-width:150px;height:170px;object-fit:contain;background:#071321;border-radius:8px}footer{line-height:1.6;margin-top:18px}.registry-thumb{background:#13273b;border:2px solid #fff;border-radius:7px;box-shadow:0 2px 7px #0008;position:relative;text-align:center}.registry-thumb img{width:40px;height:44px;border-radius:5px;object-fit:cover;display:block}.registry-thumb .fallback{width:40px;height:44px;display:flex;align-items:center;justify-content:center;color:white;font-size:11px}.registry-thumb b{position:absolute;right:-10px;top:-9px;padding:3px 5px;background:#075985;border:1px solid white;color:white;border-radius:12px;font:700 11px system-ui}.leaflet-popup-content{max-height:260px;overflow:auto}.leaflet-popup-content button{display:block;width:100%;text-align:left;margin:5px 0;font-size:12px}.leaflet-popup-content a{color:#075985}.leaflet-container{color-scheme:light}.leaflet-control-attribution{font-size:10px}#unmapped-panel{padding:14px;border:1px solid #304b65;border-radius:10px;margin-top:12px}#unmapped-panel p{font-size:13px;color:#b3c9dd}.unmapped-row{display:block;width:100%;text-align:left;margin:6px 0;font-size:13px}.unmapped-row small{display:block;font-weight:400;margin-top:4px}#more[hidden]{display:none}@media(max-width:760px){header,main{padding:12px}header{gap:12px}h1{font-size:20px}.brand{font-size:24px}.layout{grid-template-columns:1fr}#map{height:55vh;min-height:340px}#details{max-height:none}.controls label{flex:1;min-width:135px}.controls label:first-child{flex-basis:100%}.controls button{flex:1;font-size:12px}.notice{font-size:12px}}
:root .registry-thumb.property-location{border:2px dashed #fbbf24}
.property-badge{position:absolute;right:-8px;bottom:-7px;background:#fbbf24;color:#172033;border:1px solid #fff;border-radius:4px;padding:1px 4px;font:800 10px system-ui}
.area-count{display:flex;align-items:center;justify-content:center;background:#075985;color:#fff;border:2px solid #bae6fd;border-radius:50%;text-align:center;font:800 13px/1 system-ui;box-shadow:0 1px 5px #0008}
.area-count.area-cluster{background:#0c4a6e;border:3px solid #7dd3fc;font-size:17px;box-shadow:0 0 0 5px #38bdf830,0 2px 8px #0008}
.area-person-photo{background:#075985;border:2px solid #bae6fd;border-radius:7px;box-shadow:0 2px 6px #0008;text-align:center;overflow:hidden;}
.area-person-photo img{display:block;width:40px;height:39px;object-fit:cover;}
.area-person-photo small{display:block;color:white;font:800 9px/13px system-ui;letter-spacing:.06em;}
.area-person-photo .fallback{display:block;font:10px/18px system-ui;color:white;}
.refresh-panel{margin:14px 0;padding:12px 16px;background:#102236;border:1px solid #48627e;border-radius:10px;font-size:13px;line-height:1.5;overflow-wrap:anywhere;}
.refresh-panel summary{cursor:pointer;font-weight:800;color:#bae6fd;}
.refresh-panel input[type=file]{display:block;max-width:100%;margin:7px 0;}
.refresh-panel button{margin:6px 8px 6px 0;white-space:normal;}
.refresh-panel button:disabled{opacity:.5;cursor:default;}
.refresh-panel table{width:100%;border-collapse:collapse;margin:10px 0;}
.refresh-panel th,.refresh-panel td{text-align:left;padding:7px;border-bottom:1px solid #48627e;}
.refresh-panel .review-warning{padding:8px;border-left:3px solid #fbbf24;background:#493415;color:#fef3c7;}
.refresh-panel .review-confirm{display:flex;align-items:flex-start;gap:10px;margin:12px 0;}
.review-confirm input{flex:0 0 auto;margin-top:4px;}
.review-record{padding:8px 0;border-bottom:1px solid #304b65;}
.review-record p{white-space:pre-wrap;margin:4px 0;}
.refresh-panel .review-approve{background:#075985;border-color:#38bdf8;}
/* Give the registry map more room without changing markers or approximate zones. */
#map{height:75vh;min-height:480px}
@media(max-width:760px){#map{height:65vh;min-height:390px}}
