@import url("https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@400;500;600;700;800&display=swap");:root{--ink:#17251f;--muted:#748078;--line:#e6ebe7;--green:#137c55;--canvas:#f4f7f4}*{box-sizing:border-box}body,html{margin:0;height:100%;font-family:Be Vietnam Pro,system-ui,sans-serif;color:var(--ink);background:var(--canvas)}.app-shell{height:100vh;min-height:600px;display:flex;flex-direction:column}.topbar{height:76px;flex:none;background:#fff;border-bottom:1px solid var(--line);justify-content:space-between;padding:0 28px}.brand,.topbar{display:flex;align-items:center}.brand{gap:12px}.brand-mark{width:40px;height:40px;border-radius:12px;background:linear-gradient(145deg,#16865e,#0d6045);color:#fff;display:grid;place-items:center;font-weight:800;font-size:21px}.brand strong{font-size:17px;letter-spacing:-.5px}.brand strong span{color:var(--green)}.brand small{display:block;color:var(--muted);font-size:10px;margin-top:2px}.topbar-meta{font-size:10px;letter-spacing:1.1px;color:#65766c;font-weight:700;display:flex;align-items:center;gap:9px}.status-dot{width:7px;height:7px;background:#20a36c;border-radius:50%;display:inline-block}.workspace{display:grid;grid-template-columns:330px minmax(0,1fr);flex:1 1;min-height:0}.sidebar{background:#fff;border-right:1px solid var(--line);padding:25px 20px;display:flex;flex-direction:column;min-height:0}.eyebrow,.section-title{font-size:9px;letter-spacing:1.4px;color:#87948b;font-weight:800}.sidebar h1{font-size:20px;margin:7px 0 8px;letter-spacing:-.6px}.sidebar-intro{font-size:10px;line-height:1.7;color:var(--muted);margin:0}.panel-section{margin-top:30px}.section-title{margin-bottom:14px}.layer-row{display:flex;align-items:center;gap:11px;padding:12px 9px;border-bottom:1px solid #f0f3f0}.layer-row.active{background:#f5faf7;border-radius:8px;border:0}.layer-row>div{flex:1 1}.layer-row b{font-size:11px;font-weight:600;display:block}.layer-row small{font-size:9px;color:#8a968f;display:block;margin-top:3px;line-height:1.5}.layer-swatch{width:13px;height:13px;border-radius:4px;border:1px solid #c7d3ca;flex:none}.basemap{background:#dbeadd}.parcel{background:#fff;border:1px solid #d9a44b}.planning{background:#f2d0ce}.admin{background:#d7ddf5}.layer-state{font-size:8px;color:#a1aaa4;font-weight:700}.layer-state.available{color:var(--green)}.notice{margin-top:28px;background:#f7f9f7;border:1px solid #e9eee9;padding:13px;border-radius:9px}.notice p,.notice strong{font-size:10px}.notice p{line-height:1.7;color:#748078;margin:7px 0 0}.sidebar-footer{margin-top:auto;padding-top:18px;font-size:9px;color:#a0aaa3}.map-stage{position:relative;min-width:0;min-height:0;padding:16px}.map-wrap{height:100%;width:100%;position:relative;overflow:hidden;border:1px solid #e1e8e2;border-radius:12px;background:#e7eee8}.map-canvas{position:absolute;inset:0}.maplibregl-ctrl-logo{display:none!important}.maplibregl-ctrl-group{border:0!important;box-shadow:0 2px 12px #1b38251c!important}.map-search{position:absolute;z-index:2;top:14px;left:14px;display:flex;background:#fff;padding:5px;border-radius:8px;box-shadow:0 2px 12px #1b38251c;gap:5px}.map-search input{width:min(250px,45vw);border:0;outline:0;padding:0 8px;font:inherit;font-size:11px}.map-search button{border:0;background:var(--green);color:#fff;border-radius:5px;padding:8px 11px;font:inherit;font-size:10px;cursor:pointer}.map-tools{position:absolute;right:13px;top:85px;display:flex;flex-direction:column;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 12px #1b38251c}.map-tools button{width:36px;height:36px;border:0;background:#fff;font-size:19px;color:#43544a;cursor:pointer}.map-tools button+button{border-top:1px solid #edf0ed}.map-tools button:hover{background:#f1f7f2}.coordinate-pill{position:absolute;bottom:14px;left:14px;background:#fff;border:1px solid #e4eae5;border-radius:7px;padding:8px 11px;font-size:10px;color:#516257;box-shadow:0 2px 10px #1b382511}.coordinate-pill span{color:var(--green);margin-right:5px}.map-caption{top:30px;right:30px;border-radius:6px;padding:8px 11px;font-size:9px;letter-spacing:.8px;font-weight:700;color:#526258;display:flex;gap:8px;align-items:center;pointer-events:none}.map-caption,.map-error,.map-message{position:absolute;background:#fff;box-shadow:0 2px 10px #1b382511}.map-error,.map-message{z-index:3;left:14px;top:65px;border:1px solid #e6ebe7;border-radius:7px;padding:10px 12px;font-size:10px}.map-error{color:#a13d32}.map-message{top:auto;bottom:52px;max-width:min(420px,80%);display:flex;gap:12px;align-items:center}.map-message button{border:0;background:none;font-size:16px;cursor:pointer;color:#65766c}@media(max-width:760px){.workspace{grid-template-columns:1fr;grid-template-rows:auto minmax(350px,1fr)}.sidebar{padding:16px}.panel-section{margin-top:16px}.layer-row{padding:8px}.notice,.sidebar-footer{display:none}.map-stage{padding:9px}.topbar{padding:0 15px}.topbar-meta{font-size:8px}}.search-results{position:absolute;z-index:4;top:61px;left:14px;width:min(390px,calc(100% - 28px));max-height:300px;overflow:auto;background:#fff;border:1px solid #e4eae5;border-radius:9px;box-shadow:0 8px 24px #1b382522;padding:5px}.search-results button{display:block;width:100%;text-align:left;border:0;background:#fff;padding:10px;border-radius:6px;cursor:pointer}.search-results button:hover{background:#f2f7f3}.search-results strong{display:block;font-size:10px;font-weight:600;color:#26382d}.search-results small{display:block;font-size:9px;color:#8a968f;margin-top:3px}.search-results button+button{border-top:1px solid #f0f3f0}