:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#233c34;background:#f3f5f4;font-synthesis:none;--surface: #fff;--text: #233c34;--muted: #66766f;--border: #dce3df;--accent: #173d35;--free: #168466;--occupied: #b9564e;--unknown: #8b949e;--radius: 12px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select{touch-action:manipulation}button{border:1px solid var(--border);background:var(--surface);color:var(--text);padding:10px 14px;border-radius:8px;min-height:44px;cursor:pointer;transition:background .15s}button:hover{background:#eaf1ed}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus,select:focus,textarea:focus{outline:3px solid #6498dc;outline-offset:2px}.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.primary:hover{background:#265d4c}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1{font-size:28px;letter-spacing:-.7px;margin:0 0 12px}h2{font-size:20px;margin:0 0 14px}h3{font-size:16px;margin:16px 0 12px}p{line-height:1.6;margin:8px 0 16px}small,.muted{color:var(--muted)}label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:600;margin-bottom:16px}input,select,textarea{width:100%;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);padding:11px 12px;min-height:44px}textarea{font-family:monospace;font-size:13px}.check{flex-direction:row;align-items:center;font-weight:400}.check input{width:18px;min-height:18px}.brand{display:flex;align-items:center;gap:12px;font-size:28px;font-weight:800;letter-spacing:-1px}.brand span{font-size:16px;letter-spacing:-.3px}.brand small{display:block;font-size:11px;font-weight:400;letter-spacing:0;margin-top:3px}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px;margin-bottom:20px}.actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.error{background:#fff1ee;color:#922f21;border:1px solid #edb4a9;padding:14px 20px;border-radius:8px;margin-bottom:16px;overflow-wrap:anywhere}.success{color:#176247;padding:8px 0}.login{min-height:100dvh;display:grid;place-items:center;padding:24px}.login form{width:100%;max-width:430px;padding:36px}.login h1{font-size:24px;margin-top:36px}.login form>a{display:block;margin-top:24px}.login button{width:100%}.sidebar{width:240px;position:fixed;inset:0 auto 0 0;padding:28px 20px;display:flex;flex-direction:column;border-right:1px solid var(--border);background:var(--surface);z-index:20}.sidebar nav{display:flex;flex-direction:column;gap:4px;margin:36px 0 auto}.sidebar nav button{text-align:left;border:none;background:none;font-size:14px}.sidebar nav button.active{background:#e6eee9;color:#174c37;font-weight:650}.sidebar>small{margin-bottom:12px}.admin-body{margin-left:240px}.admin-header{height:86px;background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:24px;padding:0 32px}.admin-header label{flex-direction:row;align-items:center;gap:12px;margin:0}.admin-header select{min-width:220px}.admin-header>a{margin-left:auto;font-size:13px}.admin main{padding:32px;max-width:1800px}.working{opacity:.7;pointer-events:none}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:24px}.kpis strong{display:block;font-size:38px;font-variant-numeric:tabular-nums}.kpis span{color:var(--muted);font-size:13px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:20px}.editor-grid{display:grid;grid-template-columns:190px minmax(300px,1fr) 270px;min-height:660px;gap:16px}.editor-grid .panel{padding:16px}.editor-grid .map-wrap{min-height:650px;border-radius:12px;overflow:hidden}.object{display:flex;justify-content:space-between;align-items:center;gap:5px;padding:8px 0;border-bottom:1px solid var(--border);font-size:12px}.object button{font-size:11px;padding:6px}.map-wrap{position:relative;height:100%;min-height:300px;background:#edf1ef}.map{position:absolute;top:0;right:0;bottom:0;left:0}.map-notice{position:absolute;left:12px;right:52px;bottom:28px;background:#ffffffe8;color:#5a655f;font-size:11px;padding:8px;border-radius:6px;pointer-events:none}.camera-grid{display:grid;grid-template-columns:220px 1fr;gap:24px}.camera-item{display:flex;flex-direction:column;gap:6px;text-align:left;width:100%;margin-top:12px}.snapshot{position:relative;line-height:0;cursor:crosshair;margin-top:16px}.snapshot img{width:100%;height:auto}.snapshot svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}pre{font-size:12px;white-space:pre-wrap;overflow:auto;background:#f3f5f4;padding:16px;border-radius:8px}.settings{max-width:720px}table{width:100%;border-collapse:collapse;font-size:13px;table-layout:auto}th,td{padding:12px;text-align:left;border-bottom:1px solid var(--border);overflow-wrap:anywhere}th{color:var(--muted);font-weight:500}.location-list{max-width:760px;margin:0 auto;padding:48px 24px}.location-list h1{margin-top:48px}.location-link{display:block}.public-app{max-width:760px;margin:auto;background:var(--surface);min-height:100dvh;box-shadow:0 0 60px #173d3510}.public-header{height:76px;padding:16px 20px;display:flex;align-items:center;gap:16px;padding-top:max(16px,env(safe-area-inset-top))}.public-header h1{font-size:18px;letter-spacing:-.4px;margin:0 0 3px}.public-header small{font-size:11px}.public-header>button{margin-left:auto}.public-summary{padding:10px 20px 16px;display:flex;gap:8px 16px;flex-wrap:wrap;align-items:center}.public-summary strong{font-size:22px}.public-summary strong span{font-size:13px;font-weight:400;color:var(--muted)}.public-summary small{width:100%}.live{margin-left:auto;font-size:12px;color:var(--free)}.public-map{height:43dvh;min-height:270px;position:relative}.locate{position:absolute;top:12px;left:12px;font-size:12px;box-shadow:0 2px 8px #0001}.navigation{padding:16px 20px 20px}.navigation label{flex-direction:row;align-items:center;gap:16px}.navigation select{width:auto;flex:1;font-size:12px}.find{width:100%;font-weight:600}.navigation p{font-size:13px}.navigation details{margin-top:16px}summary{cursor:pointer;font-size:13px;padding:8px 0}.space-list{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.space{padding:10px;border-radius:6px;background:#eef1ef;font-size:12px;border:1px solid #c7d0cb}.space.FREE{background:#e3f3eb;border-color:#99cdb6}.space.OCCUPIED{background:#fae9e7;border-color:#dfb4af}.route-info{padding:12px;background:#edf3ff;border-radius:8px;color:#294976}.ad-region{background:#f1f3ee;min-height:175px;padding:20px;color:#304033;overflow:hidden;padding-bottom:max(20px,env(safe-area-inset-bottom))}.ad-region>a{display:flex;gap:20px;color:inherit}.ad-region img{width:35%;object-fit:cover;max-height:170px;border-radius:8px}.ad-region h3{margin:8px 0}.ad-region p{font-size:13px;margin:0 0 12px}.ad-region small{font-size:10px;text-transform:uppercase;letter-spacing:1px}.ad-region strong{font-size:13px}.ad-empty{padding:20px 0}.ad-preview{width:100%!important}.dark{--surface: #1c2c26;--text: #edf3ef;--muted: #a6b8ad;--border: #40584c;--accent: #7dc6a1;background:#14221c;color:var(--text)}.dark .primary{color:#14221c}.dark .ad-region{background:#28382d;color:#e2eee5}.dark .space{color:#173d35}@media(max-width:1200px){.editor-grid{grid-template-columns:1fr 260px}.editor-grid>aside:first-child{display:none}.admin main{padding:24px}.section-head{display:block}}@media(max-width:800px){.sidebar{position:static;width:auto;padding:12px}.sidebar nav{flex-direction:row;overflow:auto;margin:12px 0}.sidebar nav button{white-space:nowrap}.sidebar>small,.sidebar>button{display:none}.admin-body{margin:0}.admin-header{padding:12px;height:auto;flex-wrap:wrap;gap:8px}.admin main{padding:16px}.two-cols,.camera-grid{grid-template-columns:1fr}.kpis{grid-template-columns:1fr 1fr}.editor-grid{grid-template-columns:1fr}.editor-grid .map-wrap{min-height:400px}.panel{padding:18px}.admin-header select{min-width:0}.public-app{max-width:none}table{font-size:11px}td,th{padding:8px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}.vertex{width:24px;height:24px;min-height:24px;padding:0;border:2px solid white;border-radius:50%;background:#2563eb;color:#fff;font-size:10px;box-shadow:0 1px 5px #0005;cursor:move}.vertex-row{display:flex;align-items:center;gap:4px;margin:5px 0}.vertex-row input{padding:6px;font-size:11px;min-width:0}.object-tree,.inspector{max-height:800px;overflow:auto}.tree-button{display:block;width:100%;text-align:start;margin:4px 0;font-size:12px}.object input{width:18px;min-height:18px}.object button{flex:1;text-align:start}.object .active{background:#dceafa}.inspector button{margin:3px}.inspector h3{border-top:1px solid var(--border);padding-top:16px}.inspector h3:first-child{border:0;padding-top:0}.editor-grid{grid-template-columns:200px minmax(300px,1fr) 285px}.editor-grid .map-wrap{min-height:750px}.video-ad{width:100%;max-height:220px;border-radius:8px;background:#14221c}.ad-region video{width:40%;max-height:180px;object-fit:contain}.status-badge{display:inline-block;padding:5px 8px;border-radius:4px;background:#e9f0ec;font-size:12px}.alert-list{display:grid;gap:10px}.alert-row{padding:12px;background:#fff5e5;border-left:3px solid #d89931}.steps{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.steps span{padding:8px 12px;background:#edf2ef;border-radius:5px;font-size:12px}.scroll-table{overflow:auto}@media(max-width:1200px){.editor-grid{grid-template-columns:160px minmax(280px,1fr) 240px}.editor-grid>aside:first-child{display:block}.sidebar{width:205px}.admin-body{margin-inline-start:205px}.admin main{padding:20px}}@media(max-width:950px){.editor-grid{grid-template-columns:1fr 260px}.editor-grid>aside:first-child{grid-column:1/-1;max-height:180px}.sidebar{position:static;width:auto}.sidebar nav{flex-direction:row;overflow:auto;margin:10px 0}.sidebar nav button{white-space:nowrap}.admin-body{margin:0}}@media(max-width:600px){.editor-grid{display:flex;flex-direction:column}.editor-grid .map-wrap{height:450px;min-height:450px}.form-grid{grid-template-columns:1fr}.ad-region video{width:40%}.sidebar nav{max-width:100%}.admin-header label{width:100%}.admin-header select{flex:1;min-width:0}}.ad-content{display:flex;gap:18px;align-items:center}.ad-content>div{flex:1}.channel-link{display:inline-block;margin:12px;font-size:13px}.public-header .brand{flex-shrink:0}.public-header>div{flex:1}.public-header>button{margin:0;padding:8px;min-width:44px}.kpis strong{font-size:clamp(20px,2.5vw,36px)}.dark .alert-row{background:#423720;color:#f5e4bd}.dark .status-badge{background:#314a3e}.dark .map-notice{background:#23352de8;color:#edf3ef}.dark pre{background:#14221c;color:#eaf3ef}.editor-grid .map-wrap{position:relative;width:100%;height:750px;min-height:750px;overflow:hidden}.editor-grid .map{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.editor-grid .map .maplibregl-map{position:relative;width:100%;height:100%}.editor-grid .map .maplibregl-canvas-container,.editor-grid .map .maplibregl-canvas{width:100%!important;height:100%!important}.editor-grid .map .maplibregl-canvas{display:block}.editor-help{margin:4px 0 14px;padding:12px 13px;border:1px solid #cddfd6;border-left:4px solid #3c7865;border-radius:6px;background:#f3f8f5;font-size:13px;line-height:1.45}.editor-help strong{display:block;margin-bottom:5px;color:#173d35}.editor-help p{margin:0 0 7px}.editor-help-progress{color:#52645d;font-size:12px}.dark .editor-help{background:#20332b;border-color:#38594b;border-left-color:#75a992}.dark .editor-help strong{color:#e4f2eb}.dark .editor-help-progress{color:#b9ccc3}.editor-grid{display:grid!important;grid-template-columns:230px minmax(500px,1fr) 300px!important;gap:14px!important;align-items:stretch}.editor-stage{position:relative;min-width:0;min-height:680px;background:#eef2f1;border:1px solid #d8e0dd;border-radius:16px;overflow:hidden}.editor-map{position:absolute;top:0;right:0;bottom:0;left:0}.editor-map .map-wrap{width:100%;height:100%;min-height:680px;border-radius:0}.editor-toolbar{position:absolute;z-index:20;top:14px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:6px;max-width:calc(100% - 28px);padding:7px;background:#fffffff5;border:1px solid #d9e1de;border-radius:12px;box-shadow:0 6px 24px #142d261f;overflow-x:auto}.editor-toolbar button{width:auto;white-space:nowrap;margin:0}.editor-toolbar button.active{background:#173d35;color:#fff;border-color:#173d35}.editor-toolbar-separator{width:1px;height:26px;flex:0 0 1px;background:#d8dfdd;margin:0 3px}.editor-legend{position:absolute;z-index:20;left:14px;bottom:14px;display:flex;flex-wrap:wrap;gap:12px;padding:8px 12px;background:#fffffff0;border:1px solid #d9e1de;border-radius:10px;box-shadow:0 4px 18px #142d261a;font-size:12px}.editor-legend span{display:flex;align-items:center;gap:5px}.legend-dot{width:9px;height:9px;display:inline-block;border-radius:50%}.entrance-dot{background:#16a34a}.exit-dot{background:#dc2626}.node-dot{background:#173d35}.legend-space{display:inline-block;width:13px;height:9px;border:2px solid #173d35;border-radius:2px;background:#173d351a}.object-tree,.inspector{max-height:680px;overflow-y:auto;align-self:stretch}.object-tree h3,.inspector h3{margin-top:16px}.object-tree h3:first-child,.inspector h3:first-child{margin-top:0}@media(max-width:1100px){.editor-grid{grid-template-columns:200px minmax(420px,1fr) 260px!important}}.tree-title{margin:0 0 14px;font-size:20px}.tree-section-title{display:flex;justify-content:space-between;align-items:center;margin:18px 0 8px!important;padding-top:12px;border-top:1px solid #e5e9e7;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#68756f}.tree-section-title span{padding:2px 7px;background:#edf2f0;border-radius:10px;font-size:11px}.object-tree .object,.object-tree .tree-button,.object-tree .tree-main-object{min-height:36px}.object-tree .object button,.object-tree .tree-button,.object-tree .tree-main-object{display:flex;align-items:center;gap:8px;text-align:left}.tree-status{display:inline-block;width:9px;height:9px;flex:0 0 9px;border-radius:50%;background:#94a3b8}.boundary-status{background:#173d35}.space-ok{background:#16a34a}.space-off{background:#94a3b8}.node-entrance{background:#16a34a}.node-exit{background:#dc2626}.node-both{background:#7c3aed}.node-normal{background:#173d35}.node-closed{background:#64748b}.parking-transform{margin:14px 0;padding:12px;background:#f4f7f6;border:1px solid #dce4e1;border-radius:10px}.parking-transform strong{display:block;margin-bottom:9px}.parking-transform-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.parking-transform-buttons button{margin:0}.parking-transform small{display:block;margin-top:8px;color:#68756f}.space-move-handle{width:30px;height:30px;padding:0;border:2px solid #fff;border-radius:50%;background:#173d35;color:#fff;font-size:18px;line-height:26px;text-align:center;cursor:move;box-shadow:0 2px 8px #00000047}.space-move-handle:hover{transform:scale(1.08)}.editor-readiness{margin-top:14px;padding:16px 18px;background:#fff;border:1px solid #d8e0dd;border-radius:14px}.readiness-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px}.readiness-head>div:first-child{display:flex;flex-direction:column;gap:3px}.readiness-kicker{color:#718078;font-size:10px;font-weight:700;letter-spacing:.08em}.readiness-head strong{color:#173d35;font-size:17px}.readiness-badge{padding:6px 11px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}.readiness-badge.ready{background:#dcfce7;color:#166534}.readiness-badge.pending{background:#f1f5f4;color:#64748b}.readiness-items{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.readiness-item{display:flex;align-items:center;gap:8px;min-width:0;padding:10px;background:#f8faf9;border:1px solid #e4e9e7;border-radius:10px}.readiness-item>span{display:grid;place-items:center;width:24px;height:24px;flex:0 0 24px;border-radius:50%;font-size:13px;font-weight:800}.readiness-item div{display:flex;min-width:0;flex-direction:column}.readiness-item strong{color:#263d36;font-size:12px}.readiness-item small{margin-top:2px;overflow:hidden;color:#75817d;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.readiness-item.ok>span{background:#dcfce7;color:#15803d}.readiness-item.warn>span{background:#fef3c7;color:#b45309}.readiness-item.bad>span{background:#fee2e2;color:#b91c1c}@media(max-width:1250px){.readiness-items{grid-template-columns:repeat(3,minmax(0,1fr))}}.parking-size-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}.parking-size-grid label,.parking-angle{margin:0 0 8px!important;font-size:12px}.parking-size-grid input,.parking-angle input{width:100%;box-sizing:border-box}.parking-angle{display:block}.parking-transform-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:4px}.parking-transform-buttons button{margin:0;padding-left:5px;padding-right:5px}.parking-transform small{display:block;margin-top:9px;line-height:1.35;color:#68756f}.editor-version-switch{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 16px;padding:14px 16px;background:#fff;border:1px solid #d8e0dd;border-radius:14px}.editor-version-kicker{display:block;margin-bottom:3px;color:#718078;font-size:10px;font-weight:700;letter-spacing:.08em}.editor-version-switch strong{color:#173d35;font-size:16px}.editor-version-buttons{display:flex;gap:6px}.editor-version-buttons button{margin:0;min-width:130px}.editor-version-buttons button.active{background:#173d35;color:#fff;border-color:#173d35}.v2-page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:16px}.v2-kicker{display:block;color:#718078;font-size:10px;font-weight:700;letter-spacing:.08em}.v2-page-head h1{margin:3px 0 5px;color:#173d35}.v2-page-head p{max-width:760px;margin:0}.v2-status{display:flex;align-items:center;gap:7px;padding:8px 11px;background:#eef7f1;border:1px solid #d2e7d8;border-radius:999px;color:#27653c;font-size:12px;font-weight:700;white-space:nowrap}.v2-status-dot{width:8px;height:8px;border-radius:50%;background:#16a34a}.v2-step{display:flex;align-items:center;gap:8px;padding:10px;background:#f4f7f6;border:1px solid #e0e7e4;border-radius:10px;color:#6b7772}.v2-step>span{display:grid;place-items:center;width:23px;height:23px;flex:0 0 23px;border-radius:50%;background:#e2e8e5;font-size:11px;font-weight:700}.v2-step strong{font-size:11px}.v2-step.done{color:#24613a;background:#f0f8f2;border-color:#d5e9d9}.v2-step.done>span{background:#dcfce7;color:#15803d}.v2-grid{display:grid;grid-template-columns:245px minmax(0,1fr);gap:14px}.v2-sidebar{align-self:start}.v2-sidebar h2{margin-top:0;font-size:18px}.v2-action{display:flex;align-items:center;gap:9px;width:100%;margin:4px 0;text-align:left}.v2-action span{width:22px;color:#718078}.v2-action.active{background:#edf4f1;border-color:#bfd4cc;color:#173d35}.v2-sidebar-note{margin-top:18px;padding-top:14px;border-top:1px solid #e1e7e4}.v2-sidebar-note strong{font-size:13px}.v2-sidebar-note p{margin-bottom:0;color:#68756f;font-size:12px;line-height:1.45}.v2-main{min-height:560px}.v2-main-empty{display:flex;min-height:520px;align-items:center;justify-content:center;flex-direction:column;text-align:center}.v2-main-icon{display:grid;place-items:center;width:64px;height:64px;margin-bottom:14px;border-radius:18px;background:#edf4f1;color:#173d35;font-size:30px}.v2-main-empty h2{margin:0 0 8px;color:#173d35}.v2-main-empty p{max-width:580px}.v2-summary{display:flex;gap:10px;margin-top:18px}.v2-summary>div{min-width:130px;padding:11px 14px;background:#f7f9f8;border:1px solid #e1e7e4;border-radius:10px}.v2-summary span,.v2-summary strong{display:block}.v2-summary span{color:#75817d;font-size:11px}.v2-summary strong{margin-top:3px;color:#173d35;font-size:20px}@media(max-width:1000px){.v2-workflow{grid-template-columns:repeat(3,minmax(0,1fr))}.v2-grid{grid-template-columns:1fr}.v2-sidebar{order:0}}@media(max-width:700px){.editor-version-switch,.v2-page-head{align-items:stretch;flex-direction:column}.editor-version-buttons{width:100%}.editor-version-buttons button{flex:1;min-width:0}.v2-workflow{grid-template-columns:repeat(2,minmax(0,1fr))}}.v2-step{border:1px solid #e0e7e4;background:#f4f7f6;cursor:pointer;text-align:left}.v2-step.current{border-color:#9dbdb1;background:#edf5f1;color:#173d35}.v2-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}.v2-section-head h2{margin:3px 0 5px;color:#173d35}.v2-section-head p{margin:0;max-width:720px}.v2-button-row{display:flex;gap:8px;flex-wrap:wrap}.v2-camera-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:14px}.v2-camera-list{display:flex;flex-direction:column;gap:7px}.v2-camera-card{display:flex;flex-direction:column;align-items:flex-start;gap:3px;width:100%;padding:11px;border:1px solid #dce4e1;background:#f8faf9;border-radius:10px;text-align:left}.v2-camera-card.selected{border-color:#9dbdb1;background:#edf5f1}.v2-camera-card small{color:#708079}.v2-camera-preview{min-height:420px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#eef2f1;border:1px solid #d8e0dd;border-radius:12px}.v2-camera-preview img{display:block;width:100%;height:100%;object-fit:contain}.v2-preview-empty,.v2-empty{padding:30px;color:#74817c;text-align:center}.v2-calibration-layout{display:grid;grid-template-columns:1fr 1fr;gap:12px}.v2-calibration-pane{min-width:0}.v2-pane-title{margin-bottom:7px;color:#65736d;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.v2-camera-image{position:relative;overflow:hidden;background:#eef2f1;border:1px solid #d8e0dd;border-radius:12px;cursor:crosshair}.v2-camera-image img{display:block;width:100%;height:auto}.v2-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.v2-overlay circle{fill:#16a34a;stroke:#fff;stroke-width:.004}.v2-overlay circle.pending{fill:#f59e0b}.v2-overlay text{fill:#fff;font-size:.032px;font-weight:700;paint-order:stroke;stroke:#173d35;stroke-width:.006px}.v2-calibration-map{height:100%;min-height:430px;overflow:hidden;border:1px solid #d8e0dd;border-radius:12px}.v2-calibration-map .map-wrap,.v2-calibration-map .map{width:100%;height:100%}.v2-calibration-bottom{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr);gap:14px;margin-top:14px}.v2-pairs{min-width:0}.v2-pair-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.v2-pair{display:flex;align-items:center;gap:8px;padding:7px 9px;border:1px solid #e0e7e4;background:#f8faf9;border-radius:8px}.v2-pair span{font-weight:700}.v2-pair small{color:#718078}.v2-pair button{margin:0;padding:2px 7px}.v2-calibration-status{padding:12px;border:1px solid #e0e7e4;background:#f8faf9;border-radius:10px}.v2-cal-ok{margin-bottom:10px;color:#166534;font-weight:700}.v2-cal-pending{margin-bottom:10px;color:#64748b;font-size:13px}.v2-help-box{margin-top:12px;padding:10px 12px;background:#f4f7f6;border-left:3px solid #9dbdb1;color:#63716b;font-size:12px;line-height:1.45}.v2-space-work{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:14px}.v2-space-image{min-height:520px;display:flex;align-items:center;justify-content:center;background:#eef2f1}.v2-space-image img{max-height:620px;object-fit:contain}.v2-space-image .v2-overlay{pointer-events:auto}.v2-space-image .v2-overlay g{cursor:pointer}.v2-space-image .v2-overlay polygon{fill:#2563eb22;stroke:#2563eb;stroke-width:.003}.v2-space-image .v2-overlay g.space-selected polygon{fill:#16a34a33;stroke:#16a34a;stroke-width:.005}.v2-space-image .v2-overlay text{fill:#fff;font-size:.025px;stroke:#173d35;stroke-width:.005px}.v2-space-properties{align-self:start;padding:14px;background:#f8faf9;border:1px solid #e0e7e4;border-radius:11px}.v2-space-properties h3{margin:4px 0 15px;color:#173d35;font-size:18px}.v2-space-count{padding:12px;margin-bottom:12px;background:#eef5f2;border-radius:9px}.v2-space-count strong{display:block;color:#173d35;font-size:24px}.v2-space-count span{color:#74817c;font-size:11px}.v2-space-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding-top:14px;border-top:1px solid #e1e7e4}.v2-space-footer>div{display:flex;align-items:center;gap:5px}.v2-space-footer span{color:#718078}.v2-message{position:fixed;right:24px;bottom:24px;z-index:20;max-width:420px;padding:11px 14px;background:#173d35;color:#fff;border-radius:10px;box-shadow:0 8px 30px #0000002e;font-size:13px}@media(max-width:1000px){.v2-calibration-layout,.v2-calibration-bottom,.v2-space-work,.v2-camera-layout{grid-template-columns:1fr}.v2-space-footer{align-items:flex-start;flex-direction:column}}.v2-space-image{cursor:default}.v2-space-image.space-add-active{cursor:crosshair}.v2-space-add-hint{grid-column:1 / -1;padding:10px 12px;background:#edf7f1;border:1px solid #cfe5d6;border-radius:9px;color:#24613a;font-size:12px;line-height:1.4}.editor-version-buttons button.active,.v2-button-row button.active{box-shadow:0 0 0 2px #173d351f}.edge-agent-panel{margin:0 0 16px;padding:18px;background:#fff;border:1px solid #d8e0dd;border-radius:14px}.edge-agent-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.edge-agent-head h2{margin:4px 0 6px}.edge-agent-head p{margin:0;max-width:760px;color:#68756f;line-height:1.45}.edge-agent-status{flex:none;padding:7px 11px;border-radius:999px;font-size:12px;font-weight:700}.edge-agent-status.online{background:#e8f6ed;color:#23713e}.edge-agent-status.offline{background:#f3f4f4;color:#6c746f}.edge-agent-empty{margin-top:16px;padding:16px;background:#f5f8f7;border-radius:10px}.edge-agent-empty h3{margin-top:0}.edge-agent-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:16px}.edge-agent-grid>div{padding:12px;background:#f5f8f7;border-radius:10px}.edge-agent-grid span,.edge-agent-id span{display:block;margin-bottom:5px;color:#748078;font-size:11px}.edge-agent-grid strong{font-size:14px}.edge-agent-id{margin-top:10px;padding:12px;background:#f5f8f7;border-radius:10px}.edge-agent-id code,.edge-agent-token code{word-break:break-all}.edge-agent-token{margin-top:12px;padding:14px;background:#edf7f1;border:1px solid #cfe5d6;border-radius:10px}.edge-agent-token p{margin:6px 0 10px;color:#50705d;font-size:12px}.edge-agent-token-row{display:flex;gap:8px;align-items:center}.edge-agent-token-row code{flex:1;padding:9px 10px;background:#fff;border-radius:7px}.edge-agent-help{margin-top:12px;padding:12px;border-left:3px solid #9dbdb1;background:#f7faf9}.edge-agent-help p{margin:5px 0 0;color:#68756f;line-height:1.45}@media(max-width:900px){.edge-agent-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.edge-agent-actions{margin-top:12px}.edge-pairing-code-card{margin-top:16px;padding:18px 20px;background:#edf7f1;border:1px solid #cfe5d6;border-radius:12px}.edge-pairing-kicker{display:block;margin-bottom:7px;color:#50705d;font-size:11px;font-weight:700;letter-spacing:.08em}.edge-pairing-code{margin:2px 0 4px;color:#173d35;font-size:32px;font-weight:800;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.08em;line-height:1.15}.edge-pairing-meta{color:#50705d;font-size:13px;font-weight:600}.edge-pairing-actions{margin-top:12px}.edge-pairing-code-card button{min-height:38px}.edge-pairing-code-card p{margin:12px 0 0;color:#587063;font-size:12px;line-height:1.45}.edge-agent-error{margin:12px 0;padding:10px 12px;background:#fff1ef;border:1px solid #efc1ba;border-radius:9px;color:#a12c20;font-size:13px;line-height:1.4}.edge-agents-list{display:grid;gap:8px;margin-top:14px}.edge-agent-row{padding:12px 14px;background:#f8faf9;border:1px solid #dfe7e3;border-radius:10px}.edge-agent-row-main>div:first-child{display:flex;justify-content:space-between;gap:12px}.edge-agent-row-main strong{font-size:14px}.edge-agent-online,.edge-agent-offline{font-size:12px;font-weight:700}.edge-agent-row-meta{margin-top:5px;color:#68756f;font-size:12px}.edge-new-agent{margin-top:16px;padding:16px;background:#f5f8f7;border-radius:10px}.edge-new-agent h3{margin:0 0 6px}.edge-new-agent p{margin:0 0 12px;color:#68756f;line-height:1.45}.edge-new-agent-form{display:flex;gap:8px;align-items:center}.edge-new-agent-form input{flex:1;min-width:0}@media(max-width:700px){.edge-new-agent-form{flex-direction:column;align-items:stretch}}.v2-page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:18px}.v2-page-head h1{margin:4px 0 7px;color:#173d35}.v2-page-head p{margin:0;max-width:820px;color:#65736d}.v2-kicker{display:inline-block;color:#50705d;font-size:11px;font-weight:800;letter-spacing:.1em}.v2-header-meta{display:flex;flex-direction:column;align-items:flex-end;gap:6px;padding-top:3px}.v2-object-name{color:#173d35;font-size:14px;font-weight:700}.v2-draft-status{color:#718078;font-size:12px}.v2-workflow{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-bottom:14px}.v2-step{min-height:58px;padding:10px 12px;border:1px solid #dfe7e4;background:#f7faf9;border-radius:10px;display:flex;align-items:center;gap:9px}.v2-step>span{width:26px;height:26px;flex:0 0 26px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#e7eeeb;color:#61716a;font-size:12px;font-weight:800}.v2-step strong{color:#4c5c56;font-size:12px}.v2-step.done{border-color:#cfe3d7;background:#eef7f1}.v2-step.done>span{background:#d8ecdf;color:#24613a}.v2-step.done strong{color:#24613a}.v2-summary-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-bottom:18px}.v2-summary-strip>div{padding:11px 13px;border:1px solid #dfe7e4;background:#fff;border-radius:10px}.v2-summary-strip span{display:block;margin-bottom:3px;color:#74817b;font-size:11px}.v2-summary-strip strong{color:#173d35;font-size:16px}.v2-functional-editor{position:relative}.v2-loading{padding:40px;text-align:center}@media(max-width:1200px){.v2-workflow,.v2-summary-strip{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.v2-page-head{flex-direction:column}.v2-header-meta{align-items:flex-start}.v2-workflow,.v2-summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}.parking-editor-v2{--v2-border: #dfe7e4;--v2-soft: #f5f8f7;--v2-soft-2: #eef5f2;--v2-text: #173d35;--v2-muted: #687771}.v2-page-head{margin-bottom:14px}.v2-workspace{display:grid;grid-template-columns:210px minmax(0,1fr) 250px;gap:12px;align-items:stretch}.v2-workspace-sidebar,.v2-workspace-inspector{display:flex;flex-direction:column;gap:12px;min-width:0}.v2-tool-panel,.v2-inspector-card{border:1px solid var(--v2-border);background:#fff;border-radius:12px;overflow:hidden}.v2-tool-panel{padding:12px}.v2-tool-panel-head{display:flex;flex-direction:column;gap:3px;padding:2px 2px 10px}.v2-tool-panel-head strong{color:var(--v2-text);font-size:14px}.v2-tool-group{display:flex;flex-direction:column;gap:5px;margin-top:11px}.v2-tool-group-title{padding:2px 4px;color:#7a8781;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.v2-tool-button{width:100%;min-height:38px;display:flex;align-items:center;gap:9px;border:1px solid transparent;background:transparent;border-radius:8px;color:#485a53;text-align:left}.v2-tool-button span{width:22px;color:#173d35;font-weight:700;text-align:center}.v2-tool-button:hover{border-color:#d8e4df;background:var(--v2-soft)}.v2-tool-button.active{border-color:#b9d0c5;background:var(--v2-soft-2);color:var(--v2-text)}.v2-status-panel{padding:12px}.v2-status-row{display:flex;justify-content:space-between;gap:10px;padding:8px 2px;border-top:1px solid #edf1ef;font-size:12px}.v2-status-row:first-of-type{border-top:0}.v2-status-row span{color:var(--v2-muted)}.v2-status-row strong{color:var(--v2-text)}.v2-help-panel{margin-top:auto;background:var(--v2-soft)}.v2-help-panel strong{display:block;margin-bottom:5px;color:var(--v2-text);font-size:12px}.v2-help-panel p{margin:0;color:var(--v2-muted);font-size:11px;line-height:1.45}.v2-workspace-main{min-width:0;display:flex;flex-direction:column;gap:8px}.v2-main-toolbar{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border:1px solid var(--v2-border);background:#fff;border-radius:10px}.v2-toolbar-caption{display:block;margin-bottom:2px;color:#74817b;font-size:9px;font-weight:800;letter-spacing:.08em}.v2-main-toolbar strong{color:var(--v2-text);font-size:12px}.v2-main-toolbar-actions{display:flex;align-items:center;gap:5px}.v2-draft-indicator{margin-right:3px;color:#6d7b75;font-size:10px}.v2-toolbar-action{width:31px;height:31px;min-height:31px;padding:0}.v2-editor-frame{min-width:0}.v2-editor-frame>*{margin-top:0}.v2-editor-frame .section-head{display:none}.v2-editor-frame .editor-grid{grid-template-columns:minmax(170px,205px) minmax(0,1fr) minmax(220px,250px);gap:8px}.v2-editor-frame .editor-grid>.object-tree{display:none}.v2-editor-frame .editor-grid>.editor-stage{grid-column:1 / -1}.v2-editor-frame .editor-grid>.inspector{display:none}.v2-editor-frame .editor-stage{min-width:0}.v2-editor-frame .editor-toolbar{border-radius:9px 9px 0 0}.v2-editor-frame .editor-map{min-height:620px;border-radius:0 0 9px 9px}.v2-editor-frame .editor-legend{display:none}.v2-editor-frame .editor-readiness{margin-top:8px}.v2-workspace-inspector{min-height:0}.v2-inspector-card{padding:13px}.v2-inspector-head{display:flex;flex-direction:column;gap:3px;padding-bottom:10px;border-bottom:1px solid #edf1ef}.v2-inspector-head strong{color:var(--v2-text);font-size:13px}.v2-inspector-empty{padding:26px 8px 18px;text-align:center}.v2-inspector-icon{width:42px;height:42px;margin:0 auto 10px;display:flex;align-items:center;justify-content:center;border:1px solid #d8e4df;border-radius:50%;color:#668077;font-size:18px}.v2-inspector-empty strong{display:block;color:var(--v2-text);font-size:12px}.v2-inspector-empty p{margin:6px auto 0;max-width:190px;color:var(--v2-muted);font-size:11px;line-height:1.45}.v2-inspector-muted{margin:12px 0 0;color:var(--v2-muted);font-size:11px;line-height:1.45}.v2-camera-mini-list{display:flex;flex-direction:column;gap:5px;margin-top:10px}.v2-camera-mini{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px;border:1px solid #e5ebe8;background:var(--v2-soft);border-radius:8px}.v2-camera-mini>div{min-width:0}.v2-camera-mini strong,.v2-camera-mini small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v2-camera-mini strong{color:#405149;font-size:11px}.v2-camera-mini small{margin-top:2px;color:#77847e;font-size:10px}.v2-camera-mini>span{flex:0 0 auto;width:21px;height:21px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font-size:11px;font-weight:800}.v2-camera-mini>span.ok{background:#dff0e4;color:#24613a}.v2-camera-mini>span.pending{background:#f4ead6;color:#8a672d}@media(max-width:1180px){.v2-workspace{grid-template-columns:180px minmax(0,1fr) 210px}.v2-editor-frame .editor-map{min-height:540px}}@media(max-width:900px){.v2-workspace{grid-template-columns:1fr}.v2-workspace-sidebar,.v2-workspace-inspector{display:grid;grid-template-columns:1fr 1fr}.v2-help-panel{margin-top:0}.v2-main-toolbar{align-items:flex-start;flex-direction:column}}@media(max-width:620px){.v2-workspace-sidebar,.v2-workspace-inspector{grid-template-columns:1fr}.v2-workflow{grid-template-columns:repeat(2,minmax(0,1fr))}}.parking-editor-v2 .v2-functional-editor{width:100%}.parking-editor-v2 .v2-functional-editor .section-head{margin-bottom:8px;padding:10px 12px;border:1px solid #dfe7e4;border-radius:10px;background:#fff}.parking-editor-v2 .v2-functional-editor .editor-grid{display:grid;grid-template-columns:210px minmax(0,1fr) 250px;gap:8px;align-items:stretch}.parking-editor-v2 .v2-functional-editor .object-tree,.parking-editor-v2 .v2-functional-editor .properties-panel{display:block;min-width:0;max-height:760px;overflow:auto}.parking-editor-v2 .v2-functional-editor .editor-map{min-height:620px}.parking-editor-v2 .v2-functional-editor .object-tree,.parking-editor-v2 .v2-functional-editor .properties-panel{padding:12px}.parking-editor-v2 .v2-functional-editor .editor-toolbar{padding:7px}.parking-editor-v2 .v2-functional-editor .editor-toolbar button{min-height:34px;padding:7px 10px}@media(max-width:1100px){.parking-editor-v2 .v2-functional-editor .editor-grid{grid-template-columns:180px minmax(0,1fr) 220px}}.parking-editor-v2 .v2-functional-editor>.section-head{display:none!important}.parking-editor-v2 .v2-functional-editor .editor-grid{display:grid;grid-template-columns:205px minmax(0,1fr) 250px;gap:8px;align-items:stretch}.parking-editor-v2 .v2-functional-editor .object-tree,.parking-editor-v2 .v2-functional-editor .properties-panel{display:block!important;max-height:680px;overflow-y:auto;margin:0;padding:12px;border:1px solid #dfe7e4;border-radius:10px;background:#fff}.parking-editor-v2 .v2-functional-editor .editor-stage{min-width:0}.parking-editor-v2 .v2-functional-editor .editor-toolbar{min-height:42px;padding:5px;gap:5px;border:1px solid #dfe7e4;border-bottom:0;border-radius:10px 10px 0 0;background:#fff}.parking-editor-v2 .v2-functional-editor .editor-toolbar button{min-height:32px;padding:6px 10px;border-radius:7px;font-size:11px}.parking-editor-v2 .v2-functional-editor .editor-toolbar button.active{background:#173d35;color:#fff;border-color:#173d35}.parking-editor-v2 .v2-functional-editor .editor-map{min-height:620px;border:1px solid #dfe7e4;border-radius:0 0 10px 10px;overflow:hidden}.parking-editor-v2 .v2-functional-editor .editor-legend{display:none}.parking-editor-v2 .v2-functional-editor .editor-readiness{margin-top:8px;border:1px solid #dfe7e4;border-radius:10px;background:#fff}.parking-editor-v2 .v2-functional-editor .properties-advanced{border-top:1px solid #edf1ef}.parking-editor-v2 .v2-functional-editor .object-tree .object,.parking-editor-v2 .v2-functional-editor .object-tree .tree-button,.parking-editor-v2 .v2-functional-editor .object-tree .tree-main-object{font-size:11px}.parking-editor-v2 .v2-workflow,.parking-editor-v2 .v2-summary-strip{margin-bottom:10px}@media(min-width:1400px){.parking-editor-v2 .v2-functional-editor .editor-grid{grid-template-columns:220px minmax(0,1fr) 270px}}@media(max-width:900px){.parking-editor-v2 .v2-functional-editor .editor-grid{grid-template-columns:1fr}.parking-editor-v2 .v2-functional-editor .object-tree,.parking-editor-v2 .v2-functional-editor .properties-panel{max-height:none}.parking-editor-v2 .v2-functional-editor .editor-stage{order:1}.parking-editor-v2 .v2-functional-editor .object-tree{order:0}.parking-editor-v2 .v2-functional-editor .properties-panel{order:2}}.parking-editor-v2 .v2-step{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;border:1px solid #dfe7e4;font:inherit;color:inherit;cursor:pointer;text-align:left;transition:border-color .15s ease,background .15s ease,transform .08s ease}.parking-editor-v2 .v2-step:hover{border-color:#b9d0c5;background:#f1f7f4}.parking-editor-v2 .v2-step:active{transform:translateY(1px)}.parking-editor-v2 .v2-step:focus-visible{outline:2px solid #173d35;outline-offset:2px}.parking-editor-v2 .v2-step.done:hover{background:#e8f4ec}.parking-editor-v2 .v2-own-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px;padding:8px 10px;border:1px solid #dfe7e4;border-radius:10px;background:#fff}.parking-editor-v2 .v2-own-toolbar-group{display:flex;align-items:center;gap:5px}.parking-editor-v2 .v2-own-toolbar-label{margin-right:4px;color:#718079;font-size:9px;font-weight:800;letter-spacing:.08em}.parking-editor-v2 .v2-own-toolbar button{min-height:32px;padding:6px 11px;border:1px solid #d8e2de;border-radius:7px;background:#fff;color:#45564f;font-size:11px;cursor:pointer}.parking-editor-v2 .v2-own-toolbar button:hover{background:#f3f7f5;border-color:#b9cec4}.parking-editor-v2 .v2-own-toolbar button.active{background:#173d35;border-color:#173d35;color:#fff}.parking-editor-v2 .v2-functional-editor .editor-toolbar{display:none!important}@media(max-width:900px){.parking-editor-v2 .v2-own-toolbar{align-items:flex-start;flex-direction:column}.parking-editor-v2 .v2-own-toolbar-group{flex-wrap:wrap}}.parking-editor-v2 .v2-object-inspector{display:flex;flex-direction:column;gap:0;margin-top:10px}.parking-editor-v2 .v2-inspector-field{display:flex;flex-direction:column;gap:3px;padding:9px 0;border-top:1px solid #edf1ef}.parking-editor-v2 .v2-inspector-field:first-child{border-top:0}.parking-editor-v2 .v2-inspector-field span{color:#78857f;font-size:10px}.parking-editor-v2 .v2-inspector-field strong{color:#173d35;font-size:12px;font-weight:700;word-break:break-word}.parking-editor-v2 .v2-inspector-note{margin-top:12px;padding:9px 10px;border-left:2px solid #a9c7ba;background:#f5f8f7;color:#687771;font-size:10px;line-height:1.45}.parking-editor-v2{width:100%}.parking-editor-v2 .v2-command-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px;padding:8px 10px;border:1px solid #dfe7e4;border-radius:10px;background:#fff}.parking-editor-v2 .v2-tool-group,.parking-editor-v2 .v2-command-group{display:flex;align-items:center;flex-wrap:wrap;gap:5px}.parking-editor-v2 .v2-command-label{margin-right:5px;color:#718079;font-size:9px;font-weight:800;letter-spacing:.08em}.parking-editor-v2 .v2-command-bar button{min-height:32px;padding:6px 11px;border:1px solid #d8e2de;border-radius:7px;background:#fff;color:#45564f;font-size:11px;cursor:pointer}.parking-editor-v2 .v2-command-bar button:hover{background:#f3f7f5;border-color:#b9cec4}.parking-editor-v2 .v2-command-bar button.active,.parking-editor-v2 .v2-command-bar button.primary{background:#173d35;border-color:#173d35;color:#fff}.parking-editor-v2 .v2-summary-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;margin-bottom:8px}.parking-editor-v2 .v2-summary-strip>div{padding:9px 11px;border:1px solid #dfe7e4;border-radius:8px;background:#f7faf9}.parking-editor-v2 .v2-summary-strip span{display:block;margin-bottom:2px;color:#78857f;font-size:9px}.parking-editor-v2 .v2-summary-strip strong{color:#173d35;font-size:13px}.parking-editor-v2 .v2-editor-shell{display:grid;grid-template-columns:minmax(0,1fr) 245px;gap:8px;align-items:start}.parking-editor-v2 .v2-editor-center{min-width:0}.parking-editor-v2 .v2-editor-center .section-head,.parking-editor-v2 .v2-editor-center .editor-toolbar{display:none!important}.parking-editor-v2 .v2-editor-center .editor-readiness{margin-top:8px}.parking-editor-v2 .v2-editor-center .object-tree,.parking-editor-v2 .v2-editor-center .properties-panel{display:block!important}.parking-editor-v2 .v2-editor-center .editor-grid{display:grid;grid-template-columns:205px minmax(0,1fr);gap:8px}.parking-editor-v2 .v2-editor-center .editor-grid .properties-panel{display:none!important}.parking-editor-v2 .v2-editor-center .editor-stage{min-width:0}.parking-editor-v2 .v2-editor-center .editor-map{min-height:620px;border-radius:9px;overflow:hidden}.parking-editor-v2 .v2-editor-center .editor-legend{display:none}.parking-editor-v2 .v2-selection-panel{min-width:0;border:1px solid #dfe7e4;border-radius:10px;background:#fff;overflow:hidden}.parking-editor-v2 .v2-selection-head{padding:12px 12px 10px;border-bottom:1px solid #edf1ef}.parking-editor-v2 .v2-selection-head strong{display:block;margin-top:3px;color:#173d35;font-size:13px}.parking-editor-v2 .v2-selection-empty{padding:28px 15px;text-align:center}.parking-editor-v2 .v2-selection-icon{width:42px;height:42px;margin:0 auto 10px;display:flex;align-items:center;justify-content:center;border:1px solid #d8e4df;border-radius:50%;color:#668077;font-size:18px}.parking-editor-v2 .v2-selection-empty strong{display:block;color:#173d35;font-size:12px}.parking-editor-v2 .v2-selection-empty p{margin:6px auto 0;max-width:190px;color:#687771;font-size:11px;line-height:1.45}.parking-editor-v2 .v2-selection-content{padding:3px 12px 12px}.parking-editor-v2 .v2-field{display:flex;flex-direction:column;gap:3px;padding:9px 0;border-bottom:1px solid #edf1ef}.parking-editor-v2 .v2-field span{color:#7a8781;font-size:10px}.parking-editor-v2 .v2-field strong{color:#173d35;font-size:12px;line-height:1.3;word-break:break-word}.parking-editor-v2 .v2-selection-id{display:flex;flex-direction:column;gap:3px;margin-top:10px;color:#7a8781;font-size:9px}.parking-editor-v2 .v2-selection-id code{padding:5px 6px;border-radius:5px;background:#f5f8f7;color:#53635c;font-size:9px;word-break:break-all}.parking-editor-v2 .v2-camera-section{margin-top:8px;border-top:1px solid #dfe7e4}.parking-editor-v2 .v2-muted{margin:12px;color:#687771;font-size:10px;line-height:1.4}.parking-editor-v2 .v2-camera-item{display:flex;align-items:center;justify-content:space-between;gap:7px;margin:7px 8px;padding:7px;border:1px solid #e5ebe8;border-radius:7px;background:#f7faf9}.parking-editor-v2 .v2-camera-item strong,.parking-editor-v2 .v2-camera-item small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.parking-editor-v2 .v2-camera-item strong{max-width:175px;color:#405149;font-size:10px}.parking-editor-v2 .v2-camera-item small{margin-top:2px;color:#77847e;font-size:9px}.parking-editor-v2 .v2-camera-item>span{flex:0 0 auto;width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font-size:10px;font-weight:800}.parking-editor-v2 .v2-camera-item>span.ok{background:#dff0e4;color:#24613a}.parking-editor-v2 .v2-camera-item>span.pending{background:#f4ead6;color:#8a672d}@media(max-width:1050px){.parking-editor-v2 .v2-command-bar{align-items:flex-start;flex-direction:column}.parking-editor-v2 .v2-summary-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.parking-editor-v2 .v2-editor-shell{grid-template-columns:minmax(0,1fr) 220px}}@media(max-width:820px){.parking-editor-v2 .v2-editor-shell{grid-template-columns:1fr}.parking-editor-v2 .v2-summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.parking-editor-v2 .v2-editor-center .editor-grid{grid-template-columns:1fr}.parking-editor-v2 .v2-editor-center .object-tree{max-height:none}}.parking-editor-v2 .v2-edit-field{display:flex;flex-direction:column;gap:4px;margin:10px 0}.parking-editor-v2 .v2-edit-field span{color:#78857f;font-size:10px}.parking-editor-v2 .v2-edit-field input,.parking-editor-v2 .v2-edit-field select{width:100%;min-height:34px;box-sizing:border-box;padding:7px 8px;border:1px solid #d8e2de;border-radius:7px;background:#fff;color:#173d35;font-size:11px}.parking-editor-v2 .v2-edit-field input:focus,.parking-editor-v2 .v2-edit-field select:focus{outline:2px solid #c7ddd3;border-color:#9dbbad}.parking-editor-v2 .v2-edit-check{display:flex;align-items:center;gap:8px;margin:10px 0;color:#45564f;font-size:11px;cursor:pointer}.parking-editor-v2 .v2-edit-check input{margin:0}.parking-editor-v2 .v2-inspector-action{width:100%;margin-top:10px;min-height:34px;border:1px solid #d8e2de;border-radius:7px;background:#f7faf9;color:#40534b;font-size:10px;cursor:pointer}.parking-editor-v2 .v2-inspector-action:hover{background:#eef5f2;border-color:#b9cec4}.parking-editor-v2,.parking-editor-v2 *{box-sizing:border-box}.parking-editor-v2 .v2-editor-shell{width:100%;min-width:0;grid-template-columns:minmax(0,1fr) minmax(230px,270px)}.parking-editor-v2 .v2-editor-center{width:100%;min-width:0;max-width:100%;overflow:hidden}.parking-editor-v2 .v2-editor-center .editor-grid{width:100%;min-width:0;max-width:100%;grid-template-columns:minmax(170px,205px) minmax(0,1fr)}.parking-editor-v2 .v2-editor-center .editor-grid>*{min-width:0;max-width:100%}.parking-editor-v2 .v2-editor-center .editor-stage{width:100%;min-width:0;max-width:100%;overflow:hidden}.parking-editor-v2 .v2-editor-center .editor-map,.parking-editor-v2 .v2-editor-center .map-wrap,.parking-editor-v2 .v2-editor-center .map{width:100%!important;max-width:100%!important;min-width:0!important}.parking-editor-v2 .v2-editor-center .editor-map,.parking-editor-v2 .v2-editor-center .map-wrap{overflow:hidden}.parking-editor-v2 .v2-selection-panel{width:100%;min-width:0;max-width:100%;overflow:hidden}.parking-editor-v2 .v2-editor-center canvas,.parking-editor-v2 .v2-editor-center .maplibregl-map,.parking-editor-v2 .v2-editor-center .maplibregl-canvas-container,.parking-editor-v2 .v2-editor-center .maplibregl-canvas{max-width:100%!important}@media(min-width:1200px){.parking-editor-v2 .v2-editor-shell{grid-template-columns:minmax(0,1fr) 270px}}@media(max-width:900px){.parking-editor-v2 .v2-editor-shell{grid-template-columns:minmax(0,1fr)}}.parking-editor-v2 .v2-editor-center .maplibregl-ctrl-top-right,.parking-editor-v2 .v2-editor-center .maplibregl-ctrl-top-left,.parking-editor-v2 .v2-editor-center .maplibregl-ctrl-bottom-right,.parking-editor-v2 .v2-editor-center .maplibregl-ctrl-bottom-left{max-width:100%}.parking-editor-v2 .v2-command-bar{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;width:100%;min-height:58px;height:auto!important;max-height:none!important;overflow:visible!important;padding:9px 10px!important}.parking-editor-v2 .v2-command-bar .v2-tool-group,.parking-editor-v2 .v2-command-bar .v2-command-group{display:flex!important;flex-direction:row!important;align-items:center!important;flex-wrap:wrap!important;width:auto!important;height:auto!important;max-height:none!important;margin:0!important;padding:0!important;gap:5px!important}.parking-editor-v2 .v2-command-bar .v2-tool-group{flex:1 1 auto!important;min-width:0}.parking-editor-v2 .v2-command-bar .v2-command-group{flex:0 0 auto!important;margin-left:auto!important;white-space:nowrap}.parking-editor-v2 .v2-command-bar .v2-command-label{display:inline-flex!important;align-items:center;flex:0 0 auto;height:32px;margin:0 3px 0 0!important}.parking-editor-v2 .v2-command-bar button{flex:0 0 auto!important;white-space:nowrap}@media(max-width:1050px){.parking-editor-v2 .v2-command-bar{flex-direction:column!important;align-items:stretch!important}.parking-editor-v2 .v2-command-bar .v2-tool-group,.parking-editor-v2 .v2-command-bar .v2-command-group{width:100%!important}.parking-editor-v2 .v2-command-bar .v2-command-group{margin-left:0!important}}.parking-editor-v2 .v2-edit-check{display:flex;align-items:center;gap:7px;min-height:30px;margin:5px 0;padding:0;color:#45564f;font-size:11px;line-height:1.2;cursor:pointer}.parking-editor-v2 .v2-edit-check input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:16px;height:16px;min-width:16px;min-height:16px;margin:0;padding:0;border:1px solid #aebeb7;border-radius:4px;background:#fff;display:inline-grid;place-content:center;cursor:pointer}.parking-editor-v2 .v2-edit-check input[type=checkbox]:before{content:"";width:8px;height:8px;transform:scale(0);transition:transform .08s ease-in-out;background:#fff;clip-path:polygon(14% 54%,0 68%,39% 100%,100% 22%,86% 8%,38% 68%)}.parking-editor-v2 .v2-edit-check input[type=checkbox]:checked{background:#173d35;border-color:#173d35}.parking-editor-v2 .v2-edit-check input[type=checkbox]:checked:before{transform:scale(1)}.parking-editor-v2 .v2-edit-check input[type=checkbox]:focus-visible{outline:2px solid #c8ddd4;outline-offset:1px}.parking-editor-v2 .v2-selection-content{padding-top:2px;padding-bottom:8px}.parking-editor-v2 .v2-edit-field{margin:7px 0}.parking-editor-v2 .v2-edit-field span{margin-bottom:1px}.parking-editor-v2 .v2-edit-field input,.parking-editor-v2 .v2-edit-field select{min-height:32px;padding:6px 8px}.parking-editor-v2 .v2-field{padding:7px 0}.parking-editor-v2 .v2-selection-panel{max-height:680px;overflow-y:auto}.parking-editor-v2 .v2-edit-check{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:8px!important;width:100%!important;min-height:26px!important;height:26px!important;margin:4px 0!important;padding:0!important;color:#45564f;font-size:11px;line-height:1.2;text-align:left!important}.parking-editor-v2 .v2-edit-check input[type=checkbox]{display:block!important;flex:0 0 16px!important;width:16px!important;min-width:16px!important;max-width:16px!important;height:16px!important;min-height:16px!important;max-height:16px!important;margin:0!important;padding:0!important}.parking-editor-v2 .v2-edit-check span,.parking-editor-v2 .v2-edit-check label{display:inline!important;width:auto!important;margin:0!important;padding:0!important}.parking-editor-v2 .v2-property-section{margin-top:13px;padding-top:11px;border-top:1px solid #dfe7e4}.parking-editor-v2 .v2-property-section-title{margin-bottom:8px;color:#63736c;font-size:9px;font-weight:800;letter-spacing:.08em}.parking-editor-v2 .v2-angle-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-top:7px}.parking-editor-v2 .v2-angle-buttons button{min-height:29px;padding:4px 5px;border:1px solid #d8e2de;border-radius:6px;background:#f7faf9;color:#45564f;font-size:10px;cursor:pointer}.parking-editor-v2 .v2-angle-buttons button:hover{background:#eef5f2;border-color:#b9cec4}.map-edit-handle,.map-space-move-handle{-moz-appearance:none!important;appearance:none!important;-webkit-appearance:none!important;box-sizing:border-box!important;display:grid!important;place-items:center!important;margin:0!important;padding:0!important;min-width:0!important;min-height:0!important;font-family:inherit;-webkit-user-select:none;user-select:none;outline:none;transition:transform .12s ease,box-shadow .12s ease,background-color .12s ease,opacity .12s ease}.map-edit-handle{width:11px!important;height:11px!important;min-width:11px!important;min-height:11px!important;max-width:11px!important;max-height:11px!important;border:2px solid #ffffff!important;border-radius:50%!important;background:#2563eb!important;box-shadow:0 1px 3px #0f172a47,0 0 0 1px #2563eb59;color:transparent!important;font-size:0!important;line-height:0!important}.map-edit-handle-resize-width{cursor:ew-resize!important}.map-edit-handle-resize-length{cursor:ns-resize!important}.map-edit-handle-rotate{width:22px!important;height:22px!important;min-width:22px!important;min-height:22px!important;max-width:22px!important;max-height:22px!important;border:1.5px solid #2563eb!important;border-radius:50%!important;background:#fffffff5!important;color:#2563eb!important;font-size:15px!important;font-weight:700!important;line-height:18px!important;box-shadow:0 2px 5px #0f172a2e;cursor:grab!important}.map-edit-handle-rotate:active{cursor:grabbing!important}.map-space-move-handle{width:20px!important;height:20px!important;min-width:20px!important;min-height:20px!important;max-width:20px!important;max-height:20px!important;border:2px solid rgba(255,255,255,.95)!important;border-radius:50%!important;background:#173d35e0!important;color:#fff!important;font-size:11px!important;font-weight:700!important;line-height:16px!important;box-shadow:0 2px 5px #0f172a38;cursor:move!important;opacity:.9}.map-edit-handle:hover{transform:scale(1.35);box-shadow:0 2px 6px #0f172a4d,0 0 0 2px #2563eb26}.map-edit-handle-rotate:hover{transform:scale(1.1);background:#fff!important}.map-space-move-handle:hover{transform:scale(1.1);opacity:1;background:#173d35!important}.parking-editor-v2 .v2-space-actions{display:flex;width:100%;margin:12px 0 10px}.parking-editor-v2 .v2-duplicate-space-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;min-height:36px;display:flex;align-items:center;justify-content:center;gap:7px;padding:8px 12px;border:1px solid #b9cec4;border-radius:7px;background:#f5f9f7;color:#173d35;font-size:12px;font-weight:650;line-height:1.2;cursor:pointer;transition:background-color .12s ease,border-color .12s ease,transform 80ms ease}.parking-editor-v2 .v2-duplicate-space-button:hover{background:#eaf3ef;border-color:#8faf9f}.parking-editor-v2 .v2-duplicate-space-button:active{transform:translateY(1px)}.parking-editor-v2 .v2-duplicate-icon{font-size:16px;line-height:1}.parking-editor-v2 .v2-delete-object-wrap{width:100%;padding:10px 14px 12px;margin:0 0 14px;border-bottom:1px solid #edf1ef;background:linear-gradient(180deg,#fffffffa,#fffafaeb)}.parking-editor-v2 .v2-delete-selected-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;min-height:40px;display:flex;align-items:center;justify-content:center;gap:9px;margin:0;padding:9px 14px;border:1px solid #efc4c4;border-radius:9px;background:linear-gradient(180deg,snow,#fff4f4);color:#b02a2a;font-size:12px;font-weight:700;letter-spacing:.01em;cursor:pointer;box-shadow:0 1px 2px #9420200d,inset 0 1px #fffc;transition:background-color .14s ease,border-color .14s ease,color .14s ease,box-shadow .14s ease,transform .1s ease}.parking-editor-v2 .v2-delete-selected-button:hover{background:linear-gradient(180deg,#fff5f5,#ffecec);border-color:#df8e8e;color:#922020;box-shadow:0 3px 8px #9420201a}.parking-editor-v2 .v2-delete-selected-button:active{transform:translateY(1px);box-shadow:0 1px 2px #94202014}.parking-editor-v2 .v2-delete-icon{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 22px;border-radius:6px;background:#b02a2a17;color:currentColor;font-size:15px;font-weight:700;line-height:1}.parking-editor-v2 .v2-delete-selected-button:hover .v2-delete-icon{background:#b02a2a24}.edge-camera-success{margin:14px 0;padding:12px 14px;border:1px solid rgba(34,197,94,.3);border-radius:12px;background:#22c55e14}.edge-found-cameras{margin-top:16px;padding-top:16px;border-top:1px solid rgba(127,127,127,.18)}.edge-found-cameras-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.edge-found-cameras-head span{min-width:28px;padding:3px 8px;border-radius:999px;text-align:center;background:#7f7f7f1f}.edge-found-camera{padding:14px;margin-top:10px;border:1px solid rgba(127,127,127,.18);border-radius:14px;background:#7f7f7f0a}.edge-found-camera-summary{display:flex;align-items:center;justify-content:space-between;gap:16px}.edge-found-camera-meta{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:6px;font-size:13px;opacity:.72}.edge-camera-connect-form{display:grid;gap:12px;margin-top:14px;padding-top:14px;border-top:1px solid rgba(127,127,127,.16)}.edge-camera-connect-form label{display:grid;gap:6px}.edge-camera-connect-form label>span{font-size:13px;font-weight:600}.edge-camera-connect-form input,.edge-camera-connect-form select{width:100%}.edge-camera-auth-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.edge-camera-actions{display:flex;gap:10px;justify-content:flex-start}@media(max-width:760px){.edge-found-camera-summary{align-items:stretch;flex-direction:column}.edge-camera-auth-row{grid-template-columns:1fr}}.parking-editor-v2 .v2-context-viewbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;padding:7px 9px;border:1px solid #dfe7e4;border-radius:9px;background:#fff}.parking-editor-v2 .v2-view-switch,.parking-editor-v2 .v2-camera-picker{display:flex;align-items:center;gap:6px}.parking-editor-v2 .v2-view-switch button,.parking-editor-v2 .v2-camera-picker button{width:auto;min-height:32px;margin:0;padding:6px 10px}.parking-editor-v2 .v2-view-switch button.active{border-color:#173d35;background:#173d35;color:#fff}.parking-editor-v2 .v2-camera-picker>span{color:#718078;font-size:11px}.parking-editor-v2 .v2-camera-picker select{min-width:150px;min-height:32px}.parking-editor-v2 .v2-visual-grid{display:grid;min-width:0;gap:9px}.parking-editor-v2 .v2-visual-grid.map,.parking-editor-v2 .v2-visual-grid.camera{grid-template-columns:minmax(0,1fr)}.parking-editor-v2 .v2-visual-grid.split{grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr)}.parking-editor-v2 .v2-map-pane,.parking-editor-v2 .v2-camera-reference-panel{min-width:0}.parking-editor-v2 .v2-pane-title{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;padding:8px 10px;border:1px solid #dfe7e4;border-bottom:0;border-radius:9px 9px 0 0;background:#fff}.parking-editor-v2 .v2-pane-title>div,.parking-editor-v2 .v2-pane-title{line-height:1.25}.parking-editor-v2 .v2-pane-title strong{display:block;color:#173d35;font-size:12px}.parking-editor-v2 .v2-pane-title span{display:block;margin-top:2px;color:#7a8781;font-size:10px}.parking-editor-v2 .v2-camera-link-count{flex:0 0 auto;padding:4px 7px;border-radius:999px;background:#edf4f1;color:#315e50!important}.parking-editor-v2 .v2-camera-reference-panel{overflow:hidden;border:1px solid #dfe7e4;border-radius:9px;background:#fff}.parking-editor-v2 .v2-camera-reference-panel .v2-pane-title{border:0;border-bottom:1px solid #dfe7e4;border-radius:0}.parking-editor-v2 .v2-camera-reference-image{position:relative;width:100%;overflow:hidden;background:#26302c;line-height:0}.parking-editor-v2 .v2-camera-reference-image img{display:block;width:100%;height:auto}.parking-editor-v2 .v2-camera-reference-image svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.parking-editor-v2 .v2-camera-reference-image g{cursor:pointer}.parking-editor-v2 .v2-camera-reference-image polygon{fill:#2563eb29;stroke:#2563eb;stroke-width:.45;vector-effect:non-scaling-stroke;transition:fill .12s ease,stroke .12s ease}.parking-editor-v2 .v2-camera-reference-image g:hover polygon{fill:#2563eb4a}.parking-editor-v2 .v2-camera-reference-image g.selected polygon{fill:#f59e0b47;stroke:#f59e0b;stroke-width:.75}.parking-editor-v2 .v2-camera-reference-image text{fill:#fff;stroke:#000c;stroke-width:.45;paint-order:stroke fill;font-size:3px;font-weight:700;pointer-events:none}.parking-editor-v2 .v2-camera-reference-help{margin:0;padding:9px 10px;border-top:1px solid #edf1ef;color:#697770;font-size:10px;line-height:1.45}.parking-editor-v2 .v2-camera-reference-error,.parking-editor-v2 .v2-camera-reference-empty{padding:14px;color:#8b4c42;font-size:11px}.parking-editor-v2 .v2-visual-grid.split .v2-map-pane .object-tree{display:none!important}.parking-editor-v2 .v2-visual-grid.split .v2-map-pane .editor-grid{grid-template-columns:minmax(0,1fr)!important}.parking-editor-v2 .v2-visual-grid.split .v2-map-pane .editor-stage{grid-column:1!important}.parking-editor-v2 .v2-visual-grid.split .v2-map-pane .editor-map{min-height:500px}.parking-editor-v2 .v2-visual-grid.camera .v2-camera-reference-panel{max-width:1100px}@media(max-width:1200px){.parking-editor-v2 .v2-visual-grid.split{grid-template-columns:minmax(0,1fr)}.parking-editor-v2 .v2-visual-grid.split .v2-map-pane .editor-map{min-height:460px}}@media(max-width:760px){.parking-editor-v2 .v2-context-viewbar{align-items:stretch;flex-direction:column}.parking-editor-v2 .v2-view-switch,.parking-editor-v2 .v2-camera-picker{flex-wrap:wrap}}.parking-editor-v2 .v2-editor-shell.v2-layout-split{display:grid!important;grid-template-columns:minmax(0,2fr) minmax(350px,1fr)!important;grid-template-rows:auto auto minmax(0,1fr);gap:10px;align-items:start}.parking-editor-v2 .v2-editor-shell.v2-layout-split>.v2-editor-center{display:contents}.parking-editor-v2 .v2-editor-shell.v2-layout-split>.v2-editor-center>.v2-context-viewbar{grid-column:1 / -1;grid-row:1;margin-bottom:0}.parking-editor-v2 .v2-editor-shell.v2-layout-split>.v2-editor-center>.v2-visual-grid.split{display:contents}.parking-editor-v2 .v2-editor-shell.v2-layout-split .v2-map-pane{grid-column:1;grid-row:2 / 4;min-width:0}.parking-editor-v2 .v2-editor-shell.v2-layout-split .v2-map-pane .editor-map{min-height:720px!important}.parking-editor-v2 .v2-editor-shell.v2-layout-split .v2-camera-reference-panel{grid-column:2;grid-row:2;width:100%;min-width:0;margin:0}.parking-editor-v2 .v2-editor-shell.v2-layout-split>.v2-selection-panel{grid-column:2;grid-row:3;width:100%;min-width:0;max-height:420px;overflow-y:auto;align-self:stretch}.parking-editor-v2 .v2-editor-shell.v2-layout-split .v2-camera-reference-help{display:none}.parking-editor-v2 .v2-editor-shell.v2-layout-split .v2-camera-reference-panel .v2-pane-title{min-height:38px;padding:7px 9px}.parking-editor-v2 .v2-editor-shell.v2-layout-split .v2-camera-reference-image{width:100%}.parking-editor-v2 .v2-editor-shell.v2-layout-split .v2-map-pane .object-tree{display:none!important}.parking-editor-v2 .v2-editor-shell.v2-layout-split .v2-map-pane .editor-grid{grid-template-columns:minmax(0,1fr)!important}.parking-editor-v2 .v2-editor-shell.v2-layout-split .v2-map-pane .editor-stage{grid-column:1!important;width:100%}@media(max-width:1100px){.parking-editor-v2 .v2-editor-shell.v2-layout-split{grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto auto auto auto}.parking-editor-v2 .v2-editor-shell.v2-layout-split>.v2-editor-center>.v2-context-viewbar{grid-column:1;grid-row:1}.parking-editor-v2 .v2-editor-shell.v2-layout-split .v2-map-pane{grid-column:1;grid-row:2}.parking-editor-v2 .v2-editor-shell.v2-layout-split .v2-camera-reference-panel{grid-column:1;grid-row:3}.parking-editor-v2 .v2-editor-shell.v2-layout-split>.v2-selection-panel{grid-column:1;grid-row:4;max-height:none}}.admin main:has(.parking-editor-v2){max-width:none!important}@media(min-width:1201px){.parking-editor-v2 .v2-editor-shell.v2-layout-split{grid-template-columns:minmax(0,1fr) clamp(400px,29vw,520px)!important}}@media(min-width:1800px){.admin main:has(.parking-editor-v2){width:100%}.parking-editor-v2{width:100%;max-width:none}}.admin main.admin-main-v2{width:100%!important;max-width:none!important;min-width:0}@media(min-width:1201px){.admin-main-v2 .parking-editor-v2 .v2-editor-shell.v2-layout-split{grid-template-columns:minmax(0,1fr) clamp(420px,27vw,520px)!important}}@media(min-width:951px){.admin>.sidebar{width:64px!important;padding:22px 8px 18px!important;overflow:hidden;z-index:100;transition:width .18s ease,box-shadow .18s ease!important}.admin>.sidebar:hover,.admin>.sidebar:focus-within{width:230px!important;box-shadow:8px 0 28px #142d2624}.admin>.admin-body{margin-left:64px!important;margin-inline-start:64px!important;width:auto;min-width:0}.admin>.sidebar .brand{width:100%;min-height:48px;display:flex;align-items:center;gap:12px;padding:0 10px;overflow:hidden;white-space:nowrap}.admin>.sidebar .brand>span{max-width:0;overflow:hidden;opacity:0;visibility:hidden;transform:translate(-6px);transition:max-width .18s ease,opacity .14s ease,transform .18s ease}.admin>.sidebar:hover .brand>span,.admin>.sidebar:focus-within .brand>span{max-width:170px;opacity:1;visibility:visible;transform:translate(0)}.admin>.sidebar nav{width:100%;margin:28px 0 auto!important;gap:5px}.admin>.sidebar nav button{width:100%;min-width:0;min-height:44px;display:flex;align-items:center;gap:10px;padding:9px 11px!important;overflow:hidden;border-radius:9px;white-space:nowrap}.admin>.sidebar .sidebar-nav-icon{width:24px;min-width:24px;flex:0 0 24px;display:inline-flex;align-items:center;justify-content:center;color:#173d35;font-size:16px;line-height:1}.admin>.sidebar .sidebar-nav-label{display:inline-block;opacity:0;transform:translate(-5px);transition:opacity .12s ease,transform .16s ease}.admin>.sidebar:hover .sidebar-nav-label,.admin>.sidebar:focus-within .sidebar-nav-label{opacity:1;transform:translate(0)}.admin>.sidebar nav button.active{background:#e6eee9}.admin>.sidebar nav button.active .sidebar-nav-icon{font-weight:800}.admin>.sidebar>small{width:100%;overflow:hidden;white-space:nowrap;opacity:0;transition:opacity .12s ease}.admin>.sidebar:hover>small,.admin>.sidebar:focus-within>small{opacity:1}.admin>.sidebar>button:last-child{position:relative;width:100%;min-height:42px;overflow:hidden;padding:8px 10px!important;font-size:0;white-space:nowrap}.admin>.sidebar>button:last-child:before{content:"↪";display:inline-block;font-size:18px;line-height:1}.admin>.sidebar:hover>button:last-child,.admin>.sidebar:focus-within>button:last-child{font-size:13px}.admin>.sidebar:hover>button:last-child:before,.admin>.sidebar:focus-within>button:last-child:before{content:""}}@media(max-width:950px){.sidebar-nav-icon,.sidebar-nav-label{display:inline}}@media(min-width:1101px){.parking-editor-v2 .v2-editor-shell.v2-layout-map{display:grid!important;grid-template-columns:minmax(0,1fr) clamp(300px,21vw,380px)!important;gap:10px!important;align-items:start!important}.parking-editor-v2 .v2-editor-shell.v2-layout-map>.v2-editor-center{display:block!important;position:relative!important;width:100%!important;min-width:0!important;overflow:visible!important}.parking-editor-v2 .v2-editor-shell.v2-layout-map .v2-context-viewbar{position:relative!important;width:100%!important;margin-bottom:8px!important}.parking-editor-v2 .v2-editor-shell.v2-layout-map .v2-visual-grid.map{display:block!important;position:relative!important;width:100%!important;min-width:0!important}.parking-editor-v2 .v2-editor-shell.v2-layout-map .v2-map-pane{display:block!important;position:relative!important;width:100%!important;min-width:0!important;grid-column:auto!important;grid-row:auto!important}.parking-editor-v2 .v2-editor-shell.v2-layout-map .v2-map-pane .object-tree{display:none!important}.parking-editor-v2 .v2-editor-shell.v2-layout-map .v2-map-pane .editor-grid{display:grid!important;position:relative!important;grid-template-columns:minmax(0,1fr)!important;width:100%!important;min-width:0!important;gap:0!important}.parking-editor-v2 .v2-editor-shell.v2-layout-map .v2-map-pane .editor-stage{display:block!important;position:relative!important;grid-column:1!important;width:100%!important;min-width:0!important;height:720px!important;min-height:720px!important;overflow:hidden!important}.parking-editor-v2 .v2-editor-shell.v2-layout-map .v2-map-pane .editor-map{position:absolute!important;top:0!important;right:0!important;bottom:0!important;left:0!important;width:100%!important;height:100%!important;min-height:0!important;margin:0!important}.parking-editor-v2 .v2-editor-shell.v2-layout-map .v2-map-pane .map-wrap,.parking-editor-v2 .v2-editor-shell.v2-layout-map .v2-map-pane .map{width:100%!important;height:100%!important;min-height:0!important}.parking-editor-v2 .v2-editor-shell.v2-layout-map>.v2-selection-panel{position:relative!important;width:100%!important;grid-column:2!important;grid-row:1!important;max-height:720px!important;overflow-y:auto!important}}.parking-editor-v2 .v2-camera-picker button.active{background:#d97706;border-color:#b45309;color:#fff}.parking-editor-v2 .v2-camera-pose-controls{display:flex;align-items:flex-end;gap:5px;padding-left:6px;border-left:1px solid #dfe7e4}.parking-editor-v2 .v2-camera-pose-controls label{display:flex;flex-direction:column;gap:2px;width:76px;margin:0;color:#6e7c76;font-size:9px;font-weight:600}.parking-editor-v2 .v2-camera-pose-controls input{width:100%;min-height:32px;padding:5px 6px;border:1px solid #d8e2de;border-radius:6px;background:#fff;font-size:11px}@media(max-width:1450px){.parking-editor-v2 .v2-context-viewbar{align-items:flex-start}.parking-editor-v2 .v2-camera-picker{flex-wrap:wrap;justify-content:flex-end}}.map-camera-direction-handle{display:flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:3px solid #fff;border-radius:50%;background:#d97706;color:#fff;box-shadow:0 2px 8px #00000047;cursor:grab;font-size:17px;line-height:1;transform:rotate(-45deg)}.map-camera-direction-handle:active{cursor:grabbing}.map-camera-fov-handle{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:2px solid #fff;border-radius:50%;background:#f59e0b;color:#fff;box-shadow:0 2px 7px #00000047;cursor:ew-resize;font-size:12px;font-weight:700;line-height:1}.map-camera-fov-handle:hover{background:#d97706}.map-camera-fov-handle:active{cursor:grabbing}.parking-editor-v2 .v2-camera-edit-lock.locked{background:#f4f7f6;border-color:#d8e2de;color:#52615b}.parking-editor-v2 .v2-camera-edit-lock.editing{background:#fff7e8;border-color:#d97706;color:#9a4d00}.parking-editor-v2 .v2-camera-pose-controls input:disabled{background:#f3f5f4;border-color:#e1e6e4;color:#8a9691;cursor:not-allowed;opacity:.72}.map-camera-direction-handle,.map-camera-fov-handle{z-index:5}.v2-selected-space-camera-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 10px;padding:8px 10px;border:1px solid #dde6e2;border-radius:8px;background:#f8faf9}.v2-selected-space-camera-info{display:flex;flex-direction:column;gap:2px;min-width:0}.v2-selected-space-camera-info strong{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.v2-selected-space-camera-info span{color:#6b7672;font-size:11px}.v2-selected-space-camera-select{display:flex;align-items:center;gap:6px;flex:0 0 auto}.v2-selected-space-camera-select>span{color:#66736e;font-size:11px}.v2-selected-space-camera-select select{max-width:190px;height:30px;padding:0 8px;border:1px solid #ccd7d2;border-radius:6px;background:#fff;font-size:12px}.camera-space-browser{flex:1 0 100%;display:flex;flex-direction:column;gap:7px;margin:4px 0 2px;padding:8px;box-sizing:border-box;border:1px solid #dbe4e0;border-radius:8px;background:#f8faf9}.camera-space-browser-stats{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.camera-space-browser-stats>span{display:flex;align-items:baseline;gap:5px;padding:3px 7px;border:1px solid #e0e7e4;border-radius:6px;background:#fff;color:#6b7672;font-size:11px}.camera-space-browser-stats strong{color:#173d35;font-size:13px}.camera-space-browser-controls{display:grid;grid-template-columns:minmax(150px,1.1fr) minmax(130px,.55fr) minmax(180px,1.25fr) auto auto;gap:6px;align-items:center}.camera-space-browser-controls input,.camera-space-browser-controls select{width:100%;min-width:0;height:34px;box-sizing:border-box;padding:0 8px;border:1px solid #ccd7d2;border-radius:6px;background:#fff}.camera-space-browser-controls button{min-height:34px;white-space:nowrap}@media(max-width:1200px){.camera-space-browser-controls{grid-template-columns:1fr 1fr 1fr}}@media(max-width:760px){.camera-space-browser-controls{grid-template-columns:1fr}}.camera-space-simple{flex:1 0 100%;display:flex;flex-direction:column;gap:8px;box-sizing:border-box;margin:4px 0;padding:9px;border:1px solid #dbe4e0;border-radius:8px;background:#f8faf9}.camera-space-simple-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.camera-space-simple-head>div:first-child{display:flex;align-items:center;gap:7px}.camera-space-simple-head strong{font-size:13px}.camera-space-simple-head>div:first-child>span{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 7px;border-radius:999px;background:#e8f0ed;color:#173d35;font-size:12px;font-weight:700}.camera-space-simple-tools{display:flex;align-items:center;gap:7px;flex:1 1 auto;justify-content:flex-end}.camera-space-simple-tools input{width:min(360px,100%);height:34px;box-sizing:border-box;padding:0 9px;border:1px solid #ccd7d2;border-radius:6px;background:#fff}.camera-space-simple-tools button{min-height:34px;white-space:nowrap}.camera-space-simple-tools button.active{border-color:#d97706;background:#fff7e8;color:#9a4d00}.camera-space-attach-panel{display:grid;grid-template-columns:minmax(190px,1fr) minmax(220px,1.3fr) auto;gap:8px;align-items:center;padding:9px;border:1px solid #e3d4b6;border-radius:7px;background:#fffaf0}.camera-space-attach-panel>div{display:flex;flex-direction:column;gap:2px}.camera-space-attach-panel strong{font-size:12px}.camera-space-attach-panel span{color:#776c59;font-size:10px}.camera-space-attach-panel select{width:100%;height:34px;box-sizing:border-box;padding:0 8px;border:1px solid #d8cdb9;border-radius:6px;background:#fff}.camera-space-chips{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-height:32px}.camera-space-chips button{min-width:52px;min-height:30px;padding:4px 10px;border:1px solid #ccd7d2;border-radius:7px;background:#fff;color:#30413b;font-weight:600}.camera-space-chips button:hover{border-color:#78958a}.camera-space-chips button.active{border-color:#d97706;background:#fff7e8;color:#9a4d00;box-shadow:inset 0 0 0 1px #d9770626}@media(max-width:900px){.camera-space-simple-head{align-items:stretch;flex-direction:column}.camera-space-simple-tools{justify-content:stretch}.camera-space-simple-tools input{flex:1 1 auto}.camera-space-attach-panel{grid-template-columns:1fr}}.camera-space-selected-summary{flex:1 0 100%;display:flex;align-items:center;justify-content:space-between;gap:14px;box-sizing:border-box;padding:8px 10px;border-left:3px solid #d97706;border-radius:6px;background:#fffaf0}.camera-space-selected-summary>div{display:flex;align-items:baseline;gap:7px}.camera-space-selected-summary span{color:#746c5e;font-size:11px}.camera-space-selected-summary strong{color:#173d35;font-size:14px}.camera-space-selected-summary small{color:#746c5e;font-size:10px}.camera-space-structure-tools{flex:1 0 100%;box-sizing:border-box;border:1px solid #e0e6e3;border-radius:7px;background:#fafcfb}.camera-space-structure-tools>summary{padding:7px 10px;cursor:pointer;color:#5e6b66;font-size:11px;font-weight:600;-webkit-user-select:none;user-select:none}.camera-space-structure-tools[open]>summary{border-bottom:1px solid #e4e9e7}.camera-space-structure-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:8px}.camera-space-verification{margin-top:8px;border:1px solid #dde5e2;border-radius:7px;background:#fafcfb}.camera-space-verification>summary{padding:8px 10px;cursor:pointer;color:#42534d;font-size:12px;font-weight:600;-webkit-user-select:none;user-select:none}.camera-space-verification[open]>summary{border-bottom:1px solid #e2e8e5}.camera-space-verification-body{padding:10px}@media(max-width:850px){.camera-space-selected-summary{align-items:flex-start;flex-direction:column;gap:4px}}.v2-validation-feedback{position:relative;margin:10px 0;padding:11px 42px 11px 13px;border:1px solid;border-radius:8px}.v2-validation-feedback.is-success{border-color:#b8d7cb;background:#f0f8f5;color:#215847}.v2-validation-feedback.has-errors{border-color:#e2c0b8;background:#fff5f2;color:#8a3528}.v2-validation-feedback>div{display:flex;flex-direction:column;gap:2px}.v2-validation-feedback strong{font-size:13px}.v2-validation-feedback span{font-size:11px}.v2-validation-feedback ul{margin:8px 0 0;padding-left:20px}.v2-validation-feedback li{margin:3px 0;font-size:12px}.v2-validation-feedback>button{position:absolute;top:7px;right:8px;width:28px;height:28px;padding:0;border:0;background:transparent;font-size:20px}.v2-edge-guide{display:flex;align-items:center;gap:12px;margin:8px 0;padding:10px 12px;border:1px solid #b9d4ca;border-radius:8px;background:#f1f8f5}.v2-edge-guide-main{display:flex;flex-direction:column;gap:2px;flex:1 1 auto}.v2-edge-guide-main strong{color:#173d35;font-size:13px}.v2-edge-guide-main span{color:#536b62;font-size:11px}.v2-edge-direction{display:flex;align-items:center;gap:6px;white-space:nowrap;color:#334b43;font-size:11px}.v2-edge-direction input{margin:0}.v2-edge-guide>button{min-height:32px;padding:0 12px;white-space:nowrap}@media(max-width:800px){.v2-edge-guide{align-items:stretch;flex-direction:column}.v2-edge-direction{white-space:normal}}.public-map>.map,.public-map>.map.maplibregl-map{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;min-height:100%}.public-map>.map .maplibregl-canvas-container,.public-map>.map .maplibregl-canvas{width:100%!important;height:100%!important}.public-map>.map .maplibregl-canvas{display:block}.public-map{position:relative;overflow:hidden}.public-map>.map-wrap{position:absolute!important;top:0!important;right:0!important;bottom:0!important;left:0!important;width:100%!important;height:100%!important;min-height:100%!important;overflow:hidden}.public-map>.map-wrap>.map,.public-map>.map-wrap>.map.maplibregl-map{position:absolute!important;top:0!important;right:0!important;bottom:0!important;left:0!important;width:100%!important;height:100%!important;min-height:100%!important}.public-map>.map-wrap .maplibregl-canvas-container,.public-map>.map-wrap .maplibregl-canvas{width:100%!important;height:100%!important}.public-map>.map-wrap .maplibregl-canvas{display:block}.public-map>.locate{position:absolute;z-index:5}.public-app.pwa-v2{--pwa-bg: #f4f7f5;--pwa-surface: #ffffff;--pwa-text: #17362e;--pwa-muted: #6f817b;--pwa-border: rgba(32, 75, 63, .12);--pwa-free: #168565;--pwa-free-soft: #e7f5ef;--pwa-occupied: #c8655c;--pwa-occupied-soft: #faece9;--pwa-unknown: #7c8a8a;--pwa-unknown-soft: #edf1f0;--pwa-warning: #b9852e;--pwa-shadow: 0 12px 32px rgba(18, 47, 39, .12);width:100%;max-width:none;min-height:100dvh;margin:0;background:var(--pwa-bg);color:var(--pwa-text);overflow-x:hidden}.pwa-v2 .pwa-topbar{min-height:68px;padding:max(10px,env(safe-area-inset-top)) 14px 10px;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;background:color-mix(in srgb,var(--pwa-surface) 94%,transparent);border-bottom:1px solid var(--pwa-border);position:relative;z-index:20}.pwa-v2 .pwa-brand{width:38px;height:38px;display:grid;place-items:center;border-radius:13px;background:var(--pwa-text);color:#fff;text-decoration:none;font-size:20px;font-weight:800;line-height:1}.pwa-v2 .pwa-location{min-width:0}.pwa-v2 .pwa-location h1{margin:0;overflow:hidden;font-size:15px;line-height:1.25;font-weight:750;white-space:nowrap;text-overflow:ellipsis}.pwa-v2 .pwa-location small{display:block;margin-top:3px;overflow:hidden;color:var(--pwa-muted);font-size:10px;line-height:1.25;white-space:nowrap;text-overflow:ellipsis}.pwa-v2 .pwa-top-actions{display:flex;align-items:center;gap:6px}.pwa-v2 .pwa-top-actions button,.pwa-v2 .pwa-icon-button{width:38px;height:38px;min-width:38px;padding:0;border:1px solid var(--pwa-border);border-radius:13px;background:var(--pwa-surface);color:var(--pwa-text);box-shadow:none}.pwa-v2 .pwa-status{min-height:58px;padding:8px 14px 9px;display:flex;align-items:center;gap:12px;background:var(--pwa-surface);border-bottom:1px solid var(--pwa-border);position:relative;z-index:15}.pwa-v2 .pwa-free-count{display:flex;align-items:center;gap:8px}.pwa-v2 .pwa-free-count>strong{font-size:27px;line-height:1;font-weight:800;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.pwa-v2 .pwa-free-count>div{display:flex;flex-direction:column}.pwa-v2 .pwa-free-count span{font-size:12px;font-weight:700;line-height:1.1}.pwa-v2 .pwa-free-count small{margin-top:2px;color:var(--pwa-muted);font-size:10px}.pwa-v2 .pwa-live{margin-left:auto;min-height:30px;padding:0 10px;display:inline-flex;align-items:center;gap:6px;border-radius:999px;background:var(--pwa-free-soft);color:var(--pwa-free);font-size:10px;font-weight:700}.pwa-v2 .pwa-live.is-stale{background:#fff4df;color:var(--pwa-warning)}.pwa-v2 .pwa-live-dot{width:7px;height:7px;border-radius:50%;background:currentColor}.pwa-v2 .pwa-unknown{min-width:36px;height:30px;padding:0 9px;display:flex;align-items:center;gap:4px;border-radius:999px;background:var(--pwa-unknown-soft);color:var(--pwa-unknown);font-size:9px}.pwa-v2 .pwa-unknown strong{font-size:11px}.pwa-v2 .pwa-main{width:100%}.pwa-v2 .pwa-map-stage{width:100%;height:clamp(390px,58dvh,560px);min-height:390px;position:relative;overflow:hidden;background:#e9efec}.pwa-v2 .pwa-map-stage>.map-wrap{position:absolute!important;top:0!important;right:0!important;bottom:0!important;left:0!important;width:100%!important;height:100%!important;min-height:100%!important;overflow:hidden}.pwa-v2 .pwa-map-stage>.map-wrap>.map,.pwa-v2 .pwa-map-stage .maplibregl-map{position:absolute!important;top:0!important;right:0!important;bottom:0!important;left:0!important;width:100%!important;height:100%!important;min-height:100%!important}.pwa-v2 .pwa-map-stage .maplibregl-canvas-container,.pwa-v2 .pwa-map-stage .maplibregl-canvas{width:100%!important;height:100%!important}.pwa-v2 .pwa-location-button{position:absolute;top:14px;left:14px;z-index:8;width:46px;height:46px;min-width:46px;padding:0;display:grid;place-items:center;border:1px solid rgba(255,255,255,.78);border-radius:16px;background:#ffffffeb;color:var(--pwa-text);box-shadow:0 8px 24px #11312824;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.pwa-v2 .pwa-location-button span{font-size:25px;line-height:1}.pwa-v2 .pwa-space-card,.pwa-v2 .pwa-route-card{position:absolute;left:14px;right:14px;z-index:8;padding:12px 13px;display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid rgba(255,255,255,.78);border-radius:18px;background:#fffffff0;box-shadow:var(--pwa-shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.pwa-v2 .pwa-space-card{top:72px}.pwa-v2 .pwa-space-card>div{display:flex;align-items:center;gap:8px}.pwa-v2 .pwa-space-card strong{font-size:15px}.pwa-v2 .pwa-space-state{padding:5px 8px;border-radius:999px;font-size:10px;font-weight:700}.pwa-v2 .pwa-space-state.FREE{background:var(--pwa-free-soft);color:var(--pwa-free)}.pwa-v2 .pwa-space-state.OCCUPIED{background:var(--pwa-occupied-soft);color:var(--pwa-occupied)}.pwa-v2 .pwa-space-state.UNKNOWN{background:var(--pwa-unknown-soft);color:var(--pwa-unknown)}.pwa-v2 .pwa-space-route{min-height:38px;padding:0 12px;border:0;border-radius:12px;background:var(--pwa-text);color:#fff;font-size:11px;font-weight:700}.pwa-v2 .pwa-route-card{top:72px}.pwa-v2 .pwa-route-card>div{min-width:0;display:grid;grid-template-columns:auto auto;gap:2px 8px}.pwa-v2 .pwa-route-card small{grid-column:1 / -1;color:var(--pwa-muted);font-size:9px}.pwa-v2 .pwa-route-card strong{font-size:15px}.pwa-v2 .pwa-route-card span{color:var(--pwa-muted);font-size:11px;align-self:end}.pwa-v2 .pwa-route-card>button{width:38px;height:38px;min-width:38px;padding:0;border-radius:12px}.pwa-v2 .pwa-find-dock{position:absolute;left:14px;right:14px;bottom:max(14px,env(safe-area-inset-bottom));z-index:9;display:grid;grid-template-columns:minmax(0,1fr) 52px;gap:8px}.pwa-v2 .pwa-find{min-height:54px;padding:0 18px;border-radius:17px;box-shadow:0 10px 30px #11473838;font-size:14px;font-weight:750}.pwa-v2 .pwa-find:disabled{opacity:.82;background:#93a5a0;color:#fff}.pwa-v2 .pwa-options-button{width:52px;height:54px;min-width:52px;padding:0;border:1px solid rgba(255,255,255,.78);border-radius:17px;background:#fffffff0;color:var(--pwa-text);box-shadow:0 10px 30px #11312824;font-size:19px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.pwa-v2 .pwa-options-button.active{background:var(--pwa-text);color:#fff}.pwa-v2 .pwa-sheet{padding:0;background:var(--pwa-surface);border:0;border-radius:0;position:relative;z-index:12}.pwa-v2 .pwa-sheet-header{width:100%;min-height:52px;padding:6px 16px 10px;display:grid;grid-template-columns:28px 1fr 28px;align-items:center;gap:8px;border:0;border-radius:0;background:var(--pwa-surface);color:var(--pwa-text);box-shadow:none;text-align:center}.pwa-v2 .pwa-sheet-handle{grid-column:2;width:38px;height:4px;margin:0 auto 3px;border-radius:999px;background:#cbd5d1}.pwa-v2 .pwa-sheet-header>span:nth-child(2){grid-column:2;font-size:12px;font-weight:700}.pwa-v2 .pwa-sheet-chevron{grid-column:3;grid-row:1 / span 2;color:var(--pwa-muted)}.pwa-v2 .pwa-sheet-body{display:none;padding:4px 14px 18px;border-top:1px solid var(--pwa-border)}.pwa-v2 .pwa-sheet.open .pwa-sheet-body{display:block}.pwa-v2 .pwa-filter-grid{display:grid;grid-template-columns:1fr;gap:10px;padding-top:10px}.pwa-v2 .pwa-filter-grid label{display:grid;gap:6px;font-size:10px;font-weight:700;color:var(--pwa-muted)}.pwa-v2 .pwa-filter-grid select{width:100%;min-height:46px;padding:0 12px;border:1px solid var(--pwa-border);border-radius:14px;background:var(--pwa-bg);color:var(--pwa-text);font-size:13px}.pwa-v2 .pwa-message{margin:10px 0 0;padding:10px 12px;border-radius:12px;background:var(--pwa-unknown-soft);color:var(--pwa-text);font-size:11px}.pwa-v2 .pwa-space-details{margin-top:10px}.pwa-v2 .pwa-space-details summary{min-height:42px;display:flex;align-items:center;font-size:12px;font-weight:700}.pwa-v2 .space-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:4px}.pwa-v2 .space{min-height:50px;padding:8px 10px;display:flex;align-items:center;justify-content:space-between;gap:6px;border-radius:14px;text-align:left}.pwa-v2 .space strong{font-size:13px}.pwa-v2 .space span{font-size:9px;font-weight:700}.pwa-v2 .space.FREE{background:var(--pwa-free-soft);border-color:color-mix(in srgb,var(--pwa-free) 35%,white);color:var(--pwa-free)}.pwa-v2 .space.OCCUPIED{background:var(--pwa-occupied-soft);border-color:color-mix(in srgb,var(--pwa-occupied) 30%,white);color:var(--pwa-occupied)}.pwa-v2 .space.UNKNOWN{background:var(--pwa-unknown-soft);border-color:#d6dedb;color:var(--pwa-unknown)}.pwa-v2 .pwa-secondary-actions{margin-top:12px;display:flex;flex-wrap:wrap;gap:8px}.pwa-v2 .pwa-secondary-actions button,.pwa-v2 .pwa-secondary-actions a{min-height:40px;padding:0 12px;display:inline-flex;align-items:center;border:1px solid var(--pwa-border);border-radius:13px;background:var(--pwa-surface);color:var(--pwa-text);text-decoration:none;font-size:11px}.pwa-v2 .ad-region{min-height:190px;padding:16px;border-top:1px solid var(--pwa-border);background:#eef2ee;overflow:hidden}.pwa-v2 .maplibregl-ctrl-top-right{top:8px;right:8px}.pwa-v2 .maplibregl-ctrl-group{overflow:hidden;border-radius:13px!important;box-shadow:0 6px 18px #14302824!important}.pwa-v2 .maplibregl-ctrl-group button{width:38px;height:38px}@media(max-width:380px){.pwa-v2 .pwa-map-stage{height:56dvh;min-height:350px}.pwa-v2 .pwa-status{gap:8px;padding-inline:11px}.pwa-v2 .pwa-unknown span{display:none}}@media(min-width:900px){.public-app.pwa-v2{min-height:100vh}.pwa-v2 .pwa-topbar,.pwa-v2 .pwa-status{padding-inline:24px}.pwa-v2 .pwa-main{min-height:calc(100vh - 126px);display:grid;grid-template-columns:minmax(0,2fr) minmax(320px,1fr);grid-template-rows:auto 1fr;align-items:stretch}.pwa-v2 .pwa-map-stage{grid-column:1;grid-row:1 / span 2;height:calc(100vh - 126px);min-height:620px}.pwa-v2 .pwa-sheet{grid-column:2;grid-row:1;border-left:1px solid var(--pwa-border)}.pwa-v2 .pwa-sheet-header{display:none}.pwa-v2 .pwa-sheet-body{display:block!important;padding:18px}.pwa-v2 .ad-region{grid-column:2;grid-row:2;min-height:260px;border-left:1px solid var(--pwa-border)}.pwa-v2 .pwa-filter-grid{grid-template-columns:1fr}.pwa-v2 .pwa-find-dock{left:24px;right:24px;max-width:520px}.pwa-v2 .pwa-options-button{display:none}.pwa-v2 .pwa-find-dock{grid-template-columns:1fr}}.dark .public-app.pwa-v2{--pwa-bg: #101815;--pwa-surface: #17211d;--pwa-text: #eff7f3;--pwa-muted: #9eafa8;--pwa-border: rgba(226, 241, 234, .1);--pwa-free-soft: #173d31;--pwa-occupied-soft: #402724;--pwa-unknown-soft: #26312e;background:var(--pwa-bg)}.dark .pwa-v2 .pwa-location-button,.dark .pwa-v2 .pwa-space-card,.dark .pwa-v2 .pwa-route-card,.dark .pwa-v2 .pwa-options-button{background:#17211df0;border-color:#ffffff1a;color:var(--pwa-text)}.dark .pwa-v2 .ad-region{background:#131c18}@media(prefers-reduced-motion:reduce){.pwa-v2 *,.pwa-v2 *:before,.pwa-v2 *:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.pwa-v2 .pwa-ad-slot{padding:12px;background:linear-gradient(145deg,#edf4f1,#f7faf8)}.pwa-v2 .pwa-ad-placeholder{display:none}.pwa-v2 .pwa-ad-slot>.ad-region{position:relative;width:100%;height:100%;min-height:0!important;padding:18px 18px 16px;display:flex;flex-direction:column;justify-content:center;border:1px solid rgba(20,70,57,.1);border-radius:20px;background:#ffffffeb;box-shadow:0 8px 26px #1131280f;overflow:hidden}.pwa-v2 .pwa-ad-slot>.ad-region:before{content:"Реклама";display:inline-flex;width:fit-content;margin-bottom:8px;padding:4px 8px;border-radius:999px;background:#13846517;color:#138465;font-size:9px;font-weight:750;letter-spacing:.04em;text-transform:uppercase}.pwa-v2 .pwa-ad-slot>.ad-region>*{position:relative;z-index:1}.pwa-v2 .pwa-ad-slot>.ad-region p{margin:0;color:var(--pwa-text);font-size:14px;line-height:1.4;font-weight:650}.pwa-v2 .pwa-ad-slot>.ad-region small{margin-top:6px;color:var(--pwa-muted);font-size:10px;line-height:1.4}.dark .pwa-v2 .pwa-ad-slot>.ad-region{background:#17211df0;border-color:#ffffff14}.pwa-v2 .public-parking-marker{width:32px;height:32px;padding:0;display:grid;place-items:center;border:2px solid rgba(255,255,255,.97);border-radius:11px;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;color:#fff;box-shadow:0 5px 15px #14302833;transition:transform .18s ease,box-shadow .18s ease}.pwa-v2 .public-parking-marker--free{width:35px;height:35px;background:linear-gradient(145deg,#25aa80,#11745a);box-shadow:0 0 0 7px #13846524,0 7px 20px #0d5f4845}.pwa-v2 .public-parking-p{font-family:Inter,system-ui,sans-serif;font-size:20px;line-height:1;font-weight:850}.pwa-v2 .public-parking-marker--occupied{background:linear-gradient(145deg,#df7b71,#b55049);box-shadow:0 5px 15px #96463e38}.pwa-v2 .public-parking-car{width:22px;height:22px;display:block;color:#fff}.pwa-v2 .public-parking-marker--unknown{width:27px;height:27px;border-radius:9px;background:#7a8b87eb;box-shadow:0 4px 12px #3746422e}.pwa-v2 .public-parking-unknown{font-size:15px;line-height:1;font-weight:800}.pwa-v2 .public-parking-marker.is-selected{transform:scale(1.18);z-index:30}.pwa-v2 .public-parking-marker--free.is-selected{animation:parkiq-public-free-pulse 2.2s ease-in-out infinite}@keyframes parkiq-public-free-pulse{0%,to{box-shadow:0 0 0 7px #13846529,0 7px 20px #0d5f4845}50%{box-shadow:0 0 0 12px #13846508,0 9px 26px #0d5f4857}}@media(prefers-reduced-motion:reduce){.pwa-v2 .public-parking-marker--free.is-selected{animation:none}}.pwa-v2 .pwa-ad-slot{grid-row:3;min-width:0;min-height:0;padding:12px;overflow:hidden;border-top:1px solid var(--pwa-border);background:linear-gradient(145deg,#edf4f1,#f8faf9)}.pwa-v2 .pwa-ad-slot>.ad-region{width:100%;height:100%;min-height:0!important;margin:0;padding:0;overflow:hidden;border:1px solid rgba(20,70,57,.1);border-radius:20px;background:#fffffff5;box-shadow:0 8px 26px #11312812}.pwa-v2 .pwa-ad-slot .ad-region.is-empty{display:grid}.pwa-v2 .pwa-ad-slot .ad-empty{min-height:100%;padding:18px;display:flex;flex-direction:column;justify-content:center;background:radial-gradient(circle at 92% 8%,rgba(37,170,128,.12),transparent 40%),linear-gradient(145deg,#fff,#f6faf8)}.pwa-v2 .pwa-ad-slot .ad-empty-label{width:fit-content;margin-bottom:9px;padding:4px 8px;border-radius:999px;background:#e7f5ef;color:#138465;font-size:9px;line-height:1;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.pwa-v2 .pwa-ad-slot .ad-empty strong{color:var(--pwa-text);font-size:16px;line-height:1.2;font-weight:800}.pwa-v2 .pwa-ad-slot .ad-empty p{max-width:300px;margin:6px 0 0;color:var(--pwa-muted);font-size:11px;line-height:1.4;font-weight:500}.pwa-v2 .pwa-ad-slot .ad-content{height:100%;display:grid;grid-template-columns:minmax(90px,34%) minmax(0,1fr);gap:13px;align-items:center;padding:12px}.pwa-v2 .pwa-ad-slot .ad-content img,.pwa-v2 .pwa-ad-slot .ad-content video{width:100%;height:100%;max-height:145px;object-fit:cover;border-radius:14px}.pwa-v2 .pwa-ad-slot .ad-content small{color:#138465;font-size:9px;font-weight:800}.pwa-v2 .pwa-ad-slot .ad-content h3{margin:4px 0;font-size:15px;line-height:1.2}.pwa-v2 .pwa-ad-slot .ad-content p{margin:0 0 7px;color:var(--pwa-muted);font-size:10px;line-height:1.35}.pwa-v2 .pwa-ad-slot .ad-content a{color:#11745a;font-size:10px;font-weight:800;text-decoration:none}.pwa-v2 .public-parking-marker{--parking-angle: 0deg;width:38px!important;height:38px!important;min-width:0!important;min-height:0!important;padding:0!important;margin:0!important;display:grid!important;place-items:center!important;position:relative;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;-webkit-appearance:none;-moz-appearance:none;appearance:none;overflow:visible;color:#fff;cursor:pointer}.pwa-v2 .public-parking-marker:before{content:"";position:absolute;left:50%;top:50%;width:23px;height:35px;border:2px solid rgba(255,255,255,.97);border-radius:9px;transform:translate(-50%,-50%) rotate(var(--parking-angle));transform-origin:center;box-shadow:0 5px 15px #1131282e;transition:width .18s ease,height .18s ease,box-shadow .18s ease,filter .18s ease}.pwa-v2 .public-parking-marker--free:before{background:linear-gradient(155deg,#2eb68b,#158365 58%,#0e684f);box-shadow:0 0 0 6px #1384651f,0 7px 18px #0d5f4840}.pwa-v2 .public-parking-p{position:relative;z-index:2;display:grid;place-items:center;width:25px;height:25px;font-family:Inter,system-ui,sans-serif;font-size:18px;line-height:1;font-weight:850;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.12)}.pwa-v2 .public-parking-marker--occupied:before{background:linear-gradient(155deg,#df8076,#c45f56 60%,#a94b44);box-shadow:0 6px 16px #9e423a38}.pwa-v2 .public-parking-car{position:relative;z-index:2;width:21px;height:21px;display:block;color:#fff;filter:drop-shadow(0 1px 1px rgba(0,0,0,.1))}.pwa-v2 .public-parking-marker--unknown:before{width:21px;height:32px;background:linear-gradient(155deg,#96a5a1f0,#70827ef0);border-color:#ffffffe6;box-shadow:0 4px 12px #37464229}.pwa-v2 .public-parking-unknown{position:relative;z-index:2;display:grid;place-items:center;width:22px;height:22px;color:#fffffff7;font-size:15px;line-height:1;font-weight:800}.pwa-v2 .public-parking-marker.is-selected{z-index:30}.pwa-v2 .public-parking-marker.is-selected:before{width:27px;height:40px;filter:brightness(1.04)}.pwa-v2 .public-parking-marker--free.is-selected:before{animation:parkiq-slot-pulse 2.2s ease-in-out infinite}@keyframes parkiq-slot-pulse{0%,to{box-shadow:0 0 0 6px #13846529,0 7px 18px #0d5f4845}50%{box-shadow:0 0 0 12px #13846509,0 10px 27px #0d5f4857}}@media(prefers-reduced-motion:reduce){.pwa-v2 .public-parking-marker--free.is-selected:before{animation:none}}.pwa-v2 .pwa-find:disabled{min-height:48px;border:1px solid rgba(30,72,61,.18);background:#f4f8f6e0;color:#6f817b;box-shadow:0 7px 18px #11312814;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);opacity:1}.pwa-v2 .pwa-ad-slot>.ad-region:before{content:none!important;display:none!important}.pwa-v2 .pwa-ad-slot{padding:10px 12px max(10px,env(safe-area-inset-bottom))}.pwa-v2 .pwa-ad-slot>.ad-region{border-radius:22px;box-shadow:0 8px 28px #11312811}.pwa-v2 .pwa-ad-slot .ad-empty{padding:16px 18px}.pwa-v2 .pwa-ad-slot .ad-empty-label{margin-bottom:8px}.pwa-v2 .public-parking-marker{width:25px!important;height:25px!important;min-width:25px!important;min-height:25px!important;padding:0!important;margin:0!important;display:grid!important;place-items:center!important;border:2px solid rgba(255,255,255,.96)!important;border-radius:50%!important;background:#84938f!important;color:#fff!important;box-shadow:0 4px 12px #1f393233!important;overflow:visible!important}.pwa-v2 .public-parking-marker:before{content:none!important;display:none!important}.pwa-v2 .public-parking-marker--free{width:29px!important;height:29px!important;min-width:29px!important;min-height:29px!important;background:linear-gradient(145deg,#27ae83,#11755a)!important;box-shadow:0 0 0 6px #16876521,0 6px 18px #0d5f4845!important}.pwa-v2 .public-parking-p{position:static!important;width:auto!important;height:auto!important;display:block!important;font-family:Inter,system-ui,sans-serif;font-size:17px!important;line-height:1!important;font-weight:850!important;color:#fff!important}.pwa-v2 .public-parking-marker--occupied{width:27px!important;height:27px!important;min-width:27px!important;min-height:27px!important;background:linear-gradient(145deg,#df7c71,#b7524a)!important;box-shadow:0 5px 14px #a1473e3d!important}.pwa-v2 .public-parking-car{position:static!important;width:18px!important;height:18px!important;color:#fff!important}.pwa-v2 .public-parking-marker--unknown{width:19px!important;height:19px!important;min-width:19px!important;min-height:19px!important;border-width:1.5px!important;background:#7e8f8ad1!important;box-shadow:0 3px 9px #32464024!important;opacity:.88}.pwa-v2 .public-parking-unknown{position:static!important;width:auto!important;height:auto!important;display:block!important;color:#fffffff5!important;font-size:11px!important;line-height:1!important;font-weight:800!important}.pwa-v2 .public-parking-marker.is-selected{outline:3px solid rgba(255,255,255,.72);outline-offset:3px;z-index:30}.pwa-v2 .public-parking-marker--free.is-selected{animation:parkiq-v5-free-pulse 2.2s ease-in-out infinite}@keyframes parkiq-v5-free-pulse{0%,to{box-shadow:0 0 0 6px #16876524,0 6px 18px #0d5f4845}50%{box-shadow:0 0 0 11px #16876508,0 9px 25px #0d5f4857}}@media(prefers-reduced-motion:reduce){.pwa-v2 .public-parking-marker--free.is-selected{animation:none!important}}.pwa-v2 .pwa-unknown{min-width:0;padding:0 11px;color:#6f817b;background:#eef2f0;font-size:9px;font-weight:650}.pwa-v2 .pwa-unknown span{white-space:nowrap}.pwa-v2 .pwa-find:disabled{border:1px solid rgba(30,72,61,.12);background:#f7faf8f0;color:#70827c;box-shadow:0 6px 18px #11312812;opacity:1}.pwa-v2 .pwa-options-icon{width:24px;height:24px;display:block}.pwa-v2 .pwa-sheet-header>span:nth-child(2){font-size:12px;font-weight:750;letter-spacing:-.01em}.pwa-v2 .public-parking-marker-host{width:0;height:0;position:relative;overflow:visible;pointer-events:none}.pwa-v2 .public-parking-marker-host>.public-parking-marker{position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;transform-origin:center center!important;pointer-events:auto}.pwa-v2 .public-parking-marker-host>.public-parking-marker.is-selected{transform:translate(-50%,-50%) scale(1.14)!important}.pwa-v2 .public-parking-marker-host>.public-parking-marker--unknown{width:18px!important;height:18px!important;min-width:18px!important;min-height:18px!important;background:#71847ed6!important;border:1.5px solid rgba(255,255,255,.94)!important;box-shadow:0 3px 8px #273e3724!important}.pwa-v2 .public-parking-marker-host .public-parking-unknown{font-size:10px!important}.pwa-v2 .maplibregl-map{--public-slot-free: #168765;--public-slot-occupied: #d66e62;--public-slot-unknown: #84938f}@media(max-width:899px){.public-app.pwa-v2{width:100%;height:100dvh;min-height:100dvh;display:grid!important;grid-template-rows:auto auto minmax(0,1fr)!important;overflow:hidden!important}.pwa-v2 .pwa-main{width:100%;height:100%!important;min-height:0!important;display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:minmax(280px,1fr) 52px clamp(150px,20dvh,180px)!important;overflow:hidden!important}.pwa-v2 .pwa-map-stage{grid-column:1!important;grid-row:1!important;width:100%!important;height:auto!important;min-height:0!important;overflow:hidden!important}.pwa-v2 .pwa-map-stage>.map-wrap,.pwa-v2 .pwa-map-stage .maplibregl-map{position:absolute!important;top:0!important;right:0!important;bottom:0!important;left:0!important;width:100%!important;height:100%!important;min-height:0!important}.pwa-v2 .pwa-sheet{grid-column:1!important;grid-row:2!important;width:100%!important;height:52px!important;min-height:52px!important;overflow:hidden;border-top:1px solid rgba(26,72,59,.09)}.pwa-v2 .pwa-sheet-header{height:52px!important;min-height:52px!important;padding:4px 16px 7px!important}.pwa-v2 .pwa-sheet-handle{width:34px;height:4px;background:#c6d3cf}.pwa-v2 .pwa-ad-slot{grid-column:1!important;grid-row:3!important;width:100%!important;height:100%!important;min-height:0!important;padding:10px 12px max(10px,env(safe-area-inset-bottom))!important;overflow:hidden!important;background:linear-gradient(180deg,#eef5f2,#f6f9f7)}.pwa-v2 .pwa-ad-slot>.ad-region{width:100%;height:100%;min-height:0!important;border-radius:20px;overflow:hidden}.pwa-v2 .pwa-find-dock{left:16px;right:16px;bottom:16px;gap:10px}.pwa-v2 .pwa-find{min-height:48px;border-radius:16px;font-size:13px}.pwa-v2 .pwa-options-button{width:48px!important;height:48px!important;min-width:48px!important;border-radius:16px}.pwa-v2 .public-parking-marker--unknown{width:17px!important;height:17px!important;min-width:17px!important;min-height:17px!important;opacity:.78}.pwa-v2 .public-parking-marker--unknown .public-parking-unknown{font-size:9px!important}}@media(max-width:899px)and (max-height:700px){.pwa-v2 .pwa-main{grid-template-rows:minmax(210px,1fr) 44px 118px!important}.pwa-v2 .pwa-sheet,.pwa-v2 .pwa-sheet-header{height:44px!important;min-height:44px!important}.pwa-v2 .pwa-ad-slot{padding:7px 10px max(7px,env(safe-area-inset-bottom))!important}}@media(max-width:899px)and (min-height:900px){.pwa-v2 .pwa-main{grid-template-rows:minmax(330px,1fr) 54px 190px!important}}.pwa-v2 .pwa-free-count strong{min-width:32px;display:inline-flex;align-items:center;justify-content:center;line-height:1}.pwa-v2 .pwa-free-count strong:first-child{text-rendering:geometricPrecision}.pwa-v2 .pwa-unknown{border:1px solid rgba(39,86,72,.045);background:linear-gradient(180deg,#f0f4f2,#ebf0ee);color:#758680;box-shadow:inset 0 1px #ffffff8c}.pwa-v2 .pwa-free-pending-icon{width:34px;height:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;background:#edf3f0;color:#6f827b;font-size:16px;line-height:1;font-weight:800;letter-spacing:2px}.pwa-v2 .pwa-unknown{background:#eef3f1;color:#71817c;border-color:#224c400d;box-shadow:none}.pwa-v2 .pwa-free-count.is-pending{min-width:0;display:flex;align-items:center;padding-left:2px}.pwa-v2 .pwa-free-pending-copy{display:flex;flex-direction:column;align-items:flex-start;gap:3px}.pwa-v2 .pwa-free-pending-copy strong{min-width:0!important;display:block;color:var(--pwa-text);font-size:12px;line-height:1.1;font-weight:780}.pwa-v2 .pwa-free-pending-copy small{color:var(--pwa-muted);font-size:9px;line-height:1.1;font-weight:500}.pwa-v2 .pwa-free-pending-icon{display:none!important}.pwa-v2 .public-parking-marker-host>.public-parking-marker{position:absolute!important;left:50%!important;top:50%!important;width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;padding:0!important;margin:0!important;display:grid!important;place-items:center!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important;opacity:1;transform:translate(-50%,-50%)!important;transform-origin:center center!important;cursor:pointer}.pwa-v2 .public-parking-marker-host>.public-parking-marker:before{content:""!important;display:block!important;position:absolute;left:50%;top:50%;width:29px;height:44px;border:2px solid rgba(255,255,255,.96);border-radius:12px;transform:translate(-50%,-50%) rotate(var(--parking-angle, 0deg));transform-origin:center center;z-index:0;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease,opacity .2s ease,filter .2s ease}.pwa-v2 .public-parking-marker-host>.public-parking-marker:after{content:""!important;display:block!important;position:absolute;left:50%;top:50%;width:19px;height:32px;border-radius:8px;transform:translate(-50%,-50%) rotate(var(--parking-angle, 0deg));transform-origin:center center;z-index:1;pointer-events:none}.pwa-v2 .public-parking-marker--free:before{background:linear-gradient(155deg,#2bb48a,#168866 57%,#0f6f54);border-color:#fffffffa;box-shadow:0 0 0 6px #16886621,0 8px 20px #0f6f5440}.pwa-v2 .public-parking-marker--free:after{background:#f0fff929;box-shadow:inset 0 0 0 1px #ffffff1a}.pwa-v2 .public-parking-p{position:relative!important;z-index:3!important;width:auto!important;height:auto!important;display:block!important;color:#fff!important;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;font-size:20px!important;line-height:1!important;font-weight:850!important;text-shadow:0 1px 2px rgba(0,0,0,.12)}.pwa-v2 .public-parking-marker--occupied:before{background:linear-gradient(155deg,#e4897c,#cf675d 58%,#ad5048);border-color:#fffffff2;box-shadow:0 7px 17px #ae4d4438}.pwa-v2 .public-parking-marker--occupied:after{background:#fff6f321;box-shadow:inset 0 0 0 1px #ffffff14}.pwa-v2 .public-parking-car{position:relative!important;z-index:3!important;width:20px!important;height:20px!important;display:block!important;color:#fff!important;filter:drop-shadow(0 1px 1px rgba(0,0,0,.1))}.pwa-v2 .public-parking-marker--unknown{opacity:.72!important}.pwa-v2 .public-parking-marker--unknown:before{width:25px;height:39px;background:linear-gradient(155deg,#97a5a0d1,#778882d1);border:1.5px solid rgba(255,255,255,.9);box-shadow:0 4px 11px #32453f21}.pwa-v2 .public-parking-marker--unknown:after{width:17px;height:29px;background:#f5f9f721;box-shadow:inset 0 0 0 1px #ffffff0d}.pwa-v2 .public-parking-unknown{position:relative!important;z-index:3!important;width:auto!important;height:auto!important;display:block!important;color:#ffffffed!important;font-size:12px!important;line-height:1!important;font-weight:800!important}.pwa-v2 .public-parking-marker-host>.public-parking-marker.is-selected{z-index:30}.pwa-v2 .public-parking-marker--free.is-selected:before{filter:brightness(1.04);animation:parkiq-product-slot-pulse 2.4s ease-in-out infinite}@keyframes parkiq-product-slot-pulse{0%,to{box-shadow:0 0 0 6px #16886629,0 8px 20px #0f6f5445}50%{box-shadow:0 0 0 12px #16886606,0 10px 27px #0f6f5457}}@media(prefers-reduced-motion:reduce){.pwa-v2 .public-parking-marker--free.is-selected:before{animation:none!important}}@media(max-width:899px){.pwa-v2 .pwa-find-dock{align-items:center}.pwa-v2 .pwa-find:disabled{flex:0 1 auto!important;width:auto!important;max-width:calc(100% - 60px)!important;min-width:0!important;min-height:46px!important;padding:0 18px!important;border:1px solid rgba(35,79,66,.1)!important;border-radius:17px!important;background:#f9fbfae8!important;color:#71827c!important;box-shadow:0 6px 17px #19362e12!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);font-size:12px!important;font-weight:700!important;opacity:1!important}}.pwa-v2 .pwa-map-stage{background:#e9efec}.pwa-v2 .public-parking-marker--unknown{width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;opacity:.58!important}.pwa-v2 .public-parking-marker--unknown:before{width:21px!important;height:33px!important;border-radius:10px!important;border:1.5px solid rgba(255,255,255,.84)!important;background:linear-gradient(155deg,#99a7a2c2,#788983bd)!important;box-shadow:0 3px 9px #2d413b1a!important}.pwa-v2 .public-parking-marker--unknown:after{width:14px!important;height:24px!important;border-radius:7px!important;background:#ffffff14!important}.pwa-v2 .public-parking-marker--unknown .public-parking-unknown{font-size:10px!important;font-weight:750!important;color:#ffffffe0!important}.pwa-v2 .public-parking-marker--free{opacity:1!important}.pwa-v2 .public-parking-marker--free:before{width:30px!important;height:46px!important}.pwa-v2 .public-parking-marker--free .public-parking-p{font-size:20px!important}.pwa-v2 .public-parking-marker--occupied{opacity:.94!important}@media(max-width:899px){.pwa-v2 .pwa-options-button{width:52px!important;height:52px!important;min-width:52px!important;border-radius:17px!important;margin-right:4px;background:#fffffff0!important;box-shadow:0 8px 22px #1430281c!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.pwa-v2 .pwa-options-icon{width:22px;height:22px}.pwa-v2 .pwa-find-dock{bottom:18px!important}}.pwa-v2 .maplibregl-ctrl-bottom-right{right:8px!important;bottom:4px!important;z-index:2!important}.pwa-v2 .maplibregl-ctrl-attrib{opacity:.55;transform:scale(.82);transform-origin:right bottom}.pwa-v2 .maplibregl-ctrl-attrib-button{width:24px!important;height:24px!important;border-radius:50%!important;background-color:#ffffffdb!important}.pwa-v2 .pwa-locate,.pwa-v2 .locate{box-shadow:0 8px 22px #1430281a!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.pwa-v2 .pwa-space-card{position:relative}.pwa-v2 .pwa-space-card-close{position:absolute;top:50%;right:14px;width:40px;height:40px;min-width:40px;min-height:40px;padding:0;display:grid;place-items:center;transform:translateY(-50%);border:0;border-radius:13px;background:#eef4f1e0;color:#60756f;cursor:pointer;z-index:3}.pwa-v2 .pwa-space-card-close svg{width:19px;height:19px}.pwa-v2 .pwa-space-card-close:active{transform:translateY(-50%) scale(.95)}.pwa-v2 .pwa-space-card>div:first-of-type{padding-right:46px}@media(max-width:899px){.pwa-v2 .public-header>button{width:48px!important;height:48px!important;min-width:48px!important;min-height:48px!important;padding:0!important;border-radius:16px!important;box-shadow:0 4px 12px #1430280b!important}.pwa-v2 .pwa-space-card{min-height:78px!important;padding:12px 64px 12px 17px!important;border-radius:22px!important;border:1px solid rgba(25,72,59,.07)!important;background:#fffffff5!important;box-shadow:0 10px 28px #1230281a!important;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.pwa-v2 .pwa-space-card>div:first-of-type{padding-right:0!important}.pwa-v2 .pwa-space-card strong{display:block;font-size:18px!important;line-height:1.15!important;font-weight:800!important;letter-spacing:-.015em;color:#173d33!important}.pwa-v2 .pwa-space-state{display:inline-block;margin-top:5px;font-size:13px!important;line-height:1.1;font-weight:650!important;opacity:.72}.pwa-v2 .pwa-space-card-close{right:12px!important;width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;border-radius:14px!important;background:#f6f9f8f5!important;border:1px solid rgba(35,79,66,.08)!important}.pwa-v2 .pwa-space-card-close svg{width:17px!important;height:17px!important}.pwa-v2 .public-parking-marker--free:before{width:27px!important;height:42px!important;border-radius:12px!important;box-shadow:0 6px 15px #0f6f5438!important}.pwa-v2 .public-parking-marker--free .public-parking-p{font-size:18px!important}.pwa-v2 .public-parking-marker--occupied:before{width:27px!important;height:42px!important;border-radius:12px!important;box-shadow:0 6px 15px #ae4d442b!important}.pwa-v2 .public-parking-marker--occupied{opacity:.9!important}.pwa-v2 .public-parking-car{width:18px!important;height:18px!important}.pwa-v2 .public-parking-marker--unknown:before{width:19px!important;height:30px!important;border-radius:9px!important}.pwa-v2 .public-parking-marker--unknown{opacity:.5!important}.pwa-v2 .public-parking-marker--free.is-selected:before{box-shadow:0 0 0 5px #16886624,0 8px 20px #0f6f5445!important}}@media(max-width:899px){.pwa-v2 .public-parking-marker:before,.pwa-v2 .public-parking-marker:after{scale:var( --public-parking-scale, 1 );transform-origin:center center;transition:scale .12s ease-out}.pwa-v2 .public-parking-p,.pwa-v2 .public-parking-car,.pwa-v2 .public-parking-unknown{scale:var( --public-parking-scale, 1 );transform-origin:center center;transition:scale .12s ease-out}}@media(max-width:899px){.pwa-v2 .public-parking-marker:before,.pwa-v2 .public-parking-marker:after{display:none!important;content:none!important}.pwa-v2 .public-parking-marker{background:transparent!important;border:0!important;box-shadow:none!important;scale:1!important;opacity:1!important}.pwa-v2 .public-parking-p,.pwa-v2 .public-parking-car,.pwa-v2 .public-parking-unknown{scale:1!important;transition:none!important;position:relative!important;z-index:4!important}.pwa-v2 .public-parking-car{width:17px!important;height:17px!important;color:#fff!important;filter:drop-shadow(0 1px 2px rgba(72,31,27,.35))!important}.pwa-v2 .public-parking-p{font-size:18px!important;line-height:1!important;font-weight:850!important;color:#fff!important;text-shadow:0 1px 2px rgba(11,75,57,.32)!important}.pwa-v2 .public-parking-unknown{font-size:13px!important;font-weight:800!important;color:#fff!important;opacity:.86!important}.pwa-v2 .public-parking-marker--free.is-selected:before{animation:none!important;box-shadow:none!important}}.pwa-v2 .public-parking-marker-host{display:none!important}
