:root{--bg-dark: #020617;--bg-surface: #0f172a;--bg-card: #1e293b;--border-color: #334155;--header-bg: rgba(15, 23, 42, .85);--glass-bg: rgba(15, 23, 42, .85);--input-bg: rgba(0, 0, 0, .3);--table-head-bg: #0f172a;--primary: #2563eb;--primary-hover: #1d4ed8;--accent: #10b981;--accent-hover: #059669;--warning: #f59e0b;--danger: #ef4444;--cyan: #38bdf8;--cyan-glow: #00f0ff;--legal: #f97316;--legal-light: #fdba74;--text-main: #f8fafc;--text-muted: #94a3b8;--font-main: "Inter", system-ui, sans-serif;--font-heading: "Outfit", system-ui, sans-serif;--font-mono: ui-monospace, "Cascadia Code", monospace;--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 24px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 14px;--radius-pill: 9999px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .05);--shadow-md: 0 4px 12px rgba(0, 0, 0, .15);--shadow-lg: 0 10px 25px rgba(0, 0, 0, .2);--shadow-glass: 0 10px 25px rgba(0, 0, 0, .2);--header-shadow: 0 10px 28px rgba(0, 0, 0, .48);--header-shade: linear-gradient(to bottom, rgba(0, 0, 0, .4), transparent);--shadow-primary: 0 4px 14px rgba(37, 99, 235, .4);--shadow-cyan: 0 0 10px rgba(56, 189, 248, .5);--ease-default: cubic-bezier(.4, 0, .2, 1);--ease-spring: cubic-bezier(.16, 1, .3, 1);--duration-fast: .15s;--duration-normal: .2s;--duration-slow: .35s;--blur-sm: 8px;--blur-md: 12px;--blur-lg: 16px;--blur-xl: 20px;--logo-green-1: #87A96B;--logo-green-2: #8FBD50;--logo-green-3: #AACA89;--logo-green-4: #B0CE90;--logo-green-5: #BED6A2;--logo-stroke-dark: #0D1527;--logo-stroke-light: #FFFFFF}html[data-theme=light]{--bg-dark: #f1f5f9;--bg-surface: #ffffff;--bg-card: #f8fafc;--border-color: #cbd5e1;--header-bg: rgba(255, 255, 255, .9);--glass-bg: rgba(255, 255, 255, .9);--input-bg: rgba(241, 245, 249, .95);--table-head-bg: #e2e8f0;--accent: #059669;--accent-hover: #047857;--warning: #d97706;--danger: #dc2626;--text-main: #0f172a;--text-muted: #475569;--header-shadow: 0 10px 28px rgba(15, 23, 42, .05);--header-shade: linear-gradient(to bottom, rgba(15, 23, 42, .05), transparent)}@media (prefers-color-scheme: light){html:not([data-theme=dark]){--bg-dark: #f1f5f9;--bg-surface: #ffffff;--bg-card: #f8fafc;--border-color: #cbd5e1;--header-bg: rgba(255, 255, 255, .9);--glass-bg: rgba(255, 255, 255, .9);--input-bg: rgba(241, 245, 249, .95);--table-head-bg: #e2e8f0;--accent: #059669;--accent-hover: #047857;--warning: #d97706;--danger: #dc2626;--text-main: #0f172a;--text-muted: #475569;--header-shadow: 0 10px 28px rgba(15, 23, 42, .05);--header-shade: linear-gradient(to bottom, rgba(15, 23, 42, .05), transparent)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;min-height:100%;overflow-x:hidden;overflow-y:auto;font-family:var(--font-main);background-color:var(--bg-dark);color:var(--text-main);-webkit-font-smoothing:antialiased}html,body,*{scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar,body::-webkit-scrollbar,*::-webkit-scrollbar{display:none;width:0;height:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.hidden{display:none!important}.app-container{display:flex;flex-direction:column;height:100vh;width:100vw;max-width:100%;overflow-x:hidden}.app-header,.hub-header,.ecosystem-header{position:relative;isolation:isolate;z-index:20;background:var(--header-bg);border-bottom:1px solid var(--border-color);box-shadow:var(--header-shadow)}.app-header:before,.hub-header:before,.ecosystem-header:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;backdrop-filter:blur(var(--blur-md));-webkit-backdrop-filter:blur(var(--blur-md))}.app-header:after,.hub-header:after,.ecosystem-header:after{content:"";position:absolute;left:0;right:0;top:100%;height:22px;pointer-events:none;z-index:2;background:var(--header-shade)}.app-header{height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-xl);width:100%;max-width:100%;min-width:0;box-sizing:border-box;overflow:hidden}.app-header--with-search{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,min(520px,46vw)) minmax(0,1fr);align-items:center;column-gap:var(--space-md);width:100%;max-width:100%;min-width:0;box-sizing:border-box}.app-header--with-search>.header-brand-group{grid-column:1;justify-self:start;align-self:center;min-width:0;max-width:100%;overflow:hidden}.app-header--with-search>.header-search-group{grid-column:2;justify-self:stretch;align-self:center;width:100%;min-width:0;max-width:100%;box-sizing:border-box}.app-header--with-search>.header-actions,.app-header--with-search>.header-end,.app-header--with-search>.header-toolbar-end{grid-column:3;justify-self:end;align-self:center;min-width:0;max-width:100%;margin-left:0}.app-header--with-search .header-actions{flex-shrink:0}.app-header--with-search .header-toolbar-end{flex-shrink:0;max-width:100%}.header-end{display:flex;align-items:center;gap:var(--space-md)}.header-search-group .header-search-input{flex:1;min-width:0;width:auto}.brand{display:flex;align-items:center;gap:var(--space-md)}.header-brand-group{display:flex;align-items:center;gap:var(--space-lg);min-width:0;flex-shrink:1}.brand-logo-trigger{display:flex;align-items:center;justify-content:center;background:none;border:none;padding:0;margin:0;cursor:pointer;border-radius:var(--radius-md);line-height:0}.brand-logo-trigger:hover .brand-logo-img{transform:scale(1.05)}.brand-logo-trigger:focus-visible{outline:2px solid var(--primary);outline-offset:3px}.brand-text{display:flex;flex-direction:column;gap:1px;line-height:1.2;min-width:0}.brand-title,.brand-subtitle{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brand-logo-img{height:34px;width:auto;object-fit:contain;filter:drop-shadow(0 2px 8px rgba(0,240,255,.25));transition:transform var(--duration-normal) ease}.brand-logo-img .logo-stroke-outline,.logo-stroke-outline{stroke:var(--logo-stroke-light);fill:none;transition:stroke .25s ease}html[data-theme=light] .brand-logo-img .logo-stroke-outline,html[data-theme=light] .logo-stroke-outline{stroke:var(--logo-stroke-dark)}.brand-subtitle{font-size:12px;color:var(--text-muted);margin-left:0}.header-actions{display:flex;align-items:center;gap:var(--space-md)}.btn{padding:8px 18px;border-radius:var(--radius-pill);font-size:13px;font-weight:600;border:1px solid transparent;cursor:pointer;transition:all var(--duration-normal) var(--ease-default);display:inline-flex;align-items:center;gap:var(--space-sm);white-space:nowrap;letter-spacing:.2px}.btn-primary{background-color:var(--primary);color:#fff}.btn-secondary{background-color:var(--bg-card);color:var(--text-main);border:1px solid var(--border-color);box-shadow:var(--shadow-sm)}.btn-secondary:hover{background-color:var(--bg-surface);border-color:var(--primary);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-secondary.active{background-color:var(--primary)!important;color:#fff!important;border-color:var(--primary-hover)!important;box-shadow:var(--shadow-primary)}.btn-danger{background-color:var(--danger);color:#fff;border:1px solid #dc2626}.btn-export-main{background:linear-gradient(135deg,#10b981,#059669)!important;color:#fff!important;border:1px solid #34d399!important;border-radius:var(--radius-pill)!important;padding:8px 20px!important;font-weight:700!important;box-shadow:0 4px 14px #10b98159}.btn-text{background:none;border:none;color:var(--primary);font-size:11px;font-weight:600;cursor:pointer;padding:2px 6px;border-radius:var(--radius-sm)}.btn-theme-toggle{width:36px;height:36px;min-width:36px;border-radius:50%;background-color:var(--bg-card);border:1px solid var(--border-color);color:var(--text-main);font-size:16px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--duration-normal) var(--ease-default);padding:0;user-select:none;box-shadow:var(--shadow-sm)}.header-search-group{display:flex;align-items:center;gap:var(--space-sm);background:var(--input-bg);border:1px solid var(--border-color);padding:5px 6px 5px 14px;border-radius:var(--radius-pill);transition:all var(--duration-normal) var(--ease-default);box-shadow:var(--shadow-sm)}.btn-search-input-inside{background-color:var(--primary);color:#fff;border:none;padding:7px 18px;border-radius:var(--radius-pill);font-size:12px;font-weight:600;cursor:pointer;transition:all var(--duration-normal) var(--ease-default);display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}.input-modal-coord{width:110px;background:var(--bg-card);border:1px solid var(--border-color);color:var(--cyan);font-size:12px;font-weight:600;padding:4px 8px;border-radius:var(--radius-sm);outline:none}.input-modal-coord:focus{border-color:var(--primary)}.glass-panel{background-color:var(--glass-bg);backdrop-filter:blur(var(--blur-lg));-webkit-backdrop-filter:blur(var(--blur-lg));border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-glass)}.floating-toolbar{position:absolute;top:var(--space-lg);background-color:var(--glass-bg);backdrop-filter:blur(var(--blur-lg));border:1px solid var(--border-color);padding:5px 8px;border-radius:var(--radius-xl);display:flex;align-items:center;gap:var(--space-sm);box-shadow:var(--shadow-glass);z-index:25}.btn-floating-view{height:42px;padding:0 12px;border-radius:var(--radius-lg);background-color:var(--glass-bg);backdrop-filter:blur(var(--blur-md));border:1px solid var(--border-color);color:var(--text-main);font-weight:600;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .25s var(--ease-default);box-shadow:var(--shadow-md)}.btn-action-tool{width:40px;height:40px;min-width:40px;padding:0;border-radius:10px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:var(--text-main);font-size:12px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all var(--duration-normal) ease}.tool-btn-svg,.ui-icon{width:18px;height:18px;min-width:18px;flex-shrink:0;display:inline-block;vertical-align:middle;stroke-width:2.2;transition:transform var(--duration-normal) ease,stroke var(--duration-normal) ease}.ui-icon--sm{width:14px;height:14px;min-width:14px}.ui-icon--lg{width:28px;height:28px;min-width:28px}.ui-icon--xl{width:48px;height:48px;min-width:48px}.btn:has(>.ui-icon),.btn:has(>.tool-btn-svg),.mobile-more-btn:has(>.ui-icon),.btn-floating-view:has(>.ui-icon),.btn-theme-toggle:has(>.ui-icon){display:inline-flex;align-items:center;justify-content:center;gap:6px}.modal-title:has(>.ui-icon),.section-title:has(>.ui-icon),[data-icon]:has(>.ui-icon){display:inline-flex;align-items:center;gap:6px}.sidebar-panel{position:absolute;inset:0 auto 0 0;width:360px;background-color:var(--glass-bg);backdrop-filter:blur(var(--blur-xl));border-right:1px solid var(--border-color);border-left:none;display:flex;flex-direction:column;padding:var(--space-lg);gap:var(--space-lg);z-index:20;box-shadow:10px 0 30px #0003;transition:transform var(--duration-slow) var(--ease-default);overflow:visible}.panel-section{display:flex;flex-direction:column;gap:var(--space-sm)}.sidebar-divider{height:1px;background-color:var(--border-color);margin:var(--space-xs) 0}.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0f172acc;backdrop-filter:blur(var(--blur-sm));z-index:999;display:flex;align-items:center;justify-content:center}.modal-card{background:var(--bg-dark);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:480px;max-width:90vw;box-shadow:0 20px 40px #0009;display:flex;flex-direction:column;overflow:hidden}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg);border-bottom:1px solid var(--border-color);background:var(--bg-surface)}.modal-body{padding:var(--space-lg);display:flex;flex-direction:column;gap:10px}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:12px var(--space-lg);border-top:1px solid var(--border-color);background:var(--bg-surface)}.table-wrapper{flex:1;min-width:0;max-width:100%;overflow-x:hidden;overflow-y:auto;border:1px solid var(--border-color);border-radius:var(--radius-md);background-color:var(--bg-card)}.parcels-table th{background-color:var(--table-head-bg);padding:8px 10px;text-align:left;color:var(--text-muted);border-bottom:1px solid var(--border-color);position:sticky;top:0;white-space:normal;word-break:break-word;overflow-wrap:anywhere;vertical-align:top}.parcels-table td{padding:8px 10px;border-bottom:1px solid var(--border-color);color:var(--text-main);white-space:normal;word-break:break-word;overflow-wrap:anywhere;vertical-align:top}.parcels-table .parcel-name-text,.parcels-table .building-name-text{white-space:normal;word-break:break-word;overflow-wrap:anywhere;line-height:1.35}.parcels-table td>div,.parcels-table .parcel-cell-content{display:flex;flex-wrap:wrap;align-items:flex-start;gap:6px;min-width:0}.parcels-table .parcel-warning-badge{color:#ef4444;font-weight:700;font-size:10px;white-space:normal;word-break:break-word;overflow-wrap:anywhere;line-height:1.35}.parcels-table.buildings-table .btn-del-building{min-width:30px;padding:4px 6px;line-height:1}.badge-success{font-size:11px;font-weight:600;background:#22c55e26;color:#4ade80;border:1px solid rgba(34,197,94,.3);padding:2px 8px;border-radius:var(--radius-lg)}.badge-warning{font-size:11px;font-weight:700;background:#f59e0b26;border:1px solid rgba(245,158,11,.3);color:var(--warning);padding:4px 10px;border-radius:var(--radius-pill);text-transform:uppercase;letter-spacing:.5px}.badge-danger{font-size:11px;font-weight:700;background:#ef444426;border:1px solid rgba(239,68,68,.35);color:#f87171;padding:4px 10px;border-radius:var(--radius-sm)}.badge-info{font-size:11px;font-weight:600;color:var(--cyan);background:#38bdf81f;padding:3px 8px;border-radius:var(--radius-sm);border:1px solid rgba(56,189,248,.25)}.badge-legal{background:#f9731614;border:1px solid rgba(249,115,22,.3);padding:10px;border-radius:10px}.content-card{background:var(--input-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:10px 12px}.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-sm)}.metric-item{background:var(--input-bg);border:1px solid var(--border-color);padding:6px 10px;border-radius:var(--radius-sm);display:flex;flex-direction:column}.metric-item .metric-label{font-size:10px;color:var(--text-muted)}.metric-item .metric-value{font-size:13px;font-weight:700;color:var(--cyan)}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.loading-spinner{width:14px;height:14px;border:2px solid rgba(56,189,248,.3);border-top-color:var(--cyan);border-radius:50%;animation:spinner-rotate .8s linear infinite}html[data-theme=light] .app-header,html[data-theme=light] .hub-header,html[data-theme=light] .ecosystem-header{background-color:#ffffffe6;border-bottom-color:#e2e8f0;box-shadow:var(--header-shadow)}html[data-theme=light] .btn-secondary:hover{background-color:#e2e8f0;color:#0f172a;border-color:#94a3b8}html[data-theme=light] .btn-secondary.active{background-color:#c2e7ff!important;color:#004a77!important;border-color:#7fcfff!important}html[data-theme=light] .btn-floating-view{background-color:#ffffffeb;border-color:#cbd5e1;color:#0f172a}.brand--ecosystem-trigger{background:none;border:none;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer;text-align:left;border-radius:var(--radius-md);transition:opacity var(--duration-normal) var(--ease-default)}.brand--ecosystem-trigger:hover{opacity:.92}.brand--ecosystem-trigger:focus-visible{outline:2px solid var(--primary);outline-offset:3px}.ecosystem-tools-overlay{z-index:10000}.ecosystem-tools-overlay.hidden{display:none}.ecosystem-tools-card{width:520px;max-width:calc(100vw - 32px);background:var(--bg-dark);border-color:var(--border-color)}.ecosystem-tools-card>.modal-header,.ecosystem-tools-card>.modal-footer{background:var(--bg-surface);border-color:var(--border-color)}.ecosystem-tools-brand{display:flex;align-items:center;gap:var(--space-md)}.ecosystem-tools-brand .brand-logo-img{height:28px}.ecosystem-tools-brand-name{font-family:var(--font-heading);font-size:18px;font-weight:700;color:var(--text-main);letter-spacing:.04em}.ecosystem-tools-body{gap:var(--space-md);padding:var(--space-lg);background:var(--bg-dark)}.ecosystem-tools-footer{flex-direction:column;align-items:center;gap:10px;justify-content:center;padding:var(--space-md) var(--space-lg)}.ecosystem-tools-legal{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 14px;width:100%}.ecosystem-tools-legal a{font-size:12px;font-weight:500;color:var(--text-muted);text-decoration:none;white-space:nowrap}.ecosystem-tools-legal a:hover{color:var(--primary);text-decoration:underline;text-underline-offset:2px}.ecosystem-tools-home-link{font-size:13px;font-weight:500;color:var(--text-muted);text-decoration:none;transition:color var(--duration-normal) var(--ease-default)}.ecosystem-tools-home-link:hover{color:var(--primary)}.ecosystem-tool-item{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-lg);border:1px solid var(--border-color);background:var(--bg-surface)}.ecosystem-tool-item--link{text-decoration:none;color:inherit;cursor:pointer;transition:border-color var(--duration-normal) var(--ease-default),background var(--duration-normal) var(--ease-default),transform var(--duration-normal) var(--ease-default)}.ecosystem-tool-item--link:hover{border-color:var(--primary);background:var(--bg-card);transform:translate(2px)}.ecosystem-tool-item--current{border-color:#10b98166;background:var(--bg-surface);box-shadow:0 0 0 1px #10b9811f}.ecosystem-tool-item__icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0;color:var(--cyan)}.ecosystem-tool-item__icon .ui-icon{width:28px;height:28px;min-width:28px}.ecosystem-tool-item--current .ecosystem-tool-item__icon{color:var(--success, #10b981)}.ecosystem-tool-item__arrow{display:inline-flex;align-items:center;color:var(--primary);flex-shrink:0}.ecosystem-tool-item__arrow .ui-icon{width:18px;height:18px;min-width:18px}.btn-close-modal:has(>.ui-icon){display:inline-flex;align-items:center;justify-content:center}.btn-close-modal .ui-icon{width:16px;height:16px;min-width:16px}.ecosystem-tools-card>.modal-header .btn-close-modal{color:var(--text-muted)}.ecosystem-tool-item__text{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.ecosystem-tool-item__name{font-family:var(--font-heading);font-size:15px;font-weight:700;color:var(--text-main)}.ecosystem-tool-item__tagline{font-size:11px;font-weight:600;color:var(--cyan)}.ecosystem-tool-item__desc{font-size:12px;color:var(--text-muted);line-height:1.4;margin-top:2px}.ecosystem-tool-item__badge{flex-shrink:0;font-size:10px;white-space:nowrap}body.modal-open{overflow:hidden}.adsense-left-sidebar,.adsense-right-sidebar{position:relative;width:180px;min-width:180px;height:100%;background-color:var(--glass-bg);backdrop-filter:blur(var(--blur-lg));-webkit-backdrop-filter:blur(var(--blur-lg));display:flex;flex-direction:column;align-items:center;padding:12px 6px;box-sizing:border-box;z-index:10;overflow:hidden;flex-shrink:0}.adsense-left-sidebar{border-right:1px solid var(--border-color);box-shadow:4px 0 16px #0000001a}.adsense-right-sidebar{border-left:1px solid var(--border-color);box-shadow:-4px 0 16px #0000001a}.adsense-mobile-wrapper{display:none;width:100%;margin-top:12px;padding:10px;background:var(--input-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-sizing:border-box;text-align:center}@media (max-width: 1024px){.adsense-left-sidebar,.adsense-right-sidebar{display:none!important}.adsense-mobile-wrapper{display:block}}@media (max-width: 900px){.app-header,.app-header--with-search{padding-left:12px;padding-right:12px}.app-header:not(.app-header--with-search){height:56px;min-height:56px}.app-header:not(.app-header--with-search)>.header-brand-group{flex:1 1 auto;min-width:0}.app-header:not(.app-header--with-search)>.header-toolbar-end,.app-header:not(.app-header--with-search)>.header-end{margin-left:auto;flex-shrink:0}.app-header--with-search{display:flex;flex-wrap:wrap;height:auto;min-height:56px;padding-top:8px;padding-bottom:8px;gap:var(--space-sm)}.app-header--with-search>.header-brand-group,.app-header--with-search>.header-actions,.app-header--with-search>.header-end,.app-header--with-search>.header-toolbar-end{max-width:none;overflow:visible}.app-header--with-search>.header-search-group{order:3;width:100%;max-width:none;flex:1 1 100%}.app-header--with-search>.header-brand-group{order:1;flex:1 1 auto;min-width:0}.app-header--with-search>.header-actions,.app-header--with-search>.header-end,.app-header--with-search>.header-toolbar-end{order:2;flex:0 0 auto;margin-left:auto}}html[data-theme=light] .adsense-left-sidebar,html[data-theme=light] .adsense-right-sidebar{background-color:#ffffffe6;border-color:#cbd5e1}.map-viewport{position:relative;flex:1;min-width:0;height:100%;overflow:hidden}.map-viewport.is-map-loading>.tool-map,.map-viewport.is-map-loading>canvas{filter:blur(6px);transform:scale(1.01);transition:filter .35s ease,transform .35s ease}.map-loading-overlay{position:absolute;inset:0;z-index:600;display:flex;align-items:center;justify-content:center;background:#0206178c;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);transition:opacity .35s ease,visibility .35s ease}html[data-theme=light] .map-loading-overlay{background:#f1f5f9b8}.leaflet-control-attribution a{pointer-events:none;cursor:default;text-decoration:none;color:inherit}.map-loading-overlay.is-hidden{opacity:0;visibility:hidden;pointer-events:none}.map-loading-box{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;padding:28px 32px;background:#0f172af0;border:1px solid rgba(56,189,248,.35);border-radius:18px;box-shadow:0 25px 50px #00000073}html[data-theme=light] .map-loading-box{background:#fffffff5;border-color:#0ea5e959;box-shadow:0 20px 40px #0f172a1f}.map-loading-box .sublote-logo-loader-svg{width:72px;height:50px}.map-loading-label{font-size:13px;font-weight:600;color:var(--text-main);letter-spacing:.02em}.sublote-page-loading{display:flex;align-items:center;justify-content:center;min-height:min(320px,50vh);padding:32px 16px}.sublote-inline-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;color:var(--text-muted)}.sublote-inline-loading .sublote-logo-loader-svg{width:72px;height:auto}.sublote-inline-loading-label{font-size:14px;font-weight:500;color:var(--text-muted)}.sublote-inline-loading--compact{gap:8px}.sublote-inline-loading--compact .sublote-logo-loader-svg{width:48px}.sublote-inline-loading--compact .sublote-inline-loading-label{font-size:13px}.sublote-inline-loading--xs .sublote-logo-loader-svg{width:22px}.payment-brick-loading .sublote-logo-loader-svg{width:72px;height:auto}.header-toolbar-end{display:flex;align-items:center;gap:var(--space-md);margin-left:auto;flex-shrink:0}.header-account-btn{width:40px;height:40px;min-width:40px;border-radius:50%;border:1px solid var(--border-color);background:var(--bg-card);display:inline-flex;align-items:center;justify-content:center;overflow:hidden;cursor:pointer;padding:0;text-decoration:none;transition:border-color var(--duration-normal) var(--ease-default),box-shadow var(--duration-normal) var(--ease-default),transform var(--duration-normal) var(--ease-default);flex-shrink:0}@media (max-width: 768px){.header-account-btn{width:36px;height:36px;min-width:36px}}.brand{display:flex;align-items:center;gap:12px}.logo-icon{width:36px;height:36px;background:linear-gradient(135deg,var(--primary),#4f46e5);border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff;font-size:18px;box-shadow:0 4px 12px #2563eb4d}.brand-logo-img{height:34px;width:auto;object-fit:contain;filter:drop-shadow(0 2px 8px rgba(0,240,255,.25));transition:transform .2s ease}.brand-logo-img .logo-stroke-outline,.logo-stroke-outline{stroke:#fff;fill:none;transition:stroke .25s ease}html[data-theme=light] .brand-logo-img .logo-stroke-outline,html[data-theme=light] .logo-stroke-outline{stroke:#0d1527}.brand-logo-img:hover{transform:scale(1.05)}.brand-title{font-family:var(--font-heading);font-size:18px;font-weight:700;color:var(--text-main);letter-spacing:.3px}.brand-subtitle{font-size:12px;color:var(--text-muted);margin-left:6px}.btn-theme-toggle{width:36px;height:36px;min-width:36px;border-radius:50%;background-color:var(--bg-card);border:1px solid var(--border-color);color:var(--text-main);font-size:16px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);padding:0;user-select:none;box-shadow:0 1px 2px #0000000d}.btn-theme-toggle:hover{border-color:var(--primary);background-color:var(--primary);color:#fff;transform:scale(1.08);box-shadow:0 4px 12px #2563eb59}.header-search-group{display:flex;align-items:center;gap:8px;background:var(--input-bg);border:1px solid var(--border-color);padding:5px 6px 5px 14px;border-radius:9999px;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 3px #0000000a}.header-search-group:focus-within,.header-search-group:hover{border-color:var(--primary);box-shadow:0 0 0 3px #2563eb26}.header-search-input{flex:1;min-width:0;width:auto;max-width:100%;background:transparent;border:none;color:var(--text-main);font-size:13px;outline:none;padding-left:4px}.btn-search-input-inside{background-color:var(--primary);color:#fff;border:none;padding:7px 18px;border-radius:9999px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;letter-spacing:.2px}.btn-search-input-inside:hover{background-color:var(--primary-hover);box-shadow:0 3px 10px #2563eb59;transform:translateY(-.5px)}.header-theme-select{background-color:var(--input-bg);border:1px solid var(--border-color);color:var(--text-main);font-size:12px;font-weight:600;padding:5px 10px;border-radius:8px;outline:none;cursor:pointer;transition:all .2s ease}.header-theme-select:hover{border-color:var(--primary)}.header-theme-select option{background-color:var(--bg-surface);color:var(--text-main);padding:6px}@keyframes pulseGlow{0%{box-shadow:0 0 4px #06b6d466}to{box-shadow:0 0 16px #06b6d4e6}}.header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.header-actions .btn{padding:7px 12px;font-size:12px;gap:6px}.header-toolbar-end{display:flex;align-items:center;gap:10px;margin-left:auto;flex-shrink:0;min-width:0}.header-account-btn{width:40px;height:40px;min-width:40px;border-radius:50%;border:1px solid var(--border-color);background:var(--bg-card);display:inline-flex;align-items:center;justify-content:center;overflow:hidden;cursor:pointer;padding:0;text-decoration:none;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;flex-shrink:0}.header-account-btn:hover{border-color:var(--primary);box-shadow:0 0 0 3px #2563eb26;transform:scale(1.04)}.header-account-icon{width:22px;height:22px;color:#fff}.header-account-avatar{width:100%;height:100%;object-fit:cover;display:none}.header-account-btn.has-avatar .header-account-avatar{display:block}.header-account-btn.has-avatar .header-account-icon{display:none}.btn{padding:8px 18px;border-radius:9999px;font-size:13px;font-weight:600;border:1px solid transparent;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex;align-items:center;gap:8px;white-space:nowrap;letter-spacing:.2px}.btn-primary{background-color:var(--primary);color:#fff;border-radius:9999px}.btn-primary:hover{background-color:var(--primary-hover);transform:translateY(-1px)}.btn-secondary{background-color:var(--bg-card);color:var(--text-main);border:1px solid var(--border-color);box-shadow:0 1px 3px #0000000d}.btn-secondary:hover{background-color:var(--bg-surface);border-color:var(--primary);transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.btn-secondary.active{background-color:var(--primary)!important;color:#fff!important;border-color:var(--primary-hover)!important;box-shadow:0 4px 14px #2563eb66}.btn-secondary.locked{background-color:#f59e0b26!important;color:var(--warning)!important;border:1px solid rgba(245,158,11,.5)!important}.btn-accent{background-color:var(--accent);color:#fff}.btn-accent:hover{background-color:var(--accent-hover)}.btn-danger{background-color:#ef4444;color:#fff;border:1px solid #dc2626}.btn-danger:hover{background-color:#dc2626}.btn-text{background:none;border:none;color:var(--primary-color);font-size:11px;font-weight:600;cursor:pointer;padding:2px 6px;border-radius:4px}.btn-text:hover{text-decoration:underline}.btn-presentation{background:#38bdf81a;border:1px solid rgba(56,189,248,.3);color:#38bdf8}.btn-presentation.active{background:#0284c7;border-color:#38bdf8;color:#fff;font-weight:700}.main-workspace{flex:1;display:flex;position:relative;overflow:hidden}.canvas-wrapper{position:absolute;inset:0 180px 0 0;width:calc(100% - 180px);height:100%;background-color:var(--bg-dark)}canvas{width:100%;height:100%;display:block}.canvas-left-dock{position:absolute;top:0;left:0;bottom:0;display:flex;flex-direction:row;align-items:stretch;z-index:20;pointer-events:none;overflow:visible}.canvas-left-dock>*{pointer-events:auto}.sidebar-tools-dock{display:flex;flex-direction:column;gap:8px;flex-shrink:0}.sidebar-panel-scroll{flex:1;min-height:0;min-width:0;display:flex;flex-direction:column;gap:10px;overflow:hidden}.sidebar-view-row{display:flex;align-items:stretch;gap:6px;min-width:0}.canvas-left-dock .floating-toolbar{position:relative;top:auto;left:auto;transform:none;flex:0 0 56px;width:56px;height:100%;flex-direction:column;flex-wrap:nowrap;align-items:center;justify-content:flex-start;gap:6px;padding:10px 6px;border-radius:0;border-right:1px solid var(--border-color);box-shadow:none;z-index:22;transition:none;overflow-x:hidden;overflow-y:auto}.canvas-left-dock .floating-toolbar .toolbar-divider{width:28px;height:1px;margin:2px 0}.sidebar-panel .floating-view-tools{position:relative;top:auto;right:auto;left:auto;width:100%;flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:6px;z-index:auto;transition:none}.sidebar-panel .map-layer-button-group,.sidebar-panel .view-measures-switch-wrapper,.sidebar-panel .construction-btn-group,.sidebar-panel .btn-floating-view{box-shadow:none}.sidebar-panel .map-layer-button-group{flex:1 1 auto;min-width:0;padding:2px;border-radius:8px}.sidebar-panel .view-measures-switch-wrapper{display:flex;flex:1 1 auto;min-width:0;padding:2px;border-radius:8px}.sidebar-panel .map-layer-button-group .btn-floating-view{width:32px;height:30px}.sidebar-panel .view-measures-switch-wrapper .btn-floating-view{flex:1;height:30px;padding:0 8px;font-size:11px}.sidebar-panel .construction-btn-group{align-items:stretch;min-width:0;width:100%}.sidebar-panel .construction-btn-group .btn-floating-view{width:100%;height:32px;justify-content:center;font-size:11px;border-radius:8px}.sidebar-panel .floating-street-opacity-drawer{box-shadow:none;border-radius:0 0 8px 8px}.floating-toolbar{position:absolute;top:16px;left:calc((100% - 360px)/2);transform:translate(-50%);background-color:var(--glass-bg);backdrop-filter:blur(16px);border:1px solid var(--border-color);padding:5px 8px;border-radius:14px;display:flex;align-items:center;gap:8px;box-shadow:0 10px 25px #0003;z-index:25;transition:left .35s cubic-bezier(.4,0,.2,1)}.toolbar-divider{width:1px;height:24px;background-color:var(--border-color);margin:0 3px;opacity:.7}html[data-theme=light] .toolbar-divider{background-color:#cbd5e1}.floating-params-container{position:absolute;top:16px;left:428px;transform:none;background-color:var(--glass-bg);backdrop-filter:blur(16px);border:1px solid var(--border-color);padding:5px 8px;border-radius:14px;display:flex;align-items:center;flex-wrap:wrap;gap:8px;box-shadow:0 10px 25px #0003;z-index:26;max-width:min(560px,calc(100% - 644px));animation:fadeInParams .2s cubic-bezier(.4,0,.2,1);transition:left .35s cubic-bezier(.4,0,.2,1)}.canvas-wrapper:has(.sidebar-panel.collapsed)>.floating-params-container{left:80px;max-width:min(560px,calc(100% - 296px))}.floating-params-container.params-no-anim{animation:none}.floating-params-container .input-modal-coord{height:32px;border-radius:8px;background:#0f172a99;border:1px solid var(--border-color);color:var(--text-main);font-weight:600;font-size:12px;padding:0 6px;outline:none;transition:border-color .2s ease}.floating-params-container .input-modal-coord:focus{border-color:var(--primary)}html[data-theme=light] .floating-params-container .input-modal-coord{background:#fff;border-color:#cbd5e1;color:#0f172a}@keyframes fadeInParams{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.floating-view-tools{position:absolute;top:16px;right:376px;display:flex;flex-direction:column;align-items:flex-end;gap:8px;z-index:25;transition:right .35s cubic-bezier(.4,0,.2,1)}.btn-floating-view{height:42px;padding:0 12px;border-radius:12px;background-color:var(--glass-bg);backdrop-filter:blur(12px);border:1px solid var(--border-color);color:var(--text-main);font-weight:600;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;opacity:1;transition:all .25s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #00000026}.map-layer-button-group{display:inline-flex;align-items:center;background-color:var(--glass-bg);backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:12px;padding:3px;gap:3px;box-shadow:0 4px 12px #00000026}.map-layer-button-group .btn-floating-view{width:36px;height:34px;padding:0;border-radius:8px;border:none;background-color:transparent;box-shadow:none;opacity:.8;color:var(--text-main)}.map-layer-button-group .btn-floating-view:hover{opacity:1;background-color:#3b82f61f;color:var(--text-main);transform:none}.map-layer-button-group .btn-floating-view.active{opacity:1;background-color:#0284c7e6;color:#fff;box-shadow:0 0 10px #38bdf880}.view-measures-switch-wrapper{display:inline-flex;align-items:center;background-color:var(--glass-bg);backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:12px;padding:3px;gap:3px;box-shadow:0 4px 12px #00000026}.view-measures-switch-wrapper .btn-floating-view{height:34px;border-radius:8px;border:none;background-color:transparent;box-shadow:none;opacity:.85}.view-measures-switch-wrapper .btn-floating-view:hover{opacity:1;background-color:#3b82f61f;transform:none}.view-measures-switch-wrapper .btn-floating-view.active{opacity:1;background-color:#0284c7e6;color:#fff;border:1px solid #38bdf8;box-shadow:0 0 10px #38bdf880}.view-measures-switch-wrapper .btn-floating-view.active.legal-active{opacity:1;background-color:#ea580cf2;color:#fff;border:1px solid #fb923c;box-shadow:0 0 10px #fb923c99}html[data-theme=light] .view-measures-switch-wrapper .btn-floating-view.active.legal-active,html[data-theme=light] .btn-floating-view.legal-active{color:#fff!important;background-color:#ea580c!important;border-color:#c2410c!important;box-shadow:0 2px 8px #ea580c59!important}html[data-theme=light] .btn-floating-view{background-color:#ffffffeb;border-color:#cbd5e1;color:#0f172a;box-shadow:0 4px 14px #00000014}html[data-theme=light] .map-layer-button-group,html[data-theme=light] .view-measures-switch-wrapper{background-color:#ffffffeb;border-color:#cbd5e1;box-shadow:0 4px 14px #00000014}html[data-theme=light] .map-layer-button-group .btn-floating-view,html[data-theme=light] .view-measures-switch-wrapper .btn-floating-view{color:#334155;background-color:transparent;border:none}html[data-theme=light] .map-layer-button-group .btn-floating-view:hover,html[data-theme=light] .view-measures-switch-wrapper .btn-floating-view:hover{background-color:#2563eb1f;color:#0f172a}html[data-theme=light] .map-layer-button-group .btn-floating-view.active,html[data-theme=light] .view-measures-switch-wrapper .btn-floating-view.active{background-color:#0284c7;color:#fff!important;box-shadow:0 2px 8px #0284c759}html[data-theme=light] .floating-street-opacity-drawer{background-color:#fffffff2;border-color:#ea580c;box-shadow:0 6px 16px #0000001a}html[data-theme=light] .opacity-val-badge{color:#0284c7}html[data-theme=light] .street-opacity-slider{accent-color:#0284c7}html[data-theme=light] .btn-secondary{background-color:#f1f5f9;color:#334155;border-color:#cbd5e1}html[data-theme=light] .btn-secondary:hover{background-color:#e2e8f0;color:#0f172a;border-color:#94a3b8;box-shadow:0 2px 8px #0000000f}html[data-theme=light] .btn-secondary.active{background-color:#c2e7ff!important;color:#004a77!important;border-color:#7fcfff!important;box-shadow:0 2px 8px #0284c733}html[data-theme=light] .btn-theme-toggle{background-color:#f1f5f9;border-color:#cbd5e1;color:#0f172a}html[data-theme=light] .btn-theme-toggle:hover{background-color:#0284c7;color:#fff;border-color:#0284c7}html[data-theme=light] .header-search-group{background-color:#f1f5f9;border-color:#cbd5e1}html[data-theme=light] .header-search-group:focus-within,html[data-theme=light] .header-search-group:hover{background-color:#fff;border-color:#0284c7;box-shadow:0 0 0 3px #0284c726}.construction-btn-group{display:flex;flex-direction:column;align-items:flex-end;gap:0;position:relative}.construction-btn-group .btn-floating-view.construction-active-top{border-bottom-left-radius:0!important;border-bottom-right-radius:0!important;border-bottom:none!important}.floating-street-opacity-drawer{background-color:var(--glass-bg);backdrop-filter:blur(12px);border:1px solid #fb923c;border-top:1px solid rgba(251,146,60,.3);border-bottom-left-radius:12px;border-bottom-right-radius:12px;padding:6px 10px 8px;width:100%;box-shadow:0 6px 14px #0003;display:flex;flex-direction:column;gap:4px;box-sizing:border-box;animation:fadeInDown .2s ease}.street-opacity-header{display:flex;justify-content:space-between;align-items:center;font-size:10px;font-weight:600;color:var(--text-main);white-space:nowrap}.opacity-val-badge{color:#00f0ff;font-weight:700}.street-opacity-slider{width:100%;height:4px;border-radius:2px;cursor:pointer;accent-color:#00f0ff;margin:2px 0 0}.btn-action-tool{width:40px;height:40px;min-width:40px;padding:0;border-radius:10px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:var(--text-main);font-size:12px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:0;transition:all .2s ease}.btn-action-tool:hover{background-color:var(--primary);border-color:var(--primary);color:#fff}.toolbar-divider{width:1px;height:24px;background-color:var(--border-color)}.btn-lock{transition:all .2s ease}.btn-lock.active{background-color:#38bdf833;color:#38bdf8;border-color:#0284c7;box-shadow:0 0 10px #38bdf84d}.canvas-help-overlay{position:absolute;bottom:20px;left:20px;background-color:var(--glass-bg);backdrop-filter:blur(8px);padding:8px 14px;border-radius:8px;border:1px solid var(--border-color);font-size:12px;color:var(--text-muted);z-index:5}.sidebar-panel{position:relative;inset:auto;width:360px;min-width:0;max-width:100%;height:100%;background-color:var(--glass-bg);backdrop-filter:blur(20px);border-left:none;border-right:1px solid var(--border-color);display:flex;flex-direction:column;padding:12px 12px 12px 10px;gap:0;z-index:20;box-shadow:10px 0 28px #00000038;transition:transform .35s cubic-bezier(.4,0,.2,1);overflow:visible}.sidebar-panel.collapsed{transform:translate(calc(-100% + 12px))}.sidebar-toggle-tab{position:absolute;right:-28px;left:auto;top:50%;transform:translateY(-50%);width:28px;height:52px;background:var(--glass-bg);backdrop-filter:blur(16px);border:1px solid var(--border-color);border-left:none;border-radius:0 12px 12px 0;color:#38bdf8;font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:6px 0 16px #0006;transition:all .2s ease;z-index:21}.sidebar-toggle-tab:hover{background:#0284c7;color:#fff;width:34px;right:-34px;left:auto}.sidebar-divider{height:1px;background-color:var(--border-color);margin:4px 0}.panel-section{display:flex;flex-direction:column;gap:8px}.panel-section.flex-1{flex:1;min-height:0;min-width:0;display:flex;flex-direction:column}.buildings-panel{flex:0 1 auto;min-height:0;max-height:42%}.buildings-panel.is-collapsed{max-height:none;flex:0 0 auto}.parcels-panel.is-collapsed{flex:0 0 auto}.parcels-card{flex:1;min-height:0;min-width:0;display:flex;flex-direction:column;border:1px solid var(--border-color);border-radius:10px;overflow:hidden;background-color:var(--bg-card)}.parcels-card.is-collapsed{flex:0 0 auto}.parcels-card.is-collapsed .table-wrapper{display:none}.parcels-card-header{flex-shrink:0;gap:8px;padding:6px 8px;background:var(--table-head-bg);border-bottom:1px solid var(--border-color)}.parcels-card.is-collapsed .parcels-card-header{border-bottom:none}.list-collapse-btn{display:flex;align-items:center;gap:6px;min-width:0;flex:1;margin:0;padding:2px 0;border:none;background:transparent;color:inherit;cursor:pointer;text-align:left}.list-collapse-btn:hover .section-title,.list-collapse-btn:hover .list-collapse-chevron{color:#38bdf8}.list-collapse-chevron{flex-shrink:0;font-size:10px;color:var(--text-muted);transition:transform .2s ease}.parcels-card.is-collapsed .list-collapse-chevron{transform:rotate(-90deg)}.list-count{flex-shrink:0;font-size:10px;font-weight:700;color:var(--text-muted);background:#94a3b829;border-radius:999px;padding:1px 6px}.parcels-card-header .section-title{font-size:13px;margin:0;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.parcel-header-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.parcel-header-actions .btn-sm{padding:3px 8px;font-size:10px;white-space:nowrap}.btn-suggest-layouts{width:100%;margin-top:6px;justify-content:center;font-size:12px;font-weight:700}.layout-suggest-modal{width:760px;max-width:94vw;max-height:88vh}.layout-suggest-body{display:flex;flex-direction:column;gap:12px;overflow:auto}.layout-mode-toggle{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:4px;border-radius:10px;background:var(--input-bg, #0f172a);border:1px solid var(--border-color)}.layout-mode-btn{height:34px;border:0;border-radius:8px;background:transparent;color:var(--text-muted);font-size:12px;font-weight:700;cursor:pointer}.layout-mode-btn.is-active{background:var(--accent, #0ea5e9);color:#0f172a}.layout-mode-panel{display:flex;flex-direction:column;gap:10px}.layout-mode-panel[hidden]{display:none}.layout-suggest-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:200px;padding:28px 16px;text-align:center}.layout-suggest-loading[hidden]{display:none}.layout-suggest-loading .sublote-logo-loader-svg{width:72px;height:52px;margin-bottom:8px}.layout-suggest-loading-title{font-size:14px;font-weight:700;color:var(--text-main)}.layout-suggest-loading-sub{font-size:12px;font-weight:600;color:var(--text-muted)}.layout-proposals-grid[hidden]{display:none}.layout-suggest-controls{display:grid;grid-template-columns:1fr;gap:10px}.layout-count-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.layout-shape-select{min-width:180px;max-width:58%;height:32px;border-radius:8px;border:1px solid var(--border-color);background:var(--input-bg);color:var(--text-main);font-size:12px;font-weight:600;padding:0 8px}.layout-min-area-wrap{display:inline-flex;align-items:center;gap:6px}.layout-min-area-input{width:76px}.layout-min-area-unit{font-size:12px;font-weight:700;color:var(--text-muted)}.layout-count-label{font-size:13px;font-weight:700;color:var(--text-main)}.layout-count-stepper{display:inline-flex;align-items:center;gap:6px}.layout-count-btn{width:32px;height:32px;border-radius:8px;border:1px solid var(--border-color);background:var(--input-bg);color:var(--text-main);font-size:18px;line-height:1;cursor:pointer}.layout-count-input{width:56px;height:32px;text-align:center;border-radius:8px;border:1px solid var(--border-color);background:var(--input-bg);color:var(--text-main);font-weight:700;font-size:14px}.layout-count-hint{margin:0;font-size:11px;color:var(--text-muted)}.layout-proposals-grid{display:grid;grid-template-columns:1fr;gap:10px}.layout-proposals-single{min-height:280px}.layout-proposals-status{margin:0;font-size:11px;line-height:1.4;color:var(--text-muted);grid-column:1 / -1}.layout-proposal-card{display:flex;flex-direction:column;gap:8px;padding:10px 12px 12px;border:1px solid var(--border-color);border-radius:12px;background:var(--input-bg);cursor:pointer;text-align:left;color:inherit;transition:border-color .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1)}.layout-proposal-card.is-featured{gap:10px}.layout-proposal-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.layout-proposal-badge{display:inline-flex;align-items:center;height:20px;padding:0 8px;border-radius:9999px;background:#10b98129;color:#34d399;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.layout-thumb{width:100%;height:132px;border-radius:8px;overflow:hidden;background:linear-gradient(180deg,#0f172a14,#0f172a33),repeating-linear-gradient(0deg,transparent,transparent 11px,rgba(148,163,184,.12) 11px,rgba(148,163,184,.12) 12px),repeating-linear-gradient(90deg,transparent,transparent 11px,rgba(148,163,184,.12) 11px,rgba(148,163,184,.12) 12px),#0f172a}.layout-thumb svg{width:100%;height:100%;display:block}.layout-thumb.is-featured{height:260px}.layout-proposal-card.is-featured .layout-proposal-title{font-size:15px}html[data-theme=light] .layout-proposal-badge{background:#10b98124;color:#047857}html[data-theme=light] .layout-thumb{background:linear-gradient(180deg,#f1f5f980,#e2e8f0d9),repeating-linear-gradient(0deg,transparent,transparent 11px,rgba(148,163,184,.2) 11px,rgba(148,163,184,.2) 12px),repeating-linear-gradient(90deg,transparent,transparent 11px,rgba(148,163,184,.2) 11px,rgba(148,163,184,.2) 12px),#e2e8f0}.layout-proposal-card:hover{border-color:var(--primary);box-shadow:0 8px 20px #2563eb1f}.layout-proposal-title{font-family:Outfit,Inter,sans-serif;font-size:12px;font-weight:700;color:var(--text-main)}.layout-proposal-sub{font-size:10px;line-height:1.35;color:var(--text-muted)}.layout-eff-bar{display:flex;height:8px;border-radius:9999px;overflow:hidden;background:var(--border-color)}.layout-eff-bar>span{display:block;height:100%;min-width:0}.layout-eff-bar .eff-lot{background:#10b981}.layout-eff-bar .eff-setback{background:#f97316}.layout-eff-bar .eff-access{background:#64748b}.layout-eff-legend{display:flex;flex-wrap:wrap;gap:8px 10px;font-size:10px;font-weight:600;color:var(--text-main)}.layout-eff-legend i{display:inline-block;width:7px;height:7px;border-radius:99px;margin-right:4px}.layout-eff-legend .dot-lot{background:#10b981}.layout-eff-legend .dot-access{background:#64748b}.layout-eff-legend .dot-setback{background:#f97316}.layout-proposal-meta{font-size:10px;color:var(--cyan);font-weight:600}.layout-proposal-apply{display:flex;align-items:center;justify-content:center;height:36px;margin-top:2px;border-radius:9px;background:var(--accent, #0ea5e9);color:#0f172a;font-size:12px;font-weight:800}.layout-proposal-warn{font-size:10px;color:#f97316}.parcels-card .table-wrapper{border:none;border-radius:0;background:transparent}.parcels-card .parcels-table{height:auto}.parcels-table .col-parcel-check{width:28px}.parcels-table .col-parcel-name{width:auto}.parcels-table .col-parcel-area{width:72px}.parcels-table .col-parcel-pct{width:40px}.parcels-panel .parcels-table thead tr:not(.total-row-top) th:first-child,.parcels-panel .parcels-table tbody td:first-child{text-align:center;padding-left:4px;padding-right:4px}.parcels-panel .parcels-table thead .total-row-top th:first-child,.parcels-panel .parcels-table tfoot .total-row-top th:first-child{text-align:left}.parcels-panel .parcels-table thead tr:not(.total-row-top) th:nth-child(3),.parcels-panel .parcels-table thead tr:not(.total-row-top) th:nth-child(4),.parcels-panel .parcels-table tbody td:nth-child(3),.parcels-panel .parcels-table tbody td:nth-child(4),.parcels-panel .parcels-table thead .total-row-top th:nth-child(2),.parcels-panel .parcels-table thead .total-row-top th:nth-child(3),.parcels-panel .parcels-table tfoot .total-row-top th:nth-child(2),.parcels-panel .parcels-table tfoot .total-row-top th:nth-child(3){text-align:right;font-variant-numeric:tabular-nums}.parcels-table th,.parcels-table td{padding:5px 8px}.parcels-table thead .total-row-top th{padding:8px 10px}.section-header{display:flex;align-items:center;justify-content:space-between}.section-title{font-family:var(--font-heading);font-size:14px;font-weight:600;color:var(--text-main)}.config-desc{font-size:11px;color:var(--text-muted)}.objects-list-wrapper{flex:1;overflow-y:auto;border:1px solid var(--border-color);border-radius:8px;background-color:var(--bg-card);padding:6px}.objects-list{list-style:none;display:flex;flex-direction:column;gap:6px}.object-item{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--input-bg);border:1px solid var(--border-color);border-radius:8px;margin-bottom:6px;color:var(--text-main)}.reserve-area-edit,.npart-area-edit{display:flex;align-items:center;gap:4px;background:#06b6d426;border:1px solid rgba(6,182,212,.4);border-radius:6px;padding:2px 6px}.select-npart-mode{background:transparent;border:none;color:#06b6d4;font-weight:600;font-size:11px;outline:none;cursor:pointer}.select-npart-mode option{background:var(--bg-surface);color:var(--text-main)}.input-reserve-m2,.input-npart-val{width:60px;background:transparent;border:none;color:#06b6d4;font-weight:700;font-size:12px;text-align:right;outline:none}.input-reserve-m2::-webkit-inner-spin-button,.input-reserve-m2::-webkit-outer-spin-button{opacity:1}.m2-label{color:#fff9;font-size:11px}.object-item.selected{border-color:var(--primary);background-color:#2563eb26}.object-name{flex:1;margin:0 10px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.btn-eye,.btn-delete{background:none;border:none;cursor:pointer;font-size:14px;opacity:.7;transition:opacity .2s}.btn-eye:hover,.btn-delete:hover{opacity:1}.empty-item{font-size:12px;color:var(--text-muted);text-align:center;padding:12px}.table-wrapper{flex:1;min-width:0;max-width:100%;overflow-x:hidden;overflow-y:auto;border:1px solid var(--border-color);border-radius:8px;background-color:var(--bg-card)}.parcels-table{width:100%;max-width:100%;table-layout:fixed;border-collapse:collapse;font-size:12px}.parcels-table thead .total-row-top th,.parcels-table tfoot .total-row-top th{background:#38bdf833;border-bottom:none;border-top:2px solid #38bdf8;font-weight:800;color:#38bdf8;font-size:12px;padding:8px 10px;text-align:left}.parcels-table tfoot .total-row-top th{position:sticky;bottom:0;z-index:2}.parcels-table th{background-color:var(--table-head-bg);padding:8px 10px;text-align:left;color:var(--text-muted);border-bottom:1px solid var(--border-color);white-space:normal;word-break:break-word;overflow-wrap:anywhere;vertical-align:top}.parcels-table thead th{position:sticky;top:0;z-index:1;padding-top:5px;padding-bottom:5px;font-size:10px;text-transform:uppercase;letter-spacing:.03em}.parcels-table td{padding:5px 8px;border-bottom:1px solid var(--border-color);color:var(--text-main);white-space:nowrap;vertical-align:middle}.parcel-row{cursor:pointer;height:auto;min-height:32px}.parcel-row:hover{background-color:#3b82f614}.parcel-row.selected{background-color:#2563eb33}.color-badge{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;vertical-align:middle;flex-shrink:0}.parcel-name-text{cursor:pointer;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.parcels-table td>div,.parcels-table .parcel-cell-content{display:flex;flex-wrap:nowrap;align-items:center;gap:6px;min-width:0}.parcels-table .parcel-cell-name{min-width:0}.parcels-table .parcel-warning-badge{color:#ef4444;font-weight:700;font-size:10px;white-space:nowrap;flex-shrink:0;line-height:1.2}.parcels-table.buildings-table .col-building-name{width:32%}.parcels-table.buildings-table .col-building-dims{width:auto}.parcels-table.buildings-table .col-building-area{width:56px}.parcels-table.buildings-table .col-building-actions{width:44px}.parcels-table.buildings-table th.parcel-actions-col,.parcels-table.buildings-table td.parcel-actions-col{width:44px;min-width:44px;max-width:44px;padding:6px 4px;text-align:center;vertical-align:middle;overflow:visible}.parcels-table.buildings-table .building-area-cell{white-space:nowrap;font-size:11px;padding-left:6px;padding-right:4px}.parcels-table.buildings-table .building-dims-cell{min-width:0;padding-left:6px;padding-right:4px}.parcels-table.buildings-table .building-dims-row{display:flex;flex-wrap:nowrap;align-items:center;gap:2px 4px;font-size:11px;line-height:1.2}.parcels-table.buildings-table .building-dims-floors{margin-top:0;color:var(--text-muted);font-size:10px}.parcels-table.buildings-table .building-dim-input,.parcels-table.buildings-table .building-floor-input{width:42px;max-width:100%;box-sizing:border-box;padding:2px 4px;font-size:11px}.parcels-table.buildings-table .building-floor-input{width:36px}.parcels-table.buildings-table .building-dim-unit{white-space:nowrap;flex-shrink:0}.parcels-table.buildings-table .btn-del-building,.parcels-table.buildings-table .btn-del-access-street{min-width:30px;padding:4px 6px;line-height:1}.inline-edit-input{background-color:var(--bg-surface);border:1px solid var(--primary);color:#fff;font-size:12px;padding:2px 6px;border-radius:4px;width:100%;max-width:100%;box-sizing:border-box}.inline-edit-input:focus{outline:none}.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0f172acc;backdrop-filter:blur(8px);z-index:999;display:flex;align-items:center;justify-content:center}.modal-card{background:var(--bg-dark);border:1px solid var(--border-color);border-radius:12px;width:480px;max-width:90vw;box-shadow:0 20px 40px #0009;display:flex;flex-direction:column;overflow:hidden}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--border-color);background:var(--bg-surface)}.modal-title{font-family:var(--font-heading);font-size:15px;font-weight:600;color:var(--text-main)}.btn-close-modal{background:none;border:none;color:var(--text-muted);font-size:16px;cursor:pointer}.btn-close-modal:hover{color:var(--text-main)}.modal-body{padding:16px;display:flex;flex-direction:column;gap:10px}.modal-desc{font-size:12px;color:var(--text-muted)}.input-modal-coord{width:110px;background:var(--bg-card);border:1px solid var(--border-color);color:#38bdf8;font-size:12px;font-weight:600;padding:4px 8px;border-radius:6px;outline:none}.btn-sm{padding:4px 10px;font-size:11px}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:12px 16px;border-top:1px solid var(--border-color);background:var(--bg-surface)}.btn-export-main{background:linear-gradient(135deg,#10b981,#059669)!important;color:#fff!important;border:1px solid #34d399!important;border-radius:9999px!important;padding:8px 20px!important;font-weight:700!important;box-shadow:0 4px 14px #10b98159;transition:all .2s cubic-bezier(.4,0,.2,1)}.btn-export-main:hover{background:linear-gradient(135deg,#059669,#047857)!important;box-shadow:0 6px 18px #10b98180;transform:translateY(-1px)}.export-summary-box{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:8px;padding:12px 14px}.export-summary-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.summary-label{font-size:12px;font-weight:600;color:var(--text-muted)}.summary-badge{font-size:11px;font-weight:600;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);padding:2px 8px;border-radius:12px}.export-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.summary-item{display:flex;flex-direction:column;background:var(--bg-card);padding:8px 10px;border-radius:6px;border:1px solid var(--border-color)}.item-title{font-size:10px;color:var(--text-muted)}.item-val{font-size:12px;font-weight:700;color:var(--text-main);margin-top:2px}.export-deliverables-box{display:flex;flex-direction:column;gap:8px;margin-top:4px}.deliverables-title{font-size:12px;font-weight:600;color:var(--cyan);margin:0}.deliverables-list{display:flex;flex-direction:column;gap:6px}.deliverable-card{display:flex;align-items:center;gap:10px;background:var(--bg-surface);border:1px solid var(--border-color);padding:8px 12px;border-radius:8px}.deliverable-icon{font-size:18px;color:var(--cyan);display:inline-flex}.deliverable-info{display:flex;flex-direction:column}.deliverable-info strong{font-size:12px;color:var(--text-main)}.deliverable-info span{font-size:10px;color:var(--text-muted)}.export-payment-banner{background:#10b98114;border:1px solid rgba(16,185,129,.25);border-radius:8px;padding:10px 12px;margin-top:4px}.payment-badge{font-size:11px;font-weight:700;color:#34d399}.payment-desc{font-size:11px;color:var(--text-muted);margin:4px 0 0;line-height:1.4}.export-actions-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:4px}.btn-download-item{font-size:11px!important;padding:8px 4px!important;text-align:center;justify-content:center}.btn-export-all{background:linear-gradient(135deg,#10b981,#059669)!important;color:#fff!important;border-color:#34d399!important;font-weight:700!important;padding:8px 16px!important}.export-funnel-box{margin-top:14px;padding:14px 16px;background:var(--bg-surface);border-radius:10px;border:1px solid var(--border-color)}.export-funnel-kicker{display:block;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--warning);margin-bottom:6px}.export-funnel-title{display:block;font-size:14px;color:var(--text-main);margin-bottom:6px}.export-funnel-desc{font-size:12px;color:var(--text-muted);line-height:1.5;margin:0 0 12px}.export-funnel-cta{width:100%;justify-content:center}.toolbar-divider{width:1px;height:20px;background:#fff3;margin:0 4px}.btn-commit{background-color:#10b981!important;color:#fff!important;border-color:#059669!important;font-weight:700}.btn-commit:hover{background-color:#059669!important}.btn-history{background-color:var(--input-bg)!important;border:1px solid var(--border-color)!important;color:var(--text-main)!important}.btn-history:hover{background-color:var(--primary)!important;color:#fff!important}.active-brush{background-color:#0284c7!important;color:#fff!important;border-color:#38bdf8!important;box-shadow:0 0 10px #38bdf866}.btn-edit-internal{background-color:#10b98126!important;color:#10b981!important;border:1px solid rgba(16,185,129,.4)!important}.btn-edit-internal:hover{background-color:#10b981!important;color:#fff!important}.brush-params-container{padding:10px 0}.brush-param-box{display:flex;flex-direction:column;gap:8px;background:#0003;padding:10px;border-radius:8px;border:1px solid var(--border-color)}.param-title{font-size:13px;font-weight:600;color:var(--primary)}.param-desc{font-size:11px;color:var(--text-muted);line-height:1.4}.param-row{display:flex;align-items:center;gap:10px}.param-label{font-size:12px;color:var(--text-main)}.canvas-inline-editor{position:absolute;z-index:100;display:flex;align-items:center;gap:6px;background:#0f172aeb;backdrop-filter:blur(12px);border:1.5px solid #f59e0b;box-shadow:0 8px 24px #0009,0 0 12px #f59e0b4d;padding:6px 10px;border-radius:8px;transform:translate(-50%,-100%) translateY(-10px);animation:fadeInPill .15s ease-out}@keyframes fadeInPill{0%{opacity:0;transform:translate(-50%,-100%) translateY(-5px)}to{opacity:1;transform:translate(-50%,-100%) translateY(-10px)}}.inline-part-title{font-size:12px;font-weight:700;color:#fbbf24;white-space:nowrap}.inline-part-input{width:75px;background:#0006;border:1px solid #f59e0b;color:#fff;font-size:13px;font-weight:700;padding:3px 6px;border-radius:6px;outline:none;text-align:right}.inline-unit{font-size:11px;color:var(--text-muted)}.btn-inline-ok{background:#10b981;color:#fff;border:none;border-radius:4px;padding:3px 8px;font-size:12px;font-weight:700;cursor:pointer}.btn-inline-ok:hover{background:#059669}.btn-inline-cancel{background:#ef4444cc;color:#fff;border:none;border-radius:4px;padding:3px 8px;font-size:12px;font-weight:700;cursor:pointer}.btn-inline-cancel:hover{background:#dc2626}.floating-search-bar{position:absolute;top:16px;left:20px;z-index:10;display:flex;align-items:center;gap:8px;background-color:var(--bg-surface-glass);backdrop-filter:blur(12px);border:1px solid var(--border-color);padding:6px 12px;border-radius:30px;box-shadow:0 8px 24px #0006}.search-input-group{display:flex;align-items:center;gap:6px}.input-search-location{width:250px;background:#0006;border:1px solid var(--border-color);color:#fff;font-size:12px;padding:6px 12px;border-radius:20px;outline:none}.input-search-location:focus{border-color:#38bdf8}.map-layer-button-group{display:flex;align-items:center;gap:4px;background:#0f172a99;backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.15);padding:4px;border-radius:12px;box-shadow:0 8px 24px #0006}.btn-floating-view.legal-active{background:linear-gradient(135deg,#f9731666,#ea580c40)!important;border:1px solid rgba(249,115,22,.8)!important;color:#fdba74!important;opacity:1!important;box-shadow:0 0 10px #f9731659,0 4px 12px #0006!important;text-shadow:0 0 8px rgba(249,115,22,.5);animation:legal-pulse 2.8s ease-in-out infinite}@keyframes legal-pulse{0%,to{box-shadow:0 0 10px #f9731659,0 4px 12px #0006;border-color:#f97316cc}50%{box-shadow:0 0 20px #f97316a6,0 4px 16px #00000080;border-color:#f97316}}.legal-section-panel{background:#f9731612;border:1px solid rgba(249,115,22,.28);padding:8px 10px;border-radius:8px;gap:6px;flex-shrink:0}.legal-section-panel .section-title{font-size:11px;font-weight:600;color:var(--text-muted);letter-spacing:.01em}.select-property-type{width:100%;background:var(--input-bg);color:var(--text-main);border:1px solid rgba(249,115,22,.45);font-size:11px;font-weight:600;padding:6px 8px;border-radius:6px;outline:none;cursor:pointer;margin-top:0}.select-property-type option{background:var(--bg-surface);color:var(--text-main)}.canvas-top-left-controls{position:absolute;top:18px;left:auto;right:18px;display:flex;align-items:center;gap:10px;z-index:15}.btn-warning-trigger{height:42px;padding:0 14px;border-radius:21px;background:#ef444433;border:1.5px solid #ef4444;color:#fca5a5;font-size:13px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:6px;box-shadow:0 0 14px #ef444466;transition:all .2s ease;user-select:none}.btn-warning-trigger:hover{background:#ef444459;transform:scale(1.04)}.btn-warning-trigger.pulsing-warning{animation:warning-pulse 1.8s ease-in-out infinite}@keyframes warning-pulse{0%,to{box-shadow:0 0 10px #ef444466,0 4px 12px #0006;border-color:#ef4444}50%{box-shadow:0 0 22px #ef4444d9,0 4px 18px #0009;border-color:#f87171}}.warning-count-badge{background:#ef4444;color:#fff;font-size:11px;font-weight:800;padding:2px 7px;border-radius:10px}.legal-violations-modal{position:absolute;top:70px;left:auto;right:18px;width:380px;max-width:calc(100vw - 40px);background:#0a0f1ef0;backdrop-filter:blur(16px);border:1.5px solid rgba(239,68,68,.6);border-radius:14px;box-shadow:0 12px 32px #0009,0 0 20px #ef444440;z-index:25;overflow:hidden;animation:modal-fade-in .25s cubic-bezier(.16,1,.3,1)}@keyframes modal-fade-in{0%{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.violations-modal-header{padding:12px 16px;background:#ef444426;border-bottom:1px solid rgba(239,68,68,.3);display:flex;align-items:center;justify-content:space-between}.violations-modal-header .modal-title{font-size:13px;font-weight:700;color:#fca5a5}.violations-modal-body{padding:14px 16px;max-height:320px;overflow-y:auto}.violations-subtitle{font-size:11px;color:#94a3b8;margin-bottom:10px}.violations-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.violation-item{background:#ef44441f;border:1px solid rgba(239,68,68,.35);border-radius:8px;padding:10px 12px;cursor:pointer;transition:all .2s ease}.violation-item:hover{background:#ef444440;border-color:#ef4444;transform:translate(4px)}.violation-item-title{font-size:12px;font-weight:700;color:#f87171;display:flex;align-items:center;justify-content:space-between}.violation-item-msg{font-size:11px;color:#e2e8f0;margin-top:4px;line-height:1.4}.violation-item-hint{font-size:10px;color:#38bdf8;margin-top:4px;font-weight:600}.street-info-card{position:absolute;bottom:210px;left:auto;right:18px;width:360px;max-width:calc(100vw - 40px);background:var(--glass-bg);backdrop-filter:blur(16px);border:1.5px solid rgba(245,158,11,.7);border-radius:12px;box-shadow:0 12px 32px #0003,0 0 22px #f59e0b59;z-index:30;overflow:hidden;animation:card-pop-in .2s cubic-bezier(.16,1,.3,1)}@keyframes card-pop-in{0%{opacity:0;transform:translateY(6px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.street-card-header{padding:10px 14px;background:#f59e0b26;border-bottom:1px solid rgba(245,158,11,.3);display:flex;align-items:center;justify-content:space-between}.street-card-title{font-size:13px;font-weight:700;color:var(--text-main)}.street-card-body{padding:12px 14px;display:flex;flex-direction:column;gap:8px}.street-status-badge{display:inline-block;background:#f59e0b33;border:1px solid rgba(245,158,11,.5);color:#d97706;font-size:11px;font-weight:700;padding:4px 8px;border-radius:6px}.street-law-text{font-size:11px;color:var(--text-muted);line-height:1.4}.street-metrics-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:4px}.street-metric-item{background:var(--input-bg);border:1px solid var(--border-color);padding:6px 10px;border-radius:6px;display:flex;flex-direction:column}.street-metric-item .metric-label{font-size:10px;color:var(--text-muted)}.street-metric-item .metric-value{font-size:13px;font-weight:700;color:#38bdf8}.construction-loading-bar{position:absolute;top:76px;left:50%;transform:translate(-50%);background:#0f172af0;backdrop-filter:blur(14px);border:1.5px solid rgba(56,189,248,.8);border-radius:20px;padding:8px 18px;display:flex;align-items:center;gap:10px;color:#38bdf8;font-size:12px;font-weight:700;box-shadow:0 8px 24px #00000080,0 0 16px #38bdf859;z-index:20;pointer-events:none;animation:loading-bar-pop .2s cubic-bezier(.16,1,.3,1)}@keyframes loading-bar-pop{0%{opacity:0;transform:translate(-50%,-6px)}to{opacity:1;transform:translate(-50%)}}.loading-spinner{width:14px;height:14px;border:2px solid rgba(56,189,248,.3);border-top-color:#38bdf8;border-radius:50%;animation:spinner-rotate .8s linear infinite}@keyframes spinner-rotate{to{transform:rotate(360deg)}}.compass-widget-card{display:inline-flex;align-items:center;gap:8px;background:var(--glass-bg);backdrop-filter:blur(16px);border:1px solid var(--border-color);border-radius:24px;padding:4px 12px 4px 5px;box-shadow:0 4px 20px #0003;transition:all .25s cubic-bezier(.4,0,.2,1);user-select:none}.compass-widget-card:hover{border-color:#38bdf899;box-shadow:0 6px 24px #00000040,0 0 14px #38bdf840}.compass-dial-btn{width:34px;height:34px;border-radius:50%;background:radial-gradient(circle at 35% 35%,var(--bg-card),var(--bg-surface));border:1.5px solid #38bdf8;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;position:relative;box-shadow:inset 0 1px 3px #fff3,0 2px 8px #0000004d;transition:transform .2s cubic-bezier(.16,1,.3,1),border-color .2s}.compass-dial-btn:hover{transform:scale(1.1);border-color:#38bdf8;box-shadow:0 0 12px #38bdf880}.compass-needle{width:100%;height:100%;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:3px 0;transition:transform .1s ease-out;transform-origin:center center;pointer-events:none}.needle-n{font-size:10px;font-weight:900;color:#ef4444;line-height:1;text-shadow:0 0 6px rgba(239,68,68,.9)}.needle-s{font-size:8px;font-weight:700;color:var(--text-muted);line-height:1}.compass-deg-input-wrapper{display:flex;align-items:center;gap:1px}.input-compass-deg{width:38px;background:transparent;border:none;color:#38bdf8;font-family:var(--font-mono, monospace);font-size:13px;font-weight:800;text-align:right;padding:2px 0;outline:none}.input-compass-deg:focus{color:var(--text-main);background:#38bdf826;border-radius:4px}.input-compass-deg::-webkit-inner-spin-button,.input-compass-deg::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.deg-symbol{font-size:13px;font-weight:800;color:#38bdf8}.color-picker-popover{position:fixed;z-index:10000;background:var(--glass-bg);border:1px solid var(--border-color);border-radius:12px;padding:10px;box-shadow:0 20px 25px -5px #0000004d,0 8px 10px -6px #0003;width:170px;animation:popoverFadeIn .15s ease-out}@keyframes popoverFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.popover-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;color:#94a3b8;font-size:11px;font-weight:600}.popover-close{background:none;border:none;color:#94a3b8;cursor:pointer;font-size:13px;line-height:1}.popover-close:hover{color:#fff}.color-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;justify-items:center;align-items:center}.color-swatch{width:26px;height:26px;border-radius:50%;border:2px solid rgba(255,255,255,.3);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.9);transition:transform .15s ease,border-color .15s ease;position:relative}.color-swatch:hover{transform:scale(1.15);border-color:#fff}.color-swatch.active{border:2.5px solid #ffffff;box-shadow:0 0 0 2px #3b82f6}.color-swatch.custom-picker{background:#1e293b;color:#94a3b8;font-size:16px;line-height:1}.checkout-modal{max-width:min(960px,95vw)!important;width:95vw;max-height:90vh;display:flex;flex-direction:column;background:var(--bg-dark);border-color:var(--border-color);color:var(--text-main)}.checkout-modal>.modal-header,.checkout-modal>.modal-footer{background:var(--bg-surface);border-color:var(--border-color)}.checkout-modal .modal-title,.checkout-modal .btn-close-modal:hover{color:var(--text-main)}.checkout-body{display:grid;grid-template-columns:340px 1fr;flex:1;overflow:hidden;min-height:0;background:var(--bg-dark)}.checkout-left{display:flex;flex-direction:column;gap:14px;padding:20px;border-right:1px solid var(--border-color);overflow-y:auto;background:var(--bg-dark)}.checkout-right{display:flex;flex-direction:column;overflow-y:auto;padding:16px;min-height:0;background:var(--bg-dark)}#paymentBrick_container{width:100%;flex:1}.payment-brick-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:60px 24px;color:var(--text-muted);font-size:14px;flex:1}.payment-spinner{width:36px;height:36px;border:3px solid rgba(0,240,255,.15);border-top-color:#00f0ff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.payment-error-banner{display:flex;align-items:center;gap:10px;background:#7f1d1deb;border:1px solid rgba(239,68,68,.8);color:#fca5a5;padding:12px 16px;border-radius:10px;font-size:13px;font-weight:500;margin-bottom:14px;box-shadow:0 4px 16px #0000004d;animation:fadeSlideUp .3s ease forwards}.error-banner-icon{font-size:16px;flex-shrink:0}.error-banner-text{flex:1;line-height:1.4}.checkout-price-box{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:14px;padding:18px 20px}.price-details{display:flex;flex-direction:column;gap:4px}.price-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-weight:600}.price-value-row{display:flex;align-items:flex-end;gap:10px;line-height:1}.price-old{font-size:15px;font-weight:600;color:var(--text-muted);text-decoration:line-through;text-decoration-color:#f87171a6;opacity:.9;white-space:nowrap;margin-bottom:10px}.price-current{display:flex;align-items:flex-start;gap:2px;line-height:1}.price-currency{font-size:18px;font-weight:700;color:var(--text-muted);margin-top:6px}.price-value{font-size:52px;font-weight:800;color:var(--text-main);font-variant-numeric:tabular-nums;line-height:1}.price-cents{font-size:22px;font-weight:700;color:var(--text-muted);margin-top:8px}.price-note{font-size:11px;color:var(--accent);margin-top:4px}.pix-waiting-strip{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;margin-top:8px;background:color-mix(in srgb,var(--accent) 10%,transparent);border:1px solid color-mix(in srgb,var(--accent) 28%,transparent);border-radius:10px;gap:12px}.pix-strip-left{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text-muted)}.pix-strip-left .sublote-inline-loading--xs{flex-shrink:0}.pix-spinner-sm{width:18px;height:18px;border:2px solid rgba(109,213,163,.2);border-top-color:#6dd5a3;border-radius:50%;animation:spin 1s linear infinite;flex-shrink:0}.pix-timer{font-size:20px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--accent);letter-spacing:2px;flex-shrink:0}.payment-success-banner{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--bg-surface);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);border-radius:12px;margin-bottom:10px;animation:fadeSlideUp .4s ease forwards}.success-icon{display:inline-flex;flex-shrink:0;color:var(--accent)}.success-icon .ui-icon{width:28px;height:28px;min-width:28px}.success-text{display:flex;flex-direction:column;gap:2px}.success-text strong{font-size:14px;font-weight:700;color:var(--accent)}.success-text span{font-size:11px;color:var(--text-muted)}.package-purpose-selector{margin-top:14px;margin-bottom:12px;padding:14px 16px;background:var(--bg-surface);border-radius:10px;border:1px solid var(--border-color)}.package-purpose-title{font-size:13px;font-weight:700;color:var(--cyan);display:block;margin-bottom:8px}.package-purpose-list{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--text-muted);margin-bottom:14px}.package-purpose-list>span{display:flex;align-items:center;gap:8px}#post-payment-panel .btn-export-all{width:100%;margin-top:10px}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}#post-payment-panel .export-actions-grid{animation:fadeSlideUp .5s ease .1s both}.payment-recovery-toast{position:fixed;top:16px;left:50%;transform:translate(-50%);z-index:9999;padding:12px 24px;border-radius:10px;font-size:13px;font-weight:500;box-shadow:0 4px 24px #00000080;animation:fadeSlideUp .3s ease forwards;max-width:90vw;text-align:center}.toast-rejected{background:#7f1d1df2;border:1px solid #ef4444;color:#fca5a5}.pix-panel-container{display:flex;flex-direction:column;animation:fadeSlideUp .4s ease forwards}.pix-card-panel{display:flex;flex-direction:column;gap:14px;padding:18px;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:14px;box-shadow:0 4px 16px #0f172a1f}.pix-header{display:flex;align-items:center;gap:10px}.pix-header-icon{font-size:24px;color:var(--cyan)}.pix-header-text{display:flex;flex-direction:column;gap:2px}.pix-header-title{font-size:16px;font-weight:700;color:var(--text-main);margin:0}.pix-header-subtitle{font-size:11px;color:var(--text-muted)}.pix-qr-box{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:18px;background:#fff;border-radius:16px;border:1px solid var(--border-color);align-self:center;width:100%;max-width:min(340px,100%);box-shadow:none}#pix-qr-image{width:100%;max-width:300px;height:auto;aspect-ratio:1 / 1;border-radius:4px;object-fit:contain;image-rendering:pixelated}.pix-qr-placeholder{display:flex;flex-direction:column;align-items:center;gap:10px;color:var(--text-muted);font-size:13px}.pix-code-box{display:flex;flex-direction:column;gap:6px}.pix-code-label{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.pix-input-group{display:flex;gap:8px}#pix-copy-input{flex:1;background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;padding:8px 12px;color:var(--cyan);font-family:monospace;font-size:11px;outline:none}.btn-copy-pix{background:#0284c7;color:#fff;font-size:12px;font-weight:600;padding:8px 14px;border-radius:8px;border:none;cursor:pointer;white-space:nowrap;transition:all .2s ease}.btn-copy-pix:hover{background:#0369a1}.pix-copied-toast{font-size:11px;font-weight:600;color:var(--accent);margin-top:2px;animation:fadeSlideUp .3s ease forwards}.advertisers-panel{display:flex;flex-direction:column;gap:14px;animation:fadeSlideUp .5s ease forwards}.advertisers-header{display:flex;flex-direction:column;gap:4px;padding-bottom:10px;border-bottom:1px solid var(--border-color)}.adv-badge{align-self:flex-start;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--cyan);background:color-mix(in srgb,var(--cyan) 12%,transparent);padding:3px 8px;border-radius:6px;border:1px solid color-mix(in srgb,var(--cyan) 28%,transparent)}.adv-title{font-size:17px;font-weight:700;color:var(--text-main);margin:4px 0 0}.adv-subtitle{font-size:12px;color:var(--text-muted);margin:0;line-height:1.4}.advertisers-list{display:flex;flex-direction:column;gap:12px}.adv-card{display:flex;flex-direction:column;gap:10px;padding:14px;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:12px;transition:all .2s ease}.adv-card:hover{border-color:color-mix(in srgb,var(--cyan) 40%,var(--border-color));transform:translateY(-2px);box-shadow:0 6px 20px #0f172a29}.adv-card-header{display:flex;align-items:center;gap:12px}.adv-avatar{width:42px;height:42px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px;color:#fff;flex-shrink:0;box-shadow:inset 0 0 0 1px #fff3}.adv-info{display:flex;flex-direction:column;gap:2px;min-width:0}.adv-name{font-size:14px;font-weight:700;color:var(--text-main);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.adv-role{font-size:11px;color:var(--cyan);font-weight:500}.adv-crea{font-size:10px;color:var(--text-muted);font-family:monospace}.adv-highlight-badge{font-size:11px;font-weight:600;color:var(--warning);background:color-mix(in srgb,var(--warning) 12%,transparent);padding:4px 8px;border-radius:6px;border:1px solid color-mix(in srgb,var(--warning) 28%,transparent)}.adv-specialties{display:flex;flex-wrap:wrap;gap:6px}.adv-tag{font-size:10px;color:var(--text-muted);background:var(--bg-card);padding:3px 8px;border-radius:4px;border:1px solid var(--border-color)}.adv-card-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:8px;border-top:1px dashed var(--border-color)}.adv-location{font-size:11px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.btn-whatsapp-adv{display:inline-flex;align-items:center;gap:6px;background:#16a34a;color:#fff!important;font-size:11px;font-weight:600;padding:6px 12px;border-radius:8px;text-decoration:none;transition:background .2s ease;white-space:nowrap}.btn-whatsapp-adv:hover{background:#15803d;color:#fff!important}@media (max-width: 640px){.checkout-body{grid-template-columns:1fr;overflow-y:auto}.checkout-left{border-right:none;border-bottom:1px solid var(--border-color);overflow-y:visible}.checkout-right{overflow-y:visible}.checkout-modal{max-height:95vh}}.tool-btn-svg{width:18px;height:18px;min-width:18px;stroke-width:2.2;transition:transform .2s ease,stroke .2s ease}.btn-action-tool:hover .tool-btn-svg{transform:scale(1.15);stroke:var(--primary)}.tool-skill-preview-card{position:fixed;z-index:9999;width:260px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 12px 32px #00000059,0 0 0 1px #38bdf833;backdrop-filter:blur(16px);padding:12px;display:flex;flex-direction:column;gap:10px;pointer-events:none;opacity:0;transform:translateY(6px) scale(.96);transition:opacity .18s ease,transform .18s cubic-bezier(.16,1,.3,1)}.tool-skill-preview-card.visible{opacity:1;transform:translateY(0) scale(1)}.skill-card-header{display:flex;align-items:center;justify-content:space-between}.skill-title-group{display:flex;flex-direction:column;gap:2px}.skill-card-title{font-size:13px;font-weight:700;color:var(--text-main)}.skill-card-category{font-size:10px;font-weight:600;color:var(--primary);text-transform:uppercase;letter-spacing:.5px}.skill-demo-container{position:relative;width:100%;height:125px;background:transparent;border:none;border-radius:0;overflow:visible;display:flex;align-items:center;justify-content:center}html[data-theme=light] .skill-demo-container{background:transparent}.skill-demo-svg{width:100%;height:100%}.skill-demo-container svg path[stroke="#0d1527"]{stroke:#fff}html[data-theme=light] .skill-demo-container svg path[stroke="#0d1527"]{stroke:#0d1527}.skill-demo-container svg text,.skill-demo-container svg text tspan,.skill-demo-container svg text[fill="#0d1527"]{fill:#fff!important}html[data-theme=light] .skill-demo-container svg text,html[data-theme=light] .skill-demo-container svg text tspan,html[data-theme=light] .skill-demo-container svg text[fill="#0d1527"]{fill:#0d1527!important}.skill-demo-badge{position:absolute;bottom:6px;right:6px;background:#0f172ad9;border:1px solid rgba(255,255,255,.15);color:#94a3b8;font-size:9px;font-weight:600;padding:2px 6px;border-radius:4px}.skill-card-body{display:flex;flex-direction:column;gap:6px}.skill-description{font-size:11px;line-height:1.4;color:var(--text-muted);margin:0}.skill-shortcut{font-size:10px;font-weight:600;color:var(--warning);background:#f59e0b1a;padding:4px 8px;border-radius:6px;border:1px solid rgba(245,158,11,.2)}@keyframes demoPenMove{0%{transform:translate(0)}50%{transform:translate(-20px,-30px)}to{transform:translate(0)}}.demo-pen-cursor{animation:demoPenMove 2.5s ease-in-out infinite}@keyframes demoNodePulse{0%,to{r:5px;fill:#38bdf8}50%{r:8px;fill:#f59e0b}}.demo-node-pulse{animation:demoNodePulse 2s ease-in-out infinite}@keyframes demoLotFade{0%,to{opacity:.6}50%{opacity:.95}}.demo-part-1{animation:demoLotFade 3s ease-in-out infinite 0s}.demo-part-2{animation:demoLotFade 3s ease-in-out infinite .5s}.demo-part-3{animation:demoLotFade 3s ease-in-out infinite 1s}@keyframes demoLogoCut{0%{stroke-dashoffset:100;opacity:.4}50%{stroke-dashoffset:0;opacity:1}to{stroke-dashoffset:-100;opacity:.4}}.demo-logo-cut{stroke-dasharray:20;animation:demoLogoCut 3s linear infinite}@keyframes demoLogoOutlineGlow{0%,to{stroke:#f59e0b;opacity:.6}50%{stroke:#38bdf8;opacity:1}}.demo-logo-outline-glow{animation:demoLogoOutlineGlow 2.5s ease-in-out infinite}.sublote-logo-loader-svg{width:52px;height:38px;display:inline-block;vertical-align:middle;flex-shrink:0}.sublote-logo-loader-svg .svg-elem-1{stroke-dasharray:1520.36px;stroke-dashoffset:1520.36px;stroke:#fff;stroke-width:20px;stroke-linecap:round;stroke-linejoin:round;fill:transparent;animation:logoAnimElem1 3.5s cubic-bezier(.4,0,.2,1) infinite}html[data-theme=light] .sublote-logo-loader-svg .svg-elem-1{stroke:#0d1527}@keyframes logoAnimElem1{0%{stroke-dashoffset:1520.36px;fill:transparent}25%,60%{stroke-dashoffset:0;fill:transparent}85%,to{stroke-dashoffset:-1520.36px;fill:transparent}}.sublote-logo-loader-svg .svg-elem-2{stroke-dasharray:511.04px;stroke-dashoffset:511.04px;stroke:#87a96b;stroke-width:4px;fill:transparent;animation:logoAnimElem2 3.5s cubic-bezier(.4,0,.2,1) infinite}@keyframes logoAnimElem2{0%,5%{stroke-dashoffset:511.04px;fill:transparent}28%,58%{stroke-dashoffset:0;fill:#87a96b}83%,to{stroke-dashoffset:-511.04px;fill:transparent}}.sublote-logo-loader-svg .svg-elem-3{stroke-dasharray:464.74px;stroke-dashoffset:464.74px;stroke:#8fbd50;stroke-width:4px;fill:transparent;animation:logoAnimElem3 3.5s cubic-bezier(.4,0,.2,1) infinite}@keyframes logoAnimElem3{0%,10%{stroke-dashoffset:464.74px;fill:transparent}32%,56%{stroke-dashoffset:0;fill:#8fbd50}81%,to{stroke-dashoffset:-464.74px;fill:transparent}}.sublote-logo-loader-svg .svg-elem-4{stroke-dasharray:452.85px;stroke-dashoffset:452.85px;stroke:#aaca89;stroke-width:4px;fill:transparent;animation:logoAnimElem4 3.5s cubic-bezier(.4,0,.2,1) infinite}@keyframes logoAnimElem4{0%,15%{stroke-dashoffset:452.85px;fill:transparent}36%,54%{stroke-dashoffset:0;fill:#aaca89}79%,to{stroke-dashoffset:-452.85px;fill:transparent}}.sublote-logo-loader-svg .svg-elem-5{stroke-dasharray:529.21px;stroke-dashoffset:529.21px;stroke:#b0ce90;stroke-width:4px;fill:transparent;animation:logoAnimElem5 3.5s cubic-bezier(.4,0,.2,1) infinite}@keyframes logoAnimElem5{0%,20%{stroke-dashoffset:529.21px;fill:transparent}40%,52%{stroke-dashoffset:0;fill:#b0ce90}77%,to{stroke-dashoffset:-529.21px;fill:transparent}}.sublote-logo-loader-svg .svg-elem-6{stroke-dasharray:683.75px;stroke-dashoffset:683.75px;stroke:#bed6a2;stroke-width:4px;fill:transparent;animation:logoAnimElem6 3.5s cubic-bezier(.4,0,.2,1) infinite}@keyframes logoAnimElem6{0%,25%{stroke-dashoffset:683.75px;fill:transparent}44%,50%{stroke-dashoffset:0;fill:#bed6a2}75%,to{stroke-dashoffset:-683.75px;fill:transparent}}.unsafe-zoning-modal-card{max-width:580px;width:92%;padding:24px;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:20px;box-shadow:0 20px 50px #0006,0 0 30px #f59e0b26}.unsafe-zoning-header{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.unsafe-zoning-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:20px;background:#f59e0b26;border:1px solid rgba(245,158,11,.3);width:fit-content}.unsafe-zoning-badge .warning-icon{font-size:14px}.unsafe-zoning-badge .badge-text{font-size:11px;font-weight:700;color:#f59e0b;text-transform:uppercase;letter-spacing:.5px}.unsafe-zoning-title{font-size:18px;font-weight:700;color:var(--text-main);margin:0;line-height:1.3}.unsafe-zoning-subtitle{font-size:13px;color:var(--text-muted);margin:0;line-height:1.5}.unsafe-zoning-options-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:20px}@media (max-width: 540px){.unsafe-zoning-options-grid{grid-template-columns:1fr}}.unsafe-zoning-option-card{display:flex;align-items:flex-start;gap:12px;padding:14px;border-radius:14px;background:var(--glass-bg);border:1.5px solid var(--border-color);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1)}.unsafe-zoning-option-card:hover{border-color:#38bdf8;background:#38bdf814;transform:translateY(-2px);box-shadow:0 6px 16px #38bdf826}.unsafe-zoning-option-card .option-icon{font-size:24px;line-height:1;flex-shrink:0;padding:6px;border-radius:10px;background:#ffffff0d}.unsafe-zoning-option-card .option-info{display:flex;flex-direction:column;gap:4px;flex:1}.unsafe-zoning-option-card .option-title{font-size:13px;font-weight:700;color:var(--text-main);margin:0}.unsafe-zoning-option-card .option-desc{font-size:11px;color:var(--text-muted);margin:0;line-height:1.3}.unsafe-zoning-option-card .option-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.unsafe-zoning-option-card .option-tags .tag{font-size:10px;font-weight:600;padding:2px 6px;border-radius:6px;background:#94a3b826;color:var(--text-main)}.unsafe-zoning-footer{display:flex;justify-content:center;padding-top:10px;border-top:1px solid var(--border-color)}.construction-btn-group{position:relative;display:flex;flex-direction:column;align-items:stretch;min-width:155px}.construction-btn-group #btn-toggle-construction-mode{width:100%;min-width:155px;box-sizing:border-box;padding:0 14px;white-space:nowrap}.btn-floating-view.construction-active-top{border-bottom-left-radius:0!important;border-bottom-right-radius:0!important;border-bottom:none!important;box-shadow:none!important}.floating-street-opacity-drawer{position:absolute;top:100%;left:0;right:0;width:100%;min-width:155px;box-sizing:border-box;margin-top:-1px;background:linear-gradient(180deg,#1e140ff2,#0f172af5);backdrop-filter:blur(16px);border:1px solid rgba(249,115,22,.8);border-top:1px dashed rgba(249,115,22,.35);border-radius:0 0 12px 12px;padding:8px 12px 10px;display:flex;flex-direction:column;gap:6px;box-shadow:0 12px 28px #00000080,0 0 12px #f9731640;z-index:25;animation:fadeInPill .15s ease-out}.sidebar-panel .floating-street-opacity-drawer{position:static;top:auto;left:auto;right:auto;z-index:1;margin-top:0;box-shadow:none}html[data-theme=light] .floating-street-opacity-drawer{background:linear-gradient(180deg,#fef3c7f2,#fffffffa);border-color:#ea580cb3;border-top:1px dashed rgba(234,88,12,.3)}.street-opacity-header{display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:700;color:#fdba74}html[data-theme=light] .street-opacity-header{color:#c2410c}.opacity-val-badge{background:#f9731633;color:#38bdf8;border:1px solid rgba(56,189,248,.4);padding:1px 6px;border-radius:4px;font-family:var(--font-mono, monospace);font-size:11px;font-weight:800}.street-opacity-slider{width:100%;box-sizing:border-box;accent-color:#f97316;cursor:pointer;margin:0;height:6px}.zip-export-loading-overlay{position:fixed;inset:0;background:#020617d1;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:999999;display:flex;align-items:center;justify-content:center;animation:fadeIn .25s ease-out}.zip-export-loading-box{display:flex;flex-direction:column;align-items:center;text-align:center;padding:32px 36px;background:#0f172af0;border:1px solid rgba(56,189,248,.35);border-radius:18px;box-shadow:0 25px 50px #000000b3;max-width:380px;width:90%}.zip-export-loading-box .sublote-logo-loader-svg{width:80px;height:56px;margin-bottom:18px}.zip-export-loading-title{font-size:16px;font-weight:700;color:#f8fafc;margin-bottom:6px}.zip-export-loading-sub{font-size:12px;color:#94a3b8}canvas{touch-action:none!important;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.mobile-building-toolbar{position:fixed;bottom:20px;left:50%;transform:translate(-50%);z-index:999;display:flex;align-items:center;gap:8px;padding:8px 12px;background:#0f172ae0;backdrop-filter:blur(16px);border:1px solid rgba(0,240,255,.3);border-radius:24px;box-shadow:0 10px 30px #0009,0 0 15px #00f0ff33}.mobile-tb-btn{display:flex;align-items:center;gap:4px;padding:8px 12px;background:#1e293bcc;border:1px solid rgba(255,255,255,.15);border-radius:16px;color:#f8fafc;font-size:12px;font-weight:600;cursor:pointer;touch-action:manipulation;transition:all .15s ease}.mobile-tb-btn:active{transform:scale(.94);background:#00f0ff40;border-color:#00f0ff}.mobile-tb-btn-danger:active{background:#ef44444d;border-color:#ef4444}@media (max-width: 768px){.mobile-building-toolbar{bottom:14px;padding:6px 10px;gap:6px;width:calc(100% - 24px);max-width:480px;justify-content:space-around}.mobile-tb-btn{padding:8px 10px;font-size:11px;flex:1;justify-content:center}}.sidebar-drag-handle{display:none;flex-direction:column;align-items:center;width:100%;padding:6px 0;cursor:grab;user-select:none;touch-action:none;margin-bottom:4px}.sidebar-drag-handle:active{cursor:grabbing}.sidebar-drag-handle .drag-pill{width:48px;height:5px;background:#ffffff73;border-radius:3px;margin:0 auto;transition:background .2s ease,width .2s ease}.sidebar-drag-handle:hover .drag-pill,.sidebar-drag-handle:active .drag-pill{background:#00f0ff;width:60px}.mobile-header-nav,.mobile-bottom-dock,.mobile-more-sheet,.mobile-cortes-sheet,.mobile-parcels-peek-label{display:none}.btn-mobile-icon-nav{width:36px;height:36px;border-radius:10px;background:#1e293bd9;border:1px solid rgba(255,255,255,.15);color:#f8fafc;font-size:16px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;touch-action:manipulation;transition:all .2s cubic-bezier(.4,0,.2,1);user-select:none}.btn-mobile-icon-nav:active,.btn-mobile-icon-nav.active{background:#00f0ff40;border-color:#00f0ff;transform:scale(.94);box-shadow:0 0 12px #00f0ff4d}.btn-mobile-export-highlight{background:linear-gradient(135deg,#10b981,#059669);border-color:#34d399;box-shadow:0 4px 12px #10b98159}.btn-mobile-export-highlight:active{background:linear-gradient(135deg,#059669,#047857)}.mobile-more-sheet{position:fixed;left:0;right:0;bottom:calc(64px + env(safe-area-inset-bottom,0px));z-index:960;display:none;flex-direction:column;max-height:calc(100dvh - 128px - env(safe-area-inset-bottom,0px));padding:8px 16px 16px;background:var(--header-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1.5px solid rgba(56,189,248,.45);border-radius:18px 18px 0 0;box-shadow:0 -12px 40px #0000008c;overflow-y:auto;-webkit-overflow-scrolling:touch}.mobile-more-sheet.is-open{display:flex!important}.mobile-more-sheet-handle{display:flex;justify-content:center;padding:4px 0 8px}.mobile-more-sheet-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.mobile-more-sheet-title{font-family:var(--font-heading);font-size:16px;font-weight:700;color:var(--text-main)}.mobile-more-section{margin-bottom:14px}.mobile-more-section-title{margin:0 0 8px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.mobile-more-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.mobile-more-btn{min-height:44px;display:flex;align-items:center;justify-content:flex-start;gap:8px;padding:10px 12px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;color:var(--text-main);font-size:13px;font-weight:600;cursor:pointer;touch-action:manipulation;text-align:left}.mobile-more-btn:active,.mobile-more-btn.is-active{background:#38bdf829;border-color:var(--cyan);color:var(--text-main)}.mobile-bottom-dock{position:fixed;left:0;right:0;bottom:0;z-index:970;display:none;align-items:stretch;justify-content:space-around;gap:2px;padding:6px 6px calc(8px + env(safe-area-inset-bottom,0px));background:var(--header-bg);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-top:1px solid var(--border-color);box-shadow:0 -8px 28px #00000047}.mobile-dock-btn{position:relative;flex:1;min-width:0;min-height:52px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:6px 2px;border:none;background:transparent;color:var(--text-muted);font-size:10px;font-weight:700;letter-spacing:.01em;cursor:pointer;touch-action:manipulation;border-radius:12px}.mobile-dock-btn .tool-btn-svg{width:20px;height:20px;stroke:currentColor}.mobile-dock-btn.is-active,.mobile-dock-btn[aria-expanded=true]{color:var(--cyan);background:#38bdf81f}.mobile-dock-btn--wide{flex:2}.mobile-dock-btn--export{color:#fff;background:linear-gradient(135deg,#10b981,#059669);border:1px solid #34d399;box-shadow:0 4px 12px #10b98159}.mobile-dock-btn--export .tool-btn-svg{stroke:#fff}.mobile-dock-btn--export:active,.mobile-dock-btn--export.is-active{color:#fff;background:linear-gradient(135deg,#059669,#047857)}.mobile-cortes-sheet{position:fixed;left:8px;right:auto;bottom:calc(64px + env(safe-area-inset-bottom,0px));z-index:965;display:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:min(320px,calc(100vw - 16px));padding:10px;background:var(--header-bg);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1.5px solid rgba(56,189,248,.4);border-radius:16px;box-shadow:0 -8px 28px #00000059}.mobile-cortes-sheet.is-open:not([hidden]){display:grid}.mobile-cortes-option{min-height:56px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:8px 4px;border:1px solid var(--border-color);border-radius:12px;background:var(--bg-card);color:var(--text-main);font-size:11px;font-weight:700;cursor:pointer;touch-action:manipulation}.mobile-cortes-option .tool-btn-svg{width:20px;height:20px;stroke:currentColor}.mobile-cortes-option.is-active{color:var(--cyan);background:#38bdf824;border-color:var(--cyan)}.mobile-dock-badge{position:absolute;top:4px;right:calc(50% - 22px);min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--primary);color:#fff;font-size:9px;font-weight:700;line-height:16px;font-style:normal;text-align:center}.mobile-parcels-peek-label{font-size:12px;font-weight:600;color:var(--text-muted)}.mobile-drawer-overlay{position:fixed;inset:0;background:#0f172abf;backdrop-filter:blur(6px);z-index:930;opacity:0;pointer-events:none;transition:opacity .3s ease}.mobile-drawer-overlay.active{opacity:1;pointer-events:auto}.btn-mobile-icon-nav .tool-btn-svg{width:18px;height:18px;stroke:#f8fafc;stroke-width:2.2;transition:transform .2s ease,stroke .2s ease}.btn-mobile-icon-nav:active .tool-btn-svg,.btn-mobile-icon-nav.active .tool-btn-svg{stroke:#00f0ff;transform:scale(1.1)}.btn-mobile-export-highlight .tool-btn-svg{stroke:#fff!important}@media (max-width: 1024px) and (pointer: coarse),(max-height: 500px),(max-width: 768px){#map-compass-widget,.sidebar-tools-dock,.floating-toolbar,.floating-view-tools,.floating-params-container{display:none!important}.canvas-left-dock{display:contents}.app-container{height:100dvh!important;flex-direction:column!important}.app-header{height:56px;min-height:56px;padding:8px 12px;gap:8px;flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:nowrap}.app-header.app-header--with-search{display:flex;height:56px;min-height:56px;padding:8px 12px}.app-header.app-header--with-search>.header-brand-group{max-width:none;flex:1 1 auto;min-width:0}.app-header.app-header--with-search>.header-toolbar-end,.app-header.app-header--with-search>.header-end{max-width:none;flex:0 0 auto;margin-left:auto}.app-header.mobile-search-open{height:auto;min-height:56px;flex-wrap:wrap}.header-brand-group{display:flex;align-items:center;gap:8px;min-width:0;flex:1}.brand-subtitle{display:none}.header-brand-group .brand-title{font-size:16px}.mobile-header-nav{display:flex;align-items:center;gap:6px;margin-right:6px}.header-search-group{display:none;width:100%;box-sizing:border-box;justify-content:space-between;padding:4px 4px 4px 12px;order:4;flex-basis:100%}.app-header.mobile-search-open .header-search-group{display:flex}.header-search-input{width:100%;flex:1;font-size:16px}.btn-search-input-inside{padding:8px 14px;font-size:13px}.header-actions{display:none!important}.header-toolbar-end{display:flex;align-items:center;justify-content:flex-end;margin-left:auto;order:2;gap:6px;flex:0 0 auto}.header-account-btn{width:36px;height:36px;min-width:36px}.mobile-drawer-overlay{top:56px;bottom:calc(64px + env(safe-area-inset-bottom,0px))}.mobile-bottom-dock{display:flex}.mobile-parcels-peek-label{display:block}.sidebar-drag-handle{display:flex}.sidebar-panel{position:fixed!important;bottom:calc(64px + env(safe-area-inset-bottom,0px))!important;left:0!important;right:0!important;top:auto!important;width:100%!important;height:auto!important;max-height:calc(100dvh - 128px - env(safe-area-inset-bottom,0px))!important;border-radius:18px 18px 0 0!important;border-top:1.5px solid rgba(56,189,248,.45)!important;background:var(--header-bg)!important;backdrop-filter:blur(20px)!important;box-shadow:0 -12px 40px #0000008c!important;z-index:950!important;transform:translateY(100%);transition:transform .3s cubic-bezier(.16,1,.3,1)!important;overflow-y:auto!important;padding:10px 16px 16px!important;box-sizing:border-box!important;pointer-events:none}.sidebar-panel.mobile-drawer-open{transform:translateY(0)!important;pointer-events:auto}.sidebar-toggle-tab{display:none!important}.sidebar-panel-scroll{overflow:visible;flex:none;height:auto}.parcels-card{min-height:160px}.mobile-tool-action-bar{bottom:calc(68px + env(safe-area-inset-bottom,0px))}.mobile-building-toolbar{bottom:calc(76px + env(safe-area-inset-bottom,0px))}.modal-card{max-height:min(90dvh,92vh);overflow-y:auto}}.mobile-warning-toast{position:fixed;top:12px;left:50%;transform:translate(-50%);z-index:99999;width:calc(100% - 24px);max-width:480px;background:#0f172af5;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(245,158,11,.5);border-radius:16px;padding:10px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;box-shadow:0 12px 35px #000000b3;animation:fadeInDown .3s cubic-bezier(.16,1,.3,1)}.mobile-warning-content{display:flex;align-items:center;gap:10px}.mobile-warning-toast .warning-icon{font-size:20px;flex-shrink:0}.mobile-warning-toast .warning-text{font-size:11px;line-height:1.4;color:#f1f5f9;font-weight:500}.btn-dismiss-warning{background:#f59e0b33;border:1px solid rgba(245,158,11,.5);color:#f59e0b;font-size:11px;font-weight:700;padding:6px 12px;border-radius:10px;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:all .2s ease}.btn-dismiss-warning:active{background:#f59e0b66;transform:scale(.95)}.mobile-tool-action-bar{position:fixed;bottom:calc(68px + env(safe-area-inset-bottom,0px));left:12px;right:12px;z-index:940;display:none;align-items:center;justify-content:space-between;gap:8px;background:var(--header-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1.5px solid rgba(56,189,248,.4);border-radius:20px;padding:8px 10px;box-shadow:0 10px 30px #00000059}.mobile-tool-action-bar[hidden]{display:none!important}.mobile-tool-action-bar.is-visible:not([hidden]){display:flex}.btn-mobile-action-left,.btn-mobile-action-right{min-height:40px}.btn-mobile-action-left{display:flex;align-items:center;gap:6px;background:#1e293bd9;border:1px solid rgba(255,255,255,.15);color:#f8fafc;font-size:11px;font-weight:700;padding:6px 12px;border-radius:14px;cursor:pointer;touch-action:manipulation}.btn-mobile-action-left:active{background:#00f0ff33;border-color:#00f0ff;transform:scale(.95)}.mobile-tool-active-title{font-size:11px;font-weight:700;color:#38bdf8;text-transform:uppercase;letter-spacing:.5px}.btn-mobile-action-right{display:flex;align-items:center;gap:6px;background:linear-gradient(135deg,#10b981,#059669);border:1px solid #34d399;color:#fff;font-size:11px;font-weight:700;padding:6px 14px;border-radius:14px;cursor:pointer;touch-action:manipulation;box-shadow:0 4px 12px #10b98159}.btn-mobile-action-right:active{transform:scale(.95);background:linear-gradient(135deg,#059669,#047857)}.mobile-params-modal-card{max-width:360px;width:90%}.mobile-params-footer{display:flex;gap:8px}.mobile-params-footer .btn{flex:1}.mobile-params-fields{display:flex;flex-direction:column;gap:8px}.mobile-params-fields label{font-size:12px;font-weight:600;color:var(--text-muted)}.btn-mobile-action-left.is-absent{visibility:hidden;pointer-events:none}@media (orientation: landscape) and (pointer: coarse),(orientation: landscape) and (max-height: 500px){.app-container{flex-direction:column!important;height:100dvh!important}.app-header{height:48px;min-height:48px}.mobile-tool-action-bar{bottom:calc(60px + env(safe-area-inset-bottom,0px))!important}.sidebar-toggle-tab,#map-compass-widget,.sidebar-tools-dock,.floating-toolbar,.floating-view-tools,.floating-params-container{display:none!important}.canvas-left-dock{display:contents}.mobile-bottom-dock{display:flex}.mobile-dock-btn{min-height:44px}.sidebar-panel{max-height:min(86dvh,100%)!important}}.adsense-label{display:block;font-size:9px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--text-muted);opacity:.7;margin-bottom:6px;text-align:center;user-select:none}.adsense-left-sidebar{position:relative;width:180px;min-width:180px;height:100%;background-color:var(--glass-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-right:none;border-left:1px solid var(--border-color);display:flex;flex-direction:column;align-items:center;padding:12px 6px;box-sizing:border-box;z-index:10;overflow:hidden;box-shadow:-4px 0 16px #0000001a;flex-shrink:0;margin-left:auto}.adsense-mobile-wrapper{display:none;width:100%;margin-top:12px;padding:10px;background:var(--input-bg);border:1px solid var(--border-color);border-radius:12px;box-sizing:border-box;text-align:center}@media (max-width: 1024px){.adsense-left-sidebar{display:none!important}.adsense-mobile-wrapper{display:block}.canvas-wrapper{left:0!important;right:0!important;width:100%!important}}html[data-theme=light] .adsense-left-sidebar{background-color:#ffffffe6;border-left-color:#cbd5e1;border-right:none;box-shadow:-4px 0 12px #0000000a}html[data-theme=light] .adsense-mobile-wrapper{background-color:#f1f5f9;border-color:#cbd5e1}.sublote-handoff-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%) translateY(12px);z-index:10000;max-width:min(420px,92vw);padding:12px 18px;border-radius:var(--radius-pill);background:var(--glass-bg);backdrop-filter:blur(var(--blur-lg));border:1px solid var(--accent);color:var(--text-main);font-size:13px;font-weight:600;box-shadow:0 8px 24px #10b98140;opacity:0;pointer-events:none;transition:opacity .25s ease,transform .25s var(--ease-spring)}.sublote-handoff-toast.visible{opacity:1;transform:translate(-50%) translateY(0)}#sublote-print-output{display:none}html.sublote-print-mode #sublote-print-output{display:block}@media print{html.sublote-print-mode body>*:not(#sublote-print-output){display:none!important}html.sublote-print-mode #sublote-print-output{display:block!important;position:fixed;inset:0;margin:0;padding:0;width:100%;height:100%;background:#fff}html.sublote-print-mode #sublote-print-output img{width:100%;height:auto;max-height:100vh;object-fit:contain;page-break-inside:avoid}}.account-modal-card{width:520px;max-width:94vw;max-height:90vh}.account-modal-body{overflow-y:auto;max-height:calc(90vh - 120px)}.account-tab-nav{display:flex;gap:0;border-bottom:1px solid var(--border-color);padding:0 16px}.account-tab-btn{flex:1;padding:10px 12px;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-muted);font-size:13px;font-weight:600;cursor:pointer}.account-tab-btn.active{color:var(--accent-cyan, #38bdf8);border-bottom-color:var(--accent-cyan, #38bdf8)}.account-label{display:block;font-size:11px;font-weight:600;color:var(--text-muted);margin:10px 0 4px}.account-input{width:100%}.account-submit-btn{width:100%;margin-top:14px}.account-message{font-size:12px;padding:8px 10px;border-radius:6px;margin-top:10px}.account-message-success{background:#22c55e26;color:#4ade80;border:1px solid rgba(34,197,94,.3)}.account-message-error{background:#ef44441f;color:#f87171;border:1px solid rgba(239,68,68,.3)}.account-hint{font-size:11px;color:var(--text-muted);margin:6px 0 0;line-height:1.5}.account-avatar-row{display:flex;align-items:center;gap:12px;margin-bottom:8px}.account-avatar-preview{width:56px;height:56px;border-radius:50%;object-fit:cover;border:2px solid var(--border-color)}.account-avatar-upload{cursor:pointer;font-size:12px}.account-profile-actions{display:flex;gap:8px;margin-top:14px}.account-profile-actions .btn{flex:1}.account-inline-row{display:flex;gap:8px}.account-inline-row .account-input{flex:1}.account-tools-fieldset{border:1px solid var(--border-color);border-radius:8px;padding:10px 12px;margin-top:10px}.account-checkbox{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-main);margin:6px 0;cursor:pointer}.advertiser-subscription-status{background:#0003;border:1px solid var(--border-color);border-radius:8px;padding:12px;margin-bottom:8px;font-size:12px}.advertiser-status-active{color:#4ade80;font-weight:600}.advertiser-card-hint{display:block;font-weight:400;color:var(--text-muted);margin-top:4px}.adv-avatar-img{width:44px;height:44px;border-radius:50%;object-fit:cover}#advertiser-card-brick-container{min-height:200px}
