:root{--ink:#142d35;--muted:#637780;--line:#e1e8e9;--teal:#167d79;--teal-dark:#126862;--teal-soft:#e8f5f1;--paper:#fff;--bg:#f4f7f7;--shadow:0 8px 32px #122a3220;--parcel:#ebbd58;--building:#f18964;--part:#b79df2;--pool:#55cbe8}
*{box-sizing:border-box}html,body{height:100%;margin:0}body{color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px;background:var(--bg);-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}a{color:var(--teal)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #45bcb5;outline-offset:3px}button,input,select{min-width:0}button{touch-action:manipulation}[hidden]{display:none!important}h1,h2,h3,p{margin:0}button svg{width:18px;height:18px;flex-shrink:0}.skip-link{position:fixed;top:-100px;left:10px;z-index:3000;padding:12px;background:white}.skip-link:focus{top:10px}.app-header{height:70px;padding:0 24px;background:#122a32;color:white;display:flex;align-items:center;gap:30px;border-bottom:1px solid #ffffff15}.brand{display:flex;align-items:center;gap:10px}.brand-mark{width:33px;height:36px;border:1px solid #6ea19f;border-radius:9px 3px 9px 3px;display:grid;place-items:center;font-size:23px;font-weight:650;color:#afe3d9;transform:skew(-4deg)}.brand-name{font-size:18px;letter-spacing:3px;font-weight:720;display:block;line-height:1.1}.brand-subtitle{font-size:8px;letter-spacing:2.1px;color:#acbec3;display:block;margin-top:5px}.header-context{font-size:12px;color:#c3d0d3;display:flex;align-items:center;gap:8px;margin-left:20px}.status-dot{width:6px;height:6px;background:#81c9ad;border-radius:50%}.connection-status{margin-left:auto;max-width:330px;font-size:11px;color:#c3d0d3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.connection-status.error{color:#ffbcaa}.app-layout{display:grid;grid-template-columns:338px minmax(0,1fr);height:calc(100dvh - 70px);min-height:510px}.sidebar{padding:24px 20px 20px;background:var(--paper);border-right:1px solid var(--line);overflow-y:auto;z-index:800;scrollbar-width:thin}.eyebrow{font-size:9px;font-weight:750;letter-spacing:1.35px;color:var(--teal)}.intro h1{font-size:24px;letter-spacing:-.8px;font-weight:680;line-height:1.2;margin:9px 0}.intro p{color:var(--muted);font-size:12px;line-height:1.5;max-width:265px}.preset-row{display:flex;gap:5px;margin:17px 0 22px}.preset-button{padding:8px 9px;min-height:36px;border:1px solid var(--line);border-radius:6px;font-size:11px;font-weight:600;background:white;color:#526b74;white-space:nowrap}.preset-button.active{border-color:var(--teal);color:var(--teal);background:var(--teal-soft)}.preset-button:hover{border-color:#6caaa4}.field-label{display:block;font-size:11px;font-weight:700;margin-bottom:7px}.search-box{display:flex;align-items:center;gap:9px;border:1px solid #ccd9db;border-radius:8px;height:44px;padding:0 0 0 11px;background:#fff}.search-box:focus-within{border-color:var(--teal);box-shadow:0 0 0 3px #167d7912}.search-box svg{width:17px;height:17px;color:#799096;flex-shrink:0}.search-box input{border:0;outline:0!important;width:100%;font-size:12px;background:transparent;color:var(--ink)}.search-box button{border:0;border-left:1px solid var(--line);background:#f4f8f7;height:42px;min-width:40px;border-radius:0 7px 7px 0;color:var(--teal);font-size:20px}.field-help{color:#7b8d93;font-size:10px;line-height:1.5;margin-top:6px}.search-status{font-size:11px;color:var(--muted);line-height:1.5;margin-top:8px}.search-status:empty{display:none}.search-results{max-height:250px;overflow-y:auto;scrollbar-width:thin;margin-top:6px}.search-result{display:block;width:100%;text-align:left;padding:11px 9px;border:0;border-bottom:1px solid var(--line);background:#f7faf9;border-radius:4px;color:var(--ink)}.search-result:hover{background:var(--teal-soft)}.search-result strong{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;display:block;overflow-wrap:anywhere}.search-result span{display:block;font-size:10px;color:var(--muted);line-height:1.4;margin-top:4px}.search-result small{display:block;font-size:9px;color:var(--teal);margin-top:3px}.filter-panel{margin-top:23px}.filters-toggle{display:none}.municipality-field select{width:100%;height:39px;padding:0 32px 0 10px;border:1px solid #d5dfe1;border-radius:6px;color:#344e58;background:white;font-size:12px}.layer-fieldset{padding:0;margin:24px 0 8px;border:0}.layer-fieldset legend{font-size:11px;font-weight:700;padding:0;margin-bottom:9px}.layer-row{display:flex;gap:10px;align-items:center;min-height:48px;border-bottom:1px solid #edf1f1;cursor:pointer}.layer-copy{flex:1;min-width:0}.layer-copy strong{font-size:11px;font-weight:600;display:block}.layer-copy small{display:block;color:#86969c;font-size:9px;margin-top:4px;line-height:1.25}.layer-row input[type=checkbox]{accent-color:var(--teal);width:16px;height:16px;flex-shrink:0;margin:0 2px 0 0}.layer-swatch{width:17px;height:17px;flex-shrink:0;border:1.5px solid currentColor;border-radius:3px;transform:rotate(-7deg)}.layer-swatch.parcels{color:#b99732;background:#f3db9e40}.layer-swatch.buildings{color:#dc8c63;background:#f1896440}.layer-swatch.parts{color:#8d75c6;background:#b79df240}.layer-swatch.pools{color:#3eacca;background:#55cbe840}.imagery-row{padding:11px 9px;border:1px solid #d8e7e2;border-radius:7px;background:#f3f9f6;gap:9px}.imagery-icon{width:22px;color:#639886;font-size:23px}.imagery-row input{position:absolute;opacity:0;width:1px!important;height:1px!important}.switch{width:30px;height:18px;background:#b8c9c7;border-radius:14px;position:relative;flex-shrink:0;transition:background .2s}.switch:before{content:"";position:absolute;top:3px;left:3px;width:12px;height:12px;background:white;border-radius:50%;transition:transform .2s;box-shadow:0 1px 2px #0002}.imagery-row input:checked+.switch{background:var(--teal)}.imagery-row input:checked+.switch:before{transform:translateX(12px)}.imagery-row input:focus-visible+.switch{outline:3px solid #45bcb5;outline-offset:3px}.imagery-status{font-size:9px;color:#7d908b;margin:6px 0 8px;line-height:1.4;min-height:13px}.imagery-status.error{color:#b35638}.opacity-label{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);margin-top:15px}.opacity-label output{font-variant-numeric:tabular-nums;color:var(--teal)}input[type=range]{width:100%;accent-color:var(--teal);margin:10px 0 2px;min-height:24px}.coverage-card{background:#f5f8f8;border:1px solid #e2ebea;border-radius:8px;padding:13px 12px;margin-top:18px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:6px}.section-heading h2{font-size:10px;font-weight:700}.text-button{border:0;background:transparent;color:var(--teal);font-size:10px;padding:5px;min-height:28px}.stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:9px;gap:10px}.stat-grid strong{font-size:18px;font-weight:650;display:block;letter-spacing:-.6px;font-variant-numeric:tabular-nums}.stat-grid span{font-size:8px;color:#778b91;display:block;margin-top:3px}.coverage-note{font-size:9px;line-height:1.55;color:#6d8289;margin-top:13px;border-top:1px solid #e0e9e8;padding-top:11px}.coverage-card summary{font-size:10px;color:var(--teal);margin-top:10px;cursor:pointer;min-height:24px;padding:4px 0}.coverage-municipalities{max-height:220px;overflow:auto;margin-top:5px}.municipality-coverage-row{padding:7px 0;font-size:10px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:3px;justify-content:space-between}.municipality-coverage-row strong{font-weight:600}.municipality-coverage-row span{color:var(--muted);font-size:9px}.sidebar-footnote{font-size:9px;line-height:1.5;color:#91a1a5;margin-top:19px}.sidebar-footnote p{margin-top:6px}.map-section{position:relative;overflow:hidden;min-width:0;background:#d7dfd9}#map{height:100%;width:100%;background-color:#e6ece8;background-image:linear-gradient(#c8d4cc35 1px,transparent 1px),linear-gradient(90deg,#c8d4cc35 1px,transparent 1px);background-size:40px 40px;outline:none}.map-topbar{position:absolute;z-index:600;top:17px;left:18px;right:18px;display:flex;gap:9px;align-items:center;pointer-events:none}.map-location{display:flex;align-items:center;gap:7px;background:#fffef5f5;border:1px solid #fff8;padding:10px 13px;font-size:11px;font-weight:650;border-radius:7px;box-shadow:0 3px 12px #13302716;max-width:calc(100% - 130px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-location-dot{width:6px;height:6px;background:var(--teal);border-radius:50%;flex-shrink:0}.map-button{pointer-events:auto;display:flex;align-items:center;gap:7px;border:1px solid #fff9;border-radius:7px;background:#ffffffed;padding:9px 11px;font-size:10px;font-weight:600;color:#3e5b63;min-height:36px;box-shadow:0 3px 12px #13302716}.map-button:hover{background:#fff}.map-message{position:absolute;z-index:600;left:18px;top:68px;max-width:min(470px,calc(100% - 36px));padding:8px 11px;display:flex;align-items:center;gap:7px;color:#45666b;background:#ffffffec;border:1px solid #e5ecec;border-radius:6px;font-size:10px;line-height:1.5;box-shadow:0 2px 10px #13302710;pointer-events:none}.map-message.warning{background:#fff8e9f5;color:#8b642c;border-color:#eeddb6}.map-message.error{background:#fff0ecf5;color:#a14d38;border-color:#ebc7bb}.loading-indicator{display:inline-block;flex-shrink:0;width:10px;height:10px;border:2px solid #b4d5cd;border-top-color:var(--teal);border-radius:50%;animation:spin .8s linear infinite}.map-legend{position:absolute;z-index:600;bottom:27px;left:18px;display:flex;flex-wrap:wrap;gap:12px;padding:8px 10px;background:#17323be6;color:#fff;border-radius:6px;font-size:9px;box-shadow:0 3px 12px #13302716;pointer-events:none}.map-legend span{display:flex;align-items:center;gap:5px}.map-legend i{width:9px;height:9px;border:1px solid;border-radius:2px}.map-legend .parcels{border-color:var(--parcel);background:#ebbd5833}.map-legend .buildings{border-color:var(--building);background:#f1896466}.map-legend .parts{border-color:var(--part);background:#b79df266}.map-legend .pools{border-color:var(--pool);background:#55cbe866}.leaflet-control-attribution{font-size:8px!important;background:#fffffff0!important;color:#678084!important;max-width:100%;line-height:1.5!important}.leaflet-control-attribution a{color:#357b76!important}.leaflet-control-zoom{border:0!important;box-shadow:0 2px 15px #17323b20!important;overflow:hidden;border-radius:7px!important}.leaflet-control-zoom a{color:#36555e!important;width:34px!important;height:34px!important;line-height:34px!important;font-size:18px!important}.leaflet-bottom.leaflet-right .leaflet-control-zoom{margin-bottom:45px}.leaflet-control-scale{margin-bottom:9px!important;opacity:.85}.leaflet-control-scale-line{background:#ffffffe0!important;font-size:8px!important;border-color:#5e7878!important;color:#3e5c65!important}.leaflet-tooltip{border:1px solid #d9e4e2!important;box-shadow:0 3px 14px #17323b18!important;border-radius:5px!important;font-size:11px!important;color:#254b53!important;padding:7px 9px!important}.parcel-tooltip strong{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px}.parcel-tooltip span{display:block;font-size:9px;margin-top:3px;max-width:240px;white-space:normal}.detail-panel{position:absolute;z-index:900;top:17px;right:17px;bottom:46px;width:352px;max-width:calc(100% - 34px);border-radius:12px;background:#fff;box-shadow:0 12px 48px #0e283a36;display:flex;flex-direction:column;overflow:hidden;border:1px solid #e6ecea}.detail-header{padding:18px 15px 15px;display:flex;justify-content:space-between;gap:9px;border-bottom:1px solid #eaf0ee}.detail-header .eyebrow{font-size:8px;letter-spacing:1.2px;margin-bottom:8px}.detail-header h2{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-weight:650;font-size:16px;overflow-wrap:anywhere;line-height:1.3}.detail-subtitle{font-size:10px;line-height:1.5;color:#799097;margin-top:4px;max-width:255px}.icon-button{border:1px solid var(--line);border-radius:7px;background:white;width:31px;height:31px;flex-shrink:0;font-size:22px;color:#758c94;line-height:1}.icon-button:hover{background:#f2f6f5;color:#263d44}.detail-tabs{display:flex;overflow-x:auto;flex-shrink:0;scrollbar-width:none;border-bottom:1px solid #e5eeeb;padding:0 8px;gap:2px}.detail-tabs button{flex:1;padding:13px 6px 12px;border:0;border-bottom:2px solid transparent;background:white;font-size:10px;font-weight:600;color:#86969c;white-space:nowrap;min-height:44px}.detail-tabs button[aria-selected=true]{color:var(--teal);border-bottom-color:var(--teal)}.tab-badge{background:#edf4f1;border-radius:4px;padding:2px 4px;margin-left:2px;font-size:8px}.detail-body{padding:15px;overflow-y:auto;flex:1;min-height:0;scrollbar-width:thin}.detail-loading{font-size:12px;color:var(--teal);padding:16px 0}.inline-error{font-size:11px;line-height:1.6;padding:11px;background:#fff2ed;border:1px solid #f0d5c9;border-radius:6px;color:#a6533a;margin-bottom:10px}.property-fields{margin:0;display:grid;grid-template-columns:minmax(0,1fr);gap:0}.property-field{display:grid;grid-template-columns:105px minmax(0,1fr);padding:9px 0;border-bottom:1px solid #edf1f0;gap:9px}.property-field dt{font-size:10px;color:#84949a;line-height:1.5}.property-field dd{font-size:11px;line-height:1.5;font-weight:550;margin:0;color:#36535c;overflow-wrap:anywhere}.property-field .mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px}.composition-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:16px 0}.composition-item{background:#f4f8f6;padding:10px 7px;text-align:center;border-radius:6px}.composition-item strong{display:block;font-size:18px;font-weight:600;color:#36766d}.composition-item span{display:block;font-size:9px;color:#8a9d9f;margin-top:3px}.information-note{font-size:10px;color:#7d9095;line-height:1.65;padding:11px;background:#f6f8f7;border-radius:6px;margin:12px 0}.primary-button,.secondary-button{border-radius:6px;font-size:11px;font-weight:600;padding:11px 13px;min-height:41px;line-height:1.45}.primary-button{border:1px solid var(--teal);background:var(--teal);color:white}.primary-button:hover{background:var(--teal-dark)}.secondary-button{border:1px solid #d6e7e0;background:#f0f8f5;color:var(--teal)}.secondary-button:hover{background:#e5f3ec}.full-width{width:100%}.units-list{display:grid;gap:7px;margin-top:14px}.unit-card{width:100%;text-align:left;padding:11px 10px;border:1px solid #dfe9e5;border-radius:7px;background:white;color:#345963}.unit-card:hover,.unit-card.selected{border-color:var(--teal);background:#f1f9f5}.unit-card strong{display:block;overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px;line-height:1.4}.unit-card span{display:block;color:#7d9299;font-size:10px;line-height:1.5;margin-top:4px}.unit-card small{display:block;font-size:9px;color:var(--teal);margin-top:5px}.empty-state{font-size:11px;line-height:1.7;color:#83959b;padding:14px 2px}.empty-state strong{display:block;color:#52777c;font-size:12px;margin-bottom:5px}.unit-detail{border-top:2px solid #9bc9b7;margin-top:18px;padding-top:14px}.unit-detail h3,.construction-heading{font-size:12px;margin:3px 0 11px;font-weight:650}.unit-detail .unit-reference{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--teal);font-size:10px;margin-bottom:9px;overflow-wrap:anywhere}.construction-table-wrap{overflow-x:auto;margin:10px 0 17px}.construction-table{border-collapse:collapse;width:100%;font-size:10px}.construction-table th{text-align:left;background:#f0f5f3;color:#6b898a;font-weight:550;padding:8px 6px;border-bottom:1px solid #dbe6e1;white-space:nowrap}.construction-table td{padding:8px 6px;border-bottom:1px solid #e9efec;color:#4d6a73;vertical-align:top;line-height:1.4}.construction-table td:last-child{text-align:right}.construction-card{padding:10px;border:1px solid #e1ebe7;border-radius:7px;margin:9px 0}.construction-card h3{font-size:10px;overflow-wrap:anywhere;margin:0 0 5px;color:#4f7777}.construction-card p{font-size:10px;line-height:1.6;color:#809499}.addresses-list{list-style:none;padding:0;margin:0}.addresses-list li{padding:12px 0;border-bottom:1px solid #e4ece9;font-size:11px;line-height:1.6;color:#5b7780}.addresses-list .address-index{font-size:9px;color:var(--teal);display:block;margin-bottom:3px}.detail-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 15px;background:#fbfcfc;border-top:1px solid #e3ece8;flex-shrink:0;min-height:47px}.detail-footer a{font-size:10px;text-decoration:none;min-height:25px;display:flex;align-items:center}.source-link{font-weight:600}.export-link{color:#7c9298}.toast{position:fixed;z-index:2000;bottom:22px;left:50%;transform:translateX(-50%);max-width:min(480px,calc(100vw - 30px));padding:13px 17px;border-radius:8px;background:#16313af5;color:#fff;font-size:12px;line-height:1.5;box-shadow:var(--shadow)}.noscript{position:fixed;z-index:3000;inset:30%;background:white;padding:30px}.map-section.details-open .map-topbar{right:385px}.map-section.details-open .map-message{max-width:calc(100% - 420px)}
.cat-import-card{margin-top:15px;border:1px solid #deebe5;padding:13px 12px;border-radius:8px;background:#fbfdfb}.cat-import-card>.section-heading{margin-bottom:8px}.cat-import-card>.section-heading h2{font-size:10px}.cat-import-card>p,.cat-instructions-text{font-size:10px;line-height:1.65;color:#7b9094;margin-bottom:11px}.source-badge{font-size:8px;letter-spacing:1px;background:#e3f1e9;color:#448374;padding:3px 5px;border-radius:3px}.cat-import-card .secondary-button{font-size:10px;min-height:36px;padding:8px}.cat-instructions-text{margin-top:12px}.cat-import-card .source-link{font-size:10px;line-height:1.5;display:inline-block;margin-bottom:14px}.cat-import-card .field-label{font-size:10px}.cat-import-card input[type=file]{font-size:9px;width:100%;border:1px solid #dbe7e2;padding:7px 5px;border-radius:5px;background:white;margin-bottom:9px;color:#6b858b}.cat-import-card input[type=file]::file-selector-button{font-size:9px;padding:7px;border:0;border-radius:3px;background:#eaf3ee;color:#35796e;cursor:pointer}.cat-import-card .primary-button{font-size:10px;min-height:36px;padding:8px}.cat-import-status{font-size:10px;line-height:1.65;color:#548579;margin-top:10px;overflow-wrap:anywhere}.cat-import-status.error{color:#ab5e43}
@keyframes spin{to{transform:rotate(360deg)}}
@media(min-width:1500px){.app-layout{grid-template-columns:360px minmax(0,1fr)}.sidebar{padding:28px 24px}.intro h1{font-size:27px}.detail-panel{width:380px}.map-section.details-open .map-topbar{right:413px}.map-section.details-open .map-message{max-width:calc(100% - 448px)}}
@media(max-width:1100px) and (min-width:761px){.app-layout{grid-template-columns:300px minmax(0,1fr)}.sidebar{padding:20px 15px}.intro h1{font-size:22px}.preset-button{padding:8px 7px;font-size:10px}.detail-panel{width:320px;right:10px;top:10px}.map-section.details-open .map-topbar,.map-section.details-open .map-message{visibility:hidden}.map-legend{gap:8px;font-size:8px}.property-field{grid-template-columns:95px minmax(0,1fr)}}
@media(max-width:760px){.app-header{height:58px;padding:0 15px;gap:10px}.brand-mark{width:28px;height:31px;font-size:19px}.brand-name{font-size:15px;letter-spacing:2.6px}.brand-subtitle{font-size:7px;letter-spacing:1.55px;margin-top:4px}.header-context{display:none}.connection-status{font-size:9px;max-width:185px}.app-layout{display:flex;flex-direction:column;height:calc(100dvh - 58px);min-height:550px}.sidebar{padding:13px 14px 10px;flex:0 0 auto;max-height:49dvh;border-right:0;border-bottom:1px solid #cfddda;overflow-y:auto;box-shadow:0 4px 15px #16313a0c}.intro{display:none}.preset-row{margin:0 0 10px;gap:6px}.preset-button{min-height:33px;padding:7px 10px;font-size:10px;flex:1}.search-form .field-label{position:absolute;left:-9999px}.search-box{height:42px}.search-box input{font-size:16px}.search-box button{height:40px;min-width:44px}.search-box input::placeholder{font-size:12px}.field-help{font-size:9px;margin-top:4px}.filters-toggle{display:flex;width:100%;justify-content:space-between;align-items:center;border:0;background:white;color:#437f78;padding:6px 1px 0;font-size:10px;font-weight:600;min-height:29px}.filters-toggle span:last-child{font-size:15px}.filter-panel{display:none;margin-top:12px}.sidebar.controls-expanded .filter-panel{display:block}.sidebar.controls-expanded .filters-toggle span:last-child{transform:rotate(180deg)}.municipality-field select{font-size:16px;height:43px}.municipality-field .field-label{font-size:11px}.layer-fieldset{margin-top:18px}.layer-row{min-height:52px}.layer-copy strong{font-size:12px}.layer-copy small{font-size:10px}.layer-row input[type=checkbox]{width:20px;height:20px}.layer-fieldset legend{font-size:12px}.imagery-status{font-size:10px}.search-results{max-height:180px}.search-result{min-height:50px;padding:11px}.search-result strong{font-size:12px}.search-result span{font-size:11px}.map-section{flex:1;min-height:320px}.map-topbar{top:12px;left:12px;right:12px;gap:6px}.map-location{padding:9px 10px;max-width:calc(100% - 110px);font-size:10px}.map-button{font-size:9px;padding:8px;gap:5px}.map-button svg{width:15px;height:15px}.map-message{top:58px;left:12px;max-width:calc(100% - 24px);font-size:9px;padding:7px 9px}.map-legend{left:12px;bottom:28px;font-size:8px;gap:9px;padding:7px 9px}.leaflet-control-attribution{max-width:100%;font-size:7px!important}.detail-panel{position:fixed;top:auto;left:0;right:0;bottom:0;width:100%;max-width:100%;max-height:76dvh;min-height:320px;z-index:1200;border-radius:17px 17px 0 0;box-shadow:0 -10px 50px #0d2d3b35;padding-bottom:env(safe-area-inset-bottom,0)}.detail-header{padding:17px 17px 13px}.detail-header h2{font-size:16px}.detail-subtitle{max-width:290px}.detail-tabs{padding:0 11px}.detail-tabs button{font-size:11px;padding:13px 7px;min-height:47px}.detail-body{padding:15px 17px;min-height:130px;max-height:calc(76dvh - 180px)}.detail-panel .icon-button{width:36px;height:36px}.detail-footer{padding:10px 17px;min-height:49px}.detail-footer a{font-size:11px}.property-field{grid-template-columns:112px minmax(0,1fr)}.property-field dt{font-size:11px}.property-field dd{font-size:12px}.map-section.details-open .map-topbar{right:12px}.map-section.details-open .map-message{max-width:calc(100% - 24px)}.information-note{font-size:11px}.unit-card{min-height:65px}.unit-card strong{font-size:11px}.unit-card span{font-size:11px}.primary-button,.secondary-button{font-size:12px;min-height:44px}.toast{bottom:15px;font-size:11px}.sidebar-footnote{font-size:10px}.coverage-note{font-size:10px}.stat-grid span{font-size:9px}}
@media(max-width:380px){.preset-button{font-size:9px;padding:7px 6px}.connection-status{max-width:145px;font-size:8px}.detail-tabs button{font-size:10px;padding:13px 5px}.map-legend{gap:6px;font-size:7px}.map-button span{display:none}.map-location{max-width:calc(100% - 45px)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition:none!important;scroll-behavior:auto!important}}

/* National navigation stays bounded: only a small result page enters the DOM. */
.scope-switch{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin:16px 0 10px;padding:4px;border:1px solid var(--line);border-radius:9px;background:var(--nixan-control)}
.scope-switch button{min-height:36px;padding:7px 9px;border:1px solid transparent;border-radius:6px;font-size:11px;font-weight:650;color:var(--muted);background:transparent}
.scope-switch button[aria-pressed=true]{border-color:var(--accent);background:var(--teal-soft);color:var(--text)}
.scope-switch button:hover:not(:disabled){color:var(--ice);background:var(--nixan-hover)}
.scope-switch button:disabled{cursor:default}
.scope-switch+.preset-row{margin-top:10px}
.national-presets{display:flex;gap:5px;flex-wrap:wrap;margin:0 0 18px}
.national-presets button{flex:1;min-height:34px;padding:7px 5px;border:1px solid var(--line);border-radius:6px;background:var(--nixan-control);color:var(--ice);font-size:10px;white-space:nowrap}
.national-presets button:hover,.national-presets button.active{border-color:var(--accent);background:var(--teal-soft)}
.national-municipality-field{margin-bottom:14px}
.national-municipality-field>input{width:100%;height:40px;border:1px solid #b9d8df55;border-radius:6px;padding:0 10px;color:var(--text);background:var(--nixan-control);font-size:12px}
.national-municipality-field>input::placeholder{color:var(--muted)}
.municipality-results{max-height:224px;overflow-y:auto;margin-top:6px;scrollbar-width:thin;scrollbar-color:#406269 transparent}
.municipality-result{display:block;width:100%;text-align:left;margin:4px 0;padding:9px 10px;min-height:45px;border:1px solid var(--line);border-radius:6px;color:var(--text);background:var(--nixan-control)}
.municipality-result:hover,.municipality-result:focus-visible{border-color:var(--accent);background:var(--nixan-hover)}
.municipality-result strong{display:block;font-size:11px;line-height:1.4;overflow-wrap:anywhere}
.municipality-result small{display:block;font-size:9px;line-height:1.6;color:var(--muted);margin-top:3px}
.national-source-note{margin-top:9px;padding:9px 10px;border-left:2px solid var(--accent);border-radius:0 5px 5px 0;background:var(--teal-soft);font-size:9px;line-height:1.65;color:var(--muted)}
.national-scope .stat-grid{grid-template-columns:minmax(0,1fr);gap:8px}
.national-scope .stat-grid>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.national-scope .stat-grid strong{font-size:19px;white-space:nowrap;letter-spacing:-.3px}
.national-scope .stat-grid span{margin-top:0;font-size:10px;text-align:right;line-height:1.4}
.national-extra-layers{margin-top:9px}
.national-extra-layers summary{padding:8px 0;color:var(--ice);font-size:10px;line-height:1.5;cursor:pointer}
.layer-swatch.elements{color:#f0a1d9;background:#f0a1d926}
.layer-swatch.subparcels{color:#c7d890;background:#c7d89026}
.layer-swatch.addresses{color:#8de4c0;background:#8de4c026;border-radius:50%;transform:none}
.layer-swatch.zonings{color:#9cb7ff;background:#9cb7ff26}
.layer-swatch.other{color:#a5bbc9;background:#a5bbc926}
.map-legend .addresses{border-color:#8de4c0;background:#8de4c033;border-radius:50%}
.national-source-fields{margin:12px 0;padding:9px;border:1px solid var(--line);border-radius:6px}
.national-source-fields summary{font-size:10px;line-height:1.6;color:var(--ice);cursor:pointer}
.national-source-fields .property-field{grid-template-columns:minmax(90px,.8fr) minmax(0,1fr)}
.national-source-fields dt{overflow-wrap:anywhere}
.national-related-record{display:block;width:100%;text-align:left;padding:10px;margin:7px 0;border:1px solid var(--line);border-radius:6px;background:var(--nixan-control);color:var(--text)}
.national-related-record:hover{background:var(--nixan-hover);border-color:var(--accent)}
.national-related-record strong{display:block;font-size:11px;line-height:1.5;overflow-wrap:anywhere}
.national-related-record small{display:block;font-size:10px;line-height:1.6;color:var(--muted);margin-top:4px}
.map-section.map-updating .map-location-dot{box-shadow:0 0 0 3px #78b8b426}
@media(max-width:760px){.scope-switch{margin:0 0 9px;padding:3px}.scope-switch button{min-height:33px;font-size:10px}.national-presets{margin-bottom:10px}.national-presets button{min-height:33px;font-size:10px}.national-municipality-field>input{font-size:16px;height:43px}.national-municipality-field>input::placeholder{font-size:12px}.municipality-result{min-height:48px}.municipality-result strong{font-size:12px}.municipality-result small{font-size:10px}.national-source-note,.national-extra-layers summary,.national-source-fields summary{font-size:10px}.national-related-record{min-height:48px}}
