/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.container{width:100%}.block{display:block}.contents{display:contents}.grid{display:grid}.hidden{display:none}.table{display:table}.shrink{flex-shrink:1}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}.lowercase{text-transform:lowercase}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}:root{--kvi-primary:#1a5f7a;--kvi-secondary:#159895;--kvi-accent:#57c5b6;--kvi-dark:#0f172a;--kvi-text:#132031;--kvi-muted:#64748b;--kvi-surface:#fff;--kvi-danger:#dc3545;--kvi-success:#22c55e;--kvi-border:#d7e3ea;--kvi-soft:#e8f4f4;--kvi-inset:#f8fcfdb8;--kvi-toolbar:#f8fcfdeb;--kvi-callout-bg:#1a5f7a0f;--kvi-callout-border:#1a5f7a2e;--kvi-callout-warn-bg:#fbbf2424;--kvi-callout-warn-border:#d9770666;--kvi-callout-warn-text:#92400e;--kvi-ghost-bg:#e8f4f4bf;--kvi-ghost-border:#1a5f7a59;--kvi-success-text:#166534;--kvi-success-surface:#22c55e1a;--kvi-tab-active-bg:#1a5f7a14;--kvi-tab-bar-bg:#1a5f7a0a;--kvi-preview-status-bg:#eef7f7d1;--kvi-shadow-sm:0 1px 2px #0f172a0f, 0 1px 3px #0f172a17;--kvi-shadow-md:0 8px 22px #0f172a1a, 0 2px 6px #0f172a0f;--kvi-shadow-lg:0 22px 56px #0f172a29, 0 6px 18px #0f172a14;--kvi-ring:#1a5f7a80;--kvi-ease:cubic-bezier(.22, 1, .36, 1);--kvi-ease-out:cubic-bezier(.16, 1, .3, 1);--text-muted:var(--kvi-muted);color:var(--kvi-text);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-family:Inter,Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,sans-serif}:root[data-theme=dark]{--kvi-primary:#5eead4;--kvi-secondary:#2dd4bf;--kvi-text:#e5eef5;--kvi-muted:#9fb3c4;--kvi-surface:#111c2b;--kvi-border:#244053;--kvi-soft:#123040;--kvi-inset:#0d2030eb;--kvi-toolbar:#0d1826f5;--kvi-callout-bg:#1a5f7a29;--kvi-callout-border:#5eead43d;--kvi-callout-warn-bg:#78350f73;--kvi-callout-warn-border:#fbbf246b;--kvi-callout-warn-text:#fcd34d;--kvi-ghost-bg:#123040b8;--kvi-ghost-border:#5eead459;--kvi-success-text:#4ade80;--kvi-success-surface:#22c55e24;--kvi-tab-active-bg:#5eead41f;--kvi-tab-bar-bg:#0d2030a6;--kvi-preview-status-bg:#07111fe0;--kvi-accent:#5eead4;--kvi-shadow-sm:0 1px 2px #0006, 0 1px 3px #0000004d;--kvi-shadow-md:0 10px 26px #00000080, 0 2px 8px #00000057;--kvi-shadow-lg:0 26px 64px #0000009e, 0 8px 22px #0006;--kvi-ring:#5eead499}*{box-sizing:border-box}button,input,select,textarea{font:inherit}body{min-width:320px;min-height:100vh;color:var(--kvi-text);background:radial-gradient(circle at 0 0,#57c5b62e,#0000 32rem),linear-gradient(135deg,#f5f7fa 0%,#dfeaf2 100%);margin:0}:root[data-theme=dark] body{background:radial-gradient(circle at 0 0,#57c5b629,#0000 32rem),linear-gradient(135deg,#07111f 0%,#122033 100%)}button{-webkit-tap-highlight-color:transparent}#root{min-height:100svh}html.standalone-app,html.standalone-app body,html.standalone-app #root,html.locator-fixed-screen,html.locator-fixed-screen body,html.locator-fixed-screen #root{overscroll-behavior:none;height:100%;min-height:100%;max-height:100dvh;overflow:hidden}html.locator-fixed-screen{width:100%;position:fixed;inset:0}html.standalone-app .app,html.locator-fixed-screen .app{touch-action:manipulation;box-sizing:border-box;flex-direction:column;height:100%;min-height:0;max-height:100dvh;display:flex;overflow:hidden}html.locator-fixed-screen.locator-feed-active .app,html.standalone-app.locator-feed-active .app{touch-action:pan-y}html.standalone-app .locator-screen,html.locator-fixed-screen .locator-screen{flex:1;min-height:0;overflow:hidden;height:auto!important}h1,h2,p{margin-top:0}h1{letter-spacing:-.065em;font-size:clamp(2.35rem,11vw,4.45rem);line-height:.92}h2{letter-spacing:-.03em;margin-bottom:.35rem;font-size:clamp(1.2rem,3.5vw,1.6rem)}.app{min-height:100svh;padding:max(18px, env(safe-area-inset-top)) 18px max(22px, env(safe-area-inset-bottom))}.app--gate{background:radial-gradient(circle at 82% 12%, #57c5b647, transparent 26rem), linear-gradient(135deg, #07111f, var(--kvi-dark));min-height:100svh;padding:0}.gate-screen{background:radial-gradient(circle at 82% 12%, #57c5b647, transparent 26rem), linear-gradient(135deg, #07111f, var(--kvi-dark));place-items:center;min-height:100dvh;padding:0;display:grid}.gate-card{width:min(100%,560px);margin:max(18px, env(safe-area-inset-top)) 18px max(22px, env(safe-area-inset-bottom));text-align:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff0;border:1px solid #ffffffb8;border-radius:28px;padding:24px;box-shadow:0 26px 76px #00000057}.gate-logo{-o-object-fit:contain;object-fit:contain;border-radius:18px;width:74px;height:74px;box-shadow:0 12px 30px #1a5f7a2e}.gate-card--minimal{width:min(100%,360px);animation:gate-card-in .5s var(--kvi-ease-out) both;padding:28px 22px 22px}@keyframes gate-card-in{0%{opacity:0;transform:translateY(10px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.gate-form input:disabled{opacity:.6;cursor:not-allowed}.gate-intro{gap:3px;margin:16px 0 4px;display:grid}.gate-site-name{letter-spacing:-.025em;color:var(--kvi-primary);margin:0;font-size:1.42rem;font-weight:850;line-height:1.1}.gate-tagline{letter-spacing:.005em;color:var(--kvi-secondary);margin:0;font-size:.92rem;font-weight:650}.admin-login-screen{z-index:3000;position:fixed;inset:0}.gate-auth-lead{margin:14px 0 0;font-size:.88rem;line-height:1.45}.gate-form--otp{margin-top:18px}.gate-form-note{margin:14px 0 0;font-size:.82rem;line-height:1.45}.gate-form-note .link-button{font-size:inherit;color:var(--kvi-secondary);cursor:pointer;font:inherit;background:0 0;border:0;padding:0;text-decoration:underline}.gate-form-note .link-button:disabled{opacity:.6;cursor:not-allowed}.gate-card--minimal .gate-form{gap:12px;margin-top:20px;display:grid}.gate-card--minimal .gate-form input{text-align:center}.gate-input-wrap{align-items:center;display:flex;position:relative}.gate-input-wrap input{padding-right:48px}.gate-show-toggle{width:36px;height:36px;color:var(--kvi-muted);cursor:pointer;transition:color .16s var(--kvi-ease), background .16s var(--kvi-ease);background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.gate-show-toggle svg{width:18px;height:18px}@media (hover:hover){.gate-show-toggle:hover:not(:disabled){color:var(--kvi-primary);background:#1a5f7a14}}.gate-show-toggle:disabled{opacity:.45;cursor:not-allowed}.gate-form label,.field-label{color:var(--kvi-primary);font-weight:850}.gate-form input{width:100%;color:var(--kvi-text);background:#fff;border:1px solid #cbd5e1;border-radius:16px;outline:none;padding:14px 16px;font-size:16px}.gate-form input:focus{border-color:var(--kvi-primary);box-shadow:0 0 0 4px #1a5f7a1f}.error-text{color:var(--kvi-danger);font-weight:850}.primary-button,.secondary-button,.action-card{cursor:pointer;border:0}.primary-button,.secondary-button{border-radius:18px;justify-content:center;align-items:center;min-height:54px;font-weight:850;transition:transform .2s,box-shadow .2s,background .2s;display:inline-flex}.primary-button{color:#fff;background:linear-gradient(135deg, var(--kvi-primary), var(--kvi-secondary));width:100%;box-shadow:0 16px 28px #1a5f7a38}.secondary-button{color:var(--kvi-primary);background:var(--kvi-soft);gap:8px;padding:0 16px}.primary-button:active,.secondary-button:active,.action-card:active{transform:scale(.98)}@media (hover:hover){.primary-button:not(:disabled):hover{filter:brightness(1.04);transform:translateY(-1px);box-shadow:0 20px 34px #1a5f7a47}.secondary-button:not(:disabled):hover{background:var(--kvi-tab-active-bg);box-shadow:var(--kvi-shadow-sm)}}.primary-button:disabled,.secondary-button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;filter:none;transform:none}:where(button,a,input,select,textarea,summary,[role=button],[tabindex]):focus-visible{outline:2px solid var(--kvi-ring);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.muted{color:var(--kvi-muted);line-height:1.55}.eyebrow{color:var(--kvi-accent);letter-spacing:.12em;text-transform:uppercase;margin:12px 0 8px;font-size:.78rem;font-weight:900}.kks-shell{width:min(100%,1180px);margin:0 auto}.site-menu-shell,.locator-shell{width:min(100%,1120px);margin:0 auto}.site-menu-shell{place-items:center;min-height:calc(100svh - 40px);display:grid}.site-menu-card{text-align:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff0;border:1px solid #ffffffb8;border-radius:32px;width:min(100%,680px);padding:28px;position:relative;box-shadow:0 26px 76px #0f172a29}.global-theme-corner{top:max(14px, env(safe-area-inset-top));right:max(14px, env(safe-area-inset-right));z-index:5000;position:fixed}.site-menu-logo{background:#fff;border-radius:16px;width:210px;max-width:72%;margin-bottom:10px;padding:10px 14px;box-shadow:0 12px 30px #1a5f7a1f}.site-button-list{gap:12px;margin:26px 0 16px;display:grid}.site-button{color:#fff;background:linear-gradient(135deg, var(--kvi-primary), var(--kvi-secondary));text-align:left;border-radius:22px;justify-content:space-between;align-items:center;gap:16px;padding:18px;text-decoration:none;display:flex;box-shadow:0 18px 36px #1a5f7a33}.site-button strong,.site-button small{display:block}.site-button strong{font-size:1.25rem;font-weight:950}.site-button small{color:#ffffffd1;margin-top:3px;font-size:.78rem}.site-menu-admin{width:100%}.site-menu-actions,.locator-top-actions{align-items:center;gap:10px;display:flex}.theme-toggle{width:46px;height:46px;color:var(--kvi-primary);background:var(--kvi-soft);cursor:pointer;border:0;border-radius:16px;flex:none;place-items:center;display:inline-grid}.locator-shell{gap:14px;display:grid}.locator-topbar,.locator-search-panel,.locator-selected,.locator-map-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff0;border:1px solid #ffffffb8;border-radius:26px;box-shadow:0 18px 54px #0f172a1f}.locator-topbar{justify-content:space-between;align-items:center;gap:14px;padding:12px 14px;display:flex}.locator-brand{color:var(--kvi-primary);align-items:center;gap:12px;font-weight:950;text-decoration:none;display:flex}.locator-brand img{background:#fff;border-radius:12px;width:126px;max-width:46vw;padding:6px 8px}.locator-admin-button,.locator-action-button{cursor:pointer;border:0;border-radius:16px;justify-content:center;align-items:center;gap:8px;min-height:44px;font-weight:850;display:inline-flex}.locator-admin-button{color:var(--kvi-primary);background:var(--kvi-soft);flex:none;padding:0 13px}.locator-search-panel{gap:12px;padding:14px;display:grid}.locator-search-main{min-width:0}.locator-selected{gap:14px;padding:16px;display:grid}.locator-selected h2{color:var(--kvi-primary);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.locator-map-card{padding:14px}.locator-map-heading{justify-content:space-between;align-items:flex-start;gap:12px;padding:6px 6px 12px;display:flex}.locator-map-heading h1{margin:6px 0 0;font-size:clamp(1.7rem,7vw,2.6rem)}.locator-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.locator-action-button{color:#fff;background:linear-gradient(135deg, var(--kvi-primary), var(--kvi-secondary));padding:0 16px;box-shadow:0 12px 24px #1a5f7a2e}.locator-action-button.secondary{color:var(--kvi-primary);background:var(--kvi-soft);box-shadow:none}.hero{color:#fff;background:radial-gradient(circle at 82% 12%, #57c5b6b3, transparent 30%), linear-gradient(135deg, var(--kvi-primary), var(--kvi-secondary));border-radius:32px;width:min(100%,900px);margin:0 auto 18px;padding:26px;box-shadow:0 20px 60px #1a5f7a47}.kks-hero{gap:18px;display:grid}.hero h1{max-width:780px;margin-bottom:14px}.hero p{color:#ffffffe6}.brand-logo{background:#fff;border-radius:14px;width:170px;max-width:58%;padding:8px 12px}.metric-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;display:grid}.metric-chip{background:#ffffff29;border-radius:14px;min-width:0;padding:10px}.metric-chip strong,.metric-chip span{display:block}.metric-chip strong{text-overflow:ellipsis;white-space:nowrap;font-size:1.05rem;overflow:hidden}.metric-chip span{color:#ffffffc7;text-transform:uppercase;font-size:.72rem;font-weight:800}.context-card,.map-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffeb;border:1px solid #ffffffb3;border-radius:28px;width:min(100%,900px);margin:0 auto 18px;padding:22px;box-shadow:0 20px 70px #0f172a24}.kks-site-card,.section-heading,.map-card-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.admin-entry{flex:none;min-height:44px}.pill{background:var(--kvi-soft);color:var(--kvi-primary);border-radius:999px;align-items:center;padding:6px 10px;font-size:.76rem;font-weight:850;display:inline-flex}.section-icon{width:36px;height:36px;color:var(--kvi-primary);background:var(--kvi-soft);border-radius:14px;flex:none;padding:8px}.kks-workspace{gap:18px;display:grid}.search-card{gap:16px;display:grid}.kks-search{width:100%;position:relative}.kks-search-box{background:#fff;border:1px solid #cbd5e1;border-radius:18px;align-items:center;gap:10px;padding:12px 14px;display:flex;box-shadow:0 8px 20px #0f172a0f}.kks-search-box:focus-within{border-color:var(--kvi-primary);box-shadow:0 0 0 4px #1a5f7a1a}.kks-search-box input{min-width:0;color:var(--kvi-text);background:0 0;border:0;outline:0;flex:1;font-size:16px}.kks-search-box input::placeholder{color:#94a3b8}.search-results{z-index:50;background:#fff;border:1px solid #dbe5ea;border-radius:20px;width:100%;max-height:290px;margin-top:8px;position:absolute;overflow:auto;box-shadow:0 24px 48px #0f172a2e}.search-result{width:100%;color:var(--kvi-text);text-align:left;background:0 0;border:0;border-bottom:1px solid #eef2f6;padding:13px 15px}.search-result:hover{background:#f8fcfd}.search-result-kks{color:var(--kvi-primary);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-weight:850}.search-result-desc{color:var(--kvi-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.search-result-coords{color:#94a3b8;margin-top:3px;font-size:.68rem}.elevation-block{gap:8px;display:grid}.elevation-switcher{background:#fff;border:1px solid #dbe5ea;border-radius:18px;gap:8px;padding:6px;display:flex;overflow-x:auto}.elevation-button{min-height:42px;color:var(--kvi-muted);background:0 0;border:0;border-radius:14px;flex:none;padding:0 15px;font-weight:850}.elevation-button.active{color:#fff;background:linear-gradient(135deg, var(--kvi-primary), var(--kvi-secondary));box-shadow:0 10px 22px #1a5f7a33}.selected-card,.empty-state{background:#f8fcfd;border:1px solid #d7e3ea;border-radius:22px;padding:18px}.selected-card h2{color:var(--kvi-primary);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.coordinate-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px;display:grid}.coordinate-grid span{color:var(--kvi-primary);text-align:center;background:#fff;border-radius:14px;padding:9px 10px;font-size:.82rem;font-weight:850}.empty-state{color:var(--kvi-muted);line-height:1.5}.map-card{padding:14px}.map-card-header{padding:8px 8px 14px}.map-status{color:#15803d;text-transform:uppercase;background:#dcfce7;border-radius:999px;flex:none;padding:7px 10px;font-size:.72rem;font-weight:900}.map-shell{border:1px solid var(--kvi-border);background:#eef7f7;border-radius:24px;width:100%;height:min(62vh,560px);min-height:420px;position:relative;overflow:hidden}.locator-map-panel{gap:12px;display:grid}.map-shell .leaflet-container{font-family:inherit}.map-shell .leaflet-pane.leaflet-overlay-pane{z-index:350!important}.map-shell .leaflet-pane.leaflet-marker-pane{z-index:750!important}.map-shell .leaflet-pane.leaflet-tooltip-pane{z-index:700!important}.map-shell .leaflet-marker-pane .kks-pin-divicon{z-index:auto}.map-shell .leaflet-pane.leaflet-popup-pane{z-index:710!important}.map-shell .leaflet-overlay-pane .leaflet-image-layer,.map-shell .leaflet-overlay-pane canvas.leaflet-image-layer{transition:opacity .52s cubic-bezier(.22,1,.36,1);z-index:1!important}.map-visible-count{z-index:1000;position:absolute;top:14px;left:14px}.map-share-label{z-index:1000;max-width:min(360px,100% - 28px);color:var(--kvi-text);background:#fffffff0;border-radius:18px;gap:3px;padding:12px 14px;display:grid;position:absolute;bottom:14px;right:14px;box-shadow:0 16px 36px #0f172a2e}.map-share-label strong{color:var(--kvi-primary);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.map-share-label span,.map-share-label small{color:var(--kvi-muted)}.map-action-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.map-help{color:var(--kvi-muted);font-size:.82rem}.share-button{color:var(--kvi-primary);cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:16px;align-items:center;gap:8px;padding:10px 14px;font-size:.9rem;font-weight:850;display:flex;box-shadow:0 12px 30px #0f172a24}.action-grid{gap:14px;width:min(100%,900px);margin:0 auto;display:grid}.action-card{color:#fff;text-align:left;border-radius:26px;align-content:end;min-height:128px;padding:22px;transition:transform .2s,box-shadow .2s;display:grid;position:relative;overflow:hidden;box-shadow:0 18px 46px #0f172a1f}.action-card:before{content:"";pointer-events:none;background:radial-gradient(circle at 100% 0,#ffffff47,#0000 44%);position:absolute;inset:0}.action-card span,.action-card small,.action-icon{position:relative}.action-card span{text-shadow:0 1px 1px #0206172e;font-size:1.42rem;font-weight:950;line-height:1.05;display:block}.action-card small{color:#ffffffe6;margin-top:4px;line-height:1.35}.action-icon{width:28px;height:28px;margin-bottom:14px}.action-card.offline{background:linear-gradient(135deg,#0f9fb4,#176a87)}.action-card.admin{background:linear-gradient(135deg,#0b1326,#27354f)}.action-card.status{background:linear-gradient(135deg,#0f766e,#0ea5a3)}.action-card.data{background:linear-gradient(135deg,#2563eb,#06b6d4)}.action-card.sync{background:linear-gradient(135deg,#0891b2,#7c3aed)}.action-card.permit{background:linear-gradient(135deg,#15803d,#22c55e)}.action-card.layers{background:linear-gradient(135deg,#0284c7,#4f46e5)}.admin-modal{z-index:3000;background:#020617bd;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.offline-sync-modal{z-index:2800;padding:12px 12px max(18px, env(safe-area-inset-bottom));background:#0206178c;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.offline-sync-card{border:1px solid var(--kvi-border);background:var(--kvi-surface,#fff);border-radius:18px;width:min(100%,420px);padding:16px 18px 18px;box-shadow:0 20px 48px #0f172a38}.offline-sync-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.offline-sync-header h2{color:var(--kvi-primary);margin:0;font-size:1.05rem}.offline-sync-close{width:34px;height:34px;color:var(--kvi-primary);background:var(--kvi-soft);cursor:pointer;border:0;border-radius:10px;place-items:center;display:inline-grid}.offline-sync-site{color:var(--kvi-text);margin:8px 0 0;font-size:.9rem;font-weight:700}.offline-sync-status{color:var(--kvi-text);margin:10px 0 4px;font-size:.85rem;line-height:1.35}.offline-sync-size{color:#64748b;margin:0 0 12px;font-size:.78rem}.offline-sync-progress-track{background:#a0b6c959;border-radius:999px;height:8px;overflow:hidden}.offline-sync-progress-fill{border-radius:inherit;background:linear-gradient(90deg, var(--kvi-primary), var(--kvi-secondary));height:100%;transition:width .2s}.offline-sync-percent{color:var(--kvi-primary);text-align:right;margin:8px 0 0;font-size:.8rem;font-weight:800}.offline-sync-card--minimal{text-align:center;position:relative}.offline-sync-card--minimal .offline-sync-header{justify-content:center}.offline-sync-card--minimal .offline-sync-close{position:absolute;top:14px;right:14px}.offline-sync-card--minimal .offline-sync-site{margin-bottom:4px}.offline-sync-spinner{border:3px solid #1a5f7a2e;border-top-color:var(--kvi-secondary,#159895);border-radius:50%;width:36px;height:36px;margin:12px auto 10px;animation:.85s linear infinite offline-sync-spin}@keyframes offline-sync-spin{to{transform:rotate(360deg)}}.offline-sync-card--minimal .offline-sync-status{margin:0 0 14px;font-size:.95rem;font-weight:800}.offline-sync-card--minimal .offline-sync-progress-track{margin-top:0}:root[data-theme=dark] .offline-sync-card{background:#0d1826}.admin-shell{z-index:3000;background:radial-gradient(circle at 100% 0,#57c5b62e,#0000 32rem),linear-gradient(135deg,#f5f7fa 0%,#dfeaf2 100%);position:fixed;inset:0;overflow:auto}.admin-container{width:min(100%,1360px);margin:0 auto;padding:14px 16px 18px}.admin-header,.admin-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffeb;border:1px solid #ffffffb3;border-radius:28px;box-shadow:0 20px 70px #0f172a1f}.admin-header{justify-content:space-between;gap:16px;padding:20px;display:flex}.admin-sticky-top{z-index:25;background:linear-gradient(#f5f7fafa 0%,#f5f7faf0 82%,#0000 100%);margin-bottom:12px;padding-bottom:4px;position:sticky;top:0}.admin-top-compact{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff2;border:1px solid #ffffffb3;border-radius:16px;padding:10px 12px 11px;box-shadow:0 10px 32px #0f172a14}.admin-top-main{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.admin-top-copy{flex:auto;min-width:0}.admin-top-title-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.admin-sticky-top h2{letter-spacing:-.02em;margin:0;font-size:clamp(1rem,2.2vw,1.2rem);line-height:1.15}.admin-top-tagline{margin:4px 0 0;font-size:11px;line-height:1.35}.pill-compact{padding:3px 8px;font-size:.68rem}.admin-close-button{flex:none;min-height:34px;padding:0 12px;font-size:12px;font-weight:800}.admin-editing-badge{color:var(--kvi-primary);white-space:nowrap;background:#1a5f7a1a;border-radius:999px;align-self:center;padding:3px 9px;font-size:11px;font-weight:700}.admin-editing-badge strong{font-weight:800}.site-chip-grid--compact{gap:6px;margin-top:8px}.site-chip--compact{border:1px solid var(--kvi-border);width:auto;min-width:0;color:var(--kvi-text);background:color-mix(in srgb, var(--kvi-surface) 92%, var(--kvi-secondary) 8%);box-shadow:none;border-radius:999px;align-items:center;gap:5px;padding:5px 10px;display:inline-flex}.admin-top-compact .site-chip--compact{border-color:color-mix(in srgb, var(--kvi-border) 85%, transparent);background:color-mix(in srgb, var(--kvi-surface) 94%, var(--kvi-secondary) 6%)}.admin-top-compact .site-chip--compact strong{color:var(--kvi-text)}.admin-top-compact .site-chip--compact span{color:var(--kvi-text-muted)}.site-chip--compact.active{border-color:color-mix(in srgb, var(--kvi-accent) 55%, var(--kvi-border));background:color-mix(in srgb, var(--kvi-accent) 16%, var(--kvi-surface));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--kvi-accent) 28%, transparent)}.admin-top-compact .site-chip--compact.active{border-color:var(--kvi-accent);background:color-mix(in srgb, var(--kvi-accent) 18%, var(--kvi-surface));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--kvi-accent) 35%, transparent), 0 0 0 2px color-mix(in srgb, var(--kvi-accent) 14%, transparent)}.admin-top-compact .site-chip--compact.active strong{color:var(--kvi-text);font-weight:800}.admin-close-button{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.site-chip--compact strong{font-size:.8rem;line-height:1}.site-chip--compact span{font-size:.68rem;line-height:1}.site-chip-loading{opacity:.85;font-size:.72rem}.admin-site-bar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff2;border:1px solid #ffffffb3;border-radius:22px;padding:14px 16px 16px;box-shadow:0 12px 40px #0f172a14}.admin-site-bar-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.admin-site-bar-head h3{color:var(--kvi-text);letter-spacing:-.025em;margin:8px 0 0}.admin-site-bar-hint{margin:0 0 12px;font-size:13px}.admin-editing-slug{opacity:.75;font-weight:600}.admin-header{margin-bottom:0}.admin-card{margin-bottom:18px;padding:20px}.admin-card-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;display:flex}.admin-card-heading h3,.elevation-admin-head h4{color:var(--kvi-text);letter-spacing:-.025em;margin:8px 0 0}.calibration-workflow-details{border:1px solid var(--kvi-border);background:#e8f4f48c;border-radius:12px;max-width:760px;margin-top:12px;padding:12px 14px}.calibration-workflow-details summary{cursor:pointer;color:var(--kvi-primary);font-size:13px;font-weight:600}.calibration-workflow-steps{color:var(--kvi-text);gap:10px;margin:12px 0 4px;padding-left:1.2rem;font-size:13px;line-height:1.45;display:grid}.calibration-workflow-steps strong{color:var(--kvi-dark)}.admin-grid{gap:18px;display:grid}.admin-setup-grid{gap:10px}.admin-new-site-card{padding:14px 18px}.admin-setup-overview{background:#e8f4f473;border:1px solid #1a5f7a24;border-radius:16px;padding:12px 14px}.admin-setup-overview-label{color:var(--kvi-text-muted,#64748b);margin:0 0 8px;font-size:12px;font-weight:700}.admin-setup-overview-label strong{color:var(--kvi-primary)}.admin-setup-overview-track{flex-wrap:wrap;gap:6px;display:flex}.admin-setup-overview-chip{color:var(--kvi-text-muted,#64748b);cursor:pointer;background:#ffffffd9;border:1px solid #1a5f7a33;border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-size:11px;font-weight:700;transition:border-color .15s,background .15s,color .15s;display:inline-flex}.admin-setup-overview-chip.is-complete{color:#166534;background:#dcfce7e6;border-color:#16a34a73}.admin-setup-overview-chip.is-complete .admin-setup-overview-chip-dot{background:#22c55e;box-shadow:0 0 0 2px #22c55e40}.admin-setup-overview-chip.is-active{border-color:var(--kvi-primary);box-shadow:0 0 0 2px #1a5f7a1f}.admin-setup-overview-chip-dot{background:#cbd5e1;border-radius:50%;flex-shrink:0;width:8px;height:8px}.admin-setup-section{margin-bottom:0;padding:0;overflow:hidden}.admin-setup-section.is-complete{border-color:#16a34a59}.admin-setup-section.is-pending{border-color:#94a3b859}.admin-setup-section-header{text-align:left;cursor:pointer;width:100%;color:inherit;background:0 0;border:0;align-items:center;gap:10px;padding:14px 16px;display:flex}.admin-setup-section-header:hover{background:#1a5f7a0a}.admin-setup-section-status{background:#94a3b8;border-radius:50%;flex-shrink:0;width:10px;height:10px;box-shadow:0 0 0 2px #94a3b833}.admin-setup-section.is-complete .admin-setup-section-status{background:#22c55e;box-shadow:0 0 0 2px #22c55e47}.admin-setup-section-step{width:22px;height:22px;color:var(--kvi-primary);background:#1a5f7a1a;border-radius:50%;flex-shrink:0;place-items:center;font-size:11px;font-weight:800;display:grid}.admin-setup-section.is-complete .admin-setup-section-step{color:#166534;background:#16a34a1f}.admin-setup-section-copy{flex:auto;gap:2px;min-width:0;display:grid}.admin-setup-section-title{color:var(--kvi-text);margin:0;font-size:15px;line-height:1.2;display:block}.admin-setup-section-summary{font-size:11px;line-height:1.3}.admin-setup-section-icon{opacity:.55;flex-shrink:0}.admin-setup-section-chevron{opacity:.65;flex-shrink:0;transition:transform .2s}.admin-setup-section.is-expanded .admin-setup-section-chevron{transform:rotate(180deg)}.admin-setup-section-panel{border-top:1px solid #1a5f7a14;padding:0 16px 16px}.admin-insights-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.admin-insights-range{flex-wrap:wrap;gap:.35rem;display:flex}.admin-insights-range .ghost-button.active{background:var(--accent-soft,#3b82f626);border-color:var(--accent,#3b82f6)}.admin-insights-error{color:var(--danger,#dc2626);margin:0 0 .75rem;font-size:.875rem}.admin-insights-empty{margin:0 0 1rem}.admin-insights-stats{grid-template-columns:repeat(auto-fill,minmax(5.5rem,1fr));gap:.5rem;margin-bottom:1rem;display:grid}.admin-insights-stat{background:var(--surface-elevated,#0000000a);border:1px solid var(--border-subtle,#00000014);border-radius:8px;flex-direction:column;align-items:center;padding:.5rem .35rem;display:flex}.admin-insights-stat-value{font-size:1.25rem;font-weight:700;line-height:1.2}.admin-insights-stat-label{color:var(--text-muted,#64748b);text-transform:uppercase;letter-spacing:.04em;font-size:.7rem}.admin-insights-block{margin-bottom:1.25rem}.admin-insights-block h4{margin:0 0 .5rem;font-size:.85rem;font-weight:600}.admin-insights-block-hint{margin:-.25rem 0 .5rem}.admin-insights-top-equipment .admin-insights-top-query{white-space:normal;flex-direction:column;gap:.1rem;line-height:1.25;display:flex}.admin-insights-top-kks-code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.78rem;font-weight:700}.admin-insights-top-kks-desc{color:var(--text-muted,#64748b);text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;overflow:hidden}.admin-insights-kks-cell{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.78rem;font-weight:600}.admin-insights-table-wrap{border:1px solid var(--border-subtle,#00000014);border-radius:8px;overflow-x:auto}.admin-insights-table{border-collapse:collapse;width:100%;font-size:.8rem}.admin-insights-table th,.admin-insights-table td{text-align:left;border-bottom:1px solid var(--border-subtle,#0000000f);padding:.4rem .55rem}.admin-insights-table th{background:var(--surface-elevated,#00000008);font-weight:600}.admin-insights-top-searches{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.admin-insights-top-searches li{grid-template-columns:minmax(4rem,1fr) minmax(3rem,4fr) auto;align-items:center;gap:.5rem;font-size:.8rem;display:grid}.admin-insights-top-query{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-insights-top-bar{background:var(--accent,#3b82f6);opacity:.65;border-radius:3px;min-width:8px;height:.45rem;display:block}.admin-insights-top-count{font-variant-numeric:tabular-nums;color:var(--text-muted,#64748b)}.admin-insights-errors{flex-direction:column;gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.admin-insights-errors li{border-left:3px solid var(--danger,#dc2626);background:#dc26260f;border-radius:6px;flex-wrap:wrap;align-items:baseline;gap:.35rem .75rem;padding:.45rem .55rem;font-size:.8rem;display:flex}.admin-insights-error-msg{word-break:break-word;flex:12rem}.admin-plant-progress-intro{color:var(--kvi-muted);margin:0 0 .85rem;font-size:.86rem;line-height:1.45}.admin-plant-progress-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;margin-bottom:.85rem;display:flex}.admin-plant-progress-analyze-btn{color:#fff;background:linear-gradient(135deg, var(--kvi-primary,#1a5f7a), var(--kvi-accent,#0ea5e9));cursor:pointer;border:0;border-radius:10px;align-items:center;gap:.4rem;padding:.5rem .85rem;font-size:.82rem;font-weight:700;display:inline-flex}.admin-plant-progress-analyze-btn:disabled{opacity:.65;cursor:not-allowed}.admin-plant-progress-pid-panel{border:1px solid var(--kvi-border);background:var(--kvi-soft);border-radius:10px;margin-bottom:1rem;padding:.75rem}.admin-plant-progress-pid-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.55rem;display:flex}.admin-plant-progress-pid-title{color:var(--kvi-text);font-size:.82rem;font-weight:700}.admin-plant-progress-pid-actions{gap:.35rem;display:flex}.admin-plant-progress-pid-empty,.admin-plant-progress-pid-scope{color:var(--kvi-muted);margin:0;font-size:.78rem}.admin-plant-progress-pid-grid{flex-wrap:wrap;gap:.45rem;max-height:180px;margin-bottom:.45rem;display:flex;overflow-y:auto}.admin-plant-progress-pid-chip{border:1px solid var(--kvi-border);background:var(--kvi-surface);max-width:220px;color:var(--kvi-text);text-align:left;cursor:pointer;border-radius:8px;gap:.1rem;padding:.45rem .6rem;display:grid}.admin-plant-progress-pid-chip.is-selected{border-color:var(--kvi-accent);background:color-mix(in srgb, var(--kvi-accent) 12%, var(--kvi-surface));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--kvi-accent) 55%, transparent)}.admin-plant-progress-pid-code{color:var(--kvi-text);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.74rem;font-weight:800}.admin-plant-progress-pid-name{color:var(--kvi-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;overflow:hidden}.admin-plant-progress-dashboard{gap:1rem;display:grid}.admin-plant-progress-meta{color:var(--kvi-muted);flex-wrap:wrap;gap:.35rem .5rem;font-size:.76rem;display:flex}.admin-plant-progress-xai-card{border:1px solid var(--kvi-callout-border);background:var(--kvi-callout-bg);color:var(--kvi-text);border-radius:12px;padding:.85rem}.admin-plant-progress-xai-head{flex-wrap:wrap;align-items:center;gap:.45rem;margin-bottom:.5rem;display:flex}.admin-plant-progress-xai-head h3{color:var(--kvi-text);flex:1;margin:0;font-size:.9rem}.admin-plant-progress-status{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:.15rem .5rem;font-size:.68rem;font-weight:800}.admin-plant-progress-status--on_track{color:#15803d;background:#16a34a26}.admin-plant-progress-status--at_risk{color:#a16207;background:#eab30833}.admin-plant-progress-status--blocked{color:#b91c1c;background:#dc26261f}.admin-plant-progress-status--insufficient_data{color:#475569;background:#64748b26}.admin-plant-progress-xai-summary{color:var(--kvi-text);margin:0 0 .65rem;font-size:.86rem;line-height:1.45}.admin-plant-progress-xai-phases{gap:.55rem;margin-bottom:.65rem;display:grid}.admin-plant-progress-xai-phase{border:1px solid var(--kvi-border);background:var(--kvi-surface);border-radius:8px;padding:.55rem .65rem}.admin-plant-progress-xai-phase header{color:var(--kvi-text);justify-content:space-between;gap:.5rem;margin-bottom:.25rem;font-size:.8rem;display:flex}.admin-plant-progress-xai-phase header span{color:var(--kvi-muted)}.admin-plant-progress-xai-phase p{color:var(--kvi-text);margin:0 0 .25rem;font-size:.78rem}.admin-plant-progress-xai-phase ul{color:var(--kvi-muted);margin:0;padding-left:1.1rem;font-size:.76rem}.admin-plant-progress-lists h4{color:var(--kvi-text);margin:.5rem 0 .25rem;font-size:.78rem}.admin-plant-progress-lists ul{color:var(--kvi-muted);margin:0;padding-left:1.1rem;font-size:.78rem}.admin-plant-progress-xai-fallback{color:var(--kvi-muted);margin:0;font-size:.8rem}.admin-plant-progress-block h3{color:var(--kvi-text);align-items:center;gap:.35rem;margin:0 0 .55rem;font-size:.88rem;display:flex}.admin-plant-progress-phase-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.55rem;display:grid}.admin-plant-progress-phase{border:1px solid var(--kvi-border);background:var(--kvi-soft);border-radius:10px;padding:.6rem .65rem}.admin-plant-progress-phase-head{color:var(--kvi-text);justify-content:space-between;gap:.35rem;margin-bottom:.35rem;font-size:.78rem;font-weight:700;display:flex}.admin-plant-progress-phase-bar{background:#94a3b840;border-radius:999px;height:.5rem;margin-bottom:.35rem;overflow:hidden}.admin-plant-progress-phase-bar span{border-radius:inherit;background:var(--kvi-accent,#0ea5e9);height:100%;display:block}.admin-plant-progress-phase--construction .admin-plant-progress-phase-bar span{background:#f59e0b}.admin-plant-progress-phase--commissioning .admin-plant-progress-phase-bar span{background:#8b5cf6}.admin-plant-progress-phase--operation .admin-plant-progress-phase-bar span{background:#10b981}.admin-plant-progress-phase p{color:var(--kvi-muted);margin:0;font-size:.72rem}.admin-plant-progress-issues{color:var(--kvi-callout-warn-text);margin:.55rem 0 0;font-size:.78rem;font-weight:600}.admin-plant-progress-feed{gap:.55rem;max-height:420px;display:grid;overflow-y:auto}.admin-plant-progress-feed-item{border:1px solid var(--kvi-border);background:var(--kvi-surface);color:var(--kvi-text);border-radius:8px;padding:.55rem .65rem}.admin-plant-progress-feed-item header{justify-content:space-between;gap:.5rem;margin-bottom:.25rem;font-size:.72rem;display:flex}.admin-plant-progress-feed-item header time{color:var(--kvi-muted)}.admin-plant-progress-feed-tag{text-transform:uppercase;letter-spacing:.04em;font-weight:800}.admin-plant-progress-feed-tag--status{color:var(--kvi-accent)}.admin-plant-progress-feed-tag--comment{color:var(--kvi-muted)}.admin-plant-progress-feed-kks{color:var(--kvi-text);flex-wrap:wrap;gap:.25rem .5rem;margin:0 0 .2rem;font-size:.78rem;display:flex}.admin-plant-progress-feed-kks code{color:var(--kvi-text);font-weight:800}.admin-plant-progress-feed-kks span{color:var(--kvi-muted)}.admin-plant-progress-feed-pid,.admin-plant-progress-feed-body{color:var(--kvi-muted);margin:0;font-size:.76rem;line-height:1.35}:root[data-theme=dark] .admin-plant-progress-intro strong{color:var(--kvi-text)}:root[data-theme=dark] .admin-plant-progress-pid-panel,:root[data-theme=dark] .admin-plant-progress-phase{border-color:var(--kvi-border);background:#0d1826e0}:root[data-theme=dark] .admin-plant-progress-pid-chip,:root[data-theme=dark] .admin-plant-progress-xai-phase,:root[data-theme=dark] .admin-plant-progress-feed-item{border-color:var(--kvi-border);color:var(--kvi-text);background:#0d1826}:root[data-theme=dark] .admin-plant-progress-pid-chip.is-selected{background:#5eead41a;border-color:#5eead48c;box-shadow:inset 0 0 0 1px #5eead459}:root[data-theme=dark] .admin-plant-progress-xai-card{border-color:var(--kvi-callout-border);background:var(--kvi-callout-bg)}:root[data-theme=dark] .admin-plant-progress-status--on_track{color:#86efac;background:#22c55e33}:root[data-theme=dark] .admin-plant-progress-status--at_risk{color:#fcd34d;background:#fbbf242e}:root[data-theme=dark] .admin-plant-progress-status--blocked{color:#fca5a5;background:#f871712e}:root[data-theme=dark] .admin-plant-progress-status--insufficient_data{color:#cbd5e1;background:#94a3b829}:root[data-theme=dark] .admin-plant-progress-phase-bar{background:#94a3b838}:root[data-theme=dark] .admin-plant-progress .admin-insights-table-wrap{border-color:var(--kvi-border)}:root[data-theme=dark] .admin-plant-progress .admin-insights-table th{color:var(--kvi-muted);border-color:var(--kvi-border);background:#102235}:root[data-theme=dark] .admin-plant-progress .admin-insights-table td{border-color:var(--kvi-border);color:var(--kvi-text)}:root[data-theme=dark] .admin-plant-progress .admin-insights-table code{color:var(--kvi-accent)}:root[data-theme=dark] .admin-plant-progress .admin-insights-top-bar{background:var(--kvi-accent);opacity:.85}:root[data-theme=dark] .admin-plant-progress .admin-insights-top-query,:root[data-theme=dark] .admin-plant-progress .admin-insights-top-count{color:var(--kvi-text)}:root[data-theme=dark] .admin-plant-progress .admin-insights-empty,:root[data-theme=dark] .admin-plant-progress .admin-insights-error{color:var(--kvi-muted)}.admin-setup-section-lead{margin:0 0 12px}.site-chip-grid{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.site-chip{color:#fff;background:linear-gradient(135deg, var(--kvi-primary), var(--kvi-secondary));text-align:left;cursor:pointer;border:2px solid #0000;border-radius:18px;gap:2px;min-width:150px;padding:12px 14px;display:grid;box-shadow:0 14px 28px #1a5f7a2e}.site-chip.active{border-color:var(--kvi-accent);box-shadow:0 0 0 4px #57c5b62e,0 14px 28px #1a5f7a2e}.site-chip strong{font-size:.95rem}.site-chip span{color:#ffffffd1;font-size:.74rem;font-weight:800}.new-site-form{gap:8px;margin-top:18px;display:grid}.new-site-form>div{gap:10px;display:grid}.new-site-form input{width:100%;min-height:46px;color:var(--kvi-text);background:#fff;border:1px solid #cbd5e1;border-radius:16px;outline:none;padding:0 14px}.new-site-form input:focus{border-color:var(--kvi-primary);box-shadow:0 0 0 4px #1a5f7a1a}.site-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.site-host-link{color:var(--kvi-primary);word-break:break-all;margin-top:8px;font-size:.78rem;text-decoration:none;display:inline-block}.site-host-link:hover{text-decoration:underline}.ghost-button{border:1px dashed var(--kvi-ghost-border);min-height:46px;color:var(--kvi-primary);background:var(--kvi-ghost-bg);cursor:pointer;border-radius:16px;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-weight:850;display:inline-flex}.ghost-button.compact{border-style:solid;border-color:var(--kvi-border);background:var(--kvi-surface);min-height:40px;color:var(--kvi-text);padding:0 12px}.small-icon{width:16px;height:16px}.upload-dropzone{text-align:center;background:radial-gradient(circle at top,#57c5b624,#0000 70%),#f8fcfd;border:2px dashed #1a5f7a38;border-radius:24px;place-items:center;gap:8px;padding:28px;display:grid}.upload-dropzone.drag-active{background:radial-gradient(circle at top,#57c5b63d,#0000 70%),#eef8fc;border-color:#159895b3;box-shadow:0 0 0 4px #1598951f}.upload-icon{width:34px;height:34px;color:var(--kvi-secondary)}.upload-title{color:var(--kvi-text);font-size:1.08rem;font-weight:900}.upload-help{max-width:560px;color:var(--kvi-muted);font-size:.82rem;line-height:1.45}.upload-button{color:#fff;background:linear-gradient(135deg, var(--kvi-primary), var(--kvi-secondary));cursor:pointer;border-radius:16px;justify-content:center;align-items:center;min-height:46px;margin-top:8px;padding:0 18px;font-weight:850;display:inline-flex;box-shadow:0 12px 24px #1a5f7a2e}.upload-status{color:var(--kvi-secondary);margin-top:8px;font-size:.86rem;font-weight:850}.upload-status.success,.admin-success{color:#15803d}.upload-status.error{color:var(--kvi-danger)}.admin-success{background:#dcfce7;border-radius:16px;margin-top:14px;padding:12px 14px;font-size:.9rem;font-weight:850}.import-preview-card{border:1px solid var(--kvi-border);background:#ffffffe0;border-radius:16px;margin-top:14px;padding:12px}.import-preview-header{color:var(--kvi-primary);justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;font-size:.82rem;display:flex}.import-preview-header strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.import-preview-table{border:1px solid var(--kvi-border);background:#fff;border-radius:12px;max-height:220px;overflow:auto}.import-preview-table table{border-collapse:collapse;width:100%;font-size:.75rem}.import-preview-table th,.import-preview-table td{text-align:left;white-space:nowrap;border-bottom:1px solid #e2e8f0;padding:6px 8px}.import-preview-table th{z-index:1;color:var(--kvi-primary);background:#eff6ff;position:sticky;top:0}.import-preview-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.import-preview-actions button:disabled{opacity:.6;cursor:not-allowed}.import-sync-status{color:var(--kvi-secondary);margin-top:8px;font-size:.78rem;font-weight:800}.existing-kks-filter{width:100%;min-height:38px;color:var(--kvi-text);background:#fff;border:1px solid #cbd5e1;border-radius:11px;margin-bottom:8px;padding:0 11px}.existing-kks-filter:focus{border-color:var(--kvi-primary);outline:none;box-shadow:0 0 0 3px #1a5f7a1a}.admin-empty.compact{margin-top:0;padding:10px 12px;font-size:.8rem}.import-table-note{color:var(--kvi-muted);margin-top:8px;font-size:.74rem}.admin-storage-callout{color:var(--kvi-text);background:#fbbf241f;border:1px solid #d9770659;border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;padding:12px 14px;font-size:.82rem;line-height:1.45;display:flex}.import-preview-stats{font-variant-numeric:tabular-nums}.elevation-admin-grid{gap:14px;display:grid}.elevation-admin-card{border:1px solid var(--kvi-border);background:#f8fcfd;border-radius:22px;padding:18px}.reference-baseline-card{margin-bottom:14px}.elevation-admin-head{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.elevation-admin-actions{gap:8px;display:grid}.elevation-admin-actions .ghost-button:disabled{opacity:.55;cursor:not-allowed}.ghost-button.compact.danger,.ghost-button.danger{color:var(--kvi-danger);background:#fee2e2bf;border-color:#dc354559}.elevation-admin-head h4{font-size:1.05rem}.elevation-admin-head span{color:var(--kvi-muted);font-size:.82rem}.baseline-lock-badge{white-space:nowrap;text-overflow:ellipsis;border-radius:999px;align-items:center;max-width:min(460px,100%);margin-top:6px;padding:4px 10px;font-size:.72rem;font-weight:850;display:inline-flex;overflow:hidden}.baseline-lock-badge.locked{color:#155e75;background:#15803d1f;border:1px solid #15803d4d}.baseline-lock-badge.missing{color:#991b1b;background:#ef44441f;border:1px solid #ef444452}.admin-attribute-note{color:var(--kvi-muted);margin-top:10px;font-size:.78rem}.layer-edit-grid{grid-template-columns:minmax(0,1fr) 140px auto;gap:8px;margin-top:10px;display:grid}.overlay-transform-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px;display:grid}.overlay-transform-actions{grid-column:1/-1;align-items:flex-end;gap:8px;display:flex}.layer-edit-field{gap:4px;display:grid}.layer-edit-field span{color:var(--kvi-muted);text-transform:uppercase;font-size:.72rem;font-weight:850}.layer-edit-field input{width:100%;min-height:38px;color:var(--kvi-text);background:#fff;border:1px solid #cbd5e1;border-radius:12px;padding:0 11px}.add-layer-form{grid-template-columns:minmax(0,1fr) 140px auto;gap:8px;margin-bottom:14px;display:grid}.add-layer-form input{width:100%;min-height:40px;color:var(--kvi-text);background:#fff;border:1px solid #cbd5e1;border-radius:12px;padding:0 12px}.add-layer-form input:focus{border-color:var(--kvi-primary);outline:none;box-shadow:0 0 0 3px #1a5f7a1a}.admin-empty{color:var(--kvi-muted);background:#fff;border-radius:16px;margin-top:14px;padding:14px;font-size:.88rem}.drawing-row{background:#fff;border-radius:16px;align-items:center;gap:12px;margin-top:12px;padding:12px 14px;display:flex}.drawing-row-meta{flex:auto;min-width:0}.drawing-row strong,.drawing-row span{display:block}.drawing-row strong{color:var(--kvi-text)}.drawing-row span{color:var(--kvi-muted);font-size:.78rem}.drawing-preview-thumb{-o-object-fit:cover;object-fit:cover;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:10px;flex:none;width:76px;height:56px}.drawing-preview-missing{width:76px;height:56px;color:var(--kvi-muted);text-align:center;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:10px;flex:none;justify-content:center;align-items:center;padding:4px;font-size:.62rem;line-height:1.1;display:none}.drawing-r2-key{opacity:.75;white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:.68rem;overflow:hidden}.danger-icon-button{width:36px;height:36px;color:var(--kvi-danger);cursor:pointer;background:#fee2e2;border:0;border-radius:12px;flex:none;place-items:center;display:grid}.admin-note{color:var(--kvi-muted);text-align:center;margin-top:20px;font-size:.8rem}.calibration-modal{z-index:5000;background:#020617d1;place-items:center;padding:8px;display:grid;position:fixed;inset:0}.calibration-studio{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffffa;border:1px solid #ffffffb8;border-radius:16px;grid-template-rows:auto auto minmax(0,1fr) auto;width:min(100%,1400px);height:min(98svh,980px);display:grid;overflow:hidden;box-shadow:0 24px 64px #00000073}.calibration-header{border-bottom:1px solid var(--kvi-border);justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.calibration-build-stamp{color:var(--kvi-muted);opacity:.65;margin-left:8px;font-size:10px;font-weight:600}.calibration-header .icon-close-button{margin-top:4px}.calibration-header h2{margin:0;font-size:1.05rem}.calibration-context-sub{color:var(--kvi-muted);max-width:760px;margin:0 0 6px;font-size:13px;font-weight:500;line-height:1.45}.calibration-context-sub strong{color:var(--kvi-text)}.calibration-step-hint{text-align:center;max-width:560px;margin:0}.calibration-warning-banner{color:var(--kvi-text);background:#ffc10724;border:1px solid #ffc1076b;border-radius:10px;margin:0 24px;padding:10px 14px;font-size:13px;line-height:1.4}.calibration-map-behavior-note{color:var(--kvi-text);background:#1a5f7a0f;border:1px solid #1a5f7a2e;border-radius:10px;margin:0 24px;padding:10px 14px;font-size:13px;line-height:1.45}.calibration-map-behavior-note strong{color:var(--kvi-primary)}.icon-close-button{width:44px;height:44px;color:var(--kvi-primary);background:var(--kvi-soft);cursor:pointer;border:0;border-radius:16px;flex:none;place-items:center;display:grid}.calibration-body{grid-template-columns:minmax(280px,340px) minmax(0,1fr);min-height:0;display:grid}.calibration-body.calibration-body-stack{grid-template-columns:unset;flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.calibration-body-stack .inherits-frame-ribbon,.calibration-body-stack .calibration-tabs{flex:none;width:100%}.calibration-body-stack .calibration-calibrate-layout{flex:1;min-height:0}.calibration-tools{border-right:1px solid var(--kvi-border);background:var(--kvi-toolbar);flex-direction:column;align-items:stretch;gap:14px;padding:18px;display:flex;overflow:auto}.calibration-tools>.calibration-tool-card:not(.kks-pin-sidebar){flex-shrink:0}.calibration-tool-card{border:1px solid var(--kvi-border);background:var(--kvi-surface);color:var(--kvi-text);border-radius:22px;gap:12px;padding:16px;display:grid}.tool-card-heading strong{color:var(--kvi-primary)}.tool-card-heading{color:var(--kvi-primary);align-items:center;gap:8px;display:flex}.bounds-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.calibration-field{gap:6px;display:grid}.calibration-field span{color:var(--kvi-muted);text-transform:uppercase;font-size:.76rem;font-weight:850}.calibration-field input{border:1px solid var(--kvi-border);background:var(--kvi-surface);width:100%;min-height:42px;color:var(--kvi-text);border-radius:14px;outline:none;padding:0 11px}.bounds-summary{color:var(--kvi-primary);background:var(--kvi-soft);border-radius:14px;padding:10px 12px;font-size:.84rem;font-weight:850}.calibration-toggle,.overlay-upload-button{border:1px solid var(--kvi-border);min-height:42px;color:var(--kvi-primary);background:var(--kvi-surface);cursor:pointer;border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:0 12px;font-weight:850;display:inline-flex}.calibration-toggle.active{color:#fff;background:linear-gradient(135deg, var(--kvi-primary), var(--kvi-secondary))}.calibration-crop-hint{margin:10px 0 0;line-height:1.35}.calibration-preview-status{z-index:12;background:var(--kvi-preview-status-bg);color:var(--kvi-text);pointer-events:none;justify-content:center;align-items:center;font-weight:600;display:flex;position:absolute;inset:0}.muted.small{font-size:.82rem}.calibration-canvas-shell{background-color:#eef7f7;background-image:linear-gradient(90deg,#1a5f7a0a 1px,#0000 1px),linear-gradient(#1a5f7a0a 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:34px 34px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;flex-direction:column;min-width:0;min-height:0;padding:18px;display:flex;overflow:auto}.calibration-canvas{background:#ffffffbd;border-radius:24px;flex-direction:column;flex:auto;align-self:stretch;width:100%;min-width:0;min-height:0;padding:10px 14px 14px;display:flex;position:relative;box-shadow:inset 0 0 0 1px #1a5f7a14}.calibration-preview-toolbar{flex-wrap:wrap;flex:none;align-items:center;gap:8px 10px;padding:0 2px 8px;display:flex}.calibration-preview-toolbar-label{color:var(--kvi-muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:800}.calibration-preview-zoom-value{font-variant-numeric:tabular-nums;color:var(--kvi-primary);text-align:center;min-width:3.25rem;font-size:13px;font-weight:800}.calibration-preview-hint{font-size:11px!important}.calibration-zoom-scroll{overscroll-behavior:contain;outline-offset:-1px;border-radius:16px;outline:1px solid #1a5f7a0f;flex:auto;min-height:clamp(220px,38vh,640px);overflow:auto}.cal-zoom-pannable{cursor:grab}.cal-zoom-pannable:active{cursor:grabbing}.baseline-preview-status{text-align:center;color:var(--kvi-muted);box-sizing:border-box;background:#f8fcfdf0;border-radius:18px;justify-content:center;align-items:center;padding:14px;font-size:13px;font-weight:650;display:flex}.baseline-preview-status.baseline-preview-error{color:#92400e;background:#fef3c7f5;border:1px solid #d9770661}:root[data-theme=dark] .baseline-preview-status{color:#94a3b8;background:#0d1826e0}:root[data-theme=dark] .baseline-preview-status.baseline-preview-error{color:#fcd34d;background:#78350f59;border-color:#fbbf2459}.calibration-zoom-stage{isolation:isolate;--cal-preview-zoom:1;width:calc(100% * var(--cal-preview-zoom));min-height:calc(clamp(220px, 38vh, 640px) * var(--cal-preview-zoom));box-sizing:border-box;position:relative}.calibration-body-compact .calibration-zoom-scroll{flex-direction:column;flex:auto;min-height:0;display:flex}.calibration-body-compact .calibration-zoom-stage{width:calc(100% * var(--cal-preview-zoom,1));min-height:calc(100% * var(--cal-preview-zoom,1));height:calc(100% * var(--cal-preview-zoom,1));flex:none;display:block}.calibration-body-compact .calibration-crop-host{flex-direction:column;flex:auto;justify-content:flex-start;align-items:stretch;width:100%;min-height:0;display:flex}.calibration-body-compact .calibration-zoom-stage>.calibration-crop-host{height:100%;min-height:100%}.calibration-crop-host--live{overflow:hidden}.calibration-crop-host--live .cropper-container{flex:auto;min-height:0;width:100%!important;max-height:none!important}.calibration-crop-host{flex:auto;min-height:clamp(260px,55vh,720px);position:relative}.calibration-preview-zoom-label{color:var(--text-muted,#5b6570);margin-right:2px;font-size:.68rem;font-weight:700}.calibration-preview-zoom-hint{color:var(--text-muted,#5b6570);margin-left:6px;font-size:.62rem}.calibration-magnifier-lens{z-index:10050;pointer-events:none;background-color:#fff;border:2px solid #1a5f7ad9;border-radius:50%;position:fixed;overflow:hidden;box-shadow:0 8px 28px #0f172a59}.calibration-magnifier-canvas{border-radius:50%;width:100%;height:100%;display:block}.calibration-magnifier-reticle{pointer-events:none;position:absolute;inset:0}.calibration-magnifier-reticle:before,.calibration-magnifier-reticle:after{content:"";background:#0f172ae6;position:absolute}.calibration-magnifier-reticle:before{width:1px;margin-left:-.5px;top:0;bottom:0;left:50%}.calibration-magnifier-reticle:after{height:1px;margin-top:-.5px;top:50%;left:0;right:0}.calibration-magnifier-lens--placing .calibration-magnifier-reticle:before,.calibration-magnifier-lens--placing .calibration-magnifier-reticle:after{background:#dc2626eb}.calibration-magnifier-lens--placing{border-width:3px;border-color:#dc2626e0;box-shadow:0 10px 32px #0f172a6b}.calibration-top-bar{border-bottom:1px solid var(--kvi-border);background:var(--kvi-toolbar);flex-wrap:wrap;align-items:center;gap:10px;padding:6px 10px;display:flex}.calibration-mode-toggle{border:1px solid var(--kvi-border);border-radius:8px;display:inline-flex;overflow:hidden}.calibration-mode-btn{color:var(--kvi-muted);cursor:pointer;background:0 0;border:0;padding:5px 14px;font-size:12px;font-weight:700}.calibration-mode-btn.active{background:var(--kvi-primary);color:#fff}.calibration-crop-strip{align-items:center;gap:6px;margin-left:auto;display:inline-flex}.calibration-crop-strip-error{color:#b45309;font-size:11px}.calibration-toggle.compact,.calibration-lock-crop.compact{padding:5px 10px;font-size:12px}.calibration-tools-compact{gap:8px;padding:8px}.calibration-tool-card-compact{gap:8px;padding:8px 10px}.bounds-grid-tight{gap:6px}.bounds-summary-compact{color:var(--kvi-muted);text-align:center;border-radius:8px;padding:6px 8px;font-size:11px;font-weight:700}.bounds-summary-compact--ok{color:var(--kvi-success-text);background:var(--kvi-success-surface)}.calibration-preview-toolbar-compact{padding:4px 8px}.calibration-tabs-compact{padding:0 10px}.calibration-tabs-compact .cal-tab{padding:6px 12px;font-size:12px}.calibration-body-compact .calibration-stepper{padding:4px 10px}.calibration-crop-host--placing{cursor:none}.calibration-crop-host--live:has(.cropper-container)>img.layer-crop-image{display:none!important}.calibration-crop-host--placing .cropper-container{pointer-events:auto}.calibration-pins-layer{z-index:26;pointer-events:none}.calibration-pins-layer .pin-marker.projected-on-crop,.calibration-pins-layer .pin-marker.landmark,.calibration-pins-layer .pin-marker.coord-pin{pointer-events:none}.calibration-crop-host--live .cropper-container{pointer-events:auto;z-index:2}.calibration-crop-mount-error{color:#92400e;background:#fef3c7f5;border:1px solid #d9770661;border-radius:10px;margin:8px 0 0;padding:8px 10px;font-size:.82rem;line-height:1.4}.calibration-crop-host .cropper-container{max-height:72vh;position:relative}.calibration-body-compact .calibration-crop-host .cropper-container{height:100%!important;max-height:none!important}.calibration-crop-host .cropper-wrap-box,.calibration-crop-host .cropper-canvas{z-index:1}.calibration-crop-host .cropper-drag-box,.calibration-crop-host .cropper-modal{z-index:2}.calibration-crop-host .cropper-crop-box,.calibration-crop-host .cropper-view-box,.calibration-crop-host .cropper-face,.calibration-crop-host .cropper-line,.calibration-crop-host .cropper-point{z-index:3;pointer-events:auto}.calibration-zoom-scroll.cal-crop-active{cursor:default;touch-action:none}.calibration-crop-host .cropper-view-box{outline-offset:-1px;outline:2px solid #38bdf8}.calibration-crop-host .cropper-point{opacity:1;background:#38bdf8;width:12px;height:12px}.calibration-crop-host .cropper-line{opacity:.85;background-color:#38bdf8}.calibration-crop-host .cropper-dashed{border-color:#38bdf8a6}.calibration-preview-surface{width:100%;min-height:clamp(220px,38vh,640px);position:relative}.calibration-crop-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.calibration-crop-actions .calibration-toggle{flex:auto;min-width:10rem}.calibration-lock-crop{color:var(--kvi-primary);cursor:pointer;background:#ffffffe6;border:1px solid #1a5f7a38;border-radius:10px;align-items:center;gap:6px;padding:8px 12px;font-size:.82rem;font-weight:650;display:inline-flex}.calibration-lock-crop.locked{background:linear-gradient(135deg, var(--kvi-primary), var(--kvi-secondary));color:#fff;border-color:#0000}.pin-marker.projected-on-crop{z-index:4;pointer-events:none;transform:translate(-50%,-50%)}.calibration-kks-overlay{z-index:25;pointer-events:none;position:absolute;inset:0;overflow:visible}.calibration-kks-overlay--framed{box-sizing:border-box;inset:auto;overflow:hidden}.calibration-crop-host--live .pin-marker.projected-on-crop{z-index:25;pointer-events:none}.pin-marker.pin-on-drawing{z-index:20;pointer-events:none}.calibration-drawing-pin-target{-o-object-fit:contain;object-fit:contain;visibility:visible;opacity:1;pointer-events:auto;cursor:crosshair;width:100%;max-width:100%;height:auto;max-height:72vh;display:block}.calibration-confirm-surface{vertical-align:top;max-width:100%;line-height:0;display:inline-block;position:relative}.calibration-confirm-drawing{-o-object-fit:contain;object-fit:contain;width:auto;max-width:100%;height:auto;max-height:72vh;display:block}.calibration-pin-preview-host{background:0 0;position:relative}.calibration-pin-preview-host .calibration-confirm-drawing{z-index:1;-o-object-fit:contain;object-fit:contain;width:auto;max-width:100%;height:auto;max-height:72vh;position:relative}.calibration-pin-preview-host .pin-preview-loading{z-index:2;position:absolute;inset:24px}.calibration-image{-o-object-fit:contain;object-fit:contain;width:auto;max-width:100%;height:auto;max-height:72vh;display:block}.calibration-overlay-image{-o-object-fit:contain;object-fit:contain;pointer-events:none;mix-blend-mode:normal;width:calc(100% - 48px);height:calc(100% - 48px);position:absolute;inset:24px}.baseline-reference-overlay{z-index:1;filter:saturate(1.02)}.calibration-crop-strip-floor{flex:1;min-width:0}.calibration-crop-hint{color:var(--text-muted,#5b6570);flex:1;font-size:.72rem;font-weight:600;line-height:1.3}.calibration-crop-host--floor-align .cropper-modal{opacity:.22}.calibration-crop-host--floor-align .cropper-view-box{outline:2px solid #38bdf8;box-shadow:0 0 0 1px #0f172a59}.calibration-baseline-ghost-frame{z-index:1;pointer-events:none;outline-offset:-1px;border-radius:2px;outline:2px dashed #38bdf8bf;position:absolute;overflow:hidden}.calibration-baseline-ghost-img{-o-object-fit:fill;object-fit:fill;filter:saturate(1.02);width:100%;height:100%;display:block}.layer-draggable-image{z-index:2;pointer-events:auto;cursor:grab;transform-origin:50%;box-shadow:0 0 0 1px #ffffff73}.layer-draggable-image:active{cursor:grabbing}.calibration-hint{color:var(--text-muted,#5b6570);margin:0 0 .65rem;font-size:.72rem;line-height:1.35}.calibration-hint-compact{margin-bottom:.55rem}.fine-offset-layer-wrap{pointer-events:auto;z-index:2;overflow:visible}.fine-offset-inner-img{-o-object-fit:contain;object-fit:contain;pointer-events:auto;width:100%;height:100%;position:absolute;inset:0}.fine-offset-scale-handle{z-index:4;box-sizing:border-box;pointer-events:auto;touch-action:none;background:#fb923cfa;border:2px solid #fffffff2;border-radius:5px;width:18px;height:18px;margin:0;position:absolute;box-shadow:0 0 0 2px #1a5f7a8c,0 2px 10px #00000047}.fine-offset-scale-handle-nw{cursor:nwse-resize;top:10px;left:10px}.fine-offset-scale-handle-ne{cursor:nesw-resize;top:10px;right:10px}.fine-offset-scale-handle-sw{cursor:nesw-resize;bottom:10px;left:10px}.fine-offset-scale-handle-se{cursor:nwse-resize;bottom:10px;right:10px}.inline-range span{font-size:.68rem}.layer-crop-image{max-width:100%;max-height:72vh}.axis-overlay{pointer-events:none;position:absolute;inset:34px}.axis-overlay:before,.axis-overlay:after{content:"";background:#159895bf;position:absolute;box-shadow:0 0 0 1px #ffffffa6}.axis-overlay:before{height:2px;top:50%;left:0;right:0}.axis-overlay:after{width:2px;top:0;bottom:0;left:50%}.axis-label{color:#fff;background:#1a5f7ad1;border-radius:999px;padding:4px 7px;font-size:.72rem;font-weight:900;position:absolute}.axis-label.x{top:calc(50% + 8px);right:0}.axis-label.y{top:0;left:calc(50% + 8px)}.ruler-overlay{pointer-events:none;background:repeating-linear-gradient(90deg,#1a5f7abf 0 2px,#0000 2px 34px);border-bottom:4px solid #1a5f7ad6;width:min(420px,58%);height:46px;position:absolute;bottom:42px;left:50%;transform:translate(-50%)}.ruler-overlay span{width:max-content;max-width:320px;color:var(--kvi-primary);text-align:center;background:#fffffff0;border-radius:999px;padding:5px 9px;font-size:.72rem;font-weight:850;position:absolute;top:-30px;left:50%;transform:translate(-50%)}.calibration-footer{z-index:30;border-top:1px solid var(--kvi-border);border-bottom:0;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;display:flex;position:relative}.calibration-footer .primary-button:disabled{opacity:.45;cursor:not-allowed}.calibration-axis-note{margin:0 0 10px;line-height:1.45}.calibration-help{color:var(--kvi-muted);font-size:.86rem;line-height:1.45}.calibration-footer-actions{flex:none;gap:10px;display:flex}.calibration-footer-actions .primary-button{min-width:7.5rem}.calibration-save-button{gap:8px;width:auto;padding:0 18px}:root[data-theme=dark] .site-menu-card,:root[data-theme=dark] .locator-topbar,:root[data-theme=dark] .locator-search-panel,:root[data-theme=dark] .locator-selected,:root[data-theme=dark] .locator-map-card,:root[data-theme=dark] .context-card,:root[data-theme=dark] .map-card,:root[data-theme=dark] .admin-top-compact,:root[data-theme=dark] .admin-header,:root[data-theme=dark] .admin-site-bar,:root[data-theme=dark] .admin-card,:root[data-theme=dark] .gate-card,:root[data-theme=dark] .calibration-studio,:root[data-theme=dark] .calibration-footer,:root[data-theme=dark] .calibration-header,:root[data-theme=dark] .calibration-tool-card,:root[data-theme=dark] .calibration-canvas{background:#111c2beb;border-color:#ffffff14}:root[data-theme=dark] .admin-sticky-top{background:linear-gradient(#0f172afa 0%,#0f172af0 82%,#0000 100%)}:root[data-theme=dark] .admin-editing-badge{color:var(--kvi-accent);background:#57c5b61f}:root[data-theme=dark] .admin-setup-overview{border-color:var(--kvi-border);background:#111c2bb8}:root[data-theme=dark] .admin-setup-overview-chip{border-color:var(--kvi-border);color:var(--kvi-text-muted);background:#0d1826}:root[data-theme=dark] .admin-setup-overview-chip.is-complete{color:#86efac;background:#16653459;border-color:#22c55e66}:root[data-theme=dark] .admin-setup-section.is-complete{border-color:#22c55e59}:root[data-theme=dark] .admin-setup-section-header:hover{background:#57c5b60f}:root[data-theme=dark] .admin-setup-section-panel{border-top-color:var(--kvi-border)}:root[data-theme=dark] .calibration-workflow-details{border-color:var(--kvi-border);background:#111c2bb8}:root[data-theme=dark] .kks-search-box,:root[data-theme=dark] .elevation-switcher,:root[data-theme=dark] .selected-card,:root[data-theme=dark] .empty-state,:root[data-theme=dark] .import-preview-card,:root[data-theme=dark] .import-preview-table,:root[data-theme=dark] .elevation-admin-card,:root[data-theme=dark] .admin-empty,:root[data-theme=dark] .drawing-row,:root[data-theme=dark] .existing-kks-filter,:root[data-theme=dark] .add-layer-form input,:root[data-theme=dark] .layer-edit-field input,:root[data-theme=dark] .overlay-transform-grid .layer-edit-field input,:root[data-theme=dark] .new-site-form input,:root[data-theme=dark] .gate-form input,:root[data-theme=dark] .calibration-field input,:root[data-theme=dark] .calibration-toggle,:root[data-theme=dark] .overlay-upload-button{border-color:var(--kvi-border);color:var(--kvi-text);background:#0d1826}:root[data-theme=dark] .import-preview-table th{background:#102235}:root[data-theme=dark] .upload-dropzone{border-color:var(--kvi-border);background:radial-gradient(circle at top,#57c5b61a,#0000 70%),#0d1826}:root[data-theme=dark] .upload-dropzone.drag-active{background:radial-gradient(circle at top,#57c5b633,#0000 70%),#0f1f30;border-color:#5eead4a6}:root[data-theme=dark] .drawing-preview-thumb,:root[data-theme=dark] .drawing-preview-missing{border-color:var(--kvi-border);background:#102235}:root[data-theme=dark] .ghost-button.compact.danger,:root[data-theme=dark] .ghost-button.danger{background:#7f1d1d59;border-color:#f8717173}:root[data-theme=dark] .baseline-lock-badge.locked{color:#a7f3d0;background:#10b98133;border-color:#10b98173}:root[data-theme=dark] .baseline-lock-badge.missing{color:#fecaca;background:#ef44442e;border-color:#f8717173}:root[data-theme=dark] .site-host-link{color:#5eead4}:root[data-theme=dark] .map-shell{border-color:var(--kvi-border);background:#0d1826}:root[data-theme=dark] .calibration-tools,:root[data-theme=dark] .calibration-canvas-shell{border-color:var(--kvi-border);background-color:#07111f;background-image:linear-gradient(90deg,#57c5b60d 1px,#0000 1px),linear-gradient(#57c5b60d 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:34px 34px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box}:root[data-theme=dark] .calibration-image,:root[data-theme=dark] .calibration-overlay-image,:root[data-theme=dark] .calibration-confirm-drawing,:root[data-theme=dark] .calibration-crop-host .calibration-image{filter:brightness(1.14)contrast(1.05)}@media (width>=760px){.app{padding:max(28px, env(safe-area-inset-top)) 28px max(32px, env(safe-area-inset-bottom))}.gate-card{margin:max(28px, env(safe-area-inset-top)) 28px max(32px, env(safe-area-inset-bottom))}.kks-hero{grid-template-columns:1fr auto;align-items:start}.metric-strip{grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr))}.kks-workspace{grid-template-columns:minmax(320px,.82fr) minmax(0,1.4fr);align-items:start}.search-card,.map-card{width:100%}.action-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-grid{grid-template-columns:1fr;align-items:start}.elevation-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1080px){.action-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=520px){.kks-site-card,.section-heading,.map-card-header,.admin-header,.admin-top-main{display:grid}.admin-top-title-row{gap:6px}.admin-close-button,.admin-entry,.secondary-button{width:100%}.coordinate-grid{grid-template-columns:1fr}.elevation-admin-head,.drawing-row{display:grid}.add-layer-form,.layer-edit-grid,.overlay-transform-grid,.site-settings-grid{grid-template-columns:1fr}.ghost-button,.ghost-button.compact{width:100%}.map-shell{height:58vh;min-height:360px}}@media (width<=820px){.calibration-studio{height:96svh}.calibration-body:not(.calibration-body-stack){grid-template-columns:1fr;overflow:auto}.calibration-calibrate-layout{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr}.calibration-calibrate-layout>.calibration-tools{max-height:min(48vh,420px)}.calibration-tools{border-right:0;border-bottom:1px solid var(--kvi-border)}.calibration-footer,.calibration-footer-actions{display:grid}.calibration-save-button,.calibration-footer .secondary-button{width:100%}}.admin-route-page{gap:12px;display:grid}.admin-route-header{justify-content:flex-start;align-items:center;padding-right:58px;display:flex}.admin-back-link{color:var(--kvi-primary);align-items:center;gap:8px;font-weight:800;text-decoration:none;display:inline-flex}.locator-screen{--locator-pad-x:10px;--locator-action:32px;--locator-chrome-radius:18px;--locator-search-min-compact:52px;--locator-search-min-expanded:128px;--locator-map-min:min(42dvh, 360px);grid-template-rows:auto auto minmax(var(--locator-map-min), 1fr) auto auto;height:calc(100dvh - max(18px, env(safe-area-inset-top)) - max(22px, env(safe-area-inset-bottom)));gap:8px;display:grid;overflow:hidden}.locator-topbar.compact,.locator-search-panel.compact,.locator-map-card.compact{border-radius:var(--locator-chrome-radius)}.locator-topbar.compact{min-height:44px;padding:6px var(--locator-pad-x)}.locator-topbar.compact.with-logo{grid-template-columns:auto minmax(0, 1fr) var(--locator-action);-moz-column-gap:8px;align-items:center;column-gap:8px;display:grid;overflow:visible}.locator-topbar.compact.with-logo.with-filter,.locator-topbar.compact.with-logo.with-nav{z-index:60;grid-template-columns:auto minmax(0,1fr) auto;position:relative;overflow:visible}.locator-topbar-actions{justify-content:flex-end;justify-self:end;align-items:center;gap:6px;min-width:0;display:flex}.locator-topbar-actions .theme-toggle-locator{flex-shrink:0;justify-self:auto}.locator-admin-link{min-height:var(--locator-action,40px);white-space:nowrap;padding:0 10px;font-size:.78rem;font-weight:700}.locator-header-nav{flex-wrap:wrap;justify-content:center;align-items:center;gap:4px;min-width:0;max-width:100%;display:inline-flex}.locator-header-nav-item{border:1px solid var(--kvi-border);background:var(--kvi-surface);min-width:32px;min-height:32px;color:var(--kvi-primary);cursor:pointer;transition:background .18s var(--kvi-ease), border-color .18s var(--kvi-ease), box-shadow .18s var(--kvi-ease), transform .12s var(--kvi-ease), color .18s var(--kvi-ease);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;gap:6px;padding:6px 8px;display:inline-flex}@media (hover:hover){.locator-header-nav-item:not(.is-active):hover{border-color:color-mix(in srgb, var(--kvi-accent) 45%, var(--kvi-border));background:var(--kvi-tab-active-bg)}.locator-header-nav-item--profile:hover{background:linear-gradient(145deg, var(--kvi-primary), var(--kvi-secondary));filter:brightness(1.06)}}.locator-header-nav-item:active{transform:scale(.96)}.locator-header-nav-item.is-active{border-color:color-mix(in srgb, var(--kvi-accent) 55%, var(--kvi-border));background:color-mix(in srgb, var(--kvi-accent) 14%, var(--kvi-surface));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--kvi-accent) 35%, transparent);color:var(--kvi-text)}.locator-header-nav-item--profile{background:linear-gradient(145deg, var(--kvi-primary), var(--kvi-secondary));color:#fff;border-color:#0000}.locator-header-nav-icon{flex-shrink:0;width:16px;height:16px}.locator-header-nav-label{letter-spacing:.01em;white-space:nowrap;font-size:.72rem;font-weight:800;line-height:1}.filter-sources-menu--header{border-left:1px solid var(--kvi-border);margin-left:2px;padding-left:6px}.filter-sources-trigger--header{border-radius:12px;gap:6px;width:auto;min-width:32px;height:auto;min-height:32px;padding:6px 10px}.filter-sources-menu--header .filter-sources-dropdown{left:50%;right:auto;transform:translate(-50%)}@media (width<=639px){.locator-header-nav-label{display:none}.locator-header-nav-item,.filter-sources-trigger--header{gap:0;width:32px;min-width:32px;padding:6px}.filter-sources-menu--header{margin-left:0;padding-left:4px}.locator-header-nav{gap:3px}}@media (width>=640px){.locator-header-nav-item,.filter-sources-trigger--header{min-height:36px;padding:7px 12px}.locator-header-nav-icon,.filter-sources-trigger--header .filter-sources-trigger-icon{width:18px;height:18px}.locator-header-nav-label{font-size:.78rem}.locator-topbar.compact.with-nav{padding-top:8px;padding-bottom:8px}}.header-brand-menu{justify-self:start;position:relative}.header-brand-menu-trigger{cursor:pointer;background:0 0;border:0;border-radius:10px;margin:0;padding:0;display:block;position:relative}.header-brand-menu-trigger.is-attention{animation:2.2s ease-in-out infinite header-brand-attention-pulse;box-shadow:0 0 0 2px #f59e0bd9}@media (prefers-reduced-motion:reduce){.header-brand-menu-trigger.is-attention{animation:none}}@keyframes header-brand-attention-pulse{0%,to{box-shadow:0 0 0 2px #f59e0b8c}50%{box-shadow:0 0 0 3px #f59e0bf2}}.header-brand-logo-wrap{vertical-align:top;line-height:0;display:inline-block;position:relative}.header-brand-menu-dot{pointer-events:none;background:#f59e0b;border:2px solid #fff;border-radius:999px;width:8px;height:8px;position:absolute;top:0;right:0;transform:translate(35%,-35%);box-shadow:0 1px 3px #0003}.header-brand-menu-panel{z-index:200;background:#fffffffa;border:1px solid #94a3b859;border-radius:12px;gap:10px;min-width:min(300px,88vw);max-width:min(340px,92vw);padding:12px 14px;display:grid;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 14px 32px #0f172a38}.header-brand-menu-title{color:var(--kvi-primary);letter-spacing:.02em;font-size:.95rem;font-weight:800}.header-brand-menu-section{gap:4px;display:grid}.header-brand-menu-label{letter-spacing:.06em;text-transform:uppercase;color:#64748b;font-size:.68rem;font-weight:700}.header-brand-menu-value{color:#0f172a;font-size:.82rem;font-weight:700;line-height:1.35}.header-brand-menu-muted{color:#64748b;font-family:ui-monospace,monospace;font-size:.72rem}.header-brand-menu-status{color:#334155;font-size:.78rem;line-height:1.35}.header-brand-menu-warn{color:#b45309;font-size:.75rem;font-weight:600}.header-brand-menu-ok{color:#0f766e;font-size:.75rem;font-weight:600}.header-brand-menu-action{background:var(--kvi-primary);color:#fff;cursor:pointer;border:0;border-radius:8px;justify-self:start;margin-top:4px;padding:6px 12px;font-size:.78rem;font-weight:700}.header-brand-menu-action.secondary{color:var(--kvi-primary);background:#1a5f7a1f}.header-brand-menu-action:disabled{opacity:.55;cursor:progress}.header-brand-menu-credits{color:#475569;border-top:1px solid #94a3b840;padding-top:6px;font-size:.78rem;font-weight:600;line-height:1.4}.header-brand-menu-community-link{color:var(--kvi-primary);background:#1a5f7a0f;border:1px solid #1a5f7a33;border-radius:10px;align-items:flex-start;gap:8px;margin-top:8px;padding:8px 10px;text-decoration:none;transition:background .15s,border-color .15s;display:flex}.header-brand-menu-community-link:hover{background:#1a5f7a1f;border-color:#1a5f7a59}.header-brand-menu-community-icon{color:#0f766e;flex-shrink:0;width:18px;height:18px;margin-top:1px}.header-brand-menu-community-text{gap:2px;min-width:0;display:grid}.header-brand-menu-community-title{font-size:.8rem;font-weight:800;line-height:1.25}.header-brand-menu-community-hint{color:#64748b;font-size:.72rem;font-weight:600;line-height:1.35}.locator-header-logo{width:var(--locator-action,40px);height:var(--locator-action,40px);-o-object-fit:contain;object-fit:contain;pointer-events:none;background:#fff;border-radius:10px;margin:0;padding:2px;display:block;box-shadow:0 4px 12px #1a5f7a24}.locator-topbar .theme-toggle-locator{width:var(--locator-action);height:var(--locator-action);border-radius:10px;justify-self:end}.locator-topbar .theme-toggle-locator .small-icon{width:15px;height:15px}.locator-topbar-brand{justify-self:start;align-items:center;gap:8px;min-width:0;display:flex}.locator-topbar-brand .locator-site-name{white-space:nowrap;text-overflow:ellipsis;min-width:0;max-width:min(168px,34vw);overflow:hidden}@media (width<=639px){.locator-topbar-brand{flex-direction:row;align-items:center;gap:7px}.locator-topbar-brand .header-brand-menu{align-self:center}.locator-topbar-brand .locator-site-name{text-align:left;letter-spacing:.01em;white-space:nowrap;text-overflow:ellipsis;width:auto;max-width:min(96px,24vw);padding-left:0;font-size:.78rem;font-weight:800;line-height:1.05;overflow:hidden}.locator-header-nav{flex-wrap:nowrap;justify-content:flex-start}.locator-topbar-center{justify-content:flex-start;overflow:hidden}}.locator-site-name{color:var(--kvi-primary);letter-spacing:.01em;font-size:clamp(.82rem,2.3vw,1.05rem);font-weight:900;line-height:1.1}.locator-topbar-center{justify-content:center;justify-self:center;align-items:center;min-width:0;display:flex}.locator-site-user-badge{background:linear-gradient(145deg, var(--kvi-primary), var(--kvi-secondary));color:#fff;cursor:pointer;border:1px solid #ffffff59;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;padding:0;display:inline-flex;box-shadow:0 3px 10px #1a5f7a47}.locator-site-user-badge.is-active{box-shadow:0 0 0 2px #5eead4d9}.locator-site-user-icon{width:14px;height:14px}.filter-lists-button,.filter-sources-trigger{width:var(--locator-action);height:var(--locator-action);border:1px solid var(--kvi-border);background:var(--kvi-surface);color:var(--kvi-primary);border-radius:10px;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.filter-lists-button.is-active,.filter-sources-trigger-open{background:color-mix(in srgb, var(--kvi-primary) 12%, var(--kvi-surface));border-color:color-mix(in srgb, var(--kvi-primary) 35%, var(--kvi-border))}.filter-sources-menu{z-index:2;justify-self:end;position:relative}.filter-sources-badge{background:var(--kvi-success,#159895);width:7px;height:7px;box-shadow:0 0 0 1px var(--kvi-surface);border-radius:50%;position:absolute;top:6px;right:6px}.filter-sources-dropdown{z-index:2000;background:var(--kvi-surface);border:1px solid var(--kvi-border);border-radius:12px;flex-direction:column;gap:2px;min-width:220px;max-width:min(92vw,300px);padding:6px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 10px 28px #0f172a29}.filter-sources-row{width:100%;color:var(--kvi-text,#0f172a);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;padding:8px 10px;font-size:.86rem;display:flex}.filter-sources-row:hover,.filter-sources-row:focus-visible{background:color-mix(in srgb, var(--kvi-primary) 8%, var(--kvi-surface))}.filter-sources-row-all{color:var(--kvi-primary);border-bottom:1px solid var(--kvi-border);border-radius:8px 8px 4px 4px;margin-bottom:2px;font-weight:700}.filter-sources-permit-group{background:color-mix(in srgb, var(--kvi-primary) 4%, var(--kvi-surface));border-radius:8px;flex-direction:column;gap:1px;margin:2px 0;display:flex}.filter-sources-permit-subs{border-left:2px solid color-mix(in srgb, var(--kvi-primary) 22%, var(--kvi-border));flex-direction:column;gap:1px;margin:0 8px 2px 18px;padding:0 0 4px 10px;display:flex}.filter-sources-row-nested{padding:6px 8px;font-size:.82rem}.filter-sources-row-disabled{opacity:.45;cursor:default}.filter-sources-check{width:16px;color:var(--kvi-success,#159895);flex-shrink:0;font-size:.82rem;font-weight:800}.filter-lists-backdrop,.list-detail-backdrop{z-index:1200;background:#0f172a73;justify-content:center;align-items:flex-end;padding:0;display:flex;position:fixed;inset:0}.filter-lists-panel,.list-detail-popup{background:var(--kvi-surface);border-radius:16px 16px 0 0;flex-direction:column;width:min(100%,520px);max-height:min(78vh,640px);display:flex;overflow:hidden;box-shadow:0 -8px 32px #0f172a2e}.list-detail-popup{max-height:min(70vh,520px)}.filter-lists-header,.list-detail-header{padding:14px var(--locator-pad-x) 8px;border-bottom:1px solid var(--kvi-border);justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.filter-lists-header h2,.list-detail-header h3{color:var(--kvi-primary);margin:0;font-size:1rem}.list-detail-eyebrow{text-transform:uppercase;letter-spacing:.06em;color:var(--kvi-muted);margin:0 0 4px;font-size:.72rem}.filter-lists-close,.list-detail-close{color:var(--kvi-muted);background:0 0;border:none;padding:4px}.filter-lists-search{margin:8px var(--locator-pad-x) 0;width:calc(100% - 2 * var(--locator-pad-x));border:1px solid var(--kvi-border);border-radius:10px;padding:8px 10px;font-size:.9rem}.filter-lists-body{padding:8px var(--locator-pad-x) 16px;overflow:auto}.filter-lists-section h3{color:var(--kvi-muted);text-transform:uppercase;letter-spacing:.05em;margin:12px 0 6px;font-size:.82rem}.filter-lists-items{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.filter-lists-item{text-align:left;border:1px solid var(--kvi-border);background:var(--kvi-surface-elevated,#f8fcfd);border-radius:10px;flex-direction:column;gap:2px;width:100%;padding:10px 12px;display:flex}.filter-lists-item.is-active{border-color:var(--kvi-primary);background:color-mix(in srgb, var(--kvi-primary) 8%, var(--kvi-surface))}.filter-lists-item-kks{font-family:var(--font-mono,ui-monospace, monospace);color:var(--kvi-primary);font-size:.82rem;font-weight:700}.filter-lists-item-sub{color:var(--kvi-muted);font-size:.78rem}.filter-lists-item-warn{color:#b45309;font-size:.72rem}.search-selection-summary-list{border-left:3px solid var(--kvi-success,#159895)}.search-selection-summary-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;display:flex}.search-selection-list-tag{text-transform:uppercase;letter-spacing:.05em;color:var(--kvi-success,#159895);font-size:.72rem;font-weight:700}.search-selection-clear,.search-selection-detail-btn{color:var(--kvi-primary);background:0 0;border:none;padding:0;font-size:.78rem;font-weight:600}.search-selection-detail-btn{margin-top:6px;text-decoration:underline}.list-detail-body{padding:10px var(--locator-pad-x) 18px;overflow:auto}.list-detail-dl{flex-direction:column;gap:8px;margin:0;display:flex}.list-detail-row{grid-template-columns:minmax(0,42%) minmax(0,1fr);gap:8px;font-size:.82rem;display:grid}.list-detail-row dt{color:var(--kvi-muted);margin:0;font-weight:600}.list-detail-row dd{color:var(--kvi-text,#0f172a);word-break:break-word;margin:0}.list-detail-matched{margin-top:12px}.econsumer-upload .upload-dropzone{margin-top:8px}.locator-search-panel.compact{min-height:var(--locator-search-min-compact,52px);padding:6px var(--locator-pad-x);z-index:40;position:relative;overflow:visible}.locator-search-panel.compact.has-selection{min-height:var(--locator-search-min-expanded,128px)}.kks-search.v2{gap:6px;display:grid;position:relative}.kks-search-fluent{flex-direction:column;min-width:0;display:flex;position:relative}.kks-search.v2.has-dropdown .kks-search-fluent{border:1px solid var(--kvi-border);background:#fffffff5;border-radius:14px;overflow:hidden;box-shadow:0 10px 28px #02061738}.kks-search.v2.has-dropdown .kks-search-box.v2{box-shadow:none;background:0 0;border:0;border-radius:0}.kks-search.v2.has-dropdown .kks-search-box.v2:focus-within{box-shadow:inset 0 -1px #94a3b859}.kks-search-box.v2{-moz-column-gap:8px;border:1px solid var(--kvi-border);background:#ffffffe6;border-radius:14px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;column-gap:8px;min-height:52px;padding:6px 8px 6px 10px;display:grid}.kks-search-box.v2>:first-child{justify-self:center;width:18px;height:18px}.kks-search-box.v2 input{color:var(--kvi-text);background:0 0;border:0;outline:none;font-size:14px}.camera-search-button{color:#fff;background:linear-gradient(135deg, var(--kvi-primary), var(--kvi-secondary));cursor:pointer;-webkit-tap-highlight-color:transparent;border:1px solid #ffffff59;border-radius:11px;flex-shrink:0;justify-self:end;place-items:center;width:36px;height:36px;margin:0;transition:transform .15s,box-shadow .15s,filter .15s;display:inline-grid;box-shadow:0 2px 10px #1a5f7a33}.camera-search-button:hover:not(:disabled){filter:brightness(1.05);box-shadow:0 3px 12px #1a5f7a47}.camera-search-button:active:not(:disabled){transform:scale(.96)}.camera-search-button:focus-visible{outline-offset:2px;outline:2px solid #57c5b6d9}.camera-search-button:disabled{opacity:.55;cursor:progress;box-shadow:none}.hidden-camera-input{display:none}.live-kks-scanner{z-index:500;place-items:center;padding:12px;display:grid;position:fixed;inset:0}.live-kks-scanner-backdrop{background:#0f172ab8;position:absolute;inset:0}.live-kks-scanner-panel{z-index:1;color:#f8fafc;background:#0f172a;border-radius:16px;gap:10px;width:min(100%,420px);max-height:min(92vh,720px);padding:12px;display:grid;position:relative;box-shadow:0 24px 48px #00000073}.live-kks-scanner-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.live-kks-scanner-title{letter-spacing:.02em;font-size:1rem;font-weight:800}.live-kks-scanner-close{color:#fff;cursor:pointer;background:#ffffff1f;border:0;border-radius:10px;place-items:center;width:36px;height:36px;display:grid}.live-kks-scanner-viewport{aspect-ratio:3/4;background:#000;border-radius:12px;position:relative;overflow:hidden}.live-kks-scanner-video{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;display:block}.live-kks-scanner-frame{pointer-events:none;border:2px solid #ffffffbf;border-radius:12px;position:absolute;inset:12% 10%;box-shadow:0 0 0 9999px #00000059}.live-kks-scanner-status,.live-kks-scanner-error{text-align:center;margin:0;font-size:.82rem;line-height:1.35}.live-kks-scanner-error{color:#fecaca;font-weight:600}.live-kks-scanner-photo-btn{color:#e2e8f0;cursor:pointer;background:#94a3b81a;border:1px solid #94a3b847;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:8px;width:100%;min-height:72px;margin-top:4px;padding:12px 8px;font-size:.88rem;font-weight:800;display:flex}.live-kks-scanner-photo-btn:active{transform:scale(.98)}.live-kks-scanner-picks{gap:6px;max-height:140px;display:grid;overflow:auto}.live-kks-scanner-pick{color:inherit;text-align:left;cursor:pointer;background:#ffffff14;border:1px solid #94a3b859;border-radius:10px;gap:2px;padding:8px 10px;display:grid}.live-kks-scanner-pick-kks{font-family:ui-monospace,monospace;font-size:.85rem;font-weight:800}.live-kks-scanner-pick-desc{color:#cbd5e1;font-size:.75rem}.selected-chip-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 8px;width:100%;display:grid}.selected-chip-wrap{min-width:0;position:relative}.selected-chip{min-width:0;max-width:100%;color:var(--kvi-primary);cursor:pointer;background:#1a5f7a1f;border:1px solid #0000;border-radius:12px;align-items:center;gap:4px;padding:5px 8px;font-size:11px;font-weight:700;display:flex}.selected-chip-kks{text-overflow:ellipsis;white-space:nowrap;letter-spacing:.02em;flex:1;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;overflow:hidden}.selected-chip-active{background:#1a5f7a33;border-color:#1a5f7a73;box-shadow:0 0 0 1px #1a5f7a1f}.selected-chip-menu-open{border-color:#1a5f7a8c;box-shadow:0 4px 14px #0f172a1f}.selected-chip-more{width:20px;height:20px;color:var(--kvi-primary);cursor:pointer;background:#1a5f7a24;border:none;border-radius:6px;flex:none;justify-content:center;align-items:center;margin:0;padding:0;display:inline-flex}.selected-chip-more:hover,.selected-chip-more:focus-visible{background:#1a5f7a42;outline:none}.chip-actions-menu{z-index:80;background:var(--kvi-surface,#fff);border:1px solid #0f172a1a;border-radius:12px;min-width:min(220px,100vw - 16px);max-width:calc(100vw - 16px);padding:4px;animation:.14s ease-out chip-menu-in;position:absolute;top:calc(100% + 4px);left:0;right:auto;box-shadow:0 10px 28px #0f172a24,0 2px 6px #0f172a0f}.selected-chip-wrap:nth-child(2n) .chip-actions-menu{left:auto;right:0}@keyframes chip-menu-in{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.chip-actions-item{width:100%;color:var(--kvi-text,#0f172a);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:flex-start;gap:10px;padding:8px 10px;display:flex}.chip-actions-item:hover:not(:disabled),.chip-actions-item:focus-visible:not(:disabled){background:#1a5f7a1a;outline:none}.chip-actions-item:disabled{opacity:.45;cursor:not-allowed}.chip-actions-item-primary .chip-actions-icon{color:var(--kvi-primary);background:#1a5f7a29}.chip-actions-icon{width:28px;height:28px;color:var(--kvi-primary);background:#0f172a0f;border-radius:8px;flex:none;justify-content:center;align-items:center;display:inline-flex}.chip-actions-icon-svg{width:16px;height:16px}.chip-actions-text{flex-direction:column;gap:1px;min-width:0;display:flex}.chip-actions-label{font-size:12px;font-weight:700;line-height:1.25}.chip-actions-hint{color:#0f172a8c;text-overflow:ellipsis;white-space:nowrap;max-width:180px;font-size:10px;font-weight:500;line-height:1.2;overflow:hidden}.search-result-pin-dot{border-radius:999px;flex:none;width:8px;height:8px}.search-result-pinned .search-result-kks{opacity:.92}.selected-chip-hidden{opacity:.55}.selected-chip-show{cursor:pointer;flex:none;align-items:center;margin:0;display:inline-flex}.selected-chip-show input{width:14px;height:14px;accent-color:var(--kvi-primary);cursor:pointer;margin:0}.selected-chip-color{border-radius:999px;flex:none;width:8px;height:8px}.selected-chip-remove{appearance:none;width:20px;height:20px;color:var(--kvi-primary);cursor:pointer;background:#0f172a1a;border:1px solid #0f172a24;border-radius:999px;flex:none;justify-content:center;align-items:center;margin:0 0 0 2px;padding:0;line-height:0;display:inline-flex}.selected-chip-remove .chip-icon{stroke-width:3px;width:12px;height:12px}.selected-chip-remove:hover,.selected-chip-remove:focus-visible{background:#0f172a2e;outline:none}.chip-icon{stroke-width:2.75px;flex-shrink:0;width:10px;height:10px;display:block}.clear-all-button{color:var(--kvi-primary);cursor:pointer;background:#1a5f7a14;border:0;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:700}.search-selection-summary{color:var(--kvi-muted);gap:2px;font-size:12px;animation:.42s cubic-bezier(.22,1,.36,1) both search-summary-in;display:grid}@keyframes search-summary-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.search-dropdown-panel{z-index:1200;opacity:1;background:#081424f7;border-top:1px solid #94a3b847;flex-direction:column;gap:0;max-height:min(52dvh,420px);margin-top:0;transition:opacity .34s cubic-bezier(.22,1,.36,1),max-height .42s cubic-bezier(.22,1,.36,1),transform .34s cubic-bezier(.22,1,.36,1);display:flex;position:relative;top:auto;left:auto;right:auto;overflow:hidden;transform:translateY(0)}.kks-search-fluent .search-dropdown-panel{position:static}.search-dropdown-panel.is-open{animation:.32s cubic-bezier(.22,1,.36,1) search-dropdown-in}.search-dropdown-panel.is-closing{opacity:0;pointer-events:none;max-height:0;margin-top:0;transform:translateY(-8px)}@keyframes search-dropdown-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.search-selection-summary strong{color:var(--kvi-primary)}.search-catalog-hint{color:#64748b;padding:2px 4px 0;font-size:11px;line-height:1.35}.search-status-hint{color:var(--kvi-muted);font-size:11px;font-weight:500;line-height:1.35}.search-status-hint.is-scanning{color:#64748b}.search-scan-spinner{flex-shrink:0;animation:.85s linear infinite search-scan-spin}@keyframes search-scan-spin{to{transform:rotate(360deg)}}.kks-search-box.v2.is-scanning{border-color:#1a5f7a59}.search-scan-tag{letter-spacing:.04em;text-transform:uppercase;opacity:.85;border-radius:4px;flex:none;padding:1px 5px;font-size:.62rem;font-weight:700}.search-scan-tag-qr{color:#0d9488;background:#0d948826}.search-scan-tag-ocr{color:#7c3aed;background:#7c3aed26}.search-results.v2 .search-scan-tag-qr{color:#5eead4;background:#2dd4bf1f}.search-results.v2 .search-scan-tag-ocr{color:#c4b5fd;background:#a78bfa1f}.search-dropdown-section{letter-spacing:.05em;text-transform:uppercase;color:#64748b;padding:8px 14px 4px;font-size:.68rem;font-weight:600}.search-dropdown-hint{margin:0;padding:10px 14px 12px;font-size:.82rem;line-height:1.35}.search-dropdown-head{color:#cbd5e1;background:#0f1e34fa;border-bottom:1px solid #94a3b838;flex-wrap:wrap;align-items:baseline;gap:6px 10px;padding:9px 12px;font-size:12px;font-weight:600;line-height:1.35;display:flex}.search-dropdown-head-count{font-variant-numeric:tabular-nums;color:#e2e8f0;font-size:12px;font-weight:600}.search-dropdown-head-num{color:#7dd3fc;font-size:12px;font-weight:700}.search-dropdown-head-title{color:#e2e8f0;font-size:12px;font-weight:700}.search-results.v2{max-height:160px;box-shadow:none;background:0 0;border:0;border-radius:0;margin-top:0;position:static;overflow:auto}.kks-search.v2.has-dropdown .search-results.v2{border-radius:0}.search-results.v2.search-results-query{-webkit-overflow-scrolling:touch;max-height:min(50dvh,360px)}.map-drawing-loading{z-index:500;color:#1a5f7a;pointer-events:none;background:#eef7f7e0;justify-content:center;align-items:center;font-size:.875rem;font-weight:600;animation:.35s map-loading-fade-in;display:flex;position:absolute;inset:0}@keyframes map-loading-fade-in{0%{opacity:0}to{opacity:1}}.locator-sync-check{stroke-width:2.75px;flex-shrink:0}.locator-action-button--synced .locator-sync-check{color:#bbf7d0}.search-results.v2 .search-result{color:#dbeafe;border-bottom:1px solid #94a3b82e;padding:8px 10px}.search-results.v2 .search-result:last-child{border-bottom:0}.search-results.v2 .search-result:hover{background:#1e293bad}.search-results.v2 .search-result.active{background:#1e3a5ab8}.search-result-line{align-items:center;gap:8px;min-width:0;display:flex}.search-results.v2 .search-result-kks{color:#7dd3fc;flex:none;font-size:.78rem}.search-result-desc-inline{color:#cbd5e1;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.78rem;overflow:hidden}.search-result-source{letter-spacing:.04em;text-transform:uppercase;color:#94a3b8;white-space:nowrap;flex-shrink:0;margin-left:auto;padding-left:6px;font-size:.65rem;font-weight:700}.search-result-list .search-result-kks{color:#6ee7b7}.kks-pin-divicon{background:0 0!important;border:none!important}.kks-pin-root{pointer-events:auto;width:0;height:0;position:relative;overflow:visible}.kks-pin-dot{border:2px solid #fff;border-radius:999px;transition:transform .4s cubic-bezier(.22,1,.36,1),box-shadow .35s,border-color .3s;position:absolute;top:0;left:0;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #00000059,0 2px 5px #00000080}.kks-pin-root-active .kks-pin-dot{transform:translate(-50%,-50%)scale(1.2);box-shadow:0 0 0 2px #ffffff73,0 3px 8px #0000008c}.kks-pin-root-other-floor .kks-pin-dot{opacity:1;border-style:dashed}.kks-pin-root .kks-marker-badge,.kks-pin-root .kks-pin-dot{pointer-events:auto;cursor:pointer}.kks-pin-root .kks-marker-badge{color:#f8fafc;max-width:min(240px,48vw);font-size:calc(11px * var(--kks-label-scale,1));padding:calc(5px * var(--kks-label-scale,1)) calc(10px * var(--kks-label-scale,1));white-space:nowrap;background:#0a1829eb;border:0;border-radius:10px;flex-direction:column;align-items:flex-start;gap:3px;font-weight:700;line-height:1.2;display:flex;position:absolute;top:0;left:0;box-shadow:0 1px 4px #00000059}.kks-pin-root .kks-marker-badge-other-floor{background:#0f172ac7;border:1px dashed #94a3b88c}.kks-marker-badge{color:#f8fafc!important;background:#0a1829eb!important;border:0!important;border-radius:10px!important;flex-direction:column!important;align-items:flex-start!important;gap:3px!important;padding:5px 10px!important;font-size:11px!important;font-weight:700!important;line-height:1.2!important;display:flex!important;box-shadow:0 1px 4px #00000059!important}.kks-marker-badge-kks{letter-spacing:.03em;white-space:nowrap;font-family:ui-monospace,monospace;font-weight:800;color:#dbeafe!important}.kks-marker-badge-el{letter-spacing:.04em;text-shadow:0 0 2px #000000f2,0 1px 2px #000000d9;font-family:ui-monospace,monospace;color:#fde047!important;font-size:12px!important;font-weight:800!important}.kks-marker-badge-floor{letter-spacing:.03em;text-transform:uppercase;color:#7dd3fc!important;font-size:10px!important;font-weight:700!important}.kks-marker-badge-active{box-shadow:0 0 0 1px #ffffff59,0 2px 6px #0006!important}.kks-marker-badge-expanded{z-index:5;white-space:normal!important;padding:calc(6px * var(--kks-label-scale,1)) calc(10px * var(--kks-label-scale,1))!important}.kks-marker-badge-expanded-catalog{min-width:min(200px,70vw)!important;max-width:min(320px,88vw)!important}.kks-marker-badge-expanded-econsumer{min-width:min(300px,90vw)!important;max-width:min(560px,94vw)!important}.kks-marker-badge-details{opacity:0;pointer-events:none;width:100%;max-height:0;margin-top:0;transition:max-height .28s,opacity .22s,margin-top .22s;overflow:hidden}.kks-marker-badge-expanded .kks-marker-badge-details{opacity:1;pointer-events:auto;max-height:min(520px,60vh);margin-top:6px;overflow:hidden auto}.kks-marker-summary-block{width:100%;margin-bottom:6px}.kks-marker-details-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 12px;width:100%;display:grid}@media (width>=520px){.kks-marker-badge-expanded-econsumer .kks-marker-details-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.kks-marker-badge-expanded-catalog .kks-marker-details-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kks-marker-details-fullwidth{flex-direction:column;gap:6px;width:100%;margin-top:6px;display:flex}.kks-marker-detail-full{flex-direction:column;gap:1px;width:100%;min-width:0;display:flex}.kks-marker-detail-full .kks-marker-detail-value{word-break:break-word}.kks-marker-detail-cell{flex-direction:column;gap:1px;min-width:0;display:flex}.kks-marker-badge-actions{flex-wrap:wrap;gap:6px;width:100%;margin-top:6px;display:flex}.kks-marker-find-feeder{color:#a7f3d0;min-width:0;font-size:calc(8px * var(--kks-label-scale,1));cursor:pointer;pointer-events:auto;text-align:center;background:#064e3b73;border:1px solid #6ee7b773;border-radius:8px;flex:1;padding:4px 6px;font-weight:700;line-height:1.2}.kks-marker-find-feeder:hover{background:#064e3ba6}.kks-marker-summary-line{font-family:ui-monospace,monospace;font-size:calc(9px * var(--kks-label-scale,1));color:#6ee7b7;white-space:normal;font-weight:700;line-height:1.25}.kks-marker-coords-line{font-size:calc(8px * var(--kks-label-scale,1));color:#cbd5e1;white-space:normal;font-weight:600;line-height:1.3}.kks-marker-more-info{color:#e0f2fe;min-width:0;font-size:calc(8px * var(--kks-label-scale,1));cursor:pointer;pointer-events:auto;text-align:center;white-space:normal;background:#0e749059;border:1px solid #7dd3fc73;border-radius:8px;flex:1;padding:4px 6px;font-weight:700;line-height:1.2}.kks-marker-more-info:hover{background:#0e74908c}.kks-marker-detail-label{color:#94a3b8;font-size:calc(7px * var(--kks-label-scale,1));white-space:normal;font-weight:600;line-height:1.2}.kks-marker-detail-value{color:#f1f5f9;font-family:ui-monospace,monospace;font-size:calc(8px * var(--kks-label-scale,1));white-space:normal;word-break:break-word;font-weight:600;line-height:1.2}.kks-marker-detail-matched{font-size:calc(7px * var(--kks-label-scale,1));color:#7dd3fc;white-space:normal;width:100%;margin-top:4px}.kks-pin-divicon.kks-pin-expanded-active{z-index:2500!important}.kks-marker-badge-other-floor{background:#0f172ac7!important;border:1px dashed #94a3b88c!important}.kks-marker-badge:before{display:none!important}.locator-map-card.compact{min-height:var(--locator-map-min,min(42dvh, 360px));padding:6px var(--locator-pad-x);grid-template-rows:minmax(0,1fr);display:grid}.map-with-elevation-rail{height:100%;min-height:0;display:block;position:relative}.share-capture-zone{gap:0;height:100%;min-height:0;display:grid}.locator-screen .locator-map-panel{height:100%}.locator-screen .map-shell{max-height:none;height:100%!important;min-height:0!important}.locator-map-card.compact.site-workspace-loading{min-height:var(--locator-map-min,min(42dvh, 360px));flex:1}.map-loading-placeholder{height:100%;min-height:200px;color:var(--kvi-primary);background:#eef7f7;border-radius:16px;place-items:center;font-size:.9rem;font-weight:700;display:grid}.admin-loading-fallback{text-align:center;color:var(--kvi-primary);padding:24px;font-weight:700}.app-crash-screen .gate-card{max-width:420px}.perf-diagnostics-overlay{right:8px;bottom:max(8px, env(safe-area-inset-bottom));z-index:4000;color:#e2e8f0;background:#07111feb;border:1px solid #1a5f7a59;border-radius:12px;width:min(92vw,320px);max-height:45vh;padding:10px 12px;font-family:ui-monospace,Menlo,monospace;font-size:11px;line-height:1.35;position:fixed;overflow:auto;box-shadow:0 12px 32px #00000059}.perf-diagnostics-header{justify-content:space-between;gap:8px;margin-bottom:6px;font-size:12px;display:flex}.perf-diagnostics-body{gap:3px;display:grid}.perf-diagnostics-script{opacity:.85;padding-left:6px}.perf-diagnostics-actions{gap:8px;margin-top:8px;display:flex}.perf-diagnostics-actions button{color:#dbeafe;cursor:pointer;background:#57c5b640;border:0;border-radius:8px;flex:1;padding:6px 8px;font-weight:700}.locator-elevation-strip{border-radius:var(--locator-chrome-radius,14px);padding:2px var(--locator-pad-x,10px) 5px;background:linear-gradient(#eef6fbfa,#e0ecf6f5);border:1px solid #a0b6c973;flex-direction:column;justify-content:flex-end;min-height:52px;display:flex}.locator-actions.bottom-bar{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.locator-actions.bottom-bar .locator-action-button,.locator-actions.bottom-bar .share-button{white-space:nowrap;width:100%;min-height:44px;font-size:12px;font-weight:800}.locator-actions.bottom-bar .locator-action-button:disabled{opacity:.55;cursor:not-allowed}.locator-actions.bottom-bar .locator-action-button,.locator-actions.bottom-bar .share-button{justify-content:center;align-items:center;gap:6px;display:inline-flex}.elevation-strip-minimal{gap:1px;width:100%;display:grid}.elevation-inline-shell{flex-direction:column;gap:3px;padding:0;display:flex}.elevation-value-rail{width:100%;height:20px;position:relative}.elevation-slider-inline{accent-color:#1d8cf8;touch-action:pan-x;width:100%;height:22px;margin:0}.elevation-inline-value{z-index:2;color:#134e69;letter-spacing:.02em;pointer-events:none;background:#f7fcfff2;border:1px solid #819ab273;border-radius:999px;justify-content:center;align-items:center;min-width:48px;height:18px;padding:0 6px;font-size:10px;font-weight:800;transition:left .42s cubic-bezier(.22,1,.36,1);display:inline-flex;position:absolute;bottom:0;left:0;transform:translate(-50%)}.elevation-inline-name{color:#1d5f7c;text-align:right;white-space:nowrap;text-overflow:ellipsis;margin-top:0;padding-top:0;font-size:.72rem;font-weight:700;transition:opacity .28s,color .28s;overflow:hidden}.selected-kks-table{background:#ffffffeb;border:1px solid #ffffffb8;border-radius:12px;padding:8px}.selected-kks-table-title{color:var(--kvi-primary);text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px;font-size:11px;font-weight:800}.selected-kks-table-grid{gap:5px;display:grid}.selected-kks-row{color:var(--kvi-text);grid-template-columns:auto minmax(120px,auto) minmax(0,1fr) auto;align-items:center;gap:6px;font-size:11px;display:grid}.selected-kks-row strong{color:var(--kvi-primary);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.selected-kks-color{border-radius:999px;width:9px;height:9px}@media (width<=900px){.locator-actions.bottom-bar .locator-action-button,.locator-actions.bottom-bar .share-button{padding:0 8px;font-size:12px}}@media (width<=640px){.app{padding:max(12px, env(safe-area-inset-top)) 10px max(14px, env(safe-area-inset-bottom))}.locator-screen{--locator-pad-x:10px;--locator-action:30px;--locator-chrome-radius:14px;--locator-search-min-compact:48px;--locator-search-min-expanded:120px;--locator-map-min:min(38dvh, 320px);height:calc(100dvh - max(12px, env(safe-area-inset-top)) - max(14px, env(safe-area-inset-bottom)));gap:5px}.locator-topbar.compact{min-height:36px;padding:5px var(--locator-pad-x)}.locator-header-logo{width:var(--locator-action,40px);height:var(--locator-action,40px);-o-object-fit:contain;object-fit:contain;padding:3px}.locator-topbar .theme-toggle-locator{border-radius:8px}.locator-topbar .theme-toggle-locator .small-icon{width:13px;height:13px}.locator-topbar-brand .locator-site-name{max-width:min(84px,22vw);padding-left:0;font-size:.74rem}.locator-search-panel.compact{min-height:var(--locator-search-min-compact,48px);padding:5px var(--locator-pad-x);overflow:visible}.locator-search-panel.compact.has-selection{min-height:var(--locator-search-min-expanded,120px)}.kks-search-box.v2{-moz-column-gap:6px;column-gap:6px;min-height:44px;padding:5px 6px 5px 8px}.camera-search-button{border-radius:10px;width:32px;height:32px}.kks-search-box.v2 input{font-size:13px}.locator-map-card.compact{padding:4px var(--locator-pad-x);z-index:1;position:relative}.locator-map-card.compact .map-shell{border-radius:16px}.locator-elevation-strip{padding:2px var(--locator-pad-x) 4px;min-height:46px}.elevation-strip-minimal{gap:0}.elevation-value-rail{height:18px}.locator-actions.bottom-bar{gap:6px}.locator-actions.bottom-bar .locator-action-button,.locator-actions.bottom-bar .share-button{gap:4px;min-height:38px;font-size:11px}.pid-bottom-actions .share-button,.pid-bottom-actions .elevation-return-button{gap:4px;min-height:38px;padding:0 8px;font-size:11px}.selected-kks-row{grid-template-columns:auto minmax(100px,auto) minmax(0,1fr)}.selected-kks-row span:last-child{grid-column:2/-1}}@media (width<=480px){.app{padding-left:max(10px, env(safe-area-inset-left,0px));padding-right:max(10px, env(safe-area-inset-right,0px))}.locator-screen{height:calc(100dvh - max(12px, env(safe-area-inset-top)) - max(14px, env(safe-area-inset-bottom)));gap:4px}.locator-topbar.compact{min-height:34px;padding:4px var(--locator-pad-x)}.locator-header-logo{width:var(--locator-action,40px);height:var(--locator-action,40px);-o-object-fit:contain;object-fit:contain}}html.standalone-app .app{padding:max(10px, env(safe-area-inset-top)) 10px max(12px, env(safe-area-inset-bottom))}html.standalone-app .locator-screen{height:calc(100dvh - max(10px, env(safe-area-inset-top)) - max(12px, env(safe-area-inset-bottom)))}:root[data-theme=dark] .kks-search-box.v2{background:#0d1826}:root[data-theme=dark] .camera-search-button{border-color:#57c5b640;box-shadow:0 2px 12px #00000059}:root[data-theme=dark] .kks-search.v2.has-dropdown .kks-search-fluent{border-color:var(--kvi-border);background:#0d1826;box-shadow:0 12px 32px #00000073}:root[data-theme=dark] .search-dropdown-section{color:#94a3b8}:root[data-theme=dark] .search-dropdown-head{color:#cbd5e1;background:#060e1cfa}:root[data-theme=dark] .search-dropdown-head-num{color:#7dd3fc}:root[data-theme=dark] .locator-elevation-strip{border-color:var(--kvi-border);background:#07111fd1}:root[data-theme=dark] .elevation-inline-value{color:#e2e8f0;background:#0f172af2;border-color:#94a3b873}:root[data-theme=dark] .elevation-inline-name{color:#94a3b8}:root[data-theme=dark] .selected-kks-table{border-color:var(--kvi-border);background:#0d1826}:root[data-theme=dark] .selected-chip{color:#e2e8f0;background:#15989538}:root[data-theme=dark] .selected-chip-active{color:#f8fafc;background:#15989561;border-color:#7dd3fc8c}:root[data-theme=dark] .selected-chip-remove{color:#f8fafc;background:#f8fafc33;border-color:#f8fafc61}:root[data-theme=dark] .selected-chip-remove:hover,:root[data-theme=dark] .selected-chip-remove:focus-visible{color:#fff;background:#f8fafc52;border-color:#f8fafc8c}:root[data-theme=dark] .selected-chip-show input{accent-color:#5eead4}:root[data-theme=dark] .selected-chip-more{color:#e2e8f0;background:#5eead429}:root[data-theme=dark] .chip-actions-menu{background:#0f1b2d;border-color:#94a3b838;box-shadow:0 12px 32px #00000073}:root[data-theme=dark] .chip-actions-item{color:#e2e8f0}:root[data-theme=dark] .chip-actions-item:hover:not(:disabled),:root[data-theme=dark] .chip-actions-item:focus-visible:not(:disabled){background:#15989538}:root[data-theme=dark] .chip-actions-hint{color:#94a3b8}:root[data-theme=dark] .chip-actions-icon{color:#5eead4;background:#94a3b81f}:root[data-theme=dark] .chip-actions-item-has-submenu:after{color:#94a3b8}:root[data-theme=dark] .chip-actions-item-has-submenu[aria-expanded=true]{background:#15989538}:root[data-theme=dark] .chip-actions-submenu{background:#0f1b2d;border-color:#94a3b838;box-shadow:0 12px 32px #00000073}:root[data-theme=dark] .chip-actions-submenu .chip-actions-item{color:#e2e8f0}:root[data-theme=dark] .chip-actions-submenu .chip-actions-item:hover:not(:disabled),:root[data-theme=dark] .chip-actions-submenu .chip-actions-item:focus-visible:not(:disabled){background:#15989538}:root[data-theme=dark] .chip-actions-submenu .chip-actions-label{color:#e2e8f0}:root[data-theme=dark] .header-brand-menu-panel{border-color:var(--kvi-border);background:#0d1826fa;box-shadow:0 14px 32px #00000073}:root[data-theme=dark] .header-brand-menu-title{color:#e2e8f0}:root[data-theme=dark] .header-brand-menu-value{color:#f1f5f9}:root[data-theme=dark] .header-brand-menu-status{color:#cbd5e1}:root[data-theme=dark] .header-brand-menu-credits{color:#94a3b8}:root[data-theme=dark] .header-brand-menu-community-link{color:#99f6e4;background:#0f766e1f;border-color:#94a3b840}:root[data-theme=dark] .header-brand-menu-community-link:hover{background:#0f766e38}:root[data-theme=dark] .header-brand-menu-community-hint{color:#94a3b8}:root[data-theme=dark] .header-brand-menu-dot{border-color:#0d1826}:root[data-theme=dark] .locator-header-logo{background:#e2e8f0}:root[data-theme=dark] .admin-shell{background:radial-gradient(circle at 100% 0,#57c5b61f,#0000 32rem),linear-gradient(135deg,#050b16 0%,#0b1628 100%)}:root[data-theme=dark] .admin-route-header .admin-back-link{color:#dbeafe}.slider-range-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.calibration-stepper{border-bottom:1px solid var(--kvi-border);background:var(--kvi-surface);align-items:center;gap:4px;padding:8px 24px;display:flex}.stepper-step{color:var(--kvi-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;padding:8px 16px;font-size:13px;font-weight:600;transition:all .15s;display:flex}.stepper-step.active{color:var(--kvi-primary);background:#1a5f7a1a}.stepper-step.completed{color:var(--kvi-success)}.stepper-step:disabled{opacity:.4;cursor:not-allowed}.stepper-number{background:var(--kvi-border);width:24px;height:24px;color:var(--kvi-muted);border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:inline-flex}.stepper-step.active .stepper-number{background:var(--kvi-primary);color:#fff}.stepper-step.completed .stepper-number{background:var(--kvi-success);color:#fff}.stepper-label{white-space:nowrap}.calibration-body.calibration-step-drawing{grid-template-columns:unset;flex:1;justify-content:center;align-items:center;min-height:clamp(280px,45vh,420px);display:flex}.step-drawing-content{text-align:center;max-width:600px;padding:32px}.step-drawing-status{color:var(--kvi-muted);padding:16px;font-size:14px}.step-drawing-status.error{color:var(--kvi-danger)}.step-drawing-preview{flex-direction:column;align-items:center;gap:16px;display:flex}.step-drawing-img{border:1px solid var(--kvi-border);border-radius:8px;max-width:100%;max-height:320px}.step-drawing-ready{color:var(--kvi-success);align-items:center;gap:12px;font-weight:600;display:flex}.step-drawing-dwg{flex-direction:column;align-items:center;gap:12px;display:flex}.calibration-tabs{background:var(--kvi-tab-bar-bg);border-bottom:1px solid var(--kvi-border);gap:2px;padding:4px 24px;display:flex}.cal-tab{color:var(--kvi-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:8px 8px 0 0;align-items:center;gap:6px;padding:8px 14px;font-size:12.5px;font-weight:600;transition:all .15s;display:inline-flex}.cal-tab.active{color:var(--kvi-primary);border-bottom-color:var(--kvi-primary);background:var(--kvi-tab-active-bg)}.cal-tab:hover:not(.active){color:var(--kvi-text);background:var(--kvi-tab-bar-bg)}.calibration-body-compact .calibration-calibrate-layout{grid-template-columns:minmax(280px,360px) minmax(0,1fr);min-height:min(72vh,98svh - 11rem)}.calibration-calibrate-layout{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(280px,360px) minmax(0,1fr);align-items:stretch;min-height:0;display:grid;overflow:hidden}.calibration-calibrate-layout>.calibration-tools{align-self:stretch;min-height:0;overflow:auto}.calibration-calibrate-layout>.calibration-canvas-shell{min-width:0;height:100%;min-height:0}.calibration-body-compact .calibration-tools{padding:12px 14px}.calibration-tool-card--pin2{gap:10px;padding:12px 14px}.tool-card-heading-meta{color:var(--kvi-muted);white-space:nowrap;font-size:11px;font-weight:700}.calibration-body-compact .calibration-calibrate-layout>.calibration-canvas-shell{flex-direction:column;flex:auto;padding:8px 10px 10px;display:flex;overflow:hidden}.inherits-frame-ribbon{color:var(--kvi-text);background:#57c5b614;border-bottom:1px solid #57c5b633;flex-direction:column;align-items:stretch;gap:10px;padding:10px 24px;font-size:13px;display:flex}.inherits-frame-ribbon-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.inherits-frame-help,.inherits-frame-ribbon-hint{max-width:960px;margin:0;line-height:1.45}.calibration-callout{border:1px solid var(--kvi-callout-border);background:var(--kvi-callout-bg);color:var(--kvi-text);border-radius:12px;margin:0 0 10px;padding:10px 12px;font-size:.76rem;line-height:1.45}.calibration-callout-warn{border-color:var(--kvi-callout-warn-border);background:var(--kvi-callout-warn-bg);color:var(--kvi-callout-warn-text)}.calibration-fine-offset-card.calibration-tool-card{border-color:#fb923c61;box-shadow:inset 0 0 0 1px #fb923c0f}.inherit-mode-buttons{gap:4px;display:flex}.inherit-btn{border:1px solid var(--kvi-border);background:var(--kvi-surface);color:var(--kvi-muted);cursor:pointer;border-radius:6px;padding:5px 12px;font-size:12px;font-weight:600;transition:all .15s}.inherit-btn.active{background:var(--kvi-primary);color:#fff;border-color:var(--kvi-primary)}.kks-pin-sidebar{flex-direction:column;flex:0 auto;gap:10px;min-height:0;display:flex;overflow:visible}.kks-pin-sidebar>strong.tool-card-heading{flex:none}.kks-search-wrapper{border:1px solid var(--kvi-border);background:var(--kvi-surface);border-radius:8px;flex:none;align-items:center;gap:6px;margin:0;padding:6px 8px;display:flex}.kks-search-wrapper input{background:0 0;border:none;outline:none;flex:1;min-width:0;font-size:12px}.kks-pin-list{border:1px solid var(--kvi-border);background:var(--kvi-surface);border-radius:12px;flex-direction:column;flex:0 auto;gap:2px;min-height:120px;max-height:clamp(160px,36vh,340px);padding:4px 2px;display:flex;overflow:hidden auto}.kks-pin-list>.muted{padding:10px 8px;line-height:1.45}.kks-pin-item{cursor:pointer;text-align:left;color:var(--kvi-text);background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:6px;padding:6px 8px;font-size:11.5px;transition:all .12s;display:flex}.kks-pin-item:hover{background:#1a5f7a0f}.kks-pin-item.placing{border-color:var(--kvi-primary);background:#1a5f7a1f;box-shadow:0 0 0 2px #1a5f7a2e}.kks-pin-item.placed{background:#22c55e14;border-color:#22c55e4d}.kks-pin-kks{white-space:nowrap;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px;font-weight:700}.kks-pin-desc{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--kvi-muted);flex:1;font-size:10.5px;overflow:hidden}.kks-pin-remove{width:18px;height:18px;color:var(--kvi-danger);cursor:pointer;background:#dc35451a;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.kks-pin-residual-summary{color:#166534;background:#22c55e14;border-radius:6px;flex:none;justify-content:space-between;align-items:center;gap:8px;margin-top:0;padding:8px;font-size:11.5px;font-weight:600;display:flex}.two-point-row{border:1px solid var(--kvi-border);background:var(--kvi-inset);border-radius:10px;flex-direction:column;gap:8px;padding:10px;display:flex}.two-point-row+.two-point-row{margin-top:8px}.two-point-label{font-size:12px}.two-point-coords{grid-template-columns:1fr 1fr;gap:8px;display:grid}.two-point-coords .calibration-field span{font-size:10px}.two-point-place-btn{justify-content:center;width:100%}.calibration-canvas.placing-pin{cursor:none}.calibration-canvas.placing-pin .calibration-zoom-scroll,.calibration-canvas.placing-pin .calibration-drawing-pin-target,.calibration-canvas.placing-pin .cropper-container,.calibration-canvas.placing-pin .cropper-canvas{cursor:none!important}.pin-marker{pointer-events:none;z-index:10;position:absolute;transform:translate(-50%,-50%)}.pin-marker.landmark{color:#ef4444;filter:drop-shadow(0 1px 2px #0000004d)}.pin-marker.coord-pin{color:#3b82f6;filter:drop-shadow(0 1px 2px #0000004d)}.pin-marker.projected{background:#fb923c80;border:1px solid #fb923ccc;border-radius:50%;width:6px;height:6px}.pin-marker.projected-confirm{background:#fb923c99;border:1.5px solid #fff;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 1px #fb923c66}.calibration-kks-overlay--confirm .pin-marker.projected-confirm,.calibration-kks-overlay--confirm .pin-marker.confirm-landmark{zoom:calc(1 / var(--cal-preview-zoom,1))}.pin-marker.confirm-landmark{color:#dc2626;filter:drop-shadow(0 1px 3px #0006)}.placing-pin-hint{color:#fff;pointer-events:none;z-index:20;white-space:nowrap;background:#1a5f7aeb;border-radius:999px;padding:6px 16px;font-size:12px;font-weight:700;position:absolute;top:12px;left:50%;transform:translate(-50%)}.calibration-confirm-layout{flex:1;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) minmax(260px,300px);align-items:stretch;min-height:0;display:grid;overflow:hidden}.calibration-confirm-layout>.calibration-canvas-shell{min-width:0;height:100%;min-height:0}.calibration-confirm-layout>.confirm-sidebar.calibration-tools{min-height:0;overflow:auto}.confirm-sidebar{max-width:280px}.confirm-pin-row{justify-content:space-between;gap:.75rem;padding:.35rem 0;font-size:.85rem;display:flex}.confirm-pin-row+.confirm-pin-row{border-top:1px solid var(--border-subtle,#00000014)}.compact-hint{margin:.35rem 0 .5rem;font-size:.8rem}.confirm-bounds{gap:4px;padding:4px 0;font-size:13px;display:grid}.confirm-canvas{cursor:default!important}.residuals-table{gap:4px;margin-top:4px;display:grid}.residual-row{border-radius:4px;justify-content:space-between;align-items:center;padding:4px 6px;font-size:12px;display:flex}.residual-row.mean{background:#1a5f7a14;font-weight:700}.residual-value{color:var(--kvi-success);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-weight:600}.residual-value.high{color:var(--kvi-danger)}.site-frame-summary{background:#1a5f7a0a;border:1px solid #1a5f7a26;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:10px 14px;display:flex}.site-frame-bounds{flex-direction:column;gap:2px;font-size:12.5px;display:flex}.site-frame-bounds strong{color:var(--kvi-primary);font-size:13px}.elevation-list-v2{flex-direction:column;gap:6px;display:flex}.elevation-row-v2{border:1px solid var(--kvi-border);background:var(--kvi-surface);border-radius:10px;align-items:center;gap:10px;padding:10px 12px;transition:box-shadow .15s;display:flex}.elevation-row-v2:hover{box-shadow:0 2px 8px #0000000f}.baseline-radio{border:2px solid var(--kvi-border);width:28px;height:28px;color:var(--kvi-muted);cursor:pointer;background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:all .15s;display:inline-flex}.baseline-radio.active{border-color:var(--kvi-primary);color:var(--kvi-primary);background:#1a5f7a14}.baseline-radio:hover:not(.active){border-color:var(--kvi-secondary);color:var(--kvi-secondary)}.elevation-thumb-v2{border:1px solid var(--kvi-border);background:#f0f4f8;border-radius:6px;flex-shrink:0;width:56px;height:42px;overflow:hidden}.elevation-thumb-v2 img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.elevation-thumb-empty{width:100%;height:100%;color:var(--kvi-muted);justify-content:center;align-items:center;font-size:10px;font-weight:600;display:flex}.elevation-info-v2{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.elevation-title-row{align-items:center;gap:6px;display:flex}.elevation-title-row strong{font-size:13.5px}.baseline-badge{color:var(--kvi-primary);text-transform:uppercase;letter-spacing:.04em;background:#1a5f7a1f;border-radius:999px;padding:1px 8px;font-size:10px;font-weight:700;display:inline-block}.calibration-status-pill{border-radius:999px;align-items:center;gap:4px;width:fit-content;padding:2px 8px;font-size:10.5px;font-weight:600;display:inline-flex}.calibration-status-pill.calibrated{color:#166534;background:#22c55e1a}.calibration-status-pill.inherited{color:var(--kvi-primary);background:#1a5f7a14}.calibration-status-pill.offset{color:#92400e;background:#f59e0b1a}.calibration-status-pill.missing{color:var(--kvi-danger);background:#dc354514}.status-detail{font-weight:500}.calibrate-btn{flex-shrink:0}.overflow-menu-anchor{flex-shrink:0;position:relative}.overflow-menu-trigger{border:1px solid var(--kvi-border);width:30px;height:30px;color:var(--kvi-muted);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;transition:all .15s;display:inline-flex}.overflow-menu-trigger:hover{color:var(--kvi-text);background:#1a5f7a0f}.overflow-menu-dropdown{z-index:20;border:1px solid var(--kvi-border);background:var(--kvi-surface);border-radius:10px;min-width:180px;padding:4px;position:absolute;top:100%;right:0;box-shadow:0 8px 24px #0000001f}.overflow-menu-dropdown button{width:100%;color:var(--kvi-text);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;padding:8px 10px;font-size:12.5px;font-weight:500;display:flex}.overflow-menu-dropdown button:hover{background:#1a5f7a0f}.overflow-menu-dropdown button.danger{color:var(--kvi-danger)}.overflow-menu-dropdown button.danger:hover{background:#dc35450f}:root[data-theme=dark] .calibration-stepper{border-color:var(--kvi-border);background:#0d1826}:root[data-theme=dark] .stepper-number{background:var(--kvi-border)}:root[data-theme=dark] .calibration-tabs{border-color:var(--kvi-border);background:#1a5f7a0f}:root[data-theme=dark] .inherits-frame-ribbon{background:#57c5b60f;border-color:#57c5b626}:root[data-theme=dark] .inherit-btn{border-color:var(--kvi-border);color:var(--kvi-muted);background:#0d1826}:root[data-theme=dark] .inherit-btn.active{background:var(--kvi-primary);border-color:var(--kvi-primary);color:#fff}:root[data-theme=dark] .elevation-row-v2{border-color:var(--kvi-border);background:#0d1826}:root[data-theme=dark] .elevation-thumb-v2{border-color:var(--kvi-border);background:#0a1220}:root[data-theme=dark] .site-frame-summary{background:#1a5f7a14;border-color:#1a5f7a33}:root[data-theme=dark] .overflow-menu-dropdown{border-color:var(--kvi-border);background:#111c2b;box-shadow:0 8px 24px #00000059}:root[data-theme=dark] .kks-pin-residual-summary{color:#4ade80;background:#22c55e0f}:root[data-theme=dark] .kks-pin-list{border-color:var(--kvi-border);background:#0d1826eb}:root[data-theme=dark] .placing-pin-hint{background:#1a5f7af2}:root[data-theme=dark] .calibration-status-pill.calibrated{color:#4ade80;background:#22c55e14}:root[data-theme=dark] .calibration-status-pill.inherited{color:var(--kvi-accent)}:root[data-theme=dark] .calibration-status-pill.offset{color:#fbbf24;background:#f59e0b14}:root[data-theme=dark] .calibration-status-pill.missing{background:#dc35450f}:root[data-theme=dark] .ghost-button{border-color:var(--kvi-ghost-border);background:var(--kvi-ghost-bg);color:var(--kvi-accent)}:root[data-theme=dark] .ghost-button.compact{border-color:var(--kvi-border);background:var(--kvi-surface);color:var(--kvi-text)}:root[data-theme=dark] .ghost-button.compact.active,:root[data-theme=dark] .two-point-place-btn.active{border-color:var(--kvi-accent);color:var(--kvi-accent);background:#5eead424}:root[data-theme=dark] .tool-card-heading strong,:root[data-theme=dark] .two-point-label{color:var(--kvi-accent)}:root[data-theme=dark] .two-point-coords .calibration-field span,:root[data-theme=dark] .calibration-preview-zoom-label,:root[data-theme=dark] .calibration-preview-zoom-hint,:root[data-theme=dark] .calibration-preview-zoom-value{color:var(--kvi-muted)}:root[data-theme=dark] .calibration-crop-mount-error{color:var(--kvi-callout-warn-text);background:var(--kvi-callout-warn-bg);border-color:var(--kvi-callout-warn-border)}:root[data-theme=dark] .calibration-crop-strip-error{color:var(--kvi-callout-warn-text)}:root[data-theme=dark] .stepper-step.active{background:var(--kvi-tab-active-bg);color:var(--kvi-accent)}:root[data-theme=dark] .cal-tab.active{color:var(--kvi-accent);border-bottom-color:var(--kvi-accent)}:root[data-theme=dark] .kks-pin-item:hover{background:#5eead414}:root[data-theme=dark] .kks-pin-item.placing{border-color:var(--kvi-accent);background:#5eead424;box-shadow:0 0 0 2px #5eead433}:root[data-theme=dark] .kks-pin-item.placed{background:var(--kvi-success-surface);border-color:#4ade8059}:root[data-theme=dark] .calibration-toggle.active{color:#0f172a}:root[data-theme=dark] .calibration-magnifier-lens{background-color:#0d1826}@media (width<=768px){.calibration-stepper{padding:6px 12px}.stepper-label{display:none}.calibration-tabs{padding:4px 12px;overflow-x:auto}.calibration-calibrate-layout,.calibration-confirm-layout{grid-template-columns:1fr}.confirm-sidebar{max-width:100%}.inherits-frame-ribbon{flex-direction:column;align-items:flex-start;padding:8px 12px}.inherits-frame-ribbon-row{flex-direction:column;align-items:flex-start;width:100%}.inherit-mode-buttons{justify-content:flex-start;width:100%}.calibration-warning-banner,.calibration-map-behavior-note{margin:0 12px}.elevation-row-v2{flex-wrap:wrap;gap:6px}}.pid-library-upload{flex-direction:column;gap:14px;display:flex}.pid-library-progress{margin-top:2px}.pid-library-progress-bar{background:#1a5f7a26;border-radius:999px;height:6px;overflow:hidden}.pid-library-progress-bar span{background:var(--kvi-accent,#1a5f7a);height:100%;transition:width .2s;display:block}.pid-library-manual-card{border:1px solid var(--kvi-border);background:#ffffffe0;border-radius:16px;gap:10px;padding:14px;display:grid}.pid-library-manual-card>strong{color:var(--kvi-primary);font-size:.92rem}.pid-manual-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.pid-manual-dropzone{border-radius:18px;grid-column:1/-1;padding:18px}.pid-manual-actions{grid-column:1/-1;margin-top:0}.pid-library-status{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.pid-library-clear{margin-left:auto}.pid-viewer{background:#eef3f7;border-radius:12px;flex-direction:column;width:100%;height:100%;min-height:320px;display:flex;position:relative;overflow:hidden}.pid-viewer-empty{justify-content:center;align-items:center}.pid-viewer-header{color:#f8fafc;background:#0f172aeb;justify-content:space-between;align-items:flex-start;gap:12px;padding:10px 14px;display:flex}.pid-viewer-title-block{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.pid-viewer-title-block strong{font-size:1rem}.pid-viewer-revision,.pid-viewer-kks{opacity:.82;font-size:.78rem}.pid-viewer-canvas-wrap{touch-action:none;overscroll-behavior:none;-webkit-user-select:none;user-select:none;cursor:grab;background:radial-gradient(circle at 20% 20%,#57c5b614,#0000 45%),#e8eef3;flex:1;position:relative;overflow:hidden}.pid-viewer-canvas-wrap:active{cursor:grabbing}.pid-viewer-canvas-stage{transform-origin:0 0;will-change:transform;backface-visibility:hidden;opacity:0;pointer-events:none;transition:opacity .35s;position:absolute;top:0;left:0}.pid-viewer-canvas-stage.is-ready{opacity:1;pointer-events:auto}.pid-viewer-canvas{background:#fff;display:block;box-shadow:0 8px 24px #0f172a2e}.pid-viewer-loading{z-index:3;background:radial-gradient(circle at 50% 40%,#57c5b61f,#0000 55%),#e8eef3f5;justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;inset:0}.pid-viewer-loading-card{text-align:center;background:#fffffff0;border:1px solid #1a5f7a1f;border-radius:22px;flex-direction:column;align-items:center;gap:10px;min-width:min(100%,220px);padding:28px 32px;display:flex;box-shadow:0 16px 48px #0f172a1a,inset 0 0 0 1px #fff9}.pid-viewer-spinner{border:3px solid #1a5f7a24;border-top-color:var(--kvi-secondary,#159895);border-radius:50%;width:44px;height:44px;animation:.85s linear infinite pid-viewer-spin}@keyframes pid-viewer-spin{to{transform:rotate(360deg)}}.pid-viewer-loading-title{color:var(--kvi-primary,#1a5f7a);letter-spacing:.01em;margin:4px 0 0;font-size:.95rem;font-weight:850}.pid-viewer-loading-meta{color:var(--kvi-muted,#64748b);font-variant-numeric:tabular-nums;margin:0;font-size:.78rem;font-weight:700}.pid-viewer-error-wrap{z-index:4;justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;inset:0}.pid-viewer-error{color:#fecaca;text-align:center;background:#7f1d1de0;border-radius:14px;max-width:320px;margin:0;padding:14px 16px;font-size:.88rem;line-height:1.4;box-shadow:0 12px 32px #0f172a33}.elevation-strip-return{justify-content:center;align-items:center;width:100%;min-height:52px;display:flex}.elevation-return-button{background:linear-gradient(135deg, var(--kvi-primary), var(--kvi-secondary));color:#fff;letter-spacing:.02em;cursor:pointer;border:0;border-radius:16px;width:100%;min-height:44px;padding:12px 18px;font-size:13px;font-weight:800;box-shadow:0 10px 22px #1a5f7a38}.elevation-return-button:hover{filter:brightness(1.06)}.elevation-return-button:active{transform:scale(.985)}.locator-screen--pid{grid-template-rows:auto auto minmax(var(--locator-map-min), 1fr) auto}.locator-screen--pid .locator-actions.bottom-bar{display:none}.locator-screen--pid .locator-elevation-strip{z-index:20;padding-bottom:max(6px, env(safe-area-inset-bottom,0px));position:sticky;bottom:0;box-shadow:0 -8px 24px #0f172a14}.selected-chip-color--pid{background:linear-gradient(135deg, var(--kvi-primary), var(--kvi-secondary))}.selected-chip--pid{padding-left:10px}.pid-bottom-actions{grid-template-columns:minmax(0,1fr) minmax(0,2fr);align-items:stretch;gap:8px;width:100%;display:grid}.pid-bottom-actions .share-button,.pid-bottom-actions .elevation-return-button{white-space:nowrap;justify-content:center;align-items:center;gap:6px;width:100%;min-height:44px;padding:0 10px;font-size:12px;font-weight:800;display:inline-flex}.pid-bottom-actions .share-button{border-radius:16px}:root[data-theme=dark] .elevation-return-button{color:#f0fdfa;background:linear-gradient(135deg,#1a5f7af2,#159895e0);border:1px solid #57c5b666;box-shadow:0 10px 24px #00000059}:root[data-theme=dark] .pid-library-manual-card{background:#0f172ab8}:root[data-theme=dark] .pid-viewer{background:#0f172a}:root[data-theme=dark] .pid-viewer-canvas-wrap{background:radial-gradient(circle at 20% 20%,#57c5b60f,#0000 45%),#0b1220}:root[data-theme=dark] .pid-viewer-loading{background:radial-gradient(circle at 50% 40%,#57c5b614,#0000 55%),#0b1220f5}:root[data-theme=dark] .pid-viewer-loading-card{background:#0f172aeb;border-color:#57c5b629;box-shadow:0 16px 48px #00000059,inset 0 0 0 1px #57c5b614}:root[data-theme=dark] .pid-viewer-loading-title{color:#e2e8f0}:root[data-theme=dark] .pid-viewer-loading-meta{color:#94a3b8}:root[data-theme=dark] .pid-viewer-spinner{border-color:#57c5b62e;border-top-color:var(--kvi-accent,#57c5b6)}@media (width<=720px){.pid-manual-form{grid-template-columns:1fr}.pid-viewer-header{display:none}.pid-viewer-canvas-wrap{border-radius:12px 12px 0 0}}.locator-boot-splash .locator-boot-card{flex-direction:column;align-items:center;display:flex}.locator-boot-hint{margin-top:4px}.boot-spinner{border:3px solid #1a5f7a2e;border-top-color:var(--kvi-secondary,#159895);border-radius:50%;width:36px;height:36px;margin:14px auto 10px;animation:.85s linear infinite boot-spinner-spin}@keyframes boot-spinner-spin{to{transform:rotate(360deg)}}.locator-app-enter{animation:.32s cubic-bezier(.22,1,.36,1) both locator-app-enter}@keyframes locator-app-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.boot-spinner{border-top-color:var(--kvi-secondary,#159895);animation:none}.locator-app-enter{animation:none}}.locator-onboarding-active{overflow:hidden}.onboarding-root{z-index:12000;position:fixed;inset:0}.onboarding-mask-svg{width:100%;height:100%;position:fixed;inset:0}.onboarding-spot-ring{z-index:12001;border:2px solid var(--kvi-accent,#57c5b6);pointer-events:none;border-radius:12px;animation:1.6s ease-in-out infinite onboarding-pulse;position:fixed;box-shadow:0 0 0 2px #57c5b659}@keyframes onboarding-pulse{0%,to{box-shadow:0 0 0 2px #57c5b659}50%{box-shadow:0 0 0 6px #57c5b633}}.onboarding-tooltip{z-index:12002;background:var(--kvi-surface,#fff);border:1px solid #0f172a1a;border-radius:14px;max-width:min(340px,100vw - 24px);padding:16px 18px;position:fixed;box-shadow:0 16px 40px #0f172a38}.onboarding-tooltip--center,.onboarding-tooltip--modal{top:50%;left:50%;transform:translate(-50%,-50%)}.onboarding-tooltip--bottom{left:50%;bottom:max(16px, env(safe-area-inset-bottom));transform:translate(-50%)}.onboarding-tooltip--top{left:50%;top:max(72px, env(safe-area-inset-top));transform:translate(-50%)}.onboarding-title{color:var(--kvi-primary,#1a5f7a);margin:0 0 8px;font-size:1.05rem;font-weight:700}.onboarding-body{color:#334155;margin:0 0 14px;font-size:.9rem;line-height:1.45}.onboarding-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.onboarding-actions-primary{align-items:center;gap:8px;margin-left:auto;display:flex}.onboarding-skip{color:#64748b;cursor:pointer;background:0 0;border:none;padding:6px 0;font-size:.82rem}.onboarding-primary,.onboarding-secondary{cursor:pointer;border:none;border-radius:10px;padding:8px 14px;font-size:.88rem;font-weight:600}.onboarding-primary{background:linear-gradient(135deg, var(--kvi-primary,#1a5f7a), var(--kvi-secondary,#159895));color:#fff}.onboarding-secondary{color:var(--kvi-primary,#1a5f7a);background:#1a5f7a1f}.onboarding-hint{color:#64748b;font-size:.82rem;font-style:italic}.locator-action-share-wrap{display:contents}@media (prefers-reduced-motion:reduce){.onboarding-spot-ring{animation:none}}:root[data-theme=dark] .onboarding-tooltip{background:#0f1a28;border-color:#94a3b833}:root[data-theme=dark] .onboarding-body{color:#cbd5e1}:root[data-theme=dark] .onboarding-title{color:#5eead4}.chip-actions-item-wrap{position:relative}.chip-actions-item-has-submenu{display:flex}.chip-actions-item-has-submenu:after{content:"›";opacity:.55;align-self:center;margin-left:auto;padding-left:6px;font-size:14px;font-weight:700}.chip-actions-item-has-submenu[aria-expanded=true]{background:#1a5f7a1f}.chip-actions-submenu{z-index:90;background:var(--kvi-surface,#fff);border:1px solid #0f172a1a;border-radius:12px;min-width:188px;max-width:min(240px,100vw - 16px);padding:4px;animation:.14s ease-out chip-menu-in;position:absolute;top:0;left:calc(100% + 4px);box-shadow:0 10px 28px #0f172a24,0 2px 6px #0f172a0f}.selected-chip-wrap:nth-child(2n) .chip-actions-submenu,.chip-actions-submenu--flip-left{left:auto;right:calc(100% + 4px)}.chip-actions-submenu .chip-actions-item{gap:10px}.chip-actions-submenu .chip-actions-label{font-size:12px;font-weight:700;line-height:1.25}@media (width<=640px){.selected-chip-row--asset-compact .selected-chip-kks{opacity:0;pointer-events:none;flex:0 0 0;width:0;max-width:0;margin:0;padding:0;overflow:hidden}.selected-chip-row--asset-compact .selected-chip{gap:3px;padding:5px 6px}}.chip-actions-menu--asset-drill{min-width:min(280px,100vw - 16px)}.chip-actions-drill-header{border-bottom:1px solid #0f172a14;grid-template-columns:48px 1fr 48px;align-items:center;min-height:44px;margin-bottom:4px;padding:2px 0 8px;display:grid}.chip-actions-back{width:48px;min-width:48px;height:48px;min-height:48px;color:var(--kvi-primary);cursor:pointer;background:0 0;border:none;border-radius:12px;grid-column:1;justify-content:center;justify-self:start;align-items:center;padding:0;display:inline-flex}.chip-actions-back:hover,.chip-actions-back:focus-visible{background:#1a5f7a1a;outline:none}.chip-actions-back-icon{flex-shrink:0;width:22px;height:22px}.chip-actions-drill-title{text-align:center;grid-column:2;justify-content:center;align-items:center;gap:8px;min-width:0;display:flex}.chip-actions-drill-title .chip-actions-label{white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:800;overflow:hidden}.chip-actions-drill-title .chip-actions-icon{flex-shrink:0;width:26px;height:26px}.chip-actions-workflow-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:2px 0;display:grid}.chip-actions-workflow-tile{color:var(--kvi-text,#0f172a);text-align:center;cursor:pointer;background:0 0;border:none;border-radius:10px;flex-direction:column;align-items:center;gap:6px;padding:10px 6px;display:flex}.chip-actions-workflow-tile .chip-actions-icon{width:32px;height:32px}.chip-actions-workflow-tile .chip-actions-label{font-size:11px;font-weight:700;line-height:1.2}.chip-actions-workflow-tile:hover,.chip-actions-workflow-tile:focus-visible{background:#1a5f7a1f;outline:none}:root[data-theme=dark] .chip-actions-drill-header{border-bottom-color:#94a3b82e}:root[data-theme=dark] .chip-actions-back{color:#5eead4}:root[data-theme=dark] .chip-actions-workflow-tile{color:#e2e8f0}:root[data-theme=dark] .chip-actions-workflow-tile:hover,:root[data-theme=dark] .chip-actions-workflow-tile:focus-visible{background:#15989538}@media (width<=640px){.chip-actions-submenu{min-width:100%;box-shadow:none;border:none;border-top:1px solid #0f172a14;border-radius:0 0 8px 8px;margin:2px 0 0;position:static;top:auto;left:auto}:root[data-theme=dark] .chip-actions-submenu{border-top-color:#94a3b82e}}:root[data-theme=dark] .locator-header-nav-item{border-color:var(--kvi-border);color:var(--kvi-text);background:#0d1826}:root[data-theme=dark] .locator-header-nav-item.is-active{color:var(--kvi-text);background:#5eead41a;border-color:#5eead473}:root[data-theme=dark] .locator-header-nav-item--profile{background:linear-gradient(145deg, var(--kvi-primary), var(--kvi-secondary));color:#fff}:root[data-theme=dark] .filter-sources-menu--header{border-left-color:var(--kvi-border)}:root[data-theme=dark] .locator-site-user-badge{border-color:#5eead459;box-shadow:0 3px 12px #00000059}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.equipment-status-backdrop{z-index:2000;background:#0f172a73;justify-content:center;align-items:flex-end;padding:0;display:flex;position:fixed;inset:0}.equipment-status-modal{width:min(400px,100%);max-height:min(88dvh,560px);padding:18px 18px max(18px, env(safe-area-inset-bottom));background:var(--kvi-surface,#fff);color:var(--kvi-text,#0f172a);border:1px solid #0f172a14;border-radius:20px 20px 0 0;position:relative;overflow:auto;box-shadow:0 -12px 36px #0f172a2e}.equipment-status-modal--minimal{gap:14px;display:grid}@media (width>=520px){.equipment-status-backdrop{align-items:center;padding:20px}.equipment-status-modal{border-radius:18px;box-shadow:0 20px 48px #0f172a33}}.equipment-status-info{min-width:0}.equipment-status-eyebrow{color:var(--kvi-accent);letter-spacing:.14em;text-transform:uppercase;margin:0 0 2px;font-size:.68rem;font-weight:800}.equipment-status-kks{letter-spacing:.02em;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:1.05rem;font-weight:900;line-height:1.2}.equipment-status-desc{color:var(--kvi-muted);margin:4px 0 0;font-size:.8rem;line-height:1.3}.equipment-status-photo-carousel{gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.equipment-status-photo-item{flex:none;position:relative}.equipment-status-photo-remove{z-index:1;color:#0f172a;cursor:pointer;background:#fff;border:0;border-radius:999px;justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex;position:absolute;top:-6px;right:-6px;box-shadow:0 2px 8px #0f172a2e}.equipment-status-photo-status,.equipment-status-photo-count{color:var(--kvi-muted);margin:0;font-size:.72rem;font-weight:600}.equipment-status-thumb{cursor:pointer;background:#0f172a0f;border:none;border-radius:12px;width:88px;height:88px;padding:0;display:block;overflow:hidden}.equipment-status-thumb img{-o-object-fit:cover;object-fit:cover;object-fit:cover;width:100%;height:100%;display:block}.equipment-status-notes{gap:6px;display:grid}.equipment-status-notes-label{color:var(--kvi-muted);text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;font-weight:700}.equipment-status-notes textarea{width:100%;min-height:64px;font:inherit;resize:none;color:inherit;background:0 0;border:1px solid #0f172a1f;border-radius:12px;padding:10px 12px;font-size:.9rem;line-height:1.4}.equipment-status-notes textarea:focus{border-color:var(--kvi-accent);outline:none;box-shadow:0 0 0 2px #15989533}.equipment-status-error{color:#b91c1c;margin:0;font-size:.8rem;line-height:1.35}.equipment-status-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.equipment-status-action{cursor:pointer;border:none;border-radius:14px;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:0 14px;font-size:.95rem;font-weight:800;transition:transform .12s,opacity .12s;display:inline-flex}.equipment-status-action:active:not(:disabled){transform:scale(.98)}.equipment-status-action--cancel{color:var(--kvi-text,#0f172a);background:#0f172a0f;border:1px solid #0f172a1f}.equipment-status-action--submit{background:linear-gradient(145deg, var(--kvi-primary), var(--kvi-secondary));color:#fff;box-shadow:0 6px 18px #1a5f7a47}.equipment-status-action--submit:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.equipment-status-camera{z-index:2001;padding:max(12px, env(safe-area-inset-top)) 16px max(20px, env(safe-area-inset-bottom));color:#f1f5f9;background:#080e18f0;flex-direction:column;display:flex;position:fixed;inset:0}.equipment-status-camera-head{align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.equipment-status-camera-head .equipment-status-info{flex:1;min-width:0}.equipment-status-camera-head .equipment-status-eyebrow{color:#5eead4}.equipment-status-camera-head .equipment-status-kks{color:#fff}.equipment-status-camera-head .equipment-status-desc{color:#94a3b8}.equipment-status-camera-close{color:#fff;cursor:pointer;background:#ffffff1f;border:none;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;padding:0;display:inline-flex}.equipment-status-camera-close:hover,.equipment-status-camera-close:focus-visible{background:#fff3;outline:none}.equipment-status-camera-preview{background:#00000059;border-radius:14px;flex:1;justify-content:center;align-items:center;min-height:0;margin-bottom:16px;display:flex;overflow:hidden}.equipment-status-camera-preview img{-o-object-fit:contain;object-fit:contain;max-width:100%;max-height:min(50dvh,360px)}.equipment-status-camera-actions{gap:10px;margin-top:auto;display:grid}.equipment-status-camera-option{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff24;border-radius:14px;justify-content:center;align-items:center;gap:10px;min-height:52px;padding:0 16px;font-size:1rem;font-weight:700;display:flex}.equipment-status-camera-option:hover,.equipment-status-camera-option:focus-visible{background:#ffffff24;outline:none}.equipment-status-photo-input{opacity:0;pointer-events:none;width:1px;height:1px;position:fixed;left:-9999px}.equipment-status-photo-sources{grid-template-columns:1fr 1fr;gap:10px;display:grid}.equipment-status-source-btn{min-height:72px;color:var(--kvi-primary);cursor:pointer;background:#0f172a0a;border:1px solid #0f172a1f;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:12px 8px;font-size:.88rem;font-weight:800;display:flex}.equipment-status-source-btn:active{transform:scale(.98)}:root[data-theme=dark] .equipment-status-source-btn{color:#e2e8f0;background:#94a3b814;border-color:#94a3b838}.equipment-status-footer{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}:root[data-theme=dark] .equipment-status-modal{color:#e2e8f0;background:#0f1b2d;border-color:#94a3b833}:root[data-theme=dark] .equipment-status-action--cancel{color:#e2e8f0;background:#94a3b81a;border-color:#94a3b833}:root[data-theme=dark] .equipment-status-notes textarea{background:#0d1826;border-color:#94a3b838}:root[data-theme=dark] .equipment-status-thumb{background:#102235}.locator-screen--feed{grid-template-rows:auto auto minmax(0,1fr) auto auto}.locator-screen--feed .locator-search-panel.compact{z-index:40;flex-shrink:0;position:relative;overflow:visible}.locator-screen--feed .locator-map-card,.locator-screen--feed .locator-map-card.compact,.locator-screen--feed .locator-map-card--feed{grid-template-rows:unset;min-height:0;padding:4px var(--locator-pad-x);flex-direction:column;flex:1;overflow:hidden;display:flex!important}.share-capture-zone--feed{isolation:isolate;flex-direction:column;flex:auto;min-height:0;display:flex;position:relative;overflow:hidden}.share-capture-zone--feed .map-with-elevation-rail--obscured{display:none!important}.map-with-elevation-rail--obscured{z-index:0;width:100%;height:100%;inset:0;overflow:hidden;visibility:hidden!important;pointer-events:none!important;position:absolute!important}.map-with-elevation-rail--obscured .locator-map-panel,.map-with-elevation-rail--obscured .map-shell,.map-with-elevation-rail--obscured .leaflet-container,.map-with-elevation-rail--obscured .leaflet-pane{visibility:hidden!important;pointer-events:none!important}.locator-feed-pane{background:#fffffffa;border:1px solid #0f172a14;border-radius:14px;flex-direction:column;flex:1 1 0;height:100%;min-height:0;display:flex;position:relative;overflow:hidden}.locator-feed-pane--overlay{z-index:800;touch-action:pan-y;pointer-events:auto;flex:none;height:auto;position:absolute;inset:0}.locator-feed-pane .activity-feed-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior-y:auto;overflow-anchor:none;touch-action:pan-y;flex:1 1 0;min-height:0;overflow:hidden auto}.locator-screen--feed .activity-feed-scroll{height:100%}:root[data-theme=dark] .locator-feed-pane{background:#0d1826;border-color:#94a3b833}.locator-screen--feed .selected-chip-row{overflow:visible}.locator-screen--feed .chip-actions-menu{z-index:500}.locator-screen--feed .kks-search.v2.has-dropdown .kks-search-fluent{max-height:min(36dvh,220px)}.locator-screen--feed .activity-feed{height:auto;min-height:0;overflow:visible}.locator-topbar-mode-badges{align-items:center;gap:8px;display:inline-flex}.locator-site-permit-badge.is-active{box-shadow:0 0 0 2px #14b8a673}.locator-screen--permit{grid-template-rows:auto auto minmax(0,1fr) auto auto}.locator-screen--permit-desktop-manage{grid-template-rows:auto auto minmax(0,1fr) auto auto auto;gap:10px}.locator-screen--permit-desktop-manage .locator-map-card--permit-desktop-manage{contain:layout paint;flex-direction:column;align-self:stretch;height:auto;min-height:0;max-height:100%;padding-top:4px;padding-bottom:4px;display:flex;overflow:hidden}.share-capture-zone--permit-desktop-manage{flex-direction:column;flex:auto;min-height:0;max-height:100%;display:flex;overflow:hidden}.share-capture-zone--permit-desktop-manage .map-with-elevation-rail{flex:auto;min-height:0;max-height:100%;overflow:hidden}.permit-desktop-dock-section{min-height:0;padding:0 var(--locator-pad-x,10px) 4px;z-index:2;isolation:isolate;flex-shrink:0;position:relative}.permit-desktop-dock{border-radius:var(--locator-chrome-radius,20px);border:1px solid color-mix(in srgb, var(--kvi-border) 88%, transparent);background:color-mix(in srgb, var(--kvi-surface) 96%, transparent);flex-direction:column;height:auto;min-height:0;display:flex;overflow:hidden;box-shadow:0 8px 24px #0f172a14}:root[data-theme=dark] .permit-desktop-dock{background:var(--kvi-inset)}.permit-desktop-dock-head{border-bottom:1px solid var(--kvi-border);background:var(--kvi-soft);justify-content:space-between;align-items:center;gap:10px;padding:8px 12px;display:flex}:root[data-theme=dark] .permit-desktop-dock-head{background:var(--kvi-tab-bar-bg)}.permit-desktop-dock-head .permit-request-tabs{margin-top:0}.permit-desktop-dock-title{color:var(--kvi-text);align-items:center;gap:8px;font-size:14px;font-weight:800;display:inline-flex}.permit-desktop-dock-grid{flex:none;grid-template-columns:minmax(0,1fr) minmax(272px,320px);align-items:stretch;gap:0;min-height:0;display:grid}.permit-desktop-dock-col{flex-direction:column;min-width:0;min-height:0;display:flex}.permit-desktop-dock-col--permits{border-right:1px solid color-mix(in srgb, var(--kvi-border) 75%, transparent)}.permit-desktop-dock-col-body{flex:none;min-height:0;padding:6px 8px}.permit-desktop-dock-col--permits .permit-desktop-dock-col-body{overscroll-behavior:contain;max-height:min(24vh,210px);overflow:hidden auto}.permit-desktop-dock-col--calendar .permit-desktop-dock-col-body{flex-direction:column;min-height:100%;padding:6px 8px;display:flex;overflow:hidden}.permit-desktop-dock-col--calendar .permit-date-strip--dock{flex-direction:column;flex:auto;min-height:0;display:flex}.permit-desktop-dock-col--calendar .permit-date-day-rail{flex:auto;grid-template-rows:repeat(4,minmax(28px,1fr));align-content:stretch}.permit-desktop-dock-col--calendar .permit-date-day{height:100%;min-height:28px}.permit-desktop-dock .permit-request-recent{min-height:0}.permit-desktop-dock .permit-request-panel--dock{background:0 0;border:none;max-height:none;margin:0;padding:0;overflow:visible}.permit-desktop-dock .permit-request-panel--dock .permit-request-recent-head{display:none}.permit-desktop-dock .permit-request-recent-list--dock{gap:6px}.permit-request-dock-card.permit-request-recent-item{grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr);align-items:stretch;gap:0;padding:0;display:grid}.permit-request-dock-card{background:var(--kvi-tab-bar-bg);border-radius:14px;gap:0;padding:0;display:grid;overflow:hidden}.permit-request-dock-card .permit-request-dock-card-body,.permit-request-dock-card .permit-request-dock-card-head{grid-column:1/-1;width:100%;min-width:0}.permit-request-dock-card-head{width:100%;color:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;margin:0;padding:8px 10px;display:grid}.permit-request-dock-card-head:focus-visible{outline:2px solid color-mix(in srgb, var(--kvi-secondary) 55%, transparent);outline-offset:-2px}.permit-request-dock-card-main{gap:2px;min-width:0;display:grid}.permit-request-dock-card-head .permit-request-recent-status,.permit-request-dock-card-head .permit-request-dock-chevron{place-self:center end}.permit-request-dock-contractor{color:var(--kvi-text);font-size:11px;font-weight:700}.permit-request-dock-scope{text-overflow:ellipsis;white-space:nowrap;line-height:1.3;overflow:hidden}.permit-request-dock-chevron{color:var(--kvi-muted);transition:transform .18s var(--kvi-ease)}.permit-request-dock-chevron.is-flipped{transform:rotate(180deg)}.permit-request-dock-card-body{border-top:1px solid color-mix(in srgb, var(--kvi-border) 65%, transparent);gap:6px;padding:0 10px 10px;display:grid}.permit-request-dock-card-title{color:var(--kvi-text);margin:8px 0 0;font-size:12px;font-weight:700;line-height:1.35}.permit-request-dock-card-meta{margin:0;line-height:1.35}.permit-request-dock-card-facts{gap:6px;margin:0;display:grid}.permit-request-dock-card-fact{grid-template-columns:minmax(68px,5.5rem) minmax(0,1fr);align-items:start;gap:8px;margin:0;display:grid}.permit-request-dock-card-fact dt{letter-spacing:.04em;text-transform:uppercase;color:var(--kvi-muted);margin:0;font-size:10px;font-weight:800}.permit-request-dock-card-fact dd{color:var(--kvi-text);word-break:break-word;margin:0;font-size:12px;line-height:1.35}.permit-request-dock-card-fact.is-approval dd{color:var(--kvi-muted);font-size:11px}.permit-request-dock-card.is-expanded{background:color-mix(in srgb, var(--kvi-tab-active-bg) 72%, var(--kvi-tab-bar-bg))}.permit-desktop-dock .permit-request-dock-card .permit-request-recent-type{font-size:12px}.permit-desktop-dock .permit-request-status-actions{margin-top:2px}.permit-desktop-dock .permit-request-tab,.permit-desktop-dock .permit-date-preset-btn,.permit-desktop-dock .permit-date-nav-btn,.permit-desktop-dock .permit-date-day{color:var(--kvi-text)}.permit-desktop-dock .permit-date-preset-btn,.permit-desktop-dock .permit-date-nav-btn{border-color:var(--kvi-border);background:var(--kvi-tab-bar-bg)}.permit-date-strip--week-grid .permit-date-day-rail{grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;display:grid}.permit-date-strip--week-grid .permit-date-day{min-height:28px;padding:2px 1px}.permit-date-strip--week-grid .permit-date-timeline-head{margin-bottom:0}.permit-date-strip--week-grid .permit-date-presets{gap:3px}.permit-date-strip--week-grid .permit-date-preset-btn{min-height:22px;padding:2px 8px;font-size:10px}.permit-date-strip--week-grid .permit-date-timeline-value{font-size:11px}.permit-date-strip--week-grid .permit-date-timeline-nav{margin:0}.permit-date-strip--week-grid .permit-date-nav-btn{min-width:24px;min-height:24px}.permit-date-strip--week-grid .permit-date-timeline-window{font-size:10px}.permit-date-strip--week-grid .permit-date-day-dow{font-size:9px}.permit-date-strip--week-grid .permit-date-day-dom{font-size:10px}.permit-date-strip--compact .permit-date-day-rail{max-height:none}.permit-date-strip--compact.permit-date-strip--timeline{gap:4px}.permit-date-strip--compact .permit-date-day{min-width:30px;min-height:30px}.permit-desktop-dock .permit-date-strip--timeline{gap:4px}.permit-desktop-dock .permit-date-strip-label{font-size:9px}.permit-desktop-dock .permit-date-timeline-head,.permit-date-strip--dock.permit-date-strip--timeline{gap:4px}.permit-date-strip--dock .permit-date-timeline-head{margin-bottom:0}.permit-date-strip--dock .permit-date-presets{gap:3px}.permit-date-strip--dock .permit-date-preset-btn{min-height:22px;padding:2px 8px;font-size:10px}.permit-date-strip--dock .permit-date-timeline-nav{margin:0}.permit-date-strip--dock .permit-date-nav-btn{min-width:22px;min-height:22px}.permit-date-strip--dock .permit-date-timeline-window{font-size:10px;line-height:1.2}.permit-date-strip--dock .permit-date-day{min-height:26px;padding:2px 1px}.permit-date-strip--dock .permit-date-day-dow{font-size:9px}.permit-date-strip--dock .permit-date-day-dom{font-size:10px}.permit-date-strip--dock .permit-date-timeline-hint{margin:0;font-size:9px;line-height:1.25}.permit-date-strip--dock .permit-date-timeline-value{font-size:11px}.permit-date-strip--dock .permit-date-timeline-duration{min-height:22px;padding:2px 8px;font-size:10px}.locator-map-card--permit,.share-capture-zone--permit{flex-direction:column;min-height:0;display:flex}.share-capture-zone--permit:not(.share-capture-zone--permit-desktop-manage) .map-with-elevation-rail{flex:62%;min-height:280px}.share-capture-zone--permit:not(.share-capture-zone--permit-desktop-manage) .permit-request-panel{max-height:38%}.permit-date-strip--vertical{flex-direction:column;gap:8px;height:100%;min-height:0;display:flex}.permit-date-strip--vertical .permit-date-timeline-head,.permit-date-strip--vertical .permit-date-presets,.permit-date-strip--vertical .permit-date-timeline-nav{flex-shrink:0}.permit-date-strip--vertical .permit-date-day-rail{overscroll-behavior:contain;flex-direction:column;flex:auto;gap:4px;min-height:0;padding-right:2px;display:flex;overflow-y:auto}.permit-date-strip--vertical .permit-date-day{border-radius:10px;justify-content:space-between;align-items:center;min-height:36px;padding:6px 10px;display:flex}.permit-date-strip--vertical .permit-date-day-dow{text-transform:none;font-size:11px}.permit-date-strip--vertical .permit-date-day-dom{font-size:13px}.permit-date-strip--vertical .permit-date-timeline-hint{flex-shrink:0}.locator-search-panel--permit{z-index:2;position:relative}.locator-search-panel--permit:has(.kks-search.v2.has-dropdown){z-index:120}.locator-search-panel--permit .kks-search.v2.has-dropdown .kks-search-fluent{max-height:min(42dvh,280px);overflow:hidden}.permit-request-panel{background:linear-gradient(#0f766e1f,#0f172a0a);border:1px solid #14b8a638;border-radius:14px;flex:none;max-height:45%;margin-top:8px;padding:12px 14px;overflow:auto}.permit-request-panel-header{align-items:flex-start;gap:10px;margin-bottom:10px;display:flex}.permit-request-panel-toolbar{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.permit-request-panel-toolbar-title{margin:0}.permit-panel-dismiss{width:32px;height:32px;color:var(--text-muted,#64748b);cursor:pointer;background:0 0;border:none;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.permit-panel-dismiss:hover{color:var(--text-primary,#0f172a);background:#0f172a0f}:root[data-theme=dark] .permit-panel-dismiss:hover{color:#f8fafc;background:#ffffff14}.permit-panel-dismiss--sheet{margin-right:4px}.permit-request-panel-icon{width:22px;height:22px;color:var(--kvi-primary);flex-shrink:0}.permit-request-panel-title{margin:0;font-size:15px;font-weight:800}.permit-request-panel-subtitle{color:var(--text-muted,#64748b);margin:2px 0 0;font-size:11px}.permit-request-panel-heading{flex:1;min-width:0}.permit-request-tabs{gap:6px;margin-top:6px;display:flex}.permit-request-tab{color:var(--kvi-text);cursor:pointer;background:0 0;border:1px solid #14b8a640;border-radius:999px;padding:4px 12px;font-size:11px;font-weight:700}:root[data-theme=dark] .permit-request-tab{border-color:var(--kvi-border)}.permit-request-tab.is-active{color:var(--kvi-primary);background:#14b8a62e;border-color:#14b8a673}:root[data-theme=dark] .permit-request-tab.is-active{background:var(--kvi-tab-active-bg);border-color:var(--kvi-ghost-border)}.permit-wizard-progress{gap:6px;margin-bottom:8px;display:flex}.permit-wizard-dot{background:#64748b59;border-radius:50%;width:8px;height:8px}.permit-wizard-dot.is-active{background:var(--kvi-primary)}.permit-wizard-dot.is-done{background:#14b8a68c}.permit-wizard-step-label{color:var(--kvi-text);margin:0 0 10px;font-size:13px;font-weight:800}.permit-wizard-hint{color:var(--text-muted,#64748b);margin:0 0 8px;font-size:11px;line-height:1.4}.permit-wizard-empty{color:var(--text-muted,#64748b);margin:0;font-size:12px}.permit-wizard-step-body{gap:8px;margin-bottom:10px;display:grid}.permit-scope-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-bottom:8px;display:grid}.permit-scope-btn{min-height:40px;color:var(--text-muted,#64748b);cursor:pointer;background:#ffffff0a;border:1px solid #14b8a647;border-radius:10px;font-size:11px;font-weight:800}.permit-scope-btn.is-active{color:var(--kvi-primary);background:#0f766e2e;border-color:#14b8a68c}.permit-pid-list-item{justify-content:space-between;align-items:center;gap:8px;display:flex}.permit-pid-list-copy{gap:2px;min-width:0;display:grid}.permit-pid-remove-btn{width:32px;height:32px;color:var(--text-muted,#64748b);cursor:pointer;background:#ffffff0a;border:1px solid #94a3b859;border-radius:10px;flex-shrink:0;place-items:center;display:inline-grid}.permit-kks-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.permit-kks-list-item{background:#0f766e1a;border-radius:10px;gap:2px;padding:8px 10px;font-size:12px;display:grid}.permit-kks-list-item span{color:var(--text-muted,#64748b);font-size:11px}.permit-zone-shape-picker{grid-template-columns:1fr 1fr;gap:8px;display:grid}.permit-zone-shape-btn{cursor:pointer;background:0 0;border:1px solid #14b8a647;border-radius:10px;min-height:44px;font-size:12px;font-weight:800}.permit-zone-shape-btn.is-active{background:linear-gradient(145deg, var(--kvi-primary), var(--kvi-secondary));color:#fff;border-color:#0000}.permit-polygon-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.permit-elevation-picker{flex-wrap:wrap;gap:6px;display:flex}.permit-elevation-chip{color:var(--kvi-text);cursor:pointer;background:0 0;border:1px solid #14b8a647;border-radius:999px;padding:5px 10px;font-size:11px;font-weight:700}.permit-elevation-chip.is-active{background:linear-gradient(145deg, var(--kvi-primary), var(--kvi-secondary));color:#fff;border-color:#0000}.permit-elevation-chip.has-zone.is-active{box-shadow:inset 0 0 0 2px #ffffff8c}.permit-elevation-chip.is-viewing{outline-offset:1px;outline:2px solid #f59e0ba6}.permit-zone-floor-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.permit-zone-floor-link{text-align:left;cursor:pointer;background:#0f766e14;border:1px solid #14b8a633;border-radius:10px;width:100%;min-height:40px;padding:8px 10px;font-size:11px;font-weight:600}.permit-zone-summary{margin:0;font-size:12px;font-weight:600}.permit-wizard-review{margin-bottom:10px}.permit-review-list{gap:8px;margin:0;display:grid}.permit-review-list div{grid-template-columns:72px 1fr;gap:8px;font-size:12px;display:grid}.permit-review-list dt{color:var(--text-muted,#64748b);margin:0;font-weight:600}.permit-review-list dd{margin:0;font-weight:600}.permit-wizard-nav{border-top:1px solid #14b8a626;justify-content:space-between;align-items:center;gap:8px;margin-top:4px;padding-top:8px;display:flex}.permit-wizard-nav-btn{cursor:pointer;background:0 0;border:1px solid #14b8a647;border-radius:10px;align-items:center;gap:4px;padding:8px 12px;font-size:12px;font-weight:700;display:inline-flex}.permit-wizard-nav-btn:disabled{opacity:.4;cursor:not-allowed}.permit-wizard-nav-btn--primary{background:linear-gradient(145deg, var(--kvi-primary), var(--kvi-secondary));color:#fff;border-color:#0000}.permit-wizard-save-group{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.permit-request-type-grid{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.permit-request-type-hint{margin:0 0 6px}.permit-request-type-chip{color:var(--kvi-text);cursor:pointer;background:0 0;border:1px solid #14b8a640;border-radius:999px;padding:5px 10px;font-size:11px;font-weight:700}.permit-request-type-chip.is-active{background:linear-gradient(145deg, var(--kvi-primary), var(--kvi-secondary));color:#fff;border-color:#0000}.permit-request-fields{gap:8px;margin-bottom:10px;display:grid}.permit-request-field{gap:3px;font-size:11px;display:grid}.permit-request-field span:first-child{color:var(--text-muted,#64748b);font-weight:700}.permit-request-field output,.permit-request-equipment{font-size:12px;font-weight:600}.permit-request-field textarea{resize:vertical;min-height:52px;font:inherit;background:#ffffff0a;border:1px solid #14b8a638;border-radius:10px;padding:8px 10px}.permit-request-actions{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px;display:grid}.permit-request-zone-btn,.permit-request-submit-btn{cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:6px;min-height:40px;font-size:12px;font-weight:800;display:inline-flex}.permit-request-zone-btn{color:var(--kvi-primary);background:#14b8a61f;border:1px solid #14b8a647}.permit-request-zone-btn.is-active{color:#b45309;background:#f59e0b2e;border-color:#f59e0b73}.permit-request-submit-btn{background:linear-gradient(145deg, var(--kvi-primary), var(--kvi-secondary));color:#fff}.permit-request-recent-head{color:var(--text-muted,#64748b);justify-content:space-between;gap:8px;margin-bottom:6px;font-size:10px;font-weight:700;display:flex}.permit-request-recent-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.permit-request-recent-item{background:var(--kvi-tab-bar-bg);transition:background .16s var(--kvi-ease);border-left:3px solid #0000;border-radius:10px;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:8px 10px;font-size:12px;display:grid}@media (hover:hover){.permit-request-recent-item:hover{background:var(--kvi-tab-active-bg)}}.permit-request-recent-item.is-draft{border-left-color:#94a3b8}.permit-request-recent-item.is-submitted{border-left-color:#d97706}.permit-request-recent-item.is-approved{border-left-color:#0f766e}.permit-request-recent-item.is-active{border-left-color:#2563eb}.permit-request-recent-item.is-closed{border-left-color:#64748b}.permit-request-recent-item.is-rejected{border-left-color:#dc2626}.permit-request-recent-type{color:var(--kvi-text);font-weight:800}.permit-request-recent-title{color:var(--kvi-text);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:600;overflow:hidden}.permit-request-recent-empty{color:var(--text-muted,#64748b);margin:0;font-size:11px}.permit-request-recent-refresh{color:var(--text-muted,#64748b);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:2px;display:inline-flex}.permit-request-recent-status{letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;border-radius:999px;padding:2px 9px;font-size:10px;font-weight:800}.permit-request-recent-status--draft{color:#475569;background:#64748b29}.permit-request-recent-status--submitted{color:#b45309;background:#d977062e}.permit-request-recent-status--approved{color:#0f766e;background:#0f766e2e}.permit-request-recent-status--active{color:#1d4ed8;background:#2563eb2e}.permit-request-recent-status--closed{color:#475569;background:#47556929}.permit-request-recent-status--rejected{color:#dc2626;background:#dc262629}:root[data-theme=dark] .permit-request-recent-status--draft{color:#cbd5e1}:root[data-theme=dark] .permit-request-recent-status--submitted{color:#fbbf24}:root[data-theme=dark] .permit-request-recent-status--approved{color:#5eead4}:root[data-theme=dark] .permit-request-recent-status--active{color:#93c5fd}:root[data-theme=dark] .permit-request-recent-status--closed{color:#cbd5e1}:root[data-theme=dark] .permit-request-recent-status--rejected{color:#fca5a5}.permit-request-status-actions{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.permit-request-status-btn{border:1px solid color-mix(in srgb, var(--kvi-secondary) 35%, var(--kvi-border));background:var(--kvi-surface);color:var(--kvi-primary);cursor:pointer;transition:background .16s var(--kvi-ease), border-color .16s var(--kvi-ease), transform .12s var(--kvi-ease);border-radius:999px;align-items:center;gap:4px;padding:5px 10px;font-size:11px;font-weight:750;display:inline-flex}@media (hover:hover){.permit-request-status-btn:hover:not(:disabled){background:var(--kvi-tab-active-bg);border-color:color-mix(in srgb, var(--kvi-secondary) 55%, var(--kvi-border))}}.permit-request-status-btn:active{transform:scale(.95)}.permit-request-status-btn:disabled{opacity:.5;cursor:not-allowed}.permit-request-status-btn--danger{border-color:color-mix(in srgb, var(--kvi-danger) 35%, var(--kvi-border));color:var(--kvi-danger)}@media (hover:hover){.permit-request-status-btn--danger:hover:not(:disabled){background:color-mix(in srgb, var(--kvi-danger) 10%, var(--kvi-surface));border-color:color-mix(in srgb, var(--kvi-danger) 50%, var(--kvi-border))}}.permit-request-recent-item.is-pending{border-style:dashed}.permit-date-strip{width:100%}.permit-date-strip-shell{gap:4px;display:grid}.permit-date-strip-label{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted,#64748b);font-size:10px;font-weight:800}.permit-date-value-rail{height:22px;position:relative}.permit-date-range-highlight{pointer-events:none;background:#0f766e47;border-radius:999px;height:4px;position:absolute;top:50%;transform:translateY(-50%)}.permit-date-dual-slider{height:24px;position:relative}.permit-date-dual-slider .permit-date-slider-inline{pointer-events:none;background:0 0;margin:0;position:absolute;inset:0}.permit-date-dual-slider .permit-date-slider-inline::-webkit-slider-thumb{pointer-events:auto}.permit-date-dual-slider .permit-date-slider-inline::-moz-range-thumb{pointer-events:auto}.permit-date-slider-inline--end{z-index:2}.permit-date-inline-value{white-space:nowrap;color:var(--kvi-primary);font-size:12px;font-weight:800;position:absolute;top:0;transform:translate(-50%)}.permit-date-slider-inline{width:100%}.permit-date-strip-bounds{color:var(--text-muted,#64748b);justify-content:space-between;font-size:10px;display:flex}.permit-date-strip--timeline{gap:6px;width:100%;display:grid}.permit-date-timeline-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.permit-date-timeline-title{gap:2px;min-width:0;display:grid}.permit-date-timeline-value{color:var(--kvi-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:800;overflow:hidden}.permit-date-timeline-duration{color:var(--kvi-primary);background:#0f766e24;border-radius:999px;flex-shrink:0;padding:2px 8px;font-size:11px;font-weight:800}.permit-date-calendar-btn{cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:6px;max-width:100%;margin:0;padding:4px 8px 4px 0;display:inline-flex}.permit-date-calendar-btn:active{opacity:.75}.permit-date-calendar-btn .permit-date-timeline-value{pointer-events:none}.permit-date-calendar-icon{color:var(--kvi-primary);opacity:.85;flex-shrink:0}.permit-date-duration-btn{cursor:pointer;border:none}.permit-date-duration-btn:active{opacity:.75}.permit-date-picker-native{opacity:0;pointer-events:none;border:0;width:1px;height:1px;padding:0;position:fixed;top:0;left:-9999px;overflow:hidden}.permit-date-presets{flex-wrap:wrap;gap:6px;display:flex}.permit-date-preset-btn{border:1px solid var(--kvi-border);background:var(--kvi-tab-bar-bg);min-height:28px;color:var(--kvi-muted);cursor:pointer;transition:background .16s var(--kvi-ease), border-color .16s var(--kvi-ease), color .16s var(--kvi-ease), transform .12s var(--kvi-ease);border-radius:999px;padding:4px 12px;font-size:11px;font-weight:800}.permit-date-preset-btn:active{transform:scale(.95)}.permit-date-preset-btn.is-active{border-color:color-mix(in srgb, var(--kvi-secondary) 55%, var(--kvi-border));background:var(--kvi-tab-active-bg);color:var(--kvi-primary)}@media (hover:hover){.permit-date-preset-btn:hover{border-color:color-mix(in srgb, var(--kvi-secondary) 50%, var(--kvi-border));background:var(--kvi-tab-active-bg);color:var(--kvi-primary)}}.permit-date-timeline-nav{grid-template-columns:32px 1fr 32px;align-items:center;gap:4px;display:grid}.permit-date-nav-btn{border:1px solid var(--kvi-border);background:var(--kvi-surface);width:32px;height:32px;color:var(--kvi-primary);cursor:pointer;transition:background .16s var(--kvi-ease), border-color .16s var(--kvi-ease), transform .12s var(--kvi-ease);border-radius:10px;justify-content:center;align-items:center;display:inline-flex}@media (hover:hover){.permit-date-nav-btn:hover:not(:disabled){background:var(--kvi-tab-active-bg);border-color:color-mix(in srgb, var(--kvi-secondary) 45%, var(--kvi-border))}}.permit-date-nav-btn:active:not(:disabled){transform:scale(.92)}.permit-date-nav-btn:disabled{opacity:.35;cursor:not-allowed}.permit-date-timeline-window{text-align:center;color:var(--kvi-muted);white-space:nowrap;text-overflow:ellipsis;font-size:10px;font-weight:700;overflow:hidden}.permit-date-day-rail{grid-template-columns:repeat(21,minmax(0,1fr));gap:4px;display:grid}.permit-date-day{cursor:pointer;min-height:44px;font:inherit;color:inherit;transition:background .14s var(--kvi-ease), border-color .14s var(--kvi-ease), transform .1s var(--kvi-ease);background:0 0;border:1px solid #0000;border-radius:10px;justify-items:center;gap:1px;padding:4px 2px;display:grid}@media (hover:hover){.permit-date-day:hover:not(.is-start):not(.is-end){background:var(--kvi-tab-active-bg)}}.permit-date-day:active{transform:scale(.94)}.permit-date-day-dow{color:var(--kvi-muted);text-transform:uppercase;font-size:9px;font-weight:700}.permit-date-day-dom{font-size:12px;font-weight:800}.permit-date-day.is-today{border-color:color-mix(in srgb, var(--kvi-secondary) 45%, var(--kvi-border))}.permit-date-day.is-today .permit-date-day-dom{color:var(--kvi-secondary)}.permit-date-day.is-in-range{background:color-mix(in srgb, var(--kvi-secondary) 16%, transparent)}.permit-date-day.is-start,.permit-date-day.is-end{background:linear-gradient(145deg, var(--kvi-primary), var(--kvi-secondary));color:#fff;box-shadow:var(--kvi-shadow-sm)}.permit-date-day.is-today.is-start,.permit-date-day.is-today.is-end{border-color:#0000}.permit-date-day.is-start .permit-date-day-dow,.permit-date-day.is-end .permit-date-day-dow,.permit-date-day.is-start .permit-date-day-dom,.permit-date-day.is-end .permit-date-day-dom{color:#fff}.permit-date-day.is-pending{border-color:#14b8a68c;box-shadow:0 0 0 2px #14b8a633}.permit-date-timeline-hint{color:var(--text-muted,#64748b);text-align:center;margin:0;font-size:10px}.locator-screen--permit .locator-elevation-strip{min-height:auto;padding:8px var(--locator-pad-x,10px) 10px}.locator-actions--permit .locator-action-button--return{color:#fff;background:linear-gradient(135deg, var(--kvi-primary), var(--kvi-secondary));box-shadow:0 8px 18px #1a5f7a2e}.permit-date-native{gap:8px;display:grid}.permit-date-native-field{gap:4px;font-size:11px;font-weight:700;display:grid}.permit-date-native-field input[type=date]{min-height:44px;font:inherit;background:#ffffff0a;border:1px solid #14b8a647;border-radius:10px;padding:8px 10px}.permit-request-new-btn{background:linear-gradient(145deg, var(--kvi-primary), var(--kvi-secondary));color:#fff;cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:6px;width:100%;min-height:44px;margin-bottom:10px;font-size:13px;font-weight:800;display:inline-flex}.permit-notes-toggle{min-height:44px;color:var(--kvi-primary);cursor:pointer;background:0 0;border:1px dashed #14b8a659;border-radius:10px;font-size:12px;font-weight:700}.permit-request-zone-btn--secondary{background:#0f766e14}.permit-zone-radius{align-items:center;gap:8px;font-size:12px;font-weight:700;display:flex}.permit-zone-radius-btn{cursor:pointer;background:0 0;border:1px solid #14b8a647;border-radius:10px;justify-content:center;align-items:center;min-width:44px;min-height:44px;display:inline-flex}.permit-zone-radius output{text-align:center;min-width:3.5rem;font-weight:800}.permit-mobile-sheet{background:var(--kvi-surface);border:1px solid var(--kvi-border);box-shadow:var(--kvi-shadow-lg);border-radius:14px;flex-direction:column;display:flex;overflow:hidden}.permit-mobile-sheet-chrome{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:0 6px;padding:0 4px 0 0;display:grid}.permit-mobile-sheet-handle{cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:auto;padding:6px 8px 4px 10px;display:flex}.permit-mobile-sheet-chevron{width:16px;height:16px;color:var(--text-muted,#64748b);transition:transform .2s}.permit-mobile-sheet-chevron.is-flipped{transform:rotate(180deg)}.permit-mobile-sheet-header{min-width:0;padding:4px 8px 6px 0}.permit-mobile-sheet-title{margin:0;font-size:13px;font-weight:800;line-height:1.2}.permit-mobile-sheet-subtitle{color:var(--text-muted,#64748b);white-space:nowrap;text-overflow:ellipsis;margin:1px 0 0;font-size:10px;overflow:hidden}.permit-mobile-sheet-body{-webkit-overflow-scrolling:touch;flex:auto;min-height:0;padding:0 10px 6px;overflow-y:auto}.permit-mobile-sheet-footer{padding:6px 10px calc(6px + env(safe-area-inset-bottom,0px));background:#ffffff0a;border-top:1px solid #14b8a626;flex-shrink:0}.permit-mobile-sheet--collapsed{flex:none}.permit-mobile-sheet--collapsed .permit-mobile-sheet-chrome{padding-bottom:4px}.permit-mobile-sheet-footer--collapsed{padding-top:4px;padding-bottom:calc(4px + env(safe-area-inset-bottom,0px))}.permit-mobile-sheet--half,.permit-mobile-sheet--expanded{flex:auto;min-height:0}.permit-wizard-nav--mobile{border-top:none;margin-top:0;padding-top:0}.permit-wizard-nav--mobile .permit-wizard-nav-btn{flex:1;justify-content:center;min-height:40px;padding:6px 10px;font-size:11px}.permit-place-banner{z-index:30;color:#1c1917;pointer-events:none;white-space:nowrap;background:#f59e0beb;border-radius:999px;padding:10px 14px;font-size:12px;font-weight:800;position:absolute;top:12px;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #0f172a33}.permit-search-pill{z-index:30;min-height:44px;color:var(--kvi-primary);cursor:pointer;background:#fffffff5;border:1px solid #14b8a659;border-radius:999px;padding:0 14px;font-size:12px;font-weight:800;position:absolute;top:12px;right:12px;box-shadow:0 4px 14px #0f172a1f}:root[data-theme=dark] .permit-search-pill{background:#0d1826f5}.locator-permit-pane{height:100%;min-height:0;padding:4px var(--locator-pad-x);background:#fffffffa;border:1px solid #0f172a14;border-radius:14px;flex-direction:column;flex:1 1 0;display:flex;position:relative;overflow:hidden}.locator-permit-pane--overlay{z-index:800;border-radius:14px;flex:none;height:auto;position:absolute;inset:0}:root[data-theme=dark] .locator-permit-pane{background:#0d1826;border-color:#94a3b833}@media (width<=640px){.locator-screen--permit-mobile.locator-screen--permit{--permit-footer-height:44px;--permit-elevation-height:46px;grid-template-rows:auto auto minmax(0,1fr) auto auto}.locator-screen--permit-mobile .locator-map-card--permit{grid-template-rows:unset;min-height:0;padding:4px var(--locator-pad-x);flex-direction:column;flex:1;gap:4px;overflow:hidden;display:flex!important}.locator-screen--permit-mobile .share-capture-zone--permit.share-capture-zone--permit-mobile{flex:auto;grid-template-rows:minmax(148px,36%) minmax(210px,1fr);gap:6px;min-height:0;display:grid;position:relative;overflow:hidden}.locator-screen--permit-mobile .share-capture-zone--permit.share-capture-zone--permit-mobile .map-with-elevation-rail{flex-direction:column;flex:none;height:100%;min-height:0;max-height:none;display:flex;position:relative;overflow:hidden}.locator-screen--permit-mobile.locator-screen--permit-new .share-capture-zone--permit.share-capture-zone--permit-mobile,.locator-screen--permit-mobile.locator-screen--permit-zone-mode .share-capture-zone--permit.share-capture-zone--permit-mobile{grid-template-rows:minmax(150px,1.2fr) minmax(0,1fr)}.locator-screen--permit-mobile.locator-screen--permit-new .share-capture-zone--permit.share-capture-zone--permit-mobile.share-capture-zone--permit-sheet-collapsed{grid-template-rows:1fr auto}.locator-screen--permit-mobile.locator-screen--permit-new .share-capture-zone--permit.share-capture-zone--permit-mobile.share-capture-zone--permit-sheet-expanded{grid-template-rows:minmax(110px,34%) minmax(220px,66%)}.locator-screen--permit-mobile.locator-screen--permit-place .share-capture-zone--permit.share-capture-zone--permit-mobile.share-capture-zone--permit-sheet-half{grid-template-rows:minmax(240px,2.4fr) minmax(0,1fr)}.locator-screen--permit-mobile.locator-screen--permit-place .share-capture-zone--permit.share-capture-zone--permit-mobile.share-capture-zone--permit-sheet-expanded{grid-template-rows:minmax(110px,34%) minmax(220px,66%)}.locator-screen--permit-mobile.locator-screen--permit-place .share-capture-zone--permit.share-capture-zone--permit-mobile.share-capture-zone--permit-sheet-collapsed{grid-template-rows:minmax(0,1fr) auto}.locator-screen--permit-mobile.locator-screen--permit-place .permit-kks-list-item{padding:4px 6px;font-size:11px}.locator-screen--permit-mobile.locator-screen--permit-place .permit-zone-shape-picker{margin-bottom:4px}.locator-screen--permit-mobile.locator-screen--permit-place .permit-elevation-picker{gap:4px;margin-bottom:4px}.locator-screen--permit-mobile .share-capture-zone--permit-mobile .permit-mobile-sheet{z-index:1;height:100%;min-height:0;position:relative;bottom:auto;left:auto;right:auto}.locator-screen--permit-mobile .share-capture-zone--permit-mobile .permit-mobile-sheet--half,.locator-screen--permit-mobile .share-capture-zone--permit-mobile .permit-mobile-sheet--expanded{flex:auto;min-height:0;max-height:100%}.locator-screen--permit-mobile .share-capture-zone--permit-mobile .permit-mobile-sheet--collapsed{flex:none;height:auto}.locator-screen--permit-mobile .permit-mobile-sheet .permit-wizard-progress{gap:4px;margin-bottom:4px}.locator-screen--permit-mobile .permit-mobile-sheet .permit-wizard-hint,.locator-screen--permit-mobile .permit-mobile-sheet .permit-request-type-hint{display:none}.locator-screen--permit-mobile .permit-mobile-sheet .permit-request-type-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin-bottom:6px;display:grid}.locator-screen--permit-mobile .permit-mobile-sheet .permit-request-type-chip{text-align:center;border-radius:8px;justify-content:center;align-items:center;min-height:30px;padding:4px 6px;font-size:10px;display:inline-flex}.locator-screen--permit-mobile .permit-mobile-sheet .permit-date-strip{gap:3px;margin-bottom:2px}.locator-screen--permit-mobile .permit-mobile-sheet .permit-date-timeline-head{align-items:center;margin-bottom:0}.locator-screen--permit-mobile .permit-mobile-sheet .permit-date-timeline-title{flex-wrap:wrap;align-items:center;gap:2px 6px;display:flex}.locator-screen--permit-mobile .permit-mobile-sheet .permit-date-strip-label{letter-spacing:.05em;text-transform:uppercase;font-size:9px}.locator-screen--permit-mobile .permit-mobile-sheet .permit-date-calendar-btn{gap:4px;padding:0}.locator-screen--permit-mobile .permit-mobile-sheet .permit-date-timeline-value{font-size:11px}.locator-screen--permit-mobile .permit-mobile-sheet .permit-date-timeline-duration{padding:1px 6px;font-size:9px}.locator-screen--permit-mobile .permit-mobile-sheet .permit-date-presets{gap:4px}.locator-screen--permit-mobile .permit-mobile-sheet .permit-date-preset-btn{min-height:22px;padding:2px 8px;font-size:9px}.locator-screen--permit-mobile .permit-mobile-sheet .permit-date-timeline-nav{grid-template-columns:26px 1fr 26px;gap:2px}.locator-screen--permit-mobile .permit-mobile-sheet .permit-date-nav-btn{border-radius:8px;width:26px;height:26px}.locator-screen--permit-mobile .permit-mobile-sheet .permit-date-timeline-window{font-size:9px}.locator-screen--permit-mobile .permit-mobile-sheet .permit-date-day-rail{gap:2px}.locator-screen--permit-mobile .permit-mobile-sheet .permit-date-day{border-radius:6px;gap:0;height:26px;min-height:0;padding:1px 0}.locator-screen--permit-mobile .permit-mobile-sheet .permit-date-day-dom{font-size:10px;line-height:1}.locator-screen--permit-mobile .permit-mobile-sheet .permit-date-day-dow{font-size:7px;line-height:1}.locator-screen--permit-mobile .permit-mobile-sheet .permit-notes-toggle{min-height:32px;padding:4px 8px;font-size:10px}.locator-screen--permit-mobile .permit-mobile-sheet .permit-scope-picker{gap:4px;margin-bottom:6px}.locator-screen--permit-mobile .permit-mobile-sheet .permit-scope-btn{min-height:34px;font-size:10px}.locator-screen--permit-mobile .locator-elevation-strip{min-height:auto;padding:6px var(--locator-pad-x) 6px}.locator-screen--permit-mobile .permit-date-day-rail{grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}.locator-screen--permit-mobile .permit-date-day{border-radius:6px;gap:0;height:26px;min-height:0;padding:1px 0}.locator-screen--permit-mobile .permit-date-day-dow{font-size:7px;line-height:1}.locator-screen--permit-mobile .permit-date-day-dom{font-size:10px;line-height:1}.locator-screen--permit-mobile .permit-date-timeline-hint{display:none}.permit-request-panel--mobile.permit-request-panel--sheet{z-index:1;pointer-events:auto;background:0 0;border:none;flex-direction:column;flex:none;height:100%;min-height:0;max-height:none;margin:0;padding:0;display:flex;position:relative;overflow:hidden}.permit-request-panel--dock{background:0 0;border:none;max-height:none;margin:0;padding:0;overflow:visible}.permit-request-panel--dock .permit-request-recent{padding:0}.permit-request-panel--dock .permit-request-recent-head{display:none}.permit-mobile-dock{z-index:3;border:1px solid color-mix(in srgb, var(--kvi-border) 88%, transparent);background:color-mix(in srgb, var(--kvi-surface) 96%, transparent);border-radius:20px;flex-direction:column;flex:auto;width:100%;min-height:0;display:flex;position:relative;overflow:hidden;box-shadow:0 8px 24px #0f172a14}:root[data-theme=dark] .permit-mobile-dock{background:linear-gradient(#0d1826fa,#0a121ef5)}.permit-mobile-dock-header{flex-shrink:0}.permit-mobile-dock-handle{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:100%;min-height:44px;padding:6px 12px 2px;display:flex}.permit-mobile-dock-handle:active{background:color-mix(in srgb, var(--kvi-tab-active-bg) 55%, transparent)}.permit-mobile-dock-grab{background:color-mix(in srgb, var(--kvi-muted) 55%, var(--kvi-border));border-radius:999px;width:44px;height:5px;display:block}.permit-mobile-dock-chevron{width:18px;height:18px;color:var(--text-muted,#64748b);transition:transform .2s}.permit-mobile-dock-chevron.is-flipped{transform:rotate(180deg)}.permit-mobile-dock-toolbar{gap:4px;padding:2px 8px 4px;display:grid}.permit-mobile-dock-segments{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;display:grid}.permit-mobile-dock-segment{border:1px solid var(--kvi-border);background:var(--kvi-tab-bar-bg);min-height:32px;color:var(--kvi-muted);cursor:pointer;transition:background .16s var(--kvi-ease), border-color .16s var(--kvi-ease), color .16s var(--kvi-ease), transform .12s var(--kvi-ease);border-radius:8px;font-size:11px;font-weight:800}.permit-mobile-dock-segment:active{transform:scale(.97)}.permit-mobile-dock-segment.is-active{border-color:color-mix(in srgb, var(--kvi-secondary) 55%, var(--kvi-border));background:var(--kvi-tab-active-bg);color:var(--kvi-primary)}.permit-mobile-dock-summary{color:var(--text-muted,#64748b);text-align:center;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:11px;font-weight:700;overflow:hidden}.permit-mobile-dock-carousel{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;overscroll-behavior-x:contain;touch-action:pan-x pinch-zoom;align-items:stretch;width:100%;display:flex;overflow-x:auto}.permit-mobile-dock-carousel::-webkit-scrollbar{display:none}.permit-mobile-dock-slide{scroll-snap-align:start;-webkit-overflow-scrolling:touch;touch-action:manipulation;flex-direction:column;flex:0 0 100%;min-width:0;min-height:100%;padding:0 8px 6px;display:flex;overflow-y:auto}.permit-mobile-dock-slide:first-child{justify-content:flex-start;overflow:hidden}.permit-mobile-dock-slide:first-child .permit-date-strip{flex-direction:column;flex:auto;width:100%;min-height:0;display:flex}.permit-mobile-dock-slide:first-child .permit-date-strip--dock.permit-date-strip--timeline{gap:4px}.permit-mobile-dock-slide:first-child .permit-date-timeline-head,.permit-mobile-dock-slide:first-child .permit-date-presets,.permit-mobile-dock-slide:first-child .permit-date-timeline-nav{flex-shrink:0}.permit-mobile-dock-slide:first-child .permit-date-day-rail{flex:auto;grid-template-rows:repeat(4,minmax(0,1fr));align-content:stretch;min-height:0}.permit-mobile-dock-slide:last-child{flex-direction:column;justify-content:flex-start;display:flex;overflow-y:auto}.permit-mobile-dock .permit-date-strip--timeline{gap:3px}.permit-mobile-dock .permit-date-timeline-head{align-items:center;gap:6px;margin-bottom:0}.permit-mobile-dock .permit-date-timeline-title{flex-wrap:wrap;align-items:center;gap:2px 6px;min-width:0;display:flex}.permit-mobile-dock .permit-date-strip-label{letter-spacing:.05em;text-transform:uppercase;color:var(--kvi-muted);font-size:9px;font-weight:800}.permit-mobile-dock .permit-date-calendar-btn{gap:4px;padding:0}.permit-mobile-dock .permit-date-calendar-icon{width:14px;height:14px}.permit-mobile-dock .permit-date-timeline-value{font-size:11px}.permit-mobile-dock .permit-date-timeline-duration{padding:1px 6px;font-size:9px}.permit-mobile-dock .permit-date-presets{gap:4px}.permit-mobile-dock .permit-date-preset-btn{min-height:22px;padding:2px 8px;font-size:9px}.permit-mobile-dock .permit-date-timeline-nav{grid-template-columns:26px 1fr 26px;gap:2px}.permit-mobile-dock .permit-date-nav-btn{border-radius:8px;width:26px;height:26px}.permit-mobile-dock .permit-date-timeline-window{font-size:9px}.permit-mobile-dock .permit-date-day-rail{grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}.permit-mobile-dock .permit-date-day{touch-action:manipulation;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:1px;height:100%;min-height:34px;padding:3px 0;display:flex}.permit-mobile-dock .permit-date-day-dow{font-size:8px}.permit-mobile-dock .permit-date-day-dom{font-size:11px;font-weight:800;line-height:1}.permit-mobile-dock .permit-date-strip--dock .permit-date-timeline-hint{display:none}.permit-mobile-dock-slide[inert]{pointer-events:none;-webkit-user-select:none;user-select:none}.locator-screen--permit-mobile.locator-screen--permit-manage .locator-map-card--permit{flex-direction:column;flex:auto;gap:6px;min-height:0;display:flex}.locator-screen--permit-mobile.locator-screen--permit-manage .share-capture-zone--permit.share-capture-zone--permit-mobile{flex-direction:column;flex:auto;gap:0;min-height:0;display:flex}.locator-screen--permit-mobile.locator-screen--permit-manage .share-capture-zone--permit.share-capture-zone--permit-mobile .map-with-elevation-rail{isolation:isolate;z-index:1;flex:auto;height:auto;min-height:120px;max-height:none;overflow:hidden}.locator-screen--permit-mobile.locator-screen--permit-manage .map-shell,.locator-screen--permit-mobile.locator-screen--permit-manage .locator-map-panel{flex:auto;height:100%;min-height:0;overflow:hidden}.locator-screen--permit-mobile.locator-screen--permit-manage .permit-mobile-dock{flex:none;margin-top:auto}.permit-mobile-dock--collapsed .permit-mobile-dock-carousel{display:none}.permit-mobile-dock--collapsed{flex:none}.permit-mobile-dock--expanded{flex:none;min-height:min(34dvh,250px);max-height:min(46dvh,340px)}.permit-mobile-dock--expanded .permit-mobile-dock-carousel{flex:auto;height:auto;min-height:calc(min(46dvh,340px) - 76px);max-height:calc(min(46dvh,340px) - 76px)}.permit-mobile-dock--half{flex:none;max-height:min(46dvh,340px)}.permit-mobile-dock--half .permit-mobile-dock-carousel{flex:auto;height:auto;min-height:calc(min(46dvh,340px) - 76px);max-height:calc(min(46dvh,340px) - 76px)}.permit-mobile-dock .permit-date-timeline{margin:0}.permit-mobile-dock .permit-request-dock-card-head--mobile{align-items:center;min-height:52px;padding:10px 12px}.permit-mobile-dock .permit-request-dock-card-body{gap:10px;padding:0 12px 12px}.permit-mobile-dock .permit-request-dock-card-title{margin-top:4px;font-size:13px}.permit-mobile-dock .permit-request-dock-card-facts--mobile{background:0 0;border:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0;display:grid}.permit-mobile-dock .permit-request-dock-card-facts--mobile .permit-request-dock-card-fact{background:color-mix(in srgb, var(--kvi-surface) 88%, transparent);border:1px solid color-mix(in srgb, var(--kvi-border) 70%, transparent);border-radius:12px;grid-template-columns:minmax(0,1fr);gap:3px;padding:8px 10px;display:grid}.permit-mobile-dock .permit-request-dock-card-facts--mobile .permit-request-dock-card-fact.is-approval,.permit-mobile-dock .permit-request-dock-card-facts--mobile .permit-request-dock-card-fact:only-child{grid-column:1/-1}.permit-mobile-dock .permit-request-dock-card-facts--mobile .permit-request-dock-card-fact dt{font-size:9px}.permit-mobile-dock .permit-request-dock-card-facts--mobile .permit-request-dock-card-fact dd{word-break:normal;overflow-wrap:anywhere;font-size:11px;line-height:1.4}.permit-mobile-dock .permit-date-timeline-hint{margin:0;font-size:9px;line-height:1.2}.permit-mobile-dock .permit-attachment-gallery--compact{flex-wrap:wrap;justify-content:flex-start;gap:8px;display:flex}.permit-mobile-dock .permit-request-status-actions{flex-wrap:wrap;gap:6px;display:flex}.permit-mobile-dock .permit-request-status-btn{flex:calc(50% - 3px);min-height:36px}.permit-request-tab{min-height:36px;padding:6px 14px;font-size:12px}.permit-request-type-chip,.permit-elevation-chip,.permit-wizard-nav-btn,.permit-request-zone-btn,.permit-request-submit-btn{min-height:44px}.permit-mobile-sheet .permit-request-type-chip,.permit-mobile-sheet .permit-wizard-nav-btn,.permit-mobile-sheet .permit-request-zone-btn,.permit-mobile-sheet .permit-request-submit-btn{min-height:unset}.permit-request-type-chip,.permit-elevation-chip{padding:8px 14px;font-size:12px}}.locator-screen--feed .locator-actions.bottom-bar{display:none}.locator-screen--feed .locator-elevation-strip{z-index:20;padding-bottom:max(6px, env(safe-area-inset-bottom,0px));position:sticky;bottom:0;box-shadow:0 -8px 24px #0f172a14}.kks-search--feed .kks-search-box.v2 input,.kks-search--permit .kks-search-box.v2 input{font-size:14px}@media (width<=640px){.kks-search--permit .feed-post-submit-button{display:none}.kks-search--permit .kks-search-box.v2 input{font-size:15px}}.kks-search-trailing-actions{flex-shrink:0;align-items:center;gap:4px;display:flex}.feed-search-clear-button{width:32px;height:32px;color:var(--kvi-primary);cursor:pointer;background:0 0;border:1px solid #1a5f7a47;border-radius:10px;flex:none;justify-content:center;align-items:center;display:inline-flex}.feed-search-clear-button:hover{background:#1a5f7a1a}.feed-post-submit-button{background:linear-gradient(145deg, var(--kvi-primary), var(--kvi-secondary));color:#fff;cursor:pointer;border:none;border-radius:10px;flex:none;min-width:48px;height:32px;padding:0 12px;font-size:11px;font-weight:800}.feed-post-submit-button:disabled{opacity:.45;cursor:not-allowed}.photo-drop-zone{border-radius:inherit;transition:background .12s,outline-color .12s}.photo-drop-zone.is-photo-drop-active{outline:2px dashed var(--kvi-accent,#0ea5e9);outline-offset:2px;background:color-mix(in srgb, var(--kvi-accent,#0ea5e9) 7%, transparent)}.photo-drop-hint{color:var(--kvi-muted,#64748b);margin:0;padding:0 4px 2px;font-size:.72rem;font-weight:600;line-height:1.3}.kks-search-feed-drop{gap:6px;display:grid}.feed-composer-attachment{background:#1a5f7a14;border:1px solid #1a5f7a33;border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;padding:6px 8px;display:flex}.feed-composer-attachment-thumb{-o-object-fit:cover;object-fit:cover;border-radius:8px;flex:none;width:40px;height:40px}.feed-composer-attachment-label{min-width:0;color:var(--kvi-primary);flex:1;font-size:.72rem;font-weight:700}.feed-composer-attachment-status{color:var(--kvi-muted);font-size:.72rem;font-weight:600}.feed-composer-attachment-remove{width:28px;height:28px;color:var(--kvi-muted);cursor:pointer;background:#0f172a0f;border:none;border-radius:8px;justify-content:center;align-items:center;padding:0;display:inline-flex}.feed-composer-attachment-remove:hover{background:#0f172a1f}.search-result-feed-post .search-result-kks{color:var(--kvi-accent)}.activity-feed--timeline{padding:0;display:block}.activity-feed-offline-bar{text-align:center;color:#b45309;background:#f59e0b1a;border-bottom:1px solid #f59e0b33;padding:6px 12px;font-size:.72rem;line-height:1.35}.activity-feed-post.is-pending-sync .activity-feed-post-time{color:#b45309;font-weight:600}.activity-feed-pending-error{color:#b45309;margin:6px 0 0;font-size:.72rem;line-height:1.35}.activity-feed-pending-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.activity-feed-pending-btn{color:var(--kvi-text-muted,#64748b);cursor:pointer;background:0 0;border:1px solid #94a3b859;border-radius:999px;padding:5px 12px;font-size:.72rem;font-weight:600;line-height:1.2}.activity-feed-pending-btn:hover:not(:disabled){border-color:var(--kvi-accent);color:var(--kvi-accent)}.activity-feed-pending-btn:disabled{opacity:.55;cursor:not-allowed}.activity-feed-pending-btn--retry{border-color:color-mix(in srgb, var(--kvi-accent) 45%, transparent);color:var(--kvi-accent)}.activity-feed-pending-btn--delete:hover:not(:disabled){color:#dc2626;border-color:#dc2626}.activity-feed-filter-bar{background:color-mix(in srgb, var(--kvi-accent) 8%, transparent);border-bottom:1px solid #94a3b833;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;display:flex}.activity-feed-filter-label{color:var(--kvi-accent);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;font-weight:700;overflow:hidden}.activity-feed-filter-actions{flex-shrink:0;align-items:center;gap:8px;display:inline-flex}.activity-feed-retrieval-badge{text-transform:uppercase;letter-spacing:.04em;color:var(--kvi-accent);border:1px solid color-mix(in srgb, var(--kvi-accent) 35%, transparent);border-radius:999px;padding:2px 8px;font-size:.65rem;font-weight:700}.activity-feed-empty-wrap{flex-direction:column;align-items:center;gap:10px;padding:16px 12px;display:flex}.activity-feed-refine-btn{border:1px solid color-mix(in srgb, var(--kvi-accent) 40%, transparent);color:var(--kvi-accent);cursor:pointer;background:0 0;border-radius:999px;padding:6px 12px;font-size:.72rem;font-weight:600}.activity-feed-refine-btn:disabled{opacity:.55;cursor:not-allowed}.activity-feed-filter-clear{color:var(--kvi-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;align-items:center;gap:4px;font-size:.72rem;font-weight:700;display:inline-flex}.activity-feed-refresh-bar{z-index:3;text-align:center;color:var(--kvi-accent);background:color-mix(in srgb, var(--kvi-accent) 12%, transparent);border-bottom:1px solid #94a3b833;padding:8px 12px;font-size:.75rem;font-weight:700;position:sticky;top:0}.activity-feed-status{color:var(--kvi-muted);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:32px 16px;font-size:.9rem;display:flex}.activity-feed-status--error{color:#f87171}.activity-feed-spinner{border:3px solid #94a3b840;border-top-color:var(--kvi-accent);border-radius:50%;width:28px;height:28px;animation:.75s linear infinite activity-feed-spin}@keyframes activity-feed-spin{to{transform:rotate(360deg)}}.activity-feed-empty{text-align:center;color:var(--kvi-muted);padding:28px 16px;font-size:.88rem;line-height:1.45}.activity-feed-share-pick-bar{color:var(--kvi-primary);background:color-mix(in srgb, var(--kvi-accent) 10%, transparent);border-bottom:1px solid #94a3b833;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;font-size:.74rem;font-weight:600;display:flex}.activity-feed-share-pick-cancel{color:var(--kvi-accent);cursor:pointer;background:0 0;border:0;font-size:.74rem;font-weight:800}.activity-feed-share-select{cursor:pointer;background:0 0;border:0;flex:none;align-self:flex-start;place-items:center;width:28px;height:28px;margin-top:6px;padding:0;display:grid}.activity-feed-share-select-ring{border:2px solid #94a3b88c;border-radius:999px;width:22px;height:22px;transition:border-color .12s,background .12s,box-shadow .12s;display:block}.activity-feed-share-select.is-selected .activity-feed-share-select-ring{border-color:var(--kvi-accent);background:var(--kvi-accent);box-shadow:inset 0 0 0 3px #fff}.activity-feed-post.is-share-pick-mode{cursor:pointer}.activity-feed-post.is-share-pick-selected{background:color-mix(in srgb, var(--kvi-accent) 8%, transparent)}.share-button.is-feed-share-pick{box-shadow:inset 0 0 0 2px #0ea5e973}.activity-feed-post{text-align:left;transition:background .16s var(--kvi-ease);border-bottom:1px solid #94a3b829;gap:10px;padding:12px 12px 14px;display:flex}@media (hover:hover){.activity-feed-post:not(.is-hse):hover{background:var(--kvi-tab-bar-bg)}}.activity-feed-post.is-hse{border-bottom:none;border-left:3px solid var(--kvi-callout-warn-border);background:var(--kvi-callout-warn-bg);border-radius:12px;margin:4px 6px;padding:12px 12px 14px 11px;box-shadow:inset 0 0 0 1px #d977061f}.activity-feed-post-tag.is-hse-tag{border:1px solid var(--kvi-callout-warn-border);color:var(--kvi-callout-warn-text);background:#d9770629;border-radius:5px;padding:2px 7px}.activity-feed-post:last-of-type{border-bottom:none}.activity-feed-post-avatar{color:#f8fafc;border-radius:50%;flex:none;place-items:center;width:40px;height:40px;font-size:.95rem;font-weight:800;display:grid}.activity-feed-post-main{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.activity-feed-post-header{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.activity-feed-post-names{flex-wrap:wrap;align-items:baseline;gap:4px;min-width:0;display:flex}.activity-feed-post-author{color:var(--kvi-text);font-size:.88rem;font-weight:800}.activity-feed-post-tag{letter-spacing:.06em;text-transform:uppercase;color:var(--kvi-accent);font-size:.68rem;font-weight:800}.activity-feed-post-time{color:var(--kvi-muted);white-space:nowrap;font-size:.75rem}.activity-feed-post-kks{text-align:left;cursor:pointer;background:0 0;border:none;width:100%;padding:0;display:block}.activity-feed-post-kks-code{color:var(--kvi-accent);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.92rem;font-weight:800;display:block}.activity-feed-post-kks-desc{color:var(--kvi-muted);margin-top:2px;font-size:.78rem;line-height:1.3;display:block}.activity-feed-post-site{letter-spacing:.06em;text-transform:uppercase;color:var(--kvi-muted);margin:0;font-size:.72rem;font-weight:700}.activity-feed-post-text{white-space:pre-wrap;word-break:break-word;color:var(--kvi-text);margin:0;font-size:.95rem;line-height:1.5}.activity-feed-post-media{border:1px solid #94a3b833;border-radius:12px;margin-top:4px;overflow:hidden}.activity-feed-post-media .activity-feed-card-photo-link{border-top:none;min-height:0}.activity-feed-post-media .activity-feed-card-photo{max-height:min(50vh,360px)}.activity-feed-card-photo-link{cursor:pointer;background:#0f172a;border:0;border-top:1px solid #0f172a0f;width:100%;min-height:140px;padding:0;display:block;position:relative}.activity-feed-card-photo-link.is-compact{border-top:none;border-radius:10px;min-height:88px;overflow:hidden}.activity-feed-post-media--gallery{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:6px;padding:8px;display:grid}.activity-feed-post-media--gallery .activity-feed-card-photo{max-height:120px}.activity-feed-card-photo-link.is-loaded{min-height:0}.activity-feed-card-photo{-o-object-fit:contain;object-fit:contain;-o-object-position:center;object-position:center;vertical-align:middle;width:100%;height:auto;max-height:min(56vh,440px);display:block}.activity-feed-card-photo-placeholder{color:#f8fafcbf;text-align:center;justify-content:center;align-items:center;padding:16px;font-size:.8rem;font-weight:600;display:flex;position:absolute;inset:0}.activity-feed-card-photo-placeholder--error{color:#fca5a5}.activity-feed-sentinel{text-align:center;min-height:44px;padding:12px 12px 16px}.activity-feed-sentinel-label{color:var(--kvi-muted);font-size:.75rem;line-height:1.35;display:block}.activity-feed-inline-error{color:#b91c1c;text-align:center;margin:0;padding:8px;font-size:.8rem}:root[data-theme=dark] .activity-feed-post{border-bottom-color:#94a3b824}:root[data-theme=dark] .activity-feed-post.is-hse{box-shadow:inset 0 0 0 1px #fbbf2424}:root[data-theme=dark] .activity-feed-post-tag.is-hse-tag{background:#78350f8c}:root[data-theme=dark] .activity-feed-post-author,:root[data-theme=dark] .activity-feed-post-text{color:#e2e8f0}:root[data-theme=dark] .activity-feed-post-kks-desc,:root[data-theme=dark] .activity-feed-post-time,:root[data-theme=dark] .activity-feed-post-site{color:#94a3b8}:root[data-theme=dark] .activity-feed-card-photo-link{background:#020617}.feed-photo-lightbox{z-index:700;place-items:center;display:grid;position:fixed;inset:0}.feed-photo-lightbox-backdrop{cursor:pointer;background:#020617e0;border:0;position:absolute;inset:0}.feed-photo-lightbox-panel{z-index:1;gap:10px;width:min(100%,520px);max-height:min(92dvh,720px);padding:12px;display:grid;position:relative}.feed-photo-lightbox-header{color:#f8fafc;justify-content:space-between;align-items:center;display:flex}.feed-photo-lightbox-counter{font-size:.82rem;font-weight:700}.feed-photo-lightbox-close{color:#f8fafc;cursor:pointer;background:#94a3b833;border:0;border-radius:999px;place-items:center;width:40px;height:40px;display:grid}.feed-photo-lightbox-stage{grid-template-columns:auto 1fr auto;align-items:center;gap:8px;min-height:0;display:grid;position:relative}.feed-photo-lightbox-image{-o-object-fit:contain;object-fit:contain;background:#020617;border-radius:12px;width:100%;max-height:min(72dvh,560px);display:block}.feed-photo-lightbox-nav{color:#f8fafc;cursor:pointer;background:#94a3b838;border:0;border-radius:999px;place-items:center;width:36px;height:36px;display:grid}.feed-photo-lightbox-dots{justify-content:center;gap:8px;display:flex}.feed-photo-lightbox-dot{cursor:pointer;background:#94a3b873;border:0;border-radius:999px;width:8px;height:8px}.feed-photo-lightbox-dot.is-active{background:#38bdf8;transform:scale(1.15)}.feed-composer-attachment-carousel{gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.feed-composer-attachment-item{flex:none;position:relative}.feed-composer-attachment-item .feed-composer-attachment-remove{z-index:1;background:#fff;position:absolute;top:-6px;right:-6px;box-shadow:0 2px 8px #0f172a2e}.feed-composer-attachment-thumb-btn{cursor:pointer;border:0;border-radius:10px;padding:0;display:block;overflow:hidden}.admin-settings-card{border:1px solid var(--kvi-border);background:#f8fcfd;border-radius:22px;gap:12px;margin-top:14px;padding:16px 18px;display:grid}.admin-settings-card-head{gap:6px;display:grid}.admin-settings-card-head .field-label{margin:0}.admin-settings-card .ghost-button{width:fit-content;max-width:100%}.admin-inline-code{color:var(--kvi-primary);background:#1a5f7a1a;border-radius:8px;padding:2px 6px;font-size:.88em;font-weight:750}.admin-toggle-list{gap:8px;display:grid}.admin-toggle-row{border:1px solid var(--kvi-border);background:var(--kvi-surface);cursor:pointer;border-radius:16px;justify-content:space-between;align-items:center;gap:14px;min-height:52px;padding:10px 14px;transition:border-color .15s,background .15s;display:flex;position:relative}.admin-toggle-row:hover:not(.is-disabled){border-color:#1a5f7a59}.admin-toggle-row.is-on{background:var(--kvi-soft);border-color:#15989573}.admin-toggle-row.is-disabled{opacity:.45;cursor:not-allowed}.admin-toggle-row input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.admin-toggle-copy{gap:2px;min-width:0;display:grid}.admin-toggle-label{color:var(--kvi-text);font-size:.92rem;font-weight:850}.admin-toggle-hint{color:var(--kvi-muted);font-size:.74rem;line-height:1.35}.admin-toggle-switch{background:#cbd5e1;border-radius:999px;flex-shrink:0;width:46px;height:28px;transition:background .2s;position:relative}.admin-toggle-switch:after{content:"";background:#fff;border-radius:50%;width:22px;height:22px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 4px #0f172a33}.admin-toggle-row.is-on .admin-toggle-switch{background:linear-gradient(135deg, var(--kvi-primary), var(--kvi-secondary))}.admin-toggle-row.is-on .admin-toggle-switch:after{transform:translate(18px)}.admin-premium-url-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.admin-premium-url-grid input{width:100%;min-height:46px;color:var(--kvi-text);background:#fff;border:1px solid #cbd5e1;border-radius:16px;outline:none;padding:0 14px}.admin-premium-url-grid input:focus{border-color:var(--kvi-primary);box-shadow:0 0 0 4px #1a5f7a1a}.admin-premium-url-grid.is-disabled input{opacity:.55;cursor:not-allowed}.admin-mcp-keys{gap:12px;display:grid}.admin-mcp-keys-create{grid-template-columns:1fr auto;align-items:stretch;gap:8px;display:grid}.admin-mcp-keys-create input{width:100%;min-height:46px;color:var(--kvi-text);background:#fff;border:1px solid #cbd5e1;border-radius:16px;outline:none;padding:0 14px}.admin-mcp-keys-create input:focus{border-color:var(--kvi-primary);box-shadow:0 0 0 4px #1a5f7a1a}.admin-mcp-keys-create .ghost-button{white-space:nowrap}.admin-mcp-secret{color:var(--kvi-text);background:#16a34a1a;border:1px solid #16a34a59;border-radius:16px;gap:8px;padding:12px 14px;font-size:.82rem;display:grid}.admin-mcp-secret-value{word-break:break-all;-webkit-user-select:all;user-select:all;background:#0f172a0f;border-radius:12px;padding:10px 12px;font-size:.78rem;display:block}.admin-mcp-empty{margin:0;font-size:.82rem}.admin-mcp-key-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.admin-mcp-key-item{border:1px solid var(--kvi-border);background:var(--kvi-surface);border-radius:16px;grid-template-rows:auto auto;grid-template-columns:1fr auto;align-items:center;gap:4px 12px;padding:12px 14px;display:grid}.admin-mcp-key-item.is-revoked{opacity:.55}.admin-mcp-key-main{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.admin-mcp-key-prefix{color:var(--kvi-muted);font-variant-numeric:tabular-nums;font-size:.78rem;font-weight:750}.admin-mcp-key-meta{grid-column:1;margin:0;font-size:.74rem}.admin-mcp-key-item .ghost-button.compact{grid-area:1/2/span 2;align-self:center}:root[data-theme=dark] .admin-settings-card{border-color:var(--kvi-border);background:#0d1826}:root[data-theme=dark] .admin-inline-code{color:#5eead4;background:#5eead41f}:root[data-theme=dark] .admin-toggle-row{border-color:var(--kvi-border);background:#102235}:root[data-theme=dark] .admin-toggle-row.is-on{background:#1a5f7a38;border-color:#5eead466}:root[data-theme=dark] .admin-toggle-switch{background:#334155}:root[data-theme=dark] .admin-toggle-switch:after{background:#e2e8f0}:root[data-theme=dark] .admin-premium-url-grid input,:root[data-theme=dark] .admin-mcp-keys-create input{border-color:var(--kvi-border);color:var(--kvi-text);background:#0d1826}:root[data-theme=dark] .admin-mcp-secret{background:#16a34a26;border-color:#4ade8059}:root[data-theme=dark] .admin-mcp-secret-value{color:#e2e8f0;background:#00000040}:root[data-theme=dark] .admin-mcp-key-item{border-color:var(--kvi-border);background:#102235}@media (width<=720px){.admin-premium-url-grid,.admin-mcp-keys-create,.admin-mcp-key-item{grid-template-columns:1fr}.admin-mcp-key-item .ghost-button.compact{grid-area:auto/1;justify-self:start}}.map-collab-permit-icon{color:#fff;background:#0d9488;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.spin-icon{vertical-align:middle;margin-right:6px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.locator-header-nav-item.is-locked{opacity:.72}.account-profile-modal label{color:var(--kvi-text);gap:6px;margin-top:14px;font-weight:750;display:grid}.account-profile-modal .account-profile-field input{border:1px solid var(--kvi-border);background:var(--kvi-surface);width:100%;color:var(--kvi-text);transition:border-color .16s var(--kvi-ease), box-shadow .16s var(--kvi-ease);border-radius:12px;outline:none;padding:12px 14px;font-size:16px}.account-profile-modal .account-profile-field input:focus{border-color:var(--kvi-secondary);box-shadow:0 0 0 4px color-mix(in srgb, var(--kvi-secondary) 20%, transparent)}.account-profile-modal .account-profile-field input:disabled{opacity:.7;color:var(--kvi-muted);cursor:not-allowed}.account-profile-company-field{gap:6px;margin-top:14px;display:grid;position:relative}.account-profile-company-field>label{color:var(--kvi-text);font-weight:750}.account-profile-company-suggestions{z-index:2;border:1px solid var(--kvi-border);background:var(--kvi-surface-elevated,var(--kvi-surface));border-radius:12px;max-height:220px;margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% - 4px);left:0;right:0;overflow-y:auto;box-shadow:0 10px 28px #0000002e}.account-profile-company-option{text-align:left;width:100%;color:var(--kvi-text);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;padding:10px 12px}.account-profile-company-option.is-active,.account-profile-company-option:hover{background:var(--kvi-callout-bg,#3b82f61f)}.account-profile-company-hint{margin-top:6px;display:block}.account-profile-head{background:var(--kvi-callout-bg);border:1px solid var(--kvi-callout-border);border-radius:14px;align-items:center;gap:12px;margin-top:14px;padding:12px;display:flex}.account-profile-avatar{color:#fff;background:linear-gradient(145deg, var(--kvi-primary), var(--kvi-secondary));width:46px;height:46px;box-shadow:var(--kvi-shadow-sm);border-radius:50%;flex:none;place-items:center;font-size:1.25rem;font-weight:850;display:grid}.account-profile-id{gap:5px;min-width:0;display:grid}.account-profile-email-display{color:var(--kvi-text);text-overflow:ellipsis;white-space:nowrap;margin:0;font-weight:750;overflow:hidden}.account-profile-pill{letter-spacing:.02em;color:var(--kvi-success-text);background:var(--kvi-success-surface);border:1px solid color-mix(in srgb, var(--kvi-success) 38%, transparent);border-radius:999px;justify-self:start;padding:3px 10px;font-size:.74rem;font-weight:800}.account-profile-pill--muted{color:var(--kvi-muted);background:var(--kvi-tab-bar-bg);border-color:var(--kvi-border)}.account-profile-lead{margin:8px 0 0}.account-profile-note{margin:14px 0 0;font-size:.88rem}.account-profile-error{color:var(--kvi-danger,#c0392b);margin:12px 0 0;font-size:.9rem;font-weight:650}.account-profile-modal .link-button{color:var(--kvi-secondary);cursor:pointer;font:inherit;background:0 0;border:0;padding:0;text-decoration:underline}.account-profile-modal .link-button:disabled{opacity:.6;cursor:not-allowed}.account-profile-footer{justify-content:space-between;align-items:center;gap:10px;margin-top:20px;display:flex}.account-profile-footer-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.account-profile-footer .secondary-button,.account-profile-footer .primary-button{white-space:nowrap;flex-shrink:0;width:auto;min-height:46px;padding:0 18px}.account-profile-footer .account-profile-save{padding:0 22px}.account-profile-modal .account-profile-signout{color:var(--kvi-muted);cursor:pointer;white-space:nowrap;transition:color .16s var(--kvi-ease);background:0 0;border:0;padding:6px 2px;font-weight:700}@media (hover:hover){.account-profile-modal .account-profile-signout:hover:not(:disabled){color:var(--kvi-danger)}}.account-profile-modal .account-profile-signout:disabled{opacity:.5;cursor:not-allowed}.account-profile-modal .equipment-status-footer{flex-wrap:wrap}.account-profile-modal .equipment-status-footer .primary-button,.account-profile-modal .equipment-status-footer .secondary-button{white-space:nowrap;flex:auto;width:auto;min-height:46px;padding:0 18px}.admin-users-panel{gap:12px;display:grid}.admin-users-toolbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.admin-users-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.admin-users-row{border:1px solid var(--kvi-border);background:var(--kvi-surface);border-radius:16px;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.admin-users-row.is-revoked{opacity:.62}.admin-users-main{gap:4px;min-width:0;display:grid}.admin-users-main strong{color:var(--kvi-text);font-size:.92rem;font-weight:850}.admin-users-company,.admin-users-skills{color:var(--kvi-muted);font-size:.84rem}.admin-users-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.admin-users-actions .secondary-button{border:1px solid var(--kvi-border);border-radius:12px;min-height:36px;padding:0 12px;font-size:.82rem}.admin-users-actions .secondary-button.danger{color:var(--kvi-danger);background:#fee2e2bf;border-color:#dc354559}.admin-users-toolbar .secondary-button{border-radius:12px;min-height:36px;padding:0 12px;font-size:.82rem}.admin-users-toggle{color:var(--kvi-text);align-items:center;gap:6px;font-size:.84rem;font-weight:700;display:inline-flex}.admin-users-empty{justify-items:start;gap:10px;display:grid}:root[data-theme=dark] .admin-users-row{border-color:var(--kvi-border);background:#102235}:root[data-theme=dark] .admin-users-main strong{color:var(--kvi-text)}:root[data-theme=dark] .admin-users-company,:root[data-theme=dark] .admin-users-skills,:root[data-theme=dark] .admin-users-toggle{color:var(--kvi-muted)}:root[data-theme=dark] .admin-users-actions .secondary-button{border-color:var(--kvi-border);color:var(--kvi-text);background:#0d1826}:root[data-theme=dark] .admin-users-actions .secondary-button.danger{color:#fca5a5;background:#7f1d1d47;border-color:#f8717161}:root[data-theme=dark] .admin-users-toolbar .secondary-button{border:1px solid var(--kvi-border);color:var(--kvi-accent);background:#0d1826}.admin-permits-warn{color:#b45309;background:#d977061a;border:1px solid #d9770659;border-radius:12px;margin:0 0 10px;padding:10px 12px;font-size:.84rem;line-height:1.45}:root[data-theme=dark] .admin-permits-warn{color:#fcd34d;background:#b4530933;border-color:#fbbf2459}.admin-permits-stats .admin-permits-stat--active .admin-insights-stat-value{color:#2563eb}:root[data-theme=dark] .admin-permits-stats .admin-permits-stat--active .admin-insights-stat-value{color:#60a5fa}.admin-permits-bars .admin-permits-bar-label{align-items:center;gap:6px;min-width:6.5rem;font-size:.78rem;font-weight:700;display:inline-flex}.admin-permits-status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.admin-permits-bar{opacity:.72}.admin-permits-range-btn{border-style:solid;border-width:1px;min-width:2.75rem}.admin-permits-range-btn.active{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--kvi-accent) 45%, transparent)}.admin-permits-timeline-block{min-height:148px}.admin-permits-timeline{scrollbar-gutter:stable both-edges;border:1px solid var(--kvi-border);background:var(--kvi-surface);border-radius:12px;align-items:flex-end;gap:4px;height:118px;min-height:118px;padding:8px 4px 4px;display:flex;overflow:auto hidden}.admin-permits-timeline-day{flex:0 0 28px;grid-template-rows:1fr auto auto;place-items:end center;gap:2px;min-height:92px;display:grid}.admin-permits-timeline-bar{background:linear-gradient(#0f766ed9,#14b8a68c);border-radius:6px 6px 2px 2px;width:100%;max-width:18px;display:block}.admin-permits-timeline-count{color:var(--kvi-text);font-size:.62rem;font-weight:800}.admin-permits-timeline-label{color:var(--kvi-muted);font-size:.58rem}.admin-permits-table-title{font-weight:800;display:block}.admin-permits-table-sub{color:var(--kvi-muted);font-size:.72rem;display:block}.admin-permits-status-pill{text-transform:uppercase;letter-spacing:.03em;background:color-mix(in srgb, currentColor 10%, transparent);border:1px solid;border-radius:999px;align-items:center;padding:2px 8px;font-size:.68rem;font-weight:800;display:inline-flex}.admin-permits-footnote{align-items:center;gap:6px;margin:4px 0 0;display:inline-flex}:root[data-theme=dark] .admin-permits-timeline{border-color:var(--kvi-border);background:#0d1826}.permit-mobile-quick-label{margin:0 0 10px;font-size:.86rem}.permit-filter{gap:8px;margin-bottom:10px;display:grid}.permit-filter-form{border:1px solid var(--kvi-border);background:var(--kvi-surface);transition:border-color .16s var(--kvi-ease), box-shadow .16s var(--kvi-ease);border-radius:12px;align-items:center;gap:8px;padding:6px 8px 6px 12px;display:flex}.permit-filter-form:focus-within{border-color:var(--kvi-secondary);box-shadow:0 0 0 4px color-mix(in srgb, var(--kvi-secondary) 16%, transparent)}.permit-filter-icon{color:var(--kvi-muted);flex-shrink:0}.permit-filter-input{min-width:0;color:var(--kvi-text);background:0 0;border:0;outline:none;flex:1;font-size:.9rem}.permit-filter-go{background:linear-gradient(135deg, var(--kvi-primary), var(--kvi-secondary));color:#fff;cursor:pointer;border:0;border-radius:9px;flex-shrink:0;padding:5px 12px;font-size:.8rem;font-weight:800}.permit-filter-go:disabled{opacity:.6;cursor:progress}.permit-filter-chip{border:1px solid color-mix(in srgb, var(--kvi-secondary) 45%, var(--kvi-border));background:var(--kvi-tab-active-bg);max-width:100%;color:var(--kvi-primary);cursor:pointer;border-radius:999px;justify-self:start;align-items:center;gap:6px;padding:4px 8px 4px 12px;font-size:.78rem;font-weight:750;display:inline-flex}.permit-filter-chip-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.permit-request-empty{text-align:center;flex-direction:column;align-items:center;gap:6px;padding:28px 18px;display:flex}.permit-request-empty-icon{width:34px;height:34px;color:var(--kvi-secondary);opacity:.85;margin-bottom:4px}.permit-request-empty-title{color:var(--kvi-text);margin:0;font-size:1rem;font-weight:800}.permit-request-empty-hint{max-width:30ch;color:var(--kvi-muted);margin:0;font-size:.88rem;line-height:1.45}.permit-request-empty-cta{gap:6px;width:auto;min-height:42px;margin-top:10px;padding:0 18px}.permit-flow-modal-backdrop{z-index:5000}body.locator-modal-open .share-capture-zone--permit-mobile .map-with-elevation-rail,body.locator-modal-open .share-capture-zone--permit .map-with-elevation-rail{pointer-events:none!important}.permit-edit-modal{gap:12px;max-height:min(90dvh,640px);display:grid}.permit-edit-reapproval-note{color:var(--kvi-callout-warn-text);background:var(--kvi-callout-warn-bg);border:1px solid var(--kvi-callout-warn-border);border-radius:10px;margin:0;padding:9px 12px;font-size:.85rem;font-weight:650;line-height:1.4}.permit-edit-field{color:var(--kvi-text);gap:6px;font-size:.86rem;font-weight:750;display:grid}.permit-edit-field input[type=text],.permit-edit-field input[type=date],.permit-edit-modal textarea{border:1px solid var(--kvi-border);background:var(--kvi-surface);width:100%;color:var(--kvi-text);transition:border-color .16s var(--kvi-ease), box-shadow .16s var(--kvi-ease);border-radius:10px;outline:none;padding:10px 12px;font-size:16px}.permit-edit-field input:focus,.permit-edit-modal textarea:focus{border-color:var(--kvi-secondary);box-shadow:0 0 0 4px color-mix(in srgb, var(--kvi-secondary) 18%, transparent)}.permit-edit-dates{grid-template-columns:1fr 1fr;gap:10px;display:grid}@media (width<=420px){.permit-edit-dates{grid-template-columns:1fr}}.permit-edit-types{flex-wrap:wrap;gap:6px;display:flex}.permit-edit-type-chip{border:1px solid var(--kvi-border);background:var(--kvi-tab-bar-bg);color:var(--kvi-muted);cursor:pointer;transition:background .16s var(--kvi-ease), border-color .16s var(--kvi-ease), color .16s var(--kvi-ease), transform .12s var(--kvi-ease);border-radius:999px;padding:6px 12px;font-size:12px;font-weight:750}.permit-edit-type-chip:active{transform:scale(.96)}.permit-edit-type-chip.is-active{border-color:color-mix(in srgb, var(--kvi-secondary) 55%, var(--kvi-border));background:var(--kvi-tab-active-bg);color:var(--kvi-primary)}.permit-zone-pin-divicon{background:0 0!important;border:none!important}.permit-zone-pin-root{pointer-events:none;width:0;height:0;position:relative;overflow:visible}.permit-zone-pin-root .permit-zone-badge{white-space:nowrap;color:#f8fafc;pointer-events:none;background:#0a1829eb;border-radius:10px;flex-direction:column;align-items:flex-start;gap:3px;min-width:0;max-width:min(300px,74vw);padding:5px 10px;line-height:1.2;display:flex;position:absolute;top:-8px;left:10px;transform:translateY(-100%);box-shadow:0 1px 4px #00000059}.permit-zone-badge--selected{box-shadow:0 0 0 1px #ffffff59,0 2px 6px #0006}.permit-zone-badge-row{align-items:center;gap:5px;min-width:0;max-width:100%;display:flex}.permit-zone-badge-kks{letter-spacing:.03em;color:#dbeafe;text-overflow:ellipsis;flex-shrink:1;min-width:0;font-family:ui-monospace,monospace;font-size:11px;font-weight:800;overflow:hidden}.permit-zone-badge-sep{color:#94a3b8a6;flex-shrink:0;font-size:10px;font-weight:700}.permit-zone-badge-type{color:#cbd5e1;text-overflow:ellipsis;flex-shrink:1;min-width:0;font-size:10px;font-weight:700;overflow:hidden}.permit-zone-badge-status{letter-spacing:.04em;text-transform:uppercase;flex-shrink:0;font-size:9px;font-weight:800}.permit-zone-badge-status--draft{color:#94a3b8}.permit-zone-badge-status--submitted{color:#fbbf24}.permit-zone-badge-status--approved{color:#5eead4}.permit-zone-badge-status--active{color:#93c5fd}.permit-zone-badge-status--closed{color:#94a3b8}.permit-zone-badge-status--rejected{color:#fca5a5}.permit-zone-badge-date{letter-spacing:.03em;color:#fde047;text-shadow:0 0 2px #000000f2,0 1px 2px #000000d9;flex-shrink:0;font-size:10px;font-weight:700}.permit-zone-badge-company{color:#7dd3fc;text-overflow:ellipsis;flex-shrink:1;align-items:center;gap:4px;min-width:0;font-size:10px;font-weight:700;display:inline-flex;overflow:hidden}.permit-zone-badge-swatch{border-radius:2px;flex-shrink:0;width:8px;height:8px;box-shadow:0 0 0 1px #ffffff40}.permit-mobile-desktop-hint{background:var(--kvi-callout-bg);border:1px solid var(--kvi-callout-border);color:var(--kvi-text);border-radius:12px;margin:0 0 12px;padding:10px 12px;font-size:.85rem;line-height:1.45}.activity-feed .activity-feed-card{border-radius:16px}.activity-feed .activity-feed-card-head{gap:8px}.activity-feed .activity-feed-card-body{line-height:1.45}.locator-actions.bottom-bar .primary-button,.locator-actions.bottom-bar .secondary-button{min-height:42px}.admin-users-role{color:var(--kvi-muted);flex-direction:column;gap:4px;font-size:.75rem;display:flex}.admin-users-role select{border:1px solid var(--kvi-border);background:var(--kvi-surface);min-height:36px;color:var(--kvi-text);border-radius:10px;padding:0 8px}.admin-permits-matrix-grid{gap:10px;margin-bottom:12px;display:grid}.admin-permits-matrix-row{gap:8px;display:grid}@media (width>=720px){.admin-permits-matrix-row{grid-template-columns:120px 1fr;align-items:center}}.admin-permits-matrix-type{font-weight:700}.admin-permits-matrix-roles{flex-wrap:wrap;gap:6px;display:flex}.admin-permits-matrix-role.active{border-color:var(--kvi-accent);color:var(--kvi-accent)}.admin-permits-pending-day+.admin-permits-pending-day{margin-top:16px}.admin-permits-pending-day h5{margin:0 0 8px}.admin-permits-pending-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.admin-permits-pending-item{border:1px solid var(--kvi-border);background:var(--kvi-surface);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;padding:12px;display:flex}.admin-permits-pending-main{gap:4px;min-width:min(100%,280px);display:grid}.admin-permits-pending-actions{flex-wrap:wrap;gap:6px;display:flex}.admin-permits-decision-backdrop,.permit-decision-modal-backdrop{z-index:1200;background:#0000008c;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.admin-permits-decision-modal,.permit-decision-modal{border:1px solid var(--kvi-border);background:var(--kvi-surface-elevated,var(--kvi-surface));border-radius:16px;gap:12px;width:min(100%,420px);padding:16px;display:grid}.admin-permits-decision-comment,.permit-decision-comment{border:1px solid var(--kvi-border);background:var(--kvi-surface);width:100%;min-height:88px;color:var(--kvi-text);resize:vertical;border-radius:12px;padding:10px}.admin-permits-decision-actions,.permit-decision-modal-actions{justify-content:flex-end;gap:8px;display:flex}.permit-request-approval-progress{margin-top:4px;display:block}.permit-decision-comment-label{gap:6px;font-size:.85rem;display:grid}.permit-request-owner{color:var(--kvi-muted);font-size:.75rem;display:block}.permit-request-owner.is-own{color:color-mix(in srgb, var(--kvi-secondary) 70%, var(--kvi-muted))}.permit-attachment-picker{border:1px dashed color-mix(in srgb, var(--kvi-border) 80%, transparent);background:color-mix(in srgb, var(--kvi-surface) 92%, transparent);border-radius:12px;gap:8px;padding:10px;display:grid}.permit-attachment-picker--compact{padding:8px}.permit-attachment-picker-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.permit-attachment-picker-title{font-size:.82rem;font-weight:750}.permit-attachment-picker-hint{margin:0}.permit-attachment-picker-grid{grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px;display:grid}.permit-attachment-thumb{gap:4px;display:grid;position:relative}.permit-attachment-thumb img{aspect-ratio:1;-o-object-fit:cover;object-fit:cover;border:1px solid var(--kvi-border);border-radius:10px;width:100%}.permit-attachment-file-icon{aspect-ratio:1;border:1px solid var(--kvi-border);background:color-mix(in srgb, var(--kvi-surface) 88%, var(--kvi-secondary));width:100%;color:var(--kvi-secondary);border-radius:10px;place-items:center;display:grid}.permit-attachment-thumb-label{color:var(--kvi-muted);text-align:center;font-size:.68rem;line-height:1.2}.permit-attachment-thumb-remove{background:color-mix(in srgb, var(--kvi-bg) 80%, transparent);width:24px;height:24px;color:var(--kvi-text);cursor:pointer;border:none;border-radius:999px;place-items:center;display:grid;position:absolute;top:4px;right:4px}.permit-attachment-gallery{flex-wrap:wrap;gap:8px;margin-top:6px;display:flex}.permit-attachment-gallery--compact{gap:6px}.permit-attachment-gallery-item{cursor:pointer;text-align:center;background:0 0;border:none;gap:4px;width:72px;padding:0;display:grid}.permit-attachment-gallery-item img{-o-object-fit:cover;object-fit:cover;border:1px solid var(--kvi-border);border-radius:10px;width:72px;height:72px}.permit-attachment-gallery-item span{color:var(--kvi-muted);text-overflow:ellipsis;white-space:nowrap;max-width:72px;font-size:.65rem;line-height:1.2;overflow:hidden}.permit-attachment-gallery-item--file{color:inherit;text-decoration:none}.permit-attachment-gallery-file{border:1px solid var(--kvi-border);background:color-mix(in srgb, var(--kvi-surface) 88%, var(--kvi-secondary));width:72px;height:72px;color:var(--kvi-secondary);border-radius:10px;place-items:center;display:grid}.permit-edit-attachments{gap:6px;display:grid}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;top:0;left:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:0 0}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{-webkit-transform-origin:0 0;width:1600px;height:1600px}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{width:auto;padding:0;max-width:none!important;max-height:none!important}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:#33b5e566}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{box-sizing:border-box;z-index:800;width:0;height:0}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{z-index:800;pointer-events:visiblePainted;pointer-events:auto;position:relative}.leaflet-top,.leaflet-bottom{z-index:1000;pointer-events:none;position:absolute}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{outline-offset:1px;background:#ddd}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{background:#ffffff80;border:2px dotted #38f}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:.75rem;line-height:1.5}.leaflet-bar{border-radius:4px;box-shadow:0 1px 5px #000000a6}.leaflet-bar a{text-align:center;color:#000;background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;text-decoration:none;display:block}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom:none;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.leaflet-bar a.leaflet-disabled{cursor:default;color:#bbb;background-color:#f4f4f4}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-right-radius:2px;border-bottom-left-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{text-indent:1px;font:700 18px Lucida Console,Monaco,monospace}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{background:#fff;border-radius:5px;box-shadow:0 1px 5px #0006}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{color:#333;background:#fff;padding:6px 10px 6px 6px}.leaflet-control-layers-scrollbar{padding-right:5px;overflow:hidden scroll}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{font-size:1.08333em;display:block}.leaflet-control-layers-separator{border-top:1px solid #ddd;height:0;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{color:#333;padding:0 5px;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{width:1em;height:.6669em;vertical-align:baseline!important;display:inline!important}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{white-space:nowrap;box-sizing:border-box;text-shadow:1px 1px #fff;background:#fffc;border:2px solid #777;border-top:none;padding:2px 5px 1px;line-height:1.1}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{background-clip:padding-box;border:2px solid #0003}.leaflet-popup{text-align:center;margin-bottom:20px;position:absolute}.leaflet-popup-content-wrapper{text-align:left;border-radius:12px;padding:1px}.leaflet-popup-content{min-height:1px;margin:13px 24px 13px 20px;font-size:1.08333em;line-height:1.3}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{pointer-events:none;width:40px;height:20px;margin-top:-1px;margin-left:-20px;position:absolute;left:50%;overflow:hidden}.leaflet-popup-tip{pointer-events:auto;width:17px;height:17px;margin:-10px auto 0;padding:1px;transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{color:#333;background:#fff;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{text-align:center;color:#757575;background:0 0;border:none;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;text-decoration:none;position:absolute;top:0;right:0}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";width:24px;filter:progid:DXImageTransform.Microsoft.Matrix(M11=.707107, M12=.707107, M21=-.707107, M22=.707107);margin:0 auto}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{color:#222;white-space:nowrap;-webkit-user-select:none;user-select:none;pointer-events:none;background-color:#fff;border:1px solid #fff;border-radius:3px;padding:6px;position:absolute;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{pointer-events:none;content:"";background:0 0;border:6px solid #0000;position:absolute}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{margin-left:-6px;left:50%}.leaflet-tooltip-top:before{border-top-color:#fff;margin-bottom:-12px;bottom:0}.leaflet-tooltip-bottom:before{border-bottom-color:#fff;margin-top:-12px;margin-left:-6px;top:0}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{margin-top:-6px;top:50%}.leaflet-tooltip-left:before{border-left-color:#fff;margin-right:-12px;right:0}.leaflet-tooltip-right:before{border-right-color:#fff;margin-left:-12px;left:0}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
