@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";: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{--font: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--navy: #0b2433;--navy-2: #12344a;--navy-line: rgba(255,255,255,.12);--bg: #e9edf0;--surface: #ffffff;--surface-2: #f6f8f9;--surface-3: #eef2f4;--surface-hover: #f0f4f6;--border: #dde3e7;--border-strong: #c7d0d6;--text: #17242d;--text-2: #3f4e58;--muted: #66747e;--accent: #127a52;--accent-strong: #0d6343;--accent-soft: #e4f2eb;--accent-line: #9fcfb7;--brand-green: #169c43;--brand-blue: #119edd;--brand-yellow: #f6c928;--focus: #119edd;--warning: #a56300;--warning-soft: #fff5e1;--danger: #b8322a;--danger-soft: #fdecea;--selection: #f4b134;--magenta: #ff00a8;--hover: #eaeff2;--pressed: #dde5ea;--active-bg: #e1f1e8;--active-fg: var(--accent-strong);--active-ring: var(--accent-line);--radius: 6px;--radius-lg: 9px;--shadow-1: 0 1px 2px rgba(16,32,44,.08), 0 1px 1px rgba(16,32,44,.04);--shadow-2: 0 6px 22px rgba(16,32,44,.14), 0 1px 3px rgba(16,32,44,.08);--shadow-pop: 0 12px 36px rgba(10,28,40,.22), 0 2px 6px rgba(10,28,40,.1);--row: 28px;--fs: 12.5px;--fs-sm: 11.5px;--fs-xs: 10.5px;font-family:var(--font);font-size:var(--fs);color:var(--text);background:var(--bg);font-synthesis:none;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}[hidden]{display:none!important}html,body,#app{margin:0;width:100%;height:100%;overflow:hidden}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.42}button:not(:disabled):active{transition-duration:0s}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}button:focus:not(:focus-visible){outline:none}svg{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.chip svg,.breadcrumb svg,.status-item svg,.view-by svg,.tree-node .caret svg,.advanced>summary svg{stroke-width:2}svg .icon-fill{fill:currentColor;stroke:none;opacity:.2;transition:opacity .12s}kbd{font:500 var(--fs-xs) var(--font);color:var(--muted)}small{font-size:var(--fs-xs)}input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=range]),select,textarea{width:100%;min-width:0;height:var(--row);border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);padding:0 8px;font-size:var(--fs);outline:none;transition:border-color .12s,box-shadow .12s}textarea{height:auto;padding:6px 8px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--fs-sm)}select{padding-right:22px;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237b8892' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m8 10 4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 4px center;background-size:16px}input:not([type=checkbox]):not([type=radio]):not([type=range]):hover:not(:disabled):not(:focus),select:hover:not(:disabled):not(:focus),textarea:hover:not(:disabled):not(:focus){border-color:#aebac2}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #127a5224}input:disabled,select:disabled,textarea:disabled{border-color:var(--border);background-color:var(--surface-2);color:var(--muted);cursor:not-allowed;opacity:1}input[type=checkbox],input[type=radio]{width:14px;height:14px;margin:0;accent-color:var(--accent);flex:none}input[type=range]{width:100%;height:18px;margin:0;accent-color:var(--accent)}input[type=color]{width:100%;height:var(--row);padding:2px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface)}.field{display:grid;gap:4px;min-width:0}.field>span{font-size:11px;font-weight:600;color:var(--text-2);letter-spacing:.01em}.field.inline{display:flex;align-items:center;gap:6px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.form-stack{display:grid;gap:10px;align-content:start}.classify-exceptions{display:grid;gap:8px}.classify-exceptions[hidden]{display:none}.classify-exceptions .button{justify-self:start}.inline-field{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px}.inline-field select{width:auto}.check{display:flex;align-items:center;gap:7px;font-size:var(--fs);color:var(--text);cursor:pointer;min-height:22px}.check-row{display:flex;flex-wrap:wrap;gap:4px 14px}.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 10px}.field-warning{margin:0;color:var(--warning);font-size:var(--fs-sm)}.field-warning:empty{display:none}.pane-note{margin:0;color:var(--muted);font-size:var(--fs-sm);line-height:1.5}.pane-subtitle{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:var(--fs-xs);font-weight:700;color:var(--text-2);text-transform:uppercase;letter-spacing:.06em}.pane-subtitle b{color:var(--text);font-weight:600;letter-spacing:0;text-transform:none}.pane-heading-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:24px}.pane-heading-row>strong{font-size:13px;font-weight:700;letter-spacing:-.005em}.subfieldset{display:grid;gap:8px;margin:0;padding:8px 10px 10px;border:1px solid var(--border);border-radius:var(--radius)}.subfieldset legend{padding:0 4px;font-size:var(--fs-xs);font-weight:700;color:var(--text-2)}.button{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:var(--row);padding:0 11px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);color:var(--text);font-size:var(--fs);font-weight:600;white-space:nowrap;box-shadow:0 1px #10202c0a;transition:background-color .12s,border-color .12s,color .12s}.button:hover:not(:disabled){background:var(--surface-hover);border-color:#aebac2}.button:active:not(:disabled){background:var(--pressed)}.button svg{color:var(--text-2)}.button-primary{border-color:var(--accent);background:var(--accent);color:#fff}.button-primary svg{color:currentColor}.button-primary:hover:not(:disabled){background:var(--accent-strong);border-color:var(--accent-strong)}.button-primary:active:not(:disabled){background:#0a5236}.button-row{display:flex;flex-wrap:wrap;gap:6px}.button-row>button:not(.button){height:26px;padding:0 9px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);font-size:var(--fs-sm);font-weight:600;color:var(--text-2)}.button-row>button:not(.button):hover:not(:disabled){background:var(--surface-hover);border-color:#aebac2;color:var(--text)}.inline-field>button{height:var(--row);padding:0 10px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);font-weight:600}.link-button{border:0;background:none;padding:0;color:var(--accent);font-weight:600;font-size:var(--fs-sm)}.link-button:hover{text-decoration:underline}.ghost-icon{display:inline-grid;place-items:center;width:28px;height:28px;padding:0;border:0;border-radius:var(--radius);background:transparent;color:var(--text-2);transition:background-color .12s,color .12s}.ghost-icon:hover:not(:disabled){background:var(--hover);color:var(--text)}.ghost-icon:active:not(:disabled){background:var(--pressed)}.segmented{display:inline-flex;padding:2px;gap:2px;border-radius:7px;background:var(--surface-3);border:1px solid var(--border)}.segmented button{flex:1;height:24px;padding:0 10px;border:0;border-radius:5px;background:transparent;color:var(--text-2);font-size:var(--fs-sm);font-weight:600;white-space:nowrap;transition:background-color .12s,color .12s}.segmented button:hover:not(:disabled){color:var(--text);background:#fff9}.segmented button:disabled{opacity:.6}.segmented button:focus-visible{outline-offset:0}.segmented button.active,.segmented button[aria-pressed=true]{background:var(--surface);color:var(--accent-strong);box-shadow:0 0 0 1px var(--active-ring),var(--shadow-1)}.switch{position:relative;display:inline-block;width:30px;height:17px;flex:none}.switch input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}.switch span{position:absolute;inset:0;border-radius:9px;background:#c5ced4;transition:background .15s;pointer-events:none}.switch span:after{content:"";position:absolute;top:2px;left:2px;width:13px;height:13px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0003;transition:transform .15s}.switch input:checked+span{background:var(--accent)}.switch input:checked+span:after{transform:translate(13px)}.switch input:focus-visible{outline:none}.switch input:focus-visible+span{outline:2px solid var(--focus);outline-offset:2px}.switch input:disabled+span{opacity:.5}.chip{display:inline-flex;align-items:center;gap:5px;height:26px;max-width:280px;padding:0 6px 0 10px;border:1px solid var(--border-strong);border-radius:13px;background:#fffffff5;color:var(--text);font-size:var(--fs-sm);font-weight:500;box-shadow:var(--shadow-1);white-space:nowrap}.chip>span{overflow:hidden;text-overflow:ellipsis}.chip b{font-weight:600}.chip .chip-remove{display:grid;place-items:center;width:18px;height:18px;border:0;border-radius:50%;background:transparent;color:var(--muted);padding:0}.chip .chip-remove:hover{background:var(--danger-soft);color:var(--danger)}.chip .chip-remove svg{width:12px;height:12px}.chip-add{padding:0 10px 0 7px;border-style:dashed;color:var(--accent-strong);font-weight:600;cursor:pointer}.chip-add svg{width:14px;height:14px}.chip-add:hover{background:var(--accent-soft);border-color:var(--accent-line)}.chip-add:active{background:var(--active-bg)}.chip.filter-chip{cursor:pointer;border-color:var(--accent-line);background:#f3faf6;transition:border-color .12s,background-color .12s}.chip.filter-chip:hover{border-color:var(--accent);background:var(--accent-soft)}.chip.filter-chip.invalid{border-color:#e4c27f;background:var(--warning-soft)}.app-shell{height:100%;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:44px 38px minmax(0,1fr) auto 24px;background:var(--bg)}.app-shell>*{min-width:0}.appbar{grid-row:1}.gis-toolbar{grid-row:2}.workspace{grid-row:3}.table-dock{grid-row:4}.status-bar{grid-row:5}.app-shell.dragging-file .map-stage{outline:3px dashed var(--accent);outline-offset:-6px}.appbar{position:relative;z-index:40;display:flex;align-items:center;gap:14px;padding:0 12px;background:var(--navy);color:#fff}.brand{display:flex;align-items:center;gap:8px;padding-right:6px}.brand-logo{width:30px;height:30px;display:block;flex:none;object-fit:contain}.brand strong{display:block;font-size:13.5px;font-weight:700;letter-spacing:-.01em;line-height:1.05}.brand span{display:block;font-size:9.5px;font-weight:600;letter-spacing:.14em;color:#8fb7cc}.brand-org{font-style:normal}.app-version{font-weight:inherit;letter-spacing:.06em}.menubar{display:flex;align-items:center;gap:2px}.menubar-entry{position:relative}.menubar-button{height:30px;padding:0 10px;border:0;border-radius:var(--radius);background:transparent;color:#dce9f0;font-size:13px;font-weight:500;transition:background-color .12s,color .12s}.menubar-button:hover{background:#ffffff1a;color:#fff}.menubar-entry.open .menubar-button,.menubar-button[aria-expanded=true]{background:#ffffff29;color:#fff}.appbar :focus-visible{outline-color:#7fd0f5}.menu-popover{position:absolute;top:calc(100% + 4px);left:0;min-width:260px;padding:5px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);color:var(--text);box-shadow:var(--shadow-pop)}.menu-item{width:100%;display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:9px;height:30px;padding:0 9px;border:0;border-radius:5px;background:transparent;color:var(--text);text-align:left;font-size:var(--fs);white-space:nowrap}.menu-item svg{color:var(--text-2)}.menu-item:hover:not(:disabled),.menu-item:focus-visible{background:var(--accent-soft);color:var(--accent-strong)}.menu-item:focus-visible{outline:none;box-shadow:inset 0 0 0 1.5px var(--accent-line)}.menu-item:active:not(:disabled){background:var(--active-bg)}.menu-item:hover svg,.menu-item:focus-visible svg{color:var(--accent)}.menu-item kbd{color:var(--muted)}.menu-item.checked{font-weight:700;color:var(--accent-strong)}.menu-item.checked:after{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent)}.menu-icon-gap{width:16px}.menu-separator{height:1px;margin:4px 6px;background:var(--border)}.menu-popover{max-height:calc(100vh - 64px);overflow-y:auto;overscroll-behavior:contain}.menu-section{padding:6px 9px 3px;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;user-select:none}.menu-section:not(:first-child){margin-top:4px;padding-top:8px;border-top:1px solid var(--border)}.menu-item:disabled{color:var(--muted);cursor:default}.menu-item:disabled svg{opacity:.55}.tool-button:disabled{opacity:.38;cursor:default}.appbar-project{flex:1;min-width:0;display:flex;align-items:center;justify-content:center;gap:8px}.appbar-project-name{max-width:40ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;height:28px;padding:0 9px;border:0;border-radius:var(--radius);background:transparent;color:#fff;font-weight:600}.appbar-project-name:hover{background:#ffffff1a}.save-state{font-size:var(--fs-xs);color:#8fb7cc}.save-state[data-dirty=true]{color:var(--brand-yellow)}.save-state[data-dirty=true]:before{content:"";display:inline-block;width:6px;height:6px;margin-right:5px;border-radius:50%;background:var(--brand-yellow);vertical-align:1px}.appbar-status{display:flex;align-items:center;gap:10px}.connectivity-pill,.status-pill{display:flex;align-items:center;gap:6px;color:#b8cfdb;font-size:var(--fs-xs);white-space:nowrap}.connectivity-pill i,.status-pill i{width:7px;height:7px;border-radius:50%;background:#7d97a5}.connectivity-pill[data-online=true] i{background:#52d18a}.connectivity-pill[data-online=false]{color:#ffd88a}.connectivity-pill[data-online=false] i{background:var(--brand-yellow)}.status-pill.ready i{background:var(--brand-green);box-shadow:0 0 0 3px #169c4340}.pwa-install-button{height:26px;padding:0 10px;border:1px solid rgba(255,255,255,.28);border-radius:var(--radius);background:#ffffff14;color:#fff;font-size:var(--fs-sm);font-weight:600}.gis-toolbar{position:relative;z-index:30;display:flex;align-items:center;gap:4px;padding:0 6px 0 8px;background:var(--surface);border-bottom:1px solid var(--border)}.gis-tools{flex:1;min-width:0;display:flex;align-items:center;gap:4px;height:100%;overflow-x:auto;scrollbar-width:none;background:linear-gradient(90deg,var(--surface) 30%,transparent) left / 24px 100% no-repeat local,linear-gradient(270deg,var(--surface) 30%,transparent) right / 24px 100% no-repeat local,linear-gradient(90deg,rgba(16,32,44,.14),transparent) left / 10px 100% no-repeat scroll,linear-gradient(270deg,rgba(16,32,44,.14),transparent) right / 10px 100% no-repeat scroll}.gis-tools::-webkit-scrollbar{display:none}.tool-group{display:flex;align-items:center;gap:1px;padding:0 5px}.tool-group+.tool-group{border-left:1px solid var(--border)}.tool-button{position:relative;display:grid;place-items:center;width:30px;height:28px;padding:0;border:0;border-radius:var(--radius);background:transparent;color:var(--text-2);transition:background-color .12s,color .12s,box-shadow .12s}.tool-button svg{width:17px;height:17px}.tool-button:hover:not(:disabled){background:var(--hover);color:var(--text)}.tool-button:active:not(:disabled){background:var(--pressed)}.tool-button:focus-visible{outline-offset:0}.tool-button.active,.tool-button[aria-pressed=true]{background:var(--active-bg);color:var(--active-fg);box-shadow:inset 0 0 0 1px var(--active-ring)}.app-shell:has(.workspace:not(.inspector-collapsed))[data-active-pane=classify] .tool-button[data-open-pane=classify],.app-shell:has(.workspace:not(.inspector-collapsed))[data-active-pane=labels] .tool-button[data-open-pane=labels],.app-shell:has(.workspace:not(.inspector-collapsed))[data-active-pane=draw] .tool-button[data-open-pane=draw],.app-shell:has(#filter-popover:not([hidden])) .tool-button[data-command=filter-open],.app-shell:has(#geometry-edit-toolbar:not([hidden])) #tool-edit-geometry{background:var(--active-bg);color:var(--active-fg);box-shadow:inset 0 0 0 1px var(--active-ring)}.tool-group.panel-toggles{flex:none;gap:2px;margin:0 0 0 4px;padding:2px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2)}.tool-group+.tool-group.panel-toggles,.gis-tools+.tool-group.panel-toggles{border-left:1px solid var(--border)}.panel-toggle.tool-button{width:36px;height:28px;color:var(--muted)}.panel-toggle.tool-button:before{content:"";position:absolute;inset:-4px 0}.panel-toggle.tool-button svg{width:19px;height:19px}.panel-toggle.tool-button:hover:not(:disabled){background:var(--surface);color:var(--text);box-shadow:inset 0 0 0 1px var(--border)}.panel-toggle.tool-button[aria-pressed=true]{background:var(--surface);color:var(--active-fg);box-shadow:inset 0 0 0 1px var(--active-ring),0 1px 2px #10202c1a}.panel-toggle.tool-button[aria-pressed=true] .icon-fill{opacity:.9}.panel-toggle.tool-button:hover .icon-fill{opacity:.45}.panel-toggle.tool-button[aria-pressed=true]:hover .icon-fill{opacity:1}.panel-toggle.tool-button:active:not(:disabled){background:var(--pressed)}.workspace{--left-panel-width: 280px;--right-panel-width: 320px;position:relative;min-height:0;display:grid;grid-template-columns:var(--left-panel-width) minmax(0,1fr) var(--right-panel-width)}.workspace.left-panel-collapsed{grid-template-columns:0 minmax(0,1fr) var(--right-panel-width)}.workspace.inspector-collapsed{grid-template-columns:var(--left-panel-width) minmax(0,1fr) 0}.workspace.left-panel-collapsed.inspector-collapsed{grid-template-columns:0 minmax(0,1fr) 0}.workspace.left-panel-collapsed .dock-left,.workspace.inspector-collapsed .dock-right{visibility:hidden;border:0}.dock{position:relative;z-index:20;min-width:0;min-height:0;display:flex;flex-direction:column;background:var(--surface)}.dock-left{border-right:1px solid var(--border)}.dock-right{border-left:1px solid var(--border)}.dock-tabs{display:flex;align-items:stretch;gap:2px;height:36px;padding:0 6px;border-bottom:1px solid var(--border);flex:none}.dock-tabs [role=tab]{position:relative;padding:0 10px;border:0;background:transparent;color:var(--muted);font-size:var(--fs);font-weight:600;transition:color .12s}.dock-tabs [role=tab]:focus-visible{outline-offset:-4px;border-radius:6px}.dock-tabs [role=tab]:hover,.dock-tabs [role=tab][aria-selected=true]{color:var(--text)}.dock-tabs [role=tab][aria-selected=true]:after{content:"";position:absolute;left:8px;right:8px;bottom:-1px;height:2.5px;border-radius:2px 2px 0 0;background:var(--accent)}.dock-tab-action{align-self:center;margin-left:auto;display:grid;place-items:center;width:28px;height:28px;padding:0;border:0;border-radius:var(--radius);background:transparent;color:var(--text-2);transition:background-color .12s,color .12s}.dock-tab-action:hover{background:var(--hover);color:var(--text)}.dock-tab-action:active{background:var(--pressed)}.dock-tab-action+.dock-tab-action{margin-left:0}.dock-close{display:none!important}.dock-collapse{display:grid;place-items:center}.dock-tab-action.dock-collapse{margin-left:0}.dock-header .dock-collapse{width:28px;height:28px}.dock-body{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:6px 0 12px}.dock-header{display:flex;align-items:center;gap:4px;height:36px;padding:0 8px 0 12px;border-bottom:1px solid var(--border);background:var(--surface);flex:none}.dock-header:has(#dock-back:not([hidden])){padding-left:6px}.dock-header h2{flex:1;margin:0;color:var(--text);font-size:13.5px;font-weight:700;letter-spacing:-.01em}.dock-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain}.dock-pane{padding:14px 14px 16px}.dock-pane[data-pane=properties]{padding:0}.pane-actions{display:flex;gap:6px;margin-top:12px}.panel-resize-handle{position:absolute;z-index:25;touch-action:none}.panel-resize-handle-left,.panel-resize-handle-right{top:0;bottom:0;width:8px;cursor:col-resize}.panel-resize-handle-left{left:-4px}.panel-resize-handle-right{right:-4px}.panel-resize-handle-top{top:-4px;left:0;right:0;height:8px;cursor:row-resize}.panel-resize-handle:after{content:"";position:absolute;background:transparent;transition:background .12s}.panel-resize-handle-left:after,.panel-resize-handle-right:after{top:0;bottom:0;left:3px;width:2px}.panel-resize-handle-top:after{left:0;right:0;top:3px;height:2px}.panel-resize-handle:hover:after,.panel-resize-handle.active:after{background:var(--accent)}body.workspace-resizing{cursor:col-resize;user-select:none}.advanced{border-top:1px solid var(--border);margin-top:6px}.advanced>summary{display:flex;align-items:center;gap:7px;margin:0 -6px;padding:9px 6px 7px;border-radius:var(--radius);list-style:none;cursor:pointer;color:var(--text-2);font-size:var(--fs-sm);font-weight:600;transition:color .12s,background-color .12s}.advanced>summary:focus-visible{outline-offset:-2px}.advanced>summary::-webkit-details-marker{display:none}.advanced>summary:after{content:"";margin:0 3px 0 auto;width:6px;height:6px;border-right:1.75px solid var(--muted);border-bottom:1.75px solid var(--muted);transform:rotate(-45deg);transition:transform .15s}.advanced[open]>summary:after{transform:rotate(45deg)}.advanced>summary svg{width:14px;height:14px;color:var(--muted)}.advanced>summary:hover{color:var(--text);background:var(--surface-2)}.advanced[open]>summary{color:var(--text)}.advanced-body{display:grid;gap:10px;padding:4px 0 6px}.tree-section{padding:4px 0 8px}.tree-section+.tree-section{border-top:1px solid var(--border);padding-top:8px}.tree-section-header{display:flex;align-items:center;justify-content:space-between;height:28px;padding:0 6px 0 12px;font-size:var(--fs-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-2)}.tree-section .field-row{display:block;padding:2px 12px 4px}.tree-meta{display:block;padding:2px 12px 0;color:var(--muted)}.tree-meta:empty{display:none}.tree-empty{padding:2px 12px}.layer-list{display:grid;gap:1px;padding:0 6px}.empty-layers{margin:4px 6px;padding:14px 10px;text-align:center;color:var(--muted);font-size:var(--fs-sm);border:1px dashed var(--border-strong);border-radius:var(--radius)}.master-quick{display:grid;gap:5px;margin:2px 6px 6px}.master-quick:empty{display:none}.master-quick-load{justify-content:center;height:34px}.master-quick small{color:var(--muted);font-size:var(--fs-xs);line-height:1.4;text-align:center;overflow-wrap:anywhere}.master-quick.loaded{display:flex;align-items:center;gap:10px;margin:0 8px 4px 12px;min-height:22px}.master-quick-name{flex:1;min-width:0;display:inline-flex;align-items:center;gap:5px;color:var(--muted);font-size:var(--fs-xs)}.master-quick-name svg{flex:none;width:12px;height:12px}.master-quick-name span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.master-quick.loaded .link-button{flex:none;font-size:var(--fs-xs)}.app-shell:has(.master-quick:not(.loaded):not(:empty)) .empty-layers{display:none}.layer-row{position:relative;display:grid;grid-template-columns:16px 18px minmax(0,1fr) auto;align-items:center;gap:7px;min-height:32px;padding:0 4px 0 6px;border-radius:var(--radius);color:var(--text);cursor:default}.layer-row.compact{min-height:28px;grid-template-columns:16px 18px minmax(0,1fr);padding-left:12px;cursor:pointer}.hybrid-reference-controls .layer-row.compact{grid-template-columns:16px minmax(0,1fr);padding-left:22px}.layer-row:hover{background:var(--surface-hover)}.layer-row:has(:focus-visible){background:var(--surface-hover)}.layer-row.active{background:var(--accent-soft);box-shadow:inset 2.5px 0 0 var(--accent)}.layer-row.active .layer-row-name{color:var(--accent-strong);font-weight:600}.layer-row-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs)}.layer-row-main{min-width:0;display:grid;border:0;background:transparent;padding:4px 0;text-align:left;cursor:pointer}.layer-row-main small{color:var(--muted);font-size:var(--fs-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layer-row-tools{display:flex;align-items:center;gap:2px}.layer-row-tools .layer-badge{color:var(--muted);font-size:var(--fs-xs)}.layer-row-tools svg{width:13px;height:13px;color:var(--muted)}.layer-menu-button{display:grid;place-items:center;width:24px;height:24px;padding:0;border:0;border-radius:5px;background:transparent;color:var(--muted);opacity:0}.layer-row:hover .layer-menu-button,.layer-menu-button[aria-expanded=true],.layer-row.active .layer-menu-button{opacity:1}.layer-menu-button:hover{background:var(--pressed);color:var(--text)}.layer-menu-button:focus-visible{opacity:1;outline-offset:0}.layer-glyph{width:16px;height:14px;border-radius:3px;border:1.5px solid var(--glyph-stroke, #6c7a84);background:var(--glyph-fill, transparent)}.layer-glyph.master{--glyph-stroke: #e3c300;--glyph-fill: rgba(67,145,99,.35)}.layer-glyph.glyph-line{height:0;border-width:0;border-top:2.5px solid var(--glyph-stroke);border-radius:0}.layer-glyph.glyph-line.channels{--glyph-stroke: #1b84d6}.layer-glyph.glyph-line.drainage{--glyph-stroke: #7a5ad1}.layer-glyph.glyph-point{width:10px;height:10px;margin-left:3px;border-radius:50%}.context-menu{position:fixed;z-index:70;min-width:190px;padding:5px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-pop)}.context-menu .menu-item.danger{color:var(--danger)}.context-menu .menu-item.danger svg{color:var(--danger)}.map-context-menu{min-width:210px}.map-context-coordinate{padding:4px 9px 6px;margin-bottom:4px;border-bottom:1px solid var(--border);color:var(--muted);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;white-space:nowrap}.tree-search{position:relative;margin:2px 10px 8px}.tree-search>span{position:absolute;left:8px;top:6px;color:var(--muted);pointer-events:none}.tree-search svg{width:15px;height:15px}.tree-search input{padding-left:29px!important;background:var(--surface-2)!important}.entity-tree{padding:0 4px}.empty-state{padding:28px 14px;text-align:center;color:var(--muted);font-size:var(--fs-sm);line-height:1.6}.tree-node{display:grid;grid-template-columns:16px minmax(0,1fr) auto;align-items:center;gap:4px;width:100%;min-height:28px;padding:0 6px 0 calc(4px + var(--depth, 0) * 14px);border:0;border-radius:5px;background:transparent;text-align:left;color:var(--text)}.tree-node:hover{background:var(--surface-hover)}.tree-node:focus-visible{outline-offset:-2px}.tree-node.selected{background:var(--accent-soft);color:var(--accent-strong)}.tree-node.selected .tree-node-label{font-weight:600}.tree-node .caret{display:grid;place-items:center;width:16px;height:16px;color:var(--muted);border-radius:4px}.tree-node .caret svg{width:13px;height:13px;transition:transform .12s}.tree-node .caret.open svg{transform:rotate(90deg)}.tree-node .caret.leaf{visibility:hidden}.tree-node-text{min-width:0;display:flex;align-items:baseline;gap:6px}.tree-node-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-node-code{color:var(--muted);font-size:var(--fs-xs);white-space:nowrap}.tree-node-meta{color:var(--muted);font-size:var(--fs-xs);white-space:nowrap;font-variant-numeric:tabular-nums}.tree-group-label{padding:8px 10px 3px;color:var(--text-2);font-size:var(--fs-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase}.tree-more{width:100%;padding:6px 10px;border:0;background:transparent;color:var(--accent);font-size:var(--fs-sm);text-align:left}.map-stage{position:relative;min-width:0;min-height:0;background:#dfe5e8}.map{position:absolute;inset:0}.map.is-satellite .ol-viewport{background:#232b2f}.map-topbar{position:absolute;z-index:15;top:10px;left:10px;right:56px;display:flex;align-items:flex-start;gap:8px;pointer-events:none}.map-topbar>*{pointer-events:auto}.map-search{position:relative;width:min(340px,42vw);height:34px;display:flex;align-items:center;gap:6px;padding:0 10px;border:1px solid var(--border-strong);border-radius:8px;background:#fffffffa;box-shadow:var(--shadow-2)}.map-search>svg{color:var(--muted)}.map-search input{border:0!important;box-shadow:none!important;background:transparent!important;padding:0!important;height:32px!important;font-size:13px!important}.map-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #127a5229,var(--shadow-2)}.search-results{position:absolute;top:calc(100% + 5px);left:0;right:0;max-height:min(420px,60vh);overflow:auto;padding:4px;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-pop)}.search-result{width:100%;display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:8px;padding:6px 8px;border:0;border-radius:5px;background:transparent;text-align:left}.search-result:hover,.search-result.active{background:var(--accent-soft)}.search-result strong{display:block;font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-result small{display:block;color:var(--muted);font-size:var(--fs-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-result mark{background:#f6c92873;color:inherit;border-radius:2px}.entity-badge{display:grid;place-items:center;width:22px;height:22px;border-radius:5px;background:var(--surface-3);color:var(--text-2);font-size:10.5px;font-weight:700}.entity-badge.finca{background:#e0eefb;color:#165a91}.entity-badge.suerte{background:var(--accent-soft);color:var(--accent-strong)}.entity-badge.tablon{background:#f6ecdc;color:#8a5a10}.entity-badge.coordinate{background:#e3f3fb;color:#0b6fa0}.entity-badge.coordinate svg{width:14px;height:14px}.search-empty{padding:10px;color:var(--muted);font-size:var(--fs-sm)}.view-by{display:inline-flex;align-items:center;height:34px;padding:3px;gap:2px;border:1px solid var(--border-strong);border-radius:8px;background:#fffffffa;box-shadow:var(--shadow-2)}.view-by-label{padding:0 8px 0 6px;color:var(--text-2);font-size:var(--fs-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase}.view-by button{height:26px;padding:0 12px;border:0;border-radius:5px;background:transparent;color:var(--text-2);font-weight:600;font-size:12.5px;transition:background-color .12s,color .12s}.view-by button:focus-visible{outline-offset:0}.view-by button:hover:not([aria-pressed=true]){color:var(--text);background:var(--hover)}.view-by button:active:not([aria-pressed=true]){background:var(--pressed)}.view-by button[aria-pressed=true]{background:var(--accent);color:#fff;box-shadow:0 1px 2px #0d63434d}.view-by .view-by-diagnostic{display:inline-flex;align-items:center;gap:4px}.view-by .view-by-diagnostic[aria-pressed=true]{background:var(--warning)}.view-by .view-by-diagnostic svg{width:12px;height:12px}.map-subbar{position:absolute;z-index:14;top:52px;left:10px;right:56px;display:flex;flex-wrap:wrap;align-items:center;gap:6px;pointer-events:none}.map-subbar>*{pointer-events:auto}.breadcrumb{display:inline-flex;align-items:center;height:26px;padding:0 4px;border:1px solid var(--border-strong);border-radius:13px;background:#fffffff5;box-shadow:var(--shadow-1)}.breadcrumb:empty{display:none}.breadcrumb button{height:22px;max-width:220px;padding:0 7px;border:0;border-radius:11px;background:transparent;color:var(--text-2);font-size:var(--fs-sm);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.breadcrumb button:hover{background:var(--hover);color:var(--text)}.breadcrumb button:focus-visible{outline-offset:0}.breadcrumb button[aria-current=page]{color:var(--text);font-weight:700}.breadcrumb .crumb-sep{display:grid;place-items:center;color:var(--muted)}.breadcrumb .crumb-sep svg{width:12px;height:12px}.breadcrumb .crumb-back{display:grid;place-items:center;width:22px;padding:0}.filter-chips{display:contents}.filter-popover{position:absolute;top:32px;left:0;width:330px;max-height:min(520px,calc(100vh - 220px));overflow:auto;padding:10px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-pop)}.filter-popover h3{margin:0 0 8px;font-size:13px}.filter-field-list{display:grid;gap:1px;max-height:300px;overflow:auto;margin-top:6px}.filter-field-list button{display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;height:28px;padding:0 8px;border:0;border-radius:5px;background:transparent;text-align:left}.filter-field-list button:hover{background:var(--accent-soft)}.filter-field-list small{color:var(--muted)}.filter-editor{display:grid;gap:8px}.filter-values{display:grid;gap:1px;max-height:260px;overflow:auto;border:1px solid var(--border);border-radius:var(--radius);padding:3px}.filter-values label{display:flex;align-items:center;gap:7px;min-height:26px;padding:0 6px;border-radius:4px;cursor:pointer}.filter-values label:hover{background:var(--surface-hover)}.filter-values label span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-values label em{color:var(--muted);font-style:normal;font-size:var(--fs-xs)}.filter-numbers{display:flex;align-items:center;gap:6px}.filter-footer{display:flex;justify-content:space-between;align-items:center;gap:6px;padding-top:4px;border-top:1px solid var(--border)}.map-toast{position:absolute;z-index:12;left:50%;top:45%;transform:translate(-50%,-50%);max-width:360px;padding:14px 18px;text-align:center;border-radius:var(--radius-lg);background:#fffffff7;border:1px solid var(--border);box-shadow:var(--shadow-2);color:var(--text-2);font-size:13px;line-height:1.5}.map-toast.has-restore{width:min(440px,calc(100% - 32px));max-width:none;padding:14px 16px;text-align:left}.master-restore{display:grid;grid-template-columns:20px minmax(0,1fr);gap:10px 10px;align-items:start;color:var(--text)}.master-restore>svg{width:20px;height:20px;margin-top:1px;color:var(--accent)}.master-restore p{margin:0;line-height:1.45;overflow-wrap:anywhere}.master-restore p small{display:block;margin-top:2px;color:var(--muted);font-size:12px}.master-restore-actions{grid-column:2;display:flex;flex-wrap:wrap;align-items:center;gap:8px}.map-toast.is-error{border-color:#efb3ad;background:#fff7f6;color:var(--danger)}.map-toast:not(.is-error):not(.is-transient){display:grid;justify-items:center;gap:8px}.map-toast:not(.is-error):not(.is-transient)[hidden]{display:none}.map-toast .button-primary{height:36px;padding:0 16px;font-size:13px}.map-toast.is-transient{top:auto;bottom:22px;transform:translate(-50%);padding:8px 14px}.loading-overlay{position:absolute;z-index:50;inset:0;display:grid;place-content:center;justify-items:center;gap:8px;background:#e9edf0c7;backdrop-filter:blur(3px)}.loading-overlay strong{font-size:13px}.loading-overlay small{color:var(--muted)}.spinner{width:26px;height:26px;border-radius:50%;border:3px solid #c6d3da;border-top-color:var(--accent);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.measurement-status{position:absolute;z-index:13;left:50%;bottom:14px;transform:translate(-50%);padding:6px 12px;border-radius:15px;background:var(--navy);color:#fff;font-size:var(--fs-sm);font-weight:600;box-shadow:var(--shadow-2);pointer-events:none;font-variant-numeric:tabular-nums}.measurement-tooltip{max-width:260px;padding:5px 8px;border-radius:6px;background:var(--navy);color:#fff;box-shadow:0 3px 12px #081c284d;font-size:11.5px;font-weight:600;white-space:nowrap}.measurement-tooltip.live{background:var(--brand-yellow);color:#3c2a00}.offline-basemap-notice{position:absolute;z-index:13;left:50%;bottom:46px;transform:translate(-50%);padding:5px 10px;border:1px solid #e3c27e;border-radius:13px;background:var(--warning-soft);color:var(--warning);font-size:var(--fs-sm)}.mobile-dock-buttons{display:none}.geometry-edit-toolbar{position:absolute;z-index:16;top:88px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:3px;padding:4px;border:1px solid #f0a8d6;border-radius:9px;background:#fffffffa;box-shadow:var(--shadow-pop);white-space:nowrap}.geometry-edit-toolbar .edit-context{display:grid;padding:0 10px 0 6px;line-height:1.2}.geometry-edit-toolbar .edit-context strong{font-size:12.5px}.geometry-edit-toolbar .edit-context small{color:var(--muted)}.geometry-edit-toolbar .edit-sep{width:1px;align-self:stretch;margin:2px 3px;background:var(--border)}.geometry-edit-toolbar button{display:inline-flex;align-items:center;gap:5px;height:30px;padding:0 10px;border:0;border-radius:6px;background:transparent;color:var(--text);font-weight:600;font-size:12.5px}.geometry-edit-toolbar button:hover:not(:disabled){background:var(--surface-3)}.geometry-edit-toolbar button.icon-only{width:30px;padding:0;justify-content:center}.geometry-edit-toolbar button.apply{background:var(--accent);color:#fff}.geometry-edit-toolbar button.apply:hover:not(:disabled){background:var(--accent-strong)}.planning-edit-toolbar{border-color:#9cc3ea;left:12px;right:12px;transform:none;width:fit-content;max-width:calc(100% - 24px);margin-inline:auto;flex-wrap:wrap;justify-content:flex-end;row-gap:2px}.planning-edit-toolbar .edit-context{flex:1 1 180px;min-width:0}.planning-edit-toolbar .edit-context strong,.planning-edit-toolbar .edit-context small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.planning-edit-toolbar .edit-badge{background:#1565c0;box-shadow:0 0 0 3px #1565c02e}.planning-edit-toolbar .planning-edit-measure{padding:0 8px;font-size:12.5px;font-weight:700;font-variant-numeric:tabular-nums;color:#0d3c78}.planning-edit-toolbar .planning-edit-measure small{color:var(--muted);font-weight:500}.planning-edit-toolbar button[aria-pressed=true]{background:#ffe6f6;color:#a1006c}.geometry-edit-toolbar .edit-badge{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--magenta);box-shadow:0 0 0 3px #ff00a82e}.difference-draw-assist{position:absolute;z-index:17;top:134px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:4px;padding:4px;border:1px solid rgba(255,0,168,.4);border-radius:8px;background:#fffffffa;box-shadow:var(--shadow-2)}.difference-draw-assist button{height:26px;padding:0 9px;border:1px solid var(--border-strong);border-radius:5px;background:var(--surface);font-size:var(--fs-sm);font-weight:600}.difference-draw-assist button[aria-pressed=true]{border-color:var(--magenta);background:#ffe6f6;color:#a1006c}.difference-draw-assist span{padding:0 6px;color:var(--text-2);font-size:var(--fs-sm)}.difference-draw-assist.is-snapped span{color:#a1006c;font-weight:700}.boundary-cut-choice{position:absolute;z-index:17;top:134px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:6px;padding:6px 8px;border:1px solid #ffb27a;border-radius:9px;background:var(--surface);box-shadow:var(--shadow-pop)}.boundary-cut-choice strong{font-size:var(--fs-sm);padding-right:4px}.boundary-cut-choice button{height:28px;padding:0 10px;border:1px solid var(--border-strong);border-radius:6px;background:var(--surface);font-size:var(--fs-sm);font-weight:600}.boundary-cut-choice button span{color:var(--muted);font-weight:500}.app-shell.difference-drawing .map{cursor:crosshair}.ol-zoom{inset:10px 10px auto auto!important;display:grid;gap:1px;padding:0!important;border-radius:8px!important;background:transparent!important;box-shadow:var(--shadow-2);overflow:hidden}.ol-zoom button,.ol-control button{width:34px!important;height:32px!important;margin:0!important;border-radius:0!important;background:#fffffffa!important;color:var(--text)!important;font-size:18px!important;font-weight:400!important}.ol-zoom button:hover,.ol-control button:hover{background:var(--surface-3)!important;outline:none}.ol-control{background:transparent!important}.ol-scale-bar{left:10px!important;bottom:10px!important}.ol-scale-line{left:10px!important;bottom:10px!important;background:#0b2433a6}.ol-scale-bar-inner{font-family:var(--font)}.ol-attribution{right:6px!important;bottom:6px!important;max-width:50%}.ol-attribution ul{font-size:10px}.ol-attribution button{width:22px!important;height:22px!important;font-size:12px!important;border-radius:4px!important}.map-legend{position:absolute;z-index:9;width:min(var(--legend-width,230px),calc(100% - 24px));max-height:46%;overflow:auto;padding:var(--legend-padding,10px);border:var(--legend-border-width,1px) solid var(--legend-border, var(--border-strong));font-family:var(--legend-font-family, inherit);border-radius:var(--radius-lg);background:var(--legend-background, rgba(255,255,255,.96));box-shadow:var(--shadow-2);color:var(--text);font-size:var(--legend-font-size,11px);transform:scale(var(--legend-scale,1));transform-origin:top left}.map-legend.top-left{top:92px;left:12px}.map-legend.top-right{top:92px;right:56px;transform-origin:top right}.map-legend.bottom-left{bottom:40px;left:12px;transform-origin:bottom left}.map-legend.bottom-right{bottom:30px;right:12px;transform-origin:bottom right}.map-legend.free{right:auto;bottom:auto;transform-origin:top left}.map-legend.design-editable{outline:2px solid rgba(18,122,82,.35);outline-offset:2px}.map-legend header{display:flex;align-items:start;gap:6px}.map-legend header>div{min-width:0;flex:1}.map-legend header strong,.map-legend header small{display:block}.map-legend header strong{font-size:1.15em}.map-legend header small{margin-top:2px;color:var(--muted);font-size:.9em}.map-legend ul{display:grid;gap:var(--legend-row-gap,4px);list-style:none;margin:8px 0 0;padding:0}.map-legend li{display:grid;grid-template-columns:var(--legend-swatch-size,14px) minmax(70px,max-content) auto;align-items:center;gap:var(--legend-column-gap,6px);font-size:1em}.map-legend li i{width:var(--legend-swatch-size,14px);height:var(--legend-swatch-size,14px);border-radius:3px}.map-legend li>input[type=color]{width:var(--legend-swatch-size,14px);height:var(--legend-swatch-size,14px);padding:0;border:1px solid rgba(0,0,0,.15);border-radius:3px;background:transparent}.map-legend li b{color:var(--text-2);font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}.map-legend.metrics-start li b{justify-self:start}.map-legend.metrics-end li b{justify-self:end}.map-legend .legend-alias{field-sizing:content;min-width:60px;max-width:calc(var(--legend-width,230px) * .62);height:auto!important;padding:1px 3px!important;border:1px solid transparent!important;border-radius:4px;background:transparent!important;font:inherit!important}.map-legend .legend-alias:hover,.map-legend .legend-alias:focus{border-color:var(--border-strong)!important;background:#fff!important}.legend-drag-handle{flex:none;cursor:grab;user-select:none;touch-action:none;color:var(--accent);line-height:1.5}.legend-title-input{width:100%;height:auto!important;padding:1px 3px!important;border:1px solid transparent!important;border-radius:4px;background:transparent!important;font:inherit!important;font-size:1.15em!important;font-weight:700!important}.legend-title-input:hover,.legend-title-input:focus{border-color:var(--border-strong)!important;background:#fff!important}.map-legend .legend-design-button{flex:none;display:inline-grid;place-items:center;width:26px;height:26px;padding:0;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer}.map-legend .legend-design-button:hover,.map-legend .legend-design-button:focus-visible{border-color:var(--border-strong);background:#fff;color:var(--text)}.map-legend .legend-design-button svg{width:15px;height:15px}.map-legend .legend-section-title{min-width:0;flex:0 1 auto;width:auto;field-sizing:content;max-width:70%;height:auto!important;padding:0 3px!important;border:1px solid transparent!important;border-radius:4px;background:transparent!important;color:inherit;font:inherit!important;text-transform:uppercase}.map-legend .legend-section-title:hover,.map-legend .legend-section-title:focus{border-color:var(--border-strong)!important;background:#fff!important;text-transform:none}.legend-order{display:grid;gap:4px;margin:0;padding:0;list-style:none}.legend-order+.legend-order{margin-top:8px;padding-top:8px;border-top:1px dashed var(--border)}.legend-order li{display:grid;grid-template-columns:14px minmax(0,1fr) auto auto;align-items:center;gap:6px;font-size:var(--fs-sm)}.legend-order li span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.legend-order .icon-button{width:28px;height:26px}.legend-order-swatch{width:14px;height:12px;border-radius:2px;background:var(--swatch)}.legend-order-swatch.outline{border:3px solid var(--swatch);background:#fff}@media(max-width:760px){.legend-order .icon-button{width:40px;height:40px}}.legend-explanation{margin:6px 0 0;padding-top:6px;border-top:1px solid var(--border);font-size:.9em;line-height:1.35;color:var(--muted)}.map-legend.capture-draggable{cursor:grab;touch-action:none}.map-legend.capture-draggable.is-dragging{cursor:grabbing}.presentation-overlay{position:absolute;z-index:8;top:92px;left:12px;max-width:min(520px,calc(100% - 120px));display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-lg);background:#fffffff5;box-shadow:var(--shadow-2)}.presentation-overlay header h2{margin:0;font-size:17px;letter-spacing:-.01em}.presentation-overlay header p{margin:3px 0;color:var(--text-2);font-size:12px}.presentation-overlay header time{color:var(--muted);font-size:var(--fs-xs)}.presentation-kpis{display:flex;gap:6px}.presentation-kpis div{min-width:76px;padding:6px 8px;border-radius:6px;background:var(--surface-2)}.presentation-kpis b,.presentation-kpis span{display:block}.presentation-kpis b{font-size:14px;color:var(--accent-strong);font-variant-numeric:tabular-nums}.presentation-kpis span{margin-top:1px;font-size:var(--fs-xs);color:var(--muted)}.north-arrow{position:absolute;z-index:8;top:84px;right:12px;width:34px;height:50px;display:grid;place-items:center;align-content:center;border:1px solid var(--border);border-radius:17px 17px 8px 8px;background:#fffffff2;box-shadow:var(--shadow-1);color:var(--navy);font-weight:800;line-height:1}.north-arrow span{font-size:11px}.map-stage.presentation-framed{background:var(--presentation-background,#eef3f0);box-shadow:inset 0 0 0 10px var(--presentation-background,#eef3f0),inset 0 0 0 11px #31505f}.map-stage.presentation-framed .map{inset:11px}.properties{display:grid;align-content:start}.empty-inspector{padding:22px 16px;color:var(--muted)}.empty-inspector strong{display:block;color:var(--text);font-size:13px;margin-bottom:4px}.empty-inspector p{margin:0;font-size:var(--fs-sm);line-height:1.5}.entity-header{padding:14px 14px 12px;border-bottom:1px solid var(--border)}.entity-kind{display:inline-flex;align-items:center;gap:6px;color:var(--text-2);font-size:var(--fs-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase}.entity-header h3{margin:4px 0 2px;font-size:17px;font-weight:700;letter-spacing:-.015em;line-height:1.25;word-break:break-word}.entity-path{margin:0;color:var(--text-2);font-size:var(--fs-sm)}.entity-path button{padding:0;border:0;background:none;color:var(--accent);font:inherit}.entity-path button:hover{text-decoration:underline}.entity-actions{display:flex;flex-wrap:wrap;gap:6px;padding:10px 14px;border-bottom:1px solid var(--border)}.entity-actions .button{height:28px}.entity-actions .button svg{width:15px;height:15px}.kpi-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));background:var(--surface);border-bottom:1px solid var(--border)}.kpi{padding:9px 14px;background:var(--surface);box-shadow:inset -1px -1px 0 var(--border)}.kpi:nth-child(2n){box-shadow:inset 0 -1px 0 var(--border)}.kpi b{display:block;font-size:15px;font-weight:700;font-variant-numeric:tabular-nums}.kpi span{display:block;margin-top:1px;color:var(--muted);font-size:11px}.kpi small{display:block;margin-top:2px;font-size:var(--fs-xs);color:var(--warning)}.prop-section{border-bottom:1px solid var(--border)}.prop-section>summary{display:flex;align-items:center;justify-content:space-between;height:34px;padding:0 14px;list-style:none;cursor:pointer;color:var(--text-2);font-size:var(--fs-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;transition:background-color .12s}.prop-section>summary:focus-visible{outline-offset:-2px}.prop-section>summary::-webkit-details-marker{display:none}.prop-section>summary span{color:var(--muted);font-weight:500;letter-spacing:0;text-transform:none}.prop-section>summary:hover{background:var(--surface-2)}.property-list{margin:0;padding:0 14px 10px}.property-row{display:grid;grid-template-columns:minmax(90px,42%) minmax(0,1fr);gap:10px;padding:4px 0;border-bottom:1px solid #f0f3f5;font-size:var(--fs)}.property-row:last-child{border-bottom:0}.property-row dt{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.property-row dd{margin:0;color:var(--text);font-weight:500;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.area-compare{padding:8px 14px 10px;border-bottom:1px solid var(--border)}.area-compare table{width:100%;border-collapse:collapse;font-size:var(--fs)}.area-compare td{padding:3px 0}.area-compare td:last-child{text-align:right;font-weight:600;font-variant-numeric:tabular-nums}.area-compare .diff{color:var(--warning);font-weight:600}.prop-block{padding:10px 14px;border-bottom:1px solid var(--border);display:grid;gap:8px}.working-feature-form{display:grid;gap:8px;padding:10px 14px}.working-feature-form label{display:grid;gap:4px;font-size:var(--fs-xs);font-weight:600;color:var(--text-2)}.working-feature-actions{display:flex;gap:6px;flex-wrap:wrap}.working-feature-actions button{height:28px;padding:0 10px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);font-weight:600}.summary-list{display:grid;gap:1px;padding:6px 14px 12px}.summary-list div{display:flex;justify-content:space-between;gap:10px;padding:4px 0;border-bottom:1px solid #f0f3f5}.summary-list span{color:var(--text-2)}.summary-list b{font-weight:600;text-align:right}.location-card{background:#f6fafc;border-bottom:1px solid var(--border-strong)}.location-card .entity-kind svg{width:13px;height:13px;color:#0b6fa0}.location-card .property-list{padding-top:8px}.location-card .property-row.stacked{grid-template-columns:minmax(0,1fr);gap:2px}.location-card .property-row.stacked dd{white-space:nowrap}.location-card .property-row dd{font-variant-numeric:tabular-nums}.selection-hero{position:relative;display:grid;gap:2px;margin:10px 10px 0;padding:12px 14px;border:1px solid var(--accent-line);border-radius:12px;background:linear-gradient(160deg,#f4fbf7,#e6f3ec);box-shadow:0 1px #fffc inset,0 6px 16px -10px #0d634373}.selection-hero .entity-kind{color:var(--accent-strong)}.selection-kpi{display:flex;align-items:baseline;gap:6px;margin-top:2px;color:var(--accent-strong);font-variant-numeric:tabular-nums}.selection-kpi b{font-size:30px;font-weight:750;letter-spacing:-.02em;line-height:1.05}.selection-kpi span{font-size:15px;font-weight:650}.selection-kpi-caption{color:var(--text-2);font-size:var(--fs-sm);font-weight:600}.selection-count{margin:6px 0 0;padding-top:6px;border-top:1px solid rgba(13,99,67,.15);color:var(--text);font-size:13px;font-weight:650}.selection-note{color:var(--text-2);font-size:var(--fs-xs);line-height:1.4}.selection-tools{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:10px;border-bottom:1px solid var(--border)}.selection-tool{height:30px;gap:5px;padding:0 9px;font-size:var(--fs-sm);transition:background-color .12s,border-color .12s,box-shadow .12s}.selection-tool svg{width:15px;height:15px}.selection-clear{margin-left:auto;width:30px;padding:0;justify-content:center}.selection-clear span{display:none}.selection-more{position:relative}.selection-more>summary{list-style:none;cursor:pointer}.selection-more>summary::-webkit-details-marker{display:none}.selection-more[open]>summary{background:var(--active-bg);border-color:var(--active-ring);color:var(--active-fg)}.selection-more-menu{position:absolute;z-index:30;top:calc(100% + 4px);left:0;display:grid;min-width:210px;padding:4px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-pop)}.selection-more-menu .selection-tool{justify-content:flex-start;height:32px;border:0;background:transparent;box-shadow:none}.selection-more-menu .selection-tool:hover{background:var(--accent-soft);color:var(--accent-strong)}.selection-members{padding:8px 10px 12px}.selection-members h4{display:flex;justify-content:space-between;align-items:baseline;margin:2px 4px 6px;color:var(--text-2);font-size:var(--fs-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase}.selection-members h4 span{color:var(--muted);font-weight:500;letter-spacing:0;text-transform:none}.selection-members ol{display:grid;gap:2px;margin:0;padding:0;list-style:none}.selection-member{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto 28px;align-items:center;gap:8px;min-height:38px;padding:3px 2px 5px 6px;border-radius:7px;transition:background-color .12s}.selection-member:hover{background:var(--surface-hover)}.selection-member-name{min-width:0;display:grid}.selection-member-name strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs);font-weight:600}.selection-member-name small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:var(--fs-xs)}.selection-member-name small.selection-member-note{color:var(--warning);white-space:normal;overflow:visible;text-overflow:clip;line-height:1.35}.selection-member-value{font-size:13px;font-weight:650;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.selection-member.muted .selection-member-value{color:var(--muted);font-weight:500;font-size:var(--fs-sm)}.selection-member-bar{position:absolute;left:6px;right:38px;bottom:2px;height:2px;border-radius:1px;background:linear-gradient(90deg,var(--accent) calc(var(--share) * 100%),transparent 0);opacity:.55}.selection-members-more{margin:6px 6px 0}@media(max-width:760px){.selection-tool{height:40px;padding:0 12px}.selection-tool span{font-size:12.5px}.selection-clear{width:auto;padding:0 12px}.selection-clear span{display:inline}.selection-member{min-height:46px;grid-template-columns:minmax(0,1fr) auto 40px}.selection-member .ghost-icon{width:40px;height:40px}.selection-member-bar{right:50px}.selection-more-menu .selection-tool{height:44px}}.legend-editor{display:grid;gap:6px;margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}.category-list{display:grid;gap:1px;max-height:320px;overflow:auto}.category-list>small{color:var(--muted);padding:4px 0}.category-row{display:grid;grid-template-columns:16px 18px minmax(0,1fr) auto;align-items:center;gap:7px;min-height:28px;padding:0 4px;border-radius:5px}.category-row:hover{background:var(--surface-hover)}.category-row.is-hidden{opacity:.45}.category-row input[type=color]{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}.category-row .category-hex{display:none}.category-swatch{position:relative;width:18px;height:18px;border:2px solid;border-radius:4px;cursor:pointer}.category-name{height:24px!important;padding:0 4px!important;border-color:transparent!important;background:transparent!important}.category-name:hover,.category-name:focus{border-color:var(--border-strong)!important;background:#fff!important}.category-row b{color:var(--text);font-weight:600;font-size:12.5px;font-variant-numeric:tabular-nums;min-width:22px;text-align:right}.category-row button{height:22px;padding:0 6px;border:1px solid var(--border-strong);border-radius:4px;background:var(--surface);font-size:var(--fs-xs)}.legend-count-unit{color:var(--muted);font-weight:500}.scope-filter{display:grid;gap:4px}.scope-filter>label{font-size:var(--fs-xs);font-weight:600;color:var(--text-2)}.scope-options{display:grid;gap:1px;max-height:150px;overflow:auto;border:1px solid var(--border);border-radius:var(--radius);padding:3px}.scope-options label{display:flex;align-items:center;gap:7px;min-height:24px;padding:0 6px;border-radius:4px;font-size:var(--fs);cursor:pointer}.scope-options label:hover{background:var(--surface-hover)}.scope-options small{padding:4px 6px;color:var(--muted)}.scope-chips{display:flex;flex-wrap:wrap;gap:4px}.scope-chips button{max-width:100%;height:22px;padding:0 8px;border:0;border-radius:11px;background:var(--accent-soft);color:var(--accent-strong);font-size:var(--fs-xs);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.saved-selection-list{display:grid;gap:4px}.saved-selection-list button{display:flex;justify-content:space-between;align-items:center;gap:8px;height:32px;padding:0 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);text-align:left}.saved-selection-list button:hover{border-color:var(--accent-line);background:var(--accent-soft)}.saved-selection-list small{color:var(--muted)}.subarea-summary{display:grid;gap:4px}.subarea-summary button{text-align:left;padding:6px 8px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.subarea-summary .subarea-remaining{border-style:dashed;border-color:var(--accent-line);color:var(--accent-strong);font-weight:600}.subarea-summary .subarea-remaining:disabled{border-color:var(--border);color:var(--muted);font-weight:400;cursor:default}.tool-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(70px,1fr));gap:4px}.tool-strip button{display:grid;justify-items:center;gap:3px;padding:7px 4px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);font-size:var(--fs-xs);font-weight:600;color:var(--text-2)}.tool-strip button svg{width:18px;height:18px}.tool-strip button:hover:not(:disabled){border-color:var(--accent-line);color:var(--accent-strong)}.tool-strip button.active{background:var(--accent);border-color:var(--accent);color:#fff}.join-list{display:grid;gap:4px}.join-list>div{display:grid;gap:2px;padding:7px 9px;border:1px solid var(--border);border-radius:var(--radius)}.join-list strong{font-size:var(--fs)}.join-list small{color:var(--muted)}.label-category-picker{margin:0;padding:8px;border:1px solid var(--border);border-radius:var(--radius)}.label-category-picker>div{display:grid;gap:4px;max-height:150px;overflow:auto}.label-category-picker label{display:flex;align-items:center;gap:7px}.table-dock{position:relative;z-index:25;display:none;height:var(--attribute-table-height, 300px);min-height:0;flex-direction:column;background:var(--surface);border-top:1px solid var(--border-strong);box-shadow:0 -6px 16px -12px #10202c59;transition:height .16s ease}.table-dock.open{display:flex}body.workspace-resizing .table-dock{transition:none}.table-dock[data-table-state=compact]{height:37px}.table-dock[data-table-state=compact] .table-wrap,.table-dock[data-table-state=compact] .panel-resize-handle,.table-dock[data-table-state=compact] .table-columns-menu{display:none}.table-dock[data-table-state=compact] .table-toolbar{border-bottom:0}.table-toolbar{display:flex;align-items:center;gap:8px;height:36px;padding:0 6px 0 8px;border-bottom:1px solid var(--border);flex:none;min-width:0}.table-title{flex:0 1 auto;min-width:0;display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 6px;border:0;border-radius:var(--radius);background:transparent;font-weight:700;white-space:nowrap}.table-title span,.table-title b{overflow:hidden;text-overflow:ellipsis}.table-title svg{flex:none}.table-title:hover{background:var(--hover)}.table-title b{color:var(--muted);font-weight:500;font-size:var(--fs-sm)}.table-tools{flex:1;display:flex;align-items:center;gap:6px;min-width:0;overflow:hidden}.table-window-actions{flex:none;display:flex;align-items:center;gap:2px;padding-left:4px;border-left:1px solid var(--border)}.table-window-actions .ghost-icon:disabled{opacity:.45;cursor:default}.table-tools .table-search{width:220px;height:26px}.table-tools .check{font-size:var(--fs-sm);color:var(--text-2);white-space:nowrap}.table-tools .button{height:26px;font-size:var(--fs-sm)}.table-columns-menu{position:absolute;z-index:60;top:34px;right:40px;width:260px;max-height:300px;overflow:auto;padding:6px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-pop)}.table-columns-menu label{display:flex;align-items:center;gap:7px;min-height:26px;padding:0 6px;border-radius:4px;font-size:var(--fs)}.table-columns-menu label:hover{background:var(--surface-hover)}.table-wrap{flex:1;min-height:0;overflow:auto;position:relative}.data-table{border-collapse:separate;border-spacing:0;min-width:100%;font-size:12px;font-variant-numeric:tabular-nums;table-layout:auto}.data-table th{position:sticky;top:0;z-index:2;height:28px;padding:0 8px;border-bottom:1px solid var(--border-strong);border-right:1px solid var(--border);background:var(--surface-2);color:var(--text-2);font-weight:600;text-align:left;white-space:nowrap;user-select:none}.data-table th button{display:inline-flex;align-items:center;gap:4px;padding:0;border:0;background:none;font:inherit;color:inherit}.data-table th button:hover{color:var(--text)}.data-table th .sort-indicator{color:var(--accent);font-size:10px}.data-table td{height:26px;max-width:260px;padding:0 8px;border-bottom:1px solid #edf1f3;border-right:1px solid #f1f4f6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.data-table td.num,.data-table th.num{text-align:right}.data-table tbody tr{cursor:pointer}.data-table tbody tr:hover td{background:var(--surface-hover)}.data-table tbody tr.selected td{background:#fff3d6}.data-table tbody tr.selected td:first-child{box-shadow:inset 3px 0 0 var(--selection)}.data-table td.row-index,.data-table th.row-index{width:44px;color:var(--muted);text-align:right;position:sticky;left:0;z-index:1;background:var(--surface)}.data-table th.row-index{z-index:3;background:var(--surface-2)}.data-table .spacer td{height:auto;padding:0;border:0}.empty-table{padding:18px;color:var(--muted)}.status-bar{display:flex;align-items:center;gap:0;height:24px;padding:0 6px;border-top:1px solid var(--border);background:var(--surface-2);color:var(--text-2);font-size:11px;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden}.status-item{display:inline-flex;align-items:center;gap:5px;padding:0 10px;height:16px;border-right:1px solid var(--border)}.status-item svg{width:13px;height:13px;color:var(--muted)}.status-item:last-child{border-right:0}.status-coords{min-width:168px;cursor:copy;border-radius:4px;transition:color .12s,background-color .12s}.status-coords:hover{color:var(--text);background:var(--hover)}.status-coords:focus-visible{outline-offset:0}.status-coords.copied{color:var(--accent-strong);font-weight:600}.status-spacer{flex:1}#selection-status.active{color:#7a4c00;font-weight:600}.dialog{width:min(560px,calc(100vw - 32px));max-height:calc(100vh - 48px);padding:0;border:1px solid var(--border);border-radius:11px;background:var(--surface);color:var(--text);box-shadow:var(--shadow-pop)}.dialog::backdrop{background:#0a1c2866;backdrop-filter:blur(2px)}.dialog form{display:grid;gap:12px;max-height:calc(100vh - 50px);overflow:auto;padding:16px 18px 0}.dialog-wide{width:min(880px,calc(100vw - 32px))}.dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.dialog-header h2{margin:2px 0 0;font-size:16.5px;font-weight:700;letter-spacing:-.01em}.eyebrow{display:inline-flex;align-items:center;gap:5px;color:var(--accent);font-size:var(--fs-xs);font-weight:700;letter-spacing:.07em;text-transform:uppercase}.eyebrow svg{width:13px;height:13px}.dialog p{margin:0;color:var(--text-2);line-height:1.5}.dialog-actions{position:sticky;bottom:0;display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px;margin:0 -18px;padding:12px 18px;border-top:1px solid var(--border);background:var(--surface)}.role-choice{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);cursor:pointer}.import-summary{display:grid;gap:8px;max-height:38vh;overflow:auto}.import-summary:empty{display:none}.import-summary-card{padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2)}.import-summary-card h3{margin:0 0 4px;font-size:13px;font-weight:650;overflow-wrap:anywhere}.import-summary-card dl{display:grid;gap:2px;margin:0}.import-summary-card dl div{display:flex;justify-content:space-between;gap:10px;font-size:var(--fs-sm)}.import-summary-card dt{color:var(--muted)}.import-summary-card dd{margin:0;text-align:right;overflow-wrap:anywhere}.import-summary-card details{margin-top:4px;font-size:var(--fs-sm)}.import-summary-card ul,.import-summary-notices{margin:4px 0 0;padding-left:18px;font-size:var(--fs-sm);color:var(--muted)}.crs-choice-list{display:grid;gap:8px}.data-table th.technical button{font-style:italic;color:var(--muted)}.role-choice:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}.role-choice b,.role-choice small{display:block}.role-choice small{margin-top:2px;color:var(--muted)}.gpkg-layer-list{display:grid;gap:6px;max-height:50vh;overflow:auto}.gpkg-layer-choice{display:grid;grid-template-columns:auto 1fr;gap:10px;padding:9px 11px;border:1px solid var(--border);border-radius:var(--radius);cursor:pointer}.gpkg-layer-choice strong,.gpkg-layer-choice small{display:block}.gpkg-layer-choice small{color:var(--muted)}.casur-hydric-summary,.casur-hydric-warnings,.excel-audit{margin:0;padding:10px;border-radius:var(--radius);background:var(--surface-2);font:11.5px/1.5 ui-monospace,Menlo,monospace;white-space:pre-wrap;color:var(--text-2);max-height:220px;overflow:auto}.metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius);background:var(--border)}.metric-grid>div{padding:8px 10px;background:var(--surface)}.metric-grid b{display:block;font-size:14px;font-variant-numeric:tabular-nums}.metric-grid span{display:block;margin-top:1px;color:var(--muted);font-size:var(--fs-xs)}.subarea-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius);background:var(--border)}.subarea-preview-grid>div{padding:7px 10px;background:var(--surface)}.subarea-preview-grid b,.subarea-preview-grid span{display:block}.subarea-preview-grid span{color:var(--muted);font-size:var(--fs-xs)}.subarea-assignment-fields{display:grid;gap:6px}.subarea-assignment-row{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,1fr);align-items:center;gap:8px}.difference-mode-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.difference-mode-options button{display:grid;gap:4px;padding:12px;border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--surface);text-align:left}.difference-mode-options button:hover{border-color:var(--magenta);background:#fff5fb}.difference-mode-options span{color:var(--muted);font-size:var(--fs-sm)}.classification-custom-scope{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:8px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2)}.assignment-mode-actions{display:flex}.assignment-preview{padding:10px;border:1px solid var(--accent-line);border-radius:var(--radius);background:#f3faf6;color:var(--text-2)}.assignment-preview strong{display:block;color:var(--accent-strong);font-size:13px}.assignment-preview dl{display:grid;grid-template-columns:auto 1fr;gap:3px 10px;margin:6px 0 0}.assignment-preview dt{color:var(--muted)}.assignment-preview dd{margin:0;font-weight:600}.pwa-update-toast{position:fixed;z-index:80;right:16px;bottom:36px;width:min(320px,calc(100vw - 32px));display:grid;gap:8px;padding:12px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-pop)}.pwa-update-toast>div{display:flex;justify-content:flex-end;gap:6px}.excel-dialog form{gap:14px}.excel-source-line{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:var(--fs-sm)}.excel-source-line select{width:auto;min-width:140px}.excel-detection{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-lg);background:#eef6fb;color:#164a69}.excel-detection:empty{display:none}.excel-detection svg{width:18px;height:18px;color:var(--brand-blue)}.excel-detection>div{display:grid;gap:1px}.excel-detection strong{font-size:13.5px}.excel-detection small{color:#4e7790;font-size:var(--fs-sm)}.excel-step{display:grid;gap:8px}.excel-step h3,.excel-source-preview h3,.excel-advanced h3{margin:0;font-size:var(--fs-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-2)}.excel-recommendation{display:grid;gap:8px;padding:12px;border:1px solid var(--accent-line);border-radius:var(--radius-lg);background:#f4fbf7}.excel-recommendation.is-warning{border-color:#e6c27d;background:var(--warning-soft)}.excel-relation-main{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:14px}.excel-relation-main .key{padding:3px 8px;border-radius:5px;background:var(--surface);border:1px solid var(--border);font-weight:600}.excel-relation-main .arrow{color:var(--accent);font-weight:700}.excel-coverage{display:flex;align-items:baseline;gap:6px;color:var(--accent-strong)}.excel-coverage b{font-size:18px;font-variant-numeric:tabular-nums}.excel-recommendation small{color:var(--text-2)}.excel-example{font:12px ui-monospace,Menlo,monospace;color:var(--text-2)}.excel-alternatives{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding-top:4px;border-top:1px dashed var(--accent-line)}.excel-alternatives>span{color:var(--muted);font-size:var(--fs-sm)}.excel-alternatives button{height:26px;padding:0 9px;border:1px solid var(--border-strong);border-radius:13px;background:var(--surface);font-size:var(--fs-sm)}.excel-alternatives button:hover{border-color:var(--accent);color:var(--accent-strong)}.excel-column-picker{display:grid;gap:6px}.excel-column-tools{display:flex;gap:6px}.excel-column-tools input{max-width:260px}.excel-column-tools button{height:var(--row);padding:0 10px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);font-weight:600;font-size:var(--fs-sm)}.excel-columns{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:2px 10px;max-height:190px;overflow:auto;padding:4px;border:1px solid var(--border);border-radius:var(--radius)}.excel-columns label{display:flex;align-items:center;gap:7px;min-height:26px;padding:0 6px;border-radius:4px;cursor:pointer}.excel-columns label:hover{background:var(--surface-hover)}.excel-columns label small,.excel-columns label.is-key{color:var(--muted)}.excel-audit-simple{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;padding:10px 12px;border-radius:var(--radius);background:var(--surface-2);color:var(--text-2)}.excel-audit-simple strong{color:var(--text)}.excel-audit-simple .is-error{color:var(--danger);font-weight:700}.excel-audit-simple .is-ok{color:var(--accent-strong);font-weight:700}.excel-preview{max-height:240px;overflow:auto;border:1px solid var(--border);border-radius:var(--radius)}.excel-preview table{width:max-content;min-width:100%;border-collapse:collapse;font-size:11.5px}.excel-preview th,.excel-preview td{max-width:220px;padding:4px 8px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}.excel-preview th{position:sticky;top:0;background:var(--surface-2);color:var(--text-2)}.excel-key-mapping{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:start;margin:0 0 8px;padding:10px;border:1px solid var(--border);border-radius:var(--radius)}.excel-key-mapping legend{padding:0 4px;font-size:var(--fs-xs);font-weight:700;color:var(--text-2)}.excel-key-mapping>div{display:grid;gap:6px}.excel-key-mapping>b{align-self:center;color:var(--accent)}.excel-key-mapping>button{grid-column:1 / -1;justify-self:start}.excel-key-mapping button{height:24px;padding:0 8px;border:1px solid var(--border-strong);border-radius:5px;background:var(--surface);font-size:var(--fs-xs)}.excel-key-component{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px}.excel-key-mapping label{display:flex;align-items:center;gap:6px;font-size:var(--fs-xs);color:var(--text-2)}.excel-key-mapping label input{width:70px;height:24px}.app-shell.capture-mode{grid-template-rows:minmax(0,1fr)}.app-shell.capture-mode>.appbar,.app-shell.capture-mode>.gis-toolbar,.app-shell.capture-mode>.table-dock,.app-shell.capture-mode>.status-bar,.app-shell.capture-mode .dock-left,.app-shell.capture-mode .dock-right{display:none!important}.app-shell.capture-mode>.workspace{grid-row:1;grid-template-columns:minmax(0,1fr);background:var(--presentation-background,#eef3f0)}.app-shell.capture-mode .map-stage{grid-column:1}.app-shell.capture-mode .map-topbar,.app-shell.capture-mode .map-subbar,.app-shell.capture-mode .geometry-edit-toolbar,.app-shell.capture-mode .measurement-status,.app-shell.capture-mode .map-toast,.app-shell.capture-mode .loading-overlay,.app-shell.capture-mode .ol-zoom,.app-shell.capture-mode .mobile-dock-buttons,.app-shell.capture-mode .pwa-update-toast,.app-shell.capture-mode .offline-basemap-notice,.app-shell.capture-mode .elevation-readout,.app-shell.capture-mode .elevation-profile{display:none!important}.app-shell.capture-mode .presentation-overlay{top:24px;left:24px}.app-shell.capture-mode .north-arrow{top:24px;right:24px}.app-shell.capture-mode .map-legend.top-left,.app-shell.capture-mode .map-legend.top-right{top:100px}.app-shell.capture-mode .map-legend input{border-color:transparent!important;pointer-events:none}.app-shell.capture-mode .map-legend.design-editable{outline:0}.app-shell[data-active-pane=presentation] .map-subbar{display:none}@media(max-width:1180px){.appbar-project{justify-content:flex-start}.status-pill{display:none}.map-search{width:min(280px,36vw)}}@media(max-width:760px){:root{--row: 32px}.app-shell{grid-template-rows:44px 40px minmax(0,1fr) auto 22px}.appbar{z-index:70;gap:6px;padding:0 8px;overflow-x:auto;scrollbar-width:none}.brand strong,.brand-org,.appbar-project .save-state,.connectivity-pill span{display:none}.appbar-project{flex:none}.appbar-project-name{max-width:16ch}.menubar-button{padding:0 7px;font-size:12.5px}.menu-popover{position:fixed;top:46px;left:8px;right:8px;min-width:0}.workspace,.workspace.left-panel-collapsed,.workspace.inspector-collapsed,.workspace.left-panel-collapsed.inspector-collapsed{grid-template-columns:minmax(0,1fr)}.map-stage{grid-column:1;grid-row:1}.dock{position:fixed;z-index:60;visibility:visible!important;box-shadow:var(--shadow-pop);transition:transform .2s ease}.dock-left{top:84px;bottom:22px;left:0;width:min(86vw,340px);transform:translate(-102%)}.dock-right{left:0;right:0;bottom:22px;height:min(62vh,560px);border-radius:14px 14px 0 0;border-left:0;border-top:1px solid var(--border);transform:translateY(102%)}.app-shell[data-mobile-dock=left] .dock-left,.app-shell[data-mobile-dock=right] .dock-right{transform:none}.dock-close{display:grid!important}.panel-resize-handle{display:none}.map-topbar{right:54px;flex-wrap:wrap}.map-search{width:100%}.view-by-label{display:none}.map-subbar{top:92px;right:10px}.geometry-edit-toolbar{top:auto;bottom:64px;max-width:calc(100% - 16px);overflow-x:auto}.geometry-edit-toolbar .edit-context,.planning-edit-toolbar .planning-edit-measure small{display:none}.mobile-dock-buttons{position:absolute;z-index:15;left:10px;bottom:34px;display:grid;gap:6px}.app-shell.table-compact .mobile-dock-buttons{bottom:72px}.dock-collapse{display:none!important}.gis-toolbar{padding:0 4px 0 6px}.tool-group.panel-toggles{margin-left:2px}.panel-toggle.tool-button{width:34px;height:30px}.table-toolbar{gap:4px;padding:0 4px}.table-title b,.table-title svg{display:none}.table-tools{gap:4px}.table-tools .check span{display:none}.table-tools .table-search{width:auto;min-width:72px;flex:1}.table-tools .button[data-table-columns]{width:30px;padding:0;justify-content:center;font-size:0}.table-tools .button[data-table-columns] svg{width:16px;height:16px}.mobile-dock-buttons button{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--border-strong);border-radius:10px;background:var(--surface);box-shadow:var(--shadow-2)}.ol-scale-bar,.ol-scale-line{left:58px!important}.table-dock{position:fixed;left:0;right:0;bottom:22px;height:min(50vh,420px);z-index:55;border-radius:12px 12px 0 0}.table-dock[data-table-state=compact],.table-dock[data-table-state=compact] .table-toolbar{height:40px}.status-item:not(#status-visible):not(#selection-status){display:none}.map-legend.bottom-right{bottom:44px}.filter-popover{position:fixed;left:8px;right:8px;top:130px;width:auto}.dialog-wide{width:calc(100vw - 16px)}.field-grid,.difference-mode-options{grid-template-columns:1fr}}@media(max-width:420px){.menubar-button{padding:0 4px;font-size:12px}.appbar{gap:4px;padding:0 6px}.menubar{gap:0}.brand{gap:6px}.brand-logo{width:30px;height:30px}}@media(max-width:380px){.menubar-button{padding:0 3px;font-size:11.5px}}.split-entry{display:grid;gap:6px;padding:10px 12px;border:1px solid var(--accent-line);border-radius:10px;background:var(--accent-soft)}.split-entry h3{margin:0;font-size:13px;font-weight:650;color:var(--text)}.split-entry .button{justify-self:start}.split-card{position:fixed;inset:auto auto 24px 50%;transform:translate(-50%);z-index:60;margin:0;width:min(430px,calc(100vw - 24px));max-height:min(72vh,660px);overflow:auto;padding:0 16px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text);box-shadow:var(--shadow-pop)}.split-card-header{padding:14px 0 8px}.split-card-header h2{margin:2px 0 0;font-size:16px;font-weight:650}.split-step{display:grid;gap:10px}.split-step[hidden]{display:none}.split-step .dialog-actions{margin:4px -16px 0;padding:10px 16px}.split-drawing-note{margin:0;color:var(--text-2);line-height:1.5}.split-review-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.split-part{display:grid;gap:2px;padding:9px 10px;border-radius:9px;border:1px solid var(--border)}.split-part span{color:var(--muted);font-size:var(--fs-xs)}.split-part b{font-size:15px}.split-part em{font-style:normal;font-variant-numeric:tabular-nums;color:var(--text-2)}.split-part-drawn{border-color:#d45113;background:#ff8a3d1f}.split-part-rest{border-color:#1f5f99;background:#2b7bba1a}.split-facts{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px;margin:0}.split-facts div{display:flex;justify-content:space-between;gap:8px;border-bottom:1px dashed var(--border);padding:3px 0}.split-facts dt{color:var(--muted)}.split-facts dd{margin:0;font-variant-numeric:tabular-nums}@media(max-width:760px){.split-card{inset:auto 0 0;transform:none;width:100%;max-width:none;max-height:46vh;border-radius:12px 12px 0 0}.split-facts{grid-template-columns:1fr}}.topo-ref{display:grid;gap:8px;padding:10px 12px;border:1px solid var(--border-strong);border-radius:10px;background:var(--surface-2)}.topo-ref h3{margin:0;font-size:13px;font-weight:650;color:var(--text)}.topo-facts{display:grid;gap:2px;margin:0}.topo-facts div{display:flex;justify-content:space-between;gap:10px;padding:3px 0;border-bottom:1px dashed var(--border)}.topo-facts dt{color:var(--muted)}.topo-facts dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}.topo-facts[hidden]{display:none}.topo-draw-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.topo-note textarea{min-height:52px;font-family:inherit;font-size:var(--fs-sm)}.topo-note small{color:var(--muted);font-weight:400}.planning-label-fields{display:grid;gap:8px;margin:0;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2)}.planning-label-fields[hidden]{display:none}.planning-label-preview{white-space:pre-line}.planning-tools .inline-field{display:flex;gap:6px;min-width:0}.planning-tools .inline-field select{flex:1;min-width:0;width:auto}.planning-tools .inline-field .button{flex:none}.planning-group h4{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:4px 0 6px;font-size:12px;font-weight:650;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.planning-polygon-mode{text-transform:none;letter-spacing:0}.planning-presets{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:6px}.planning-preset{display:flex;align-items:center;gap:7px;min-height:40px;padding:5px 7px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);font-size:12.5px;line-height:1.2;text-align:left;cursor:pointer}.planning-preset:hover:not(:disabled){border-color:var(--accent);background:var(--surface-2)}.planning-preset[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 2px #127a5233;background:#127a5212}.planning-preset:disabled{opacity:.5;cursor:not-allowed}.planning-swatch{flex:none;width:24px;height:24px;overflow:visible}.planning-form .planning-color .inline-field{align-items:center}.planning-form input[type=color]{width:44px;height:30px;padding:2px}@media(max-width:760px){.planning-presets{grid-template-columns:repeat(2,minmax(0,1fr))}.planning-preset{min-height:44px}}.status-elevation{min-width:150px}.status-elevation b{font-weight:600;color:var(--text)}.status-source{display:inline-flex;align-items:center;height:16px;margin-left:4px;padding:0 5px;border:1px solid var(--border-strong);border-radius:4px;background:var(--surface);color:var(--accent-strong);font:600 10px/1 inherit;letter-spacing:.02em;cursor:help}.status-source:hover{background:var(--hover)}.elevation-readout{position:absolute;z-index:16;left:50%;bottom:34px;transform:translate(-50%);display:flex;align-items:center;gap:10px;max-width:calc(100% - 24px);padding:6px 6px 6px 12px;border:1px solid var(--border-strong);border-radius:10px;background:var(--surface);color:var(--text);box-shadow:var(--shadow-pop);font-variant-numeric:tabular-nums}.elevation-readout[hidden]{display:none}.elevation-readout-hint{display:inline-flex;align-items:center;gap:6px;color:var(--text-2);font-size:var(--fs-sm)}.elevation-readout-hint svg{width:16px;height:16px}.elevation-readout-value{display:grid;line-height:1.1}.elevation-readout-value small{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.05em}.elevation-readout-value b{font-size:16px}.elevation-readout-coordinate{color:var(--text-2);font-size:var(--fs-sm)}.elevation-profile{position:absolute;z-index:17;left:12px;right:12px;bottom:12px;max-width:1040px;margin:0 auto;display:grid;gap:6px;padding:8px 12px;border:1px solid var(--border-strong);border-radius:12px;background:var(--surface);color:var(--text);box-shadow:var(--shadow-pop)}.elevation-profile[hidden]{display:none}.elevation-profile-header{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}.elevation-profile-header>strong{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:650}.elevation-profile-header>strong svg{width:16px;height:16px;color:#6a1b9a}.elevation-profile-source{color:var(--muted);font-size:var(--fs-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}.elevation-profile-actions{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px;margin-left:auto}.elevation-profile-actions .button{min-height:28px;padding:0 9px;font-size:12px}.elevation-profile-actions .button svg{width:14px;height:14px}.elevation-profile-actions .status-source{height:22px}.elevation-profile-sampling{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;font-size:var(--fs-sm);color:var(--text-2)}.elevation-spacing,.elevation-spacing-custom{display:inline-flex;align-items:center;gap:6px}.elevation-spacing select{height:26px;padding:0 6px;font-size:12px}.elevation-spacing-custom[hidden]{display:none}.elevation-spacing-custom input{width:78px;height:26px;padding:0 6px;font-size:12px}.elevation-spacing-custom input[aria-invalid=true]{border-color:#b3261e;box-shadow:0 0 0 2px #b3261e26}.elevation-sampling-info{color:var(--muted);font-variant-numeric:tabular-nums}.elevation-sampling-info.limited{color:#7a4c00;font-weight:600}.elevation-sampling-note{flex-basis:100%;color:var(--muted);font-size:11px}.elevation-sampling-note[hidden]{display:none}.elevation-profile-stats{display:flex;flex-wrap:wrap;gap:4px 18px;margin:0;font-variant-numeric:tabular-nums}.elevation-profile-stats:empty{display:none}.elevation-profile-stats div{display:grid;gap:0}.elevation-profile-stats dt{color:var(--muted);font-size:10.5px}.elevation-profile-stats dd{margin:0;font-size:13px;font-weight:650}.elevation-profile-chart{height:150px;min-width:0}.elevation-chart-svg{display:block;width:100%;height:100%;fill:currentColor;stroke:none;stroke-width:1;touch-action:none;user-select:none}.elevation-chart-svg:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.elevation-chart-grid line{stroke:var(--border);stroke-width:1}.elevation-chart-grid line.vertical{stroke-dasharray:2 3}.elevation-chart-grid text,.elevation-chart-extremes text,.elevation-chart-cursor text{fill:var(--text-2);font-size:10px;font-variant-numeric:tabular-nums}.elevation-chart-gaps rect{fill:#8a939c38}.elevation-chart-area{fill:#6a1b9a1f}.elevation-chart-line{fill:none;stroke:#6a1b9a;stroke-width:2;stroke-linejoin:round}.elevation-chart-point{fill:#6a1b9a}.elevation-chart-extremes circle{stroke:#fff;stroke-width:1.5}.elevation-chart-extremes .max{fill:#b3261e}.elevation-chart-extremes .min{fill:#1565c0}.elevation-chart-extremes text{font-weight:600}.elevation-chart-cursor line{stroke:#e69500;stroke-width:1.5}.elevation-chart-cursor circle{fill:#ffb300;stroke:#1b1b1b;stroke-width:1.5}.elevation-chart-cursor text{fill:var(--text);font-weight:650;paint-order:stroke;stroke:var(--surface);stroke-width:3px}.elevation-chart-hit{fill:transparent;cursor:crosshair}.elevation-profile.stale .elevation-profile-chart,.elevation-profile.stale .elevation-profile-stats{opacity:.42}.map-stage.elevation-profile-open .ol-scale-bar,.map-stage.elevation-profile-open .ol-scale-line{visibility:hidden}.elevation-profile-message{margin:0;color:#7a4c00;font-size:var(--fs-sm)}.elevation-profile-message[hidden]{display:none}.elevation-disclaimer{margin:0;color:var(--muted);font-size:11px;line-height:1.35}.elevation-source-dialog .property-list{margin:0}.elevation-source-dialog .elevation-disclaimer{font-size:var(--fs-sm);color:var(--text-2)}.coverage-inventory{display:grid;gap:6px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2)}.coverage-inventory h3{margin:0;font-size:13px;font-weight:650}.coverage-inventory .button{justify-self:start}.coverage-table{width:100%;border-collapse:collapse;font-size:var(--fs-sm);font-variant-numeric:tabular-nums}.coverage-table th,.coverage-table td{padding:3px 6px;border-bottom:1px solid var(--border);text-align:right}.coverage-table th[scope=row],.coverage-table thead th:first-child{text-align:left;overflow-wrap:anywhere}.coverage-tiles{margin:0;padding-left:18px;font-size:var(--fs-sm)}.coverage-out{color:#b3261e;font-weight:600}.elevation-attribution{font-size:11px;overflow-wrap:anywhere}@media(max-width:760px){.elevation-readout{left:58px;right:10px;bottom:34px;transform:none;max-width:none}.elevation-readout-coordinate{font-size:11px}.elevation-profile{left:0;right:0;bottom:0;max-height:62vh;overflow:auto;padding:8px 10px;border-radius:12px 12px 0 0}.elevation-profile-source{flex-basis:100%;order:3}.elevation-profile-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 10px}.elevation-profile-stats dd{font-size:12.5px}.elevation-profile-chart{height:130px}}.planning-tabs{display:flex;gap:2px;margin:8px 12px 0;padding:2px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2)}.planning-tabs [role=tab]{flex:1;height:30px;border:0;border-radius:6px;background:transparent;color:var(--text-2);font-weight:600;font-size:var(--fs)}.planning-tabs [role=tab][aria-selected=true]{background:var(--surface);color:var(--accent-strong);box-shadow:inset 0 0 0 1px var(--active-ring),0 1px 2px #10202c1a}.appearance-editor{display:grid;gap:2px;padding:6px 12px 0}.appearance-group{border-bottom:1px solid var(--border)}.appearance-group>summary{display:flex;align-items:center;height:32px;list-style:none;cursor:pointer;color:var(--text-2);font-size:var(--fs-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase}.appearance-group>summary::-webkit-details-marker{display:none}.appearance-group>summary:after{content:"";margin-left:auto;width:6px;height:6px;border-right:1.75px solid var(--muted);border-bottom:1.75px solid var(--muted);transform:rotate(-45deg);transition:transform .15s}.appearance-group[open]>summary:after{transform:rotate(45deg)}.appearance-group>:not(summary){margin-bottom:8px}.appearance-range{display:grid;grid-template-columns:minmax(84px,34%) minmax(0,1fr) 52px;align-items:center;gap:8px;font-size:var(--fs-sm);color:var(--text-2)}.appearance-range input[type=range]{width:100%;min-width:0;accent-color:var(--accent)}.appearance-range output{text-align:right;font-variant-numeric:tabular-nums;color:var(--text);font-weight:600}.appearance-select,.appearance-text{display:grid;grid-template-columns:minmax(84px,34%) minmax(0,1fr);align-items:center;gap:8px;font-size:var(--fs-sm);color:var(--text-2)}.appearance-select select,.appearance-text input{min-width:0;height:30px}.appearance-color{display:inline-flex;align-items:center;gap:8px;font-size:var(--fs-sm);color:var(--text-2)}.appearance-color input[type=color]{width:40px;height:28px;padding:2px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface)}.appearance-check{display:inline-flex;align-items:center;gap:7px;min-height:28px;font-size:var(--fs-sm);color:var(--text)}.appearance-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px}.appearance-row .appearance-range{flex:1 1 220px}.appearance-presets{display:flex;gap:4px}.appearance-presets .chip{height:26px;padding:0 9px;font-variant-numeric:tabular-nums}.appearance-presets .chip[aria-pressed=true]{background:var(--active-bg);border-color:var(--active-ring);color:var(--active-fg);font-weight:700}.appearance-off{opacity:.45}.appearance-custom{display:grid;gap:6px}.appearance-custom[hidden],.appearance-label-style[hidden]{display:none}.appearance-label-style{display:grid;gap:6px}.appearance-position{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin:2px 0 0;padding:6px 8px 8px;border:1px solid var(--border);border-radius:var(--radius-lg)}.appearance-position legend{padding:0 4px;font-size:var(--fs-sm);font-weight:600;color:var(--text-2)}.appearance-position legend small{font-weight:400;color:var(--muted)}.appearance-position label{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-sm);color:var(--text-2)}.appearance-position input[type=number]{width:68px;height:28px;font-variant-numeric:tabular-nums}.appearance-position .button{height:28px;font-size:var(--fs-sm)}.appearance-position .button.active{background:var(--active-bg);border-color:var(--active-ring);color:var(--active-fg)}.appearance-note{display:block;color:var(--muted);font-size:var(--fs-xs);line-height:1.4}.appearance-label-preview{margin:4px 0 0;padding:6px 8px;border-radius:var(--radius);background:var(--surface-2);color:var(--text-2);font-size:var(--fs-sm);white-space:pre-line}.appearance-footer{position:sticky;bottom:0;z-index:2;display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 -12px;padding:8px 12px;border-top:1px solid var(--border);background:var(--surface);box-shadow:0 -6px 12px -10px #10202c59}.appearance-status{flex:1 1 100%;color:var(--muted);font-size:var(--fs-xs)}.appearance-status.dirty{color:var(--warning);font-weight:600}.appearance-footer .button-primary{margin-left:auto}.label-move-bar{position:absolute;z-index:18;left:50%;top:58px;transform:translate(-50%);display:flex;align-items:center;gap:10px;max-width:calc(100% - 24px);padding:6px 6px 6px 12px;border:1px solid var(--accent-line);border-radius:10px;background:var(--surface);box-shadow:var(--shadow-pop);color:var(--text);font-size:var(--fs-sm)}.label-move-bar[hidden]{display:none}.label-move-bar svg{width:16px;height:16px;color:var(--accent);flex:none}.map.label-drag-mode,.map.label-drag-mode canvas{cursor:move!important}.app-shell.capture-mode .label-move-bar{display:none!important}@media(max-width:760px){.planning-tabs [role=tab]{height:40px}.appearance-range{grid-template-columns:minmax(78px,30%) minmax(0,1fr) 50px;min-height:40px}.appearance-range input[type=range]{height:32px}.appearance-select select,.appearance-text input{height:40px}.appearance-check{min-height:40px}.appearance-color input[type=color]{width:48px;height:36px}.appearance-presets .chip{height:36px;padding:0 12px}.appearance-position input[type=number]{height:40px;width:76px}.appearance-position .button,.appearance-footer .button{height:40px}.label-move-bar{inset:auto 10px 34px;transform:none}}.map-legend h4{display:flex;align-items:center;gap:6px;margin:8px 0 0;color:var(--text-2);font-size:.86em;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.map-legend h4 small{color:var(--muted);font-weight:500;text-transform:none}.map-legend .legend-fill-icon,.map-legend .legend-outline-icon{width:12px;height:9px;border-radius:2px;flex:none}.map-legend .legend-fill-icon{background:linear-gradient(90deg,#2b7bba 50%,#e8871e 50%);opacity:.75}.map-legend .legend-outline-icon{border:2px solid var(--text-2);background:transparent}.map-legend .legend-secondary{margin-top:6px;padding-top:6px;border-top:1px solid var(--border)}.map-legend .legend-outline-swatch{position:relative;display:block;width:var(--legend-swatch-size,14px);height:var(--legend-swatch-size,14px);border:3px solid var(--outline-color);border-radius:3px;background:#fff;box-shadow:0 0 0 1px #ffffffe6;cursor:pointer}.map-legend .legend-outline-swatch.dashed{border-style:dashed}.map-legend .legend-groups{gap:calc(var(--legend-row-gap,4px) + 3px)}.map-legend .legend-group{display:block}.map-legend .legend-group-head{display:grid;grid-template-columns:var(--legend-swatch-size,14px) minmax(70px,max-content) auto;align-items:center;gap:var(--legend-column-gap,6px)}.map-legend .legend-group-head .legend-alias.legend-group-label{font-weight:700}.map-legend .legend-group-head b{justify-self:end;color:var(--text);font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}.map-legend .legend-group>ul{margin:3px 0 0;padding-left:calc(var(--legend-swatch-size,14px) * .6)}.map-legend .legend-total{display:flex;justify-content:space-between;gap:8px;margin-top:6px;padding-top:5px;border-top:1px solid var(--legend-border, var(--border));font-weight:700}.map-legend .legend-total b{font-variant-numeric:tabular-nums;white-space:nowrap}.map-legend .legend-outline-swatch.neutral{border:1px dashed #9aa5a0;background:transparent}.map-legend .legend-unassigned-label{color:var(--text-2);font-style:italic;padding:1px 3px}.map-legend .legend-group-head .legend-unassigned-label{font-weight:700}.map-legend .legend-outline-swatch input[type=color]{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;opacity:0;cursor:pointer}.classify-secondary{display:grid;gap:8px;padding-top:8px;border-top:1px dashed var(--border)}.classify-secondary[hidden],.classify-secondary-body[hidden]{display:none}.classify-secondary-links{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 12px}.classify-secondary-links .link-button[hidden]{display:none}.classify-secondary-body{display:grid;gap:8px;padding:8px;border:1px solid var(--border);border-radius:var(--radius-md, 8px);background:var(--surface-2, rgba(18,122,82,.04))}.classify-secondary-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.classify-secondary-actions{display:flex;gap:4px}.classify-secondary .icon-button{display:inline-grid;place-items:center;width:30px;height:30px;padding:0;border:1px solid var(--border);border-radius:6px;background:var(--surface, #fff);color:var(--text-2);cursor:pointer}.classify-secondary .icon-button svg{width:16px;height:16px}.classify-secondary .icon-button:disabled{opacity:.45;cursor:not-allowed}.classify-secondary-line{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.classify-secondary-categories{display:grid;gap:4px;margin:0;padding:0;list-style:none}.classify-secondary-categories li{display:grid;grid-template-columns:22px minmax(0,1fr) auto 26px;align-items:center;gap:6px}.classify-secondary-categories b{color:var(--text-2);font-size:var(--fs-xs);font-variant-numeric:tabular-nums}.secondary-swatch{position:relative;display:block;width:20px;height:16px;border:3px solid var(--outline-color);border-radius:3px;background:#fff;cursor:pointer}.secondary-swatch input{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;opacity:0;cursor:pointer}.secondary-alias{min-width:0;height:26px;padding:2px 6px;border:1px solid transparent;border-radius:4px;background:transparent;font:inherit}.secondary-alias:hover,.secondary-alias:focus{border-color:var(--border);background:var(--surface, #fff)}.secondary-visible{display:grid;place-items:center}.category-split-dialog{width:min(760px,calc(100vw - 24px))}.category-split-names{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.category-split-table-wrap{max-height:min(42vh,360px);overflow:auto;margin-top:10px;border:1px solid var(--border);border-radius:8px}.category-split-table{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}.category-split-table th,.category-split-table td{padding:5px 8px;border-bottom:1px solid var(--border);text-align:left}.category-split-table thead th{position:sticky;top:0;background:var(--surface, #fff);color:var(--text-2);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.03em}.category-split-table tbody th{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.category-split-table td:nth-child(2){color:var(--text-2);font-variant-numeric:tabular-nums}.category-split-table input{width:100%;min-width:80px;height:30px;padding:3px 6px;border:1px solid var(--border);border-radius:5px;font:inherit}.category-split-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 14px;margin-top:10px;font-size:var(--fs-sm)}.category-split-preview ul{display:grid;gap:2px;margin:4px 0 0;padding:0;list-style:none}.category-split-preview li{display:flex;justify-content:space-between;gap:8px}.category-split-preview li b{font-variant-numeric:tabular-nums}.category-split-preview .split-no-value{color:var(--muted);font-style:italic}.category-split-preview small{grid-column:1 / -1;color:var(--muted)}.dual-values .property-list{padding:0}.dual-values .property-row dt{white-space:normal;overflow-wrap:anywhere}.dual-values dd{display:flex;align-items:center;gap:6px}.dual-values i{flex:none;width:14px;height:12px;border-radius:2px}.dual-values .dual-fill{background:var(--swatch);opacity:.75}.dual-values .dual-outline{border:3px solid var(--swatch);background:#fff}@media(max-width:760px){.classify-secondary .icon-button{width:40px;height:40px}.classify-secondary-categories li{grid-template-columns:28px minmax(0,1fr) auto 40px;min-height:40px}.secondary-swatch{width:26px;height:22px}.secondary-alias{height:36px}.secondary-visible input{width:22px;height:22px}.classify-secondary-links .link-button{min-height:40px}.category-split-names,.category-split-preview{grid-template-columns:1fr}.category-split-table input{height:38px;min-width:0}.category-split-table thead{display:none}.category-split-table tbody tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 8px;padding:8px;border-bottom:1px solid var(--border)}.category-split-table tbody th,.category-split-table tbody td{padding:0;border:0}.category-split-table tbody th{max-width:none;white-space:normal;overflow-wrap:anywhere}.category-split-table tbody td:nth-child(2){text-align:right}.category-split-table tbody td:nth-child(2):before{content:"Entidades: "}.category-split-table tbody td[colspan]{grid-column:1 / -1;text-align:left}.category-split-table tbody td[colspan]:before{content:none}}.scenario-badge{position:absolute;z-index:8;top:56px;left:50%;transform:translate(-50%);max-width:calc(100% - 32px);padding:4px 12px;border:1px solid #b07800;border-radius:999px;background:#fff8e1f0;color:#6b4500;font-size:var(--fs-xs, 11px);font-weight:700;letter-spacing:.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none;box-shadow:var(--shadow-1)}.app-shell.capture-mode .scenario-badge{top:16px}.scenario-badge.bottom{top:auto;bottom:44px}.app-shell.capture-mode .scenario-badge.bottom{top:auto;bottom:16px}.map-legend .legend-scenario{margin-top:3px;color:#8a5a00!important;font-weight:700}.scenario-switch{display:flex;flex-wrap:wrap;gap:4px}.scenario-switch button{flex:1 1 auto;min-height:32px;padding:4px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface, #fff);color:var(--text-2);font:inherit;font-size:var(--fs-sm);cursor:pointer}.scenario-switch button[aria-pressed=true]{border-color:var(--accent);background:var(--accent);color:#fff;font-weight:700}.scenario-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}[data-pane=scenarios] .subfieldset,[data-pane=scenarios] .form-stack{min-width:0}.scenario-rows,.scenario-balance{display:grid;gap:2px;margin:0;padding:0;list-style:none;font-size:var(--fs-sm)}.scenario-rows li{display:grid;gap:1px;padding:4px 0;border-bottom:1px solid var(--border)}.scenario-rows li>b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scenario-rows li>span{color:var(--text-2);font-variant-numeric:tabular-nums}.scenario-balance li{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 8px;padding:4px 0;border-bottom:1px solid var(--border)}.scenario-balance li>b{grid-column:1 / -1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scenario-balance li>span{display:grid;text-align:right;font-variant-numeric:tabular-nums}.scenario-balance li>span small{color:var(--muted);font-size:var(--fs-xs)}.scenario-balance li.total{border-bottom:0;font-weight:700}.scenario-total{margin:6px 0 0;font-size:var(--fs-sm)}.scenario-cross-title{margin:12px 0 4px;font-size:var(--fs-sm)}.scenario-cross li.group{border-bottom-color:var(--border-strong, var(--border));font-weight:700}.scenario-cross li.group>b{font-size:1.02em}.scenario-cross li.sub>b{padding-left:10px;font-weight:600}.scenario-assignments{display:grid;gap:4px;margin:0;padding:0;list-style:none}.scenario-assignments li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1px 8px;align-items:center;padding:3px 0;border-bottom:1px solid var(--border);font-size:var(--fs-sm)}.scenario-assignments li .scenario-assignment-label{grid-column:1;overflow-wrap:anywhere;font-weight:600}.scenario-assignments li .scenario-assignment-meta{grid-column:1;color:var(--text-2);font-variant-numeric:tabular-nums}.scenario-assignments li .icon-button{grid-column:2;grid-row:1 / span 2}.check-help{display:flex;align-items:center;gap:6px}.context-help{display:inline-block;font-size:var(--fs-xs, 11px)}.context-help>summary{display:inline-grid;place-items:center;width:20px;height:20px;border:1px solid var(--border);border-radius:50%;color:var(--muted);font-weight:700;list-style:none;cursor:pointer}.context-help>summary::-webkit-details-marker{display:none}.context-help[open]{display:block}.context-help-body{margin-top:4px;padding:6px 8px;border-radius:8px;background:var(--surface-2, #f4f6f3);color:var(--text-2)}.context-help-body p{margin:0 0 4px}.app-shell.capture-mode .context-help{display:none}.scenario-assignments .icon-button{width:28px;height:26px}.scenario-transfers{margin:8px 0 4px;padding-left:18px;font-size:var(--fs-sm)}@media(max-width:760px){.scenario-assignments .icon-button{width:40px;height:40px}.scenario-switch button{min-height:40px}.scenario-badge{top:112px}.scenario-badge.bottom{top:auto;bottom:64px}.context-help>summary{width:32px;height:32px}}.planning-insert-text{width:100%;justify-content:center;gap:8px;font-weight:650}.planning-insert-text[aria-pressed=true]{background:var(--accent-soft, #e3f1ea);border-color:var(--accent, #1f7a52)}.appearance-text textarea{min-width:0;width:100%;font:inherit;line-height:1.35;padding:6px 8px;resize:vertical;border:1px solid var(--border, #c8d2cb);border-radius:6px;background:var(--surface, #fff);color:var(--text, #14232c)}.appearance-note-text{grid-template-columns:1fr;align-items:stretch}.appearance-note-box{display:grid;gap:8px;margin:6px 0 0;padding:8px 10px;border:1px solid var(--border, #c8d2cb);border-radius:8px}.appearance-note-box legend{font-size:var(--fs-sm);font-weight:650;padding:0 4px}.planning-coordinates{display:grid;gap:8px;margin:2px 0;padding:8px 10px;border:1px solid var(--border, #c8d2cb);border-radius:8px}.planning-coordinates legend{font-size:var(--fs-sm);font-weight:650;padding:0 4px}.planning-coordinate-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.planning-coordinate-grid input{width:100%;min-width:0;font-variant-numeric:tabular-nums}@media(max-width:760px){.planning-coordinate-grid input{height:40px}.appearance-text textarea{font-size:16px}}.live-measure{position:absolute;z-index:30;left:12px;bottom:56px;width:max-content;min-width:168px;max-width:min(300px,calc(100% - 24px));display:grid;gap:6px;padding:8px 10px 9px;border-radius:10px;background:#fffffff5;color:var(--text, #14232c);border:1px solid rgba(20,35,44,.18);box-shadow:0 4px 16px #05192347;font-size:12px;line-height:1.25;font-variant-numeric:tabular-nums;pointer-events:none;transition:left .12s,right .12s,top .12s,bottom .12s}.lm-target{pointer-events:auto}.live-measure[hidden]{display:none}.live-measure.at-right{left:auto;right:12px}.lm-head{font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-2, #4a5b66)}.lm-head:empty{display:none}.lm-primary{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.lm-primary b{font-size:20px;font-weight:750;letter-spacing:-.01em}.lm-primary small{color:var(--text-2, #4a5b66);font-size:11.5px}.lm-secondary{display:flex;flex-wrap:wrap;gap:2px 12px;color:var(--text-2, #4a5b66)}.lm-secondary b{color:var(--text, #14232c);font-weight:650}.lm-secondary .lm-warn b{color:#9a5b00}.lm-hint{color:var(--text-2, #4a5b66)}.lm-target{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--text-2, #4a5b66)}.lm-target input{width:76px;height:26px;padding:0 6px;text-align:right;border:1px solid var(--border, #c8d2cb);border-radius:6px;font:inherit;background:#fff;color:inherit}.lm-diff{display:flex;align-items:center;gap:6px;font-weight:650}.lm-dot{width:8px;height:8px;border-radius:50%;background:#8a98a2;flex:none}.live-measure[data-state=near] .lm-dot{background:#1f9d55}.live-measure[data-state=above] .lm-dot{background:#d98a00}.live-measure[data-state=near] .lm-diff{color:#14683a}.live-measure[data-state=above] .lm-diff{color:#8a5200}@media(max-width:760px){.live-measure{left:8px;bottom:auto;top:208px;min-width:150px;padding:6px 8px 7px;font-size:11.5px}.lm-primary b{font-size:17px}.lm-target input{height:32px;font-size:16px}.live-measure{max-width:min(250px,62vw)}.live-measure.at-right{left:auto;right:8px}}
