:root{--color-primary: #2ECC71;--color-primary-dark: #27AE60;--color-primary-light: #58D68D;--color-anchor: #0F3D3E;--color-signal: #C8F169;--color-surface: #F2F7F6;--color-surface-dark: #E8EDEC;--color-surface-light: #FFFFFF;--color-base: #121212;--color-base-muted: #5A6B6C;--color-base-light: #8A9A9B;--color-error: #E74C3C;--color-warning: #F39C12;--color-success: #2ECC71;--color-info: #3498DB;--shadow-neu-outer: 6px 6px 12px rgba(15, 61, 62, .08), -6px -6px 12px rgba(255, 255, 255, .9);--shadow-neu-outer-sm: 3px 3px 6px rgba(15, 61, 62, .06), -3px -3px 6px rgba(255, 255, 255, .8);--shadow-neu-inner: inset 2px 2px 4px rgba(15, 61, 62, .06), inset -2px -2px 4px rgba(255, 255, 255, .8);--shadow-xs: 0 1px 2px rgba(15, 61, 62, .05);--shadow-sm: 0 1px 3px rgba(15, 61, 62, .1);--shadow-md: 0 2px 4px rgba(15, 61, 62, .1);--shadow-lg: 0 4px 6px rgba(15, 61, 62, .1);--shadow-xl: 0 8px 16px rgba(15, 61, 62, .15);--shadow-2xl: 0 12px 24px rgba(15, 61, 62, .2);--shadow-elevation-1: 0 2px 8px rgba(15, 61, 62, .1);--shadow-elevation-2: 0 4px 16px rgba(15, 61, 62, .15);--shadow-elevation-3: 0 8px 32px rgba(15, 61, 62, .2);--shadow-hover-soft: 0 4px 20px rgba(15, 61, 62, .06);--shadow-hover: 0 4px 12px rgba(15, 61, 62, .3);--shadow-active: 0 2px 8px rgba(15, 61, 62, .2);--shadow-modal: 0 20px 60px rgba(0, 0, 0, .3);--shadow-dropdown: 0 8px 30px rgba(15, 61, 62, .1);--shadow-focus: 0 0 0 3px rgba(var(--color-primary-rgb), .15);--shadow-focus-subtle: 0 0 0 3px rgba(var(--color-primary-rgb), .1);--shadow-focus-strong: 0 0 0 3px rgba(var(--color-primary-rgb), .2);--shadow-focus-success: 0 0 0 3px rgba(var(--color-success-rgb), .15);--shadow-focus-error: 0 0 0 3px rgba(var(--color-error-rgb), .15);--shadow-focus-warning: 0 0 0 3px rgba(var(--color-warning-rgb), .15);--shadow-success: 0 2px 8px rgba(46, 204, 113, .3);--shadow-success-strong: 0 4px 12px rgba(46, 204, 113, .4);--font-primary: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "SF Mono", "Monaco", "Consolas", monospace;--text-2xs: 9px;--text-xs: 10px;--text-xs-plus: 11px;--text-sm: 12px;--text-sm-plus: 13px;--text-base: 14px;--text-lg: 16px;--text-xl: 18px;--text-xl-plus: 20px;--text-2xl: 24px;--text-3xl: 28px;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--space-2xs: 2px;--space-xs: 4px;--space-xs-plus: 6px;--space-sm: 8px;--space-sm-plus: 10px;--space-sm-lg: 12px;--space-md: 16px;--space-md-plus: 20px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--space-3xl: 64px;--radius-2xs: 2px;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--radius-2xl: 24px;--radius-full: 9999px;--radius-3: 3px;--radius-8: 8px;--radius-12: 12px;--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .35s ease;--top-toolbar-height: 48px;--sub-toolbar-height: 44px;--header-height: calc(var(--top-toolbar-height) + var(--sub-toolbar-height));--kpi-bar-height: 56px;--sidebar-width: 320px;--nav-sidebar-width: 200px;--nav-sidebar-collapsed-width: 48px;--breakpoint-xs: 480px;--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--breakpoint-2xl: 1536px;--color-error-light: #FEE2E2;--color-error-dark: #DC2626;--color-warning-light: #FEF3C7;--color-warning-dark: #D97706;--color-success-light: #D1FAE5;--color-success-dark: #059669;--color-info-light: #DBEAFE;--color-info-dark: #1E40AF;--color-precip: #3B82F6;--color-precip-light: #EFF6FF;--color-precip-bg: #DBEAFE;--color-temp-hot: #DC2626;--color-temp-warm: #F59E0B;--color-temp-cool: #3B82F6;--color-wind: #7C3AED;--color-wind-light: #F3E8FF;--color-sand: #4A90D9;--color-gravel: #7B68EE;--color-building-stone: #20B2AA;--color-cement: #708090;--color-limestone: #DEB887;--color-asphalt: #2F4F4F;--color-other: #969696;--color-blue: #3B82F6;--color-blue-dark: #1D4ED8;--color-purple: #7C3AED;--color-purple-dark: #7D3C98;--color-teal: #0D9488;--color-orange: #FF8C00;--color-orange-dark: #BA4A00;--color-orange-darker: #A04000;--color-yellow: #F1C40F;--color-pink: #EC4899;--color-indigo: #6366F1;--color-slate-50: #F8FAFC;--color-slate-100: #F1F5F9;--color-slate-200: #E2E8F0;--color-slate-300: #CBD5E1;--color-slate-400: #94A3B8;--color-slate-500: #64748B;--color-slate-600: #475569;--color-slate-700: #334155;--color-slate-800: #1E293B;--color-slate-900: #0F172A;--color-amber-50: #FFFBEB;--color-amber-100: #FEF3C7;--color-amber-200: #FDE68A;--color-amber-300: #FCD34D;--color-amber-400: #FBBF24;--color-amber-500: #F59E0B;--color-amber-600: #D97706;--color-amber-700: #B45309;--color-amber-800: #92400E;--color-amber-900: #78350F;--color-green-50: #F0FDF4;--color-green-100: #DCFCE7;--color-green-200: #BBF7D0;--color-green-300: #86EFAC;--color-green-400: #4ADE80;--color-green-500: #22C55E;--color-green-600: #16A34A;--color-green-700: #15803D;--color-green-800: #166534;--color-green-900: #14532D;--color-red-50: #FEF2F2;--color-red-100: #FEE2E2;--color-red-200: #FECACA;--color-red-300: #FCA5A5;--color-red-400: #F87171;--color-red-500: #EF4444;--color-red-600: #DC2626;--color-red-700: #B91C1C;--color-red-800: #991B1B;--color-red-900: #7F1D1D;--color-bg-primary: var(--color-surface-light);--color-bg-secondary: var(--color-surface);--color-bg-muted: var(--color-slate-50);--color-bg-subtle: var(--color-slate-100);--color-text-primary: var(--color-base);--color-text-secondary: var(--color-base-muted);--color-text-muted: var(--color-base-light);--color-text-tertiary: var(--color-slate-400);--color-text-label: var(--color-slate-500);--color-text-body: var(--color-slate-700);--color-border: var(--color-surface-dark);--color-border-light: var(--color-slate-200);--color-border-input: var(--color-slate-300);--color-anchor-tint: #F0F9F9;--color-white: #FFFFFF;--color-black: #000000;--color-transparent: transparent;--color-primary-rgb: 46, 204, 113;--color-anchor-rgb: 15, 61, 62;--color-error-rgb: 231, 76, 60;--color-warning-rgb: 243, 156, 18;--color-success-rgb: 46, 204, 113;--color-info-rgb: 52, 152, 219;--color-white-rgb: 255, 255, 255;--color-black-rgb: 0, 0, 0;--color-base-rgb: 18, 18, 18;--color-surface-rgb: 242, 247, 246;--color-slate-800-rgb: 30, 41, 59;--color-blue-rgb: 59, 130, 246;--color-slate-100-rgb: 241, 245, 249;--color-slate-200-rgb: 226, 232, 240;--color-slate-500-rgb: 100, 116, 139;--color-slate-600-rgb: 71, 85, 105;--color-slate-900-rgb: 15, 23, 42;--color-sand-rgb: 74, 144, 217;--color-gravel-rgb: 123, 104, 238;--color-building-stone-rgb: 32, 178, 170;--color-cement-rgb: 112, 128, 144;--color-limestone-rgb: 222, 184, 135;--color-asphalt-rgb: 47, 79, 79;--color-purple-rgb: 124, 58, 237;--color-orange-rgb: 255, 140, 0;--color-signal-rgb: 200, 241, 105;--color-slate-400-rgb: 148, 163, 184;--color-amber-100-rgb: 254, 243, 199;--color-amber-400-rgb: 251, 191, 36;--color-amber-500-rgb: 245, 158, 11;--color-amber-600-rgb: 217, 119, 6;--color-amber-900-rgb: 120, 53, 15;--color-green-100-rgb: 220, 252, 231;--color-green-600-rgb: 22, 163, 74;--color-green-700-rgb: 21, 128, 61;--color-red-100-rgb: 254, 226, 226;--color-red-600-rgb: 220, 38, 38;--color-red-700-rgb: 185, 28, 28;--color-red-500-rgb: 239, 68, 68;--color-info-dark-rgb: 30, 64, 175;--color-orange-dark-rgb: 186, 74, 0;--color-orange-darker-rgb: 160, 64, 0;--color-orange-light-rgb: 230, 126, 34;--color-orange-medium-rgb: 211, 84, 0;--color-red-dark-rgb: 192, 57, 43;--color-slate-rgb: 149, 165, 166;--z-base: 1;--z-raised: 5;--z-controls: 10;--z-controls-raised: 11;--z-header: 15;--z-header-raised: 20;--z-drawer: 50;--z-sidebar: 70;--z-dropdown: 100;--z-nav: 105;--z-toolbar: 110;--z-sticky: 200;--z-fixed: 300;--z-modal-backdrop: 400;--z-modal: 500;--z-popover: 600;--z-tooltip: 700;--z-notification: 800;--z-overlay: 1000;--z-modal-high: 1100;--z-critical: 2000;--z-fullscreen-low: 9000;--z-debug: 998;--z-fullscreen: 9999;--z-measure: 10000;--z-alert: 10001;--z-skip-link: 100000;--z-top: 100001;--chip-font-size: 11px;--chip-letter-spacing: .04em;--chip-font-weight: 600;--chip-cement-plant-bg: #DDD6FE;--chip-cement-plant-text: #5B21B6;--chip-cementitious-terminal-bg: #FBCFE8;--chip-cementitious-terminal-text: #9D174D;--chip-liquid-asphalt-terminal-bg: #A5F3FC;--chip-liquid-asphalt-terminal-text: #155E75;--chip-ready-mix-bg: #BFDBFE;--chip-ready-mix-text: #1E40AF;--chip-asphalt-bg: #CBD5E1;--chip-asphalt-text: #1E293B;--chip-volumetric-bg: #99F6E4;--chip-volumetric-text: #115E59;--chip-stone-bg: #FDE68A;--chip-stone-text: #92400E;--chip-sand-gravel-bg: #FECDD3;--chip-sand-gravel-text: #9F1239;--chip-yard-transload-bg: #FED7AA;--chip-yard-transload-text: #9A3412;--chip-block-cmu-paver-bg: #FDBA74;--chip-block-cmu-paver-text: #7C2D12;--chip-precast-pipe-bg: #F5D0FE;--chip-precast-pipe-text: #86198F;--chip-recycling-bg: #A7F3D0;--chip-recycling-text: #065F46;--chip-office-bg: #E2E8F0;--chip-office-text: #475569;--chip-other-bg: #E5E7EB;--chip-other-text: #4B5563;--chip-unknown-bg: #E5E7EB;--chip-unknown-text: #6B7280;--chip-cement-bg: var(--chip-cement-plant-bg);--chip-cement-text: var(--chip-cement-plant-text);--chip-block-bg: var(--chip-block-cmu-paver-bg);--chip-block-text: var(--chip-block-cmu-paver-text);--chip-active-bg: #A7F3D0;--chip-active-text: #065F46;--chip-inactive-bg: #E2E8F0;--chip-inactive-text: #475569;--chip-pending-bg: #FDE68A;--chip-pending-text: #92400E;--chip-error-bg: #FECACA;--chip-error-text: #991B1B;--chip-processing-bg: #BFDBFE;--chip-processing-text: #1E40AF;--chip-skipped-bg: #E2E8F0;--chip-skipped-text: #475569;--chip-intermittent-bg: #FDE68A;--chip-intermittent-text: #92400E;--chip-temporarily-idled-bg: #FECDD3;--chip-temporarily-idled-text: #9F1239;--chip-abandoned-bg: #CBD5E1;--chip-abandoned-text: #1E293B;--chip-nonproducing-bg: #CBD5E1;--chip-nonproducing-text: #1E293B;--chip-verified-bg: var(--chip-active-bg);--chip-verified-text: var(--chip-active-text);--chip-unverified-bg: var(--chip-inactive-bg);--chip-unverified-text: var(--chip-inactive-text);--chip-google-verified-bg: var(--chip-processing-bg);--chip-google-verified-text: var(--chip-processing-text);--chip-multi-source-bg: #DDD6FE;--chip-multi-source-text: #5B21B6;--chip-state-bg: #C7D2FE;--chip-state-text: #3730A3;--chip-subsidiary-bg: #DDD6FE;--chip-subsidiary-text: #5B21B6;--chip-source-bg: #CBD5E1;--chip-source-text: #1E293B;--chip-scraper-bg: var(--chip-source-bg);--chip-scraper-text: var(--chip-source-text);--chip-upload-bg: var(--chip-source-bg);--chip-upload-text: var(--chip-source-text);--chip-manual-bg: var(--chip-source-bg);--chip-manual-text: var(--chip-source-text);--chip-msha-bg: var(--chip-source-bg);--chip-msha-text: var(--chip-source-text);--chip-csv-import-bg: var(--chip-source-bg);--chip-csv-import-text: var(--chip-source-text);--chip-google-bg: var(--chip-source-bg);--chip-google-text: var(--chip-source-text);--chip-google-places-bg: var(--chip-source-bg);--chip-google-places-text: var(--chip-source-text);--chip-geocoded-bg: var(--chip-source-bg);--chip-geocoded-text: var(--chip-source-text);--chip-scraped-bg: var(--chip-source-bg);--chip-scraped-text: var(--chip-source-text);--chip-nrmca-bg: var(--chip-source-bg);--chip-nrmca-text: var(--chip-source-text);--chip-pca-bg: var(--chip-source-bg);--chip-pca-text: var(--chip-source-text);--chip-nssga-bg: var(--chip-source-bg);--chip-nssga-text: var(--chip-source-text);--chip-crh-bg: var(--chip-source-bg);--chip-crh-text: var(--chip-source-text);--chip-website-bg: var(--chip-source-bg);--chip-website-text: var(--chip-source-text);--chip-default-bg: #E5E7EB;--chip-default-text: #374151;--action-btn-scrape-bg: rgba(200, 241, 105, .35);--action-btn-scrape-bg-hover: rgba(200, 241, 105, .6);--action-btn-scrape-text: var(--color-anchor);--action-btn-enrich-bg: rgba(200, 241, 105, .35);--action-btn-enrich-bg-hover: rgba(200, 241, 105, .6);--action-btn-enrich-text: var(--color-anchor);--action-btn-refresh-bg: rgba(15, 61, 62, .08);--action-btn-refresh-bg-hover: rgba(15, 61, 62, .16);--action-btn-refresh-text: var(--color-anchor);--action-btn-history-bg: rgba(15, 61, 62, .06);--action-btn-history-bg-hover: rgba(15, 61, 62, .14);--action-btn-history-text: var(--color-anchor);--action-btn-move-bg: rgba(15, 61, 62, .06);--action-btn-move-bg-hover: rgba(15, 61, 62, .14);--action-btn-move-text: var(--color-anchor);--action-btn-delete-bg: #FEE2E2;--action-btn-delete-bg-hover: #FECACA;--action-btn-delete-text: #B91C1C;--action-btn-approve-bg: rgba(46, 204, 113, .18);--action-btn-approve-bg-hover: rgba(46, 204, 113, .32);--action-btn-approve-text: var(--color-success-dark, #047857);--action-btn-reject-bg: #FEE2E2;--action-btn-reject-bg-hover: #FECACA;--action-btn-reject-text: #B91C1C;--action-btn-disabled-opacity: .45;--company-name-letter-spacing: .02em}body{font-family:var(--font-primary);font-size:var(--text-base);font-weight:var(--font-normal);line-height:1.5;color:var(--color-base);background:var(--color-surface);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--nav-current-width: var(--nav-sidebar-width);--layers-current-width: var(--sidebar-width);--map-left-offset: calc(var(--nav-current-width) + var(--layers-current-width))}.app-container{display:flex;flex-direction:column;height:100vh;width:100vw;overflow:hidden;padding-top:var(--top-toolbar-height)}h1,h2,h3,h4,h5,h6{font-weight:var(--font-semibold);line-height:1.25;margin:0}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}h4{font-size:var(--text-lg)}h5{font-size:var(--text-base)}h6{font-size:var(--text-sm)}p{margin:0}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-dark)}.skip-link{position:absolute;top:-9999px;left:-9999px;width:1px;height:1px;overflow:hidden;background:var(--color-primary);color:var(--color-white);padding:var(--space-sm-lg) 24px;z-index:var(--z-skip-link);font-weight:var(--font-semibold);font-size:var(--text-sm);border-radius:0 0 4px;text-decoration:none;transition:none}.skip-link:focus{position:fixed;top:0;left:0;width:auto;height:auto;overflow:visible;outline:2px solid var(--color-primary-dark);outline-offset:2px}ul,ol{list-style:none}img{max-width:100%;height:auto;display:block}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none;background:none;padding:0}button:disabled{cursor:not-allowed;opacity:.5}input,textarea,select{font-family:inherit;font-size:inherit}input:focus,textarea:focus,select:focus{outline:none}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--color-surface-dark);border-radius:var(--radius-3)}::-webkit-scrollbar-thumb{background:var(--color-base-light);border-radius:var(--radius-3)}::-webkit-scrollbar-thumb:hover{background:var(--color-base-muted)}::selection{background:var(--color-primary);color:var(--color-white)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#loading-overlay{position:fixed;inset:0;background:rgba(var(--color-anchor-rgb),.9);display:flex;align-items:center;justify-content:center;z-index:var(--z-fullscreen);transition:opacity var(--transition-normal)}#loading-overlay.hidden{opacity:0;pointer-events:none}.loading-spinner{width:48px;height:48px;border:4px solid rgba(var(--color-white-rgb),.2);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes fadeInOut{0%{opacity:0;transform:translate(-50%) translateY(-10px)}15%{opacity:1;transform:translate(-50%) translateY(0)}85%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(-10px)}}.loading-text{color:var(--color-white);font-size:var(--text-lg);font-weight:var(--font-medium);margin-top:var(--space-md)}.touch-device{-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;--app-height: calc(var(--vh, 1vh) * 100)}.touch-device .list-view-table,.touch-device .popup-content,.touch-device input,.touch-device textarea{-webkit-user-select:text;user-select:text}.touch-active{opacity:.7;transform:scale(.97);transition:opacity .1s ease,transform .1s ease}.touch-device button,.touch-device .btn,.touch-device .tool-btn{min-height:44px;min-width:44px}.pull-refresh-indicator{display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease,transform .2s ease}.pull-refresh-indicator .spinner{width:24px;height:24px;border:3px solid var(--color-surface-dark);border-top-color:var(--color-primary);border-radius:50%}.pull-refresh-indicator.refreshing .spinner{animation:spin .8s linear infinite}@supports (padding: env(safe-area-inset-top)){.touch-device .app-container{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.touch-device .toolbar{padding-top:env(safe-area-inset-top)}.touch-device .sub-toolbar{margin-top:max(0px,calc(env(safe-area-inset-top) - 8px))}.touch-device .sidebar,.touch-device .filters-drawer{padding-bottom:env(safe-area-inset-bottom)}}.error-banner{position:fixed;top:0;left:0;right:0;background:var(--color-error, #dc2626);color:var(--color-white);padding:var(--space-sm-lg) 16px;z-index:var(--z-toast, 9000);animation:slideDown .3s ease;box-shadow:0 2px 8px rgba(var(--color-black-rgb),.2)}.error-banner.hiding{animation:slideUp .2s ease forwards}@keyframes slideDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideUp{0%{transform:translateY(0);opacity:1}to{transform:translateY(-100%);opacity:0}}.error-banner-content{display:flex;align-items:center;gap:var(--space-sm-lg);max-width:1200px;margin:0 auto}.error-banner-icon{width:24px;height:24px;flex-shrink:0}.error-banner-text{flex:1;display:flex;flex-direction:column;gap:var(--space-2xs)}.error-banner-text strong{font-weight:var(--font-semibold, 600);font-size:var(--text-sm, 14px)}.error-banner-text span{font-size:var(--text-sm, 13px);opacity:.9}.error-banner-retry{background:rgba(var(--color-white-rgb),.2);color:var(--color-white);border:1px solid rgba(var(--color-white-rgb),.3);padding:var(--space-xs-plus) 16px;border-radius:var(--radius-xs);font-size:var(--text-sm, 13px);font-weight:var(--font-medium, 500);cursor:pointer;transition:background .2s ease;white-space:nowrap}.error-banner-retry:hover{background:rgba(var(--color-white-rgb),.3)}.error-banner-close{background:transparent;border:none;color:var(--color-white);cursor:pointer;padding:var(--space-xs);border-radius:var(--radius-xs);display:flex;align-items:center;justify-content:center;opacity:.7;transition:opacity .2s ease}.error-banner-close:hover{opacity:1}.error-banner-close svg{width:20px;height:20px}@media(max-width:640px){.error-banner-content{flex-wrap:wrap}.error-banner-text{flex-basis:calc(100% - 80px)}.error-banner-retry{order:4;flex:1}}.keyboard-user *:focus{outline:2px solid var(--color-primary);outline-offset:2px}.keyboard-user *:focus:not(:focus-visible){outline:none}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}button:focus:not(:focus-visible),a:focus:not(:focus-visible),input:focus:not(:focus-visible),select:focus:not(:focus-visible){outline:none}.keyboard-user .btn-primary:focus,.keyboard-user [role=button]:focus{outline:3px solid var(--color-primary-dark);outline-offset:2px;box-shadow:0 0 0 4px rgba(var(--color-primary-rgb),.3)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media(prefers-contrast:high){:root{--color-primary: #009933;--color-base: #000000;--color-surface: #FFFFFF;--color-surface-dark: #E5E5E5}button,input,select,textarea{border:2px solid currentColor}}.sr-only-focusable:focus,.sr-only-focusable:active{position:static;width:auto;height:auto;padding:inherit;margin:inherit;overflow:visible;clip:auto;white-space:normal}[role=option]:focus,[role=menuitem]:focus,[role=listitem]:focus{background-color:var(--color-surface-dark);outline:none}button,a,[role=button]{min-height:24px;min-width:24px}[aria-disabled=true],[disabled]{opacity:.5;cursor:not-allowed;pointer-events:none}[aria-current=page],[aria-current=step],[aria-selected=true]{font-weight:var(--font-semibold)}[aria-busy=true]{cursor:wait}:root{--top-toolbar-height: 48px;--sub-toolbar-height: 44px;--header-height: calc(var(--top-toolbar-height) + var(--sub-toolbar-height));--kpi-bar-height: 56px;--sidebar-width: 320px;--nav-sidebar-width: 200px;--nav-sidebar-collapsed-width: 48px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden}body{font-family:var(--font-primary);font-size:var(--text-base);color:var(--color-base);background:var(--color-surface);-webkit-font-smoothing:antialiased;--nav-current-width: var(--nav-sidebar-width);--layers-current-width: var(--sidebar-width);--map-left-offset: calc(var(--nav-current-width) + var(--layers-current-width))}body.nav-collapsed{--nav-current-width: var(--nav-sidebar-collapsed-width)}body.layers-collapsed{--layers-current-width: 60px}.app-container{display:flex;flex-direction:column;height:100vh;padding-top:var(--top-toolbar-height)}#loading-overlay{position:fixed;inset:0;background:var(--color-surface);display:flex;align-items:center;justify-content:center;z-index:var(--z-fullscreen);transition:opacity .3s ease,visibility .3s ease}#loading-overlay.hidden{opacity:0;visibility:hidden}.loading-spinner{width:48px;height:48px;border:3px solid var(--color-surface-dark);border-top-color:var(--color-primary);border-radius:var(--radius-full);animation:spin 1s linear infinite}.loading-text{margin-top:var(--space-md);font-size:var(--text-base);color:var(--color-base-muted)}.sub-toolbar .search-input{background:var(--color-surface);border-color:var(--color-surface-dark);color:var(--color-base);height:32px}.sub-toolbar .search-input::placeholder{color:var(--color-base-muted)}.sub-toolbar .search-input:focus{background:var(--color-white);border-color:var(--color-primary)}.sub-toolbar .search-icon{color:var(--color-base-muted)}.sub-toolbar .search-clear{background:var(--color-surface-dark);color:var(--color-base-muted)}.search-results-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) 12px;background:var(--color-anchor);border-bottom:2px solid var(--color-primary)}.search-results-title{font-size:var(--text-xs);font-weight:600;color:rgba(var(--color-white-rgb),.8);text-transform:uppercase;letter-spacing:.05em}.search-results-count{font-size:var(--text-xs);font-weight:600;color:var(--color-signal);background:rgba(var(--color-signal-rgb),.1);padding:var(--space-2xs) 8px;border-radius:var(--radius-full)}.search-results-list{max-height:280px;overflow-y:auto;padding:var(--space-xs-plus)}.search-results-list::-webkit-scrollbar{width:4px}.search-results-list::-webkit-scrollbar-thumb{background:rgba(var(--color-anchor-rgb),.15);border-radius:var(--radius-2xs)}.search-result-item{display:flex;align-items:center;gap:var(--space-sm-plus);padding:var(--space-sm) 10px;cursor:pointer;transition:all .12s ease;border-radius:var(--radius-sm);margin-bottom:3px;position:relative}.search-result-item:last-child{margin-bottom:0}.search-result-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--color-primary);transform:scaleY(0);transition:transform .12s ease}.search-result-item:hover{background:rgba(var(--color-primary-rgb),.06);transform:translate(2px)}.search-result-item:hover:before{transform:scaleY(1)}.search-result-item:hover .search-result-icon{background:var(--color-primary);color:var(--color-white)}.search-result-text{flex:1;min-width:0;line-height:1.3}.search-result-primary{font-size:var(--text-sm-plus);font-weight:600;color:var(--color-base);word-break:break-word}.search-result-item:hover .search-result-primary{color:var(--color-anchor)}.search-result-secondary{font-size:var(--text-xs-plus);color:var(--color-base-muted);display:flex;align-items:center;gap:var(--space-xs-plus);margin-top:var(--space-2xs);flex-wrap:wrap}.search-result-type{font-size:var(--text-2xs);font-weight:700;text-transform:uppercase;letter-spacing:.02em;padding:var(--space-2xs) 6px;border-radius:var(--radius-full);background:rgba(var(--color-anchor-rgb),.08);color:var(--color-anchor);flex-shrink:0}.search-result-type.city,.search-result-type.place{background:rgba(var(--color-primary-rgb),.15);color:var(--color-green-700)}.search-result-type.address{background:rgba(var(--color-info-rgb),.15);color:var(--color-info-dark)}.search-result-type.neighborhood,.search-result-type.locality{background:rgba(var(--color-info-rgb),.12);color:var(--color-info)}.search-result-type.poi{background:rgba(var(--color-purple-rgb),.15);color:var(--color-purple-dark)}.search-result-type.region,.search-result-type.state,.search-result-type.province{background:rgba(var(--color-orange-light-rgb),.15);color:var(--color-orange-dark)}.search-result-type.county,.search-result-type.district{background:rgba(var(--color-orange-medium-rgb),.15);color:var(--color-orange-darker)}.search-result-type.country{background:rgba(var(--color-red-dark-rgb),.15);color:var(--color-red-700)}.search-result-type.postcode,.search-result-type.zip,.search-result-type.zcta,.search-result-type.fsa{background:rgba(var(--color-slate-rgb),.15);color:var(--color-slate-600)}.search-result-type.boundary,.search-result-type.metro,.search-result-type.micro,.search-result-type.csa,.search-result-type.cbsa,.search-result-type.metdiv,.search-result-type.cma,.search-result-type.ca{background:rgba(var(--color-blue-rgb),.15);color:var(--color-blue-dark)}.search-result-type.location,.search-result-type.site,.search-result-type.facility{background:rgba(var(--color-primary-rgb),.12);color:var(--color-green-700)}.search-result-arrow{width:14px;height:14px;display:flex;align-items:center;justify-content:center;color:var(--color-base-light);opacity:0;transform:translate(-4px);transition:all .12s ease;flex-shrink:0}.search-result-item:hover .search-result-arrow{opacity:1;transform:translate(0);color:var(--color-primary)}.search-no-results{display:flex;flex-direction:column;align-items:center;padding:var(--space-md) 12px;text-align:center}.search-no-results-icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--color-surface);border-radius:50%;color:var(--color-base-muted);margin-bottom:var(--space-xs-plus)}.search-no-results-icon svg{width:14px;height:14px}.search-no-results-text{font-size:var(--text-xs);color:var(--color-base-muted);font-weight:500}.search-no-results-hint{font-size:var(--text-2xs);color:var(--color-base-light);margin-top:var(--space-2xs)}.topbar-tool-panel{position:absolute;top:calc(100% + 8px);left:0;min-width:340px;background:var(--color-surface-light);border-radius:var(--radius-md);box-shadow:var(--shadow-elevation-3);z-index:var(--z-overlay);display:none;max-height:70vh;overflow-y:auto}.topbar-tool-panel.right-align{left:auto;right:0}.tool-panel-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm-lg) 16px;border-bottom:1px solid var(--color-surface-dark);background:var(--color-surface)}.tool-panel-title{font-size:var(--text-sm-plus);font-weight:600;color:var(--color-base);text-transform:uppercase;letter-spacing:.03em}.tool-panel-close{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--color-base-muted);cursor:pointer}.tool-row{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm)}.tool-input{flex:1;height:36px;padding:0 12px;background:var(--color-surface);border:1px solid var(--color-surface-dark);border-radius:var(--radius-sm);font-family:var(--font-primary);font-size:var(--text-sm-plus);color:var(--color-base)}.tool-btn{height:32px;padding:0 12px;background:var(--color-surface);border:1px solid var(--color-surface-dark);border-radius:var(--radius-sm);font-family:var(--font-primary);font-size:var(--text-sm);font-weight:500;color:var(--color-base);cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;gap:var(--space-xs)}.tool-btn:hover{background:var(--color-surface-dark)}.tool-btn.primary{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-white)}.tool-btn.active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-white)}.tool-slider{flex:1;height:6px;-webkit-appearance:none;appearance:none;background:var(--color-surface-dark);border-radius:var(--radius-full);cursor:pointer}.tool-slider::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;background:var(--color-primary);border-radius:50%;cursor:pointer}.tool-slider-value{width:50px;text-align:center;font-size:var(--text-sm);font-weight:600;color:var(--color-base)}.left-sidebar{position:fixed;top:var(--top-toolbar-height);left:var(--nav-current-width);width:var(--sidebar-width);bottom:0;background:var(--color-surface);border-right:1px solid var(--color-surface-dark);box-shadow:8px 0 32px rgba(var(--color-anchor-rgb),.1);z-index:var(--z-sidebar);display:flex;flex-direction:column;transition:left .25s ease,width .25s ease;overflow:hidden}.map-container{position:fixed;top:var(--header-height, 100px);left:var(--map-left-offset, 500px);right:0;bottom:0;transition:left .25s ease;z-index:var(--z-base)}.map-summary-tiles{position:absolute;top:10px;left:10px;right:60px;z-index:var(--z-header-raised);display:flex;justify-content:space-between;pointer-events:none}.basemap-control{position:absolute;top:144px;right:10px;z-index:var(--z-controls);width:36px;height:36px}.marker-control{position:absolute;top:190px;right:10px;z-index:var(--z-controls);width:36px;height:36px}.filter-control{position:absolute;top:236px;right:10px;z-index:var(--z-controls);width:36px;height:36px}.measure-control{position:absolute;top:282px;right:10px;z-index:var(--z-controls);width:36px;height:36px}.roads-control{position:absolute;top:328px;right:10px;z-index:var(--z-controls);width:36px;height:36px}.airports-control{position:absolute;top:374px;right:10px;z-index:var(--z-controls);width:36px;height:36px}.terrain-control{position:absolute;top:420px;right:10px;z-index:var(--z-dropdown);width:36px;height:36px}.railroad-control{position:absolute;top:466px;right:10px;z-index:var(--z-dropdown);width:36px;height:36px}.population-control{position:absolute;top:512px;right:10px;z-index:var(--z-dropdown);width:36px;height:36px}.other-control{position:absolute;top:558px;right:10px;z-index:var(--z-dropdown);width:36px;height:36px}.basemap-button,.marker-control-button,.filter-button,.measure-button,.roads-button,.airports-button,.terrain-button,.railroad-button,.population-button,.other-button{width:36px;height:36px;background:var(--color-surface-light);border:none;border-radius:var(--radius-md);box-shadow:var(--shadow-neu-outer);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.basemap-button:hover,.marker-control-button:hover,.filter-button:hover,.measure-button:hover,.roads-button:hover,.airports-button:hover,.terrain-button:hover,.railroad-button:hover,.population-button:hover,.other-button:hover{background:var(--color-surface)}.basemap-button.active,.marker-control-button.active,.filter-button.active,.measure-button.active,.roads-button.active,.airports-button.active,.terrain-button.active,.railroad-button.active,.population-button.active,.other-button.active{background:var(--color-primary)}.basemap-button svg,.marker-control-button svg,.filter-button svg,.measure-button svg,.roads-button svg,.airports-button svg,.terrain-button svg,.railroad-button svg,.population-button svg,.other-button svg{width:20px;height:20px;color:var(--color-base)}.basemap-button.active svg,.marker-control-button.active svg,.filter-button.active svg,.measure-button.active svg,.roads-button.active svg,.airports-button.active svg,.terrain-button.active svg,.railroad-button.active svg,.population-button.active svg,.other-button.active svg{color:var(--color-white)}.measure-options-panel,.roads-options-panel,.airports-options-panel,.terrain-options-panel,.railroad-options-panel,.population-options-panel,.other-options-panel{position:absolute;top:0;right:calc(100% + 8px);background:var(--color-surface-light);border-radius:var(--radius-md);box-shadow:var(--shadow-elevation-3);z-index:var(--z-controls-raised);min-width:260px;display:none;padding:var(--space-md);max-height:calc(100vh - 500px);overflow-y:auto}.measure-options-panel.visible,.roads-options-panel.visible,.airports-options-panel.visible,.terrain-options-panel.visible,.railroad-options-panel.visible,.population-options-panel.visible,.other-options-panel.visible{display:block;z-index:var(--z-overlay)}.terrain-options-panel .toggle-label,.roads-options-panel .toggle-label,.other-options-panel .toggle-label{width:100%}.terrain-options-panel .toggle-switch,.roads-options-panel .toggle-switch,.other-options-panel .toggle-switch{margin-left:auto;flex-shrink:0}#geologyClassifiedContainer,#geologyLabelsContainer{display:flex;align-items:center;justify-content:space-between;width:100%}#geologyClassifiedContainer .toggle-text,#geologyLabelsContainer .toggle-text{flex:1}#geologyClassifiedContainer .toggle-switch,#geologyLabelsContainer .toggle-switch{margin-left:auto;flex-shrink:0}#geologyCategoryToggles .toggle-label{padding:var(--space-xs) 0;gap:var(--space-xs-plus)}#geologyCategoryToggles .toggle-text{font-weight:500;font-size:var(--text-xs-plus)!important}#geologyCategoryToggles .toggle-switch.small{width:32px;height:18px}#geologyCategoryToggles .toggle-switch.small .toggle-slider:before{height:12px;width:12px;left:1px;bottom:1px}#geologyCategoryToggles .toggle-switch.small input:checked+.toggle-slider:before{transform:translate(14px)}.geology-rect-color{width:16px!important;height:16px!important;border:none;border-radius:var(--radius-3);padding:0;cursor:pointer;flex-shrink:0}.population-options-panel{top:auto!important;bottom:0;max-height:70vh!important}.population-options-panel .radio-label{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--text-sm);cursor:pointer}.population-options-panel .radio-label input[type=radio]{margin:0}.population-options-panel .mode-btn{cursor:pointer}.population-options-panel .mode-btn span{display:inline-block;transition:all .2s ease}.population-options-panel .mode-btn.active span{background:var(--color-primary)!important;color:#fff!important}.other-options-panel{top:auto!important;bottom:0;max-height:70vh!important}.legend-panel{position:absolute;top:135px;left:10px;background:var(--color-surface-light);border-radius:var(--radius-md);box-shadow:var(--shadow-neu-outer);padding:var(--space-sm-plus);z-index:var(--z-header);width:calc((100% - 70px) / 6);min-width:120px;max-width:280px;max-height:calc(100% - 50px);transition:none;resize:both;overflow:auto}.legend-color-picker{position:relative;width:16px;height:16px;cursor:pointer}.legend-count{font-size:var(--text-xs-plus);font-weight:600;color:var(--color-base-muted);min-width:30px;text-align:right}.filters-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--color-surface-dark)}.filters-title{font-size:var(--text-lg);font-weight:600;color:var(--color-base)}.filters-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--color-surface-light);border:none;border-radius:var(--radius-md);color:var(--color-base-muted);cursor:pointer;box-shadow:var(--shadow-neu-outer-sm)}.filters-close:hover{color:var(--color-base)}.filters-body{flex:1;overflow-y:auto;padding:var(--space-md)}.filter-group{margin-bottom:var(--space-md)}.filter-group.collapsed .filter-group-body{display:none}.filter-group-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-sm);padding:var(--space-sm);background:var(--color-surface-light);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast)}.filter-group-header:hover{background:var(--color-surface-dark)}.filter-group-title{font-size:var(--text-xs);font-weight:600;color:var(--color-base-muted);text-transform:uppercase;letter-spacing:.1em;flex:1}.filter-group-toggle{width:20px;height:20px;display:flex;align-items:center;justify-content:center;color:var(--color-base-muted);transition:transform .25s ease;margin-right:var(--space-sm)}.filter-group.collapsed .filter-group-toggle{transform:rotate(-90deg)}.filter-group-actions{display:flex;gap:var(--space-xs)}.filter-select-all{padding:var(--space-xs) 8px;background:var(--color-surface-light);border:1px solid var(--color-surface-dark);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:500;color:var(--color-base-muted);cursor:pointer;transition:all var(--transition-fast)}.filter-select-all:hover{color:var(--color-base);border-color:var(--color-primary)}.filter-card{background:var(--color-surface-light);border-radius:var(--radius-md);padding:var(--space-xs-plus);box-shadow:var(--shadow-neu-outer-sm)}.filters-footer{padding:var(--space-md) var(--space-lg);border-top:1px solid var(--color-surface-dark);display:flex;gap:var(--space-sm)}.filter-footer-btn{flex:1;height:40px;font-family:var(--font-primary);font-size:var(--text-base);font-weight:500;border-radius:var(--radius-md);cursor:pointer}.filter-footer-btn.secondary{background:var(--color-surface-light);border:1px solid var(--color-surface-dark);color:var(--color-base-muted);box-shadow:var(--shadow-neu-outer-sm)}.filter-footer-btn.secondary:hover{color:var(--color-base)}.filter-footer-btn.primary{background:var(--color-primary);border:none;color:var(--color-white);box-shadow:0 4px 12px rgba(var(--color-primary-rgb),.3)}.filter-footer-btn.primary:hover{background:var(--color-primary-dark)}.export-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-lg);padding-bottom:var(--space-md);border-bottom:2px solid var(--color-surface-dark)}.export-title{font-size:var(--text-xl);font-weight:600;color:var(--color-base)}.export-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--color-surface);border:none;border-radius:var(--radius-full);color:var(--color-base-muted);cursor:pointer}.export-close:hover{background:var(--color-surface-dark);color:var(--color-base)}.export-section{margin-bottom:var(--space-lg)}.export-section-title{font-size:var(--text-xs-plus);font-weight:600;color:var(--color-base-muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:var(--space-sm)}.export-input{width:100%;padding:var(--space-md);background:var(--color-surface);border:1px solid var(--color-surface-dark);border-radius:var(--radius-md);font-family:var(--font-primary);font-size:var(--text-base);color:var(--color-base)}.export-input:focus{outline:none;border-color:var(--color-primary)}.export-options{display:flex;gap:var(--space-sm)}.export-option{flex:1;padding:var(--space-md);background:var(--color-surface);border:2px solid var(--color-surface-dark);border-radius:var(--radius-md);cursor:pointer;text-align:center;transition:all var(--transition-fast)}.export-option:hover{border-color:var(--color-primary)}.export-option.selected{border-color:var(--color-primary);background:rgba(var(--color-primary-rgb),.1)}.export-option-label{font-size:var(--text-sm-plus);font-weight:600;color:var(--color-base)}.export-checkboxes{display:flex;flex-direction:column;gap:var(--space-sm)}.export-checkbox{display:flex;align-items:center;gap:var(--space-sm);cursor:pointer}.export-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer}.export-checkbox span{font-size:var(--text-sm-plus);color:var(--color-base)}.export-preview{width:100%;aspect-ratio:16/9;background:var(--color-surface);border-radius:var(--radius-md);margin-bottom:var(--space-md);display:flex;align-items:center;justify-content:center;color:var(--color-base-muted);overflow:hidden}.export-preview img{width:100%;height:100%;object-fit:contain}.export-preview-placeholder{text-align:center}.export-actions{display:flex;gap:var(--space-sm)}.export-btn{flex:1;height:44px;font-family:var(--font-primary);font-size:var(--text-base);font-weight:500;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.export-btn.secondary{background:var(--color-surface);border:1px solid var(--color-surface-dark);color:var(--color-base-muted)}.export-btn.secondary:hover{background:var(--color-surface-dark);color:var(--color-base)}.export-btn.primary{background:var(--color-primary);border:none;color:var(--color-white);box-shadow:0 4px 12px rgba(var(--color-primary-rgb),.3)}.export-btn.primary:hover{background:var(--color-primary-dark)}.export-btn:disabled{opacity:.5;cursor:not-allowed}.toggle-label.disabled{opacity:.5;cursor:not-allowed}.toggle-label.disabled .toggle-switch{pointer-events:none}.mapboxgl-marker{z-index:var(--z-controls)!important}.mapboxgl-popup,.maplibregl-popup{z-index:var(--z-dropdown)!important}.mapboxgl-ctrl-top-right,.maplibregl-ctrl-top-right{top:10px;right:10px;margin:0!important}.mapboxgl-ctrl-top-right .mapboxgl-ctrl,.maplibregl-ctrl-top-right .maplibregl-ctrl{margin:0!important}.custom-layers-list{max-height:200px;overflow-y:auto;margin:var(--space-sm) 12px}.custom-layers-empty{padding:var(--space-md);text-align:center;color:var(--color-base-muted);font-size:var(--text-xs-plus)}.custom-layer-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) 10px;background:var(--color-surface-dark);border-radius:var(--radius-sm);margin-bottom:var(--space-xs-plus);transition:all var(--transition-fast)}.custom-layer-item:hover{background:var(--color-surface)}.tool-section{margin-bottom:var(--space-md)}.tool-section:last-child{margin-bottom:0}.tool-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-sm-plus);font-size:var(--text-xs-plus);font-weight:600;color:var(--color-base-muted);text-transform:uppercase;letter-spacing:.05em}.tool-panel-footer{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm-lg) 16px;border-top:1px solid var(--color-surface-dark);background:var(--color-surface)}.tool-btn-primary{flex:1;height:36px;display:flex;align-items:center;justify-content:center;gap:var(--space-xs-plus);background:var(--color-primary);border:none;border-radius:var(--radius-sm);color:var(--color-white);font-family:var(--font-primary);font-size:var(--text-sm-plus);font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.tool-btn-primary:hover{background:var(--color-primary-dark)}.tool-btn-primary.full-width{width:100%}.tool-btn-secondary{flex:1;height:36px;display:flex;align-items:center;justify-content:center;gap:var(--space-xs-plus);background:var(--color-surface);border:1px solid var(--color-surface-dark);border-radius:var(--radius-sm);color:var(--color-base);font-family:var(--font-primary);font-size:var(--text-sm-plus);font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.tool-btn-secondary:hover{background:var(--color-surface-dark)}.tool-add-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-xs-plus);width:100%;height:36px;margin-top:var(--space-sm);background:transparent;border:1px dashed var(--color-surface-dark);border-radius:var(--radius-sm);color:var(--color-base-muted);font-family:var(--font-primary);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.tool-add-btn:hover{background:var(--color-surface);border-color:var(--color-primary);color:var(--color-primary)}.tool-add-btn:disabled{opacity:.5;cursor:not-allowed}.input-group{display:flex;align-items:center;gap:var(--space-xs)}.input-group input{width:80px;height:32px;padding:0 8px;background:var(--color-surface);border:1px solid var(--color-surface-dark);border-radius:var(--radius-sm);font-family:var(--font-primary);font-size:var(--text-sm-plus);color:var(--color-base);text-align:right}.input-group input:focus{outline:none;border-color:var(--color-primary)}.input-suffix{font-size:var(--text-sm);color:var(--color-base-muted)}.tool-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm-lg);margin-bottom:var(--space-sm-plus)}.tool-row:last-child{margin-bottom:0}.tool-row label{font-size:var(--text-sm);color:var(--color-base);font-weight:500}.tool-row select{height:32px;padding:0 8px;background:var(--color-surface);border:1px solid var(--color-surface-dark);border-radius:var(--radius-sm);font-family:var(--font-primary);font-size:var(--text-sm);color:var(--color-base);min-width:120px}.tool-row select:focus{outline:none;border-color:var(--color-primary)}.tool-row input[type=color]{width:32px;height:32px;padding:var(--space-2xs);border:1px solid var(--color-surface-dark);border-radius:var(--radius-sm);cursor:pointer}.tool-row input[type=range]{flex:1;height:6px;-webkit-appearance:none;appearance:none;background:var(--color-surface-dark);border-radius:var(--radius-full);cursor:pointer}.tool-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;background:var(--color-primary);border-radius:50%;cursor:pointer}.tool-toggle-group{display:flex;gap:var(--space-xs);background:var(--color-surface);border-radius:var(--radius-sm);padding:3px}.tool-toggle{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--space-xs);height:32px;background:transparent;border:none;border-radius:var(--radius-sm);font-family:var(--font-primary);font-size:var(--text-sm);font-weight:500;color:var(--color-base-muted);cursor:pointer;transition:all var(--transition-fast)}.tool-toggle:hover{background:var(--color-surface-light);color:var(--color-base)}.tool-toggle.active{background:var(--color-primary);color:var(--color-white)}.isochrone-location-row{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm)}.isochrone-location-num{width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:var(--color-primary);border-radius:50%;color:var(--color-white);font-size:var(--text-xs-plus);font-weight:700;flex-shrink:0}.isochrone-location-input{width:100%;height:36px;padding:0 12px;background:var(--color-surface);border:1px solid var(--color-surface-dark);border-radius:var(--radius-sm);font-family:var(--font-primary);font-size:var(--text-sm);color:var(--color-base)}.isochrone-location-input:focus{outline:none;border-color:var(--color-primary)}.isochrone-pick-btn,.isochrone-remove-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--color-surface);border:1px solid var(--color-surface-dark);border-radius:var(--radius-sm);color:var(--color-base-muted);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.isochrone-pick-btn:hover,.isochrone-remove-btn:hover{background:var(--color-surface-dark);color:var(--color-base)}.isochrone-pick-btn.active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-white)}.location-suggestions{position:absolute;top:100%;left:0;right:0;background:var(--color-surface-light);border:1px solid var(--color-surface-dark);border-radius:var(--radius-sm);box-shadow:var(--shadow-elevation-2);z-index:var(--z-dropdown);display:none;max-height:200px;overflow-y:auto}.location-suggestions.visible{display:block}.location-suggestion{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm-plus) 12px;cursor:pointer;transition:background var(--transition-fast)}.location-suggestion:hover{background:var(--color-surface)}.location-suggestion-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:var(--color-surface);border-radius:50%;flex-shrink:0}.location-suggestion-icon svg{width:14px;height:14px;color:var(--color-primary)}.location-suggestion-text{flex:1;min-width:0}.location-suggestion-primary{font-size:var(--text-sm-plus);font-weight:500;color:var(--color-base);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.location-suggestion-secondary{font-size:var(--text-xs-plus);color:var(--color-base-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.draw-tools-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-sm)}.draw-tool-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-xs);padding:var(--space-sm-lg) 8px;background:var(--color-surface);border:1px solid var(--color-surface-dark);border-radius:var(--radius-sm);color:var(--color-base-muted);font-family:var(--font-primary);font-size:var(--text-xs);font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.draw-tool-btn:hover{background:var(--color-surface-light);border-color:var(--color-primary);color:var(--color-base)}.draw-tool-btn.active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-white)}.draw-tool-btn svg{stroke:currentColor}.quick-views-list{display:flex;flex-direction:column;gap:var(--space-xs)}.quick-view-btn{display:flex;align-items:center;gap:var(--space-sm);width:100%;padding:var(--space-sm-plus) 12px;background:var(--color-surface);border:1px solid var(--color-surface-dark);border-radius:var(--radius-sm);color:var(--color-base);font-family:var(--font-primary);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:all var(--transition-fast);text-align:left}.quick-view-btn:hover{background:var(--color-surface-light);border-color:var(--color-primary)}.quick-view-btn svg{width:16px;height:16px;color:var(--color-base-muted);flex-shrink:0}.saved-views-list{margin-top:var(--space-sm)}.saved-view-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) 12px;background:var(--color-surface);border-radius:var(--radius-sm);margin-bottom:var(--space-xs);cursor:pointer;transition:background var(--transition-fast)}.saved-view-item:hover{background:var(--color-surface-light)}.saved-view-name{font-size:var(--text-sm);color:var(--color-base)}.saved-view-delete{width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--color-base-muted);cursor:pointer;transition:all var(--transition-fast)}.saved-view-delete:hover{background:var(--color-error);color:var(--color-white)}.export-format-options{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-sm)}.export-format-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-xs-plus);padding:var(--space-md) 8px;background:var(--color-surface);border:1px solid var(--color-surface-dark);border-radius:var(--radius-sm);color:var(--color-base-muted);font-family:var(--font-primary);font-size:var(--text-xs-plus);font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.export-format-btn:hover{background:var(--color-surface-light);border-color:var(--color-primary);color:var(--color-base)}.export-format-btn.active{background:rgba(var(--color-primary-rgb),.1);border-color:var(--color-primary);color:var(--color-primary)}.export-format-btn svg{stroke:currentColor}.route-waypoint-row{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm)}.waypoint-marker{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:var(--text-sm);font-weight:700;flex-shrink:0}.waypoint-marker.start{background:var(--color-primary);color:var(--color-white)}.waypoint-marker.end{background:var(--color-anchor);color:var(--color-white)}.waypoint-marker.via{background:var(--color-signal);color:var(--color-anchor)}.waypoint-input{flex:1;height:36px;padding:0 12px;background:var(--color-surface);border:1px solid var(--color-surface-dark);border-radius:var(--radius-sm);font-family:var(--font-primary);font-size:var(--text-sm);color:var(--color-base)}.waypoint-input:focus{outline:none;border-color:var(--color-primary)}.waypoint-pick-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--color-surface);border:1px solid var(--color-surface-dark);border-radius:var(--radius-sm);color:var(--color-base-muted);cursor:pointer;transition:all var(--transition-fast)}.waypoint-pick-btn:hover{background:var(--color-surface-dark);color:var(--color-base)}.route-summary{display:flex;gap:var(--space-md);padding:var(--space-sm-lg);background:var(--color-surface);border-radius:var(--radius-sm)}.route-stat{display:flex;flex-direction:column;align-items:center;flex:1}.route-stat-value{font-size:var(--text-xl-plus);font-weight:700;color:var(--color-base)}.route-stat-label{font-size:var(--text-xs-plus);color:var(--color-base-muted);text-transform:uppercase}.control-panel-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm-plus) 14px;border-bottom:1px solid var(--color-surface-dark)}.control-panel-header span{font-size:var(--text-xs-plus);font-weight:600;color:var(--color-base-muted);text-transform:uppercase;letter-spacing:.03em}.control-panel-body{padding:var(--space-sm-lg) 14px}.control-option{margin-bottom:var(--space-sm-plus)}.control-option:last-child{margin-bottom:0}.slider-label{display:flex;flex-direction:column;gap:var(--space-xs-plus)}.slider-label span{font-size:var(--text-sm);color:var(--color-base);font-weight:500}.empty-state{padding:var(--space-lg);text-align:center;color:var(--color-base-muted);font-size:var(--text-sm)}.drawn-shape-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) 10px;background:var(--color-surface);border-radius:var(--radius-sm);margin-bottom:var(--space-xs)}.geography-region{border-bottom:1px solid var(--color-surface-dark)}.geography-region:last-child{border-bottom:none}.geography-region-header{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm-plus) 12px;cursor:pointer;transition:background var(--transition-fast)}.geography-region-header:hover{background:var(--color-surface-light)}.geography-region-checkbox{width:16px;height:16px;border:2px solid var(--color-base-light);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all var(--transition-fast)}.geography-region-checkbox.partial{background:var(--color-surface-dark);border-color:var(--color-base-light)}.geography-region-checkbox svg{width:10px;height:10px;stroke:var(--color-white);opacity:0;transition:opacity var(--transition-fast)}.geography-region-checkbox.checked svg,.geography-region-checkbox.partial svg{opacity:1}.geography-region-name{flex:1;font-size:var(--text-sm);font-weight:600;color:var(--color-base)}.geography-region-count{font-size:var(--text-xs-plus);color:var(--color-base-muted)}.geography-region-toggle{width:16px;height:16px;display:flex;align-items:center;justify-content:center;color:var(--color-base-muted);transition:transform .25s ease}.geography-region-toggle svg{width:12px;height:12px}.geography-region-states{padding:var(--space-xs) 8px 8px 28px}.geography-state-item{display:flex;align-items:center;gap:var(--space-xs-plus);padding:var(--space-xs) 6px;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast)}.geography-state-item:hover{background:var(--color-surface-light)}.geography-state-checkbox{width:14px;height:14px;border:2px solid var(--color-base-light);border-radius:var(--radius-3);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all var(--transition-fast)}.geography-state-checkbox svg{width:8px;height:8px;stroke:var(--color-white);opacity:0;transition:opacity var(--transition-fast)}.geography-state-code{font-size:var(--text-xs-plus);font-weight:700;color:var(--color-base);width:24px}.custom-layer-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) 10px;background:var(--color-surface);border-radius:var(--radius-sm);margin-bottom:var(--space-xs-plus);transition:background var(--transition-fast)}.custom-layer-item:hover{background:var(--color-surface-light)}.custom-layer-visibility{flex-shrink:0}.custom-layer-color{width:12px;height:12px;border-radius:var(--radius-3);flex-shrink:0}.custom-layer-info{flex:1;min-width:0}.custom-layer-name{font-size:var(--text-sm);font-weight:500;color:var(--color-base);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.custom-layer-details{font-size:var(--text-xs);color:var(--color-base-muted)}.custom-layer-actions{display:flex;gap:var(--space-xs)}.custom-layer-zoom,.custom-layer-delete{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--color-base-muted);cursor:pointer;transition:all var(--transition-fast)}.custom-layer-zoom:hover{background:var(--color-surface-dark);color:var(--color-primary)}.toggle.small{width:28px;height:16px}.toggle.small .toggle-slider:before{width:12px;height:12px;left:2px;bottom:2px}.toggle.small input:checked+.toggle-slider:before{transform:translate(12px)}.multiselect-chip.featured .multiselect-chip-star{opacity:1;color:var(--color-yellow)}.multiselect-dropdown{position:absolute;top:100%;left:0;right:0;max-height:300px;overflow-y:auto;background:var(--color-surface-light);border:1px solid var(--color-surface-dark);border-top:none;border-radius:0 0 var(--radius-md) var(--radius-md);box-shadow:var(--shadow-elevation-3);z-index:var(--z-fullscreen);display:none}.multiselect-dropdown.open,.multiselect-dropdown.visible{display:block}.sidebar-section-body:has(.multiselect-dropdown.open){overflow:visible}.sidebar-content:has(.multiselect-dropdown.open){overflow:visible}.multiselect-no-results{padding:var(--space-sm-lg) 14px;text-align:center;color:var(--color-base-muted);font-size:var(--text-sm)}.geography-chip,.geography-chip.chip-state,.geography-chip.chip-region,.geography-chip.chip-county,.geography-chip.chip-metro,.geography-chip.chip-city,.geography-chip.chip-postcode,.geography-chip.chip-country,.geography-chip.chip-boundary{background:var(--color-primary)!important}.boundary-chip .chip-remove{display:flex;align-items:center;justify-content:center;background:transparent;border:none;padding:0;cursor:pointer;color:rgba(var(--color-white-rgb),.6)}.geography-list{max-height:300px;overflow-y:auto;padding:var(--space-sm)}.geography-region{margin-bottom:var(--space-sm)}.geography-region.collapsed .geography-region-states{display:none}.geography-region-header{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) 10px;background:var(--color-surface-dark);border-radius:var(--radius-sm);cursor:pointer}.geography-region-header:hover{background:var(--color-surface)}.geography-region-checkbox{width:14px;height:14px;border:2px solid var(--color-base-muted);border-radius:var(--radius-3);display:flex;align-items:center;justify-content:center;flex-shrink:0}.geography-region-checkbox.checked{background:var(--color-primary);border-color:var(--color-primary)}.geography-region-checkbox.partial{border-color:var(--color-primary)}.geography-region-checkbox.partial svg,.geography-region-checkbox.checked svg{color:var(--color-white);width:10px;height:10px}.geography-region-name{flex:1;font-size:var(--text-xs-plus);font-weight:600;color:var(--color-base);text-transform:uppercase;letter-spacing:.03em}.geography-region-count{font-size:var(--text-xs);color:var(--color-base-muted)}.geography-region-toggle{color:var(--color-base-muted);transition:transform .2s}.geography-region.collapsed .geography-region-toggle{transform:rotate(-90deg)}.geography-region-states{padding:var(--space-xs) 0 4px 20px}.geography-state-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs-plus) 8px;cursor:pointer;border-radius:var(--radius-sm)}.geography-state-item:hover{background:var(--color-surface-dark)}.geography-state-item.selected{background:rgba(var(--color-primary-rgb),.1)}.geography-state-checkbox{width:12px;height:12px;border:1.5px solid var(--color-base-muted);border-radius:var(--radius-2xs);display:flex;align-items:center;justify-content:center;flex-shrink:0}.geography-state-item.selected .geography-state-checkbox{background:var(--color-primary);border-color:var(--color-primary)}.geography-state-checkbox svg{width:8px;height:8px;color:var(--color-white);opacity:0}.geography-state-item.selected .geography-state-checkbox svg{opacity:1}.geography-state-code{font-size:var(--text-xs-plus);font-weight:600;color:var(--color-base);width:24px}.geography-state-name{font-size:var(--text-xs-plus);color:var(--color-base-muted)}.isochrone-site-row{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm);background:var(--color-surface);border-radius:var(--radius-sm);margin-bottom:var(--space-sm)}.isochrone-site-row:last-child{margin-bottom:0}.isochrone-site-num{width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:var(--color-primary);color:var(--color-white);border-radius:50%;font-size:var(--text-xs-plus);font-weight:600;flex-shrink:0}.isochrone-site-input{flex:1;height:32px;padding:0 10px;background:var(--color-surface-light);border:1px solid var(--color-surface-dark);border-radius:var(--radius-sm);font-size:var(--text-sm)}.isochrone-time-slider{width:100px;height:4px}.isochrone-time-value{width:45px;font-size:var(--text-xs-plus);font-weight:600;color:var(--color-base);text-align:center}.isochrone-add-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-xs);height:32px;background:var(--color-surface);border:1px dashed var(--color-surface-dark);border-radius:var(--radius-sm);color:var(--color-base-muted);font-size:var(--text-sm);cursor:pointer;margin-top:var(--space-sm)}.isochrone-add-btn:hover{background:var(--color-surface-dark);color:var(--color-base)}.isochrone-rings-info{padding:var(--space-sm) 12px;background:rgba(var(--color-primary-rgb),.1);border-radius:var(--radius-sm);font-size:var(--text-xs-plus);color:var(--color-base-muted);margin-top:var(--space-sm)}.isochrone-location-row{display:flex;align-items:center;gap:var(--space-xs);margin-bottom:var(--space-sm);padding:var(--space-sm);background:var(--color-surface);border-radius:var(--radius-sm);transition:all .15s ease;border:1px solid transparent}.isochrone-location-row:last-child{margin-bottom:0}.isochrone-location-row:hover{border-color:rgba(var(--color-primary-rgb),.2)}.isochrone-remove-btn{width:24px;height:24px;padding:0;background:transparent;border:1px solid var(--color-surface-dark);border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--color-base-muted);transition:all .15s ease;flex-shrink:0}.isochrone-remove-btn:hover{background:var(--color-error);border-color:var(--color-error);color:var(--color-white)}.isochrone-rings-checkboxes{display:flex;gap:var(--space-xs-plus);flex-wrap:nowrap}.isochrone-ring-option{display:flex;align-items:center;gap:3px;padding:var(--space-xs-plus) 8px;background:var(--color-surface);border-radius:var(--radius-sm);font-size:var(--text-xs);cursor:pointer;flex:1;justify-content:center}.isochrone-ring-option input[type=checkbox]{margin:0}.ring-color{width:10px;height:10px;border-radius:var(--radius-2xs);flex-shrink:0}.ring-color-input{width:18px;height:18px;padding:0;border:1px solid var(--color-surface-dark);border-radius:var(--radius-3);cursor:pointer;transition:all .2s ease}.ring-color-input:hover{transform:scale(1.2);box-shadow:0 2px 8px rgba(var(--color-black-rgb),.25);border-color:var(--color-primary)}.ring-color-input::-webkit-color-swatch-wrapper{padding:1px}.ring-color-input::-webkit-color-swatch{border-radius:var(--radius-2xs);border:none}.isochrone-time-display{min-width:50px;font-size:var(--text-sm);font-weight:600;color:var(--color-base);text-align:right}.location-add-full-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);width:100%;height:36px;margin-top:var(--space-sm);background:transparent;border:1px dashed var(--color-primary);border-radius:var(--radius-sm);color:var(--color-primary);font-size:var(--text-sm);font-weight:500;font-family:var(--font-primary);cursor:pointer;transition:all .15s ease}.location-add-full-btn:hover{background:rgba(var(--color-primary-rgb),.08);border-style:solid}.location-add-full-btn:disabled{opacity:.4;cursor:not-allowed;border-color:var(--color-base-muted);color:var(--color-base-muted)}.location-add-full-btn:disabled:hover{background:transparent;border-style:dashed}.location-add-full-btn svg{flex-shrink:0}.location-add-count{font-size:var(--text-xs-plus);color:var(--color-base-muted);font-weight:400}.route-stop-row{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-sm);background:var(--color-surface);border-radius:var(--radius-sm);margin-bottom:var(--space-sm);position:relative;transition:all .15s ease;border:1px solid transparent}.route-stop-row:hover{border-color:rgba(var(--color-primary-rgb),.2)}.route-stop-row.dragging{opacity:.5;border-color:var(--color-primary)}.route-stop-drag{width:16px;height:32px;display:flex;align-items:center;justify-content:center;cursor:grab;color:var(--color-base-light);flex-shrink:0;transition:color .15s ease}.route-stop-drag:hover{color:var(--color-primary)}.route-stop-drag:active{cursor:grabbing}.route-stop-num{width:18px;height:18px;display:flex;align-items:center;justify-content:center;background:var(--color-anchor);color:var(--color-white);border-radius:50%;font-size:var(--text-2xs);font-weight:700;flex-shrink:0}.route-stop-input{width:100%;height:32px;padding:0 10px;background:var(--color-surface-light);border:1px solid var(--color-surface-dark);border-radius:var(--radius-sm);font-size:var(--text-sm);font-family:var(--font-primary);transition:all .15s ease;box-sizing:border-box}.route-stop-input:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--shadow-focus)}.route-stop-input::placeholder{color:var(--color-base-light)}.route-results{margin-top:var(--space-sm-lg);padding:var(--space-sm-lg);background:var(--color-surface);border-radius:var(--radius-sm)}.route-leg{display:flex;align-items:center;padding:var(--space-xs-plus) 0;border-bottom:1px solid var(--color-surface-dark);font-size:var(--text-sm);gap:var(--space-sm)}.route-leg:last-child{border-bottom:none}.route-leg-label{color:var(--color-base-muted);flex:1}.route-leg-value{font-weight:500;color:var(--color-base)}.route-total{display:flex;justify-content:space-between;align-items:center;padding-top:var(--space-sm);margin-top:var(--space-sm);border-top:2px solid var(--color-surface-dark);font-weight:600}.route-loading{text-align:center;padding:var(--space-sm-lg);color:var(--color-base-muted);font-size:var(--text-sm)}.route-leg-color{width:16px;height:16px;border:none;border-radius:50%;cursor:pointer;padding:0;flex-shrink:0;animation:colorPulse 2s ease-in-out infinite;box-shadow:0 0 0 2px rgba(var(--color-white-rgb),.8),0 2px 4px rgba(var(--color-black-rgb),.2)}.route-leg-color:hover{animation:none;transform:scale(1.15);box-shadow:0 0 0 2px #fff,0 0 8px rgba(var(--color-primary-rgb),.5)}.route-leg-color::-webkit-color-swatch-wrapper{padding:0}.route-leg-color::-webkit-color-swatch{border:none;border-radius:50%}@keyframes colorPulse{0%,to{box-shadow:0 0 0 2px rgba(var(--color-white-rgb),.8),0 2px 4px rgba(var(--color-black-rgb),.2)}50%{box-shadow:0 0 0 3px rgba(var(--color-white-rgb),1),0 0 8px rgba(var(--color-primary-rgb),.4)}}.measure-actions{display:flex;gap:var(--space-sm);margin-top:var(--space-sm-lg);padding-top:var(--space-sm-lg);border-top:1px solid var(--color-surface-dark)}.measure-action-btn{flex:1;height:32px;padding:0 12px;border-radius:var(--radius-sm);font-family:var(--font-primary);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;gap:var(--space-xs-plus)}.measure-action-btn.primary{background:var(--color-primary);border:none;color:var(--color-white)}.measure-action-btn.primary:hover{background:var(--color-primary-dark)}.measure-action-btn.primary:disabled{background:var(--color-surface-dark);color:var(--color-base-muted);cursor:not-allowed}.measure-action-btn.secondary{background:var(--color-surface);border:1px solid var(--color-surface-dark);color:var(--color-base-muted)}.measure-action-btn.secondary:hover{background:var(--color-surface-dark);color:var(--color-base)}.measure-action-btn svg{width:14px;height:14px}.measure-instructions{font-size:var(--text-xs);color:var(--color-base-muted);padding:var(--space-sm) 10px;margin-top:var(--space-sm-lg);line-height:1.5;border-left:3px solid var(--color-primary);background:transparent}.measure-instructions strong{color:var(--color-primary);font-weight:600}.measure-floating-readout{position:fixed;pointer-events:none;z-index:var(--z-measure);padding:var(--space-xs-plus) 10px;background:rgba(var(--color-anchor-rgb),.95);color:var(--color-white);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:500;box-shadow:0 4px 12px rgba(var(--color-black-rgb),.3);transform:translateY(-50%);white-space:nowrap;display:none}.measure-segment-label{background:rgba(var(--color-anchor-rgb),.85);color:var(--color-white);padding:var(--space-2xs) 6px;border-radius:var(--radius-3);font-size:var(--text-xs);font-weight:600;pointer-events:none;white-space:nowrap}.measure-popup-actions{display:flex;gap:var(--space-xs-plus);margin-top:var(--space-sm-plus);padding-top:var(--space-sm-plus);border-top:1px solid rgba(var(--color-white-rgb),.1)}.measure-popup-save-btn,.measure-popup-update-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--space-xs);height:28px;border:none;border-radius:var(--radius-sm);font-size:var(--text-xs-plus);font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.measure-popup-save-btn{background:var(--color-primary);color:var(--color-white)}.measure-popup-save-btn:hover{background:var(--color-primary-dark)}.measure-popup-update-btn{background:var(--color-signal);color:var(--color-white)}.measure-popup-update-btn:hover{background:var(--color-warning-dark)}.measure-popup-save-btn svg,.measure-popup-update-btn svg{width:12px;height:12px}.draw-tool-buttons{display:flex;gap:var(--space-xs-plus);margin-bottom:var(--space-sm-lg);flex-wrap:wrap}.draw-tool-btn{flex:1 1 calc(25% - 6px);min-width:65px;display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);padding:var(--space-sm-plus) 4px;background:var(--color-surface);border:2px solid var(--color-surface-dark);border-radius:var(--radius-md);cursor:pointer;transition:all .15s ease}.draw-tool-btn svg{width:20px;height:20px;color:var(--color-base-muted);transition:color .15s ease}.draw-tool-btn span{font-size:var(--text-xs);font-weight:500;color:var(--color-base-muted)}.draw-tool-btn:hover{border-color:var(--color-primary);background:var(--color-surface-dark)}.draw-tool-btn:hover svg,.draw-tool-btn:hover span{color:var(--color-primary)}.draw-tool-btn.active{border-color:var(--color-primary);background:rgba(var(--color-primary-rgb),.15)}.draw-tool-btn.active svg,.draw-tool-btn.active span{color:var(--color-primary)}.draw-tool-btn:disabled{opacity:.4;cursor:not-allowed}.draw-tool-btn:disabled:hover{border-color:var(--color-surface-dark);background:var(--color-surface)}.draw-tool-btn:disabled:hover svg,.draw-tool-btn:disabled:hover span{color:var(--color-base-muted)}.draw-instructions{padding:var(--space-sm-plus) 12px;background:rgba(var(--color-blue-rgb),.1);border:1px solid rgba(var(--color-blue-rgb),.2);border-radius:var(--radius-sm);font-size:var(--text-xs-plus);color:var(--color-blue);line-height:1.5}.draw-instructions.warning{background:rgba(var(--color-amber-500-rgb),.1);border-color:rgba(var(--color-amber-500-rgb),.3);color:var(--color-warning)}.draw-instructions.error{background:rgba(var(--color-red-500-rgb),.1);border-color:rgba(var(--color-red-500-rgb),.3);color:var(--color-error)}.drawn-shapes-list{max-height:180px;overflow-y:auto}.drawn-shapes-empty{padding:var(--space-md);text-align:center;color:var(--color-base-muted);font-size:var(--text-xs-plus);font-style:italic}.drawn-shape-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) 10px;background:var(--color-surface);border-radius:var(--radius-sm);margin-bottom:var(--space-xs-plus);transition:all .15s ease;border:1px solid transparent}.drawn-shape-item:hover{border-color:rgba(var(--color-purple-rgb),.3)}.drawn-shape-color{width:24px;height:24px;border-radius:var(--radius-sm);flex-shrink:0;cursor:pointer;border:2px solid rgba(var(--color-white-rgb),.2);transition:all .15s ease}.drawn-shape-color:hover{transform:scale(1.1);border-color:rgba(var(--color-white-rgb),.4)}.drawn-shape-info{flex:1;min-width:0}.drawn-shape-name{font-size:var(--text-sm);font-weight:500;color:var(--color-base);display:flex;align-items:center;gap:var(--space-xs-plus)}.drawn-shape-name input{width:100%;height:24px;padding:0 6px;background:var(--color-surface-dark);border:1px solid transparent;border-radius:var(--radius-sm);font-size:var(--text-xs-plus);color:var(--color-base);font-family:var(--font-primary)}.drawn-shape-name input:focus{outline:none;border-color:var(--color-primary)}.drawn-shape-type{font-size:var(--text-xs);color:var(--color-base-muted);margin-top:var(--space-2xs)}.drawn-shape-actions{display:flex;gap:var(--space-xs);opacity:0;transition:opacity .15s ease}.drawn-shape-item:hover .drawn-shape-actions{opacity:1}.drawn-shape-action{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:var(--color-surface-dark);border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all .15s ease}.drawn-shape-action svg{width:12px;height:12px;color:var(--color-base-muted)}.drawn-shape-action:hover{background:var(--color-primary)}.drawn-shape-action:hover svg{color:var(--color-white)}.drawn-shape-action.delete:hover{background:var(--color-error)}.color-preset{width:20px;height:20px;border-radius:var(--radius-xs);border:2px solid transparent;cursor:pointer;transition:all .15s ease}.color-preset:hover{transform:scale(1.15);border-color:rgba(var(--color-white-rgb),.5)}.color-preset.active{border-color:var(--color-white);box-shadow:0 0 0 2px var(--color-primary)}.save-view-panel{position:absolute;top:calc(100% + 8px);right:0;width:320px;background:var(--color-surface-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-neu-outer),0 8px 32px rgba(var(--color-black-rgb),.3);opacity:0;visibility:hidden;transform:translateY(-10px);transition:all var(--transition-fast);z-index:var(--z-overlay);overflow:hidden}.save-view-panel.visible{opacity:1;visibility:visible;transform:translateY(0)}.save-view-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-sm-lg) 16px;background:var(--color-surface-dark);border-bottom:1px solid rgba(var(--color-white-rgb),.1)}.save-view-header h4{margin:0;font-size:var(--text-base);font-weight:600;color:var(--color-base)}.save-view-close{background:none;border:none;color:var(--color-base-muted);font-size:var(--text-xl-plus);cursor:pointer;padding:0;line-height:1;transition:color var(--transition-fast)}.save-view-close:hover{color:var(--color-base)}.save-view-current{display:flex;gap:var(--space-sm);padding:var(--space-sm-lg) 16px;border-bottom:1px solid rgba(var(--color-white-rgb),.1)}.save-view-current input{flex:1;height:36px;padding:0 12px;background:var(--color-surface-dark);border:1px solid rgba(var(--color-white-rgb),.1);border-radius:var(--radius-md);color:var(--color-base);font-size:var(--text-sm-plus);font-family:var(--font-primary)}.save-view-current input::placeholder{color:var(--color-base-muted)}.save-view-btn{display:flex;align-items:center;gap:var(--space-xs-plus);height:36px;padding:0 14px;border:none;border-radius:var(--radius-md);font-size:var(--text-sm-plus);font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.save-view-btn.primary{background:var(--color-primary);color:var(--color-white)}.save-view-btn.primary:disabled{background:var(--color-surface-dark);color:var(--color-base-muted);cursor:not-allowed}.save-view-list{max-height:280px;overflow-y:auto}.save-view-empty{padding:var(--space-lg) 16px;text-align:center;color:var(--color-base-muted);font-size:var(--text-sm-plus)}.save-view-item{display:flex;align-items:center;gap:var(--space-sm-lg);padding:var(--space-sm-lg) 16px;border-bottom:1px solid rgba(var(--color-white-rgb),.05);transition:background var(--transition-fast);cursor:pointer}.save-view-item:hover{background:rgba(var(--color-white-rgb),.05)}.save-view-item:last-child{border-bottom:none}.save-view-item-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--color-surface-dark);border-radius:var(--radius-md);flex-shrink:0}.save-view-item-icon svg{width:16px;height:16px;color:var(--color-primary)}.save-view-item-info{flex:1;min-width:0}.save-view-item-name{font-size:var(--text-sm-plus);font-weight:500;color:var(--color-base);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.save-view-item-meta{font-size:var(--text-xs-plus);color:var(--color-base-muted);margin-top:var(--space-2xs)}.save-view-item-actions{display:flex;gap:var(--space-xs);opacity:0;transition:opacity var(--transition-fast)}.save-view-item:hover .save-view-item-actions{opacity:1}.save-view-item-action{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--color-surface-dark);border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.save-view-item-action svg{width:14px;height:14px;color:var(--color-base-muted)}.save-view-item-action:hover{background:var(--color-primary)}.save-view-item-action:hover svg{color:var(--color-white)}.save-view-item-action.delete:hover{background:var(--color-error)}.radius-control{display:flex;align-items:center;gap:var(--space-sm);flex-shrink:0}.radius-label{font-size:var(--text-sm);font-weight:500;color:rgba(var(--color-white-rgb),.7);white-space:nowrap}.radius-input-wrapper{display:flex;align-items:center;gap:var(--space-2xs);background:rgba(var(--color-white-rgb),.08);border:1px solid rgba(var(--color-white-rgb),.12);border-radius:var(--radius-md);padding:0 4px;height:34px}.radius-input{width:44px;height:100%;background:transparent;border:none;color:var(--color-white);font-family:var(--font-primary);font-size:var(--text-base);font-weight:600;text-align:center}.radius-input:focus{outline:none}.radius-input::-webkit-outer-spin-button,.radius-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.radius-input[type=number]{-moz-appearance:textfield}.radius-unit{font-size:var(--text-xs-plus);color:rgba(var(--color-white-rgb),.5);padding-right:var(--space-xs)}.radius-slider{width:90px;height:6px;-webkit-appearance:none;appearance:none;background:rgba(var(--color-white-rgb),.15);border-radius:var(--radius-full);cursor:pointer}.radius-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;background:var(--color-primary);border-radius:var(--radius-full);box-shadow:0 2px 6px rgba(var(--color-primary-rgb),.4),0 0 0 3px rgba(var(--color-primary-rgb),.2);cursor:pointer}.radius-slider::-moz-range-thumb{width:16px;height:16px;background:var(--color-primary);border:none;border-radius:var(--radius-full);box-shadow:0 2px 6px rgba(var(--color-primary-rgb),.4);cursor:pointer}.radius-clear{display:none;align-items:center;justify-content:center;width:28px;height:28px;background:rgba(var(--color-white-rgb),.1);border:1px solid rgba(var(--color-white-rgb),.2);border-radius:var(--radius-full);color:rgba(var(--color-white-rgb),.7);cursor:pointer;transition:all var(--transition-fast);margin-left:var(--space-xs)}.radius-clear:hover{background:rgba(var(--color-error-rgb),.2);border-color:rgba(var(--color-error-rgb),.4);color:var(--color-error)}.radius-clear.visible{display:flex}.radius-panel-content{display:flex;flex-direction:column;gap:var(--space-sm-lg)}.radius-panel-row{display:flex;align-items:center;gap:var(--space-sm-lg)}.radius-panel-input{width:60px;height:32px;padding:0 8px;text-align:center}.radius-panel-slider{flex:1}.mapboxgl-popup-content{padding:0!important;border-radius:var(--radius-8)!important;overflow:visible;box-shadow:0 6px 20px rgba(var(--color-anchor-rgb),.18)!important;min-width:200px}.mapboxgl-popup-close-button{font-size:var(--text-base);padding:var(--space-xs) 6px;color:rgba(var(--color-white-rgb),.6);z-index:var(--z-base)}.mapboxgl-popup-close-button:hover{background:rgba(var(--color-white-rgb),.1);color:var(--color-white)}.search-popup{font-family:var(--font-primary)}.search-popup-header{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) 10px;background:var(--color-anchor);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.search-popup-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:var(--color-primary);border-radius:var(--radius-xs);color:var(--color-white);flex-shrink:0}.search-popup-icon svg{width:12px;height:12px}.search-popup-titles{flex:1;min-width:0}.search-popup-title{font-size:var(--text-xs-plus);font-weight:600;color:var(--color-white);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-popup-subtitle{font-size:8px;color:rgba(var(--color-white-rgb),.5);text-transform:uppercase;letter-spacing:.04em}.search-popup-body{padding:var(--space-sm) 10px}.search-popup-row{display:flex;gap:var(--space-xs-plus);margin-bottom:var(--space-xs);font-size:var(--text-2xs);line-height:1.3}.search-popup-row:last-child{margin-bottom:0}.search-popup-label{color:var(--color-base-muted);flex-shrink:0;width:48px}.search-popup-value{color:var(--color-base);font-weight:500;flex:1}.search-popup-coords{display:flex;align-items:center;gap:var(--space-xs-plus);padding:var(--space-xs-plus) 8px;background:var(--color-surface);border-radius:var(--radius-xs);margin-top:var(--space-sm);font-size:var(--text-xs);font-family:var(--font-mono, monospace);color:var(--color-base-muted)}.search-popup-coords svg{opacity:.6;flex-shrink:0}.search-popup-footer{padding:var(--space-sm) 10px;border-top:1px solid var(--color-surface-dark);margin-top:var(--space-sm)}.search-popup-coord{display:flex;align-items:center;gap:var(--space-2xs);color:var(--color-base-muted)}.search-popup-coord span{color:var(--color-base);font-weight:600}.search-popup-type{font-size:var(--text-xs-plus);font-weight:600;color:var(--color-white);text-transform:uppercase;letter-spacing:.03em}.search-popup-name{font-size:var(--text-base);font-weight:600;color:var(--color-base);line-height:1.3;margin-bottom:var(--space-2xs)}.search-popup-address{font-size:var(--text-xs-plus);color:var(--color-base-muted);line-height:1.4}.search-location-popup .mapboxgl-popup-content{padding:0;overflow:hidden;min-width:200px}.marker-label{position:absolute;white-space:nowrap;border-radius:var(--radius-3);font-family:var(--font-primary);pointer-events:none;text-align:center;font-weight:500}.product-type-icon{display:flex;align-items:center;justify-content:center}.product-type-icon svg{width:100%;height:100%}.tool-toggle-btn{flex:1;height:32px;padding:0 12px;background:var(--color-surface);border:none;font-family:var(--font-primary);font-size:var(--text-sm);font-weight:500;color:var(--color-base-muted);cursor:pointer;transition:all var(--transition-fast)}.tool-toggle-btn:not(:last-child){border-right:1px solid var(--color-surface-dark)}.tool-toggle-btn:hover{background:var(--color-surface-dark)}.tool-checkbox-group{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.tool-checkbox{display:flex;align-items:center;gap:var(--space-xs-plus);cursor:pointer;font-size:var(--text-sm);color:var(--color-base)}.tool-checkbox input{width:14px;height:14px;accent-color:var(--color-primary);cursor:pointer}.product-chips-grid{display:flex;flex-wrap:wrap;gap:var(--space-xs-plus)}.product-chip{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) 10px;background:var(--color-surface);border:1px solid var(--color-surface-dark);border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast);font-size:var(--text-xs-plus);font-weight:500;color:var(--color-base-muted)}.product-chip:hover{background:var(--color-surface-dark);border-color:var(--color-primary);color:var(--color-base)}.product-chip.selected{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-white)}.product-chip input{display:none}.product-chip-text{white-space:nowrap}.product-chip.undefined-chip{border-style:dashed;background:var(--color-surface-light)}.product-chip.undefined-chip.selected{background:var(--color-primary);border-color:var(--color-primary);border-style:solid;color:var(--color-white)}.tool-select{height:32px;padding:0 8px;background:var(--color-surface);border:1px solid var(--color-surface-dark);border-radius:var(--radius-sm);font-family:var(--font-primary);font-size:var(--text-sm);color:var(--color-base);cursor:pointer}.tool-clear-btn{display:flex;align-items:center;gap:var(--space-xs);height:32px;padding:0 12px;background:transparent;border:1px solid rgba(var(--color-error-rgb),.3);border-radius:var(--radius-sm);color:var(--color-error);font-size:var(--text-sm);cursor:pointer}.tool-clear-btn:hover{background:rgba(var(--color-error-rgb),.1)}.tool-clear-btn svg{width:14px;height:14px}.page-container{position:fixed;top:var(--top-toolbar-height);left:var(--nav-current-width);right:0;bottom:0;background:var(--color-surface);display:flex;flex-direction:column;overflow:hidden;z-index:var(--z-base)}.page-content{flex:1;display:flex;flex-direction:column;overflow:auto;padding:var(--space-lg)}.page-header{padding-bottom:var(--space-lg);border-bottom:1px solid var(--color-surface-dark);margin-bottom:var(--space-lg)}.page-title{font-size:var(--text-3xl);font-weight:600;color:var(--color-base);margin:0 0 var(--space-xs) 0}.page-subtitle{font-size:var(--text-base);color:var(--color-base-muted);margin:0}.page-body{flex:1;display:flex;flex-direction:column}.page-placeholder{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--color-base-muted);padding:var(--space-lg)}.placeholder-icon{width:80px;height:80px;margin-bottom:var(--space-lg);color:var(--color-primary);opacity:.6}.placeholder-icon svg{width:100%;height:100%}.page-placeholder h2{font-size:var(--text-2xl);font-weight:600;color:var(--color-base);margin:0 0 var(--space-sm) 0}.page-placeholder p{font-size:var(--text-base);color:var(--color-base-muted);margin:0;max-width:400px}body.nav-collapsed .page-container{left:var(--nav-sidebar-collapsed-width)}.page-container.admin-mode{inset:0;padding:0;z-index:var(--z-fullscreen-low);display:block;overflow:hidden}body.nav-collapsed .page-container.admin-mode{left:0}body.admin-mode .top-toolbar,body.admin-mode .nav-sidebar,body.admin-mode .left-sidebar,body.admin-mode .sub-toolbar{display:none!important}.flex{display:flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.inline-flex{display:inline-flex}.grid{display:grid}.block{display:block}.hidden{display:none}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.self-center{align-self:center}.gap-2xs{gap:var(--space-2xs)}.gap-xs{gap:var(--space-xs)}.gap-xs-plus{gap:var(--space-xs-plus)}.gap-sm{gap:var(--space-sm)}.gap-sm-plus{gap:var(--space-sm-plus)}.gap-sm-lg{gap:var(--space-sm-lg)}.gap-md{gap:var(--space-md)}.gap-md-plus{gap:var(--space-md-plus)}.gap-lg{gap:var(--space-lg)}.gap-xl{gap:var(--space-xl)}.p-0{padding:0}.p-xs{padding:var(--space-xs)}.p-sm{padding:var(--space-sm)}.p-sm-lg{padding:var(--space-sm-lg)}.p-md{padding:var(--space-md)}.p-lg{padding:var(--space-lg)}.p-xl{padding:var(--space-xl)}.px-sm{padding-left:var(--space-sm);padding-right:var(--space-sm)}.px-md{padding-left:var(--space-md);padding-right:var(--space-md)}.px-lg{padding-left:var(--space-lg);padding-right:var(--space-lg)}.py-xs{padding-top:var(--space-xs);padding-bottom:var(--space-xs)}.py-sm{padding-top:var(--space-sm);padding-bottom:var(--space-sm)}.py-md{padding-top:var(--space-md);padding-bottom:var(--space-md)}.m-0{margin:0}.mt-xs{margin-top:var(--space-xs)}.mt-sm{margin-top:var(--space-sm)}.mb-xs{margin-top:var(--space-xs)}.mb-sm{margin-bottom:var(--space-sm)}.mb-md{margin-bottom:var(--space-md)}.mb-md-plus{margin-bottom:var(--space-md-plus)}.mb-lg{margin-bottom:var(--space-lg)}.mb-xl{margin-bottom:var(--space-xl)}.ml-auto{margin-left:auto}.mr-auto{margin-right:auto}.text-2xs{font-size:var(--text-2xs)}.text-xs{font-size:var(--text-xs)}.text-xs-plus{font-size:var(--text-xs-plus)}.text-sm{font-size:var(--text-sm)}.text-sm-plus{font-size:var(--text-sm-plus)}.text-base{font-size:var(--text-base)}.text-lg{font-size:var(--text-lg)}.text-xl{font-size:var(--text-xl)}.text-xl-plus{font-size:var(--text-xl-plus)}.text-2xl{font-size:var(--text-2xl)}.text-3xl{font-size:var(--text-3xl)}.font-normal{font-weight:var(--font-normal)}.font-medium{font-weight:var(--font-medium)}.font-semibold{font-weight:var(--font-semibold)}.font-bold{font-weight:var(--font-bold)}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.tracking-wide{letter-spacing:.05em}.leading-none{line-height:1}.leading-tight{line-height:1.25}.leading-normal{line-height:1.5}.whitespace-nowrap{white-space:nowrap}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.font-mono{font-family:var(--font-mono)}.text-anchor{color:var(--color-anchor)}.text-base-color{color:var(--color-base)}.text-muted{color:var(--color-base-muted)}.text-label{color:var(--color-text-label)}.text-body{color:var(--color-text-body)}.text-tertiary{color:var(--color-text-tertiary)}.text-white{color:var(--color-white)}.text-primary{color:var(--color-primary)}.text-success{color:var(--color-success)}.text-error{color:var(--color-error)}.text-warning{color:var(--color-warning)}.text-info{color:var(--color-info)}.bg-white{background-color:var(--color-white)}.bg-surface{background-color:var(--color-surface)}.bg-surface-light{background-color:var(--color-surface-light)}.bg-muted{background-color:var(--color-bg-muted)}.bg-subtle{background-color:var(--color-bg-subtle)}.bg-anchor-tint{background-color:var(--color-anchor-tint)}.bg-transparent{background-color:transparent}.border{border:1px solid var(--color-border-light)}.border-b{border-bottom:1px solid var(--color-border-light)}.border-t{border-top:1px solid var(--color-border-light)}.border-surface{border:1px solid var(--color-surface-dark)}.border-none{border:none}.rounded-xs{border-radius:var(--radius-xs)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-8{border-radius:var(--radius-8)}.rounded-md{border-radius:var(--radius-md)}.rounded-12{border-radius:var(--radius-12)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-full{border-radius:var(--radius-full)}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.w-full{width:100%}.h-full{height:100%}.min-w-0{min-width:0}.cursor-pointer{cursor:pointer}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.pointer-events-none{pointer-events:none}.select-none{-webkit-user-select:none;user-select:none}.relative{position:relative}.absolute{position:absolute}.sticky{position:sticky}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-lg)}.page-header--stacked{flex-direction:column;align-items:flex-start}.page-title{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-anchor);margin:0}.page-subtitle{font-size:var(--text-base);color:var(--color-text-label);margin:0}.page-controls{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap}.section-card{background:linear-gradient(135deg,var(--color-white) 0%,#FAFCFC 100%);border-radius:var(--radius-xl);padding:var(--space-lg);margin-bottom:var(--space-lg);box-shadow:var(--shadow-hover-soft);border:1px solid rgba(232,237,236,.6)}.section-card--sm{padding:var(--space-md-plus)}.section-card__title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-anchor);margin:0 0 var(--space-md-plus) 0}.stat-cards{display:flex;gap:var(--space-sm-lg);margin-bottom:var(--space-md-plus);flex-wrap:wrap}.stat-card{background:var(--color-white);border:1px solid var(--color-border-light);border-radius:var(--radius-8);padding:14px var(--space-md-plus);flex:1 1 0;min-width:140px;cursor:pointer;transition:all .2s}.stat-card:hover{border-color:var(--color-anchor)}.stat-card.is-active{border-color:var(--color-anchor);background:var(--color-anchor-tint)}.stat-card__label{font-size:var(--text-xs-plus);color:var(--color-text-label);text-transform:uppercase;letter-spacing:.5px}.stat-card__value{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-anchor);margin-top:var(--space-2xs)}.action-bar{display:flex;align-items:center;gap:var(--space-sm-lg);margin-bottom:var(--space-md);padding:var(--space-sm-lg) var(--space-md);background-color:var(--color-bg-muted);border-radius:var(--radius-8);flex-wrap:wrap}.action-bar__search{padding:var(--space-sm) var(--space-sm-lg);border:1px solid var(--color-border-input);border-radius:var(--radius-sm);font-size:var(--text-base);width:220px;outline:none}.action-bar__search:focus{border-color:var(--color-primary)}.action-bar__bulk{display:flex;gap:var(--space-sm);margin-left:auto}.action-bar__count{font-size:var(--text-sm-plus);color:var(--color-text-label);padding:0 var(--space-sm)}.data-table__wrapper,.data-table-wrapper{overflow:auto;max-height:70vh;max-width:100%;position:relative;border-radius:var(--radius-8);scrollbar-width:auto;scrollbar-color:var(--color-anchor, #0F3D3E) #E5E7EB}.data-table__wrapper::-webkit-scrollbar,.data-table-wrapper::-webkit-scrollbar{width:14px;height:14px}.data-table__wrapper::-webkit-scrollbar-track,.data-table-wrapper::-webkit-scrollbar-track{background:#f3f4f6;border-radius:9999px;border:1px solid #E5E7EB}.data-table__wrapper::-webkit-scrollbar-thumb,.data-table-wrapper::-webkit-scrollbar-thumb{background:var(--color-anchor, #0F3D3E);border:3px solid #F3F4F6;border-radius:9999px;min-height:32px;min-width:32px}.data-table__wrapper::-webkit-scrollbar-thumb:hover,.data-table-wrapper::-webkit-scrollbar-thumb:hover{background:#0a2d2e}.data-table__wrapper::-webkit-scrollbar-thumb:active,.data-table-wrapper::-webkit-scrollbar-thumb:active{background:#062021}.data-table__wrapper::-webkit-scrollbar-corner,.data-table-wrapper::-webkit-scrollbar-corner{background:#f3f4f6}.data-table{min-width:100%;border-collapse:separate;border-spacing:0;background-color:var(--color-white);table-layout:fixed}.data-table thead{position:relative;z-index:50}.data-table--card{border-radius:var(--radius-12);box-shadow:var(--shadow-hover-soft)}.data-table--bordered{border:1px solid var(--color-border-light)}:root{--data-table-thead-h: 44px}.data-table th{padding:var(--space-sm-lg) var(--space-md);text-align:left;font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-text-label);text-transform:uppercase;letter-spacing:.05em;background-color:var(--color-bg-muted, #f3f4f6);border-bottom:1px solid var(--color-border-light);white-space:nowrap;-webkit-user-select:none;user-select:none;position:sticky;top:0}.data-table th{z-index:25;overflow:visible;box-shadow:inset 0 -1px 0 var(--color-border-light, #e5e7eb)}.data-table th.col-company-header,.data-table--card th.col-company-header,.data-table--dense th.col-company-header,.data-table tr.tr--rich th.col-company-header{padding-left:calc(var(--space-md) + 52px)!important}.data-table .data-table thead{position:static;z-index:auto}.data-table .data-table thead th{position:static;top:auto;z-index:auto}.rollup-filter-banner{position:sticky;top:var(--data-table-thead-h);z-index:11}.data-table .data-table--rollup-children-with-filter thead{position:relative;z-index:8}.data-table .data-table--rollup-children-with-filter thead th{position:sticky;top:calc(var(--data-table-thead-h) + var(--rollup-banner-h, 34px));z-index:9}.data-table th.col-sticky-right,.data-table td.col-sticky-right{position:sticky;right:0;z-index:5;background-color:var(--color-white);box-shadow:-4px 0 8px -2px #0000000f}.data-table th.col-sticky-right{z-index:30;background-color:var(--color-bg-muted, #f3f4f6)}.data-table th.col-sticky-left,.data-table td.col-sticky-left{position:sticky;left:0;z-index:5;background-color:var(--color-white)}.data-table th.col-sticky-left-2,.data-table td.col-sticky-left-2{position:sticky;left:40px;z-index:5;background-color:var(--color-white);box-shadow:4px 0 8px -2px #0000000f}.data-table th.col-sticky-left,.data-table th.col-sticky-left-2{z-index:30;background-color:var(--color-bg-muted, #f3f4f6)}.data-table tr[data-highlight=duplicate] td.col-sticky-left,.data-table tr[data-highlight=duplicate] td.col-sticky-left-2{background-color:#fef3c7}.th-resize-handle{position:absolute;top:0;right:-4px;width:12px;height:100%;cursor:col-resize!important;z-index:20;background:transparent;pointer-events:auto;transition:background-color .12s}.th-resize-handle--left{left:-4px;right:auto}.th-resize-handle:after{content:"";position:absolute;top:25%;bottom:25%;right:4px;width:2px;background-color:#6b728066;border-radius:1px;pointer-events:none;transition:background-color .12s,top .12s,bottom .12s}.th-resize-handle--left:after{right:auto;left:4px}.th-resize-handle:hover:after,.th-resize-handle--active:after{background-color:#3b82f6;top:10%;bottom:10%}.th-resize-handle:hover,.th-resize-handle--active{background-color:#3b82f62e}.data-table--truncate td{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-table--truncate td:has(.cell-chips-scroll),.data-table--truncate td:has([class*=row-actions]),.data-table--truncate td.cell-wrap{overflow:visible;text-overflow:clip;white-space:normal}.is-sortable{cursor:pointer;transition:background-color .15s ease}.is-sortable:hover{background-color:var(--color-bg-subtle, #f9fafb)}.sort-indicator{display:inline-block;margin-left:4px;font-size:10px;opacity:.7;vertical-align:middle}.sort-indicator--inactive{opacity:.25}.data-table tr{border-bottom:1px solid var(--color-border-light);transition:background-color .15s ease}.data-table tbody tr:hover{background-color:var(--color-bg-muted)}.data-table tr.is-selected{background-color:#ebf5ff}.data-table tr.is-expanded{background-color:#f0f9ff}.data-table tr.is-warning{background-color:var(--color-amber-50)}.data-table tr.is-error{background-color:var(--color-red-50)}.data-table tr.is-clickable{cursor:pointer}.data-table td{padding:var(--space-sm-lg) var(--space-md);font-size:var(--text-base);color:var(--color-text-body);vertical-align:middle;height:44px;max-height:44px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.data-table td[colspan]{height:auto;max-height:none;white-space:normal;overflow:visible;text-overflow:clip}.data-table--compact th{padding:var(--space-sm) var(--space-sm);font-size:var(--text-xs)}.data-table--compact td{padding:var(--space-xs-plus) var(--space-sm);font-size:var(--text-sm);height:36px;max-height:36px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.data-table--compact{border-radius:var(--radius-8)}.data-table--dense th{padding:var(--space-sm) var(--space-sm);font-size:var(--text-xs)}.data-table--dense td{padding:var(--space-xs-plus) var(--space-sm);font-size:var(--text-sm);height:40px;max-height:40px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.data-table__sort-icon{width:14px;height:14px;color:var(--color-text-tertiary)}.data-table__sort-icon.is-active{color:var(--color-anchor)}.data-table__toolbar{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md);border-bottom:1px solid var(--color-border-light);background-color:var(--color-bg-muted)}.data-table__search{padding:var(--space-sm) 14px;border-radius:var(--radius-sm);border:1px solid var(--color-border-input);font-size:var(--text-base);width:240px;outline:none}.data-table__search:focus{border-color:var(--color-primary)}.data-table__checkbox{width:16px;height:16px;cursor:pointer;accent-color:var(--color-anchor)}.data-table__checkbox--lg{width:18px;height:18px}.data-table__tel-link{color:var(--color-primary);text-decoration:none;transition:color .15s ease}.data-table__tel-link:hover{color:var(--color-primary-dark);text-decoration:underline}.data-table__maps-link{color:var(--color-primary);text-decoration:none;font-size:var(--text-xs-plus);transition:color .15s ease}.data-table__maps-link:hover{color:var(--color-primary-dark);text-decoration:underline}.pagination{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md);border-top:1px solid var(--color-border-light);background-color:var(--color-bg-muted)}.pagination__info{font-size:var(--text-sm-plus);color:var(--color-text-label)}.pagination__controls{display:flex;align-items:center;gap:var(--space-sm)}.pagination__btn{padding:var(--space-xs-plus) var(--space-sm-lg);border-radius:var(--radius-sm);border:1px solid var(--color-border-input);background-color:var(--color-white);font-size:var(--text-sm-plus);cursor:pointer;transition:all .15s ease}.pagination__btn:hover:not(:disabled){background-color:var(--color-bg-muted);border-color:var(--color-anchor)}.pagination__btn:disabled,.pagination__btn.is-disabled{opacity:.5;cursor:not-allowed}.pagination__btn.is-active{background-color:var(--color-anchor);color:var(--color-white);border-color:var(--color-anchor)}.pagination__size-select{padding:var(--space-xs-plus) var(--space-sm-lg);border-radius:var(--radius-sm);border:1px solid var(--color-border-input);font-size:var(--text-sm-plus);background-color:var(--color-white);cursor:pointer}.pagination-bar{display:flex;align-items:center;flex-wrap:wrap;gap:14px;padding:12px 4px;font-size:var(--text-sm-plus);color:var(--color-text-body)}.pagination-bar__nav-group{display:inline-flex;align-items:center;gap:6px}.pagination-bar__nav{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;border:1px solid transparent;background-color:var(--color-bg-muted);color:var(--color-text-body);cursor:pointer;padding:0;transition:background-color .15s ease,color .15s ease,border-color .15s ease}.pagination-bar__nav:hover:not(:disabled){background-color:var(--color-border-light);color:var(--color-anchor)}.pagination-bar__nav:disabled{opacity:.35;cursor:not-allowed}.pagination-bar__info{color:var(--color-text-body);font-size:var(--text-sm-plus);white-space:nowrap}.pagination-bar__info strong{color:var(--color-text-body);font-weight:var(--font-semibold, 600)}.pagination-bar__info-muted{color:var(--color-text-label);font-weight:400}.pagination-bar__sep{width:1px;height:22px;background-color:var(--color-border-light);flex-shrink:0}.pagination-bar__page-jump{display:inline-flex;align-items:center;gap:6px}.pagination-bar__page-input{width:52px;height:28px;padding:0 6px;border-radius:6px;border:1px solid var(--color-border-input);background-color:var(--color-white);font-size:var(--text-sm-plus);font-weight:var(--font-semibold, 600);color:var(--color-text-body);text-align:center;-moz-appearance:textfield}.pagination-bar__page-input::-webkit-outer-spin-button,.pagination-bar__page-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.pagination-bar__page-input:focus{outline:none;border-color:var(--color-anchor);box-shadow:0 0 0 2px #0f3d3e26}.pagination-bar__size{display:inline-flex;align-items:center;gap:8px;margin-left:auto}.pagination-bar__size-select-wrapper{position:relative;display:inline-flex;align-items:center}.pagination-bar__size-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;height:32px;padding:0 26px 0 12px;border-radius:8px;border:1px solid var(--color-border-light);background-color:var(--color-white);font-size:var(--text-sm-plus);font-weight:var(--font-semibold, 600);color:var(--color-anchor);cursor:pointer;line-height:1}.pagination-bar__size-select:hover{border-color:var(--color-anchor)}.pagination-bar__size-select:focus{outline:none;border-color:var(--color-anchor);box-shadow:0 0 0 2px #0f3d3e26}.pagination-bar__size-chevron{position:absolute;right:9px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--color-anchor)}.status-badge{padding:3px var(--space-sm);border-radius:var(--radius-xs);font-size:var(--text-xs);font-weight:var(--font-medium);display:inline-block;text-transform:capitalize}.status-badge--completed{background-color:var(--chip-active-bg);color:var(--chip-active-text)}.status-badge--processing{background-color:var(--chip-processing-bg);color:var(--chip-processing-text)}.status-badge--pending{background-color:var(--chip-pending-bg);color:var(--chip-pending-text)}.status-badge--error,.status-badge--failed{background-color:var(--chip-error-bg);color:var(--chip-error-text)}.status-badge--skipped{background-color:var(--chip-skipped-bg);color:var(--chip-skipped-text)}.status-badge--info{background-color:var(--color-info-light);color:var(--color-info-dark)}.action-btn{padding:var(--space-xs-plus) var(--space-sm-lg);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-semibold);cursor:pointer;border:none;transition:all .15s;white-space:nowrap;display:inline-flex;align-items:center;gap:4px;flex-shrink:0}.action-btn__spinner{width:10px;height:10px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;display:inline-block;animation:spin .8s linear infinite}.action-btn:hover:not(:disabled){filter:brightness(.92);box-shadow:0 1px 3px #00000026}.action-btn:active:not(:disabled){filter:brightness(.85);transform:translateY(1px)}.action-btn:disabled,.action-btn.is-disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.action-btn--approve{background:var(--action-btn-approve-bg);color:var(--action-btn-approve-text)}.action-btn--approve:hover:not(:disabled){background:var(--action-btn-approve-bg-hover);filter:none}.action-btn--reject{background:var(--action-btn-reject-bg);color:var(--action-btn-reject-text)}.action-btn--reject:hover:not(:disabled){background:var(--action-btn-reject-bg-hover);filter:none}.action-btn--enrich{background:var(--action-btn-enrich-bg);color:var(--action-btn-enrich-text)}.action-btn--enrich:hover:not(:disabled){background:var(--action-btn-enrich-bg-hover);filter:none}.action-btn--geocode{background:var(--action-btn-refresh-bg);color:var(--action-btn-refresh-text)}.action-btn--geocode:hover:not(:disabled){background:var(--action-btn-refresh-bg-hover);filter:none}.action-btn--refresh{background:var(--action-btn-refresh-bg);color:var(--action-btn-refresh-text)}.action-btn--refresh:hover:not(:disabled){background:var(--action-btn-refresh-bg-hover);filter:none}.action-btn--schedule{background:var(--action-btn-history-bg);color:var(--action-btn-history-text)}.action-btn--schedule:hover:not(:disabled){background:var(--action-btn-history-bg-hover);filter:none}.action-btn--delete{background:var(--action-btn-delete-bg);color:var(--action-btn-delete-text)}.action-btn--delete:hover:not(:disabled){background:var(--action-btn-delete-bg-hover);filter:none}.action-btn--scrape{background:var(--action-btn-scrape-bg);color:var(--action-btn-scrape-text)}.action-btn--scrape:hover:not(:disabled){background:var(--action-btn-scrape-bg-hover);filter:none}.action-btn--outline{background:transparent;color:var(--color-anchor)}.action-btn--outline:hover:not(:disabled){background:var(--action-btn-history-bg-hover);filter:none}.action-btn--more{background:var(--color-bg-subtle);color:var(--color-text-body);padding:var(--space-xs-plus) var(--space-sm)}.action-btn--primary{background:var(--color-primary);color:var(--color-white)}.action-btn--primary:hover:not(:disabled){background:var(--color-primary-dark);filter:none}.action-btn--danger{background:var(--chip-error-bg);color:var(--chip-error-text);border:1px solid var(--chip-error-border, #FCA5A5)}.action-btn--success{background:var(--chip-active-bg);color:var(--chip-active-text);border:1px solid var(--chip-active-border, #6EE7B7)}.action-btn--warning{background:#fef3c7;color:#92400e;border:1px solid #FCD34D}.action-btn--info{background:#e0e7ff;color:#3730a3;border:1px solid #A5B4FC}.action-btn--danger-subtle{background:#fef2f2;color:#991b1b;border:1px solid #FECACA}.action-btn--danger-outline{background:var(--color-white);color:var(--color-error-dark, #DC2626);border:1px solid var(--color-error-dark, #DC2626)}.action-btn--danger-outline:hover:not(:disabled){background:#fef2f2;filter:none}.action-btn--active{background:#e0e7ff;border-color:#a5b4fc;color:#3730a3}.action-btn--success-subtle{background:#f0fdf4;color:#166534;border:1px solid #BBF7D0}.action-btn--anchor{background:var(--color-anchor);color:var(--color-white)}.action-btn--anchor:hover:not(:disabled){background:var(--color-anchor-dark, #1a2332);filter:none}.action-btn--warning-solid{background:#f59e0b;color:var(--color-white)}.action-btn--warning-solid:hover:not(:disabled){background:#d97706;filter:none}.action-btn--accent{background:#6366f1;color:var(--color-white)}.action-btn--accent:hover:not(:disabled){background:#4f46e5;filter:none}.action-btn--detect{background:#f59e0b;color:var(--color-white)}.action-btn--detect:hover:not(:disabled){background:#d97706;filter:none}.action-btn--approve-ready{background:#0f3d3e;color:var(--color-white)}.action-btn--approve-ready:hover:not(:disabled){background:#174344;filter:none}.action-btn--lg{padding:var(--space-sm) var(--space-lg);font-size:var(--text-sm-plus);border-radius:var(--radius-md)}.action-btn--sm{padding:2px var(--space-xs);font-size:var(--text-xs)}.action-btn--xs{padding:1px var(--space-xs);font-size:9px}.selection-banner{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-md);font-size:var(--text-sm);border-radius:var(--radius-md)}.selection-banner--current-page{background:var(--color-bg-subtle);color:var(--color-text-body)}.selection-banner--all-pages{background:rgba(var(--color-primary-rgb),.1);color:var(--color-primary-dark)}.selection-banner__action{background:none;border:none;color:var(--color-primary);font-weight:var(--font-semibold);font-size:var(--text-sm);cursor:pointer;text-decoration:underline;padding:0;font-family:inherit}.selection-banner__action:hover{color:var(--color-primary-dark)}.loading-state{display:flex;align-items:center;justify-content:center;padding:var(--space-3xl);flex-direction:column;gap:var(--space-md)}.loading-state__spinner{width:40px;height:40px;border:3px solid var(--color-border-light);border-top-color:var(--color-anchor);border-radius:50%;animation:spin .8s linear infinite}.loading-state__text{font-size:var(--text-base);color:var(--color-text-label)}.empty-state{text-align:center;padding:var(--space-3xl) var(--space-lg);color:var(--color-text-label)}.empty-state__icon{font-size:48px;margin-bottom:var(--space-md)}.empty-state__title{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--color-text-body);margin:0 0 var(--space-sm) 0}.empty-state__text{font-size:var(--text-base);color:var(--color-text-label);margin:0}.error-state{padding:var(--space-lg);background-color:var(--color-red-50);border-radius:var(--radius-12);text-align:center}.error-state__text{color:#991b1b;font-size:var(--text-base)}.error-state__retry{margin-top:var(--space-sm-lg);padding:var(--space-sm-plus) var(--space-md-plus);background-color:var(--color-anchor);color:var(--color-white);border:none;border-radius:var(--radius-8);cursor:pointer;font-size:var(--text-base)}.data-table tr.tr--rich td,.data-table tr.tr--rich th{height:64px!important;max-height:none!important;padding-top:12px!important;padding-bottom:12px!important;vertical-align:middle!important;line-height:normal!important}.cell-site-name{font-weight:var(--font-medium);font-size:var(--text-sm);color:var(--color-text-body)}.cell-address{font-size:var(--text-sm);color:var(--color-text-body)}.cell-coordinates{font-family:var(--font-mono);font-size:var(--text-xs-plus);color:var(--color-text-label)}.cell-rating{display:flex;align-items:center;gap:var(--space-xs)}.cell-rating__star{color:var(--color-amber-400)}.cell-maps-link{color:var(--color-blue);text-decoration:none;font-size:var(--text-sm)}.cell-source-tags{display:flex;align-items:center;flex-wrap:nowrap;gap:2px;overflow:hidden}.row-actions{display:flex;gap:var(--space-xs);justify-content:flex-end;flex-wrap:nowrap}.row-action-btn{padding:4px 10px;font-size:var(--text-xs-plus, 12px);font-weight:var(--font-semibold, 600);border-radius:var(--radius-xs, 4px);border:0;cursor:pointer;transition:background-color .15s ease,color .15s ease;white-space:nowrap;line-height:1.4;letter-spacing:.01em}.row-action-btn--scrape{background-color:var(--action-btn-scrape-bg);color:var(--action-btn-scrape-text)}.row-action-btn--scrape:hover{background-color:var(--action-btn-scrape-bg-hover)}.row-action-btn--refresh{background-color:var(--action-btn-refresh-bg);color:var(--action-btn-refresh-text)}.row-action-btn--refresh:hover{background-color:var(--action-btn-refresh-bg-hover)}.row-action-btn--delete{background-color:var(--action-btn-delete-bg);color:var(--action-btn-delete-text)}.row-action-btn--delete:hover{background-color:var(--action-btn-delete-bg-hover)}.row-action-btn:disabled{opacity:var(--action-btn-disabled-opacity);cursor:not-allowed}.row-actions{display:inline-flex;align-items:center;justify-content:flex-start;gap:6px}.is-company-name{text-transform:uppercase;letter-spacing:var(--company-name-letter-spacing)}.company-row-cell{display:flex;align-items:center;gap:12px;width:100%;height:40px}.company-row-cell__favicon{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #E5E7EB;border-radius:6px;box-sizing:border-box;overflow:hidden}.company-row-cell__favicon-img{width:36px;height:36px;object-fit:contain;display:block}.company-row-cell__favicon-placeholder{width:36px;height:36px;border-radius:4px;background:#f3f4f6}.company-row-cell__text{display:flex;flex-direction:column;justify-content:center;min-width:0;flex:1 1 auto;gap:2px}.company-row-cell__name{font-size:14px;font-weight:600;line-height:1.35;color:var(--color-anchor, #0F3D3E);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.company-row-cell__url{font-size:13px;font-weight:500;line-height:1.35;color:#2563eb;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-decoration:none;display:block}.company-row-cell__url--inset{padding-left:7px}.is-hidden{display:none!important}.cell-clip{overflow:hidden}.cell-w-90{max-width:90px}.cell-w-100{max-width:100px}.cell-w-120{max-width:120px}.cell-w-140{max-width:140px}.cell-w-150{max-width:150px}.cell-w-160{max-width:160px}.cell-w-180{max-width:180px}.cell-w-200{max-width:200px}.col-w-24{width:24px;min-width:24px}.col-w-46{width:46px;min-width:46px}.col-w-52{width:52px;min-width:52px}.col-w-72{width:72px;min-width:72px}.col-w-74{width:74px;min-width:74px}.col-w-100{width:100px;min-width:100px}.col-w-140{width:140px;min-width:140px}.col-w-150{width:150px;min-width:150px}.col-w-160{width:160px;min-width:160px}.col-sticky-left-2-offset{left:24px}.cell-flush{padding:0}.cell-date{font-size:12px}.cell-date__empty{color:#9ca3af}.scrape-status{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500}.scrape-status__dot{width:8px;height:8px;border-radius:50%;background-color:currentColor;flex-shrink:0}.scrape-status__spinner{width:10px;height:10px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;display:inline-block;animation:spin .8s linear infinite;flex-shrink:0}.scrape-status__label{color:inherit}.scrape-status--scraped{color:#10b981}.scrape-status--scraping{color:#2563eb}.scrape-status--queued{color:#f59e0b}.scrape-status--paused{color:#6b7280}.scrape-status--failed{color:#ef4444}.scrape-status--never{color:#9ca3af}.empty-cell{color:#9ca3af;font-size:12px}.cell-center{text-align:center}.cell-chips-row{display:flex;flex-wrap:wrap;gap:2px}.cell-overflow-count{font-size:9px;color:var(--color-base-muted, #6B7280);padding:2px;align-self:center}.page-size-selector{display:flex;align-items:center;gap:6px;font-size:var(--text-sm, 14px);color:var(--color-text-label, #6B7280)}.page-size-selector select{padding:2px 6px;border:1px solid var(--color-border-input, #d1d5db);border-radius:var(--radius-xs, 4px);font-size:var(--text-sm, 14px);background:var(--color-white, #fff);color:var(--color-text-body, #374151);cursor:pointer}.search-input-lg{padding:var(--space-sm-plus) var(--space-md);border-radius:var(--radius-8);border:1px solid var(--color-border-input);font-size:var(--text-base);width:280px;outline:none}.search-input-lg:focus{border-color:var(--color-primary)}.filter-select{padding:var(--space-sm-plus) var(--space-md);border-radius:var(--radius-8);border:1px solid var(--color-border-input);font-size:var(--text-base);background-color:var(--color-white);cursor:pointer}.dropdown-menu{position:absolute;top:100%;right:0;margin-top:var(--space-xs);background-color:var(--color-white);border-radius:var(--radius-8);box-shadow:0 10px 40px #00000026;border:1px solid var(--color-border-light);min-width:160px;z-index:var(--z-dropdown);overflow:hidden}.dropdown-menu__item{padding:var(--space-sm-plus) var(--space-md);font-size:var(--text-base);color:var(--color-text-body);cursor:pointer;display:flex;align-items:center;gap:var(--space-sm);transition:background-color .15s ease;border:none;background-color:transparent;width:100%;text-align:left}.dropdown-menu__item:hover{background-color:var(--color-bg-muted)}.dropdown-menu__item--danger{color:var(--color-error-dark)}.dropdown-menu__item--danger:hover{background-color:var(--color-red-50)}.toast{position:fixed;bottom:var(--space-lg);right:var(--space-lg);padding:var(--space-sm-lg) var(--space-md-plus);border-radius:var(--radius-8);box-shadow:0 10px 40px #0003;z-index:var(--z-notification);animation:toast-slide-in .3s ease-out;display:flex;align-items:center;gap:var(--space-sm)}.toast--success{background-color:var(--chip-active-bg);color:var(--chip-active-text)}.toast--error{background-color:var(--chip-error-bg);color:var(--chip-error-text)}@keyframes toast-slide-in{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.progress-bar{width:100%}.progress-bar__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-xs-plus)}.progress-bar__label{font-size:var(--text-sm-plus);font-weight:var(--font-medium);color:var(--color-text-body)}.progress-bar__value{font-size:var(--text-sm-plus);font-weight:var(--font-semibold);color:var(--color-anchor)}.progress-bar__track{height:8px;background-color:var(--color-border-light);border-radius:var(--radius-full);overflow:hidden}.progress-bar__track--lg{height:12px}.progress-bar__track--sm{height:4px}.progress-bar__fill{height:100%;border-radius:var(--radius-full);transition:width .3s ease-in-out}.progress-bar__stages{display:flex;justify-content:space-between;margin-top:var(--space-sm);font-size:var(--text-xs-plus);color:var(--color-text-label)}.progress-bar__stage.is-active{color:var(--color-anchor);font-weight:var(--font-semibold)}.progress-bar__stage.is-completed{color:var(--color-success-dark)}.chip{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);padding:3px 10px;border-radius:9999px;font-size:var(--chip-font-size);font-weight:var(--chip-font-weight);letter-spacing:var(--chip-letter-spacing);white-space:nowrap;line-height:1.4;vertical-align:middle;transition:all .15s ease;box-sizing:border-box;text-transform:uppercase;background-color:var(--chip-default-bg);color:var(--chip-default-text);border:0}.chip--tiny{padding:1px 8px;height:18px;line-height:16px;gap:2px}.chip--small{padding:2px 9px;height:20px;line-height:16px}.chip--large{padding:5px 12px;height:26px;line-height:16px}.chip--interactive{cursor:pointer}.chip--is-active{outline:2px solid currentColor;outline-offset:1px;font-weight:700}.chip-cement-plant{background-color:var(--chip-cement-plant-bg);color:var(--chip-cement-plant-text)}.chip-cementitious-terminal{background-color:var(--chip-cementitious-terminal-bg);color:var(--chip-cementitious-terminal-text)}.chip-liquid-asphalt-terminal{background-color:var(--chip-liquid-asphalt-terminal-bg);color:var(--chip-liquid-asphalt-terminal-text)}.chip-ready-mix{background-color:var(--chip-ready-mix-bg);color:var(--chip-ready-mix-text)}.chip-asphalt{background-color:var(--chip-asphalt-bg);color:var(--chip-asphalt-text)}.chip-volumetric{background-color:var(--chip-volumetric-bg);color:var(--chip-volumetric-text)}.chip-stone{background-color:var(--chip-stone-bg);color:var(--chip-stone-text)}.chip-sand-gravel{background-color:var(--chip-sand-gravel-bg);color:var(--chip-sand-gravel-text)}.chip-yard-transload{background-color:var(--chip-yard-transload-bg);color:var(--chip-yard-transload-text)}.chip-block-cmu-paver{background-color:var(--chip-block-cmu-paver-bg);color:var(--chip-block-cmu-paver-text)}.chip-precast-pipe{background-color:var(--chip-precast-pipe-bg);color:var(--chip-precast-pipe-text)}.chip-recycling{background-color:var(--chip-recycling-bg);color:var(--chip-recycling-text)}.chip-office{background-color:var(--chip-office-bg);color:var(--chip-office-text)}.chip-other{background-color:var(--chip-other-bg);color:var(--chip-other-text)}.chip-unknown{background-color:var(--chip-unknown-bg);color:var(--chip-unknown-text)}.chip-cement{background-color:var(--chip-cement-bg);color:var(--chip-cement-text)}.chip-block{background-color:var(--chip-block-bg);color:var(--chip-block-text)}.chip-active{background-color:var(--chip-active-bg);color:var(--chip-active-text)}.chip-inactive{background-color:var(--chip-inactive-bg);color:var(--chip-inactive-text)}.chip-pending{background-color:var(--chip-pending-bg);color:var(--chip-pending-text)}.chip-error{background-color:var(--chip-error-bg);color:var(--chip-error-text)}.chip-processing{background-color:var(--chip-processing-bg);color:var(--chip-processing-text)}.chip-skipped{background-color:var(--chip-skipped-bg);color:var(--chip-skipped-text)}.chip-intermittent{background-color:var(--chip-intermittent-bg);color:var(--chip-intermittent-text)}.chip-temporarily-idled{background-color:var(--chip-temporarily-idled-bg);color:var(--chip-temporarily-idled-text)}.chip-abandoned{background-color:var(--chip-abandoned-bg);color:var(--chip-abandoned-text)}.chip-nonproducing{background-color:var(--chip-nonproducing-bg);color:var(--chip-nonproducing-text)}.chip-verified{background-color:var(--chip-verified-bg);color:var(--chip-verified-text)}.chip-unverified{background-color:var(--chip-unverified-bg);color:var(--chip-unverified-text)}.chip-google-verified{background-color:var(--chip-google-verified-bg);color:var(--chip-google-verified-text)}.chip-multi-source{background-color:var(--chip-multi-source-bg);color:var(--chip-multi-source-text)}.chip-state{background-color:var(--chip-state-bg);color:var(--chip-state-text)}.chip-subsidiary{background-color:var(--chip-subsidiary-bg);color:var(--chip-subsidiary-text)}.chip-source,.chip-scraper,.chip-upload,.chip-manual,.chip-msha,.chip-csv-import,.chip-google,.chip-google-places,.chip-geocoded,.chip-scraped,.chip-nrmca,.chip-pca,.chip-nssga,.chip-crh,.chip-website{background-color:var(--chip-source-bg);color:var(--chip-source-text)}.chip-default{background-color:var(--chip-default-bg);color:var(--chip-default-text)}.chip-deal-asset{background-color:#dbeafe;color:#1e40af}.chip-deal-stock{background-color:#e0e7ff;color:#3730a3}.chip-deal-merger{background-color:#fce7f3;color:#9d174d}.chip-deal-jv{background-color:#fef3c7;color:#92400e}.chip-deal-unknown{background-color:var(--chip-default-bg);color:var(--chip-default-text)}.chip-tx-status-rumored{background-color:#fef3c7;color:#92400e}.chip-tx-status-announced{background-color:#dbeafe;color:#1e40af}.chip-tx-status-pending{background-color:#e0e7ff;color:#3730a3}.chip-tx-status-closed,.chip-tx-status-completed{background-color:#d1fae5;color:#065f46}.chip-tx-status-terminated,.chip-tx-status-cancelled{background-color:#fee2e2;color:#991b1b}.chip-asset-cement{background-color:#e5e7eb;color:#374151}.chip-asset-aggregates{background-color:#fef3c7;color:#92400e}.chip-asset-ready-mix{background-color:#dbeafe;color:#1e40af}.chip-asset-asphalt{background-color:#1f2937;color:#f9fafb}.chip-asset-sand-gravel{background-color:#fde68a;color:#78350f}.chip-asset-block{background-color:#e0e7ff;color:#3730a3}.chip-asset-precast{background-color:#ddd6fe;color:#5b21b6}.chip-unresolved{background-color:#fef3c7;color:#92400e;border:1px dashed #D97706}.chip-published{background-color:#d1fae5;color:#065f46}.chip-unpublished{background-color:var(--chip-default-bg);color:var(--chip-default-text)}.chip__icon{width:12px;height:12px;flex-shrink:0}.chip__remove{cursor:pointer;margin-left:2px;opacity:.7}.chip__remove:hover{opacity:1}.chip-group{display:inline-flex;align-items:center;flex-wrap:nowrap;gap:var(--space-xs)}.cell-chips-scroll{display:flex;flex-direction:column;align-items:flex-start;gap:3px;max-height:39px;overflow-y:auto;overflow-x:hidden}.cell-chips-scroll::-webkit-scrollbar{width:6px}.cell-chips-scroll::-webkit-scrollbar-track{background:transparent}.cell-chips-scroll::-webkit-scrollbar-thumb{background:var(--color-border-light, #E5E7EB);border-radius:9999px}.cell-chips-scroll::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary, #9CA3AF)}.cell-chips-scroll{scrollbar-width:thin;scrollbar-color:var(--color-border-light, #E5E7EB) transparent}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:var(--z-overlay);animation:modal-fade-in .15s ease-out}.modal{background-color:var(--color-white);border-radius:var(--radius-xl);box-shadow:var(--shadow-modal);max-height:90vh;max-width:90vw;display:flex;flex-direction:column;animation:modal-slide-up .2s ease-out}.modal--sm{width:400px}.modal--md{width:600px}.modal--lg{width:800px}.modal--full{width:95vw;height:90vh}.modal--inline{width:480px}.modal__header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md-plus) var(--space-lg);border-bottom:1px solid var(--color-border-light)}.modal__title{margin:0;font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--color-anchor)}.modal__subtitle{margin:var(--space-xs) 0 0 0;font-size:var(--text-sm-plus);color:var(--color-text-label)}.modal__close{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-8);border:none;background-color:transparent;color:var(--color-text-label);cursor:pointer;transition:all .15s ease}.modal__close:hover{background-color:var(--color-bg-subtle);color:var(--color-text-body)}.modal__body{flex:1;overflow:auto;padding:var(--space-lg)}.modal__body--no-padding{padding:0}.modal__footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-sm-lg);padding:var(--space-md) var(--space-lg);border-top:1px solid var(--color-border-light);background-color:var(--color-bg-muted);border-radius:0 0 var(--radius-xl) var(--radius-xl)}.modal__message{margin:0;color:#4b5563;line-height:1.6}.modal-btn{padding:var(--space-sm-plus) var(--space-md-plus);border-radius:var(--radius-8);font-size:var(--text-base);font-weight:var(--font-medium);cursor:pointer;transition:all .15s ease;border:none}.modal-btn:disabled{opacity:.5;cursor:not-allowed}.modal-btn--primary{background-color:var(--color-anchor);color:var(--color-white)}.modal-btn--primary:hover:not(:disabled){opacity:.9}.modal-btn--secondary{background-color:var(--color-white);color:var(--color-text-body);border:1px solid var(--color-border-input)}.modal-btn--secondary:hover:not(:disabled){background-color:var(--color-bg-muted)}.modal-btn--danger{background-color:var(--color-error-dark);color:var(--color-white)}.modal-btn--danger:hover:not(:disabled){opacity:.9}.modal-input{width:100%;padding:var(--space-sm-lg) var(--space-md);border-radius:var(--radius-8);border:1px solid var(--color-border-input);font-size:var(--text-base);outline:none;box-sizing:border-box}.modal-input:focus{border-color:var(--color-primary)}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.form-group{display:flex;flex-direction:column;gap:var(--space-xs-plus)}.form-label{font-size:var(--text-sm-plus);font-weight:var(--font-medium);color:var(--color-text-body)}.form-input{padding:var(--space-sm-plus) var(--space-sm-lg);border-radius:var(--radius-8);border:1px solid var(--color-border-input);font-size:var(--text-base);outline:none}.form-input:focus{border-color:var(--color-primary)}.form-select{padding:var(--space-sm-plus) var(--space-sm-lg);border-radius:var(--radius-8);border:1px solid var(--color-border-input);font-size:var(--text-base);background-color:var(--color-white);cursor:pointer}.form-hint{font-size:var(--text-sm);color:var(--color-text-label)}.expand-icon{width:20px;height:20px;color:var(--color-text-tertiary);transition:transform .2s ease}.expand-icon.is-open{transform:rotate(90deg)}.count-badge{display:inline-flex;align-items:center;justify-content:center;background-color:var(--color-border-light);color:var(--color-text-body);font-size:var(--text-sm);font-weight:var(--font-semibold);padding:var(--space-xs) var(--space-sm-plus);border-radius:var(--radius-12)}.status-dot{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:var(--space-sm)}.duplicate-badge{display:inline-block;padding:2px var(--space-xs-plus);border-radius:var(--radius-xs);font-size:var(--text-xs);font-weight:var(--font-semibold);background-color:var(--color-warning-light);color:#92400e;margin-left:var(--space-xs-plus)}.sub-tab-bar{display:flex;gap:var(--space-xs);margin-bottom:var(--space-lg);border-bottom:2px solid var(--color-border-light);padding-bottom:0}.sub-tab{padding:var(--space-sm-lg) var(--space-md-plus);font-size:var(--text-base);font-weight:var(--font-medium);color:var(--color-text-label);background:none;border:none;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .15s ease;display:flex;align-items:center;gap:var(--space-sm)}.sub-tab:hover{color:var(--color-text-body)}.sub-tab.is-active{color:var(--color-anchor);border-bottom-color:var(--color-anchor);font-weight:var(--font-semibold)}.sub-tab__badge{background:var(--color-error);color:var(--color-white);font-size:var(--text-xs-plus);font-weight:var(--font-semibold);padding:2px var(--space-sm);border-radius:var(--radius-sm-plus, 10px);min-width:20px;text-align:center}.sub-tab__badge--muted{background:var(--color-text-tertiary)}.view-more{padding:var(--space-sm-lg);text-align:center}.view-more__btn{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);border:1px solid var(--color-border-input);background-color:var(--color-white);font-size:var(--text-sm-plus);color:var(--color-text-body);cursor:pointer}.view-more__btn:hover{background-color:var(--color-bg-muted)}.touch-device .top-toolbar button,.touch-device .sub-toolbar button{min-height:0;min-width:0}.top-toolbar{position:fixed;top:0;left:0;right:0;display:flex;align-items:center;gap:var(--space-sm);height:var(--top-toolbar-height);padding:0 var(--space-sm-lg);background:var(--color-anchor);flex-shrink:0;z-index:var(--z-toolbar);overflow:visible}.brand{display:flex;align-items:center;gap:var(--space-sm);flex-shrink:0}.brand-icon{width:32px;height:32px;background:var(--color-primary);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center}.brand-icon svg{width:18px;height:18px;fill:none;stroke:#fff;stroke-width:2}.brand-text{font-size:15px;font-weight:600;color:#fff}.brand-text span{color:var(--color-primary)}.top-toolbar-spacer{flex:1}.top-bar-divider{width:1px;height:32px;background:#ffffff26;flex-shrink:0}.main-menu{display:flex;align-items:center;gap:2px;margin-left:var(--space-sm)}.main-menu-item{position:relative}.main-menu-btn{display:flex;align-items:center;gap:6px;padding:5px 8px;background:transparent;border:none;border-radius:var(--radius-sm);color:#fffc;cursor:pointer;transition:all var(--transition-fast);font-family:var(--font-primary);font-size:var(--text-sm-plus);font-weight:500}.main-menu-btn:hover{background:#ffffff1a;color:#fff}.main-menu-btn .chevron{width:12px;height:12px;transition:transform .2s ease}.main-menu-item.open .main-menu-btn{background:#ffffff1a;color:#fff}.main-menu-item.open .chevron{transform:rotate(180deg)}.main-menu-dropdown{position:absolute;top:calc(100% + 8px);left:0;min-width:200px;background:var(--color-surface-light);border-radius:var(--radius-md);box-shadow:var(--shadow-elevation-3);z-index:var(--z-overlay);display:none;overflow:hidden}.main-menu-item.open .main-menu-dropdown{display:block}.main-menu-link{display:flex;align-items:center;gap:var(--space-sm-plus);padding:var(--space-sm-plus) 14px;color:var(--color-base);text-decoration:none;transition:all .1s ease;font-size:var(--text-sm-plus);font-weight:500}.main-menu-link:hover{background:var(--color-primary);color:#fff}.main-menu-link.active{background:var(--color-surface)}.main-menu-link svg{width:16px;height:16px;flex-shrink:0}.user-menu{position:relative;overflow:visible}.user-menu-btn{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs-plus) 12px;background:transparent;border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-lg);color:#fff;cursor:pointer;transition:all var(--transition-fast);font-family:var(--font-primary);font-size:var(--text-sm-plus);font-weight:500}.user-menu-btn:hover{background:#ffffff14;border-color:#ffffff4d}.user-menu-btn svg{width:16px;height:16px}.user-menu-btn .chevron{width:12px;height:12px;transition:transform .2s ease}.user-menu.open .user-menu-btn{background:#ffffff1a;border-color:var(--color-primary)}.user-menu.open .chevron{transform:rotate(180deg)}.user-menu-dropdown{position:fixed;min-width:180px;background:var(--color-surface-light);border-radius:var(--radius-md);box-shadow:0 4px 20px #00000040;z-index:var(--z-fullscreen);display:none}.user-menu.open .user-menu-dropdown{display:block}.user-menu-item{display:flex;align-items:center;gap:var(--space-sm-plus);padding:var(--space-sm-plus) 14px;color:var(--color-base);cursor:pointer;transition:all .1s ease;font-size:var(--text-sm-plus);font-weight:500;border:none;background:none;width:100%;text-align:left}.user-menu-item:hover{background:var(--color-primary);color:#fff}.user-menu-item svg{width:16px;height:16px}.user-menu-divider{height:1px;background:var(--color-surface-dark);margin:var(--space-xs) 0}.sub-toolbar{position:fixed;top:var(--top-toolbar-height, 48px);left:var(--map-left-offset, 500px);right:0;height:var(--sub-toolbar-height, 44px);padding:0 var(--space-sm-lg);background:var(--color-surface-light, #f8fafa);border-bottom:1px solid var(--color-surface-dark, #e0e5e5);z-index:var(--z-dropdown);display:flex;align-items:center;transition:left .25s ease;overflow:visible}body.nav-collapsed .sub-toolbar{left:calc(var(--nav-sidebar-collapsed-width) + var(--layers-current-width))}body.layers-collapsed .sub-toolbar{left:calc(var(--nav-current-width) + 60px)}body.nav-collapsed.layers-collapsed .sub-toolbar{left:calc(var(--nav-sidebar-collapsed-width) + 60px)}.sub-toolbar-content{display:flex;align-items:center;gap:var(--space-sm-lg);flex:1;justify-content:space-between;overflow:visible}.sub-toolbar-left,.sub-toolbar-right{display:flex;align-items:center;gap:var(--space-sm);overflow:visible}.topbar-tools{display:flex;align-items:center;gap:var(--space-xs);justify-content:flex-start;flex:1;overflow:visible}.topbar-tool{position:relative;overflow:visible}.topbar-tool-btn{display:flex;align-items:center;gap:var(--space-sm);height:40px;padding:0 var(--space-md);min-width:120px;justify-content:center;background:transparent;border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-lg);color:#fff;font-family:var(--font-primary);font-size:var(--text-base);font-weight:500;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast);white-space:nowrap}.topbar-tool-btn:hover{background:#ffffff14;border-color:#ffffff4d}.topbar-tool-btn.active{background:var(--color-primary);border-color:var(--color-primary)}.topbar-tool-btn svg{width:18px;height:18px;flex-shrink:0}.topbar-tool-btn .chevron{width:14px;height:14px;margin-left:var(--space-2xs);transition:transform .2s ease}.topbar-tool-btn.active .chevron{transform:rotate(180deg)}.sub-toolbar .topbar-tool-btn{background:var(--color-surface);border:none;color:var(--color-base);height:28px;padding:0 10px;min-width:auto;font-size:var(--text-sm-plus);border-radius:var(--radius-sm);transition:background var(--transition-fast),color var(--transition-fast)}.sub-toolbar .topbar-tool-btn:hover{background:var(--color-surface-dark)}.sub-toolbar .topbar-tool-btn.active{background:var(--color-primary);color:#fff}.touch-device .nav-sidebar button,.touch-device .left-sidebar button{min-height:0;min-width:0}.nav-sidebar{position:fixed;top:var(--top-toolbar-height);bottom:0;left:0;width:var(--nav-sidebar-width);background:var(--color-anchor);z-index:var(--z-nav);display:flex;flex-direction:column;overflow:hidden;box-shadow:4px 0 16px rgba(var(--color-black-rgb),.2);transition:width .25s ease}.nav-sidebar-content{flex:1;overflow-y:auto;overflow-x:hidden}.nav-sidebar.collapsed{width:var(--nav-sidebar-collapsed-width)}.nav-sidebar.collapsed:hover:not(.pinned){width:var(--nav-sidebar-width)}.nav-sidebar-content::-webkit-scrollbar{width:6px}.nav-sidebar-content::-webkit-scrollbar-track{background:rgba(var(--color-white-rgb),.05)}.nav-sidebar-content::-webkit-scrollbar-thumb{background:rgba(var(--color-white-rgb),.2);border-radius:var(--radius-3)}.nav-sidebar-content::-webkit-scrollbar-thumb:hover{background:rgba(var(--color-white-rgb),.3)}.nav-sidebar-header{display:flex;align-items:center;justify-content:flex-start;padding:var(--space-md) var(--space-lg);border-bottom:1px solid rgba(var(--color-white-rgb),.1);background:rgba(var(--color-white-rgb),.05);flex-shrink:0}.nav-sidebar-title{font-size:var(--text-base);font-weight:600;color:var(--color-white);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;transition:opacity .25s ease;margin:0}.nav-sidebar.collapsed .nav-sidebar-header{display:none}.nav-sidebar.collapsed:hover:not(.pinned) .nav-sidebar-header{display:flex}.nav-sidebar-footer{border-top:1px solid rgba(var(--color-white-rgb),.1);padding:var(--space-sm) 12px;display:flex;align-items:center;justify-content:flex-start;flex-shrink:0;background:var(--color-anchor)}.nav-sidebar.collapsed .nav-sidebar-footer{padding:var(--space-sm) 12px;justify-content:flex-start}.nav-toggle-integrated{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:rgba(var(--color-white-rgb),.1);border:1px solid rgba(var(--color-white-rgb),.2);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);padding:0;font-family:inherit}.nav-toggle-integrated:hover{background:rgba(var(--color-white-rgb),.2)}.nav-toggle-integrated svg{width:20px;height:20px;color:var(--color-white);transition:transform .25s ease}.nav-sidebar.collapsed .nav-toggle-integrated svg{transform:scaleX(-1)}.nav-section{padding:0;position:relative}.nav-section:first-child{padding-top:2px}.nav-header{padding:10px 14px 3px;font-size:11px;font-weight:700;color:rgba(var(--color-white-rgb),.5);text-transform:uppercase;letter-spacing:.06em;margin:0;white-space:nowrap;line-height:1;transition:opacity .25s ease}.nav-header-abbr{display:none;padding:var(--space-xs) 14px;font-size:var(--text-2xs);font-weight:700;color:rgba(var(--color-white-rgb),.6);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-2xs)}.nav-sidebar.collapsed .nav-header{display:none}.nav-sidebar.collapsed .nav-header-abbr{display:block}.nav-sidebar.collapsed:hover:not(.pinned) .nav-header{display:block}.nav-sidebar.collapsed:hover:not(.pinned) .nav-header-abbr{display:none}.nav-item{display:flex;align-items:center;gap:6px;padding:4px 14px;height:32px;max-height:32px;box-sizing:border-box;color:rgba(var(--color-white-rgb),.7);font-size:13px;font-weight:500;line-height:1;cursor:pointer;transition:all var(--transition-fast);text-decoration:none;border-left:2px solid transparent;border-radius:var(--radius-md);position:relative;white-space:nowrap;overflow:hidden;margin:0}.nav-item:hover{background:rgba(var(--color-white-rgb),.05);color:rgba(var(--color-white-rgb),.9)}.nav-item.active{background:rgba(var(--color-primary-rgb),.15);color:var(--color-white);border-left-color:var(--color-primary)}.nav-item-icon{width:16px;height:16px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.nav-item-icon svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2}.nav-sidebar.collapsed .nav-item{justify-content:flex-start;padding:4px var(--space-sm-lg)}.nav-sidebar.collapsed:hover:not(.pinned) .nav-item{justify-content:flex-start;padding:4px var(--space-sm-lg)}.nav-sidebar.collapsed .nav-item-icon{width:16px}.nav-item span{white-space:nowrap;transition:opacity .25s ease}.nav-sidebar.collapsed .nav-item span{opacity:0;position:absolute;pointer-events:none}.nav-sidebar.collapsed:hover:not(.pinned) .nav-item span{opacity:1;position:relative}.nav-divider{height:1px;background:rgba(var(--color-white-rgb),.1);margin:var(--space-xs) 12px;transition:margin .25s ease}.nav-sidebar.collapsed .nav-divider{margin:var(--space-xs) 12px}.nav-sidebar.collapsed:hover:not(.pinned) .nav-divider{margin:var(--space-xs) 12px}.left-sidebar{position:fixed;top:var(--top-toolbar-height);bottom:0;left:var(--nav-current-width);width:var(--sidebar-width);background:var(--color-surface);border-right:1px solid var(--color-surface-dark);box-shadow:8px 0 32px rgba(var(--color-anchor-rgb),.1);z-index:var(--z-sidebar);display:flex;flex-direction:column;transition:left .25s ease,width .25s ease;overflow:hidden}.left-sidebar.collapsed{width:60px}.left-sidebar.collapsed .sidebar-toggle-integrated svg{transform:scaleX(-1)}.left-sidebar.collapsed .sidebar-header{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-90deg);border:none;background:none;padding:0;white-space:nowrap;z-index:var(--z-base)}.left-sidebar.collapsed .sidebar-header .sidebar-title{font-size:var(--text-sm);color:var(--color-base-muted)}.sidebar-section{display:flex;flex-direction:column;border-bottom:1px solid var(--color-surface-dark)}.sidebar-section:last-child{border-bottom:none}.sidebar-section.collapsed .sidebar-section-body{display:none}.sidebar-header{display:flex;align-items:center;justify-content:flex-start;padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--color-surface-dark);background:var(--color-surface-light);flex-shrink:0}.sidebar-content{flex:1;overflow-y:auto}.left-sidebar.collapsed .sidebar-content{display:none}.sidebar-footer{margin-top:auto;border-top:1px solid var(--color-surface-dark);display:flex;align-items:center;justify-content:flex-start;padding:var(--space-sm) 12px;background:var(--color-surface-light);flex-shrink:0;position:relative;z-index:var(--z-controls)}.left-sidebar.collapsed .sidebar-footer{padding:var(--space-sm);justify-content:center}.sidebar-toggle-integrated{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--color-surface);border:1px solid var(--color-surface-dark);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);padding:0}.sidebar-toggle-integrated:hover{background:var(--color-surface-dark);color:var(--color-base)}.sidebar-toggle-integrated svg{width:20px;height:20px;color:var(--color-base-muted);transition:transform .25s ease}.sidebar-section-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-lg);background:var(--color-surface-light);cursor:pointer}.sidebar-section-header:hover{background:var(--color-surface-dark)}.sidebar-title{font-size:var(--text-base);font-weight:600;color:var(--color-base);text-transform:uppercase;letter-spacing:.05em}.sidebar-section-toggle{width:20px;height:20px;display:flex;align-items:center;justify-content:center;color:var(--color-base-muted);transition:transform .25s ease}.sidebar-section.collapsed .sidebar-section-toggle{transform:rotate(-90deg)}.sidebar-section-body{display:flex;flex-direction:column}.sidebar-search{padding:var(--space-md);border-bottom:1px solid var(--color-surface-dark)}.sidebar-search-wrapper{position:relative}.sidebar-search-input{width:100%;height:36px;padding:0 var(--space-sm) 0 36px;background:var(--color-surface-light);border:1px solid var(--color-surface-dark);border-radius:var(--radius-md);font-family:var(--font-primary);font-size:var(--text-sm-plus);color:var(--color-base);box-shadow:var(--shadow-neu-inner)}.sidebar-search-input:focus{outline:none;border-color:var(--color-primary)}.sidebar-search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--color-base-light)}.sidebar-list{flex:1;overflow-y:auto;padding:var(--space-xs);max-height:400px}.company-item,.railroad-item{display:flex;align-items:center;gap:var(--space-xs-plus);padding:var(--space-xs) 6px;border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast)}.company-item:hover,.railroad-item:hover{background:var(--color-surface-light)}.company-item.selected,.railroad-item.selected{background:rgba(var(--color-primary-rgb),.1)}.company-checkbox,.railroad-checkbox{width:16px;height:16px;border:2px solid var(--color-base-light);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all var(--transition-fast)}.company-item.selected .company-checkbox,.railroad-item.selected .railroad-checkbox{background:var(--color-primary);border-color:var(--color-primary)}.company-checkbox svg,.railroad-checkbox svg{width:10px;height:10px;color:var(--color-white);opacity:0}.company-item.selected .company-checkbox svg,.railroad-item.selected .railroad-checkbox svg{opacity:1}.company-name,.railroad-name{flex:1;font-size:var(--text-xs-plus);font-weight:500;color:var(--color-base)}.company-name{text-transform:uppercase;letter-spacing:var(--company-name-letter-spacing)}.sidebar-actions{display:flex;gap:var(--space-sm);padding:var(--space-md);border-top:1px solid var(--color-surface-dark)}.sidebar-btn{flex:1;height:36px;font-family:var(--font-primary);font-size:var(--text-sm);font-weight:500;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.sidebar-btn.secondary{background:var(--color-surface-light);border:1px solid var(--color-surface-dark);color:var(--color-base-muted);box-shadow:var(--shadow-neu-outer-sm)}.sidebar-btn.secondary:hover{color:var(--color-base)}.sidebar-btn.primary{background:var(--color-primary);border:none;color:var(--color-white)}.sidebar-btn.primary:hover{background:var(--color-primary-dark)}.geography-tabs{display:flex;gap:var(--space-xs);margin-bottom:var(--space-sm)}.geography-tab{flex:1;padding:var(--space-xs-plus) 8px;font-size:var(--text-xs-plus);font-weight:500;font-family:var(--font-primary);background:var(--color-surface-light);border:1px solid var(--color-surface-dark);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);color:var(--color-base-muted)}.geography-tab:hover{background:var(--color-surface-dark);color:var(--color-base)}.geography-tab.active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-white)}.basemap-panel{position:absolute;top:0;right:calc(100% + 10px);background:#fff;border-radius:var(--radius-8);box-shadow:0 4px 20px rgba(var(--color-black-rgb),.15);padding:var(--space-sm-lg);display:none;z-index:var(--z-overlay);width:240px}.basemap-panel.visible{display:block}.basemap-panel-title{font-size:var(--text-xs-plus);font-weight:600;color:#333;margin-bottom:var(--space-sm-plus);padding-bottom:var(--space-sm);border-bottom:1px solid #eee}.basemap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-sm)}.basemap-option{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs-plus);padding:var(--space-sm) 4px;background:#f8f9fa;border:2px solid transparent;border-radius:var(--radius-sm);cursor:pointer;transition:all .15s ease;text-align:center}.basemap-option:hover{background:#fff;border-color:#2ecc71;transform:translateY(-1px);box-shadow:0 2px 8px rgba(var(--color-primary-rgb),.2)}.basemap-option.active{background:#fff;border-color:#2ecc71;box-shadow:0 0 0 1px #2ecc71}.basemap-thumbnail{width:56px;height:40px;border-radius:var(--radius-xs);background-size:cover;background-position:center;border:1px solid #ddd;flex-shrink:0}.basemap-option.active .basemap-thumbnail{border-color:#2ecc71}.basemap-name{font-size:var(--text-xs);font-weight:500;color:#555;white-space:nowrap}.basemap-option.active .basemap-name{color:#2ecc71;font-weight:600}.marker-options-panel{position:absolute;top:0;right:calc(100% + 8px);background:#fff;border-radius:var(--radius-md);box-shadow:0 4px 20px rgba(var(--color-black-rgb),.15);z-index:var(--z-overlay);min-width:280px;display:none;max-height:calc(100vh - 300px);overflow-y:auto}.marker-options-panel.visible{display:block}.marker-panel-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm-plus) 12px;border-bottom:1px solid #e0e0e0;background:#f8f9fa;border-radius:var(--radius-md) 10px 0 0}.marker-panel-title{font-size:var(--text-xs-plus);font-weight:700;color:#333;margin:0;text-transform:uppercase;letter-spacing:.05em}.marker-collapse{background:none;border:none;cursor:pointer;padding:var(--space-xs);color:#666;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-xs)}.marker-collapse:hover{color:#333;background:#e0e0e0}.marker-panel-body{padding:var(--space-sm-lg)}.marker-section{margin-bottom:var(--space-sm-lg)}.marker-section:last-child{margin-bottom:0}.marker-section-title{font-size:var(--text-xs-plus);font-weight:700;color:#333;text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-sm)}.marker-style-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:var(--space-xs-plus)}.marker-style-btn,.marker-style-option{width:28px;height:28px;background:#f5f5f5;border:2px solid #ddd;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease;padding:var(--space-xs)}.marker-style-btn:hover,.marker-style-option:hover{border-color:#2ecc71;transform:scale(1.08)}.marker-style-btn.active,.marker-style-option.active{border-color:#2ecc71;background:rgba(var(--color-primary-rgb),.15)}.marker-style-preview{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#333}.marker-style-preview svg{width:16px;height:16px}.marker-style-option img{width:100%;height:100%;object-fit:contain}.marker-slider-container{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm)}.marker-slider-container:last-child{margin-bottom:0}.marker-slider-label{font-size:var(--text-sm);font-weight:600;color:#333;flex:1;white-space:nowrap}.marker-slider{flex:1;height:6px;-webkit-appearance:none;appearance:none;background:#ddd;border-radius:var(--radius-3);cursor:pointer}.marker-slider::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;background:#2ecc71;border-radius:50%;cursor:pointer}.marker-slider::-moz-range-thumb{width:14px;height:14px;background:#2ecc71;border:none;border-radius:50%;cursor:pointer}.marker-slider-value{width:48px;height:28px;padding:0 6px;background:#fff;border:1px solid #ddd;border-radius:var(--radius-sm);font-family:var(--font-primary);font-size:var(--text-xs-plus);font-weight:600;color:#333;text-align:center}.marker-slider-value:focus{outline:none;border-color:#2ecc71}.measure-type-option{padding:var(--space-sm) 12px;margin-bottom:var(--space-xs);background:var(--color-surface);border:2px solid var(--color-surface-dark);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.measure-type-option:hover{border-color:var(--color-primary)}.measure-type-option.active{border-color:var(--color-primary);background:rgba(var(--color-primary-rgb),.1)}.measure-type-label{font-size:var(--text-sm);font-weight:600;color:var(--color-base);margin-bottom:var(--space-2xs)}.measure-type-desc{font-size:var(--text-xs);color:var(--color-base-muted)}.other-layer-section{padding:var(--space-sm-plus) 0;border-bottom:1px solid var(--color-surface-dark)}.other-layer-section:last-child{border-bottom:none;padding-bottom:0}.other-layer-section:first-of-type{padding-top:0}.legend-panel{position:absolute;top:100px;left:10px;background:var(--color-surface-light);border-radius:var(--radius-md);box-shadow:var(--shadow-neu-outer);padding:var(--space-sm-plus);z-index:var(--z-header);width:calc((100% - 70px) / 6);min-width:120px;max-width:280px;max-height:calc(100% - 120px);transition:none;resize:both;overflow:auto}.legend-panel.dragging{box-shadow:0 8px 32px rgba(var(--color-black-rgb),.25)}.legend-panel.collapsed{height:auto;resize:none}.legend-panel::-webkit-resizer{cursor:nwse-resize}.legend-panel:after{content:"";position:absolute;bottom:2px;right:2px;width:12px;height:12px;background:linear-gradient(135deg,transparent 50%,var(--color-base-muted) 50%,var(--color-base-muted) 60%,transparent 60%,transparent 70%,var(--color-base-muted) 70%,var(--color-base-muted) 80%,transparent 80%);opacity:.6;pointer-events:none;border-radius:0 0 4px}.legend-panel.collapsed:after{display:none}.legend-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-xs);height:20px;cursor:grab}.legend-header:active{cursor:grabbing}.legend-panel.collapsed .legend-header{margin-bottom:0}.legend-title{font-size:var(--text-xs-plus);font-weight:600;color:var(--color-base-muted);text-transform:uppercase;letter-spacing:.1em;line-height:20px;cursor:default}.legend-resize{width:20px;height:20px;background:transparent;border:none;color:var(--color-base-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm)}.legend-resize:hover{background:var(--color-surface);color:var(--color-primary)}.legend-collapse{width:20px;height:20px;background:transparent;border:none;color:var(--color-base-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);position:relative;z-index:var(--z-controls)}.legend-collapse:hover{background:var(--color-surface)}.legend-collapse svg{transition:transform .25s ease}.legend-panel.collapsed .legend-collapse svg{transform:rotate(180deg)}.legend-body{overflow:visible}.legend-panel.collapsed .legend-body{display:none}.legend-panel.resizing{-webkit-user-select:none;user-select:none}.legend-item{display:flex;align-items:center;gap:var(--space-xs);margin-bottom:var(--space-2xs)}.legend-item:last-child{margin-bottom:0}.legend-color-picker{position:relative;width:16px;height:16px;min-width:16px;cursor:pointer;display:flex;align-items:center;justify-content:center}.legend-color-input{position:absolute;opacity:0;width:100%;height:100%;cursor:pointer;top:0;left:0;z-index:var(--z-base)}.railroad-line-indicator{width:20px;height:3px;border-radius:1px;pointer-events:none}.legend-marker-icon{width:16px;height:16px;pointer-events:none;transition:transform var(--transition-fast);filter:drop-shadow(0 1px 2px rgba(var(--color-black-rgb),.15))}.legend-color-picker:hover .legend-marker-icon{transform:scale(1.15) translateY(-1px)}.legend-color-picker:active .legend-marker-icon{transform:scale(1.05)}.geology-rect-color{width:12px;height:12px;border:none;border-radius:var(--radius-2xs);cursor:pointer;padding:0;flex-shrink:0;transition:transform .15s ease,box-shadow .15s ease}.geology-rect-color:hover{transform:scale(1.2);box-shadow:0 2px 6px rgba(var(--color-black-rgb),.3)}.geology-rect-color::-webkit-color-swatch-wrapper{padding:0}.geology-rect-color::-webkit-color-swatch{border:none;border-radius:var(--radius-2xs)}.legend-item-text{flex:1;min-width:0}.legend-company{font-size:var(--text-xs-plus);font-weight:500;color:var(--color-base);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.legend-count{font-size:var(--text-xs-plus);font-weight:600;color:var(--color-base-muted);min-width:30px;text-align:right;flex-shrink:0;margin-left:auto}.legend-section{margin-bottom:var(--space-sm)}.legend-section:last-child{margin-bottom:0}.legend-section-title{font-size:var(--text-2xs);font-weight:600;color:var(--color-base-light);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-xs);padding-bottom:var(--space-2xs);border-bottom:1px solid var(--color-surface-dark)}.legend-empty{font-size:var(--text-xs);color:var(--color-base-muted);text-align:center;padding:var(--space-sm)}.view-mode-toggle{display:flex;align-items:center;gap:var(--space-2xs);background:var(--color-surface);border-radius:var(--radius-sm);padding:var(--space-2xs);border:1px solid var(--color-surface-dark)}.view-toggle-btn{display:flex;align-items:center;justify-content:center;width:32px;height:28px;background:transparent;border:none;border-radius:var(--radius-xs);color:var(--color-base-muted);cursor:pointer;transition:all var(--transition-fast)}.view-toggle-btn:hover{background:var(--color-surface-dark);color:var(--color-base)}.view-toggle-btn.active{background:var(--color-primary);color:#fff}.view-toggle-btn svg{width:16px;height:16px;stroke:currentColor;flex-shrink:0}.view-toggle-btn:not(.active) svg{stroke:#5a6b6c}.view-toggle-btn.active svg{stroke:#fff}.list-view-container{position:absolute;inset:0;background:var(--color-surface);overflow:hidden;display:flex;flex-direction:column;z-index:var(--z-raised);--summary-tiles-offset: 80px;padding-top:var(--summary-tiles-offset)}.list-view-table-wrapper{flex:1;overflow:auto;padding:var(--space-sm) 12px;display:flex;flex-direction:column}.list-view-table{width:100%;border-collapse:separate;border-spacing:0;background:var(--color-surface-light);border-radius:var(--radius-md);box-shadow:var(--shadow-elevation-1);overflow:visible;font-family:var(--font-primary);font-size:var(--text-xs-plus);table-layout:fixed}.list-view-table thead{position:sticky;top:0;z-index:var(--z-controls)}.list-view-table th{position:relative;background:var(--color-anchor);color:#fff;font-weight:var(--font-medium);font-size:var(--text-xs);text-align:left;padding:5px var(--space-xs-plus);white-space:nowrap;border-bottom:2px solid var(--color-primary);-webkit-user-select:none;user-select:none;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;letter-spacing:.3px}.list-view-table th:first-child{border-top-left-radius:var(--radius-md)}.list-view-table th:last-child{border-top-right-radius:var(--radius-md)}.list-view-table th.col-icon{width:28px;min-width:28px;max-width:28px;padding:var(--space-xs)}.list-view-table td.col-icon{width:28px;min-width:28px;max-width:28px;padding:var(--space-xs);text-align:center}.list-view-table .favicon{width:16px;height:16px;border-radius:var(--radius-2xs);vertical-align:middle}.list-view-table .favicon-placeholder{width:16px;height:16px;border-radius:var(--radius-2xs);background:var(--color-surface-dark);display:inline-block}.list-view-table th:nth-child(2),.list-view-table td:nth-child(2){min-width:75px}.list-view-table th:nth-child(3),.list-view-table td:nth-child(3){min-width:75px}.list-view-table th:nth-child(4),.list-view-table td:nth-child(4){min-width:80px}.list-view-table th:nth-child(5),.list-view-table td:nth-child(5){min-width:150px}.list-view-table th:nth-child(6),.list-view-table td:nth-child(6){min-width:90px}.list-view-table th:nth-child(7),.list-view-table td:nth-child(7){min-width:50px}.list-view-table th:nth-child(8),.list-view-table td:nth-child(8){min-width:60px}.list-view-table th:nth-child(9),.list-view-table td:nth-child(9){min-width:100px}.list-view-table th:nth-child(10),.list-view-table td:nth-child(10){min-width:50px}.list-view-table th.resizable{padding-right:var(--space-sm-lg)}.resize-handle{position:absolute;right:0;top:0;bottom:0;width:4px;cursor:col-resize;background:transparent;transition:background var(--transition-fast)}.resize-handle:hover,.resize-handle.resizing{background:var(--color-primary)}.list-view-table th.sortable{cursor:pointer;transition:background var(--transition-fast)}.list-view-table th.sortable:hover{background:#0d3233}.list-view-table th.sort-asc,.list-view-table th.sort-desc{background:var(--color-primary-dark)}.sort-icon{display:inline-block;width:10px;height:10px;margin-left:var(--space-2xs);vertical-align:middle;opacity:.5}.list-view-table th.sortable:hover .sort-icon{opacity:.8}.list-view-table th.sort-asc .sort-icon:after,.list-view-table th.sort-desc .sort-icon:after{opacity:1}.list-view-table th.sort-asc .sort-icon:after{content:"↑"}.list-view-table th.sort-desc .sort-icon:after{content:"↓"}.list-view-table tbody tr{transition:background var(--transition-fast)}.list-view-table tbody tr:nth-child(2n){background:var(--color-surface)}.list-view-table tbody tr:hover{background:rgba(var(--color-primary-rgb),.1)}.list-view-table td{padding:3px var(--space-xs-plus);border-bottom:1px solid rgba(var(--color-black-rgb),.06);color:var(--color-base);vertical-align:middle;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-xs-plus);line-height:1.3}.list-view-table tbody tr:last-child td:first-child{border-bottom-left-radius:var(--radius-md)}.list-view-table tbody tr:last-child td:last-child{border-bottom-right-radius:var(--radius-md)}.list-view-table td:nth-child(2){font-weight:var(--font-medium);color:var(--color-anchor)}.list-view-table a{color:var(--color-primary);text-decoration:none;font-size:var(--text-xs);transition:color var(--transition-fast)}.list-view-table a:hover{color:var(--color-primary-dark);text-decoration:underline}.list-view-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-2xl);color:var(--color-base-muted);text-align:center}.list-view-empty svg{width:48px;height:48px;margin-bottom:var(--space-md);opacity:.5}.list-view-empty-text{font-size:var(--text-sm);font-weight:var(--font-medium)}.product-badge{display:inline-block;padding:var(--space-2xs) 8px;background:linear-gradient(135deg,rgba(var(--color-primary-rgb),.15),rgba(var(--color-primary-dark-rgb),.2));border:1px solid rgba(var(--color-primary-rgb),.3);border-radius:var(--radius-12);font-size:var(--text-2xs);font-weight:600;color:#1e8449;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap}@media(max-width:1200px){.list-view-table{font-size:var(--text-xs)}.list-view-table th,.list-view-table td{padding:3px var(--space-xs-plus)}}body.resizing-column{cursor:col-resize!important;-webkit-user-select:none;user-select:none}body.resizing-column *{cursor:col-resize!important}.topbar-tool-panel{position:absolute;top:calc(100% + 8px);left:0;background:var(--color-surface-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-elevation-3);z-index:var(--z-overlay);display:none;overflow:visible;max-height:calc(100vh - 200px);overflow-y:auto}.topbar-tool-panel.visible{display:block}.tool-panel-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--color-surface-dark);background:var(--color-surface-light);position:sticky;top:0;z-index:var(--z-controls)}.tool-panel-title{font-size:var(--text-base);font-weight:600;color:var(--color-base)}.tool-panel-close{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--color-base-muted);cursor:pointer;transition:all var(--transition-fast)}.tool-panel-close:hover{background:var(--color-surface-dark);color:var(--color-base)}.tool-panel-body{padding:var(--space-md)}.tool-panel-section{margin-bottom:var(--space-md)}.tool-panel-section:last-child{margin-bottom:0}.tool-section-label{font-size:var(--text-xs-plus);font-weight:600;color:var(--color-base-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-sm)}.tool-row{display:flex;align-items:center;gap:var(--space-sm)}.tool-input{height:32px;padding:0 var(--space-sm);background:var(--color-surface);border:1px solid var(--color-surface-dark);border-radius:var(--radius-sm);font-family:var(--font-primary);font-size:var(--text-sm);color:var(--color-base)}.tool-input:focus{outline:none;border-color:var(--color-primary)}.tool-slider{-webkit-appearance:none;appearance:none;height:6px;background:var(--color-surface-dark);border-radius:var(--radius-full);cursor:pointer}.tool-slider::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;background:var(--color-primary);border-radius:50%;cursor:pointer;transition:transform var(--transition-fast)}.tool-slider::-webkit-slider-thumb:hover{transform:scale(1.1)}.tool-slider::-moz-range-thumb{width:16px;height:16px;background:var(--color-primary);border:none;border-radius:50%;cursor:pointer}.tool-select{height:32px;padding:0 var(--space-sm);background:var(--color-surface);border:1px solid var(--color-surface-dark);border-radius:var(--radius-sm);font-family:var(--font-primary);font-size:var(--text-sm);color:var(--color-base);cursor:pointer}.tool-select:focus{outline:none;border-color:var(--color-primary)}.tool-btn{height:36px;padding:0 var(--space-md);border-radius:var(--radius-md);font-family:var(--font-primary);font-size:var(--text-sm-plus);font-weight:500;cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;gap:var(--space-xs)}.tool-btn.primary{background:var(--color-primary);border:none;color:var(--color-white)}.tool-btn.primary:hover{background:var(--color-primary-dark)}.tool-btn.primary:disabled{background:var(--color-surface-dark);color:var(--color-base-muted);cursor:not-allowed}.tool-btn.secondary{background:var(--color-surface);border:1px solid var(--color-surface-dark);color:var(--color-base-muted)}.tool-btn.secondary:hover{background:var(--color-surface-dark);color:var(--color-base)}.tool-clear-btn{display:flex;align-items:center;gap:var(--space-xs);padding:0 12px;height:36px;background:transparent;border:1px solid var(--color-surface-dark);border-radius:var(--radius-md);font-family:var(--font-primary);font-size:var(--text-sm);font-weight:500;color:var(--color-base-muted);cursor:pointer;transition:all var(--transition-fast)}.tool-clear-btn:hover{border-color:var(--color-error);color:var(--color-error);background:rgba(var(--color-error-rgb),.05)}.tool-clear-btn svg{width:12px;height:12px}.tool-toggle-group{display:flex;background:var(--color-surface-dark);border-radius:var(--radius-sm);padding:var(--space-2xs);gap:var(--space-2xs)}.tool-toggle-btn{flex:1;height:28px;padding:0 10px;background:transparent;border:none;border-radius:var(--radius-sm);font-family:var(--font-primary);font-size:var(--text-xs-plus);font-weight:500;color:var(--color-base-muted);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.tool-toggle-btn:hover{color:var(--color-base)}.tool-toggle-btn.active{background:var(--color-anchor);color:var(--color-white)}.tool-checkbox{display:flex;align-items:center;gap:var(--space-xs-plus);font-size:var(--text-xs-plus);font-weight:500;color:var(--color-base);cursor:pointer}.tool-checkbox input[type=checkbox]{width:14px;height:14px;cursor:pointer}.tool-checkbox-group{display:flex;flex-wrap:wrap;gap:var(--space-sm) 12px}.isochrone-rings-checkboxes{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-sm)}.isochrone-ring-option{display:flex;align-items:center;gap:var(--space-xs-plus);padding:var(--space-xs-plus) 8px;background:var(--color-surface);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast)}.isochrone-ring-option:hover{background:var(--color-surface-dark)}.ring-color-input{width:20px;height:20px;padding:0;border:2px solid var(--color-surface-dark);border-radius:var(--radius-xs);cursor:pointer;background:none}.ring-color-input::-webkit-color-swatch-wrapper{padding:0}.ring-color-input::-webkit-color-swatch{border:none;border-radius:var(--radius-2xs)}.location-row{display:flex;align-items:center;gap:var(--space-xs-plus);margin-bottom:var(--space-xs-plus);padding:var(--space-sm);background:var(--color-surface);border-radius:var(--radius-sm)}.location-row:last-child{margin-bottom:0}.location-number{width:20px;height:20px;background:var(--color-primary);color:var(--color-white);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--text-xs);font-weight:700;flex-shrink:0}.location-input-wrapper{flex:1;position:relative}.location-input{width:100%;height:32px;padding:0 32px 0 10px;background:var(--color-surface-light);border:1px solid var(--color-surface-dark);border-radius:var(--radius-sm);font-family:var(--font-primary);font-size:var(--text-sm);color:var(--color-base)}.location-input:focus{outline:none;border-color:var(--color-primary)}.location-pick-btn{position:absolute;right:2px;top:50%;transform:translateY(-50%);width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--color-base-muted);cursor:pointer;transition:all var(--transition-fast)}.location-pick-btn:hover{background:var(--color-surface-dark);color:var(--color-primary)}.location-pick-btn.active{background:var(--color-primary);color:var(--color-white)}.location-pick-btn svg{width:14px;height:14px}.location-remove-btn{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:50%;color:var(--color-base-muted);cursor:pointer;flex-shrink:0;transition:all var(--transition-fast)}.location-remove-btn:hover{background:rgba(var(--color-error-rgb),.1);color:var(--color-error)}.location-remove-btn svg{width:12px;height:12px}.location-add-full-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-xs-plus);width:100%;padding:var(--space-sm-plus);margin-top:var(--space-sm);background:var(--color-surface);border:1px dashed var(--color-surface-dark);border-radius:var(--radius-md);font-family:var(--font-primary);font-size:var(--text-sm);font-weight:500;color:var(--color-base-muted);cursor:pointer;transition:all var(--transition-fast)}.location-add-full-btn:hover{border-color:var(--color-primary);color:var(--color-primary);background:rgba(var(--color-primary-rgb),.05)}.location-add-count{font-size:var(--text-xs);color:var(--color-base-light)}.draw-tool-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-xs-plus);margin-bottom:var(--space-sm)}.draw-tool-btn{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);padding:var(--space-sm-plus) 6px;background:var(--color-surface);border:2px solid var(--color-surface-dark);border-radius:var(--radius-md);color:var(--color-base-muted);cursor:pointer;transition:all var(--transition-fast)}.draw-tool-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.draw-tool-btn.active{border-color:var(--color-primary);background:rgba(var(--color-primary-rgb),.1);color:var(--color-primary)}.draw-tool-btn svg{width:20px;height:20px}.draw-tool-btn span{font-size:var(--text-2xs);font-weight:600;text-transform:uppercase}.draw-instructions{font-size:var(--text-xs-plus);color:var(--color-base-muted);padding:var(--space-sm);background:var(--color-surface);border-radius:var(--radius-sm);text-align:center}.drawn-shapes-list{max-height:150px;overflow-y:auto}.drawn-shapes-empty{font-size:var(--text-xs-plus);color:var(--color-base-muted);text-align:center;padding:var(--space-sm-lg)}.drawn-shape-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm);background:var(--color-surface);border-radius:var(--radius-sm);margin-bottom:var(--space-xs)}.drawn-shape-item:last-child{margin-bottom:0}.drawn-shape-color{width:16px;height:16px;border-radius:var(--radius-xs);flex-shrink:0}.drawn-shape-name{flex:1;font-size:var(--text-xs-plus);font-weight:500;color:var(--color-base)}.drawn-shape-delete{width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:50%;color:var(--color-base-muted);cursor:pointer;transition:all var(--transition-fast)}.drawn-shape-delete:hover{background:rgba(var(--color-error-rgb),.1);color:var(--color-error)}.route-results{margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--color-surface-dark)}.route-results.hidden{display:none}.route-leg{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) 10px;background:var(--color-surface);border-radius:var(--radius-sm);margin-bottom:var(--space-xs)}.route-leg-label{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--text-sm);font-weight:500;color:var(--color-base)}.route-leg-color{width:16px;height:4px;border-radius:var(--radius-2xs)}.route-leg-values{display:flex;gap:var(--space-sm-lg)}.route-leg-value{font-size:var(--text-sm);font-weight:600;color:var(--color-base)}.route-total{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm-plus);background:var(--color-primary);border-radius:var(--radius-md);color:var(--color-white);font-size:var(--text-sm-plus);font-weight:600;margin-top:var(--space-sm)}.route-total .route-leg-value{color:var(--color-white)}.tool-color-picker{width:32px;height:28px;padding:0;border:2px solid var(--color-surface-dark);border-radius:var(--radius-sm);cursor:pointer;background:none}.tool-color-picker::-webkit-color-swatch-wrapper{padding:var(--space-2xs)}.tool-color-picker::-webkit-color-swatch{border:none;border-radius:var(--radius-2xs)}.toggle-switch{position:relative;display:inline-block;width:44px;height:24px;flex-shrink:0}.toggle-switch input{opacity:0;width:0;height:0;position:absolute}.toggle-slider{position:absolute;cursor:pointer;inset:0;background:var(--color-surface-dark);border:2px solid var(--color-surface-dark);transition:all .3s ease;border-radius:var(--radius-2xl)}.toggle-slider:before{position:absolute;content:"";height:16px;width:16px;left:2px;bottom:2px;background:var(--color-white);transition:all .3s ease;border-radius:50%;box-shadow:0 2px 4px rgba(var(--color-black-rgb),.15)}.toggle-switch input:checked+.toggle-slider{background:var(--color-primary);border-color:var(--color-primary)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(20px)}.toggle-switch input:focus+.toggle-slider{box-shadow:var(--shadow-focus-strong)}.toggle-switch.small{width:36px;height:20px}.toggle-switch.small .toggle-slider:before{height:14px;width:14px;left:1px;bottom:1px}.toggle-switch.small input:checked+.toggle-slider:before{transform:translate(16px)}.toggle-label{display:flex;align-items:center;gap:var(--space-sm-plus);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between}.toggle-text{font-size:var(--text-sm);font-weight:700;color:var(--color-base)}.toggle-container{display:flex;align-items:center;gap:var(--space-sm-plus)}.multiselect-container{position:relative;margin:var(--space-sm) var(--space-md);margin-bottom:0}.multiselect-chips{min-height:36px;max-height:120px;overflow-y:auto;padding:var(--space-xs) 8px;background:var(--color-surface-light);border:1px solid var(--color-surface-dark);border-radius:var(--radius-md);position:relative;display:flex;flex-wrap:wrap;gap:var(--space-xs);align-items:flex-start;align-content:flex-start;transition:border-color var(--transition-fast)}.multiselect-chips:focus-within{border-color:var(--color-primary)}.multiselect-chip{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-2xs) 6px;background:var(--color-base-muted);color:var(--color-white);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:500;transition:all var(--transition-fast)}.multiselect-chip.featured{background:var(--color-primary);box-shadow:0 0 0 2px rgba(var(--color-primary-rgb),.3)}.multiselect-chip-star{display:flex;align-items:center;justify-content:center;width:14px;height:14px;cursor:pointer;opacity:.5;transition:all var(--transition-fast)}.multiselect-chip-star:hover{opacity:1;transform:scale(1.2)}.multiselect-chip.featured .multiselect-chip-star{opacity:1;color:var(--color-amber-400)}.multiselect-chip-star.disabled{opacity:.15;cursor:not-allowed;pointer-events:none}.multiselect-chip-star.disabled:hover{transform:none}.multiselect-chip.max-reached{opacity:.5}.multiselect-chip-star svg{width:10px;height:10px}.multiselect-chip-remove{display:flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;background:rgba(var(--color-white-rgb),.2);cursor:pointer;transition:background var(--transition-fast)}.multiselect-chip-remove:hover{background:rgba(var(--color-white-rgb),.3)}.multiselect-chip-remove svg{width:8px;height:8px;color:var(--color-white)}.multiselect-search-input{flex:1;min-width:100px;height:28px;line-height:28px;border:none;background:transparent;font-family:var(--font-primary);font-size:var(--text-xs-plus);color:var(--color-base);outline:none;text-align:left}.multiselect-search-input::placeholder{color:var(--color-base-muted);font-size:var(--text-xs-plus)}.multiselect-dropdown{position:absolute;top:100%;left:0;right:0;max-height:300px;overflow-y:auto;background:var(--color-surface-light);border:1px solid var(--color-surface-dark);border-top:none;border-radius:0 0 var(--radius-md) var(--radius-md);box-shadow:var(--shadow-neu-outer);z-index:var(--z-dropdown);display:none}.multiselect-dropdown.open{display:block}.multiselect-option{display:flex;align-items:center;gap:var(--space-xs);padding:3px var(--space-sm);cursor:pointer;font-size:var(--text-xs);color:var(--color-base);transition:background var(--transition-fast)}.multiselect-option:hover{background:var(--color-surface)}.multiselect-option.selected{background:rgba(var(--color-primary-rgb),.1)}.multiselect-option-checkbox{width:12px;height:12px;border:1.5px solid var(--color-base-light);border-radius:var(--radius-2xs);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all var(--transition-fast)}.multiselect-option.selected .multiselect-option-checkbox{background:var(--color-primary);border-color:var(--color-primary)}.multiselect-option-checkbox svg{width:8px;height:8px;color:var(--color-white);opacity:0}.multiselect-option.selected .multiselect-option-checkbox svg{opacity:1}.multiselect-option-favicon{width:18px;height:18px;border-radius:var(--radius-xs);flex-shrink:0;background:var(--color-surface);border:1px solid var(--color-surface-dark)}.multiselect-option-favicon-fallback{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:var(--radius-xs);background:var(--color-anchor);flex-shrink:0}.multiselect-option-favicon-fallback svg{width:10px;height:10px;color:var(--color-signal)}.multiselect-option-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.multiselect-dropdown.visible{display:block}.multiselect-no-results{padding:var(--space-sm-lg) 14px;text-align:center;font-size:var(--text-sm);color:var(--color-base-muted)}.boundary-option{display:flex;align-items:center;gap:var(--space-sm-plus);padding:var(--space-sm-plus) 14px;cursor:pointer;transition:background var(--transition-fast)}.boundary-option:hover{background:var(--color-surface)}.boundary-option-icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:rgba(var(--color-blue-rgb),.15);color:var(--color-blue);border-radius:var(--radius-sm);flex-shrink:0}.boundary-option:hover .boundary-option-icon{background:var(--color-blue);color:var(--color-white)}.boundary-option-text{flex:1;min-width:0}.boundary-option-name{font-size:var(--text-sm);font-weight:500;color:var(--color-base);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.boundary-option-type{font-size:var(--text-xs);color:var(--color-base-muted);margin-top:1px}.geography-chip{background:var(--color-blue)!important}.geography-chip .multiselect-chip-icon{display:flex;align-items:center;justify-content:center;width:14px;height:14px;color:rgba(var(--color-white-rgb),.8)}.geography-chip .multiselect-chip-icon svg{width:10px;height:10px}.geography-chip span{max-width:100px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.boundary-chip{background:var(--color-blue)!important}.boundary-chip .chip-icon{display:flex;align-items:center;justify-content:center;color:rgba(var(--color-white-rgb),.8)}.boundary-chip .chip-icon svg{width:10px;height:10px}.boundary-chip .chip-text{font-size:var(--text-xs);font-weight:500;color:var(--color-white);max-width:100px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.boundary-chip .chip-remove{display:flex;align-items:center;justify-content:center;background:transparent;border:none;cursor:pointer;padding:0;color:rgba(var(--color-white-rgb),.6);transition:color var(--transition-fast)}.boundary-chip .chip-remove:hover{color:var(--color-white)}.boundary-chip .chip-remove svg{color:inherit}.color-swatch-container{display:flex;align-items:center;gap:var(--space-sm-plus)}.color-swatch{position:relative;width:32px;height:32px;border-radius:50%;overflow:hidden;cursor:pointer;border:3px solid var(--color-surface-dark);box-shadow:var(--shadow-neu-outer-sm);transition:all .2s ease;flex-shrink:0}.color-swatch:hover{transform:scale(1.1);border-color:var(--color-primary);box-shadow:var(--shadow-focus-strong),var(--shadow-neu-outer-sm)}.color-swatch input[type=color]{position:absolute;inset:-10px;width:calc(100% + 20px);height:calc(100% + 20px);border:none;cursor:pointer}.color-swatch-label{font-size:var(--text-sm);font-weight:500;color:var(--color-base);flex:1}.alignment-buttons{display:flex;gap:var(--space-2xs);background:var(--color-surface-dark);border-radius:var(--radius-sm);padding:var(--space-2xs)}.align-btn{width:28px;height:28px;border:none;background:transparent;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--color-base-muted);transition:all var(--transition-fast)}.align-btn:hover{background:var(--color-surface);color:var(--color-base)}.align-btn.active{background:var(--color-primary);color:var(--color-white)}.toast-container{position:fixed;bottom:var(--space-lg);left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:var(--space-sm);z-index:var(--z-overlay);pointer-events:none}.toast{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);background:var(--color-anchor);border-radius:var(--radius-md);color:var(--color-white);font-size:var(--text-base);font-weight:500;box-shadow:var(--shadow-elevation-3);transform:translateY(120%);transition:transform .25s;pointer-events:auto}.toast.visible{transform:translateY(0)}.toast-icon{width:20px;height:20px;flex-shrink:0}.toast.success .toast-icon{color:var(--color-primary)}.toast.error .toast-icon{color:var(--color-error)}.toast.info .toast-icon{color:var(--color-signal)}.loading-overlay{position:absolute;inset:0;background:rgba(var(--color-surface-rgb),.9);display:flex;align-items:center;justify-content:center;z-index:var(--z-sticky);opacity:0;pointer-events:none;transition:opacity .25s}.loading-overlay.visible{opacity:1;pointer-events:auto}.save-view-control{position:relative}.save-view-panel{position:absolute;top:calc(100% + 8px);right:0;width:320px;background:var(--color-surface-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-elevation-3);z-index:var(--z-overlay);display:none;overflow:hidden}.save-view-panel.visible{display:block}.save-view-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--color-surface-dark)}.save-view-header h4{font-size:var(--text-base);font-weight:600;color:var(--color-base);margin:0}.save-view-close{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:var(--color-surface);border:none;border-radius:50%;color:var(--color-base-muted);cursor:pointer;font-size:var(--text-xl);line-height:1}.save-view-close:hover{background:var(--color-surface-dark);color:var(--color-base)}.save-view-current{display:flex;gap:var(--space-sm);padding:var(--space-md);border-bottom:1px solid var(--color-surface-dark)}.save-view-current input{flex:1;height:36px;padding:0 var(--space-sm);background:var(--color-surface);border:1px solid var(--color-surface-dark);border-radius:var(--radius-md);font-family:var(--font-primary);font-size:var(--text-sm-plus);color:var(--color-base)}.save-view-current input:focus{outline:none;border-color:var(--color-primary)}.save-view-btn{height:36px;padding:0 var(--space-md);border-radius:var(--radius-md);font-family:var(--font-primary);font-size:var(--text-sm-plus);font-weight:500;cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;gap:var(--space-xs)}.save-view-btn.primary{background:var(--color-primary);border:none;color:#fff}.save-view-btn.primary:hover{background:var(--color-primary-dark)}.save-view-btn svg{width:14px;height:14px}.save-view-list{max-height:300px;overflow-y:auto;padding:var(--space-sm)}.save-view-empty{padding:var(--space-lg);text-align:center;color:var(--color-base-muted);font-size:var(--text-sm-plus)}.save-view-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm-plus);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast)}.save-view-item:hover{background:var(--color-surface)}.save-view-item-name{flex:1;font-size:var(--text-sm-plus);font-weight:500;color:var(--color-base)}.save-view-item-delete{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:50%;color:var(--color-base-muted);cursor:pointer;opacity:0;transition:all var(--transition-fast)}.save-view-item:hover .save-view-item-delete{opacity:1}.save-view-item-delete:hover{background:rgba(var(--color-error-rgb),.1);color:var(--color-error)}.custom-layers-list{max-height:200px;overflow-y:auto;padding:var(--space-sm)}.custom-layers-empty{font-size:var(--text-xs-plus);color:var(--color-base-muted);text-align:center;padding:var(--space-md)}.custom-layer-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm);background:var(--color-surface-light);border-radius:var(--radius-sm);margin-bottom:var(--space-xs)}.custom-layer-item:last-child{margin-bottom:0}.custom-layer-toggle{flex-shrink:0}.custom-layer-color{width:16px;height:16px;border-radius:var(--radius-xs);flex-shrink:0}.custom-layer-name{flex:1;font-size:var(--text-xs-plus);font-weight:500;color:var(--color-base);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.custom-layer-delete{width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:50%;color:var(--color-base-muted);cursor:pointer;opacity:0;transition:all var(--transition-fast)}.custom-layer-item:hover .custom-layer-delete{opacity:1}.custom-layer-delete:hover{background:rgba(var(--color-error-rgb),.1);color:var(--color-error)}.search-container{position:relative;flex:0 1 400px;min-width:200px;margin:0 var(--space-md)}.search-input-wrapper{position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:rgba(var(--color-white-rgb),.5);pointer-events:none}.search-input{width:100%;height:36px;padding:0 36px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-md);font-family:var(--font-primary);font-size:var(--text-sm-plus);color:#fff;transition:all var(--transition-fast)}.search-input::placeholder{color:#ffffff80}.search-input:focus{outline:none;background:#ffffff26;border-color:var(--color-primary);box-shadow:0 0 0 3px #2ecc7133}.search-clear{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:24px;height:24px;display:none;align-items:center;justify-content:center;background:rgba(var(--color-white-rgb),.1);border:none;border-radius:50%;color:rgba(var(--color-white-rgb),.7);cursor:pointer;transition:all var(--transition-fast)}.search-clear:hover{background:rgba(var(--color-white-rgb),.2);color:#fff}.search-input:not(:placeholder-shown)+.search-clear{display:flex}.search-results{position:absolute;top:calc(100% + 6px);left:0;min-width:380px;background:var(--color-surface-light);border-radius:var(--radius-md);box-shadow:0 8px 24px rgba(var(--color-anchor-rgb),.15);max-height:350px;overflow:hidden;display:none;z-index:var(--z-overlay);border:1px solid rgba(var(--color-primary-rgb),.1);animation:searchDropIn .12s ease-out}@keyframes searchDropIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.search-results.visible{display:block}.search-result-item{display:flex;align-items:flex-start;gap:var(--space-sm);padding:var(--space-sm-plus) 14px;cursor:pointer;transition:background var(--transition-fast)}.search-result-item:hover{background:var(--color-surface)}.search-result-item.selected{background:var(--color-primary)}.search-result-item.selected .search-result-name,.search-result-item.selected .search-result-address{color:#fff}.search-result-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--color-anchor);border-radius:var(--radius-sm);color:var(--color-primary);flex-shrink:0;transition:all .12s ease}.search-result-item:hover .search-result-icon{background:var(--color-primary);color:#fff}.search-result-icon svg{width:14px;height:14px}.search-result-item.selected .search-result-icon{background:rgba(var(--color-white-rgb),.2)}.search-result-item.selected .search-result-icon svg{color:#fff}.search-result-content{flex:1;min-width:0}.search-result-name{font-size:var(--text-sm-plus);font-weight:500;color:var(--color-base);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-result-address{font-size:var(--text-xs-plus);color:var(--color-base-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-result-type{font-size:var(--text-2xs);font-weight:600;color:var(--color-primary);text-transform:uppercase;letter-spacing:.05em;padding:var(--space-2xs) 6px;background:rgba(var(--color-primary-rgb),.1);border-radius:var(--radius-sm);flex-shrink:0}.search-result-item.selected .search-result-type{background:rgba(var(--color-white-rgb),.2);color:#fff}.search-loading{display:flex;align-items:center;justify-content:center;padding:var(--space-lg);color:var(--color-base-muted);font-size:var(--text-sm-plus)}.search-loading-spinner{width:20px;height:20px;border:2px solid var(--color-surface-dark);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite;margin-right:var(--space-sm)}.search-no-results{padding:var(--space-lg);text-align:center;color:var(--color-base-muted);font-size:var(--text-sm-plus)}.search-category{padding:var(--space-xs-plus) 14px;font-size:var(--text-xs);font-weight:600;color:var(--color-base-muted);text-transform:uppercase;letter-spacing:.05em;background:var(--color-surface);border-top:1px solid var(--color-surface-dark)}.search-category:first-child{border-top:none}.search-results-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm-plus) 14px;background:var(--color-surface);border-bottom:1px solid var(--color-surface-dark)}.search-results-title{font-size:var(--text-xs-plus);font-weight:600;color:var(--color-base-muted);text-transform:uppercase;letter-spacing:.05em}.search-results-count{font-size:var(--text-xs-plus);font-weight:600;color:var(--color-primary);background:rgba(var(--color-primary-rgb),.1);padding:var(--space-2xs) 8px;border-radius:var(--radius-sm)}.search-results-list{max-height:300px;overflow-y:auto}.search-results-section{border-bottom:1px solid var(--color-surface-dark)}.search-results-section:last-child{border-bottom:none}.search-results-section-title{display:flex;align-items:center;gap:var(--space-xs-plus);padding:var(--space-sm) 14px;font-size:var(--text-xs);font-weight:600;color:var(--color-base-muted);text-transform:uppercase;letter-spacing:.05em;background:var(--color-surface)}.search-results-section-title svg{color:var(--color-primary)}.search-result-text{flex:1;min-width:0}.search-result-primary{font-size:var(--text-sm-plus);font-weight:500;color:var(--color-base);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-result-secondary{display:flex;align-items:center;gap:var(--space-xs-plus);font-size:var(--text-xs-plus);color:var(--color-base-muted);margin-top:var(--space-2xs)}.search-result-arrow{color:var(--color-base-muted);opacity:0;transition:opacity var(--transition-fast)}.search-result-item:hover .search-result-arrow{opacity:1}.search-result-icon.boundary-icon{background:rgba(var(--color-blue-rgb),.15);color:#3b82f6}.search-result-item:hover .search-result-icon.boundary-icon{background:#3b82f6;color:#fff}.search-result-type.boundary{background:rgba(var(--color-blue-rgb),.1);color:#3b82f6}.search-no-results-icon{display:flex;justify-content:center;margin-bottom:var(--space-sm);color:var(--color-base-muted)}.search-no-results-text{font-size:var(--text-sm-plus);font-weight:500;color:var(--color-base)}.search-no-results-hint{font-size:var(--text-xs-plus);color:var(--color-base-muted);margin-top:var(--space-xs)}.search-result-type.state{background:rgba(var(--color-blue-rgb),.1);color:#3b82f6}.search-result-type.county{background:rgba(var(--color-orange-rgb),.1);color:#f97316}.search-result-type.metro{background:rgba(var(--color-blue-rgb),.1);color:#3b82f6}.search-result-type.micro{background:rgba(var(--color-slate-500-rgb),.1);color:#64748b}.search-result-type.csa{background:rgba(var(--color-purple-rgb),.1);color:#8b5cf6}.search-result-type.postcode{background:rgba(var(--color-slate-600-rgb),.1);color:#6b7280}.search-result-type.country{background:rgba(var(--color-red-dark-rgb),.1);color:#922b21}.search-result-type.location{background:rgba(var(--color-primary-rgb),.1);color:var(--color-primary)}.search-result-type.city,.search-result-type.place{background:rgba(var(--color-green-600-rgb),.1);color:#10b981}.search-result-type.locality{background:rgba(var(--color-teal-rgb),.1);color:#14b8a6}.search-result-type.neighborhood{background:rgba(var(--color-slate-400-rgb),.1);color:#9ca3af}.search-result-type.address{background:rgba(var(--color-slate-600-rgb),.1);color:#6b7280}.search-result-type.poi{background:rgba(var(--color-amber-400-rgb),.1);color:#f59e0b}.search-result-type.epa-region{background:rgba(var(--color-green-700-rgb),.1);color:#059669}.mapboxgl-popup-content,.maplibregl-popup-content{padding:0!important;border-radius:var(--radius-lg)!important;box-shadow:var(--shadow-elevation-3)!important;overflow:visible;min-width:240px;background:var(--color-surface-light)}.mapboxgl-popup-close-button,.maplibregl-popup-close-button{width:24px;height:24px;font-size:var(--text-lg);color:rgba(var(--color-white-rgb),.9);right:4px!important;top:4px!important;z-index:var(--z-controls)}.mapboxgl-popup-tip,.maplibregl-popup-tip{border-top-color:var(--color-surface-light)!important}.popup-header-banner{height:42px;background:linear-gradient(135deg,var(--color-anchor),var(--color-primary-dark));position:relative;display:flex;align-items:center;padding:0 var(--space-md);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.popup-company-badge{padding:3px var(--space-sm);background:rgba(var(--color-white-rgb),.95);border-radius:var(--radius-full);display:flex;align-items:center;gap:5px}.popup-company-dot{width:6px;height:6px;border-radius:var(--radius-full)}.popup-company-text{font-size:var(--text-2xs);font-weight:600;color:var(--color-base);text-transform:uppercase;letter-spacing:.05em}.popup-body{padding:var(--space-sm);border-radius:0 0 var(--radius-lg) var(--radius-lg)}.popup-site-name{font-size:var(--text-base);font-weight:600;color:var(--color-base);margin-bottom:var(--space-2xs);line-height:1.2}.popup-site-type{font-size:var(--text-xs);font-weight:500;color:var(--color-primary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-xs-plus)}.popup-content-grid{display:grid;grid-template-columns:1fr 80px;gap:var(--space-sm)}.popup-details-left{display:flex;flex-direction:column;gap:var(--space-xs)}.popup-detail{display:flex;flex-direction:row;gap:var(--space-xs-plus);align-items:baseline}.popup-detail-label{font-size:var(--text-2xs);font-weight:600;color:var(--color-base-light);text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;min-width:50px}.popup-detail-value{font-size:var(--text-xs-plus);font-weight:500;color:var(--color-base);line-height:1.3}.popup-thumbnail{width:80px;height:80px;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--color-surface-dark)}.popup-footer{padding:var(--space-sm) 12px;border-top:1px solid var(--color-surface-dark);background:var(--color-surface);display:flex;gap:var(--space-xs-plus)}.popup-footer-actions{gap:var(--space-xs)}.popup-copy-btn,.popup-radius-btn{display:flex;align-items:center;justify-content:center;gap:5px;flex:1;padding:7px var(--space-sm-plus);background:var(--color-surface-light);border:1px solid var(--color-surface-dark);border-radius:var(--radius-sm);font-family:var(--font-primary);font-size:var(--text-xs);font-weight:500;color:var(--color-base);cursor:pointer;transition:all .15s ease}.popup-action-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-xs);flex:1;padding:var(--space-xs-plus) 8px;background:var(--color-surface-light);border:1px solid var(--color-surface-dark);border-radius:var(--radius-sm);font-family:var(--font-primary);font-size:var(--text-2xs);font-weight:500;color:var(--color-base);cursor:pointer;transition:all .15s ease}.popup-action-btn:hover{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.popup-action-btn svg{flex-shrink:0;width:12px;height:12px}.popup-copy-btn:hover{background:var(--color-anchor);border-color:var(--color-anchor);color:#fff}.popup-radius-btn:hover{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.popup-copy-btn svg,.popup-radius-btn svg{flex-shrink:0;width:11px;height:11px}.popup-copy-inline{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-2xs) 4px;background:transparent;border:none;color:var(--color-base-muted);cursor:pointer;border-radius:var(--radius-3);margin-left:var(--space-xs);vertical-align:middle}.popup-copy-inline:hover{background:var(--color-surface-dark);color:var(--color-primary)}.popup-options-btn{position:absolute;top:8px;right:8px;display:flex;align-items:center;justify-content:center;padding:var(--space-xs-plus);background:var(--color-surface);border:1px solid var(--color-surface-dark);border-radius:var(--radius-sm);color:var(--color-base-muted);cursor:pointer;z-index:var(--z-raised);transition:all .15s ease}.popup-options-btn:hover{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.popup-options-btn svg{width:16px;height:16px}.popup-options-menu{position:absolute;top:36px;right:8px;background:var(--color-surface-light);border:1px solid var(--color-surface-dark);border-radius:var(--radius-sm);box-shadow:var(--shadow-elevation-2);z-index:var(--z-controls);min-width:150px;display:none;overflow:hidden}.popup-options-menu.visible{display:block}.popup-menu-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) 12px;font-size:var(--text-xs-plus);font-weight:500;color:var(--color-base);cursor:pointer;transition:all .1s ease;border:none;background:none;width:100%;text-align:left}.popup-menu-item:hover{background:var(--color-primary);color:#fff}.popup-menu-item svg{width:14px;height:14px;flex-shrink:0}.popup-menu-divider{height:1px;background:var(--color-surface-dark);margin:var(--space-xs) 0}.measure-result-popup .mapboxgl-popup-content{background:var(--color-surface-light);border-radius:var(--radius-md);box-shadow:var(--shadow-elevation-3);padding:0;font-family:var(--font-primary)}.measure-result-popup .mapboxgl-popup-close-button{font-size:var(--text-xl);padding:var(--space-xs) 8px;color:var(--color-base-muted)}.measure-result-popup .mapboxgl-popup-close-button:hover{color:var(--color-base);background:transparent}.measure-result-popup .mapboxgl-popup-tip{border-top-color:var(--color-surface-light)}.measure-popup-content{padding:var(--space-sm-lg)}.measure-popup-title{font-size:var(--text-xs-plus);font-weight:600;color:var(--color-base-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-sm)}.measure-popup-value{font-size:var(--text-xl-plus);font-weight:700;color:var(--color-primary);line-height:1.2}.measure-popup-secondary{font-size:var(--text-sm);color:var(--color-base-muted);margin-top:var(--space-xs)}.measure-popup-row{margin-bottom:var(--space-sm)}.measure-popup-row:last-child{margin-bottom:0}.measure-popup-label{font-size:var(--text-xs);color:var(--color-base-muted);text-transform:uppercase;letter-spacing:.3px}.measure-popup-data{font-size:var(--text-base);font-weight:600;color:var(--color-base)}.measure-floating-readout{position:fixed;pointer-events:none;z-index:var(--z-measure);padding:var(--space-xs-plus) 10px;background:rgba(var(--color-anchor-rgb),.95);color:#fff;border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:500;box-shadow:0 4px 12px rgba(var(--color-black-rgb),.3);transform:translateY(-50%);white-space:nowrap;display:none}.measure-floating-readout.visible{display:block}.measure-floating-readout .value{font-size:var(--text-base);font-weight:700;color:var(--color-signal)}.measure-floating-readout .unit{font-size:var(--text-xs-plus);color:rgba(var(--color-white-rgb),.7);margin-left:var(--space-2xs)}.measure-floating-readout .secondary{font-size:var(--text-xs);color:rgba(var(--color-white-rgb),.5);margin-top:var(--space-2xs)}.measure-segment-label{background:rgba(var(--color-anchor-rgb),.85);color:#fff;padding:var(--space-2xs) 6px;border-radius:var(--radius-3);font-size:var(--text-xs);font-weight:600;pointer-events:none;white-space:nowrap}.measure-delete-popup{background:transparent!important}.measure-delete-popup .mapboxgl-popup-content{background:transparent!important;padding:0!important;box-shadow:none!important;border:none!important;border-radius:0!important;min-width:0!important}.measure-delete-popup .mapboxgl-popup-tip{display:none!important}.measure-delete-btn{width:24px;height:24px;background:#e74c3c;border:2px solid white;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:var(--text-base);font-weight:700;color:#fff;line-height:1;box-shadow:0 2px 6px rgba(var(--color-black-rgb),.4);transition:transform .1s,background .1s}.measure-delete-btn:hover{transform:scale(1.15);background:#c0392b}.marker-hover{transition:all .2s ease;position:relative}.marker-hover:hover{transform:scale(1.3);filter:drop-shadow(0 4px 8px rgba(var(--color-black-rgb),.3))}.map-container.measuring,.map-container.measuring .mapboxgl-canvas,.map-container.measuring .mapboxgl-canvas-container,.map-container.measuring .mapboxgl-interactive{cursor:crosshair!important}.auth-button{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) 16px;background:var(--color-blue);color:var(--color-white);border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-base);font-weight:500;transition:background-color .2s}.auth-button:hover{background:var(--color-info-dark)}.auth-button svg{flex-shrink:0}.auth-button-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}.auth-avatar{width:24px;height:24px;border-radius:50%;object-fit:cover}.auth-modal{position:fixed;inset:0;z-index:var(--z-measure);display:flex;align-items:center;justify-content:center;padding:var(--space-md-plus)}.auth-modal.hidden{display:none}.auth-modal-backdrop{position:absolute;inset:0;background:rgba(var(--color-black-rgb),.5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.auth-modal-content{position:relative;background:var(--color-white);border-radius:var(--radius-12);box-shadow:0 20px 60px rgba(var(--color-black-rgb),.3);max-width:420px;width:100%;max-height:90vh;overflow-y:auto;animation:modalSlideIn .3s ease-out}.auth-modal-close{position:absolute;top:16px;right:16px;background:none;border:none;cursor:pointer;padding:var(--space-xs);color:#666;border-radius:var(--radius-xs);transition:background-color .2s,color .2s;z-index:var(--z-base)}.auth-modal-close:hover{background:#f0f0f0;color:#333}.auth-modal-body{padding:40px}.auth-form{text-align:center}.auth-form h2{margin:0 0 8px;font-size:var(--text-2xl);font-weight:600;color:#1a1a1a}.auth-subtitle{margin:0 0 24px;color:#666;font-size:var(--text-base)}.auth-google-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-sm-lg);width:100%;padding:var(--space-sm-lg) 16px;background:var(--color-white);border:1px solid #ddd;border-radius:var(--radius-8);font-size:var(--text-base);font-weight:500;color:#333;cursor:pointer;transition:background-color .2s,border-color .2s}.auth-google-btn:hover{background:#f8f8f8;border-color:#ccc}.auth-google-btn:disabled{opacity:.7;cursor:not-allowed}.auth-divider{display:flex;align-items:center;margin:var(--space-md-plus) 0;color:#999;font-size:var(--text-sm)}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:#e0e0e0}.auth-divider span{padding:0 12px}.auth-field{margin-bottom:var(--space-md);text-align:left}.auth-field label{display:block;margin-bottom:var(--space-xs-plus);font-size:var(--text-sm-plus);font-weight:500;color:#333}.auth-field input{width:100%;padding:var(--space-sm-lg) 14px;border:1px solid #ddd;border-radius:var(--radius-8);font-size:var(--text-base);transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.auth-field input:focus{outline:none;border-color:var(--color-blue);box-shadow:var(--shadow-focus-subtle)}.auth-field input::placeholder{color:#aaa}.auth-hint{display:block;margin-top:var(--space-xs);font-size:var(--text-sm);color:#888}.auth-link{background:none;border:none;color:var(--color-blue);cursor:pointer;font-size:var(--text-sm-plus);padding:0;text-decoration:none}.auth-link:hover{text-decoration:underline}.forgot-password-link{display:block;text-align:right;margin-bottom:var(--space-md-plus)}.auth-submit-btn{width:100%;padding:14px var(--space-md);background:var(--color-blue);color:var(--color-white);border:none;border-radius:var(--radius-8);font-size:15px;font-weight:600;cursor:pointer;transition:background-color .2s}.auth-submit-btn:hover{background:var(--color-info-dark)}.auth-submit-btn:disabled{opacity:.7;cursor:not-allowed}.auth-switch{margin:var(--space-lg) 0 0;font-size:var(--text-base);color:#666}.user-menu-dropdown{animation:menuFadeIn .2s ease-out}@keyframes menuFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.user-menu-header{display:flex;align-items:center;gap:var(--space-sm-lg);padding:var(--space-md);background:#f8f9fa}.user-menu-avatar{width:48px;height:48px;border-radius:50%;background:var(--color-blue);color:var(--color-white);display:flex;align-items:center;justify-content:center;font-size:var(--text-xl-plus);font-weight:600;overflow:hidden}.user-menu-avatar img{width:100%;height:100%;object-fit:cover}.user-menu-info{flex:1;min-width:0}.user-menu-info strong{display:block;font-size:var(--text-base);font-weight:600;color:#1a1a1a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-menu-info span{display:block;font-size:var(--text-sm);color:#666;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-menu-divider{height:1px;background:#e0e0e0;margin:0}.user-menu-tier{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm-lg) 16px;font-size:var(--text-sm-plus);color:#666}.tier-badge{padding:var(--space-xs) 10px;border-radius:var(--radius-12);font-size:var(--text-xs-plus);font-weight:600;text-transform:uppercase}.tier-free{background:#e0e0e0;color:#666}.tier-explorer{background:#dbeafe;color:#1d4ed8}.tier-pro{background:#fef3c7;color:#d97706}.tier-team{background:#dcfce7;color:#15803d}.tier-enterprise{background:#f3e8ff;color:#7c3aed}#signout-btn{color:#dc2626}#signout-btn svg{color:#dc2626}#signout-btn:hover{background:#fef2f2}@media(prefers-color-scheme:dark){.auth-modal-content{background:#1a1a1a;color:#fff}.auth-form h2{color:#fff}.auth-subtitle{color:#999}.auth-google-btn{background:#2a2a2a;border-color:#444;color:#fff}.auth-google-btn:hover{background:#333}.auth-divider{color:#666}.auth-divider:before,.auth-divider:after{background:#444}.auth-field label{color:#ccc}.auth-field input{background:#2a2a2a;border-color:#444;color:#fff}.auth-field input:focus{border-color:var(--color-blue)}.auth-modal-close{color:#999}.auth-modal-close:hover{background:#333;color:#fff}}@media(max-width:480px){.auth-modal-content{max-width:none;margin:0 10px}.auth-modal-body{padding:30px var(--space-lg)}.auth-button-text{display:none}.auth-button{padding:var(--space-sm) 12px}}body.auth-pending .app-container,body.signed-out .app-container,body.signed-in #loginWall{display:none!important}.login-wall{position:fixed;inset:0;z-index:var(--z-fullscreen-low);background:linear-gradient(135deg,#051F20 0%,var(--color-anchor) 100%);display:flex;align-items:center;justify-content:center;padding:24px}.login-wall-card{width:100%;max-width:420px;background:var(--color-surface-light);border-radius:12px;padding:40px 36px;box-shadow:0 20px 48px #0f3d3e73;text-align:center;border-top:4px solid var(--color-signal)}.login-wall-brand{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:24px;color:var(--color-anchor)}.login-wall-brand-name{font-size:22px;font-weight:700;letter-spacing:-.01em}.login-wall-title{font-size:22px;font-weight:600;margin:0 0 8px;color:var(--color-base)}.login-wall-subtitle{margin:0 0 24px;font-size:14px;color:var(--color-base-muted);line-height:1.5}.login-wall-btn{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:12px 24px;background:var(--color-anchor);color:var(--color-signal);border:0;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:background .12s ease,transform 80ms ease}.login-wall-btn:hover{background:#051f20}.login-wall-btn:active{transform:translateY(1px)}.login-wall-btn:focus-visible{outline:3px solid rgba(200,241,105,.5);outline-offset:2px}.login-wall-meta{margin:16px 0 0;font-size:12px;color:var(--color-base-light)}.mfa-enroll-overlay{position:fixed;inset:0;z-index:var(--z-modal);background:#0f3d3ea6;display:flex;align-items:center;justify-content:center;padding:24px}.mfa-enroll-card{position:relative;width:100%;max-width:420px;background:var(--color-surface-light);border-radius:12px;padding:32px 28px;box-shadow:0 20px 48px #0f3d3e73;border-top:4px solid var(--color-signal)}.mfa-enroll-card h2{margin:0 0 16px;font-size:18px;font-weight:600;color:var(--color-base)}.mfa-enroll-close{position:absolute;top:8px;right:12px;width:32px;height:32px;background:transparent;border:0;font-size:24px;line-height:1;color:var(--color-base-muted);cursor:pointer}.mfa-enroll-close:hover{color:var(--color-base)}.mfa-enroll-steps{margin:0 0 16px;padding-left:20px;color:var(--color-base-muted);font-size:13px;line-height:1.5}.mfa-enroll-qr{display:block;margin:8px auto 16px;border:1px solid var(--color-surface-dark);border-radius:8px}.mfa-enroll-secret{margin-bottom:16px;padding:10px 12px;background:var(--color-surface);border-radius:6px;font-size:12px;line-height:1.4;word-break:break-all}.mfa-enroll-secret-label{display:block;color:var(--color-base-muted);font-weight:500;margin-bottom:4px}.mfa-enroll-secret-code{color:var(--color-anchor);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,monospace;font-size:13px;letter-spacing:.5px}.mfa-enroll-form{display:flex;flex-direction:column;gap:8px}.mfa-enroll-form label{font-size:13px;font-weight:500;color:var(--color-base)}.mfa-enroll-form input{padding:10px 12px;font-size:16px;letter-spacing:4px;text-align:center;border:1px solid var(--color-surface-dark);border-radius:6px;background:#fff}.mfa-enroll-form input:focus{outline:3px solid rgba(46,204,113,.3);border-color:var(--color-primary)}.mfa-enroll-submit{padding:12px 20px;background:var(--color-anchor);color:var(--color-signal);border:0;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;margin-top:6px;transition:background .12s ease}.mfa-enroll-submit:hover{background:#051f20}.mfa-enroll-submit:disabled{opacity:.6;cursor:not-allowed}.mfa-enroll-error{color:var(--color-error);font-size:13px;min-height:18px}.mfa-enroll-subtitle{margin:0 0 16px;font-size:13px;color:var(--color-base-muted);line-height:1.5}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.pricing-modal{position:fixed;inset:0;z-index:var(--z-measure);display:flex;align-items:center;justify-content:center;padding:var(--space-md-plus)}.pricing-modal.hidden{display:none}.pricing-modal-backdrop{position:absolute;inset:0;background:rgba(var(--color-black-rgb),.6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.pricing-modal-content{position:relative;background:#fff;border-radius:16px;box-shadow:0 20px 60px rgba(var(--color-black-rgb),.3);max-width:1100px;width:100%;max-height:90vh;overflow-y:auto;animation:pricingSlideIn .3s ease-out}@keyframes pricingSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.pricing-modal-close{position:absolute;top:20px;right:20px;background:none;border:none;cursor:pointer;padding:var(--space-sm);color:#666;border-radius:var(--radius-8);transition:background-color .2s,color .2s;z-index:var(--z-base)}.pricing-modal-close:hover{background:#f0f0f0;color:#333}.pricing-modal-body{padding:var(--space-2xl)}.pricing-header{text-align:center;margin-bottom:40px}.pricing-header h2{margin:0 0 12px;font-size:32px;font-weight:700;color:#1a1a1a}.pricing-header p{margin:0;color:#666;font-size:var(--text-lg)}.pricing-highlight{margin-top:var(--space-md)!important;padding:var(--space-sm) 16px;background:#fef3c7;color:#d97706;border-radius:var(--radius-xl);display:inline-block;font-size:var(--text-base);font-weight:500}.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-lg);max-width:1000px;margin:0 auto}.pricing-card{background:#f8f9fa;border-radius:16px;padding:28px;display:flex;flex-direction:column;position:relative;transition:transform .2s,box-shadow .2s;border:2px solid transparent}.pricing-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(var(--color-black-rgb),.12)}.pricing-card.popular{background:#fff;border-color:var(--primary-color, #3B82F6);transform:scale(1.02);box-shadow:0 12px 40px rgba(var(--color-blue-rgb),.2)}.pricing-card.popular:hover{transform:scale(1.02) translateY(-4px)}.pricing-card.current{border-color:#10b981}.popular-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:var(--primary-color, #3B82F6);color:#fff;padding:var(--space-xs-plus) 16px;border-radius:var(--radius-xl);font-size:var(--text-sm);font-weight:600;white-space:nowrap}.pricing-card-header{text-align:center;margin-bottom:var(--space-lg);padding-top:var(--space-sm)}.pricing-card-header h3{margin:0 0 12px;font-size:var(--text-xl-plus);font-weight:600;color:#1a1a1a}.pricing-card-price{display:flex;align-items:baseline;justify-content:center;gap:var(--space-xs)}.price-amount{font-size:40px;font-weight:700;color:#1a1a1a}.price-period{font-size:var(--text-base);color:#666}.price-custom{font-size:var(--text-2xl);font-weight:600;color:#666}.pricing-card-features{list-style:none;padding:0;margin:0 0 24px;flex:1}.pricing-card-features li{display:flex;align-items:flex-start;gap:var(--space-sm-plus);padding:var(--space-sm) 0;font-size:var(--text-base);color:#444}.pricing-card-features li svg{flex-shrink:0;color:#10b981;margin-top:var(--space-2xs)}.pricing-card-action{margin-top:auto}.pricing-btn{width:100%;padding:14px var(--space-md-plus);border:none;border-radius:var(--radius-md);font-size:15px;font-weight:600;cursor:pointer;transition:background-color .2s,transform .1s}.pricing-btn:active{transform:scale(.98)}.pricing-btn.upgrade{background:var(--primary-color, #3B82F6);color:#fff}.pricing-btn.upgrade:hover{background:var(--primary-hover, #2563EB)}.pricing-btn.downgrade{background:#e5e7eb;color:#374151}.pricing-btn.downgrade:hover{background:#d1d5db}.pricing-btn.enterprise{background:#1f2937;color:#fff}.pricing-btn.enterprise:hover{background:#111827}.pricing-btn.current{background:#d1fae5;color:#065f46;cursor:default}.pricing-btn:disabled{opacity:.7;cursor:not-allowed}.pricing-manage{text-align:center;margin-top:var(--space-xl);padding-top:var(--space-xl);border-top:1px solid #e5e7eb}.manage-subscription-btn{padding:var(--space-sm-lg) 24px;background:#fff;border:1px solid #d1d5db;border-radius:var(--radius-8);font-size:var(--text-base);font-weight:500;color:#374151;cursor:pointer;transition:background-color .2s,border-color .2s}.manage-subscription-btn:hover{background:#f9fafb;border-color:#9ca3af}.pricing-footer{text-align:center;margin-top:var(--space-xl);padding-top:var(--space-lg);border-top:1px solid #e5e7eb}.pricing-footer p{margin:var(--space-sm) 0;font-size:var(--text-sm-plus);color:#666}.pricing-footer a{color:var(--primary-color, #3B82F6);text-decoration:none}.pricing-footer a:hover{text-decoration:underline}@media(prefers-color-scheme:dark){.pricing-modal-content{background:#1a1a1a}.pricing-header h2{color:#fff}.pricing-header p{color:#999}.pricing-card{background:#2a2a2a}.pricing-card.popular{background:#1f1f1f}.pricing-card-header h3,.price-amount{color:#fff}.pricing-card-features li{color:#ccc}.pricing-modal-close{color:#999}.pricing-modal-close:hover{background:#333;color:#fff}.pricing-footer p{color:#999}.pricing-footer,.pricing-manage{border-top-color:#333}.manage-subscription-btn{background:#2a2a2a;border-color:#444;color:#ccc}.manage-subscription-btn:hover{background:#333}}@media(max-width:900px){.pricing-modal-body{padding:var(--space-xl) 24px}.pricing-grid{grid-template-columns:1fr;max-width:400px}.pricing-card.popular{transform:none}.pricing-card.popular:hover{transform:translateY(-4px)}}@media(max-width:480px){.pricing-modal-body{padding:var(--space-lg) 16px}.pricing-header h2{font-size:var(--text-2xl)}.price-amount{font-size:32px}}.labels-page{display:flex;flex-direction:column;height:100%;padding:var(--space-lg);background:var(--color-surface);overflow-y:auto;gap:var(--space-md)}.labels-page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-sm)}.labels-page-header-left{display:flex;flex-direction:column;gap:var(--space-xs)}.labels-page-title{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--text-2xl);font-weight:var(--font-semibold);color:var(--color-anchor);margin:0}.labels-page-description{font-size:var(--text-sm);color:var(--color-base-muted);max-width:500px;line-height:1.5;margin:0}.labels-table-container{background:var(--color-surface-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-elevation-1);overflow:hidden}.labels-table{width:100%;border-collapse:collapse}.labels-table thead tr{background:var(--color-anchor)}.labels-table th{text-align:left;padding:var(--space-sm-lg) var(--space-md);font-size:var(--text-xs-plus);font-weight:var(--font-medium);color:var(--color-white);text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--color-primary)}.labels-table th.labels-th-name{width:200px;text-align:left}.labels-table td:first-child{text-align:left;padding-left:var(--space-md)}.labels-table th:first-child{border-top-left-radius:var(--radius-lg)}.labels-table th:last-child{border-top-right-radius:var(--radius-lg)}.labels-table td{padding:var(--space-md);border-bottom:1px solid var(--color-surface-dark);vertical-align:middle}.labels-table tbody tr:last-child td{border-bottom:none}.labels-table tbody tr:hover{background:rgba(var(--color-primary-rgb),.04)}.label-name-cell{display:flex;flex-direction:column;gap:var(--space-2xs);align-items:flex-start;text-align:left}.label-name-row{display:flex;align-items:center;gap:var(--space-sm);justify-content:flex-start;width:100%}.label-name{font-size:var(--text-base);font-weight:var(--font-medium);color:var(--color-anchor)}.label-option-count{display:inline-flex;align-items:center;justify-content:center;text-align:center;min-width:40px;padding:var(--space-2xs) 8px;background:var(--color-anchor);border-radius:var(--radius-full);font-size:var(--text-xs-plus);font-weight:var(--font-medium);color:var(--color-signal);margin-left:auto}.label-option-count.at-limit{background:var(--color-warning);color:var(--color-white)}.label-system-badge{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;background:var(--color-warning);border-radius:50%;color:var(--color-white)}.label-system-badge svg{width:10px;height:10px}.label-options-cell{display:flex;flex-wrap:wrap;gap:var(--space-xs);align-items:center}.label-chip{display:inline-flex;align-items:center;gap:var(--space-xs);padding:3px var(--space-sm-plus);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--color-white);white-space:nowrap;transition:transform var(--transition-fast),opacity var(--transition-fast)}.label-chip.light-text{color:var(--color-base)}.label-chip-outline{display:inline-flex;align-items:center;gap:var(--space-xs-plus);padding:var(--space-xs) 10px;border:1px solid var(--color-surface-dark);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--font-normal);color:var(--color-base);background:transparent;white-space:nowrap;transition:border-color var(--transition-fast),background var(--transition-fast);position:relative}.label-chip-outline:hover{border-color:var(--color-base-light);background:var(--color-surface)}.label-chip-outline .chip-remove{display:flex;align-items:center;justify-content:center;width:14px;height:14px;margin-left:var(--space-2xs);margin-right:-4px;color:var(--color-base-muted);cursor:pointer;opacity:.6;transition:opacity var(--transition-fast),color var(--transition-fast)}.label-chip-outline .chip-remove:hover{opacity:1;color:var(--color-error)}.label-chip-outline .chip-remove svg{width:12px;height:12px}.label-row-actions{display:inline-flex;align-items:center;gap:var(--space-xs);margin-left:var(--space-sm);padding-left:var(--space-sm);border-left:1px solid var(--color-surface-dark)}.label-action-link{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-xs) 8px;border:none;background:transparent;color:var(--color-base-muted);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;border-radius:var(--radius-sm);transition:all .2s ease;position:relative;z-index:var(--z-base)}.label-action-link:hover{background:var(--color-surface);color:var(--color-primary)}.label-action-link.edit-label-btn{color:var(--color-primary);font-weight:var(--font-semibold);transition:all .25s ease}.label-action-link.edit-label-btn:hover{background:rgba(var(--color-primary-rgb),.15);color:var(--color-primary);transform:scale(1.05);box-shadow:0 2px 8px rgba(var(--color-primary-rgb),.25)}.label-action-link svg{width:14px;height:14px}.label-action-link.add-option-btn{padding:var(--space-xs);color:var(--color-primary)}.label-action-link.add-option-btn:hover{background:rgba(var(--color-primary-rgb),.1)}.label-action-link.delete-label-btn{padding:var(--space-xs)}.label-action-link.delete-label-btn:hover{background:rgba(var(--color-error-rgb),.1);color:var(--color-error)}.label-chip-remove{display:flex;align-items:center;justify-content:center;width:14px;height:14px;margin-left:var(--space-2xs);margin-right:-4px;border-radius:50%;background:rgba(var(--color-white-rgb),.25);cursor:pointer;opacity:.8;transition:opacity var(--transition-fast),background var(--transition-fast)}.label-chip-remove:hover{opacity:1;background:rgba(var(--color-white-rgb),.4)}.label-chip-remove svg{width:10px;height:10px}.label-actions-cell{display:flex;gap:var(--space-sm);justify-content:flex-end}.label-action-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;color:var(--color-base-muted);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.label-action-btn:hover{background:var(--color-surface);color:var(--color-base)}.label-action-btn.delete:hover{background:rgba(var(--color-error-rgb),.1);color:var(--color-error)}.label-action-btn svg{width:16px;height:16px}.labels-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-2xl) var(--space-lg);text-align:center}.labels-empty-icon{width:56px;height:56px;margin-bottom:var(--space-md);color:var(--color-base-light);opacity:.6}.labels-empty-title{font-size:var(--text-lg);font-weight:var(--font-medium);color:var(--color-anchor);margin:0 0 var(--space-xs) 0}.labels-empty-text{font-size:var(--text-sm);color:var(--color-base-muted);margin:0;max-width:280px}.label-editor-modal{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center}.label-editor-modal.hidden{display:none}.label-editor-backdrop{position:absolute;inset:0;background:rgba(var(--color-black-rgb),.5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.label-editor-content{position:relative;background:var(--color-surface-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-elevation-3);width:100%;max-width:500px;max-height:80vh;overflow:hidden;display:flex;flex-direction:column;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.label-editor-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--color-surface-dark)}.label-editor-title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-base);margin:0}.label-editor-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;color:var(--color-base-muted);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast)}.label-editor-close:hover{background:var(--color-surface)}.label-editor-close svg{width:18px;height:18px}.label-editor-body{flex:1;overflow-y:auto;padding:var(--space-lg)}.label-editor-warning{font-size:var(--text-sm);color:var(--color-warning);line-height:1.5;margin:0 0 var(--space-lg) 0;padding:0}.label-editor-row{display:grid;grid-template-columns:100px 1fr;gap:var(--space-md);align-items:start;margin-bottom:var(--space-lg)}.label-editor-row.label-editor-options-row{align-items:start}.label-editor-label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-base);padding-top:var(--space-sm-plus)}.label-editor-input{width:100%;padding:var(--space-sm-plus) var(--space-md);border:1px solid var(--color-surface-dark);border-radius:var(--radius-sm);font-size:var(--text-base);color:var(--color-base);background:var(--color-white);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.label-editor-input:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--shadow-focus)}.label-editor-input::placeholder{color:var(--color-base-light)}.label-editor-input[readonly]{background:var(--color-surface);color:var(--color-base-muted)}.label-options-list{display:flex;flex-direction:column;gap:var(--space-sm)}.label-option-item{display:flex;align-items:center;gap:var(--space-sm);cursor:grab;transition:opacity var(--transition-fast)}.label-option-item.dragging{opacity:.5;cursor:grabbing}.label-option-item.drag-over{background:rgba(var(--color-primary-rgb),.05);border-radius:var(--radius-sm)}.label-option-drag-handle{display:grid;grid-template-columns:repeat(2,4px);grid-template-rows:repeat(3,4px);gap:var(--space-2xs);padding:var(--space-xs);color:var(--color-base-light);cursor:grab}.label-option-drag-handle span{width:4px;height:4px;background:var(--color-base-light);border-radius:50%}.label-option-input{flex:1;padding:var(--space-sm-plus) var(--space-md);border:1px solid var(--color-surface-dark);border-radius:var(--radius-sm);font-size:var(--text-base);background:var(--color-white);color:var(--color-base);transition:border-color var(--transition-fast)}.label-option-input:focus{outline:none;border-color:var(--color-primary)}.label-option-input::placeholder{color:var(--color-base-light)}.label-option-remove{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;color:var(--color-base-light);border-radius:var(--radius-sm);cursor:pointer;transition:color var(--transition-fast);flex-shrink:0}.label-option-remove:hover:not(:disabled){color:var(--color-base)}.label-option-remove:disabled{opacity:.3;cursor:not-allowed}.label-option-remove svg{width:16px;height:16px}.label-add-option-btn{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm);background:transparent;border:1px dashed var(--color-surface-dark);border-radius:var(--radius-md);color:var(--color-base-muted);font-size:var(--text-sm);cursor:pointer;transition:border-color var(--transition-fast),color var(--transition-fast)}.label-add-option-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.label-add-option-btn svg{width:14px;height:14px}.label-editor-footer{display:flex;justify-content:flex-end;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);border-top:1px solid var(--color-surface-dark);background:var(--color-surface)}.label-editor-btn{padding:var(--space-sm) var(--space-lg);border:none;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:background var(--transition-fast)}.label-editor-btn.secondary{background:transparent;color:var(--color-base-muted)}.label-editor-btn.secondary:hover{background:var(--color-surface-dark);color:var(--color-base)}.label-editor-btn.primary{background:var(--color-info);color:var(--color-white)}.label-editor-btn.primary:hover:not(:disabled){background:var(--color-blue-600)}.label-editor-btn.primary:disabled{background:var(--color-base-light);cursor:not-allowed;opacity:.6}.entity-labels-panel{display:flex;flex-direction:column;gap:var(--space-sm)}.entity-labels-header{display:flex;justify-content:space-between;align-items:center}.entity-labels-title{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-base-muted)}.entity-labels-add-btn{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) 8px;background:transparent;border:1px solid var(--color-surface-dark);border-radius:var(--radius-sm);color:var(--color-base-muted);font-size:var(--text-xs);cursor:pointer;transition:border-color var(--transition-fast),color var(--transition-fast)}.entity-labels-add-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.entity-labels-add-btn svg{width:12px;height:12px}.entity-labels-list{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.entity-labels-empty{font-size:var(--text-xs);color:var(--color-base-light);font-style:italic}.entity-labels-dropdown{position:relative}.entity-labels-dropdown-menu{position:absolute;top:100%;left:0;z-index:var(--z-dropdown);min-width:200px;max-height:300px;overflow-y:auto;background:var(--color-surface-light);border:1px solid var(--color-surface-dark);border-radius:var(--radius-md);box-shadow:var(--shadow-elevation-2);margin-top:var(--space-xs);display:none}.entity-labels-dropdown.open .entity-labels-dropdown-menu{display:block}.entity-labels-dropdown-section{padding:var(--space-sm);border-bottom:1px solid var(--color-surface-dark)}.entity-labels-dropdown-section:last-child{border-bottom:none}.entity-labels-dropdown-label{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--color-base-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-xs)}.entity-labels-dropdown-options{display:flex;flex-direction:column;gap:var(--space-2xs)}.entity-labels-dropdown-option{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast)}.entity-labels-dropdown-option:hover{background:var(--color-surface)}.entity-labels-dropdown-option.selected{background:rgba(var(--color-primary-rgb),.1)}.entity-labels-dropdown-color{width:12px;height:12px;border-radius:50%;flex-shrink:0}.entity-labels-dropdown-text{font-size:var(--text-sm);color:var(--color-base)}.bulk-tag-modal{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center}.bulk-tag-modal.hidden{display:none}.bulk-tag-content{position:relative;background:var(--color-surface-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-elevation-3);width:100%;max-width:400px;animation:modalSlideIn .3s ease-out}.bulk-tag-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--color-surface-dark)}.bulk-tag-title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-base);margin:0}.bulk-tag-body{padding:var(--space-lg)}.bulk-tag-count{font-size:var(--text-sm);color:var(--color-base-muted);margin-bottom:var(--space-md)}.bulk-tag-count strong{color:var(--color-base)}.bulk-tag-select{width:100%;padding:var(--space-sm) var(--space-md);border:1px solid var(--color-surface-dark);border-radius:var(--radius-md);font-size:var(--text-base);color:var(--color-base);background:var(--color-surface);margin-bottom:var(--space-md)}.bulk-tag-select:focus{outline:none;border-color:var(--color-primary)}.bulk-tag-options{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-bottom:var(--space-md)}.bulk-tag-option{padding:var(--space-xs) var(--space-sm);border:1px solid var(--color-surface-dark);border-radius:var(--radius-full);font-size:var(--text-sm);color:var(--color-base);background:transparent;cursor:pointer;transition:all var(--transition-fast)}.bulk-tag-option:hover{border-color:var(--color-primary)}.bulk-tag-option.selected{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-white)}.bulk-tag-footer{display:flex;justify-content:flex-end;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);border-top:1px solid var(--color-surface-dark);background:var(--color-surface)}.delete-confirm-modal{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center}.delete-confirm-modal.hidden{display:none}.delete-confirm-content{position:relative;background:var(--color-surface-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-elevation-3);width:100%;max-width:400px;padding:var(--space-lg);text-align:center;animation:modalSlideIn .3s ease-out}.delete-confirm-icon{width:48px;height:48px;margin:0 auto var(--space-md);color:var(--color-error)}.delete-confirm-title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-base);margin:0 0 var(--space-sm)}.delete-confirm-text{font-size:var(--text-sm);color:var(--color-base-muted);margin-bottom:var(--space-lg)}.delete-confirm-actions{display:flex;justify-content:center;gap:var(--space-sm)}.delete-confirm-btn{padding:var(--space-sm) var(--space-lg);border:none;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:background var(--transition-fast)}.delete-confirm-btn.cancel{background:var(--color-surface);color:var(--color-base-muted)}.delete-confirm-btn.cancel:hover{background:var(--color-surface-dark)}.delete-confirm-btn.delete{background:var(--color-error);color:var(--color-white)}.delete-confirm-btn.delete:hover{background:var(--color-red-700)}.labels-page-loading,.labels-page-error{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;padding:var(--space-2xl);color:var(--color-base-muted)}.loading-spinner{width:32px;height:32px;border:3px solid var(--color-surface-dark);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}.labels-retry-btn{padding:var(--space-sm) var(--space-lg);background:var(--color-primary);color:var(--color-white);border:none;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:background var(--transition-fast)}.labels-retry-btn:hover{background:var(--color-primary-dark)}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideOutDown{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(20px)}}.label-chips{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.label-chip-more{background:var(--color-surface-dark);color:var(--color-base-muted);font-size:var(--text-xs)}.label-chip-small{padding:var(--space-2xs) 8px;font-size:var(--text-xs)}.label-chip-medium{padding:3px var(--space-sm-plus);font-size:var(--text-xs-plus)}.label-chip-large{padding:var(--space-xs) 12px;font-size:var(--text-sm)}.page-loading,.page-error{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;padding:var(--space-lg);color:var(--color-base-muted);text-align:center}.page-loading .loading-spinner,.page-error .loading-spinner{width:40px;height:40px;margin-bottom:var(--space-md)}.page-error p{font-size:var(--text-base);color:var(--color-error)}.pipeline-page{display:flex;flex-direction:column;height:100%;background:var(--color-surface);overflow:hidden}.pipeline-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-md) var(--space-lg);background:var(--color-surface-light);border-bottom:1px solid var(--color-surface-dark);flex-shrink:0}.pipeline-header-left{display:flex;align-items:center;gap:var(--space-lg)}.pipeline-title{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--color-base);margin:0}.pipeline-count{font-size:var(--text-sm);color:var(--color-base-muted)}.pipeline-toggle{display:flex;background:var(--color-surface);border-radius:var(--radius-md);padding:3px}.pipeline-toggle-btn{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-md);border:none;background:transparent;color:var(--color-base-muted);font-size:var(--text-sm);font-weight:var(--font-medium);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.pipeline-toggle-btn:hover{color:var(--color-base)}.pipeline-toggle-btn.active{background:var(--color-surface-light);color:var(--color-base);box-shadow:var(--shadow-neu-outer-sm)}.pipeline-toggle-btn svg{width:14px;height:14px}.pipeline-filters{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-lg);background:var(--color-surface-light);border-bottom:1px solid var(--color-surface-dark);flex-shrink:0}.pipeline-search{position:relative;flex:1;max-width:320px}.pipeline-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--color-primary);pointer-events:none;z-index:var(--z-base)}.pipeline-search-input{width:100%;height:38px;padding:0 12px 0 38px;border:1px solid var(--color-surface-dark);border-radius:var(--radius-lg);font-size:var(--text-sm-plus);color:var(--color-base);background:var(--color-surface);transition:all .15s ease}.pipeline-search-input:focus{outline:none;border-color:var(--color-primary);background:var(--color-surface-light);box-shadow:var(--shadow-focus)}.pipeline-search-input::placeholder{color:var(--color-base-light)}.pipeline-search-input:hover:not(:focus){border-color:var(--color-base-light)}.pipeline-filter{position:relative}.pipeline-filter-btn{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);border:1px solid var(--color-surface-dark);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-base-muted);font-size:var(--text-sm);cursor:pointer;transition:border-color var(--transition-fast),color var(--transition-fast)}.pipeline-filter-btn:hover{border-color:var(--color-base-light);color:var(--color-base)}.pipeline-filter-btn.active{border-color:var(--color-primary);color:var(--color-primary);background:rgba(var(--color-primary-rgb),.05)}.pipeline-filter-btn svg{width:14px;height:14px}.pipeline-filter-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;background:var(--color-primary);color:var(--color-white);font-size:var(--text-xs);font-weight:var(--font-semibold);border-radius:var(--radius-full)}.pipeline-filter-dropdown{position:absolute;top:100%;left:0;z-index:var(--z-dropdown);min-width:180px;max-height:250px;overflow-y:auto;background:var(--color-surface-light);border:1px solid var(--color-surface-dark);border-radius:var(--radius-md);box-shadow:var(--shadow-elevation-2);margin-top:var(--space-xs);display:none}.pipeline-filter.open .pipeline-filter-dropdown{display:block}.pipeline-filter-option{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);cursor:pointer;transition:background var(--transition-fast)}.pipeline-filter-option:hover{background:var(--color-surface)}.pipeline-filter-checkbox{width:16px;height:16px;border:1px solid var(--color-base-light);border-radius:var(--radius-3);display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.pipeline-filter-option.selected .pipeline-filter-checkbox{background:var(--color-primary);border-color:var(--color-primary)}.pipeline-filter-option.selected .pipeline-filter-checkbox:after{content:"";width:8px;height:5px;border-left:2px solid var(--color-white);border-bottom:2px solid var(--color-white);transform:rotate(-45deg) translateY(-1px)}.pipeline-filter-color{width:12px;height:12px;border-radius:50%}.pipeline-filter-text{font-size:var(--text-sm);color:var(--color-base)}.pipeline-clear-filters{padding:var(--space-xs) var(--space-sm);border:none;background:transparent;color:var(--color-base-muted);font-size:var(--text-sm);cursor:pointer;transition:color var(--transition-fast)}.pipeline-clear-filters:hover{color:var(--color-error)}.pipeline-spacer{flex:1}.pipeline-sort{position:relative;margin-left:auto}.pipeline-sort-btn{display:flex;align-items:center;gap:var(--space-xs-plus);padding:var(--space-xs) var(--space-sm);border:1px solid var(--color-surface-dark);background:var(--color-surface-light);color:var(--color-base);font-size:var(--text-sm);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.pipeline-sort-btn:hover{background:var(--color-surface);border-color:var(--color-base-light)}.pipeline-sort-btn .chevron{transition:transform var(--transition-fast)}.pipeline-sort.open .pipeline-sort-btn .chevron{transform:rotate(180deg)}.pipeline-sort-label{font-weight:var(--font-medium)}.pipeline-sort-dropdown{position:absolute;top:calc(100% + 4px);right:0;min-width:180px;background:var(--color-surface-light);border:1px solid var(--color-surface-dark);border-radius:var(--radius-md);box-shadow:var(--shadow-elevation-2);z-index:var(--z-dropdown);display:none}.pipeline-sort.open .pipeline-sort-dropdown{display:block}.pipeline-sort-option{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);cursor:pointer;transition:background var(--transition-fast)}.pipeline-sort-option:first-child{border-radius:var(--radius-md) var(--radius-md) 0 0}.pipeline-sort-option:last-child{border-radius:0 0 var(--radius-md) var(--radius-md)}.pipeline-sort-option:hover{background:var(--color-surface)}.pipeline-sort-option.selected{background:rgba(var(--color-primary-rgb),.1)}.pipeline-sort-check{width:14px;height:14px;display:flex;align-items:center;justify-content:center;color:var(--color-primary)}.pipeline-sort-text{font-size:var(--text-sm);color:var(--color-base)}.pipeline-sort-option.selected .pipeline-sort-text{color:var(--color-primary);font-weight:var(--font-medium)}.pipeline-sort-indicator{margin-left:auto;font-size:var(--text-xs);color:var(--color-base-light)}.pipeline-sort-option.selected .pipeline-sort-indicator{color:var(--color-primary)}.pipeline-board{flex:1;display:flex;gap:var(--space-md);padding:var(--space-lg);overflow-x:auto;overflow-y:hidden}.pipeline-board::-webkit-scrollbar{height:8px}.pipeline-board::-webkit-scrollbar-track{background:var(--color-surface-dark);border-radius:var(--radius-xs)}.pipeline-board::-webkit-scrollbar-thumb{background:var(--color-base-light);border-radius:var(--radius-xs)}.pipeline-board::-webkit-scrollbar-thumb:hover{background:var(--color-base-muted)}.pipeline-column{flex:0 0 280px;width:280px;min-width:280px;max-width:280px;display:flex;flex-direction:column;background:var(--color-surface-dark);border-radius:var(--radius-lg);max-height:100%;transition:background var(--transition-fast)}.pipeline-column.drag-over{background:rgba(var(--color-primary-rgb),.08)}.pipeline-column.collapsed{flex:0 0 48px;width:48px;min-width:48px;max-width:48px;height:100%}.pipeline-column.collapsed .pipeline-column-header{flex-direction:column;padding:var(--space-sm);height:100%;border-bottom:none;border-right:2px solid;justify-content:flex-start;align-items:center;gap:var(--space-sm)}.pipeline-column.collapsed .pipeline-column-title{writing-mode:vertical-rl;text-orientation:mixed;white-space:nowrap;flex:1;display:flex;align-items:flex-start;gap:var(--space-sm)}.pipeline-column.collapsed .pipeline-column-count{writing-mode:horizontal-tb}.pipeline-column.collapsed .pipeline-column-actions{flex-shrink:0;order:-1}.pipeline-column.collapsed .pipeline-column-action{width:28px;height:28px}.pipeline-column.collapsed .pipeline-column-cards,.pipeline-column.collapsed .pipeline-drop-zone{display:none}.pipeline-column .collapse-icon{display:block}.pipeline-column .expand-icon,.pipeline-column.collapsed .collapse-icon{display:none}.pipeline-column.collapsed .expand-icon{display:block}.pipeline-column-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md);border-bottom:2px solid;flex-shrink:0}.pipeline-column-title{display:flex;align-items:center;gap:var(--space-sm);min-width:0;overflow:hidden}.pipeline-column-name{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-base);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pipeline-column-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;background:var(--color-surface-light);color:var(--color-base-muted);font-size:var(--text-xs);font-weight:var(--font-semibold);border-radius:var(--radius-full)}.pipeline-column-actions{display:flex;gap:var(--space-2xs)}.pipeline-column-action{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:transparent;color:var(--color-base-muted);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.pipeline-column-action:hover{background:var(--color-surface-light);color:var(--color-base)}.pipeline-column-action svg{width:14px;height:14px}.pipeline-column-cards{flex:1;display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-sm);overflow-y:auto;min-height:100px}.pipeline-column-cards::-webkit-scrollbar{width:6px}.pipeline-column-cards::-webkit-scrollbar-track{background:transparent}.pipeline-column-cards::-webkit-scrollbar-thumb{background:var(--color-base-light);border-radius:var(--radius-3)}.pipeline-drop-zone{min-height:60px;border:2px dashed transparent;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.pipeline-column.drag-over .pipeline-drop-zone{border-color:var(--color-primary);background:rgba(var(--color-primary-rgb),.05)}.pipeline-drop-zone-text{font-size:var(--text-xs);color:var(--color-base-light);opacity:0;transition:opacity var(--transition-fast)}.pipeline-column.drag-over .pipeline-drop-zone-text{opacity:1;color:var(--color-primary)}.pipeline-card{background:var(--color-surface-light);border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 1px 3px rgba(var(--color-black-rgb),.08);cursor:grab;transition:all .2s ease;border:1px solid var(--color-surface-dark)}.pipeline-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(var(--color-black-rgb),.12);border-color:var(--color-primary)}.pipeline-card.dropdown-open,.pipeline-card.dropdown-open:hover{transform:none}.pipeline-card.dragging{opacity:.6;cursor:grabbing;transform:rotate(2deg) scale(1.02);box-shadow:0 8px 25px rgba(var(--color-black-rgb),.2)}.pipeline-card-inner{padding:var(--space-sm) 10px}.pipeline-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-xs-plus);margin-bottom:var(--space-xs-plus)}.pipeline-card-company{display:flex;align-items:flex-start;gap:var(--space-sm);flex:1;min-width:0}.pipeline-card-favicon{width:24px;height:24px;border-radius:var(--radius-xs);flex-shrink:0;background:var(--color-surface);border:1px solid var(--color-surface-dark)}.pipeline-card-favicon-fallback{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:var(--radius-xs);background:var(--color-anchor);flex-shrink:0}.pipeline-card-favicon-fallback svg{width:12px;height:12px;color:var(--color-signal)}.pipeline-card-info{display:flex;flex-direction:column;gap:var(--space-2xs);min-width:0;flex:1}.pipeline-card-name{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-anchor);line-height:1.3;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color .15s ease}.pipeline-card-name:hover{color:var(--color-primary)}.pipeline-card-url{font-size:var(--text-xs);color:var(--color-base-light);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-decoration:none;transition:color .15s ease}.pipeline-card-url:hover{color:var(--color-primary);text-decoration:underline}.pipeline-card-location{font-size:var(--text-2xs);color:var(--color-base-muted);background:var(--color-surface);padding:var(--space-2xs) 6px;border-radius:var(--radius-sm);white-space:nowrap;flex-shrink:0}.pipeline-card-metrics{display:flex;align-items:center;gap:var(--space-sm-plus);padding:5px 0;margin-bottom:5px;border-top:1px solid var(--color-surface-dark);border-bottom:1px solid var(--color-surface-dark)}.pipeline-card-metric{display:flex;flex-direction:column;gap:0}.pipeline-card-metric-label{font-size:8px;font-weight:var(--font-medium);color:var(--color-base-light);text-transform:uppercase;letter-spacing:.02em}.pipeline-card-metric-value{font-size:var(--text-xs-plus);font-weight:var(--font-semibold);color:var(--color-anchor)}.pipeline-card-priority-container{margin-left:auto}.pipeline-priority-badge{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-2xs) 8px;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--color-white);text-transform:uppercase;letter-spacing:.3px}.pipeline-priority-badge.high{background:var(--color-red-500)}.pipeline-priority-badge.medium{background:var(--color-amber-500)}.pipeline-priority-badge.low{background:var(--color-green-500)}.pipeline-priority-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.pipeline-priority-dot.high{background:var(--color-red-500)}.pipeline-priority-dot.medium{background:var(--color-amber-500)}.pipeline-priority-dot.low{background:var(--color-green-500)}.pipeline-card-location{font-size:var(--text-xs-plus);color:var(--color-base-muted);margin-bottom:var(--space-sm);display:flex;align-items:center;gap:var(--space-xs)}.pipeline-card-labels-container{margin-bottom:var(--space-sm)}.pipeline-card-labels-container:empty{display:none}.pipeline-card-labels{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.pipeline-card-label{padding:var(--space-2xs) 8px;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--color-white)}.pipeline-card-footer{display:flex;align-items:center;justify-content:space-between;padding-top:5px;border-top:1px solid var(--color-surface-dark);margin-top:auto}.pipeline-card-updated{display:flex;align-items:center;gap:3px;font-size:var(--text-2xs);color:var(--color-base-light)}.pipeline-card-updated svg{width:12px;height:12px;opacity:.6}.pipeline-card-actions{display:flex;gap:var(--space-2xs);opacity:0;transition:opacity .15s ease}.pipeline-card:hover .pipeline-card-actions{opacity:1}.pipeline-card.dropdown-open .pipeline-card-actions{opacity:1;transition:none}.pipeline-card-action{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;background:transparent;color:var(--color-base-light);border-radius:var(--radius-sm);cursor:pointer;transition:all .15s ease}.pipeline-card-action:hover{background:rgba(var(--color-error-rgb),.1);color:var(--color-error)}.pipeline-card-action svg{width:14px;height:14px}.pipeline-card-menu{position:relative}.pipeline-card-action.menu-btn:hover{background:var(--color-surface);color:var(--color-base)}.pipeline-card-dropdown{position:absolute;top:100%;right:0;min-width:180px;background:var(--color-surface-light);border:1px solid var(--color-surface-dark);border-radius:var(--radius-sm);box-shadow:0 2px 8px rgba(var(--color-black-rgb),.12);z-index:var(--z-dropdown);display:none;padding:var(--space-xs) 0}.pipeline-card-dropdown.open{display:block;z-index:var(--z-fullscreen)}.pipeline-card-dropdown-item{display:flex;align-items:center;gap:var(--space-xs-plus);width:100%;padding:var(--space-xs-plus) 10px;border:none;background:transparent;color:var(--color-base);font-size:var(--text-sm);text-align:left;cursor:pointer;transition:background .12s ease}.pipeline-card-dropdown-item:first-child{border-radius:0}.pipeline-card-dropdown-item:last-child{border-radius:0}.pipeline-card-dropdown-item:hover{background:var(--color-surface)}.pipeline-card-dropdown-item.danger:hover,.pipeline-card-dropdown-item.remove-btn:hover{background:rgba(var(--color-error-rgb),.1);color:var(--color-error)}.pipeline-card-dropdown-item svg{flex-shrink:0;width:12px;height:12px;color:var(--color-base-muted)}.pipeline-card-dropdown-item:hover svg{color:var(--color-primary)}.pipeline-card-dropdown-item.danger:hover svg,.pipeline-card-dropdown-item.remove-btn:hover svg{color:var(--color-error)}.pipeline-card-dropdown-row{display:flex;align-items:center;justify-content:space-between;padding:var(--space-xs-plus) 10px;gap:var(--space-sm)}.pipeline-card-dropdown-row .dropdown-row-label{font-size:var(--text-sm);color:var(--color-base);flex:1}.pipeline-card-dropdown-row .dropdown-row-actions{display:flex;align-items:center;gap:var(--space-xs)}.dropdown-action-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;background:transparent;border-radius:var(--radius-sm);cursor:pointer;transition:background .12s ease,color .12s ease;color:var(--color-base-muted)}.dropdown-action-btn:hover{background:var(--color-surface);color:var(--color-primary)}.dropdown-action-btn.danger:hover{background:rgba(var(--color-error-rgb),.1);color:var(--color-error)}.dropdown-action-btn svg{width:12px;height:12px}.pipeline-card-dropdown-divider{height:1px;background:var(--color-surface-dark);margin:var(--space-xs) 0}.pipeline-label-overlay{position:fixed;inset:0;background:rgba(var(--color-black-rgb),.5);display:flex;align-items:center;justify-content:center;z-index:var(--z-overlay);animation:fadeIn .15s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.pipeline-label-popup{background:var(--color-anchor);border-radius:var(--radius-md);box-shadow:0 4px 20px rgba(var(--color-black-rgb),.4);min-width:180px;max-width:240px;max-height:60vh;overflow:hidden;animation:popIn .12s ease}@keyframes popIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.pipeline-label-popup-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) 10px;border-bottom:1px solid rgba(var(--color-signal-rgb),.15)}.pipeline-label-popup-header h3{margin:0;font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-signal)}.pipeline-label-popup-close{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;background:transparent;color:rgba(var(--color-signal-rgb),.5);border-radius:var(--radius-sm);cursor:pointer;transition:all .12s ease}.pipeline-label-popup-close:hover{background:rgba(var(--color-signal-rgb),.1);color:var(--color-signal)}.pipeline-label-popup-close svg{width:12px;height:12px}.pipeline-label-popup-body{padding:var(--space-xs-plus);max-height:200px;overflow-y:auto}.pipeline-label-empty{text-align:center;color:rgba(var(--color-signal-rgb),.6);font-size:var(--text-xs-plus);padding:var(--space-sm-lg)}.pipeline-label-group{margin-bottom:var(--space-sm)}.pipeline-label-group:last-child{margin-bottom:0}.pipeline-label-group-name{font-size:var(--text-2xs);font-weight:var(--font-semibold);color:rgba(var(--color-signal-rgb),.5);text-transform:uppercase;letter-spacing:.05em;padding:0 4px 4px;margin-bottom:var(--space-2xs)}.pipeline-label-options{display:flex;flex-direction:column;gap:1px}.pipeline-label-option{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs-plus) 8px;border-radius:var(--radius-sm);cursor:pointer;transition:background .1s ease}.pipeline-label-option:hover{background:rgba(var(--color-signal-rgb),.08)}.pipeline-label-option.selected{background:rgba(var(--color-signal-rgb),.15)}.pipeline-label-checkbox{width:14px;height:14px;border:2px solid rgba(var(--color-signal-rgb),.3);border-radius:var(--radius-3);display:flex;align-items:center;justify-content:center;transition:all .1s ease;flex-shrink:0}.pipeline-label-option.selected .pipeline-label-checkbox{background:var(--color-signal);border-color:var(--color-signal)}.pipeline-label-option.selected .pipeline-label-checkbox:after{content:"";width:6px;height:4px;border:2px solid var(--color-anchor);border-top:none;border-right:none;transform:rotate(-45deg);margin-top:-1px}.pipeline-label-color{width:10px;height:10px;border-radius:50%;flex-shrink:0}.pipeline-label-text{font-size:var(--text-sm);color:rgba(var(--color-white-rgb),.9)}.pipeline-label-popup-footer{display:flex;justify-content:flex-end;gap:var(--space-xs-plus);padding:var(--space-sm) 10px;border-top:1px solid rgba(var(--color-signal-rgb),.15)}.pipeline-label-btn{padding:5px var(--space-sm-lg);border:none;border-radius:var(--radius-sm);font-size:var(--text-xs-plus);font-weight:var(--font-medium);cursor:pointer;transition:all .12s ease}.pipeline-label-btn.cancel{background:transparent;color:rgba(var(--color-signal-rgb),.6)}.pipeline-label-btn.cancel:hover{background:rgba(var(--color-signal-rgb),.1);color:var(--color-signal)}.pipeline-label-btn.apply{background:var(--color-signal);color:var(--color-anchor)}.pipeline-label-btn.apply:hover{background:var(--color-signal-light);transform:translateY(-1px)}.pipeline-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;padding:var(--space-2xl);text-align:center}.pipeline-empty-icon{width:64px;height:64px;color:var(--color-base-light);margin-bottom:var(--space-md);opacity:.5}.pipeline-empty-title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-base);margin:0 0 var(--space-xs)}.pipeline-empty-text{font-size:var(--text-sm);color:var(--color-base-muted);max-width:400px;line-height:1.5;margin-bottom:var(--space-lg)}.pipeline-empty-btn{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);background:var(--color-primary);color:var(--color-white);border:none;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:background var(--transition-fast)}.pipeline-empty-btn:hover{background:var(--color-primary-dark)}.pipeline-empty-btn svg{width:16px;height:16px}.pipeline-column-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-lg);color:var(--color-base-light);text-align:center}.pipeline-column-empty-icon{width:32px;height:32px;margin-bottom:var(--space-sm);opacity:.5}.pipeline-column-empty-text{font-size:var(--text-xs);line-height:1.4}.add-pipeline-modal{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center}.add-pipeline-modal.hidden{display:none}.add-pipeline-backdrop{position:absolute;inset:0;background:rgba(var(--color-black-rgb),.5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.add-pipeline-content{position:relative;background:var(--color-surface-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-elevation-3);width:100%;max-width:500px;max-height:80vh;overflow:hidden;display:flex;flex-direction:column;animation:modalSlideIn .3s ease-out}.add-pipeline-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--color-surface-dark)}.add-pipeline-title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-base);margin:0}.add-pipeline-body{flex:1;overflow-y:auto;padding:var(--space-lg)}.add-pipeline-search{position:relative;margin-bottom:var(--space-md)}.add-pipeline-search-input{width:100%;padding:var(--space-sm) var(--space-md);padding-left:36px;border:1px solid var(--color-surface-dark);border-radius:var(--radius-md);font-size:var(--text-base);color:var(--color-base);background:var(--color-surface)}.add-pipeline-search-input:focus{outline:none;border-color:var(--color-primary)}.add-pipeline-results{max-height:300px;overflow-y:auto}.add-pipeline-result{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast)}.add-pipeline-result:hover{background:var(--color-surface)}.add-pipeline-result.selected{background:rgba(var(--color-primary-rgb),.1)}.add-pipeline-result-checkbox{width:18px;height:18px;border:2px solid var(--color-base-light);border-radius:var(--radius-xs);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all var(--transition-fast)}.add-pipeline-result.selected .add-pipeline-result-checkbox{background:var(--color-primary);border-color:var(--color-primary)}.add-pipeline-result.selected .add-pipeline-result-checkbox:after{content:"";width:10px;height:6px;border-left:2px solid var(--color-white);border-bottom:2px solid var(--color-white);transform:rotate(-45deg) translateY(-1px)}.add-pipeline-result-info{flex:1;min-width:0}.add-pipeline-result-name{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-base);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.add-pipeline-result-meta{font-size:var(--text-xs);color:var(--color-base-muted)}.add-pipeline-footer{display:flex;justify-content:space-between;align-items:center;padding:var(--space-md) var(--space-lg);border-top:1px solid var(--color-surface-dark);background:var(--color-surface)}.add-pipeline-selected-count{font-size:var(--text-sm);color:var(--color-base-muted)}.add-pipeline-selected-count strong{color:var(--color-primary)}@media(max-width:768px){.pipeline-header{flex-direction:column;gap:var(--space-md);align-items:flex-start}.pipeline-filters{flex-wrap:wrap}.pipeline-search{max-width:none;width:100%}.pipeline-column{flex:0 0 260px}.pipeline-card{padding:var(--space-sm)}}.company-overview-page{padding:var(--space-lg) 32px 80px;width:100%;height:100%;min-height:100vh;background:var(--color-surface);overflow-y:auto}.company-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;color:var(--color-base-muted)}.company-loading .loading-spinner{width:40px;height:40px;border:3px solid var(--color-surface-dark);border-top-color:var(--color-primary);border-radius:50%;animation:company-spin .8s linear infinite}@keyframes company-spin{to{transform:rotate(360deg)}}.company-empty,.company-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;text-align:center;color:var(--color-base-muted);background:var(--color-white);border-radius:var(--radius-12);box-shadow:0 1px 3px rgba(var(--color-black-rgb),.05);padding:var(--space-2xl) 24px}.company-empty-icon,.company-error-icon{width:64px!important;height:64px!important;max-width:64px;max-height:64px;min-width:64px;min-height:64px;margin-bottom:var(--space-md);opacity:.5;color:var(--color-base-muted);flex-shrink:0}.company-empty svg,.company-error svg{width:64px!important;height:64px!important;max-width:64px;max-height:64px}.company-empty h3,.company-error h3{font-size:1.25rem;font-weight:600;color:var(--color-base);margin:0 0 8px}.company-empty p,.company-error p{margin:0;font-size:.9375rem;color:var(--color-base-muted)}.company-header{background:var(--color-white);border-radius:var(--radius-12);box-shadow:0 1px 3px rgba(var(--color-black-rgb),.05);padding:var(--space-lg);margin-bottom:var(--space-lg)}.company-header-top{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-lg);flex-wrap:wrap;width:100%}.company-header-left{flex:1;min-width:200px;display:flex;align-items:flex-start;gap:var(--space-md)}.company-favicon{width:56px;height:56px;border-radius:var(--radius-md);background:var(--color-anchor);display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}.company-favicon img{width:100%;height:100%;object-fit:contain}.company-favicon-initials{font-size:var(--text-xl);font-weight:700;color:var(--color-white)}.company-identity{flex:1}.company-name-row{display:flex;align-items:center;gap:var(--space-sm-plus);flex-wrap:wrap;margin-bottom:var(--space-xs)}.company-name{font-size:1.75rem;font-weight:700;color:var(--color-base);margin:0;text-transform:uppercase;letter-spacing:var(--company-name-letter-spacing)}.company-badge{padding:var(--space-xs) 10px;border-radius:var(--radius-12);font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.company-badge.public{background:var(--color-green-100);color:var(--color-green-600)}.company-badge.pe-backed{background:var(--color-purple-100);color:var(--color-purple-600)}.company-badge.independent{background:var(--color-surface-dark);color:var(--color-base-muted)}.company-description{font-size:.9375rem;color:var(--color-base-muted);margin:var(--space-sm) 0 0 0;line-height:1.5;transition:max-height .3s ease}.company-description.truncated{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.company-description-toggle{display:inline-flex;align-items:center;gap:var(--space-xs-plus);margin-top:var(--space-sm);padding:var(--space-xs-plus) 14px;background:linear-gradient(135deg,var(--color-primary) 0%,#27ae60 100%);border:none;border-radius:var(--radius-xl);color:var(--color-white);font-size:.75rem;font-weight:600;font-family:var(--font-primary);letter-spacing:.3px;cursor:pointer;transition:all .25s ease;box-shadow:0 2px 8px rgba(var(--color-primary-rgb),.3)}.company-description-toggle:hover{background:linear-gradient(135deg,#27ae60 0%,var(--color-primary) 100%);transform:translateY(-1px);box-shadow:0 4px 12px rgba(var(--color-primary-rgb),.4)}.company-description-toggle:active{transform:translateY(0);box-shadow:0 2px 6px rgba(var(--color-primary-rgb),.3)}.company-meta{display:flex;flex-wrap:wrap;gap:var(--space-md);margin-top:var(--space-sm-lg);font-size:.875rem;color:var(--color-base-muted)}.company-meta-item{display:flex;align-items:center;gap:var(--space-xs-plus)}.company-meta-item svg{width:14px;height:14px;opacity:.7}.company-meta-item a{color:var(--color-primary);text-decoration:none}.company-meta-item a:hover{text-decoration:underline}.company-search-container{position:relative;min-width:280px}.company-search-wrapper{position:relative}.company-search-wrapper .search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:18px!important;height:18px!important;max-width:18px;max-height:18px;color:var(--color-base-light);pointer-events:none}.company-search-input{width:100%;padding:var(--space-sm-plus) 12px 10px 40px;border:1px solid var(--color-surface-dark);border-radius:var(--radius-8);font-size:.875rem;font-family:var(--font-primary);background:var(--color-white);color:var(--color-base);transition:border-color .2s,box-shadow .2s}.company-search-input:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--shadow-focus)}.company-search-input::placeholder{color:var(--color-base-light)}.company-search-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:var(--space-xs);background:var(--color-white);border:1px solid var(--color-surface-dark);border-radius:var(--radius-8);box-shadow:0 4px 16px rgba(var(--color-black-rgb),.15);max-height:300px;overflow-y:auto;z-index:var(--z-dropdown);display:none}.company-search-dropdown.open{display:block}.company-search-option{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm-plus);padding:var(--space-sm-plus) 14px;cursor:pointer;transition:background .15s ease;border-bottom:1px solid var(--color-surface)}.company-search-option:last-child{border-bottom:none}.company-search-option:hover,.company-search-option.highlighted{background:var(--color-surface)}.company-search-option-name{font-size:.875rem;font-weight:500;color:var(--color-base)}.company-search-option-name strong{color:var(--color-primary)}.company-search-option-type{font-size:.6875rem;color:var(--color-base-muted);padding:3px var(--space-sm);background:var(--color-surface);border-radius:var(--radius-xs);text-transform:uppercase;font-weight:600;letter-spacing:.3px}.company-search-no-results{padding:var(--space-md);text-align:center;color:var(--color-base-muted);font-size:.875rem}.company-completeness{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) 12px;background:var(--color-surface);border-radius:var(--radius-8);font-size:.75rem;color:var(--color-base-muted)}.company-completeness-bar{width:60px;height:6px;background:var(--color-surface-dark);border-radius:var(--radius-3);overflow:hidden}.company-completeness-fill{height:100%;background:var(--color-primary);border-radius:var(--radius-3);transition:width .3s ease}.company-content{display:grid;grid-template-columns:1fr 380px;gap:var(--space-lg)}.company-left-column,.company-right-column{display:flex;flex-direction:column;gap:var(--space-lg)}.company-card{background:var(--color-white);border-radius:var(--radius-12);box-shadow:0 1px 3px rgba(var(--color-black-rgb),.05);overflow:hidden}.company-card-header{display:flex;justify-content:space-between;align-items:center;padding:14px var(--space-md-plus);border-bottom:1px solid var(--color-surface)}.company-card-title{font-size:1rem;font-weight:600;color:var(--color-base);margin:0;display:flex;align-items:center;gap:var(--space-sm)}.company-card-title svg{width:18px;height:18px;color:var(--color-primary)}.company-card-body{padding:var(--space-md-plus)}.quick-facts-grid{display:flex;flex-wrap:wrap;gap:var(--space-sm);align-items:stretch}.quick-fact{display:inline-flex;flex-direction:column;padding:var(--space-sm-lg) 16px;background:var(--color-surface);border-radius:var(--radius-8);border:1px solid var(--color-surface-dark);transition:all .2s ease;min-width:140px;width:140px;flex:0 0 140px}.quick-fact:hover{border-color:var(--color-primary);background:rgba(var(--color-primary-rgb),.05)}.quick-fact-label{font-size:.6875rem;font-weight:600;color:var(--color-base-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quick-fact-value{font-size:1rem;font-weight:700;color:var(--color-base);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quick-fact-value.placeholder{color:var(--color-base-light);border-bottom:1px dashed var(--color-base-light)}.quick-fact-sublabel{font-size:.625rem;color:var(--color-base-light);display:flex;align-items:center;gap:3px;margin-top:var(--space-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quick-fact-confidence{display:inline-flex;align-items:center;gap:var(--space-2xs)}.quick-fact-confidence.high{color:var(--color-primary)}.quick-fact-confidence.medium{color:var(--color-amber-500)}.quick-fact-confidence.low{color:var(--color-base-light)}.company-map-container{height:350px;position:relative;background:var(--color-surface);border-radius:0 0 12px 12px;overflow:hidden}.company-map{width:100%;height:100%}.company-map-stats{display:flex;gap:var(--space-lg);padding:var(--space-sm-lg) 16px;background:rgba(var(--color-anchor-rgb),.95);font-size:.8125rem;color:rgba(var(--color-white-rgb),.8)}.company-map-stat{display:flex;align-items:center;gap:var(--space-xs-plus)}.company-map-stat strong{color:var(--color-signal);font-weight:700;font-size:1rem}.ownership-tree-section{margin-top:var(--space-lg)}.ownership-tree{display:flex;flex-direction:column;align-items:center;padding:var(--space-xl) 24px}.ownership-node{display:flex;flex-direction:column;align-items:center;position:relative}.ownership-node-card{padding:14px var(--space-lg);background:var(--color-surface);border:2px solid var(--color-surface-dark);border-radius:var(--radius-8);text-align:center;min-width:180px;transition:all .2s ease}.ownership-node-card:hover{border-color:var(--color-primary)}.ownership-node-card.current{border-color:var(--color-primary);background:rgba(var(--color-primary-rgb),.08)}.ownership-node-role{font-size:.6875rem;font-weight:600;color:var(--color-base-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-xs)}.ownership-node-name{font-size:.875rem;font-weight:600;color:var(--color-base);margin-bottom:var(--space-xs)}.ownership-connector{width:2px;height:24px;background:var(--color-surface-dark)}.mna-table-wrapper{overflow-x:auto}.mna-table{width:100%;border-collapse:collapse;font-size:.8125rem}.mna-table th{text-align:left;padding:var(--space-sm-plus) 16px;background:rgba(var(--color-anchor-rgb),.95);font-weight:600;color:rgba(var(--color-white-rgb),.9);text-transform:uppercase;font-size:.6875rem;letter-spacing:.5px;white-space:nowrap}.mna-table td{padding:var(--space-sm-plus) 16px;border-bottom:1px solid var(--color-surface);color:var(--color-base)}.mna-table tr:hover td{background:var(--color-surface)}.mna-table tr:last-child td{border-bottom:none}.mna-deal-label{padding:3px var(--space-sm);border-radius:var(--radius-xs);font-size:.6875rem;font-weight:600;text-transform:uppercase}.mna-deal-label.bolt-on{background:var(--color-green-100);color:var(--color-green-600)}.mna-deal-label.divestiture{background:var(--color-red-100);color:var(--color-red-600)}.mna-deal-label.jv{background:var(--color-purple-100);color:var(--color-purple-600)}.mna-deal-label.rumor{background:var(--color-amber-100);color:var(--color-amber-600)}.mna-chips{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.mna-chip{padding:var(--space-2xs) 6px;background:var(--color-surface);border-radius:var(--radius-xs);font-size:.6875rem;color:var(--color-base-muted)}.mna-value-placeholder{color:var(--color-base-light)}.notes-section .company-card-body{padding:0}.notes-editor{padding:var(--space-md-plus)}.notes-textarea{width:100%;min-height:120px;padding:var(--space-sm-lg);border:1px solid var(--color-surface-dark);border-radius:var(--radius-8);font-family:var(--font-primary);font-size:.875rem;line-height:1.6;resize:vertical;background:var(--color-surface);color:var(--color-base);transition:all .2s ease}.notes-textarea:focus{outline:none;background:var(--color-white);border-color:var(--color-primary);box-shadow:var(--shadow-focus-subtle)}.notes-footer{display:flex;justify-content:space-between;align-items:center;margin-top:var(--space-sm);font-size:.6875rem;color:var(--color-base-light)}.notes-char-count.warning{color:var(--color-amber-500)}.notes-char-count.error{color:var(--color-error)}.notes-autosave{display:flex;align-items:center;gap:var(--space-xs)}.notes-autosave.saving{color:var(--color-amber-500)}.notes-autosave.saved{color:var(--color-primary)}.notes-history{border-top:1px solid var(--color-surface-dark);padding:var(--space-sm-lg) 20px;background:var(--color-surface)}.notes-history-toggle{display:flex;align-items:center;gap:var(--space-sm);background:none;border:none;color:var(--color-base-muted);font-size:.75rem;cursor:pointer;padding:0;font-family:var(--font-primary)}.notes-history-toggle:hover{color:var(--color-base)}.notes-history-toggle svg{width:14px;height:14px;transition:transform .2s ease}.notes-history-toggle.expanded svg{transform:rotate(180deg)}.notes-history-list{margin-top:var(--space-sm-lg);display:none}.notes-history-list.visible{display:block}.executives-list{display:flex;flex-direction:column;gap:var(--space-xs-plus)}.executive-item{display:flex;align-items:center;gap:var(--space-sm-plus);padding:var(--space-sm);border-radius:var(--radius-8);transition:background .15s ease}.executive-item:hover{background:var(--color-surface)}.executive-avatar{width:36px;height:36px;border-radius:50%;background:var(--color-anchor);color:var(--color-white);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;flex-shrink:0}.executive-info{flex:1;min-width:0}.executive-name{font-size:.8125rem;font-weight:500;color:var(--color-base);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.executive-title{font-size:.6875rem;color:var(--color-base-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.contacts-table{width:100%;border-collapse:collapse;font-size:.8125rem}.contacts-table th{text-align:left;padding:var(--space-sm);font-weight:600;color:var(--color-base-muted);text-transform:uppercase;font-size:.6875rem;letter-spacing:.5px;border-bottom:1px solid var(--color-surface-dark)}.contacts-table td{padding:var(--space-sm);border-bottom:1px solid var(--color-surface);color:var(--color-base)}.contacts-table tr:last-child td{border-bottom:none}.contacts-table tr:hover td{background:var(--color-surface)}.contacts-table a{color:var(--color-primary);text-decoration:none}.contacts-table a:hover{text-decoration:underline}.contact-add-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-xs-plus);width:100%;padding:var(--space-sm);margin-top:var(--space-sm);background:none;border:1px dashed var(--color-surface-dark);border-radius:var(--radius-8);color:var(--color-base-muted);font-size:.75rem;font-family:var(--font-primary);cursor:pointer;transition:all .2s ease}.contact-add-btn:hover{border-color:var(--color-primary);color:var(--color-primary);background:rgba(var(--color-primary-rgb),.05)}.product-chips-container{display:flex;flex-direction:column;gap:14px}.product-chips-group{display:flex;flex-direction:column;gap:var(--space-sm)}.product-chips-label{font-size:.6875rem;font-weight:600;color:var(--color-base-muted);text-transform:uppercase;letter-spacing:.5px}.product-chips{display:flex;flex-wrap:wrap;gap:var(--space-xs-plus)}.product-chip{padding:5px var(--space-sm-plus);background:var(--color-surface);border:1px solid var(--color-surface-dark);border-radius:16px;font-size:.75rem;color:var(--color-base);transition:all .15s ease}.product-chip:hover{border-color:var(--color-primary)}.product-chip.naics{font-family:var(--font-mono);background:rgba(var(--color-anchor-rgb),.95);color:var(--color-signal);border-color:transparent;font-weight:600}.news-list{display:flex;flex-direction:column}.news-item{display:flex;flex-direction:column;gap:var(--space-xs);padding:var(--space-sm-plus) 0;border-bottom:1px solid var(--color-surface)}.news-item:last-child{border-bottom:none}.news-item:first-child{padding-top:0}.news-title{font-size:.8125rem;font-weight:500;color:var(--color-base);line-height:1.4}.news-title a{color:inherit;text-decoration:none}.news-title a:hover{color:var(--color-primary)}.news-meta{display:flex;gap:var(--space-sm);font-size:.6875rem;color:var(--color-base-muted)}.news-source{font-weight:500}.news-view-all{display:block;text-align:center;padding:var(--space-sm-plus);margin-top:var(--space-sm);color:var(--color-primary);font-size:.8125rem;font-weight:500;text-decoration:none;border-radius:var(--radius-8);transition:background .15s ease}.news-view-all:hover{background:rgba(var(--color-primary-rgb),.1)}@media(max-width:1200px){.company-content{grid-template-columns:1fr}.company-right-column{display:grid;grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.company-overview-page{padding:var(--space-md)}.company-header-top{flex-direction:column}.company-search-container{min-width:100%}.quick-facts-grid{gap:var(--space-xs-plus)}.quick-fact{padding:var(--space-sm) 12px;min-width:110px;width:110px;flex:0 0 110px}.quick-fact-label{font-size:.625rem}.quick-fact-value{font-size:.875rem}.company-right-column{grid-template-columns:1fr}}.touch-device .admin-layout button{min-height:0;min-width:0}.admin-layout{display:flex;flex-direction:row;flex:1 1 auto;width:100%;height:100%;min-height:0;background:var(--color-surface);overflow:hidden;font-family:var(--font-primary)}.admin-loading,.admin-stats-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-2xl) var(--space-lg);color:var(--color-base-muted);width:100%;flex:1;min-height:200px}.admin-layout .loading-spinner,.admin-loading .loading-spinner,.admin-stats-loading .loading-spinner,.admin-page-loading .loading-spinner{border-color:var(--color-surface-dark);border-top-color:var(--color-primary)}.admin-error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-2xl) var(--space-lg);text-align:center;color:var(--color-base-muted);width:100%;flex:1;min-height:200px}.admin-error-state svg{color:var(--color-base-light);margin-bottom:var(--space-md)}.admin-error-state h2{margin:0 0 var(--space-sm) 0;font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--color-base)}.admin-error-state p{margin:0 0 var(--space-lg) 0;max-width:400px}.admin-signin-btn,.admin-back-btn{padding:var(--space-sm) var(--space-lg);background:var(--color-primary);color:var(--color-white);border:none;border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-base);font-weight:var(--font-medium);font-family:inherit;transition:var(--transition-fast);box-shadow:var(--shadow-neu-outer-sm)}.admin-signin-btn:hover,.admin-back-btn:hover{background:var(--color-primary-dark)}.admin-sidebar{width:220px;min-width:220px;max-width:220px;background:var(--color-anchor);border-right:none;display:flex;flex-direction:column;flex-shrink:0;height:100%;overflow-y:hidden;box-shadow:4px 0 16px #0003}.admin-sidebar-header{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-sm-lg);border-bottom:1px solid rgba(255,255,255,.1);background:#ffffff0d;font-weight:var(--font-semibold);font-size:var(--text-sm);color:var(--color-white);text-transform:uppercase;letter-spacing:.05em;min-height:36px;flex-shrink:0}.admin-sidebar-header svg{width:18px;height:18px;flex-shrink:0;color:var(--color-primary)}.admin-nav{flex:1;padding:2px 0;display:flex;flex-direction:column;gap:0;overflow-y:auto;min-height:0}.admin-nav::-webkit-scrollbar{width:4px}.admin-nav::-webkit-scrollbar-track{background:transparent}.admin-nav::-webkit-scrollbar-thumb{background:#fff3;border-radius:var(--radius-full, 9999px)}.admin-nav::-webkit-scrollbar-thumb:hover{background:#fff6}.admin-nav .nav-section{padding:0;margin:0;flex-shrink:0}.admin-nav .nav-section:first-child{padding-top:2px}.admin-nav .nav-section+.nav-section{border-top:none;margin-top:0}.admin-nav .section-label{font-size:11px;font-weight:700;color:#ffffff80;text-transform:uppercase;letter-spacing:.06em;padding:10px 14px 3px;margin:0;white-space:nowrap;line-height:1}.admin-nav-item{display:flex;align-items:center;gap:8px;padding:4px 14px;height:32px;min-height:0;max-height:32px;border-radius:0;color:#ffffffb3;background:transparent;text-decoration:none;font-size:13px;font-weight:500;line-height:1;cursor:pointer;border:none;width:100%;text-align:left;transition:all .15s ease;border-left:2px solid transparent;box-sizing:border-box;overflow:hidden;margin:0}.touch-device .admin-nav-item,.admin-sidebar .admin-nav-item{min-height:0;min-width:0;height:32px;max-height:32px}.admin-nav-item:hover{background:#ffffff0d;color:#fffffff2}.admin-nav-item.active{background:#2ecc7126;color:var(--color-white);border-left-color:var(--color-primary);box-shadow:none}.admin-nav-item svg{width:16px;height:16px;min-width:16px;min-height:16px;max-width:16px;max-height:16px;flex-shrink:0}.admin-sidebar-footer{margin-top:auto;padding:4px 12px;border-top:1px solid rgba(255,255,255,.1)}.admin-sidebar-footer .admin-nav-item{color:#ffffff73}.admin-sidebar-footer .admin-nav-item:hover{color:#fffc}.admin-main{flex:1;overflow-x:hidden;overflow-y:auto;height:100%;background:var(--color-surface)}.admin-content{padding:var(--space-lg)}.admin-content.admin-content-fullscreen{padding:0;max-width:none;height:100%;display:flex;flex-direction:column}.admin-content.admin-content-fullscreen>*{flex:1;min-height:0}.admin-page{width:100%}.admin-page-header{margin-bottom:var(--space-xl, 32px)}.admin-page-header h1{margin:0 0 6px;font-size:var(--text-3xl, 28px);font-weight:700;color:var(--color-anchor, #0F3D3E);letter-spacing:-.5px}.admin-page-header p{margin:0;color:#6b7b7c;font-size:15px}.admin-page-loading{display:flex;justify-content:center;padding:var(--space-2xl) var(--space-lg)}.admin-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-md-plus, 20px);margin-bottom:var(--space-lg)}.admin-stat-card{background:linear-gradient(135deg,#fff,#fafcfc);border-radius:var(--radius-lg, 14px);padding:var(--space-md-plus, 20px);display:flex;flex-direction:row;align-items:center;gap:var(--space-md);box-shadow:var(--shadow-hover-soft);border:1px solid rgba(232,237,236,.6);transition:all .2s ease}.admin-stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-dropdown)}.stat-icon{width:52px;height:52px;min-width:52px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-icon svg{width:24px;height:24px}.stat-icon.users{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#2563eb}.stat-icon.active{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#059669}.stat-icon.paid{background:linear-gradient(135deg,#f3e8ff,#e9d5ff);color:#7c3aed}.stat-icon.new{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#d97706}.stat-content{display:flex;flex-direction:column;gap:var(--space-xs, 4px)}.stat-value{font-size:var(--text-3xl, 28px);font-weight:800;color:var(--color-anchor, #0F3D3E);line-height:1;letter-spacing:-.5px}.stat-label{font-size:var(--text-sm-plus, 13px);color:var(--color-base-muted);font-weight:500;text-transform:uppercase;letter-spacing:.3px}.admin-section{background:linear-gradient(135deg,#fff,#fafcfc);border-radius:var(--radius-lg, 14px);padding:var(--space-lg);margin-bottom:var(--space-lg);box-shadow:var(--shadow-hover-soft);border:1px solid rgba(232,237,236,.6)}.admin-section h2{margin:0 0 var(--space-md-plus, 20px) 0;font-size:17px;font-weight:700;color:var(--color-anchor, #0F3D3E);letter-spacing:-.2px}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md-plus, 20px)}.section-header h2{margin-bottom:0}.admin-activity-list{display:flex;flex-direction:column;gap:var(--space-xs-plus, 6px)}.activity-item{display:flex;align-items:center;gap:var(--space-sm-lg, 12px);padding:var(--space-sm-lg, 12px);border-radius:var(--radius-md);transition:background .15s ease;cursor:pointer}.activity-item:hover{background:#f8fafa}.activity-icon{width:36px;height:36px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;background:#f2f7f6;flex-shrink:0}.activity-icon svg{width:16px;height:16px}.activity-icon.signup{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#059669}.activity-icon.upgrade{background:linear-gradient(135deg,#f3e8ff,#e9d5ff);color:#7c3aed}.activity-icon.login{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#2563eb}.activity-content{flex:1;display:flex;justify-content:space-between;align-items:center;min-width:0}.activity-text{font-size:var(--text-base);color:var(--color-anchor, #0F3D3E);font-weight:500}.activity-time{font-size:var(--text-sm, 12px);color:#8a9a9b;flex-shrink:0;font-weight:500}.activity-empty{text-align:center;padding:var(--space-xl);color:#8a9a9b}.admin-tier-breakdown{padding:var(--space-sm) 0}.tier-bar{display:flex;height:10px;border-radius:var(--radius-full, 9999px);overflow:hidden;background:#e8edec;margin-bottom:var(--space-md-plus, 20px)}.tier-segment{height:100%;min-width:4px;transition:var(--transition-normal)}.tier-segment.free{background:linear-gradient(90deg,#94a3b8,#64748b)}.tier-segment.explorer{background:linear-gradient(90deg,#3b82f6,#2563eb)}.tier-segment.pro{background:linear-gradient(90deg,#8b5cf6,#7c3aed)}.tier-segment.team{background:linear-gradient(90deg,#10b981,#059669)}.tier-legend{display:flex;flex-wrap:wrap;gap:var(--space-md-plus, 20px)}.tier-item{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--text-sm-plus, 13px);color:#5a6b6c;font-weight:500}.tier-dot{width:10px;height:10px;border-radius:var(--radius-full, 9999px)}.tier-dot.free{background:#94a3b8}.tier-dot.explorer{background:#3498db}.tier-dot.pro{background:#7c3aed}.tier-dot.team{background:#2ecc71}.admin-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-2xl) var(--space-lg);text-align:center;background:var(--color-white);border-radius:var(--radius-lg, 14px);box-shadow:var(--shadow-neu-outer-sm)}.admin-placeholder svg{color:var(--color-base-light);margin-bottom:var(--space-md)}.admin-placeholder h2{margin:0 0 var(--space-sm) 0;font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--color-base)}.admin-placeholder p{margin:0;color:var(--color-base-muted)}.admin-filters{display:flex;gap:var(--space-sm);margin-bottom:var(--space-md);flex-wrap:wrap}.filter-search{flex:1;min-width:200px;position:relative}.filter-search svg{position:absolute;left:var(--space-sm);top:50%;transform:translateY(-50%);color:var(--color-base-light);width:16px;height:16px}.filter-search input{width:100%;padding:var(--space-sm) var(--space-sm) var(--space-sm) 36px;border:1px solid var(--color-surface-dark);border-radius:var(--radius-md);font-size:var(--text-base);font-family:inherit;background:var(--color-white);color:var(--color-base);transition:var(--transition-fast)}.filter-search input:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--shadow-focus-success)}.filter-group{display:flex;gap:var(--space-sm)}.filter-group select{padding:var(--space-sm) var(--space-xl, 32px) var(--space-sm) var(--space-sm);border:1px solid var(--color-surface-dark);border-radius:var(--radius-md);font-size:var(--text-base);font-family:inherit;background:var(--color-white);color:var(--color-base);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%235A6B6C' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.admin-table-container{background:var(--color-white);border-radius:var(--radius-lg, 14px);overflow:hidden;box-shadow:var(--shadow-neu-outer-sm)}.admin-table{width:100%;border-collapse:collapse}.admin-table th{text-align:left;padding:var(--space-sm-plus, 10px) var(--space-md);font-size:var(--text-xs-plus, 11px);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.05em;color:var(--color-base-muted);background:var(--color-surface);border-bottom:1px solid var(--color-surface-dark)}.admin-table td{padding:var(--space-sm) var(--space-md);font-size:var(--text-sm-plus, 13px);color:var(--color-base);border-bottom:1px solid var(--color-surface)}.admin-table tr:last-child td{border-bottom:none}.admin-table tr:hover td{background:var(--color-surface)}.user-info{display:flex;align-items:center;gap:var(--space-sm)}.user-avatar{width:36px;height:36px;border-radius:var(--radius-full, 9999px);display:flex;align-items:center;justify-content:center;color:var(--color-white);font-size:var(--text-sm, 12px);font-weight:var(--font-semibold);overflow:hidden;flex-shrink:0;background:var(--color-primary)}.user-avatar img{width:100%;height:100%;object-fit:cover}.user-details{display:flex;flex-direction:column}.user-name{font-weight:var(--font-medium);color:var(--color-base)}.user-email{font-size:var(--text-sm, 12px);color:var(--color-base-muted)}.tier-badge,.status-badge{display:inline-block;padding:var(--space-xs, 4px) var(--space-sm);border-radius:var(--radius-full, 9999px);font-size:var(--text-xs, 10px);font-weight:var(--font-medium);text-transform:uppercase;letter-spacing:.02em}.status-badge.active{background:var(--color-success-light, #D1FAE5);color:var(--color-success-dark, #059669)}.status-badge.suspended{background:var(--color-error-light, #FEE2E2);color:var(--color-error-dark, #DC2626)}.admin-main .row-actions{display:flex;gap:var(--space-xs, 4px);flex-wrap:nowrap;justify-content:flex-end}.admin-main .row-actions .action-btn{border:none;border-radius:var(--radius-sm, 6px);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:4px 8px;min-width:60px;width:auto;font-size:var(--text-xs-plus, 12px);font-weight:var(--font-medium, 500);white-space:nowrap;transition:var(--transition-fast)}.admin-tools-dropdown__menu{position:absolute;top:100%;right:0;z-index:var(--z-dropdown, 100);margin-top:4px;min-width:220px;background:var(--color-white);border:1px solid var(--color-border-light);border-radius:var(--radius-8);box-shadow:0 8px 24px #0000001f;padding:4px 0}.admin-tools-dropdown__menu button{display:block;width:100%;text-align:left;padding:8px 14px;border:none;background:none;font-size:13px;color:var(--color-text-body);cursor:pointer;white-space:nowrap}.admin-tools-dropdown__menu button:hover{background-color:var(--color-bg-muted)}.admin-tools-dropdown__menu button:disabled{opacity:.5;cursor:not-allowed}.admin-tools-dropdown__menu hr{margin:4px 0;border:none;border-top:1px solid var(--color-border-light)}.cell-overflow{position:relative;cursor:pointer}.cell-overflow__truncated{overflow:hidden;max-height:22px;text-overflow:ellipsis}.cell-overflow__popover{position:absolute;top:-4px;left:-8px;z-index:20;background:var(--color-white);border:1px solid var(--color-border-light);border-radius:var(--radius-sm-lg);box-shadow:0 6px 20px #0000001f;padding:8px 10px;overflow-y:auto;min-width:100%;width:max-content}.admin-pagination{display:flex;justify-content:center;align-items:center;gap:var(--space-md);margin-top:var(--space-md);padding:var(--space-md)}.pagination-btn{display:flex;align-items:center;gap:var(--space-xs, 4px);padding:var(--space-xs-plus, 6px) var(--space-sm-lg, 12px);border:1px solid var(--color-surface-dark);background:var(--color-white);border-radius:var(--radius-sm, 6px);font-size:var(--text-sm-plus, 13px);font-family:inherit;color:var(--color-base);cursor:pointer;transition:var(--transition-fast)}.pagination-btn:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-info{font-size:var(--text-base);color:var(--color-base-muted)}.admin-btn{display:inline-flex;align-items:center;gap:var(--space-xs-plus, 6px);padding:var(--space-xs-plus, 6px) var(--space-sm-lg, 12px);border-radius:var(--radius-sm, 6px);font-size:var(--text-sm-plus, 13px);font-weight:var(--font-medium);font-family:inherit;cursor:pointer;transition:var(--transition-fast);border:none}.admin-btn.primary{background:var(--color-primary);color:var(--color-white);box-shadow:var(--shadow-elevation-1)}.admin-btn.primary:hover{background:var(--color-primary-dark)}.admin-btn.secondary{background:var(--color-white);border:1px solid var(--color-surface-dark);color:var(--color-base)}.admin-btn.secondary:hover{border-color:var(--color-base-muted)}.admin-empty{display:flex;flex-direction:column;align-items:center;padding:var(--space-2xl) var(--space-lg);text-align:center}.admin-empty svg{color:var(--color-base-light);margin-bottom:var(--space-md)}.admin-empty h3{margin:0 0 var(--space-sm) 0;font-size:var(--text-lg, 16px);font-weight:var(--font-semibold);color:var(--color-base)}.admin-empty p{margin:0;color:var(--color-base-muted);font-size:var(--text-base)}.admin-modal-overlay{position:fixed;inset:0;background:#0f3d3e66;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal, 500);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.admin-modal{background:var(--color-white);border-radius:var(--radius-lg, 14px);width:100%;max-width:400px;box-shadow:var(--shadow-elevation-3)}.admin-modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--color-surface-dark)}.admin-modal-header h3{margin:0;font-size:var(--text-lg, 16px);font-weight:var(--font-semibold);color:var(--color-base)}.modal-close{background:none;border:none;cursor:pointer;color:var(--color-base-light);padding:var(--space-xs, 4px);border-radius:var(--radius-sm, 6px);transition:var(--transition-fast)}.modal-close:hover{color:var(--color-base);background:var(--color-surface)}.admin-modal-body{padding:var(--space-lg)}.modal-user-info{margin:0 0 var(--space-lg) 0;padding:var(--space-sm);background:var(--color-surface);border-radius:var(--radius-md)}.modal-user-info .muted{color:var(--color-base-muted);font-size:var(--text-sm, 12px)}.tier-options{display:flex;flex-direction:column;gap:var(--space-sm)}.tier-option{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm);border:2px solid var(--color-surface-dark);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-fast)}.tier-option:hover{border-color:var(--color-base-light)}.tier-option.selected{border-color:var(--color-primary);background:#2ecc710d}.tier-option input{display:none}.tier-label{font-weight:var(--font-medium);color:var(--color-base)}.tier-desc{font-size:var(--text-sm, 12px);color:var(--color-base-muted);margin-left:auto}.admin-modal-footer{display:flex;justify-content:flex-end;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);border-top:1px solid var(--color-surface-dark)}.admin-error,.admin-page-error{display:flex;flex-direction:column;align-items:center;padding:var(--space-xl, 32px) var(--space-lg);text-align:center}.admin-error p,.admin-page-error p{color:var(--color-error, var(--color-error));margin-bottom:var(--space-md)}.admin-retry-btn{padding:var(--space-sm) var(--space-md);background:var(--color-primary);color:var(--color-white);border:none;border-radius:var(--radius-sm, 6px);cursor:pointer;font-size:var(--text-base);font-family:inherit;transition:var(--transition-fast)}.admin-retry-btn:hover{background:var(--color-primary-dark)}.admin-overview-error{display:flex;flex-direction:column;align-items:center;padding:var(--space-2xl) var(--space-lg);text-align:center;background:#fff;border-radius:var(--radius-lg, 14px);border:1px solid #FEE2E2}.admin-overview-error .error-icon-circle{width:64px;height:64px;background:#fef2f2;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-md)}.admin-overview-error h3{margin:0 0 8px;font-size:var(--text-xl);font-weight:600;color:var(--color-anchor, #0F3D3E)}.admin-overview-error p{color:#6b7b7c;margin-bottom:var(--space-md-plus, 20px);font-size:var(--text-base)}.admin-content-fullscreen.admin-content-padded{padding:var(--space-md);overflow:auto}.admin-react-fill{flex:1;overflow:auto;min-height:0}.admin-page-header--flex{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:var(--space-md)}.header-actions{display:flex;gap:var(--space-sm-plus, 10px)}.tier-badge.free{background:#6b72801a;color:#6b7280}.tier-badge.explorer{background:#3b82f61a;color:#3b82f6}.tier-badge.pro{background:#7c3aed1a;color:#7c3aed}.tier-badge.team{background:#10b9811a;color:#059669}.service-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-md);margin-bottom:var(--space-lg)}.service-card{background:#fff;border-radius:var(--radius-lg, 14px);padding:var(--space-md);box-shadow:var(--shadow-neu-outer-sm)}.service-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-sm-lg, 12px)}.service-card-name{font-size:var(--text-base);font-weight:600;color:var(--color-anchor, #0F3D3E)}.service-card-status{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--text-sm)}.status-dot{width:8px;height:8px;border-radius:50%}.status-dot.healthy{background:var(--color-primary)}.status-dot.degraded{background:#f39c12}.status-dot.down{background:#e74c3c}.service-metrics{display:flex;gap:var(--space-md)}.service-metric{flex:1}.metric-label{font-size:var(--text-xs-plus, 11px);color:var(--color-base-light);text-transform:uppercase;letter-spacing:.5px}.metric-value{font-size:var(--text-lg, 16px);font-weight:600;color:var(--color-anchor, #0F3D3E)}.health-card{background:#fff;border-radius:var(--radius-lg, 14px);padding:var(--space-md-plus, 20px);box-shadow:var(--shadow-neu-outer-sm);margin-bottom:var(--space-lg)}.health-card-title{margin:0 0 16px;font-size:var(--text-base);font-weight:600;color:var(--color-anchor, #0F3D3E)}.health-table{width:100%;border-collapse:collapse;font-size:var(--text-sm-plus, 13px)}.health-table th{text-align:left;padding:var(--space-sm) 8px;border-bottom:2px solid #E8EDEC;color:var(--color-base-light);font-weight:500;font-size:var(--text-xs-plus, 11px);text-transform:uppercase;letter-spacing:.5px}.health-table th.text-right{text-align:right}.health-table td{padding:var(--space-sm-plus, 10px) 8px;border-bottom:1px solid var(--color-surface);color:var(--color-anchor, #0F3D3E)}.health-table td.text-right{text-align:right}.health-table td.mono{font-family:var(--font-mono);font-size:var(--text-sm)}.latency-good{color:var(--color-success, #2ECC71)}.latency-warn{color:var(--color-warning, #F39C12)}.latency-bad{color:var(--color-error, #E74C3C)}.error-log-item{display:flex;gap:var(--space-sm-lg, 12px);padding:var(--space-sm-lg, 12px);background:#fef2f2;border-radius:var(--radius-sm, 6px);margin-bottom:var(--space-sm)}.error-log-item:last-child{margin-bottom:0}.error-log-icon{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.error-log-icon.error{background:#fee2e2;color:var(--color-error)}.error-log-icon.warn{background:#fef3c7;color:var(--color-warning)}.error-log-info{flex:1;min-width:0}.error-log-message{font-size:var(--text-sm-plus, 13px);color:var(--color-anchor, #0F3D3E);margin-bottom:var(--space-xs)}.error-log-meta{font-size:var(--text-xs-plus, 11px);color:var(--color-base-light)}.health-status-badge{display:inline-flex;align-items:center;gap:var(--space-xs-plus, 6px);padding:var(--space-xs-plus, 6px) 12px;border-radius:var(--radius-xl);font-size:var(--text-sm-plus, 13px);font-weight:500}.health-status-badge.healthy{background:#d1fae5;color:var(--color-success)}.health-status-badge.degraded{background:#fef3c7;color:var(--color-warning)}.health-status-badge.down{background:#fee2e2;color:var(--color-error)}.health-no-data{text-align:center;padding:var(--space-lg);color:var(--color-base-light);font-size:var(--text-base)}.health-no-errors{text-align:center;padding:var(--space-lg);color:var(--color-primary)}.freshness-summary-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--space-sm-lg, 12px);margin-bottom:var(--space-lg)}.freshness-summary-card{padding:14px;border-radius:var(--radius-lg, 14px);text-align:center}.freshness-summary-card.fresh{background:#f0fdf4;border:1px solid #86EFAC}.freshness-summary-card.warning{background:#fffbeb;border:1px solid #FCD34D}.freshness-summary-card.stale{background:#fef2f2;border:1px solid #FECACA}.freshness-summary-card.missing{background:#f3f4f6;border:1px solid #D1D5DB}.freshness-summary-value{font-size:var(--text-3xl, 28px);font-weight:700;margin-bottom:var(--space-2xs, 2px)}.freshness-summary-label{font-size:var(--text-xs-plus, 11px);text-transform:uppercase;letter-spacing:.5px}.freshness-card{background:#fff;border-radius:var(--radius-lg, 14px);padding:var(--space-md-plus, 20px);box-shadow:var(--shadow-neu-outer-sm);margin-bottom:var(--space-lg)}.freshness-card-title{margin:0 0 16px;font-size:var(--text-base);font-weight:600;color:var(--color-anchor, #0F3D3E);display:flex;align-items:center;gap:var(--space-sm)}.category-section{margin-bottom:var(--space-lg)}.category-title{font-size:var(--text-sm-plus, 13px);font-weight:600;color:var(--color-base-muted);margin-bottom:var(--space-sm-lg, 12px);text-transform:uppercase;letter-spacing:.5px}.dataset-grid{display:grid;gap:var(--space-sm-plus, 10px)}.dataset-row{display:flex;align-items:center;gap:14px;padding:14px;border-radius:var(--radius-md);border:1px solid #E8EDEC;cursor:pointer;transition:all .15s}.dataset-row:hover{background:#f8fbfa;border-color:#d1dbd9}.dataset-info{flex:1;min-width:0}.dataset-name{font-weight:500;font-size:var(--text-base);color:var(--color-anchor, #0F3D3E);margin-bottom:var(--space-2xs, 2px)}.dataset-meta{font-size:var(--text-sm);color:var(--color-base-light)}.dataset-stats{text-align:right;flex-shrink:0}.dataset-time{font-size:var(--text-sm-plus, 13px);font-weight:500;color:var(--color-base-muted)}.dataset-rows{font-size:var(--text-xs-plus, 11px);color:var(--color-base-light)}.freshness-refresh-btn{padding:var(--space-xs-plus, 6px) 14px;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-sm, 6px);cursor:pointer;font-weight:500;font-size:var(--text-sm);transition:background .15s}.freshness-refresh-btn:disabled{background:#e8edec;color:var(--color-base-light);cursor:not-allowed}.freshness-mock-badge{display:inline-block;margin-left:var(--space-sm);padding:var(--space-2xs, 2px) 8px;background:#fef3c7;color:#92400e;font-size:var(--text-xs-plus, 11px);border-radius:var(--radius-xs, 4px);font-weight:500}.detail-panel{position:fixed;top:0;right:0;width:480px;height:100vh;background:#fff;box-shadow:-4px 0 24px #0000001a;z-index:var(--z-overlay, 400);overflow-y:auto;transform:translate(100%);transition:transform .25s ease}.detail-panel.open{transform:translate(0)}.detail-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0000004d;z-index:var(--z-fullscreen, 300);opacity:0;visibility:hidden;transition:opacity .25s}.detail-overlay.open{opacity:1;visibility:visible}.detail-header{padding:var(--space-md-plus, 20px);border-bottom:1px solid #E8EDEC;display:flex;justify-content:space-between;align-items:flex-start}.detail-title{margin:0 0 4px;font-size:var(--text-xl);font-weight:600;color:var(--color-anchor, #0F3D3E)}.detail-subtitle{margin:0;font-size:var(--text-sm-plus, 13px);color:var(--color-base-muted)}.detail-close-btn{background:none;border:none;font-size:var(--text-2xl);color:var(--color-base-light);cursor:pointer;padding:0;line-height:1}.detail-body{padding:var(--space-md-plus, 20px)}.detail-section{margin-bottom:var(--space-lg)}.detail-section-title{font-size:var(--text-sm);font-weight:600;color:var(--color-base-light);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-sm-lg, 12px)}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-sm-lg, 12px)}.detail-item{padding:var(--space-sm-lg, 12px);background:#f8fbfa;border-radius:var(--radius-sm, 6px)}.detail-item-label{font-size:var(--text-xs-plus, 11px);color:var(--color-base-light);text-transform:uppercase;margin-bottom:var(--space-xs)}.detail-item-value{font-size:var(--text-base);font-weight:500;color:var(--color-anchor, #0F3D3E)}.freshness-status-badge{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) 10px;border-radius:var(--radius-sm, 6px);font-size:var(--text-sm);font-weight:500}.freshness-status-badge.fresh{background:#dcfce7;color:#166534}.freshness-status-badge.warning{background:#fef3c7;color:#92400e}.freshness-status-badge.stale{background:#fee2e2;color:#991b1b}.freshness-status-badge.missing{background:#f3f4f6;color:#4b5563}.code-block{background:#1e293b;color:#e2e8f0;padding:var(--space-sm-lg, 12px);border-radius:var(--radius-sm, 6px);font-family:var(--font-mono);font-size:var(--text-sm);overflow-x:auto}.field-table{width:100%;border-collapse:collapse;font-size:var(--text-sm-plus, 13px)}.field-table th{text-align:left;padding:var(--space-sm) 10px;border-bottom:2px solid #E8EDEC;color:var(--color-base-light);font-weight:500;font-size:var(--text-xs-plus, 11px);text-transform:uppercase}.field-table td{padding:var(--space-sm) 10px;border-bottom:1px solid var(--color-surface);color:var(--color-base-muted)}.field-name{font-family:var(--font-mono);color:var(--color-anchor, #0F3D3E);font-weight:500}.field-type{display:inline-block;padding:var(--space-2xs, 2px) 6px;background:#e8edec;border-radius:3px;font-size:var(--text-xs-plus, 11px);font-family:var(--font-mono)}.sample-table{width:100%;border-collapse:collapse;font-size:var(--text-sm);overflow-x:auto;display:block}.sample-table th{text-align:left;padding:var(--space-xs-plus, 6px) 8px;border-bottom:2px solid #E8EDEC;color:var(--color-base-light);font-weight:500;font-size:var(--text-xs);text-transform:uppercase;white-space:nowrap}.sample-table td{padding:var(--space-xs-plus, 6px) 8px;border-bottom:1px solid var(--color-surface);color:var(--color-base-muted);white-space:nowrap;max-width:150px;overflow:hidden;text-overflow:ellipsis}.freshness-error{background:#fef2f2;border:1px solid #FECACA;border-radius:var(--radius-lg, 14px);padding:var(--space-lg);text-align:center;color:#991b1b}.metadata-block{background:#f8fbfa;padding:var(--space-sm-lg, 12px);border-radius:var(--radius-sm, 6px);font-family:var(--font-mono);font-size:var(--text-xs-plus, 11px);overflow-x:auto;max-height:200px;overflow-y:auto}.metadata-block pre{margin:0;white-space:pre-wrap;word-break:break-all}.freshness-summary-card.fresh .freshness-summary-value{color:#16a34a}.freshness-summary-card.warning .freshness-summary-value{color:#b45309}.freshness-summary-card.stale .freshness-summary-value{color:var(--color-error, #E74C3C)}.freshness-summary-card.missing .freshness-summary-value{color:#6b7280}.freshness-summary-card.fresh .freshness-summary-label{color:#166534}.freshness-summary-card.warning .freshness-summary-label{color:#92400e}.freshness-summary-card.stale .freshness-summary-label{color:#991b1b}.freshness-summary-card.missing .freshness-summary-label{color:#4b5563}.status-dot.fresh{background:#22c55e}.status-dot.warning{background:var(--color-warning, #F39C12)}.status-dot.stale{background:var(--color-error, #E74C3C)}.status-dot.missing{background:#6b7280}.status-dot.error{background:var(--color-error, #E74C3C)}.detail-table-wrapper{max-height:300px;overflow-y:auto;border:1px solid #E8EDEC;border-radius:var(--radius-sm, 6px)}.detail-table-overflow{overflow-x:auto;border:1px solid #E8EDEC;border-radius:var(--radius-sm, 6px)}.freshness-error .admin-retry-btn{margin-top:var(--space-sm-lg, 12px);background:var(--color-error, #E74C3C)}.freshness-error .admin-retry-btn:hover{background:#dc2626}@media(max-width:768px){.admin-sidebar{width:56px;min-width:56px;max-width:56px}.admin-sidebar-header span,.admin-nav-item span,.admin-sidebar-footer span,.section-label{display:none}.admin-sidebar-header{justify-content:center;padding:var(--space-md) var(--space-sm)}.admin-nav-item{justify-content:center;padding:var(--space-sm)}.admin-stats-grid{grid-template-columns:1fr 1fr}.admin-filters{flex-direction:column}.filter-search{min-width:100%}.admin-table-container{overflow-x:auto}}@keyframes skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,var(--color-surface-dark) 25%,var(--color-surface) 50%,var(--color-surface-dark) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-sm)}.skeleton-text{height:1em;border-radius:var(--radius-xs)}.skeleton-text-sm{height:.875em;width:60%}.skeleton-text-lg{height:1.25em;width:80%}.skeleton-title{height:1.5em;width:40%;border-radius:var(--radius-xs)}.skeleton-circle{border-radius:50%}.skeleton-rect{border-radius:var(--radius-sm)}.skeleton-avatar{width:40px;height:40px;border-radius:50%}.skeleton-avatar-sm{width:32px;height:32px}.skeleton-avatar-lg{width:56px;height:56px}.skeleton-button{height:36px;width:100px;border-radius:var(--radius-sm)}.skeleton-card{padding:var(--space-md);border-radius:var(--radius-md);background:var(--color-surface-light)}.spinner-inline{display:inline-block;width:16px;height:16px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite}.spinner-inline-sm{width:12px;height:12px;border-width:1.5px}.spinner-inline-lg{width:24px;height:24px;border-width:3px}.loading-overlay-local{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(var(--color-white-rgb),.8);z-index:var(--z-controls);border-radius:inherit}.loading-overlay-local .loading-spinner{width:32px;height:32px;border:3px solid var(--color-surface-dark);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}.skeleton-row{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--color-surface-dark)}.skeleton-row .skeleton{flex-shrink:0}.skeleton-row-content{flex:1;display:flex;flex-direction:column;gap:var(--space-xs)}.skeleton-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-md)}.skeleton-indicator-card{background:var(--color-surface-light);border-radius:var(--radius-md);padding:var(--space-md);display:flex;flex-direction:column;gap:var(--space-sm)}.skeleton-indicator-card .skeleton-header{display:flex;justify-content:space-between;align-items:center}.skeleton-indicator-card .skeleton-value{height:2.5rem;width:50%;margin:var(--space-sm) 0}.skeleton-indicator-card .skeleton-footer{display:flex;justify-content:space-between;gap:var(--space-sm)}.skeleton-table-row{display:table-row}.skeleton-table-row td{padding:var(--space-sm) var(--space-md)}.skeleton-table-row .skeleton{display:block}.btn-loading{position:relative;color:transparent!important;pointer-events:none}.btn-loading:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:16px;height:16px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite;color:var(--color-surface-light)}.btn-loading.btn-primary:after{color:#fff;border-color:rgba(var(--color-white-rgb),.3);border-top-color:#fff}.content-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-2xl);text-align:center;color:var(--color-base-muted)}.content-placeholder-icon{width:64px;height:64px;margin-bottom:var(--space-md);opacity:.5}.content-placeholder-title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-base);margin-bottom:var(--space-xs)}.content-placeholder-message{font-size:var(--text-sm);max-width:300px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.pulse{animation:pulse 2s ease-in-out infinite}.progress-bar{width:100%;height:4px;background:var(--color-surface-dark);border-radius:var(--radius-2xs);overflow:hidden}.progress-bar-fill{height:100%;background:var(--color-primary);border-radius:var(--radius-2xs);transition:width var(--transition-normal)}.progress-bar-indeterminate .progress-bar-fill{width:30%;animation:progress-indeterminate 1.5s ease-in-out infinite}@keyframes progress-indeterminate{0%{transform:translate(-100%)}to{transform:translate(400%)}}@media(max-width:640px){.skeleton-card-grid{grid-template-columns:1fr}.content-placeholder{padding:var(--space-lg)}.content-placeholder-icon{width:48px;height:48px}}.discover-wizard{min-height:100vh;background-color:var(--color-slate-50)}.discover-header{padding:var(--space-md-plus) var(--space-lg);background-color:var(--color-white);border-bottom:1px solid var(--color-slate-200)}.discover-header-content{max-width:800px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:var(--space-sm)}.discover-title{font-size:var(--text-xl-plus);font-weight:var(--font-semibold);color:var(--color-anchor);margin:0}.discover-content{max-width:100%;margin:0 auto;padding:var(--space-lg)}.discover-back-bar{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md)}.discover-back-btn{display:inline-flex;align-items:center;gap:var(--space-xs-plus)}.step-indicator{display:flex;align-items:center;gap:var(--space-sm)}.step-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:20px;font-size:var(--text-sm-plus);font-weight:var(--font-medium);transition:all .2s ease}.step-item--inactive{background-color:var(--color-slate-100);color:var(--color-slate-400)}.step-item--active{background-color:var(--color-anchor);color:var(--color-white)}.step-item--complete{background-color:var(--color-success-light);color:var(--color-success-dark)}.step-item--clickable{cursor:pointer}.step-number{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--text-xs-plus);font-weight:var(--font-semibold)}.step-number--inactive{background-color:var(--color-slate-300);color:var(--color-slate-600)}.step-number--active{background-color:var(--color-white);color:var(--color-anchor)}.step-number--complete{background-color:var(--color-success-dark);color:var(--color-white)}.step-connector{width:24px;height:2px;background-color:var(--color-slate-300)}.step-connector--complete{background-color:var(--color-success)}.mode-card{flex:1 1 320px;max-width:380px;background-color:var(--color-white);border-radius:var(--radius-lg);padding:var(--space-xl);box-shadow:var(--shadow-hover-soft);border:2px solid var(--color-slate-200);cursor:pointer;transition:all .2s ease;text-align:center}.mode-card__icon{width:64px;height:64px;margin:0 auto var(--space-md);background-color:#f0f9f9;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;color:var(--color-anchor)}.mode-card__title{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--color-anchor);margin:0 0 var(--space-sm) 0}.mode-card__description{font-size:var(--text-base);color:var(--color-slate-500);margin:0;line-height:1.5}.mode-card__hint{font-size:var(--text-sm);color:var(--color-slate-400);margin-top:var(--space-sm-lg);font-style:italic}.mode-card__subtitle{font-size:12px;font-weight:500;color:var(--color-anchor);letter-spacing:.02em;text-transform:uppercase;margin:-2px 0 4px}.industry-source-selector{display:flex;flex-direction:column;gap:var(--space-md)}.industry-source-selector__title{font-size:20px;font-weight:600;color:var(--color-text-body, #0F3D3E);margin:0}.industry-source-selector__subtitle{font-size:14px;color:var(--color-text-label, #6B7280);margin:4px 0 0}.recent-jobs{max-width:1200px;margin:var(--space-xl) auto 0;padding:0 var(--space-lg)}.recent-jobs__title{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-slate-700);margin-bottom:var(--space-sm-lg);display:flex;align-items:center;gap:var(--space-sm)}.recent-job-card{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm-lg) var(--space-md);background-color:var(--color-white);border-radius:var(--radius-8);border:1px solid var(--color-slate-200);cursor:pointer;transition:all var(--transition-fast)}.recent-job-card__info{display:flex;align-items:center;gap:var(--space-sm-lg)}.recent-job-card__icon{width:32px;height:32px;border-radius:var(--radius-sm);background-color:#f0f9f9;display:flex;align-items:center;justify-content:center;color:var(--color-anchor)}.recent-job-card__meta{font-size:var(--text-xs-plus);color:var(--color-slate-500);margin-top:2px}.recent-job-card__stat{font-size:var(--text-sm);color:var(--color-slate-700)}.recent-job-card__status{padding:3px 8px;border-radius:var(--radius-xs);font-size:var(--text-xs);font-weight:var(--font-medium)}.recent-job-card__status--completed{background-color:var(--chip-active-bg);color:var(--chip-active-text)}.recent-job-card__status--processing{background-color:var(--chip-processing-bg);color:var(--chip-processing-text)}.recent-job-card__status--failed{background-color:var(--chip-error-bg);color:var(--chip-error-text)}.preview-container{padding:var(--space-lg);max-width:100%}.preview-header{margin-bottom:var(--space-lg)}.preview-title{font-size:var(--text-xl-plus);font-weight:var(--font-semibold);color:var(--color-anchor);margin:0 0 var(--space-sm) 0}.preview-subtitle{font-size:var(--text-base);color:var(--color-slate-500);margin:0}.preview-table-wrapper{overflow-x:auto;overflow-y:auto;width:100%;max-height:calc(100vh - 300px);position:relative;border-radius:var(--radius-12)}.preview-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-md);margin-bottom:var(--space-lg)}.summary-card{padding:var(--space-md);background-color:var(--color-white);border-radius:var(--radius-md);box-shadow:0 2px 8px #0f3d3e0f;border:1px solid var(--color-slate-200)}.summary-card__label{font-size:var(--text-sm);color:var(--color-slate-500);margin-bottom:var(--space-xs)}.summary-card__value{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-anchor)}.summary-card__value--valid{color:var(--color-success)}.summary-card__value--warning{color:var(--color-amber-500)}.summary-card__value--error{color:var(--color-red-500)}.summary-card__subtext{font-size:var(--text-xs-plus);color:var(--color-slate-400);margin-top:var(--space-xs)}.preview-filters{display:flex;align-items:center;gap:var(--space-sm-lg);margin-bottom:var(--space-md)}.filter-btn{padding:var(--space-xs-plus) var(--space-sm-lg);border-radius:var(--radius-sm);border:1px solid var(--color-slate-300);background-color:var(--color-white);font-size:var(--text-sm-plus);cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;gap:var(--space-xs-plus)}.filter-btn:hover{border-color:var(--color-anchor)}.filter-btn--active{background-color:var(--color-anchor);color:var(--color-white);border-color:var(--color-anchor)}.preview-table{width:100%;min-width:2480px;table-layout:fixed;border-collapse:collapse;background-color:var(--color-white);box-shadow:var(--shadow-hover-soft)}.preview-table th{padding:var(--space-sm-plus) var(--space-sm-lg);text-align:left;font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--color-slate-500);text-transform:uppercase;letter-spacing:.05em;background-color:var(--color-slate-50);border-bottom:2px solid var(--color-slate-200);white-space:nowrap;position:sticky;top:0;z-index:10;-webkit-user-select:none;user-select:none}.preview-table tr{border-bottom:1px solid var(--color-slate-200)}.preview-table tr--error{background-color:var(--color-red-50)}.preview-table tr--warning{background-color:var(--color-amber-50)}.preview-table td{padding:6px var(--space-sm-plus);font-size:var(--text-sm);color:var(--color-slate-700);vertical-align:middle;height:36px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-user-select:text;user-select:text;cursor:text}.preview-table td:first-child,.preview-table th:first-child{overflow:visible;text-overflow:clip;text-align:center;padding:0;cursor:default;-webkit-user-select:none;user-select:none}.status-cell{display:flex;align-items:center;gap:var(--space-xs-plus)}.status-icon{width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.status-icon--valid{background-color:var(--color-success-light);color:var(--color-success-dark)}.status-icon--warning{background-color:var(--color-warning-light);color:var(--color-warning-dark)}.status-icon--error{background-color:var(--color-error-light);color:var(--color-error-dark)}.status-label{font-size:var(--text-xs);font-weight:var(--font-medium)}.status-label--valid{color:var(--color-success-dark, #047857)}.status-label--warning{color:var(--color-warning-dark, #b45309)}.status-label--error{color:var(--color-error-dark, #dc2626)}.issue-list{margin:0;padding:0;list-style:none}.issue-list__item{font-size:var(--text-xs-plus);color:var(--color-slate-500);padding:2px 0}.preview-pagination{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md);border-top:1px solid var(--color-slate-200);background-color:var(--color-slate-50)}.pagination-info{font-size:var(--text-base);color:var(--color-slate-500)}.pagination-buttons{display:flex;align-items:center;gap:var(--space-sm)}.pagination-btn{padding:var(--space-xs-plus) var(--space-sm-lg);border-radius:var(--radius-sm);border:1px solid var(--color-slate-300);background-color:var(--color-white);font-size:var(--text-sm-plus);cursor:pointer}.pagination-btn:disabled{opacity:.5;border-color:var(--color-slate-200);cursor:not-allowed}.favicon{width:16px;height:16px;border-radius:var(--radius-2xs);object-fit:contain}.favicon-placeholder{width:16px;height:16px;border-radius:var(--radius-2xs);background-color:var(--color-slate-200);display:flex;align-items:center;justify-content:center;color:var(--color-slate-400);font-size:var(--text-xs)}.rating-cell{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--text-sm)}.rating-cell__star{color:var(--color-amber-500)}.rating-cell__count{color:var(--color-slate-500);font-size:var(--text-xs-plus)}.source-tags-cell{display:flex;flex-wrap:wrap;gap:2px;align-items:center}.coord-cell{font-family:var(--font-mono);font-size:var(--text-xs-plus);color:var(--color-slate-500)}.enriched-badge{font-size:var(--text-xs);padding:2px 6px;border-radius:var(--radius-xs);background-color:var(--color-success-light);color:var(--color-success-dark);margin-left:var(--space-xs-plus)}.preview-action-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-sm)}.preview-action-bar__left{display:flex;align-items:center;gap:var(--space-md)}.preview-action-bar__right{display:flex;align-items:center;gap:var(--space-sm)}.enrichment-toggle{display:flex;align-items:center;gap:6px}.enrichment-toggle__checkbox{width:16px;height:16px;accent-color:var(--color-anchor);cursor:pointer}.enrichment-toggle__label{font-size:13px;font-weight:500;color:var(--color-text-body);cursor:pointer}.enrich-confirm-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.enrich-confirm{background:var(--color-white);border-radius:var(--radius-12);padding:24px 28px;max-width:420px;width:100%;box-shadow:0 20px 60px #0003}.enrich-confirm__title{font-size:17px;font-weight:600;color:var(--color-anchor);margin:0 0 8px}.enrich-confirm__text{font-size:14px;color:var(--color-text-body);margin:0 0 12px}.enrich-confirm__cost{font-size:13px;color:#065f46;background:#ecfdf5;border:1px solid #bbf7d0;border-radius:var(--radius-sm-lg);padding:8px 12px;margin-bottom:16px}.enrich-confirm__cost-note{color:#6b7280;font-weight:400;margin-left:4px}.enrich-confirm__option{display:flex;align-items:flex-start;gap:8px;margin-bottom:12px;font-size:13px;color:var(--color-text-body)}.enrich-confirm__option input[type=checkbox]{margin-top:2px;accent-color:var(--color-anchor)}.enrich-confirm__actions{display:flex;justify-content:flex-end;gap:8px}.status-processing-label{font-size:13px;font-weight:500;color:var(--color-text-label)}.enrichment-bar{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;margin-bottom:var(--space-sm);background:linear-gradient(135deg,#f0fdf4,#ecfdf5);border:1px solid #bbf7d0;border-radius:var(--radius-8)}.enrichment-bar__left{display:flex;align-items:center;gap:10px}.enrichment-bar__checkbox{width:18px;height:18px;accent-color:var(--color-anchor);cursor:pointer;flex-shrink:0}.enrichment-bar__label{cursor:pointer;display:flex;flex-direction:column;gap:1px}.enrichment-bar__title{font-size:13px;font-weight:600;color:var(--color-anchor)}.enrichment-bar__desc{font-size:11px;color:#4b5563}.enrichment-bar__cost{font-size:12px;font-weight:600;color:#065f46;white-space:nowrap;text-align:right}.enrichment-bar__cost-note{display:block;font-size:10px;font-weight:400;color:#6b7280}.enrichment-section{margin-top:var(--space-lg);margin-bottom:var(--space-md);background-color:var(--color-white);border-radius:var(--radius-12);border:1px solid var(--color-slate-200);overflow:hidden}.enrichment-header{padding:var(--space-md);background-color:#f0f9f9;border-bottom:1px solid var(--color-slate-200);display:flex;align-items:center;justify-content:space-between;cursor:pointer}.enrichment-header__title{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-anchor);display:flex;align-items:center;gap:var(--space-sm);margin:0}.enrichment-body{padding:var(--space-md)}.enrichment-option{display:flex;align-items:flex-start;gap:var(--space-sm-lg);padding:var(--space-sm-lg);background-color:var(--color-slate-50);border-radius:var(--radius-8);margin-bottom:var(--space-sm-lg)}.enrichment-option__checkbox{width:18px;height:18px;margin-top:2px;accent-color:var(--color-anchor);cursor:pointer}.enrichment-option__label{flex:1}.enrichment-option__title{font-size:var(--text-base);font-weight:var(--font-medium);color:var(--color-slate-700);margin-bottom:var(--space-xs)}.enrichment-option__desc{font-size:var(--text-sm);color:var(--color-slate-500);line-height:1.4}.enrichment-cost{padding:var(--space-sm-lg);background-color:var(--color-amber-100);border-radius:var(--radius-8);display:flex;align-items:center;gap:var(--space-sm-plus)}.enrichment-cost__icon{width:32px;height:32px;border-radius:var(--radius-8);background-color:var(--color-amber-500);color:var(--color-white);display:flex;align-items:center;justify-content:center;flex-shrink:0}.enrichment-cost__text{font-size:var(--text-sm-plus);color:var(--color-amber-900)}.enrichment-cost__value{font-weight:var(--font-semibold)}.editable-cell{cursor:pointer;padding:var(--space-xs) var(--space-xs-plus);border-radius:var(--radius-xs);transition:background-color var(--transition-fast);text-transform:inherit;letter-spacing:inherit}.editable-cell:hover{background-color:var(--color-slate-100)}.edit-input{width:100%;padding:var(--space-xs) var(--space-xs-plus);font-size:var(--text-sm-plus);border:1px solid var(--color-blue);border-radius:var(--radius-xs);outline:none;background-color:var(--color-white);box-shadow:0 0 0 2px #3b82f633}.edit-hint{font-size:var(--text-xs-plus);color:var(--color-slate-400);margin-top:var(--space-sm);font-style:italic}.url-cell{display:inline-flex;align-items:center;gap:var(--space-xs)}.url-cell__link{color:var(--color-blue);text-decoration:none;font-size:var(--text-sm);max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.url-cell__link:hover{text-decoration:underline}.url-cell__edit-btn{background:none;border:none;padding:2px;cursor:pointer;color:var(--color-slate-400);display:flex;align-items:center}.url-cell__edit-btn:hover{color:var(--color-slate-600)}.cell-placeholder{color:var(--color-slate-400)}input.row-checkbox[type=checkbox]{-webkit-appearance:none;appearance:none;width:16px;height:16px;min-width:16px;max-width:16px;min-height:16px;max-height:16px;border:1.5px solid var(--color-slate-300);border-radius:3px;background:var(--color-white);cursor:pointer;margin:0;padding:0;display:inline-block;vertical-align:middle;position:relative;flex-shrink:0;box-sizing:border-box}input.row-checkbox[type=checkbox]:checked{background-color:var(--color-anchor);border-color:var(--color-anchor)}input.row-checkbox[type=checkbox]:checked:after{content:"";position:absolute;left:4px;top:1px;width:6px;height:10px;border:solid var(--color-white);border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}input.row-checkbox[type=checkbox]:hover{border-color:var(--color-anchor)}input.row-checkbox[type=checkbox]:disabled{opacity:.3;cursor:default}.select-all-container{display:flex;align-items:center;gap:var(--space-xs-plus)}.preview-table th.checkbox-col,.preview-table td.checkbox-col{padding-left:10px;padding-right:4px;text-align:left;vertical-align:middle}.preview-actions{display:flex;align-items:center;justify-content:space-between;margin-top:var(--space-lg);padding:var(--space-md);background-color:var(--color-slate-50);border-radius:var(--radius-12)}.btn{padding:var(--space-sm-plus) var(--space-md-plus);border-radius:var(--radius-8);border:none;font-size:var(--text-base);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-fast)}.btn--primary{background-color:var(--color-anchor);color:var(--color-white)}.btn--primary:hover{opacity:.9}.btn--secondary{background-color:var(--color-white);color:var(--color-slate-700);border:1px solid var(--color-slate-300);margin-right:var(--space-sm)}.btn--secondary:hover{border-color:var(--color-anchor)}.btn--sm{padding:6px 12px;font-size:12px}.btn--link{background:none;border:none;color:var(--color-slate-500);cursor:pointer;padding:6px 0;font-size:13px}.btn--link:hover{color:var(--color-anchor)}.row-actions{display:flex;gap:var(--space-sm)}.row-action-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;font-size:var(--text-xs-plus);font-weight:var(--font-medium);border-radius:var(--radius-xs);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;flex-shrink:0}.row-action-btn--retry{background-color:var(--color-blue);color:var(--color-white);border:none}.row-action-btn--retry:hover{background-color:var(--color-blue-dark)}.row-action-btn--skip{background-color:var(--color-white);color:var(--color-slate-500);border:1px solid var(--color-slate-300)}.row-action-btn--skip:hover{border-color:var(--color-amber-500);color:var(--color-amber-600)}.row-action-btn--approve{background-color:var(--color-emerald-500, #10b981);color:var(--color-white);border:none}.row-action-btn--approve:hover{background-color:var(--color-emerald-600, #059669)}.row-action-btn:disabled{opacity:.6;cursor:wait}.row-action-btn--success{background-color:var(--color-emerald-500, #10b981)!important;color:var(--color-white)!important;border-color:var(--color-emerald-500, #10b981)!important}.btn-spinner{display:inline-block;width:10px;height:10px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:btn-spin .6s linear infinite;vertical-align:middle;margin-right:3px}.row-action-btn--skip .btn-spinner{border:2px solid rgba(0,0,0,.15);border-top-color:var(--color-slate-500)}@keyframes btn-spin{to{transform:rotate(360deg)}}.processing-container{max-width:800px;margin:0 auto;padding:var(--space-lg)}.processing-card{background-color:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-hover-soft);padding:var(--space-xl)}.processing-header{text-align:center;margin-bottom:var(--space-xl)}.processing-title{font-size:var(--text-2xl);font-weight:var(--font-semibold);color:var(--color-anchor);margin:0 0 var(--space-sm) 0}.processing-subtitle{font-size:var(--text-base);color:var(--color-slate-500)}.processing-stages{display:flex;flex-direction:column;gap:var(--space-md)}.processing-stage{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md);background-color:var(--color-slate-50);border-radius:var(--radius-8)}.processing-stage--active{background-color:var(--color-info-light)}.processing-stage--complete{background-color:var(--color-success-light)}.processing-stage__icon{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.processing-stage__icon--pending{background-color:var(--color-slate-200);color:var(--color-slate-500)}.processing-stage__icon--active{background-color:var(--color-blue);color:var(--color-white)}.processing-stage__icon--complete{background-color:var(--color-success-dark);color:var(--color-white)}.processing-stage__content{flex:1}.processing-stage__name{font-size:var(--text-base);font-weight:var(--font-medium);color:var(--color-slate-700);margin-bottom:var(--space-xs)}.processing-stage__progress{height:6px;background-color:var(--color-slate-200);border-radius:3px;overflow:hidden}.processing-stage__progress-bar{height:100%;background-color:var(--color-blue);border-radius:3px;transition:width .3s ease}.processing-stage__progress-bar--complete{background-color:var(--color-success)}.processing-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-md);margin-top:var(--space-xl);padding-top:var(--space-lg);border-top:1px solid var(--color-slate-200)}.processing-stat{text-align:center}.processing-stat__value{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-anchor)}.processing-stat__label{font-size:var(--text-sm);color:var(--color-slate-500);margin-top:var(--space-xs)}.review-container{padding:var(--space-lg)}.review-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-lg)}.review-title{font-size:var(--text-xl-plus);font-weight:var(--font-semibold);color:var(--color-anchor);margin:0}.review-summary{display:flex;gap:var(--space-md)}.review-stat{padding:var(--space-sm) var(--space-md);background-color:var(--color-white);border-radius:var(--radius-8);border:1px solid var(--color-slate-200)}.review-stat__value{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--color-anchor)}.review-stat__label{font-size:var(--text-sm);color:var(--color-slate-500)}.review-actions{display:flex;gap:var(--space-sm)}.enrichment-badge{font-size:8px;padding:1px 3px;border-radius:3px;margin-left:3px;font-weight:var(--font-semibold)}.enrichment-badge--geo{background-color:#dbeafe;color:#1d4ed8}.enrichment-badge--gmb{background-color:#e0e7ff;color:#4338ca}.company-cell{display:inline-flex;align-items:center;gap:var(--space-xs-plus)}.company-cell__favicon{width:16px;height:16px;border-radius:var(--radius-2xs);flex-shrink:0}.company-cell__favicon--placeholder{background-color:var(--color-slate-200)}.completeness-badge{padding:2px 4px;border-radius:var(--radius-xs);font-size:9px;font-weight:var(--font-semibold)}.completeness-badge--high{background-color:var(--color-success-light);color:var(--color-success-dark)}.completeness-badge--medium{background-color:var(--color-warning-light);color:var(--color-warning-dark)}.completeness-badge--low{background-color:var(--color-error-light);color:var(--color-error-dark)}.issue-list__item--error{color:var(--color-red-500)}.issue-list__item--warning{color:var(--color-amber-600)}.issue-list__item--geofence{color:var(--color-red-500);font-weight:var(--font-semibold)}.no-issues{color:var(--color-success);font-size:var(--text-sm)}.uid-cell{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-slate-500)}.filter-label{font-size:var(--text-sm-plus);color:var(--color-slate-500)}.pagination-page-text{font-size:var(--text-sm-plus);color:var(--color-slate-700)}.spinner{width:16px;height:16px;border:2px solid rgba(59,130,246,.3);border-top-color:var(--color-blue);border-radius:50%;animation:spin .8s linear infinite}.status-message{display:flex;align-items:center;gap:var(--space-sm)}.status-message__text{font-size:var(--text-base);color:var(--color-slate-500)}.status-message__text--processing{color:var(--color-blue)}.status-message__text--success{color:var(--color-success);font-weight:var(--font-semibold)}.status-message__text--error{color:var(--color-red-500)}.selected-count{color:var(--color-success)}.processing-hint{margin-left:var(--space-sm);color:var(--color-slate-400)}.btn-group{display:flex;gap:var(--space-sm)}.btn--approve{background-color:var(--color-success);color:var(--color-white);font-weight:var(--font-semibold)}.btn--approve:hover{opacity:.9}.enrichment-chevron{transition:transform .2s ease}.enrichment-chevron--expanded{transform:rotate(180deg)}.enrichment-cost__block{display:block;margin-top:2px}.url-input-container{width:100%;max-width:600px;margin:0 auto}.url-input-card{background-color:var(--color-white);border-radius:var(--radius-md-plus);padding:var(--space-xl);box-shadow:0 4px 20px #0f3d3e0f;border:1px solid var(--color-border-light)}.url-input-icon{width:64px;height:64px;margin:0 auto var(--space-md);color:var(--color-anchor);display:flex;align-items:center;justify-content:center}.url-input-title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-anchor);margin:0 0 var(--space-xs-plus) 0;text-align:center}.url-input-subtitle{font-size:var(--text-sm-plus);color:var(--color-text-label);margin:0 0 var(--space-lg) 0;text-align:center}.url-input-group{margin-bottom:var(--space-md)}.url-input-label{display:block;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-body);margin-bottom:var(--space-xs-plus)}.url-input-field{flex:1;padding:var(--space-sm-plus) var(--space-sm-lg);border:1px solid var(--color-border-input);border-radius:var(--radius-sm-lg);font-size:var(--text-sm-plus);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);outline:none;box-sizing:border-box;width:100%}.url-input-field:focus{border-color:var(--color-anchor);box-shadow:0 0 0 3px #0f3d3e1a}.url-input-textarea{width:100%;padding:var(--space-sm-plus) var(--space-sm-plus);border:1px solid var(--color-border-input);border-radius:var(--radius-8);font-size:var(--text-sm-plus);min-height:80px;resize:vertical;font-family:inherit;outline:none;box-sizing:border-box}.url-input-submit{width:100%;padding:var(--space-sm-lg) var(--space-lg);background-color:var(--color-anchor);color:var(--color-white);border:none;border-radius:var(--radius-sm-lg);font-size:var(--text-base);font-weight:var(--font-semibold);cursor:pointer;margin-top:var(--space-md-plus);transition:all var(--transition-base);display:flex;align-items:center;justify-content:center;gap:var(--space-xs-plus)}.url-input-submit:hover{background-color:#0a2d2e}.url-input-submit:disabled{background-color:var(--color-text-tertiary);cursor:not-allowed}.url-input-hint{font-size:var(--text-xs-plus);color:var(--color-text-tertiary);margin-top:var(--space-xs-plus)}.url-input-error{margin-top:var(--space-sm-plus);padding:var(--space-sm-plus);background-color:var(--color-error-light);border-radius:var(--radius-8);color:var(--color-error-dark);font-size:var(--text-sm)}.url-input-examples{margin-top:var(--space-lg);padding:var(--space-md);background-color:var(--color-bg-muted);border-radius:var(--radius-sm-lg)}.url-input-examples__title{font-size:var(--text-xs-plus);font-weight:var(--font-semibold);color:var(--color-text-label);margin-bottom:var(--space-xs-plus);text-transform:uppercase;letter-spacing:.05em}.url-input-examples__list{list-style:none;padding:0;margin:0}.url-input-examples__item{font-size:var(--text-sm);color:var(--color-slate-600);padding:var(--space-xs) 0;cursor:pointer;transition:color var(--transition-fast)}.url-input-examples__item:hover{color:var(--color-anchor)}.nssga-input{width:100%;max-width:600px;margin:0 auto}.nssga-input__card{background-color:var(--color-white);border-radius:var(--radius-md-plus);padding:var(--space-xl);box-shadow:0 4px 20px #0f3d3e0f;border:1px solid var(--color-border-light)}.nssga-input__title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-anchor);margin:0 0 var(--space-xs-plus) 0;text-align:left}.nssga-input__subtitle{font-size:var(--text-sm-plus);color:var(--color-text-body);margin:0 0 var(--space-lg) 0;text-align:left;line-height:1.5}.nssga-input__link{color:var(--color-anchor);text-decoration:underline;text-underline-offset:2px;font-weight:var(--font-medium)}.nssga-input__link:hover{color:#0a2d2e}.nssga-input__form{display:flex;flex-direction:column}.nssga-input__fieldset{border:none;margin:0 0 var(--space-md) 0;padding:0}.nssga-input__legend{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-body);margin-bottom:var(--space-xs-plus);padding:0}.nssga-input__radios{display:flex;flex-direction:column;gap:var(--space-xs-plus);padding:var(--space-sm-plus);background-color:var(--color-bg-muted);border-radius:var(--radius-sm-lg);border:1px solid var(--color-border-light)}.nssga-input__radio{display:flex;align-items:center;gap:var(--space-xs-plus);cursor:pointer;padding:var(--space-xs) var(--space-xs-plus);border-radius:var(--radius-sm);transition:background-color var(--transition-fast)}.nssga-input__radio:hover{background-color:var(--color-white)}.nssga-input__radio input[type=radio]{margin:0;cursor:pointer;accent-color:var(--color-anchor)}.nssga-input__radio-label{font-size:var(--text-sm-plus);color:var(--color-text-body)}.nssga-input__radio-hint{color:var(--color-text-tertiary);font-weight:var(--font-normal)}.nssga-input__group{margin-bottom:var(--space-md)}.nssga-input__label{display:block;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-body);margin-bottom:var(--space-xs-plus)}.nssga-input__field{width:100%;padding:var(--space-sm-plus) var(--space-sm-lg);border:1px solid var(--color-border-input);border-radius:var(--radius-sm-lg);font-size:var(--text-sm-plus);font-family:inherit;outline:none;box-sizing:border-box;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.nssga-input__field:focus{border-color:var(--color-anchor);box-shadow:0 0 0 3px #0f3d3e1a}.nssga-input__field:disabled{background-color:var(--color-bg-muted);cursor:not-allowed}.nssga-input__error{margin-bottom:var(--space-sm-plus);padding:var(--space-sm-plus) var(--space-md);background-color:var(--color-error-light);border-radius:var(--radius-8);color:var(--color-error-dark);font-size:var(--text-sm)}.nssga-input__actions{display:flex;gap:var(--space-sm-plus);align-items:center;flex-wrap:wrap;margin-top:var(--space-md-plus)}.nssga-input__submit{flex:1 1 auto;min-width:200px;padding:var(--space-sm-lg) var(--space-lg);background-color:var(--color-anchor);color:var(--color-white);border:none;border-radius:var(--radius-sm-lg);font-size:var(--text-base);font-weight:var(--font-semibold);cursor:pointer;transition:background-color var(--transition-base)}.nssga-input__submit:hover:not(:disabled){background-color:#0a2d2e}.nssga-input__submit:disabled{background-color:var(--color-text-tertiary);cursor:wait}.nssga-input__cancel{padding:var(--space-sm-lg) var(--space-md);background-color:var(--color-white);color:var(--color-text-body);border:1px solid var(--color-border-input);border-radius:var(--radius-sm-lg);font-size:var(--text-sm-plus);cursor:pointer;transition:background-color var(--transition-fast)}.nssga-input__cancel:hover{background-color:var(--color-bg-muted)}.nssga-input__hint{font-size:var(--text-xs-plus);color:var(--color-text-tertiary);margin:var(--space-md) 0 0 0;line-height:1.5}.file-upload-container{width:100%;max-width:700px;margin:0 auto}.file-upload-dropzone{border:2px dashed var(--color-border-input);border-radius:var(--radius-md-plus);padding:var(--space-2xl) var(--space-lg);text-align:center;cursor:pointer;transition:all var(--transition-base);background-color:#fafafa}.file-upload-dropzone--active{border-color:var(--color-anchor);background-color:var(--color-anchor-tint)}.file-upload-dropzone:disabled,.file-upload-dropzone--disabled{opacity:.6;cursor:not-allowed}.file-upload-icon{width:64px;height:64px;margin:0 auto var(--space-md);color:var(--color-text-tertiary)}.file-upload-title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-anchor);margin:0 0 var(--space-xs-plus) 0}.file-upload-subtitle{font-size:var(--text-sm-plus);color:var(--color-text-label);margin:0 0 var(--space-md) 0}.file-upload-formats{font-size:var(--text-xs-plus);color:var(--color-text-tertiary)}.file-upload-selected{display:flex;align-items:center;gap:var(--space-sm-plus);padding:var(--space-md);background-color:var(--color-anchor-tint);border-radius:var(--radius-md);margin-top:var(--space-md)}.file-upload-file-icon{width:40px;height:40px;background-color:var(--color-anchor);border-radius:var(--radius-8);display:flex;align-items:center;justify-content:center;color:var(--color-white);flex-shrink:0}.file-upload-file-info{flex:1}.file-upload-file-name{font-size:var(--text-sm-plus);font-weight:var(--font-medium);color:var(--color-anchor);margin:0}.file-upload-file-size{font-size:var(--text-xs-plus);color:var(--color-text-label);margin:2px 0 0}.file-upload-remove-btn{padding:var(--space-xs-plus);border:none;background-color:transparent;cursor:pointer;color:var(--color-text-label);border-radius:var(--radius-8);transition:all var(--transition-fast)}.file-upload-remove-btn:hover{background-color:#0000000d;color:var(--color-text-body)}.file-upload-source-input{margin-top:var(--space-md)}.file-upload-button{width:100%;padding:var(--space-sm-lg) var(--space-lg);background-color:var(--color-anchor);color:var(--color-white);border:none;border-radius:var(--radius-sm-lg);font-size:var(--text-base);font-weight:var(--font-semibold);cursor:pointer;margin-top:var(--space-md-plus);transition:all var(--transition-base)}.file-upload-button:hover{opacity:.9}.file-upload-button:disabled{background-color:var(--color-text-tertiary);cursor:not-allowed}.file-upload-auto-tag-preview{margin-top:var(--space-xs-plus);padding:var(--space-sm-plus) var(--space-sm-plus);background-color:var(--color-anchor-tint);border-radius:var(--radius-8);display:flex;align-items:center;gap:var(--space-xs-plus);font-size:var(--text-sm)}.file-upload-auto-tag-label{color:var(--color-text-label);flex-shrink:0}.file-upload-auto-tag-value{font-weight:var(--font-semibold);color:var(--color-anchor);padding:2px var(--space-xs-plus);background-color:#e0f2f1;border-radius:var(--radius-xs)}.file-upload-auto-tag-edit{margin-left:auto;font-size:var(--text-xs-plus);color:var(--color-anchor);cursor:pointer;text-decoration:underline}.file-upload-tag-input-row{display:flex;gap:var(--space-xs-plus);align-items:center}.file-upload-tag-input{flex:1;padding:var(--space-sm-plus) var(--space-sm-plus);border:1px solid var(--color-border-input);border-radius:var(--radius-8);font-size:var(--text-sm-plus);transition:border-color var(--transition-fast);outline:none;box-sizing:border-box}.file-upload-use-auto-btn{padding:var(--space-sm-plus) var(--space-sm-lg);background-color:#e0f2f1;color:var(--color-anchor);border:1px solid var(--color-anchor);border-radius:var(--radius-8);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;white-space:nowrap}.field-provenance{background-color:var(--color-white);border-radius:var(--radius-sm-lg);border:1px solid var(--color-border-light);overflow:hidden;width:700px;max-width:100%;margin:0 auto}.field-provenance__header{padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--color-border-light);display:flex;align-items:center;gap:var(--space-md);flex-wrap:wrap}.field-provenance__title{font-size:var(--text-sm-plus);font-weight:var(--font-semibold);color:var(--color-anchor);margin:0;display:flex;align-items:center;gap:var(--space-xs-plus)}.field-provenance__source-list{display:flex;gap:var(--space-xs-plus);flex-wrap:wrap}.field-provenance__list{padding:0;margin:0;list-style:none}.field-provenance__item{padding:var(--space-sm-plus) var(--space-md);border-bottom:1px solid var(--color-bg-subtle);display:flex;align-items:center;gap:var(--space-sm-plus)}.field-provenance__field-name{font-size:var(--text-sm);color:var(--color-text-body);font-weight:var(--font-medium);min-width:120px}.field-provenance__field-value{font-size:var(--text-sm);color:var(--color-anchor);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-transform:uppercase;max-width:280px;display:inline-flex;align-items:center;gap:var(--space-xs)}.field-provenance__edit-trigger{appearance:none;background:transparent;border:none;padding:2px;cursor:pointer;color:var(--color-text-tertiary);border-radius:var(--radius-xs);display:inline-flex;align-items:center;justify-content:center;opacity:0;transition:opacity .12s ease,color .12s ease,background-color .12s ease}.field-provenance__item:hover .field-provenance__edit-trigger,.field-provenance__edit-trigger:focus-visible{opacity:1}.field-provenance__edit-trigger:hover{color:var(--color-anchor);background-color:var(--color-bg-subtle)}.field-provenance__field-value--editing{text-transform:none;max-width:360px;flex:1}.field-provenance__edit-input,select.field-provenance__edit-input{flex:1;min-width:120px;padding:4px 8px;font-size:var(--text-sm);border:1px solid var(--color-border-input);border-radius:var(--radius-xs);outline:none;font-family:inherit;color:var(--color-text-body);background:var(--color-white);text-transform:none}.field-provenance__edit-input:focus,select.field-provenance__edit-input:focus{border-color:var(--color-anchor);box-shadow:0 0 0 2px #2563eb26}.field-provenance__edit-save,.field-provenance__edit-cancel{padding:4px 10px;font-size:var(--text-xs);font-weight:var(--font-semibold);border-radius:var(--radius-xs);cursor:pointer;white-space:nowrap;border:1px solid transparent}.field-provenance__edit-save{background-color:var(--color-anchor, #2563EB);color:var(--color-white)}.field-provenance__edit-save:disabled{background-color:var(--color-text-tertiary, #9CA3AF);cursor:wait}.field-provenance__edit-cancel{background:transparent;border-color:var(--color-border-input);color:var(--color-text-body)}.field-provenance__edit-cancel:hover:not(:disabled){background-color:var(--color-bg-subtle)}.field-provenance__field-source{margin-left:auto;display:flex;align-items:center;gap:var(--space-xs-plus);font-size:var(--text-xs);color:var(--color-text-label);position:relative;flex-shrink:0}.field-provenance__conflict-badge{padding:2px var(--space-xs-plus);background-color:var(--color-warning-light);color:var(--color-warning-dark);border-radius:var(--radius-xs);font-size:var(--text-2xs);font-weight:var(--font-medium);cursor:pointer}.field-provenance__conflict-popover{position:absolute;right:0;top:100%;background-color:var(--color-white);border-radius:var(--radius-8);box-shadow:0 4px 16px #0000001f;border:1px solid var(--color-border-light);z-index:100;min-width:250px;padding:var(--space-sm-plus);margin-top:var(--space-xs)}.field-provenance__conflict-item{padding:var(--space-xs-plus) 0;border-bottom:1px solid var(--color-bg-subtle);font-size:var(--text-xs-plus)}.field-provenance__conflict-value{font-weight:var(--font-medium);color:var(--color-text-body);margin-bottom:2px}.field-provenance__conflict-meta{color:var(--color-text-tertiary);font-size:var(--text-xs)}.field-provenance__chips{margin-left:auto;width:120px;display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:var(--space-xs);flex-shrink:0}.field-provenance__chips-empty{color:var(--color-text-tertiary);font-size:var(--text-xs)}.field-provenance__alternatives{width:90px;display:flex;align-items:center;justify-content:flex-end;flex-shrink:0;position:relative}.field-provenance__conflict-popover{min-width:420px}.field-provenance__conflict-popover-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-sm-plus)}.field-provenance__conflict-popover-title{font-weight:var(--font-semibold);font-size:var(--text-xs-plus);color:var(--color-text-body)}.field-provenance__conflict-popover-close{background:none;border:none;color:var(--color-text-tertiary);cursor:pointer;font-size:var(--text-base);line-height:1;padding:0 var(--space-xs);margin-left:var(--space-sm)}.field-provenance__conflict-popover-hint{font-size:var(--text-xs);color:var(--color-text-tertiary);margin-bottom:var(--space-sm)}.field-provenance__conflict-table{width:100%;border-collapse:collapse;font-size:var(--text-xs-plus)}.field-provenance__conflict-table thead tr{text-align:left;border-bottom:1px solid var(--color-border-light)}.field-provenance__conflict-table th{padding:var(--space-xs) var(--space-sm-plus) var(--space-xs-plus) 0;font-weight:var(--font-semibold);color:var(--color-text-tertiary);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.5px}.field-provenance__conflict-table th:first-child{width:110px}.field-provenance__conflict-table th:last-child{width:88px;padding-right:0}.field-provenance__conflict-table tbody tr{border-bottom:1px solid var(--color-bg-subtle)}.field-provenance__conflict-table td{padding:var(--space-sm-plus) var(--space-sm-plus) var(--space-sm-plus) 0;vertical-align:middle}.field-provenance__conflict-table td:last-child{padding-right:0}.field-provenance__conflict-source-cell{display:flex;flex-direction:column;gap:var(--space-xs);white-space:nowrap}.field-provenance__conflict-source-date{font-size:var(--text-2xs);color:var(--color-text-tertiary)}.field-provenance__conflict-value-cell{word-break:break-word;color:var(--color-text-body)}.field-provenance__promote-btn{padding:var(--space-xs) var(--space-sm);font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--color-white);background-color:var(--color-primary, #2563EB);border:none;border-radius:var(--radius-xs);cursor:pointer;white-space:nowrap}.field-provenance__promote-btn:disabled{background-color:var(--color-text-tertiary, #9CA3AF);cursor:wait}.history-timeline{border-top:1px solid var(--color-border-light);padding:var(--space-sm-plus) var(--space-md)}.history-timeline__header{display:flex;align-items:center;justify-content:space-between;cursor:pointer;-webkit-user-select:none;user-select:none}.history-timeline__title{margin:0;font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-text-body);display:flex;align-items:center;gap:var(--space-sm)}.history-timeline__count{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--color-text-tertiary);background:var(--color-bg-subtle);padding:2px var(--space-sm);border-radius:10px;min-width:20px;text-align:center}.history-timeline__caret{color:var(--color-text-tertiary);font-size:var(--text-xs-plus)}.history-timeline__status{margin-top:var(--space-sm);font-size:var(--text-xs-plus);color:var(--color-text-tertiary)}.history-timeline__status--error{color:var(--color-error-dark, #991B1B)}.history-timeline__list{margin-top:var(--space-sm-plus);padding-left:var(--space-sm-plus);border-left:2px solid var(--color-border-light);display:flex;flex-direction:column;gap:var(--space-sm-plus)}.history-timeline__entry{font-size:var(--text-xs-plus);color:var(--color-text-body);display:flex;flex-direction:column;gap:var(--space-xs-plus);padding:var(--space-sm) var(--space-sm-plus);background:var(--color-bg-subtle);border-radius:var(--radius-xs);border:1px solid var(--color-bg-subtle)}.history-timeline__entry-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm)}.history-timeline__entry-action{text-transform:capitalize}.history-timeline__entry-meta{color:var(--color-text-tertiary);font-size:var(--text-xs)}.history-timeline__diff{display:grid;grid-template-columns:1fr 16px 1fr;gap:var(--space-xs-plus);align-items:center;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--text-xs)}.history-timeline__diff-arrow{text-align:center;color:var(--color-text-tertiary)}.history-timeline__diff-before,.history-timeline__diff-after{padding:2px var(--space-xs-plus);border-radius:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-timeline__diff-before{background:#fee2e2;color:#991b1b}.history-timeline__diff-after{background:#d1fae5;color:#065f46}.history-timeline__undo-btn{padding:3px var(--space-sm);font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--color-white);background-color:var(--color-purple, #6366F1);border:none;border-radius:3px;cursor:pointer;white-space:nowrap}.history-timeline__undo-btn:disabled{background-color:var(--color-text-tertiary, #9CA3AF);cursor:wait}.history-timeline__empty{margin-top:var(--space-sm);font-size:var(--text-xs-plus);color:var(--color-text-tertiary);font-style:italic}.field-mapping{padding:var(--space-lg)}.field-mapping__header{margin-bottom:var(--space-lg)}.field-mapping__title{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--color-anchor);margin:0 0 var(--space-xs-plus) 0}.field-mapping__subtitle{font-size:var(--text-sm-plus);color:var(--color-text-label);margin:0}.field-mapping__table{width:100%;border-collapse:collapse;background-color:var(--color-white);border-radius:var(--radius-md);overflow:hidden;box-shadow:0 4px 20px #0f3d3e0f}.field-mapping__table th{padding:var(--space-sm-lg) var(--space-md);text-align:left;font-size:var(--text-xs-plus);font-weight:var(--font-semibold);color:var(--color-text-label);text-transform:uppercase;letter-spacing:.05em;background-color:var(--color-bg-muted);border-bottom:1px solid var(--color-border-light)}.field-mapping__table tr{border-bottom:1px solid var(--color-border-light)}.field-mapping__table td{padding:var(--space-sm-plus) var(--space-md);font-size:var(--text-sm-plus);color:var(--color-text-body);vertical-align:middle}.field-mapping__column-name{font-weight:var(--font-medium);color:var(--color-anchor);display:flex;align-items:center;gap:var(--space-xs-plus)}.field-mapping__sample-value{font-size:var(--text-xs-plus);color:var(--color-text-label);background-color:var(--color-bg-subtle);padding:var(--space-xs) var(--space-xs-plus);border-radius:var(--radius-xs);font-family:var(--font-mono);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.field-mapping__select{padding:var(--space-xs-plus) var(--space-sm-plus);border-radius:var(--radius-sm);border:1px solid var(--color-border-input);font-size:var(--text-sm-plus);background-color:var(--color-white);cursor:pointer;min-width:180px}.field-mapping__select--detected{border-color:var(--color-success);background-color:#ecfdf5}.field-mapping__confidence-badge{display:inline-flex;align-items:center;padding:2px var(--space-xs-plus);border-radius:var(--radius-xs);font-size:var(--text-xs);font-weight:var(--font-medium)}.field-mapping__confidence-badge--high{background-color:var(--color-success-light);color:var(--color-success-dark)}.field-mapping__confidence-badge--medium{background-color:var(--color-warning-light);color:var(--color-warning-dark)}.field-mapping__confidence-badge--low{background-color:var(--color-bg-subtle);color:var(--color-text-label)}.field-mapping__actions{display:flex;align-items:center;justify-content:space-between;margin-top:var(--space-lg);padding:var(--space-md);background-color:var(--color-bg-muted);border-radius:var(--radius-md)}.field-mapping__stats{display:flex;align-items:center;gap:var(--space-md);font-size:var(--text-sm-plus);color:var(--color-text-label)}.field-mapping__stat-item{display:flex;align-items:center;gap:var(--space-xs-plus)}.field-mapping__stat-value{font-weight:var(--font-semibold);color:var(--color-anchor)}.enrichment-panel{background-color:var(--color-white);border-radius:var(--radius-md-plus);padding:var(--space-lg);box-shadow:0 2px 8px #0f3d3e14;margin-top:var(--space-md-plus)}.enrichment-panel__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md-plus)}.enrichment-panel__title{font-size:var(--text-md);font-weight:var(--font-semibold);color:var(--color-anchor);margin:0;display:flex;align-items:center;gap:var(--space-sm)}.enrichment-panel__badge{padding:var(--space-xs) var(--space-sm-plus);background-color:var(--color-anchor-tint);color:var(--color-anchor);border-radius:var(--radius-md-plus);font-size:var(--text-xs-plus);font-weight:var(--font-medium)}.enrichment-panel__description{font-size:var(--text-base);color:var(--color-text-label);margin-bottom:var(--space-md-plus);line-height:var(--line-height-relaxed)}.enrichment-panel__options-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-sm-plus);margin-bottom:var(--space-md-plus)}.enrichment-panel__option-card{padding:var(--space-md);border:1px solid var(--color-border-light);border-radius:var(--radius-md);cursor:pointer;transition:all .15s ease}.enrichment-panel__option-card:hover,.enrichment-panel__option-card--selected{border-color:var(--color-anchor);background-color:var(--color-anchor-tint)}.enrichment-panel__option-label{display:flex;align-items:center;gap:var(--space-sm-plus);margin-bottom:var(--space-sm)}.enrichment-panel__checkbox{width:18px;height:18px;accent-color:var(--color-anchor);cursor:pointer}.enrichment-panel__option-title{font-size:var(--text-base);font-weight:var(--font-medium);color:var(--color-anchor);margin:0}.enrichment-panel__option-description{font-size:var(--text-xs-plus);color:var(--color-text-label);margin:0;padding-left:28px}.enrichment-panel__cost-info{display:flex;align-items:center;gap:var(--space-xs-plus);font-size:var(--text-xs);color:var(--color-text-tertiary);padding-left:28px;margin-top:var(--space-xs)}.enrichment-panel__settings-row{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-md);padding:var(--space-sm-plus);background-color:var(--color-bg-muted);border-radius:var(--radius-md)}.enrichment-panel__settings-label{font-size:var(--text-sm-plus);color:var(--color-text-body);font-weight:var(--font-medium)}.enrichment-panel__input{padding:var(--space-sm) var(--space-sm-plus);border:1px solid var(--color-border-input);border-radius:var(--radius-sm);font-size:var(--text-base);width:100px;outline:none}.enrichment-panel__progress-container{margin-top:var(--space-md-plus);padding:var(--space-md);background-color:var(--color-bg-muted);border-radius:var(--radius-md)}.enrichment-panel__progress-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-sm-plus)}.enrichment-panel__progress-title{font-size:var(--text-base);font-weight:var(--font-medium);color:var(--color-text-body)}.enrichment-panel__progress-stats{font-size:var(--text-xs-plus);color:var(--color-text-label)}.enrichment-panel__progress-bar{height:8px;background-color:var(--color-border-light);border-radius:var(--radius-xs);overflow:hidden;margin-bottom:var(--space-sm-plus)}.enrichment-panel__progress-fill{height:100%;background-color:var(--color-success);border-radius:var(--radius-xs);transition:width .3s ease}.enrichment-panel__stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-sm-plus)}.enrichment-panel__stat-card{text-align:center;padding:var(--space-sm-plus);background-color:var(--color-white);border-radius:var(--radius-md);border:1px solid var(--color-border-light)}.enrichment-panel__stat-value{font-size:var(--text-xl-plus);font-weight:var(--font-semibold);color:var(--color-anchor);margin-bottom:var(--space-xs)}.enrichment-panel__stat-label{font-size:var(--text-xs);color:var(--color-text-label)}.enrichment-panel__results-list{margin-top:var(--space-md);max-height:200px;overflow-y:auto}.enrichment-panel__result-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm-plus) var(--space-sm-plus);border-bottom:1px solid var(--color-bg-subtle);font-size:var(--text-sm-plus)}.enrichment-panel__result-success{color:var(--color-success-dark)}.enrichment-panel__result-error{color:var(--color-error)}.mode-selector{display:flex;gap:var(--space-lg);justify-content:center;flex-wrap:wrap;max-width:1200px;margin:40px auto}.mode-card{flex:1 1 320px;max-width:380px;background-color:var(--color-white);border-radius:var(--radius-lg);padding:var(--space-xl);box-shadow:0 4px 20px #0f3d3e0f;border:2px solid var(--color-border-light);cursor:pointer;transition:all .2s ease;text-align:center}.mode-card:hover{border-color:var(--color-anchor);box-shadow:0 8px 30px #0f3d3e1f;transform:translateY(-2px)}.mode-card__icon{width:64px;height:64px;margin:0 auto var(--space-md);background-color:var(--color-anchor-tint);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;color:var(--color-anchor)}.mode-card__title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-anchor);margin:0 0 var(--space-sm) 0}.mode-card__description{font-size:var(--text-base);color:var(--color-text-label);margin:0;line-height:var(--line-height-relaxed)}.mode-card__hint{font-size:var(--text-xs-plus);color:var(--color-text-tertiary);margin-top:var(--space-sm-plus);font-style:italic}.recent-jobs-container{max-width:1200px;margin:var(--space-xl) auto 0;padding:0 var(--space-lg)}.recent-jobs__title{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-text-body);margin-bottom:var(--space-sm-plus);display:flex;align-items:center;gap:var(--space-sm)}.recent-jobs__list{display:flex;flex-direction:column;gap:var(--space-sm)}.recent-job-card{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm-plus) var(--space-md);background-color:var(--color-white);border-radius:var(--radius-md);border:1px solid var(--color-border-light);cursor:pointer;transition:all .15s ease}.recent-job-card:hover{border-color:var(--color-anchor);box-shadow:0 2px 8px #0f3d3e14}.recent-job-card__info{display:flex;align-items:center;gap:var(--space-sm-plus)}.recent-job-card__icon{width:32px;height:32px;border-radius:var(--radius-sm);background-color:var(--color-anchor-tint);display:flex;align-items:center;justify-content:center;color:var(--color-anchor)}.recent-job-card__details{display:flex;flex-direction:column}.recent-job-card__name{font-size:var(--text-sm-plus);font-weight:var(--font-medium);color:var(--color-anchor)}.recent-job-card__meta{font-size:var(--text-xs);color:var(--color-text-label);margin-top:2px}.recent-job-card__stats{display:flex;align-items:center;gap:var(--space-md)}.recent-job-card__stat{font-size:var(--text-xs-plus);color:var(--color-text-body)}.processing-progress{padding:var(--space-lg);width:100%;max-width:100%;margin:0 auto}.processing-progress__header{margin-bottom:var(--space-lg)}.processing-progress__header-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-md);flex-wrap:wrap;gap:var(--space-md)}.processing-progress__title{font-size:var(--text-2xl);font-weight:var(--font-semibold);color:var(--color-anchor);margin:0 0 var(--space-xs) 0}.processing-progress__subtitle{font-size:var(--text-base);color:var(--color-text-label);margin:0}.processing-progress__stats-row{display:flex;gap:var(--space-sm-plus);flex-wrap:wrap}.processing-progress__stat-card{padding:var(--space-sm-plus) var(--space-md);background-color:var(--color-white);border-radius:var(--radius-md);border:1px solid var(--color-border-light);min-width:90px;text-align:center}.processing-progress__stat-label{font-size:var(--text-xs);color:var(--color-text-label);text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}.processing-progress__stat-value{font-size:var(--text-xl-plus);font-weight:var(--font-bold);color:var(--color-anchor)}.processing-progress__progress-bar{height:6px;background-color:var(--color-border-light);border-radius:var(--radius-xs);overflow:hidden;margin-top:var(--space-sm-plus)}.processing-progress__progress-fill{height:100%;background-color:var(--color-success);border-radius:var(--radius-xs);transition:width .3s ease}.processing-progress__table-container{background-color:var(--color-white);border-radius:var(--radius-md-plus);border:1px solid var(--color-border-light);overflow:hidden}.processing-progress__table-header{padding:var(--space-sm-plus) var(--space-md);border-bottom:1px solid var(--color-border-light);display:flex;justify-content:space-between;align-items:center;background-color:var(--color-bg-muted)}.processing-progress__table-title{font-size:var(--text-sm-plus);font-weight:var(--font-semibold);color:var(--color-text-body)}.processing-progress__filter-tabs{display:flex;gap:var(--space-xs-plus)}.processing-progress__filter-tab{padding:var(--space-xs) var(--space-sm-plus);border-radius:var(--radius-xs);border:none;font-size:var(--text-xs);font-weight:var(--font-medium);cursor:pointer;background-color:transparent;color:var(--color-text-label);transition:all .15s ease}.processing-progress__filter-tab--active{background-color:var(--color-anchor);color:var(--color-white)}.processing-progress__table-wrapper{overflow-x:auto;max-height:60vh;overflow-y:auto;width:100%}.processing-progress__table{width:100%;min-width:1800px;border-collapse:collapse;font-size:var(--text-xs-plus)}.processing-progress__th{padding:var(--space-sm-plus) var(--space-sm-plus);text-align:left;background-color:var(--color-bg-muted);font-weight:var(--font-semibold);color:var(--color-text-body);border-bottom:1px solid var(--color-border-light);position:sticky;top:0;z-index:10;white-space:nowrap}.processing-progress__td{padding:var(--space-sm) var(--space-sm-plus);border-bottom:1px solid var(--color-bg-subtle);font-size:var(--text-xs-plus);color:var(--color-text-body);vertical-align:middle}.processing-progress__tr--processing{background-color:#ebf5ff}.processing-progress__tr--complete{background-color:#ecfdf5}.processing-progress__tr--error{background-color:#fef2f2}.processing-progress__log-panel{margin-top:var(--space-sm-plus);background-color:#1f2937;border-radius:var(--radius-sm);padding:var(--space-sm-plus);max-height:120px;overflow-y:auto;font-size:var(--text-xs);font-family:var(--font-mono)}.processing-progress__log-entry{color:#d1d5db;padding:2px 0}.processing-progress__log-time{color:var(--color-text-label);margin-right:var(--space-sm)}.processing-progress__log-success{color:var(--color-success)}.processing-progress__log-error{color:var(--color-error)}.processing-progress__actions{display:flex;align-items:center;justify-content:space-between;margin-top:var(--space-md);padding:var(--space-sm-plus) var(--space-md);background-color:var(--color-white);border-radius:var(--radius-md);border:1px solid var(--color-border-light)}.staged-records-manager{padding:var(--space-lg);max-width:100%;margin:0 auto}.staged-records-manager__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-lg)}.staged-records-manager__title{font-size:var(--text-2xl);font-weight:var(--font-semibold);color:var(--color-base);margin:0}.staged-records-manager__stats-row{display:flex;gap:var(--space-md);margin-bottom:var(--space-lg);flex-wrap:wrap}.staged-records-manager__stat-card{background:var(--color-white);border:1px solid var(--color-border-light);border-radius:var(--radius-md);padding:var(--space-md) var(--space-lg);min-width:120px;cursor:pointer;transition:all .2s ease}.staged-records-manager__stat-card--active{border-color:var(--color-blue);background:#eff6ff}.staged-records-manager__stat-label{font-size:var(--text-xs-plus);color:var(--color-text-label);text-transform:uppercase;letter-spacing:.5px}.staged-records-manager__stat-value{font-size:var(--text-3xl);font-weight:var(--font-bold);color:var(--color-base);margin-top:var(--space-xs)}.staged-records-manager__filters{display:flex;gap:var(--space-sm-plus);margin-bottom:var(--space-md);align-items:center;flex-wrap:wrap}.staged-records-manager__search-input{padding:var(--space-sm) var(--space-sm-plus);border:1px solid var(--color-border-input);border-radius:var(--radius-sm);font-size:var(--text-base);width:250px}.staged-records-manager__select{padding:var(--space-sm) var(--space-sm-plus);border:1px solid var(--color-border-input);border-radius:var(--radius-sm);font-size:var(--text-base);background:var(--color-white)}.staged-records-manager__toolbar{display:flex;gap:var(--space-md);margin-bottom:var(--space-md);padding:var(--space-sm-plus) var(--space-md);background:var(--color-bg-muted);border-radius:var(--radius-md);align-items:center;flex-wrap:wrap}.staged-records-manager__select-all-banner{background:#eff6ff;border:1px solid #BFDBFE;border-radius:var(--radius-md);padding:var(--space-sm-plus) var(--space-md);margin-bottom:var(--space-md);display:flex;align-items:center;justify-content:space-between}.staged-records-manager__table-wrapper{overflow-x:auto}.staged-records-manager__table{width:100%;border-collapse:collapse;background:var(--color-white);border-radius:var(--radius-md);overflow:hidden;box-shadow:0 1px 3px #0000001a;min-width:1600px}.staged-records-manager__th{text-align:left;padding:var(--space-sm-plus) var(--space-sm);background:var(--color-bg-muted);border-bottom:1px solid var(--color-border-light);font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--color-text-label);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.staged-records-manager__td{padding:var(--space-sm) var(--space-sm);border-bottom:1px solid var(--color-border-light);font-size:var(--text-sm-plus);color:var(--color-text-body);vertical-align:middle}.staged-records-manager__company-cell{display:flex;align-items:center;gap:var(--space-sm)}.staged-records-manager__favicon{width:18px;height:18px;border-radius:var(--radius-xs);flex-shrink:0}.staged-records-manager__favicon-placeholder{width:18px;height:18px;background-color:var(--color-border-light);border-radius:var(--radius-xs);flex-shrink:0}.staged-records-manager__company-name{font-weight:var(--font-semibold);color:var(--color-anchor);font-size:var(--text-sm-plus)}.staged-records-manager__url-link{color:var(--color-blue);text-decoration:none;font-size:var(--text-xs);display:block;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.staged-records-manager__row-actions{display:flex;gap:var(--space-xs);justify-content:flex-end}.staged-records-manager__pagination{display:flex;justify-content:space-between;align-items:center;margin-top:var(--space-md);padding:var(--space-sm-plus) 0}.staged-records-manager__page-info{color:var(--color-text-label);font-size:var(--text-base)}.staged-records-manager__page-buttons{display:flex;gap:var(--space-sm)}.staged-records-manager__modal{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.staged-records-manager__modal-content{background:var(--color-white);border-radius:var(--radius-md-plus);padding:var(--space-lg);max-width:400px;width:90%}.staged-records-manager__modal-title{font-size:var(--text-lg);font-weight:var(--font-semibold);margin-bottom:var(--space-sm-plus)}.staged-records-manager__modal-text{color:var(--color-text-label);margin-bottom:var(--space-md-plus)}.staged-records-manager__modal-buttons{display:flex;gap:var(--space-sm-plus);justify-content:flex-end}.staged-records-manager__conflict-panel{background:#fffbeb;padding:var(--space-md) var(--space-lg);border-top:1px solid #FDE68A}.staged-records-manager__conflict-title{font-weight:var(--font-semibold);font-size:var(--text-sm-plus);color:#92400e;margin-bottom:var(--space-sm-plus)}.staged-records-manager__conflict-table{width:100%;border-collapse:collapse;background:var(--color-white);border-radius:var(--radius-sm);overflow:hidden;border:1px solid #FDE68A}.staged-records-manager__conflict-table th{text-align:left;padding:var(--space-sm) var(--space-sm-plus);background:#fef3c7;font-size:var(--text-xs);font-weight:var(--font-semibold);color:#92400e;text-transform:uppercase;letter-spacing:.5px}.staged-records-manager__conflict-table td{padding:var(--space-sm) var(--space-sm-plus);border-bottom:1px solid var(--color-bg-subtle);font-size:var(--text-sm-plus);color:var(--color-text-body);vertical-align:top}.review-results{background-color:var(--color-white);border-radius:var(--radius-md-plus);box-shadow:0 4px 20px #0f3d3e0f;overflow:hidden}.review-results__header{padding:var(--space-lg);border-bottom:1px solid var(--color-border-light)}.review-results__title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-anchor);margin:0 0 var(--space-sm) 0}.review-results__subtitle{font-size:var(--text-base);color:var(--color-text-label);margin:0}.review-results__summary-cards{display:flex;gap:var(--space-md);padding:var(--space-md-plus) var(--space-lg);background-color:var(--color-bg-muted);border-bottom:1px solid var(--color-border-light)}.review-results__summary-card{flex:1;padding:var(--space-md);border-radius:var(--radius-md);background-color:var(--color-white);border:1px solid var(--color-border-light)}.review-results__summary-card--ready{border-color:var(--color-success);background-color:#ecfdf5}.review-results__summary-card--review{border-color:var(--color-warning);background-color:#fffbeb}.review-results__summary-card--failed{border-color:var(--color-error);background-color:#fef2f2}.review-results__summary-count{font-size:var(--text-3xl);font-weight:var(--font-bold);margin:0 0 var(--space-xs) 0}.review-results__summary-label{font-size:var(--text-sm-plus);color:var(--color-text-label);margin:0}.review-results__toolbar{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--color-border-light)}.review-results__filters{display:flex;gap:var(--space-sm)}.review-results__filter-button{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);border:1px solid var(--color-border-input);background-color:var(--color-white);font-size:var(--text-sm-plus);font-weight:var(--font-medium);cursor:pointer;transition:all .15s ease}.review-results__filter-button--active{background-color:var(--color-anchor);color:var(--color-white);border-color:var(--color-anchor)}.review-results__actions{display:flex;gap:var(--space-sm)}.review-results__table-container{overflow-x:auto}.review-results__table{width:100%;border-collapse:collapse}.review-results__th{padding:var(--space-sm-plus) var(--space-md);text-align:left;font-size:var(--text-xs-plus);font-weight:var(--font-semibold);color:var(--color-text-label);text-transform:uppercase;letter-spacing:.05em;background-color:var(--color-bg-muted);border-bottom:1px solid var(--color-border-light)}.review-results__tr{border-bottom:1px solid var(--color-border-light)}.review-results__tr--review{background-color:#fffbeb}.review-results__tr--failed{background-color:#fef2f2}.review-results__td{padding:var(--space-sm-plus) var(--space-md);font-size:var(--text-base);color:var(--color-text-body);vertical-align:top}.review-results__record-name{font-weight:var(--font-medium);color:var(--color-anchor)}.review-results__record-meta{font-size:var(--text-xs-plus);color:var(--color-text-label);margin-top:var(--space-xs)}.review-results__issues-list{margin:0;padding:0 0 0 var(--space-md);font-size:var(--text-sm-plus);color:var(--color-text-label)}.review-results__issue-item{margin-bottom:var(--space-xs)}.review-results__row-actions{display:flex;gap:var(--space-sm)}.review-results__footer{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-lg);background-color:var(--color-bg-muted);border-top:1px solid var(--color-border-light)}.review-results__page-info{font-size:var(--text-sm-plus);color:var(--color-text-label)}.review-results__footer-actions{display:flex;gap:var(--space-sm-plus)}.review-results__modal{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:var(--z-overlay)}.review-results__modal-content{background-color:var(--color-white);border-radius:var(--radius-md-plus);max-width:600px;width:90%;max-height:80vh;overflow:auto;box-shadow:0 20px 60px #0000004d}.review-results__modal-header{padding:var(--space-md-plus) var(--space-lg);border-bottom:1px solid var(--color-border-light);display:flex;align-items:center;justify-content:space-between}.review-results__modal-title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-anchor);margin:0}.review-results__modal-body{padding:var(--space-lg)}.review-results__detail-row{margin-bottom:var(--space-md)}.review-results__detail-label{font-size:var(--text-xs-plus);font-weight:var(--font-semibold);color:var(--color-text-label);text-transform:uppercase;margin-bottom:var(--space-xs)}.review-results__detail-value{font-size:var(--text-base);color:var(--color-text-body)}.review-results__match-info{padding:var(--space-md);background-color:var(--color-bg-muted);border-radius:var(--radius-md);margin-top:var(--space-md)}.review-results__match-title{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-anchor);margin-bottom:var(--space-sm-plus)}.review-results__match-comparison{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md)}.review-results__match-column{font-size:var(--text-sm-plus)}.review-results__match-column-label{font-weight:var(--font-semibold);color:var(--color-text-label);margin-bottom:var(--space-sm)}.nrmca-input{width:100%;max-width:600px;margin:0 auto}.nrmca-input__card{background-color:var(--color-white);border-radius:var(--radius-md-plus);padding:var(--space-xl);box-shadow:0 4px 20px #0f3d3e0f;border:1px solid var(--color-border-light)}.nrmca-input__title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-anchor);margin:0 0 var(--space-xs-plus) 0;text-align:left}.nrmca-input__subtitle{font-size:var(--text-sm-plus);color:var(--color-text-body);margin:0 0 var(--space-lg) 0;text-align:left;line-height:1.5}.nrmca-input__link{color:var(--color-anchor);text-decoration:underline;text-underline-offset:2px;font-weight:var(--font-medium)}.nrmca-input__link:hover{color:#0a2d2e}.nrmca-input__form{display:flex;flex-direction:column}.nrmca-input__group{margin-bottom:var(--space-md)}.nrmca-input__label{display:block;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-body);margin-bottom:var(--space-xs-plus)}.nrmca-input__field{width:100%;padding:var(--space-sm-plus) var(--space-sm-lg);border:1px solid var(--color-border-input);border-radius:var(--radius-sm-lg);font-size:var(--text-sm-plus);font-family:inherit;outline:none;box-sizing:border-box;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.nrmca-input__field:focus{border-color:var(--color-anchor);box-shadow:0 0 0 3px #0f3d3e1a}.nrmca-input__field:disabled{background-color:var(--color-bg-muted);cursor:not-allowed}.nrmca-input__error{margin-bottom:var(--space-sm-plus);padding:var(--space-sm-plus) var(--space-md);background-color:var(--color-error-light);border-radius:var(--radius-8);color:var(--color-error-dark);font-size:var(--text-sm)}.nrmca-input__actions{display:flex;gap:var(--space-sm-plus);align-items:center;flex-wrap:wrap;margin-top:var(--space-md-plus)}.nrmca-input__submit{flex:1 1 auto;min-width:200px;padding:var(--space-sm-lg) var(--space-lg);background-color:var(--color-anchor);color:var(--color-white);border:none;border-radius:var(--radius-sm-lg);font-size:var(--text-base);font-weight:var(--font-semibold);cursor:pointer;transition:background-color var(--transition-base)}.nrmca-input__submit:hover:not(:disabled){background-color:#0a2d2e}.nrmca-input__submit:disabled{background-color:var(--color-text-tertiary);cursor:wait}.nrmca-input__cancel{padding:var(--space-sm-lg) var(--space-md);background-color:var(--color-white);color:var(--color-text-body);border:1px solid var(--color-border-input);border-radius:var(--radius-sm-lg);font-size:var(--text-sm-plus);cursor:pointer;transition:background-color var(--transition-fast)}.nrmca-input__cancel:hover{background-color:var(--color-bg-muted)}.nrmca-input__hint{font-size:var(--text-xs-plus);color:var(--color-text-tertiary);margin:var(--space-md) 0 0 0;line-height:1.5}.health-dashboard{padding:var(--space-lg)}.health-dashboard__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-md-plus);margin-bottom:var(--space-lg)}.health-dashboard__card-header{display:flex;align-items:center;gap:var(--space-sm-lg);margin-bottom:var(--space-md)}.health-dashboard__card-icon{width:44px;height:44px;border-radius:var(--radius-12);display:flex;align-items:center;justify-content:center;flex-shrink:0}.health-dashboard__card-value{font-size:var(--text-3xl);font-weight:var(--font-bold);color:var(--color-anchor);margin:0;letter-spacing:-.5px}.health-dashboard__card-subtext{font-size:var(--text-sm);color:var(--color-text-tertiary);margin-top:var(--space-xs)}.health-dashboard__quality-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-md)}.health-dashboard__quality-item{display:flex;align-items:center;gap:var(--space-md)}.health-dashboard__quality-label{flex:1;font-size:var(--text-sm-plus);color:var(--color-text-body)}.health-dashboard__quality-value{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-anchor);min-width:60px;text-align:right}.health-dashboard__activity-list{display:flex;flex-direction:column;gap:var(--space-sm-lg)}.health-dashboard__activity-item{display:flex;align-items:center;gap:var(--space-sm-lg);padding:var(--space-sm-lg);background-color:var(--color-bg-muted);border-radius:var(--radius-md)}.health-dashboard__activity-icon{width:36px;height:36px;border-radius:var(--radius-8);display:flex;align-items:center;justify-content:center;background-color:var(--color-border-light);color:var(--color-text-label)}.health-dashboard__activity-text{flex:1;font-size:var(--text-base);color:var(--color-text-body)}.health-dashboard__activity-value{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-anchor)}.health-dashboard__two-column{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:var(--space-lg);margin-bottom:var(--space-lg)}.health-dashboard__jobs-table{width:100%;border-collapse:collapse}.health-dashboard__jobs-table th{padding:var(--space-sm-plus) var(--space-sm-lg);text-align:left;font-size:var(--text-xs-plus);font-weight:var(--font-semibold);color:var(--color-text-label);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--color-border-light)}.health-dashboard__jobs-table tr{border-bottom:1px solid var(--color-bg-subtle);cursor:pointer;transition:background-color .15s ease}.health-dashboard__jobs-table tr:hover{background-color:var(--color-bg-muted)}.health-dashboard__jobs-table td{padding:var(--space-sm-lg);font-size:var(--text-sm-plus);color:var(--color-text-body)}.health-dashboard__job-name{font-weight:var(--font-medium);color:var(--color-anchor)}.health-dashboard__job-meta{font-size:var(--text-xs-plus);color:var(--color-text-tertiary);margin-top:var(--space-2xs)}.health-dashboard__review-table{width:100%;border-collapse:collapse}.health-dashboard__review-table tr{border-bottom:1px solid var(--color-bg-subtle);cursor:pointer}.health-dashboard__review-table td{padding:var(--space-sm-plus) var(--space-sm-lg);font-size:var(--text-sm-plus);color:var(--color-text-body)}.health-dashboard__review-flag{padding:2px var(--space-xs-plus);border-radius:var(--radius-xs);font-size:var(--text-xs);font-weight:var(--font-medium);background-color:var(--color-warning-light);color:#92400e;margin-right:var(--space-xs)}.pending-locations{padding:0}.company-list-page{padding:var(--space-lg)}.company-list-page__expanded-row{background-color:var(--color-bg-muted)}.company-list-page__expanded-content{padding:0 var(--space-md) var(--space-md) 52px}.location-list-page{padding:var(--space-lg);min-width:0}.location-list-page__stats{display:flex;gap:var(--space-lg);margin-bottom:var(--space-md-plus);padding:var(--space-md) var(--space-md-plus);background-color:var(--color-bg-muted);border-radius:var(--radius-8)}.location-list-page__stat-item{display:flex;flex-direction:column}.location-list-page__stat-value{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-anchor)}.location-list-page__stat-label{font-size:var(--text-sm);color:var(--color-text-label);text-transform:uppercase}.locations-expanded{padding:var(--space-md) 0}.locations-expanded__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-sm-lg)}.locations-expanded__title{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-text-body);margin:0}.company-actions{display:flex;align-items:center;gap:var(--space-sm);position:relative}.company-actions__form{display:flex;flex-direction:column;gap:var(--space-md)}.react-app{min-height:100%;background-color:var(--color-surface);font-family:var(--font-primary)}.react-app__header{padding:var(--space-lg) var(--space-lg) 0 var(--space-lg)}.react-app__title{font-size:var(--text-2xl);font-weight:var(--font-semibold);color:var(--color-base);margin:0 0 var(--space-xs) 0}.react-app__subtitle{font-size:var(--text-base);color:var(--color-base-muted);margin:0 0 var(--space-md-plus) 0}.tab-bar{display:flex;gap:var(--space-xs);border-bottom:1px solid var(--color-border-light);margin-bottom:var(--space-lg)}.tab-bar__tab{padding:var(--space-sm-lg) var(--space-md-plus);font-size:var(--text-base);font-weight:var(--font-medium);cursor:pointer;border:none;background-color:transparent;color:var(--color-text-label);border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .15s ease;display:flex;align-items:center;gap:var(--space-sm)}.tab-bar__tab:hover{color:var(--color-text-body);background-color:#0f3d3e0a}.tab-bar__tab.is-active{color:var(--color-anchor);border-bottom-color:var(--color-anchor);font-weight:var(--font-semibold)}.react-app__content{padding:0 var(--space-lg) var(--space-lg) var(--space-lg)}.placeholder-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;height:400px;background-color:var(--color-white);border-radius:var(--radius-12);box-shadow:var(--shadow-hover-soft);border:1px solid var(--color-border-light)}.placeholder-panel__icon{width:64px;height:64px;color:var(--color-text-tertiary);margin-bottom:var(--space-md)}.placeholder-panel__title{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--color-text-body);margin:0 0 var(--space-sm) 0}.placeholder-panel__text{font-size:var(--text-base);color:var(--color-text-label);margin:0}.economic-data-page{padding:var(--space-lg) 32px 80px;width:100%;min-height:100vh;background:var(--color-bg-primary);overflow-y:auto}.economic-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;color:var(--color-text-muted)}.economic-loading .loading-spinner{width:40px;height:40px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}.economic-empty,.economic-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;text-align:center;color:var(--color-text-muted)}.economic-empty .empty-icon,.economic-error .error-icon{width:64px;height:64px;margin-bottom:var(--space-md);opacity:.5}.economic-empty h2,.economic-error h2{font-size:1.25rem;font-weight:600;color:var(--color-text-primary);margin-bottom:var(--space-sm)}.economic-empty p,.economic-error p{margin-bottom:var(--space-sm)}.economic-empty code{display:block;background:var(--color-bg-secondary);padding:var(--space-sm) 16px;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.875rem;margin-top:var(--space-sm)}.economic-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-xl);flex-wrap:wrap;gap:var(--space-md)}.economic-header-left{flex:1;min-width:200px}.economic-title{font-size:1.75rem;font-weight:700;color:var(--color-text-primary);margin:0 0 4px}.economic-subtitle{font-size:.9375rem;color:var(--color-text-muted);margin:0}.economic-filters{display:flex;gap:var(--space-sm-lg);align-items:center;flex-wrap:wrap}.economic-search-wrapper{position:relative}.economic-search-wrapper .search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--color-text-muted)}.economic-search{padding:var(--space-sm-plus) 12px 10px 40px;border:1px solid var(--color-border);border-radius:var(--radius-8);font-size:.875rem;width:240px;background:var(--color-white);transition:border-color .2s,box-shadow .2s}.economic-search:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--shadow-focus-subtle)}.economic-filter-select{padding:var(--space-sm-plus) 32px 10px 12px;border:1px solid var(--color-border);border-radius:var(--radius-8);font-size:.875rem;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748B' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") no-repeat right 12px center;cursor:pointer;appearance:none;min-width:140px}.economic-filter-select:focus{outline:none;border-color:var(--color-primary)}.economic-summary{display:flex;align-items:center;gap:var(--space-lg);padding:var(--space-md) 24px;background:rgba(var(--color-anchor-rgb),.95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-lg, 12px);margin-bottom:var(--space-lg);color:var(--color-white);box-shadow:var(--shadow-elevation-3, 0 4px 12px rgba(var(--color-black-rgb), .15))}.summary-stat{display:flex;flex-direction:column;gap:var(--space-xs)}.summary-total{border-right:1px solid rgba(var(--color-white-rgb),.2);padding-right:var(--space-lg)}.summary-value{font-size:2rem;font-weight:700;line-height:1;color:var(--color-signal)}.summary-label{font-size:.75rem;font-weight:600;color:rgba(var(--color-white-rgb),.7);text-transform:uppercase;letter-spacing:.1em}.summary-sources{flex:1}.summary-breakdown{font-size:.875rem;color:rgba(var(--color-white-rgb),.85)}.economic-sections{display:flex;flex-direction:column;gap:var(--space-md)}.economic-section{background:var(--color-white);border-radius:var(--radius-12);padding:var(--space-md) 20px;box-shadow:0 1px 3px rgba(var(--color-black-rgb),.05);transition:padding .3s ease}.economic-section:has(.section-header[data-collapsed=true]){padding:var(--space-sm-lg) 20px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md);padding-bottom:var(--space-sm-lg);border-bottom:1px solid var(--color-border)}.section-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--color-primary-light);border-radius:var(--radius-8);color:var(--color-primary)}.section-title{font-size:1.125rem;font-weight:600;color:var(--color-text-primary);margin:0}.section-count{font-size:.8125rem;color:var(--color-text-muted);background:var(--color-bg-secondary);padding:var(--space-xs) 10px;border-radius:var(--radius-12)}.section-header.collapsible,.subsection-header.collapsible{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .15s ease;border-radius:var(--radius-8);padding:var(--space-sm);margin:-8px;margin-bottom:var(--space-xs)}.section-header.collapsible:hover,.subsection-header.collapsible:hover{background-color:var(--color-bg-secondary)}.collapse-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;color:var(--color-text-muted);transition:transform .3s ease;flex-shrink:0}.subsection-collapse{width:16px;height:16px}.subsection-collapse svg{width:12px;height:12px}.section-content,.subsection-content{overflow:hidden;transition:max-height .3s ease,opacity .3s ease}.section-header[data-collapsed=true]+.section-content,.subsection-header[data-collapsed=true]+.subsection-content{max-height:0;opacity:0}.section-subsections{display:flex;flex-direction:column;gap:var(--space-md);margin-top:var(--space-sm)}.economic-subsection{padding-left:var(--space-sm-lg);border-left:3px solid var(--color-primary-light)}.economic-subsection:has(.subsection-header[data-collapsed=true]){padding-bottom:0}.subsection-header{display:flex;align-items:center;gap:var(--space-sm-plus);margin-bottom:var(--space-sm)}.subsection-title{font-size:.9375rem;font-weight:600;color:var(--color-text-secondary);margin:0}.subsection-count{font-size:.75rem;color:var(--color-text-muted);background:var(--color-bg-secondary);padding:var(--space-2xs) 8px;border-radius:var(--radius-md)}.indicator-card{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:14px var(--space-md);cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column}.indicator-card:hover,.indicator-card.hovered{border-color:var(--color-primary);box-shadow:0 4px 12px rgba(var(--color-primary-rgb),.12);transform:translateY(-2px)}.indicator-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-sm)}.indicator-source{font-size:.6875rem;font-weight:600;color:var(--color-primary);background:var(--color-primary-light);padding:var(--space-2xs) 6px;border-radius:var(--radius-xs);text-transform:uppercase;letter-spacing:.5px}.indicator-frequency{font-size:.6875rem;color:var(--color-text-muted)}.indicator-card-body{flex:1}.indicator-name{font-size:.8125rem;font-weight:600;color:var(--color-text-primary);margin:0 0 8px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.indicator-metrics{display:flex;align-items:baseline;gap:var(--space-sm);margin-bottom:var(--space-sm)}.indicator-value{font-size:1.25rem;font-weight:700;color:var(--color-text-primary)}.indicator-change{display:flex;flex-wrap:wrap;gap:var(--space-xs);font-size:.6875rem;font-weight:600}.indicator-change .change-badge{padding:var(--space-2xs) 5px;border-radius:var(--radius-xs);white-space:nowrap;cursor:pointer;transition:all .15s ease;border:1px solid transparent}.indicator-change .change-badge:hover{transform:scale(1.05);box-shadow:0 2px 4px rgba(var(--color-black-rgb),.1)}.indicator-change .positive{color:var(--color-green-600);background:var(--color-green-100)}.indicator-change .positive:hover{border-color:var(--color-green-600)}.indicator-change .negative{color:var(--color-red-600);background:var(--color-red-100)}.indicator-change .negative:hover{border-color:var(--color-red-600)}.calc-tooltip{position:fixed;z-index:var(--z-fullscreen);background:var(--color-slate-800);border-radius:var(--radius-8);padding:var(--space-sm-plus) 14px;box-shadow:0 8px 24px rgba(var(--color-black-rgb),.25);opacity:0;transition:opacity .2s ease;pointer-events:none;min-width:180px}.calc-tooltip.visible{opacity:1}.calc-tooltip:before{content:"";position:absolute;top:-6px;left:50%;transform:translate(-50%);border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid var(--color-slate-800)}.calc-tooltip-header{font-size:.6875rem;font-weight:600;color:var(--color-slate-400);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-xs)}.calc-tooltip-body{font-size:.8125rem;color:var(--color-slate-50);font-weight:500}.sparkline-label{position:absolute;bottom:0;right:0;font-size:.5625rem;color:var(--color-text-muted);opacity:.7}.indicator-card-footer{display:flex;justify-content:space-between;align-items:center;font-size:.6875rem;color:var(--color-text-muted);margin-top:var(--space-xs)}.indicator-units{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.indicator-modal{position:fixed;inset:0;z-index:var(--z-overlay);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease}.indicator-modal.visible{opacity:1}.indicator-modal-backdrop{position:absolute;inset:0;background:rgba(var(--color-slate-900-rgb),.6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.indicator-modal-content{position:relative;background:var(--color-white);border-radius:16px;width:95%;max-width:1000px;max-height:90vh;overflow-y:auto;box-shadow:0 25px 50px -12px rgba(var(--color-black-rgb),.25);transform:translateY(10px);transition:transform .2s ease}.indicator-modal.visible .indicator-modal-content{transform:translateY(0)}.indicator-modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:var(--space-lg) 24px 16px;border-bottom:1px solid var(--color-border)}.indicator-modal-title-group{flex:1;padding-right:var(--space-md)}.indicator-modal-source-link{display:inline-flex;align-items:center;gap:var(--space-xs-plus);text-decoration:none;margin-bottom:var(--space-sm);padding:var(--space-xs) 10px 4px 8px;background:var(--color-primary-light);border-radius:var(--radius-sm);transition:all .2s ease;border:1px solid transparent}.indicator-modal-source-link:hover{background:var(--color-primary);border-color:var(--color-primary)}.indicator-modal-source-link:hover .indicator-modal-source,.indicator-modal-source-link:hover .indicator-modal-ticker,.indicator-modal-source-link:hover .external-link-icon{color:var(--color-white)}.indicator-modal-source{font-size:.75rem;font-weight:600;color:var(--color-primary);text-transform:uppercase;letter-spacing:.5px}.indicator-modal-ticker{font-size:.8125rem;font-weight:700;color:var(--color-text-primary);font-family:var(--font-mono)}.external-link-icon{width:12px;height:12px;color:var(--color-text-muted);transition:color .2s}.indicator-modal-title{font-size:1.375rem;font-weight:700;color:var(--color-text-primary);margin:0 0 6px;line-height:1.3}.indicator-modal-subtitle{font-size:.875rem;color:var(--color-text-muted);margin:0;line-height:1.5}.indicator-modal-header-actions{display:flex;align-items:flex-start;gap:var(--space-sm-lg);flex-shrink:0}.indicator-modal-header-actions .export-buttons{display:flex;gap:var(--space-sm)}.indicator-modal-close{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:none;background:var(--color-bg-secondary);border-radius:var(--radius-8);font-size:var(--text-2xl);color:var(--color-text-muted);cursor:pointer;transition:all .2s;flex-shrink:0}.indicator-modal-close:hover{background:var(--color-border);color:var(--color-text-primary)}.indicator-modal-controls{display:flex;align-items:center;gap:var(--space-lg);padding:var(--space-md) 24px;background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);flex-wrap:wrap}.control-group{display:flex;flex-direction:column;gap:var(--space-xs-plus)}.control-group label{font-size:.75rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.range-buttons{display:flex;gap:var(--space-xs)}.range-buttons button{padding:var(--space-xs-plus) 12px;border:1px solid var(--color-border);background:var(--color-white);border-radius:var(--radius-sm);font-size:.8125rem;font-weight:500;color:var(--color-text-muted);cursor:pointer;transition:all .15s}.range-buttons button:hover{border-color:var(--color-primary);color:var(--color-primary)}.range-buttons button.active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-white)}#transformSelect{padding:var(--space-sm) 32px 8px 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.875rem;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748B' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") no-repeat right 10px center;cursor:pointer;appearance:none;min-width:160px}.custom-range-group{flex:1}.custom-range-inputs{display:flex;align-items:center;gap:var(--space-sm)}.date-input{padding:var(--space-xs-plus) 10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.8125rem;font-family:inherit;color:var(--color-text-primary);background:var(--color-white);cursor:pointer}.date-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px rgba(var(--color-primary-rgb),.1)}.date-separator{font-size:.75rem;color:var(--color-text-muted)}.apply-range-btn{padding:var(--space-xs-plus) 12px;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.8125rem;font-weight:500;color:var(--color-text-primary);cursor:pointer;transition:all .15s}.apply-range-btn:hover{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-white)}.export-buttons{display:flex;gap:var(--space-sm);margin-left:auto}.export-btn-fancy{position:relative;display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm-plus) 16px;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:var(--radius-8);font-size:.8125rem;font-weight:600;color:var(--color-white);cursor:pointer;transition:all .2s ease;overflow:hidden;box-shadow:0 2px 8px rgba(var(--color-primary-rgb),.3)}.export-btn-fancy:hover{transform:translateY(-2px);box-shadow:0 4px 16px rgba(var(--color-primary-rgb),.4)}.export-btn-fancy:active{transform:translateY(0)}.export-btn-fancy .export-btn-bg{position:absolute;inset:0;background:linear-gradient(135deg,#2563eb,#1d4ed8);opacity:0;transition:opacity .2s}.export-btn-fancy:hover .export-btn-bg{opacity:1}.export-btn-fancy.green{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 2px 8px rgba(var(--color-success-rgb),.3)}.export-btn-fancy.green:hover{box-shadow:0 4px 16px rgba(var(--color-success-rgb),.4)}.export-btn-fancy.green .export-btn-bg{background:linear-gradient(135deg,#059669,#047857)}.export-btn-fancy svg{width:16px;height:16px;position:relative;z-index:var(--z-base)}.export-btn-fancy span{position:relative;z-index:var(--z-base)}.export-btn{display:flex;align-items:center;gap:var(--space-xs-plus);padding:var(--space-sm) 16px;background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.875rem;font-weight:500;color:var(--color-text-primary);cursor:pointer;transition:all .15s;margin-left:auto}.export-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.export-btn svg{width:16px;height:16px}.indicator-stats-panel{padding:var(--space-md) 24px;background:linear-gradient(135deg,#f8fafc,#eff6ff);border-bottom:1px solid var(--color-border)}.stats-grid{display:flex;gap:var(--space-xl);flex-wrap:wrap}.stat-item{display:flex;flex-direction:column;gap:var(--space-2xs);min-width:100px}.stat-label{font-size:.6875rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:1.125rem;font-weight:700;color:var(--color-text-primary);font-family:var(--font-mono)}.stat-value.positive{color:var(--color-green-600)}.stat-value.negative{color:var(--color-red-600)}.stat-date{font-size:.6875rem;color:var(--color-text-muted)}.indicator-chart-container{height:400px;padding:var(--space-md) 24px}.chart-loading{display:flex;align-items:center;justify-content:center;height:100%}.chart-error{display:flex;align-items:center;justify-content:center;height:100%;color:var(--color-error);font-size:.875rem}.indicator-data-table-wrapper{padding:0 24px 24px}.data-table-title{font-size:.875rem;font-weight:600;color:var(--color-text-primary);margin:0 0 12px}.indicator-data-table{max-height:280px;overflow-y:auto;border:1px solid var(--color-border);border-radius:var(--radius-8)}.data-table{width:100%;border-collapse:collapse;font-size:.8125rem}.data-table thead{position:sticky;top:0;background:var(--color-bg-secondary)}.data-table th{text-align:left;padding:var(--space-sm-plus) 16px;font-weight:600;color:var(--color-text-muted);border-bottom:1px solid var(--color-border)}.data-table td{padding:var(--space-sm-plus) 16px;border-bottom:1px solid var(--color-border);color:var(--color-text-primary)}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background:var(--color-bg-secondary)}.data-table .positive{color:var(--color-green-600)}.data-table .negative{color:var(--color-red-600)}.no-data{padding:var(--space-lg);text-align:center;color:var(--color-text-muted)}.indicator-modal-footer{display:flex;justify-content:space-between;align-items:flex-end;padding:var(--space-md) 24px 20px;background:var(--color-bg-secondary);border-top:1px solid var(--color-border);flex-wrap:wrap;gap:var(--space-md)}.indicator-meta{display:flex;gap:var(--space-lg);flex-wrap:wrap}.meta-item{display:flex;flex-direction:column;gap:var(--space-2xs)}.meta-label{font-size:.6875rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.meta-value{font-size:.8125rem;color:var(--color-text-primary)}.source-link{display:flex;align-items:center;gap:var(--space-xs-plus);font-size:.8125rem;font-weight:500;color:var(--color-primary);text-decoration:none;transition:color .15s}.source-link:hover{color:var(--color-primary-dark)}.source-link svg{width:14px;height:14px}@media(max-width:768px){.economic-data-page{padding:var(--space-md)}.economic-header{flex-direction:column}.economic-filters,.economic-search{width:100%}.indicator-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.indicator-modal-content{width:100%;max-height:100vh;border-radius:0}.indicator-modal-controls{flex-direction:column;align-items:stretch}.range-buttons{width:100%;justify-content:space-between}.export-btn{margin-left:0;justify-content:center}.indicator-chart-container{height:300px}.indicator-meta{flex-direction:column;gap:var(--space-sm-lg)}}.weather-data-page{padding:var(--space-lg) 32px 80px;max-width:none;margin:0;min-height:calc(100vh - var(--header-height, 100px));background:var(--color-slate-50);overflow-y:auto;flex:1;width:100%}.weather-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;color:var(--color-slate-500)}.weather-loading .loading-spinner{width:40px;height:40px;border:3px solid var(--color-slate-200);border-top-color:var(--color-blue);border-radius:50%;animation:spin .8s linear infinite}.weather-empty,.weather-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;text-align:center;color:var(--color-slate-500)}.weather-empty .empty-icon,.weather-error .error-icon{width:64px;height:64px;margin-bottom:var(--space-md);opacity:.5}.weather-empty h2,.weather-error h2{font-size:1.25rem;font-weight:600;color:var(--color-slate-800);margin-bottom:var(--space-sm)}.weather-empty p,.weather-error p{margin-bottom:var(--space-sm)}.weather-empty code{display:block;background:var(--color-slate-100);padding:var(--space-sm) 16px;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.875rem;margin-top:var(--space-sm)}.retry-btn{margin-top:var(--space-md);padding:var(--space-sm-plus) 24px;background:var(--color-blue);color:var(--color-white);border:none;border-radius:var(--radius-sm);font-weight:500;cursor:pointer;transition:background .2s}.weather-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-xl);flex-wrap:wrap;gap:var(--space-md)}.weather-header-left{flex:1;min-width:200px}.weather-title{font-size:1.75rem;font-weight:700;color:var(--color-slate-800);margin:0 0 4px}.weather-subtitle{font-size:.9375rem;color:var(--color-slate-500);margin:0}.weather-filters{display:flex;gap:var(--space-sm-lg);align-items:center;flex-wrap:wrap}.weather-geo-selector{display:flex;gap:var(--space-sm)}.weather-filters .weather-geo-search-container{position:relative;min-width:auto}.weather-geo-chip-wrapper{position:relative}.weather-filters .weather-geo-chip{display:inline-flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) 12px;border-radius:var(--radius-xl);font-size:.875rem;cursor:default}.geo-chip-type{font-weight:600;font-size:.6875rem;text-transform:uppercase;letter-spacing:.02em;opacity:.8}.geo-chip-name{font-weight:500}.geo-chip-clear{display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:none;border-radius:50%;background:#0000001a;cursor:pointer;transition:background .15s ease}.geo-chip-clear:hover{background:#0003}.geo-chip-clear svg{width:12px;height:12px}.weather-filters .weather-geo-search{padding:var(--space-sm-plus) 12px;width:220px}.weather-filters .weather-geo-dropdown{position:absolute;top:100%;left:0;min-width:280px;margin-top:var(--space-xs);background:var(--color-white);border:1px solid var(--color-slate-200);border-radius:var(--radius-8);box-shadow:0 4px 12px #0000001a;max-height:300px;overflow-y:auto;z-index:var(--z-dropdown);display:none}.weather-filters .weather-geo-dropdown.visible{display:block}.geo-result-type{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-xs) 8px;border-radius:var(--radius-xs);font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em;min-width:52px;line-height:1;height:22px}.geo-result-type.geo-state{background:var(--color-info-light);color:var(--color-info-dark)}.geo-result-type.geo-county{background:var(--color-success-light);color:var(--color-success-dark)}.geo-result-type.geo-metro{background:var(--color-wind-light);color:var(--color-wind)}.geo-result-name{flex:1;font-size:.875rem;color:var(--color-slate-800)}.geo-result-context{font-size:.75rem;color:var(--color-text-muted, var(--color-slate-400))}.weather-search-wrapper{position:relative}.weather-search-wrapper .search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--color-text-muted, var(--color-slate-400))}.weather-search{padding:var(--space-sm-plus) 12px 10px 40px;border:1px solid var(--color-slate-200);border-radius:var(--radius-8);font-size:.875rem;width:220px;background:var(--color-white);transition:border-color .2s,box-shadow .2s}.weather-search:focus{outline:none;border-color:var(--color-blue);box-shadow:var(--shadow-focus-subtle)}.weather-filter-select{padding:var(--space-sm-plus) 32px 10px 12px;border:1px solid var(--color-slate-200);border-radius:var(--radius-8);font-size:.875rem;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748B' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") no-repeat right 12px center;cursor:pointer;appearance:none;min-width:120px}.weather-filter-select:focus{outline:none;border-color:var(--color-blue)}.weather-workability-section{background:var(--color-white);border-radius:var(--radius-12);padding:var(--space-md-plus) 24px;margin-bottom:var(--space-lg);box-shadow:0 1px 3px #0000000d}.workability-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md-plus);padding-bottom:var(--space-md);border-bottom:1px solid var(--color-border, var(--color-slate-100))}.workability-header-left{display:flex;flex-direction:column;gap:var(--space-xs)}.workability-title{display:flex;align-items:center;gap:var(--space-sm-lg);font-size:1.125rem;font-weight:600;color:var(--color-slate-800);margin:0}.workability-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--color-primary-light, #EFF6FF);border-radius:var(--radius-8);color:var(--color-blue)}.workability-icon svg{width:18px;height:18px}.workability-subtitle{font-size:.875rem;color:var(--color-slate-500);margin-left:44px}.workability-gauges{display:flex;gap:var(--space-2xl);justify-content:center;flex-wrap:wrap}.workability-gauge{display:flex;flex-direction:column;align-items:center;min-width:140px}.gauge-container{margin-bottom:var(--space-sm)}.gauge-label{font-size:1rem;font-weight:600;color:var(--color-slate-800)}.gauge-ytd{font-size:.8125rem;color:var(--color-slate-500);margin-top:var(--space-xs)}.gauge-status{font-size:.75rem;font-weight:600;padding:3px var(--space-sm-plus);border-radius:var(--radius-12);margin-top:var(--space-sm)}.gauge-status.status-good{background:var(--color-success-light);color:var(--color-success-dark)}.gauge-status.status-marginal{background:var(--color-warning-light);color:var(--color-warning-dark)}.gauge-status.status-poor{background:var(--color-error-light);color:var(--color-error-dark)}.gauge-settings-wrapper{position:relative;margin-top:var(--space-sm)}.gauge-settings-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:transparent;border:1px solid var(--color-slate-200);border-radius:var(--radius-sm);color:var(--color-text-muted, var(--color-slate-400));cursor:pointer;transition:all .2s ease}.gauge-settings-btn:hover{background:var(--color-slate-100);color:var(--color-text-secondary, var(--color-slate-500));border-color:var(--color-text-muted, var(--color-slate-400))}.gauge-settings-btn svg{width:14px;height:14px}.gauge-threshold-dropdown{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);min-width:200px;background:var(--color-bg-card, var(--color-white));border:1px solid var(--color-slate-200);border-radius:var(--radius-md);box-shadow:0 10px 40px #0000001f,0 4px 12px #00000014;padding:var(--space-sm-lg);z-index:var(--z-dropdown);opacity:0;visibility:hidden;transform:translate(-50%) translateY(-8px);transition:opacity .2s ease,transform .2s ease,visibility .2s}.gauge-threshold-dropdown.visible{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}.threshold-dropdown-header{font-size:.75rem;font-weight:600;color:var(--color-slate-500);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-sm-plus);padding-bottom:var(--space-sm);border-bottom:1px solid var(--color-border, var(--color-slate-100))}.threshold-dropdown-row{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm)}.threshold-dropdown-row .threshold-label{flex:1;font-size:.8125rem;color:var(--color-text-secondary, var(--color-slate-600));white-space:nowrap}.threshold-dropdown-row .threshold-input{width:60px;padding:var(--space-xs-plus) 8px;font-size:.8125rem;border:1px solid var(--color-slate-200);border-radius:var(--radius-sm);background:var(--color-slate-50);color:var(--color-slate-800);text-align:right;transition:border-color .2s,box-shadow .2s}.threshold-dropdown-row .threshold-input:focus{outline:none;border-color:var(--color-blue);box-shadow:var(--shadow-focus-subtle)}.threshold-dropdown-row .threshold-unit{font-size:.75rem;color:var(--color-text-muted, var(--color-slate-400));min-width:28px}.threshold-dropdown-save{width:100%;margin-top:var(--space-sm);padding:var(--space-sm) 12px;font-size:.8125rem;font-weight:500;background:var(--color-blue);color:var(--color-white);border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background .2s ease}.threshold-dropdown-save:hover{background:var(--color-info-dark)}.threshold-dropdown-save.saved{background:var(--color-success, var(--color-success))}.workability-variables{margin-top:var(--space-md-plus);padding-top:var(--space-md);border-top:1px solid var(--color-border, var(--color-slate-100))}.workability-variables-header{display:flex;align-items:center;gap:var(--space-sm-plus);cursor:pointer;-webkit-user-select:none;user-select:none;padding:var(--space-sm);margin:-8px -8px 0;border-radius:var(--radius-8);transition:background-color .15s ease}.workability-variables-header:hover{background-color:var(--color-slate-100)}.workability-variables-title{font-size:.9375rem;font-weight:600;color:var(--color-text-secondary, var(--color-slate-600));margin:0;flex:1}.workability-variables-collapse{display:flex;align-items:center;justify-content:center;width:20px;height:20px;color:var(--color-text-muted, var(--color-slate-400));transition:transform .3s ease}.workability-variables-collapse svg{width:16px;height:16px}.workability-variables-collapse.rotated{transform:rotate(-90deg)}.workability-variables-content{overflow:hidden;transition:max-height .3s ease,opacity .3s ease,padding .3s ease;max-height:1000px;opacity:1;padding-top:var(--space-md)}.workability-variables-content.collapsed{max-height:0;opacity:0;padding-top:0}.workability-variable-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-sm-lg)}.workability-thresholds{margin-top:var(--space-md-plus);padding-top:var(--space-md);border-top:1px solid var(--color-border, var(--color-slate-100))}.workability-thresholds-header{display:flex;align-items:center;gap:var(--space-sm-plus);cursor:pointer;-webkit-user-select:none;user-select:none;padding:var(--space-sm);margin:-8px -8px 0;border-radius:var(--radius-8);transition:background-color .15s ease}.workability-thresholds-header:hover{background-color:var(--color-slate-100)}.workability-thresholds-title{font-size:.9375rem;font-weight:600;color:var(--color-text-secondary, var(--color-slate-600));margin:0;flex:1}.workability-thresholds-collapse{display:flex;align-items:center;justify-content:center;width:20px;height:20px;color:var(--color-text-muted, var(--color-slate-400));transition:transform .3s ease}.workability-thresholds-collapse svg{width:16px;height:16px}.workability-thresholds-collapse.rotated{transform:rotate(-90deg)}.workability-thresholds-content{overflow:hidden;transition:max-height .3s ease,opacity .3s ease,padding .3s ease;max-height:1000px;opacity:1;padding-top:var(--space-md)}.workability-thresholds-content.collapsed{max-height:0;opacity:0;padding-top:0}.threshold-group{background:var(--color-bg-secondary, var(--color-slate-50));border-radius:var(--radius-8);padding:var(--space-md);margin-bottom:var(--space-sm-lg)}.threshold-group:last-child{margin-bottom:0}.threshold-group-title{font-size:.875rem;font-weight:600;color:var(--color-slate-800);margin:0 0 12px}.threshold-row{display:flex;align-items:center;gap:var(--space-sm-lg);margin-bottom:var(--space-sm-plus)}.threshold-row:last-child{margin-bottom:0}.threshold-label{font-size:.8125rem;color:var(--color-slate-500);min-width:120px}.threshold-input{width:80px;padding:var(--space-xs-plus) 10px;border:1px solid var(--color-slate-200);border-radius:var(--radius-sm);font-size:.875rem;font-family:inherit;color:var(--color-slate-800);background:var(--color-white)}.threshold-input:focus{outline:none;border-color:var(--color-blue);box-shadow:0 0 0 2px #3b82f61a}.threshold-unit{font-size:.8125rem;color:var(--color-text-muted, var(--color-slate-400))}.threshold-actions{display:flex;gap:var(--space-sm);margin-top:var(--space-md)}.threshold-btn{padding:var(--space-sm) 16px;border-radius:var(--radius-sm);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .15s}.threshold-btn.primary{background:var(--color-blue);border:none;color:var(--color-white)}.threshold-btn.primary:hover{background:var(--color-info-dark)}.threshold-btn.secondary{background:var(--color-white);border:1px solid var(--color-slate-200);color:var(--color-slate-500)}.threshold-btn.secondary:hover{border-color:var(--color-text-muted, var(--color-slate-400));color:var(--color-slate-800)}.weather-sections{display:flex;flex-direction:column;gap:var(--space-md)}.weather-section{background:var(--color-white);border-radius:var(--radius-12);padding:var(--space-md) 20px;box-shadow:0 1px 3px #0000000d;transition:padding .3s ease}.weather-section:has(.section-header[data-collapsed=true]){padding:var(--space-sm-lg) 20px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md);padding-bottom:var(--space-sm-lg);border-bottom:1px solid var(--color-border, var(--color-slate-100))}.section-header-left{display:flex;align-items:center;gap:var(--space-sm-lg)}.section-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--color-primary-light, #EFF6FF);border-radius:var(--radius-8);color:var(--color-blue)}.section-icon svg{width:18px;height:18px}.section-title{font-size:1.125rem;font-weight:600;color:var(--color-slate-800);margin:0}.section-count{font-size:.8125rem;color:var(--color-text-muted, var(--color-slate-400));background:var(--color-slate-100);padding:var(--space-xs) 10px;border-radius:var(--radius-12)}.section-header.collapsible{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .15s ease;border-radius:var(--radius-8);padding:var(--space-sm);margin:-8px;margin-bottom:var(--space-xs)}.section-header.collapsible:hover{background-color:var(--color-slate-100)}.collapse-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;color:var(--color-text-muted, var(--color-slate-400));transition:transform .3s ease;flex-shrink:0}.collapse-icon svg{width:16px;height:16px}.collapse-icon.rotated{transform:rotate(-90deg)}.section-content{overflow:hidden;transition:max-height .3s ease,opacity .3s ease}.section-header[data-collapsed=true]+.section-content{max-height:0;opacity:0}.indicator-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-md)}.weather-indicator-card{background:var(--color-slate-50);border:1px solid var(--color-slate-200);border-radius:var(--radius-md);padding:14px var(--space-md);cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column}.weather-indicator-card:hover{border-color:var(--color-blue);box-shadow:0 4px 12px #3b82f61f;transform:translateY(-2px)}.weather-indicator-card .indicator-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-sm)}.weather-indicator-card .indicator-source{font-size:.6875rem;font-weight:600;padding:var(--space-2xs) 6px;border-radius:var(--radius-xs);text-transform:uppercase;letter-spacing:.5px}.weather-indicator-card .indicator-frequency{font-size:.6875rem;color:var(--color-text-muted, var(--color-slate-400))}.weather-indicator-card .indicator-card-body{flex:1}.weather-indicator-card .indicator-name{font-size:.8125rem;font-weight:600;color:var(--color-slate-800);margin:0 0 8px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.weather-indicator-card .indicator-metrics{display:flex;align-items:baseline;gap:var(--space-sm);margin-bottom:var(--space-sm)}.weather-indicator-card .indicator-value{font-size:1.25rem;font-weight:700;color:var(--color-slate-800)}.weather-indicator-card .indicator-change{display:flex;flex-wrap:wrap;gap:var(--space-xs);font-size:.6875rem;font-weight:600}.weather-indicator-card .indicator-change .change-badge{padding:var(--space-2xs) 5px;border-radius:var(--radius-xs);white-space:nowrap}.weather-indicator-card .indicator-change .positive{color:#059669;background:#d1fae5}.weather-indicator-card .indicator-change .negative{color:#dc2626;background:#fee2e2}.weather-indicator-card .indicator-card-footer{display:flex;justify-content:space-between;align-items:center;font-size:.6875rem;color:var(--color-text-muted, var(--color-slate-400));margin-top:var(--space-xs)}.weather-indicator-card .indicator-units{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.weather-indicator-card .indicator-source.source-acis{background:var(--color-precip-light);color:var(--color-precip)}.weather-indicator-card .indicator-source.source-drought{background:var(--color-warning-light);color:var(--color-warning-dark)}.weather-indicator-card .indicator-source.source-storm{background:var(--color-error-light);color:var(--color-error-dark)}.weather-indicator-card .indicator-source.source-fema{background:var(--color-wind-light);color:var(--color-wind)}.weather-indicator-card .indicator-source.source-composite{background:var(--color-success-light);color:var(--color-success-dark)}.workability-variable-card{padding:var(--space-sm-lg) 14px}.workability-variable-card .indicator-name{font-size:.75rem;-webkit-line-clamp:1}.workability-variable-card .indicator-value{font-size:1rem}.workability-variable-card .indicator-sparkline{height:32px}.workability-variable-card .indicator-card-footer{font-size:.625rem}.indicator-geo{display:flex;align-items:center;gap:var(--space-xs);max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.geo-icon{width:12px;height:12px;flex-shrink:0}.geo-select-group{display:flex;gap:var(--space-sm)}.modal-select{padding:var(--space-sm) 32px 8px 12px;border:1px solid var(--color-slate-200);border-radius:var(--radius-sm);font-size:.875rem;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748B' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") no-repeat right 10px center;cursor:pointer;appearance:none;min-width:120px}.modal-select:focus{outline:none;border-color:var(--color-blue);box-shadow:0 0 0 2px #3b82f61a}.weather-indicator-modal .indicator-modal-controls{gap:var(--space-md-plus)}@media(max-width:768px){.weather-data-page{padding:var(--space-md)}.weather-header{flex-direction:column}.weather-filters{width:100%;flex-direction:column;align-items:stretch}.weather-geo-selector{flex-direction:column}.weather-search,.weather-filter-select{width:100%}.workability-gauges{gap:var(--space-lg)}.workability-gauge{min-width:100px}.geo-select-group{flex-direction:column}}.indicator-sparkline-wrapper{position:relative;margin:var(--space-xs) 0}.indicator-sparkline{width:100%;height:40px}.sparkline-label{position:absolute;bottom:0;right:0;font-size:.5625rem;color:var(--color-text-muted, var(--color-slate-400));opacity:.7}.weather-geo-search-container{position:relative;display:flex;flex-direction:column;gap:var(--space-sm);min-width:300px}.weather-geo-chips{display:flex;flex-wrap:wrap;gap:var(--space-xs-plus);min-height:32px}.weather-geo-chip{display:inline-flex;align-items:center;gap:var(--space-xs-plus);padding:var(--space-xs-plus) 10px;border-radius:16px;font-size:.8125rem;font-weight:500;cursor:default;transition:all .15s ease}.weather-geo-chip .chip-remove{display:flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:#0000001a;cursor:pointer;transition:background .15s ease}.weather-geo-chip .chip-remove:hover{background:#0003}.weather-geo-chip .chip-remove svg{width:10px;height:10px}.weather-geo-chip.geo-state{background:var(--color-info-light);color:var(--color-info-dark);border:1px solid var(--color-precip-bg)}.weather-geo-chip.geo-county{background:var(--color-success-light);color:var(--color-success-dark);border:1px solid var(--color-success)}.weather-geo-chip.geo-metro,.weather-geo-chip.geo-msa,.weather-geo-chip.geo-cbsa{background:var(--color-wind-light);color:var(--color-wind);border:1px solid #C4B5FD}.weather-geo-search-wrapper{position:relative}.weather-geo-search-wrapper .search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--color-text-muted, var(--color-slate-400));pointer-events:none}.weather-geo-search{width:100%;padding:var(--space-sm-plus) 12px 10px 36px;border:1px solid var(--color-slate-200);border-radius:var(--radius-8);font-size:.875rem;background:var(--color-white);transition:border-color .2s,box-shadow .2s}.weather-geo-search:focus{outline:none;border-color:var(--color-blue);box-shadow:var(--shadow-focus-subtle)}.weather-geo-search::placeholder{color:var(--color-text-muted, var(--color-slate-400))}.weather-geo-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:var(--space-xs);background:var(--color-white);border:1px solid var(--color-slate-200);border-radius:var(--radius-8);box-shadow:0 4px 12px #0000001a;max-height:280px;overflow-y:auto;z-index:var(--z-dropdown)}.weather-geo-dropdown.hidden{display:none}.geo-search-result{display:flex;align-items:center;gap:var(--space-sm-plus);padding:var(--space-sm-plus) 14px;cursor:pointer;transition:background .15s ease}.geo-search-result:hover{background:var(--color-bg-secondary, var(--color-slate-50))}.geo-search-result:first-child{border-radius:var(--radius-8) 8px 0 0}.geo-search-result:last-child{border-radius:0 0 8px 8px}.geo-search-result:only-child{border-radius:var(--radius-8)}.geo-search-result .result-type{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-xs) 8px;border-radius:var(--radius-xs);font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em;min-width:52px;line-height:1;height:22px}.geo-search-result .result-type.type-state{background:var(--color-info-light);color:var(--color-info-dark)}.geo-search-result .result-type.type-county{background:var(--color-success-light);color:var(--color-success-dark)}.geo-search-result .result-type.type-metro,.geo-search-result .result-type.type-msa,.geo-search-result .result-type.type-cbsa{background:var(--color-wind-light);color:var(--color-wind)}.geo-search-result .result-name{flex:1;font-size:.875rem;color:var(--color-slate-800)}.geo-search-no-results{padding:var(--space-md);text-align:center;color:var(--color-text-muted, var(--color-slate-400));font-size:.875rem}.modal-geo-search{min-width:260px;max-width:320px}.modal-geo-search .weather-geo-search{padding:var(--space-sm) 10px 8px 32px;font-size:.8125rem}.modal-geo-search .weather-geo-chips{min-height:28px}.modal-geo-search .weather-geo-chip{padding:var(--space-xs) 8px;font-size:.75rem}@media(max-width:768px){.weather-geo-search-container{min-width:100%}.weather-geo-chips{flex-wrap:wrap}.modal-geo-search{max-width:100%}}.executive-dashboard{padding:var(--space-lg) 32px 80px;max-width:none;margin:0;min-height:calc(100vh - var(--header-height, 100px));background:var(--color-slate-50);overflow-y:auto;flex:1;width:100%}.dashboard-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;color:var(--color-slate-500)}.dashboard-loading .loading-spinner{width:40px;height:40px;border:3px solid var(--color-slate-200);border-top-color:var(--color-blue);border-radius:50%;animation:spin .8s linear infinite}.dashboard-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-lg)}.dashboard-header-left{flex:1}.dashboard-title{font-size:1.75rem;font-weight:700;color:var(--color-slate-800);margin:0 0 4px}.dashboard-subtitle{font-size:.9375rem;color:var(--color-slate-500);margin:0}.dashboard-header-right{display:flex;align-items:center;gap:var(--space-md)}.dashboard-date{font-size:.875rem;color:var(--color-slate-500)}.dashboard-refresh-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:var(--color-white);border:1px solid var(--color-slate-200);border-radius:var(--radius-8);color:var(--color-slate-500);cursor:pointer;transition:all .2s}.dashboard-refresh-btn:hover{background:var(--color-slate-100);border-color:var(--color-text-muted, var(--color-slate-400));color:var(--color-slate-800)}.dashboard-summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-md);margin-bottom:var(--space-lg)}.summary-card{background:var(--color-white);border-radius:var(--radius-12);padding:var(--space-md-plus);display:flex;gap:var(--space-md);align-items:flex-start;box-shadow:0 1px 3px #0000000d;transition:box-shadow .2s}.summary-card:hover{box-shadow:0 4px 12px #00000014}.summary-card.highlight-green{border-left:4px solid var(--color-success, var(--color-success))}.summary-card.highlight-amber{border-left:4px solid var(--color-warning, var(--color-warning))}.summary-card-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-12);flex-shrink:0}.summary-card-icon svg{width:24px;height:24px}.summary-card-icon.avg-score{background:var(--color-primary-light, #EFF6FF);color:var(--color-blue)}.summary-card-icon.ytd-days{background:var(--color-wind-light, #F3E8FF);color:var(--color-wind, #8B5CF6)}.summary-card-icon.best-state{background:var(--color-success-light, #D1FAE5);color:var(--color-success, var(--color-success))}.summary-card-icon.watch-state{background:var(--color-warning-light, #FEF3C7);color:var(--color-warning, var(--color-warning))}.summary-card-content{flex:1;min-width:0}.summary-card-value{font-size:1.5rem;font-weight:700;color:var(--color-slate-800);line-height:1.2}.summary-card-label{font-size:.875rem;font-weight:500;color:var(--color-text-secondary, var(--color-slate-600));margin-top:var(--space-xs)}.summary-card-sublabel{font-size:.75rem;color:var(--color-text-muted, var(--color-slate-400));margin-top:var(--space-2xs)}.dashboard-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-lg);margin-bottom:var(--space-lg)}.dashboard-panel{background:var(--color-white);border-radius:var(--radius-12);padding:var(--space-md-plus);box-shadow:0 1px 3px #0000000d}.panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md);padding-bottom:var(--space-sm-lg);border-bottom:1px solid var(--color-border, var(--color-slate-100))}.panel-title{font-size:1rem;font-weight:600;color:var(--color-slate-800);margin:0}.panel-controls{display:flex;gap:var(--space-sm)}.panel-state-select,.panel-activity-select{padding:var(--space-xs-plus) 28px 6px 10px;border:1px solid var(--color-slate-200);border-radius:var(--radius-sm);font-size:.8125rem;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%2364748B' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") no-repeat right 8px center;cursor:pointer;appearance:none}.panel-state-select:focus,.panel-activity-select:focus{outline:none;border-color:var(--color-blue)}.comparison-bars{display:flex;flex-direction:column;gap:var(--space-sm-lg)}.comparison-bar-row{display:flex;align-items:center;gap:var(--space-sm-lg)}.bar-label{font-size:.8125rem;font-weight:500;color:var(--color-text-secondary, var(--color-slate-600));min-width:100px}.bar-container{flex:1;height:24px;background:var(--color-slate-100);border-radius:var(--radius-sm);overflow:hidden}.bar-fill{height:100%;border-radius:var(--radius-sm);transition:width .5s ease}.bar-fill.good{background:linear-gradient(90deg,var(--color-success),#34D399)}.bar-fill.moderate{background:linear-gradient(90deg,var(--color-warning),#FBBF24)}.bar-fill.poor{background:linear-gradient(90deg,var(--color-error),#F87171)}.bar-value{font-size:.8125rem;font-weight:600;color:var(--color-slate-800);min-width:45px;text-align:right}.forecast-days{display:flex;gap:var(--space-sm);overflow-x:auto;padding-bottom:var(--space-sm)}.forecast-day{flex:1;min-width:80px;display:flex;flex-direction:column;align-items:center;gap:var(--space-xs-plus);padding:var(--space-sm-lg) 8px;background:var(--color-bg-secondary, var(--color-slate-50));border-radius:var(--radius-md);transition:all .2s}.forecast-day.workable{border:2px solid var(--color-success-light, #A7F3D0)}.forecast-day.not-workable{border:2px solid var(--color-warning-light, #FDE68A)}.forecast-day-name{font-size:.75rem;font-weight:600;color:var(--color-text-secondary, var(--color-slate-600))}.forecast-day-date{font-size:.6875rem;color:var(--color-text-muted, var(--color-slate-400))}.forecast-weather-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary, var(--color-slate-600))}.forecast-weather-icon svg{width:24px;height:24px}.forecast-temp{display:flex;gap:var(--space-xs);font-size:.8125rem}.temp-high{font-weight:600;color:var(--color-slate-800)}.temp-low{color:var(--color-text-muted, var(--color-slate-400))}.forecast-precip{min-height:16px}.precip-prob{font-size:.6875rem;color:var(--color-precip, var(--color-blue));font-weight:500}.forecast-workability{font-size:.75rem;font-weight:600;padding:3px var(--space-sm);border-radius:var(--radius-md)}.forecast-workability.good{background:var(--color-success-light, #D1FAE5);color:var(--color-success-dark, #047857)}.forecast-workability.poor{background:var(--color-warning-light, #FEF3C7);color:var(--color-warning-dark, #B45309)}.volume-panel{margin-bottom:var(--space-lg)}.volume-impact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-md-plus)}.volume-metric{display:flex;flex-direction:column;gap:var(--space-sm)}.volume-metric.highlight{padding:var(--space-md);background:var(--color-bg-secondary, var(--color-slate-50));border-radius:var(--radius-md)}.volume-metric-value{font-size:1.5rem;font-weight:700;color:var(--color-slate-800)}.volume-metric-label{font-size:.8125rem;font-weight:500;color:var(--color-text-secondary, var(--color-slate-600))}.volume-metric-sublabel{font-size:.6875rem;color:var(--color-text-muted, var(--color-slate-400));margin-top:-4px}.volume-metric-bar{height:8px;background:var(--color-bg-secondary, var(--color-slate-200));border-radius:var(--radius-xs);overflow:hidden}.volume-bar-fill{height:100%;border-radius:var(--radius-xs);transition:width .5s ease}.volume-bar-fill.lost{background:var(--color-error, var(--color-error))}.volume-bar-fill.workable{background:var(--color-success, var(--color-success))}.volume-bar-fill.capacity{background:var(--color-blue)}.daily-breakdown{margin-top:var(--space-md-plus);padding-top:var(--space-md);border-top:1px solid var(--color-border, var(--color-slate-100))}.breakdown-header{font-size:.75rem;font-weight:600;color:var(--color-slate-500);margin-bottom:var(--space-sm-lg)}.breakdown-bars{display:flex;gap:3px;height:48px;align-items:flex-end}.breakdown-day{flex:1;display:flex;flex-direction:column;justify-content:flex-end;height:100%}.breakdown-bar{width:100%;border-radius:var(--radius-2xs) 2px 0 0;transition:height .3s ease}.breakdown-day.good .breakdown-bar{background:var(--color-success, var(--color-success))}.breakdown-day.moderate .breakdown-bar{background:var(--color-warning, var(--color-warning))}.breakdown-day.poor .breakdown-bar{background:var(--color-error, var(--color-error))}.trend-panel{margin-bottom:var(--space-lg)}.trend-chart-container{min-height:240px;display:flex;flex-direction:column}.trend-chart{flex:1;min-height:200px}.trend-loading,.volume-loading{display:flex;align-items:center;justify-content:center;min-height:200px;color:var(--color-text-muted, var(--color-slate-400));font-size:.875rem}.trend-legend{display:flex;justify-content:center;gap:var(--space-lg);padding-top:var(--space-sm-lg)}.legend-item{display:flex;align-items:center;gap:var(--space-sm);font-size:.8125rem;color:var(--color-text-secondary, var(--color-slate-600))}.trend-line{stroke-linecap:round;stroke-linejoin:round}.no-data{display:flex;align-items:center;justify-content:center;min-height:120px;color:var(--color-text-muted, var(--color-slate-400));font-size:.875rem;font-style:italic}.dashboard-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;text-align:center;color:var(--color-slate-500)}.dashboard-error .error-icon{width:64px;height:64px;margin-bottom:var(--space-md);color:var(--color-error, var(--color-error));opacity:.7}.dashboard-error h2{font-size:1.25rem;font-weight:600;color:var(--color-slate-800);margin-bottom:var(--space-sm)}@media(max-width:1024px){.dashboard-grid{grid-template-columns:1fr}.volume-impact-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.executive-dashboard{padding:var(--space-md)}.dashboard-header{flex-direction:column;gap:var(--space-sm-lg)}.dashboard-summary-cards{grid-template-columns:1fr}.forecast-days{flex-wrap:nowrap;overflow-x:auto}.forecast-day{min-width:70px}.volume-impact-grid{grid-template-columns:1fr}.panel-header{flex-direction:column;align-items:flex-start;gap:var(--space-sm-lg)}.panel-controls{width:100%}.panel-state-select,.panel-activity-select{flex:1}}.dashboard-geo-search-container,.dashboard-geo-chip-wrapper{position:relative}.dashboard-geo-chip{display:inline-flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) 12px;border-radius:var(--radius-xl);font-size:.875rem;cursor:default}.dashboard-geo-search{padding:var(--space-sm) 12px;width:200px;border:1px solid var(--color-slate-200);border-radius:var(--radius-8);font-size:.875rem;background:var(--color-white)}.dashboard-geo-search:focus{outline:none;border-color:var(--color-blue);box-shadow:var(--shadow-focus-subtle)}.dashboard-geo-dropdown{position:absolute;top:100%;left:0;min-width:260px;margin-top:var(--space-xs);background:var(--color-white);border:1px solid var(--color-slate-200);border-radius:var(--radius-8);box-shadow:0 4px 12px #0000001a;max-height:300px;overflow-y:auto;z-index:var(--z-dropdown);display:none}.dashboard-geo-dropdown.visible{display:block}.summary-card.skeleton{min-height:100px;background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0,#f1f5f9 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s infinite}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.summary-card-icon.score-icon{background:var(--color-primary-light, #EFF6FF);color:var(--color-blue)}.summary-card-icon.ytd-icon{background:var(--color-wind-light, #F3E8FF);color:var(--color-wind, #8B5CF6)}.summary-card-icon.month-icon{background:var(--color-info-light, #E0F2FE);color:var(--color-info, #0EA5E9)}.summary-card-icon.trend-icon{background:var(--color-success-light, #D1FAE5);color:var(--color-success, var(--color-success))}.panel-loading{display:flex;align-items:center;justify-content:center;min-height:120px;color:var(--color-text-muted, var(--color-slate-400));font-size:.875rem}.panel-time-range{display:flex;gap:var(--space-xs);background:var(--color-slate-100);border-radius:var(--radius-8);padding:var(--space-xs)}.time-range-btn{padding:var(--space-xs-plus) 12px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-slate-500);font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s}.time-range-btn:hover{color:var(--color-slate-800)}.time-range-btn.active{background:var(--color-white);color:var(--color-blue);box-shadow:0 1px 3px #0000001a}.temperature-panel{margin-bottom:var(--space-lg)}.temperature-panel .panel-title{display:flex;align-items:center;gap:var(--space-sm)}.temperature-panel .panel-title svg{color:var(--color-error, var(--color-error))}.temperature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-md)}.temp-indicator-card{background:var(--color-bg-secondary, var(--color-slate-50));border-radius:var(--radius-md);padding:var(--space-md);transition:all .2s}.temp-indicator-card:hover{box-shadow:0 4px 12px #00000014}.temp-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-sm-lg)}.temp-card-name{font-size:.875rem;font-weight:500;color:var(--color-text-secondary, var(--color-slate-600))}.temp-card-value{font-size:1.25rem;font-weight:700}.temp-card-sparkline{height:40px}.precipitation-panel{margin-bottom:var(--space-lg)}.precipitation-panel .panel-title{display:flex;align-items:center;gap:var(--space-sm)}.precipitation-panel .panel-title svg{color:var(--color-precip, var(--color-blue))}.precip-totals-row{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-md);margin-bottom:var(--space-lg)}.precip-total-card{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border-radius:var(--radius-12);padding:var(--space-md-plus);text-align:center;border:1px solid var(--color-success-light, #A7F3D0)}.precip-total-card.snow{background:linear-gradient(135deg,#eff6ff,#dbeafe);border-color:var(--color-info-light, #93C5FD)}.precip-total-label{font-size:.8125rem;font-weight:500;color:var(--color-text-secondary, var(--color-slate-600));margin-bottom:var(--space-sm)}.precip-total-value{font-size:2rem;font-weight:700;color:var(--color-slate-800);line-height:1.2}.precip-total-unit{font-size:.75rem;color:var(--color-text-muted, var(--color-slate-400));margin-top:var(--space-xs)}.precip-indicators-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--space-sm-lg);margin-bottom:var(--space-lg)}.precip-indicator-card{background:var(--color-bg-secondary, var(--color-slate-50));border-radius:var(--radius-md);padding:14px;transition:all .2s}.precip-indicator-card:hover{box-shadow:0 4px 12px #00000014}.precip-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-sm-plus)}.precip-card-name{font-size:.8125rem;font-weight:500;color:var(--color-text-secondary, var(--color-slate-600))}.precip-card-value{font-size:1rem;font-weight:700;color:var(--color-slate-800)}.precip-card-sparkline{height:40px}.precip-heatmap-section{background:var(--color-bg-secondary, var(--color-slate-50));border-radius:var(--radius-12);padding:var(--space-md-plus)}.heatmap-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md);flex-wrap:wrap;gap:var(--space-sm-lg)}.heatmap-title{font-size:.9375rem;font-weight:600;color:var(--color-slate-800);margin:0}.heatmap-range-controls{display:flex;align-items:center;gap:var(--space-sm-lg);flex-wrap:wrap}.heatmap-range-buttons{display:flex;gap:var(--space-xs);background:var(--color-white);border-radius:var(--radius-8);padding:var(--space-xs);box-shadow:0 1px 2px #0000000d}.heatmap-range-btn{padding:var(--space-xs-plus) 12px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-slate-500);font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s}.heatmap-range-btn:hover{color:var(--color-slate-800)}.heatmap-range-btn.active{background:var(--color-blue);color:var(--color-white)}.heatmap-custom-range{display:flex;align-items:center;gap:var(--space-sm)}.heatmap-date-input{padding:var(--space-xs-plus) 10px;border:1px solid var(--color-slate-200);border-radius:var(--radius-sm);font-size:.8125rem;background:var(--color-white)}.heatmap-date-input:focus{outline:none;border-color:var(--color-blue)}.heatmap-date-sep{color:var(--color-text-muted, var(--color-slate-400));font-size:.8125rem}.heatmap-apply-btn{padding:var(--space-xs-plus) 12px;border:none;border-radius:var(--radius-sm);background:var(--color-blue);color:var(--color-white);font-size:.75rem;font-weight:500;cursor:pointer;transition:background .2s}.heatmap-apply-btn:hover{background:var(--color-info-dark)}.precip-heatmap-container{min-height:100px}.heatmap-grid{display:flex;gap:var(--space-xs)}.heatmap-day-labels{display:flex;flex-direction:column;gap:var(--space-2xs);padding-right:var(--space-sm)}.heatmap-day-label{height:14px;font-size:.625rem;color:var(--color-text-muted, var(--color-slate-400));display:flex;align-items:center}.heatmap-weeks{display:flex;gap:var(--space-2xs);flex:1;overflow-x:auto}.heatmap-week{display:flex;flex-direction:column;gap:var(--space-2xs)}.heatmap-cell{width:14px;height:14px;border-radius:var(--radius-3);cursor:pointer;transition:transform .1s}.heatmap-cell:hover{transform:scale(1.2)}.heatmap-cell.empty:hover{transform:none}.heatmap-cell.precip-0{background:#f0fdf4}.heatmap-cell.precip-1{background:#bbf7d0}.heatmap-cell.precip-2{background:#86efac}.heatmap-cell.precip-3{background:#22c55e}.heatmap-cell.precip-4{background:#15803d}.heatmap-cell.precip-5{background:#14532d}.heatmap-legend{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-sm);margin-top:var(--space-sm-lg);font-size:.6875rem;color:var(--color-text-muted, var(--color-slate-400))}.legend-scale{display:flex;gap:var(--space-2xs)}.legend-cell{width:14px;height:14px;border-radius:var(--radius-3)}.heatmap-month-labels{display:flex;gap:var(--space-2xs);padding-left:28px;margin-top:var(--space-xs)}.heatmap-month{font-size:.625rem;color:var(--color-text-muted, var(--color-slate-400));text-align:center;min-width:0}.workability-gauge-container{display:flex;justify-content:center;align-items:center;padding:var(--space-md)}.workability-gauge-display{display:flex;align-items:center;gap:var(--space-lg)}.gauge-ring{position:relative;width:120px;height:120px}.gauge-ring svg{width:100%;height:100%}.gauge-ring .gauge-bg{stroke:var(--color-bg-secondary, var(--color-slate-200))}.gauge-ring .gauge-fill{transition:stroke-dasharray .5s ease}.gauge-ring.good .gauge-fill{stroke:var(--color-success, var(--color-success))}.gauge-ring.moderate .gauge-fill{stroke:var(--color-warning, var(--color-warning))}.gauge-ring.poor .gauge-fill{stroke:var(--color-error, var(--color-error))}.gauge-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}.gauge-center .gauge-value{font-size:1.5rem;font-weight:700;color:var(--color-slate-800);line-height:1.2}.gauge-center .gauge-label{font-size:.75rem;color:var(--color-text-muted, var(--color-slate-400))}.gauge-details{display:flex;flex-direction:column;gap:var(--space-sm)}.gauge-detail-row{display:flex;gap:var(--space-sm);font-size:.875rem}.gauge-detail-row .detail-label{color:var(--color-text-muted, var(--color-slate-400))}.gauge-detail-row .detail-value{font-weight:600;color:var(--color-slate-800)}.gauge-detail-row .detail-value.good{color:var(--color-success, var(--color-success))}.gauge-detail-row .detail-value.moderate{color:var(--color-warning, var(--color-warning))}.gauge-detail-row .detail-value.poor{color:var(--color-error, var(--color-error))}@media(max-width:1024px){.temperature-grid,.precip-totals-row{grid-template-columns:1fr}}@media(max-width:768px){.heatmap-header{flex-direction:column;align-items:flex-start}.heatmap-range-controls{width:100%}.heatmap-range-buttons{width:100%;justify-content:center}.heatmap-custom-range{width:100%;flex-wrap:wrap}.heatmap-date-input{flex:1;min-width:100px}.workability-gauge-display{flex-direction:column;text-align:center}}.precip-heatmap-wrapper{display:flex;gap:var(--space-md)}.precip-heatmap-container{flex:1;overflow-x:auto}.heatmap-calendar{display:flex;flex-direction:column;gap:var(--space-sm)}.heatmap-dow-labels{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--space-2xs);padding-bottom:var(--space-sm);border-bottom:1px solid var(--color-slate-200);margin-bottom:var(--space-sm)}.heatmap-dow-label{font-size:.6875rem;font-weight:600;color:var(--color-text-muted, var(--color-slate-400));text-align:center;padding:var(--space-xs) 0}.heatmap-months-grid{display:flex;flex-wrap:wrap;gap:var(--space-lg)}.heatmap-month-block{flex:0 0 auto;min-width:170px}.heatmap-month-header{font-size:.8125rem;font-weight:600;color:var(--color-slate-800);margin-bottom:var(--space-sm);text-align:center}.heatmap-month-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--space-2xs)}.heatmap-cell{width:22px;height:22px;border-radius:var(--radius-xs);position:relative;display:flex;align-items:center;justify-content:center}.heatmap-cell.clickable-cell{cursor:pointer;transition:transform .1s,box-shadow .1s}.heatmap-cell.clickable-cell:hover{transform:scale(1.15);box-shadow:0 2px 8px #00000026;z-index:var(--z-controls)}.cell-day-num{font-size:.5625rem;font-weight:500;color:#0009;line-height:1}.heatmap-cell.precip-4 .cell-day-num,.heatmap-cell.precip-5 .cell-day-num{color:#ffffffe6}.heatmap-cell.empty{background:transparent;cursor:default}.heatmap-cell.empty:hover{transform:none;box-shadow:none}.heatmap-totals-column{width:100px;flex-shrink:0;display:flex;flex-direction:column;gap:var(--space-xs);max-height:400px;overflow-y:auto}.heatmap-totals-header{font-size:.75rem;font-weight:600;color:var(--color-slate-500);text-transform:uppercase;letter-spacing:.5px;padding-bottom:var(--space-sm);border-bottom:1px solid var(--color-slate-200);margin-bottom:var(--space-xs)}.heatmap-month-total{display:flex;justify-content:space-between;align-items:center;padding:var(--space-sm) 10px;background:var(--color-bg-secondary, var(--color-slate-50));border-radius:var(--radius-sm);cursor:pointer;transition:all .15s}.heatmap-month-total:hover{background:var(--color-primary-light, #EFF6FF);box-shadow:0 2px 4px #0000000d}.month-total-name{font-size:.75rem;font-weight:500;color:var(--color-text-secondary, var(--color-slate-600))}.month-total-value{font-size:.8125rem;font-weight:700;color:var(--color-slate-800)}.clickable-card{cursor:pointer;transition:all .2s}.clickable-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-1px)}.panel-header-right{display:flex;align-items:center;gap:var(--space-sm-lg)}.panel-source{display:flex;align-items:center;gap:var(--space-xs-plus)}.source-badge{font-size:.6875rem;font-weight:600;padding:3px var(--space-sm);border-radius:var(--radius-xs);background:var(--color-slate-100);color:var(--color-slate-500);text-transform:uppercase;letter-spacing:.3px}.source-info-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:none;border-radius:50%;background:transparent;color:var(--color-text-muted, var(--color-slate-400));cursor:pointer;transition:all .15s}.source-info-btn:hover{background:var(--color-slate-100);color:var(--color-blue)}.data-detail-modal{position:fixed;inset:0;z-index:var(--z-overlay);display:flex;align-items:center;justify-content:center;padding:var(--space-lg)}.modal-backdrop{position:absolute;inset:0;background:#00000080}.modal-content{position:relative;background:var(--color-white);border-radius:var(--radius-12);box-shadow:0 20px 60px #0003;width:100%;max-width:520px;max-height:80vh;overflow:hidden;display:flex;flex-direction:column}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-md-plus) 24px;border-bottom:1px solid var(--color-slate-200)}.modal-title{font-size:1.125rem;font-weight:600;color:var(--color-slate-800);margin:0}.modal-close-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted, var(--color-slate-400));cursor:pointer;transition:all .15s}.modal-close-btn:hover{background:var(--color-slate-100);color:var(--color-slate-800)}.modal-body{padding:var(--space-lg);overflow-y:auto;flex:1}.modal-footer{padding:var(--space-md) 24px;border-top:1px solid var(--color-slate-200);background:var(--color-bg-secondary, var(--color-slate-50))}.detail-data-row{display:flex;justify-content:space-between;align-items:center;padding:var(--space-sm-plus) 0;border-bottom:1px solid var(--color-border, var(--color-slate-100))}.detail-data-row:last-child{border-bottom:none}.detail-data-row .detail-label{font-size:.875rem;color:var(--color-slate-500)}.detail-data-row .detail-value{font-size:.875rem;font-weight:600;color:var(--color-slate-800)}.detail-summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-sm-lg);margin-bottom:var(--space-md-plus)}.detail-summary-card{background:var(--color-bg-secondary, var(--color-slate-50));border-radius:var(--radius-8);padding:var(--space-md);text-align:center}.detail-summary-value{font-size:1.25rem;font-weight:700;color:var(--color-slate-800);margin-bottom:var(--space-xs)}.detail-summary-label{font-size:.75rem;color:var(--color-slate-500)}.detail-data-table{border:1px solid var(--color-slate-200);border-radius:var(--radius-8);overflow:hidden}.detail-table-header{display:grid;grid-template-columns:1fr 1fr;padding:var(--space-sm-plus) 14px;background:var(--color-bg-secondary, var(--color-slate-50));font-size:.75rem;font-weight:600;color:var(--color-slate-500);text-transform:uppercase;letter-spacing:.5px}.detail-table-body{max-height:200px;overflow-y:auto}.detail-table-row{display:grid;grid-template-columns:1fr 1fr;padding:var(--space-sm) 14px;font-size:.8125rem;border-top:1px solid var(--color-border, var(--color-slate-100))}.detail-table-row:first-child{border-top:none}.detail-table-row span:first-child{color:var(--color-text-secondary, var(--color-slate-600))}.detail-table-row span:last-child{font-weight:500;color:var(--color-slate-800);text-align:right}.source-info-content{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm);font-size:.8125rem}.source-info-content .source-label{color:var(--color-slate-500)}.source-link{display:inline-flex;align-items:center;gap:var(--space-xs);color:var(--color-blue);text-decoration:none;font-weight:500}.source-link:hover{text-decoration:underline}.source-info-content .source-desc{flex-basis:100%;font-size:.75rem;color:var(--color-text-muted, var(--color-slate-400));margin-top:var(--space-xs)}@media(max-width:768px){.data-detail-modal{padding:var(--space-md)}.modal-content{max-height:90vh}.modal-header,.modal-body,.modal-footer{padding:var(--space-md)}.detail-summary-grid{grid-template-columns:1fr}.precip-heatmap-wrapper{flex-direction:column}.heatmap-totals-column{width:100%;max-height:200px;flex-direction:row;flex-wrap:wrap}.heatmap-totals-header{width:100%}.heatmap-month-total{flex:0 0 calc(50% - 4px)}}.forecast-page{padding:var(--space-lg) 32px 80px;width:100%;min-height:100vh;background:var(--color-bg-primary);overflow-y:auto}.forecast-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;color:var(--color-text-muted)}.forecast-loading .loading-spinner{width:40px;height:40px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:forecast-spin .8s linear infinite}@keyframes forecast-spin{to{transform:rotate(360deg)}}.forecast-empty,.forecast-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;text-align:center;color:var(--color-text-muted)}.forecast-empty .empty-icon,.forecast-error .error-icon{width:64px;height:64px;margin-bottom:var(--space-md);opacity:.5}.forecast-empty h2,.forecast-error h2{font-size:1.25rem;font-weight:600;color:var(--color-text-primary);margin-bottom:var(--space-sm)}.forecast-empty p,.forecast-error p{margin-bottom:var(--space-sm);max-width:400px}.forecast-error code{display:block;background:var(--color-bg-secondary);padding:var(--space-sm) 16px;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.875rem;margin-top:var(--space-sm)}.retry-btn{margin-top:var(--space-md);padding:var(--space-sm-plus) 24px;background:var(--color-primary);color:var(--color-white);border:none;border-radius:var(--radius-sm);font-weight:500;cursor:pointer;transition:background .2s}.retry-btn:hover{background:var(--color-primary-dark)}.forecast-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-xl);flex-wrap:wrap;gap:var(--space-md)}.forecast-header-left{flex:1;min-width:200px}.forecast-title{font-size:1.75rem;font-weight:700;color:var(--color-text-primary);margin:0 0 4px}.forecast-subtitle{font-size:.9375rem;color:var(--color-text-muted);margin:0}.forecast-controls{display:flex;gap:var(--space-sm-lg);align-items:center;flex-wrap:wrap}.forecast-select{padding:var(--space-sm-plus) 16px;border:1px solid var(--color-border);border-radius:var(--radius-8);font-size:.875rem;min-width:200px;background:var(--color-white);color:var(--color-text-primary);cursor:pointer;transition:border-color .2s,box-shadow .2s}.forecast-select:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--shadow-focus-subtle)}.forecast-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-md);margin-bottom:var(--space-lg)}.summary-card{background:var(--color-white);padding:var(--space-md-plus);border-radius:var(--radius-12);border:1px solid var(--color-border);box-shadow:0 1px 3px rgba(var(--color-black-rgb),.04)}.summary-card .stat-label{display:block;font-size:.75rem;font-weight:500;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-sm)}.summary-card .stat-value{font-size:1.5rem;font-weight:700;color:var(--color-text-primary)}.summary-card .stat-change{font-size:.75rem;margin-top:var(--space-xs)}.summary-card .stat-change.positive{color:var(--color-success)}.summary-card .stat-change.negative{color:var(--color-danger)}.forecast-content{display:grid;grid-template-columns:1fr 1.3fr;gap:var(--space-lg)}@media(max-width:1200px){.forecast-content{grid-template-columns:1fr}}.forecast-section{background:var(--color-white);border-radius:var(--radius-12);border:1px solid var(--color-border);box-shadow:0 1px 3px rgba(var(--color-black-rgb),.04);margin-bottom:var(--space-md-plus)}.section-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) 20px;border-bottom:1px solid var(--color-border)}.section-header-left{display:flex;align-items:center;gap:var(--space-sm-plus)}.section-header svg{width:18px;height:18px;color:var(--color-primary)}.section-title{font-size:1rem;font-weight:600;color:var(--color-text-primary);margin:0}.section-badge{font-size:.75rem;padding:var(--space-2xs) 8px;border-radius:var(--radius-md);background:var(--color-bg-secondary);color:var(--color-text-muted)}.section-content{padding:var(--space-md-plus)}.left-panel{display:flex;flex-direction:column}.baselines-table{width:100%;border-collapse:collapse;font-size:.875rem}.baselines-table th,.baselines-table td{padding:var(--space-sm-lg) 10px;text-align:left;border-bottom:1px solid var(--color-border)}.baselines-table th{font-weight:600;color:var(--color-text-muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}.baselines-table tr:last-child td{border-bottom:none}.baselines-table .site-type{font-weight:500;color:var(--color-text-primary)}.baseline-input{width:80px;padding:var(--space-sm) 10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-white);font-size:.875rem;text-align:right;transition:border-color .2s,box-shadow .2s}.baseline-input:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--shadow-focus-subtle)}.sliders-container{display:flex;flex-direction:column;gap:var(--space-md)}.slider-group{background:var(--color-bg-secondary);padding:14px var(--space-md);border-radius:var(--radius-8)}.slider-label{display:block;font-weight:600;margin-bottom:var(--space-sm-lg);color:var(--color-text-primary);font-size:.875rem}.slider-options{display:flex;flex-direction:column;gap:var(--space-sm-plus)}.slider-option{display:grid;grid-template-columns:90px 1fr 50px;gap:var(--space-sm-lg);align-items:center}.option-label{font-size:.8125rem;color:var(--color-text-muted)}.adjustment-slider{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:var(--radius-3);background:var(--color-border);cursor:pointer}.adjustment-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--color-primary);cursor:pointer;box-shadow:0 2px 4px rgba(var(--color-black-rgb),.15);transition:transform .15s}.adjustment-slider::-webkit-slider-thumb:hover{transform:scale(1.1)}.adjustment-slider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--color-primary);cursor:pointer;border:none;box-shadow:0 2px 4px rgba(var(--color-black-rgb),.15)}.multiplier-display{font-size:.8125rem;font-weight:600;text-align:right;color:var(--color-text-primary)}.right-panel{display:flex;flex-direction:column}.preview-status{font-size:.75rem;font-weight:500;padding:3px var(--space-sm-plus);border-radius:var(--radius-12)}.preview-status.updating{background:var(--color-amber-100);color:var(--color-amber-900)}.preview-status.success{background:var(--color-green-100);color:var(--color-green-800)}.preview-status.error{background:var(--color-red-100);color:var(--color-red-900)}.charts-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md-plus);margin-bottom:var(--space-md-plus)}@media(max-width:900px){.charts-grid{grid-template-columns:1fr}}.chart-card{background:var(--color-bg-secondary);padding:var(--space-md);border-radius:var(--radius-8)}.chart-card h3{margin:0 0 12px;font-size:.875rem;font-weight:600;color:var(--color-text-primary)}.chart{height:200px}.companies-section h3{margin:0 0 16px;font-size:.9375rem;font-weight:600;color:var(--color-text-primary)}.companies-table{width:100%;border-collapse:collapse;font-size:.875rem}.companies-table th,.companies-table td{padding:var(--space-sm-plus) 12px;text-align:left;border-bottom:1px solid var(--color-border)}.companies-table th{font-weight:600;color:var(--color-text-muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}.companies-table tr:last-child td{border-bottom:none}.confidence-badge{display:inline-block;padding:3px var(--space-sm-plus);border-radius:var(--radius-12);font-size:.75rem;font-weight:500}.confidence-badge.high{background:var(--color-green-100);color:var(--color-green-800)}.confidence-badge.medium{background:var(--color-amber-100);color:var(--color-amber-900)}.confidence-badge.low{background:var(--color-red-100);color:var(--color-red-900)}.action-buttons{display:flex;gap:var(--space-sm-lg);justify-content:flex-end;padding:var(--space-md-plus);border-top:1px solid var(--color-border);background:var(--color-bg-secondary);border-radius:0 0 12px 12px}.btn{display:inline-flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm-plus) 20px;border:none;border-radius:var(--radius-8);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.btn svg{width:16px;height:16px}.btn-primary{background:var(--color-primary);color:var(--color-white)}.btn-primary:hover{background:var(--color-primary-dark)}.btn-secondary{background:var(--color-white);color:var(--color-text-primary);border:1px solid var(--color-border)}.btn-secondary:hover{background:var(--color-bg-secondary)}.btn:disabled{opacity:.6;cursor:not-allowed}.modal-overlay{position:fixed;inset:0;background:rgba(var(--color-black-rgb),.5);display:flex;align-items:center;justify-content:center;z-index:var(--z-overlay)}.modal{background:var(--color-white);border-radius:var(--radius-12);width:400px;max-width:90vw;box-shadow:0 20px 40px rgba(var(--color-black-rgb),.15)}.modal-header{padding:var(--space-md-plus);border-bottom:1px solid var(--color-border)}.modal-header h2{margin:0;font-size:1.125rem;font-weight:600;color:var(--color-text-primary)}.modal-body{padding:var(--space-md-plus)}.form-group{margin-bottom:var(--space-md)}.form-group:last-child{margin-bottom:0}.form-group label{display:block;font-size:.875rem;font-weight:500;margin-bottom:var(--space-xs-plus);color:var(--color-text-primary)}.form-group input,.form-group textarea{width:100%;padding:var(--space-sm-plus) 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.875rem;transition:border-color .2s,box-shadow .2s}.form-group textarea{min-height:80px;resize:vertical}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--shadow-focus-subtle)}.modal-footer{padding:var(--space-md) 20px;border-top:1px solid var(--color-border);display:flex;gap:var(--space-sm-lg);justify-content:flex-end;background:var(--color-bg-secondary);border-radius:0 0 12px 12px}.forecast-geo-page{padding:var(--space-lg) 32px 80px;width:100%;min-height:100vh;background:var(--color-bg-primary);overflow-y:auto}.forecast-geo-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;color:var(--color-text-muted)}.forecast-geo-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-lg);flex-wrap:wrap;gap:var(--space-md)}.forecast-geo-header .header-left{flex:1;min-width:200px}.forecast-geo-header .page-title{font-size:1.75rem;font-weight:700;color:var(--color-text-primary);margin:0 0 4px;display:flex;align-items:center;gap:var(--space-sm-plus)}.forecast-geo-header .page-title svg{width:28px;height:28px;color:var(--color-primary)}.forecast-geo-header .page-subtitle{font-size:.9375rem;color:var(--color-text-muted);margin:0}.forecast-geo-header .header-controls{display:flex;gap:var(--space-md);align-items:flex-end;flex-wrap:wrap}.forecast-geo-header .control-group{display:flex;flex-direction:column;gap:var(--space-xs-plus)}.forecast-geo-header .control-group label{font-size:.75rem;font-weight:500;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.geo-select{padding:var(--space-sm-plus) 16px;border:1px solid var(--color-border);border-radius:var(--radius-8);font-size:.875rem;min-width:160px;background:var(--color-white);color:var(--color-text-primary);cursor:pointer;transition:border-color .2s,box-shadow .2s}.geo-select:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--shadow-focus-subtle)}.scenario-buttons{display:flex;border:1px solid var(--color-border);border-radius:var(--radius-8);overflow:hidden}.scenario-btn{padding:var(--space-sm-plus) 16px;background:var(--color-white);border:none;font-size:.875rem;font-weight:500;color:var(--color-text-muted);cursor:pointer;transition:all .2s;border-right:1px solid var(--color-border)}.scenario-btn:last-child{border-right:none}.scenario-btn:hover{background:var(--color-bg-secondary)}.scenario-btn.active{background:var(--scenario-color, #3B82F6);color:var(--color-white)}.geo-breadcrumb{display:flex;align-items:center;gap:var(--space-xs-plus);padding:var(--space-sm-lg) 16px;background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--space-md-plus);flex-wrap:wrap}.breadcrumb-item{font-size:.875rem;color:var(--color-primary);transition:color .2s}.breadcrumb-item:not(.active):hover{color:var(--color-primary-dark);text-decoration:underline}.breadcrumb-item.active{color:var(--color-text-primary);font-weight:600;cursor:default}.breadcrumb-sep{display:flex;align-items:center;color:var(--color-text-muted)}.breadcrumb-sep svg{width:14px;height:14px}.forecast-geo-content{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg)}@media(max-width:1200px){.forecast-geo-content{grid-template-columns:1fr}}.geo-panel{background:var(--color-white);border-radius:var(--radius-12);border:1px solid var(--color-border);box-shadow:0 1px 3px rgba(var(--color-black-rgb),.04);overflow:hidden}.geo-panel .panel-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-md) 20px;border-bottom:1px solid var(--color-border);background:var(--color-bg-secondary)}.geo-panel .panel-header h2{margin:0;font-size:1rem;font-weight:600;color:var(--color-text-primary);display:flex;align-items:center;gap:var(--space-sm)}.geo-panel .panel-header h2 svg{width:18px;height:18px;color:var(--color-primary)}.geo-panel .current-level{font-size:.75rem;padding:var(--space-xs) 10px;border-radius:var(--radius-12);background:var(--color-primary);color:var(--color-white);font-weight:500}.geo-panel .geo-name{font-size:.875rem;color:var(--color-text-muted)}.geo-panel .panel-content{padding:var(--space-md-plus)}.geo-table{width:100%;border-collapse:collapse;font-size:.875rem}.geo-table th,.geo-table td{padding:var(--space-sm-lg) 10px;text-align:left;border-bottom:1px solid var(--color-border)}.geo-table th{font-weight:600;color:var(--color-text-muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;background:var(--color-bg-secondary)}.geo-table tr:last-child td{border-bottom:none}.geo-row{transition:background .15s}.geo-row.has-children{cursor:pointer}.geo-row.has-children:hover{background:var(--color-bg-secondary)}.geo-name-cell{display:flex;align-items:center;gap:var(--space-sm-plus)}.geo-type-badge{font-size:.625rem;padding:var(--space-2xs) 6px;border-radius:var(--radius-xs);background:var(--color-bg-secondary);color:var(--color-text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.03em}.geo-name-cell .geo-name{font-weight:500;color:var(--color-text-primary)}.growth-cell{display:flex;align-items:center;gap:var(--space-xs)}.growth-cell.positive{color:var(--color-success)}.growth-cell.negative{color:var(--color-danger)}.growth-cell svg{width:14px;height:14px}.action-cell{text-align:right}.drill-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:var(--color-bg-secondary);border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;transition:all .2s}.drill-btn:hover{background:var(--color-primary);color:var(--color-white)}.drill-btn svg{width:16px;height:16px}.loading-row,.empty-row{text-align:center;color:var(--color-text-muted);padding:var(--space-xl)!important}.forecast-summary-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-md);margin-bottom:var(--space-md-plus)}.forecast-summary-cards .summary-card{background:var(--color-bg-secondary);padding:var(--space-md);border-radius:var(--radius-md);text-align:center}.forecast-summary-cards .summary-card .label{display:block;font-size:.75rem;color:var(--color-text-muted);margin-bottom:var(--space-xs-plus)}.forecast-summary-cards .summary-card .value{font-size:1.25rem;font-weight:700;color:var(--color-text-primary)}.forecast-chart{height:300px;margin-bottom:var(--space-md-plus)}.scenario-comparison{background:var(--color-bg-secondary);padding:var(--space-md);border-radius:var(--radius-md)}.scenario-comparison h3{margin:0 0 14px;font-size:.875rem;font-weight:600;color:var(--color-text-primary)}.scenario-bars{display:flex;flex-direction:column;gap:var(--space-sm-plus)}.scenario-bar-row{display:grid;grid-template-columns:60px 1fr 80px;align-items:center;gap:var(--space-sm-lg)}.scenario-label{font-size:.8125rem;font-weight:600}.bar-container{height:18px;background:var(--color-border);border-radius:9px;overflow:hidden}.bar{height:100%;border-radius:9px;transition:width .3s ease-out}.bar-value{font-size:.8125rem;color:var(--color-text-muted);text-align:right}.modal-overlay.hidden{display:none}.main-content:has(.imports-page){height:100%;min-height:0}.imports-page{display:flex;flex-direction:column;width:100%;height:100%;min-height:100%;flex:1;overflow:hidden;background:var(--color-slate-50);color:var(--color-slate-800)}.imports-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-md) 24px;border-bottom:1px solid var(--color-slate-200);background:var(--color-white)}.imports-header-left{display:flex;flex-direction:column;gap:var(--space-xs)}.imports-title{font-size:1.75rem;font-weight:700;margin:0;color:var(--color-slate-800)}.imports-subtitle{font-size:.9375rem;color:var(--color-slate-500);margin:0}.imports-export-btn{display:flex;align-items:center;gap:var(--space-xs-plus);padding:var(--space-sm) 16px;background:var(--color-blue);color:#fff;border:none;border-radius:var(--radius-sm);font-size:var(--text-base);font-weight:500;cursor:pointer;transition:background .2s}.imports-export-btn:hover{background:var(--color-info-dark)}.imports-header-right{display:flex;align-items:center;gap:var(--space-sm-lg)}.view-toggle{display:flex;background:var(--color-slate-100);border-radius:var(--radius-8);padding:var(--space-2xs);border:1px solid var(--color-slate-200)}.view-toggle-btn{display:flex;align-items:center;gap:var(--space-xs-plus);padding:var(--space-sm) 14px;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--color-slate-500);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s}.view-toggle-btn:hover:not(.active){color:var(--color-slate-800);background:rgba(var(--color-blue-rgb),.1)}.view-toggle-btn.active{background:var(--color-blue);color:#fff;box-shadow:0 1px 3px rgba(var(--color-black-rgb),.1)}.view-toggle-btn svg{width:16px;height:16px}.imports-filter-bar{display:flex;flex-wrap:wrap;gap:var(--space-md);padding:var(--space-sm-lg) 24px;background:var(--color-white);border-bottom:1px solid var(--color-slate-200)}.filter-group{display:flex;flex-direction:column;gap:var(--space-xs)}.filter-label{font-size:.75rem;font-weight:600;color:var(--color-slate-500);text-transform:uppercase;letter-spacing:.5px}.filter-select{padding:var(--space-sm) 32px 8px 12px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748B' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") no-repeat right 10px center;border:1px solid var(--color-slate-200);border-radius:var(--radius-sm);color:var(--color-slate-800);font-size:.875rem;cursor:pointer;min-width:140px;appearance:none}.filter-select:hover{border-color:var(--color-blue)}.filter-select:focus{outline:none;border-color:var(--color-blue);box-shadow:0 0 0 3px rgba(var(--color-blue-rgb),.1)}.filter-checkbox-group{display:flex;gap:var(--space-sm-lg)}.filter-checkbox{display:flex;align-items:center;gap:var(--space-xs-plus);cursor:pointer;font-size:.875rem;color:var(--color-slate-800)}.filter-checkbox input{width:16px;height:16px;cursor:pointer;accent-color:var(--color-blue)}.checkbox-label{display:flex;align-items:center;gap:var(--space-xs)}.commodity-dot{width:8px;height:8px;border-radius:50%}.filter-toggle{display:flex;background:var(--color-slate-100);border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--color-slate-200)}.toggle-btn{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs-plus) 12px;background:transparent;border:none;color:var(--color-slate-500);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s}.toggle-btn.active{background:var(--color-blue);color:#fff}.toggle-btn:hover:not(.active){color:var(--color-slate-800);background:rgba(var(--color-blue-rgb),.1)}.filter-threshold{min-width:180px}.filter-date-range{flex-direction:column}.date-range-inputs{display:flex;align-items:center;gap:var(--space-xs-plus)}.date-input{padding:var(--space-xs-plus) 10px;background:var(--color-white);border:1px solid var(--color-slate-200);border-radius:var(--radius-sm);color:var(--color-slate-800);font-size:.8125rem;cursor:pointer;width:120px}.date-input:hover{border-color:var(--color-blue)}.date-input:focus{outline:none;border-color:var(--color-blue);box-shadow:0 0 0 3px rgba(var(--color-blue-rgb),.1)}.date-separator{font-size:.75rem;color:var(--color-slate-500)}.threshold-slider-container{display:flex;align-items:center;gap:var(--space-sm)}.threshold-slider{flex:1;height:4px;cursor:pointer;accent-color:var(--color-blue)}.threshold-value{font-size:.8125rem;font-weight:500;color:var(--color-slate-800);min-width:40px}.imports-content{flex:1;display:flex;min-height:0;position:relative;overflow:hidden}.imports-map-wrapper{flex:1;position:relative;min-height:0;height:100%;overflow:hidden}.imports-map-container{position:absolute;inset:0;width:100%;height:100%}.imports-map-container.loading:after{content:"";position:absolute;inset:0;background:rgba(var(--color-black-rgb),.5);display:flex;align-items:center;justify-content:center;z-index:var(--z-controls)}.flow-map{width:100%;height:100%}.imports-list-wrapper{flex:1;min-height:0;display:flex;flex-direction:column;background:var(--color-white);overflow:hidden}.imports-list-container{flex:1;overflow:auto;padding:var(--space-md) 24px}.imports-table{width:100%;border-collapse:collapse;font-size:.875rem}.imports-table thead{position:sticky;top:0;background:var(--color-slate-50);z-index:var(--z-controls)}.imports-table th{text-align:left;padding:var(--space-sm-lg) 16px;font-weight:600;color:var(--color-slate-500);border-bottom:2px solid var(--color-slate-200);white-space:nowrap;font-size:.75rem;text-transform:uppercase;letter-spacing:.5px}.imports-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s}.imports-table th.sortable:hover{background:var(--color-slate-100)}.imports-table th.sortable:after{content:"";display:inline-block;width:0;height:0;margin-left:var(--space-sm);vertical-align:middle;border-left:4px solid transparent;border-right:4px solid transparent;opacity:.3}.imports-table th.sort-asc:after{border-bottom:5px solid var(--color-slate-800);opacity:1}.imports-table th.sort-desc:after{border-top:5px solid var(--color-slate-800);opacity:1}.imports-table td{padding:var(--space-sm-lg) 16px;border-bottom:1px solid var(--color-slate-100);color:var(--color-slate-800)}.imports-table tr:hover td,.imports-table tr.even td{background:var(--color-slate-50)}.imports-table tr.even:hover td{background:var(--color-slate-100)}.imports-table td.numeric{text-align:right;font-family:var(--font-mono);font-size:.8125rem}.imports-table td.hs-code{font-family:var(--font-mono);font-size:.75rem;color:var(--color-slate-500)}.imports-table-condensed{font-size:.8125rem}.imports-table-condensed th{padding:var(--space-sm) 10px;font-size:.6875rem}.imports-table-condensed td{padding:var(--space-xs-plus) 10px;font-size:.8125rem}.imports-table-condensed td.numeric{font-size:.75rem}.imports-table-condensed .commodity-badge{padding:var(--space-2xs) 8px;font-size:.6875rem}.imports-table-empty{padding:var(--space-2xl) 24px;text-align:center;color:var(--color-slate-500)}.commodity-badge{display:inline-block;padding:var(--space-xs) 10px;border-radius:var(--radius-12);font-size:.75rem;font-weight:500}.commodity-badge.sand{background:rgba(var(--color-sand-rgb),.15);color:var(--color-info-dark)}.commodity-badge.gravel_crushed_stone{background:rgba(var(--color-gravel-rgb),.15);color:var(--color-purple)}.commodity-badge.building_stone{background:rgba(var(--color-building-stone-rgb),.15);color:var(--color-teal)}.commodity-badge.other{background:#96969626;color:var(--color-slate-500)}.commodity-badge.cement{background:rgba(var(--color-cement-rgb),.15);color:var(--color-slate-600)}.commodity-badge.limestone{background:rgba(var(--color-limestone-rgb),.2);color:var(--color-warning-dark)}.commodity-badge.asphalt_bitumen{background:rgba(var(--color-asphalt-rgb),.15);color:var(--color-asphalt)}.flow-map canvas,.imports-map-container canvas{position:absolute!important;top:0!important;left:0!important;width:100%!important;height:100%!important;pointer-events:auto!important}#deckgl-overlay,.deck-canvas,.mapboxgl-canvas-container+div canvas,canvas[id^=deck]{position:absolute!important;z-index:var(--z-controls)!important;pointer-events:auto!important}.mapboxgl-canvas{z-index:var(--z-base)!important}.imports-legend{position:absolute;bottom:24px;left:24px;background:rgba(var(--color-white-rgb),.95);border:1px solid var(--color-slate-200);border-radius:var(--radius-8);padding:var(--space-sm-lg);min-width:180px;z-index:var(--z-raised);box-shadow:0 2px 8px rgba(var(--color-black-rgb),.1)}.legend-title{font-size:.75rem;font-weight:600;color:var(--color-slate-800);margin-bottom:var(--space-sm);text-transform:uppercase;letter-spacing:.5px}.legend-scale{margin-bottom:var(--space-sm-lg)}.legend-gradient{height:8px;border-radius:var(--radius-xs);background:linear-gradient(to right,rgba(var(--color-orange-rgb),.3),#ff8c00);margin-bottom:var(--space-xs)}.legend-labels{display:flex;justify-content:space-between;font-size:.6875rem;color:var(--color-slate-500)}.legend-commodities{display:flex;flex-direction:column;gap:var(--space-xs-plus)}.legend-item{display:flex;align-items:center;gap:var(--space-xs-plus);font-size:.75rem;color:var(--color-slate-600)}.legend-color{width:12px;height:3px;border-radius:var(--radius-2xs)}.flow-tooltip{position:absolute;pointer-events:none;background:var(--color-slate-800);border-radius:var(--radius-8);padding:var(--space-sm-plus) 14px;font-size:.8125rem;z-index:var(--z-dropdown);max-width:280px;box-shadow:0 8px 24px rgba(var(--color-black-rgb),.25);color:#fff}.tooltip-header{font-weight:600;color:var(--color-slate-50);margin-bottom:var(--space-xs-plus);padding-bottom:var(--space-xs-plus);border-bottom:1px solid rgba(var(--color-white-rgb),.2)}.tooltip-row{display:flex;justify-content:space-between;gap:var(--space-md);margin:var(--space-xs) 0}.tooltip-label{color:var(--color-slate-400)}.tooltip-value{color:var(--color-slate-50);font-weight:500}.tooltip-hint{margin-top:var(--space-sm);padding-top:var(--space-xs-plus);border-top:1px solid rgba(var(--color-white-rgb),.2);color:var(--color-blue);font-size:.6875rem}.imports-detail-panel{width:0;overflow:hidden;background:var(--color-white);border-left:1px solid var(--color-slate-200);transition:width .3s ease}.imports-detail-panel.visible{width:360px}.detail-panel-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-md);border-bottom:1px solid var(--color-slate-200)}.detail-title{font-size:1rem;font-weight:600;margin:0;color:var(--color-slate-800)}.detail-close-btn{background:none;border:none;color:var(--color-slate-500);cursor:pointer;padding:var(--space-xs);border-radius:var(--radius-xs)}.detail-close-btn:hover{background:var(--color-slate-100);color:var(--color-slate-800)}.detail-panel-content{padding:var(--space-md);overflow-y:auto;height:calc(100% - 60px)}.detail-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:200px;color:var(--color-slate-500);text-align:center}.detail-placeholder svg{margin-bottom:var(--space-sm-lg);opacity:.5}.detail-port-info{margin-bottom:var(--space-md-plus)}.port-name{font-size:1.125rem;font-weight:600;margin:0 0 12px;color:var(--color-slate-800)}.port-stats{display:flex;gap:var(--space-md)}.port-stat{display:flex;flex-direction:column;gap:var(--space-2xs)}.port-stat .stat-value{font-size:1.125rem;font-weight:600;color:var(--color-blue)}.port-stat .stat-label{font-size:.6875rem;color:var(--color-slate-500);text-transform:uppercase}.detail-section{margin-bottom:var(--space-md-plus)}.section-title{font-size:.75rem;font-weight:600;color:var(--color-slate-500);text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px}.commodity-bars{display:flex;flex-direction:column;gap:var(--space-sm)}.commodity-bar-row{display:flex;align-items:center;gap:var(--space-sm)}.commodity-name{width:120px;font-size:.75rem;color:var(--color-slate-600)}.commodity-bar-container{flex:1;height:8px;background:var(--color-slate-100);border-radius:var(--radius-xs);overflow:hidden}.commodity-bar{height:100%;border-radius:var(--radius-xs);transition:width .3s ease}.commodity-value{width:40px;font-size:.75rem;font-weight:500;text-align:right;color:var(--color-slate-800)}.origins-table{display:flex;flex-direction:column;border:1px solid var(--color-slate-200);border-radius:var(--radius-8);overflow:hidden}.table-header{display:flex;padding:var(--space-sm) 12px;background:var(--color-slate-50);font-size:.6875rem;font-weight:600;color:var(--color-slate-500);text-transform:uppercase}.table-header span:first-child{flex:1}.table-header span:nth-child(2){width:80px;text-align:right}.table-header span:nth-child(3){width:50px;text-align:right}.table-row{display:flex;padding:var(--space-sm) 12px;background:var(--color-white);font-size:.8125rem;color:var(--color-slate-800);border-bottom:1px solid var(--color-slate-100)}.table-row:last-child{border-bottom:none}.table-row.even{background:var(--color-slate-50)}.origin-name{flex:1}.origin-value{width:80px;text-align:right;font-weight:500}.origin-percent{width:50px;text-align:right;color:var(--color-slate-500)}.chart-container{height:150px;background:var(--color-slate-50);border-radius:var(--radius-sm);border:1px solid var(--color-slate-200)}.chart-placeholder{height:100%;display:flex;align-items:center;justify-content:center;color:var(--color-slate-500);font-size:.75rem}.detail-actions{margin-top:var(--space-md-plus);padding-top:var(--space-md);border-top:1px solid var(--color-slate-200)}.detail-actions .action-btn{display:flex;align-items:center;gap:var(--space-xs-plus);padding:var(--space-sm) 16px;background:var(--color-white);border:1px solid var(--color-slate-200);border-radius:var(--radius-sm);color:var(--color-slate-800);font-size:.8125rem;cursor:pointer;transition:all .15s}.detail-actions .action-btn:hover{border-color:var(--color-blue);color:var(--color-blue)}.imports-summary-tiles{position:absolute;top:10px;left:10px;right:60px;display:flex;justify-content:flex-start;gap:var(--space-sm);z-index:var(--z-header);pointer-events:none}.imports-summary-tiles .summary-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-sm) 14px;background:rgba(var(--color-anchor-rgb),.9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-md);box-shadow:0 4px 12px rgba(var(--color-black-rgb),.2);min-width:80px;text-align:center;pointer-events:auto}.imports-summary-tiles .summary-tile-value{font-size:var(--text-xl-plus);font-weight:700;color:var(--color-signal);line-height:1.1;margin-bottom:var(--space-2xs)}.imports-summary-tiles .summary-tile-label{font-size:var(--text-2xs);font-weight:600;color:rgba(var(--color-white-rgb),.7);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}.imports-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--color-slate-500)}.imports-loading .loading-spinner{width:40px;height:40px;border:3px solid var(--color-slate-200);border-top-color:var(--color-blue);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:var(--space-md)}@keyframes spin{to{transform:rotate(360deg)}}.imports-error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--color-slate-500);text-align:center;padding:var(--space-lg)}.imports-error svg{color:var(--color-error);margin-bottom:var(--space-md)}.imports-error h2{margin:0 0 8px;color:var(--color-slate-800)}.imports-error p{margin:0 0 16px}.retry-btn{padding:var(--space-sm-plus) 24px;background:var(--color-blue);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.875rem;font-weight:500;cursor:pointer;transition:background .2s}.retry-btn:hover{background:var(--color-info-dark)}.beta-banner{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm-plus) 24px;background:#ffad1f1a;border-bottom:1px solid rgba(255,173,31,.3);color:var(--color-warning);font-size:var(--text-sm-plus)}.beta-banner svg{flex-shrink:0}.banner-close{margin-left:auto;background:none;border:none;color:var(--color-warning);font-size:var(--text-xl);cursor:pointer;padding:0;line-height:1}.banner-close:hover{opacity:.7}.imports-summary-panel{width:320px;flex-shrink:0;background:var(--color-white);border-left:1px solid var(--color-slate-200);overflow-y:auto;display:flex;flex-direction:column;gap:0}.summary-section{padding:var(--space-md);border-bottom:1px solid var(--color-slate-200)}.summary-section:last-child{border-bottom:none}.summary-section-title{font-size:.6875rem;font-weight:700;color:var(--color-slate-500);text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px}.summary-list{display:flex;flex-direction:column;gap:var(--space-xs-plus)}.summary-list-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs-plus) 8px;background:var(--color-slate-50);border-radius:var(--radius-sm);transition:background .15s}.summary-list-item:hover{background:var(--color-slate-100)}.item-rank{width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:.6875rem;font-weight:700;color:#fff;background:var(--color-blue);border-radius:var(--radius-xs);flex-shrink:0}.summary-list-item:nth-child(1) .item-rank{background:var(--color-temp-warm)}.summary-list-item:nth-child(2) .item-rank{background:#94a3b8}.summary-list-item:nth-child(3) .item-rank{background:var(--color-orange)}.item-name{flex:1;font-size:.8125rem;color:var(--color-slate-800);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-value{font-size:.75rem;font-weight:600;color:var(--color-blue);white-space:nowrap}.commodity-breakdown{display:flex;flex-direction:column;gap:var(--space-sm-plus)}.commodity-breakdown .commodity-bar-row{display:flex;align-items:center;gap:var(--space-sm)}.commodity-breakdown .commodity-name{width:100px;font-size:.75rem;color:var(--color-slate-600);display:flex;align-items:center;gap:var(--space-xs-plus)}.commodity-breakdown .commodity-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.commodity-breakdown .commodity-bar-container{flex:1;height:8px;background:var(--color-slate-100);border-radius:var(--radius-xs);overflow:hidden}.commodity-breakdown .commodity-bar{height:100%;border-radius:var(--radius-xs);transition:width .3s ease}.commodity-breakdown .commodity-pct{width:36px;font-size:.6875rem;font-weight:600;text-align:right;color:var(--color-slate-500)}.port-tooltip{position:absolute;pointer-events:none;background:var(--color-slate-800);border-radius:var(--radius-8);padding:var(--space-sm-plus) 14px;font-size:.8125rem;z-index:var(--z-overlay);max-width:260px;box-shadow:0 8px 24px rgba(var(--color-black-rgb),.25);color:#fff}.port-tooltip .tooltip-header{font-weight:600;color:var(--color-slate-50);margin-bottom:var(--space-xs-plus);padding-bottom:var(--space-xs-plus);border-bottom:1px solid rgba(var(--color-white-rgb),.2)}.port-tooltip .tooltip-row{display:flex;justify-content:space-between;gap:var(--space-md);margin:var(--space-xs) 0}.port-tooltip .tooltip-label{color:var(--color-slate-400)}.port-tooltip .tooltip-value{color:var(--color-slate-50);font-weight:500}.port-tooltip .tooltip-hint{margin-top:var(--space-sm);padding-top:var(--space-xs-plus);border-top:1px solid rgba(var(--color-white-rgb),.2);color:var(--color-blue);font-size:.6875rem}.port-map{width:100%;height:100%}.legend-size{margin-top:var(--space-sm-lg);padding-top:var(--space-sm-lg);border-top:1px solid var(--color-slate-200)}.legend-size-title{font-size:.6875rem;font-weight:600;color:var(--color-slate-500);margin-bottom:var(--space-sm)}.legend-size-scale{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-sm)}.size-item{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs)}.size-bubble{border-radius:50%;background:#3b82f680;border:2px solid white;box-shadow:0 1px 3px rgba(var(--color-black-rgb),.2)}.size-small{width:12px;height:12px}.size-medium{width:24px;height:24px}.size-large{width:40px;height:40px}.size-label{font-size:.625rem;color:var(--color-slate-500)}.filter-bar-modern{background:var(--color-white);border-radius:var(--radius-12);padding:var(--space-sm-lg) 16px;box-shadow:0 1px 3px #00000014;display:flex;flex-direction:column;gap:var(--space-sm-lg)}.commodity-chips-row{display:flex;align-items:center;gap:var(--space-sm-plus);flex-wrap:wrap}.chips-label{font-size:var(--text-xs-plus);font-weight:600;color:var(--color-slate-500);text-transform:uppercase;letter-spacing:.5px;min-width:60px}.commodity-chips{display:flex;gap:var(--space-xs-plus);flex-wrap:wrap;flex:1}.commodity-chip{display:inline-flex;align-items:center;gap:var(--space-xs-plus);padding:var(--space-xs-plus) 12px;border-radius:var(--radius-xl);border:1.5px solid var(--color-slate-200);background:var(--color-white);cursor:pointer;font-size:var(--text-sm);font-weight:500;color:var(--color-slate-500);transition:all .15s ease}.commodity-chip:hover{border-color:var(--chip-color);background:color-mix(in srgb,var(--chip-color) 8%,white)}.commodity-chip.active{border-color:var(--chip-color);background:color-mix(in srgb,var(--chip-color) 15%,white);color:var(--color-slate-800);box-shadow:0 0 0 3px color-mix(in srgb,var(--chip-color) 20%,transparent)}.chip-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.chip-label{white-space:nowrap}.chip-action{padding:var(--space-xs) 10px;border:1px solid var(--color-slate-200);border-radius:var(--radius-sm);background:var(--color-slate-50);font-size:var(--text-xs-plus);font-weight:500;color:var(--color-slate-500);cursor:pointer;transition:all .15s}.chip-action:hover{background:var(--color-slate-200);color:var(--color-slate-800)}.compact-filters-row{display:flex;align-items:center;gap:var(--space-sm-lg);flex-wrap:wrap}.filter-pill{display:flex;align-items:center;gap:var(--space-xs-plus);background:var(--color-slate-50);padding:var(--space-xs) 10px;border-radius:var(--radius-8);border:1px solid var(--color-slate-200)}.filter-pill label{font-size:var(--text-xs-plus);font-weight:600;color:var(--color-slate-500);text-transform:uppercase}.filter-pill select{border:none;background:transparent;font-size:var(--text-sm-plus);font-weight:500;color:var(--color-slate-800);cursor:pointer;padding:var(--space-2xs) 0;min-width:80px}.filter-pill select:focus{outline:none}.period-toggle-section{display:flex;align-items:center;gap:var(--space-sm)}.filter-section-label{font-size:var(--text-xs-plus);font-weight:600;color:var(--color-slate-500);text-transform:uppercase}.period-toggle{display:flex;background:var(--color-slate-100);border-radius:var(--radius-8);padding:3px}.period-toggle .period-btn{padding:6px 12px;border:none;border-radius:var(--radius-sm);background:transparent;font-size:var(--text-xs-plus);font-weight:500;color:var(--color-slate-500);cursor:pointer;transition:all .15s}.period-toggle .period-btn:hover{color:var(--color-slate-800)}.period-toggle .period-btn.active{background:var(--color-primary);color:var(--color-white);box-shadow:0 1px 3px #00000026}.measure-toggle{display:flex;background:var(--color-slate-100);border-radius:var(--radius-8);padding:3px;margin-left:auto}.measure-btn{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs-plus) 12px;border:none;border-radius:var(--radius-sm);background:transparent;font-size:var(--text-sm);font-weight:500;color:var(--color-slate-500);cursor:pointer;transition:all .15s}.measure-btn.active{background:var(--color-white);color:var(--color-slate-800);box-shadow:0 1px 3px #0000001a}.measure-btn svg{opacity:.7}.measure-btn.active svg{opacity:1}.date-range-inputs{display:none;align-items:center;gap:var(--space-sm);background:var(--color-sky-50);padding:var(--space-xs-plus) 12px;border-radius:var(--radius-8);border:1px solid var(--color-sky-200)}.date-range-inputs.visible{display:flex}.date-input-group{display:flex;flex-direction:column;gap:var(--space-2xs)}.date-input-group label{font-size:var(--text-2xs);font-weight:700;color:var(--color-sky-700);text-transform:uppercase;letter-spacing:.5px}.date-input-group input[type=month]{border:1px solid var(--color-slate-200);border-radius:var(--radius-xs);padding:var(--space-xs) 8px;font-size:var(--text-sm);font-weight:500;color:var(--color-slate-800);background:var(--color-white);min-width:120px}.date-input-group input[type=month]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #3b82f633}.date-separator{color:var(--color-slate-500);font-size:var(--text-base);padding:0 4px}.apply-date-btn{padding:var(--space-xs-plus) 14px;background:var(--color-sky-600);border:none;border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:600;color:var(--color-white);cursor:pointer;transition:all .15s;margin-left:var(--space-sm)}.apply-date-btn:hover{background:var(--color-sky-700)}.sparkline-section{background:var(--color-white);border-radius:var(--radius-12);box-shadow:0 1px 3px #0000000f;padding:var(--space-sm-lg);margin-bottom:var(--space-md)}.sparkline-period-indicator{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm);padding-bottom:var(--space-sm);border-bottom:1px solid var(--color-slate-100)}.period-badge{font-size:var(--text-xs);color:var(--color-slate-600);background:var(--color-slate-50);padding:var(--space-2xs) var(--space-sm);border-radius:var(--radius-sm);border:1px solid var(--color-slate-200)}.period-badge strong{color:var(--color-slate-800);font-weight:600}.period-data-info{font-size:var(--text-xs);color:var(--color-slate-500);font-style:italic}.sparkline-period-bar{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm);padding-bottom:var(--space-sm);border-bottom:1px solid var(--color-slate-200)}.period-label{font-size:var(--text-xs-plus);font-weight:600;color:var(--color-slate-500);text-transform:uppercase}.period-toggles{display:flex;gap:4px;background:var(--color-slate-100);padding:3px;border-radius:var(--radius-8)}.period-btn{padding:4px 10px;border:none;border-radius:var(--radius-sm);background:transparent;font-size:var(--text-xs-plus);font-weight:500;color:var(--color-slate-500);cursor:pointer;transition:all .15s}.period-btn:hover{color:var(--color-slate-800)}.period-btn.active{background:var(--color-white);color:var(--color-slate-800);box-shadow:0 1px 2px #0000001a}.sparkline-row{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-sm)}.sparkline-card{background:var(--color-white);border-radius:var(--radius-8);padding:var(--space-sm-lg);border:1px solid var(--color-slate-200);display:flex;flex-direction:column}.sparkline-card.clickable-chart{cursor:pointer;transition:all .2s ease;position:relative}.sparkline-card.clickable-chart:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a;border-color:var(--color-primary)}.spark-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:var(--space-sm)}.spark-header h4{margin:0;font-size:var(--text-xs-plus);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-slate-500)}.spark-values{text-align:right}.spark-current{font-size:var(--text-base);font-weight:700;color:var(--color-slate-900);display:block}.spark-label{display:block;font-size:var(--text-2xs);color:var(--color-slate-500);text-transform:uppercase;letter-spacing:.3px}.spark-chart{flex:1;display:flex;align-items:center;justify-content:center;min-height:60px}.spark-chart svg{width:100%;height:60px}.spark-footer{display:flex;justify-content:flex-end;gap:var(--space-sm-lg);margin-top:var(--space-sm);font-size:var(--text-xs);color:var(--color-slate-500)}.spark-change{font-size:var(--text-xs)}.spark-change .change-label{color:var(--color-slate-500);margin-right:4px}.spark-change .positive{color:var(--color-success);font-weight:600}.spark-change .negative{color:var(--color-error);font-weight:600}.imports-metric-modal-overlay{position:fixed;inset:0;background:#0f3d3e99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999;opacity:0;visibility:hidden;transition:all .2s ease}.imports-metric-modal-overlay.active{opacity:1;visibility:visible}.imports-metric-modal{background:#fff;border-radius:var(--radius-12);width:90%;max-width:800px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 25px 80px #00000040;transform:translateY(20px) scale(.95);transition:transform .2s ease;overflow:hidden}.imports-metric-modal-overlay.active .imports-metric-modal{transform:translateY(0) scale(1)}.imports-metric-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-lg);background:var(--color-anchor);color:#fff}.metric-header-info h3{margin:0;font-size:var(--text-lg);font-weight:600}.metric-subtitle{font-size:var(--text-xs);opacity:.9}.metric-close{background:#fff3;border:none;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;transition:background .15s}.metric-close:hover{background:#ffffff4d}.imports-metric-modal-controls{padding:var(--space-sm) var(--space-lg);border-bottom:1px solid var(--color-slate-200);background:var(--color-slate-50)}.metric-controls-row{display:flex;align-items:center;gap:var(--space-md);flex-wrap:wrap}.metric-view-toggle{display:flex;gap:4px;background:var(--color-white);padding:3px;border-radius:var(--radius-8);border:1px solid var(--color-slate-200);width:fit-content}.metric-view-toggle button{padding:6px 14px;border:none;border-radius:var(--radius-sm);background:transparent;font-size:var(--text-xs-plus);font-weight:500;color:var(--color-slate-500);cursor:pointer;transition:all .15s;white-space:nowrap}.metric-view-toggle button:hover{color:var(--color-slate-800)}.metric-view-toggle button.active{background:var(--color-primary);color:#fff}.metric-date-range{display:flex;align-items:center;gap:var(--space-xs);margin-top:var(--space-sm);flex-wrap:wrap}.date-range-label{font-size:var(--text-xs);color:var(--color-slate-500);font-weight:500}.date-input{padding:6px 10px;border:1px solid var(--color-slate-200);border-radius:var(--radius-sm);font-size:var(--text-xs);color:var(--color-slate-700);background:var(--color-white)}.date-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #10b98126}.date-separator{font-size:var(--text-xs);color:var(--color-slate-400)}.apply-range-btn{padding:6px 12px;border:1px solid var(--color-primary);border-radius:var(--radius-sm);background:var(--color-primary);color:#fff;font-size:var(--text-xs);font-weight:500;cursor:pointer;transition:all .15s}.apply-range-btn:hover{background:var(--color-primary-600);border-color:var(--color-primary-600)}.metric-range-buttons{display:flex;gap:4px;background:var(--color-white);padding:3px;border-radius:var(--radius-8);border:1px solid var(--color-slate-200);width:fit-content}.metric-range-buttons button{padding:6px 14px;border:none;border-radius:var(--radius-sm);background:transparent;font-size:var(--text-xs-plus);font-weight:500;color:var(--color-slate-500);cursor:pointer;transition:all .15s}.metric-range-buttons button:hover{color:var(--color-slate-800)}.metric-range-buttons button.active{background:var(--color-primary);color:#fff}.imports-metric-stats-panel{padding:var(--space-md) var(--space-lg);background:var(--color-white);border-bottom:1px solid var(--color-slate-100)}.metric-stats-grid{display:flex;gap:var(--space-lg);flex-wrap:wrap}.metric-stat{display:flex;flex-direction:column;gap:var(--space-2xs)}.metric-stat-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--color-slate-500)}.metric-stat-value{font-size:var(--text-lg);font-weight:700;color:var(--color-slate-900)}.metric-stat-value.positive{color:var(--color-success)}.metric-stat-value.negative{color:var(--color-error)}.metric-stat-date{font-size:var(--text-xs);color:var(--color-slate-400)}.imports-metric-chart-container{padding:var(--space-md) var(--space-lg);min-height:280px;background:var(--color-white)}.metric-full-chart{display:block}.metric-full-chart .chart-point{transition:r .15s ease}.metric-full-chart .chart-point:hover{r:7}.metric-table{width:100%;border-collapse:collapse;font-size:var(--text-xs)}.metric-table thead{position:sticky;top:0;background:var(--color-slate-50)}.metric-table th{padding:8px 12px;text-align:left;font-weight:600;color:var(--color-slate-500);border-bottom:1px solid var(--color-slate-200);text-transform:uppercase;font-size:var(--text-2xs)}.metric-table th.numeric{text-align:right}.metric-table td{padding:8px 12px;color:var(--color-slate-800);border-bottom:1px solid var(--color-slate-100)}.metric-table td.period-cell{font-weight:500}.metric-table td.num-cell{text-align:right;font-variant-numeric:tabular-nums}.metric-table td.positive{color:var(--color-success);font-weight:500}.metric-table td.negative{color:var(--color-error);font-weight:500}.imports-metric-data-table-wrapper{padding:0 var(--space-lg) var(--space-lg);max-height:250px;overflow-y:auto}.imports-metric-data-table-wrapper h4{margin:0 0 var(--space-sm);font-size:var(--text-sm);font-weight:600;color:var(--color-slate-700)}.imports-metric-data-table table{width:100%;border-collapse:collapse;font-size:var(--text-xs)}.imports-metric-data-table thead{position:sticky;top:0;background:var(--color-slate-50)}.imports-metric-data-table th{padding:8px 12px;text-align:left;font-weight:600;color:var(--color-slate-500);border-bottom:1px solid var(--color-slate-200);text-transform:uppercase;font-size:var(--text-2xs)}.imports-metric-data-table th:not(:first-child){text-align:right}.imports-metric-data-table td{padding:8px 12px;color:var(--color-slate-800);border-bottom:1px solid var(--color-slate-100)}.imports-metric-data-table td.num-cell{text-align:right;font-variant-numeric:tabular-nums}.imports-metric-data-table td.positive{color:var(--color-success);font-weight:500}.imports-metric-data-table td.negative{color:var(--color-error);font-weight:500}.imports-metric-data-table tbody tr:hover{background:var(--color-slate-50)}.metric-no-data{display:flex;align-items:center;justify-content:center;height:200px;color:var(--color-slate-400);font-size:var(--text-sm)}.sparkline-data-table{max-height:200px;overflow-y:auto;border:1px solid var(--color-slate-200);border-radius:var(--radius-8)}.sparkline-data-table table{width:100%;border-collapse:collapse;font-size:var(--text-xs)}.sparkline-data-table thead{position:sticky;top:0;background:var(--color-slate-50);z-index:1}.sparkline-data-table th{padding:6px 10px;text-align:right;font-weight:600;color:var(--color-slate-500);border-bottom:1px solid var(--color-slate-200)}.sparkline-data-table th:first-child{text-align:left}.sparkline-data-table td{padding:5px 10px;text-align:right;color:var(--color-slate-800);border-bottom:1px solid var(--color-slate-100)}.sparkline-data-table td:first-child{text-align:left;font-weight:500;color:var(--color-slate-500)}.sparkline-data-table tbody tr:hover{background:var(--color-slate-50)}.loading-row,.error-row,.empty-row{text-align:center!important;color:var(--color-slate-400)!important;padding:20px!important}.error-row{color:var(--color-error)!important}.period-cell{font-weight:500;color:var(--color-slate-600)}.num-cell{font-variant-numeric:tabular-nums}@media(max-width:1200px){.imports-detail-panel.visible{width:320px}.imports-summary-panel{width:280px}}@media(max-width:992px){.imports-filter-bar{gap:var(--space-sm-lg)}.filter-checkbox-group{flex-direction:column;gap:var(--space-xs-plus)}.imports-stats{flex-wrap:wrap;gap:var(--space-md)}}@media(max-width:768px){.imports-content{flex-direction:column}.imports-detail-panel.visible{width:100%;height:300px;border-left:none;border-top:1px solid var(--color-slate-200)}.imports-summary-panel{width:100%;max-height:300px;border-left:none;border-top:1px solid var(--color-slate-200)}.imports-header{flex-direction:column;gap:var(--space-sm-lg);align-items:flex-start}}.transactions-section{display:flex;flex-direction:column;gap:var(--space-md);padding:var(--space-md)}.transactions-section__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);flex-wrap:wrap}.transactions-section__title-block h2{margin:0;font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary)}.transactions-section__title-block p{margin:0;font-size:var(--font-size-sm);color:var(--text-secondary)}.transactions-section__sub-tabs{display:inline-flex;border-bottom:1px solid var(--border-color);gap:var(--space-xs)}.transactions-section__sub-tab{background:transparent;border:0;padding:8px 14px;font-size:var(--font-size-sm);color:var(--text-secondary);cursor:pointer;border-bottom:2px solid transparent;display:inline-flex;align-items:center;gap:6px;font-weight:500}.transactions-section__sub-tab:hover{color:var(--text-primary)}.transactions-section__sub-tab.is-active{color:var(--accent-primary);border-bottom-color:var(--accent-primary);font-weight:600}.transactions-section__sub-tab-count{background:var(--surface-tertiary);border-radius:999px;padding:1px 8px;font-size:11px;font-weight:600;color:var(--text-secondary)}.transactions-section__sub-tab.is-active .transactions-section__sub-tab-count{background:var(--accent-primary);color:#fff}.transactions-filters{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap;padding:var(--space-sm);background:var(--surface-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md)}.transactions-filters__group{display:inline-flex;align-items:center;gap:6px;font-size:var(--font-size-sm);color:var(--text-secondary)}.transactions-filters__select,.transactions-filters__input{padding:6px 10px;font-size:var(--font-size-sm);border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--surface-primary);color:var(--text-primary)}.transactions-filters__input{min-width:220px}.transactions-filters__checkbox{display:inline-flex;align-items:center;gap:6px;cursor:pointer}.transactions-filters__bulk{margin-left:auto;display:inline-flex;gap:var(--space-xs)}.transactions-list__table-wrapper{border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:auto;background:var(--surface-primary)}.transactions-list__table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--font-size-sm)}.transactions-list__table th,.transactions-list__table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border-color);vertical-align:middle;white-space:nowrap}.transactions-list__table th{background:var(--surface-secondary);font-weight:600;color:var(--text-secondary);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.04em;position:sticky;top:0;z-index:1}.transactions-list__row:hover{background:var(--surface-hover)}.transactions-list__row.is-selected{background:var(--surface-selected)}.transactions-list__row--unresolved{background:#fcd34d14}.transactions-list__cell--value{text-align:right;font-variant-numeric:tabular-nums;font-weight:500}.transactions-list__cell--date{color:var(--text-secondary);font-variant-numeric:tabular-nums}.transactions-list__chips{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px;max-width:240px}.transactions-list__actions{display:inline-flex;gap:6px;white-space:nowrap}.transactions-list__action-btn{background:var(--surface-secondary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:4px 10px;font-size:var(--font-size-xs);cursor:pointer}.transactions-list__action-btn:hover{background:var(--surface-hover)}.transactions-list__action-btn--primary{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.transactions-list__action-btn--primary:hover{background:var(--accent-primary-hover)}.transactions-list__action-btn--danger{background:#fee2e2;color:#991b1b;border-color:#fca5a5}.transactions-list__action-btn:disabled{opacity:.5;cursor:not-allowed}.transactions-list__empty{padding:60px 20px;text-align:center;color:var(--text-secondary);font-size:var(--font-size-sm)}.transactions-list__pagination{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-top:1px solid var(--border-color);background:var(--surface-secondary);font-size:var(--font-size-xs);color:var(--text-secondary)}.transactions-list__pagination button{background:var(--surface-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:4px 10px;font-size:var(--font-size-xs);cursor:pointer;margin:0 2px}.transactions-list__pagination button:disabled{opacity:.4;cursor:not-allowed}.tx-confidence-bar{display:inline-block;width:60px;height:6px;border-radius:3px;background:var(--surface-tertiary);overflow:hidden;vertical-align:middle}.tx-confidence-bar__fill{height:100%;background:var(--accent-primary)}.tx-confidence-bar--high .tx-confidence-bar__fill{background:#10b981}.tx-confidence-bar--medium .tx-confidence-bar__fill{background:#f59e0b}.tx-confidence-bar--low .tx-confidence-bar__fill{background:#ef4444}.tx-detail-drawer__overlay{position:fixed;inset:0;background:#0f172a73;z-index:80;display:flex;justify-content:flex-end}.tx-detail-drawer__panel{width:min(640px,100vw);background:var(--surface-primary);height:100%;display:flex;flex-direction:column;box-shadow:-8px 0 24px #0f172a2e}.tx-detail-drawer__header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md);border-bottom:1px solid var(--border-color)}.tx-detail-drawer__title{margin:0;font-size:var(--font-size-md);font-weight:600}.tx-detail-drawer__close{background:transparent;border:0;cursor:pointer;font-size:22px;line-height:1;color:var(--text-secondary);padding:4px 8px}.tx-detail-drawer__body{flex:1;overflow:auto;padding:var(--space-md);display:flex;flex-direction:column;gap:var(--space-md)}.tx-detail-drawer__footer{display:flex;justify-content:flex-end;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);border-top:1px solid var(--border-color);background:var(--surface-secondary)}.tx-detail-drawer__section{border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);background:var(--surface-primary)}.tx-detail-drawer__section h3{margin:0 0 6px;font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.tx-detail-drawer__field{display:grid;grid-template-columns:130px 1fr auto;gap:8px;font-size:var(--font-size-sm);padding:4px 0;border-bottom:1px dashed var(--border-color)}.tx-detail-drawer__field:last-child{border-bottom:0}.tx-detail-drawer__field-label{color:var(--text-secondary);font-weight:500}.tx-detail-drawer__field-prov{font-size:11px;color:var(--text-tertiary);font-style:italic}.tx-detail-drawer__field-lock{color:#b45309;font-size:12px;margin-left:4px}.tx-detail-drawer__source-card{border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:8px 10px;font-size:var(--font-size-sm);margin-bottom:6px}.tx-detail-drawer__source-card a{color:var(--accent-primary);text-decoration:none}.tx-detail-drawer__source-card a:hover{text-decoration:underline}.tx-detail-drawer__value{word-break:break-word}.tx-detail-drawer__pre{margin:0;font-size:12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre-wrap;word-break:break-word}.buyer-seller-picker{position:relative;display:inline-block;min-width:240px}.buyer-seller-picker__input{width:100%;padding:6px 10px;font-size:var(--font-size-sm);border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--surface-primary)}.buyer-seller-picker__results{position:absolute;top:calc(100% + 2px);left:0;right:0;background:var(--surface-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);box-shadow:0 8px 24px #0f172a1f;max-height:280px;overflow:auto;z-index:70}.buyer-seller-picker__option{padding:8px 10px;font-size:var(--font-size-sm);cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px}.buyer-seller-picker__option:hover{background:var(--surface-hover)}.buyer-seller-picker__option-name{font-weight:500}.buyer-seller-picker__option-meta{font-size:11px;color:var(--text-secondary)}.buyer-seller-picker__create{padding:8px 10px;font-size:var(--font-size-sm);background:var(--surface-secondary);cursor:pointer;border-top:1px solid var(--border-color);color:var(--accent-primary);font-weight:500}.buyer-seller-picker__create:hover{background:var(--surface-hover)}.buyer-seller-picker__empty{padding:12px;font-size:var(--font-size-sm);color:var(--text-secondary);text-align:center}.manual-tx-entry__form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-sm);padding:var(--space-md)}.manual-tx-entry__field{display:flex;flex-direction:column;gap:4px;font-size:var(--font-size-sm)}.manual-tx-entry__field--full{grid-column:1 / -1}.manual-tx-entry__field label{font-weight:500;color:var(--text-secondary);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.04em}.manual-tx-entry__field input,.manual-tx-entry__field select,.manual-tx-entry__field textarea{padding:6px 10px;font-size:var(--font-size-sm);border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--surface-primary);color:var(--text-primary)}.manual-tx-entry__field textarea{min-height:80px;resize:vertical}.manual-tx-entry__form-grid--footer{display:flex;justify-content:flex-end;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);border-top:1px solid var(--border-color)}.tx-refresh-card{background:var(--surface-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--space-md);display:flex;flex-direction:column;gap:var(--space-sm);max-width:720px}.tx-refresh-card h3{margin:0;font-size:var(--font-size-md);font-weight:600}.tx-refresh-card p{margin:0;font-size:var(--font-size-sm);color:var(--text-secondary)}.tx-refresh-card__sources{display:flex;gap:var(--space-md)}.tx-refresh-card__source-option{display:flex;align-items:center;gap:6px;font-size:var(--font-size-sm);cursor:pointer}.tx-refresh-card__progress{display:flex;flex-direction:column;gap:6px;padding-top:var(--space-sm);border-top:1px solid var(--border-color)}.tx-refresh-card__stage-bar{display:flex;gap:4px;flex-wrap:wrap}.tx-refresh-card__stage-pill{padding:2px 10px;border-radius:999px;font-size:11px;background:var(--surface-secondary);color:var(--text-secondary)}.tx-refresh-card__stage-pill.is-active{background:var(--accent-primary);color:#fff}.tx-refresh-card__stage-pill.is-done{background:#d1fae5;color:#065f46}.tx-refresh-card__actions{display:flex;justify-content:flex-end;gap:var(--space-xs)}.related-transactions{border-top:1px dashed var(--border-color);padding:8px 12px;background:var(--surface-secondary);font-size:var(--font-size-xs)}.related-transactions__title{font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);margin:0 0 6px}.related-transactions__row{display:flex;justify-content:space-between;gap:8px;padding:4px 0;border-bottom:1px dotted var(--border-color)}.related-transactions__row:last-child{border-bottom:0}.related-transactions__empty{color:var(--text-tertiary);font-style:italic}.external-pull{max-width:720px;margin:0 auto;padding:24px}.external-pull__header{margin-bottom:24px}.external-pull__title{font-size:20px;font-weight:600;margin:0 0 8px;color:var(--text-primary, #111827)}.external-pull__subtitle{margin:0;font-size:14px;color:var(--text-secondary, #6B7280);line-height:1.5}.external-pull__form{display:flex;flex-direction:column;gap:16px;background:var(--bg-card, #fff);padding:20px;border-radius:8px;border:1px solid var(--border-color, #E5E7EB)}.external-pull__row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.external-pull__field{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--text-secondary, #6B7280)}.external-pull__field input,.external-pull__field select{padding:8px 10px;border:1px solid var(--border-color, #D1D5DB);border-radius:6px;font-size:14px;color:var(--text-primary, #111827);background:#fff}.external-pull__field input:disabled{background:#f3f4f6;color:#9ca3af}.external-pull__status{padding:12px;background:#eff6ff;border:1px solid #BFDBFE;border-radius:6px;font-size:13px;color:#1e40af}.external-pull__actions{display:flex;justify-content:flex-end;gap:12px;margin-top:8px}.domain-data-list{padding:24px}.domain-data-list__header{margin-bottom:16px}.domain-data-list__title{font-size:22px;font-weight:600;margin:0 0 4px;color:var(--text-primary, #111827)}.domain-data-list__subtitle{margin:0;font-size:14px;color:var(--text-secondary, #6B7280)}.domain-data-list__filter-row{display:flex;gap:12px;align-items:center;margin-bottom:16px;font-size:13px;color:var(--text-secondary, #6B7280)}.domain-data-list__filter-row select{padding:6px 8px;border:1px solid var(--border-color, #D1D5DB);border-radius:4px;font-size:13px}.domain-data-list__empty{padding:40px;text-align:center;color:var(--text-secondary, #6B7280);background:var(--bg-card, #fff);border-radius:8px;border:1px dashed var(--border-color, #D1D5DB)}.domain-data-list__table{width:100%;border-collapse:collapse;background:var(--bg-card, #fff);font-size:13px}.domain-data-list__table th,.domain-data-list__table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border-color, #E5E7EB);vertical-align:top}.domain-data-list__table th{background:#f9fafb;font-weight:600;color:var(--text-secondary, #6B7280);font-size:12px;text-transform:uppercase;letter-spacing:.5px}.domain-data-list__table td code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;background:#f3f4f6;padding:2px 6px;border-radius:3px;font-size:12px}.domain-data-list__table td button{margin-right:6px}.domain-data-list__rows{padding:12px;background:#f9fafb;border-radius:6px}.domain-data-list__inner-table{width:100%;border-collapse:collapse;margin-top:8px;font-size:12px}.domain-data-list__inner-table th,.domain-data-list__inner-table td{padding:6px 10px;text-align:left;border-bottom:1px solid #E5E7EB}.domain-data-list__inner-table th{background:#fff;font-weight:600;color:var(--text-secondary, #6B7280)}.pill{display:inline-block;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.4px}.pill--staged{background:#fef3c7;color:#92400e}.pill--approved{background:#d1fae5;color:#065f46}.pill--rejected{background:#fee2e2;color:#991b1b}.btn{display:inline-block;padding:6px 12px;border-radius:6px;border:1px solid var(--border-color, #D1D5DB);background:#fff;color:var(--text-primary, #111827);font-size:13px;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s}.btn:hover:not(:disabled){background:#f3f4f6}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--small{padding:4px 8px;font-size:12px}.btn--primary{background:#2563eb;color:#fff;border-color:#2563eb}.btn--primary:hover:not(:disabled){background:#1d4ed8}.btn--secondary{background:#fff;color:var(--text-primary, #111827)}.btn--danger{background:#dc2626;color:#fff;border-color:#dc2626}.btn--danger:hover:not(:disabled){background:#b91c1c}.map-wrapper{flex:1;display:flex;position:relative;min-height:0}.main-content{flex:1;display:flex;position:relative;overflow:visible}.map-container{position:fixed;top:var(--header-height, 100px);left:var(--map-left-offset, 500px);right:0;bottom:0;transition:left var(--transition-normal);z-index:var(--z-base)}body.nav-collapsed .map-container{left:calc(var(--nav-sidebar-collapsed-width) + var(--layers-current-width))}body.layers-collapsed .map-container{left:calc(var(--nav-current-width) + 60px)}body.nav-collapsed.layers-collapsed .map-container{left:calc(var(--nav-sidebar-collapsed-width) + 60px)}#map{width:100%;height:100%}.mapboxgl-ctrl-top-right,.maplibregl-ctrl-top-right{top:10px;right:10px;margin:0!important;padding:0!important}.mapboxgl-ctrl-top-right .mapboxgl-ctrl,.maplibregl-ctrl-top-right .maplibregl-ctrl{margin:0!important;float:none!important}.mapboxgl-ctrl-group,.maplibregl-ctrl-group{background:var(--color-surface-light)!important;border:none!important;border-radius:var(--radius-md)!important;box-shadow:var(--shadow-neu-outer)!important;overflow:hidden;width:36px!important}.mapboxgl-ctrl-group button,.maplibregl-ctrl-group button{width:36px!important;height:36px!important;border:none!important}.mapboxgl-ctrl-group button:not(:disabled):hover,.maplibregl-ctrl-group button:not(:disabled):hover{background:var(--color-surface)!important}.mapboxgl-ctrl-group button+button,.maplibregl-ctrl-group button+button{border-top:1px solid var(--color-surface-dark)!important}.mapboxgl-ctrl-attrib,.maplibregl-ctrl-attrib{font-size:var(--text-xs);background:rgba(var(--color-white-rgb),.8)!important;padding:var(--space-2xs) 6px!important;border-radius:var(--radius-sm)!important}.mapboxgl-ctrl-bottom-left,.mapboxgl-ctrl-bottom-right,.maplibregl-ctrl-bottom-left,.maplibregl-ctrl-bottom-right{bottom:60px!important}.mapboxgl-ctrl-logo,.maplibregl-ctrl-logo{margin:0 0 15px 10px!important}.mapboxgl-ctrl-attrib-inner,.maplibregl-ctrl-attrib-inner{margin-bottom:15px!important}.filters-drawer{position:fixed;top:var(--header-height);right:0;width:var(--sidebar-width);height:calc(100vh - var(--header-height));background:var(--color-surface);border-left:1px solid var(--color-surface-dark);box-shadow:-8px 0 32px rgba(var(--color-anchor-rgb),.1);transform:translate(100%);transition:transform .25s ease;z-index:var(--z-drawer);display:flex;flex-direction:column}.filters-drawer.open{transform:translate(0)}.export-modal{position:fixed;inset:0;background:rgba(var(--color-anchor-rgb),.8);display:none;align-items:center;justify-content:center;z-index:var(--z-sticky)}.export-modal.visible{display:flex}.export-content{background:var(--color-surface-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-elevation-3);padding:var(--space-lg);width:90%;max-width:600px;max-height:90vh;overflow-y:auto}.menu-item{display:flex;align-items:center;gap:var(--space-xs-plus);padding:var(--space-xs-plus) 12px;background:transparent;border:none;border-radius:var(--radius-sm);color:rgba(var(--color-white-rgb),.8);cursor:pointer;transition:all var(--transition-fast);font-family:var(--font-primary);font-size:var(--text-sm-plus);font-weight:500}.menu-item:hover{background:rgba(var(--color-white-rgb),.1);color:#fff}.menu-item.active{background:rgba(var(--color-white-rgb),.15);color:#fff}.menu-item svg{width:18px;height:18px}.tool-btn{display:flex;align-items:center;gap:var(--space-xs-plus);height:32px;padding:0 12px;background:var(--color-surface);border:1px solid var(--color-surface-dark);border-radius:var(--radius-sm);color:var(--color-base);font-family:var(--font-primary);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.tool-btn:hover{background:var(--color-surface-dark);border-color:var(--color-primary)}.tool-btn.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.tool-btn svg{flex-shrink:0}.tool-label{white-space:nowrap}.search-wrapper{position:relative}.search-wrapper .search-input{width:240px;height:32px;padding:0 12px;background:var(--color-surface);border:1px solid var(--color-surface-dark);border-radius:var(--radius-sm);font-family:var(--font-primary);font-size:var(--text-sm-plus);color:var(--color-base)}.search-wrapper .search-input:focus{outline:none;border-color:var(--color-primary)}.filter-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs-plus) 8px;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast)}.filter-item:hover{background:var(--color-surface-light)}.filter-item.featured{background:rgba(var(--color-primary-rgb),.08)}.filter-item input[type=checkbox]{width:16px;height:16px;margin:0;cursor:pointer}.filter-color{width:12px;height:12px;border-radius:var(--radius-sm);flex-shrink:0}.filter-color.railroad-color{width:16px;height:3px;border-radius:1px}.filter-label{flex:1;font-size:var(--text-sm);color:var(--color-base)}.feature-btn{width:20px;height:20px;padding:0;background:transparent;border:none;color:var(--color-base-light);cursor:pointer;opacity:.5;transition:all var(--transition-fast)}.feature-btn:hover,.feature-btn.active{opacity:1;color:var(--color-yellow)}.filter-controls{display:flex;gap:var(--space-sm);padding:var(--space-sm);border-bottom:1px solid var(--color-surface-dark)}.filter-btn{padding:var(--space-xs) 8px;font-size:var(--text-xs-plus);font-family:var(--font-primary);background:var(--color-surface);border:1px solid var(--color-surface-dark);border-radius:var(--radius-sm);color:var(--color-base-muted);cursor:pointer;transition:all var(--transition-fast)}.filter-btn:hover{background:var(--color-surface-dark);color:var(--color-base)}.filter-btn.select-all{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.sidebar-tabs{display:flex;border-bottom:1px solid var(--color-surface-dark)}.sidebar-tab{flex:1;padding:var(--space-sm-plus) 8px;font-size:var(--text-xs-plus);font-family:var(--font-primary);font-weight:500;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--color-base-muted);cursor:pointer;transition:all var(--transition-fast)}.sidebar-tab:hover{color:var(--color-base)}.sidebar-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.sidebar-panel{display:none}.sidebar-panel.active{display:block}.sidebar-close{padding:var(--space-xs);background:transparent;border:none;color:var(--color-base-muted);cursor:pointer;transition:color var(--transition-fast)}.sidebar-close:hover{color:var(--color-base)}.company-list,.product-list,.railroad-list{padding:var(--space-sm);max-height:calc(100vh - 250px);overflow-y:auto}.map-summary-tiles{position:absolute;top:10px;left:10px;right:60px;display:flex;justify-content:space-between;z-index:var(--z-header);pointer-events:none}.summary-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-sm) var(--space-md);background:rgba(var(--color-anchor-rgb),.9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-lg);box-shadow:var(--shadow-elevation-3);width:calc((100% - 50px) / 6);min-width:100px;pointer-events:auto;text-align:center}.summary-tile-value{font-size:var(--text-3xl);font-weight:700;color:var(--color-signal);line-height:1;margin-bottom:var(--space-xs);text-align:center}.summary-tile-label{font-size:var(--text-xs);font-weight:600;color:rgba(var(--color-white-rgb),.7);text-transform:uppercase;letter-spacing:.1em;text-align:center}.map-controls{position:absolute;top:10px;right:10px;display:flex;flex-direction:column;gap:var(--space-sm);z-index:var(--z-controls)}.map-control-group{display:flex;flex-direction:column;background:var(--color-surface-light);border-radius:var(--radius-md);box-shadow:var(--shadow-neu-outer);overflow:hidden}.map-control-group .map-control-btn{box-shadow:none;border-radius:0}.map-control-group .map-control-btn:not(:last-child){border-bottom:1px solid var(--color-surface-dark)}.basemap-menu{background:var(--color-surface-light);border-radius:var(--radius-md);box-shadow:var(--shadow-elevation-3);padding:var(--space-xs);z-index:var(--z-overlay)}.basemap-menu .basemap-option{display:block;width:100%;text-align:left}.left-sidebar.open{transform:translate(0)}.protected-content{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.watermark-overlay{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:var(--z-fullscreen);opacity:0;visibility:hidden}.watermark-overlay.visible{opacity:1;visibility:visible}
