:root{--color-primary:#0d9488;--color-primary-hover:#14b8a6;--color-primary-dim:#0d94881f;--color-primary-glow:0 0 16px #0d948840;--color-success:#00cc6a;--color-success-dim:#00cc6a1a;--color-danger:#ef4444;--color-danger-dim:#ef44441a;--color-warning:#f59e0b;--color-warning-dim:#f59e0b1a;--color-bg-base:#080808;--color-bg-app:#0c0c0c;--color-bg-panel:#111;--color-bg-card:#1a1a1a;--color-bg-elevated:#222;--color-bg-subtle:#ffffff0a;--color-bg-input:#0000004d;--color-bg-overlay:#0009;--color-bg-modal:#151515;--color-text:#fff;--color-text-secondary:#888;--color-text-dim:#666;--color-text-disabled:#333;--color-border:#222;--color-border-hover:#333;--color-border-active:#0d948866;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"SF Mono", "Cascadia Code", "Fira Code", "Consolas", monospace;--text-h1:28px;--text-h2:18px;--text-body:14px;--text-small:13px;--text-label:11px;--text-xs:10px;--weight-bold:700;--weight-semibold:600;--weight-medium:500;--weight-normal:400;--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:16px;--space-xl:20px;--space-2xl:28px;--space-3xl:32px;--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--shadow-sm:none;--shadow-md:none;--shadow-lg:none;--shadow-modal:0 20px 60px #0006;--transition-speed:.4s;--transition-easing:cubic-bezier(.4, 0, .2, 1);--transition:.4s cubic-bezier(.4, 0, .2, 1);--transition-fast:.15s ease;--transition-normal:.2s ease;--sidebar-width:56px;--sidebar-button-size:48px;--sidebar-gap:8px;--minimap-width:350px;--minimap-height:280px;--minimap-tab-width:50px;--minimap-tab-height:120px;--minimap-width-mobile:200px;--minimap-height-mobile:160px;--breakpoint-mobile:768px;--control-size:44px;--control-size-sm:36px;--z-sidebar:1000;--z-map-controls:3000;--z-geoman:3100;--z-modal:4000;--z-tooltip:99999;--color-bg-panel-hover:#1a1a1af2;--blur-panel:blur(16px) saturate(180%);--shadow-panel:0 8px 32px #0006;--color-primary-alpha:#0d948826;--bottom-nav-height:80px;--color-bg-hover:#ffffff0d;--color-bg-glass:#0c0c0cf5;--color-bg-status:#080808bf;--color-hover-overlay:#ffffff0d;--color-hover-overlay-strong:#ffffff14;--color-text-bright:#fff;--color-text-muted:#666;--color-text-faint:#5a5a5a;--color-text-on-primary:#fff;--color-border-subtle:#ffffff0f;--color-border-glass:#ffffff1a;--color-scrollbar:#ffffff1a;--color-scrollbar-hover:#fff3;--color-accent:#00d2ff;--color-accent-dim:#00d2ff1f;--color-accent-border:#00d2ff4d;--color-icon-folder:#f5c542;--color-icon-image:#5ba8d9;--color-icon-lidar:#00d2ff;--color-icon-pano:#34d399;--color-success-text:#4ade80;--color-danger-text:#f87171;--color-badge-owner:#facc15;--color-badge-editor:#fa0;--color-badge-viewer:#94a3b8;--color-badge-pending:#fb923c;--color-dimension-2d:#00b4ff;--color-dimension-3d:#a03cff;--color-bg-overlay-strong:#000000b3;--color-bg-overlay-light:#0000004d;--color-primary-border:#0d948859;--color-danger-bg:#ef444433;--color-danger-border:#ef44444d;--color-status-pending:#f59e0b;--color-status-processing:#3b82f6;--color-status-review:#f97316;--color-status-completed:#10b981;--color-status-failed:#ef4444;--color-status-pending-dim:#f59e0b1f;--color-status-processing-dim:#3b82f61f;--color-status-review-dim:#f973161f;--color-status-completed-dim:#10b9811f;--color-status-failed-dim:#ef44441f;--color-mebis-cemetery:#fbbf24;--color-mebis-section:#f59e0b;--color-mebis-parcel:#a855f7;--color-mebis-grave-empty:#22c55e;--color-mebis-grave-filled:#ef4444;--color-mebis-edit-highlight:#00e5ff;--color-mebis-selection:#8b5cf6;--color-mebis-selection-dim:#8b5cf633;--color-mebis-selection-border:#8b5cf69e;--color-mebis-label-on-bright:var(--color-bg-base);--color-mebis-label-on-dark:var(--color-text-bright);--color-mebis-preset-1:#0ff;--color-mebis-preset-2:red;--color-mebis-preset-3:#0f0;--color-mebis-preset-4:#ff0;--color-mebis-preset-5:#f60;--color-mebis-preset-6:#f0f;--color-mebis-preset-7:#08f;--color-mebis-preset-8:#f0f0f0;--color-mebis-preset-9:#0f8;--color-mebis-preset-10:#f36;--color-mebis-preset-11:#84f;--color-mebis-preset-12:gold;--color-badge-owner-dim:#facc151f;--color-badge-owner-border:#facc1540;--color-badge-editor-dim:#ffaa001f;--color-badge-editor-border:#ffaa0040;--color-badge-viewer-dim:#94a3b81f;--color-badge-viewer-border:#94a3b840}[data-theme=light]{--color-primary:#0f766e;--color-primary-hover:#0d9488;--color-primary-dim:#0f766e14;--color-primary-glow:0 0 16px #0f766e26;--color-success:#16a34a;--color-success-dim:#16a34a14;--color-danger:#dc2626;--color-danger-dim:#dc262614;--color-warning:#d97706;--color-warning-dim:#d9770614;--color-bg-base:#f0f0f0;--color-bg-app:#f5f5f5;--color-bg-panel:#fff;--color-bg-card:#fff;--color-bg-elevated:#f9f9f9;--color-bg-subtle:#0000000a;--color-bg-input:#f9f9f9;--color-bg-overlay:#0000004d;--color-bg-modal:#fff;--color-text:#1a1a1a;--color-text-secondary:#666;--color-text-dim:#666;--color-text-disabled:#bbb;--color-border:#e0e0e0;--color-border-hover:#ccc;--color-border-active:#0f766e66;--shadow-modal:0 20px 60px #00000026;--color-bg-panel-hover:#f9f9f9f2;--shadow-panel:0 8px 32px #0000001a;--color-primary-alpha:#0f766e1f;--color-bg-hover:#00000008;--color-bg-glass:#fffffff5;--color-bg-status:#f0f0f0d9;--color-hover-overlay:#0000000a;--color-hover-overlay-strong:#00000012;--color-text-bright:#1a1a1a;--color-text-muted:#6b6b6b;--color-text-faint:#6b6b6b;--color-text-on-primary:#fff;--color-border-subtle:#0000000d;--color-border-glass:#0000001a;--color-scrollbar:#0000001a;--color-scrollbar-hover:#0003;--color-accent:#0891b2;--color-accent-dim:#0891b21a;--color-accent-border:#0891b24d;--color-icon-folder:#b8860b;--color-icon-image:#2563eb;--color-icon-lidar:#0891b2;--color-icon-pano:#059669;--color-success-text:#15803d;--color-danger-text:#dc2626;--color-badge-owner:#a16207;--color-badge-editor:#b45309;--color-badge-viewer:#475569;--color-badge-pending:#c2410c;--color-dimension-2d:#0284c7;--color-dimension-3d:#7c3aed;--color-status-pending:#d97706;--color-status-processing:#2563eb;--color-status-review:#ea580c;--color-status-completed:#059669;--color-status-failed:#dc2626;--color-status-pending-dim:#d9770614;--color-status-processing-dim:#2563eb14;--color-status-review-dim:#ea580c14;--color-status-completed-dim:#05966914;--color-status-failed-dim:#dc262614;--color-bg-overlay-strong:#00000080;--color-bg-overlay-light:#00000026;--color-primary-border:#0f766e59;--color-danger-bg:#dc26261f;--color-danger-border:#dc262640;--color-badge-owner-dim:#a162071f;--color-badge-owner-border:#a1620740;--color-badge-editor-dim:#b453091f;--color-badge-editor-border:#b4530940;--color-badge-viewer-dim:#4755691f;--color-badge-viewer-border:#47556940}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--color-primary:#0f766e;--color-primary-hover:#0d9488;--color-primary-dim:#0f766e14;--color-primary-glow:0 0 16px #0f766e26;--color-success:#16a34a;--color-success-dim:#16a34a14;--color-danger:#dc2626;--color-danger-dim:#dc262614;--color-warning:#d97706;--color-warning-dim:#d9770614;--color-bg-base:#f0f0f0;--color-bg-app:#f5f5f5;--color-bg-panel:#fff;--color-bg-card:#fff;--color-bg-elevated:#f9f9f9;--color-bg-subtle:#0000000a;--color-bg-input:#f9f9f9;--color-bg-overlay:#0000004d;--color-bg-modal:#fff;--color-text:#1a1a1a;--color-text-secondary:#666;--color-text-dim:#666;--color-text-disabled:#bbb;--color-border:#e0e0e0;--color-border-hover:#ccc;--color-border-active:#0f766e66;--shadow-modal:0 20px 60px #00000026;--color-bg-panel-hover:#f9f9f9f2;--shadow-panel:0 8px 32px #0000001a;--color-primary-alpha:#0f766e1f;--color-bg-hover:#00000008;--color-bg-glass:#fffffff5;--color-bg-status:#f0f0f0d9;--color-hover-overlay:#0000000a;--color-hover-overlay-strong:#00000012;--color-text-bright:#1a1a1a;--color-text-muted:#6b6b6b;--color-text-faint:#6b6b6b;--color-text-on-primary:#fff;--color-border-subtle:#0000000d;--color-border-glass:#0000001a;--color-scrollbar:#0000001a;--color-scrollbar-hover:#0003;--color-accent:#0891b2;--color-accent-dim:#0891b21a;--color-accent-border:#0891b24d;--color-icon-folder:#b8860b;--color-icon-image:#2563eb;--color-icon-lidar:#0891b2;--color-icon-pano:#059669;--color-success-text:#15803d;--color-danger-text:#dc2626;--color-badge-owner:#a16207;--color-badge-editor:#b45309;--color-badge-viewer:#475569;--color-badge-pending:#c2410c;--color-dimension-2d:#0284c7;--color-dimension-3d:#7c3aed;--color-bg-overlay-strong:#00000080;--color-bg-overlay-light:#00000026;--color-primary-border:#0f766e59;--color-danger-bg:#dc26261f;--color-danger-border:#dc262640;--color-badge-owner-dim:#a162071f;--color-badge-owner-border:#a1620740;--color-badge-editor-dim:#b453091f;--color-badge-editor-border:#b4530940;--color-badge-viewer-dim:#4755691f;--color-badge-viewer-border:#47556940}}button:active:not(:disabled),.btn:active:not(:disabled),[role=button]:active:not(:disabled),input[type=submit]:active:not(:disabled),input[type=button]:active:not(:disabled){transition:transform .1s cubic-bezier(.4,0,.2,1);transform:scale(.96)}button:hover:not(:disabled),.btn:hover:not(:disabled),[role=button]:hover:not(:disabled),input[type=submit]:hover:not(:disabled),input[type=button]:hover:not(:disabled){transition:transform var(--transition-fast);transform:translateY(-1px)}button:focus-visible,.btn:focus-visible,[role=button]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;transition:outline-offset var(--transition-fast)}@keyframes fadeInSlide{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.panel-enter,.modal-enter,[data-animate=panel]{animation:.2s ease-out forwards fadeInSlide}@keyframes fadeOutSlide{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-8px)}}.panel-exit,.modal-exit{animation:.15s ease-in forwards fadeOutSlide}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.skeleton,.loading-skeleton{background:var(--color-bg-elevated);border-radius:var(--radius-sm);animation:1.5s ease-in-out infinite pulse}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.icon-spin,.loading-spinner{will-change:transform;animation:1s linear infinite spin}@keyframes ripple{0%{opacity:.5;transform:scale(0)}to{opacity:0;transform:scale(2)}}.ripple{position:relative;overflow:hidden}.ripple:after{content:"";pointer-events:none;background:#ffffff4d;border-radius:50%;width:100%;height:100%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(0)}.ripple:active:after{animation:.6s ease-out ripple}a:not(.btn):hover{transition:text-decoration-thickness var(--transition-fast);text-decoration-thickness:2px}.icon-interactive:hover{transition:transform var(--transition-fast);transform:rotate(5deg)}input[type=checkbox],input[type=radio]{transition:all var(--transition-fast)}input[type=checkbox]:checked,input[type=radio]:checked{transform:scale(1.05)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (hover:none){button:hover:not(:disabled),.btn:hover:not(:disabled),[role=button]:hover:not(:disabled){transform:none}}button,.btn,.panel-enter,.modal-enter,.skeleton,.icon-spin{will-change:transform;backface-visibility:hidden;-webkit-font-smoothing:antialiased}.panel-enter{animation:.2s ease-out forwards fadeInSlide}.panel-enter.animation-complete{will-change:auto}
