.mobile-app{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;background:var(--background);color:var(--text-primary)}.mobile-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;height:var(--header-h);padding:0 var(--space-4);padding-top:env(safe-area-inset-top);background:var(--panel);border-bottom:1px solid var(--border)}.mobile-brand{font-size:var(--fs-lg);font-weight:700;color:var(--text-primary);letter-spacing:.04em;cursor:pointer;-webkit-user-select:none;user-select:none}.mobile-header-actions{display:flex;align-items:center;gap:var(--space-2)}.mobile-desktop-btn{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--border);background:transparent;color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;font-family:inherit;transition:background .15s,color .15s}.mobile-desktop-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.mobile-avatar-btn{width:32px;height:32px;border:none;background:var(--primary);color:var(--primary-foreground);border-radius:var(--radius-full);font-size:var(--fs-xs);font-weight:600;display:flex;align-items:center;justify-content:center;cursor:pointer;font-family:inherit}.mobile-content{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:env(safe-area-inset-bottom)}.mobile-search{position:sticky;top:0;z-index:5;padding:var(--space-3) var(--space-4);background:var(--background)}.mobile-search-wrap{position:relative}.mobile-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-tertiary);pointer-events:none}.mobile-search-input{width:100%;height:var(--tap);padding:0 var(--space-4) 0 40px;border:1px solid var(--border);border-radius:var(--radius-full);background:var(--panel);font-size:var(--fs-base);color:var(--text-primary);font-family:inherit;outline:none}.mobile-search-input::placeholder{color:var(--text-tertiary)}.mobile-search-input:focus{border-color:var(--action-blue);box-shadow:0 0 0 2px #2563eb26}.mobile-chips{display:flex;gap:var(--space-2);overflow-x:auto;-webkit-overflow-scrolling:touch;padding:0 var(--space-4) var(--space-3);scrollbar-width:none}.mobile-chips::-webkit-scrollbar{display:none}.mobile-chip{flex-shrink:0;height:34px;padding:0 var(--space-4);border:1px solid var(--border);border-radius:var(--radius-full);background:var(--panel);color:var(--text-secondary);font-size:var(--fs-sm);font-weight:500;white-space:nowrap;cursor:pointer;font-family:inherit;transition:all .15s}.mobile-chip.active{background:var(--primary);color:var(--primary-foreground);border-color:var(--primary)}.mobile-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3);padding:0 var(--space-4)}.mobile-product-card{border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;cursor:pointer;background:var(--panel);transition:box-shadow .15s}.mobile-product-card:active{box-shadow:var(--shadow-md)}.mobile-product-img{width:100%;aspect-ratio:1;object-fit:contain;background:var(--muted);display:block;padding:var(--space-2)}.mobile-product-info{padding:var(--space-3)}.mobile-product-name{font-size:var(--fs-sm);font-weight:600;color:var(--text-primary);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.mobile-product-brand{font-size:var(--fs-xs);color:var(--text-secondary);margin-top:2px}.mobile-product-price{font-size:var(--fs-sm);font-weight:700;color:var(--text-primary);margin-top:var(--space-2);font-variant-numeric:tabular-nums}.mobile-product-code{font-size:11px;color:var(--text-tertiary);font-family:monospace;margin-top:2px}.mobile-loading{display:flex;justify-content:center;padding:var(--space-6);color:var(--text-tertiary);font-size:var(--fs-sm)}.mobile-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-10) var(--space-4);text-align:center;color:var(--text-secondary)}.mobile-empty-title{font-size:var(--fs-lg);font-weight:600;margin-bottom:var(--space-2)}.mobile-empty-desc{font-size:var(--fs-sm);color:var(--text-tertiary)}.mobile-result-count{padding:0 var(--space-4) var(--space-2);font-size:var(--fs-xs);color:var(--text-tertiary)}.mobile-detail{padding-bottom:calc(var(--space-10) + env(safe-area-inset-bottom))}.mobile-back{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-3) var(--space-4);border:none;background:transparent;color:var(--text-secondary);font-size:var(--fs-sm);font-weight:500;cursor:pointer;font-family:inherit}.mobile-back:active{color:var(--text-primary)}.mobile-detail-hero{width:100%;aspect-ratio:4 / 3;background:var(--muted);display:flex;align-items:center;justify-content:center}.mobile-detail-hero img{width:100%;height:100%;object-fit:contain;padding:var(--space-4)}.mobile-detail-body{padding:var(--space-4)}.mobile-detail-code{font-family:monospace;font-size:var(--fs-xs);color:var(--text-tertiary);letter-spacing:.02em}.mobile-detail-title{font-size:var(--fs-2xl);font-weight:700;margin:var(--space-1) 0 0;line-height:1.2}.mobile-detail-brand{font-size:var(--fs-sm);color:var(--text-secondary);margin-top:var(--space-1)}.mobile-detail-badges{display:flex;gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap}.mobile-detail-description{font-size:var(--fs-sm);color:var(--text-secondary);line-height:1.6;margin-top:var(--space-4)}.mobile-pricing{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);padding:var(--space-4);background:var(--muted);border-radius:var(--radius-md);margin-top:var(--space-4)}.mobile-pricing-item{display:flex;flex-direction:column}.mobile-pricing-label{font-size:var(--fs-xs);color:var(--text-tertiary);margin-bottom:2px}.mobile-pricing-value{font-size:var(--fs-lg);font-weight:700;font-variant-numeric:tabular-nums}.mobile-section-title{font-size:var(--fs-base);font-weight:600;color:var(--text-primary);margin:var(--space-6) 0 var(--space-3)}.mobile-specs{border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.mobile-spec-row{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-4);font-size:var(--fs-sm)}.mobile-spec-row+.mobile-spec-row{border-top:1px solid var(--border)}.mobile-spec-label{color:var(--text-secondary)}.mobile-spec-value{font-weight:500;color:var(--text-primary);text-align:right}.mobile-stock-summary{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-4);background:var(--muted);border-radius:var(--radius-md);margin-bottom:var(--space-3)}.mobile-stock-summary-label{font-size:var(--fs-sm);color:var(--text-secondary)}.mobile-stock-summary-value{font-size:var(--fs-lg);font-weight:700;font-variant-numeric:tabular-nums}.mobile-stock-list{border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.mobile-stock-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-4);font-size:var(--fs-sm)}.mobile-stock-item+.mobile-stock-item{border-top:1px solid var(--border)}.mobile-stock-name{display:flex;flex-direction:column}.mobile-stock-warehouse{font-weight:500;color:var(--text-primary)}.mobile-stock-location{font-size:var(--fs-xs);color:var(--text-tertiary)}.mobile-stock-qty{font-weight:600;font-variant-numeric:tabular-nums}.mobile-detail-loading{display:flex;align-items:center;justify-content:center;min-height:60vh;color:var(--text-tertiary);font-size:var(--fs-sm)}:root{--primary-hsl: 221.3 100% 12%;--primary: hsl(var(--primary-hsl));--primary-foreground: hsl(210 40% 98%);--primary-dark: #000d2a;--primary-light: #001a4d;--primary-bg: hsl(210 40% 96.1%);--primary-border: #CBD5E1;--secondary-hsl: 210 40% 96.1%;--secondary: hsl(var(--secondary-hsl));--secondary-foreground: hsl(222.2 47.4% 11.2%);--background-hsl: 0 0% 100%;--background: hsl(var(--background-hsl));--foreground-hsl: 222.2 84% 4.9%;--foreground: hsl(var(--foreground-hsl));--muted-hsl: 210 40% 96.1%;--muted: hsl(var(--muted-hsl));--muted-foreground-hsl: 215.4 16.3% 46.9%;--muted-foreground: hsl(var(--muted-foreground-hsl));--card-hsl: 0 0% 100%;--card: hsl(var(--card-hsl));--card-foreground: hsl(222.2 84% 4.9%);--border-hsl: 214.3 31.8% 85%;--border: hsl(var(--border-hsl));--input: hsl(214.3 31.8% 85%);--border-light: #F1F5F9;--destructive-hsl: 0 84.2% 60.2%;--destructive: hsl(var(--destructive-hsl));--destructive-foreground: hsl(210 40% 98%);--accent-hsl: 210 40% 96.1%;--accent: hsl(var(--accent-hsl));--accent-foreground: hsl(222.2 47.4% 11.2%);--accent-red: #8B3A3A;--accent-red-light: #F5E6E6;--ring: hsl(221.2 83.2% 53.3%);--detail-header-bg: #3B6B9C;--detail-doc-pill-bg: #EEF2FF;--detail-doc-pill-color: #3B6B9C;--detail-total-row-bg: #3B6B9C;--detail-icon-pdf: #B91C1C;--action-blue: #3B6B9C;--action-blue-dark: #3B6B9C;--bg: hsl(var(--background-hsl));--panel: hsl(var(--card-hsl));--text-primary: hsl(var(--foreground-hsl));--text-secondary: hsl(var(--muted-foreground-hsl));--text-tertiary: #94A3B8;--success-hsl: 142.1 76.2% 36.3%;--success: #22C55E;--success-light: #DCFCE7;--success-dark: #15803D;--warning-hsl: 38 92% 50%;--warning: #F59E0B;--warning-light: #FEF3C7;--error-hsl: 0 84.2% 60.2%;--error: #EF4444;--error-light: #FEE2E2;--info: #0EA5E9;--chart-1: #3B6B9C;--chart-2: #3B82F6;--chart-3: #60A5FA;--chart-4: #93C5FD;--chart-5: #BFDBFE;--chart-6: #DBEAFE;--font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--fs-xs: 12px;--fs-sm: 14px;--fs-base: 16px;--fs-md: 16px;--fs-lg: 18px;--fs-xl: 20px;--fs-2xl: 24px;--fs-3xl: 30px;--fs-4xl: 42px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--header-h: 88px;--gap: 16px;--pad: 24px;--radius: .5rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-full: 9999px;--radius-button: 0;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1);--tap: 44px;--nav-h: 64px;--bg-primary: var(--card);--bg-secondary: var(--muted);--bg-tertiary: var(--accent);--bg-hover: var(--accent);--bg-active: var(--accent);--card-bg: var(--card);--header-bg: var(--card);--hover-bg: var(--accent);--table-header-bg: var(--muted);--table-header-color: var(--muted-foreground);--border-color: var(--border);--border-subtle: var(--border-light);--border-strong: var(--border);--text: var(--text-primary);--text-muted: var(--muted-foreground);--text-link: var(--action-blue);--color-danger: var(--error);--color-destructive: var(--destructive);--color-error: var(--error);--color-error-bg: var(--error-light);--danger: var(--error);--danger-bg: var(--error-light);--destructive-bg: var(--error-light);--error-bg: var(--error-light);--color-success: var(--success);--color-success-bg: var(--success-light);--success-bg: var(--success-light);--color-warning: var(--warning);--color-warning-bg: var(--warning-light);--warning-bg: var(--warning-light);--warning-border: var(--warning);--warning-text: var(--warning);--bg-warning: var(--warning-light);--color-info: var(--info);--color-info-bg: #E0F2FE;--color-info-border: var(--info);--color-info-text: var(--info);--info-bg: #E0F2FE;--info-light: #E0F2FE;--info-text: var(--info);--color-primary: var(--primary);--color-primary-bg: var(--primary-bg);--color-purple: #8B5CF6;--br: var(--radius-md);--transition: .15s ease;--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--cta-primary: #2E4072;--cta-primary-hover: #1f2d52;--cta-form: #2E4072;--cta-form-hover: #1f2d52;--tertiary: #002E94;--neutral: #606770;--surface-gray: #F1F5F9;--text-body: #1f2937;--focus-ring: var(--primary);--font-heading: var(--font-family);--font-body: var(--font-family);--font-base-size: 16px;--letter-spacing-heading: 0;--radius-card: .5rem;--radius-panel: .75rem;--shadow-card: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-card-hover: 0 4px 6px -1px rgb(0 0 0 / .1);--shadow-fab: 0 10px 15px -3px rgb(0 0 0 / .1);--table-header-height: 41px;--table-footer-height: 41px;--table-row-height: 44px}.dark{--primary-hsl: 217.2 91.2% 59.8%;--primary: hsl(var(--primary-hsl));--primary-foreground: hsl(222.2 47.4% 11.2%);--background-hsl: 222.2 84% 4.9%;--background: hsl(var(--background-hsl));--foreground-hsl: 210 40% 98%;--foreground: hsl(var(--foreground-hsl));--card-hsl: 222.2 84% 4.9%;--card: hsl(var(--card-hsl));--card-foreground: hsl(210 40% 98%);--muted-hsl: 217.2 32.6% 17.5%;--muted: hsl(var(--muted-hsl));--muted-foreground-hsl: 215 20.2% 65.1%;--muted-foreground: hsl(var(--muted-foreground-hsl));--border-hsl: 217.2 32.6% 17.5%;--border: hsl(var(--border-hsl));--input: hsl(217.2 32.6% 17.5%);--border-light: hsl(217.2 32.6% 17.5%);--bg: hsl(var(--background-hsl));--panel: hsl(var(--card-hsl));--text-primary: hsl(var(--foreground-hsl));--text-secondary: hsl(var(--muted-foreground-hsl));--text-tertiary: #94A3B8;--detail-header-bg: #2d48a0;--detail-doc-pill-bg: #1e2d5e;--detail-doc-pill-color: #93AAED;--detail-total-row-bg: #1e2d5e;--detail-icon-pdf: #F87171;--success: #4ade80;--success-light: hsl(142.1 76.2% 12%);--warning: #fbbf24;--warning-light: hsl(38 92% 12%);--error: #f87171;--error-light: hsl(0 84.2% 12%);--color-info-bg: hsl(199 89% 12%);--info-bg: hsl(199 89% 12%);--info-light: hsl(199 89% 12%)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--text-primary);font-family:var(--font-body);font-size:var(--font-base-size);line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);letter-spacing:var(--letter-spacing-heading)}.app{display:flex;flex-direction:column;height:100vh}.cv-layout{display:flex;flex:1;min-height:0}.cv-layout>.content{flex:1;min-width:0}.cv-sidebar{width:200px;flex-shrink:0;background:var(--header-bg, var(--primary));color:#ffffffd9;display:flex;flex-direction:column;overflow-y:auto;transition:width .25s ease}.cv-sidebar.collapsed{width:64px}.cv-sidebar-nav{flex:1;padding:var(--space-3) var(--space-2);display:flex;flex-direction:column;gap:var(--space-1)}.cv-sidebar-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) 14px;border-radius:var(--radius-md);font-size:var(--fs-sm);font-weight:500;color:#ffffffb3;text-decoration:none;cursor:pointer;border:none;background:transparent;transition:background .15s ease,color .15s ease;white-space:nowrap;overflow:hidden}.cv-sidebar-item:hover{background:#ffffff14;color:#fff;text-decoration:none}.cv-sidebar-item.active{background:#ffffff26;color:#fff}.cv-sidebar-item svg{width:20px;height:20px;flex-shrink:0}.cv-sidebar-item .cv-sidebar-label{overflow:hidden;text-overflow:ellipsis;transition:opacity .2s ease,width .25s ease}.cv-sidebar.collapsed .cv-sidebar-item{justify-content:center;padding:var(--space-2)}.cv-sidebar.collapsed .cv-sidebar-label{width:0;opacity:0}.cv-sidebar-sep{margin:var(--space-2) var(--space-3);border-top:1px solid rgba(255,255,255,.15)}@media(max-width:980px){.cv-sidebar{display:none}}.header-brand{font-size:var(--fs-lg);font-weight:700;color:var(--text-primary);letter-spacing:.04em;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.header-nav{display:flex;align-items:center;gap:var(--space-1)}.header-nav-item{display:flex;align-items:center;gap:var(--space-1);padding:10px var(--space-3);font-size:var(--fs-sm);font-weight:700;color:#4a5e73;text-decoration:none;white-space:nowrap;cursor:pointer;border:none;border-bottom:2px solid transparent;background:transparent;transition:color .15s ease,background .15s ease;font-family:inherit;margin-bottom:-1px}.header-nav-item:hover{color:#1e3a5f;background:#1e3a5f14;text-decoration:none}.header-nav-item.active{color:#1e3a5f;font-weight:600;border-bottom-color:#1e3a5f}.dark .header-nav-item{color:#89a}.dark .header-nav-item:hover{color:#c0d0e0;background:#ffffff0f}.dark .header-nav-item.active{color:#e0eaf5;border-bottom-color:#5b8abf}.header-nav-item svg{width:14px;height:14px;flex-shrink:0}.header-nav-dropdown{position:relative}.header-dropdown-menu{position:absolute;top:calc(100% + var(--space-2));left:0;min-width:200px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 4px 16px #0000001a;padding:var(--space-2) 0;z-index:50}.header-dropdown-item{display:block;padding:var(--space-2) var(--space-4);font-size:var(--fs-sm);font-weight:500;color:var(--text-secondary);text-decoration:none;transition:color .15s ease,background .15s ease}.header-dropdown-item:hover{color:var(--text-primary);background:var(--bg-hover, rgba(0, 0, 0, .04));text-decoration:none}.header-dropdown-item.active{color:var(--primary);font-weight:600}.mobile-only{display:none}.header-mobile-nav{display:none;border-top:1px solid var(--border);padding:var(--space-3) var(--pad);background:var(--panel)}.header-mobile-item{display:block;padding:var(--space-3) var(--space-3);font-size:var(--fs-base);font-weight:500;color:var(--text-secondary);text-decoration:none;border-radius:var(--radius-md);transition:color .15s ease,background .15s ease}.header-mobile-item:hover{color:var(--text-primary);background:var(--bg-hover, rgba(0, 0, 0, .04));text-decoration:none}.header-mobile-item.active{color:var(--primary);font-weight:600}.header-mobile-child{padding-left:var(--space-6, 24px)}.header-mobile-label{display:block;padding:var(--space-3) var(--space-3);font-size:var(--fs-sm);font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em}.header-mobile-group+.header-mobile-item,.header-mobile-item+.header-mobile-group{margin-top:var(--space-2)}.header{position:sticky;top:0;background:var(--header-bg, var(--primary));z-index:10}.header.header-themed .header-brand,.header.header-themed .header-icon-btn,.header.header-themed .header-menu-btn,.header.header-themed .header-avatar{color:#ffffffd9}.header.header-themed .header-icon-btn:hover,.header.header-themed .header-menu-btn:hover{color:#fff;background:#ffffff1f}.header.header-themed .header-avatar{color:#fff}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-2) var(--pad);padding-left:var(--space-3)}.header-nav-row{display:flex;align-items:center;padding:0 var(--pad);padding-left:var(--space-3);gap:0;background:#eef3f8}.dark .header-nav-row{background:#1a2332}.header-external-apps{margin-left:auto;display:flex;align-items:center;gap:var(--space-1);padding-right:var(--space-1)}.header-external-app-link{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);color:#4a5e73;text-decoration:none;transition:color .15s ease,background .15s ease}.header-external-app-link:hover{color:#1e3a5f;background:#1e3a5f1a}.dark .header-external-app-link{color:#89a}.dark .header-external-app-link:hover{color:#c0d0e0;background:#ffffff14}.header-left{display:flex;align-items:center;gap:var(--space-4)}.header-menu-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;border-radius:var(--radius-md);cursor:pointer;color:var(--text-secondary);transition:all .15s ease}.header-menu-btn:hover{background:var(--border-light);color:var(--text-primary)}.header-menu-btn svg{width:22px;height:22px}.header-right{display:flex;align-items:center;gap:var(--space-4)}.search-box{position:relative;width:280px}.search-box input{width:100%;height:44px;padding:var(--space-2) var(--space-4);padding-left:44px;border:1px solid var(--border);border-radius:var(--radius-full);background:var(--bg);font-size:var(--fs-base);color:var(--text-primary);transition:all .15s ease}.search-box input::placeholder{color:var(--text-tertiary)}.search-box input:focus{outline:none;border-color:var(--primary);background:var(--panel)}.search-box .search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-tertiary);pointer-events:none}.header-actions{display:flex;align-items:center;gap:var(--space-2)}.header-search-trigger{display:flex;align-items:center;gap:8px;padding:5px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-secondary);color:var(--text-tertiary);font-size:var(--fs-xs);font-family:inherit;cursor:pointer;transition:border-color .12s,color .12s;white-space:nowrap;height:32px}.header-search-trigger:hover{border-color:var(--text-tertiary);color:var(--text-secondary)}.header-search-kbd{font-size:10px;padding:1px 5px;border:1px solid var(--border);border-radius:3px;background:var(--card);font-family:inherit;line-height:1.4}.header.header-themed .header-search-trigger{border-color:#fff3;background:#ffffff14;color:#fff9}.header.header-themed .header-search-trigger:hover{border-color:#ffffff59;color:#ffffffd9}.header.header-themed .header-search-kbd{border-color:#ffffff26;background:#ffffff14}@media(max-width:768px){.header-search-text,.header-search-kbd{display:none}.header-search-trigger{padding:5px 8px}}.header-icon-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;border-radius:var(--radius-md);cursor:pointer;color:var(--text-secondary);transition:all .15s ease}.header-icon-btn:hover{background:var(--border-light);color:var(--text-primary)}.header-icon-btn{position:relative}.notification-badge{position:absolute;top:4px;right:4px;min-width:18px;height:18px;background:var(--danger, #ef4444);color:#fff;font-size:11px;font-weight:600;border-radius:999px;display:flex;align-items:center;justify-content:center;padding:0 5px;line-height:1;box-shadow:0 1px 3px #0003}.notification-badge:empty,.notification-badge[data-count="0"]{display:none}.notification-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:220px;background:var(--panel, #fff);border:1px solid var(--br, #e2e8f0);border-radius:var(--radius, .5rem);box-shadow:0 10px 25px #0000001a;z-index:100;opacity:0;visibility:hidden;transform:translateY(-8px);transition:all .15s ease}.notification-dropdown.show{opacity:1;visibility:visible;transform:translateY(0)}.notification-list{max-height:320px;overflow-y:auto}.notification-item{display:flex;align-items:center;gap:12px;padding:12px 16px;cursor:pointer;transition:background .15s ease;border-bottom:1px solid var(--border-light, #f1f5f9)}.notification-item:last-child{border-bottom:none}.notification-item:hover{background:var(--border-light, #f1f5f9)}.notification-count{background:var(--danger, #ef4444);color:#fff;font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;flex-shrink:0}.notification-empty{padding:16px;text-align:center;color:var(--muted, #64748b);font-size:14px}.dev-switcher-wrapper,.dev-switcher-btn{position:relative}.dev-switcher-btn:after{content:"";position:absolute;bottom:2px;right:2px;width:8px;height:8px;border-radius:50%;background:#22c55e;border:2px solid var(--panel, #fff)}.dev-switcher-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:240px;display:flex;flex-direction:column;background:var(--panel, #fff);border:1px solid var(--br, #e2e8f0);border-radius:var(--radius, .5rem);box-shadow:0 10px 25px #00000026;z-index:100;opacity:0;visibility:hidden;transform:translateY(-8px);transition:all .15s ease;padding:4px 0}.dev-switcher-dropdown.show{opacity:1;visibility:visible;transform:translateY(0)}.dev-switcher-header{padding:10px 14px 6px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted, #64748b)}.dev-switcher-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;border:none;background:none;cursor:pointer;transition:background .15s,transform .1s;text-align:left;font-family:inherit;border-radius:6px;margin:0 4px;width:calc(100% - 8px)}.dev-switcher-item:hover{background:var(--border-light, #f1f5f9)}.dev-switcher-item:active{transform:scale(.98);background:var(--br, #e2e8f0)}.dev-switcher-item.active{background:#f0fdf4;border-left:3px solid #22c55e;padding-left:11px}.dev-switcher-item.active:hover{background:#dcfce7}.dev-switcher-item.switching{opacity:.5;pointer-events:none}.dev-switcher-avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;font-weight:600;flex-shrink:0}.dev-switcher-info{display:flex;flex-direction:column;flex:1;min-width:0}.dev-switcher-name{font-size:13px;font-weight:500;color:var(--text, #1e293b)}.dev-switcher-role{font-size:11px;color:var(--muted, #64748b)}.dev-switcher-check{color:var(--primary, #3b82f6);flex-shrink:0}.dev-switcher-footer{padding:6px 14px 10px;border-top:1px solid var(--br, #e2e8f0);margin-top:4px}.dev-switcher-clear{font-size:11px;color:var(--muted, #64748b);background:none;border:none;cursor:pointer;padding:0;font-family:inherit}.dev-switcher-clear:hover{color:var(--danger, #ef4444)}.header-icon-btn{width:36px;height:36px;border-radius:var(--radius-full);background:transparent;border:none;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:color var(--transition),background var(--transition)}.header-icon-btn svg{width:20px;height:20px}.header-icon-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.header-avatar{width:40px;height:40px;background:transparent;border:none;color:var(--primary);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:var(--fs-sm);cursor:pointer}.header-avatar img{width:100%;height:100%;object-fit:cover}.content{flex:1;padding:var(--pad);padding-bottom:100px;overflow-y:auto;min-height:0}.content:has(.page-list){padding-bottom:var(--pad)}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--pad)}.page-header h2{font-size:var(--fs-2xl);font-weight:700;margin:0}.page-list{flex:1;display:flex;flex-direction:column;min-height:0;gap:var(--space-4)}.page-list>.page-header{margin-bottom:calc(var(--pad) - var(--space-4))}.page{display:none}.page.active{display:block}.stats-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--space-3)}.stat-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-1)}.stat-card-header{display:flex;align-items:center;justify-content:space-between}.stat-icon{width:40px;height:40px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center}.stat-icon.blue{background:var(--primary-bg);color:var(--primary)}.stat-icon.green{background:var(--success-light);color:var(--success)}.stat-icon.orange{background:var(--warning-light);color:var(--warning)}.stat-icon.red{background:var(--error-light);color:var(--error)}.stat-label{font-size:var(--fs-sm);color:var(--text-secondary);display:flex;align-items:center;gap:var(--space-2)}.stat-value{font-size:var(--fs-2xl);font-weight:800;color:var(--text-primary);line-height:1.2}.stat-trend{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--fs-xs);font-weight:600;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm)}.stat-trend.up{color:var(--success);background:var(--success-light)}.stat-trend.down{color:var(--error);background:var(--error-light)}.stat-subtext{font-size:var(--fs-xs);color:var(--text-tertiary)}.stat-card-stacked{display:flex;flex-direction:column;gap:var(--space-3)}.stat-card-stacked .stat-row{display:flex;justify-content:space-between;align-items:center}.stat-card-stacked .stat-row-value{font-weight:700;font-size:var(--fs-xl)}.stat-card-stacked .stat-row-label{font-size:var(--fs-xs);color:var(--text-tertiary)}.period-filter{background:hsl(var(--primary-hsl) / .06);border:1px solid hsl(var(--primary-hsl) / .3);padding:var(--space-4) var(--space-6);display:flex;flex-direction:column;gap:var(--space-3);margin:var(--space-2) 0 0}.period-filter-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.period-filter-label{font-size:var(--fs-base);font-weight:700;color:var(--text-primary);white-space:nowrap}.period-filter-tabs{display:inline-flex;border:1px solid var(--border);overflow:hidden}.period-filter-tab{padding:var(--space-2) var(--space-4);border:none;border-right:1px solid var(--border);background:transparent;font-size:var(--fs-sm);font-weight:500;color:var(--text-secondary);cursor:pointer;transition:background .15s,color .15s;white-space:nowrap;font-family:inherit}.period-filter-tab:last-of-type{border-right:none}.period-filter-tab:hover{background:var(--muted);color:var(--text-primary)}.period-filter-tab.active{background:var(--primary);color:var(--primary-foreground);font-weight:600}.period-filter-refresh{padding:var(--space-2) var(--space-3);border:none;border-left:1px solid var(--border);background:transparent;color:var(--text-secondary);cursor:pointer;transition:background .15s,color .15s;display:inline-flex;align-items:center;justify-content:center}.period-filter-refresh:hover{background:var(--muted);color:var(--primary)}.period-filter-refresh.spinning svg{animation:period-spin 1s linear infinite}@keyframes period-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.period-filter-custom{display:flex;align-items:center;gap:var(--space-3);justify-content:flex-end;flex-wrap:wrap}.period-filter-date{padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:0;font-size:var(--fs-sm);color:var(--text-primary);background:var(--panel);font-family:inherit}.period-filter-date:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.period-filter-custom .period-filter-to{font-size:var(--fs-sm);color:var(--text-secondary)}@media(max-width:768px){.period-filter-header{flex-direction:column;align-items:flex-start}.period-filter-tabs{width:100%;overflow-x:auto}.period-filter-tab{padding:var(--space-2) var(--space-3);font-size:var(--fs-xs)}.period-filter-custom{justify-content:flex-start}}.card{background:var(--card);color:var(--card-foreground);border:1px solid var(--border);border-radius:var(--radius-card);padding:var(--space-6);box-shadow:var(--shadow-card)}.card:hover{box-shadow:var(--shadow-md);transition:box-shadow .15s}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.card-title{font-size:var(--fs-xl);font-weight:600;color:var(--text-primary);line-height:1.75rem}.card-description{font-size:var(--fs-sm);color:var(--muted-foreground)}.card-subtitle{font-size:var(--fs-sm);color:var(--text-secondary)}.card-content{padding:0}.card-footer{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;padding-top:var(--space-4);border-top:1px solid var(--border);margin-top:var(--space-4)}.section-card{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm)}.section-card-header{background:var(--table-header-bg, transparent);border-bottom:1px solid var(--border);padding:var(--space-2) var(--space-5);font-size:var(--fs-sm);font-weight:500;color:var(--table-header-color, var(--muted-foreground))}.section-card-content{padding:var(--space-5);flex:1}.permissions-role-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4);align-items:start}@media(max-width:1200px){.permissions-role-grid{grid-template-columns:1fr 1fr}}@media(max-width:640px){.permissions-role-grid{grid-template-columns:1fr}}.card.kpi{padding:var(--space-6)}.card.kpi .kpi-label{font-size:var(--fs-sm);color:var(--muted-foreground);margin-bottom:var(--space-1)}.card.kpi .kpi-value{font-size:1.75rem;font-weight:700;color:var(--text-primary);line-height:1.2;letter-spacing:-.02em}.card.kpi .kpi-subtitle{font-size:var(--fs-sm);color:var(--muted-foreground);margin-top:var(--space-1)}.badge{display:inline-flex;align-items:center;gap:.375rem;padding:.125rem .625rem;border-radius:var(--radius-full);border:1px solid transparent;font-size:.75rem;font-weight:600;white-space:nowrap;transition:all .15s}.badge{background:var(--primary);color:var(--primary-foreground)}.badge-secondary{background:var(--secondary);color:var(--secondary-foreground);border-color:var(--border)}.badge-destructive,.badge-error{background:var(--destructive);color:var(--destructive-foreground)}.badge-outline{background:transparent;border-color:var(--border);color:var(--text-primary)}.badge-success{background:var(--success-light);color:var(--success-dark)}.badge-warning{background:var(--warning-light);color:#b45309}.badge-info{background:var(--info-light, hsl(199 89% 93%));color:var(--info, hsl(199 89% 35%))}.data-table-wrapper{overflow-x:auto}.data-table,table{width:100%;caption-side:bottom;font-size:.875rem;border-collapse:collapse}.data-table th,.data-table td,table th,table td{text-align:left;padding:1rem;vertical-align:middle}.data-table th,table th{height:2.55rem;padding:0 1rem;font-weight:500;color:var(--table-header-color, var(--muted-foreground));background:var(--table-header-bg, transparent);border-bottom:1px solid var(--border)}.data-table th:first-child,table th:first-child{border-top-left-radius:var(--radius-sm)}.data-table th:last-child,table th:last-child{border-top-right-radius:var(--radius-sm)}.data-table tbody tr,table tbody tr{border-bottom:1px solid var(--border);transition:background .1s}.data-table tbody tr:hover,table tbody tr:hover{background:hsl(var(--muted-hsl) / .5)}.data-table tbody tr:last-child,table tbody tr:last-child{border-bottom:none}.data-table td,table td{padding:1rem}table th.sortable-col{cursor:pointer;-webkit-user-select:none;user-select:none}table th.sortable-col:hover{background:var(--border-light)}table th.sort-asc:after{content:" ↑"}table th.sort-desc:after{content:" ↓"}table .text-right,.v2-table th.text-right,.v2-table td.text-right{text-align:right}table .text-center,.v2-table th.text-center,.v2-table td.text-center{text-align:center}.data-table .col-checkbox{width:48px;text-align:center}.data-table .col-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--primary)}.product-cell{display:flex;align-items:center;gap:var(--space-3)}.product-thumb{width:48px;height:48px;border-radius:var(--radius-md);border:1px solid var(--border);object-fit:contain;background:var(--panel);flex-shrink:0}.product-name{font-weight:500;color:var(--text-primary);max-width:350px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.4}.status-badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--fs-sm);font-weight:500}.status-badge .status-dot{width:8px;height:8px;border-radius:50%}.status-badge.available{background:var(--success-light);color:var(--success-dark)}.status-badge.available .status-dot{background:var(--success)}.status-badge.out-of-stock{background:var(--border-light);color:var(--text-secondary)}.status-badge.out-of-stock .status-dot{background:var(--text-tertiary)}.rating{display:flex;align-items:center;gap:var(--space-1);color:var(--warning);font-weight:500}.rating .count{color:var(--text-tertiary);font-weight:400}.action-btns{display:flex;gap:var(--space-1)}.action-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;border-radius:var(--radius-md);cursor:pointer;transition:all .15s ease}.icon-btn{width:32px;height:32px;padding:0;border:none;background:transparent;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:color .15s ease,opacity .15s ease}.icon-btn:hover{opacity:.7}.icon-btn.edit,.icon-btn--edit{color:var(--action-blue)}.icon-btn.edit:hover,.icon-btn--edit:hover{color:var(--action-blue-dark)}.icon-btn.delete,.icon-btn--delete{color:var(--error)}.icon-btn.delete:hover,.icon-btn--delete:hover{color:#dc2626}.icon-btn svg,.icon-btn i{width:18px;height:18px}.action-btn.edit{color:var(--action-blue);background:transparent}.action-btn.edit:hover{color:var(--action-blue-dark);background:transparent;opacity:.7}.action-btn.delete{color:var(--error);background:transparent}.action-btn.delete:hover{color:#dc2626;background:transparent;opacity:.7}.pagination{display:flex;align-items:center;justify-content:center;gap:var(--space-2);margin-top:var(--space-5)}.pagination-btn{min-width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);background:var(--panel);border-radius:var(--radius-md);cursor:pointer;font-size:var(--fs-sm);font-weight:500;color:var(--text-secondary);transition:all .15s ease;padding:0 var(--space-2)}.pagination-btn:hover{border-color:var(--primary);color:var(--primary)}.pagination-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-ellipsis{color:var(--text-tertiary);padding:0 var(--space-2)}.widget-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-5)}.widget-header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3)}.widget-icon{width:40px;height:40px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;background:var(--primary-bg);color:var(--primary)}.widget-title{font-size:var(--fs-base);font-weight:500;color:var(--text-secondary)}.widget-value{font-size:var(--fs-3xl);font-weight:800;color:var(--text-primary);margin-bottom:var(--space-1)}.widget-meta{display:flex;align-items:center;gap:var(--space-2)}.chart-placeholder{background:var(--border-light);border-radius:var(--radius-md);height:300px;display:flex;align-items:center;justify-content:center;color:var(--text-tertiary)}.bar-chart{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-2);height:200px;padding-top:var(--space-4)}.bar-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.bar{width:100%;max-width:60px;background:var(--primary);border-radius:var(--radius-sm) var(--radius-sm) 0 0;min-height:20px}.bar-label{font-size:var(--fs-xs);color:var(--text-tertiary);text-align:center}.bar-value{font-size:var(--fs-xs);font-weight:600;color:var(--text-secondary)}.dropdown{position:relative}.dropdown-toggle{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--panel);cursor:pointer;font-size:var(--fs-sm);color:var(--text-secondary)}.dropdown-toggle:hover{border-color:var(--text-tertiary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1rem;border:1px solid var(--border);border-radius:0;background:var(--panel);cursor:pointer;font-weight:500;font-size:.875rem;color:var(--text-primary);transition:all .15s;white-space:nowrap;height:2.5rem}.btn:hover{background:var(--muted)}.btn:focus-visible{outline:none;box-shadow:0 0 0 2px var(--ring),0 0 0 4px var(--background)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--cta-primary);border-color:var(--cta-primary);color:var(--primary-foreground)}.btn-primary:hover{background:var(--cta-primary-hover);border-color:var(--cta-primary-hover)}.btn-accent{background:var(--action-blue);border-color:var(--action-blue);color:#fff}.btn-accent:hover{background:var(--action-blue-dark);border-color:var(--action-blue-dark)}.btn-secondary{background:var(--secondary);border-color:var(--border);color:var(--secondary-foreground)}.btn-secondary:hover{background:var(--muted)}.btn-danger,.btn-destructive{background:var(--destructive);border-color:var(--destructive);color:var(--destructive-foreground)}.btn-danger:hover,.btn-destructive:hover{background:#dc2626;border-color:#dc2626}.btn-outline{background:transparent;border-color:var(--border);color:var(--text-primary)}.btn-outline:hover{background:var(--accent);color:var(--accent-foreground)}.btn-ghost{background:transparent;border-color:transparent;color:var(--text-primary)}.btn-ghost:hover{background:var(--accent);color:var(--accent-foreground)}.btn-link{background:transparent;border-color:transparent;color:var(--primary);text-decoration:underline;text-underline-offset:4px;padding:0;height:auto}.btn-link:hover{text-decoration:underline}.btn-sm{height:2.25rem;padding:.375rem .75rem;font-size:.75rem}.btn-lg{height:2.75rem;padding:.5rem 2rem;font-size:1rem}.btn-icon{width:2.5rem;height:2.5rem;padding:0}.btn-icon.btn-sm{width:2.25rem;height:2.25rem}.btn-outline-blue{background:transparent;border-color:var(--action-blue);color:var(--action-blue)}.btn-outline-blue:hover{background:#2563eb1a}.btn-outline-green{background:transparent;border-color:var(--success);color:var(--success)}.btn-outline-green:hover{background:#16a34a1a}.btn-outline-red{background:transparent;border-color:var(--error);color:var(--error)}.btn-outline-red:hover{background:#ef44441a}.input,.select,.sel{height:2.5rem;width:100%;padding:.5rem .75rem;border:1px solid var(--input);border-radius:var(--radius-sm);background:transparent;font-size:.875rem;color:var(--text-primary);transition:border-color .15s,box-shadow .15s}.input::placeholder,.select::placeholder,.sel::placeholder{color:var(--muted-foreground)}.input:focus,.select:focus,.sel:focus{outline:none;border-color:var(--ring);box-shadow:0 0 0 2px hsl(var(--primary-hsl) / .2)}.input:disabled,.select:disabled,.sel:disabled{opacity:.5;cursor:not-allowed}.input-with-icon{position:relative}.input-with-icon input{padding-left:2.5rem}.input-with-icon .input-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--muted-foreground);pointer-events:none}.input-with-icon .input-icon svg{width:1rem;height:1rem}.delivery-chart{display:flex;flex-direction:column;gap:var(--space-3)}.delivery-row{display:flex;align-items:center;gap:var(--space-3)}.delivery-label{width:80px;font-size:var(--fs-sm);color:var(--text-secondary);flex-shrink:0}.delivery-bar{flex:1;height:24px;display:flex;border-radius:var(--radius-sm);overflow:hidden}.delivery-segment{display:flex;align-items:center;justify-content:center;font-size:var(--fs-xs);font-weight:500;color:#fff}.delivery-segment.early{background:var(--text-tertiary)}.delivery-segment.on-time{background:var(--primary)}.delivery-segment.late{background:var(--border-light);color:var(--text-secondary)}.delivery-legend{display:flex;gap:var(--space-4);margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border)}.legend-item{display:flex;align-items:center;gap:var(--space-2);font-size:var(--fs-xs);color:var(--text-secondary)}.legend-dot{width:8px;height:8px;border-radius:50%}.bottom-nav{position:fixed;left:0;right:0;bottom:0;height:calc(var(--nav-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--border);background:var(--panel);display:none;z-index:50}.bottom-nav .tabs{height:var(--nav-h);display:grid;grid-template-columns:repeat(4,1fr)}.bottom-nav .tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-1);font-weight:600;font-size:var(--fs-xs);border:0;background:transparent;cursor:pointer;color:var(--text-secondary)}.bottom-nav .tab[aria-current=page]{color:var(--primary)}@media(max-width:980px){.content{padding:var(--space-4);padding-bottom:calc(100px + env(safe-area-inset-bottom))}.stats-grid{grid-template-columns:repeat(3,1fr)}.search-box{width:100%;max-width:200px}.btn,.input,.select{min-height:var(--tap)}.desktop-only{display:none!important}.mobile-only{display:flex!important}.header-mobile-nav{display:block}}@media(max-width:640px){.stats-grid{grid-template-columns:repeat(2,1fr)}.header-inner{flex-wrap:wrap;height:auto;padding:var(--space-3)}.search-box{max-width:none;order:3;width:100%;margin-top:var(--space-2)}}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.text-error{color:var(--error)}.bg-primary{background:var(--primary)}.bg-panel{background:var(--panel)}.bg-border-light{background:var(--border-light)}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.mt-4{margin-top:var(--space-4)}.mt-5{margin-top:var(--space-5)}.mb-4{margin-bottom:var(--space-4)}.hidden{display:none}.table-container{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.table-tabs{display:flex;gap:var(--space-1);padding:var(--space-4) var(--space-4) 0;border-bottom:1px solid var(--border)}.table-tab{padding:var(--space-2) var(--space-4);border:none;background:transparent;font-size:var(--fs-sm);font-weight:500;color:var(--text-secondary);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .15s}.table-tab:hover{color:var(--text-primary)}.table-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.pill-tabs{display:inline-flex;gap:4px;background:var(--muted);border-radius:var(--radius-lg);padding:4px}.pill-tab{padding:var(--space-2) var(--space-4);border:none;background:transparent;font-size:var(--fs-sm);font-weight:500;color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-md);transition:all .15s;white-space:nowrap}.pill-tab:hover{color:var(--text-primary)}.pill-tab.active{background:var(--card);color:var(--primary);font-weight:600;box-shadow:0 1px 3px #00000014}.color-swatch{position:relative;display:inline-block}.color-swatch-btn{width:36px;height:36px;border-radius:50%;border:2px solid var(--border);cursor:pointer;padding:0;transition:border-color .15s,box-shadow .15s}.color-swatch-btn:hover{border-color:var(--text-tertiary)}.color-swatch-btn.active{border:3px solid var(--text-primary);box-shadow:inset 0 0 0 2px var(--background)}.color-swatch-remove{position:absolute;top:-4px;right:-4px;width:16px;height:16px;border-radius:50%;background:var(--destructive);color:#fff;border:2px solid var(--background);cursor:pointer;display:none;align-items:center;justify-content:center;padding:0;font-size:10px;line-height:1}.color-swatch:hover .color-swatch-remove{display:flex}.table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) 0;flex-wrap:wrap}.table-toolbar-left{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.table-toolbar-right{display:flex;align-items:center;gap:var(--space-2)}.table-search{position:relative;min-width:200px}.table-search i,.table-search svg{position:absolute;left:var(--space-3);top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--text-tertiary);pointer-events:none}.table-search input{width:100%;height:36px;padding:var(--space-2) var(--space-3);padding-left:36px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--background);font-size:var(--fs-sm);color:var(--text-primary);transition:border-color .15s,box-shadow .15s}.table-search input::placeholder{color:var(--text-tertiary)}.table-search input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px hsl(var(--primary-hsl) / .1)}.table-filter-select{height:36px;padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--background);font-size:var(--fs-sm);color:var(--text-primary);cursor:pointer;min-width:140px}.table-filter-select:focus{outline:none;border-color:var(--primary)}.multi-filter-dropdown{position:relative;display:inline-block}.multi-filter-dropdown .mf-toggle{height:36px;padding:var(--space-2) var(--space-3);padding-right:28px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--background);font-size:var(--fs-sm);color:var(--text-primary);cursor:pointer;min-width:140px;display:flex;align-items:center;gap:6px;white-space:nowrap;-webkit-user-select:none;user-select:none;position:relative}.multi-filter-dropdown .mf-toggle:hover{border-color:var(--primary)}.multi-filter-dropdown .mf-toggle .mf-chevron{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:14px;height:14px;opacity:.5;pointer-events:none}.multi-filter-dropdown .mf-badge{background:var(--primary);color:#fff;font-size:10px;font-weight:600;padding:1px 6px;border-radius:10px;line-height:1.4}.multi-filter-dropdown .mf-panel{display:none;position:absolute;top:calc(100% + 4px);left:0;min-width:200px;max-height:260px;background:var(--background);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:0 4px 12px #0000001a;z-index:100;overflow-y:auto;padding:4px 0}.multi-filter-dropdown.open .mf-panel{display:block}.multi-filter-dropdown .mf-option{display:flex;align-items:center;gap:8px;padding:6px 12px;cursor:pointer;font-size:var(--fs-sm);color:var(--text-primary);transition:background .1s}.multi-filter-dropdown .mf-option:hover{background:var(--hover-bg, #f3f4f6)}.multi-filter-dropdown .mf-option input[type=checkbox]{accent-color:var(--primary);width:15px;height:15px;cursor:pointer}.multi-filter-dropdown .mf-footer{border-top:1px solid var(--border);padding:6px 12px;display:flex;justify-content:flex-end}.multi-filter-dropdown .mf-clear-btn{font-size:12px;color:var(--primary);background:none;border:none;cursor:pointer;padding:2px 4px}.multi-filter-dropdown .mf-clear-btn:hover{text-decoration:underline}.table-toolbar-btn{display:inline-flex;align-items:center;gap:var(--space-2);height:36px;padding:0 var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--background);font-size:var(--fs-sm);font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .15s}.table-toolbar-btn:hover{background:var(--muted);color:var(--text-primary);border-color:var(--text-tertiary)}.table-toolbar-btn i,.table-toolbar-btn svg{width:16px;height:16px}.action-icon{width:32px;height:32px;padding:0;border:none;background:transparent;border-radius:8px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .15s;margin-inline:-2px}.action-icon:hover{background:var(--hover-bg, #e2e8f0)}.action-icon svg,.action-icon i{width:18px;height:18px}.action-icon.view{color:#10b981}.action-icon.edit{color:#3b82f6}.action-icon.delete{color:#ef4444}.action-icon.pdf{color:#dc2626}.action-icon.excel{color:#16a34a}.action-icon.download{color:#6b7280}.action-icon.approve{color:#10b981}.action-icon.reject{color:#ef4444}.action-icon.close{color:var(--muted-foreground,#6b7280)}.action-icon.return{color:#d97706}.action-icon.exchange,.action-icon.merge,.action-icon.assign{color:#7c3aed}.action-icon.convert{color:#16a34a}.action-icon.analytics{color:#0ea5e9}.action-icon.whatsapp{color:#25d366}.action-icon.email{color:#3b82f6}.action-icon.deliver,.action-icon.details{color:#10b981}@keyframes actionMenuFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.action-icon--lg{width:52px;height:52px}.action-icon--lg svg,.action-icon--lg i{width:36px;height:36px}@keyframes pulse{0%,to{opacity:.6}50%{opacity:.25}}.skeleton-cell{height:16px;border-radius:4px;background:var(--muted);animation:pulse 1.5s ease-in-out infinite}.table-wrapper{overflow-x:auto}.v2-table{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}.v2-table thead{position:sticky;top:0;z-index:2;background:var(--table-header-bg, var(--card))}.card-section-header{height:var(--table-header-height, 41px);padding:0 var(--space-4);display:flex;align-items:center;font-size:var(--fs-sm);font-weight:500;color:#fff;background:var(--table-header-bg, var(--card));border-bottom:1px solid var(--border)}.v2-table th{height:var(--table-header-height, 41px);padding:0 var(--space-4);text-align:left;font-size:var(--fs-sm);font-weight:500;color:var(--table-header-color, var(--muted-foreground));background:inherit;border-bottom:1px solid var(--border);white-space:nowrap}.v2-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .15s}.v2-table th.sortable:hover{font-weight:700}.v2-table th.sortable:hover .sort-icon{opacity:1}.v2-table th.sortable .sort-icon{width:14px;height:14px;margin-left:var(--space-1);opacity:.35;vertical-align:middle;transition:transform .15s,opacity .15s}.v2-table th.sortable.active .sort-icon{opacity:1}.v2-table th.sortable.sort-asc .sort-icon{transform:rotate(180deg)}.v2-table tbody tr{border-bottom:1px solid var(--border);transition:background .1s}.v2-table tbody tr:last-child{border-bottom:none}.v2-table tbody tr:hover{background:hsl(var(--muted-hsl) / .5)}.v2-table td{height:var(--table-row-height, 56px);padding:var(--space-3) var(--space-4);vertical-align:middle}.v2-table tfoot td{height:var(--table-footer-height, 41px);padding:0 var(--space-4);font-weight:600}.v2-table .col-checkbox{width:48px;text-align:center;padding:0 var(--space-3)}.table-checkbox{width:18px;height:18px;cursor:pointer;accent-color:var(--primary)}.cell-product{display:flex;align-items:center;gap:var(--space-3)}.cell-product .product-thumb{width:40px;height:40px;border-radius:var(--radius-sm);border:1px solid var(--border);object-fit:contain;background:var(--background);flex-shrink:0}.cell-product .product-name{font-weight:500;color:var(--text-primary);max-width:350px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;line-height:1.4}.cell-entity{display:flex;align-items:center;gap:var(--space-2)}.entity-icon{width:28px;height:28px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0}.entity-icon i,.entity-icon svg{width:14px;height:14px;color:#fff}.entity-name{font-weight:500;color:var(--text-primary)}.cell-progress{display:flex;align-items:center;gap:var(--space-2);min-width:100px}.progress-bar{flex:1;height:6px;background:var(--muted);border-radius:var(--radius-full);overflow:hidden}.progress-fill{height:100%;background:var(--primary);border-radius:var(--radius-full);transition:width .3s ease}.progress-value{font-size:var(--fs-xs);font-weight:500;color:var(--text-secondary);min-width:24px;text-align:right}.cell-currency{font-weight:500;color:var(--text-primary)}.cell-code{font-family:ui-monospace,SFMono-Regular,SF Mono,Consolas,monospace;font-size:var(--fs-xs);color:var(--text-secondary)}.table-badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);font-size:var(--fs-xs);font-weight:500}.table-badge.badge-success{background:var(--success-light);color:var(--success-dark)}.table-badge.badge-warning{background:var(--warning-light);color:#b45309}.table-badge.badge-error{background:var(--error-light);color:var(--error)}.table-badge.badge-info{background:var(--info-light, hsl(199 89% 93%));color:var(--info, hsl(199 89% 35%))}.table-badge.badge-neutral{background:transparent;color:var(--text-secondary)}.table-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) var(--space-4);border-top:1px solid var(--border);flex-wrap:wrap}.table-info{font-size:var(--fs-sm);color:var(--text-secondary)}.table-info strong{color:var(--text-primary);font-weight:600}.table-pagination{display:flex;align-items:center;gap:var(--space-1)}.page-btn{min-width:32px;height:32px;display:flex;align-items:center;justify-content:center;padding:0 var(--space-2);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--background);font-size:var(--fs-sm);font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .15s}.page-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.page-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.page-btn:disabled{opacity:.5;cursor:not-allowed}.page-btn i,.page-btn svg{width:16px;height:16px}.page-ellipsis{padding:0 var(--space-2);color:var(--text-tertiary)}.table-page-size{display:flex;align-items:center;gap:var(--space-2);font-size:var(--fs-sm);color:var(--text-secondary)}.page-size-select{height:32px;padding:0 var(--space-2);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--background);font-size:var(--fs-sm);color:var(--text-primary);cursor:pointer}.page-size-select:focus{outline:none;border-color:var(--primary)}.table-empty{padding:var(--space-10) var(--space-4);text-align:center;color:var(--text-tertiary)}.table-empty-icon{width:48px;height:48px;margin:0 auto var(--space-4);color:var(--text-tertiary);opacity:.5}.table-empty-title{font-size:var(--fs-base);font-weight:500;color:var(--text-secondary);margin-bottom:var(--space-1)}.table-empty-text{font-size:var(--fs-sm);color:var(--text-tertiary)}@media(max-width:768px){.table-toolbar{flex-direction:column;align-items:stretch}.table-toolbar-left,.table-toolbar-right{width:100%}.table-toolbar-right{justify-content:flex-end}.table-search{flex:1;min-width:auto}.table-footer{flex-direction:column;gap:var(--space-3)}.table-pagination{order:-1}}#page-invoices .inv-kpis{grid-template-columns:repeat(4,1fr)}@media(max-width:980px){#page-invoices .inv-kpis{grid-template-columns:repeat(2,1fr)!important}}@media(max-width:480px){#page-invoices .inv-kpis{grid-template-columns:1fr!important}}.date-presets .pill{padding:6px 12px;font-size:var(--fs-sm);border:1px solid var(--border);background:var(--background);color:var(--text-secondary);border-radius:6px;cursor:pointer;transition:all .15s ease}.date-presets .pill:hover{background:var(--muted);border-color:var(--border)}.date-presets .pill.active{background:var(--primary);color:#fff;border-color:var(--primary)}#invoices-table .btn{padding:6px 8px;min-height:auto}#invoices-table .btn+.btn{margin-left:4px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:768px){.modal-content [style*="grid-template-columns: 1fr 1fr"]{grid-template-columns:1fr!important}}.crm-list-panel.card{padding:0;overflow:hidden}.crm-kpi-card{transition:box-shadow .15s ease}.crm-kpi-card.clickable{cursor:pointer}.crm-kpi-card.clickable:hover{border-color:var(--primary)}.crm-kpi-card.active{border-color:var(--primary);background:hsl(var(--primary-hsl) / .05)}.crm-kpi-card:hover{box-shadow:0 2px 8px #00000014}.crm-kpi-value{font-size:24px;font-weight:700;color:var(--foreground);line-height:1.2}.crm-kpi-label{font-size:12px;margin-top:4px}.crm-tag-pill{padding:5px 12px;border-radius:16px;border:1px solid var(--border);background:var(--background);color:var(--muted-foreground);font-size:13px;cursor:pointer;transition:all .15s ease}.crm-tag-pill:hover{border-color:var(--primary);color:var(--primary)}.crm-tag-pill.active{background:var(--primary);color:#fff;border-color:var(--primary)}.crm-tag{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:500;white-space:nowrap}.crm-tags{display:flex;flex-wrap:wrap;gap:4px}#crm-clients-tbody tr{cursor:pointer;transition:background .1s ease}#crm-clients-tbody tr.selected{background:hsl(var(--primary-hsl) / .08)}.crm-client-name{font-weight:500;color:var(--foreground)}.crm-client-shop{font-size:12px;margin-top:2px}.crm-detail-panel{animation:slideIn .2s ease}@keyframes slideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.crm-activity-timeline{max-height:200px;overflow-y:auto}.crm-activity-item{display:flex;gap:10px;padding:8px 0;border-bottom:1px solid var(--border)}.crm-activity-item:last-child{border-bottom:none}.crm-activity-icon{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}.crm-activity-content{flex:1;min-width:0}.crm-activity-header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;font-size:13px}.crm-activity-header strong{font-weight:500;color:var(--foreground)}.crm-activity-desc{font-size:12px;color:var(--muted-foreground);margin-top:2px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.crm-invoice-history{max-height:300px;overflow-y:auto}.crm-invoice-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border);font-size:13px}.crm-invoice-item.crm-invoice-clickable{padding:8px 6px;margin:0 -6px;border-radius:6px;transition:background-color .15s ease;background-color:transparent;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}.crm-invoice-item.crm-invoice-clickable:hover{background-color:#0000000d}.crm-invoice-item.crm-invoice-clickable:focus,.crm-invoice-item.crm-invoice-clickable:focus-visible{outline:none;background-color:#0000000d}.crm-invoice-item.crm-invoice-clickable:active{background-color:#00000014}.crm-invoice-item:last-child{border-bottom:none}.crm-invoice-number{font-weight:500;color:var(--foreground)}.crm-invoice-date{color:var(--muted-foreground);font-size:12px}.crm-invoice-amount{font-weight:500}.crm-invoice-status{font-size:11px;padding:2px 6px;border-radius:4px}.crm-invoice-status.paid{background:#16a2491a;color:#16a249}.crm-invoice-status.sent{background:#2463eb1a;color:#2463eb}.crm-invoice-status.draft{background:var(--muted);color:var(--muted-foreground)}.crm-detail-tag{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:10px;font-size:11px;font-weight:500}.crm-detail-tag .remove-tag{cursor:pointer;opacity:.6;font-size:14px;line-height:1}.crm-detail-tag .remove-tag:hover{opacity:1}@media(max-width:1024px){.crm-kpi-row{grid-template-columns:repeat(2,1fr)!important}.crm-container{flex-direction:column!important}.crm-detail-panel{width:100%!important;max-height:none!important}}@media(max-width:640px){.crm-kpi-row{grid-template-columns:1fr!important}.crm-tag-pills{padding:0 12px 12px!important}}.restrict-tabs{display:flex;padding:0 18px;gap:2px;border-bottom:1px solid var(--br);background:#fff}.restrict-tab{display:flex;align-items:center;gap:5px;padding:9px 12px;font-size:12px;font-weight:500;color:#6b7280;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:all .15s;white-space:nowrap}.restrict-tab:hover{color:var(--primary);background:#f0f7ff}.restrictions-checklist{display:grid;grid-template-columns:1fr 1fr;gap:4px}.restrictions-item{display:flex;align-items:center;gap:10px;padding:7px 10px;background:#fff;border:1px solid var(--br);border-radius:5px;cursor:pointer;transition:all .12s}.restrictions-item:hover{border-color:var(--primary);background:#f0f7ff}.restrictions-item.allowed{border-color:#86efac;background:#f0fdf4}.restrictions-item.restricted{border-color:#fca5a5;background:#fef2f2}.restrictions-checkbox{width:18px;height:18px;border-radius:3px;border:2px solid #d1d5db;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .12s}.restrictions-item.allowed .restrictions-checkbox{background:#22c55e;border-color:#22c55e;color:#fff}.restrictions-item.restricted .restrictions-checkbox{background:#ef4444;border-color:#ef4444;color:#fff}.restrictions-label{flex:1;font-size:12px;color:#374151}.restrictions-inherited{font-size:10px;color:#6b7280;background:#e5e7eb;padding:1px 5px;border-radius:3px}.action-icon.restrictions{color:#6366f1}.action-icon.restrictions:hover{background:#eef2ff;color:#4f46e5}.action-icon.crown{color:#d97706}.action-icon.crown:hover{background:#fffbeb;color:#b45309}.role-defaults-checklist{display:flex;flex-wrap:wrap;gap:8px;padding:12px;background:#fafafa;border:1px solid var(--br);border-radius:8px;min-height:44px}.role-defaults-item{display:flex;align-items:center;gap:8px;padding:6px 12px;background:#fff;border:1px solid #d1d5db;border-radius:20px;cursor:pointer;font-size:12px;transition:all .15s}.role-defaults-item:hover{border-color:var(--primary)}.role-defaults-item.allowed{background:#22c55e;border-color:#22c55e;color:#fff}.role-defaults-item.restricted{background:#fff;border-color:#d1d5db;color:#374151}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}.brand-dropzone{border:2px dashed var(--border);border-radius:var(--radius-md);padding:var(--space-8) var(--space-4);cursor:pointer;transition:border-color .15s;margin-bottom:var(--space-4);display:flex;align-items:center;justify-content:center;min-height:80px}.brand-dropzone:hover,.brand-dropzone.drag-over{border-color:var(--primary)}.brand-remove-btn{position:absolute;top:-8px;right:-8px;width:22px;height:22px;border-radius:50%;background:var(--error);color:#fff;border:none;cursor:pointer;font-size:14px;line-height:1;display:flex;align-items:center;justify-content:center}.brand-palette{display:flex;gap:3px}.brand-palette-swatch{flex:1;height:28px;border-radius:var(--radius-sm);position:relative;border:1px solid rgba(0,0,0,.08);display:flex;align-items:center;justify-content:center}.brand-palette-pct{font-size:9px;font-weight:600;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5);letter-spacing:-.02em}.brand-role-grid{display:flex;flex-direction:column;gap:6px}.brand-role-row{display:flex;align-items:center;gap:6px}.brand-role-label{font-size:11px;color:var(--text-secondary);width:62px;flex-shrink:0}.brand-role-swatches{display:flex;gap:3px}.brand-role-swatch{width:20px;height:20px;border-radius:3px;cursor:pointer;border:2px solid transparent;transition:border-color .15s,transform .15s}.brand-role-swatch:hover{transform:scale(1.12)}.brand-role-swatch.active{border-color:var(--foreground);box-shadow:0 0 0 1px var(--background)}.brand-role-hex{font-size:10px;font-family:monospace;color:var(--text-tertiary);margin-left:auto}.brand-preview-table{width:100%;font-size:11px;border-collapse:collapse}.brand-preview-table th,.brand-preview-table td{padding:4px 8px;height:auto;border:1px solid var(--border);text-align:left}.brand-preview-table th{font-weight:600;font-size:11px;height:auto}.brand-saved-list{display:flex;flex-direction:column;gap:var(--space-1)}.brand-saved-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);cursor:pointer;transition:background .15s}.brand-saved-item:hover{background:var(--muted)}.brand-saved-dot{width:14px;height:14px;border-radius:50%;flex-shrink:0;border:1px solid rgba(0,0,0,.08)}.brand-saved-name{font-size:var(--fs-sm);font-weight:500;flex:1}.brand-saved-del{background:none;border:none;color:var(--text-tertiary);cursor:pointer;font-size:16px;padding:0 2px;line-height:1;opacity:0;transition:opacity .15s,color .15s}.brand-saved-item:hover .brand-saved-del{opacity:1}.brand-saved-del:hover{color:var(--error)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:100;padding:20px;animation:modalFadeIn .15s ease}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.modal-panel{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);width:100%;max-width:480px;max-height:calc(100vh - 40px);display:flex;flex-direction:column;animation:modalSlideIn .15s ease}@keyframes modalSlideIn{0%{transform:translateY(-8px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-panel--wide{max-width:640px}.modal-panel--2xl{max-width:740px}.modal-panel--xl{max-width:1200px;animation:modalFadeOnly .1s ease}@keyframes modalFadeOnly{0%{opacity:0}to{opacity:1}}.modal-panel--narrow{max-width:380px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--border);flex-shrink:0}.modal-header h3{font-size:var(--fs-lg);font-weight:600;margin:0}.modal-close{background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:4px;line-height:1;border-radius:var(--radius-sm);transition:color .15s,background .15s}.modal-close:hover{color:var(--text-primary);background:var(--muted)}.modal-body{padding:var(--space-6);overflow-y:auto;flex:1}.modal-footer{display:flex;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-top:1px solid var(--border);flex-shrink:0}.toast-container{position:fixed;top:16px;right:16px;z-index:200;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast{pointer-events:auto;display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:var(--radius-md);font-size:var(--fs-sm);font-weight:500;box-shadow:0 4px 12px #00000026;animation:toastSlideIn .2s ease;min-width:280px;max-width:420px}.toast.exiting{animation:toastSlideOut .2s ease forwards}@keyframes toastSlideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes toastSlideOut{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}.toast-success{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}.toast-error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.toast-info{background:#eff6ff;color:#1e40af;border:1px solid #bfdbfe}.dark .toast-success{background:#064e3b;color:#a7f3d0;border-color:#065f46}.dark .toast-error{background:#7f1d1d;color:#fecaca;border-color:#991b1b}.dark .toast-info{background:#1e3a5f;color:#bfdbfe;border-color:#1e40af}.toast-close{background:none;border:none;color:inherit;cursor:pointer;padding:2px;margin-left:auto;opacity:.6;flex-shrink:0}.toast-close:hover{opacity:1}.users-toolbar{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-5);flex-wrap:wrap}.users-toolbar-label{font-size:var(--fs-base);font-weight:700;color:var(--text-primary)}.users-toolbar-right{display:flex;align-items:center;gap:var(--space-2);margin-left:auto}.role-pills{display:flex;gap:6px}.role-pill{display:inline-flex;align-items:center;gap:4px;padding:6px 14px;border:1px solid var(--border);border-radius:9999px;background:transparent;color:var(--text-secondary);font-size:var(--fs-xs);font-weight:500;cursor:pointer;transition:all .15s}.role-pill:hover{border-color:var(--text-tertiary)}.role-pill.active{background:var(--primary);color:#fff;border-color:var(--primary)}.role-pill .pill-count{opacity:.7}.users-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.user-card{background:var(--card);border:1.5px solid var(--border);border-radius:var(--radius-md);padding:20px;display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;transition:border-color .15s,box-shadow .15s}.user-card:hover{border-color:var(--primary);box-shadow:0 2px 12px #0000000f}.user-card.presence-online{border-color:#22c55e;box-shadow:0 0 12px #22c55e40,0 0 0 1px #22c55e26}.user-owner-crown{position:absolute;top:12px;right:14px;color:#d97706;line-height:1}.user-avatar{width:56px;height:56px;background:var(--primary);border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px;letter-spacing:.5px;margin-bottom:12px;flex-shrink:0}.user-name{font-size:var(--fs-base);font-weight:700;color:var(--primary);margin-bottom:2px}.user-email{font-size:var(--fs-xs);color:var(--text-secondary);margin-bottom:8px;word-break:break-all}.user-status{display:inline-flex;align-items:center;gap:5px;font-size:var(--fs-xs);color:var(--text-tertiary);margin-bottom:10px}.user-status .status-dot{width:7px;height:7px;border-radius:50%;background:var(--text-tertiary);flex-shrink:0}.user-status .status-dot.online{background:#22c55e}.user-role-badge{display:inline-flex;align-items:center;gap:4px;padding:5px 14px;border-radius:20px;font-size:14px;font-weight:700;margin-bottom:12px}.user-role-badge.manager{background:#fef2f2;color:#dc2626}.user-role-badge.sales{background:#eff6ff;color:#2563eb}.user-role-badge.viewer{background:#f1f5f9;color:#64748b}.user-role-badge.owner{background:#fffbeb;color:#d97706}.dark .user-role-badge.manager{background:#dc262626}.dark .user-role-badge.sales{background:#2563eb26}.dark .user-role-badge.viewer{background:#64748b26}.dark .user-role-badge.owner{background:#d9770626}.user-perm-tags{display:flex;flex-wrap:wrap;gap:4px;justify-content:center;margin-bottom:12px}.user-perm-tag{font-size:10px;padding:2px 8px;border-radius:10px;background:var(--muted);color:var(--text-tertiary);font-weight:500}.user-perm-tag.active{background:#ecfdf5;color:#059669}.dark .user-perm-tag.active{background:#05966926}.user-card-actions{display:flex;gap:6px;justify-content:center;border-top:1px solid var(--border);padding-top:12px;width:100%;margin-top:auto}.restrict-tabs{display:flex;gap:4px;margin-bottom:var(--space-4);border-bottom:1px solid var(--border);padding-bottom:0}.restrict-tab{padding:8px 16px;border:none;background:transparent;color:var(--text-secondary);font-size:var(--fs-sm);font-weight:500;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s,border-color .15s}.restrict-tab:hover{color:var(--text-primary)}.restrict-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.restrict-panel{display:none}.restrict-panel.active{display:block}.restrictions-list{display:flex;flex-direction:column;gap:2px;max-height:300px;overflow-y:auto}.restrictions-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:var(--radius-sm);cursor:pointer;transition:background .15s;-webkit-user-select:none;user-select:none}.restrictions-item:hover{background:var(--muted)}.restrictions-checkbox{width:20px;height:20px;border-radius:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s}.restrictions-item.allowed .restrictions-checkbox{background:#ecfdf5;color:#059669;border:1.5px solid #a7f3d0}.restrictions-item.restricted .restrictions-checkbox{background:#fef2f2;color:#dc2626;border:1.5px solid #fecaca}.dark .restrictions-item.allowed .restrictions-checkbox{background:#05966926;border-color:#0596694d}.dark .restrictions-item.restricted .restrictions-checkbox{background:#dc262626;border-color:#dc26264d}.restrictions-label{font-size:var(--fs-sm);color:var(--text-primary);flex:1}.restrictions-inherited{font-size:10px;padding:2px 8px;border-radius:10px;background:#fef3c7;color:#92400e;font-weight:500}.dark .restrictions-inherited{background:#92400e33;color:#fbbf24}.form-group{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-4)}.form-group:last-child{margin-bottom:0}.form-label{font-size:var(--fs-sm);font-weight:500;color:var(--text-primary)}.form-hint{font-size:var(--fs-xs);color:var(--text-tertiary)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.form-checkbox-group{display:flex;flex-direction:column;gap:var(--space-2)}.form-checkbox{display:flex;align-items:center;gap:var(--space-2);font-size:var(--fs-sm);cursor:pointer}.form-checkbox input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary);cursor:pointer}@media(max-width:600px){.users-grid{grid-template-columns:1fr}.users-toolbar{flex-direction:column;align-items:stretch}.search-input-wrapper{max-width:none}.form-row{grid-template-columns:1fr}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.admin-layout{display:flex;height:100vh;overflow:hidden;background:var(--bg-primary)}.admin-sidebar{width:240px;min-width:240px;background:var(--bg-secondary);border-right:1px solid var(--border);display:flex;flex-direction:column;height:100vh;overflow-y:auto}.admin-sidebar-header{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-4);font-weight:700;font-size:var(--fs-lg);border-bottom:1px solid var(--border);color:var(--text-primary)}.admin-sidebar-nav{flex:1;padding:var(--space-2);display:flex;flex-direction:column;gap:2px}.admin-sidebar-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius);color:var(--text-secondary);text-decoration:none;font-size:var(--fs-sm);font-weight:500;transition:background .15s,color .15s}.admin-sidebar-item:hover{background:var(--bg-hover);color:var(--text-primary)}.admin-sidebar-item.active{background:var(--primary);color:#fff}.admin-sidebar-footer{padding:var(--space-2);border-top:1px solid var(--border)}.admin-main{flex:1;overflow-y:auto;padding:var(--space-6)}.admin-page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-6)}.admin-page-header h1{font-size:var(--fs-xl);font-weight:700;margin:0}.admin-kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-4);margin-bottom:var(--space-6)}.admin-section{margin-bottom:var(--space-6)}.admin-section-title{font-size:var(--fs-base);font-weight:600;margin:0 0 var(--space-3) 0;color:var(--text-primary)}.admin-plans-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-4)}.admin-plan-card{padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-primary);display:flex;flex-direction:column;gap:var(--space-3)}.admin-plan-card.featured{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.admin-plan-name{font-size:var(--fs-lg);font-weight:700}.admin-plan-price{font-size:1.75rem;font-weight:700;line-height:1.2}.admin-plan-price span{font-size:var(--fs-sm);font-weight:400;color:var(--text-secondary)}.admin-plan-modules{display:flex;flex-wrap:wrap;gap:var(--space-1)}.admin-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);margin-bottom:var(--space-6)}.admin-detail-grid .card{padding:var(--space-4)}.admin-detail-row{display:flex;justify-content:space-between;align-items:baseline;padding:var(--space-2) 0;border-bottom:1px solid var(--border-light)}.admin-detail-row:last-child{border-bottom:none}.admin-detail-label{font-size:var(--fs-sm);color:var(--text-secondary)}.admin-detail-value{font-weight:600;text-align:right}.admin-status{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-xs);font-weight:600;text-transform:uppercase;letter-spacing:.03em}.admin-status:before{content:"";width:8px;height:8px;border-radius:50%}.admin-status--active:before{background:var(--success)}.admin-status--trial:before{background:var(--warning)}.admin-status--suspended:before{background:var(--danger)}.admin-status--cancelled:before{background:var(--text-muted)}.admin-status--archived:before{background:var(--text-muted)}.admin-status--past_due:before{background:var(--danger)}.cmdk-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;display:flex;justify-content:center;padding-top:12vh;z-index:9999;animation:cmdkFadeIn .1s ease}@keyframes cmdkFadeIn{0%{opacity:0}to{opacity:1}}@keyframes cmdkSlideIn{0%{opacity:0;transform:scale(.98) translateY(-8px)}to{opacity:1;transform:scale(1) translateY(0)}}.cmdk-panel{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);width:560px;max-height:460px;display:flex;flex-direction:column;box-shadow:0 16px 48px #0003;animation:cmdkSlideIn .15s ease;align-self:flex-start;overflow:hidden}.cmdk-input-wrapper{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--border)}.cmdk-input{flex:1;border:none;background:transparent;font-size:var(--fs-base);color:var(--text-primary);outline:none;font-family:inherit}.cmdk-input::placeholder{color:var(--text-tertiary)}.cmdk-kbd{font-size:11px;padding:2px 6px;border:1px solid var(--border);border-radius:4px;color:var(--text-tertiary);background:var(--bg-secondary);font-family:inherit;line-height:1.4}.cmdk-results{flex:1;overflow-y:auto;padding:6px 0}.cmdk-group{padding:2px 0}.cmdk-group-label{font-size:var(--fs-xs);font-weight:600;color:var(--text-tertiary);padding:6px 16px 4px;text-transform:uppercase;letter-spacing:.04em}.cmdk-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 16px;border:none;background:transparent;color:var(--text-primary);font-size:var(--fs-sm);font-family:inherit;cursor:pointer;text-align:left;transition:background 60ms}.cmdk-item[data-active=true]{background:var(--bg-hover)}.cmdk-item-text{flex:1;min-width:0;display:flex;align-items:baseline;gap:8px}.cmdk-item-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cmdk-item-sublabel{font-size:var(--fs-xs);color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cmdk-item-arrow{color:var(--text-tertiary);opacity:0;flex-shrink:0;transition:opacity 60ms}.cmdk-item[data-active=true] .cmdk-item-arrow{opacity:1}.cmdk-empty{padding:24px 16px;text-align:center;color:var(--text-tertiary);font-size:var(--fs-sm)}.cmdk-footer{display:flex;gap:16px;padding:8px 16px;border-top:1px solid var(--border);font-size:11px;color:var(--text-tertiary)}.cmdk-footer kbd{font-size:11px;padding:1px 4px;border:1px solid var(--border);border-radius:3px;background:var(--bg-secondary);font-family:inherit;margin-right:2px}@keyframes health-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.5)}}.help-chat-bubble-wrapper{position:fixed;bottom:24px;right:24px;z-index:1000}.help-chat-bubble{width:52px;height:52px;border-radius:50%;background:var(--action-blue);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px #0000004d;transition:transform .15s ease,background .15s ease,color .15s ease}.help-chat-bubble:hover{transform:scale(1.08)}.help-chat-bubble--open{background:var(--muted);color:var(--muted-foreground)}.help-chat-panel{position:fixed;bottom:88px;right:24px;width:380px;height:520px;background:var(--background);border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 32px #0000004d;display:flex;flex-direction:column;z-index:999;animation:help-chat-slide-up .2s ease;overflow:hidden}@keyframes help-chat-slide-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.help-chat-header{padding:14px 16px;background:var(--card);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.help-chat-header-info{display:flex;align-items:center;gap:10px}.help-chat-avatar{width:32px;height:32px;background:var(--action-blue);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff}.help-chat-title{font-size:var(--fs-sm);font-weight:600;color:var(--foreground)}.help-chat-subtitle{font-size:var(--fs-xs);color:var(--muted-foreground)}.help-chat-close{background:none;border:none;color:var(--muted-foreground);cursor:pointer;padding:4px;border-radius:4px}.help-chat-close:hover{color:var(--foreground);background:var(--muted)}.help-chat-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.help-chat-msg{display:flex;gap:8px;align-items:flex-start}.help-chat-msg--user{justify-content:flex-end}.help-chat-msg-avatar{width:26px;height:26px;min-width:26px;background:var(--action-blue);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;margin-top:2px}.help-chat-msg-bubble{max-width:85%;padding:10px 14px;font-size:var(--fs-sm);line-height:1.55}.help-chat-msg-bubble--bot{background:var(--card);border:1px solid var(--border);border-radius:0 12px 12px;color:var(--foreground)}.help-chat-msg-bubble--bot strong{color:var(--foreground);font-weight:600}.help-chat-msg-bubble--user{background:var(--action-blue);border-radius:12px 0 12px 12px;color:#fff}.help-chat-suggestions{padding-left:34px;display:flex;flex-direction:column;gap:6px}.help-chat-suggestions-label{font-size:var(--fs-xs);color:var(--muted-foreground);margin-bottom:2px}.help-chat-suggestion{background:var(--muted);border:1px solid var(--border);border-radius:8px;padding:8px 12px;font-size:var(--fs-xs);color:var(--action-blue);cursor:pointer;text-align:left}.help-chat-suggestion:hover{background:var(--card);border-color:var(--action-blue)}.help-chat-typing{display:flex;gap:4px;padding:4px 0}.help-chat-typing span{width:6px;height:6px;background:var(--muted-foreground);border-radius:50%;animation:help-chat-bounce 1.2s infinite}.help-chat-typing span:nth-child(2){animation-delay:.2s}.help-chat-typing span:nth-child(3){animation-delay:.4s}@keyframes help-chat-bounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-6px)}}.help-chat-input-area{padding:12px 16px;background:var(--card);border-top:1px solid var(--border)}.help-chat-input-row{display:flex;gap:8px;align-items:center}.help-chat-input{flex:1;background:var(--background);border:1px solid var(--border);border-radius:8px;padding:10px 14px;font-size:var(--fs-sm);color:var(--foreground);outline:none}.help-chat-input:focus{border-color:var(--action-blue)}.help-chat-input::placeholder{color:var(--muted-foreground)}.help-chat-send{width:36px;height:36px;background:var(--action-blue);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center}.help-chat-send:disabled{opacity:.5;cursor:not-allowed}.help-chat-send:not(:disabled):hover{filter:brightness(1.1)}.help-chat-limit{text-align:center;margin-top:8px;font-size:10px;color:var(--muted-foreground)}@media(max-width:480px){.help-chat-panel{width:calc(100vw - 16px);height:calc(100vh - 120px);right:8px;bottom:80px;border-radius:12px}}.privacy-mode .stat-value,.privacy-mode .stat-row-value,.privacy-mode .sensitive-value,.privacy-mode .cell-currency{filter:blur(10px);-webkit-user-select:none;user-select:none;transition:filter .25s ease}.stat-value,.stat-row-value,.sensitive-value,.cell-currency{transition:filter .25s ease}.header-icon-btn.privacy-active{color:var(--warning)!important}.editable-element{transition:box-shadow .15s ease-in-out}.editable-element:hover{box-shadow:inset 0 0 0 2px var(--primary)}.editable-element:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--primary)}.editable-element-pencil{position:absolute;top:3px;right:3px;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:4px;background:var(--primary);color:#fff;opacity:0;transition:opacity .15s ease-in-out;pointer-events:none}.editable-element:hover .editable-element-pencil,.editable-element:focus-visible .editable-element-pencil{opacity:1}.branding-card-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius-card);align-items:stretch;overflow:hidden}.branding-card-grid>*{grid-column:span 6}.branding-card-grid>.span-4{grid-column:span 4}.branding-card-grid>.span-6{grid-column:span 6}.branding-card-grid>.span-8{grid-column:span 8}.branding-card-grid>.span-2,.branding-card-grid>.span-12{grid-column:span 12}@media(max-width:1100px){.branding-card-grid>*{grid-column:span 12}}.branding-topic-card{margin:0;background:var(--card);border:none!important;box-shadow:none!important;border-radius:0!important;display:flex;flex-direction:column}.branding-topic-card .card-content{padding:var(--space-3);flex:1;display:flex;flex-direction:column}.branding-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2);min-height:20px}.branding-card-eyebrow{font-size:var(--fs-xs);font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em}.palette-clusters{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3) var(--space-4)}.palette-cluster-header{font-size:10px;font-weight:700;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}.palette-swatch-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.palette-swatch{display:flex;flex-direction:column;gap:4px;padding:0;background:transparent;border:none}.palette-swatch-block{position:relative;aspect-ratio:1 / 1;border-radius:4px;border:1px solid var(--border);overflow:hidden}.palette-swatch-main{width:100%;height:100%}.palette-swatch-label{font-size:11px;font-weight:600;color:var(--text-primary);line-height:1.2}.palette-swatch-hex{font-family:ui-monospace,SFMono-Regular,monospace;font-size:10px;color:var(--text-tertiary);text-transform:uppercase;line-height:1.2}@media(max-width:900px){.palette-clusters{grid-template-columns:1fr}}.role-slot{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:4px;padding:0;background:transparent;border:none;cursor:pointer;text-align:left}.role-slot[disabled]{cursor:default}.role-slot-swatch{aspect-ratio:1 / 1;border-radius:4px;border:1px solid var(--border);background-image:repeating-conic-gradient(#e5e7eb,#e5e7eb 25%,#f5f5f5 0%,#f5f5f5 50%);background-size:10px 10px;background-position:50%}.role-slot-label{font-size:10px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;line-height:1.2}.role-slot.is-active .role-slot-swatch{box-shadow:0 0 0 2px var(--primary)}.extracted-swatch{width:44px;height:36px;border-radius:4px;border:1px solid var(--border);padding:0;cursor:pointer;position:relative;outline:none;flex:0 0 auto}.extracted-swatch[disabled]{cursor:default}.extracted-swatch-role{position:absolute;inset:auto 2px 2px 2px;font-size:9px;font-weight:700;color:#fff;background:#0000008c;border-radius:2px;line-height:1.25;text-transform:uppercase;letter-spacing:.02em;text-align:center}
