:root,:host{--ol-background-color: white;--ol-accent-background-color: #F5F5F5;--ol-subtle-background-color: rgba(128, 128, 128, .25);--ol-partial-background-color: rgba(255, 255, 255, .75);--ol-foreground-color: #333333;--ol-subtle-foreground-color: #666666;--ol-brand-color: #00AAFF}.ol-box{box-sizing:border-box;border-radius:2px;border:1.5px solid var(--ol-background-color);background-color:var(--ol-partial-background-color)}.ol-mouse-position{top:8px;right:8px;position:absolute}.ol-scale-line{background:var(--ol-partial-background-color);border-radius:4px;bottom:8px;left:8px;padding:2px;position:absolute}.ol-scale-line-inner{border:1px solid var(--ol-subtle-foreground-color);border-top:none;color:var(--ol-foreground-color);font-size:10px;text-align:center;margin:1px;will-change:contents,width;transition:all .25s}.ol-scale-bar{position:absolute;bottom:8px;left:8px}.ol-scale-bar-inner{display:flex}.ol-scale-step-marker{width:1px;height:15px;background-color:var(--ol-foreground-color);float:right;z-index:10}.ol-scale-step-text{position:absolute;bottom:-5px;font-size:10px;z-index:11;color:var(--ol-foreground-color);text-shadow:-1.5px 0 var(--ol-partial-background-color),0 1.5px var(--ol-partial-background-color),1.5px 0 var(--ol-partial-background-color),0 -1.5px var(--ol-partial-background-color)}.ol-scale-text{position:absolute;font-size:12px;text-align:center;bottom:25px;color:var(--ol-foreground-color);text-shadow:-1.5px 0 var(--ol-partial-background-color),0 1.5px var(--ol-partial-background-color),1.5px 0 var(--ol-partial-background-color),0 -1.5px var(--ol-partial-background-color)}.ol-scale-singlebar{position:relative;height:10px;z-index:9;box-sizing:border-box;border:1px solid var(--ol-foreground-color)}.ol-scale-singlebar-even{background-color:var(--ol-subtle-foreground-color)}.ol-scale-singlebar-odd{background-color:var(--ol-background-color)}.ol-unsupported{display:none}.ol-viewport,.ol-unselectable{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.ol-viewport canvas{all:unset;overflow:hidden}.ol-viewport{touch-action:pan-x pan-y}.ol-selectable{-webkit-touch-callout:default;-webkit-user-select:text;-moz-user-select:text;user-select:text}.ol-grabbing{cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.ol-grab{cursor:move;cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.ol-control{position:absolute;background-color:var(--ol-subtle-background-color);border-radius:4px}.ol-zoom{top:.5em;left:.5em}.ol-rotate{top:.5em;right:.5em;transition:opacity .25s linear,visibility 0s linear}.ol-rotate.ol-hidden{opacity:0;visibility:hidden;transition:opacity .25s linear,visibility 0s linear .25s}.ol-zoom-extent{top:4.643em;left:.5em}.ol-full-screen{right:.5em;top:.5em}.ol-control button{display:block;margin:1px;padding:0;color:var(--ol-subtle-foreground-color);font-weight:700;text-decoration:none;font-size:inherit;text-align:center;height:1.375em;width:1.375em;line-height:.4em;background-color:var(--ol-background-color);border:none;border-radius:2px}.ol-control button::-moz-focus-inner{border:none;padding:0}.ol-zoom-extent button{line-height:1.4em}.ol-compass{display:block;font-weight:400;will-change:transform}.ol-touch .ol-control button{font-size:1.5em}.ol-touch .ol-zoom-extent{top:5.5em}.ol-control button:hover,.ol-control button:focus{text-decoration:none;outline:1px solid var(--ol-subtle-foreground-color);color:var(--ol-foreground-color)}.ol-zoom .ol-zoom-in{border-radius:2px 2px 0 0}.ol-zoom .ol-zoom-out{border-radius:0 0 2px 2px}.ol-attribution{text-align:right;bottom:.5em;right:.5em;max-width:calc(100% - 1.3em);display:flex;flex-flow:row-reverse;align-items:center}.ol-attribution a{color:var(--ol-subtle-foreground-color);text-decoration:none}.ol-attribution ul{margin:0;padding:1px .5em;color:var(--ol-foreground-color);text-shadow:0 0 2px var(--ol-background-color);font-size:12px}.ol-attribution li{display:inline;list-style:none}.ol-attribution li:not(:last-child):after{content:" "}.ol-attribution img{max-height:2em;max-width:inherit;vertical-align:middle}.ol-attribution button{flex-shrink:0}.ol-attribution.ol-collapsed ul{display:none}.ol-attribution:not(.ol-collapsed){background:var(--ol-partial-background-color)}.ol-attribution.ol-uncollapsible{bottom:0;right:0;border-radius:4px 0 0}.ol-attribution.ol-uncollapsible img{margin-top:-.2em;max-height:1.6em}.ol-attribution.ol-uncollapsible button{display:none}.ol-zoomslider{top:4.5em;left:.5em;height:200px}.ol-zoomslider button{position:relative;height:10px}.ol-touch .ol-zoomslider{top:5.5em}.ol-overviewmap{left:.5em;bottom:.5em}.ol-overviewmap.ol-uncollapsible{bottom:0;left:0;border-radius:0 4px 0 0}.ol-overviewmap .ol-overviewmap-map,.ol-overviewmap button{display:block}.ol-overviewmap .ol-overviewmap-map{border:1px solid var(--ol-subtle-foreground-color);height:150px;width:150px}.ol-overviewmap:not(.ol-collapsed) button{bottom:0;left:0;position:absolute}.ol-overviewmap.ol-collapsed .ol-overviewmap-map,.ol-overviewmap.ol-uncollapsible button{display:none}.ol-overviewmap:not(.ol-collapsed){background:var(--ol-subtle-background-color)}.ol-overviewmap-box{border:1.5px dotted var(--ol-subtle-foreground-color)}.ol-overviewmap .ol-overviewmap-box:hover{cursor:move}.ol-overviewmap .ol-viewport:hover{cursor:pointer}:root{--sans: "Montserrat", "Avenir Next", "Century Gothic", Futura, "Segoe UI", sans-serif;--mono: ui-monospace, "SF Mono", "Cascadia Mono", "DejaVu Sans Mono", Menlo, Consolas, monospace;--radius: 0;--topbar-h: 48px;--bg: #0A0A0B;--surface: #141416;--surface-2: #1C1C1F;--surface-over: rgba(20, 20, 22, .92);--ink: #EEEEEE;--ink-soft: #CDCDCD;--ink-faint: #8A8A8E;--ink-invert: #0A0A0B;--line: #34343B;--accent: #B0975E;--accent-strong: #C9AE7F;--accent-ink: #0A0A0B;--topbar-bg: #141416;--topbar-surface: #1C1C1F;--topbar-ink: #EEEEEE;--topbar-ink-soft: #8A8A8E;--on: #B0975E;--on-hover: #C9AE7F;--on-ink: #0A0A0B;--compass-north: #E4736B;--danger: #E4736B;--danger-bg: #24100F;--warn-bg: #2A1F0B;--warn-border: #8A6D1F;--shadow: 0 2px 12px rgba(0, 0, 0, .55);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .5);--shadow-md: 0 1px 4px rgba(0, 0, 0, .6);--shadow-up: 0 -2px 8px rgba(0, 0, 0, .5)}:root[data-theme=light]{--bg: #F2F1EE;--surface: #FFFFFF;--surface-2: #F4F2ED;--surface-over: rgba(255, 255, 255, .93);--ink: #1A1A1C;--ink-soft: #4A4A50;--ink-faint: #7A7A82;--ink-invert: #FFFFFF;--line: #D8D4CB;--accent: #6E5F3B;--accent-strong: #56492D;--accent-ink: #FFFFFF;--topbar-bg: #1A1A1C;--topbar-surface: #2E2E33;--topbar-ink: #F2F1EE;--topbar-ink-soft: #A8A49B;--on: #6E5F3B;--on-hover: #56492D;--on-ink: #FFFFFF;--compass-north: #C0392B;--danger: #B3261E;--danger-bg: #FDF0EF;--warn-bg: #FFF8E1;--warn-border: #C9A227;--shadow: 0 2px 12px rgba(26, 26, 28, .14);--shadow-sm: 0 1px 3px rgba(26, 26, 28, .16);--shadow-md: 0 1px 4px rgba(26, 26, 28, .2);--shadow-up: 0 -2px 8px rgba(26, 26, 28, .16)}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{font-family:var(--sans);color:var(--ink);background:var(--bg);font-size:14px}.btn{font:inherit;padding:8px 14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink);cursor:pointer}.btn:hover{border-color:var(--accent)}.btn--primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn--primary:disabled{opacity:.6;cursor:default}.btn--small{padding:4px 10px;font-size:13px}input[type=email],input[type=password]{font:inherit;width:100%;padding:9px 10px;margin-top:4px;border:1px solid var(--line);border-radius:var(--radius)}input,select,textarea{accent-color:var(--accent);color-scheme:light dark}select{font:inherit;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius)}input[type=email],input[type=password],input[type=text],input[type=number]{background:var(--surface);color:var(--ink)}input:focus-visible,select:focus-visible,.btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.screen{height:100%;display:grid;place-items:center;padding:16px;background:linear-gradient(160deg,var(--bg) 0%,var(--surface) 55%,var(--surface-2) 100%)}.loading{color:var(--topbar-ink);font-size:16px;letter-spacing:.04em}.card{background:var(--surface);border-radius:12px;box-shadow:var(--shadow);padding:28px;width:100%;max-width:380px}.brand{margin:0;font-size:26px;color:var(--accent)}.brand-sub{margin:2px 0 18px;color:var(--ink-soft)}.login-card label{display:block;margin-bottom:12px;color:var(--ink-soft);font-size:13px}.login-card .btn{width:100%;margin-top:6px}.login-error{color:var(--danger);margin:0 0 10px}.login-notice{background:var(--warn-bg);border:1px solid var(--warn-border);border-radius:var(--radius);padding:8px 10px;margin:0 0 14px}.login-sso{margin:14px 0 0;font-size:13px;color:var(--ink-soft);text-align:center}.login-sso a{color:var(--accent)}.state-card{max-width:460px;text-align:center}.state-card h1{font-size:20px;margin-top:0}.state-card p{color:var(--ink-soft);line-height:1.5}.error-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem;opacity:.65}.state-card__actions{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap}.copy-diagnostic{white-space:nowrap}.app-shell{height:100%;display:flex;flex-direction:column}.topbar{height:var(--topbar-h);flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 14px;background:var(--topbar-bg);color:var(--topbar-ink)}.topbar__brand{font-weight:700;letter-spacing:.03em}.topbar__meta{display:flex;align-items:center;gap:10px;min-width:0}.topbar__meta .btn{background:var(--topbar-surface);border-color:var(--topbar-surface);color:var(--topbar-ink)}.topbar__meta .btn:hover{border-color:var(--accent)}.topbar__company,.topbar__email{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar__email{color:var(--ink-faint)}.badge{background:var(--accent);border-radius:99px;padding:2px 10px;font-size:12px;white-space:nowrap}.layout-shell{flex:1 1 auto;min-height:0;position:relative;display:grid;grid-template-columns:var(--left-w, 300px) 1fr var(--right-w, 0px);grid-template-rows:1fr auto;grid-template-areas:"left map right" "bottom bottom bottom"}.layout-shell__left{grid-area:left}.layout-shell__map{grid-area:map}.layout-shell__right{grid-area:right}.layout-shell__bottom{grid-area:bottom;min-width:0}.layout-shell__handle{position:absolute;z-index:10;background:transparent;transition:background .12s ease}.layout-shell__handle--col{top:0;bottom:0;left:var(--left-w, 300px);width:8px;transform:translate(-4px);cursor:col-resize}.layout-shell--table-open .layout-shell__handle--col{bottom:var(--table-h, 280px)}.layout-shell__handle--row{left:0;right:var(--right-w, 0px);bottom:var(--table-h, 280px);height:8px;transform:translateY(4px);cursor:row-resize;display:none}.layout-shell--table-open .layout-shell__handle--row{display:block}.layout-shell__handle:hover,body.layout-shell-dragging .layout-shell__handle{background:var(--accent)}body.layout-shell-dragging{-webkit-user-select:none;user-select:none}.panel{background:var(--surface);border-right:1px solid var(--line);overflow-y:auto;padding:12px 14px}.panel-title{margin:0 0 10px;font-size:15px}.panel-workspace{margin:14px 0 6px;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft)}.panel-empty{color:var(--ink-soft)}.layer-row{border-bottom:1px solid var(--line);padding:9px 0}.layer-toggle{display:flex;align-items:center;gap:8px;cursor:pointer}.layer-name__sub{font-style:italic;font-size:.72em}.layer-opacity-row{display:flex;align-items:center;gap:.6rem;margin-top:6px}.layer-opacity-row[hidden]{display:none}.layer-opacity{flex:1;min-width:0;margin:0;height:2px;-moz-appearance:none;appearance:none;-webkit-appearance:none;background:linear-gradient(to right,var(--accent) 0 var(--fill, 100%),var(--line) var(--fill, 100%) 100%);cursor:pointer}.layer-opacity::-webkit-slider-thumb{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:.75rem;height:.75rem;border-radius:50%;background:var(--accent);border:2px solid var(--surface);cursor:pointer}.layer-opacity::-moz-range-thumb{width:.75rem;height:.75rem;border-radius:50%;background:var(--accent);border:2px solid var(--surface);cursor:pointer;border-width:2px}.layer-opacity:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.layer-opacity__value{flex:none;min-width:2.6rem;text-align:right;font-family:var(--mono);font-size:.66rem;font-variant-numeric:tabular-nums;color:var(--ink-faint)}.layer-legend{margin-top:6px}.layer-legend img{max-width:100%;border:1px solid var(--line);border-radius:4px;background:var(--surface)}.basemap-picker{margin-top:16px}.basemap-picker h3{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);margin:0 0 6px}.basemap-picker select{font:inherit;width:100%;padding:7px 8px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.map{flex:1 1 auto;min-width:0;background:var(--surface-2);position:relative}.map-toolbar{position:absolute;top:10px;right:10px;z-index:5;display:flex;flex-direction:column;align-items:stretch;max-width:calc(100% - 20px);background:var(--surface-over);border:1px solid var(--line);border-radius:6px;box-shadow:var(--shadow-sm)}.map-toolbar__row{display:flex;gap:6px;align-items:center;padding:5px 6px}.map-toolbar__btn{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:4px;padding:4px 10px;font-size:12px;cursor:pointer;white-space:nowrap}.map-toolbar__btn:hover{background:var(--surface-2)}.map-toolbar__btn[aria-pressed=true]{background:var(--on);border-color:var(--on);color:var(--accent-ink)}.map-toolbar__btn[aria-pressed=true]:hover{background:var(--on-hover)}.map-toolbar__btn:disabled{opacity:.6;cursor:default}.map-toolbar__panel{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:6px;border-top:1px solid var(--line)}.map-toolbar__panel[hidden]{display:none}.measure-btn{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:4px;padding:4px 10px;font-size:12px;cursor:pointer}.measure-btn:hover{background:var(--surface-2)}.measure-btn--active{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.measure-units{font-size:12px;padding:3px 4px;border:1px solid var(--line);border-radius:4px;background:var(--surface)}.measure-tooltip{background:var(--accent);color:var(--accent-ink);border-radius:4px;padding:2px 8px;font-size:12px;white-space:nowrap;pointer-events:none}.measure-tooltip--static{background:var(--accent);box-shadow:var(--shadow-sm)}.goto-input{width:260px;max-width:100%;font-size:12px;padding:4px 6px;border:1px solid var(--line);border-radius:4px}.goto-input--invalid{border-color:var(--danger);background:var(--danger-bg)}.goto-marker{width:16px;height:16px;background:var(--danger);border:2px solid var(--surface);border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:var(--shadow-md)}.ol-mouse-position{top:auto;right:auto;bottom:8px;left:230px;background:var(--surface-over);border-radius:4px;padding:2px 8px;font-size:11px;font-variant-numeric:tabular-nums;color:var(--ink);pointer-events:none;min-height:15px;min-width:60px}.north-arrow{top:4.75em;left:.5em}.north-arrow button{width:2.25rem;height:3rem;padding:.2rem;display:grid;place-items:center;background:var(--surface-over);border:1px solid var(--line);border-radius:6px;box-shadow:var(--shadow-sm);cursor:pointer}.north-arrow button:hover,.north-arrow button:focus-visible{background:var(--surface)}.north-arrow button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.north-arrow__compass{display:flex;flex-direction:column;align-items:center;gap:1px;line-height:1;transform-origin:center}.north-arrow__letter{color:var(--compass-north);font-size:11px;font-weight:800}.north-arrow__needle{width:0;height:0;border-right:7px solid transparent;border-bottom:22px solid var(--ink);border-left:7px solid transparent;filter:drop-shadow(0 1px 1px rgba(0,0,0,.35))}.sql-form{display:flex;flex-direction:column;gap:10px;padding:12px}.sql-form__asof{color:var(--ink-soft);font-size:11px}.sql-form__dataset{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:600;color:var(--ink)}.sql-form__dataset select,.sql-filter select,.sql-filter input{font-size:13px;padding:4px 6px;border:1px solid var(--line);border-radius:4px;background:var(--surface);min-width:0}.sql-filter{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.sql-filter__op{font-size:12px;color:var(--ink-soft)}.sql-filter__op-select{font-size:13px;padding:4px 2px;border:1px solid var(--line);border-radius:4px;background:var(--surface);color:var(--ink)}.sql-filter__op[hidden],.sql-filter__op-select[hidden]{display:none}.sql-filter__remove{border:none;background:none;font-size:16px;cursor:pointer;color:var(--ink-soft)}.sql-form__actions{display:flex;gap:8px}.sql-form__error{margin:0;color:var(--danger);font-size:13px}.sql-form__error[hidden]{display:none}.sql-form__status,.sql-results__muted{color:var(--ink-soft);font-size:12px}.layer-mode,.layer-attrs,.layer-labels{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:4px;padding:2px 8px;font:inherit;font-size:11px;line-height:1.5;cursor:pointer;margin-top:4px;margin-right:6px}.layer-mode:hover,.layer-attrs:hover,.layer-labels:hover{background:var(--surface-2)}.layer-mode[aria-pressed=true],.layer-attrs[aria-pressed=true],.layer-labels[aria-pressed=true]{background:var(--on);border-color:var(--on);color:var(--accent-ink)}.layer-mode[aria-pressed=true]:hover,.layer-attrs[aria-pressed=true]:hover,.layer-labels[aria-pressed=true]:hover{background:var(--on-hover)}.attr-drawer{height:var(--table-h, 280px);max-height:60vh;background:var(--surface);border-top:2px solid var(--accent);box-shadow:var(--shadow-up);display:flex;flex-direction:column}.attr-drawer[hidden]{display:none}.attr-drawer__head{display:flex;align-items:center;gap:10px;padding:8px 14px;border-bottom:1px solid var(--line)}.attr-drawer__count{color:var(--ink-soft);font-size:12px}.attr-drawer__close{margin-left:auto;border:none;background:none;font-size:18px;cursor:pointer;color:var(--ink)}.attr-drawer__scroll{overflow:auto}.attr-drawer table{border-collapse:collapse;width:100%;font-size:12px}.attr-drawer th,.attr-drawer td{text-align:left;padding:4px 10px;border-bottom:1px solid var(--line)}.attr-drawer th{position:sticky;top:0;background:var(--surface-2);white-space:nowrap}.attr-drawer__empty{padding:12px 14px;color:var(--ink-soft)}.data-table tbody tr:nth-child(odd){background:var(--surface-2)}.data-table tbody tr:nth-child(2n){background:var(--surface)}.data-table__cell{max-width:260px;overflow-wrap:anywhere;line-height:1.35;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.data-table__show-col{position:sticky;left:0;z-index:1;background:inherit;border-right:1px solid var(--line)}.attr-drawer th.data-table__show-col{z-index:2;background:var(--surface-2)}.data-table__sort{display:flex;align-items:center;gap:6px;width:100%;border:none;background:none;padding:0;font:inherit;color:inherit;cursor:pointer;text-align:left}.data-table__sort:hover{color:var(--accent)}.data-table__arrow{margin-left:auto;font-size:9px;color:var(--ink-faint)}.data-table__sort.is-active,.data-table__sort.is-active .data-table__arrow{color:var(--accent)}.data-table__pager{display:flex;align-items:center;gap:6px;margin-left:auto}.data-table__pager~.attr-drawer__close{margin-left:12px}.data-table__show{border:1px solid var(--line);background:var(--surface);border-radius:4px;padding:1px 8px;font-size:11px;cursor:pointer;color:var(--accent)}.data-table__show:hover{background:var(--surface-2)}.right-panel{background:var(--surface);border-left:1px solid var(--line);display:flex;flex-direction:column;min-height:0;min-width:0;overflow:hidden}.right-panel[hidden]{display:none}.right-panel__head{display:flex;align-items:stretch;gap:8px;border-bottom:1px solid var(--line);padding:0 6px 0 8px}.right-panel__tabs{display:flex;gap:4px;flex:1;min-width:0;overflow-x:auto}.right-panel__tab{position:relative;border:none;background:none;padding:10px 8px;font-size:13px;font-weight:600;color:var(--ink-soft);cursor:pointer;white-space:nowrap;border-bottom:2px solid transparent}.right-panel__tab[aria-selected=true]{color:var(--ink);border-bottom-color:var(--accent)}.right-panel__tabs--single .right-panel__tab{cursor:default;color:var(--ink);border-bottom-color:transparent}.right-panel__badge{display:inline-block;width:7px;height:7px;margin-left:6px;border-radius:50%;background:var(--on);vertical-align:middle}.right-panel__badge[hidden]{display:none}.right-panel__close{align-self:center;border:0;background:none;font-size:18px;line-height:1;color:var(--ink-soft);cursor:pointer}.right-panel__body{flex:1;min-height:0;overflow:auto}.right-panel__pane[hidden]{display:none}.details-panel__content{flex:1 1 auto;overflow-y:auto;padding:10px 12px}.details-panel__group h4{margin:6px 0 4px;font-size:13px;color:var(--accent)}.details-panel__group table{border-collapse:collapse;width:100%;font-size:12.5px;margin-bottom:10px}.details-panel__group th{text-align:left;color:var(--ink-soft);font-weight:500;padding:5px 8px;vertical-align:top;white-space:nowrap}.details-panel__group td{padding:5px 8px;word-break:break-word}.details-table tbody tr:nth-child(odd){background:var(--surface-2)}.details-table tbody tr:nth-child(2n){background:transparent}.details-panel__muted{color:var(--ink-soft);margin:4px 0}.seat-banner{position:fixed;top:var(--topbar-h);left:0;right:0;z-index:1000;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 16px;background:var(--warn-bg);border-bottom:2px solid var(--warn-border)}.seat-banner__text{display:flex;flex-wrap:wrap;gap:6px;align-items:baseline}.seat-banner a{color:var(--accent);font-weight:600}.service-toast{position:fixed;bottom:18px;left:50%;transform:translate(-50%);z-index:1000;background:var(--surface-2);color:var(--topbar-ink);padding:10px 16px;border-radius:99px;box-shadow:var(--shadow)}#panel-toggle{display:none}@media(max-width:820px){#panel-toggle{display:inline-block}.layout-shell{grid-template-columns:0 1fr 0}.map-toolbar{max-width:calc(100% - 20px)}.map-toolbar__panel{max-width:100%}.goto-input{width:100%;min-width:0}.layout-shell__handle--col,.layout-shell--table-open .layout-shell__handle--row{display:none}.layout-shell--table-open .layout-shell__bottom{position:absolute;grid-row:1 / -1;grid-column:1 / -1;top:0;left:0;right:0;bottom:0;z-index:500}.layout-shell--table-open .attr-drawer{height:100%;max-height:none}.layout-shell--right-open .layout-shell__right{position:absolute;grid-row:1 / -1;grid-column:1 / -1;top:0;left:0;right:0;bottom:0;z-index:500}.panel{position:absolute;top:0;bottom:0;left:0;width:300px;z-index:500;transform:translate(-100%);transition:transform .18s ease;box-shadow:var(--shadow)}.panel--open{transform:translate(0)}.topbar__company,.topbar__email{display:none}}.debug-btn--alert{background:var(--danger);color:var(--accent-ink);border-color:var(--danger)}.debug-panel{position:fixed;bottom:12px;right:12px;width:min(680px,calc(100vw - 24px));max-height:340px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);display:flex;flex-direction:column;z-index:2000;font-size:12px}.debug-panel__header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid var(--line);background:var(--surface-2);border-radius:var(--radius) var(--radius) 0 0;gap:8px}.debug-panel__actions{display:flex;gap:6px}.debug-panel__body{overflow-y:auto;flex:1}.debug-panel__empty{padding:16px;color:var(--ink-soft);text-align:center;margin:0}.debug-table{width:100%;border-collapse:collapse;font-size:11px;font-family:Menlo,Consolas,monospace}.debug-table th{position:sticky;top:0;background:var(--surface-2);padding:4px 8px;text-align:left;font-weight:600;border-bottom:1px solid var(--line);color:var(--ink-soft)}.debug-table td{padding:3px 8px;border-bottom:1px solid var(--line);vertical-align:top}.debug-row--seat td:first-child,.debug-row--auth td:first-child{box-shadow:inset 3px 0 0 var(--danger)}.debug-row--ratelimit td:first-child{box-shadow:inset 3px 0 0 var(--warn-border)}.debug-row--unavailable td:first-child{box-shadow:inset 3px 0 0 var(--accent)}.debug-badge{display:inline-block;padding:1px 6px;border-radius:4px;font-size:10px;font-weight:600;white-space:nowrap}.debug-badge--seat,.debug-badge--auth{background:var(--danger-bg);color:var(--danger)}.debug-badge--ratelimit{background:var(--warn-bg);color:var(--warn-border)}.debug-badge--unavailable{background:var(--surface-2);color:var(--accent)}.debug-badge--plan,.debug-badge--subscription{background:var(--surface-2);color:var(--ink-soft)}.debug-badge--unknown{background:var(--line);color:var(--ink-soft)}.debug-cell--time{white-space:nowrap;color:var(--ink-soft)}.debug-cell--msg{word-break:break-all;max-width:360px}.theme-toggle{min-width:5.5rem;font-variant-numeric:tabular-nums}.ol-control{background:transparent}.ol-control button{background:var(--surface-over);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);font-family:var(--sans)}.ol-control button:hover,.ol-control button:focus-visible{background:var(--surface-2);color:var(--accent);outline:none}.ol-attribution,.ol-attribution.ol-uncollapsible{background:var(--surface-over);color:var(--ink-soft);border-radius:0}.ol-attribution a{color:var(--accent)}.ol-scale-line,.ol-scale-bar{background:var(--surface-over);border-radius:0}.ol-scale-line-inner{color:var(--ink);border-color:var(--ink)}.ol-scale-singlebar{border-color:var(--ink)}.ol-scale-step-marker,.ol-scale-step-text,.ol-scale-text{color:var(--ink)}.layer-group{border-bottom:1px solid var(--line)}.layer-group:last-of-type{border-bottom:none}.layer-group__heading{display:flex;align-items:center;gap:.6rem;width:100%;padding:.7rem 0;background:none;border:none;cursor:pointer;font-family:var(--mono);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);text-align:left}.layer-group__heading:hover{color:var(--accent)}.layer-group__heading:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.layer-group__index{color:var(--accent);font-variant-numeric:tabular-nums}.layer-group__name{flex:1;min-width:0}.layer-group__count{color:var(--ink-faint);font-variant-numeric:tabular-nums}.layer-group__chevron{width:.4rem;height:.4rem;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translate(-1px,-1px);transition:transform .16s ease;flex:none}.layer-group--collapsed .layer-group__chevron{transform:rotate(-45deg) translate(-1px,1px)}.layer-group__body{padding-bottom:.5rem}
