:root{--brand: #e04e27;--navy: #12355b;--navy-2: #1d4a7a;--accent: #1f6fb2;--accent-hover: #185a92;--bg: #f3f5f8;--surface: #ffffff;--border: #d9dee6;--text: #1c2430;--muted: #637083;--danger: #b42318;--danger-bg: #fdecea;--warn: #8a5a00;--radius: 8px;--shadow: 0 1px 2px rgba(16, 24, 40, .06), 0 1px 3px rgba(16, 24, 40, .1);font-family:Segoe UI,system-ui,-apple-system,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;color:var(--text);background:var(--bg)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}h1{font-size:1.6rem;margin:0 0 4px}h2{font-size:1.1rem;margin:0 0 8px}h3{font-size:.95rem;margin:0 0 6px}.muted{color:var(--muted)}.small{font-size:.85em}code{background:#eef1f5;padding:0 4px;border-radius:4px;font-size:.9em}input,select{font:inherit;color:inherit;padding:6px 8px;border:1px solid var(--border);border-radius:6px;background:#fff;width:100%;min-width:0}input:focus-visible,select:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}input[type=checkbox]{width:auto}label{display:flex;flex-direction:column;gap:4px;font-weight:500;color:#33404f}label.check{flex-direction:row;align-items:center;gap:8px;font-weight:400;cursor:pointer}label.inline{flex-direction:row;align-items:center;gap:8px;font-weight:400}label.inline span{flex:0 0 96px;color:var(--muted)}div.inline{display:flex;align-items:center;gap:8px}.color-row>span:first-child,.font-row>span:first-child{flex:0 0 96px;color:var(--muted)}.color-row select{width:auto;flex:1}.range-row .range-value{flex:none}fieldset{border:1px solid var(--border);border-radius:var(--radius);padding:8px 10px 10px;margin:0}legend{padding:0 4px;color:var(--muted);font-weight:500}button{font:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.6}.btn-primary,.btn,.btn-ghost{border-radius:6px;padding:7px 14px;border:1px solid transparent;font-weight:600}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn{background:#fff;border-color:var(--border);color:var(--text)}.btn:hover:not(:disabled){background:#f5f7fa}.btn-ghost{background:transparent;color:inherit;border-color:#ffffff59;padding:4px 10px}.btn-ghost:hover{background:#ffffff1a}.link{background:none;border:none;padding:0;color:var(--accent);text-decoration:underline}.link:disabled{color:var(--text);text-decoration:none;opacity:1}.link.left{align-self:flex-start}.btnrow{display:flex;gap:8px}.alert{padding:8px 12px;border-radius:6px;background:#eef4fb;border:1px solid #cfe0f3}.alert.error{background:var(--danger-bg);border-color:#f5c2bd;color:var(--danger)}.text-danger{color:var(--danger)}.nowrap{white-space:nowrap}.warn{color:var(--warn)}.badge{background:#f2b705;color:#3b2a00;font-size:.75rem;font-weight:700;padding:2px 8px;border-radius:999px}.badge.live{background:#1f9d55;color:#fff}.login-mode{margin:-4px 0 0;font-size:.85rem}.stack{display:flex;flex-direction:column;gap:10px}.stack.tight{gap:6px}.row2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.shell{position:relative;display:grid;height:100%;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);grid-template-areas:"content"}.content{grid-area:content;min-height:0;min-width:0;overflow:hidden}.kept-page{height:100%;overflow:auto}.kept-page[hidden]{display:none}.shell.menu-pinned.menu-left{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"menu content"}.shell.menu-pinned.menu-right{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"content menu"}.shell.menu-pinned.menu-top{grid-template-rows:auto minmax(0,1fr);grid-template-areas:"menu" "content"}.shell.menu-pinned.menu-bottom{grid-template-rows:minmax(0,1fr) auto;grid-template-areas:"content" "menu"}.app-menu{--menu-w: 228px;background:var(--navy);color:#fff;z-index:60;display:flex;min-width:0;min-height:0}.menu-pinned .app-menu{grid-area:menu;position:relative}.app-menu.vertical{width:var(--menu-w)}.menu-left .app-menu{border-right:3px solid var(--brand)}.menu-right .app-menu{border-left:3px solid var(--brand)}.menu-top .app-menu{border-bottom:3px solid var(--brand)}.menu-bottom .app-menu{border-top:3px solid var(--brand)}.menu-auto .app-menu{position:absolute;transition:transform .18s ease,box-shadow .18s ease}.menu-auto .app-menu.open{transform:none;box-shadow:0 8px 28px #10182859}.menu-auto.menu-left .app-menu{top:0;bottom:0;left:0;transform:translate(-100%)}.menu-auto.menu-right .app-menu{top:0;bottom:0;right:0;transform:translate(100%)}.menu-auto.menu-top .app-menu{top:0;left:0;right:0;transform:translateY(-100%)}.menu-auto.menu-bottom .app-menu{bottom:0;left:0;right:0;transform:translateY(100%)}.menu-auto .app-menu.open{transform:none}.menu-auto .app-menu:after{content:"";position:absolute}.menu-auto.menu-left .app-menu:after{top:0;bottom:0;left:100%;width:6px}.menu-auto.menu-right .app-menu:after{top:0;bottom:0;right:100%;width:6px}.menu-auto.menu-top .app-menu:after{left:0;right:0;top:100%;height:6px}.menu-auto.menu-bottom .app-menu:after{left:0;right:0;bottom:100%;height:6px}.menu-auto .app-menu.open:after{display:none}.app-menu-handle{position:absolute;display:grid;place-items:center;padding:0;border:none;background:var(--navy);box-shadow:0 2px 8px #1018284d;cursor:pointer;transition:opacity .15s;z-index:1}.app-menu-handle img{width:16px;height:16px}.app-menu-handle:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.app-menu.open .app-menu-handle{opacity:0}.menu-left .app-menu-handle{left:100%;top:50%;width:20px;height:60px;margin-top:-30px;border-radius:0 10px 10px 0;border-left:3px solid var(--brand)}.menu-right .app-menu-handle{right:100%;top:50%;width:20px;height:60px;margin-top:-30px;border-radius:10px 0 0 10px;border-right:3px solid var(--brand)}.menu-top .app-menu-handle{top:100%;left:50%;width:60px;height:20px;margin-left:-30px;border-radius:0 0 10px 10px;border-top:3px solid var(--brand)}.menu-bottom .app-menu-handle{bottom:100%;left:50%;width:60px;height:20px;margin-left:-30px;border-radius:10px 10px 0 0;border-bottom:3px solid var(--brand)}.menu-auto .app-menu:not(.open) .app-menu-body{visibility:hidden;transition:visibility 0s linear .18s}.app-menu-body{flex:1;min-width:0;min-height:0;overflow:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.25) transparent}.app-menu.vertical .app-menu-body{padding:10px 10px 14px}.app-menu.horizontal .app-menu-body{display:flex;align-items:flex-start;gap:14px;padding:6px 12px 8px}.app-menu-brand{display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px;padding:2px 2px 8px}.app-menu.horizontal .app-menu-brand{flex-direction:column;align-items:flex-start;flex:none;padding:6px 0 0}.brand-logo{height:18px;width:auto;display:block}.brand-name{font-weight:700;font-size:.95rem;letter-spacing:.01em;white-space:nowrap}.app-menu-group{min-width:0}.app-menu.horizontal .app-menu-group{flex:none}.app-menu-group h2{margin:10px 2px 5px;font-size:.66rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#ffffff8c}.app-menu.horizontal .app-menu-group h2{margin:2px 2px 4px}.app-menu-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.app-menu.horizontal .app-menu-tiles{display:flex;gap:5px}.app-menu-page:empty{display:none}.app-menu.horizontal .app-menu-page{display:flex;gap:14px;flex:none}.mtile{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:3px;min-width:0;padding:7px 4px 6px;border-radius:10px;border:1px solid transparent;background:#ffffff0f;color:#d6e4f3;font:inherit;font-size:.72rem;line-height:1.15;text-align:center;text-decoration:none;cursor:pointer}.app-menu.horizontal .mtile{width:74px;flex:none}.mtile:hover:not(:disabled):not(.passive){background:#ffffff24;color:#fff}.mtile:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.mtile.current{background:var(--navy-2);border-color:var(--brand);color:#fff}.mtile.passive{cursor:default}.mtile:disabled{opacity:.45;cursor:default}.mtile-icon{position:relative;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#ffffff1a;color:#fff;flex:none}.mtile[aria-pressed=true] .mtile-icon{background:var(--accent)}.mtile.tone-primary .mtile-icon{background:var(--brand)}.mtile.tone-primary:hover:not(:disabled) .mtile-icon{background:#c8421f}.mtile-dot{position:absolute;top:1px;right:1px;width:9px;height:9px;border-radius:50%;background:#34d399;border:2px solid var(--navy)}.mtile-label{overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.mtile-stat{font-weight:700;color:#fff;font-size:.74rem;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.app-menu-place{grid-column:1 / -1;display:flex;gap:4px}.app-menu.horizontal .app-menu-place{display:grid;grid-template-columns:repeat(2,30px);gap:4px}.app-menu-place button{flex:1;display:grid;place-items:center;height:30px;min-width:30px;padding:0;border-radius:7px;border:1px solid rgba(255,255,255,.18);background:transparent;color:#d6e4f3}.app-menu.horizontal .app-menu-place button{height:27px;width:30px}.app-menu-place button:hover{background:#ffffff1f;color:#fff}.app-menu-place button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff}.app-menu-note{grid-column:1 / -1;margin:2px 2px 0;font-size:.68rem;color:#ffffff8c}.app-menu.horizontal .app-menu-note{display:none}.menu-showmap{grid-column:1 / -1;display:grid;grid-template-columns:82px minmax(0,1fr);gap:6px}.app-menu.horizontal .menu-showmap{display:flex;gap:5px}.menu-checks{display:flex;flex-direction:column;justify-content:center;gap:3px;min-width:0}.app-menu.horizontal .menu-checks{width:120px}.mcheck{display:flex;flex-direction:row;align-items:center;gap:5px;min-width:0;padding:3px 5px;border-radius:7px;background:#ffffff0f;border:1px solid transparent;color:#d6e4f3;font-size:.72rem;line-height:1.15;cursor:pointer}.mcheck:hover{background:#ffffff24;color:#fff}.mcheck.on{color:#fff;border-color:#ffffff38}.mcheck input{margin:0;width:13px;height:13px;flex:none;accent-color:var(--brand);cursor:pointer}.mcheck:focus-within{outline:2px solid var(--brand);outline-offset:1px}.mcheck .type-swatch{width:9px;height:9px}.mcheck-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mcheck-stat{font-weight:700;color:#fff;font-variant-numeric:tabular-nums;white-space:nowrap}.menu-checkgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.app-menu.horizontal .menu-checkgrid{grid-template-columns:repeat(3,86px)}.mcheck.compact{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"box stat" "label label";gap:2px 4px;align-items:center;padding:4px 5px 5px;font-size:.68rem;min-height:44px}.mcheck.compact input{grid-area:box;width:12px;height:12px}.mcheck.compact .mcheck-stat{grid-area:stat;justify-self:end;font-size:.68rem}.mcheck.compact .mcheck-label{grid-area:label;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:break-word;-webkit-hyphens:manual;hyphens:manual;line-height:1.15}.shell.menu-auto.menu-left{--menu-edge-left: 18px}.shell.menu-auto.menu-right{--menu-edge-right: 18px}.shell.menu-auto.menu-top{--menu-edge-top: 16px}.shell.menu-auto.menu-bottom{--menu-edge-bottom: 16px}.shell.menu-auto.menu-left .kept-page:not(:has(>.map-page)){padding-left:20px}.shell.menu-auto.menu-right .kept-page:not(:has(>.map-page)){padding-right:20px}.shell.menu-auto.menu-top .kept-page:not(:has(>.map-page)){padding-top:20px}.shell.menu-auto.menu-bottom .kept-page:not(:has(>.map-page)){padding-bottom:20px}.center-screen{display:grid;place-items:center;height:100%}.login-page{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;height:100%;padding:16px;background:linear-gradient(160deg,var(--navy) 0%,#0b2440 100%)}.login-logo{height:34px;width:auto}.login-icon{border-radius:8px;flex:none}.login-card{width:100%;max-width:360px;background:var(--surface);border-radius:12px;padding:28px;display:flex;flex-direction:column;gap:14px;box-shadow:0 20px 40px #0000004d}.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:6px}.login-brand p{margin:0}.page{padding:28px 32px;max-width:1100px}.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin-top:20px}.tile{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:18px;text-decoration:none;color:inherit;box-shadow:var(--shadow);transition:border-color .15s,transform .15s}.tile:hover{border-color:var(--accent);transform:translateY(-1px)}.tile h2{color:var(--navy)}.tile p{margin:0;color:var(--muted)}.split{display:grid;grid-template-columns:300px 1fr;height:100%;min-height:0}.panel{background:var(--surface);border-right:1px solid var(--border);padding:16px;overflow:auto}.results{padding:16px 20px;overflow:auto;min-width:0;display:flex;flex-direction:column;gap:12px}.empty{color:var(--muted);padding:40px 0;text-align:center}.colfilter{display:grid;grid-template-columns:120px 1fr;align-items:center;gap:8px;padding:3px 0}input.small{padding:4px 6px;font-size:.9em}.filter-help summary{cursor:pointer;color:var(--accent)}.filter-help ul{margin:6px 0 0;padding-left:18px;color:var(--muted);line-height:1.7}.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.crumbs .sep{color:var(--muted);margin-right:6px}.toolbar{display:flex;align-items:center;gap:16px}.toolbar>button{margin-left:auto}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:auto;box-shadow:var(--shadow)}table.grid{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums}table.grid th{position:sticky;top:0;background:#f7f9fb;text-align:left;font-weight:600;color:#3d4a5c;border-bottom:1px solid var(--border);padding:8px 12px;white-space:nowrap}table.grid td{padding:7px 12px;border-bottom:1px solid #eef1f5;white-space:nowrap}table.grid .num{text-align:right}table.grid tr.clickable{cursor:pointer}table.grid tr.clickable:hover td{background:#eef5fc}.navlist{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:2px}.navlist button{width:100%;text-align:left;background:none;border:none;border-radius:6px;padding:8px 10px;display:flex;flex-direction:column;gap:2px}.navlist button:hover{background:#f1f4f8}.navlist button.active{background:#e3eefa;color:var(--navy);font-weight:600}.results.embed{padding:0}.results.embed>.alert,.results.embed>.empty{margin:16px}.embed-frame{border:0;width:100%;height:100%;flex:1}.page-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.page-title>h1,.page-title>h2{margin:0;min-width:0}.default-module-btn{flex:none;display:grid;place-items:center;width:30px;height:30px;padding:0;border-radius:50%;border:1px solid var(--border);background:var(--surface);color:var(--navy);cursor:pointer;font-size:1rem;line-height:1}.default-module-btn:hover:not(.is-default){border-color:var(--accent);background:#eef4fb}.default-module-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.default-module-btn.is-default{color:#e3a008;cursor:default}.maplibregl-ctrl-group .default-module-btn.map-ctrl-btn{width:29px;height:29px;border:0;border-radius:4px;background:transparent}.app-menu-start{grid-column:1 / -1;display:flex;flex-direction:column;gap:3px;margin:2px 0;font-size:.7rem;color:#ffffffb3;font-weight:600}.app-menu-start select{font:inherit;font-size:.78rem;font-weight:500;padding:4px 6px;border-radius:7px;border:1px solid rgba(255,255,255,.25);background:var(--navy-2);color:#fff}.app-menu.horizontal .app-menu-start{width:128px}.mtile-star{position:absolute;right:-4px;bottom:-3px;font-size:.8rem;line-height:1;color:#f5c518;text-shadow:0 0 2px var(--navy),0 0 2px var(--navy)}.map-page{position:relative;height:100%}.map-page>.map{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.map-panel{position:absolute;top:calc(12px + var(--menu-edge-top, 0px));right:calc(12px + var(--menu-edge-right, 0px));bottom:calc(12px + var(--menu-edge-bottom, 0px));width:340px;background:var(--surface);border-radius:10px;box-shadow:0 4px 16px #1018282e;overflow:hidden;display:flex;flex-direction:column}.map-panel{z-index:20}.map-panel.dock-left{right:auto;left:calc(12px + var(--menu-edge-left, 0px))}.map-toast{position:absolute;top:calc(12px + var(--menu-edge-top, 0px));right:calc(12px + var(--menu-edge-right, 0px));width:min(340px,calc(100% - 24px));z-index:20;display:flex;flex-direction:column;gap:6px;padding:8px;background:var(--surface);border-radius:10px;box-shadow:0 4px 16px #1018282e}.map-toast.dock-left{right:auto;left:calc(56px + var(--menu-edge-left, 0px))}.map-page .maplibregl-ctrl-top-left{margin-left:var(--menu-edge-left, 0px);margin-top:var(--menu-edge-top, 0px)}.map-page .maplibregl-ctrl-bottom-right{margin-right:var(--menu-edge-right, 0px)}.map-panel-head{display:flex;align-items:center;gap:8px;padding:6px 6px 5px 12px;flex:none;background:#f7f9fb;border-bottom:1px solid var(--border);-webkit-user-select:none;user-select:none;touch-action:none}.map-panel-grip{width:8px;height:14px;flex:none;opacity:.55;background:radial-gradient(circle,#637083 1.2px,transparent 1.4px) 0 0 / 4px 4px}.map-panel-name{flex:1;font-size:.8rem;font-weight:700;color:var(--navy);text-transform:uppercase;letter-spacing:.04em}.panel-tools{display:flex;gap:2px}.panel-tools button{border:none;background:none;width:28px;height:24px;border-radius:5px;color:var(--muted);display:grid;place-items:center;padding:0}.panel-tools button:hover{background:#e6ebf1;color:var(--text)}.panel-tools button[aria-pressed=true]{background:#e3eefa;color:var(--accent)}.panel-icon{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round}.panel-icon .fill{fill:currentColor;stroke:none;opacity:.55}.map-page.panel-left .maplibregl-ctrl-top-left{left:356px}.map-panel>.tabs{margin:0;padding:4px 8px 0;flex:none}.map-panel-body{flex:1;min-height:0;overflow:auto;padding:12px 14px}.map-panel-foot{flex:none;border-top:1px solid var(--border);padding:10px 14px;display:flex;flex-direction:column;gap:8px;background:#fafbfc}.map-panel h3{font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0}.tabs{display:flex;border-bottom:1px solid var(--border);margin:-2px -2px 2px}.tabs button{flex:1;background:none;border:none;padding:8px 4px;color:var(--muted);border-bottom:2px solid transparent;font-weight:600;position:relative;white-space:nowrap}.tabs button[aria-selected=true]{color:var(--navy);border-bottom-color:var(--accent)}.tabs button.on:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#1f9d55;margin-right:5px;vertical-align:middle}.tabs sup{background:var(--accent);color:#fff;border-radius:999px;font-size:.65rem;padding:0 5px;margin-left:3px}.presets{display:flex;flex-wrap:wrap;gap:6px}.chip{border:1px solid var(--border);background:#fff;border-radius:999px;padding:3px 10px;font-size:.85em;color:var(--text)}.chip:hover{border-color:var(--accent);color:var(--accent)}.type-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px 8px;padding:6px 8px;border:1px solid var(--border);border-radius:var(--radius)}.type-row .type-summary{grid-column:1 / -1;padding-left:24px}.type-header{padding:8px 10px;border-radius:var(--radius);background:#f4f8fd;border:1px solid #cfe0f3;font-weight:600}.type-swatch{width:12px;height:12px;border-radius:3px;display:inline-block;flex:none}.type-swatch.flights{background:linear-gradient(135deg,#339 50%,#d9731a 50%)}.type-swatch.complaints{background:#e0457b;border-radius:50%}.type-swatch.noise{background:#0e7c66;border-radius:50%;box-shadow:0 0 0 2px #bfe3da}details.section{border:1px solid var(--border);border-radius:var(--radius);padding:6px 10px}details.section>summary{cursor:pointer;font-weight:600;color:var(--navy)}details.section[open]>summary{margin-bottom:8px}.tabs.kind-tabs{display:flex;gap:2px;margin:4px -14px 0;padding:0 10px;border-bottom:1px solid var(--border);position:sticky;top:-12px;background:var(--surface);z-index:1}.tabs.kind-tabs button{display:inline-flex;align-items:center;justify-content:center;gap:5px}.kind-tabs .type-swatch{width:10px;height:10px}.kind-tab-count{font-size:.72rem;font-weight:700;color:var(--muted);font-variant-numeric:tabular-nums}.kind-pane{padding-top:10px}details.help{background:#fbfcfe}details.help p,details.help ul{margin:0 0 6px;color:#3d4a5c;line-height:1.5}details.help ul{padding-left:18px}.color-row{justify-content:space-between}.breaks{display:flex;flex-direction:column;gap:5px}.breaks>div{display:flex;align-items:center;gap:8px}.breaks input.small[type=number]{width:56px}.breaks>div{flex-wrap:wrap;row-gap:4px}.monitor-list{max-height:170px;overflow:auto;display:flex;flex-direction:column;gap:3px}label.small{font-size:.9em}.info-card{border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;background:#fafbfc}.info-card dl{margin:0;display:grid;gap:3px}.info-card dl div{display:grid;grid-template-columns:100px 1fr}.info-card dt{color:var(--muted)}.info-card dd{margin:0;font-weight:500}.swatch{display:inline-block;width:14px;height:14px;border-radius:3px}.view-toggle{display:flex;align-items:center;gap:0;flex-wrap:wrap;row-gap:8px}.view-toggle>button{border:1px solid var(--border);background:#fff;padding:5px 14px;font-weight:600;color:var(--muted)}.view-toggle>button:first-child{border-radius:6px 0 0 6px}.view-toggle>button:nth-child(2){border-radius:0 6px 6px 0;border-left:none}.view-toggle>button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff}.view-toggle .exaggeration{margin-left:12px;flex:1;min-width:150px}.view-toggle .exaggeration span{flex:0 0 auto}.view-toggle .exaggeration input{padding:0}.hint{margin:-4px 0 0}.load-progress{border:1px solid #cfe0f3;background:#f4f8fd;border-radius:var(--radius);padding:10px 12px;display:flex;flex-direction:column;gap:7px}.load-progress-head,.load-progress-foot{display:flex;align-items:center;justify-content:space-between;gap:10px}.load-progress-label{font-weight:600;color:var(--navy)}.load-bar{height:8px;background:#dde7f2;border-radius:999px;overflow:hidden;position:relative}.load-bar>div{height:100%;background:var(--accent);border-radius:999px;transition:width .25s ease}.load-bar.indeterminate>div{position:absolute;width:35%;animation:load-slide 1.3s ease-in-out infinite}@keyframes load-slide{0%{left:-35%}to{left:100%}}@media(prefers-reduced-motion:reduce){.load-bar.indeterminate>div{animation:none;left:0;width:100%;opacity:.45}}.btn-cancel{padding:3px 12px;color:var(--danger);border-color:#f0c4bf}.btn-cancel:hover{background:var(--danger-bg)!important}.notice{padding:6px 10px;border-radius:6px;background:#fff8e6;border:1px solid #f3dca0;color:#6b4e00}.map-legend{position:absolute;left:12px;bottom:28px;background:#fffffff0;border-radius:8px;box-shadow:var(--shadow);padding:6px 10px;display:flex;flex-wrap:wrap;gap:4px 14px;max-width:calc(100% - 380px)}.map-legend:empty{display:none}.map-legend.vertical{flex-direction:column;flex-wrap:nowrap;align-items:flex-start;gap:4px;max-height:calc(100% - 96px);overflow-y:auto}.map-legend.vertical .legend-group{flex-direction:column;align-items:flex-start;gap:3px}.map-legend.vertical .legend-group>span:not(.legend-name){padding-left:4px}.map-legend span{display:flex;align-items:center;gap:6px;font-size:.85rem}.map-legend i{width:18px;height:3px;border-radius:2px;display:inline-block}.map-legend b{width:10px;height:10px;border-radius:50%;display:inline-block;border:1px solid #fff}.map-legend em{width:14px;height:10px;border-radius:2px;display:inline-block;border:1.5px solid}.map-legend .legend-group{gap:10px;flex-wrap:wrap}.map-legend .legend-group>span{display:flex;align-items:center;gap:5px}.map-legend .legend-name{font-weight:600}.map-labels{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}.layers-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.selected-row{padding:6px 8px;border:1px dashed var(--border);border-radius:var(--radius)}.layer-list{display:flex;flex-direction:column;gap:4px}.layer-item{border:1px solid var(--border);border-radius:var(--radius);background:#fff;position:relative}.layer-item.open{border-color:#b9cde4;box-shadow:0 1px 4px #10182814}.layer-item.dragging{opacity:.5}.layer-item.dim .layer-name>span:first-child{color:var(--muted)}.layer-item.drop-before:before,.layer-item.drop-after:after{content:"";position:absolute;left:0;right:0;height:3px;border-radius:2px;background:var(--accent)}.layer-item.drop-before:before{top:-4px}.layer-item.drop-after:after{bottom:-4px}.layer-line{display:flex;align-items:center;gap:6px;padding:4px 4px 4px 2px}.layer-line input[type=checkbox]{margin:0;flex:none}.layer-grip{width:14px;height:22px;flex:none;border:none;padding:0;cursor:grab;touch-action:none;background:radial-gradient(circle,#8391a3 1.2px,transparent 1.5px) 1px 1px / 5px 5px;border-radius:3px}.layer-grip:active{cursor:grabbing}.layer-grip:focus-visible{outline:2px solid var(--accent)}.layer-swatch{flex:none;display:inline-block}.layer-swatch.line{width:16px;height:4px;border-radius:2px}.layer-swatch.dot{width:12px;height:12px;border-radius:50%;box-shadow:0 0 0 1px #0003}.layer-swatch.area{width:14px;height:11px;border-radius:2px;border:1.5px solid}.layer-name{flex:1;min-width:0;text-align:left;border:none;background:none;padding:2px 0;font:inherit;font-size:.9rem;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.layer-opacity{width:58px;flex:none;padding:0}.layer-pct{width:32px;text-align:right;font-size:.72rem;color:var(--muted);font-variant-numeric:tabular-nums;flex:none}.layer-chevron{border:none;background:none;width:22px;height:22px;padding:0;color:var(--muted);flex:none;border-radius:4px}.layer-chevron:hover{background:#e6ebf1;color:var(--text)}.layer-detail{padding:4px 10px 10px 24px;border-top:1px solid #eef1f5}.layer-detail h4{margin:6px 0 0;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.layer-order{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.layer-order .chip{padding:1px 8px}.layer-order .chip:disabled{opacity:.45;pointer-events:none}.range-row input[type=range]{flex:1;min-width:60px;padding:0}.range-value{width:40px;text-align:right;font-size:.75rem;color:var(--muted);font-variant-numeric:tabular-nums;flex:none}.label-grid{display:grid;grid-template-columns:1fr 1fr;gap:3px;padding:4px;background:#f4f6f9;border-radius:6px}.label-grid select{width:100%;min-width:0}.font-row input[type=number]{width:56px}.font-toggle{width:28px;height:26px;border:1px solid var(--border);background:#fff;border-radius:5px;padding:0}.font-toggle[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff}.basemap-item{padding:2px 4px 0 6px}.basemap-title{cursor:default}.basemap-swatch{width:14px;height:11px;border-radius:2px;box-shadow:0 0 0 1px #0003}.basemap-swatch.streets{background:linear-gradient(135deg,#f3f3f1 0,#f3f3f1 42%,#fff 42%,#fff 56%,#e3e5e2 56%)}.basemap-swatch.osm{background:linear-gradient(135deg,#f2efe9 0,#f2efe9 42%,#f5c46b 42%,#f5c46b 56%,#cfe3c3 56%)}.basemap-swatch.street-names{background:#fff;box-shadow:inset 0 0 0 1px #c3cad3;background-image:linear-gradient(#4b5563,#4b5563);background-size:8px 2px;background-position:center;background-repeat:no-repeat}.basemap-swatch.aerial{background:linear-gradient(135deg,#3f5b37,#71804f 50%,#2d4a66)}.basemap-swatch.places{background:repeating-linear-gradient(0deg,#fff 0,#fff 2px,#5b6770 2px,#5b6770 3px)}.muted-toggle{font-size:.95rem}.muted-toggle[aria-pressed=true]{color:var(--accent);background:#e3eefa}.inline.wrap{flex-wrap:wrap;gap:4px 14px}.op-counts{margin:-4px 0 0}.map-popup{position:absolute;display:flex;flex-direction:column;min-width:220px;max-height:min(460px,62vh);background:var(--surface);border-radius:8px;box-shadow:0 6px 18px #1018283d;border:1px solid #d0d7e1}.map-popup.moved{box-shadow:0 10px 26px #1018284d}.map-popup-head{display:flex;align-items:center;gap:6px;padding:7px 6px 6px 12px;cursor:move;flex:none;border-bottom:1px solid #eef1f5;background:#f7f9fb;border-radius:8px 8px 0 0;-webkit-user-select:none;user-select:none;touch-action:none}.map-popup-title{flex:1;min-width:0;font-weight:700;font-size:.95rem;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.map-popup-close{border:none;background:none;font-size:20px;line-height:1;width:26px;height:26px;border-radius:5px;color:var(--muted);cursor:pointer;flex:none}.map-popup-close:hover{background:#e6ebf1;color:var(--text)}.map-popup-body{flex:1;min-height:0;overflow:auto;padding:8px 12px 10px}.map-popup-resize{position:absolute;right:0;bottom:0;width:16px;height:16px;cursor:nwse-resize;touch-action:none;background:linear-gradient(135deg,transparent 50%,#b7c1cd 50%,#b7c1cd 58%,transparent 58%,transparent 70%,#b7c1cd 70%,#b7c1cd 78%,transparent 78%);border-radius:0 0 8px}.map-popup-leader{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;overflow:visible}.map-popup-leader line{stroke:#1c2430;stroke-width:1.5;stroke-dasharray:4 3;opacity:.75}.map-popup-leader circle{fill:#fff;stroke:#1c2430;stroke-width:1.5}.popup-kind{font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;padding:1px 6px;border-radius:4px;color:#fff;font-weight:700}.popup-kind.track{background:#339}.popup-kind.pin{background:#c2185b}.popup-kind.noise{background:#0e7c66}.popup-kind.pca{background:#e04e27}.popup-grid{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;font-size:.85rem}.popup-grid dt{color:var(--muted);font-size:.75rem}.popup-grid dd{margin:0;font-weight:500;overflow-wrap:anywhere}.pca-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:4px}.pca-actions .small-btn{align-self:auto;padding:3px 8px}.pca-range{width:58px;padding:3px 6px}.popup-pca table button.link{font-variant-numeric:tabular-nums}.error-text{color:var(--danger)}label.inline span.unit{flex:none}.pca-detail{display:flex;flex-direction:column;gap:8px}.pca-triangle{display:block;width:100%;height:auto;background:#f7f9fb;border-radius:6px}.pca-scale{align-self:flex-end;margin-top:-4px}.pca-ground{stroke:#b9c3cf;stroke-width:1}.pca-leg{stroke:#5b6770;stroke-width:1.5;stroke-dasharray:4 3}.pca-right-angle{fill:none;stroke:#5b6770;stroke-width:1}.pca-slant{stroke:#e04e27;stroke-width:2.5}.pca-home{fill:#12355b}.pca-door{fill:#fff}.pca-plane{font-size:20px;fill:#12355b}.pca-arc{fill:none;stroke:#8391a3;stroke-width:1}.pca-label{font-size:10.5px;fill:#33404f;font-variant-numeric:tabular-nums}.pca-slant-label{fill:#b33a18;font-weight:700}.pca-caption{font-size:10px;fill:var(--muted)}.popup-fields{margin:0;display:grid;gap:2px;font-size:.85rem}.popup-fields div{display:grid;grid-template-columns:96px 1fr;gap:6px}.popup-fields dt{color:var(--muted)}.popup-fields dd{margin:0;font-weight:500}.popup-events{margin-top:8px;border-top:1px solid var(--border);padding-top:6px}.popup-events h4{margin:0 0 4px;font-size:.8rem;color:var(--muted)}.popup-events table{border-collapse:collapse;width:100%;font-size:.8rem;font-variant-numeric:tabular-nums}.popup-events th{text-align:left;color:var(--muted);font-weight:600;padding:1px 4px}.popup-events td{padding:1px 4px;border-top:1px solid #eef1f5;white-space:nowrap}.popup-events .num{text-align:right}.popup-events tr.exceeds td.num{color:var(--danger);font-weight:600}.popup-assoc{margin-top:8px;border-top:1px solid var(--border);padding-top:6px;font-size:.85rem}.popup-assoc h4{margin:0 0 2px;font-size:.8rem;color:var(--muted);display:flex;justify-content:space-between}.popup-assoc p{margin:2px 0}.popup-assoc .popup-events{margin-top:2px;border-top:0;padding-top:0;max-height:220px;overflow-y:auto}.map-page.panel-right .maplibregl-ctrl-bottom-right{right:356px}.popup-bar{position:absolute;top:12px;left:50%;transform:translate(-50%);background:#fffffff2;border-radius:999px;box-shadow:var(--shadow);padding:4px 14px;font-size:.85rem;display:flex;gap:10px;z-index:40}table.grid tr.group-start td{border-top:2px solid var(--border)}table.grid tr.selected td{background:#e3eefa}.color-alpha{display:inline-flex;align-items:center;gap:5px;flex:none}.color-alpha-swatch{position:relative;width:30px;height:22px;border-radius:4px;border:1px solid var(--border);overflow:hidden;flex:none;background:linear-gradient(var(--swatch),var(--swatch)),repeating-conic-gradient(#c9d0d9,#c9d0d9 25%,#fff 0%,#fff 50%) 0 0 / 8px 8px}.color-alpha-swatch input[type=color]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;padding:0;border:none;cursor:pointer}.color-alpha input[type=range]{width:58px;padding:0}.color-alpha-pct{width:32px;text-align:right;font-size:.75rem;color:var(--muted);font-variant-numeric:tabular-nums}.chip[aria-pressed=true]{border-color:var(--accent);background:#e3eefa;color:var(--navy)}.saved-note{margin-top:2px}.hover-tip{position:absolute;z-index:30;pointer-events:none;background:#1c2430f0;color:#fff;border-radius:6px;padding:6px 9px;font-size:.8rem;line-height:1.45;max-width:280px;box-shadow:0 4px 12px #00000040}.hover-tip .muted{color:#b8c2cf}.hover-tip .tip-level b{color:#ffd166}.noise-event{display:flex;flex-direction:column;gap:6px}.event-stats{display:grid;grid-template-columns:repeat(5,auto);gap:4px 12px;margin:0;font-size:.85rem}.event-stats dt{color:var(--muted);font-size:.75rem}.event-stats dd{margin:0;font-weight:600;font-variant-numeric:tabular-nums}.event-stats dd.exceeded{color:var(--danger)}.noise-event.compact .event-stats{grid-template-columns:repeat(3,auto)}.event-chart{margin:0}.event-chart svg{width:100%;height:auto;display:block;background:#fbfcfe;border:1px solid var(--border);border-radius:6px;cursor:crosshair}.event-chart text{font-size:10px;fill:#637083}.event-chart .axis-title{font-size:9px}.event-chart .grid{stroke:#e6eaf0}.event-chart .level-line{fill:none;stroke:#1f6fb2;stroke-width:1.6}.event-chart .sel-bar rect{fill:#f2c94c;opacity:.85}.event-chart .sel-bar text{fill:#8a5a00;font-weight:700}.event-chart .lmax-mark circle{fill:#d1341f}.event-chart .lmax-mark text{fill:#d1341f;font-weight:700}.event-chart .hover-mark line{stroke:#1c2430;stroke-dasharray:3 2}.event-chart .hover-mark circle{fill:#1c2430}.event-chart figcaption{margin-top:3px;min-height:1.3em}.event-flight{border-top:1px solid var(--border);padding-top:6px;display:flex;flex-direction:column;gap:6px}.event-flight h4{margin:0;font-size:.8rem;color:var(--muted)}.small-btn{padding:3px 10px;align-self:flex-start;font-size:.85rem}.event-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;box-shadow:var(--shadow);max-width:640px}.event-card-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:8px}.event-card-head h3{margin:0}table.grid td.exceeded{color:var(--danger);font-weight:700}@media(max-width:800px){.split{grid-template-columns:1fr;grid-template-rows:auto 1fr}.panel{border-right:none;border-bottom:1px solid var(--border);max-height:50vh}.map-panel,.map-panel.dock-left{top:auto!important;left:8px!important;right:8px;bottom:12px;width:auto;height:55%}.map-panel-head{cursor:default}.map-legend{max-width:calc(100% - 24px);bottom:auto;top:12px;left:56px}.map-page .maplibregl-ctrl-bottom-right,.map-page.panel-right .maplibregl-ctrl-bottom-right{right:0;bottom:55%}}.split.maint{grid-template-columns:220px 1fr}.maint-nav-group+.maint-nav-group{margin-top:14px}.maint-nav-title{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:600;margin:8px 0 0 10px}.maint-nav-group .navlist{margin-top:4px}.maint-head h1{font-size:1.3rem}.maint-head p{margin:0}.maint-records,.maint-pane{display:flex;flex-direction:column;gap:12px;min-height:0}.maint-search{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px}.maint-search label{min-width:120px}.maint-search input.narrow{width:120px}.maint-search-actions{display:flex;gap:8px;margin-left:auto}.maint-checks{display:flex;gap:14px;padding:4px 10px 6px}.maint-body{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;min-height:0}.maint-body.with-editor{grid-template-columns:minmax(0,1fr) minmax(340px,440px)}.maint-table{display:flex;flex-direction:column;gap:10px;min-width:0}.maint-table .table-wrap{max-height:calc(100vh - 290px)}table.grid tr.active-row td{background:#e3eefa}table.grid td.clip{max-width:260px;overflow:hidden;text-overflow:ellipsis}table.grid.compact td,table.grid.compact th{padding:4px 10px}table.grid.compact input{padding:4px 6px;width:100%;min-width:70px}table.grid tr.total td{border-top:2px solid var(--border)}table.grid.maint-log td.wrap{white-space:normal;min-width:320px}.maint-editor{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:12px 14px;align-self:start;position:sticky;top:0;max-height:calc(100vh - 200px);overflow:auto}.maint-editor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.maint-editor-head h3{margin:0 0 8px;font-size:1rem}.maint-form{display:flex;flex-direction:column;gap:10px}.maint-fieldset{display:flex;flex-direction:column;gap:6px}.maint-fieldset textarea{width:100%;font:inherit;padding:6px 8px;border:1px solid var(--border);border-radius:6px}.maint-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px}.maint-grid>label.wide{grid-column:1 / -1}.maint-grid label>span{font-size:.9em}.maint-grid textarea{width:100%;font:inherit;padding:6px 8px;border:1px solid var(--border);border-radius:6px}.maint-grid label.has-error input,.maint-grid label.has-error select{border-color:var(--danger)}.maint-grid small{font-weight:400}.req{color:var(--danger)}.maint-readonly{padding:6px 0;font-weight:400;color:var(--text)}input.upper{text-transform:uppercase}.maint-editor-actions{display:flex;flex-wrap:wrap;gap:8px}.maint-editor-actions .danger-outline{margin-left:auto}.btn.danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn.danger:hover:not(:disabled){background:#93190f}.btn.danger-outline{color:var(--danger);border-color:#f0b8b2}.btn.danger-outline:hover:not(:disabled){background:var(--danger-bg)}.maint-confirm{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px;padding:8px 10px;background:var(--danger-bg);border:1px solid #f5c2bd;border-radius:6px}.maint-confirm>span{flex:1 1 100%}.maint-confirm label{flex:1;min-width:200px}.inline-field{flex-direction:row;align-items:center;gap:10px}.inline-field select{max-width:460px}.maint-thresholds{display:flex;flex-direction:column;gap:12px;max-width:620px}.maint-timeline{position:relative;height:26px;background:#eef1f5;border-radius:6px;margin-bottom:16px}.maint-timeline-span{position:absolute;top:0;bottom:0;color:#fff;font-size:.8em;display:flex;align-items:center;justify-content:center;overflow:hidden}.maint-timeline-span.c0{background:#1f6fb2}.maint-timeline-span.c1{background:#12355b}.maint-timeline-span.c2{background:#e04e27}.maint-timeline-span.c3{background:#5b8c2a}.maint-timeline-span.c4{background:#8a5a00}.maint-timeline-tick{position:absolute;top:28px;transform:translate(-50%);font-size:.75em;color:var(--muted)}.maint-timeline-tick:first-of-type{transform:none}.maint-timeline-tick:last-of-type{transform:translate(-100%)}td.maint-missing{background:var(--danger-bg);color:var(--danger)}.bad{color:var(--danger);font-weight:600}.maint-cols{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-start}.maint-cols>table{width:auto}.maint-pane section h3{margin:6px 0}.maint-delete{display:flex;flex-direction:column;gap:10px;max-width:760px}.maint-job{display:flex;flex-direction:column;gap:8px;max-width:760px}.maint-job>button{align-self:flex-start}@media(max-width:1100px){.maint-body.with-editor{grid-template-columns:minmax(0,1fr)}.maint-editor{position:static;max-height:none}}.dt{display:flex;flex-direction:column;gap:8px;min-height:0}.dt-toolbar{flex-wrap:wrap;row-gap:6px}.dt-tools{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-left:auto}.dt-group-picker{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.dt-group-picker select{width:auto;padding:3px 6px;font-size:.9em}.dt-group-picker .chip{display:inline-flex;align-items:center;gap:4px}.dt-group-picker .chip .link{padding:0 2px}.dt-fields-wrap{position:relative}.dt-fields{position:absolute;right:0;top:calc(100% + 4px);z-index:20;width:250px;max-height:360px;overflow:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 6px 18px #1018282e;padding:8px 10px}.dt-fields-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.dt-fields ul{list-style:none;margin:0;padding:0}.dt-fields li{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:2px 0}.dt-move{display:flex;gap:2px}.dt-move .link:disabled{opacity:.3}table.grid th .dt-sort{background:none;border:none;padding:0;font:inherit;font-weight:600;color:inherit;cursor:pointer;text-align:inherit}table.grid th.num .dt-sort{width:100%;text-align:right}.dt-arrow{color:var(--accent)}table.grid.dt-table thead{position:sticky;top:0;z-index:2}table.grid.dt-table thead th{position:static}table.grid tr.dt-filters th{padding:3px 6px 5px;background:#f7f9fb}table.grid tr.dt-total th{background:#e9f0f8;border-bottom:2px solid #cbd8e6;font-weight:700;color:var(--navy)}.dt-total-rows{margin-left:6px;font-weight:400;color:var(--muted);font-size:.9em}table.grid tr.dt-filters input{width:100%;min-width:60px;font-weight:400}table.grid tr.dt-group td{background:#eef3f9;border-bottom:1px solid #dbe5f0;white-space:nowrap}table.grid tr.dt-group.depth-1 td{background:#f4f7fb}table.grid tr.dt-group.depth-2 td,table.grid tr.dt-group.depth-3 td{background:#f8fafc}.dt-toggle{background:none;border:none;padding:0 6px 0 0;cursor:pointer;color:var(--muted);font-size:.9em}.dt-group-stats{margin-left:12px;color:var(--muted);font-size:.9em}.dt.fill{height:100%;min-height:0}.dt.fill>.table-wrap{flex:1;min-height:0;overflow:auto}.dt-search{width:170px}.dt-sel{display:inline-flex;align-items:center;gap:6px;font-size:.9em}.dt-sel .chip{padding:1px 8px}table.grid tr.dt-selected td{background:#d7e7fa}table.grid tr.dt-selected:hover td{background:#c9def7}table.grid tr.dt-more td{text-align:center;color:var(--muted);background:#fafbfc}.dt-group-name{padding:0}.map-page .maplibregl-ctrl-bottom-left,.map-page .maplibregl-ctrl-bottom-right{bottom:var(--dock-space, 0px)}.map-dock{position:absolute;bottom:var(--menu-edge-bottom, 0px);z-index:12;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-bottom:none;border-radius:10px 10px 0 0;box-shadow:0 -4px 16px #10182824}.map-dock.collapsed{height:auto}.map-dock-resize{position:absolute;top:-4px;left:0;right:0;height:8px;cursor:ns-resize;z-index:1}.map-dock-resize:after{content:"";position:absolute;left:50%;top:2px;width:44px;height:4px;margin-left:-22px;border-radius:2px;background:#c7d0db}.map-dock-tabs{display:flex;align-items:center;gap:2px;padding:4px 8px 0;border-bottom:1px solid var(--border);flex:none;overflow-x:auto}.map-dock-tab{display:inline-flex;align-items:center;border:1px solid transparent;border-bottom:none;border-radius:6px 6px 0 0;margin-bottom:-1px}.map-dock-tab>button:first-child{background:none;border:none;padding:6px 4px 6px 10px;cursor:pointer;color:var(--muted);font:inherit;white-space:nowrap}.map-dock-tab.active{background:var(--surface);border-color:var(--border)}.map-dock-tab.active>button:first-child{color:var(--navy);font-weight:600}.map-dock-x{background:none;border:none;cursor:pointer;color:var(--muted);padding:4px 8px 4px 4px;font-size:.8em}.map-dock-x:hover{color:var(--danger)}.map-dock-sel{display:inline-block;margin-left:6px;background:var(--accent);color:#fff;border-radius:999px;font-size:.72rem;padding:0 6px;font-weight:600}.map-dock-tools{display:flex;align-items:center;gap:6px;margin-left:auto;padding:2px 0 4px 8px}.map-dock-body{flex:1;min-height:0;padding:8px 10px 6px}.map-dock-body .dt,.map-table-body .dt{font-size:.92em}.map-dock-body table.grid td,.map-table-body table.grid td{padding:4px 10px}.map-dock-body table.grid th,.map-table-body table.grid th{padding-top:5px;padding-bottom:5px}.map-table-empty{padding:24px 0}.map-dock-preview{position:absolute;bottom:0;height:90px;z-index:11;pointer-events:none;background:#1f6fb224;border:2px dashed var(--accent);border-radius:10px 10px 0 0}.map-table-float{position:absolute;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 10px 30px #10182840;overflow:hidden}.map-table-float.dragging{opacity:.93}.map-table-head{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--navy);color:#fff;cursor:move;-webkit-user-select:none;user-select:none;flex:none}.map-table-head .muted{color:#ffffffb3}.map-table-head .panel-tools{margin-left:auto;display:flex;align-items:center;gap:6px}.map-table-head .link{color:#fff}.map-table-body{flex:1;min-height:0;padding:8px 10px 14px}.map-table-resize{position:absolute;right:0;bottom:0;width:16px;height:16px;cursor:nwse-resize;background:linear-gradient(135deg,transparent 50%,#b7c2cf 50%,#b7c2cf 60%,transparent 60%,transparent 72%,#b7c2cf 72%,#b7c2cf 82%,transparent 82%)}.map-table-head .btn{background:#ffffff24;border-color:#fff6;color:#fff}.map-table-head .btn:hover:not(:disabled){background:#ffffff42}
