.error-boundary{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:20px;background:#f9fafb}.error-boundary-content{max-width:600px;background:#fff;padding:40px;border-radius:12px;box-shadow:0 4px 12px #0000001a;text-align:center}.error-boundary-content h1{font-size:32px;color:#ef4444;margin-bottom:16px}.error-boundary-content p{font-size:16px;color:#6b7280;margin-bottom:24px}.error-details{margin:24px 0;text-align:left;background:#f3f4f6;padding:16px;border-radius:8px}.error-details summary{cursor:pointer;font-weight:600;color:#374151;margin-bottom:12px}.error-stack{font-family:Courier New,monospace;font-size:12px;color:#1f2937;white-space:pre-wrap;word-break:break-all;overflow-x:auto}.error-actions{display:flex;gap:12px;justify-content:center;margin-top:24px}.error-btn{padding:12px 24px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.retry-btn{background:#667eea;color:#fff}.retry-btn:hover{background:#5568d3}.reload-btn{background:#e5e7eb;color:#374151}.reload-btn:hover{background:#d1d5db}background: #505050; } :root{--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-family-mono: "SF Mono", "Monaco", "Inconsolata", "Roboto Mono", "Courier New", monospace;--font-size-md: 1.125rem;--font-size-lg: 1.25rem;--font-size-xl: 1.5rem;--font-size-2xl: 2rem;--color-primary: #667eea;--color-primary-dark: #5568d3;--color-primary-light: #818cf8;--color-secondary: #764ba2;--color-accent: #f39c12;--color-background: #fafbfc;--color-surface: #ffffff;--color-surface-elevated: #ffffff;--color-text-primary: #1a1a1a;--color-text-secondary: #666666;--color-text-tertiary: #999999;--color-text-inverse: #ffffff;--color-border: #e8e8e8;--color-border-light: #f0f0f0;--color-border-dark: #d0d0d0;--color-success: #27ae60;--color-success-light: #d4edda;--color-warning: #f39c12;--color-warning-light: #fff3cd;--color-error: #e74c3c;--color-error-light: #f8d7da;--color-info: #3498db;--color-info-light: #d1ecf1;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .07);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .15);--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 2rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--z-base: 1;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070;font-family:var(--font-family);line-height:var(--line-height-normal);font-weight:var(--font-weight-normal);color-scheme:light dark;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme: dark){:root{--color-background: #0f0f0f;--color-surface: #1a1a1a;--color-surface-elevated: #2a2a2a;--color-text-primary: #e0e0e0;--color-text-secondary: #b0b0b0;--color-text-tertiary: #808080;--color-border: #3a3a3a;--color-border-light: #2a2a2a;--color-border-dark: #4a4a4a}}body{margin:0;padding:0;background-color:var(--color-background);color:var(--color-text-primary);transition:background-color var(--transition-base),color var(--transition-base)}#root{width:100%;min-height:100vh}html{scroll-behavior:smooth}*:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}::selection{background-color:var(--color-primary);color:var(--color-text-inverse)}body.dark-mode{background:#1a1a1a!important;--color-surface: #2a2a2a !important;--color-surface-elevated: #2a2a2a !important;--color-background: #1a1a1a !important;--color-text-primary: #e0e0e0 !important;--color-text-secondary: #b0b0b0 !important;--color-border: #3a3a3a !important}body.dark-mode .app{background:#1a1a1a;color:#e0e0e0}body.dark-mode .header{background:#2a2a2a!important;border-color:#3a3a3a!important}body.dark-mode .header h1,body.dark-mode .subtitle,body.dark-mode .user-name,body.dark-mode .user-role,body.dark-mode .stat-value{color:#fff!important}body.dark-mode .stat-label{color:#999!important}body.dark-mode .action-btn,body.dark-mode .category-btn,body.dark-mode .search-input,body.dark-mode .add-btn,body.dark-mode .add-endproduct-btn,body.dark-mode .qr-btn,body.dark-mode .export-btn,body.dark-mode .history-btn,body.dark-mode .stock-history-btn,body.dark-mode .fiscal-btn{background:#2a2a2a!important;color:#e0e0e0!important;border-color:#3a3a3a!important}body.dark-mode .scanner-btn,body.dark-mode .assembly-btn{background:linear-gradient(135deg,#667eea,#764ba2)!important;color:#fff!important;border:none!important}body.dark-mode .add-btn:hover,body.dark-mode .add-endproduct-btn:hover,body.dark-mode .scanner-btn:hover,body.dark-mode .qr-btn:hover,body.dark-mode .export-btn:hover,body.dark-mode .assembly-btn:hover,body.dark-mode .history-btn:hover,body.dark-mode .stock-history-btn:hover,body.dark-mode .fiscal-btn:hover{cursor:pointer}body.dark-mode .table-container{background:#2a2a2a!important}body.dark-mode .inventory-table tbody tr{background:#2a2a2a!important;color:#e0e0e0!important;border-color:#3a3a3a!important}body.dark-mode .inventory-table td{color:#e0e0e0!important}.dark-toggle{position:fixed;bottom:20px;right:20px;width:50px;height:50px;border-radius:50%;background:#2c3e50;border:none;color:#fff;font-size:1.5rem;cursor:pointer;z-index:9999;box-shadow:0 4px 12px #0000004d;transition:all .3s}.dark-toggle:hover{transform:scale(1.1)}body.dark-mode .dark-toggle{background:#f39c12}body.dark-mode .recharts-cartesian-grid-horizontal line,body.dark-mode .recharts-cartesian-grid-vertical line{stroke:#3a3a3a!important}body.dark-mode .recharts-text{fill:#aaa!important}body.dark-mode .recharts-tooltip-wrapper{background:#2a2a2a!important;border-color:#3a3a3a!important}body.dark-mode .recharts-tooltip-label{color:#e0e0e0!important}body.dark-mode .recharts-active-dot{fill:currentColor!important}body.dark-mode .recharts-line{stroke-width:2}body.dark-mode .stat-card{background:#2a2a2a!important;border-color:#3a3a3a!important}body.dark-mode .stat-card:hover{border-color:var(--stat-color, #667eea)!important;box-shadow:0 4px 12px #667eea33!important}body.dark-mode .stat-card-modal-content{background:#2a2a2a!important;border-color:#3a3a3a!important}body.dark-mode .stat-card-modal-content .modal-header{border-bottom-color:#3a3a3a!important}body.dark-mode .stat-card-modal-content .modal-header h2{color:#fff!important}body.dark-mode .chart-tooltip{background:#2a2a2a!important;border-color:#3a3a3a!important}body.dark-mode .tooltip-date{color:#aaa!important}body.dark-mode .tooltip-value{color:#fff!important}body.dark-mode .modal-content,body.dark-mode .modal-overlay .modal-content{background:#2a2a2a!important;border-color:#3a3a3a!important;color:#e0e0e0!important}body.dark-mode .modal-header,body.dark-mode .modal-content .modal-header{background:#2a2a2a!important;border-bottom-color:#3a3a3a!important;border-radius:8px 8px 0 0!important}body.dark-mode .modal-actions{background:#2a2a2a!important;border-top-color:#3a3a3a!important}body.dark-mode .form-input,body.dark-mode input[type=text],body.dark-mode input[type=number],body.dark-mode input[type=email],body.dark-mode input[type=password],body.dark-mode input[type=url],body.dark-mode textarea{background:#1a1a1a!important;color:#e0e0e0!important;border-color:#3a3a3a!important}body.dark-mode .form-input::placeholder,body.dark-mode input::placeholder,body.dark-mode textarea::placeholder{color:#888!important}body.dark-mode .form-input:focus,body.dark-mode input:focus,body.dark-mode textarea:focus,body.dark-mode select:focus{border-color:#667eea!important;background:#1a1a1a!important;color:#e0e0e0!important}body.dark-mode .form-input:disabled,body.dark-mode input:disabled,body.dark-mode textarea:disabled{background:#1f1f1f!important;color:#666!important;border-color:#2a2a2a!important}body.dark-mode select{background:#1a1a1a!important;color:#e0e0e0!important;border-color:#3a3a3a!important}body.dark-mode select option{background:#1a1a1a!important;color:#e0e0e0!important}body.dark-mode .form-group label,body.dark-mode label{color:#e0e0e0!important}body.dark-mode .warehouse-select-modal{background:#2a2a2a!important}body.dark-mode .warehouse-select-modal .product-info{background:#1a1a1a!important;color:#e0e0e0!important;border-color:#3a3a3a!important}body.dark-mode .warehouse-select-modal .product-info strong{color:#fff!important}body.dark-mode .warehouse-select-modal .product-info .sku{color:#aaa!important}body.dark-mode .warehouse-checkbox-label{background:#1a1a1a!important;border-color:#3a3a3a!important;color:#e0e0e0!important}body.dark-mode .warehouse-checkbox-label:hover{background:#222!important;border-color:#667eea!important}body.dark-mode .warehouse-checkbox-label:has(input:checked){background:#1f1f3a!important;border-color:#667eea!important}body.dark-mode .warehouse-info strong{color:#e0e0e0!important}body.dark-mode .warehouse-info .current-qty{color:#aaa!important}body.dark-mode .warehouse-select-modal .btn-secondary{background:#3a3a3a!important;color:#e0e0e0!important;border-color:#4a4a4a!important}body.dark-mode .warehouse-select-modal .btn-secondary:hover{background:#4a4a4a!important}body.dark-mode .scanner-modal{background:#2a2a2a!important;color:#e0e0e0!important}body.dark-mode .scan-mode-toggle{background:#1a1a1a!important}body.dark-mode .mode-btn{color:#aaa!important}body.dark-mode .mode-btn:hover{background:#333!important}body.dark-mode .mode-btn.active{background:#667eea!important;color:#fff!important}body.dark-mode .scan-input{background:#1a1a1a!important;color:#e0e0e0!important;border-color:#3a3a3a!important}body.dark-mode .scan-input:focus{border-color:#667eea!important;background:#1a1a1a!important}body.dark-mode .product-info-grid{background:#1a1a1a!important;border-color:#3a3a3a!important}body.dark-mode .info-label{color:#aaa!important}body.dark-mode .info-value{color:#e0e0e0!important}body.dark-mode .info-value.strong{color:#667eea!important}body.dark-mode .locations-section h3{color:#e0e0e0!important}body.dark-mode .location-control{background:#1a1a1a!important;border-color:#3a3a3a!important;color:#e0e0e0!important}body.dark-mode .location-control:hover{border-color:#667eea!important}body.dark-mode .location-name{color:#e0e0e0!important}body.dark-mode .qty-input{background:#1a1a1a!important;color:#e0e0e0!important;border-color:#3a3a3a!important}body.dark-mode .qty-input:focus{border-color:#667eea!important}body.dark-mode .scanner-hint{background:#1a1a1a!important;border-color:#3a3a3a!important;color:#aaa!important}body.dark-mode .cancel-btn{background:#3a3a3a!important;color:#e0e0e0!important;border-color:#4a4a4a!important}body.dark-mode .cancel-btn:hover{background:#4a4a4a!important}body.dark-mode .qr-modal{background:#2a2a2a!important;color:#e0e0e0!important}body.dark-mode .qr-sku,body.dark-mode .qr-product{color:#e0e0e0!important}body.dark-mode .stock-transfer-modal{background:#2a2a2a!important;color:#e0e0e0!important}body.dark-mode .close-btn{color:#e0e0e0!important}body.dark-mode .close-btn:hover{color:#fff!important;background:#3a3a3a!important}body.dark-mode .error-message{background:#3a1a1a!important;color:#ff6b6b!important;border-color:#5a2a2a!important}body.dark-mode .success-message{background:#1a3a1a!important;color:#6bff6b!important;border-color:#2a5a2a!important}body.dark-mode .filter-select,body.dark-mode select,body.dark-mode .header-branch-select{background:#1a1a1a!important;color:#e0e0e0!important;border-color:#3a3a3a!important}body.dark-mode .filter-select:focus,body.dark-mode select:focus,body.dark-mode .header-branch-select:focus{border-color:#667eea!important;background:#1a1a1a!important;color:#e0e0e0!important}body.dark-mode .filter-select option,body.dark-mode select option,body.dark-mode .header-branch-select option{background:#1a1a1a!important;color:#e0e0e0!important}body.dark-mode input[type=checkbox],body.dark-mode input[type=radio]{accent-color:#667eea!important}body.dark-mode .dropdown-menu{background:#2a2a2a!important;border-color:#3a3a3a!important}body.dark-mode .dropdown-menu a,body.dark-mode .dropdown-menu button{color:#e0e0e0!important}body.dark-mode .dropdown-menu a:hover,body.dark-mode .dropdown-menu button:hover{background:#3a3a3a!important;color:#fff!important}body.dark-mode .suggestions-dropdown{background:#2a2a2a!important;border-color:#3a3a3a!important}body.dark-mode .suggestion-item{color:#e0e0e0!important}body.dark-mode .suggestion-item:hover{background:#3a3a3a!important}body.dark-mode .bom-manager{background:#1a1a1a!important;border-color:#3a3a3a!important}body.dark-mode .bom-component-item{background:#1a1a1a!important;border-color:#3a3a3a!important;color:#e0e0e0!important}body.dark-mode #qr-reader__camera_selection{background:#1a1a1a!important;color:#e0e0e0!important}body.dark-mode #qr-reader__camera_selection select{background:#1a1a1a!important;color:#e0e0e0!important;border-color:#3a3a3a!important}body.dark-mode #qr-reader__dashboard_section{background:#1a1a1a!important;color:#e0e0e0!important}body.dark-mode .qr-modal .modal-content{background:#2a2a2a!important}body.dark-mode .qr-modal .modal-header{border-bottom-color:#3a3a3a!important}body.dark-mode .qr-modal .modal-header h2{color:#fff!important}body.dark-mode .qr-card{background:#1a1a1a!important;border-color:#3a3a3a!important}body.dark-mode .qr-card:hover{border-color:#667eea!important}body.dark-mode .qr-info{border-top-color:#3a3a3a!important}body.dark-mode .qr-sku{color:#667eea!important}body.dark-mode .qr-product{color:#aaa!important}body.dark-mode .stock-transfer-modal .product-info{background:#1a1a1a!important;border-left-color:#667eea!important}body.dark-mode .stock-transfer-modal .product-info h3{color:#e0e0e0!important}body.dark-mode .stock-transfer-modal .product-info p,body.dark-mode .stock-transfer-modal .stock-info{color:#aaa!important}body.dark-mode .stock-transfer-modal .modal-actions{border-top-color:#3a3a3a!important}body.dark-mode .edit-modal{background:#2a2a2a!important;color:#e0e0e0!important}body.dark-mode .edit-form,body.dark-mode .edit-modal .form-group label{color:#e0e0e0!important}body.dark-mode .edit-modal .form-input{background:#1a1a1a!important;color:#e0e0e0!important;border-color:#3a3a3a!important}body.dark-mode .edit-modal .form-input:focus{background:#1a1a1a!important;color:#e0e0e0!important;border-color:#667eea!important}body.dark-mode .edit-modal .form-input:disabled{background:#1f1f1f!important;color:#666!important;border-color:#2a2a2a!important}body.dark-mode .edit-modal select{background:#1a1a1a!important;color:#e0e0e0!important;border-color:#3a3a3a!important}body.dark-mode .edit-modal select option{background:#1a1a1a!important;color:#e0e0e0!important}body.dark-mode .edit-modal .brands-section,body.dark-mode .edit-modal .inventory-section,body.dark-mode .edit-modal .product-type-section,body.dark-mode .edit-modal .advanced-content{background:#1a1a1a!important;border-color:#3a3a3a!important;color:#e0e0e0!important}body.dark-mode .edit-modal .brands-section h3,body.dark-mode .edit-modal .inventory-section h3,body.dark-mode .edit-modal .product-type-section h3{color:#fff!important}body.dark-mode .edit-modal .brand-checkbox-label{background:#1a1a1a!important;border-color:#3a3a3a!important;color:#e0e0e0!important}body.dark-mode .edit-modal .brand-checkbox-label:hover{background:#222!important;border-color:#667eea!important}body.dark-mode .edit-modal .brand-checkbox-label span{color:#e0e0e0!important}body.dark-mode .edit-modal .stock-alerts-section{background:#3a2a1a!important;border-left-color:#ffc107!important;color:#e0e0e0!important}body.dark-mode .edit-modal .stock-alerts-section h3{color:#ffc107!important}body.dark-mode .edit-modal .section-hint,body.dark-mode .edit-modal .input-hint{color:#aaa!important}body.dark-mode .edit-modal .location-input-group label{color:#e0e0e0!important}body.dark-mode .edit-modal .form-actions{border-top-color:#3a3a3a!important}body.dark-mode .edit-modal .toggle-advanced-btn{background:#1a1a1a!important;border-color:#3a3a3a!important;color:#e0e0e0!important}body.dark-mode .edit-modal .toggle-advanced-btn:hover{background:#222!important;border-color:#667eea!important}body.dark-mode .edit-modal .bom-section{background:#1a1a2a!important;border-color:#3a3a4a!important;color:#e0e0e0!important}body.dark-mode .edit-modal .bom-component-item,body.dark-mode .edit-modal .bom-item{background:#1a1a1a!important;border-color:#3a3a3a!important;color:#e0e0e0!important}body.dark-mode .edit-modal .bom-empty{color:#888!important}body.dark-mode .edit-modal .cancel-btn{background:#3a3a3a!important;color:#e0e0e0!important;border-color:#4a4a4a!important}body.dark-mode .edit-modal .cancel-btn:hover{background:#4a4a4a!important}body.dark-mode .suggestions-container{background:#1a1a1a!important;border-color:#3a3a3a!important}body.dark-mode .suggestions-dropdown,body.dark-mode .category-dropdown{background:#2a2a2a!important;border-color:#3a3a3a!important;box-shadow:0 4px 12px #00000080!important}body.dark-mode .suggestion-item,body.dark-mode .category-item{background:#2a2a2a!important;color:#e0e0e0!important;border-color:#3a3a3a!important}body.dark-mode .suggestion-item:hover,body.dark-mode .category-item:hover{background:#3a3a3a!important;color:#fff!important}body.dark-mode .suggestion-item.selected,body.dark-mode .category-item.selected{background:#667eea!important;color:#fff!important}body.dark-mode .add-category-btn{background:#3a3a3a!important;color:#e0e0e0!important;border-color:#4a4a4a!important}body.dark-mode .add-category-btn:hover{background:#4a4a4a!important}body.dark-mode .autocomplete-input{background:#1a1a1a!important;color:#e0e0e0!important;border-color:#3a3a3a!important}body.dark-mode .autocomplete-input:focus{background:#1a1a1a!important;color:#e0e0e0!important;border-color:#667eea!important}body.dark-mode .autocomplete-dropdown{background:#2a2a2a!important;border-color:#3a3a3a!important;box-shadow:0 4px 12px #00000080!important}body.dark-mode .autocomplete-item{background:#2a2a2a!important;color:#e0e0e0!important}body.dark-mode .autocomplete-item:hover{background:#3a3a3a!important;color:#fff!important}body.dark-mode .edit-modal .add-variant-form{background:#1a1a1a!important;border-color:#3a3a3a!important;color:#e0e0e0!important}body.dark-mode .edit-modal .add-variant-form select,body.dark-mode .edit-modal .add-variant-form input{background:#1a1a1a!important;color:#e0e0e0!important;border-color:#3a3a3a!important}body.dark-mode .edit-modal .add-variant-form select:focus,body.dark-mode .edit-modal .add-variant-form input:focus{background:#1a1a1a!important;color:#e0e0e0!important;border-color:#667eea!important}body.dark-mode .edit-modal .variant-item{background:#1a1a1a!important;border-color:#3a3a3a!important;color:#e0e0e0!important}body.dark-mode .edit-modal .variant-info{color:#e0e0e0!important}body.dark-mode .bom-manager-modal,body.dark-mode .bom-manager-content{background:#2a2a2a!important;color:#e0e0e0!important}body.dark-mode .modal-content *{color:inherit}body.dark-mode .modal-content input[type=text],body.dark-mode .modal-content input[type=number],body.dark-mode .modal-content input[type=email],body.dark-mode .modal-content input[type=password],body.dark-mode .modal-content input[type=url],body.dark-mode .modal-content textarea,body.dark-mode .modal-content select{color:#e0e0e0!important}body.dark-mode input[type=date]{background:#1a1a1a!important;color:#e0e0e0!important;border-color:#3a3a3a!important}body.dark-mode input[type=date]:focus{background:#1a1a1a!important;color:#e0e0e0!important;border-color:#667eea!important}body.dark-mode .modal-header{background:#2a2a2a!important;border-bottom-color:#3a3a3a!important}body.dark-mode .modal-header h2{color:#fff!important}body.dark-mode .filter-checkbox-label{background:#2a2a2a!important;border-color:#3a3a3a!important;color:#e0e0e0!important}body.dark-mode .filter-checkbox-label:hover{background:#333!important;border-color:#667eea!important}body.dark-mode .modal-content p,body.dark-mode .modal-content span,body.dark-mode .modal-content div{color:#e0e0e0!important}body.dark-mode .modal-content h1,body.dark-mode .modal-content h2,body.dark-mode .modal-content h3,body.dark-mode .modal-content h4,body.dark-mode .modal-content h5,body.dark-mode .modal-content h6{color:#fff!important}body.dark-mode .modal-content button:not(.scanner-btn):not(.assembly-btn):not(.print-btn):not(.btn-primary){color:#e0e0e0!important}body.dark-mode .btn-primary{background:#667eea!important;color:#fff!important}body.dark-mode .btn-primary:hover:not(:disabled){background:#5568d3!important}body.dark-mode .btn-secondary{background:#3a3a3a!important;color:#e0e0e0!important;border-color:#4a4a4a!important}body.dark-mode .btn-secondary:hover{background:#4a4a4a!important}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-family);background:var(--color-background);min-height:100vh;padding:var(--spacing-md);line-height:var(--line-height-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--color-text-primary);transition:background-color var(--transition-base),color var(--transition-base)}@media (max-width: 768px){body{padding:var(--spacing-sm)}}.loading-spinner{display:inline-block;width:20px;height:20px;border:2px solid var(--color-border-light);border-top:2px solid var(--color-primary);border-radius:var(--radius-full);animation:spin 1s linear infinite}.loading-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#fffffff2;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);animation:fadeIn var(--transition-base)}body.dark-mode .loading-overlay{background:#1a1a1af2}.loading-content{text-align:center;color:var(--color-text-primary)}.loading-content .loading-spinner{width:40px;height:40px;margin-bottom:var(--spacing-lg);border-width:3px}.toast{position:fixed;top:var(--spacing-lg);right:var(--spacing-lg);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-md) var(--spacing-lg);box-shadow:var(--shadow-lg);z-index:var(--z-tooltip);max-width:400px;animation:slideInRight var(--transition-slow) ease-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.toast.success{border-left:4px solid var(--color-success);background:var(--color-success-light)}.toast.error{border-left:4px solid var(--color-error);background:var(--color-error-light)}.toast.warning{border-left:4px solid var(--color-warning);background:var(--color-warning-light)}@keyframes slideInRight{0%{transform:translate(calc(100% + var(--spacing-lg)));opacity:0}to{transform:translate(0);opacity:1}}@media (max-width: 768px){body{padding:var(--spacing-sm)}.header{padding:var(--spacing-md);margin-bottom:var(--spacing-lg)}.header h1{font-size:var(--font-size-2xl)}.header-content{flex-direction:column;align-items:flex-start;gap:var(--spacing-md)}.header-actions{width:100%;justify-content:space-between}.controls{flex-direction:column;gap:var(--spacing-md)}.search-input{width:100%}.stats-grid{grid-template-columns:repeat(2,1fr);gap:var(--spacing-md);padding:0}.action-buttons{flex-wrap:wrap;gap:var(--spacing-sm)}.action-btn{flex:1 1 calc(50% - var(--spacing-sm));min-width:120px}}@media (max-width: 480px){body{padding:var(--spacing-xs)}.header{padding:var(--spacing-md)}.header h1{font-size:var(--font-size-xl)}.stats-grid{grid-template-columns:1fr;gap:var(--spacing-sm)}.action-btn{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);flex:1 1 100%}.toast{top:var(--spacing-sm);right:var(--spacing-sm);left:var(--spacing-sm);max-width:none}}.app{max-width:1600px;margin:0 auto;transition:all var(--transition-base)}.header{color:var(--color-text-primary);margin-bottom:var(--spacing-xl);padding:var(--spacing-lg) var(--spacing-xl);background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);transition:all var(--transition-base)}body.dark-mode .header{background:var(--color-surface-elevated);border-color:var(--color-border)}.header-content{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px}.header h1{font-size:var(--font-size-3xl);font-weight:var(--font-weight-semibold);margin:0 0 var(--spacing-xs) 0;color:var(--color-text-primary);transition:color var(--transition-base)}.subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:var(--font-weight-normal);margin:0}.header-actions{display:flex;align-items:center;gap:15px}.user-info{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.user-name{font-weight:600;color:#2c3e50;font-size:.95rem}.user-role{font-size:.8rem;color:#7f8c8d;text-transform:capitalize}.subscription-badge{display:inline-block;padding:2px 8px;background:#3498db;color:#fff;border-radius:4px;font-size:.75rem;text-transform:uppercase;font-weight:600}.settings-btn,.logout-btn{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base);position:relative;overflow:hidden}.settings-btn:before,.logout-btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:var(--radius-full);background:var(--color-primary);transform:translate(-50%,-50%);transition:width .3s ease,height .3s ease;z-index:-1}.settings-btn:hover,.logout-btn:hover{cursor:pointer}.settings-btn:focus,.logout-btn:focus{outline:2px solid var(--color-primary);outline-offset:2px}.settings-btn:active,.logout-btn:active{transform:translateY(0)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-xl);padding:var(--spacing-sm)}.stat-card{background:var(--color-surface);padding:var(--spacing-lg);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);text-align:center;transition:all var(--transition-base);position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,var(--color-primary),var(--color-secondary));transform:scaleX(0);transform-origin:left;transition:transform var(--transition-base)}.stat-card:hover{cursor:default;transform:translateY(-2px);box-shadow:var(--shadow-md)}.stat-card.warning{border-left:3px solid #1a1a1a}.stat-value{font-size:2rem;font-weight:600;margin-bottom:5px;color:#1a1a1a}.stat-label{font-size:.875rem;color:#666;text-transform:uppercase;letter-spacing:.5px;font-weight:500}.action-buttons{display:flex;gap:15px;justify-content:center;margin-bottom:20px}.action-btn{padding:var(--spacing-md) var(--spacing-lg);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base);background:var(--color-surface);color:var(--color-text-primary);position:relative;overflow:hidden}.action-btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:var(--radius-full);background:var(--color-primary);transform:translate(-50%,-50%);transition:width .3s ease,height .3s ease;z-index:0}.action-btn span{position:relative;z-index:1}.action-btn:hover{cursor:pointer}.action-btn:focus{outline:2px solid var(--color-primary);outline-offset:2px}.action-btn:active{transform:translateY(0) scale(.98)}.add-btn,.add-endproduct-btn,.qr-btn,.export-btn,.history-btn,.stock-history-btn{background:#fff;color:#1a1a1a;border:1px solid #e8e8e8}.scanner-btn,.assembly-btn{background:linear-gradient(135deg,#667eea,#764ba2)!important;color:#fff!important;border:none!important;font-size:1.1rem!important;font-weight:600!important;padding:16px 24px!important;box-shadow:0 4px 15px #667eea66!important;transform:translateY(0)!important}.scanner-btn:hover,.assembly-btn:hover{transform:translateY(-2px)!important;box-shadow:0 6px 20px #667eea80!important}.scanner-btn:active,.assembly-btn:active{transform:translateY(0) scale(.98)!important}.add-btn:hover,.add-endproduct-btn:hover,.qr-btn:hover,.export-btn:hover,.history-btn:hover,.stock-history-btn:hover,.fiscal-btn:hover{cursor:pointer}.controls{background:var(--color-surface);padding:var(--spacing-lg);border-radius:var(--radius-lg);margin-bottom:var(--spacing-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);transition:all var(--transition-base)}body.dark-mode .controls{background:var(--color-surface-elevated)}.search-box{margin-bottom:20px}.search-input{width:100%;padding:var(--spacing-md);font-size:var(--font-size-base);border:2px solid var(--color-border);border-radius:var(--radius-md);transition:all var(--transition-base);outline:none;background:var(--color-surface);color:var(--color-text-primary)}.search-input:focus{border-color:var(--color-primary);background:var(--color-surface);box-shadow:0 0 0 3px #667eea1a}.search-input::placeholder{color:var(--color-text-tertiary)}.category-filters{display:flex;gap:10px;flex-wrap:wrap}.category-btn{padding:var(--spacing-sm) var(--spacing-md);border:2px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:all var(--transition-base);color:var(--color-text-secondary);position:relative;overflow:hidden}.category-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:var(--color-primary);transition:left var(--transition-base);z-index:0}.category-btn span{position:relative;z-index:1}.category-btn:hover{cursor:pointer}.category-btn:focus{outline:2px solid var(--color-primary);outline-offset:2px}.category-btn.active{background:var(--color-primary);color:var(--color-text-inverse);border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.category-btn.active:focus{outline-color:var(--color-text-inverse)}body.dark-mode .category-btn{background:var(--color-surface-elevated)}.advanced-filters-collapsible{margin-top:15px}.toggle-filters-btn{padding:8px 16px;background:#f0f0f0;border:1px solid #e0e0e0;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.toggle-filters-btn:hover{cursor:pointer}.advanced-filters{display:flex;gap:20px;flex-wrap:wrap;margin-top:15px;padding:15px;background:#f8f9fa;border-radius:8px;border:1px solid #e8e8e8}.filter-group{display:flex;flex-direction:column;gap:8px;min-width:150px}.filter-group label{font-weight:600;color:#333;font-size:.9rem}.filter-select{padding:10px 12px;border:2px solid #e0e0e0;border-radius:6px;font-size:.95rem;background:#fff;color:#333;cursor:pointer;transition:all .3s ease;outline:none}.filter-select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:2px solid #667eea;outline-offset:2px}.filter-checkbox-label{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#fff;border:2px solid #e0e0e0;border-radius:6px;cursor:pointer;transition:all .2s ease;-webkit-user-select:none;user-select:none}.filter-checkbox-label:hover{cursor:pointer}.filter-checkbox-label:focus-within{outline:2px solid #667eea;outline-offset:2px;border-radius:var(--radius-md, 6px)}.filter-checkbox{width:18px;height:18px;cursor:pointer;accent-color:#667eea}.filter-checkbox-label span{font-size:.9rem;color:#333}.loading,.error{text-align:center;padding:40px;font-size:1.2rem;color:#fff;background:#fff3;border-radius:15px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;z-index:var(--z-modal-backdrop);animation:fadeIn var(--transition-base);padding:var(--spacing-md)}.modal-content{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-xl);max-width:90vw;max-height:90vh;overflow:auto;animation:slideUp var(--transition-slow) ease;width:100%;max-width:600px}.delete-confirm-modal{width:450px;padding:0}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e8e8e8;background:#fff;border-radius:8px 8px 0 0}.modal-header h2{font-size:1.25rem;color:#1a1a1a;font-weight:600;margin:0}.close-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#999;transition:color .2s ease;padding:4px;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.close-btn:hover{cursor:pointer}.delete-confirm-content{padding:25px}.delete-confirm-content>p{font-size:1rem;margin-bottom:20px;color:#2c3e50;line-height:1.5}.product-info-box{background:#fff3cd;padding:15px;border-radius:6px;margin:20px 0;border-left:3px solid #ffc107}.product-info-box strong{font-size:1.1rem;color:#2c3e50;display:block;margin-bottom:8px}.product-info-box p{margin:4px 0;font-size:.9rem;color:#5a6c7d}.warning-text{color:#721c24;font-weight:500;text-align:center;background:#f8d7da;padding:12px;border-radius:6px;margin-top:15px;font-size:.9rem;border:1px solid #f5c6cb}.modal-actions{display:flex;gap:10px;justify-content:flex-end;padding:20px 25px;background:#f8f9fa;border-top:1px solid #ecf0f1}.delete-confirm-btn{padding:10px 20px;background:#1a1a1a;color:#fff;border:1px solid #1a1a1a;border-radius:6px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease}.delete-confirm-btn:hover{cursor:pointer}.cancel-btn{padding:10px 20px;background:#fff;color:#1a1a1a;border:1px solid #e8e8e8;border-radius:6px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease}.cancel-btn:hover{border-color:#1a1a1a}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.loading-spinner{width:50px;height:50px;border:4px solid rgba(255,255,255,.3);border-top-color:#3498db;border-radius:50%;animation:spin 1s linear infinite;margin:50px auto}@media (max-width: 768px){.header h1{font-size:1.5rem}.header-content{flex-direction:column;align-items:flex-start}.header-actions{width:100%;justify-content:space-between}.stats-grid{grid-template-columns:repeat(2,1fr)}.category-filters{justify-content:center}.advanced-filters{flex-direction:column;gap:15px}.filter-group{min-width:100%}.delete-confirm-modal{width:95%;padding:20px}.modal-actions{flex-direction:column}.action-buttons{position:relative;padding-bottom:100px}.scanner-btn,.assembly-btn{position:fixed!important;bottom:20px!important;left:50%!important;transform:translate(-50%)!important;width:calc(50% - 30px)!important;max-width:200px!important;z-index:1000!important;box-shadow:0 4px 20px #667eea80!important}.scanner-btn{left:calc(25% + 10px)!important;transform:translate(-50%)!important}.assembly-btn{left:calc(75% - 10px)!important;transform:translate(-50%)!important}.scanner-btn:hover,.assembly-btn:hover{transform:translate(-50%) translateY(-2px)!important}.scanner-btn:active,.assembly-btn:active{transform:translate(-50%) scale(.98)!important}}.more-actions-container{position:relative;display:inline-block}.more-actions-btn{background:#fff!important;color:#1a1a1a!important;border:1px solid #e8e8e8!important}.more-actions-dropdown{position:absolute;top:100%;left:0;margin-top:8px;background:#fff;border:1px solid #e8e8e8;border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:200px;z-index:1000;overflow:hidden;animation:slideDown .2s ease}.more-actions-item{display:block;width:100%;padding:12px 16px;text-align:left;background:#fff;border:none;border-bottom:1px solid #f0f0f0;color:#1a1a1a;font-size:.95rem;cursor:pointer;transition:background-color .2s ease}.more-actions-item:last-child{border-bottom:none}.more-actions-item:hover{background:#f8f9fa}.more-actions-item:active{background:#e9ecef}body.dark-mode .more-actions-dropdown{background:#2a2a2a;border-color:#3a3a3a}body.dark-mode .more-actions-item{background:#2a2a2a;color:#e0e0e0;border-bottom-color:#3a3a3a}body.dark-mode .more-actions-item:hover{background:#333}body.dark-mode .more-actions-item:active{background:#3a3a3a}@media (max-width: 768px){.more-actions-container,.more-actions-btn{width:100%}.more-actions-dropdown{left:0;right:0;width:100%}}.auth-container{min-height:100vh;display:flex;justify-content:center;align-items:center;background:#fafbfc;padding:20px}.auth-card{background:#fff;border-radius:8px;border:1px solid #e8e8e8;box-shadow:0 4px 20px #00000014;max-width:480px;width:100%;overflow:hidden}.auth-header{background:#1a1a1a;color:#fff;padding:30px;text-align:center}.auth-header.success{background:#1a1a1a}.auth-header h1{font-size:2rem;margin-bottom:8px;font-weight:600}.auth-header p{font-size:1rem;opacity:.9}.tier-info{background:#fafafa;padding:20px;border-bottom:1px solid #e8e8e8}.tier-info h4{margin:0 0 10px;color:#1a1a1a;font-size:.95rem}.tier-info ul{margin:0;padding-left:20px;color:#666;font-size:.875rem}.tier-info li{margin:5px 0}.auth-form{padding:30px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:6px;color:#1a1a1a;font-weight:500;font-size:.875rem}.form-group input{width:100%;padding:12px 16px;border:1px solid #e8e8e8;border-radius:6px;font-size:.95rem;transition:all .2s ease;box-sizing:border-box;background:#fff}.form-group input:focus{outline:none;border-color:#1a1a1a;background:#fff}.form-group input:disabled{background:#f5f7fa;cursor:not-allowed}.error-box{background:#fafafa;color:#1a1a1a;padding:12px 15px;border-radius:6px;margin-bottom:20px;border:1px solid #e8e8e8;border-left:3px solid #1a1a1a;font-size:.875rem}.auth-btn{width:100%;padding:12px 20px;border:none;border-radius:6px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease}.auth-btn.primary{background:#1a1a1a;color:#fff;border:1px solid #1a1a1a}.auth-btn.primary:hover:not(:disabled){background:#000}.auth-btn.secondary{background:#fff;color:#1a1a1a;border:1px solid #e8e8e8}.auth-btn.secondary:hover:not(:disabled){border-color:#1a1a1a}.auth-btn:disabled{opacity:.6;cursor:not-allowed}.auth-links{text-align:center;margin-top:15px}.link-btn{background:none;border:none;color:#666;text-decoration:underline;cursor:pointer;font-size:.875rem}.link-btn:hover:not(:disabled){color:#1a1a1a}.auth-footer{background:#fafafa;padding:20px 30px;text-align:center;border-top:1px solid #e8e8e8}.auth-footer p{margin:0 0 10px;color:#666;font-size:.875rem}.success-content{padding:30px;text-align:center}.success-icon{width:80px;height:80px;background:#1a1a1a;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2.5rem;font-weight:700;margin:0 auto 20px}.success-content p{margin:10px 0;color:#1a1a1a;line-height:1.6}.email-highlight{background:#f5f5f5;padding:8px 15px;border-radius:6px;font-weight:600;color:#1a1a1a;display:inline-block;margin:10px 0;border:1px solid #e8e8e8}.info-box{background:#fafafa;padding:20px;border-radius:6px;margin:20px 0;text-align:left;border:1px solid #e8e8e8}.info-box h3{margin:0 0 10px;color:#1a1a1a;font-size:1.1rem}.info-box ol{margin:0;padding-left:20px;color:#666}.info-box li{margin:8px 0}.forgot-password-card{max-width:440px}.back-link{text-align:center;margin-top:15px}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 600px){.auth-card{border-radius:0}.auth-header h1{font-size:1.5rem}}.skeleton-row{animation:pulse 1.5s ease-in-out infinite}.skeleton-cell{padding:12px;height:48px}.skeleton-shimmer{width:100%;height:20px;background:linear-gradient(90deg,#f0f0f0,#e0e0e0,#f0f0f0);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:4px}.skeleton-card{padding:20px;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;height:100px}.skeleton-card .skeleton-shimmer{height:100%}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.table-container{background:#fff;border-radius:8px;border:1px solid #e8e8e8;box-shadow:0 1px 3px #0000000d;overflow:hidden}.table-wrapper{overflow-x:auto;max-height:600px;overflow-y:auto}.inventory-table{width:100%;border-collapse:separate;border-spacing:0}.inventory-table thead{position:sticky;top:0;z-index:10;background:linear-gradient(135deg,#667eea,#764ba2)}.inventory-table th{padding:18px 15px;text-align:left;color:#fff;font-weight:600;text-transform:uppercase;font-size:.85rem;letter-spacing:.5px;white-space:nowrap}.inventory-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .2s ease}.inventory-table th.sortable:hover{background:#ffffff1a}.inventory-table th.sortable:focus{outline:2px solid rgba(255,255,255,.8);outline-offset:-2px}.inventory-table tbody tr{border-bottom:1px solid #f0f0f0;transition:all .3s ease;position:relative;z-index:1}.inventory-table tbody tr:hover{background:linear-gradient(90deg,#f8f9ff,#fff);transform:scale(1.01);box-shadow:0 4px 12px #00000014;z-index:2}.inventory-table tbody tr:nth-child(2n){background:#fafafa}.inventory-table tbody tr:nth-child(2n):hover{background:linear-gradient(90deg,#f8f9ff,#fafafa)}.inventory-table td{padding:16px 15px;color:#333;font-size:.95rem}.id-cell{font-weight:700;color:#667eea;font-size:1rem}.sku-cell{font-family:Courier New,monospace;background:#f5f5f5;padding:8px 12px;border-radius:6px;font-weight:600;color:#555;display:inline-block}.product-cell{font-weight:600;color:#222;min-width:200px}.product-name-with-actions{display:flex;align-items:center;gap:8px;justify-content:space-between}.product-name-clickable{cursor:pointer;text-decoration:underline;text-decoration-color:transparent;transition:text-decoration-color .2s ease}.product-name-clickable:hover{text-decoration-color:#667eea;color:#667eea}.quantity-quick-actions{display:flex;gap:4px;margin-left:auto}.qty-btn{width:28px;height:28px;border:1px solid #ddd;border-radius:4px;background:#fff;cursor:pointer;font-size:18px;font-weight:700;display:flex;align-items:center;justify-content:center;transition:all .2s;color:#333;padding:0}.qty-btn:hover{transform:scale(1.1);box-shadow:0 2px 4px #0000001a}.qty-btn.qty-plus{color:#28a745;border-color:#28a745}.qty-btn.qty-plus:hover{background:#28a745;color:#fff}.qty-btn.qty-minus{color:#dc3545;border-color:#dc3545}.qty-btn.qty-minus:hover{background:#dc3545;color:#fff}.qty-btn:active{transform:scale(.95)}.category-badge{display:inline-block;padding:6px 14px;border-radius:20px;font-size:.85rem;font-weight:600;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;white-space:nowrap}.quantity-cell{font-weight:700;font-size:1.1rem;color:#2c3e50;text-align:center}.quantity-cell .location-badge{display:inline-block;padding:4px 10px;background:#e8f4f8;border-radius:8px;color:#2c3e50}.quantity-cell.total-qty{font-size:1.2rem;font-weight:800;color:#667eea;background:linear-gradient(90deg,#f0f4ff,#fff)}.price-cell,.total-cell{font-weight:600;color:#27ae60;font-family:Courier New,monospace;text-align:right}.total-cell{font-size:1.05rem;font-weight:700}.location-cell{color:#555;font-weight:500}.date-cell{color:#888;font-size:.9rem}.status-badge{display:inline-block;padding:6px 14px;border-radius:20px;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.status-badge.good{background:#d4edda;color:#155724}.status-badge.medium{background:#fff3cd;color:#856404}.status-badge.low{background:#ffe0b2;color:#e65100}.status-badge.critical{background:#f8d7da;color:#721c24;animation:pulse 2s infinite}.no-results{padding:60px 20px;text-align:center;color:#999;font-size:1.2rem;font-weight:500}.table-footer{padding:15px 20px;background:#f8f9fa;border-top:2px solid #e0e0e0;text-align:center;color:#666;font-weight:600;font-size:.9rem}.table-wrapper::-webkit-scrollbar{width:10px;height:10px}.table-wrapper::-webkit-scrollbar-track{background:#f1f1f1}.table-wrapper::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:5px}.table-wrapper::-webkit-scrollbar-thumb:hover{background:#667eea}.actions-cell{text-align:center;position:relative;z-index:100}.row-actions-container{position:relative;display:inline-block;z-index:100}.row-actions-btn{background:#fff;color:#1a1a1a;border:1px solid #e8e8e8;padding:6px 16px;border-radius:4px;font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:4px}.row-actions-btn:hover{background:#f5f5f5;border-color:#667eea;color:#667eea}.row-actions-btn:active{transform:translateY(0)}.row-actions-dropdown{position:absolute;top:calc(100% + 4px);right:0;background:#fff;border:1px solid #e8e8e8;border-radius:6px;box-shadow:0 4px 12px #00000026;min-width:180px;z-index:9999;overflow:hidden;animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.row-actions-item{display:block;width:100%;padding:10px 16px;text-align:left;background:#fff;border:none;border-bottom:1px solid #f0f0f0;color:#333;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.row-actions-item:last-child{border-bottom:none}.row-actions-item:hover{background:#f8f9ff;color:#667eea;padding-left:20px}.row-actions-item-danger{color:#dc3545}.row-actions-item-danger:hover{background:#fff5f5;color:#dc3545}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.purchase-link{color:#1a1a1a;text-decoration:none;padding:4px 8px;border-radius:4px;background:#f8f9fa;border:1px solid #e8e8e8;font-size:.85rem;transition:all .2s ease}.purchase-link:hover{background:#1a1a1a;color:#fff;text-decoration:none}.no-link{color:#999;font-style:italic}.purchase-link-cell{text-align:center;white-space:nowrap}.brands-cell{padding:12px 15px;white-space:nowrap}.brands-badges{display:flex;gap:6px;flex-wrap:wrap}.brand-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:500;white-space:nowrap;transition:all .2s ease}.brand-badge.brand-primary{background:#667eea;color:#fff}.brand-badge.brand-secondary{background:#48bb78;color:#fff}.no-brand{color:#999;font-style:italic;font-size:.875rem}.hybrid-cell{text-align:center;padding:12px 15px}.standard-badge{color:#999;font-style:italic;font-size:.85rem}font-size: .8rem; font-weight: 600; background: linear-gradient(135deg,#3498db 0%,#2980b9 100%); color: white; white-space: nowrap; max-width: 150px; overflow: hidden; text-overflow: ellipsis; } .qr-code-cell{padding:12px 15px;max-width:200px}.qr-code-badge{display:inline-block;padding:6px 10px;border-radius:6px;font-size:.8rem;font-family:monospace;background:#f0f8ff;color:#667eea;border:1px solid #b3d9ff;cursor:help;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.qr-code-badge:hover{background:#e0f0ff;border-color:#667eea}.no-qr{color:#999;font-style:italic;font-size:.85rem}@media (max-width: 768px){.inventory-table th,.inventory-table td{padding:12px 10px;font-size:.85rem}.product-cell{min-width:150px}.inventory-table{min-width:900px}}.bulk-actions-bar{position:sticky;top:0;z-index:100;background:#fff;border-bottom:2px solid #667eea;padding:12px 20px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 2px 8px #0000001a;margin-bottom:20px}.bulk-actions-info{font-size:14px;color:#374151;font-weight:500}.bulk-actions-info strong{color:#667eea;font-size:16px}.bulk-actions-buttons{display:flex;gap:10px}.bulk-btn{padding:8px 16px;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.bulk-edit-btn{background:#667eea;color:#fff}.bulk-edit-btn:hover{background:#5568d3}.bulk-delete-btn{background:#ef4444;color:#fff}.bulk-delete-btn:hover{background:#dc2626}.bulk-export-btn{background:#10b981;color:#fff}.bulk-export-btn:hover{background:#059669}.bulk-clear-btn{background:#e5e7eb;color:#374151}.bulk-clear-btn:hover{background:#d1d5db}.bulk-edit-modal{max-width:500px}.bulk-edit-note{font-size:13px;color:#6b7280;margin-bottom:20px;padding:10px;background:#f3f4f6;border-radius:6px}.bulk-edit-form{display:flex;flex-direction:column;gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:14px;font-weight:500;color:#374151}.form-group input{padding:10px;border:1px solid #d1d5db;border-radius:6px;font-size:14px}.form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.btn-primary{padding:10px 20px;background:#667eea;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:500}.btn-primary:hover{background:#5568d3}.btn-secondary{padding:10px 20px;background:#e5e7eb;color:#374151;border:none;border-radius:6px;cursor:pointer;font-weight:500}.btn-secondary:hover{background:#d1d5db}} .pagination-container{display:flex;justify-content:space-between;align-items:center;padding:20px;background:#fff;border-top:1px solid #e5e7eb;margin-top:20px}.pagination-info{display:flex;align-items:center;gap:15px;font-size:14px;color:#6b7280}.page-size-select{padding:6px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;background:#fff;cursor:pointer}.page-size-select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.pagination-buttons{display:flex;gap:5px;align-items:center}.pagination-btn{padding:8px 12px;border:1px solid #d1d5db;background:#fff;border-radius:6px;cursor:pointer;font-size:14px;color:#374151;transition:all .2s;min-width:40px}.pagination-btn:hover:not(:disabled){background:#f3f4f6;border-color:#667eea}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-btn.active{background:#667eea;color:#fff;border-color:#667eea}.pagination-ellipsis{padding:8px 4px;color:#9ca3af}background: #667eea; color: white; } @media (max-width: 640px){.pagination-container{flex-direction:column;gap:15px}.pagination-buttons{flex-wrap:wrap;justify-content:center}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease}.modal-content{background:#fff;border-radius:20px;max-width:90vw;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease}.qr-modal{width:1200px;padding:30px}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:2px solid #e0e0e0}.modal-header h2{margin:0;color:#333;font-size:1.8rem}.close-btn{background:#f0f0f0;border:none;width:40px;height:40px;border-radius:50%;font-size:1.5rem;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.close-btn:hover{background:#f44;color:#fff;transform:rotate(90deg)}.modal-actions{margin-bottom:20px;display:flex;gap:10px}.print-btn{padding:12px 24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.print-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.qr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px;overflow:visible}.qr-card{background:#fff;border:2px solid #e0e0e0;border-radius:12px;padding:20px;text-align:center;transition:all .3s ease;position:relative;overflow:visible;z-index:1}.qr-card:hover{border-color:#667eea;box-shadow:0 4px 12px #667eea33;transform:translateY(-2px);z-index:2}.qr-card:hover .qr-info{opacity:1;visibility:visible}.qr-code-wrapper{display:flex;justify-content:center;margin-bottom:15px}.qr-info{border-top:1px solid #e0e0e0;padding-top:10px;opacity:1;visibility:visible;transition:opacity .3s ease,visibility .3s ease}.qr-sku{font-family:Courier New,monospace;font-weight:700;font-size:1rem;color:#667eea;margin-bottom:5px}.qr-product{font-size:.85rem;color:#666;line-height:1.3}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@page{size:A4;margin:15mm;@top-left{content:""}@top-center{content:""}@top-right{content:""}@bottom-left{content:""}@bottom-center{content:""}@bottom-right{content:""}}@media print{body.printing-qr-codes .app>*:not(.qr-modal-overlay),body.printing-qr-codes header,body.printing-qr-codes .header,body.printing-qr-codes footer,body.printing-qr-codes .footer,body.printing-qr-codes .stats-grid,body.printing-qr-codes .controls,body.printing-qr-codes .action-buttons,body.printing-qr-codes .more-actions-container,body.printing-qr-codes .toast-container{display:none!important}body.printing-qr-codes .qr-modal-overlay,.qr-modal-overlay{position:absolute!important;top:0!important;left:0!important;width:100%!important;height:auto!important;min-height:100vh!important;background:#fff!important;padding:0!important;margin:0!important;overflow:visible!important;z-index:9999!important;display:block!important;visibility:visible!important;page-break-after:auto!important;border:none!important;box-shadow:none!important;outline:none!important}body.printing-qr-codes .qr-modal-overlay .modal-header,body.printing-qr-codes .qr-modal-overlay .modal-actions,body.printing-qr-codes .qr-modal-overlay .close-btn,.qr-modal-overlay .modal-header,.qr-modal-overlay .modal-actions,.qr-modal-overlay .close-btn{display:none!important}body.printing-qr-codes .qr-modal-overlay .modal-content,.qr-modal-overlay .modal-content{max-width:100%!important;max-height:none!important;width:100%!important;height:auto!important;box-shadow:none!important;border:none!important;border-radius:0!important;padding:0!important;margin:0!important;overflow:visible!important;position:static!important;display:block!important;visibility:visible!important;background:#fff!important;page-break-after:auto!important;outline:none!important}body.printing-qr-codes .qr-modal-overlay .qr-modal,.qr-modal-overlay .qr-modal{width:100%!important;padding:0!important;margin:0!important;display:block!important;visibility:visible!important;border:none!important;box-shadow:none!important;background:transparent!important}body.printing-qr-codes .qr-modal-overlay .qr-grid,.qr-modal-overlay .qr-grid{display:flex!important;flex-wrap:wrap!important;gap:15px!important;padding:0!important;margin:0!important;page-break-inside:auto!important;break-inside:auto!important;overflow:visible!important;width:100%!important;visibility:visible!important}body.printing-qr-codes .qr-modal-overlay .qr-card,.qr-modal-overlay .qr-card{width:calc((100% - 30px) / 3)!important;min-width:0!important;page-break-inside:avoid!important;break-inside:avoid!important;border:2px solid #333!important;margin:0!important;padding:10px!important;background:#fff!important;box-shadow:none!important;transform:none!important;position:relative!important;display:block!important;visibility:visible!important;flex-shrink:0!important}.qr-modal-overlay .qr-card:hover{transform:none!important;box-shadow:none!important;border-color:#333!important}.qr-modal-overlay .qr-code-wrapper{display:block!important;width:100%!important;text-align:center!important}.qr-modal-overlay .qr-code-wrapper svg{display:block!important;width:120px!important;height:120px!important;margin:0 auto!important;page-break-inside:avoid!important}.qr-modal-overlay .qr-info,.qr-modal-overlay .qr-sku,.qr-modal-overlay .qr-product{display:block!important;visibility:visible!important;color:#000!important;text-align:center!important;font-size:12px!important}.qr-modal-overlay .qr-sku{font-weight:700!important;margin-bottom:5px!important}.qr-modal-overlay .qr-product{font-size:11px!important;word-wrap:break-word!important}}@media (max-width: 768px){.qr-modal{width:100%;padding:20px}.qr-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:15px}}.scanner-modal{width:700px;padding:30px;max-height:90vh;overflow-y:auto}.scan-mode-toggle{display:flex;gap:10px;margin-bottom:20px;background:#f0f0f0;padding:5px;border-radius:12px}.mode-btn{flex:1;padding:12px 20px;background:transparent;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;color:#666}.mode-btn:hover{background:#e0e0e0}.mode-btn.active{background:#1a1a1a;color:#fff;border-color:#1a1a1a}.camera-scanner-container{margin-bottom:20px;border-radius:12px;overflow:hidden;background:#000;position:relative;min-height:300px}.scanner-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;z-index:10;color:#fff;background:#000c;padding:30px;border-radius:12px;width:80%}.scanner-loading p{margin:10px 0;font-size:1rem;font-weight:600}.scanner-loading .loading-hint{font-size:.85rem;opacity:.8;font-weight:400}.loading-spinner{width:50px;height:50px;border:4px solid rgba(255,255,255,.3);border-top-color:#667eea;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 15px}@keyframes spin{to{transform:rotate(360deg)}}.scanner-form{margin-bottom:20px}.scan-input-group{display:flex;gap:10px}.scan-input{flex:1;padding:15px 20px;font-size:1.1rem;border:2px solid #e0e0e0;border-radius:10px;transition:all .3s ease;outline:none;font-family:Courier New,monospace;font-weight:600}.scan-input:focus{border-color:#1a1a1a;outline:none}.scan-btn{padding:10px 20px;background:#1a1a1a;color:#fff;border:1px solid #1a1a1a;border-radius:6px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.scan-btn:hover:not(:disabled){background:#000}.scan-btn:disabled{opacity:.5;cursor:not-allowed}.error-message{background:#fee;color:#c00;padding:15px;border-radius:10px;margin-bottom:15px;font-weight:600;text-align:center}.error-message p{margin:0 0 10px}.retry-btn{padding:8px 16px;background:#3498db;color:#fff;border:none;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background .2s ease;margin-top:10px}.retry-btn:hover{background:#2980b9}.success-message{background:#efe;color:#060;padding:15px;border-radius:10px;margin-bottom:15px;font-weight:600;text-align:center;animation:pulse .5s ease}.product-details{animation:slideIn .3s ease}.product-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:20px;border-radius:12px;margin-bottom:20px}.product-name{font-size:1.5rem;font-weight:700;margin-bottom:8px}.product-sku{font-family:Courier New,monospace;font-size:1rem;opacity:.9}.product-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px;margin-bottom:25px;padding:20px;background:#f8f9fa;border-radius:10px}.info-item{display:flex;flex-direction:column;gap:5px}.info-label{font-size:.85rem;color:#666;font-weight:500}.info-value{font-size:1.1rem;color:#333;font-weight:600}.info-value.strong{font-size:1.3rem;color:#667eea}.locations-section{margin-bottom:25px}.locations-section h3{margin:0 0 15px;color:#333;font-size:1.2rem}.location-control{display:flex;justify-content:space-between;align-items:center;padding:15px;background:#fff;border:2px solid #e0e0e0;border-radius:10px;margin-bottom:10px;transition:all .3s ease}.location-control:hover{border-color:#667eea;box-shadow:0 2px 8px #667eea1a}.location-name{font-weight:600;font-size:1.1rem;color:#333}.quantity-controls{display:flex;gap:10px;align-items:center}.qty-btn{width:40px;height:40px;border:2px solid #667eea;background:#fff;color:#667eea;border-radius:8px;font-size:1.5rem;font-weight:700;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.qty-btn:hover:not(:disabled){background:#667eea;color:#fff;transform:scale(1.1)}.qty-btn:disabled{opacity:.3;cursor:not-allowed}.qty-btn.minus{border-color:#e74c3c;color:#e74c3c}.qty-btn.minus:hover:not(:disabled){background:#e74c3c;color:#fff}.qty-btn.plus{border-color:#27ae60;color:#27ae60}.qty-btn.plus:hover:not(:disabled){background:#27ae60;color:#fff}.qty-input{width:80px;padding:10px;text-align:center;font-size:1.2rem;font-weight:700;border:2px solid #e0e0e0;border-radius:8px;outline:none;transition:all .3s ease}.qty-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.modal-actions{display:flex;gap:10px;justify-content:flex-end}.save-btn{padding:10px 20px;background:#1a1a1a;color:#fff;border:1px solid #1a1a1a;border-radius:6px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease}.save-btn:hover:not(:disabled){background:#000}.cancel-btn{padding:10px 20px;background:#ecf0f1;color:#2c3e50;border:1px solid #bdc3c7;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:background .2s ease}.cancel-btn:hover{background:#bdc3c7}.scanner-hint{text-align:center;padding:40px 20px;color:#999;font-size:1.1rem;background:#f8f9fa;border-radius:10px;border:2px dashed #ddd}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}#qr-reader{border:none!important;background:transparent!important}#qr-reader__header_message{color:#fff!important;padding:15px!important;background:#667eea33!important;border-radius:8px!important;margin-bottom:15px!important}#qr-reader__camera_selection{margin:15px 0!important;padding:15px!important;background:#fff!important;border-radius:8px!important}#qr-reader__camera_selection select{width:100%!important;padding:10px!important;border:2px solid #e0e0e0!important;border-radius:8px!important;font-size:1rem!important;background:#fff!important}#qr-reader__camera_permission_button{width:100%!important;padding:10px 20px!important;background:#3498db!important;border:none!important;border-radius:6px!important;font-size:1rem!important;font-weight:500!important;color:#fff!important;cursor:pointer!important;margin:10px 0!important}#qr-reader__camera_permission_button:hover{background:#2980b9!important}#qr-reader video{border-radius:12px!important;width:100%!important;max-width:100%!important}#qr-reader__scan_region,#qr-reader__scan_region img{border-radius:12px!important}#qr-reader__dashboard{padding:15px 0!important}#qr-reader__dashboard_section{padding:10px!important;background:#fff!important;border-radius:8px!important;margin-top:15px!important}#qr-reader__dashboard_section_csr{text-align:center!important}#qr-reader__dashboard_section_csr button,#qr-reader__dashboard_section_swaplink button{background:#3498db!important;border:none!important;border-radius:6px!important;padding:8px 16px!important;font-weight:500!important;color:#fff!important;cursor:pointer!important;margin:5px!important}#qr-reader__dashboard_section_csr button:hover,#qr-reader__dashboard_section_swaplink button:hover{background:#2980b9!important}#qr-reader__status_span{color:#fff!important;background:#667eea33!important;padding:10px!important;border-radius:8px!important;display:block!important;margin:10px 0!important}@media (max-width: 768px){.scanner-modal{width:100%;padding:20px}.product-info-grid{grid-template-columns:1fr}.scan-input-group{flex-direction:column}.location-control{flex-direction:column;gap:15px}.scan-mode-toggle{flex-direction:column}}.autocomplete-container{position:relative;width:100%}.autocomplete-input{width:100%;padding:10px;border:1px solid #d1d5db;border-radius:6px;font-size:14px}.autocomplete-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.autocomplete-dropdown{position:absolute;top:100%;left:0;right:0;z-index:1000;background:#fff;border:1px solid #d1d5db;border-radius:6px;box-shadow:0 4px 12px #00000026;max-height:200px;overflow-y:auto;margin-top:4px}.autocomplete-item{padding:10px 12px;cursor:pointer;font-size:14px;color:#374151;transition:background .2s}.autocomplete-item:hover{background:#f3f4f6}.autocomplete-item:first-child{border-radius:6px 6px 0 0}.autocomplete-item:last-child{border-radius:0 0 6px 6px}.edit-modal{width:700px;padding:30px}.edit-form{display:flex;flex-direction:column;gap:25px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-weight:600;color:#333;font-size:.95rem}.form-input{padding:12px 15px;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:all .3s ease;outline:none;font-family:inherit}.form-input:focus:not(:disabled){border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-input:disabled{background:#f5f5f5;color:#999;cursor:not-allowed}.brands-section{background:#f8f9fa;padding:20px;border-radius:10px;border:1px solid #e8e8e8}.brands-section h3{margin-top:0;margin-bottom:10px;color:#2c3e50;font-size:1.1rem}.brands-checkboxes{display:flex;flex-direction:column;gap:12px;margin-top:15px}.brand-checkbox-label{display:flex;align-items:center;gap:10px;padding:12px 15px;background:#fff;border:2px solid #e8e8e8;border-radius:8px;cursor:pointer;transition:all .2s ease}.brand-checkbox-label:hover{border-color:#667eea;background:#f8f9ff}.brand-checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#667eea}.brand-checkbox-label input[type=checkbox]:checked+span{font-weight:600;color:#667eea}.brand-checkbox-label span{font-size:.95rem;color:#2c3e50;-webkit-user-select:none;user-select:none}.stock-alerts-section{background:#fff3cd;padding:20px;border-radius:8px;border-left:3px solid #ffc107}.stock-alerts-section h3{margin:0 0 5px;color:#2c3e50;font-size:1.05rem}.section-hint{margin:0 0 15px;color:#5a6c7d;font-size:.85rem}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.input-hint{font-size:.8rem;color:#7f8c8d;font-style:italic}.inventory-section{background:#f8f9fa;padding:20px;border-radius:12px}.inventory-section h3{margin:0 0 15px;color:#333;font-size:1.1rem}.location-inputs{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.location-input-group{display:flex;flex-direction:column;gap:8px}.location-input-group label{font-weight:600;color:#555;font-size:.95rem}.quantity-input{font-weight:700;text-align:center;font-size:1.1rem}.summary-section{display:grid;grid-template-columns:repeat(2,1fr);gap:15px;padding:20px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff}.summary-item{display:flex;flex-direction:column;gap:5px}.summary-label{font-size:.9rem;opacity:.9}.summary-value{font-size:1.5rem;font-weight:700}.form-actions{display:flex;gap:10px;justify-content:flex-end;padding-top:10px;border-top:2px solid #e0e0e0}.save-btn{padding:15px 30px;background:linear-gradient(135deg,#27ae60,#229954);color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.save-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #27ae6066}.save-btn:disabled{opacity:.5;cursor:not-allowed}.cancel-btn{padding:15px 30px;background:#f0f0f0;color:#333;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.cancel-btn:hover:not(:disabled){background:#e0e0e0}.cancel-btn:disabled{opacity:.5;cursor:not-allowed}.product-type-section{background:#f8f9fa;padding:20px;border-radius:10px;border:1px solid #e8e8e8;margin-top:20px}.advanced-options{margin-top:20px;padding-top:20px;border-top:1px solid #e0e0e0}.toggle-advanced-btn{width:100%;padding:12px;background:#f0f0f0;border:1px solid #e0e0e0;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;text-align:left;display:flex;align-items:center;gap:8px}.toggle-advanced-btn:hover{background:#e0e0e0;border-color:#667eea}.advanced-content{margin-top:15px;padding:15px;background:#fafafa;border-radius:8px;border:1px solid #e8e8e8}.bom-section{background:#f0f8ff;padding:20px;border-radius:10px;border:1px solid #b3d9ff}.bom-section h3{margin-top:0;margin-bottom:10px;color:#2c3e50;font-size:1.1rem}.bom-components-list{margin:15px 0}.bom-list{list-style:none;padding:0;margin:0}.bom-item{display:flex;justify-content:space-between;align-items:center;padding:10px 15px;background:#fff;border:1px solid #e0e0e0;border-radius:6px;margin-bottom:8px}.bom-quantity{font-weight:600;color:#667eea}.bom-empty{color:#999;font-style:italic;padding:15px;text-align:center}.bom-manager-btn{padding:12px 24px;background:#667eea;color:#fff;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease}.bom-manager-btn:hover{background:#5568d3;transform:translateY(-2px);box-shadow:0 4px 8px #667eea4d}.bom-manager-modal{width:600px;max-height:80vh;overflow-y:auto}.bom-manager-content{display:flex;flex-direction:column;gap:20px}.bom-add-section h3,.bom-list-section h3{margin-top:0;margin-bottom:15px;color:#2c3e50;font-size:1.05rem}.bom-add-form{margin-bottom:15px}.bom-manager-list{list-style:none;padding:0;margin:0}.bom-manager-item{padding:15px;background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:10px}.bom-item-info{display:flex;flex-direction:column;gap:10px}.bom-item-name{font-weight:600;color:#2c3e50}.bom-item-controls{display:flex;align-items:center;gap:15px}.bom-item-controls label{display:flex;align-items:center;gap:8px;font-size:.9rem}.bom-quantity-input{width:60px;padding:6px 10px;border:1px solid #e0e0e0;border-radius:4px}.bom-remove-btn{padding:6px 12px;background:#e74c3c;color:#fff;border:none;border-radius:6px;font-size:.85rem;cursor:pointer;transition:all .2s ease}.bom-remove-btn:hover{background:#c0392b}.bom-variants-section{margin-top:15px;padding-top:15px;border-top:1px solid #e0e0e0}.bom-variants-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.bom-variants-header h4{margin:0;font-size:.95rem;color:#555;font-weight:600}.btn-add-variant{padding:6px 12px;background:#28a745;color:#fff;border:none;border-radius:4px;font-size:.85rem;cursor:pointer;transition:all .2s ease}.btn-add-variant:hover:not(:disabled){background:#218838}.btn-add-variant:disabled{opacity:.6;cursor:not-allowed}.add-variant-form{padding:15px;background:#fff;border:1px solid #e0e0e0;border-radius:6px;margin-bottom:10px;display:flex;flex-direction:column;gap:10px}.add-variant-form .form-group{margin:0}.add-variant-form .form-group label{font-size:.9rem;margin-bottom:5px}.add-variant-form select,.add-variant-form input{padding:8px 12px;border:1px solid #e0e0e0;border-radius:4px;font-size:.9rem}.btn-save-variant{padding:8px 16px;background:#667eea;color:#fff;border:none;border-radius:4px;font-size:.9rem;cursor:pointer;transition:all .2s ease;align-self:flex-start}.btn-save-variant:hover:not(:disabled){background:#5568d3}.btn-save-variant:disabled{opacity:.6;cursor:not-allowed}.variants-list{list-style:none;padding:0;margin:0}.variant-item{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:#fff;border:1px solid #e0e0e0;border-radius:4px;margin-bottom:8px}.variant-info{flex:1;font-size:.9rem;color:#333}.variant-info strong{color:#667eea;margin-right:5px}.btn-remove-variant{padding:4px 10px;background:#dc3545;color:#fff;border:none;border-radius:4px;font-size:.85rem;cursor:pointer;transition:all .2s ease}.btn-remove-variant:hover:not(:disabled){background:#c82333}.btn-remove-variant:disabled{opacity:.6;cursor:not-allowed}.variants-empty{font-size:.85rem;color:#999;font-style:italic;margin:10px 0}@media (max-width: 768px){.edit-modal{width:100%;padding:20px}.form-grid,.location-inputs,.summary-section{grid-template-columns:1fr}.bom-manager-modal{width:100%;max-height:90vh}}.user-management-modal{width:700px;max-width:90vw;padding:0}.user-stats{display:flex;gap:20px;padding:20px 25px;background:#f8f9fa;border-bottom:1px solid #ecf0f1}.user-stats .stat{display:flex;flex-direction:column;gap:4px}.user-stats .stat strong{font-size:1.5rem;color:#2c3e50}.user-stats .stat span{font-size:.85rem;color:#7f8c8d}.temp-password-box{background:#d4edda;border:1px solid #c3e6cb;color:#155724;padding:15px;margin:20px 25px;border-radius:6px}.temp-password-box code{display:block;background:#fff;padding:10px;margin:10px 0;border-radius:4px;font-size:1.1rem;font-weight:600;color:#2c3e50;text-align:center}.temp-password-box p{margin:8px 0 0;font-size:.9rem}.invite-section{padding:20px 25px;border-bottom:1px solid #ecf0f1}.invite-btn{width:100%;padding:12px;background:#27ae60;color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:background .2s ease}.invite-btn:hover:not(:disabled){background:#229954}.invite-btn:disabled{background:#bdc3c7;cursor:not-allowed}.invite-form{background:#f8f9fa;padding:20px;border-radius:8px}.invite-form h3{margin:0 0 15px;color:#2c3e50;font-size:1.1rem}.invite-form .form-row{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;margin-bottom:15px}.invite-form input,.invite-form select{padding:10px 12px;border:1px solid #dcdde1;border-radius:6px;font-size:.95rem}.invite-form input:focus,.invite-form select:focus{outline:none;border-color:#3498db}.form-actions{display:flex;gap:10px}.submit-btn{padding:10px 20px;background:#3498db;color:#fff;border:none;border-radius:6px;font-size:.95rem;font-weight:500;cursor:pointer}.submit-btn:hover{background:#2980b9}.cancel-small-btn{padding:10px 20px;background:#ecf0f1;color:#2c3e50;border:1px solid #bdc3c7;border-radius:6px;font-size:.95rem;cursor:pointer}.cancel-small-btn:hover{background:#bdc3c7}.users-list{padding:25px}.users-list h3{margin:0 0 20px;color:#2c3e50;font-size:1.1rem}.users-table{display:flex;flex-direction:column;gap:10px}.user-row{display:flex;justify-content:space-between;align-items:center;padding:15px;background:#f8f9fa;border-radius:8px;border:1px solid #ecf0f1}.user-info{flex:1;display:flex;justify-content:space-between;align-items:center;gap:20px}.user-name-email{display:flex;flex-direction:column;gap:4px}.user-name-email strong{color:#2c3e50;font-size:1rem}.user-email{color:#7f8c8d;font-size:.85rem}.user-meta{display:flex;align-items:center;gap:10px}.role-select{padding:6px 10px;border:1px solid #dcdde1;border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer;color:#fff}.role-select:disabled{cursor:not-allowed;opacity:.7}.role-admin{background:#e74c3c;border-color:#e74c3c}.role-manager{background:#3498db;border-color:#3498db}.role-user{background:#95a5a6;border-color:#95a5a6}.user-verified{font-size:.8rem;color:#27ae60}.delete-user-btn{padding:8px 16px;background:#e74c3c;color:#fff;border:none;border-radius:6px;font-size:.85rem;cursor:pointer;transition:background .2s ease}.delete-user-btn:hover{background:#c0392b}@media (max-width: 768px){.invite-form .form-row{grid-template-columns:1fr}.user-row{flex-direction:column;align-items:flex-start;gap:10px}.user-info{flex-direction:column;align-items:flex-start;width:100%}}.color-picker{margin-bottom:20px}.color-picker label{display:block;margin-bottom:8px;color:#1a1a1a;font-weight:500;font-size:.9rem}.color-input-group{display:flex;gap:10px;align-items:center}.color-input-native{width:60px;height:40px;border:1px solid #e8e8e8;border-radius:6px;cursor:pointer;padding:2px}.color-input-native::-webkit-color-swatch-wrapper{padding:0}.color-input-native::-webkit-color-swatch{border:none;border-radius:4px}.color-input-text{flex:1;padding:10px 12px;border:1px solid #e8e8e8;border-radius:6px;font-family:monospace;font-size:.9rem}.color-input-text:focus{outline:none;border-color:#1a1a1a}.color-preview{width:40px;height:40px;border-radius:6px;border:1px solid #e8e8e8;flex-shrink:0;box-shadow:0 2px 4px #0000001a}.file-upload{margin-bottom:30px}.file-upload-label{display:block;margin-bottom:10px;color:#1a1a1a;font-weight:500;font-size:.9rem}.upload-preview-container{position:relative;display:inline-block;margin-bottom:15px}.upload-preview{max-width:200px;max-height:150px;border-radius:8px;border:1px solid #e8e8e8;box-shadow:0 2px 8px #0000001a}.remove-preview-btn{position:absolute;top:-8px;right:-8px;width:28px;height:28px;border-radius:50%;background:#1a1a1a;color:#fff;border:2px solid white;font-size:20px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.remove-preview-btn:hover{background:#e74c3c;transform:scale(1.1)}.file-input-container{display:flex;flex-direction:column;gap:8px}.file-input{display:none}.file-input-label{display:inline-block;padding:10px 20px;background:#fff;color:#1a1a1a;border:1px solid #e8e8e8;border-radius:6px;cursor:pointer;transition:all .2s;text-align:center;font-size:.9rem;font-weight:500}.file-input-label:hover{background:#f5f5f5;border-color:#1a1a1a}.file-input:disabled+.file-input-label{opacity:.6;cursor:not-allowed}.file-input-hint{font-size:.8rem;color:#999}.upload-error{margin-top:10px;padding:10px;background:#fee;border:1px solid #fcc;border-radius:4px;color:#c33;font-size:.85rem}.settings-modal{width:600px;max-width:90vw;padding:0}.settings-tabs{display:flex;border-bottom:1px solid #ecf0f1;background:#f8f9fa}.tab-btn{flex:1;padding:15px 20px;background:none;border:none;border-bottom:3px solid transparent;cursor:pointer;font-size:.95rem;font-weight:500;color:#7f8c8d;transition:all .2s ease}.tab-btn:hover{background:#ecf0f1;color:#2c3e50}.tab-btn.active{border-bottom-color:#3498db;color:#3498db;background:#fff}.settings-content{padding:25px}.settings-divider{height:1px;background:#e8e8e8;margin:30px 0}.brands-list{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.brand-item{display:flex;align-items:center;justify-content:space-between;padding:12px 15px;background:#f8f9fa;border:1px solid #e8e8e8;border-radius:6px}.brand-item span{font-weight:500;color:#2c3e50}.remove-brand-btn{background:#e74c3c;color:#fff;border:none;border-radius:4px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:18px;line-height:1;transition:all .2s ease}.remove-brand-btn:hover{background:#c0392b}.remove-brand-btn:disabled{opacity:.5;cursor:not-allowed}.add-brand-btn{background:#667eea;color:#fff;border:none;padding:10px 20px;border-radius:6px;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.add-brand-btn:hover:not(:disabled){background:#5568d3}.add-brand-btn:disabled{opacity:.5;cursor:not-allowed}.message-box{padding:12px 15px;border-radius:6px;margin-bottom:20px;font-size:.9rem}.message-box.success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.message-box.error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.settings-section h3{margin:0 0 20px;color:#2c3e50;font-size:1.2rem}.settings-form{margin-bottom:30px}.settings-form .form-group{margin-bottom:15px}.settings-form label{display:block;margin-bottom:6px;color:#2c3e50;font-weight:500;font-size:.9rem}.settings-form input{width:100%;padding:10px 12px;border:1px solid #dcdde1;border-radius:6px;font-size:1rem;box-sizing:border-box}.settings-form input:focus{outline:none;border-color:#3498db}.settings-form input:disabled{background:#f5f7fa;cursor:not-allowed}.save-settings-btn{padding:10px 20px;background:#3498db;color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer}.save-settings-btn:hover:not(:disabled){background:#2980b9}.save-settings-btn:disabled{opacity:.6;cursor:not-allowed}.info-section{background:#f8f9fa;padding:20px;border-radius:8px;margin-top:30px}.info-section h4{margin:0 0 15px;color:#2c3e50}.info-grid{display:flex;flex-direction:column;gap:12px}.info-item{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #ecf0f1}.info-item:last-child{border-bottom:none}.info-item .label{color:#7f8c8d;font-size:.9rem}.info-item .value{color:#2c3e50;font-weight:500}.subscription-card{background:#f8f9fa;padding:20px;border-radius:8px}.subscription-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.subscription-header h4{margin:0;color:#2c3e50}.plan-badge{padding:6px 12px;background:#3498db;color:#fff;border-radius:6px;font-size:.85rem;text-transform:uppercase;font-weight:600}.usage-stats{margin:20px 0}.usage-item{margin-bottom:20px}.usage-label{font-size:.9rem;color:#7f8c8d;margin-bottom:8px}.usage-bar{height:8px;background:#ecf0f1;border-radius:4px;overflow:hidden;margin-bottom:6px}.usage-fill{height:100%;background:#3498db;transition:width .3s ease}.usage-text{font-size:.85rem;color:#5a6c7d}.plan-features{margin:20px 0}.plan-features h4{margin:0 0 10px;color:#2c3e50;font-size:1rem}.plan-features ul{list-style:none;padding:0;margin:0}.plan-features li{padding:8px 0;color:#5a6c7d;font-size:.9rem}.upgrade-cta{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:20px;border-radius:8px;text-align:center;margin-top:20px}.upgrade-cta h4{margin:0 0 8px;font-size:1.2rem}.upgrade-cta p{margin:0 0 15px;opacity:.9}.upgrade-button{padding:12px 30px;background:#fff;color:#667eea;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer}.upgrade-button:hover{background:#f8f9fa}.feature-toggles{display:flex;flex-direction:column;gap:12px;margin:20px 0}.feature-toggles label{display:flex;align-items:center;gap:15px;padding:16px;background:#fafafa;border:1px solid #e8e8e8;border-radius:6px;cursor:pointer;transition:all .2s}.feature-toggles label:hover{background:#f5f5f5;border-color:#d0d0d0}.feature-toggles input[type=checkbox]{width:20px;height:20px;cursor:pointer;flex-shrink:0}.toggle-info{display:flex;flex-direction:column;gap:4px;flex:1}.toggle-info strong{color:#1a1a1a;font-size:.95rem}.toggle-info span{color:#666;font-size:.85rem}.privacy-settings{margin-top:30px;padding-top:30px;border-top:1px solid #e8e8e8}.info-box{background:#f9f9f9;border:1px solid #e8e8e8;border-radius:6px;padding:20px;margin-top:15px}.info-box h4{margin:0 0 12px;color:#1a1a1a;font-size:1rem}.help-text{color:#666;font-size:.9rem;margin:8px 0;line-height:1.5}@media (max-width: 768px){.settings-modal{width:95vw}.settings-tabs{flex-direction:column}.tab-btn{border-bottom:none;border-left:3px solid transparent}.tab-btn.active{border-left-color:#3498db;border-bottom-color:transparent}.feature-toggles label{padding:12px;gap:10px}.toggle-info strong{font-size:.9rem}.toggle-info span{font-size:.8rem}}.app-footer{background-color:var(--background-color, #f5f5f5);border-top:1px solid var(--border-color, #e8e8e8);margin-top:auto;padding:40px 20px 20px;width:100%}.footer-container{max-width:1200px;margin:0 auto 30px;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:30px}.footer-section h4{font-size:1rem;font-weight:600;margin-bottom:15px;color:var(--text-color, #333)}.footer-section ul{list-style:none;padding:0;margin:0}.footer-section ul li{margin-bottom:10px}.footer-section ul li a{color:var(--text-color, #666);text-decoration:none;font-size:.9rem;transition:color var(--transition-base, .2s ease);display:inline-block;position:relative}.footer-section ul li a:hover{color:var(--accent-color, #667eea);text-decoration:underline}.footer-section ul li a:focus{outline:2px solid var(--accent-color, #667eea);outline-offset:2px;border-radius:var(--radius-sm, 4px)}.social-links{display:flex;flex-direction:column;gap:10px}.footer-bottom{border-top:1px solid var(--border-color, #e8e8e8);padding-top:20px;text-align:center;color:var(--text-color, #666);font-size:.85rem}} @media (max-width: 768px){.footer-container{grid-template-columns:repeat(2,1fr);gap:20px}.footer-section h4{font-size:.95rem}.footer-section ul li a{font-size:.85rem}}@media (max-width: 480px){.footer-container{grid-template-columns:1fr;gap:25px}.app-footer{padding:30px 15px 15px}.footer-section h4{font-size:.9rem;margin-bottom:12px}.footer-section ul li{margin-bottom:8px}.footer-section ul li a{font-size:.8rem}.footer-bottom{font-size:.8rem;padding-top:15px}}.documentation-page{max-width:800px;margin:0 auto;padding:2rem}.documentation-page h1{color:#333;margin-bottom:2rem}.documentation-page h2{color:#667eea;margin-top:2rem;margin-bottom:1rem}.documentation-page h3{color:#444;margin-top:1.5rem;margin-bottom:.5rem}.documentation-page p{color:#666;line-height:1.6}.contact-page{max-width:600px;margin:0 auto;padding:2rem}.contact-page h1{color:#333;margin-bottom:2rem}.contact-card{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 8px #0000001a}.contact-card h2{color:#667eea;margin-top:0;margin-bottom:1rem}.contact-card p{color:#666;margin-bottom:1.5rem}.contact-info{display:flex;flex-direction:column;gap:1rem}.contact-item{display:flex;align-items:center;gap:.75rem}.contact-icon{font-size:1.25rem}.contact-item a{color:#667eea;text-decoration:none}.contact-item a:hover{text-decoration:underline}.toast-container{position:fixed;top:20px;right:20px;z-index:10000;display:flex;flex-direction:column;gap:10px;pointer-events:none}.toast{display:flex;align-items:center;gap:12px;padding:14px 18px;min-width:300px;max-width:500px;background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;pointer-events:auto;cursor:pointer;animation:slideIn .3s ease-out;border-left:4px solid}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.toast-success{border-left-color:#10b981}.toast-error{border-left-color:#ef4444}.toast-warning{border-left-color:#f59e0b}.toast-info{border-left-color:#3b82f6}.toast-icon{font-size:20px;font-weight:700;flex-shrink:0}.toast-success .toast-icon{color:#10b981}.toast-error .toast-icon{color:#ef4444}.toast-warning .toast-icon{color:#f59e0b}.toast-info .toast-icon{color:#3b82f6}.toast-message{flex:1;font-size:14px;color:#1f2937;line-height:1.5}.toast-close{background:none;border:none;font-size:20px;color:#9ca3af;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:color .2s}.toast-close:hover{color:#374151}@media (max-width: 640px){.toast-container{top:10px;right:10px;left:10px}.toast{min-width:auto;max-width:100%}}.connection-status{position:fixed;top:0;left:0;right:0;z-index:10000;pointer-events:none}.connection-status-banner{padding:12px 16px;background-color:#fff3cd;border-bottom:2px solid #ffc107;color:#856404;font-size:14px;display:flex;align-items:center;justify-content:center;pointer-events:auto;box-shadow:0 2px 4px #0000001a}.connection-status-banner.connected{background-color:#d4edda;border-bottom-color:#28a745;color:#155724}.connection-status-content{display:flex;align-items:center;gap:12px;max-width:1200px;width:100%;justify-content:center}.connection-status-icon{font-size:18px;font-weight:700}.connection-status-text{flex:1;text-align:center}.connection-status-retry{padding:6px 12px;background-color:#ffc107;color:#856404;border:1px solid #ffc107;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500;transition:background-color .2s}.connection-status-retry:hover:not(:disabled){background-color:#ffb300}.connection-status-retry:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.connection-status-content{flex-direction:column;gap:8px}.connection-status-text{font-size:12px}.connection-status-retry{width:100%;padding:8px}}.warehouse-select-modal{max-width:500px;width:90%}.warehouse-select-modal .modal-header{padding:20px 24px;border-bottom:1px solid var(--color-border, #e8e8e8)}.warehouse-select-modal form{padding:24px}@media (max-width: 768px){.warehouse-select-modal{width:95%;max-width:95%}.warehouse-select-modal .modal-header,.warehouse-select-modal form{padding:16px}}.warehouse-select-modal .product-info{padding:12px;background:#f5f5f5;border-radius:4px;margin-top:8px}.warehouse-select-modal .product-info strong{display:block;font-size:1.1rem;margin-bottom:4px}.warehouse-select-modal .product-info .sku{display:block;color:#666;font-size:.9rem}.warehouse-select-modal .form-group{margin-bottom:20px}.warehouse-select-modal .form-group label{display:block;margin-bottom:8px;font-weight:500;color:#333}.warehouse-select-modal select,.warehouse-select-modal input[type=number]{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:1rem}.warehouse-select-modal select:focus,.warehouse-select-modal input[type=number]:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.warehouse-checkboxes{display:flex;flex-direction:column;gap:12px;margin-top:8px}.warehouse-checkbox-label{display:flex;align-items:center;gap:12px;padding:12px;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:all .2s ease;background:#fff}.warehouse-checkbox-label:hover{border-color:#667eea;background:#f8f9ff}.warehouse-checkbox-label input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:#667eea}.warehouse-checkbox-label input[type=checkbox]:checked+.warehouse-info{color:#667eea}.warehouse-info{display:flex;flex-direction:column;gap:4px;flex:1}.warehouse-info strong{font-size:1rem;color:#333}.warehouse-info .current-qty{font-size:.85rem;color:#666}.warehouse-checkbox-label:has(input:checked){border-color:#667eea;background:#f0f4ff}.warehouse-checkbox-label:has(input:checked) .warehouse-info strong{color:#667eea}.warehouse-select-modal .modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.warehouse-select-modal .btn-primary,.warehouse-select-modal .btn-secondary{padding:10px 20px;border:none;border-radius:4px;font-size:1rem;cursor:pointer;transition:all .2s}.warehouse-select-modal .btn-primary{background:#667eea;color:#fff}.warehouse-select-modal .btn-primary:hover:not(:disabled){background:#5568d3}.warehouse-select-modal .btn-primary:disabled{opacity:.5;cursor:not-allowed}.warehouse-select-modal .btn-secondary{background:#f0f0f0;color:#333}.warehouse-select-modal .btn-secondary:hover{background:#e0e0e0}.stock-transfer-modal{max-width:600px;width:90%}.stock-transfer-modal .product-info{margin-bottom:1.5rem;padding:1rem;background-color:var(--color-surface-secondary, #f5f5f5);border-radius:var(--radius-md, 4px);border-left:4px solid var(--color-primary, #007bff)}.stock-transfer-modal .product-info h3{margin:0 0 .5rem;font-size:1.1rem;color:var(--color-text-primary, #333)}.stock-transfer-modal .product-info p{margin:0;font-size:.9rem;color:var(--color-text-secondary, #666)}.stock-transfer-modal .form-group{margin-bottom:1.25rem}.stock-transfer-modal .form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--color-text-primary, #333)}.stock-transfer-modal .form-group .form-input{width:100%;padding:.75rem;border:1px solid var(--color-border, #ddd);border-radius:var(--radius-md, 4px);font-size:1rem;transition:border-color var(--transition-fast, .2s)}.stock-transfer-modal .form-group .form-input:focus{outline:none;border-color:var(--color-primary, #007bff);box-shadow:0 0 0 3px #007bff1a}.stock-transfer-modal .stock-info{font-size:.9rem;color:var(--color-text-secondary, #666)}.stock-transfer-modal .modal-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--color-border, #ddd)}.stock-transfer-modal .btn-primary,.stock-transfer-modal .btn-secondary{padding:.75rem 1.5rem;border:none;border-radius:var(--radius-md, 4px);font-size:1rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast, .2s)}.stock-transfer-modal .btn-primary{background-color:var(--color-primary, #007bff);color:#fff}.stock-transfer-modal .btn-primary:hover:not(:disabled){background-color:var(--color-primary-dark, #0056b3)}.stock-transfer-modal .btn-primary:disabled{opacity:.6;cursor:not-allowed}.stock-transfer-modal .btn-secondary{background-color:var(--color-surface-secondary, #f5f5f5);color:var(--color-text-primary, #333);border:1px solid var(--color-border, #ddd)}.stock-transfer-modal .btn-secondary:hover:not(:disabled){background-color:var(--color-surface-tertiary, #e0e0e0)}@media (max-width: 768px){.stock-transfer-modal{width:95%;max-height:90vh;overflow-y:auto}.stock-transfer-modal .modal-actions{flex-direction:column}.stock-transfer-modal .btn-primary,.stock-transfer-modal .btn-secondary{width:100%}}.fiscal-value-modal{max-width:1000px;max-height:90vh;overflow-y:auto}.fiscal-content{padding:20px}.filters-section{display:flex;gap:15px;align-items:flex-end;margin-bottom:30px;padding:20px;background:#f8f9fa;border-radius:8px}.filter-group{display:flex;flex-direction:column;gap:5px;min-width:150px}.filter-group label{font-size:.9em;font-weight:500;color:#333}.filter-group select{padding:8px;border:1px solid #ddd;border-radius:4px;font-size:1rem}.filter-actions{margin-left:auto}.btn-export{padding:8px 16px;background:#667eea;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9rem}.btn-export:hover{background:#5568d3}.fiscal-table-container{margin-bottom:30px}.fiscal-table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #0000001a}.fiscal-table thead{background:#667eea;color:#fff}.fiscal-table th{padding:12px;text-align:left;font-weight:600}.fiscal-table td{padding:12px;border-bottom:1px solid #e0e0e0}.fiscal-table tbody tr:hover{background:#f5f5f5}.fiscal-table tbody tr:last-child td{border-bottom:none}.location-breakdown{margin-top:30px}.location-breakdown h3{margin-bottom:20px;color:#333}.breakdown-section{margin-bottom:30px;padding:20px;background:#f8f9fa;border-radius:8px}.breakdown-section h4{margin-bottom:15px;color:#667eea}.breakdown-table{width:100%;border-collapse:collapse;background:#fff;border-radius:4px;overflow:hidden}.breakdown-table thead{background:#667eea;color:#fff}.breakdown-table th{padding:10px;text-align:left;font-weight:600;font-size:.9em}.breakdown-table td{padding:10px;border-bottom:1px solid #e0e0e0;font-size:.9em}.breakdown-table tbody tr:last-child td{border-bottom:none}} .stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg);transition:all var(--transition-base);position:relative;overflow:hidden;box-shadow:var(--shadow-sm)}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);border-color:var(--stat-color, var(--color-primary))}.stat-card.clickable{cursor:pointer}.stat-card.clickable:hover{border-color:var(--stat-color, var(--color-primary))}.stat-card.loading{pointer-events:none}.stat-header{margin-bottom:var(--spacing-md)}.stat-value{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--spacing-xs);line-height:1.2}.stat-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.5px}.stat-chart-container{height:60px;width:100%;margin-top:var(--spacing-sm);opacity:.8;transition:opacity var(--transition-base)}.stat-card:hover .stat-chart-container{opacity:1}.stat-chart-tooltip{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-xs) var(--spacing-sm);box-shadow:var(--shadow-lg);font-size:var(--font-size-xs)}.tooltip-date{color:var(--color-text-secondary);font-size:var(--font-size-xs);margin-bottom:2px}.tooltip-value{color:var(--color-text-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm)}.stat-hover-hint{position:absolute;bottom:var(--spacing-sm);right:var(--spacing-sm);font-size:var(--font-size-xs);color:var(--color-text-secondary);opacity:0;transition:opacity var(--transition-base);pointer-events:none}.stat-card.clickable:hover .stat-hover-hint{opacity:.7}.stat-card.loading .skeleton{background:linear-gradient(90deg,var(--color-border-light) 25%,var(--color-border) 50%,var(--color-border-light) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite;border-radius:var(--radius-sm)}.stat-card.loading .stat-value.skeleton{height:32px;width:60%;margin-bottom:var(--spacing-sm)}.stat-card.loading .stat-label.skeleton{height:16px;width:40%;margin-bottom:var(--spacing-md)}.stat-card.loading .stat-chart-container.skeleton{height:60px;width:100%}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}border-color: var(--color-border); } @media (max-width: 768px){.stat-card{padding:var(--spacing-md)}.stat-value{font-size:var(--font-size-2xl)}.stat-chart-container{height:50px}}.stat-card-modal-overlay{z-index:1000}.stat-card-modal-content{max-width:900px;width:90%;max-height:90vh;overflow-y:auto}.stat-card-modal-body{padding:var(--spacing-lg)}.period-selector{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);flex-wrap:wrap}.period-btn{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.period-btn:hover{background:var(--color-surface-elevated);border-color:var(--color-primary)}.period-btn.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.stats-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-lg);padding:var(--spacing-md);background:var(--color-surface-elevated);border-radius:var(--radius-md);border:1px solid var(--color-border)}.stat-item{display:flex;flex-direction:column;gap:var(--spacing-xs)}.stat-item-label{font-size:var(--font-size-xs);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.stat-item-value{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.stat-item.positive .stat-item-value{color:var(--color-success)}.stat-item.negative .stat-item-value{color:var(--color-error)}.chart-container{width:100%;height:400px;margin-top:var(--spacing-md)}.chart-loading,.chart-error,.chart-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:400px;color:var(--color-text-secondary)}.chart-error{gap:var(--spacing-md)}.retry-btn{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-sm);transition:all var(--transition-base)}.retry-btn:hover{opacity:.9;transform:translateY(-1px)}.chart-tooltip{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);box-shadow:var(--shadow-lg)}.tooltip-date{color:var(--color-text-secondary);font-size:var(--font-size-xs);margin-bottom:4px}.tooltip-value{color:var(--color-text-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-base)}@media (max-width: 768px){.stat-card-modal-content{width:95%;max-height:95vh}.stats-summary{grid-template-columns:repeat(2,1fr)}.chart-container{height:300px}.period-selector{justify-content:center}}.assembly-page{padding:20px;max-width:1200px;margin:0 auto}.assembly-header{margin-bottom:30px}.assembly-header h1{margin:0 0 10px;color:#333}.assembly-header p{color:#666;margin:0}.assembly-content{background:#fff;border-radius:8px;padding:30px;box-shadow:0 2px 4px #0000001a}.assembly-section{margin-bottom:25px}.assembly-section label{display:block;margin-bottom:8px;font-weight:600;color:#333}.product-select{width:100%;padding:12px;border:1px solid #ddd;border-radius:4px;font-size:16px}.product-info{margin:25px 0;padding:20px;background:#f8f9fa;border-radius:4px}.product-info h2{margin:0 0 5px;color:#333}.product-sku{margin:0;color:#666;font-size:14px}.error-message,.success-message{padding:15px;border-radius:4px;margin:20px 0}.error-message{background:#fee;color:#c33;border:1px solid #fcc}.success-message{background:#efe;color:#3c3;border:1px solid #cfc}.components-list{margin:30px 0}.components-list h3{margin:0 0 15px;color:#333}.components-table{width:100%;border-collapse:collapse;margin-top:15px}.components-table th,.components-table td{padding:12px;text-align:left;border-bottom:1px solid #ddd}.components-table th{background:#f8f9fa;font-weight:600;color:#333}.components-table tr.insufficient{background:#fff5f5}.badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:600}.badge.sufficient{background:#d4edda;color:#155724}.badge.insufficient{background:#f8d7da;color:#721c24}.badge.optional{background:#fff3cd;color:#856404}.badge.required{background:#d1ecf1;color:#0c5460}.badge.not-selected{background:#e9ecef;color:#6c757d}.component-use-checkbox{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:.9rem}.component-use-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#667eea}.component-use-checkbox input[type=checkbox]:disabled{opacity:.5;cursor:not-allowed}.component-use-checkbox span{font-size:.85rem;color:#666}.variant-select{padding:6px;border:1px solid #ddd;border-radius:4px;font-size:14px;min-width:200px}.no-variant{color:#999;font-style:italic}.assembly-actions{margin-top:30px;padding-top:20px;border-top:1px solid #ddd}.notes-section{margin-bottom:20px}.notes-section label{display:block;margin-bottom:8px;font-weight:600;color:#333}.notes-section textarea{width:100%;padding:12px;border:1px solid #ddd;border-radius:4px;font-size:14px;font-family:inherit;resize:vertical}.assemble-button{background:#667eea;color:#fff;border:none;padding:12px 30px;border-radius:4px;font-size:16px;font-weight:600;cursor:pointer;transition:background .2s}.assemble-button:hover:not(:disabled){background:#5568d3}.assemble-button:disabled{background:#ccc;cursor:not-allowed}.assemble-warning{margin-top:10px;color:#721c24;font-size:14px}.loading-spinner-container{text-align:center;padding:40px}.loading-spinner{border:3px solid #f3f3f3;border-top:3px solid #667eea;border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin:0 auto 15px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.product-history-modal{max-width:1200px;max-height:90vh;overflow-y:auto}.history-content{padding:20px}.chart-container{margin-bottom:40px;padding:20px;background:var(--bg-color, #fff);border-radius:8px;box-shadow:0 2px 4px #0000001a}.chart-container h3{margin:0 0 20px;color:var(--text-color, #333);font-size:1.2em}.movements-table-container{margin-top:40px}.movements-table-container h3{margin:0 0 20px;color:var(--text-color, #333);font-size:1.2em}.table-wrapper{overflow-x:auto;border-radius:8px;box-shadow:0 2px 4px #0000001a}.movements-table{width:100%;border-collapse:collapse;background:var(--bg-color, #fff)}.movements-table thead{background:var(--accent-color, #667eea);color:#fff}.movements-table th{padding:12px;text-align:left;font-weight:600;font-size:.9em;white-space:nowrap}.movements-table td{padding:12px;border-bottom:1px solid var(--border-color, #e0e0e0);font-size:.9em}.movements-table tbody tr:hover{background:var(--hover-color, #f5f5f5)}.movements-table tbody tr:last-child td{border-bottom:none}.movement-type{display:inline-block;padding:4px 8px;border-radius:4px;font-size:.85em;font-weight:500}.movements-table .positive{color:#388e3c;font-weight:600}.movements-table .negative{color:#c62828;font-weight:600}.notes-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.no-data{text-align:center;padding:40px;color:var(--text-muted, #666);font-size:1.1em}.loading{text-align:center;padding:40px;color:var(--text-muted, #666)}.error-message{padding:20px;background:#ffebee;color:#c62828;border-radius:4px;margin:20px}.history-page-modal{max-width:95vw;width:1400px;max-height:90vh;overflow-y:auto}.history-page-content{padding:20px}.history-tabs{display:flex;gap:10px;margin-bottom:20px;border-bottom:2px solid #e0e0e0}.history-tab-btn{padding:12px 24px;background:transparent;border:none;border-bottom:3px solid transparent;cursor:pointer;font-size:1em;font-weight:500;color:#666;transition:all .3s ease;margin-bottom:-2px}.history-tab-btn:hover{color:#667eea;background:#f5f5f5}.history-tab-btn.active{color:#667eea;border-bottom-color:#667eea;font-weight:600}.history-content{background:#f9f9f9;border-radius:8px;padding:20px;min-height:400px}.history-content h3{margin-top:0;margin-bottom:20px;color:#333;font-size:1.3em;border-bottom:2px solid #667eea;padding-bottom:10px}.assembly-filters,.stock-filters{display:flex;flex-direction:column;gap:10px;margin-bottom:15px;padding:10px;background:#fff;border-radius:6px}.filter-group{display:flex;flex-direction:column;gap:5px}.filter-group label{font-size:.9em;font-weight:500;color:#555}.filter-input{padding:6px 10px;border:1px solid #ddd;border-radius:4px;font-size:.9em}.filter-actions{display:flex;gap:10px;margin-top:10px}.btn-clear{padding:6px 12px;background:#f0f0f0;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:.9em}.btn-clear:hover{background:#e0e0e0}.assembly-logs-table,.stock-movements-table{overflow-x:auto;max-height:500px;overflow-y:auto}.logs-table{width:100%;border-collapse:collapse;font-size:.85em}.logs-table thead{position:sticky;top:0;background:#fff;z-index:10}.logs-table th{background:#f5f5f5;padding:8px;text-align:left;font-weight:600;border-bottom:2px solid #ddd;font-size:.9em}.logs-table td{padding:8px;border-bottom:1px solid #eee}.logs-table tbody tr:hover{background:#f9f9f9}.components-list{margin:0;padding-left:20px;font-size:.85em}.components-list li{margin:2px 0}.movement-type{padding:2px 6px;border-radius:3px;font-size:.85em;font-weight:500}.movement-type.assembly{background:#e3f2fd;color:#1976d2}.movement-type.manual{background:#f3e5f5;color:#7b1fa2}.movement-type.scanner{background:#e8f5e9;color:#388e3c}.movement-type.purchase{background:#fff3e0;color:#f57c00}.movement-type.sale{background:#ffebee;color:#c62828}.positive{color:#4caf50;font-weight:600}.negative{color:#f44336;font-weight:600}.product-name-link:hover{color:#5568d3}.loading-message,.error-message,.no-results{padding:20px;text-align:center;color:#666}.error-message{color:#f44336}@media (max-width: 1024px){.history-tabs{flex-direction:column}.history-tab-btn{width:100%;text-align:center}.history-page-modal{max-width:95vw;width:100%}}
