.badge{display:inline-flex;align-items:center;justify-content:center;font-weight:600;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.badge-sm{padding:2px 6px;font-size:.625rem;border-radius:var(--radius-xs, 2px)}.badge-md{padding:4px 10px;font-size:.75rem;border-radius:var(--radius-sm, 4px)}.badge-lg{padding:6px 14px;font-size:.875rem;border-radius:var(--radius-md, 6px)}.badge-pill{border-radius:9999px}.badge-success{background:#1b5e371a;color:var(--primary, #1B5E37)}.badge-warning{background:#d977061a;color:#92400e}.badge-error{background:#dc26261a;color:var(--error, #DC2626)}.badge-info{background:#2563eb1a;color:#2563eb}.badge-neutral{background:var(--gray-100, #F5F5F5);color:var(--gray-600, #666666)}.badge-outline.badge-success{background:transparent;border:1px solid var(--primary, #1B5E37);color:var(--primary, #1B5E37)}.badge-outline.badge-warning{background:transparent;border:1px solid #D97706;color:#92400e}.badge-outline.badge-error{background:transparent;border:1px solid var(--error, #DC2626);color:var(--error, #DC2626)}.badge-outline.badge-info{background:transparent;border:1px solid #2563EB;color:#2563eb}.badge-outline.badge-neutral{background:transparent;border:1px solid var(--gray-300, #E0E0E0);color:var(--gray-600, #666666)}.pos-page{height:calc(100vh - 120px);display:flex;flex-direction:column;overflow:hidden}.pos-container{display:flex;flex:1;gap:var(--spacing-lg);min-height:0}.pos-products-panel{flex:1;display:flex;flex-direction:column;gap:var(--spacing-md);min-height:0;overflow:hidden}.pos-search-input{width:100%;padding:var(--spacing-md);border:1px solid var(--gray-300);border-radius:var(--radius-md);font-size:1rem}.pos-categories{display:flex;gap:var(--spacing-sm);overflow-x:auto;padding:var(--spacing-xs) 0}.category-btn{padding:var(--spacing-sm) var(--spacing-lg);background:var(--gray-100);border:1px solid var(--gray-200);border-radius:var(--radius-full);font-weight:500;cursor:pointer;white-space:nowrap;transition:all var(--transition-fast)}.category-btn:hover{background:var(--gray-200)}.category-btn.active{background:var(--primary);color:var(--white);border-color:var(--primary)}.pos-products-grid{flex:1;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--spacing-md);overflow-y:auto;padding:var(--spacing-xs);align-content:start;min-height:0}.product-card{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:var(--spacing-md);cursor:pointer;transition:all var(--transition-fast);position:relative}.product-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--primary)}.product-category-badge{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);font-size:.7rem;padding:2px 8px;background:var(--primary);color:var(--white);border-radius:var(--radius-full)}.product-name{font-size:.95rem;margin:var(--spacing-sm) 0;color:var(--gray-900);font-weight:500}.product-price{font-size:1.1rem;font-weight:600;color:var(--primary);margin:var(--spacing-xs) 0}.product-duration,.product-stock{font-size:.8rem;color:var(--gray-600);margin:var(--spacing-xs) 0}.low-stock-badge{background:var(--error);color:var(--white);padding:2px 6px;border-radius:var(--radius-sm);margin-left:var(--spacing-xs);font-size:.7rem}.pos-cart-panel{width:400px;min-width:350px;background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--gray-200);display:flex;flex-direction:column;box-shadow:var(--shadow-md);min-height:0;max-height:100%}.cart-header{padding:var(--spacing-lg);border-bottom:1px solid var(--gray-200);display:flex;justify-content:space-between;align-items:center}.cart-header h3{margin:0;font-size:1.1rem}.cart-count{background:var(--primary);color:var(--white);padding:4px 12px;border-radius:var(--radius-full);font-size:.875rem;font-weight:500}.cart-items{flex:1;overflow-y:auto;padding:var(--spacing-md)}.empty-cart{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--gray-500);text-align:center}.empty-cart p:first-child{font-size:3rem;margin-bottom:var(--spacing-md)}.empty-cart-subtitle{font-size:.875rem}.cart-item{display:flex;gap:var(--spacing-md);padding:var(--spacing-md);border:1px solid var(--gray-200);border-radius:var(--radius-md);margin-bottom:var(--spacing-md);background:var(--gray-50)}.cart-item-details{flex:1}.cart-item-details h4{font-size:.95rem;margin:0 0 var(--spacing-xs) 0;color:var(--gray-900)}.cart-item-price{font-size:.85rem;color:var(--gray-600);margin:0}.cart-item-controls{display:flex;align-items:center;gap:var(--spacing-sm)}.qty-btn{width:28px;height:28px;border:1px solid var(--gray-300);background:var(--white);border-radius:var(--radius-sm);cursor:pointer;font-size:1.1rem;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.qty-btn:hover{background:var(--primary);color:var(--white);border-color:var(--primary)}.qty-display{min-width:30px;text-align:center;font-weight:500}.cart-item-total{display:flex;flex-direction:column;align-items:flex-end;gap:var(--spacing-sm)}.cart-item-total p{font-weight:600;color:var(--gray-900);margin:0}.remove-btn{background:none;border:none;color:var(--error);cursor:pointer;font-size:1.2rem;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:background var(--transition-fast)}.remove-btn:hover{background:#ef44441a}.cart-summary{padding:var(--spacing-lg);border-top:1px solid var(--gray-200)}.summary-row{display:flex;justify-content:space-between;margin-bottom:var(--spacing-sm);font-size:.95rem}.summary-row.discount{color:var(--success)}.summary-row.total{font-size:1.25rem;font-weight:600;color:var(--gray-900);padding-top:var(--spacing-sm);border-top:2px solid var(--gray-300);margin-top:var(--spacing-sm)}.cart-actions{padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-md);border-top:1px solid var(--gray-200)}.checkout-modal{max-width:520px;max-height:90vh}.checkout-modal .modal-body{padding:24px}.checkout-section{margin-bottom:28px;padding-bottom:0;border-bottom:none}.checkout-section:last-child{margin-bottom:0}.checkout-section h4{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px;color:#888}.checkout-cart-summary{background:#f8f8f8;padding:14px;border-radius:10px}.checkout-item{display:flex;justify-content:space-between;margin-bottom:8px;font-size:.85rem;color:#555}.checkout-total{display:flex;justify-content:space-between;margin-top:12px;padding-top:12px;border-top:1px solid #E0E0E0;font-weight:600;color:#333}.employee-commission{margin-top:8px;font-size:.8rem;color:var(--success)}.checkout-modal input,.checkout-modal select,.checkout-modal textarea{background:#f5f5f5;border:1px solid transparent;border-radius:8px;padding:12px 14px;font-size:.9rem;transition:all .15s ease}.checkout-modal input:focus,.checkout-modal select:focus,.checkout-modal textarea:focus{background:#fff;border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #22543d1a}.checkout-modal input::placeholder{color:#999}.customer-type-selector{display:inline-flex;background:#f0f0f0;border-radius:8px;padding:4px;margin-bottom:16px}.customer-type-selector label{display:flex;align-items:center;gap:6px;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:500;color:#666;transition:all .15s ease}.customer-type-selector label:has(input:checked){background:#fff;color:#333;box-shadow:0 1px 3px #0000001a}.customer-type-selector input[type=radio]{display:none}.payment-methods{display:inline-flex;background:#f0f0f0;border-radius:10px;padding:4px;gap:4px;margin-bottom:16px}.payment-btn{padding:10px 20px;border:none;background:transparent;border-radius:8px;cursor:pointer;font-weight:500;font-size:.875rem;color:#666;transition:all .15s ease}.payment-btn:hover{color:#333}.payment-btn.active{background:var(--primary);color:#fff;box-shadow:0 1px 3px #00000026}.payment-details{margin-top:var(--spacing-md)}.payment-details label{display:block;margin-bottom:var(--spacing-sm);font-weight:500;font-size:.9rem}.change-display{display:flex;justify-content:space-between;margin-top:12px;padding:12px 14px;background:#f5f5f5;border-radius:8px;font-weight:500;font-size:.9rem}.change-display .negative{color:var(--error)}.change-display .positive{color:var(--success)}.discount-buttons{display:flex;gap:8px;flex-wrap:wrap}.discount-buttons .btn{padding:6px 14px;font-size:.8rem;border:1px solid #E0E0E0;border-radius:20px;background:#fff;color:#666;font-weight:500;cursor:pointer;transition:all .15s ease}.discount-buttons .btn:hover{border-color:var(--primary);color:var(--primary)}.discount-buttons .btn.active,.discount-buttons .btn-primary{background:var(--primary);color:#fff;border-color:var(--primary)}.discount-buttons .btn-outline-secondary{background:transparent;border-color:#ccc}.discount-applied{margin-top:12px;padding:10px 14px;background:#10b98114;border-radius:8px;color:#059669;font-size:.85rem}.final-total{text-align:center;background:#fff;border:2px solid var(--primary);padding:20px;border-radius:12px;margin:20px 0}.final-total h3{margin:0 0 4px;font-size:.75rem;font-weight:500;color:#888;text-transform:uppercase;letter-spacing:.5px}.final-total h2{margin:0;font-size:2rem;font-weight:600;color:var(--primary)}@media (max-width: 1024px){.pos-cart-panel{width:350px}.pos-products-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}@media (max-width: 768px){.pos-container{flex-direction:column}.pos-cart-panel{width:100%;max-height:50vh}.pos-products-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}}.advance-booking-section{margin:16px 0;padding:14px;background:#f8f8f8;border-radius:10px;border:1px solid transparent}.advance-booking-section.active{background:#f0f7ff;border-color:#c4dfff}.advance-booking-section .checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:500;font-size:.9rem;color:#555}.advance-booking-section .checkbox-label input[type=checkbox]{width:16px;height:16px;cursor:pointer}.advance-booking-form{margin-top:16px;padding-top:16px;border-top:1px solid #E0E0E0}.advance-booking-form .form-section{margin-bottom:20px}.advance-booking-form .form-section h4{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px;color:#888}.advance-booking-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.advance-booking-form .form-group{margin-bottom:12px}.advance-booking-form .form-group label{display:block;font-size:.8rem;font-weight:500;margin-bottom:6px;color:#666}.advance-booking-form .form-group input,.advance-booking-form .form-group select,.advance-booking-form .form-group textarea{width:100%;padding:10px 12px;border:1px solid transparent;border-radius:8px;font-size:.875rem;background:#fff}.advance-booking-form .form-group input:focus,.advance-booking-form .form-group select:focus,.advance-booking-form .form-group textarea:focus{border-color:var(--primary);outline:none}.advance-booking-form .form-group input.error,.advance-booking-form .form-group select.error,.advance-booking-form .form-group textarea.error{border-color:var(--error)}.advance-booking-form .error-message{display:block;font-size:.7rem;color:var(--error);margin-top:4px}.payment-timing-options{display:flex;flex-direction:column;gap:8px}.radio-option{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid #E0E0E0;border-radius:8px;cursor:pointer;transition:all .15s ease;background:#fff}.radio-option:hover{border-color:var(--primary);background:#22543d08}.radio-option:has(input:checked){border-color:var(--primary);background:#22543d0d}.radio-option input[type=radio]{margin:0;cursor:pointer}.radio-content{display:flex;flex-direction:column;gap:var(--spacing-xs)}.radio-title{font-weight:600;font-size:.9rem;color:var(--gray-900)}.radio-desc{font-size:.8rem;color:var(--gray-600)}@media (max-width: 1024px){.pos-page{height:auto;min-height:calc(100vh - 120px);overflow:visible}.pos-container{flex-direction:column;height:auto}.pos-products-panel{min-height:50vh}.pos-cart-panel{position:fixed;bottom:0;left:0;right:0;z-index:100;max-height:60vh;border-radius:var(--radius-xl) var(--radius-xl) 0 0;box-shadow:0 -4px 20px #00000026}.pos-products-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--spacing-sm)}}@media (max-width: 768px){.pos-page{padding:var(--spacing-sm)}.pos-products-grid{grid-template-columns:repeat(2,1fr);gap:var(--spacing-sm)}.product-card{padding:var(--spacing-sm)}.product-name{font-size:.8125rem;line-height:1.3}.product-price{font-size:.875rem}.pos-categories{margin:0 calc(var(--spacing-sm) * -1);padding:var(--spacing-xs) var(--spacing-sm)}.category-btn{padding:var(--spacing-xs) var(--spacing-md);font-size:.8125rem}.cart-item{padding:var(--spacing-sm)}.cart-item-name{font-size:.8125rem}.advance-booking-form .form-row{grid-template-columns:1fr}}@media (max-width: 480px){.pos-products-grid{grid-template-columns:repeat(2,1fr)}.product-card{padding:var(--spacing-xs)}.pos-cart-panel{max-height:70vh}}.rotation-queue-panel{background:#fff;border:1px solid #E8E8E8;border-radius:10px;padding:12px;margin-bottom:16px}.rotation-queue-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:0;border-bottom:none}.rotation-queue-title{font-weight:600;font-size:.8rem;color:#666}.rotation-queue-count{background:var(--primary);color:#fff;padding:3px 8px;border-radius:10px;font-size:.7rem;font-weight:500}.rotation-queue-list{display:flex;flex-direction:column;gap:8px;max-height:180px;overflow-y:auto}.rotation-queue-item{display:flex;align-items:center;gap:12px;padding:10px 12px;background:#f8f8f8;border:1px solid transparent;border-radius:8px;cursor:pointer;transition:all .15s ease}.rotation-queue-item:hover{background:#f0f0f0}.rotation-queue-item.selected{border-color:var(--primary);background:#22543d0d}.rotation-queue-item.next-in-line{border-color:var(--success);background:#10b9810d}.rotation-queue-item.next-in-line:hover{background:#10b9811a}.rotation-queue-position{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--gray-100);border-radius:var(--radius-full);font-weight:600;font-size:.8rem;color:var(--gray-600);flex-shrink:0}.rotation-queue-item.next-in-line .rotation-queue-position{background:var(--success);color:var(--white)}.rotation-queue-info{flex:1;min-width:0}.rotation-queue-name{font-weight:600;font-size:.9rem;color:var(--gray-900);margin-bottom:2px}.rotation-queue-details{display:flex;gap:var(--spacing-md);font-size:.75rem;color:var(--gray-500)}.rotation-clock-in,.rotation-services{display:flex;align-items:center;gap:4px}.rotation-skip-btn{background:var(--gray-100);border:1px solid var(--gray-300);border-radius:var(--radius-md);padding:6px 10px;cursor:pointer;font-size:.9rem;transition:all var(--transition-fast)}.rotation-skip-btn:hover{background:var(--warning-light);border-color:var(--warning)}.rotation-next-indicator{margin-top:12px;padding:10px 14px;background:var(--primary);color:#fff;border-radius:8px;font-size:.85rem;text-align:center}.rotation-next-indicator strong{font-weight:500;margin-right:4px}.rotation-no-queue{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:var(--radius-md);margin-bottom:var(--spacing-md)}.rotation-no-queue span{font-size:1.2rem}.rotation-no-queue p{margin:0;font-size:.85rem;color:var(--gray-700)}.sales-tabs{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);border-bottom:2px solid var(--gray-200);padding-bottom:var(--spacing-sm)}.sales-tab{padding:var(--spacing-sm) var(--spacing-lg);background:transparent;border:none;border-radius:var(--radius-md) var(--radius-md) 0 0;font-weight:500;font-size:.95rem;color:var(--gray-600);cursor:pointer;transition:all var(--transition-fast);position:relative}.sales-tab:hover{background:var(--gray-100);color:var(--gray-800)}.sales-tab.active{background:var(--primary);color:var(--white)}.sales-tab.active:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:var(--primary)}.sales-tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 6px;margin-left:var(--spacing-xs);font-size:.7rem;font-weight:600;border-radius:var(--radius-full);background:var(--gray-200);color:var(--gray-700)}.sales-tab-badge.warning{background:var(--warning);color:var(--white)}.sales-tab-badge.danger{background:var(--danger);color:var(--white)}.sales-tab-badge.success{background:var(--success);color:var(--white)}.sales-tab-badge.info{background:var(--primary);color:var(--white)}.sales-tab.active .sales-tab-badge{background:#ffffff4d;color:var(--white)}.settings-tabs{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);border-bottom:2px solid var(--gray-200);padding-bottom:var(--spacing-sm)}.settings-tab{padding:var(--spacing-sm) var(--spacing-lg);background:transparent;border:none;border-radius:var(--radius-md) var(--radius-md) 0 0;font-weight:500;font-size:.95rem;color:var(--gray-600);cursor:pointer;transition:all var(--transition-fast);position:relative}.settings-tab:hover{background:var(--gray-100);color:var(--gray-800)}.settings-tab.active{background:var(--primary);color:var(--white)}.settings-tab.active:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:var(--primary)}:root{--color-background: #FFFFFF;--color-surface: #FFFFFF;--color-surface-elevated: #FFFFFF;--color-border: #E0E0E0;--color-text-primary: #1A1A1A;--color-text-muted: #666666;--color-text-subtle: #999999;--color-accent: #1B5E37;--color-accent-hover: #145A2C;--color-green: #1B5E37;--color-error: #DC2626;--color-success: #1B5E37;--primary: var(--color-accent);--primary-dark: var(--color-accent-hover);--primary-light: var(--color-accent);--primary-50: rgba(27, 94, 55, .05);--success: var(--color-success);--success-dark: var(--color-accent-hover);--success-light: var(--color-accent);--error: var(--color-error);--error-dark: #B91C1C;--error-light: var(--color-error);--warning: var(--color-text-muted);--warning-dark: var(--color-text-primary);--warning-light: var(--color-text-muted);--info: var(--color-accent);--info-dark: var(--color-accent-hover);--info-light: var(--color-accent);--white: var(--color-background);--gray-50: var(--color-background);--gray-100: var(--color-surface);--gray-200: var(--color-border);--gray-300: var(--color-border);--gray-400: var(--color-text-subtle);--gray-500: var(--color-text-muted);--gray-600: var(--color-text-muted);--gray-700: var(--color-text-primary);--gray-800: var(--color-text-primary);--gray-900: var(--color-text-primary);--text-primary: var(--color-text-primary);--text-secondary: var(--color-text-muted);--text-muted: var(--color-text-muted);--text-subtle: var(--color-text-subtle);--text-on-accent: var(--color-background);--bg-primary: var(--color-background);--bg-secondary: var(--color-surface);--bg-tertiary: var(--color-surface);--bg-hover: var(--color-surface);--bg-active: var(--color-border);--border-color: var(--color-border);--border-light: var(--color-border);--border-focus: var(--color-accent);--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-xxl: 4rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .06), 0 2px 4px -1px rgba(0, 0, 0, .04);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .06), 0 4px 6px -2px rgba(0, 0, 0, .03);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .06), 0 10px 10px -5px rgba(0, 0, 0, .02);--shadow-focus: 0 0 0 3px rgba(27, 94, 55, .15);--shadow-card: 0 1px 3px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .06);--shadow-elevated: 0 4px 12px rgba(0, 0, 0, .08);--font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", "Roboto", sans-serif;--font-mono: "SF Mono", "Monaco", "Consolas", monospace;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.625;--tracking-tight: -.025em;--tracking-normal: 0;--tracking-wide: .025em;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1);--z-base: 0;--z-dropdown: 100;--z-sticky: 200;--z-modal: 300;--z-toast: 400;--z-tooltip: 500}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scroll-behavior:smooth}body{font-family:var(--font-sans);color:var(--text-primary);background-color:var(--color-background);line-height:var(--leading-normal);font-weight:var(--font-normal);letter-spacing:var(--tracking-normal)}#root{min-height:100vh;display:flex;flex-direction:column}::selection{background-color:#1b5e3726;color:var(--text-primary)}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}h1,h2,h3,h4,h5,h6{font-weight:var(--font-semibold);line-height:var(--leading-tight);color:var(--text-primary);letter-spacing:var(--tracking-tight)}h1{font-size:2rem;font-weight:var(--font-bold)}h2{font-size:1.5rem;font-weight:var(--font-semibold)}h3{font-size:1.25rem;font-weight:var(--font-semibold)}h4{font-size:1.125rem;font-weight:var(--font-medium)}h5{font-size:1rem;font-weight:var(--font-medium)}h6{font-size:.875rem;font-weight:var(--font-medium);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-muted)}p{margin-bottom:var(--spacing-md);color:var(--text-secondary);line-height:var(--leading-relaxed)}a{color:var(--primary);text-decoration:none;transition:color var(--transition-fast);font-weight:var(--font-medium)}a:hover{color:var(--primary-dark)}.text-muted{color:var(--text-muted)}.text-subtle{color:var(--text-subtle)}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background:var(--color-background);gap:var(--spacing-lg)}.loading-screen p{color:var(--text-muted);font-size:.9375rem;font-weight:var(--font-medium)}.page-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:var(--spacing-md)}.page-loader{display:flex;align-items:center;justify-content:center;min-height:400px;width:100%}.spinner{width:40px;height:40px;border:3px solid var(--color-border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s ease-in-out infinite}.spinner-small{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:var(--white);border-radius:50%;animation:spin .6s ease-in-out infinite;display:inline-block;margin-right:8px}.loading-spinner{border:3px solid var(--color-border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s ease-in-out infinite}.loading-spinner-sm{width:20px;height:20px;border-width:2px}.loading-spinner-md{width:32px;height:32px;border-width:3px}.loading-spinner-lg{width:48px;height:48px;border-width:4px}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl);gap:var(--spacing-md);min-height:200px}.loading-container p,.loading-message{color:var(--text-muted);font-size:.9375rem;margin:0}.loading-inline{display:inline-flex;align-items:center;gap:var(--spacing-sm)}.loading-message-inline{color:var(--text-muted);font-size:.875rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.toast{position:fixed;top:var(--spacing-lg);right:var(--spacing-lg);display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:var(--color-surface-elevated);border-radius:var(--radius-lg);box-shadow:var(--shadow-elevated);border:1px solid var(--color-border);min-width:320px;max-width:480px;z-index:var(--z-toast);animation:toastSlideIn .25s var(--transition-base)}@keyframes toastSlideIn{0%{transform:translate(100%) translateY(-10px);opacity:0}to{transform:translate(0) translateY(0);opacity:1}}.toast-icon{font-size:1.25rem;flex-shrink:0}.toast-message{flex:1;font-weight:var(--font-medium);color:var(--text-primary);font-size:.9375rem;line-height:var(--leading-normal)}.toast-success{border-left:3px solid var(--success)}.toast-error{border-left:3px solid var(--error)}.toast-warning{border-left:3px solid var(--warning)}.toast-info{border-left:3px solid var(--info)}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-surface);padding:var(--spacing-lg)}.auth-container{width:100%;max-width:440px}.auth-header{text-align:center;margin-bottom:var(--spacing-xl)}.brand-logo{font-size:1.75rem;font-weight:var(--font-bold);color:var(--primary);margin-bottom:var(--spacing-xs);letter-spacing:var(--tracking-tight)}.brand-tagline{color:var(--text-muted);font-size:.9375rem;font-weight:var(--font-normal)}.auth-card{background:var(--color-surface-elevated);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);border:1px solid var(--color-border);padding:var(--spacing-2xl)}.register-card{max-width:560px}.auth-card h2{font-size:1.5rem;font-weight:var(--font-semibold);margin-bottom:var(--spacing-xs);text-align:center;color:var(--text-primary)}.auth-subtitle{text-align:center;color:var(--text-muted);margin-bottom:var(--spacing-xl);font-size:.9375rem}.auth-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.auth-footer{margin-top:var(--spacing-xl);text-align:center;color:var(--text-muted);font-size:.9375rem}.auth-footer .link{color:var(--primary);font-weight:var(--font-medium)}.auth-footer .link:hover{color:var(--primary-dark)}.demo-credentials{margin-top:var(--spacing-xl);padding:var(--spacing-lg);background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);font-size:.875rem}.demo-title{font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:var(--spacing-sm);font-size:.9375rem}.demo-credentials p{margin:0;color:var(--text-secondary)}.demo-credentials strong{color:var(--text-primary)}.pwa-install-section{margin-top:var(--spacing-lg);padding-top:var(--spacing-lg)}.pwa-install-divider{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.pwa-install-divider:before,.pwa-install-divider:after{content:"";flex:1;height:1px;background:var(--color-border)}.pwa-install-divider span{font-size:.8125rem;color:var(--text-subtle);font-weight:var(--font-medium);text-transform:uppercase;letter-spacing:.5px}.btn-install{width:100%;display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:.875rem 1.5rem;background:linear-gradient(135deg,var(--color-accent) 0%,#145A2C 100%);color:#fff;border:none;border-radius:var(--radius-md);font-size:.9375rem;font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-fast);box-shadow:0 2px 8px #1b5e3740}.btn-install:hover{transform:translateY(-1px);box-shadow:0 4px 12px #1b5e3759}.btn-install:active{transform:translateY(0)}.btn-install svg{flex-shrink:0}.pwa-install-hint{text-align:center;font-size:.8125rem;color:var(--text-subtle);margin:0;padding:var(--spacing-sm);background:var(--color-surface);border-radius:var(--radius-md);border:1px dashed var(--color-border)}.pwa-installed-badge{display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);margin-top:var(--spacing-lg);padding:var(--spacing-sm) var(--spacing-md);background:#1b5e371a;color:var(--color-accent);border-radius:var(--radius-md);font-size:.8125rem;font-weight:var(--font-medium)}.pwa-installed-badge svg{color:var(--color-success)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.form-group label{font-weight:var(--font-medium);color:var(--text-primary);font-size:.875rem;margin-bottom:2px}.required{color:var(--error);margin-left:2px}.optional{color:var(--text-subtle);font-weight:var(--font-normal);font-size:.8125rem}.form-control,input[type=text],input[type=email],input[type=password],input[type=tel],input[type=number],input[type=date],input[type=time],input[type=datetime-local],textarea,select{width:100%;padding:.6875rem .875rem;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.9375rem;font-family:var(--font-sans);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);background:var(--color-surface-elevated);color:var(--text-primary);line-height:var(--leading-normal)}.form-control::placeholder,input::placeholder,textarea::placeholder{color:var(--text-subtle)}.form-control:hover,input:hover,textarea:hover,select:hover{border-color:var(--gray-400)}.form-control:focus,input:focus,textarea:focus,select:focus{outline:none;border-color:var(--primary);box-shadow:var(--shadow-focus)}.form-control.error,input.error{border-color:var(--error);box-shadow:0 0 0 3px #dc26261a}.form-control.success,input.success{border-color:var(--success);box-shadow:0 0 0 3px #1b5e371a}.error-message{color:var(--error);font-size:.8125rem;font-weight:var(--font-medium);margin-top:var(--spacing-xs)}.success-message{color:var(--success);font-size:.8125rem;font-weight:var(--font-medium)}.checkbox-label{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:.9375rem;color:var(--text-secondary)}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--primary)}.password-strength{display:flex;align-items:center;gap:var(--spacing-md);margin-top:var(--spacing-xs)}.strength-bar{flex:1;height:4px;background:var(--color-border);border-radius:var(--radius-full);overflow:hidden}.strength-fill{height:100%;transition:width var(--transition-base),background-color var(--transition-base)}.strength-label{font-size:.8125rem;font-weight:var(--font-medium);color:var(--text-muted)}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%23737373' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right .75rem center;background-repeat:no-repeat;background-size:1.25rem;padding-right:2.5rem}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.625rem 1.25rem;font-size:.9375rem;font-weight:var(--font-medium);border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);font-family:var(--font-sans);text-decoration:none;gap:var(--spacing-sm);line-height:var(--leading-normal);white-space:nowrap}.btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important;box-shadow:none!important}.btn-primary{background:var(--primary);color:var(--text-on-accent)}.btn-primary:hover:not(:disabled){background:var(--primary-dark)}.btn-primary:active:not(:disabled){background:var(--primary-dark);transform:scale(.98)}.btn-secondary{background:var(--color-surface);color:var(--text-primary);border:1px solid var(--color-border)}.btn-secondary:hover:not(:disabled){background:var(--bg-hover);border-color:var(--gray-400)}.btn-ghost{background:transparent;color:var(--text-secondary);border:none}.btn-ghost:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.btn-success{background:var(--success);color:var(--text-on-accent)}.btn-success:hover:not(:disabled){background:var(--success-dark)}.btn-warning{background:var(--warning);color:var(--text-on-accent)}.btn-warning:hover:not(:disabled){background:var(--warning-dark)}.btn-error,.btn-danger{background:var(--error);color:var(--text-on-accent)}.btn-error:hover:not(:disabled),.btn-danger:hover:not(:disabled){background:var(--error-dark)}.btn-block{width:100%}.btn-sm{padding:.4375rem .875rem;font-size:.8125rem}.btn-lg{padding:.75rem 1.5rem;font-size:1rem}.icon-btn{padding:.5rem;background:transparent;border:none;cursor:pointer;color:var(--text-muted);transition:all var(--transition-fast);font-size:1.125rem;border-radius:var(--radius-md)}.icon-btn:hover{color:var(--primary);background:var(--bg-hover)}.link-button{background:none;border:none;color:var(--primary);cursor:pointer;font-size:inherit;padding:0;font-weight:var(--font-medium)}.link-button:hover{color:var(--primary-dark);text-decoration:underline}.main-layout{display:flex;min-height:100vh;background:var(--color-surface)}.sidebar{width:256px;background:#1a1a1a;border-right:none;display:flex;flex-direction:column;transition:width var(--transition-base);position:sticky;top:0;height:100vh;overflow-y:auto;overflow-x:hidden}.sidebar::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-track{background:transparent}.sidebar::-webkit-scrollbar-thumb{background:#fff3;border-radius:var(--radius-full)}.sidebar.closed{width:72px}.sidebar.closed .sidebar-header{padding:var(--spacing-md);justify-content:center;flex-direction:column;gap:var(--spacing-sm)}.sidebar.closed .brand{display:flex;justify-content:center}.sidebar.closed .brand-logo-img{height:32px}.sidebar.closed .sidebar-toggle{font-size:1.25rem;padding:var(--spacing-sm);background:#ffffff1a;color:#ffffffb3;border-radius:var(--radius-md);width:44px;height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer}.sidebar.closed .sidebar-toggle:hover{background:#ffffff26;color:#fff}.sidebar.closed .nav-item{justify-content:center;padding:.75rem var(--spacing-md);margin:2px var(--spacing-xs);position:relative}.sidebar.closed .nav-icon{font-size:1.25rem}.sidebar.closed .nav-item:after{content:attr(title);position:absolute;left:100%;top:50%;transform:translateY(-50%);background:var(--surface-dark, #1a1a2e);color:#fff;padding:.375rem .75rem;border-radius:var(--radius-md);font-size:.8125rem;white-space:nowrap;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;z-index:1000;pointer-events:none;margin-left:.5rem;box-shadow:0 2px 8px #00000040}.sidebar.closed .nav-item:hover:after{opacity:1;visibility:visible}.sidebar.closed .nav-divider{margin:var(--spacing-sm) var(--spacing-sm)}.sidebar.closed .sidebar-footer{padding:var(--spacing-md)}.sidebar.closed .logout-btn{width:100%;justify-content:center;padding:var(--spacing-md)}.sidebar-header{padding:1.5rem 1.25rem 1.25rem;border-bottom:1px solid rgba(255,255,255,.1);display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:.5rem}.brand{display:flex;flex-direction:column;gap:.25rem}.brand-logo-img{height:80px;width:auto;object-fit:contain}.brand-text{font-size:1.4rem;font-weight:800;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.03em;line-height:1.1;display:block}.brand-text-highlight{color:#fff9;font-size:.75rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase;margin-top:.25rem}.sidebar.closed .brand-text,.sidebar.closed .brand-text-highlight{display:none}.brand h2{font-size:1.125rem;font-weight:var(--font-bold);color:var(--primary);margin:0;letter-spacing:var(--tracking-tight)}.brand p{font-size:.75rem;color:var(--text-muted);margin:2px 0 0;font-weight:var(--font-normal)}.sidebar-toggle{background:none;border:none;font-size:1rem;cursor:pointer;color:#fff9;padding:var(--spacing-xs);border-radius:var(--radius-sm);transition:all var(--transition-fast)}.sidebar-toggle:hover{background:#ffffff1a;color:#fff}.sidebar-nav{flex:1;padding:var(--spacing-md) 0;overflow-y:auto}.nav-item{display:flex;align-items:center;gap:var(--spacing-md);padding:.875rem var(--spacing-lg);padding-left:calc(var(--spacing-lg) + 4px);color:#ffffffbf;text-decoration:none;transition:all .2s ease;font-size:.9375rem;font-weight:450;margin:2px var(--spacing-sm);border-radius:var(--radius-md);letter-spacing:.01em}.nav-item:hover{background:#ffffff14;color:#fff}.nav-item.active{background:linear-gradient(135deg,#1b5e3759,#1b5e3733);color:#fff;font-weight:500;box-shadow:0 2px 8px #1b5e3726}.nav-icon{font-size:1.25rem;flex-shrink:0;width:26px;text-align:center;opacity:.8;transition:all .2s ease}.nav-item:hover .nav-icon{opacity:1;transform:scale(1.05)}.nav-item.active .nav-icon{opacity:1;color:var(--primary-light, #4ade80)}.nav-divider{height:1px;background:#ffffff14;margin:var(--spacing-md) var(--spacing-lg);position:relative}.nav-item{position:relative;overflow:hidden}.nav-item:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);height:0;width:3px;background:var(--primary);border-radius:0 2px 2px 0;transition:height .2s ease}.nav-item:hover:before{height:50%}.nav-item.active:before{height:60%}.nav-item:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.nav-items-flat{display:flex;flex-direction:column;padding:var(--spacing-xs) 0;gap:2px}.sidebar-footer{padding:var(--spacing-lg);border-top:1px solid rgba(255,255,255,.08);margin-top:var(--spacing-xs)}.user-info{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.user-avatar{width:36px;height:36px;border-radius:var(--radius-full);background:var(--primary);color:var(--text-on-accent);display:flex;align-items:center;justify-content:center;font-weight:var(--font-semibold);font-size:.8125rem;flex-shrink:0}.user-details{flex:1;min-width:0}.user-name{font-weight:var(--font-medium);color:#fff;margin:0;font-size:.875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role{font-size:.75rem;color:#fff9;margin:2px 0 0;text-transform:capitalize}.logout-btn{width:100%;padding:.625rem;background:#ffffff1a;border:1px solid rgba(255,255,255,.15);border-radius:var(--radius-md);cursor:pointer;font-weight:var(--font-medium);color:#ffffffb3;font-size:.875rem;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm)}.logout-btn:hover{background:#ffffff26;border-color:#fff3;color:#fff}.main-content{flex:1;display:flex;flex-direction:column;min-width:0;background:var(--color-background)}.top-header{background:var(--color-surface-elevated);border-bottom:1px solid var(--color-border);padding:var(--spacing-md) var(--spacing-xl);display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-lg);position:sticky;top:0;z-index:var(--z-sticky)}.header-left{display:flex;align-items:center;gap:var(--spacing-lg)}.sidebar-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:999;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);animation:fadeIn .2s ease}@media (max-width: 1024px){.sidebar-overlay{display:block}}.mobile-menu-btn{display:none;align-items:center;justify-content:center;width:44px;height:44px;background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-primary);border-radius:var(--radius-md);transition:background var(--transition-fast)}.mobile-menu-btn:hover{background:var(--bg-hover)}.mobile-menu-btn:active{background:var(--bg-active)}.page-title{font-size:1.125rem;font-weight:var(--font-semibold);color:var(--text-primary);margin:0}.header-right{display:flex;align-items:center;gap:var(--spacing-lg)}.header-info{font-size:.8125rem;color:var(--text-muted);font-weight:var(--font-normal)}.notification-container{position:relative}.notification-bell{position:relative;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--gray-100);border:none;cursor:pointer;transition:all .2s ease;color:var(--text-secondary)}.notification-bell:hover{background:var(--gray-200);color:var(--text-primary)}.notification-bell svg{width:20px;height:20px}.notification-badge{position:absolute;top:2px;right:2px;min-width:18px;height:18px;padding:0 5px;background:#dc2626;color:#fff;font-size:.7rem;font-weight:600;border-radius:9px;display:flex;align-items:center;justify-content:center;border:2px solid white}.notification-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:380px;max-height:480px;background:#fff;border-radius:12px;box-shadow:0 4px 24px #00000026,0 0 1px #0000001a;z-index:1000;overflow:hidden;animation:dropdownFadeIn .2s ease}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.notification-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--gray-200)}.notification-header h3{margin:0;font-size:1.1rem;font-weight:700;color:var(--text-primary)}.clear-all-btn{background:none;border:none;color:var(--primary);font-size:.85rem;font-weight:500;cursor:pointer;padding:4px 8px;border-radius:4px}.clear-all-btn:hover{background:#1b5e3714}.notification-list{max-height:400px;overflow-y:auto}.notification-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 20px;color:var(--text-muted)}.notification-empty .empty-icon{width:48px;height:48px;background:var(--gray-100);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:var(--primary);margin-bottom:12px}.notification-empty p{margin:0;font-size:.9rem}.notification-item{display:flex;gap:12px;padding:16px 20px;border-bottom:1px solid var(--gray-100);transition:background .15s ease;position:relative}.notification-item:hover{background:var(--gray-50)}.notification-item:last-child{border-bottom:none}.notification-icon{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.9rem;flex-shrink:0}.notification-critical .notification-icon{background:#dc26261a;color:#dc2626}.notification-warning .notification-icon{background:#f59e0b1a;color:#f59e0b}.notification-info .notification-icon{background:#3b82f61a;color:#3b82f6}.notification-success .notification-icon{background:#1b5e371a;color:#1b5e37}.notification-content{flex:1;min-width:0}.notification-title{font-size:.9rem;font-weight:600;color:var(--text-primary);margin-bottom:2px}.notification-message{font-size:.85rem;color:var(--text-secondary);margin-bottom:6px}.notification-details{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}.notification-details .detail-item{display:inline-block;padding:2px 8px;background:var(--gray-100);border-radius:4px;font-size:.75rem;color:var(--text-secondary)}.notification-details .detail-more{font-size:.75rem;color:var(--text-muted);padding:2px 4px}.notification-action-btn{background:none;border:none;color:var(--primary);font-size:.8rem;font-weight:500;cursor:pointer;padding:0}.notification-action-btn:hover{text-decoration:underline}.notification-dismiss{position:absolute;top:12px;right:12px;width:24px;height:24px;border-radius:50%;border:none;background:transparent;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.75rem;opacity:0;transition:all .15s ease}.notification-item:hover .notification-dismiss{opacity:1}.notification-dismiss:hover{background:var(--gray-200);color:var(--text-primary)}@media (max-width: 480px){.notification-dropdown{width:calc(100vw - 32px);right:-60px}}.page-content{flex:1;padding:var(--spacing-xl);overflow-y:auto;background:var(--color-background)}.stock-alert-content{display:flex;flex-wrap:wrap;gap:var(--spacing-md);flex:1}.stock-alert-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:6px 14px;background:#fff;border-radius:6px;font-size:.8125rem;font-weight:600;color:#dc2626;border:1px solid rgba(220,38,38,.3);box-shadow:0 1px 3px #dc26261a}.stock-alert-item.stock-alert-warning{background:#fff;border-color:#dc26264d;color:#dc2626}.stock-alert-item.stock-alert-critical{background:#dc26260d;border-color:#dc2626;color:#dc2626;font-weight:700}.stock-alert-icon{font-size:.875rem;line-height:1}.stock-alert-message{font-weight:600;color:#dc2626}.stock-alert-items{color:#666;font-weight:400;font-size:.75rem;max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stock-alert-actions{display:flex;align-items:center;gap:var(--spacing-sm);flex-shrink:0}.stock-alert-btn{padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-md);font-size:.8125rem;font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-fast);border:none}.stock-alert-btn.view{background:#dc2626;color:#fff}.stock-alert-btn.view:hover{background:#b91c1c}.stock-alert-btn.dismiss{background:transparent;color:var(--text-muted);padding:var(--spacing-xs);font-size:1rem;line-height:1;border-radius:var(--radius-full)}.stock-alert-btn.dismiss:hover{background:#0000000d;color:var(--text-primary)}@media (max-width: 768px){.stock-alert-banner{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-md);border-left:4px solid #DC2626}.stock-alert-content{width:100%}.stock-alert-actions{width:100%;justify-content:space-between}.stock-alert-items{max-width:150px}}.dashboard-page{display:flex;flex-direction:column;gap:var(--spacing-lg)}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-md)}.page-header h1{margin:0;font-size:1.5rem;font-weight:700;color:var(--gray-900)}.page-header p{margin:var(--spacing-xs) 0 0 0;color:var(--text-muted);font-size:.9375rem}.back-to-calendar{display:inline-flex;align-items:center;gap:var(--spacing-xs);margin-bottom:var(--spacing-sm);padding:6px 12px;font-size:.8rem;font-weight:600;color:var(--primary);background:var(--white);border:1px solid var(--primary);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.back-to-calendar:hover{background:var(--primary);color:var(--white)}.top-quick-actions{display:grid;grid-template-columns:repeat(8,1fr);gap:var(--spacing-md)}.quick-action-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-lg) var(--spacing-md);background:#fff!important;border:none!important;border-radius:12px;box-shadow:0 1px 2px #00000026,0 0 0 1px #0000000d;cursor:pointer;transition:box-shadow .2s ease,transform .2s ease}.quick-action-btn:hover{box-shadow:0 4px 16px #0000001f,0 2px 6px #00000014;transform:translateY(-2px)}.quick-action-btn.primary,.quick-action-btn.success,.quick-action-btn.info,.quick-action-btn.warning,.quick-action-btn.purple,.quick-action-btn.gradient,.quick-action-btn.secondary,.quick-action-btn.dark{background:#fff;color:var(--color-text-primary);border:none}.quick-action-btn.primary:hover,.quick-action-btn.success:hover,.quick-action-btn.info:hover,.quick-action-btn.warning:hover,.quick-action-btn.purple:hover,.quick-action-btn.gradient:hover,.quick-action-btn.secondary:hover,.quick-action-btn.dark:hover{background:#fff;box-shadow:0 2px 8px #0000001f}.quick-btn-icon{font-size:1.5rem;line-height:1}.quick-btn-text{font-size:.75rem;font-weight:500;text-align:center;color:var(--color-text-primary)}@media (max-width: 1200px){.top-quick-actions{grid-template-columns:repeat(4,1fr)}}@media (max-width: 768px){.top-quick-actions{grid-template-columns:repeat(2,1fr)}}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-lg)}.kpi-card{background:#fff!important;border-radius:12px;padding:var(--spacing-lg);box-shadow:0 1px 2px #00000026;border:1px solid #D0D0D0!important;transition:box-shadow .2s ease,transform .2s ease}.kpi-card:hover{box-shadow:0 4px 16px #0000001f,0 2px 6px #00000014;transform:translateY(-2px)}.kpi-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-md)}.kpi-header h3{font-size:.9375rem;font-weight:var(--font-semibold);margin:0;color:var(--text-primary)}.kpi-items{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.kpi-item{display:flex;flex-direction:column;gap:var(--spacing-xs);padding:0;background:transparent;border-radius:0;transition:none}.kpi-item.clickable{cursor:pointer;transition:opacity .15s ease}.kpi-item.clickable:hover{opacity:.7}.kpi-label{font-size:.8125rem;color:var(--text-muted);font-weight:var(--font-normal)}.kpi-value{font-size:1.5rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em;line-height:1.2}.kpi-description{font-size:.75rem;color:var(--text-muted);line-height:var(--leading-normal)}.kpi-critical{color:var(--error)}.kpi-warning{color:var(--warning)}.goal-progress{margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border-light)}.progress-info{display:flex;justify-content:space-between;margin-bottom:var(--spacing-sm);font-size:.8125rem;font-weight:var(--font-medium);color:var(--text-secondary)}.progress-bar{height:6px;background:var(--color-border);border-radius:var(--radius-full);overflow:hidden;margin-bottom:var(--spacing-sm)}.progress-fill{height:100%;transition:width var(--transition-base);border-radius:var(--radius-full);background:var(--primary)}.progress-text{text-align:center;font-size:.75rem;color:var(--text-muted)}.charts-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-lg)}.chart-card{background:#fff!important;border-radius:12px;padding:var(--spacing-lg);box-shadow:0 1px 2px #00000026,0 0 0 1px #0000000d;border:none!important;transition:box-shadow .2s ease,transform .2s ease}.chart-card:hover{box-shadow:0 2px 8px #00000026,0 0 0 1px #0000000d;transform:translateY(-1px)}.chart-card h3{font-size:.9375rem;font-weight:var(--font-semibold);margin:0 0 var(--spacing-md) 0;padding:0;color:var(--text-primary);background:transparent;border-bottom:none}.chart-container{height:300px;position:relative;padding:0}.dashboard-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg)}.dashboard-section{background:#fff;border-radius:12px;padding:var(--spacing-lg);box-shadow:0 1px 3px #00000014;border:none;transition:box-shadow .15s ease}.dashboard-section:hover{box-shadow:0 2px 8px #0000001f}.section-header{display:flex;align-items:center;justify-content:space-between;padding:0;background:transparent;border-bottom:none;margin:0 0 var(--spacing-md) 0}.section-header h3{font-size:.9375rem;font-weight:var(--font-semibold);margin:0;color:var(--text-primary)}.dashboard-section .transactions-table,.dashboard-section .alert-list{padding:0}.transactions-table{overflow-x:auto}.transactions-table table{width:100%;border-collapse:collapse}.transactions-table th{text-align:left;padding:var(--spacing-md);font-size:.75rem;font-weight:var(--font-semibold);color:var(--text-muted);border-bottom:1px solid var(--color-border);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.transactions-table td{padding:var(--spacing-md);font-size:.875rem;border-bottom:1px solid var(--color-border-light);color:var(--text-secondary)}.transactions-table tr:hover{background:var(--bg-hover)}.amount{font-weight:var(--font-semibold);color:var(--text-primary)}.badge{display:inline-flex;align-items:center;padding:.1875rem .625rem;background:var(--color-surface);border-radius:var(--radius-full);font-size:.6875rem;font-weight:var(--font-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.02em}.badge-success,.badge.success{background:#1b5e371a;color:var(--color-accent)}.badge-error,.badge.error{background:#dc26261a;color:var(--color-error)}.badge-warning,.badge.warning{background:var(--color-surface);color:var(--color-text-muted)}.badge-info,.badge.info,.badge-primary,.badge.primary{background:#1b5e371a;color:var(--color-accent)}.badge-secondary{background:var(--color-surface);color:var(--color-text-muted)}.alerts-container{display:flex;flex-direction:column;gap:var(--spacing-md)}.alert-card{padding:var(--spacing-md);border-radius:var(--radius-md);border-left:3px solid;background:var(--color-surface);display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md)}.alert-card.alert-critical{border-left-color:var(--error);background:#dc26260a}.alert-card.alert-warning{border-left-color:var(--warning);background:#6666660a}.alert-card.alert-info{border-left-color:var(--info);background:#1b5e370a}.alert-content{display:flex;align-items:center;gap:var(--spacing-md);flex:1}.alert-icon{font-size:1.125rem;flex-shrink:0}.alert-details h4{font-size:.875rem;font-weight:var(--font-medium);margin:0 0 var(--spacing-xs) 0;color:var(--text-primary)}.alert-details p{font-size:.8125rem;color:var(--text-muted);margin:0}.alert-actions{display:flex;align-items:center;gap:var(--spacing-sm)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl);color:var(--text-muted);text-align:center}.empty-state-icon,.empty-state .empty-icon{font-size:3rem;margin-bottom:var(--spacing-md);opacity:.5}.empty-state-title,.empty-state h3{font-size:1.125rem;font-weight:var(--font-medium);color:var(--text-secondary);margin:0 0 var(--spacing-sm) 0}.empty-state-description,.empty-state p{color:var(--text-muted);font-size:.9375rem;max-width:320px;margin:0}.empty-state-action{margin-top:var(--spacing-lg)}.empty-state-sm{padding:var(--spacing-lg)}.empty-state-sm .empty-state-icon{font-size:2rem;margin-bottom:var(--spacing-sm)}.empty-state-sm .empty-state-title{font-size:1rem}.empty-state-sm .empty-state-description{font-size:.85rem}.empty-state-lg{padding:var(--spacing-3xl)}.empty-state-lg .empty-state-icon{font-size:4rem}.empty-state-lg .empty-state-title{font-size:1.25rem}.empty-row td{padding:0!important;border:none!important}.empty-row .empty-state{min-height:200px}.quick-actions{background:#fff!important;border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:0 2px 8px #0000001a,0 1px 3px #0000000f;border:none!important}.quick-actions h3{margin-bottom:var(--spacing-lg);font-size:.9375rem;font-weight:var(--font-semibold)}.quick-actions-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-md)}.quick-action-card{padding:var(--spacing-lg);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);text-align:center;background:var(--color-surface-elevated)}.quick-action-card:hover{border-color:var(--primary);background:var(--primary-50)}.action-icon{font-size:1.75rem;margin-bottom:var(--spacing-md)}.quick-action-card h4{font-size:.875rem;font-weight:var(--font-medium);margin:0 0 var(--spacing-xs) 0;color:var(--text-primary)}.quick-action-card p{font-size:.75rem;color:var(--text-muted);margin:0}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--spacing-lg);animation:fadeIn .2s ease;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--color-surface-elevated);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);max-width:500px;width:100%;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg);border-bottom:1px solid var(--gray-200)}.modal-header h2{font-size:1.25rem;margin:0}.modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--gray-500);padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);transition:background var(--transition-fast)}.modal-close:hover{background:var(--gray-100)}.modal-body{padding:var(--spacing-lg)}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--spacing-md);padding:var(--spacing-lg);border-top:1px solid var(--gray-200)}.transaction-detail-modal{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);max-width:600px;width:100%;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease}.transaction-detail-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg);border-bottom:1px solid var(--gray-200)}.transaction-detail-header h2{margin:0;font-size:1.25rem}.transaction-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md);padding:var(--spacing-lg);border-bottom:1px solid var(--gray-100)}.info-group{display:flex;flex-direction:column;gap:4px}.info-label{font-size:.75rem;color:var(--gray-500);text-transform:uppercase;letter-spacing:.5px}.info-value{font-weight:500;color:var(--gray-900)}.items-section{padding:var(--spacing-lg);border-bottom:1px solid var(--gray-100)}.items-section h3{margin:0 0 var(--spacing-md) 0;font-size:1rem}.items-table{width:100%;border-collapse:collapse;font-size:.875rem}.items-table th,.items-table td{padding:var(--spacing-sm);text-align:left;border-bottom:1px solid var(--gray-100)}.items-table th{font-weight:600;color:var(--gray-500);font-size:.75rem;text-transform:uppercase}.items-table .right{text-align:right}.payment-summary{padding:var(--spacing-lg);background:var(--gray-50);border-radius:0 0 var(--radius-lg) var(--radius-lg)}.summary-line{display:flex;justify-content:space-between;padding:var(--spacing-xs) 0}.summary-line.total{border-top:2px solid var(--gray-300);margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);font-weight:700;font-size:1.1rem}.summary-value{font-weight:500}.alert{padding:var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-md)}.alert-error{background:#dc26261a;color:var(--error-dark);border:1px solid rgba(220,38,38,.3)}.alert-success{background:#1b5e371a;color:var(--success-dark);border:1px solid rgba(27,94,55,.3)}.alert-warning{background:#6666661a;color:var(--warning-dark);border:1px solid rgba(102,102,102,.3)}.alert-info{background:#1b5e371a;color:var(--info-dark);border:1px solid rgba(27,94,55,.3)}.products-page{display:flex;flex-direction:column;gap:var(--spacing-lg)}.filters-section{background:var(--white);border-radius:var(--radius-md);padding:8px 12px;box-shadow:var(--shadow-sm);border:1px solid var(--gray-200);display:flex;align-items:center;gap:8px;flex-wrap:nowrap}.filters-section .search-box{margin-bottom:0;flex:0 1 250px;min-width:150px;max-width:300px}.search-input{width:100%;padding:6px 12px;border:1px solid var(--gray-200);border-radius:var(--radius-md);font-size:.85rem;background:#f8f8f8;transition:all var(--transition-fast)}.search-input:focus{outline:none;background:var(--white);border-color:var(--primary);box-shadow:none}.filters-row{display:contents}.filter-select{width:auto!important;padding:6px 10px;border:1px solid var(--gray-200);border-radius:var(--radius-md);font-size:.8rem;background:#f8f8f8;cursor:pointer;min-width:auto;flex-shrink:0}.filter-select:focus{outline:none;background:var(--white);border-color:var(--primary)}.results-count{margin-left:auto;font-size:.75rem;color:var(--gray-500);font-weight:500;white-space:nowrap;flex-shrink:0}.products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--spacing-md)}.product-card-compact{background:var(--white);border-radius:var(--radius-lg);padding:var(--spacing-md);box-shadow:var(--shadow-sm);border:1px solid var(--gray-200);transition:all var(--transition-fast);display:flex;flex-direction:column;gap:var(--spacing-sm)}.product-card-compact:hover{box-shadow:var(--shadow-elevated);transform:translateY(-1px);border-color:var(--color-border)}.product-card-compact.inactive{opacity:.6;background:var(--gray-50)}.product-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-sm)}.product-header-left{display:flex;align-items:center;gap:var(--spacing-sm);flex:1;min-width:0}.status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.status-dot.active{background:var(--success);box-shadow:0 0 6px var(--success)}.status-dot.inactive{background:var(--gray-400)}.product-name{font-size:.95rem;font-weight:600;color:var(--gray-900);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.type-badge{padding:3px 8px;font-size:.65rem;font-weight:600;text-transform:uppercase;border-radius:var(--radius-full);background:var(--primary-50);color:var(--primary);flex-shrink:0;letter-spacing:.3px}.product-card-body{display:flex;flex-direction:column;gap:var(--spacing-xs)}.product-info-row{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;font-size:.8rem}.info-label{color:var(--gray-500);font-weight:500}.info-value{color:var(--gray-700)}.price-highlight{font-weight:700;color:var(--primary);font-size:.9rem}.info-tag{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:var(--gray-100);border-radius:var(--radius-full);font-size:.75rem;color:var(--gray-700)}.info-tag.stock-warning{background:#66666626;color:var(--warning-dark);font-weight:600}.product-card-actions{display:flex;gap:var(--spacing-xs);padding-top:var(--spacing-sm);border-top:1px solid var(--gray-100);margin-top:auto}.action-icon-btn{flex:1;padding:var(--spacing-xs);background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);font-size:.9rem;display:flex;align-items:center;justify-content:center}.action-icon-btn:hover{transform:scale(1.05)}.action-icon-btn.edit-btn:hover{background:#1b5e371a;border-color:var(--info)}.action-icon-btn.pause-btn:hover{background:#6666661a;border-color:var(--warning)}.action-icon-btn.activate-btn:hover{background:#1b5e371a;border-color:var(--success)}.action-icon-btn.delete-btn:hover{background:#dc26261a;border-color:var(--error)}.radio-group{display:flex;gap:var(--spacing-lg)}.radio-group label{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;font-weight:400}.radio-group input[type=radio]{width:auto;cursor:pointer}.commission-group{display:flex;gap:var(--spacing-sm)}.commission-type,.commission-value{flex:1}.product-modal{max-width:500px}.product-modal .modal-body{max-height:60vh;overflow-y:auto}.form-hint{font-size:.8rem;color:var(--text-muted);margin:var(--spacing-xs) 0 var(--spacing-sm) 0}.stock-with-unit{display:flex;gap:var(--spacing-xs)}.stock-with-unit input[type=number]{flex:1;min-width:0}.stock-with-unit .unit-select{width:auto;min-width:80px;flex-shrink:0}.items-used-add{margin-bottom:var(--spacing-md)}.items-used-list{display:flex;flex-direction:column;gap:var(--spacing-sm);background:var(--gray-50);border-radius:var(--radius-md);padding:var(--spacing-md)}.items-used-item{display:flex;align-items:center;gap:var(--spacing-md);background:var(--white);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);border:1px solid var(--gray-200)}.items-used-item .item-name{flex:1;font-size:.9rem;font-weight:500;color:var(--text-primary)}.items-used-item .item-quantity{display:flex;align-items:center;gap:var(--spacing-xs)}.items-used-item .quantity-input{width:80px;text-align:center;padding:var(--spacing-xs) var(--spacing-sm);font-size:.85rem}.items-used-item .item-unit{font-size:.75rem;color:var(--text-muted);white-space:nowrap}.btn-remove-item{background:transparent;border:none;color:var(--error);cursor:pointer;padding:var(--spacing-xs);font-size:1rem;border-radius:var(--radius-sm);transition:all .2s ease}.btn-remove-item:hover{background:#dc26261a}.items-used-empty{text-align:center;padding:var(--spacing-md);color:var(--text-muted);font-size:.85rem;background:var(--gray-50);border-radius:var(--radius-md);border:2px dashed var(--gray-300)}.empty-state{grid-column:1 / -1;text-align:center;padding:var(--spacing-2xl);background:var(--white);border-radius:var(--radius-lg);border:2px dashed var(--gray-300)}.empty-icon{font-size:4rem;margin-bottom:var(--spacing-md);opacity:.5}.empty-state h3{color:var(--gray-700);margin-bottom:var(--spacing-sm)}.empty-state p{color:var(--gray-500);margin-bottom:var(--spacing-lg)}@media (max-width: 768px){.products-grid{grid-template-columns:1fr}.filters-section{flex-wrap:nowrap;overflow-x:auto}.filters-section .search-box{flex:0 0 140px;min-width:140px}.filter-select{font-size:.75rem;padding:5px 8px}.results-count{font-size:.7rem}}.gift-certificates-page{display:flex;flex-direction:column;gap:var(--spacing-lg)}.gc-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-md)}.gc-stat-card{background:var(--white);border-radius:var(--radius-lg);padding:var(--spacing-lg);display:flex;align-items:center;gap:var(--spacing-md);box-shadow:var(--shadow-sm);border:1px solid var(--gray-200);transition:all var(--transition-fast)}.gc-stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.gc-stat-icon{width:48px;height:48px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:1.5rem}.gc-stat-card.active-stat .gc-stat-icon{background:#1b5e3726;color:var(--success)}.gc-stat-card.redeemed-stat .gc-stat-icon{background:var(--primary-50);color:var(--primary)}.gc-stat-card.expired-stat .gc-stat-icon{background:#dc262626;color:var(--error)}.gc-stat-card.value-stat .gc-stat-icon{background:#66666626;color:var(--warning)}.gc-stat-content{flex:1}.gc-stat-value{font-size:1.5rem;font-weight:700;color:var(--gray-900)}.gc-stat-label{font-size:.8rem;color:var(--gray-500);text-transform:uppercase;letter-spacing:.5px}.gc-grid-enhanced{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:var(--spacing-lg)}.gc-card-enhanced{background:var(--white);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-md);border:1px solid var(--gray-200);transition:all var(--transition-fast);position:relative}.gc-card-enhanced:hover{transform:translateY(-2px);box-shadow:var(--shadow-elevated)}.gc-card-enhanced.gc-active{border-top:4px solid var(--success)}.gc-card-enhanced.gc-redeemed{border-top:4px solid var(--primary);opacity:.8}.gc-card-enhanced.gc-expired{border-top:4px solid var(--error);opacity:.7}.gc-card-header-enhanced{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) var(--spacing-lg);background:linear-gradient(135deg,var(--gray-50) 0%,var(--white) 100%)}.gc-status-indicator{display:flex;align-items:center;gap:var(--spacing-xs)}.gc-status-dot{width:10px;height:10px;border-radius:50%}.gc-status-dot.active{background:var(--success);box-shadow:0 0 8px var(--success)}.gc-status-dot.redeemed{background:var(--primary)}.gc-status-dot.expired{background:var(--error)}.gc-status-text{font-size:.7rem;font-weight:700;letter-spacing:1px;color:var(--gray-600)}.gc-card-icon{font-size:2rem;opacity:.3}.gc-code-display{text-align:center;padding:var(--spacing-md) var(--spacing-lg);background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%)}.gc-code-label{font-size:.7rem;text-transform:uppercase;letter-spacing:1px;color:#fffc;margin-bottom:var(--spacing-xs)}.gc-code-value{font-size:1.5rem;font-weight:700;font-family:var(--font-mono);color:var(--white);letter-spacing:3px}.gc-value-display{text-align:center;padding:var(--spacing-lg);background:var(--gray-50)}.gc-balance-amount{font-size:2rem;font-weight:700;color:var(--success)}.gc-redeemed .gc-balance-amount{color:var(--gray-400);text-decoration:line-through}.gc-expired .gc-balance-amount{color:var(--error)}.gc-balance-info{margin-top:var(--spacing-xs)}.gc-badge-full{display:inline-block;padding:2px 10px;background:#1b5e3726;color:var(--success-dark);border-radius:var(--radius-full);font-size:.75rem;font-weight:600}.gc-badge-partial{font-size:.8rem;color:var(--gray-500)}.gc-details-enhanced{padding:var(--spacing-md) var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-sm)}.gc-detail-item{display:flex;align-items:flex-start;gap:var(--spacing-sm)}.gc-detail-icon{font-size:1rem;flex-shrink:0;width:24px;text-align:center}.gc-detail-text{flex:1;min-width:0}.gc-detail-label{font-size:.7rem;text-transform:uppercase;color:var(--gray-400);letter-spacing:.5px}.gc-detail-value{font-size:.875rem;color:var(--gray-800);font-weight:500}.gc-detail-email{word-break:break-all}.gc-message-section{display:flex;gap:var(--spacing-sm);padding:var(--spacing-sm);background:var(--primary-50);border-radius:var(--radius-md);margin-top:var(--spacing-xs)}.gc-message-icon{font-size:1rem;flex-shrink:0}.gc-message-text{font-size:.8rem;color:var(--gray-600);font-style:italic;line-height:1.4}.gc-card-actions-enhanced{display:flex;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);background:var(--gray-50);border-top:1px solid var(--gray-200)}.gc-action-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);border:none;border-radius:var(--radius-md);font-size:.8rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.gc-action-btn.redeem-btn{background:var(--success);color:var(--white)}.gc-action-btn.redeem-btn:hover{background:var(--success-dark);transform:translateY(-1px)}.gc-action-btn.delete-btn{background:var(--gray-200);color:var(--gray-700)}.gc-action-btn.delete-btn:hover{background:#dc262626;color:var(--error)}.amount-presets{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);margin-top:var(--spacing-sm)}.amount-preset-btn{padding:var(--spacing-xs) var(--spacing-md);background:var(--gray-100);border:1px solid var(--gray-300);border-radius:var(--radius-full);font-size:.8rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.amount-preset-btn:hover{background:var(--primary-light);border-color:var(--primary);color:var(--white)}.amount-preset-btn.selected{background:var(--primary);border-color:var(--primary);color:var(--white)}.gc-code-input-group{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.gc-code-input{flex:1;font-family:var(--font-mono);font-size:1.25rem;text-align:center;letter-spacing:3px;text-transform:uppercase}.gc-validation-result{padding:var(--spacing-lg);border-radius:var(--radius-lg);text-align:center}.gc-validation-result.valid{background:#1b5e371a;border:1px solid var(--success)}.gc-validation-result.invalid{background:#dc26261a;border:1px solid var(--error)}.gc-validation-icon{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;margin:0 auto var(--spacing-md)}.gc-validation-result.valid .gc-validation-icon{background:var(--success);color:var(--white)}.gc-validation-result.invalid .gc-validation-icon{background:var(--error);color:var(--white)}.gc-validation-message{font-weight:600;margin-bottom:var(--spacing-md)}.gc-validation-result.valid .gc-validation-message{color:var(--success-dark)}.gc-validation-result.invalid .gc-validation-message{color:var(--error-dark)}.gc-validation-details{text-align:left;padding:var(--spacing-md);background:var(--white);border-radius:var(--radius-md)}.gc-detail-row{display:flex;justify-content:space-between;padding:var(--spacing-xs) 0;border-bottom:1px solid var(--gray-100)}.gc-detail-row:last-child{border-bottom:none}.gc-detail-row span:first-child{color:var(--gray-500)}.gc-detail-row span:last-child{font-weight:500;color:var(--gray-800)}.create-gc-modal{max-width:550px}.validate-gc-modal{max-width:450px}@media (max-width: 1024px){.gc-stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.gc-stats-grid,.gc-grid-enhanced{grid-template-columns:1fr}.gc-code-input-group{flex-direction:column}}@media (max-width: 1024px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.charts-grid{grid-template-columns:1fr}.quick-actions-grid{grid-template-columns:repeat(2,1fr)}.dashboard-row{grid-template-columns:1fr}}@media (max-width: 768px){.sidebar{position:fixed;z-index:1000;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.mobile-menu-btn{display:block}.kpi-grid,.form-row,.quick-actions-grid{grid-template-columns:1fr}.page-content{padding:var(--spacing-md)}.auth-card{padding:var(--spacing-lg)}.kpi-items{grid-template-columns:1fr}}.page{padding:var(--spacing-xl)}.link{color:var(--primary);text-decoration:none;font-weight:500;transition:color var(--transition-fast)}.link:hover{color:var(--primary-dark);text-decoration:underline}.demo-roles{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-sm);margin:var(--spacing-md) 0}.demo-role-btn{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;padding:var(--spacing-sm) var(--spacing-md);background:var(--white);border:2px solid var(--gray-300);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);text-align:left}.demo-role-btn:hover{border-color:var(--primary);background:var(--primary-light);transform:translateY(-2px);box-shadow:var(--shadow-md)}.demo-role-btn .role-name{font-weight:600;font-size:.9375rem;color:var(--gray-900)}.demo-role-btn .role-desc{font-size:.75rem;color:var(--gray-600);line-height:1.3}.demo-note{font-size:.75rem;color:var(--gray-600);text-align:center;margin-top:var(--spacing-sm);font-style:italic}@media (max-width: 480px){.demo-roles{grid-template-columns:1fr}}.ai-insights-simple{margin:0;padding:var(--spacing-lg);background:#fff!important;border-radius:12px;border:none!important;box-shadow:0 1px 2px #00000026,0 0 0 1px #0000000d}.ai-insights-simple-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.ai-insights-simple-header h3{font-size:.875rem;font-weight:600;color:var(--color-text-primary);margin:0}.ai-simple-actions{display:flex;gap:var(--spacing-md)}.btn-link{background:none;border:none;color:var(--color-accent);font-size:.8125rem;font-weight:500;cursor:pointer;padding:0}.btn-link:hover{text-decoration:underline}.btn-link.muted{color:var(--color-text-muted)}.ai-insights-simple-list{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-md)}.ai-insight-simple-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);background:#fff;border-radius:10px;border:1px solid var(--gray-200);cursor:pointer;transition:box-shadow .15s ease;box-shadow:0 1px 2px #0000000a}.ai-insight-simple-item:hover{box-shadow:0 2px 6px #0000001a}.ai-simple-icon{font-size:1.25rem;flex-shrink:0}.ai-simple-content{display:flex;flex-direction:column;min-width:0}.ai-simple-title{font-size:.8125rem;font-weight:500;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-simple-metric{font-size:.75rem;color:var(--color-text-muted)}@media (max-width: 1024px){.ai-insights-simple-list{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.ai-insights-simple-list{grid-template-columns:1fr}}.ai-insights-section{margin:var(--spacing-xl) 0;padding:var(--spacing-lg);background:#fff!important;border-radius:var(--radius-lg);border:none!important}.ai-insights-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg)}.ai-insights-header h2{font-size:1rem;font-weight:600;margin:0 0 2px;color:var(--color-text-primary)}.ai-insights-header p{margin:0;color:var(--color-text-muted);font-size:.8125rem}.ai-insights-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--spacing-md)}.ai-insight-card{background:var(--white);border-radius:var(--radius-lg);padding:var(--spacing-lg);display:flex;gap:var(--spacing-md);transition:all var(--transition-fast);box-shadow:0 4px 6px #0000001a}.ai-insight-card:hover{transform:translateY(-4px);box-shadow:0 8px 16px #00000026}.ai-insight-icon{font-size:2.5rem;line-height:1;flex-shrink:0}.ai-insight-content{flex:1}.ai-insight-title{font-size:1rem;font-weight:600;margin:0 0 var(--spacing-xs) 0;color:var(--gray-900)}.ai-insight-message{font-size:.875rem;color:var(--gray-700);line-height:1.5;margin:0 0 var(--spacing-md) 0}.ai-insight-action{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-md);background:transparent;border:none;color:var(--primary);font-weight:600;font-size:.875rem;cursor:pointer;transition:all var(--transition-fast)}.ai-insight-action:hover{color:var(--primary-dark);transform:translate(4px)}.ai-insight-success .ai-insight-title{color:var(--success-dark)}.ai-insight-warning .ai-insight-title{color:var(--warning-dark)}.ai-insight-info .ai-insight-title{color:var(--primary-dark)}.ai-insight-critical .ai-insight-title{color:var(--error-dark)}.ai-insight-success .ai-insight-action{color:var(--success)}.ai-insight-warning .ai-insight-action{color:var(--warning)}.ai-insight-critical .ai-insight-action{color:var(--error)}@media (max-width: 1024px){.ai-insights-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}@media (max-width: 768px){.ai-insights-section{padding:var(--spacing-lg)}.ai-insights-header{flex-direction:column;gap:var(--spacing-md)}.ai-insights-grid{grid-template-columns:1fr}.ai-insight-card{flex-direction:column;text-align:center}.ai-insight-icon{font-size:3rem}}.ai-header-actions{display:flex;gap:var(--spacing-sm);align-items:center}.ai-header-actions .btn{padding:8px 14px;font-size:.8125rem;font-weight:500}.ai-header-actions .btn-primary{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-background)}.ai-header-actions .btn-primary:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.ai-header-actions .btn-secondary{background:var(--color-background);border:1px solid var(--color-border);color:var(--color-text-muted)}.ai-header-actions .btn-secondary:hover{background:var(--color-surface);color:var(--color-text-primary)}.ai-insights-grid-enhanced{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-md);position:relative;z-index:1}.ai-insight-card-enhanced{background:var(--color-background);border-radius:var(--radius-lg);padding:var(--spacing-lg);position:relative;overflow:hidden;transition:all .2s ease;border:1px solid var(--color-border);display:flex;flex-direction:column}.ai-insight-card-enhanced:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000001f}.ai-insight-header-row{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-md)}.ai-insight-icon-large{width:44px;height:44px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;line-height:1;background:var(--color-surface);border-radius:var(--radius-md);flex-shrink:0}.ai-insight-card-enhanced.ai-insight-success .ai-insight-icon-large{background:#1b5e371a}.ai-insight-card-enhanced.ai-insight-warning .ai-insight-icon-large{background:#6666661a}.ai-insight-card-enhanced.ai-insight-info .ai-insight-icon-large{background:#1b5e3714}.ai-insight-card-enhanced.ai-insight-critical .ai-insight-icon-large{background:#dc26261a}.ai-insight-metric{padding:6px 12px;border-radius:var(--radius-full);font-size:.75rem;font-weight:600;letter-spacing:.02em}.ai-metric-success{background:#1b5e371a;color:var(--color-accent)}.ai-metric-warning{background:#6666661a;color:var(--color-text-muted)}.ai-metric-info{background:#1b5e3714;color:var(--color-accent)}.ai-metric-critical{background:#dc26261a;color:var(--color-error)}.ai-insight-content-enhanced{flex:1;display:flex;flex-direction:column}.ai-insight-title-enhanced{font-size:.9375rem;font-weight:600;margin:0 0 var(--spacing-xs) 0;color:var(--color-text-primary);line-height:1.3}.ai-insight-message-enhanced{font-size:.8125rem;color:var(--color-text-muted);line-height:1.5;margin:0 0 var(--spacing-md) 0;flex:1}.ai-insight-action-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-weight:500;font-size:.8125rem;cursor:pointer;transition:all .15s ease;width:fit-content}.ai-insight-action-btn:hover{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-background)}.action-arrow{transition:transform .15s ease;font-size:.875rem}.ai-insight-action-btn:hover .action-arrow{transform:translate(3px)}.ai-insight-glow{display:none}.ai-insight-card-enhanced:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--color-border)}.ai-insight-card-enhanced.ai-insight-success:before{background:var(--color-accent)}.ai-insight-card-enhanced.ai-insight-warning:before{background:var(--color-text-muted)}.ai-insight-card-enhanced.ai-insight-info:before{background:var(--color-accent)}.ai-insight-card-enhanced.ai-insight-critical:before{background:var(--color-error)}.ai-insight-card-enhanced.ai-insight-success,.ai-insight-card-enhanced.ai-insight-warning,.ai-insight-card-enhanced.ai-insight-info,.ai-insight-card-enhanced.ai-insight-critical{border-left:none}@media (max-width: 1200px){.ai-insights-grid-enhanced{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.ai-insights-section{padding:var(--spacing-md);margin:var(--spacing-lg) 0}.ai-insights-grid-enhanced{grid-template-columns:1fr;gap:var(--spacing-sm)}.ai-header-actions{flex-direction:row;gap:var(--spacing-xs)}.ai-header-actions .btn{padding:6px 12px;font-size:.75rem}.ai-insights-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.ai-insight-card-enhanced{padding:var(--spacing-md)}.ai-insight-icon-large{width:36px;height:36px;font-size:1rem}}.ai-insights-page{padding:var(--spacing-xl);background:var(--color-surface);min-height:100vh}.ai-insights-page .page-header{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;padding:var(--spacing-xl);border-radius:var(--radius-xl);margin-bottom:var(--spacing-xl);box-shadow:var(--shadow-lg)}.ai-tabs{display:flex;gap:var(--spacing-xs);border-bottom:2px solid var(--gray-200);margin-bottom:var(--spacing-xl);overflow-x:auto;scrollbar-width:thin}.ai-tab{padding:var(--spacing-md) var(--spacing-lg);background:none;border:none;border-bottom:3px solid transparent;color:var(--gray-600);font-size:.95rem;font-weight:500;cursor:pointer;transition:all var(--transition-base);white-space:nowrap;position:relative;bottom:-2px}.ai-tab:hover{color:var(--primary);background-color:var(--gray-50)}.ai-tab.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.ai-tab-icon{margin-right:var(--spacing-xs)}.ai-tab-content{animation:fadeInUp var(--transition-base)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.ai-overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.ai-summary-card{background:var(--color-surface-elevated);padding:var(--spacing-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border-left:4px solid var(--primary);transition:all var(--transition-base);position:relative;overflow:hidden}.ai-summary-card.success{border-left-color:var(--success)}.ai-summary-card.warning{border-left-color:var(--warning)}.ai-summary-card.error{border-left-color:var(--error)}.ai-summary-icon{font-size:2rem;margin-bottom:var(--spacing-sm)}.ai-summary-label{font-size:.85rem;color:var(--gray-600);margin-bottom:var(--spacing-xs)}.ai-summary-value{font-size:1.75rem;font-weight:700;color:var(--gray-900)}.ai-summary-subtitle{font-size:.8rem;color:var(--gray-500);margin-top:var(--spacing-xs)}.ai-critical-alerts{background:var(--color-surface);border:2px solid var(--error-light);border-radius:var(--radius-lg);padding:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.ai-critical-alerts h3{color:var(--error-dark);font-size:1.1rem;margin-bottom:var(--spacing-md);display:flex;align-items:center;gap:var(--spacing-sm)}.ai-alert-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.ai-alert-item{background:var(--white);padding:var(--spacing-md);border-radius:var(--radius-md);border-left:4px solid var(--error);display:flex;align-items:start;gap:var(--spacing-md)}.ai-alert-icon{font-size:1.5rem;flex-shrink:0}.ai-alert-content{flex:1}.ai-alert-title{font-weight:600;color:var(--error-dark);margin-bottom:var(--spacing-xs)}.ai-alert-description{font-size:.9rem;color:var(--gray-700)}.product-usage-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:var(--spacing-lg)}.product-usage-card{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--spacing-lg);transition:all var(--transition-base)}.product-usage-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.product-usage-header{display:flex;align-items:start;gap:var(--spacing-md);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:2px solid var(--gray-100)}.product-usage-icon{font-size:2.5rem;flex-shrink:0}.product-usage-title{flex:1}.product-usage-title h3{font-size:1.1rem;color:var(--gray-900);margin-bottom:var(--spacing-xs)}.product-usage-category{font-size:.85rem;color:var(--gray-500);text-transform:uppercase;letter-spacing:.5px}.product-usage-stats{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.product-usage-stat{background:var(--gray-50);padding:var(--spacing-md);border-radius:var(--radius-md)}.product-usage-stat-label{font-size:.8rem;color:var(--gray-600);margin-bottom:var(--spacing-xs)}.product-usage-stat-value{font-size:1.3rem;font-weight:700;color:var(--primary)}.product-usage-analysis{background:var(--color-surface);padding:var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-md)}.product-usage-analysis-text{font-size:.9rem;color:var(--gray-700);line-height:1.6;margin-bottom:var(--spacing-sm)}.product-usage-analysis-text strong{color:var(--primary-dark);font-weight:600}.product-usage-footer{display:flex;align-items:center;justify-content:space-between;padding-top:var(--spacing-md);border-top:1px solid var(--gray-200)}.product-usage-stock{font-size:.9rem;color:var(--gray-600)}.product-usage-stock strong{color:var(--gray-900);font-weight:600}.product-usage-alert{padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-full);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.product-usage-alert.HIGH{background-color:#dc26261a;color:var(--color-error)}.product-usage-alert.MEDIUM{background-color:var(--color-surface);color:var(--color-text-muted)}.product-usage-alert.LOW{background-color:#1b5e371a;color:var(--color-accent)}.inventory-predictions-table{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden}.inventory-predictions-table table{width:100%;border-collapse:collapse}.inventory-predictions-table thead{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:var(--white)}.inventory-predictions-table th{padding:var(--spacing-md) var(--spacing-lg);text-align:left;font-weight:600;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.inventory-predictions-table td{padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--gray-200);font-size:.95rem}.inventory-predictions-table tbody tr:hover{background-color:var(--gray-50)}.inventory-predictions-table tbody tr:last-child td{border-bottom:none}.urgency-badge{display:inline-block;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-full);font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.urgency-badge.critical{background-color:var(--error-light);color:var(--error-dark)}.urgency-badge.warning{background-color:var(--warning-light);color:var(--warning-dark)}.urgency-badge.normal{background-color:var(--success-light);color:var(--success-dark)}.revenue-forecast-chart{background:var(--white);padding:var(--spacing-xl);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);margin-bottom:var(--spacing-xl)}.revenue-forecast-chart h3{font-size:1.2rem;color:var(--gray-900);margin-bottom:var(--spacing-lg)}.revenue-predictions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--spacing-md)}.revenue-prediction-card{background:var(--white);padding:var(--spacing-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border-top:4px solid var(--primary);transition:all var(--transition-base)}.revenue-prediction-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.revenue-prediction-date{font-size:.85rem;color:var(--gray-600);margin-bottom:var(--spacing-sm)}.revenue-prediction-amount{font-size:1.5rem;font-weight:700;color:var(--primary);margin-bottom:var(--spacing-xs)}.revenue-prediction-confidence{font-size:.8rem;color:var(--success);display:flex;align-items:center;gap:var(--spacing-xs)}.customer-insights-section{display:grid;gap:var(--spacing-xl)}.customer-metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.customer-metric-card{background:var(--white);padding:var(--spacing-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);text-align:center}.customer-metric-icon{font-size:2.5rem;margin-bottom:var(--spacing-sm)}.customer-metric-value{font-size:2rem;font-weight:700;color:var(--primary);margin-bottom:var(--spacing-xs)}.customer-metric-label{font-size:.9rem;color:var(--gray-600)}.top-customers-section{background:var(--white);padding:var(--spacing-xl);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.top-customers-section h3{font-size:1.2rem;color:var(--gray-900);margin-bottom:var(--spacing-lg)}.top-customers-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.top-customer-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--gray-50);border-radius:var(--radius-md);transition:all var(--transition-base)}.top-customer-item:hover{background:var(--gray-100);transform:translate(4px)}.top-customer-rank{font-size:1.5rem;font-weight:700;color:var(--primary);min-width:40px;text-align:center}.top-customer-info{flex:1}.top-customer-name{font-weight:600;color:var(--gray-900);margin-bottom:var(--spacing-xs)}.top-customer-stats{font-size:.85rem;color:var(--gray-600)}.top-customer-value{font-size:1.2rem;font-weight:700;color:var(--success)}.performance-section{display:grid;gap:var(--spacing-xl)}.performance-table-container{background:var(--white);padding:var(--spacing-xl);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.performance-table-container h3{font-size:1.2rem;color:var(--gray-900);margin-bottom:var(--spacing-lg)}.performance-table{width:100%;border-collapse:collapse}.performance-table thead{background:var(--gray-100);border-bottom:2px solid var(--gray-300)}.performance-table th{padding:var(--spacing-md);text-align:left;font-weight:600;font-size:.9rem;color:var(--gray-700);text-transform:uppercase;letter-spacing:.5px}.performance-table td{padding:var(--spacing-md);border-bottom:1px solid var(--gray-200);font-size:.95rem}.performance-table tbody tr:hover{background-color:var(--gray-50)}.performance-rating{display:flex;align-items:center;gap:var(--spacing-xs)}.performance-rating-stars{color:var(--warning)}.performance-rating-value{font-weight:600;color:var(--gray-700)}.ai-empty-state{background:var(--white);padding:var(--spacing-2xl);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);text-align:center}.ai-empty-icon{font-size:4rem;margin-bottom:var(--spacing-lg);opacity:.5}.ai-empty-state h3{font-size:1.3rem;color:var(--gray-700);margin-bottom:var(--spacing-md)}.ai-empty-state p{color:var(--gray-600);font-size:.95rem}@media (max-width: 1024px){.ai-overview-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.product-usage-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.revenue-predictions-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}}@media (max-width: 768px){.ai-insights-page{padding:var(--spacing-md)}.ai-tabs{gap:0}.ai-tab{padding:var(--spacing-sm) var(--spacing-md);font-size:.85rem}.ai-overview-grid,.product-usage-grid,.revenue-predictions-grid,.customer-metrics-grid,.product-usage-stats{grid-template-columns:1fr}.inventory-predictions-table{overflow-x:auto}.inventory-predictions-table table{min-width:600px}.top-customer-item{flex-direction:column;text-align:center}.performance-table-container{overflow-x:auto}.performance-table{min-width:600px}}.chart-container-ai{background:var(--white);padding:var(--spacing-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.customer-charts-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-xl);align-items:center}.retention-stats{display:flex;flex-direction:column;gap:var(--spacing-lg)}.stat-card{background:var(--white);padding:var(--spacing-xl);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);text-align:center;position:relative;overflow:hidden;transition:all var(--transition-base)}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--primary) 0%,var(--primary-dark) 100%)}.stat-card.success:before{background:linear-gradient(90deg,var(--success) 0%,var(--success-dark) 100%)}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-elevated)}.stat-icon{font-size:3rem;margin-bottom:var(--spacing-sm)}.stat-value{font-size:2.5rem;font-weight:700;color:var(--primary);margin-bottom:var(--spacing-xs)}.stat-card.success .stat-value{color:var(--success)}.stat-label{font-size:.9rem;color:var(--gray-600);font-weight:500}.usage-card{background:var(--color-surface-elevated);border:1px solid var(--gray-200);transition:all var(--transition-base)}.usage-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-elevated);border-color:var(--color-border)}.usage-alert-badge{padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-full);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;animation:pulse 2s ease-in-out infinite}.usage-alert-badge.high{background:var(--color-surface);color:var(--error-dark);box-shadow:0 2px 8px #dc26264d}.usage-alert-badge.medium{background:var(--color-surface);color:var(--warning-dark);box-shadow:0 2px 8px #6666664d}.usage-alert-badge.low{background:var(--color-surface);color:var(--success-dark);box-shadow:0 2px 8px #1b5e374d}@keyframes pulse{0%,to{opacity:1}50%{opacity:.8}}.ai-section h3{font-size:1.3rem;font-weight:700;color:var(--gray-900);margin-bottom:var(--spacing-md);display:flex;align-items:center;gap:var(--spacing-sm)}.ai-section-subtitle{color:var(--gray-600);font-size:.95rem;margin-bottom:var(--spacing-lg)}.ai-predictions-table{background:var(--white);box-shadow:var(--shadow-md);border-radius:var(--radius-lg);overflow:hidden}.ai-predictions-table tbody tr{transition:all var(--transition-fast)}.ai-predictions-table tbody tr:hover{background:linear-gradient(90deg,var(--gray-50) 0%,var(--white) 100%);transform:scale(1.01)}.ai-predictions-table tbody tr.alert-high{background:#dc26260d}.ai-predictions-table tbody tr.alert-medium{background:#6666660d}.ai-summary-card:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,var(--primary-50) 0%,transparent 100%);opacity:0;transition:opacity var(--transition-base)}.ai-summary-card:hover:after{opacity:1}.ai-summary-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-elevated)}.ai-summary-trend{margin-top:var(--spacing-sm);font-size:.85rem;font-weight:500;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-md);display:inline-block}.ai-summary-trend.success{background:#1b5e371a;color:var(--success-dark)}.ai-summary-trend.critical{background:#dc26261a;color:var(--error-dark)}.ai-summary-trend.info{background:#1b5e371a;color:var(--info-dark)}.overview-charts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-xl);margin-top:var(--spacing-xl)}.overview-chart-card{background:var(--white);padding:var(--spacing-xl);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);transition:all var(--transition-base)}.overview-chart-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-elevated)}.overview-chart-card h3{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin-bottom:0}.ai-alert-stats{display:flex;gap:var(--spacing-lg);margin:var(--spacing-md) 0;padding:var(--spacing-md);background:#00000008;border-radius:var(--radius-md);flex-wrap:wrap}.ai-alert-stats span{font-size:.85rem;color:var(--text-secondary);font-weight:500}.ai-alert-card.success{background:#1b5e370d;border-left:4px solid var(--success)}.ai-alert-card.success .ai-alert-icon{background:var(--success-light);color:var(--success-dark)}.recommendations-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-lg);margin-top:var(--spacing-lg)}.recommendation-card{background:var(--color-surface-elevated);padding:var(--spacing-xl);border-radius:var(--radius-lg);border:1px solid var(--gray-200);transition:all var(--transition-base);position:relative;overflow:hidden}.recommendation-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary) 0%,var(--info) 100%)}.recommendation-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-elevated);border-color:var(--color-border)}.recommendation-icon{font-size:2.5rem;margin-bottom:var(--spacing-md);opacity:.9}.recommendation-card h4{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-sm)}.recommendation-card p{font-size:.95rem;color:var(--text-secondary);line-height:1.6;margin:0}@media (max-width: 1200px){.overview-charts-grid{grid-template-columns:1fr}}@media (max-width: 768px){.customer-charts-grid{grid-template-columns:1fr}.stat-card{padding:var(--spacing-lg)}.stat-value{font-size:2rem}.stat-icon{font-size:2.5rem}.recommendations-grid,.overview-charts-grid{grid-template-columns:1fr}.ai-alert-stats{flex-direction:column;gap:var(--spacing-xs)}}.product-usage-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.usage-summary-card{background:var(--white);padding:var(--spacing-xl);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);display:flex;align-items:center;gap:var(--spacing-lg);transition:all var(--transition-base);border-left:4px solid}.usage-summary-card.critical{border-left-color:var(--error)}.usage-summary-card.warning{border-left-color:var(--warning)}.usage-summary-card.healthy{border-left-color:var(--success)}.usage-summary-card.info{border-left-color:var(--info)}.usage-summary-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-elevated)}.usage-summary-icon{font-size:2.5rem;opacity:.9}.usage-summary-value{font-size:2rem;font-weight:700;color:var(--text-primary);line-height:1}.usage-summary-label{font-size:.95rem;font-weight:600;color:var(--text-secondary);margin-top:var(--spacing-xs)}.usage-summary-desc{font-size:.8rem;color:var(--text-muted);margin-top:var(--spacing-xs)}.usage-card-enhanced{background:var(--white);border-radius:var(--radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-md);transition:all var(--transition-base);border:2px solid var(--gray-200);border-left-width:4px}.usage-card-enhanced.high-border{border-left-color:var(--error)}.usage-card-enhanced.medium-border{border-left-color:var(--warning)}.usage-card-enhanced.low-border{border-left-color:var(--success)}.usage-card-enhanced:hover{transform:translateY(-2px);box-shadow:var(--shadow-elevated)}.usage-consumption-highlight{background:linear-gradient(135deg,var(--primary-50) 0%,var(--primary-100) 100%);border-radius:var(--radius-lg);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg);border:2px solid var(--primary-200)}.consumption-main{display:flex;align-items:center;gap:var(--spacing-md)}.consumption-icon{font-size:2.5rem;background:var(--white);width:60px;height:60px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm)}.consumption-text{flex:1}.consumption-formula{display:block;font-size:1.1rem;color:var(--text-primary);margin-bottom:var(--spacing-xs)}.consumption-formula strong{color:var(--primary);font-weight:700}.consumption-detail{display:block;font-size:.8rem;color:var(--text-muted)}.usage-consumption-highlight.real-data{background:#1b5e371a;border-color:var(--success)}.usage-consumption-highlight.estimated-data{background:#6666661a;border-color:var(--warning)}.usage-anomaly-warning{display:flex;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-md);background:#dc26261a;border:2px solid var(--error);border-radius:var(--radius-lg);margin-bottom:var(--spacing-md)}.anomaly-icon{font-size:1.5rem;animation:pulseAnomaly 1.5s ease-in-out infinite}.anomaly-content{flex:1}.anomaly-content strong{display:block;color:var(--error);font-size:.9rem;margin-bottom:var(--spacing-xs)}.anomaly-content p{margin:0;font-size:.8rem;color:var(--text-secondary)}@keyframes pulseAnomaly{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.usage-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:2px solid var(--gray-100)}.usage-product-info{display:flex;align-items:center;gap:var(--spacing-md)}.usage-product-icon{font-size:2rem;width:50px;height:50px;display:flex;align-items:center;justify-content:center;background:var(--gray-50);border-radius:var(--radius-lg)}.usage-product-name{font-size:1.15rem;font-weight:600;color:var(--text-primary);margin:0}.usage-service-type{font-size:.85rem;color:var(--text-muted);margin:var(--spacing-xs) 0 0 0}.usage-alert-badge-enhanced{padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-full);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.usage-alert-badge-enhanced.high{background:var(--error);color:var(--white);box-shadow:0 2px 8px #dc26264d}.usage-alert-badge-enhanced.medium{background:var(--warning);color:var(--white);box-shadow:0 2px 8px #6666664d}.usage-alert-badge-enhanced.low{background:var(--success);color:var(--white);box-shadow:0 2px 8px #1b5e374d}.usage-metrics-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.usage-metric-card{background:linear-gradient(135deg,var(--gray-50) 0%,var(--white) 100%);padding:var(--spacing-md);border-radius:var(--radius-md);display:flex;align-items:center;gap:var(--spacing-sm);border:1px solid var(--gray-100);transition:all var(--transition-base)}.usage-metric-card:hover{background:linear-gradient(135deg,var(--primary-50) 0%,var(--white) 100%);border-color:var(--color-border);transform:translateY(-1px)}.usage-metric-icon{font-size:1.5rem}.usage-metric-content{flex:1}.usage-metric-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--spacing-xs)}.usage-metric-value{font-size:1.25rem;font-weight:700;color:var(--text-primary)}.usage-metric-value.critical-text{color:var(--error)}.usage-metric-unit{font-size:.85rem;font-weight:400;color:var(--text-secondary)}.usage-progress-section{margin:var(--spacing-lg) 0;padding:var(--spacing-md);background:var(--gray-50);border-radius:var(--radius-md)}.usage-progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm)}.usage-progress-label{font-size:.85rem;font-weight:600;color:var(--text-secondary)}.usage-progress-percentage{font-size:.8rem;font-weight:600;color:var(--text-muted)}.usage-progress-bar{width:100%;height:12px;background:var(--gray-200);border-radius:var(--radius-full);overflow:hidden;box-shadow:inset 0 1px 3px #0000001a}.usage-progress-fill{height:100%;transition:width .6s ease;background:linear-gradient(90deg,var(--success) 0%,var(--success-dark) 100%);position:relative}.usage-progress-fill:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.3) 50%,transparent 100%);animation:shimmer 2s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.usage-progress-fill.high{background:var(--color-error)}.usage-progress-fill.medium{background:var(--color-text-muted)}.usage-progress-fill.low{background:var(--color-accent)}.usage-recommendation-enhanced{padding:var(--spacing-md);border-radius:var(--radius-md);display:flex;align-items:flex-start;gap:var(--spacing-sm);font-size:.9rem;line-height:1.6;margin-top:var(--spacing-md)}.usage-recommendation-enhanced.high-bg{background:#dc26261a;border:1px solid rgba(220,38,38,.2);color:var(--color-error)}.usage-recommendation-enhanced.medium-bg{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-muted)}.usage-recommendation-enhanced.low-bg{background:#1b5e371a;border:1px solid rgba(27,94,55,.2);color:var(--color-accent)}.usage-rec-icon{font-size:1.25rem;flex-shrink:0}.usage-rec-content{flex:1}.usage-rec-content strong{display:block;margin-bottom:var(--spacing-xs);font-weight:600}@media (max-width: 1200px){.product-usage-summary{grid-template-columns:repeat(2,1fr)}.usage-metrics-grid{grid-template-columns:1fr}}@media (max-width: 768px){.product-usage-summary{grid-template-columns:1fr}.usage-card-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-md)}.usage-product-info{width:100%}}.inventory-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.inventory-summary-card{background:var(--bg-primary);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-sm);position:relative;overflow:hidden;transition:all .3s ease}.inventory-summary-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-elevated)}.inventory-summary-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;opacity:.2}.inventory-summary-card.critical-gradient{background:#dc26260d;border:1px solid rgba(220,38,38,.2)}.inventory-summary-card.critical-gradient:before{background:var(--color-error)}.inventory-summary-card.warning-gradient{background:#6666660d;border:1px solid rgba(102,102,102,.2)}.inventory-summary-card.warning-gradient:before{background:var(--color-text-muted)}.inventory-summary-card.success-gradient{background:#1b5e370d;border:1px solid rgba(27,94,55,.2)}.inventory-summary-card.success-gradient:before{background:var(--color-accent)}.inventory-summary-card.info-gradient{background:linear-gradient(135deg,var(--primary-50) 0%,var(--bg-primary) 100%);border:1px solid rgba(27,94,55,.2)}.inventory-summary-card.info-gradient:before{background:linear-gradient(90deg,var(--primary) 0%,var(--primary-dark) 100%)}.inv-summary-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.inv-summary-icon{width:48px;height:48px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:1.5rem}.inv-summary-icon.critical{background:#dc26261a}.inv-summary-icon.warning{background:#6666661a}.inv-summary-icon.success{background:#1b5e371a}.inv-summary-icon.info{background:var(--primary-50)}.inv-summary-badge{padding:4px 12px;border-radius:var(--radius-full);font-size:.7rem;font-weight:700;letter-spacing:.5px}.inv-summary-badge.critical{background:#dc26261a;color:var(--error)}.inv-summary-badge.warning{background:#6666661a;color:var(--warning)}.inv-summary-badge.success{background:#1b5e371a;color:var(--success)}.inv-summary-badge.info{background:var(--primary-50);color:var(--primary)}.inv-summary-value{font-size:2.5rem;font-weight:700;line-height:1;margin-bottom:var(--spacing-xs);background:linear-gradient(135deg,var(--text-primary),var(--text-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.inv-summary-label{font-size:.95rem;font-weight:600;color:var(--text-primary);margin-bottom:4px}.inv-summary-detail{font-size:.8rem;color:var(--text-secondary)}.inventory-predictions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--spacing-lg)}.inventory-prediction-card{background:var(--bg-primary);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-sm);transition:all .3s ease;border-left:4px solid transparent}.inventory-prediction-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-elevated)}.inventory-prediction-card.high-alert-border{border-left-color:var(--error)}.inventory-prediction-card.medium-alert-border{border-left-color:var(--warning)}.inventory-prediction-card.low-alert-border{border-left-color:var(--success)}.inv-pred-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border-color)}.inv-pred-title-section{display:flex;align-items:center;gap:var(--spacing-sm)}.inv-pred-icon{width:40px;height:40px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:1.25rem;flex-shrink:0}.inv-pred-icon.high{background:#dc26261a}.inv-pred-icon.medium{background:#6666661a}.inv-pred-icon.low{background:#1b5e371a}.inv-pred-product-name{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0;line-height:1.2}.inv-pred-subtitle{font-size:.75rem;color:var(--text-secondary);margin:4px 0 0}.inv-pred-alert-badge{padding:6px 12px;border-radius:var(--radius-full);font-size:.7rem;font-weight:700;letter-spacing:.5px}.inv-pred-alert-badge.high{background:#dc26261a;color:var(--error)}.inv-pred-alert-badge.medium{background:#6666661a;color:var(--warning)}.inv-pred-alert-badge.low{background:#1b5e371a;color:var(--success)}.inv-pred-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.inv-pred-metric{text-align:center;padding:var(--spacing-md);background:var(--bg-secondary);border-radius:var(--radius-md);transition:all .2s ease}.inv-pred-metric:hover{transform:scale(1.05);background:var(--bg-hover)}.inv-metric-label{font-size:.75rem;color:var(--text-secondary);margin-bottom:6px;font-weight:500}.inv-metric-value{font-size:1.5rem;font-weight:700;color:var(--text-primary);line-height:1}.inv-metric-unit{font-size:.75rem;font-weight:400;color:var(--text-secondary);margin-left:4px}.inv-pred-timeline{margin-bottom:var(--spacing-lg)}.inv-timeline-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xs)}.inv-timeline-label{font-size:.85rem;font-weight:600;color:var(--text-primary)}.inv-timeline-date{font-size:.8rem;color:var(--text-secondary);font-weight:500}.inv-timeline-bar{height:12px;background:var(--bg-secondary);border-radius:var(--radius-full);overflow:hidden;position:relative}.inv-timeline-fill{height:100%;border-radius:var(--radius-full);transition:width .6s ease;position:relative;display:flex;align-items:center;justify-content:flex-end;padding-right:8px}.inv-timeline-fill.high{background:var(--color-error)}.inv-timeline-fill.medium{background:var(--color-text-muted)}.inv-timeline-fill.low{background:var(--color-accent)}.inv-timeline-fill:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.3) 50%,transparent 100%);animation:shimmer 2s infinite}.inv-timeline-tooltip{font-size:.7rem;font-weight:600;color:#fff;white-space:nowrap;position:relative;z-index:1}.inv-pred-action{padding:var(--spacing-md);border-radius:var(--radius-md);display:flex;align-items:center;gap:var(--spacing-sm)}.inv-pred-action.high-action{background:#dc26260d;border:1px solid rgba(220,38,38,.2)}.inv-pred-action.medium-action{background:#6666660d;border:1px solid rgba(102,102,102,.2)}.inv-pred-action.low-action{background:#1b5e370d;border:1px solid rgba(27,94,55,.2)}.inv-action-icon{font-size:1.5rem;flex-shrink:0}.inv-action-content{flex:1}.inv-action-label{font-size:.8rem;color:var(--text-secondary);margin-bottom:4px}.inv-action-value{font-size:1.1rem;font-weight:700;color:var(--text-primary)}@media (max-width: 1024px){.inventory-summary-grid{grid-template-columns:repeat(2,1fr)}.inventory-predictions-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.inv-pred-metrics{grid-template-columns:repeat(3,1fr);gap:var(--spacing-sm)}.inv-pred-metric{padding:var(--spacing-sm)}.inv-metric-value{font-size:1.25rem}}@media (max-width: 768px){.inventory-summary-grid{grid-template-columns:1fr;gap:var(--spacing-sm)}.inventory-predictions-grid{grid-template-columns:1fr}.inv-summary-value{font-size:2rem}.inv-pred-metrics{grid-template-columns:1fr}.inv-pred-header{flex-direction:column;gap:var(--spacing-sm)}.inv-pred-alert-badge{align-self:flex-start}}.revenue-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.revenue-summary-card{background:var(--bg-primary);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-sm);position:relative;overflow:hidden;transition:all .3s ease}.revenue-summary-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-elevated)}.revenue-summary-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;opacity:.2}.revenue-summary-card.total-gradient{background:linear-gradient(135deg,rgba(27,94,55,.05) 0%,var(--bg-primary) 100%);border:1px solid rgba(27,94,55,.2)}.revenue-summary-card.total-gradient:before{background:var(--color-accent)}.revenue-summary-card.avg-gradient{background:linear-gradient(135deg,rgba(27,94,55,.05) 0%,var(--bg-primary) 100%);border:1px solid rgba(27,94,55,.2)}.revenue-summary-card.avg-gradient:before{background:var(--color-accent)}.revenue-summary-card.confidence-gradient{background:linear-gradient(135deg,var(--primary-50) 0%,var(--bg-primary) 100%);border:1px solid rgba(27,94,55,.2)}.revenue-summary-card.confidence-gradient:before{background:linear-gradient(90deg,var(--primary) 0%,var(--primary-dark) 100%)}.revenue-summary-card.growth-gradient{background:linear-gradient(135deg,rgba(102,102,102,.05) 0%,var(--bg-primary) 100%);border:1px solid rgba(102,102,102,.2)}.revenue-summary-card.growth-gradient:before{background:var(--color-text-muted)}.rev-summary-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.rev-summary-icon{width:48px;height:48px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:1.5rem}.rev-summary-icon.total,.rev-summary-icon.avg{background:#1b5e371a}.rev-summary-icon.confidence{background:var(--primary-50)}.rev-summary-icon.growth{background:#6666661a}.rev-summary-badge{padding:4px 12px;border-radius:var(--radius-full);font-size:.7rem;font-weight:700;letter-spacing:.5px}.rev-summary-badge.total{background:#1b5e371a;color:var(--success)}.rev-summary-badge.avg{background:#1b5e371a;color:var(--color-accent)}.rev-summary-badge.confidence{background:var(--primary-50);color:var(--primary)}.rev-summary-badge.growth{background:#6666661a;color:var(--warning)}.rev-summary-value{font-size:2.5rem;font-weight:700;line-height:1;margin-bottom:var(--spacing-xs);background:linear-gradient(135deg,var(--text-primary),var(--text-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.rev-summary-label{font-size:.95rem;font-weight:600;color:var(--text-primary);margin-bottom:4px}.rev-summary-detail{font-size:.8rem;color:var(--text-secondary)}.revenue-chart-enhanced{height:400px;margin:var(--spacing-xl) 0;background:var(--bg-primary);padding:var(--spacing-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.forecast-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--spacing-lg);margin-top:var(--spacing-xl)}.forecast-day-card{background:var(--bg-primary);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-sm);border-left:4px solid var(--success);transition:all .3s ease}.forecast-day-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.forecast-card-header{display:flex;align-items:center;gap:var(--spacing-sm);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border-color);margin-bottom:var(--spacing-md)}.forecast-day-icon{width:48px;height:48px;border-radius:var(--radius-md);background:#1b5e371a;display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0}.forecast-day-info{flex:1}.forecast-day-name{font-size:1.1rem;font-weight:700;color:var(--text-primary);line-height:1.2}.forecast-day-date{font-size:.85rem;color:var(--text-secondary);margin-top:2px}.forecast-card-body{display:flex;flex-direction:column;gap:var(--spacing-md)}.forecast-revenue-section{text-align:center;padding:var(--spacing-md);background:linear-gradient(135deg,rgba(27,94,55,.05) 0%,transparent 100%);border-radius:var(--radius-md)}.forecast-revenue-label{font-size:.8rem;color:var(--text-secondary);margin-bottom:6px;font-weight:500}.forecast-revenue-value{font-size:2rem;font-weight:700;color:var(--success);line-height:1}.forecast-confidence-section{padding:var(--spacing-sm) 0}.forecast-confidence-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xs)}.forecast-confidence-label{font-size:.85rem;font-weight:600;color:var(--text-primary)}.forecast-confidence-percentage{font-size:.9rem;font-weight:700;color:var(--primary)}.forecast-confidence-bar{height:8px;background:var(--bg-secondary);border-radius:var(--radius-full);overflow:hidden;position:relative}.forecast-confidence-fill{height:100%;background:linear-gradient(90deg,var(--primary) 0%,var(--primary-dark) 100%);border-radius:var(--radius-full);transition:width .6s ease;position:relative}.forecast-confidence-fill:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.3) 50%,transparent 100%);animation:shimmer 2s infinite}.forecast-variance-section{padding:var(--spacing-sm);background:var(--bg-secondary);border-radius:var(--radius-md)}.forecast-variance-item{display:flex;justify-content:space-between;align-items:center}.forecast-variance-label{font-size:.85rem;color:var(--text-secondary);font-weight:500}.forecast-variance-value{font-size:1rem;font-weight:700;padding:4px 10px;border-radius:var(--radius-sm)}.forecast-variance-value.positive{color:var(--success);background:#1b5e371a}.forecast-variance-value.negative{color:var(--error);background:#dc26261a}@media (max-width: 1024px){.revenue-summary-grid{grid-template-columns:repeat(2,1fr)}.forecast-cards-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.revenue-chart-enhanced{height:350px}.forecast-revenue-value{font-size:1.75rem}}@media (max-width: 768px){.revenue-summary-grid{grid-template-columns:1fr;gap:var(--spacing-sm)}.forecast-cards-grid{grid-template-columns:1fr}.rev-summary-value{font-size:2rem}.revenue-chart-enhanced{height:300px;padding:var(--spacing-md)}.forecast-revenue-value{font-size:1.5rem}.forecast-card-header{flex-direction:row}}.error-boundary{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,var(--gray-50) 0%,var(--gray-100) 100%);padding:var(--spacing-xl)}.error-boundary-content{text-align:center;max-width:500px;background:var(--white);padding:var(--spacing-2xl);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl)}.error-icon{width:80px;height:80px;margin:0 auto var(--spacing-lg);background:linear-gradient(135deg,var(--error-light) 0%,var(--error) 100%);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2.5rem;font-weight:700;color:var(--white)}.error-boundary-content h1{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin-bottom:var(--spacing-md)}.error-boundary-content p{color:var(--text-secondary);margin-bottom:var(--spacing-lg);line-height:1.6}.error-details{text-align:left;margin-bottom:var(--spacing-lg);padding:var(--spacing-md);background:var(--gray-50);border-radius:var(--radius-md);border:1px solid var(--gray-200)}.error-details summary{cursor:pointer;font-weight:600;color:var(--text-secondary);margin-bottom:var(--spacing-sm)}.error-details pre{font-family:var(--font-mono);font-size:.75rem;color:var(--error);overflow-x:auto;white-space:pre-wrap;word-break:break-word;margin:var(--spacing-sm) 0;padding:var(--spacing-sm);background:var(--gray-100);border-radius:var(--radius-sm)}.error-actions{display:flex;gap:var(--spacing-md);justify-content:center}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--primary);outline-offset:2px}button:focus:not(:focus-visible),input:focus:not(:focus-visible),select:focus:not(:focus-visible),textarea:focus:not(:focus-visible),a:focus:not(:focus-visible),[tabindex]:focus:not(:focus-visible){outline:none}.modal-close:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:var(--radius-sm)}.sidebar .nav-link:focus-visible{outline:2px solid var(--primary);outline-offset:-2px;background:var(--bg-hover)}.table tbody tr:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.stat-card:focus-visible,.action-btn:focus-visible,.demo-role-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.skip-link{position:absolute;top:-40px;left:0;background:var(--primary);color:var(--white);padding:var(--spacing-sm) var(--spacing-md);z-index:10000;font-weight:600;border-radius:0 0 var(--radius-md) 0;transition:top var(--transition-fast)}.skip-link:focus{top:0}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.nav-group{margin-bottom:4px}.nav-group-label{display:flex;align-items:center;justify-content:space-between;width:calc(100% - 16px);background:transparent;border:none;color:#ffffff80;text-align:left;cursor:pointer;padding:10px 16px;border-radius:6px;margin:4px 8px}.nav-group-label:hover{background:#ffffff1a;color:#fffc}.nav-group-text{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.nav-group-arrow{font-size:10px;transition:transform .2s ease;transform:rotate(-90deg);color:#ffffff80}.nav-group-arrow.expanded{transform:rotate(0)}.nav-group-items{overflow:hidden;transition:max-height .3s ease,opacity .2s ease}.nav-group-items.show{max-height:500px;opacity:1}.nav-group-items.hide{max-height:0;opacity:0;pointer-events:none}.confirm-dialog-overlay{display:flex;align-items:center;justify-content:center}.confirm-dialog{background:var(--white);border-radius:var(--radius-lg);padding:var(--spacing-xl);max-width:400px;width:90%;text-align:center;box-shadow:var(--shadow-xl)}.confirm-dialog-icon{font-size:48px;margin-bottom:var(--spacing-md)}.confirm-dialog-title{font-size:1.25rem;font-weight:600;color:var(--gray-900);margin-bottom:var(--spacing-sm)}.confirm-dialog-message{color:var(--gray-600);margin-bottom:var(--spacing-lg);line-height:1.5}.confirm-dialog-actions{display:flex;gap:var(--spacing-md);justify-content:center}.confirm-dialog-actions .btn{min-width:100px}.btn-danger{background:var(--error);color:var(--white);border-color:var(--error)}.btn-danger:hover{background:var(--error-dark);border-color:var(--error-dark)}.btn-warning{background:var(--warning);color:var(--gray-900);border-color:var(--warning)}.btn-warning:hover{background:var(--warning-dark);border-color:var(--warning-dark)}.form-group.has-error .form-control{border-color:var(--error)}.form-group.has-error .form-control:focus{border-color:var(--error);box-shadow:0 0 0 3px #dc26261a}.form-error{color:var(--error);font-size:.875rem;margin-top:var(--spacing-xs);display:flex;align-items:center;gap:var(--spacing-xs)}.form-error:before{content:"⚠";font-size:.75rem}.form-help{color:var(--text-muted);font-size:.875rem;margin-top:var(--spacing-xs)}.required-indicator{color:var(--error)}.form-control.is-invalid{border-color:var(--error)}.form-group-checkbox{display:flex;flex-direction:column}.checkbox-label{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer}.checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary)}@media (prefers-contrast: high){button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid currentColor;outline-offset:3px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (max-width: 768px){.btn,.nav-item,.quick-action-btn{min-height:44px;min-width:44px}.table-container,.transactions-table,.data-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}table{min-width:600px}.modal{width:95%;max-width:none;margin:var(--spacing-sm);max-height:90vh}.modal-body{max-height:60vh;overflow-y:auto}.form-row{flex-direction:column}.form-row .form-group{width:100%}.kpi-grid,.charts-grid{grid-template-columns:1fr}.top-quick-actions{grid-template-columns:repeat(2,1fr);gap:var(--spacing-sm)}.page-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-md)}.header-actions{width:100%;display:flex;gap:var(--spacing-sm)}.header-actions .btn{flex:1}.sidebar.closed{transform:translate(-100%);position:absolute}.sidebar.open{position:fixed;z-index:1000;width:280px}.ai-insights-grid-enhanced{grid-template-columns:1fr}}@media (min-width: 769px) and (max-width: 1024px){.kpi-grid,.charts-grid,.ai-insights-grid-enhanced{grid-template-columns:repeat(2,1fr)}}@media print{.sidebar,.top-header,.skip-link,.btn,button,.modal-overlay,.toast,.stock-alert-banner,.header-actions,.quick-actions,.top-quick-actions,nav,.pagination,.filters,.search-box{display:none!important}.main-layout{display:block}.main-content{margin:0;padding:0;width:100%}.page-content{padding:0;margin:0}body{background:#fff!important;color:#000!important}*{background:transparent!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}.badge,.badge-success,.badge-error,.badge-warning,.badge-info{border:1px solid currentColor!important}table{border-collapse:collapse;width:100%}th,td{border:1px solid #000!important;padding:8px!important}h1,h2,h3,h4{page-break-after:avoid}table,img,svg{page-break-inside:avoid}a[href]:after{content:" (" attr(href) ")";font-size:.8em}a[href^="#"]:after,a[href^=javascript]:after{content:""}.dashboard-page:before,.reports-page:before{content:"Printed from Daet Massage & Spa";display:block;text-align:center;font-size:.8rem;color:#666;margin-bottom:1rem;border-bottom:1px solid #ccc;padding-bottom:.5rem}.chart-card{page-break-inside:avoid;margin-bottom:1rem}.kpi-card{border:1px solid #ccc;padding:10px;margin-bottom:10px;page-break-inside:avoid}}.schedule-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.schedule-stat-card{background:#fff;border-radius:var(--radius-lg);padding:var(--spacing-lg);text-align:center;box-shadow:var(--shadow-sm);border:1px solid var(--gray-200)}.schedule-stat-card .stat-icon{font-size:1.5rem;margin-bottom:var(--spacing-xs)}.schedule-stat-card .stat-value{font-size:1.75rem;font-weight:700;color:var(--gray-900)}.schedule-stat-card .stat-label{font-size:.75rem;color:var(--gray-500);text-transform:uppercase;letter-spacing:.5px}.schedule-stat-card.day{border-top:3px solid var(--color-accent)}.schedule-stat-card.night{border-top:3px solid var(--color-text-muted)}.schedule-stat-card.off{border-top:3px solid var(--color-border)}.schedule-grid-container{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow-x:auto;margin-bottom:var(--spacing-lg)}.schedule-grid-table{width:100%;border-collapse:collapse;min-width:800px}.schedule-grid-table th,.schedule-grid-table td{padding:var(--spacing-sm) var(--spacing-md);text-align:center;border-bottom:1px solid var(--gray-200)}.schedule-grid-table th{background:var(--gray-50);font-weight:600;color:var(--gray-700);font-size:.875rem}.schedule-grid-table .employee-col{text-align:left;min-width:200px;position:sticky;left:0;background:var(--gray-50);z-index:1}.schedule-grid-table tbody .employee-col{background:#fff}.schedule-grid-table .day-col{min-width:80px}.schedule-grid-table .actions-col{min-width:100px}.day-header{display:flex;flex-direction:column;align-items:center;gap:2px}.day-header .day-name{font-weight:600}.day-header .day-date{font-size:.75rem;color:var(--gray-500)}.employee-cell{text-align:left!important}.employee-info{display:flex;align-items:center;gap:var(--spacing-sm)}.employee-avatar{width:36px;height:36px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--primary-500),var(--primary-600));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.875rem}.employee-details{display:flex;flex-direction:column}.employee-name{font-weight:600;color:var(--gray-900);font-size:.875rem}.employee-position{font-size:.75rem;color:var(--gray-500)}.shift-cell{padding:var(--spacing-xs)!important}.shift-cell.off{background:var(--gray-50)}.shift-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:var(--radius-md);font-size:.75rem;border:1px solid}.shift-badge .shift-icon{font-size:.875rem}.shift-badge .shift-time{font-weight:500}.actions-cell{display:flex;gap:var(--spacing-xs);justify-content:center}.btn-icon{padding:6px;background:none;border:1px solid var(--gray-200);border-radius:var(--radius-md);cursor:pointer;font-size:.875rem;transition:all .2s}.btn-icon:hover{background:var(--gray-100);border-color:var(--gray-300)}.schedule-legend{display:flex;align-items:center;gap:var(--spacing-lg);padding:var(--spacing-md);background:var(--gray-50);border-radius:var(--radius-md);flex-wrap:wrap}.legend-title{font-weight:600;color:var(--gray-700)}.legend-items{display:flex;gap:var(--spacing-lg);flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:var(--spacing-xs);font-size:.875rem;color:var(--gray-600)}.legend-badge{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:var(--radius-md);font-size:.75rem}.schedule-edit-modal{max-width:600px}.schedule-edit-grid{display:flex;flex-direction:column;gap:var(--spacing-sm)}.schedule-edit-row{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm);background:var(--gray-50);border-radius:var(--radius-md)}.schedule-edit-row .day-label{width:50px;font-weight:600;color:var(--gray-700)}.schedule-edit-row .shift-select{flex:1;max-width:150px}.schedule-edit-row .time-input{width:100px}.schedule-edit-row .time-separator{color:var(--gray-500);font-size:.875rem}.template-modal{max-width:500px}.modal-description{color:var(--gray-600);margin-bottom:var(--spacing-md)}.template-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.template-card{padding:var(--spacing-md);border:1px solid var(--gray-200);border-radius:var(--radius-md);cursor:pointer;transition:all .2s}.template-card:hover{border-color:var(--primary-500);background:var(--primary-50)}.template-card h4{margin:0 0 4px;color:var(--gray-900)}.template-card p{margin:0 0 var(--spacing-sm) 0;font-size:.875rem;color:var(--gray-600)}.template-preview{display:flex;gap:4px}.template-day{width:24px;height:24px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:.75rem}.time-off-requests-modal{max-width:600px}.time-off-list{display:flex;flex-direction:column;gap:var(--spacing-md);max-height:400px;overflow-y:auto}.time-off-card{padding:var(--spacing-md);border:1px solid var(--gray-200);border-radius:var(--radius-md)}.time-off-card.pending{border-left:3px solid var(--warning-500)}.time-off-card.approved{border-left:3px solid var(--success-500)}.time-off-card.rejected{border-left:3px solid var(--error-500)}.time-off-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm)}.time-off-employee{font-weight:600;color:var(--gray-900)}.time-off-details{display:flex;flex-direction:column;gap:4px;font-size:.875rem}.time-off-dates{color:var(--gray-700)}.time-off-type{color:var(--gray-500)}.time-off-reason{color:var(--gray-600);font-style:italic}.time-off-actions{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-md);padding-top:var(--spacing-sm);border-top:1px solid var(--gray-200)}.schedule-day-section{margin-bottom:var(--spacing-md)}.schedule-day-header{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background:var(--gray-100);border-radius:var(--radius-md);margin-bottom:var(--spacing-sm)}.schedule-day-header.today{background:var(--primary-50);border:1px solid var(--primary-200)}.schedule-day-header .day-name{font-weight:600;color:var(--gray-900)}.schedule-day-header .day-date{color:var(--gray-600);font-size:.875rem}.schedule-day-header .today-badge{background:var(--primary-500);color:#fff;padding:2px 8px;border-radius:var(--radius-full);font-size:.75rem;font-weight:500}.no-items{padding:var(--spacing-md);color:var(--gray-500);font-style:italic;text-align:center}.calendar-shift-item{border-left:3px solid var(--primary-500);padding-left:4px}.calendar-shift-item.shift{border-left-color:var(--color-accent)}.calendar-shift-item.day-off,.calendar-shift-item.time-off{border-left-color:var(--color-text-muted);opacity:.7}.calendar-shift-item.appointment{border-left-color:var(--primary)}.calendar-page{padding:var(--spacing-lg)}.calendar-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg);flex-wrap:wrap;gap:var(--spacing-md)}.calendar-nav{display:flex;align-items:center;gap:var(--spacing-sm)}.calendar-nav .nav-btn,.calendar-nav .today-btn{padding:8px 12px;background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;font-size:.875rem}.calendar-nav .nav-btn:hover,.calendar-nav .today-btn:hover{background:var(--color-surface)}.current-date-display{font-size:1.125rem;font-weight:600;min-width:200px;text-align:center}.view-switcher{display:flex;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.view-btn{padding:8px 16px;background:var(--color-background);border:none;cursor:pointer;font-size:.875rem;border-right:1px solid var(--color-border)}.view-btn:last-child{border-right:none}.view-btn.active{background:var(--color-accent);color:var(--color-background)}.calendar-container{background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.month-view .calendar-header{display:grid;grid-template-columns:repeat(7,1fr);background:var(--color-surface);border-bottom:1px solid var(--color-border)}.calendar-day-name{padding:var(--spacing-md);text-align:center;font-weight:600;font-size:.8125rem;color:var(--color-text-secondary);text-transform:uppercase}.calendar-grid{display:contents}.calendar-grid>div{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-day{min-height:100px;padding:var(--spacing-sm);border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);cursor:pointer;transition:background .15s ease}.calendar-day:nth-child(7n){border-right:none}.calendar-day:hover{background:var(--color-surface)}.calendar-day.other-month{background:var(--color-surface);opacity:.5}.calendar-day.today{background:#fff!important;box-shadow:inset 0 0 0 3px var(--color-accent)}.calendar-day.today.selected{background:#fff!important}.calendar-day.selected{background:#1b5e3708}.day-number{font-weight:600;font-size:.875rem;color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.calendar-day.today .day-number{color:var(--color-accent);font-weight:700}.day-appointments{display:flex;flex-direction:column;gap:2px}.appointment-dot{font-size:.75rem;padding:2px 0;background:none;border:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--color-text-secondary);cursor:pointer}.appointment-dot:hover{color:var(--color-text-primary);background:none}.appointment-dot.confirmed,.appointment-dot.pending,.appointment-dot.cancelled{background:none;border:none}.appointment-dot.cancelled{opacity:.5;text-decoration:line-through}.appointment-count{font-size:.6875rem;color:var(--color-text-muted);padding:2px 6px}.week-view{overflow-x:auto}.week-header{display:grid;grid-template-columns:60px repeat(7,1fr);background:var(--color-surface);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:10}.week-time-label{padding:var(--spacing-md);font-size:.75rem;color:var(--color-text-muted)}.week-day-header{padding:var(--spacing-md);text-align:center;border-left:1px solid var(--color-border)}.week-day-header.today{background:var(--color-background);border-bottom:3px solid var(--color-accent)}.week-day-date{font-weight:600;font-size:1.25rem}.week-grid{display:grid;grid-template-columns:60px repeat(7,1fr)}.time-slot{padding:var(--spacing-sm);font-size:.75rem;color:var(--color-text-muted);border-bottom:1px solid var(--color-border);height:80px;display:flex;align-items:flex-start}.week-day-column{position:relative;border-left:1px solid var(--color-border);border-bottom:1px solid var(--color-border);height:80px}.week-day-column.today{background:#1b5e3705}.week-appointment{position:absolute;left:2px;right:2px;background:var(--color-surface);border-left:3px solid var(--color-accent);border-radius:2px;padding:4px 6px;font-size:.75rem;overflow:hidden;cursor:pointer;z-index:5}.week-appointment:hover{background:var(--color-border)}.week-appointment.pending{border-left-color:var(--color-text-muted)}.day-view{display:grid;grid-template-columns:1fr 300px;gap:var(--spacing-lg);padding:var(--spacing-lg)}.day-timeline{display:grid;grid-template-columns:60px 1fr}.day-time-label{padding:var(--spacing-sm);font-size:.75rem;color:var(--color-text-muted);height:80px}.day-time-block{position:relative;border-left:1px solid var(--color-border);border-bottom:1px solid var(--color-border);height:80px}.day-appointment{position:absolute;left:var(--spacing-sm);right:var(--spacing-sm);background:var(--color-surface);border-left:3px solid var(--color-accent);border-radius:var(--radius-sm);padding:var(--spacing-sm);cursor:pointer;overflow:hidden}.day-appointment:hover{background:var(--color-border)}.day-appointment.pending{border-left-color:var(--color-text-muted)}.appointment-time{font-size:.75rem;font-weight:600;color:var(--color-text-primary)}.appointment-customer{font-size:.875rem;font-weight:500}.appointment-service{font-size:.75rem;color:var(--color-text-muted)}.day-sidebar{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--spacing-lg)}.day-summary h3{margin:0 0 var(--spacing-md) 0;font-size:1rem}.summary-stat{display:flex;justify-content:space-between;padding:var(--spacing-sm) 0;border-bottom:1px solid var(--color-border)}.stat-label{color:var(--color-text-muted);font-size:.875rem}.stat-value{font-weight:600}.calendar-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl) * 2;gap:var(--spacing-md)}@media (max-width: 768px){.calendar-controls{flex-direction:column;align-items:stretch}.calendar-nav,.view-switcher{justify-content:center}.calendar-actions{text-align:center}.day-view{grid-template-columns:1fr}.calendar-day{min-height:60px}}.shift-item-icon{font-size:.75rem}.shift-item-time{font-size:.625rem;color:var(--gray-600)}.alert{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);border-radius:var(--radius-md)}.alert-info{background:var(--primary-50);color:var(--primary-700);border:1px solid var(--primary-200)}.empty-row td{padding:var(--spacing-xl)!important}.analytics-dashboard,.analytics-page{padding:var(--spacing-lg);max-width:1600px;margin:0 auto}.analytics-header .header-left{display:flex;align-items:center;gap:var(--spacing-md)}.analytics-header h1{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin:0}.analytics-header .subtitle{color:var(--text-muted);font-size:.875rem;margin:0}.btn-back{background:var(--color-surface);color:var(--text-secondary);border:1px solid var(--color-border);padding:8px 16px;border-radius:var(--radius-md);cursor:pointer;font-size:.875rem;transition:all var(--transition-fast)}.btn-back:hover{background:var(--gray-200);color:var(--text-primary)}.btn-refresh{background:var(--primary);color:var(--text-on-accent);border:none;padding:8px 16px;border-radius:var(--radius-md);cursor:pointer;font-size:.875rem;transition:all var(--transition-fast)}.btn-refresh:hover{background:var(--primary-dark)}.period-select,.view-select{background:var(--white);color:var(--text-primary);border:1px solid var(--color-border);padding:8px 12px;border-radius:var(--radius-md);font-size:.875rem;cursor:pointer}.realtime-banner{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-lg);margin-bottom:var(--spacing-lg);background:var(--color-surface-elevated);border:1px solid var(--color-border);box-shadow:var(--shadow-card)}.realtime-banner.positive{border-color:var(--success);background:linear-gradient(135deg,rgba(27,94,55,.08) 0%,var(--white) 100%)}.realtime-banner.negative{border-color:var(--error);background:linear-gradient(135deg,rgba(220,38,38,.08) 0%,var(--white) 100%)}.realtime-content{display:flex;flex-direction:column;gap:4px}.realtime-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.realtime-value{font-size:1.75rem;font-weight:700;color:var(--text-primary)}.realtime-banner.positive .realtime-value{color:var(--success)}.realtime-details{font-size:.875rem;color:var(--text-muted)}.realtime-indicator{display:flex;align-items:center;gap:8px;color:var(--success-400);font-size:.75rem;font-weight:600}.pulse{width:8px;height:8px;background:var(--success);border-radius:50%;animation:pulse 2s infinite}@keyframes pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}to{opacity:1;transform:scale(1)}}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.kpi-card{background:#fff!important;border:1px solid #D0D0D0!important;border-radius:var(--radius-lg);padding:var(--spacing-lg);transition:all var(--transition-fast);box-shadow:0 1px 2px #00000026}.kpi-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-elevated)}.kpi-header{display:flex;align-items:center;gap:8px;margin-bottom:var(--spacing-sm)}.kpi-icon{font-size:1.25rem}.kpi-title{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.kpi-value{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin-bottom:var(--spacing-sm)}.kpi-value.positive{color:var(--success)}.kpi-value.warning{color:var(--warning)}.kpi-details{display:flex;flex-direction:column;gap:4px;font-size:.75rem;color:var(--text-muted)}.progress-bar{height:6px;background:var(--gray-200);border-radius:3px;overflow:hidden;margin-bottom:var(--spacing-sm)}.progress-fill{height:100%;background:linear-gradient(90deg,var(--primary) 0%,var(--primary-light) 100%);border-radius:3px;transition:width .5s ease}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.summary-card{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-md);display:flex;flex-direction:column;gap:4px;box-shadow:var(--shadow-card)}.summary-card.highlight{border-color:var(--primary);background:linear-gradient(135deg,var(--primary-50) 0%,var(--white) 100%)}.summary-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.summary-value{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.summary-value.positive{color:var(--success)}.summary-value.warning{color:var(--warning)}.summary-value.negative{color:var(--error)}.summary-hint{font-size:.7rem;color:var(--text-subtle)}.charts-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.charts-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.chart-card{background:#fff!important;border:none!important;border-radius:var(--radius-lg);padding:var(--spacing-lg);min-height:300px;box-shadow:0 1px 3px #00000014}.chart-card.large{grid-column:span 2}.chart-card.small{min-height:250px}.chart-card.full-width{grid-column:1 / -1;min-height:350px}.chart-card h3{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-md)}.insights-section{background:#fff!important;border:none!important;border-radius:var(--radius-lg);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg);box-shadow:0 1px 3px #00000014}.insights-section h3{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-md)}.insights-section.compact{padding:var(--spacing-md)}.insights-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--spacing-md)}.insight-card{background:var(--color-surface);border-radius:var(--radius-md);padding:var(--spacing-md);border-left:4px solid var(--gray-400)}.insight-card.insight-warning{border-left-color:var(--warning);background:#6666660f}.insight-card.insight-success{border-left-color:var(--success);background:#1b5e370f}.insight-card.insight-opportunity{border-left-color:var(--primary);background:var(--primary-50)}.insight-card.insight-critical{border-left-color:var(--error);background:#dc26260f}.insight-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.insight-icon{font-size:1.25rem}.insight-category{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.insight-message{font-size:.875rem;color:var(--text-primary);margin-bottom:8px}.insight-action,.insight-impact{font-size:.75rem;color:var(--text-muted);margin-top:8px}.insight-action strong,.insight-impact strong{color:var(--text-secondary)}.insight-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--spacing-md)}.insight-cards .insight-card{display:flex;gap:var(--spacing-md);align-items:flex-start}.insight-content{flex:1}.insight-content strong{display:block;color:var(--text-primary);margin-bottom:4px}.insight-content p{font-size:.8rem;color:var(--text-muted);margin:0;line-height:1.5}.quick-nav{margin-top:var(--spacing-lg)}.quick-nav h3{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-md)}.nav-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-md)}.nav-card{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-md);cursor:pointer;transition:all var(--transition-fast);display:flex;flex-direction:column;gap:8px;box-shadow:var(--shadow-card)}.nav-card:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:var(--shadow-elevated)}.nav-icon{font-size:1.5rem}.nav-title{font-weight:600;color:var(--text-primary)}.nav-desc{font-size:.75rem;color:var(--text-muted)}.table-section{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg);overflow:hidden;box-shadow:var(--shadow-card)}.table-section h3{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-md)}.table-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md);flex-wrap:wrap;gap:var(--spacing-sm)}.table-controls{display:flex;gap:var(--spacing-sm)}.table-controls select{background:var(--white);color:var(--text-primary);border:1px solid var(--color-border);padding:6px 12px;border-radius:var(--radius-sm);font-size:.8rem}.table-container{overflow-x:auto}.table-container table{width:100%;border-collapse:collapse}.table-container th,.table-container td{padding:12px;text-align:left;border-bottom:1px solid var(--color-border);font-size:.875rem}.table-container th{background:var(--color-surface);color:var(--text-secondary);font-weight:600;text-transform:uppercase;font-size:.75rem;letter-spacing:.05em}.table-container td{color:var(--text-primary)}.table-container tr:hover td{background:var(--primary-50)}.table-container td.highlight{color:var(--primary);font-weight:600}.table-container td.positive{color:var(--success)}.table-container td.warning{color:var(--warning)}.table-container td.negative{color:var(--error-400)}.table-container tfoot td{background:var(--gray-750);font-weight:600}.gpm-excellent{color:var(--success-400)!important}.gpm-good{color:var(--primary-400)!important}.gpm-fair{color:var(--warning-400)!important}.gpm-poor{color:var(--error-400)!important}.turnover-excellent{color:var(--success-400)!important}.turnover-good{color:var(--primary-400)!important}.turnover-fair{color:var(--warning-400)!important}.turnover-slow,.stockout-critical{color:var(--error-400)!important}.stockout-warning{color:var(--warning-400)!important}.stockout-caution{color:var(--warning-300)!important}.stockout-ok,.productivity-excellent{color:var(--success-400)!important}.productivity-good{color:var(--primary-400)!important}.productivity-fair{color:var(--warning-400)!important}.productivity-needs-improvement{color:var(--error-400)!important}.badge{display:inline-block;padding:2px 8px;border-radius:12px;font-size:.7rem;font-weight:600;text-transform:uppercase}.badge.success{background:#1b5e3733;color:var(--success-400)}.badge.warning{background:#6663;color:var(--warning-400)}.badge.critical{background:#dc262633;color:var(--error-400)}.badge.info{background:#1b5e3733;color:var(--primary-400)}.type-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:.7rem;font-weight:500}.type-badge.service{background:#1b5e3733;color:var(--primary-400)}.type-badge.product{background:#1b5e3733;color:var(--success-400)}.rank-badge{font-size:1rem}.rank-badge.top3{font-size:1.25rem}.score-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:.75rem;font-weight:600}.score-badge.excellent{background:#1b5e3733;color:var(--success-400)}.score-badge.good{background:#1b5e3733;color:var(--primary-400)}.score-badge.fair{background:#6663;color:var(--warning-400)}.score-badge.poor{background:#dc262633;color:var(--error-400)}.alert-section{background:#6666661a;border:1px solid var(--warning-500);border-radius:var(--radius-lg);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.alert-section h3{color:var(--warning-400);margin-bottom:var(--spacing-md)}.alert-table table{width:100%;border-collapse:collapse}.alert-table th,.alert-table td{padding:10px 12px;text-align:left;font-size:.875rem}.alert-table th{background:#0003;color:var(--gray-300);font-weight:600}.alert-table td{border-bottom:1px solid rgba(102,102,102,.2);color:var(--gray-200)}.alert-table td.suggested{color:var(--success-400);font-weight:600}.analysis-section{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg);box-shadow:var(--shadow-card)}.analysis-section h3{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin-bottom:4px}.section-desc{color:var(--text-muted);font-size:.875rem;margin-bottom:var(--spacing-md)}.cannibalization-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--spacing-md)}.cannibalization-card{background:var(--color-surface);border-radius:var(--radius-md);padding:var(--spacing-md);border-left:4px solid var(--warning)}.product-pair{display:flex;align-items:center;gap:8px;margin-bottom:8px}.product-a,.product-b{font-weight:600;color:var(--text-primary)}.vs{color:var(--text-subtle);font-size:.75rem}.impact{display:flex;gap:8px;margin-bottom:8px;font-size:.875rem}.impact-label{color:var(--text-muted)}.impact-value.negative{color:var(--error);font-weight:600}.recommendation{font-size:.8rem;color:var(--text-muted);font-style:italic}.bundle-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-md)}.bundle-card{background:var(--color-surface);border-radius:var(--radius-md);padding:var(--spacing-md);border-left:4px solid var(--success)}.bundle-products{font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-sm)}.bundle-stats{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-sm)}.bundle-stats .stat{display:flex;flex-direction:column;gap:2px}.stat-label{font-size:.7rem;color:var(--gray-400);text-transform:uppercase}.stat-value{font-weight:600;color:var(--gray-200)}.bundle-pricing{border-top:1px solid var(--gray-600);padding-top:var(--spacing-sm)}.price-row{display:flex;justify-content:space-between;font-size:.875rem;color:var(--gray-300);padding:2px 0}.price-row.suggested{color:var(--primary-400);font-weight:600}.price-row.savings{color:var(--success-400)}.stockout-section{margin-bottom:var(--spacing-lg)}.stockout-section h3{font-size:1.125rem;font-weight:600;color:var(--gray-200);margin-bottom:4px}.stockout-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--spacing-md);margin-top:var(--spacing-md)}.stockout-card{background:var(--gray-800);border:1px solid var(--gray-700);border-radius:var(--radius-md);padding:var(--spacing-md)}.stockout-card.stockout-critical{border-color:var(--error-500);background:#dc26261a}.stockout-card.stockout-warning{border-color:var(--warning-500);background:#6666661a}.stockout-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm)}.product-name{font-weight:600;color:var(--gray-200)}.days-badge{background:var(--gray-700);padding:2px 8px;border-radius:12px;font-size:.75rem;font-weight:600}.stockout-critical .days-badge{background:var(--error-500);color:#fff}.stockout-warning .days-badge{background:var(--warning-500);color:var(--gray-900)}.stockout-details{display:flex;flex-direction:column;gap:4px}.stockout-details .detail{display:flex;justify-content:space-between;font-size:.8rem}.stockout-details .label{color:var(--gray-400)}.stockout-details .value{color:var(--gray-200)}.stockout-details .value.highlight{color:var(--primary-400);font-weight:600}.supplier-section{margin-bottom:var(--spacing-lg)}.supplier-section h3{font-size:1.125rem;font-weight:600;color:var(--gray-200);margin-bottom:var(--spacing-md)}.supplier-table{margin-top:var(--spacing-md);overflow-x:auto}.supplier-table table{width:100%;border-collapse:collapse}.supplier-table th,.supplier-table td{padding:10px 12px;text-align:left;font-size:.875rem;border-bottom:1px solid var(--gray-700)}.supplier-table th{background:var(--gray-750);color:var(--gray-300);font-weight:600}.supplier-table td{color:var(--gray-200)}.pareto-section{background:var(--gray-800);border:1px solid var(--gray-700);border-radius:var(--radius-lg);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.pareto-section h3{font-size:1.125rem;font-weight:600;color:var(--gray-200);margin-bottom:var(--spacing-md)}.pareto-content{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg);align-items:center}.pareto-chart{max-width:250px;margin:0 auto}.pareto-stats{display:flex;flex-direction:column;gap:var(--spacing-md)}.pareto-stat{text-align:center}.pareto-stat.highlight .stat-value{font-size:2.5rem;color:var(--primary-400)}.pareto-insight{background:var(--gray-700);padding:var(--spacing-md);border-radius:var(--radius-md);font-size:.875rem;color:var(--gray-300);line-height:1.5}.segment-section{margin-bottom:var(--spacing-lg)}.segment-section h3{font-size:1.125rem;font-weight:600;color:var(--gray-200);margin-bottom:var(--spacing-md)}.segment-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--spacing-md)}.segment-card{background:var(--gray-800);border:1px solid var(--gray-700);border-radius:var(--radius-lg);padding:var(--spacing-md)}.segment-card.vip{border-color:var(--warning-500);background:linear-gradient(135deg,rgba(102,102,102,.1) 0%,var(--gray-800) 100%)}.segment-card.regular{border-color:var(--primary-500);background:linear-gradient(135deg,rgba(27,94,55,.1) 0%,var(--gray-800) 100%)}.segment-card.occasional{border-color:var(--gray-500)}.segment-card.new{border-color:var(--success-500);background:linear-gradient(135deg,rgba(27,94,55,.1) 0%,var(--gray-800) 100%)}.segment-header{display:flex;align-items:center;gap:8px;margin-bottom:var(--spacing-sm)}.segment-icon{font-size:1.5rem}.segment-name{font-weight:600;color:var(--gray-200)}.segment-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:var(--spacing-sm)}.segment-stat{text-align:center}.segment-stat .stat-value{font-size:1rem;font-weight:600;color:var(--gray-200)}.segment-stat .stat-label{font-size:.65rem;color:var(--gray-400)}.segment-desc{font-size:.75rem;color:var(--gray-400);line-height:1.4}.segment-badge{display:inline-block;padding:2px 8px;border-radius:12px;font-size:.7rem;font-weight:600}.segment-badge.vip{background:#6663;color:var(--warning-400)}.segment-badge.regular{background:#1b5e3733;color:var(--primary-400)}.segment-badge.occasional{background:#6663;color:var(--gray-300)}.segment-badge.new{background:#1b5e3733;color:var(--success-400)}.spotlight-section{background:linear-gradient(135deg,rgba(27,94,55,.1) 0%,var(--gray-800) 100%);border:1px solid var(--primary-500);border-radius:var(--radius-lg);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.spotlight-section h3{font-size:1.125rem;font-weight:600;color:var(--gray-200);margin-bottom:var(--spacing-md)}.spotlight-content{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg);align-items:center}.performer-header{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.performer-avatar{width:48px;height:48px;background:var(--primary-500);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:600;color:#fff}.performer-details h4{font-size:1.125rem;color:var(--gray-100);margin:0}.performer-position{font-size:.875rem;color:var(--gray-400)}.performer-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-sm)}.performer-stats .stat{background:var(--gray-700);padding:var(--spacing-sm);border-radius:var(--radius-sm);text-align:center}.performer-stats .stat-value{font-size:1.125rem;font-weight:600;color:var(--gray-100)}.performer-stats .stat-label{font-size:.7rem;color:var(--gray-400)}.spotlight-chart{max-width:250px;margin:0 auto}.employee-cell{display:flex;align-items:center;gap:8px}.employee-cell .avatar{width:28px;height:28px;background:var(--primary-600);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;color:#fff}.tax-section{margin-bottom:var(--spacing-lg)}.tax-section h3{font-size:1.125rem;font-weight:600;color:var(--gray-200);margin-bottom:var(--spacing-md)}.tax-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--spacing-md)}.tax-card{background:var(--gray-800);border:1px solid var(--gray-700);border-radius:var(--radius-lg);padding:var(--spacing-md)}.tax-header{display:flex;align-items:center;gap:8px;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--gray-700)}.tax-icon{font-size:1.25rem}.tax-title{font-weight:600;color:var(--gray-200)}.tax-details{display:flex;flex-direction:column;gap:8px}.tax-row{display:flex;justify-content:space-between;font-size:.875rem;color:var(--gray-300)}.tax-row .deduct{color:var(--error-400)}.tax-row.total{padding-top:8px;border-top:1px solid var(--gray-700);font-weight:600;color:var(--gray-100)}.tax-row.info{padding-top:8px}.info-text{font-size:.75rem;color:var(--gray-400);font-style:italic}.category-cell{display:flex;align-items:center;gap:8px}.category-icon{font-size:1rem}.trend{font-weight:600}.trend.up{color:var(--error-400)}.trend.down{color:var(--success-400)}.trend.stable{color:var(--gray-400)}.heatmap-analytics .peak-insights{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.peak-card{background:var(--gray-800);border:1px solid var(--gray-700);border-radius:var(--radius-lg);padding:var(--spacing-md)}.peak-card h4{font-size:.875rem;font-weight:600;color:var(--gray-200);margin-bottom:var(--spacing-sm)}.peak-card.recommendation{border-color:var(--primary-500);background:linear-gradient(135deg,rgba(27,94,55,.1) 0%,var(--gray-800) 100%)}.peak-card.recommendation p{font-size:.875rem;color:var(--gray-300);line-height:1.5;margin:0}.peak-list{display:flex;flex-direction:column;gap:8px}.peak-item{display:flex;align-items:center;gap:var(--spacing-sm);font-size:.875rem}.peak-rank{width:24px;height:24px;background:var(--gray-700);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;color:var(--gray-300)}.peak-time{flex:1;color:var(--gray-200)}.peak-value{color:var(--primary-400);font-weight:600}.heatmap-section{background:var(--gray-800);border:1px solid var(--gray-700);border-radius:var(--radius-lg);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.heatmap-section h3{font-size:1.125rem;font-weight:600;color:var(--gray-200);margin-bottom:var(--spacing-md)}.heatmap-container{overflow-x:auto}.heatmap-grid{display:flex;flex-direction:column;gap:2px;min-width:800px}.heatmap-row{display:flex;gap:2px}.heatmap-row.header{margin-bottom:4px}.heatmap-cell{flex:1;min-width:50px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:4px;font-size:.7rem;transition:transform .2s}.heatmap-cell.day-label{background:transparent;color:var(--gray-300);font-weight:600;justify-content:flex-end;padding-right:8px;min-width:60px;flex:none}.heatmap-cell.hour-label{background:transparent;color:var(--gray-400);font-size:.65rem;height:24px}.heatmap-cell.data{cursor:pointer;position:relative}.heatmap-cell.data:hover{transform:scale(1.1);z-index:1}.cell-value{color:#fff;font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.5)}.heatmap-legend{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.legend-label{font-size:.75rem;color:var(--gray-400)}.legend-gradient{display:flex;gap:2px}.legend-step{width:24px;height:16px;border-radius:2px}@media (max-width: 1200px){.charts-grid{grid-template-columns:1fr}.chart-card.large{grid-column:span 1}.pareto-content,.spotlight-content{grid-template-columns:1fr}.pareto-chart,.spotlight-chart{order:-1}}@media (max-width: 768px){.analytics-dashboard,.analytics-page{padding:var(--spacing-md)}.analytics-header{flex-direction:column;align-items:stretch}.analytics-header .header-left{flex-direction:column;align-items:flex-start}.analytics-header .header-right{justify-content:flex-end}.kpi-grid{grid-template-columns:1fr}.summary-cards{grid-template-columns:repeat(2,1fr)}.realtime-banner{flex-direction:column;gap:var(--spacing-sm);text-align:center}.heatmap-grid{min-width:600px}.heatmap-cell{min-width:35px;height:32px}}@media (max-width: 1280px){.sidebar{width:220px}.sidebar.closed{width:64px}.page-content{padding:var(--spacing-lg)}.brand-logo-img{height:60px}.kpi-grid{grid-template-columns:repeat(2,1fr)}.top-quick-actions{grid-template-columns:repeat(4,1fr)}.cards-grid,.dashboard-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 1024px) and (min-width: 769px){.sidebar{position:fixed;z-index:1000;width:280px;transform:translate(-100%);box-shadow:var(--shadow-xl)}.sidebar.open{transform:translate(0)}.mobile-menu-btn{display:flex}.main-content{margin-left:0;width:100%}.sidebar.open+.main-content:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:#0000004d;z-index:999}.kpi-grid{grid-template-columns:repeat(2,1fr)}.top-quick-actions{grid-template-columns:repeat(4,1fr)}.data-table th,.data-table td{padding:var(--spacing-sm) var(--spacing-md)}}@media (max-width: 768px){:root{--spacing-xl: 1.5rem;--spacing-2xl: 2rem}.sidebar{width:85vw;max-width:320px}.sidebar-header{padding:var(--spacing-md)}.brand-logo-img{height:50px}.nav-item{padding:var(--spacing-sm) var(--spacing-md);font-size:.9375rem}.nav-group-label{padding:var(--spacing-sm) var(--spacing-md);font-size:.75rem}.top-header{padding:var(--spacing-sm) var(--spacing-md);min-height:56px}.header-info .date{font-size:.75rem}.page-content{padding:var(--spacing-sm)}.page-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.page-header h1{font-size:1.25rem}.page-header p{font-size:.8125rem}.header-actions{width:100%;flex-wrap:wrap}.header-actions .btn{flex:1;min-width:120px}.kpi-grid,.cards-grid,.dashboard-grid,.summary-cards{grid-template-columns:1fr;gap:var(--spacing-md)}.top-quick-actions{grid-template-columns:repeat(4,1fr);gap:var(--spacing-sm)}.quick-action-btn{padding:var(--spacing-md) var(--spacing-sm)}.quick-btn-icon{font-size:1.25rem}.quick-btn-text{font-size:.6875rem}.kpi-card{padding:var(--spacing-md)}.kpi-items{grid-template-columns:repeat(2,1fr);gap:var(--spacing-md)}.kpi-value{font-size:1.25rem}.table-responsive,.data-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 calc(var(--spacing-md) * -1);padding:0 var(--spacing-md)}.data-table{min-width:600px}.data-table th,.data-table td{padding:var(--spacing-sm);font-size:.8125rem;white-space:nowrap}.form-row{grid-template-columns:1fr;gap:var(--spacing-md)}.form-group{margin-bottom:var(--spacing-md)}.form-control,.form-select{font-size:16px;padding:var(--spacing-sm) var(--spacing-md)}.btn{min-height:44px;padding:var(--spacing-sm) var(--spacing-md);font-size:.9375rem}.btn-sm{min-height:36px;padding:var(--spacing-xs) var(--spacing-sm)}.modal-content{width:95vw;max-width:none;margin:var(--spacing-sm);max-height:90vh;border-radius:var(--radius-lg)}.modal-header{padding:var(--spacing-md)}.modal-body{padding:var(--spacing-md);max-height:calc(90vh - 140px);overflow-y:auto}.modal-footer{padding:var(--spacing-md);flex-direction:column;gap:var(--spacing-sm)}.modal-footer .btn{width:100%}.card{padding:var(--spacing-md);border-radius:var(--radius-md)}.filter-controls{flex-direction:column;gap:var(--spacing-sm)}.filter-controls>*{width:100%}.tabs-container{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 calc(var(--spacing-md) * -1);padding:0 var(--spacing-md)}.tabs{display:flex;gap:var(--spacing-xs);min-width:max-content}.tab{white-space:nowrap;padding:var(--spacing-sm) var(--spacing-md);font-size:.875rem}.stat-card,.summary-card{padding:var(--spacing-md)}.stat-value{font-size:1.5rem}.actions-row,.button-row{flex-wrap:wrap;gap:var(--spacing-sm)}.calendar-grid{font-size:.75rem}.calendar-day{min-height:60px;padding:var(--spacing-xs)}.appointment-card{padding:var(--spacing-md)}.appointment-card-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}}@media (max-width: 480px){.page-content{padding:var(--spacing-xs)}.page-header h1{font-size:1.125rem}.top-quick-actions{grid-template-columns:repeat(2,1fr)}.header-actions{flex-direction:column}.header-actions .btn{width:100%}.kpi-value{font-size:1.125rem}.data-table th,.data-table td{padding:var(--spacing-xs) var(--spacing-sm);font-size:.75rem}.hide-on-mobile{display:none!important}.card,.kpi-card{padding:var(--spacing-sm)}.summary-cards{grid-template-columns:1fr}.modal-content{width:100vw;height:100vh;max-height:100vh;margin:0;border-radius:0}.modal-body{max-height:calc(100vh - 120px)}.sidebar{width:100vw;max-width:100vw}.calendar-day{min-height:45px;font-size:.6875rem}}@media (hover: none) and (pointer: coarse){.btn:hover,.nav-item:hover,.quick-action-btn:hover,.card:hover{transform:none}.nav-item{min-height:48px}.btn,.form-control,.form-select{min-height:44px}input[type=checkbox],input[type=radio]{min-width:20px;min-height:20px}.action-btn,.icon-btn{min-width:44px;min-height:44px}.btn:active{transform:scale(.98);opacity:.9}.nav-item:active{background:#ffffff26}.quick-action-btn:active{transform:scale(.98);background:var(--color-surface)}}@media (max-height: 500px) and (orientation: landscape){.sidebar{width:200px}.sidebar-header{padding:var(--spacing-sm)}.brand-logo-img{height:40px}.nav-item{padding:var(--spacing-xs) var(--spacing-md)}.modal-content{max-height:95vh}.modal-body{max-height:calc(95vh - 100px)}}.offline-indicator-container{position:fixed;top:0;left:0;right:0;z-index:9999;pointer-events:none}.offline-indicator-container>*{pointer-events:auto}.offline-banner{padding:var(--spacing-sm) var(--spacing-md);display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);font-size:.875rem;animation:slideDown .3s ease-out}.offline-banner.offline{background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff}.offline-banner.reconnected{background:linear-gradient(135deg,var(--color-accent) 0%,var(--color-accent-hover) 100%);color:#fff}.offline-content{display:flex;align-items:center;gap:var(--spacing-sm)}.offline-icon{font-size:1.25rem}.offline-text{display:flex;flex-direction:column;line-height:1.3}.offline-subtext{font-size:.75rem;opacity:.9}.sync-status-bar{background:var(--color-surface);border-bottom:1px solid var(--color-border);padding:var(--spacing-xs) var(--spacing-md);display:flex;align-items:center;justify-content:space-between;font-size:.8rem;color:var(--color-text-muted)}.sync-status-content{display:flex;align-items:center;gap:var(--spacing-md)}.sync-spinner{width:14px;height:14px;border:2px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:spin .8s linear infinite}.sync-pending{color:var(--color-text-muted)}.sync-failed{color:var(--color-error);font-weight:500}.sync-actions{display:flex;gap:var(--spacing-sm)}.sync-btn{background:var(--color-accent);color:#fff;border:none;padding:4px 12px;border-radius:var(--radius-sm);font-size:.75rem;cursor:pointer;transition:background .2s}.sync-btn:hover{background:var(--color-accent-hover)}.sync-btn.retry{background:var(--color-text-muted)}.sync-btn.retry:hover{background:var(--color-text-primary)}@keyframes slideDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.app-layout.has-offline-banner .main-content{padding-top:calc(var(--header-height) + 40px)}@media print{.sidebar,.top-header,.mobile-menu-btn,.stock-alert-banner,.btn,.action-btn{display:none!important}.main-content{margin:0;padding:0;width:100%}.page-content{padding:0}.card,.kpi-card{box-shadow:none;border:1px solid #ddd;break-inside:avoid}}.flex{display:flex}.inline-flex{display:inline-flex}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-stretch{align-items:stretch}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.flex-1{flex:1}.flex-auto{flex:auto}.flex-none{flex:none}.flex-grow{flex-grow:1}.flex-shrink-0{flex-shrink:0}.gap-xs{gap:var(--spacing-xs)}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.gap-xl{gap:var(--spacing-xl)}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.flex-gap-sm{display:flex;gap:var(--spacing-sm)}.flex-gap-md{display:flex;gap:var(--spacing-md)}.m-0{margin:0}.m-xs{margin:var(--spacing-xs)}.m-sm{margin:var(--spacing-sm)}.m-md{margin:var(--spacing-md)}.m-lg{margin:var(--spacing-lg)}.m-xl{margin:var(--spacing-xl)}.mt-0{margin-top:0}.mt-xs{margin-top:var(--spacing-xs)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mt-xl{margin-top:var(--spacing-xl)}.mb-0{margin-bottom:0}.mb-xs{margin-bottom:var(--spacing-xs)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-xl{margin-bottom:var(--spacing-xl)}.ml-0{margin-left:0}.ml-xs{margin-left:var(--spacing-xs)}.ml-sm{margin-left:var(--spacing-sm)}.ml-md{margin-left:var(--spacing-md)}.ml-lg{margin-left:var(--spacing-lg)}.ml-auto{margin-left:auto}.mr-0{margin-right:0}.mr-xs{margin-right:var(--spacing-xs)}.mr-sm{margin-right:var(--spacing-sm)}.mr-md{margin-right:var(--spacing-md)}.mr-lg{margin-right:var(--spacing-lg)}.mr-auto{margin-right:auto}.mx-auto{margin-left:auto;margin-right:auto}.my-auto{margin-top:auto;margin-bottom:auto}.m-auto{margin:auto}.p-0{padding:0}.p-xs{padding:var(--spacing-xs)}.p-sm{padding:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.p-xl{padding:var(--spacing-xl)}.pt-0{padding-top:0}.pt-xs{padding-top:var(--spacing-xs)}.pt-sm{padding-top:var(--spacing-sm)}.pt-md{padding-top:var(--spacing-md)}.pt-lg{padding-top:var(--spacing-lg)}.pb-0{padding-bottom:0}.pb-xs{padding-bottom:var(--spacing-xs)}.pb-sm{padding-bottom:var(--spacing-sm)}.pb-md{padding-bottom:var(--spacing-md)}.pb-lg{padding-bottom:var(--spacing-lg)}.text-xs{font-size:.75rem}.text-sm{font-size:.875rem}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.text-3xl{font-size:1.875rem}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-primary{color:var(--primary)}.text-gray-500{color:var(--gray-500)}.text-gray-600{color:var(--gray-600)}.text-gray-700{color:var(--gray-700)}.text-gray-900{color:var(--gray-900)}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.text-error{color:var(--error)}.text-white{color:var(--white)}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.bg-white{background-color:var(--white)}.bg-gray-50{background-color:var(--gray-50)}.bg-gray-100{background-color:var(--gray-100)}.bg-gray-200{background-color:var(--gray-200)}.bg-primary{background-color:var(--primary)}.bg-primary-light{background-color:var(--primary-light)}.bg-success{background-color:var(--success)}.bg-warning{background-color:var(--warning)}.bg-error{background-color:var(--error)}.border{border:1px solid var(--gray-200)}.border-0{border:none}.border-t{border-top:1px solid var(--gray-200)}.border-b{border-bottom:1px solid var(--gray-200)}.border-l{border-left:1px solid var(--gray-200)}.border-r{border-right:1px solid var(--gray-200)}.rounded{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-full{border-radius:9999px}.w-full{width:100%}.w-auto{width:auto}.h-full{height:100%}.h-auto{height:auto}.block{display:block}.inline-block{display:inline-block}.hidden{display:none}.chart-container-sm{height:200px;margin-top:var(--spacing-md)}.chart-container-md{height:250px;margin-top:var(--spacing-md)}.chart-container-lg{height:300px;margin-top:var(--spacing-lg)}.chart-container-xl{height:350px;margin-top:var(--spacing-lg)}.cursor-pointer{cursor:pointer}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-100{z-index:100}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow{box-shadow:var(--shadow)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-none{box-shadow:none}.transition{transition:all .2s ease-in-out}.transition-colors{transition:background-color .2s ease-in-out,color .2s ease-in-out,border-color .2s ease-in-out}.transition-transform{transition:transform .2s ease-in-out}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-100{opacity:1}@media (max-width: 768px){.hidden-mobile{display:none!important}.flex-col-mobile{flex-direction:column}}@media (min-width: 769px){.hidden-desktop{display:none!important}}.skeleton{background:linear-gradient(90deg,#e0e0e0 25%,#f0f0f0,#e0e0e0 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s infinite ease-in-out}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-card{background:var(--color-white);border-radius:12px;padding:20px;box-shadow:0 1px 3px #0000001a}.skeleton-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-bottom:24px}.skeleton-charts-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:20px;margin-bottom:24px}.skeleton-chart-container{background:var(--color-white);border-radius:12px;padding:20px;box-shadow:0 1px 3px #0000001a}.skeleton-chart{display:flex;flex-direction:column}.skeleton-chart-bars{display:flex;align-items:flex-end;justify-content:space-around;flex:1;gap:12px;padding:0 20px}.skeleton-bar{flex:1;background:linear-gradient(90deg,#e0e0e0 25%,#f0f0f0,#e0e0e0 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s infinite ease-in-out;border-radius:4px 4px 0 0}.skeleton-section{background:var(--color-white);border-radius:12px;padding:20px;box-shadow:0 1px 3px #0000001a}.skeleton-table{width:100%}.skeleton-table-header{display:flex;gap:24px;padding:12px 0;border-bottom:1px solid var(--color-border);margin-bottom:8px}.skeleton-table-row{display:flex;gap:24px;padding:16px 0;border-bottom:1px solid var(--color-border-light)}.skeleton-filters{display:flex;gap:12px;margin-bottom:20px}.skeleton-list{display:flex;flex-direction:column;gap:12px}.skeleton-list-item{display:flex;align-items:center;gap:16px;padding:16px;background:var(--color-white);border-radius:8px;box-shadow:0 1px 3px #0000001a}.skeleton-list-content{flex:1}.pos-skeleton{display:grid;grid-template-columns:1fr 350px;gap:20px;height:calc(100vh - 140px)}.skeleton-products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px;align-content:start}.skeleton-product-card{background:var(--color-white);border-radius:12px;padding:12px;box-shadow:0 1px 3px #0000001a}.skeleton-cart{background:var(--color-white);border-radius:12px;padding:16px;display:flex;flex-direction:column;box-shadow:0 1px 3px #0000001a}.skeleton-cart-items{flex:1;display:flex;flex-direction:column;gap:12px;margin:16px 0}.skeleton-cart-item{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--color-border-light)}.dashboard-skeleton{padding:20px}@media (max-width: 768px){.skeleton-charts-row,.pos-skeleton{grid-template-columns:1fr}}.pwa-install-prompt{position:fixed;bottom:20px;left:50%;transform:translate(-50%);z-index:9999;animation:pwa-slide-up .3s ease-out}@keyframes pwa-slide-up{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.pwa-prompt-content{display:flex;align-items:center;gap:12px;background:var(--color-white);padding:12px 16px;border-radius:12px;box-shadow:0 4px 20px #00000026;border:1px solid var(--color-border);max-width:400px}.pwa-prompt-icon img{border-radius:10px}.pwa-prompt-text{flex:1}.pwa-prompt-text h3{margin:0;font-size:14px;font-weight:600;color:var(--color-text)}.pwa-prompt-text p{margin:2px 0 0;font-size:12px;color:var(--color-text-secondary)}.pwa-ios-icon{font-size:14px}.pwa-prompt-actions{display:flex;align-items:center;gap:8px}.pwa-install-btn{background:var(--color-primary);color:#fff;border:none;padding:8px 16px;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:background .2s}.pwa-install-btn:hover{background:var(--color-primary-dark)}.pwa-dismiss-btn{background:none;border:none;font-size:20px;color:var(--color-text-secondary);cursor:pointer;padding:4px 8px;line-height:1}.pwa-dismiss-btn:hover{color:var(--color-text)}@media (max-width: 480px){.pwa-install-prompt{left:10px;right:10px;transform:none}.pwa-prompt-content{max-width:none}}.optimized-image{display:inline-block;border-radius:inherit}.optimized-image picture{display:block;width:100%;height:100%}.optimized-image img{display:block;border-radius:inherit}.optimized-image-skeleton,.optimized-image-error{border-radius:inherit}@keyframes optimized-image-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.optimized-image-skeleton{animation:optimized-image-shimmer 1.5s ease-in-out infinite}.employees-page{padding:var(--spacing-lg)}.employees-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--spacing-lg);margin-top:var(--spacing-lg)}.employee-card{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:var(--spacing-lg);transition:all var(--transition-fast);position:relative}.employee-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.employee-card.inactive{opacity:.6;background:var(--gray-50)}.employee-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-md)}.employee-avatar{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:var(--white);display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:600;text-transform:uppercase}.employee-status-badge{font-size:.75rem;padding:4px 10px;border-radius:var(--radius-full);font-weight:500}.employee-card .employee-status-badge{background:var(--success-light);color:var(--success-dark)}.employee-card.inactive .employee-status-badge{background:var(--gray-200);color:var(--gray-600)}.employee-name{font-size:1.15rem;margin:var(--spacing-sm) 0;color:var(--gray-900);font-weight:600}.employee-position{font-size:.9rem;color:var(--gray-600);margin-bottom:var(--spacing-md);font-weight:500}.employee-details{margin:var(--spacing-md) 0}.employee-details .detail-row{display:flex;justify-content:space-between;padding:var(--spacing-xs) 0;border-bottom:1px solid var(--gray-100);font-size:.875rem}.employee-details .detail-row:last-child{border-bottom:none}.employee-details .label{color:var(--gray-600);font-weight:500}.employee-details .value{color:var(--gray-900);text-align:right;font-weight:500}.employee-details .value.small{font-size:.8rem;word-break:break-all}.role-badge{display:inline-block;padding:2px 8px;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;text-transform:uppercase;background:var(--primary-light);color:var(--primary-dark)}.employee-skills{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--gray-200)}.skill-badge{font-size:.75rem;padding:4px 10px;background:var(--gray-100);color:var(--gray-700);border-radius:var(--radius-full);font-weight:500}.employee-actions{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--gray-200)}.employee-actions .btn{flex:1}.view-toggle{display:flex;gap:var(--spacing-xs)}.view-toggle .btn{min-width:80px}.table-container{margin-top:var(--spacing-lg);overflow-x:auto;background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--gray-200)}.data-table{width:100%;border-collapse:collapse}.data-table thead{background:var(--gray-50);border-bottom:2px solid var(--gray-200)}.data-table th{padding:var(--spacing-md);text-align:left;font-weight:600;color:var(--gray-700);font-size:.875rem;text-transform:uppercase;letter-spacing:.5px}.data-table tbody tr{border-bottom:1px solid var(--gray-100);transition:background var(--transition-fast)}.data-table tbody tr:hover{background:var(--gray-50)}.data-table tbody tr.inactive-row{opacity:.5}.data-table td{padding:var(--spacing-md);font-size:.875rem;color:var(--gray-900)}.employee-name-cell{display:flex;align-items:center;gap:var(--spacing-sm);font-weight:500}.table-avatar{width:35px;height:35px;border-radius:50%;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:var(--white);display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:600;text-transform:uppercase;flex-shrink:0}.small-text{font-size:.8rem!important;color:var(--gray-600)!important}.status-active{background:var(--success-light);color:var(--success-dark)}.status-inactive{background:var(--gray-200);color:var(--gray-600)}.actions-cell{display:flex;gap:var(--spacing-xs);justify-content:flex-end}.employee-modal{max-width:700px;max-height:90vh;overflow-y:auto}.rate-type-toggle{display:flex;gap:var(--spacing-xs);margin-bottom:var(--spacing-xs)}.rate-type-toggle .btn{flex:1;min-width:100px}.form-help{display:block;font-size:.75rem;color:var(--gray-500);margin-top:var(--spacing-xs)}.skills-selector{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-sm);padding:var(--spacing-md);background:var(--gray-50);border-radius:var(--radius-md);border:1px solid var(--gray-200)}.skill-checkbox{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-sm);transition:background var(--transition-fast)}.skill-checkbox:hover{background:var(--white)}.skill-checkbox input[type=checkbox]{margin:0;cursor:pointer}.skill-checkbox span{font-size:.875rem;color:var(--gray-700);-webkit-user-select:none;user-select:none}@media (max-width: 1024px){.employees-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.skills-selector{grid-template-columns:1fr}}@media (max-width: 768px){.employees-page{padding:var(--spacing-md)}.employees-grid{grid-template-columns:1fr}.view-toggle{display:none}.table-container{overflow-x:scroll}.data-table{min-width:900px}.employee-actions{flex-direction:column}.actions-cell{flex-direction:column;align-items:stretch}}.customers-page{padding:var(--spacing-lg)}.customers-tabs{display:flex;gap:0;margin-bottom:var(--spacing-lg);border-bottom:1px solid var(--gray-200)}.customer-tab{padding:var(--spacing-sm) var(--spacing-md);background:transparent;border:none;border-bottom:3px solid transparent;margin-bottom:-1px;font-size:.9rem;font-weight:600;color:var(--gray-600);cursor:pointer;position:relative;transition:all var(--transition-fast)}.customer-tab:hover{color:var(--gray-900)}.customer-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.customers-search{background:var(--white);border:1px solid var(--gray-200);border-radius:8px;padding:var(--spacing-md);margin-bottom:var(--spacing-lg)}.customers-search input{width:100%;padding:10px 14px;border:1px solid var(--gray-200);border-radius:6px;font-size:.9rem;color:var(--gray-900)}.customers-search input:focus{outline:none;border-color:var(--primary)}.customers-search input::placeholder{color:var(--gray-400)}.customers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--spacing-lg)}.customer-card{background:var(--white);border:1px solid var(--gray-200);border-radius:8px;padding:var(--spacing-lg);transition:border-color .2s,box-shadow .2s}.customer-card:hover{border-color:var(--primary);box-shadow:0 2px 8px #0000000f}.customer-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-md)}.customer-avatar{width:56px;height:56px;border-radius:50%;background:var(--primary);color:var(--white);display:flex;align-items:center;justify-content:center;font-size:1.2rem;font-weight:600;text-transform:uppercase}.loyalty-badge{background:var(--gray-100);color:var(--gray-600);padding:4px 10px;border-radius:20px;font-size:.7rem;font-weight:600;display:flex;align-items:center;gap:4px;border:1px solid var(--gray-200);cursor:pointer;transition:border-color .2s}.loyalty-badge:hover{border-color:var(--primary)}.loyalty-badge.bronze{background:var(--gray-100);color:#92400e;border-color:#d97706}.loyalty-badge.silver{background:var(--gray-100);color:var(--gray-600);border-color:var(--gray-400)}.loyalty-badge.gold{background:var(--gray-100);color:#92400e;border-color:#d97706}.loyalty-badge.platinum{background:var(--gray-100);color:var(--primary);border-color:var(--primary)}.customer-name{font-size:1.1rem;margin:0 0 var(--spacing-xs) 0;color:var(--gray-900);font-weight:600}.customer-contact-info{margin:var(--spacing-md) 0;padding:var(--spacing-sm) var(--spacing-md);background:var(--gray-100);border-radius:6px}.contact-item{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:.8rem;color:var(--gray-600)}.contact-item-icon{width:16px;text-align:center;font-size:.75rem}.customer-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md);margin:var(--spacing-md) 0;padding:var(--spacing-md) 0;border-top:1px solid var(--gray-200);border-bottom:1px solid var(--gray-200)}.stat-item{text-align:center}.stat-value{display:block;font-size:1.25rem;font-weight:700;color:var(--gray-900);margin-bottom:2px}.stat-label{display:block;font-size:.65rem;color:var(--gray-400);text-transform:uppercase;letter-spacing:.5px}.customer-notes{margin:var(--spacing-md) 0;padding:var(--spacing-sm) var(--spacing-md);background:var(--gray-100);border-radius:6px;font-size:.8rem;color:var(--gray-600);font-style:italic}.customer-notes:empty{display:none}.customer-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:var(--spacing-md)}.customer-actions .btn{padding:6px 12px;font-size:.75rem;font-weight:500;border-radius:4px;cursor:pointer;transition:all .2s}.customer-actions .btn-secondary{background:var(--white);color:var(--gray-900);border:1px solid var(--gray-200)}.customer-actions .btn-secondary:hover{border-color:var(--primary);color:var(--primary)}.customer-actions .btn-primary{background:var(--primary);color:var(--white);border:1px solid var(--primary)}.customer-actions .btn-primary:hover{background:#145a2c}.customer-actions .btn-success{background:var(--white);color:var(--primary);border:1px solid var(--primary)}.customer-actions .btn-success:hover{background:var(--primary);color:var(--white)}.customer-actions .btn-error{background:var(--white);color:var(--error);border:1px solid var(--gray-200)}.customer-actions .btn-error:hover{border-color:var(--error)}.customer-actions .btn-points{background:var(--white);color:#92400e;border:1px solid #d97706}.customer-actions .btn-points:hover{background:#fef3c7}.customer-modal{max-width:550px;max-height:90vh;overflow-y:auto}.birthday-indicator{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:var(--gray-100);color:var(--primary);border:1px solid var(--primary);border-radius:20px;font-size:.75rem;font-weight:500;margin-left:var(--spacing-sm)}.purchase-history-modal{max-width:700px;max-height:90vh}.purchase-history-list{max-height:400px;overflow-y:auto}.purchase-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);border:1px solid var(--gray-200);border-radius:6px;margin-bottom:var(--spacing-sm);background:var(--white)}.purchase-item:hover{border-color:var(--primary)}.purchase-details h4{margin:0 0 4px;font-size:.9rem;color:var(--gray-900)}.purchase-meta{font-size:.75rem;color:var(--gray-600)}.purchase-amount{font-size:1.1rem;font-weight:700;color:var(--primary)}.no-purchases{text-align:center;padding:var(--spacing-xl);color:var(--gray-600);font-style:italic}.loyalty-overview{background:var(--white);border:1px solid var(--gray-200);border-radius:8px;padding:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.loyalty-tiers-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-md);margin-top:var(--spacing-md)}.loyalty-tier-card{background:var(--gray-100);border:1px solid var(--gray-200);border-radius:8px;padding:var(--spacing-md);text-align:center}.loyalty-tier-card h4{margin:0 0 var(--spacing-xs) 0;font-size:1rem;color:var(--gray-900)}.loyalty-tier-card .tier-points{font-size:.8rem;color:var(--gray-600)}.loyalty-tier-card .tier-benefits{margin-top:var(--spacing-sm);font-size:.75rem;color:var(--gray-600)}.rewards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--spacing-md)}.reward-card{background:var(--white);border:1px solid var(--gray-200);border-radius:8px;padding:var(--spacing-md);cursor:pointer;transition:border-color .2s}.reward-card:hover{border-color:var(--primary)}.reward-card.selected{border-color:var(--primary);background:#1b5e370d}.reward-card .reward-icon{font-size:2rem;margin-bottom:var(--spacing-sm)}.reward-card .reward-name{font-weight:600;color:var(--gray-900);margin-bottom:4px}.reward-card .reward-points{font-size:.8rem;color:var(--primary);font-weight:600}.loyalty-program-section{padding:0}.loyalty-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.loyalty-stat-card{background:var(--white);border:1px solid var(--gray-200);border-radius:8px;padding:var(--spacing-lg);text-align:center;transition:border-color .2s}.loyalty-stat-card:hover{border-color:var(--primary)}.loyalty-stat-card.primary{background:var(--primary);color:var(--white);border-color:var(--primary)}.loyalty-stat-card.secondary{background:var(--gray-100);border-color:var(--gray-200)}.loyalty-stat-card .stat-label{font-size:.75rem;color:var(--gray-600);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.loyalty-stat-card.primary .stat-label{color:#fffc}.loyalty-stat-card .stat-value{font-size:1.75rem;font-weight:700;color:var(--gray-900)}.loyalty-stat-card.primary .stat-value{color:var(--white)}.loyalty-stat-card .tier-icon{font-size:1.5rem;margin-bottom:4px}.loyalty-stat-card .tier-name{font-size:.8rem;font-weight:600;color:var(--gray-600);margin-bottom:4px}.loyalty-section-header{font-size:1rem;font-weight:600;color:var(--gray-900);margin-bottom:var(--spacing-md);display:flex;align-items:center;gap:8px}.loyalty-tiers-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.loyalty-tier-card{background:var(--white);border:1px solid var(--gray-200);border-radius:8px;padding:var(--spacing-lg);position:relative;transition:border-color .2s}.loyalty-tier-card:hover{border-color:var(--primary)}.loyalty-tier-card .tier-points-badge{position:absolute;top:12px;right:12px;background:var(--gray-100);color:var(--gray-600);padding:4px 10px;border-radius:20px;font-size:.7rem;font-weight:600;border:1px solid var(--gray-200)}.loyalty-tier-card .tier-icon{font-size:2rem;margin-bottom:8px}.loyalty-tier-card .tier-name{font-size:1rem;font-weight:600;color:var(--gray-900);margin-bottom:8px}.loyalty-tier-card .tier-discount{display:inline-block;background:var(--gray-100);color:var(--primary);padding:4px 10px;border-radius:4px;font-size:.75rem;font-weight:600;border:1px solid var(--primary);margin-bottom:12px}.loyalty-tier-card .tier-benefits{list-style:none;padding:0;margin:0}.loyalty-tier-card .tier-benefits li{font-size:.8rem;color:var(--gray-600);margin-bottom:4px;padding-left:16px;position:relative}.loyalty-tier-card .tier-benefits li:before{content:"✓";position:absolute;left:0;color:var(--primary)}.loyalty-rewards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.loyalty-reward-card{background:var(--white);border:1px solid var(--gray-200);border-radius:8px;padding:var(--spacing-md);display:flex;align-items:center;gap:var(--spacing-md);transition:border-color .2s}.loyalty-reward-card:hover{border-color:var(--primary)}.loyalty-reward-card .reward-icon{font-size:2rem;flex-shrink:0}.loyalty-reward-card .reward-content{flex:1}.loyalty-reward-card .reward-name{font-size:.9rem;font-weight:600;color:var(--gray-900);margin-bottom:2px}.loyalty-reward-card .reward-description{font-size:.75rem;color:var(--gray-600);margin-bottom:8px}.loyalty-reward-card .reward-points{display:inline-block;background:var(--gray-100);color:var(--primary);padding:4px 10px;border-radius:20px;font-size:.75rem;font-weight:600;border:1px solid var(--gray-200)}.loyalty-members-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--spacing-lg)}.loyalty-member-card{background:var(--white);border:1px solid var(--gray-200);border-radius:8px;padding:var(--spacing-lg);transition:border-color .2s}.loyalty-member-card:hover{border-color:var(--primary)}.loyalty-member-card .member-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-md)}.loyalty-member-card .member-avatar{width:48px;height:48px;border-radius:50%;background:var(--gray-100);border:1px solid var(--gray-200);display:flex;align-items:center;justify-content:center;font-size:1.25rem}.loyalty-member-card .member-tier-badge{background:var(--gray-100);color:var(--gray-600);padding:4px 10px;border-radius:20px;font-size:.7rem;font-weight:600;border:1px solid var(--gray-200)}.loyalty-member-card .member-name{font-size:1rem;font-weight:600;color:var(--gray-900);margin-bottom:var(--spacing-md)}.loyalty-member-card .member-points{text-align:center;margin-bottom:var(--spacing-md)}.loyalty-member-card .member-points .points-value{font-size:1.5rem;font-weight:700;color:var(--primary)}.loyalty-member-card .member-points .points-label{font-size:.7rem;color:var(--gray-400);text-transform:uppercase}.loyalty-progress{margin-bottom:var(--spacing-md)}.loyalty-progress .progress-labels{display:flex;justify-content:space-between;font-size:.7rem;color:var(--gray-600);margin-bottom:4px}.loyalty-progress .progress-bar{background:var(--gray-200);border-radius:10px;height:6px;overflow:hidden}.loyalty-progress .progress-fill{height:100%;background:var(--primary);border-radius:10px;transition:width .3s}.loyalty-progress .progress-text{font-size:.7rem;color:var(--gray-600);text-align:center;margin-top:4px}.loyalty-member-card .member-actions{display:flex;gap:8px;justify-content:center}.loyalty-member-card .member-actions .btn{padding:6px 14px;font-size:.75rem;font-weight:500;border-radius:4px;cursor:pointer;transition:all .2s}@media (max-width: 1024px){.customers-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.loyalty-tiers-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.customers-page{padding:var(--spacing-md)}.customers-grid{grid-template-columns:1fr}.customer-stats{grid-template-columns:1fr 1fr}.customer-actions{flex-wrap:wrap}.customer-actions .btn{flex:1;min-width:calc(50% - 4px)}.customers-tabs{overflow-x:auto}.loyalty-stats-grid{grid-template-columns:repeat(2,1fr)}.loyalty-tiers-grid,.loyalty-rewards-grid,.loyalty-members-grid{grid-template-columns:1fr}}.appointments-page{padding:var(--spacing-lg)}.view-mode-toggle{display:flex;gap:var(--spacing-xs);margin-bottom:var(--spacing-md)}.calendar-view{background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--gray-200);padding:var(--spacing-lg)}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg)}.calendar-title{font-size:1.25rem;font-weight:600;color:var(--gray-900);min-width:200px;text-align:center}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--gray-200);border:1px solid var(--gray-200);border-radius:var(--radius-md);overflow:hidden}.calendar-day-header{background:var(--gray-100);padding:var(--spacing-md);text-align:center;font-weight:600;font-size:.875rem;color:var(--gray-700);text-transform:uppercase}.calendar-day{background:var(--white);min-height:100px;padding:var(--spacing-sm);position:relative;cursor:pointer;transition:background var(--transition-fast)}.calendar-day.today{background:var(--primary-light);border:2px solid var(--primary)}.calendar-day-number{font-size:.875rem;font-weight:600;color:var(--gray-700);margin-bottom:var(--spacing-xs)}.calendar-day.today .calendar-day-number{color:var(--primary-dark)}.calendar-appointments{display:flex;flex-direction:column;gap:2px}.calendar-appointment-dot{width:100%;padding:2px 4px;background:var(--primary);color:var(--white);font-size:.7rem;border-radius:var(--radius-sm);text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.calendar-appointment-dot.pending{background:var(--warning)}.calendar-appointment-dot.confirmed{background:var(--success)}.calendar-appointment-dot.cancelled{background:var(--gray-400)}.appointments-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.appointment-card{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:var(--spacing-lg);display:flex;gap:var(--spacing-lg);transition:all var(--transition-fast)}.appointment-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.appointment-time-block{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:100px;padding:var(--spacing-md);background:var(--primary-light);border-radius:var(--radius-md);border-left:4px solid var(--primary)}.appointment-time-block.pending{background:var(--warning-light);border-left-color:var(--warning)}.appointment-time-block.confirmed{background:var(--success-light);border-left-color:var(--success)}.appointment-time-block.completed{background:var(--gray-100);border-left-color:var(--gray-400)}.appointment-time-block.cancelled{background:var(--error-light);border-left-color:var(--error)}.appointment-time{font-size:1.5rem;font-weight:700;color:var(--gray-900)}.appointment-date{font-size:.8rem;color:var(--gray-600);margin-top:var(--spacing-xs)}.appointment-details{flex:1}.appointment-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-md)}.appointment-customer{font-size:1.15rem;font-weight:600;color:var(--gray-900);margin-bottom:var(--spacing-xs)}.appointment-service{font-size:.9rem;color:var(--gray-600)}.appointment-status-badge{padding:4px 12px;border-radius:var(--radius-full);font-size:.75rem;font-weight:600;text-transform:uppercase}.appointment-status-badge.completed{background:var(--gray-200);color:var(--gray-700)}.appointment-info{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.appointment-info-item{display:flex;align-items:center;gap:var(--spacing-sm);font-size:.875rem;color:var(--gray-700)}.appointment-info-icon{color:var(--primary);font-size:1rem}.appointment-actions{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--gray-200)}.appointment-modal{max-width:700px;max-height:90vh;overflow-y:auto}.time-slot-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.time-slot-btn{padding:var(--spacing-sm);border:1px solid var(--gray-300);background:var(--white);border-radius:var(--radius-md);cursor:pointer;font-size:.875rem;transition:all var(--transition-fast)}.time-slot-btn:hover{border-color:var(--primary);background:var(--primary-light)}.time-slot-btn.selected{background:var(--primary);color:var(--white);border-color:var(--primary)}.time-slot-btn:disabled{opacity:.5;cursor:not-allowed}.booking-source-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-sm)}.booking-source-btn{padding:var(--spacing-md);border:2px solid var(--gray-300);background:var(--white);border-radius:var(--radius-md);cursor:pointer;text-align:center;transition:all var(--transition-fast)}.booking-source-btn:hover{border-color:var(--primary)}.booking-source-btn.selected{background:var(--primary);color:var(--white);border-color:var(--primary)}.status-change-buttons{display:flex;gap:var(--spacing-sm)}.empty-appointments{text-align:center;padding:var(--spacing-xl) var(--spacing-lg);color:var(--gray-500)}.empty-appointments-icon{font-size:4rem;margin-bottom:var(--spacing-md)}@media (max-width: 1024px){.calendar-day{min-height:80px}.time-slot-grid{grid-template-columns:repeat(3,1fr)}.appointment-info{grid-template-columns:1fr}}@media (max-width: 768px){.appointments-page{padding:var(--spacing-md)}.calendar-grid{gap:0}.calendar-day{min-height:60px;padding:4px}.calendar-day-number{font-size:.75rem}.calendar-appointment-dot{font-size:.6rem;padding:1px 2px}.appointment-card{flex-direction:column}.appointment-time-block{min-width:auto;flex-direction:row;justify-content:space-between}.time-slot-grid{grid-template-columns:repeat(2,1fr)}.booking-source-grid{grid-template-columns:1fr}.appointment-actions{flex-direction:column}}.tabs-container{display:flex;gap:var(--spacing-xs);border-bottom:2px solid var(--gray-200);margin-bottom:var(--spacing-lg)}.tabs-container .tab{padding:var(--spacing-sm) var(--spacing-lg);background:none;border:none;border-bottom:3px solid transparent;font-weight:500;font-size:1rem;cursor:pointer;transition:all .2s ease;color:var(--gray-600)}.tabs-container .tab:hover{color:var(--primary-600);background:var(--primary-50)}.tabs-container .tab.active{color:var(--primary-600);border-bottom-color:var(--primary-600)}.advance-bookings-tab{min-height:400px}.bookings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:var(--spacing-md);margin-top:var(--spacing-lg)}.booking-card{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:var(--spacing-md);box-shadow:var(--shadow-sm);transition:all .2s ease}.booking-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.booking-card.cancelled{opacity:.6;background:var(--gray-50)}.booking-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--gray-100)}.booking-datetime{font-size:.85rem;font-weight:500;color:var(--gray-600)}.status-badge{padding:4px 12px;border-radius:var(--radius-full);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-badge.status-scheduled{background:var(--blue-100);color:var(--blue-700)}.status-badge.status-confirmed{background:var(--green-100);color:var(--green-700)}.status-badge.status-in-progress{background:var(--purple-100);color:var(--purple-700)}.status-badge.status-completed{background:var(--gray-200);color:var(--gray-700)}.status-badge.status-cancelled{background:var(--red-100);color:var(--red-700)}.booking-body{margin-bottom:var(--spacing-md)}.booking-body .client-name{margin-bottom:var(--spacing-sm);font-size:1.1rem;font-weight:600;color:var(--gray-900)}.booking-details{display:flex;flex-direction:column;gap:var(--spacing-xs)}.detail-row{display:flex;align-items:flex-start;gap:var(--spacing-xs);font-size:.9rem;color:var(--gray-700)}.detail-icon{font-size:1rem;flex-shrink:0}.detail-text{flex:1}.detail-text.address{font-size:.85rem;color:var(--gray-600)}.detail-row.special-requests{margin-top:var(--spacing-xs);padding:var(--spacing-xs);background:var(--gray-50);border-radius:var(--radius-sm);font-size:.85rem;color:var(--gray-600);font-style:italic}.payment-info{display:flex;justify-content:space-between;align-items:center;margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--gray-100)}.payment-badge{padding:4px 10px;border-radius:var(--radius-sm);font-size:.8rem;font-weight:600}.payment-badge.paid{background:var(--success-100);color:var(--success-700)}.payment-badge.pending{background:var(--warning-100);color:var(--warning-700)}.payment-info .amount{font-size:1.1rem;font-weight:700;color:var(--primary-600)}.booking-actions{display:flex;gap:var(--spacing-xs);padding-top:var(--spacing-md);border-top:1px solid var(--gray-100)}.booking-actions .btn{flex:1}.booking-actions .status-text{flex:1;text-align:center;padding:var(--spacing-xs);font-weight:500;color:var(--gray-600)}.booking-actions .status-text.cancelled{color:var(--red-600)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xxl);text-align:center}.empty-state-icon{font-size:4rem;margin-bottom:var(--spacing-md);opacity:.5}.empty-state h3{margin-bottom:var(--spacing-sm);color:var(--gray-800)}.empty-state p{color:var(--gray-600);max-width:400px}.conflict-warnings{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.conflict-warning{display:flex;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-md);border-radius:var(--radius-md);background:#fef3c7;border:1px solid #F59E0B}.conflict-warning.therapist-conflict{background:#fee2e2;border-color:#ef4444}.conflict-warning.room-conflict{background:#fef3c7;border-color:#f59e0b}.conflict-icon{font-size:1.25rem;flex-shrink:0}.conflict-details{flex:1}.conflict-details strong{display:block;color:var(--gray-900);margin-bottom:4px}.conflict-details p{margin:0;font-size:.875rem;color:var(--gray-700)}.checking-availability{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--gray-50);border-radius:var(--radius-sm);font-size:.875rem;color:var(--gray-600);margin-bottom:var(--spacing-md)}.spinner-sm{width:16px;height:16px;border:2px solid var(--gray-200);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}@media (max-width: 1024px){.appointments-page,.calendar-view{padding:var(--spacing-md)}.calendar-header{flex-direction:column;gap:var(--spacing-md);align-items:stretch}.calendar-nav{justify-content:center}.calendar-title{font-size:1.125rem;min-width:auto}}@media (max-width: 768px){.appointments-page{padding:var(--spacing-sm)}.view-mode-toggle{width:100%;justify-content:center}.view-mode-toggle .btn{flex:1}.calendar-grid{font-size:.75rem}.calendar-day-header{padding:var(--spacing-sm);font-size:.6875rem}.calendar-day{min-height:70px;padding:var(--spacing-xs)}.calendar-day-number{font-size:.75rem}.calendar-appointment{padding:2px 4px;font-size:.625rem;margin-bottom:2px}.appointment-card{padding:var(--spacing-md)}.appointment-card-header{flex-direction:column;gap:var(--spacing-sm);align-items:flex-start}.appointment-time{font-size:.875rem}.appointment-details{gap:var(--spacing-sm)}.appointment-info{font-size:.8125rem}.appointment-actions{flex-wrap:wrap;gap:var(--spacing-xs)}.appointment-actions .btn{font-size:.75rem;padding:var(--spacing-xs) var(--spacing-sm)}.appointments-filters{flex-direction:column;gap:var(--spacing-sm)}.appointments-filters select,.appointments-filters input{width:100%}}@media (max-width: 480px){.calendar-view{padding:var(--spacing-sm);border-radius:var(--radius-md)}.calendar-day{min-height:55px}.calendar-day-header{padding:var(--spacing-xs)}.calendar-appointment{display:none}.calendar-day .appointment-count{display:block;font-size:.625rem;text-align:center;background:var(--primary);color:#fff;border-radius:var(--radius-full);padding:2px 6px;margin-top:2px}}.attendance-page{padding:var(--spacing-lg)}.attendance-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.attendance-stat-card{background:var(--white);border:1px solid var(--gray-200);border-radius:8px;padding:var(--spacing-lg);text-align:center;transition:border-color .2s}.attendance-stat-card:hover{border-color:var(--primary)}.attendance-stat-card.present{background:var(--primary);border-color:var(--primary)}.attendance-stat-card.present .attendance-stat-value,.attendance-stat-card.present .attendance-stat-label{color:var(--white)}.attendance-stat-card.late{background:var(--white);border-color:#d97706}.attendance-stat-card.late .attendance-stat-value{color:#92400e}.attendance-stat-card.absent{background:var(--white);border-color:var(--error)}.attendance-stat-card.absent .attendance-stat-value{color:var(--error)}.attendance-stat-value{font-size:2rem;font-weight:700;color:var(--gray-900);margin-bottom:4px}.attendance-stat-label{font-size:.75rem;color:var(--gray-600);text-transform:uppercase;letter-spacing:.5px}.quick-clock-section{background:var(--white);border:1px solid var(--gray-200);border-radius:8px;padding:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.quick-clock-section h3{font-size:1rem;font-weight:600;color:var(--gray-900);margin-bottom:var(--spacing-md)}.quick-clock-form{display:flex;gap:var(--spacing-md);align-items:flex-end}.quick-clock-form .form-group{flex:1;margin-bottom:0}.quick-clock-form .form-group label{font-size:.8rem;font-weight:500;color:var(--gray-900);margin-bottom:6px;display:block}.quick-clock-form .form-control{padding:10px 14px;border:1px solid var(--gray-200);border-radius:6px;font-size:.85rem;color:var(--gray-900);background:var(--white)}.quick-clock-form .form-control:focus{outline:none;border-color:var(--primary)}.quick-clock-form .btn{padding:10px 20px;font-size:.85rem;font-weight:500;border-radius:6px;cursor:pointer;transition:all .2s}.quick-clock-form .btn-success{background:var(--white);color:var(--primary);border:1px solid var(--primary)}.quick-clock-form .btn-success:hover:not(:disabled){background:var(--primary);color:var(--white)}.quick-clock-form .btn-primary{background:var(--primary);color:var(--white);border:1px solid var(--primary)}.quick-clock-form .btn-primary:hover:not(:disabled){background:var(--primary-dark);border-color:var(--primary-dark)}.quick-clock-form .btn:disabled{opacity:.5;cursor:not-allowed}.attendance-table-section{background:var(--white);border:1px solid var(--gray-200);border-radius:8px;padding:var(--spacing-lg)}.attendance-table-section h3{font-size:1.1rem;font-weight:600;color:var(--gray-900);margin-bottom:var(--spacing-lg)}.attendance-table{width:100%;border-collapse:collapse}.attendance-table thead{background:var(--gray-100);border-bottom:1px solid var(--gray-200)}.attendance-table th{padding:var(--spacing-md);text-align:left;font-weight:600;color:var(--gray-600);font-size:.75rem;text-transform:uppercase;letter-spacing:.5px}.attendance-table tbody tr{border-bottom:1px solid var(--gray-200);transition:background .2s}.attendance-table tbody tr:hover{background:var(--gray-100)}.attendance-table tbody tr:last-child{border-bottom:none}.attendance-table td{padding:var(--spacing-md);font-size:.85rem;color:var(--gray-900)}.employee-cell{display:flex;align-items:center;gap:var(--spacing-sm)}.employee-mini-avatar{width:36px;height:36px;border-radius:50%;background:var(--gray-100);border:1px solid var(--gray-200);color:var(--gray-900);display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:600;text-transform:uppercase;flex-shrink:0}.employee-info{display:flex;flex-direction:column}.employee-name{font-weight:600;color:var(--gray-900);font-size:.9rem}.employee-position{font-size:.75rem;color:var(--gray-600)}.status-badge{display:inline-block;padding:4px 10px;border-radius:20px;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em}.status-badge.present{background:var(--gray-100);color:var(--primary);border:1px solid var(--primary)}.status-badge.late{background:var(--gray-100);color:#92400e;border:1px solid #d97706}.status-badge.absent{background:var(--gray-100);color:var(--error);border:1px solid var(--error)}.time-cell{font-weight:600;color:var(--primary)}.time-cell.late{color:#92400e}.time-cell.absent{color:var(--gray-400)}.overtime-badge{display:inline-block;padding:4px 10px;background:var(--gray-100);color:var(--primary);border:1px solid var(--primary);border-radius:20px;font-size:.7rem;font-weight:600}.notes-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;color:var(--gray-600);font-style:italic}.attendance-table .btn-xs{padding:4px 10px;font-size:.7rem;font-weight:500;border-radius:4px;cursor:pointer;transition:all .2s}.attendance-table .btn-xs.btn-success{background:var(--white);color:var(--primary);border:1px solid var(--primary)}.attendance-table .btn-xs.btn-success:hover{background:var(--primary);color:var(--white)}.attendance-table .btn-xs.btn-primary{background:var(--primary);color:var(--white);border:1px solid var(--primary)}.attendance-table .btn-xs.btn-primary:hover{background:var(--primary-dark);border-color:var(--primary-dark)}.attendance-history-section{background:var(--white);border:1px solid var(--gray-200);border-radius:8px;padding:var(--spacing-lg);margin-top:var(--spacing-lg)}.history-filters{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.history-filters .form-group{flex:1;margin-bottom:0}.history-filters .form-group label{font-size:.8rem;font-weight:500;color:var(--gray-900);margin-bottom:6px;display:block}.history-filters .form-control{padding:10px 14px;border:1px solid var(--gray-200);border-radius:6px;font-size:.85rem;color:var(--gray-900);background:var(--white)}.history-filters .form-control:focus{outline:none;border-color:var(--primary)}.clock-modal{max-width:500px}.clock-time-display{text-align:center;padding:var(--spacing-xl);background:var(--gray-100);border:1px solid var(--gray-200);border-radius:8px;margin-bottom:var(--spacing-lg)}.clock-time{font-size:2.5rem;font-weight:700;color:var(--primary);margin-bottom:var(--spacing-sm)}.clock-date{font-size:.9rem;color:var(--gray-600)}.clock-status-message{text-align:center;padding:var(--spacing-md);background:var(--gray-100);color:var(--primary);border:1px solid var(--primary);border-radius:6px;margin-bottom:var(--spacing-md);font-size:.85rem}.clock-status-message.error{background:var(--gray-100);color:var(--error);border-color:var(--error)}.todays-attendance-section{background:var(--white);border:1px solid var(--gray-200);border-radius:8px;padding:var(--spacing-lg);margin-bottom:var(--spacing-lg)}@media (max-width: 1024px){.attendance-stats-grid{grid-template-columns:repeat(2,1fr)}.quick-clock-form{flex-wrap:wrap}}@media (max-width: 768px){.attendance-page{padding:var(--spacing-md)}.attendance-stats-grid{grid-template-columns:1fr 1fr;gap:var(--spacing-sm)}.attendance-stat-card{padding:var(--spacing-md)}.attendance-stat-value{font-size:1.5rem}.quick-clock-form{flex-direction:column}.quick-clock-form .form-group,.quick-clock-form .btn{width:100%}.attendance-table-section{overflow-x:auto}.attendance-table{min-width:700px}.history-filters{flex-direction:column}.clock-time{font-size:2rem}}.photo-view-btn{background:none;border:none;cursor:pointer;font-size:1.25rem;padding:4px 8px;border-radius:var(--radius-sm);position:relative;transition:background var(--transition-fast)}.photo-view-btn:hover{background:var(--gray-100)}.photo-count{position:absolute;top:-2px;right:-2px;background:var(--primary);color:var(--white);font-size:.625rem;width:14px;height:14px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600}.no-photos{color:var(--gray-400)}.photo-viewer-modal{max-width:800px}.photo-viewer-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg)}.photo-section{background:var(--gray-50);border-radius:var(--radius-md);padding:var(--spacing-md);border:1px solid var(--gray-200)}.photo-section-title{display:flex;align-items:center;gap:var(--spacing-sm);font-size:1rem;font-weight:600;margin-bottom:var(--spacing-md);color:var(--gray-900)}.photo-type-icon{font-size:.875rem}.photo-container{display:flex;flex-direction:column;gap:var(--spacing-md)}.attendance-photo{width:100%;max-height:250px;object-fit:cover;border-radius:var(--radius-md);border:2px solid var(--gray-200)}.photo-meta{display:flex;flex-direction:column;gap:var(--spacing-sm)}.photo-timestamp,.photo-location{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);align-items:center}.meta-label{font-size:.75rem;color:var(--gray-500);text-transform:uppercase;font-weight:600}.meta-value{font-size:.875rem;color:var(--gray-700);font-weight:500}.map-link{display:inline-flex;align-items:center;gap:4px;font-size:.75rem;color:var(--primary);text-decoration:none;padding:2px 8px;background:#1b5e371a;border-radius:var(--radius-sm);margin-left:var(--spacing-sm)}.map-link:hover{background:#1b5e3733;text-decoration:none}.no-photo-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl);background:var(--gray-100);border-radius:var(--radius-md);border:2px dashed var(--gray-300);min-height:200px}.placeholder-icon{font-size:3rem;opacity:.3;margin-bottom:var(--spacing-sm)}.no-photo-placeholder p{color:var(--gray-500);font-size:.875rem;margin:0}@media (max-width: 768px){.photo-viewer-grid{grid-template-columns:1fr}.attendance-photo{max-height:200px}}.rooms-page{padding:var(--spacing-lg)}.rooms-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--spacing-lg);margin-top:var(--spacing-lg)}.room-card{background:var(--white);border:1px solid var(--gray-200);border-radius:8px;padding:var(--spacing-lg);transition:border-color .2s,box-shadow .2s}.room-card.available{border-color:var(--primary)}.room-card.occupied{border-color:var(--error)}.room-card.pending{border-color:#f59e0b;background:#f59e0b08}.room-card.maintenance{border-color:var(--gray-600)}.room-card:hover{box-shadow:0 2px 8px #00000014}.room-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.room-icon{width:48px;height:48px;border-radius:8px;background:var(--gray-100);border:1px solid var(--gray-200);display:flex;align-items:center;justify-content:center;font-size:1.5rem}.room-status-badge{padding:4px 10px;border-radius:20px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em}.room-status-badge.available{background:var(--gray-100);color:var(--primary);border:1px solid var(--primary)}.room-status-badge.occupied{background:var(--gray-100);color:var(--error);border:1px solid var(--error)}.room-status-badge.maintenance{background:var(--gray-100);color:var(--gray-600);border:1px solid var(--gray-600)}.room-status-badge.pending{background:#f59e0b1a;color:#d97706;border:1px solid #f59e0b;animation:pulse-pending 2s ease-in-out infinite}@keyframes pulse-pending{0%,to{opacity:1}50%{opacity:.7}}.room-name{font-size:1.1rem;margin:0 0 4px;color:var(--gray-900);font-weight:600}.room-type{font-size:.8rem;color:var(--gray-600);margin-bottom:var(--spacing-md)}.room-assigned-employee{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:6px;margin-bottom:var(--spacing-md)}.room-assigned-employee .employee-icon{font-size:1rem}.room-assigned-employee .employee-name{font-size:.85rem;font-weight:600;color:var(--error)}.room-details{margin:var(--spacing-md) 0;padding:var(--spacing-sm) var(--spacing-md);background:var(--gray-100);border-radius:6px}.room-detail-row{display:flex;justify-content:space-between;padding:4px 0;font-size:.8rem}.room-detail-label{color:var(--gray-600)}.room-detail-value{color:var(--gray-900);font-weight:500}.room-amenities{display:flex;flex-wrap:wrap;gap:6px;margin:var(--spacing-md) 0}.amenity-tag{padding:4px 10px;background:var(--gray-100);color:var(--gray-600);border:1px solid var(--gray-200);border-radius:4px;font-size:.7rem;font-weight:500}.status-change-group{display:flex;gap:8px;margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--gray-200)}.status-change-group .btn{flex:1;padding:6px 10px;font-size:.7rem;font-weight:500;border-radius:4px;cursor:pointer;transition:all .2s}.status-change-group .btn-success{background:var(--white);color:var(--primary);border:1px solid var(--primary)}.status-change-group .btn-success:hover{background:var(--primary);color:var(--white)}.status-change-group .btn-error{background:var(--white);color:var(--error);border:1px solid var(--error)}.status-change-group .btn-error:hover{background:var(--error);color:var(--white)}.status-change-group .btn-warning{background:var(--white);color:var(--gray-600);border:1px solid var(--gray-600)}.status-change-group .btn-warning:hover{background:var(--gray-600);color:var(--white)}.room-actions{display:flex;gap:8px;margin-top:var(--spacing-sm)}.room-actions .btn{flex:1;padding:8px 12px;font-size:.8rem;font-weight:500;border-radius:6px;cursor:pointer;transition:all .2s}.room-actions .btn-secondary{background:var(--white);color:var(--gray-900);border:1px solid var(--gray-200)}.room-actions .btn-secondary:hover{border-color:var(--primary);color:var(--primary)}.room-actions .btn-error{background:var(--white);color:var(--error);border:1px solid var(--gray-200)}.room-actions .btn-error:hover{border-color:var(--error)}.room-modal{max-width:500px}.amenities-selector{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;padding:var(--spacing-md);background:var(--gray-100);border-radius:6px;border:1px solid var(--gray-200)}.amenity-checkbox{display:flex;align-items:center;gap:8px;cursor:pointer;padding:6px 8px;border-radius:4px;transition:background .2s}.amenity-checkbox:hover{background:var(--white)}.amenity-checkbox input[type=checkbox]{margin:0;cursor:pointer;accent-color:var(--primary)}.amenity-checkbox span{font-size:.8rem;color:var(--gray-900);-webkit-user-select:none;user-select:none}.empty-rooms{text-align:center;padding:var(--spacing-xxl) var(--spacing-lg);color:var(--gray-600)}.empty-rooms-icon{font-size:3rem;margin-bottom:var(--spacing-md);opacity:.5}.empty-rooms p{margin-bottom:var(--spacing-lg);font-size:.9rem}.filters-section{background:var(--white);border:1px solid var(--gray-200);border-radius:8px;padding:var(--spacing-md);margin-top:var(--spacing-lg)}.filters-row{display:flex;align-items:center;gap:var(--spacing-md)}.filter-select{padding:8px 12px;border:1px solid var(--gray-200);border-radius:6px;font-size:.85rem;color:var(--gray-900);background:var(--white);cursor:pointer;min-width:150px}.filter-select:focus{outline:none;border-color:var(--primary)}.results-count{font-size:.8rem;color:var(--gray-600);margin-left:auto}@media (max-width: 1024px){.rooms-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.amenities-selector{grid-template-columns:1fr}}@media (max-width: 768px){.rooms-page{padding:var(--spacing-md)}.rooms-grid{grid-template-columns:1fr}.room-actions{flex-direction:column}.status-change-group{flex-wrap:wrap}.status-change-group .btn{min-width:calc(50% - 4px)}.filters-row{flex-wrap:wrap}.filter-select{flex:1;min-width:120px}.results-count{width:100%;text-align:right;margin-top:var(--spacing-sm)}}.upcoming-bookings-section{margin-top:var(--spacing-xxl);padding-top:var(--spacing-xl);border-top:1px solid var(--gray-200)}.upcoming-bookings-section h3{margin-bottom:var(--spacing-lg);font-size:1.1rem;font-weight:600;color:var(--gray-900)}.upcoming-bookings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--spacing-md)}.upcoming-booking-card{background:var(--white);border:1px solid var(--gray-200);border-radius:8px;padding:var(--spacing-md);transition:border-color .2s}.upcoming-booking-card:hover{border-color:var(--primary)}.booking-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--gray-100)}.room-badge{padding:4px 10px;background:var(--gray-100);color:var(--gray-900);border:1px solid var(--gray-200);border-radius:4px;font-size:.75rem;font-weight:600}.status-badge.scheduled,.status-badge.confirmed{padding:4px 10px;background:var(--gray-100);color:var(--primary);border:1px solid var(--primary);border-radius:4px;font-size:.65rem;font-weight:600;text-transform:uppercase}.booking-card-body{margin-bottom:var(--spacing-md)}.booking-card-body p{margin:6px 0;font-size:.8rem;color:var(--gray-600);line-height:1.4}.booking-card-body .client-name{font-weight:600;font-size:.9rem;color:var(--gray-900)}.booking-card-body .service-name{color:var(--primary);font-weight:500}.booking-card-body .special-note{font-size:.75rem;font-style:italic;color:var(--gray-600);background:var(--gray-100);padding:8px;border-radius:4px;margin-top:var(--spacing-sm)}.booking-card-footer{padding-top:var(--spacing-md);border-top:1px solid var(--gray-100)}.booking-card-footer .btn{width:100%;padding:10px;font-size:.8rem;font-weight:500}.room-timer{margin-top:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background:var(--gray-100);border-radius:var(--radius-md);font-size:.9rem;font-weight:600;text-align:center;color:var(--gray-700);border:1px solid var(--gray-200)}.room-timer.critical{background:#ef444426;color:var(--error);border-color:var(--error);animation:pulse-timer 1s ease-in-out infinite}@keyframes pulse-timer{0%,to{opacity:1}50%{opacity:.7}}.room-customer-info{margin:var(--spacing-md) 0;padding:var(--spacing-sm) var(--spacing-md);background:var(--gray-50);border:1px solid var(--gray-200);border-radius:6px}.room-customer-info .customer-info-header{font-size:.7rem;font-weight:600;text-transform:uppercase;color:var(--gray-500);margin-bottom:var(--spacing-sm);letter-spacing:.03em}.room-customer-info .customer-info-row{display:flex;align-items:center;gap:var(--spacing-sm);font-size:.85rem;color:var(--gray-700);padding:3px 0}.room-customer-info .customer-info-row span:first-child{font-size:.9rem}.start-service-btn{width:100%;margin-top:var(--spacing-md);padding:12px 16px!important;font-size:.95rem!important;font-weight:600!important;border-radius:8px!important;background:linear-gradient(135deg,var(--primary),#2d7f50)!important;border:none!important;color:var(--white)!important;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #1b5e3733}.start-service-btn:hover{transform:translateY(-1px);box-shadow:0 4px 8px #1b5e374d}.start-service-btn:active{transform:translateY(0)}.service-action-buttons{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.service-action-buttons .start-service-btn{flex:2;margin-top:0}.service-action-buttons .stop-service-btn{flex:1}.stop-service-btn{width:100%;padding:10px 16px!important;font-size:.9rem!important;font-weight:600!important;border-radius:8px!important;background:var(--white)!important;border:2px solid var(--error)!important;color:var(--error)!important;cursor:pointer;transition:all .2s ease}.stop-service-btn:hover{background:var(--error)!important;color:var(--white)!important}.stop-service-modal{max-width:450px}.stop-service-info{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:8px;padding:var(--spacing-md);margin-bottom:var(--spacing-lg)}.stop-service-info p{margin:6px 0;font-size:.9rem;color:var(--gray-700)}.stop-service-info p strong{color:var(--gray-900);min-width:80px;display:inline-block}.home-services-section{margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);border-top:1px solid var(--gray-200)}.home-services-section h3{margin-bottom:var(--spacing-lg);font-size:1.1rem;font-weight:600;color:var(--gray-900);display:flex;align-items:center;gap:var(--spacing-sm)}.home-services-section h3:before{content:"🏠"}.home-services-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--spacing-lg)}.home-service-card{background:var(--white);border:1px solid var(--gray-200);border-radius:8px;padding:var(--spacing-lg);transition:border-color .2s,box-shadow .2s}.home-service-card.pending{border-color:#f59e0b;background:#f59e0b08}.home-service-card.occupied{border-color:var(--primary);background:#1b5e3708}.home-service-card:hover{box-shadow:0 2px 8px #00000014}.home-service-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.home-service-icon{width:48px;height:48px;border-radius:8px;background:linear-gradient(135deg,#e0f2fe,#bae6fd);border:1px solid #7dd3fc;display:flex;align-items:center;justify-content:center;font-size:1.5rem}.home-service-status-badge{padding:4px 10px;border-radius:20px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em}.home-service-status-badge.pending{background:#f59e0b1a;color:#d97706;border:1px solid #f59e0b;animation:pulse-pending 2s ease-in-out infinite}.home-service-status-badge.occupied{background:#1b5e371a;color:var(--primary);border:1px solid var(--primary)}.home-service-title{font-size:1.1rem;margin:0 0 var(--spacing-sm) 0;color:var(--gray-900);font-weight:600}.home-service-therapist{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:#1b5e371a;border:1px solid rgba(27,94,55,.3);border-radius:6px;margin-bottom:var(--spacing-md)}.home-service-therapist .therapist-icon{font-size:1rem}.home-service-therapist .therapist-name{font-size:.85rem;font-weight:600;color:var(--primary)}.home-service-info{margin:var(--spacing-md) 0;padding:var(--spacing-sm) var(--spacing-md);background:var(--gray-50);border:1px solid var(--gray-200);border-radius:6px}.home-service-info .info-header{font-size:.7rem;font-weight:600;text-transform:uppercase;color:var(--gray-500);margin-bottom:var(--spacing-sm);letter-spacing:.03em}.home-service-info .info-row{display:flex;align-items:flex-start;gap:var(--spacing-sm);font-size:.85rem;color:var(--gray-700);padding:3px 0}.home-service-info .info-row span:first-child{font-size:.9rem;flex-shrink:0}.home-service-card.advance-booking{border-style:dashed}.home-service-type-badge{padding:3px 8px;border-radius:12px;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em;margin-left:auto}.home-service-type-badge.scheduled{background:#6366f11a;color:#4f46e5;border:1px solid #818cf8}.home-service-scheduled{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:#6366f114;border:1px solid rgba(99,102,241,.2);border-radius:6px;margin-bottom:var(--spacing-md)}.home-service-scheduled .schedule-icon{font-size:1rem}.home-service-scheduled .schedule-datetime{font-size:.85rem;font-weight:600;color:#4f46e5}.home-service-info .payment-status{font-weight:600;padding:2px 6px;border-radius:4px;font-size:.8rem}.home-service-info .payment-status.paid{background:#22c55e1a;color:#16a34a}.home-service-info .payment-status.pending{background:#f59e0b1a;color:#d97706}@media (max-width: 768px){.home-services-grid{grid-template-columns:1fr}}.expenses-page{padding:var(--spacing-lg)}.expenses-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.expense-summary-card{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:var(--spacing-lg);text-align:center;position:relative;overflow:hidden;transition:all var(--transition-fast)}.expense-summary-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--primary)}.expense-summary-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.expense-summary-card.total:before{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%)}.expense-summary-card.monthly:before{background:linear-gradient(135deg,var(--info) 0%,var(--info-dark) 100%)}.expense-summary-card.categories:before{background:linear-gradient(135deg,var(--success) 0%,var(--success-dark) 100%)}.expense-summary-icon{font-size:2rem;margin-bottom:var(--spacing-sm)}.expense-summary-value{font-size:1.75rem;font-weight:700;color:var(--gray-900);margin-bottom:var(--spacing-xs)}.expense-summary-label{font-size:.875rem;color:var(--gray-600);text-transform:uppercase;letter-spacing:.5px}.expenses-filters{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.expenses-filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-md)}.expenses-table-container{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);overflow:hidden}.expenses-table{width:100%;border-collapse:collapse}.expenses-table thead{background:var(--gray-50);border-bottom:2px solid var(--gray-200)}.expenses-table th{padding:var(--spacing-md);text-align:left;font-weight:600;color:var(--gray-700);font-size:.875rem;text-transform:uppercase;letter-spacing:.5px}.expenses-table tbody tr{border-bottom:1px solid var(--gray-200);transition:background var(--transition-fast)}.expenses-table tbody tr:hover{background:var(--gray-50)}.expenses-table td{padding:var(--spacing-md);color:var(--gray-700);font-size:.875rem}.expense-date-cell{color:var(--gray-900);font-weight:500}.expense-description-cell{color:var(--gray-900)}.expense-vendor-cell{color:var(--gray-600);font-size:.8rem}.expense-amount-cell{font-weight:700;color:var(--gray-900);font-size:1rem}.expense-category-badge{display:inline-block;padding:4px 10px;border-radius:var(--radius-sm);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px;background:#1b5e371a;color:var(--primary);border:1px solid rgba(27,94,55,.2)}.expense-category-badge.office-supplies{background:#1b5e3714;color:var(--primary)}.expense-category-badge.utilities{background:var(--gray-100);color:var(--gray-700)}.expense-category-badge.salaries{background:var(--primary);color:var(--white);border-color:var(--primary-dark)}.expense-category-badge.maintenance{background:#1b5e371f;color:var(--primary)}.expense-category-badge.marketing{background:var(--gray-100);color:var(--gray-600)}.expense-category-badge.inventory{background:#1b5e3726;color:var(--primary)}.expense-category-badge.rent{background:#1b5e371a;color:var(--primary)}.expense-category-badge.other{background:var(--gray-50);color:var(--gray-600);border-color:var(--gray-200)}.expense-type-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:var(--radius-sm);font-size:.7rem;font-weight:600;white-space:nowrap;text-transform:uppercase;letter-spacing:.3px}.expense-type-badge.fixed{background:#1b5e371a;color:var(--primary);border:1px solid rgba(27,94,55,.3)}.expense-type-badge.variable{background:var(--gray-100);color:var(--gray-700);border:1px solid var(--gray-300)}.expense-type-badge.opex{background:#1b5e3726;color:var(--primary);border:1px solid rgba(27,94,55,.35)}.expense-type-badge.capex{background:var(--primary);color:var(--white);border:1px solid var(--primary-dark)}.expense-type-badge.direct{background:#1b5e3714;color:var(--primary);border:1px solid rgba(27,94,55,.25)}.expense-type-badge.indirect{background:var(--gray-50);color:var(--gray-600);border:1px solid var(--gray-200)}.expense-payment-badge{display:inline-block;padding:4px 8px;border-radius:var(--radius-sm);font-size:.7rem;font-weight:500;background:var(--gray-100);color:var(--gray-700)}.expense-actions{display:flex;gap:var(--spacing-xs)}.expense-actions .btn{font-size:.75rem;padding:4px 10px}.expense-modal{max-width:600px}.expense-modal .form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.receipt-upload-area{border:2px dashed var(--gray-300);border-radius:var(--radius-md);padding:var(--spacing-xl);text-align:center;background:var(--gray-50);cursor:pointer;transition:all var(--transition-fast)}.receipt-upload-area:hover{border-color:var(--primary);background:var(--primary-light)}.receipt-upload-icon{font-size:2.5rem;margin-bottom:var(--spacing-sm);color:var(--gray-400)}.receipt-upload-text{font-size:.875rem;color:var(--gray-600);margin-bottom:var(--spacing-xs)}.receipt-upload-hint{font-size:.75rem;color:var(--gray-500)}.empty-expenses{text-align:center;padding:var(--spacing-xl) var(--spacing-lg);color:var(--gray-500)}.empty-expenses-icon{font-size:4rem;margin-bottom:var(--spacing-md)}.export-btn{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background:var(--success);color:var(--white);border:none;border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.export-btn:hover{background:var(--success-dark);transform:translateY(-1px);box-shadow:var(--shadow-sm)}@media (max-width: 1024px){.expenses-table-container{overflow-x:auto}.expenses-table{min-width:800px}.expenses-filters-grid{grid-template-columns:1fr}}@media (max-width: 768px){.expenses-page{padding:var(--spacing-md)}.expenses-summary-grid,.expense-modal .form-row{grid-template-columns:1fr}.expenses-table th,.expenses-table td{padding:var(--spacing-sm);font-size:.75rem}.expense-actions{flex-direction:column}}.payroll-page{padding:var(--spacing-lg)}.payroll-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.payroll-summary-card{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:var(--spacing-lg);text-align:center;position:relative;overflow:hidden;transition:all var(--transition-fast)}.payroll-summary-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px}.payroll-summary-card.total:before{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%)}.payroll-summary-card.gross:before{background:linear-gradient(135deg,var(--info) 0%,var(--info-dark) 100%)}.payroll-summary-card.deductions:before{background:linear-gradient(135deg,var(--error) 0%,var(--error-dark) 100%)}.payroll-summary-card.net:before{background:linear-gradient(135deg,var(--success) 0%,var(--success-dark) 100%)}.payroll-summary-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.payroll-summary-icon{font-size:2rem;margin-bottom:var(--spacing-sm)}.payroll-summary-value{font-size:1.75rem;font-weight:700;color:var(--gray-900);margin-bottom:var(--spacing-xs)}.payroll-summary-label{font-size:.875rem;color:var(--gray-600);text-transform:uppercase;letter-spacing:.5px}.period-selector-section{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg);display:flex;gap:var(--spacing-md);align-items:center;flex-wrap:wrap}.period-selector-section label{font-weight:600;color:var(--gray-700)}.period-buttons{display:flex;gap:var(--spacing-xs);flex-wrap:wrap}.period-btn{padding:var(--spacing-sm) var(--spacing-md);border:2px solid var(--gray-300);background:var(--white);border-radius:var(--radius-md);font-weight:500;color:var(--gray-700);cursor:pointer;transition:all var(--transition-fast)}.period-btn:hover{border-color:var(--primary);background:var(--primary-light)}.period-btn.active{border-color:var(--primary);background:var(--primary);color:var(--white)}.custom-date-range{display:flex;gap:var(--spacing-sm);align-items:center}.custom-date-range input{padding:var(--spacing-sm);border:1px solid var(--gray-300);border-radius:var(--radius-md);font-size:.875rem}.payroll-table-container{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);overflow-x:auto;margin-bottom:var(--spacing-lg)}.payroll-table{width:100%;border-collapse:collapse;min-width:1200px}.payroll-table thead{background:var(--gray-50);border-bottom:2px solid var(--gray-200)}.payroll-table th{padding:var(--spacing-md);text-align:left;font-weight:600;color:var(--gray-700);font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.payroll-table th.number{text-align:right}.payroll-table tbody tr{border-bottom:1px solid var(--gray-200);transition:background var(--transition-fast)}.payroll-table tbody tr:hover{background:var(--gray-50)}.payroll-table td{padding:var(--spacing-md);color:var(--gray-700);font-size:.875rem}.payroll-table td.number{text-align:right;font-weight:600;color:var(--gray-900)}.payroll-employee-cell{display:flex;align-items:center;gap:var(--spacing-sm)}.payroll-employee-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:var(--white);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.75rem;flex-shrink:0}.payroll-employee-info{display:flex;flex-direction:column}.payroll-employee-name{font-weight:600;color:var(--gray-900)}.payroll-employee-position{font-size:.75rem;color:var(--gray-600)}.payroll-actions .btn{font-size:.75rem;padding:4px 10px}.payslip-modal{max-width:700px}.payslip-content{background:var(--white);padding:var(--spacing-xl);font-family:Courier New,monospace;border:2px solid var(--gray-900)}.payslip-header{text-align:center;margin-bottom:var(--spacing-xl);border-bottom:3px double var(--gray-900);padding-bottom:var(--spacing-lg)}.payslip-header h1{font-size:1.5rem;margin:0 0 var(--spacing-xs) 0}.payslip-header h2{font-size:1rem;margin:0;font-weight:400}.payslip-employee-info{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);font-size:.875rem}.payslip-section{margin-bottom:var(--spacing-lg)}.payslip-section-title{font-weight:700;margin-bottom:var(--spacing-sm);border-bottom:1px solid var(--gray-900);padding-bottom:var(--spacing-xs)}.payslip-line{display:flex;justify-content:space-between;padding:var(--spacing-xs) 0;font-size:.875rem}.payslip-line.total{font-weight:700;font-size:1rem;border-top:2px solid var(--gray-900);border-bottom:3px double var(--gray-900);padding:var(--spacing-sm) 0;margin-top:var(--spacing-sm)}.payslip-footer{margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);border-top:1px solid var(--gray-900)}.payslip-signatures{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-xl);margin-top:var(--spacing-xl)}.payslip-signature-line{border-top:1px solid var(--gray-900);padding-top:var(--spacing-xs);text-align:center;font-size:.875rem}.gov-remittance-section{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:var(--spacing-xl);margin-bottom:var(--spacing-lg)}.gov-remittance-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-lg);margin-top:var(--spacing-lg)}.gov-remittance-card{border:2px solid var(--gray-200);border-radius:var(--radius-lg);padding:var(--spacing-lg);text-align:center}.gov-remittance-card h3{margin:0 0 var(--spacing-md) 0;color:var(--gray-900)}.gov-remittance-amount{font-size:1.75rem;font-weight:700;color:var(--primary);margin-bottom:var(--spacing-md)}.gov-remittance-breakdown{text-align:left;font-size:.875rem;color:var(--gray-600);margin-bottom:var(--spacing-md)}.gov-remittance-breakdown div{display:flex;justify-content:space-between;padding:var(--spacing-xs) 0}.empty-payroll{text-align:center;padding:var(--spacing-xl) var(--spacing-lg);color:var(--gray-500)}.calculating-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:9999}.calculating-modal{background:var(--white);border-radius:var(--radius-lg);padding:var(--spacing-xl);text-align:center;min-width:300px}.calculating-modal .spinner{width:50px;height:50px;border-width:4px;margin:0 auto var(--spacing-lg) auto}@media (max-width: 1024px){.payroll-summary-grid{grid-template-columns:repeat(2,1fr)}.payroll-table-container{overflow-x:scroll}}@media (max-width: 768px){.payroll-page{padding:var(--spacing-md)}.payroll-summary-grid{grid-template-columns:1fr}.period-selector-section{flex-direction:column;align-items:flex-start}.period-buttons{width:100%}.period-btn{flex:1}.custom-date-range{width:100%;flex-direction:column}.custom-date-range input{width:100%}.payslip-employee-info,.gov-remittance-cards{grid-template-columns:1fr}}.schedule-page{padding:var(--spacing-lg)}.schedule-header{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--spacing-md)}.schedule-header-info h2{font-size:1.5rem;margin:0 0 var(--spacing-xs) 0;color:var(--gray-900)}.schedule-header-info p{font-size:.875rem;color:var(--gray-600);margin:0}.schedule-header-actions{display:flex;gap:var(--spacing-sm);align-items:center}.week-navigation{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:var(--spacing-md);margin-bottom:var(--spacing-lg);display:flex;justify-content:space-between;align-items:center}.week-nav-btn{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--gray-300);background:var(--white);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);font-weight:500;color:var(--gray-700)}.week-nav-btn:hover{border-color:var(--primary);background:var(--primary-light)}.week-nav-btn:disabled{opacity:.5;cursor:not-allowed}.week-display h3{font-size:1.1rem;margin:0 0 var(--spacing-xs) 0;color:var(--gray-900)}.week-display p{font-size:.875rem;color:var(--gray-600);margin:0}.schedule-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.schedule-summary-card{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:var(--spacing-lg);text-align:center;position:relative;overflow:hidden;transition:all var(--transition-fast)}.schedule-summary-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px}.schedule-summary-card.shifts:before{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%)}.schedule-summary-card.hours:before{background:linear-gradient(135deg,var(--info) 0%,var(--info-dark) 100%)}.schedule-summary-card.appointments:before{background:linear-gradient(135deg,var(--success) 0%,var(--success-dark) 100%)}.schedule-summary-card.days-off:before{background:linear-gradient(135deg,var(--warning) 0%,var(--warning-dark) 100%)}.schedule-summary-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.schedule-summary-icon{font-size:2rem;margin-bottom:var(--spacing-sm)}.schedule-summary-value{font-size:1.75rem;font-weight:700;color:var(--gray-900);margin-bottom:var(--spacing-xs)}.schedule-summary-label{font-size:.875rem;color:var(--gray-600);text-transform:uppercase;letter-spacing:.5px}.schedule-calendar{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--spacing-xs)}.calendar-day-header{text-align:center;font-weight:600;color:var(--gray-700);padding:var(--spacing-sm);font-size:.875rem;text-transform:uppercase;letter-spacing:.5px}.calendar-day{border:2px solid var(--gray-200);border-radius:var(--radius-md);padding:var(--spacing-sm);min-height:120px;position:relative;transition:all var(--transition-fast);background:var(--white)}.calendar-day:hover{border-color:var(--primary);box-shadow:var(--shadow-sm)}.calendar-day.today{border-color:var(--primary);background:var(--primary-light)}.calendar-day.other-month{opacity:.3}.calendar-day.has-shift{background:linear-gradient(135deg,var(--success-light) 0%,var(--white) 100%)}.calendar-day-date{font-weight:600;color:var(--gray-800);margin-bottom:var(--spacing-xs);font-size:.875rem}.calendar-day-shifts{display:flex;flex-direction:column;gap:var(--spacing-xs)}.calendar-shift-item{padding:4px 8px;border-radius:var(--radius-sm);font-size:.7rem;font-weight:600;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-shift-item.shift{background:var(--info-light);color:var(--info-dark)}.calendar-shift-item.appointment{background:var(--success-light);color:var(--success-dark)}.calendar-shift-item.day-off{background:var(--warning-light);color:var(--warning-dark)}.schedule-list{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:var(--spacing-lg)}.schedule-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:2px solid var(--gray-200)}.schedule-list-header h3{font-size:1.25rem;margin:0;color:var(--gray-900)}.schedule-list-view-toggle{display:flex;gap:var(--spacing-xs)}.view-toggle-btn{padding:var(--spacing-sm) var(--spacing-md);border:2px solid var(--gray-300);background:var(--white);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);font-weight:500;color:var(--gray-700);font-size:.875rem}.view-toggle-btn:hover{border-color:var(--primary);background:var(--primary-light)}.view-toggle-btn.active{border-color:var(--primary);background:var(--primary);color:var(--white)}.schedule-items{display:flex;flex-direction:column;gap:var(--spacing-md)}.schedule-item{border:2px solid var(--gray-200);border-radius:var(--radius-lg);padding:var(--spacing-lg);transition:all var(--transition-fast)}.schedule-item:hover{border-color:var(--primary);box-shadow:var(--shadow-sm)}.schedule-item.shift{border-left:4px solid var(--info)}.schedule-item.appointment{border-left:4px solid var(--success)}.schedule-item.day-off{border-left:4px solid var(--warning)}.schedule-item-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-md)}.schedule-item-title{display:flex;align-items:center;gap:var(--spacing-sm)}.schedule-item-icon{font-size:1.5rem}.schedule-item-info h4{font-size:1.1rem;margin:0 0 var(--spacing-xs) 0;color:var(--gray-900)}.schedule-item-info p{font-size:.875rem;color:var(--gray-600);margin:0}.schedule-item-badge{display:inline-block;padding:4px 10px;border-radius:var(--radius-full);font-size:.7rem;font-weight:600;text-transform:uppercase}.schedule-item-badge.shift{background:var(--info-light);color:var(--info-dark)}.schedule-item-badge.appointment{background:var(--success-light);color:var(--success-dark)}.schedule-item-badge.day-off{background:var(--warning-light);color:var(--warning-dark)}.schedule-item-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--spacing-md)}.schedule-detail-item{display:flex;flex-direction:column;gap:var(--spacing-xs)}.schedule-detail-label{font-size:.75rem;color:var(--gray-600);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.schedule-detail-value{font-size:.875rem;color:var(--gray-900);font-weight:500}.empty-schedule{text-align:center;padding:var(--spacing-xl) var(--spacing-lg);color:var(--gray-500)}.empty-schedule-icon{font-size:4rem;margin-bottom:var(--spacing-md)}.empty-schedule h3{font-size:1.25rem;margin:0 0 var(--spacing-sm) 0;color:var(--gray-700)}.empty-schedule p{font-size:.875rem;margin:0}@media (max-width: 1024px){.schedule-summary-grid{grid-template-columns:repeat(2,1fr)}.calendar-grid{gap:2px}.calendar-day{min-height:100px;padding:var(--spacing-xs)}}@media (max-width: 768px){.schedule-page{padding:var(--spacing-md)}.schedule-header{flex-direction:column;align-items:flex-start}.schedule-header-actions{width:100%}.schedule-summary-grid{grid-template-columns:1fr}.week-navigation{flex-direction:column;gap:var(--spacing-md)}.calendar-grid{grid-template-columns:1fr}.calendar-day-header{display:none}.calendar-day{border-left:4px solid var(--primary)}.calendar-day-date:before{content:attr(data-day) " - ";font-weight:400;color:var(--gray-600)}.schedule-item-details{grid-template-columns:1fr}.schedule-list-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.schedule-list-view-toggle{width:100%}.view-toggle-btn{flex:1}}.payroll-requests-page{padding:var(--spacing-lg)}.employee-payroll-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.employee-payroll-card{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:var(--spacing-lg);text-align:center;position:relative;overflow:hidden;transition:all var(--transition-fast)}.employee-payroll-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px}.employee-payroll-card.current:before{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%)}.employee-payroll-card.ytd:before{background:linear-gradient(135deg,var(--success) 0%,var(--success-dark) 100%)}.employee-payroll-card.pending:before{background:linear-gradient(135deg,var(--warning) 0%,var(--warning-dark) 100%)}.employee-payroll-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.employee-payroll-icon{font-size:2rem;margin-bottom:var(--spacing-sm)}.employee-payroll-value{font-size:1.75rem;font-weight:700;color:var(--gray-900);margin-bottom:var(--spacing-xs)}.employee-payroll-label{font-size:.875rem;color:var(--gray-600);text-transform:uppercase;letter-spacing:.5px}.payroll-history-section{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:var(--spacing-xl);margin-bottom:var(--spacing-lg)}.payroll-history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:2px solid var(--gray-200)}.payroll-history-header h2{font-size:1.5rem;margin:0;color:var(--gray-900)}.payroll-history-filters{display:flex;gap:var(--spacing-sm);align-items:center}.filter-select{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--gray-300);border-radius:var(--radius-md);font-size:.875rem;background:var(--white);cursor:pointer}.payroll-history-table{width:100%;border-collapse:collapse}.payroll-history-table thead{background:var(--gray-50);border-bottom:2px solid var(--gray-200)}.payroll-history-table th{padding:var(--spacing-md);text-align:left;font-weight:600;color:var(--gray-700);font-size:.75rem;text-transform:uppercase;letter-spacing:.5px}.payroll-history-table th.number{text-align:right}.payroll-history-table tbody tr{border-bottom:1px solid var(--gray-200);transition:background var(--transition-fast)}.payroll-history-table tbody tr:hover{background:var(--gray-50)}.payroll-history-table td{padding:var(--spacing-md);color:var(--gray-700);font-size:.875rem}.payroll-history-table td.number{text-align:right;font-weight:600;color:var(--gray-900)}.payroll-period-cell{display:flex;flex-direction:column;gap:var(--spacing-xs)}.payroll-period-label{font-weight:600;color:var(--gray-900)}.payroll-period-dates{font-size:.75rem;color:var(--gray-600)}.payroll-status-badge{display:inline-block;padding:4px 10px;border-radius:var(--radius-full);font-size:.7rem;font-weight:600;text-transform:uppercase}.payroll-status-badge.pending{background:var(--warning-light);color:var(--warning-dark)}.payroll-status-badge.approved{background:var(--info-light);color:var(--info-dark)}.payroll-status-badge.paid{background:var(--success-light);color:var(--success-dark)}.payroll-status-badge.rejected{background:var(--error-light);color:var(--error-dark)}.payroll-actions{display:flex;gap:var(--spacing-xs)}.payroll-action-btn{padding:4px 8px;border:1px solid var(--gray-300);background:var(--white);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);font-size:.875rem}.payroll-action-btn:hover{border-color:var(--primary);background:var(--primary-light)}.request-form-section{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:var(--spacing-xl);margin-bottom:var(--spacing-lg)}.request-form-header{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:2px solid var(--gray-200)}.request-form-icon{font-size:1.5rem;width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary-light) 0%,var(--primary) 100%)}.request-form-title h2{font-size:1.25rem;margin:0 0 var(--spacing-xs) 0;color:var(--gray-900)}.request-form-title p{font-size:.875rem;color:var(--gray-600);margin:0}.request-form-body{display:flex;flex-direction:column;gap:var(--spacing-lg)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.form-group label{font-weight:600;color:var(--gray-700);font-size:.875rem}.form-group input,.form-group textarea,.form-group select{padding:var(--spacing-sm);border:1px solid var(--gray-300);border-radius:var(--radius-md);font-size:.875rem;transition:all var(--transition-fast)}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.form-group textarea{resize:vertical;min-height:100px}.form-hint{font-size:.75rem;color:var(--gray-500)}.form-actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end}.payslip-detail-modal .modal-content{max-width:700px}.payslip-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:2px solid var(--gray-200)}.payslip-detail-header h2{font-size:1.5rem;margin:0;color:var(--gray-900)}.payslip-detail-actions{display:flex;gap:var(--spacing-sm)}.payslip-breakdown{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:var(--spacing-lg)}.breakdown-section{margin-bottom:var(--spacing-lg)}.breakdown-section:last-child{margin-bottom:0}.breakdown-section-title{font-weight:700;font-size:1rem;margin-bottom:var(--spacing-md);color:var(--gray-900);text-transform:uppercase;letter-spacing:.5px}.breakdown-items{display:flex;flex-direction:column;gap:var(--spacing-sm)}.breakdown-item{display:flex;justify-content:space-between;padding:var(--spacing-sm) 0;font-size:.875rem}.breakdown-item-label{color:var(--gray-700)}.breakdown-item-value{font-weight:600;color:var(--gray-900)}.breakdown-total{display:flex;justify-content:space-between;padding:var(--spacing-md) 0;border-top:2px solid var(--gray-900);border-bottom:3px double var(--gray-900);margin-top:var(--spacing-sm);font-weight:700;font-size:1.1rem}.breakdown-total-label{color:var(--gray-900)}.breakdown-total-value{color:var(--primary)}.empty-payroll-requests{text-align:center;padding:var(--spacing-xl) var(--spacing-lg);color:var(--gray-500)}.empty-payroll-icon{font-size:4rem;margin-bottom:var(--spacing-md)}.empty-payroll-requests h3{font-size:1.25rem;margin:0 0 var(--spacing-sm) 0;color:var(--gray-700)}.empty-payroll-requests p{font-size:.875rem;margin:0}@media (max-width: 1024px){.employee-payroll-summary{grid-template-columns:repeat(2,1fr)}.payroll-history-table{display:block;overflow-x:auto}}@media (max-width: 768px){.payroll-requests-page{padding:var(--spacing-md)}.employee-payroll-summary{grid-template-columns:1fr}.payroll-history-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-md)}.payroll-history-filters{width:100%;flex-direction:column}.filter-select{width:100%}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column}.form-actions .btn{width:100%}.payslip-detail-actions{flex-direction:column}.payslip-detail-actions .btn{width:100%}}.cash-drawer-page{padding:var(--spacing-lg)}.cash-drawer-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.cash-drawer-summary-card{background:var(--white);border:1px solid var(--gray-200);border-radius:8px;padding:var(--spacing-lg);text-align:center;transition:border-color .2s}.cash-drawer-summary-card:hover{border-color:var(--primary)}.cash-drawer-summary-card.total{background:var(--primary);border-color:var(--primary)}.cash-drawer-summary-card.total .cash-drawer-summary-value,.cash-drawer-summary-card.total .cash-drawer-summary-label{color:var(--white)}.cash-drawer-summary-card.total .cash-drawer-summary-icon{opacity:.9}.cash-drawer-summary-icon{font-size:1.75rem;margin-bottom:var(--spacing-sm)}.cash-drawer-summary-value{font-size:1.75rem;font-weight:700;color:var(--gray-900);margin-bottom:4px}.cash-drawer-summary-label{font-size:.75rem;color:var(--gray-600);text-transform:uppercase;letter-spacing:.5px}.cash-drawer-filters{background:var(--white);border:1px solid var(--gray-200);border-radius:8px;padding:var(--spacing-lg);margin-bottom:var(--spacing-lg);display:flex;gap:var(--spacing-md);align-items:flex-end;flex-wrap:wrap}.filter-group{display:flex;flex-direction:column;gap:6px;flex:1;min-width:150px}.filter-group label{font-weight:500;color:var(--gray-900);font-size:.8rem}.filter-group input,.filter-group select{padding:10px 14px;border:1px solid var(--gray-200);border-radius:6px;font-size:.85rem;color:var(--gray-900);background:var(--white)}.filter-group input:focus,.filter-group select:focus{outline:none;border-color:var(--primary)}.cash-drawer-sessions{background:var(--white);border:1px solid var(--gray-200);border-radius:8px;padding:var(--spacing-lg)}.sessions-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--gray-200)}.sessions-header h2{font-size:1.1rem;margin:0;font-weight:600;color:var(--gray-900)}.sessions-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.session-card{background:var(--white);border:1px solid var(--gray-200);border-radius:8px;overflow:hidden;transition:border-color .2s}.session-card:hover,.session-card.open{border-color:var(--primary)}.session-card.closed{border-color:var(--gray-200)}.session-header{display:flex;justify-content:space-between;align-items:flex-start;padding:var(--spacing-md);background:var(--gray-100);border-bottom:1px solid var(--gray-200)}.session-info{display:flex;flex-direction:column;gap:var(--spacing-sm)}.session-title{display:flex;align-items:center;gap:var(--spacing-sm)}.session-icon{font-size:1.25rem}.session-name h3{font-size:1rem;margin:0 0 2px;font-weight:600;color:var(--gray-900)}.session-name p{font-size:.8rem;color:var(--gray-600);margin:0}.session-meta{display:flex;gap:var(--spacing-lg);flex-wrap:wrap}.session-meta-item{display:flex;flex-direction:column;gap:2px}.session-meta-label{font-size:.65rem;color:var(--gray-600);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.session-meta-value{font-size:.85rem;color:var(--gray-900);font-weight:500}.session-status{display:flex;flex-direction:column;gap:var(--spacing-sm);align-items:flex-end}.session-status-badge{display:inline-block;padding:4px 10px;border-radius:20px;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em}.session-status-badge.open{background:var(--gray-100);color:var(--primary);border:1px solid var(--primary)}.session-status-badge.closed{background:var(--gray-100);color:var(--gray-600);border:1px solid var(--gray-600)}.session-total{font-size:1.25rem;font-weight:700;color:var(--primary)}.session-body{padding:var(--spacing-md)}.session-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.session-summary-item{padding:var(--spacing-md);background:var(--gray-100);border-radius:6px;text-align:center;border:1px solid var(--gray-200)}.session-summary-label{font-size:.65rem;color:var(--gray-600);text-transform:uppercase;letter-spacing:.5px;font-weight:600;margin-bottom:4px}.session-summary-value{font-size:1rem;font-weight:700;color:var(--gray-900)}.session-summary-value.positive{color:var(--primary)}.session-summary-value.negative{color:var(--error)}.session-transactions-toggle{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) var(--spacing-md);background:var(--white);border:1px solid var(--gray-200);border-radius:6px;cursor:pointer;transition:all .2s;margin-bottom:var(--spacing-sm)}.session-transactions-toggle:hover{border-color:var(--primary)}.session-transactions-toggle h4{font-size:.85rem;margin:0;color:var(--gray-900);font-weight:500}.toggle-icon{font-size:.8rem;color:var(--gray-600);transition:transform .2s}.toggle-icon.open{transform:rotate(180deg)}.session-transactions-list{display:flex;flex-direction:column;gap:var(--spacing-xs);max-height:250px;overflow-y:auto;margin-bottom:var(--spacing-md);padding:var(--spacing-sm);background:var(--gray-100);border-radius:6px;border:1px solid var(--gray-200)}.transaction-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) var(--spacing-md);background:var(--white);border:1px solid var(--gray-200);border-radius:4px;font-size:.85rem;transition:border-color .2s}.transaction-item:hover{border-color:var(--primary)}.transaction-info{display:flex;flex-direction:column;gap:2px}.transaction-type{font-weight:600;color:var(--gray-900);font-size:.85rem}.transaction-time{font-size:.7rem;color:var(--gray-600)}.transaction-amount{font-weight:700;font-size:.9rem}.transaction-amount.positive{color:var(--primary)}.transaction-amount.negative{color:var(--error)}.session-actions{display:flex;gap:8px;justify-content:flex-end;padding-top:var(--spacing-md);border-top:1px solid var(--gray-200)}.session-actions .btn{padding:6px 14px;font-size:.75rem;font-weight:500;border-radius:4px;cursor:pointer;transition:all .2s}.session-actions .btn-secondary{background:var(--white);color:var(--gray-900);border:1px solid var(--gray-200)}.session-actions .btn-secondary:hover{border-color:var(--primary);color:var(--primary)}.session-actions .btn-warning{background:var(--white);color:#92400e;border:1px solid #d97706}.session-actions .btn-warning:hover{background:#fef3c7}.variance-modal{max-width:500px}.variance-modal h2{font-size:1.1rem;font-weight:600;color:var(--gray-900);margin:0 0 var(--spacing-lg) 0}.variance-details{display:flex;flex-direction:column;gap:var(--spacing-md)}.variance-section{padding:var(--spacing-md);background:var(--gray-100);border-radius:6px;border:1px solid var(--gray-200)}.variance-section h3{font-size:.8rem;margin:0 0 var(--spacing-md) 0;color:var(--gray-600);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.variance-items{display:flex;flex-direction:column;gap:var(--spacing-sm)}.variance-item{display:flex;justify-content:space-between;padding:6px 0;font-size:.85rem}.variance-item-label{color:var(--gray-600)}.variance-item-value{font-weight:600;color:var(--gray-900)}.variance-total{display:flex;justify-content:space-between;padding:var(--spacing-md) 0;border-top:1px solid var(--gray-200);margin-top:var(--spacing-sm);font-weight:700;font-size:1rem;color:var(--gray-900)}.variance-alert{padding:var(--spacing-md);background:var(--white);border:1px solid #d97706;border-left:4px solid #d97706;border-radius:6px;color:#92400e;font-size:.85rem}.variance-alert.success{background:var(--white);border-color:var(--primary);border-left-color:var(--primary);color:var(--primary)}.empty-cash-drawer{text-align:center;padding:var(--spacing-xxl) var(--spacing-lg);color:var(--gray-600)}.empty-cash-drawer-icon{font-size:3rem;margin-bottom:var(--spacing-md);opacity:.5}.empty-cash-drawer h3{font-size:1.1rem;margin:0 0 var(--spacing-sm) 0;color:var(--gray-900);font-weight:600}.empty-cash-drawer p{font-size:.85rem;margin:0;color:var(--gray-600)}@media (max-width: 1024px){.cash-drawer-summary-grid,.session-summary-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.cash-drawer-page{padding:var(--spacing-md)}.cash-drawer-summary-grid{grid-template-columns:1fr 1fr;gap:var(--spacing-sm)}.cash-drawer-summary-card{padding:var(--spacing-md)}.cash-drawer-summary-value{font-size:1.25rem}.cash-drawer-filters{flex-direction:column}.filter-group{width:100%}.session-header{flex-direction:column;gap:var(--spacing-md)}.session-status{align-items:flex-start;width:100%;flex-direction:row;justify-content:space-between}.session-meta{flex-direction:column;gap:var(--spacing-sm)}.session-summary-grid{grid-template-columns:1fr 1fr}.session-actions{flex-direction:column}.session-actions .btn{width:100%}}.activity-logs-page{padding:var(--spacing-lg);max-width:1400px;margin:0 auto}.activity-logs-page .page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-lg);flex-wrap:wrap;gap:var(--spacing-md)}.activity-logs-page .page-header .header-left{display:flex;flex-direction:column;gap:4px}.activity-logs-page .page-header h1{font-size:1.5rem;font-weight:600;color:#1a1a1a;margin:0;display:flex;align-items:center;gap:10px}.activity-logs-page .page-header h1:before{content:"📋";font-size:1.25rem}.activity-logs-page .page-header .subtitle{font-size:.85rem;color:#666;margin:0}.activity-logs-page .page-header .header-right{display:flex;align-items:center;gap:var(--spacing-sm)}.activity-logs-page .btn-refresh{padding:8px 16px;background:#fff;color:#1b5e37;border:1px solid #1B5E37;border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s}.activity-logs-page .btn-refresh:hover{background:#1b5e37;color:#fff}.activity-logs-page .btn.btn-primary{padding:8px 16px;background:#1b5e37;color:#fff;border:1px solid #1B5E37;border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s}.activity-logs-page .btn.btn-primary:hover{background:#154a2c}.activity-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.activity-summary-card{background:#fff;border:1px solid #E0E0E0;border-radius:8px;padding:var(--spacing-md);display:flex;align-items:center;gap:var(--spacing-md);transition:border-color .2s}.activity-summary-card:hover{border-color:#1b5e37}.activity-summary-card.total{border-left:4px solid #1B5E37}.activity-summary-card.today{border-left:4px solid #2563EB}.activity-summary-card.users{border-left:4px solid #7C3AED}.activity-summary-card.critical{border-left:4px solid #DC2626}.activity-summary-icon{font-size:1.5rem;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:#f5f5f5;flex-shrink:0}.activity-summary-card.total .activity-summary-icon{background:#1b5e371a}.activity-summary-card.today .activity-summary-icon{background:#2563eb1a}.activity-summary-card.users .activity-summary-icon{background:#7c3aed1a}.activity-summary-card.critical .activity-summary-icon{background:#dc26261a}.activity-summary-info{display:flex;flex-direction:column;gap:2px}.activity-summary-value{font-size:1.5rem;font-weight:700;color:#1a1a1a;line-height:1.2}.activity-summary-label{font-size:.75rem;color:#666;text-transform:uppercase;letter-spacing:.3px}.activity-filters{background:#fff;border:1px solid #E0E0E0;border-radius:8px;padding:var(--spacing-md);margin-bottom:var(--spacing-lg)}.quick-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px solid #E0E0E0}.quick-filter-btn{padding:8px 16px;border:1px solid #E0E0E0;background:#fff;border-radius:20px;font-weight:500;color:#666;cursor:pointer;transition:all .2s;font-size:.8rem}.quick-filter-btn:hover{border-color:#1b5e37;color:#1b5e37}.quick-filter-btn.active{border-color:#1b5e37;background:#1b5e37;color:#fff}.filters-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:var(--spacing-md);align-items:end}.filter-group{display:flex;flex-direction:column;gap:6px}.filter-group label{font-weight:500;color:#666;font-size:.75rem;text-transform:uppercase;letter-spacing:.3px}.filter-group input,.filter-group select{padding:10px 14px;border:1px solid #E0E0E0;border-radius:6px;font-size:.85rem;background:#fff;color:#1a1a1a;transition:border-color .2s}.filter-group input:focus,.filter-group select:focus{outline:none;border-color:#1b5e37}.filter-group input::placeholder{color:#999}.filter-actions{display:flex;gap:8px;justify-content:flex-end}.filter-actions .btn{padding:10px 16px;border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s}.filter-actions .btn-secondary{background:#fff;border:1px solid #E0E0E0;color:#666}.filter-actions .btn-secondary:hover{border-color:#1b5e37;color:#1b5e37}.filter-actions .btn-primary{background:#1b5e37;border:1px solid #1B5E37;color:#fff}.filter-actions .btn-primary:hover{background:#154a2c}.activity-logs-section{background:#fff;border:1px solid #E0E0E0;border-radius:8px;padding:var(--spacing-lg)}.logs-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px solid #E0E0E0}.logs-header h2{font-size:1rem;font-weight:600;margin:0;color:#1a1a1a}.logs-header .export-btn{padding:8px 14px;background:#fff;color:#1b5e37;border:1px solid #1B5E37;border-radius:6px;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:6px}.logs-header .export-btn:hover{background:#1b5e37;color:#fff}.logs-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.log-item{display:flex;gap:var(--spacing-md);padding:var(--spacing-md);border:1px solid #E0E0E0;border-radius:8px;transition:all .2s;position:relative;background:#fff}.log-item:hover{border-color:#1b5e37;box-shadow:0 2px 8px #0000000d}.log-item.critical{border-left:4px solid #DC2626;background:linear-gradient(90deg,#dc262608,#fff 15%)}.log-item.warning{border-left:4px solid #D97706;background:linear-gradient(90deg,#d9770608,#fff 15%)}.log-item.info{border-left:4px solid #2563EB}.log-item.success{border-left:4px solid #1B5E37}.log-icon{font-size:1.25rem;flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:#f5f5f5}.log-icon.create{background:#1b5e371a}.log-icon.update{background:#2563eb1a}.log-icon.delete{background:#dc26261a}.log-icon.login{background:#7c3aed1a}.log-icon.logout{background:#6b72801a}.log-content{flex:1;display:flex;flex-direction:column;gap:6px;min-width:0}.log-header-row{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-md)}.log-title{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.log-action{font-weight:600;color:#1a1a1a;font-size:.9rem}.log-description{font-size:.8rem;color:#666;line-height:1.5}.log-meta{display:flex;gap:var(--spacing-md);flex-wrap:wrap;margin-top:4px}.log-meta-item{display:flex;align-items:center;gap:4px;font-size:.7rem;color:#999}.log-meta-icon{font-size:.8rem}.log-timestamp{display:flex;flex-direction:column;align-items:flex-end;gap:4px;min-width:100px;flex-shrink:0}.log-time{font-size:.8rem;font-weight:600;color:#1a1a1a}.log-date{font-size:.7rem;color:#999}.log-severity-badge{display:inline-block;padding:3px 8px;border-radius:12px;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.log-severity-badge.critical{background:#dc26261a;color:#dc2626}.log-severity-badge.warning{background:#d977061a;color:#b45309}.log-severity-badge.info{background:#2563eb1a;color:#2563eb}.log-severity-badge.success{background:#1b5e371a;color:#1b5e37}.log-details{margin-top:8px;padding:var(--spacing-sm);background:#f9f9f9;border-radius:6px;font-size:.75rem;color:#666}.log-details-toggle{cursor:pointer;color:#1b5e37;font-weight:500;margin-top:6px;font-size:.75rem;display:inline-flex;align-items:center;gap:4px}.log-details-toggle:hover{text-decoration:underline}.log-details-content{margin-top:8px;padding:var(--spacing-sm);background:#fff;border:1px solid #E0E0E0;border-radius:4px;font-family:Monaco,Menlo,monospace;font-size:.7rem;white-space:pre-wrap;word-break:break-word;color:#1a1a1a}.logs-pagination{display:flex;justify-content:center;align-items:center;gap:var(--spacing-sm);margin-top:var(--spacing-lg);padding-top:var(--spacing-md);border-top:1px solid #E0E0E0}.pagination-btn{padding:8px 14px;border:1px solid #E0E0E0;background:#fff;border-radius:6px;cursor:pointer;transition:all .2s;font-weight:500;color:#666;font-size:.85rem}.pagination-btn:hover:not(:disabled){border-color:#1b5e37;color:#1b5e37}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.pagination-info{font-size:.8rem;color:#666;padding:0 var(--spacing-md)}.empty-activity-logs{text-align:center;padding:var(--spacing-xl);color:#999}.empty-activity-icon{font-size:3rem;margin-bottom:var(--spacing-md);opacity:.5}.empty-activity-logs h3{font-size:1.1rem;margin:0 0 var(--spacing-sm) 0;color:#666;font-weight:600}.empty-activity-logs p{font-size:.85rem;margin:0;color:#999}.loading-logs{text-align:center;padding:var(--spacing-xl)}.loading-logs .loading-spinner{width:36px;height:36px;border:3px solid #E0E0E0;border-top-color:#1b5e37;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto var(--spacing-md)}.loading-logs p{font-size:.85rem;color:#666}.export-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-lg)}.export-modal{background:#fff;border-radius:12px;max-width:480px;width:100%;box-shadow:0 20px 60px #00000026}.export-modal-header{padding:var(--spacing-lg);border-bottom:1px solid #E0E0E0;display:flex;justify-content:space-between;align-items:center}.export-modal-header h3{font-size:1.1rem;font-weight:600;color:#1a1a1a;margin:0}.export-modal-close{background:none;border:none;font-size:1.25rem;cursor:pointer;color:#999;padding:4px;line-height:1;transition:color .2s}.export-modal-close:hover{color:#1a1a1a}.export-modal-body{padding:var(--spacing-lg)}.export-options{display:flex;flex-direction:column;gap:var(--spacing-sm)}.export-option{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);border:1px solid #E0E0E0;border-radius:8px;cursor:pointer;transition:all .2s}.export-option:hover{border-color:#1b5e37}.export-option.selected{border-color:#1b5e37;background:#1b5e370d}.export-option-icon{font-size:1.75rem;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:#f5f5f5;border-radius:8px;flex-shrink:0}.export-option.selected .export-option-icon{background:#1b5e371a}.export-option-info{flex:1}.export-option-title{font-weight:600;color:#1a1a1a;font-size:.9rem;margin-bottom:2px}.export-option-desc{font-size:.75rem;color:#666}.export-option-check{width:20px;height:20px;border:2px solid #E0E0E0;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s}.export-option.selected .export-option-check{border-color:#1b5e37;background:#1b5e37;color:#fff}.export-modal-footer{padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid #E0E0E0;display:flex;justify-content:flex-end;gap:var(--spacing-sm)}.export-modal-footer .btn{padding:10px 20px;border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s}.export-modal-footer .btn-cancel{background:#fff;border:1px solid #E0E0E0;color:#666}.export-modal-footer .btn-cancel:hover{border-color:#999}.export-modal-footer .btn-export{background:#1b5e37;border:1px solid #1B5E37;color:#fff}.export-modal-footer .btn-export:hover{background:#154a2c}.export-modal-footer .btn-export:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 1200px){.activity-summary-grid{grid-template-columns:repeat(2,1fr)}.filters-row{grid-template-columns:1fr 1fr}}@media (max-width: 768px){.activity-logs-page{padding:var(--spacing-md)}.activity-logs-page .page-header{flex-direction:column;align-items:flex-start}.activity-summary-grid{grid-template-columns:1fr}.quick-filters{overflow-x:auto;flex-wrap:nowrap;padding-bottom:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.quick-filter-btn{flex-shrink:0}.filters-row{grid-template-columns:1fr}.logs-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.log-item{flex-direction:column}.log-header-row{flex-direction:column;gap:var(--spacing-sm)}.log-timestamp{align-items:flex-start;flex-direction:row;gap:var(--spacing-sm);width:100%}.log-meta{flex-direction:column;gap:4px}.filter-actions{flex-direction:column}.filter-actions .btn{width:100%}.logs-pagination{flex-wrap:wrap;gap:var(--spacing-xs)}.export-modal{margin:var(--spacing-md);max-height:calc(100vh - 32px);overflow-y:auto}}.log-icon.service{background:#1b5e371a}.service-log-details{display:grid;gap:8px;padding:var(--spacing-md);background:var(--gray-50);border-radius:8px;border:1px solid var(--gray-200)}.service-detail-row{display:flex;align-items:center;gap:var(--spacing-md);font-size:.85rem}.service-detail-row.reason{padding-top:var(--spacing-sm);margin-top:var(--spacing-sm);border-top:1px solid var(--gray-200)}.service-detail-label{min-width:120px;font-weight:600;color:var(--gray-600)}.service-detail-row span:last-child{color:var(--gray-900)}.service-status-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:4px;font-size:.8rem;font-weight:500}.service-status-badge.started{background:#3b82f61a;color:#3b82f6}.service-status-badge.completed{background:#1b5e371a;color:var(--primary)}.service-status-badge.ended_early{background:#f59e0b1a;color:#d97706}.service-status-badge.cancelled{background:#ef44441a;color:var(--error)}.service-history-page{padding:var(--spacing-lg)}.service-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.service-summary-card{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:var(--spacing-lg);text-align:center;position:relative;overflow:hidden;transition:all var(--transition-fast)}.service-summary-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px}.service-summary-card.revenue:before{background:linear-gradient(135deg,var(--success) 0%,var(--success-dark) 100%)}.service-summary-card.transactions:before{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%)}.service-summary-card.average:before{background:linear-gradient(135deg,var(--info) 0%,var(--info-dark) 100%)}.service-summary-card.customers:before{background:linear-gradient(135deg,var(--warning) 0%,var(--warning-dark) 100%)}.service-summary-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.service-summary-icon{font-size:2rem;margin-bottom:var(--spacing-sm)}.service-summary-value{font-size:1.75rem;font-weight:700;color:var(--gray-900);margin-bottom:var(--spacing-xs)}.service-summary-label{font-size:.875rem;color:var(--gray-600);text-transform:uppercase;letter-spacing:.5px}.service-filters{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.filter-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.filter-group label{font-weight:600;color:var(--gray-700);font-size:.875rem}.filter-actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end}.service-transactions-section{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:var(--spacing-xl)}.transactions-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:2px solid var(--gray-200)}.transactions-header h2{font-size:1.5rem;margin:0;color:var(--gray-900)}.service-transactions-table{width:100%;border-collapse:collapse}.service-transactions-table thead{background:var(--gray-50);border-bottom:2px solid var(--gray-200)}.service-transactions-table th{padding:var(--spacing-md);text-align:left;font-weight:600;color:var(--gray-700);font-size:.75rem;text-transform:uppercase;letter-spacing:.5px}.service-transactions-table th.right{text-align:right}.service-transactions-table tbody tr{border-bottom:1px solid var(--gray-200);transition:background var(--transition-fast);cursor:pointer}.service-transactions-table tbody tr:hover{background:var(--gray-50)}.service-transactions-table td{padding:var(--spacing-md);color:var(--gray-700);font-size:.875rem}.service-transactions-table td.right{text-align:right;font-weight:600;color:var(--gray-900)}.transaction-receipt{font-weight:600;color:var(--primary)}.transaction-customer{display:flex;flex-direction:column;gap:var(--spacing-xs)}.customer-name{font-weight:600;color:var(--gray-900)}.customer-phone{font-size:.75rem;color:var(--gray-600)}.transaction-employee{display:flex;align-items:center;gap:var(--spacing-xs)}.employee-avatar{width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:var(--white);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.65rem}.payment-method-badge{display:inline-block;padding:4px 10px;border-radius:var(--radius-full);font-size:.7rem;font-weight:600;text-transform:uppercase}.payment-method-badge.cash{background:var(--success-light);color:var(--success-dark)}.payment-method-badge.card{background:var(--info-light);color:var(--info-dark)}.payment-method-badge.gcash{background:var(--primary-light);color:var(--primary-dark)}.transaction-detail-modal .modal-content{max-width:800px}.transaction-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:2px solid var(--gray-200)}.transaction-detail-header h2{font-size:1.5rem;margin:0;color:var(--gray-900)}.transaction-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.info-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.info-label{font-size:.75rem;color:var(--gray-600);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.info-value{font-size:1rem;color:var(--gray-900);font-weight:500}.items-section{margin-bottom:var(--spacing-xl)}.items-section h3{font-size:1.1rem;margin:0 0 var(--spacing-md) 0;color:var(--gray-900)}.items-table{width:100%;border-collapse:collapse}.items-table thead{background:var(--gray-50);border-bottom:2px solid var(--gray-200)}.items-table th{padding:var(--spacing-sm);text-align:left;font-weight:600;color:var(--gray-700);font-size:.875rem}.items-table th.right{text-align:right}.items-table tbody tr{border-bottom:1px solid var(--gray-200)}.items-table td{padding:var(--spacing-sm);color:var(--gray-700);font-size:.875rem}.items-table td.right{text-align:right;font-weight:600;color:var(--gray-900)}.item-with-employee{display:flex;flex-direction:column;gap:var(--spacing-xs)}.item-name{font-weight:600;color:var(--gray-900)}.item-employee{font-size:.75rem;color:var(--gray-600)}.payment-summary{background:var(--gray-50);border-radius:var(--radius-lg);padding:var(--spacing-lg)}.summary-line{display:flex;justify-content:space-between;padding:var(--spacing-sm) 0;font-size:.875rem}.summary-line.total{border-top:2px solid var(--gray-900);border-bottom:3px double var(--gray-900);padding:var(--spacing-md) 0;margin-top:var(--spacing-sm);font-weight:700;font-size:1.1rem}.summary-line.total .summary-value{color:var(--primary);font-size:1.25rem}.employee-performance{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:var(--spacing-xl);margin-bottom:var(--spacing-lg)}.performance-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-lg)}.performance-card{border:2px solid var(--gray-200);border-radius:var(--radius-lg);padding:var(--spacing-lg);text-align:center;transition:all var(--transition-fast)}.performance-card:hover{border-color:var(--primary);box-shadow:var(--shadow-sm)}.performance-employee{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.performance-avatar{width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:var(--white);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.2rem}.performance-name{font-weight:600;color:var(--gray-900);font-size:1rem}.performance-stats{display:flex;flex-direction:column;gap:var(--spacing-sm)}.performance-stat{display:flex;justify-content:space-between;padding:var(--spacing-xs) 0;font-size:.875rem}.stat-label{color:var(--gray-600)}.stat-value{font-weight:600;color:var(--gray-900)}.empty-service-history{text-align:center;padding:var(--spacing-xl) var(--spacing-lg);color:var(--gray-500)}.empty-service-icon{font-size:4rem;margin-bottom:var(--spacing-md)}.empty-service-history h3{font-size:1.25rem;margin:0 0 var(--spacing-sm) 0;color:var(--gray-700)}.empty-service-history p{font-size:.875rem;margin:0}.service-pagination{display:flex;justify-content:center;align-items:center;gap:var(--spacing-sm);margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--gray-200)}.pagination-btn{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--gray-300);background:var(--white);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);font-weight:500;color:var(--gray-700)}.pagination-btn:hover:not(:disabled){border-color:var(--primary);background:var(--primary-light)}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-info{font-size:.875rem;color:var(--gray-600)}@media (max-width: 1024px){.service-summary-grid{grid-template-columns:repeat(2,1fr)}.filters-grid{grid-template-columns:1fr}.performance-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.service-history-page{padding:var(--spacing-md)}.service-summary-grid,.transaction-info-grid,.performance-grid{grid-template-columns:1fr}.service-transactions-table{display:block;overflow-x:auto}.filter-actions{flex-direction:column}.filter-actions .btn{width:100%}}.inventory-page{padding:var(--spacing-lg)}.inventory-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.inventory-summary-card{background:#fff;border:1px solid #E0E0E0;border-radius:8px;padding:var(--spacing-lg);text-align:center;transition:border-color .2s}.inventory-summary-card:hover{border-color:#1b5e37}.inventory-summary-card.total-value{background:#1b5e37;border-color:#1b5e37}.inventory-summary-card.total-value .inventory-summary-value,.inventory-summary-card.total-value .inventory-summary-label{color:#fff}.inventory-summary-card.total-value .inventory-summary-icon{opacity:.9}.inventory-summary-card.out-stock .inventory-summary-value{color:#dc2626}.inventory-summary-card.low-stock .inventory-summary-value{color:#92400e}.inventory-summary-icon{font-size:1.75rem;margin-bottom:var(--spacing-sm)}.inventory-summary-value{font-size:1.75rem;font-weight:700;color:#1a1a1a;margin-bottom:4px}.inventory-summary-label{font-size:.75rem;color:#666;text-transform:uppercase;letter-spacing:.5px}.inventory-quick-actions{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);flex-wrap:wrap}.quick-action-btn{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#fff;border:1px solid #E0E0E0;border-radius:6px;font-size:.85rem;font-weight:500;color:#1a1a1a;cursor:pointer;transition:all .2s}.quick-action-btn:hover{border-color:#1b5e37;color:#1b5e37}.quick-action-icon{font-size:1.1rem}.low-stock-alerts{background:#fff;border:1px solid #DC2626;border-left:4px solid #DC2626;border-radius:8px;padding:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.alerts-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.alerts-header h3{margin:0;font-size:1rem;font-weight:600;color:#dc2626}.alert-icon{font-size:1.25rem}.alerts-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.alert-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) var(--spacing-md);background:#f5f5f5;border-radius:6px;border:1px solid #E0E0E0}.alert-item.critical{background:#fef2f2;border-color:#dc2626}.alert-info{display:flex;flex-direction:column;gap:2px}.alert-product-name{font-weight:600;font-size:.9rem;color:#1a1a1a}.alert-stock-info{font-size:.75rem;color:#666}.alert-actions{display:flex;gap:8px}.inventory-table-section{background:#fff;border:1px solid #E0E0E0;border-radius:8px;padding:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.inventory-table-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px solid #E0E0E0}.inventory-table-header h2{font-size:1.1rem;margin:0;font-weight:600;color:#1a1a1a}.table-actions{display:flex;gap:var(--spacing-sm);align-items:center}.results-count{font-size:.8rem;color:#666}.inventory-filters{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);flex-wrap:wrap}.inventory-filters input,.inventory-filters select{padding:10px 14px;border:1px solid #E0E0E0;border-radius:6px;font-size:.85rem;color:#1a1a1a;background:#fff}.inventory-filters input:focus,.inventory-filters select:focus{outline:none;border-color:#1b5e37}.inventory-filters input::placeholder{color:#999}.search-input{min-width:250px}.inventory-table{width:100%;border-collapse:collapse}.inventory-table thead{background:#f5f5f5}.inventory-table th{padding:12px 16px;text-align:left;font-weight:600;color:#666;font-size:.7rem;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #E0E0E0}.inventory-table th.right{text-align:right}.inventory-table tbody tr{border-bottom:1px solid #E0E0E0;transition:background .2s}.inventory-table tbody tr:hover{background:#f5f5f5}.inventory-table tbody tr:last-child{border-bottom:none}.inventory-table td{padding:12px 16px;color:#1a1a1a;font-size:.85rem}.inventory-table td.right{text-align:right;font-weight:600}.product-name-cell{display:flex;flex-direction:column;gap:2px}.product-name{font-weight:600;color:#1a1a1a}.product-category{font-size:.75rem;color:#666}.stock-status{display:inline-block;padding:4px 10px;border-radius:20px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em}.stock-status.in-stock{background:#f5f5f5;color:#1b5e37;border:1px solid #1B5E37}.stock-status.low-stock{background:#f5f5f5;color:#92400e;border:1px solid #d97706}.stock-status.out-of-stock{background:#f5f5f5;color:#dc2626;border:1px solid #DC2626}.action-buttons{display:flex;gap:8px}.action-buttons .btn{padding:6px 12px;font-size:.75rem;font-weight:500;border-radius:4px;cursor:pointer;transition:all .2s}.action-buttons .btn-primary{background:#1b5e37;color:#fff;border:1px solid #1B5E37}.action-buttons .btn-primary:hover{background:#145a2c}.action-buttons .btn-secondary{background:#fff;color:#1a1a1a;border:1px solid #E0E0E0}.action-buttons .btn-secondary:hover{border-color:#1b5e37;color:#1b5e37}.stock-adjustment-modal{max-width:450px}.adjustment-type-group{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.adjustment-type-btn{flex:1;padding:12px;border:1px solid #E0E0E0;border-radius:6px;background:#fff;cursor:pointer;transition:all .2s;font-weight:500;font-size:.85rem;color:#666}.adjustment-type-btn:hover{border-color:#1b5e37;color:#1b5e37}.adjustment-type-btn.selected{border-color:#1b5e37;background:#f5f5f5;color:#1b5e37}.adjustment-preview{background:#f5f5f5;border-radius:6px;padding:var(--spacing-md);margin-top:var(--spacing-md);border:1px solid #E0E0E0}.preview-line{display:flex;justify-content:space-between;padding:6px 0;font-size:.85rem;color:#666}.preview-line strong{color:#1a1a1a}.preview-line.total{border-top:1px solid #E0E0E0;margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);font-weight:600}.preview-line.total span,.preview-line.total strong{color:#1b5e37;font-size:1rem}.purchase-order-modal{max-width:650px}.po-items-section{margin-bottom:var(--spacing-lg)}.po-items-section>label{display:block;font-weight:500;margin-bottom:var(--spacing-sm);color:#1a1a1a}.po-items-list{background:#f5f5f5;border:1px solid #E0E0E0;border-radius:6px;overflow:hidden;margin-bottom:var(--spacing-sm)}.po-item{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 36px;gap:var(--spacing-sm);padding:var(--spacing-sm);border-bottom:1px solid #E0E0E0;align-items:center;background:#fff}.po-item:last-child{border-bottom:none}.po-item select,.po-item input{padding:8px 10px;border:1px solid #E0E0E0;border-radius:4px;font-size:.85rem;color:#1a1a1a;background:#fff}.po-item select:focus,.po-item input:focus{outline:none;border-color:#1b5e37}.po-item .right{text-align:right;font-weight:600;font-size:.85rem;color:#1a1a1a}.remove-item-btn{width:32px;height:32px;border:1px solid #E0E0E0;background:#fff;color:#dc2626;border-radius:4px;cursor:pointer;font-weight:600;font-size:.9rem;transition:all .2s;display:flex;align-items:center;justify-content:center}.remove-item-btn:hover{background:#dc2626;border-color:#dc2626;color:#fff}.add-item-btn{width:100%;padding:10px;border:1px dashed #E0E0E0;background:#fff;color:#666;border-radius:6px;cursor:pointer;font-weight:500;font-size:.85rem;transition:all .2s}.add-item-btn:hover{border-color:#1b5e37;color:#1b5e37}.po-summary{background:#f5f5f5;border-radius:6px;padding:var(--spacing-md);border:1px solid #E0E0E0}.po-summary-line{display:flex;justify-content:space-between;padding:6px 0;font-size:.85rem;color:#666}.po-summary-line.total{border-top:1px solid #E0E0E0;margin-top:var(--spacing-sm);padding-top:var(--spacing-sm)}.po-summary-line.total span{font-weight:600;color:#1a1a1a}.po-summary-line.total strong{font-size:1.1rem;color:#1b5e37}.stock-history-modal{max-width:700px}.history-timeline{position:relative;padding-left:24px}.history-timeline:before{content:"";position:absolute;left:6px;top:8px;bottom:8px;width:2px;background:#e0e0e0}.history-entry{position:relative;margin-bottom:var(--spacing-md);padding:var(--spacing-md);background:#fff;border:1px solid #E0E0E0;border-radius:6px;transition:border-color .2s}.history-entry:hover{border-color:#1b5e37}.history-entry:before{content:"";position:absolute;left:-22px;top:16px;width:10px;height:10px;border-radius:50%;background:#fff;border:2px solid #E0E0E0}.history-entry.addition:before{border-color:#1b5e37}.history-entry.purchase:before{border-color:#1b5e37}.history-entry.subtraction:before{border-color:#dc2626}.history-entry.adjustment:before{border-color:#666}.history-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-sm)}.history-type{display:inline-block;padding:4px 10px;border-radius:20px;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em}.history-type.addition,.history-type.purchase{background:#f5f5f5;color:#1b5e37;border:1px solid #1B5E37}.history-type.subtraction{background:#f5f5f5;color:#dc2626;border:1px solid #DC2626}.history-type.adjustment{background:#f5f5f5;color:#666;border:1px solid #666666}.history-date{font-size:.75rem;color:#666}.history-details{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-sm);margin-top:var(--spacing-sm);padding:var(--spacing-sm);background:#f5f5f5;border-radius:4px}.history-detail{display:flex;flex-direction:column;gap:2px}.history-detail-label{font-size:.65rem;color:#666;text-transform:uppercase;letter-spacing:.5px}.history-detail-value{font-weight:600;color:#1a1a1a;font-size:.85rem}.history-quantity{font-size:1rem}.history-quantity.positive{color:#1b5e37}.history-quantity.negative{color:#dc2626}.history-reason{margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid #E0E0E0;font-size:.8rem;color:#666;font-style:italic}.empty-inventory{text-align:center;padding:var(--spacing-xxl) var(--spacing-lg);color:#666}.empty-inventory-icon{font-size:3rem;margin-bottom:var(--spacing-md);opacity:.5}.empty-inventory h3{font-size:1.1rem;margin:0 0 var(--spacing-sm) 0;color:#1a1a1a;font-weight:600}.empty-inventory p{font-size:.85rem;margin:0;color:#666}@media (max-width: 1024px){.inventory-summary-grid{grid-template-columns:repeat(2,1fr)}.po-item{grid-template-columns:1fr 1fr 1fr 36px}}@media (max-width: 768px){.inventory-page{padding:var(--spacing-md)}.inventory-summary-grid{grid-template-columns:1fr 1fr;gap:var(--spacing-sm)}.inventory-summary-card{padding:var(--spacing-md)}.inventory-summary-value{font-size:1.25rem}.inventory-quick-actions{flex-direction:column}.quick-action-btn{width:100%;justify-content:center}.inventory-filters{flex-direction:column}.inventory-filters input,.inventory-filters select{width:100%}.search-input{min-width:100%}.inventory-table{display:block;overflow-x:auto}.inventory-table th,.inventory-table td{padding:10px 12px;font-size:.8rem}.po-item{grid-template-columns:1fr;gap:var(--spacing-xs);padding:var(--spacing-md)}.po-item .right{text-align:left}.remove-item-btn{width:100%;height:auto;padding:8px}.history-details{grid-template-columns:1fr}.alert-item{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.alert-actions{width:100%}.alert-actions .btn{flex:1}}.reorder-suggestions-section{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg);border-left:4px solid var(--primary)}.reorder-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg)}.reorder-title{display:flex;align-items:center;gap:var(--spacing-sm)}.reorder-icon{font-size:1.5rem}.reorder-title h3{margin:0;font-size:1.125rem;color:var(--gray-900)}.reorder-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.reorder-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);background:var(--gray-50);border-radius:var(--radius-md);border:1px solid var(--gray-200)}.reorder-product-info{display:flex;flex-direction:column;gap:2px}.reorder-product-name{font-weight:600;color:var(--gray-900)}.reorder-product-category{font-size:.75rem;color:var(--gray-500)}.reorder-stock-info{display:flex;gap:var(--spacing-lg)}.reorder-stock-current,.reorder-stock-target,.reorder-stock-suggested{display:flex;flex-direction:column;align-items:center;gap:2px}.reorder-stock-info .label{font-size:.7rem;color:var(--gray-500);text-transform:uppercase}.reorder-stock-info .value{font-weight:600;font-size:1rem;color:var(--gray-700)}.reorder-stock-info .value.critical{color:#dc2626}.reorder-stock-info .value.warning{color:#f59e0b}.reorder-stock-info .value.highlight{color:var(--primary);background:#1b5e371a;padding:2px 8px;border-radius:var(--radius-sm)}.reorder-footer{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--gray-200);text-align:center}@media (max-width: 768px){.reorder-header,.reorder-item{flex-direction:column;gap:var(--spacing-md);align-items:flex-start}.reorder-stock-info{width:100%;justify-content:space-between}}.reports-page{padding:var(--spacing-lg)}.report-categories{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.report-category-card{background:var(--white);border:2px solid var(--gray-200);border-radius:var(--radius-lg);padding:var(--spacing-xl);text-align:center;cursor:pointer;transition:all var(--transition-fast);position:relative;overflow:hidden}.report-category-card:before{content:"";position:absolute;top:0;left:0;right:0;height:6px}.report-category-card.financial:before{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%)}.report-category-card.operations:before{background:linear-gradient(135deg,var(--info) 0%,var(--info-dark) 100%)}.report-category-card.employee:before{background:linear-gradient(135deg,var(--success) 0%,var(--success-dark) 100%)}.report-category-card.customer:before{background:linear-gradient(135deg,var(--warning) 0%,var(--warning-dark) 100%)}.report-category-card:hover{border-color:var(--primary);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.category-icon{font-size:3rem;margin-bottom:var(--spacing-md)}.category-title{font-size:1.25rem;font-weight:700;color:var(--gray-900);margin-bottom:var(--spacing-sm)}.category-description{font-size:.875rem;color:var(--gray-600);line-height:1.5}.category-count{display:inline-block;margin-top:var(--spacing-sm);padding:4px 12px;background:var(--gray-100);border-radius:var(--radius-full);font-size:.75rem;font-weight:600;color:var(--gray-700)}.report-viewer{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:var(--spacing-xl)}.report-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:2px solid var(--gray-200)}.report-header-left{display:flex;align-items:center;gap:var(--spacing-md)}.back-btn{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background:var(--white);border:1px solid var(--gray-300);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);font-weight:600}.back-btn:hover{background:var(--gray-50);border-color:var(--gray-400)}.report-title{font-size:1.75rem;margin:0;color:var(--gray-900)}.report-actions{display:flex;gap:var(--spacing-sm)}.report-filters{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);padding:var(--spacing-md);background:var(--gray-50);border-radius:var(--radius-md);flex-wrap:wrap;align-items:flex-end}.filter-group{display:flex;flex-direction:column;gap:var(--spacing-xs);flex:1;min-width:150px}.filter-group label{font-size:.75rem;font-weight:600;color:var(--gray-700);text-transform:uppercase;letter-spacing:.5px}.filter-group input,.filter-group select{padding:var(--spacing-sm);border:1px solid var(--gray-300);border-radius:var(--radius-md);font-size:.875rem;background:var(--white)}.financial-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.financial-card{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:var(--spacing-lg);text-align:center;position:relative;overflow:hidden}.financial-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px}.financial-card.revenue:before{background:var(--success)}.financial-card.expenses:before{background:var(--error)}.financial-card.profit:before{background:var(--primary)}.financial-card.margin:before{background:var(--info)}.financial-label{font-size:.875rem;color:var(--gray-600);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--spacing-sm)}.financial-value{font-size:2rem;font-weight:700;color:var(--gray-900);margin-bottom:var(--spacing-xs)}.financial-value.positive{color:var(--success)}.financial-value.negative{color:var(--error)}.financial-change{font-size:.75rem;display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs)}.financial-change.up{color:var(--success)}.financial-change.down{color:var(--error)}.pl-statement{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:var(--spacing-xl);margin-bottom:var(--spacing-lg)}.pl-section{margin-bottom:var(--spacing-lg)}.pl-section-title{font-size:1.1rem;font-weight:700;color:var(--gray-900);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:2px solid var(--gray-200)}.pl-line{display:flex;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);font-size:.875rem;border-bottom:1px solid var(--gray-100)}.pl-line:hover{background:var(--gray-50)}.pl-line.total{background:var(--gray-100);font-weight:700;font-size:1rem;border-top:2px solid var(--gray-300);border-bottom:2px solid var(--gray-300);margin-top:var(--spacing-sm)}.pl-line.grand-total{background:var(--primary);font-weight:700;font-size:1.1rem;border-top:3px solid var(--primary-dark);border-bottom:3px solid var(--primary-dark);margin-top:var(--spacing-md);color:var(--white)}.pl-line.grand-total .pl-label,.pl-line.grand-total .pl-value{color:var(--white)}.pl-label{color:var(--gray-700)}.pl-value{font-weight:600;color:var(--gray-900);text-align:right}.pl-value.positive{color:var(--success)}.pl-value.negative{color:var(--error)}.report-charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.chart-container{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:var(--spacing-xl)}.chart-title{font-size:1.1rem;font-weight:700;color:var(--gray-900);margin-bottom:var(--spacing-md)}.chart-canvas{position:relative;height:300px}.employee-performance-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.employee-performance-card{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:var(--spacing-lg);transition:all var(--transition-fast)}.employee-performance-card:hover{box-shadow:var(--shadow-md);border-color:var(--primary)}.employee-header{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--gray-200)}.employee-avatar{width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:var(--white);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.2rem}.employee-info{flex:1}.employee-name{font-size:1rem;font-weight:700;color:var(--gray-900);margin-bottom:var(--spacing-xs)}.employee-role{font-size:.75rem;color:var(--gray-600)}.employee-stats{display:flex;flex-direction:column;gap:var(--spacing-sm)}.stat-row{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-xs) 0}.stat-value{font-size:.875rem;font-weight:600;color:var(--gray-900)}.performance-bar{height:6px;background:var(--gray-200);border-radius:var(--radius-full);overflow:hidden;margin-top:var(--spacing-xs)}.performance-bar-fill{height:100%;background:linear-gradient(90deg,var(--primary) 0%,var(--primary-dark) 100%);border-radius:var(--radius-full);transition:width .3s ease}.customer-insights{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.insight-card{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:var(--spacing-lg);text-align:center}.insight-icon{font-size:2.5rem;margin-bottom:var(--spacing-sm)}.insight-value{font-size:1.75rem;font-weight:700;color:var(--primary);margin-bottom:var(--spacing-xs)}.insight-label{font-size:.875rem;color:var(--gray-600);text-transform:uppercase;letter-spacing:.5px}.top-performers{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:var(--spacing-xl);margin-bottom:var(--spacing-lg)}.performers-table{width:100%;border-collapse:collapse}.performers-table thead{background:var(--gray-50);border-bottom:2px solid var(--gray-200)}.performers-table th{padding:var(--spacing-md);text-align:left;font-weight:600;color:var(--gray-700);font-size:.75rem;text-transform:uppercase;letter-spacing:.5px}.performers-table th.right{text-align:right}.performers-table tbody tr{border-bottom:1px solid var(--gray-200);transition:background var(--transition-fast)}.performers-table tbody tr:hover{background:var(--gray-50)}.performers-table td{padding:var(--spacing-md);font-size:.875rem;color:var(--gray-700)}.performers-table td.right{text-align:right;font-weight:600;color:var(--gray-900)}.rank-badge{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;font-weight:700;font-size:.75rem}.rank-badge.gold{background:linear-gradient(135deg,gold,orange);color:var(--white)}.rank-badge.silver{background:linear-gradient(135deg,silver,#a8a8a8);color:var(--white)}.rank-badge.bronze{background:linear-gradient(135deg,#cd7f32,#b8713a);color:var(--white)}.rank-badge.default{background:var(--gray-200);color:var(--gray-700)}.export-options{display:flex;gap:var(--spacing-sm);padding:var(--spacing-md);background:var(--gray-50);border-radius:var(--radius-md);margin-top:var(--spacing-lg)}.export-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:var(--spacing-md);border:2px solid var(--gray-300);background:var(--white);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);font-weight:600}.export-btn:hover{border-color:var(--primary);background:var(--primary-light);color:var(--primary-dark)}.export-icon{font-size:1.2rem}.date-range-quick-select{display:flex;gap:var(--spacing-xs);margin-bottom:var(--spacing-sm)}.date-quick-btn{padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--gray-300);background:var(--white);border-radius:var(--radius-md);font-size:.75rem;cursor:pointer;transition:all var(--transition-fast)}.date-quick-btn.active{background:var(--primary);color:var(--white);border-color:var(--primary)}.date-quick-btn:hover:not(.active){background:var(--gray-100)}.empty-report{text-align:center;padding:var(--spacing-xl) var(--spacing-lg);color:var(--gray-500)}.empty-report-icon{font-size:4rem;margin-bottom:var(--spacing-md)}.empty-report h3{font-size:1.25rem;margin:0 0 var(--spacing-sm) 0;color:var(--gray-700)}.empty-report p{font-size:.875rem;margin:0}@media print{.reports-page{padding:0}.report-header,.report-filters,.export-options,.back-btn{display:none!important}.report-viewer{border:none;box-shadow:none}.chart-container{page-break-inside:avoid}}@media (max-width: 1024px){.report-categories,.financial-summary{grid-template-columns:repeat(2,1fr)}.report-charts{grid-template-columns:1fr}.employee-performance-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.reports-page{padding:var(--spacing-md)}.report-categories,.financial-summary{grid-template-columns:1fr}.report-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-md)}.report-actions{width:100%;flex-direction:column}.report-actions .btn{width:100%}.report-filters{flex-direction:column}.filter-group{width:100%}.employee-performance-grid,.customer-insights{grid-template-columns:1fr}.export-options{flex-direction:column}.performers-table{display:block;overflow-x:auto}}.report-grid.two-column{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-lg);margin-bottom:var(--spacing-lg)}@media (max-width: 1024px){.report-grid.two-column{grid-template-columns:1fr}}.reports-page .status-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:var(--radius-full);font-size:.75rem;font-weight:600;text-transform:capitalize}.reports-page .status-badge.success{background:#1b5e371a;color:var(--success)}.reports-page .status-badge.warning{background:#d977061a;color:var(--warning)}.reports-page .status-badge.info{background:#3b82f61a;color:#3b82f6}.reports-page .status-badge.danger{background:#dc26261a;color:var(--danger)}.tier-badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:var(--radius-full);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.tier-badge.platinum{background:linear-gradient(135deg,#667eea,#764ba2);color:var(--white);box-shadow:0 2px 4px #667eea4d}.tier-badge.gold{background:linear-gradient(135deg,#f5af19,#f12711);color:var(--white);box-shadow:0 2px 4px #f5af194d}.tier-badge.silver{background:linear-gradient(135deg,#bdc3c7,#606060);color:var(--white);box-shadow:0 2px 4px #bdc3c74d}.tier-badge.bronze{background:linear-gradient(135deg,#cd7f32,sienna);color:var(--white);box-shadow:0 2px 4px #cd7f324d}.insight-value.negative{color:var(--danger)}.insight-value.warning{color:var(--warning)}.insight-value.positive{color:var(--success)}.performers-table td.negative{color:var(--danger);font-weight:600}.performers-table td.warning{color:var(--warning)}.performers-table td.positive{color:var(--success)}.performers-table .empty-message{text-align:center;color:var(--gray-500);font-style:italic;padding:var(--spacing-md)}.chart-container-small{height:250px;max-width:350px;margin:0 auto}.category-with-icon{display:flex;align-items:center;gap:var(--spacing-sm)}.category-icon{font-size:1.1rem}.cashflow-details{display:flex;flex-direction:column;gap:var(--spacing-lg)}.cashflow-section{background:var(--white);border-radius:var(--radius-lg);padding:var(--spacing-md);border:1px solid var(--gray-200)}.cashflow-section h3{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--gray-200)}.cashflow-items{display:flex;flex-direction:column;gap:var(--spacing-sm)}.cashflow-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) 0}.cashflow-item.total{border-top:2px solid var(--gray-200);margin-top:var(--spacing-sm);padding-top:var(--spacing-md)}.cashflow-item .item-label{color:var(--text-secondary);font-size:.875rem}.cashflow-item .item-value{font-weight:600;font-size:.875rem}.cashflow-item .item-value.positive{color:var(--success)}.cashflow-item .item-value.negative{color:var(--danger)}.financial-card.expenses{border-left-color:var(--danger)}.financial-card.profit{border-left-color:var(--success)}.performers-table tfoot tr{background:var(--gray-50);border-top:2px solid var(--gray-200)}.performers-table tfoot td{font-weight:600}.calendar-page{padding:var(--spacing-lg);height:calc(100vh - 120px);display:flex;flex-direction:column}.calendar-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg);gap:var(--spacing-md);flex-wrap:wrap}.calendar-nav{display:flex;align-items:center;gap:var(--spacing-md)}.nav-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--gray-300);background:var(--white);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);font-size:1.2rem}.nav-btn:hover{background:var(--gray-50);border-color:var(--primary);color:var(--primary)}.current-date-display{font-size:1.25rem;font-weight:700;color:var(--gray-900);min-width:200px;text-align:center}.today-btn{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--primary);background:var(--white);color:var(--primary);border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.today-btn:hover{background:var(--primary);color:var(--white)}.view-switcher{display:flex;gap:var(--spacing-xs);background:var(--gray-100);padding:4px;border-radius:var(--radius-md)}.view-btn{padding:var(--spacing-sm) var(--spacing-md);border:none;background:transparent;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);font-weight:600;font-size:.875rem;color:var(--gray-700)}.view-btn.active{background:var(--white);color:var(--primary);box-shadow:var(--shadow-sm)}.view-btn:hover:not(.active){background:var(--gray-200)}.calendar-actions{display:flex;gap:var(--spacing-sm)}.calendar-filters{display:flex;gap:var(--spacing-md);align-items:center}.data-filter{display:flex;gap:var(--spacing-xs);background:var(--gray-100);padding:4px;border-radius:var(--radius-md)}.filter-btn{padding:var(--spacing-sm) var(--spacing-md);border:none;background:transparent;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);font-weight:600;font-size:.8rem;color:var(--gray-700)}.filter-btn.active{background:var(--white);color:var(--primary);box-shadow:var(--shadow-sm)}.filter-btn:hover:not(.active){background:var(--gray-200)}.filter-btn.filter-appointments.active{background:#1b5e37;color:#fff}.filter-btn.filter-attendance.active{background:#2563eb;color:#fff}.filter-btn.filter-shifts.active{background:#7c3aed;color:#fff}.calendar-legend-bar{display:flex;gap:var(--spacing-lg);padding:var(--spacing-sm) var(--spacing-md);background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-md);margin-bottom:var(--spacing-md)}.calendar-legend-bar .legend-item{display:flex;align-items:center;gap:var(--spacing-xs);font-size:.8rem;color:var(--gray-700)}.legend-dot{width:12px;height:12px;border-radius:3px}.legend-dot.event-appointment{background:#1b5e37}.legend-dot.event-attendance{background:#2563eb}.legend-dot.event-shift.event-day{background:#7c3aed}.legend-dot.event-shift.event-night{background:#4c1d95}.calendar-quick-nav{display:flex;align-items:center;gap:var(--spacing-sm);margin-left:var(--spacing-md);padding-left:var(--spacing-md);border-left:1px solid var(--border-color)}.quick-nav-label{font-size:.8rem;color:var(--text-secondary);font-weight:600}.quick-nav-btn{display:flex;align-items:center;gap:var(--spacing-xs);padding:6px 12px;border:1px solid var(--border-color);background:var(--bg-primary);border-radius:var(--radius-md);font-size:.75rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast);color:var(--text-primary)}.quick-nav-btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm);background:var(--bg-secondary)}.quick-nav-btn.appointments{border-color:var(--primary);color:var(--primary)}.quick-nav-btn.appointments:hover{background:var(--primary);color:#fff}.quick-nav-btn.attendance{border-color:var(--info);color:var(--info)}.quick-nav-btn.attendance:hover{background:var(--info);color:#fff}.quick-nav-btn.shifts{border-color:#7c3aed;color:#7c3aed}.quick-nav-btn.shifts:hover{background:#7c3aed;color:#fff}.calendar-container{flex:1;background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:var(--spacing-lg);overflow:hidden;display:flex;flex-direction:column}.month-view{display:flex;flex-direction:column;height:100%}.calendar-header{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--gray-200);border-radius:var(--radius-md) var(--radius-md) 0 0;overflow:hidden;margin-bottom:1px}.calendar-day-name{background:var(--gray-50);padding:var(--spacing-md);text-align:center;font-weight:700;font-size:.875rem;color:var(--gray-700);text-transform:uppercase;letter-spacing:.5px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--gray-200);flex:1;border-radius:0 0 var(--radius-md) var(--radius-md);overflow:hidden}.calendar-day{background:var(--white);padding:var(--spacing-sm);min-height:100px;position:relative;cursor:pointer;transition:background var(--transition-fast);display:flex;flex-direction:column}.calendar-day:hover{background:var(--gray-50)}.calendar-day.other-month{background:var(--gray-50);opacity:.5}.calendar-day.today{background:var(--white)!important;box-shadow:inset 0 0 0 3px var(--primary)}.calendar-day.selected{background:var(--white);box-shadow:inset 0 0 0 3px var(--primary)}.day-number{font-weight:700;color:var(--gray-900);margin-bottom:var(--spacing-xs);font-size:.875rem}.calendar-day.today .day-number{display:inline-block;background:var(--primary);color:var(--white);width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center}.day-events{display:flex;flex-direction:column;gap:2px;flex:1;overflow-y:auto}.event-dot{font-size:.7rem;padding:3px 6px;border-radius:4px;cursor:pointer;transition:transform .1s,box-shadow .1s;margin-bottom:2px;display:block;width:100%;text-align:center;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-dot:hover{transform:scale(1.02);box-shadow:0 2px 4px #00000026}.event-appointment{background:#1b5e3726;border:1px solid #1B5E37;color:#1b5e37}.event-appointment:hover{background:#1b5e3740}.event-appointment.event-confirmed{background:#1b5e3733;border-color:#1b5e37}.event-appointment.event-pending{background:#d9770626;border-color:#d97706;color:#92400e}.event-appointment.event-cancelled{background:#dc262626;border-color:#dc2626;color:#dc2626}.event-attendance{background:#2563eb26;border:1px solid #2563EB;color:#1d4ed8}.event-attendance:hover{background:#2563eb40}.event-attendance.event-present{background:#2563eb33;border-color:#2563eb}.event-attendance.event-absent{background:#dc262626;border-color:#dc2626;color:#dc2626}.event-attendance.event-late{background:#d9770626;border-color:#d97706;color:#92400e}.event-shift{background:#7c3aed26;border:1px solid #7C3AED;color:#6d28d9}.event-shift:hover{background:#7c3aed40}.event-shift.event-day{background:#7c3aed26;border-color:#7c3aed}.event-shift.event-night{background:#4c1d9533;border-color:#4c1d95;color:#4c1d95}.event-count{display:inline-block;padding:2px 6px;background:var(--gray-200);border-radius:var(--radius-full);font-size:.65rem;font-weight:700;color:var(--gray-700);margin-top:2px}.day-appointments{display:flex;flex-direction:column;gap:2px;flex:1;overflow-y:auto}.appointment-dot{font-size:.75rem;padding:4px 8px;background:var(--gray-100);border:1px solid var(--gray-400);border-radius:4px;color:var(--gray-900);cursor:pointer;transition:border-color .2s,background .2s;margin-bottom:4px;display:block;width:100%;text-align:center}.appointment-dot:hover{border-color:var(--primary);background:var(--white)}.appointment-count{display:inline-block;padding:2px 6px;background:var(--gray-200);border-radius:var(--radius-full);font-size:.65rem;font-weight:700;color:var(--gray-700);margin-top:2px}.week-view{display:flex;flex-direction:column;height:100%}.week-header{display:grid;grid-template-columns:60px repeat(7,1fr);gap:1px;background:var(--gray-200);border-radius:var(--radius-md) var(--radius-md) 0 0;overflow:hidden;margin-bottom:1px}.week-time-label{background:var(--gray-50);padding:var(--spacing-sm);font-weight:700;font-size:.75rem;color:var(--gray-700);text-align:center}.week-day-header{background:var(--gray-50);padding:var(--spacing-sm);text-align:center;font-weight:700;font-size:.875rem;color:var(--gray-700)}.week-day-header.today{background:var(--white);color:var(--primary);font-weight:700}.week-day-date{display:block;font-size:1.5rem;margin-top:var(--spacing-xs)}.week-grid{display:grid;grid-template-columns:60px repeat(7,1fr);gap:1px;background:var(--gray-200);flex:1;overflow-y:auto;border-radius:0 0 var(--radius-md) var(--radius-md)}.time-slot{background:var(--white);padding:var(--spacing-sm);font-size:.75rem;color:var(--gray-600);text-align:center;border-bottom:1px solid var(--gray-200);min-height:50px;display:flex;align-items:flex-start;justify-content:center;padding-top:8px}.week-day-column{background:var(--white);border-bottom:1px solid var(--gray-200);min-height:50px;padding:4px;display:flex;flex-wrap:wrap;align-content:flex-start;gap:2px}.week-day-column.today{background:var(--white)}.week-event{padding:4px 8px;border-radius:4px;font-size:.7rem;cursor:pointer;transition:transform .1s,box-shadow .1s;box-sizing:border-box;white-space:nowrap;flex-shrink:0;font-weight:600}.week-event:hover{transform:scale(1.05);box-shadow:0 2px 4px #00000026}.week-event.event-appointment{background:#1b5e3726;border:1px solid #1B5E37;color:#1b5e37}.week-event.event-attendance{background:#2563eb26;border:1px solid #2563EB;color:#1d4ed8}.week-event.event-shift{background:#7c3aed26;border:1px solid #7C3AED;color:#6d28d9}.week-event.event-shift.event-night{background:#4c1d9533;border-color:#4c1d95;color:#4c1d95}.week-appointment{padding:4px 8px;border-radius:4px;font-size:.7rem;cursor:pointer;transition:border-color .2s,background .2s;background:var(--gray-100);border:1px solid var(--gray-400);color:var(--gray-900);box-sizing:border-box;white-space:nowrap;flex-shrink:0}.week-appointment:hover{border-color:var(--primary);background:var(--white)}.day-view{display:flex;height:100%;gap:var(--spacing-lg)}.day-schedule{flex:3;display:flex;flex-direction:column}.day-timeline{flex:1;display:grid;grid-template-columns:80px 1fr;gap:1px;background:var(--gray-200);border-radius:var(--radius-md);overflow-y:auto}.day-time-label{background:var(--gray-50);padding:var(--spacing-sm);font-size:.75rem;color:var(--gray-600);text-align:right;border-bottom:1px solid var(--gray-200);min-height:50px;display:flex;align-items:flex-start;justify-content:flex-end;padding-top:8px}.day-time-block{background:var(--white);border-bottom:1px solid var(--gray-200);min-height:50px;padding:4px;display:flex;flex-wrap:wrap;align-content:flex-start;gap:4px}.day-event{padding:6px 12px;border-radius:4px;font-size:.8rem;cursor:pointer;transition:transform .1s,box-shadow .1s;box-sizing:border-box;white-space:nowrap;flex-shrink:0;font-weight:600}.day-event:hover{transform:scale(1.02);box-shadow:0 2px 4px #00000026}.day-event.event-appointment{background:#1b5e3726;border:1px solid #1B5E37;color:#1b5e37}.day-event.event-attendance{background:#2563eb26;border:1px solid #2563EB;color:#1d4ed8}.day-event.event-shift{background:#7c3aed26;border:1px solid #7C3AED;color:#6d28d9}.day-event.event-shift.event-night{background:#4c1d9533;border-color:#4c1d95;color:#4c1d95}.day-appointment{padding:4px 8px;border-radius:4px;font-size:.7rem;cursor:pointer;transition:border-color .2s,background .2s;background:var(--gray-100);border:1px solid var(--gray-400);color:var(--gray-900);box-sizing:border-box;white-space:nowrap;flex-shrink:0}.day-appointment:hover{border-color:var(--primary);background:var(--white)}.appointment-time{font-size:.75rem;font-weight:700;margin-bottom:var(--spacing-xs);color:var(--gray-900)}.appointment-customer{font-weight:700;margin-bottom:var(--spacing-xs);color:var(--gray-900)}.appointment-service{font-size:.75rem;color:var(--gray-600)}.day-sidebar{flex:1;display:flex;flex-direction:column;gap:var(--spacing-lg)}.day-summary{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:var(--spacing-lg)}.day-summary h3{font-size:1rem;margin:0 0 var(--spacing-md) 0;color:var(--gray-900)}.summary-stats{display:flex;flex-direction:column;gap:var(--spacing-sm)}.summary-stat{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm);background:var(--white);border-radius:var(--radius-md)}.stat-label{font-size:.875rem;color:var(--gray-600)}.stat-value{font-weight:700;color:var(--gray-900)}.event-legend{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:var(--spacing-md)}.event-legend h4{font-size:.9rem;margin:0 0 var(--spacing-sm) 0;color:var(--gray-900)}.legend-items{display:flex;flex-direction:column;gap:var(--spacing-sm)}.legend-item{display:flex;align-items:center;gap:var(--spacing-sm);font-size:.85rem;color:var(--gray-700)}.legend-color{width:16px;height:16px;border-radius:4px}.legend-color.event-appointment{background:#1b5e374d;border:2px solid #1B5E37}.legend-color.event-attendance{background:#2563eb4d;border:2px solid #2563EB}.legend-color.event-shift{background:#7c3aed4d;border:2px solid #7C3AED}.event-detail-modal{max-width:550px}.event-detail-header{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.event-type-badge{padding:6px 12px;border-radius:var(--radius-full);font-size:.75rem;font-weight:700;text-transform:uppercase}.event-type-badge.appointment{background:#1b5e3726;color:#1b5e37}.event-type-badge.attendance{background:#2563eb26;color:#2563eb}.event-type-badge.shift{background:#7c3aed26;color:#7c3aed}.event-status-badge{padding:6px 12px;border-radius:var(--radius-full);font-size:.75rem;font-weight:700;text-transform:capitalize}.event-status-badge.confirmed,.event-status-badge.present,.event-status-badge.scheduled{background:#1b5e3726;color:#1b5e37}.event-status-badge.pending{background:#d9770626;color:#92400e}.event-status-badge.cancelled,.event-status-badge.absent{background:#dc262626;color:#dc2626}.event-status-badge.day{background:#7c3aed26;color:#7c3aed}.event-status-badge.night{background:#4c1d9533;color:#4c1d95}.event-details-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.event-notes{background:var(--gray-50);border-radius:var(--radius-md);padding:var(--spacing-md);margin-top:var(--spacing-md)}.event-notes h4{font-size:.875rem;margin:0 0 var(--spacing-sm) 0;color:var(--gray-700)}.event-notes p{font-size:.875rem;color:var(--gray-700);line-height:1.6;margin:0}.appointment-detail-modal .modal-content{max-width:600px}.appointment-detail-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:var(--spacing-lg)}.appointment-status-badge{padding:6px 12px;border-radius:var(--radius-full);font-size:.75rem;font-weight:700;text-transform:uppercase}.appointment-status-badge.pending{background:var(--warning-light);color:var(--warning-dark)}.appointment-status-badge.confirmed{background:var(--success-light);color:var(--success-dark)}.appointment-status-badge.completed{background:var(--info-light);color:var(--info-dark)}.appointment-status-badge.cancelled{background:var(--error-light);color:var(--error-dark)}.appointment-details-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.detail-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.detail-label{font-size:.75rem;color:var(--gray-600);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.detail-value{font-size:1rem;color:var(--gray-900);font-weight:500}.appointment-notes{background:var(--gray-50);border-radius:var(--radius-md);padding:var(--spacing-md);margin-top:var(--spacing-lg)}.appointment-notes h4{font-size:.875rem;margin:0 0 var(--spacing-sm) 0;color:var(--gray-700)}.notes-text{font-size:.875rem;color:var(--gray-700);line-height:1.6}.calendar-day.drag-over{background:var(--primary-light);border:2px dashed var(--primary)}.appointment-dragging{opacity:.5;cursor:move}.drop-indicator{position:absolute;left:0;right:0;height:2px;background:var(--primary);z-index:10}.calendar-loading{display:flex;align-items:center;justify-content:center;height:400px;flex-direction:column;gap:var(--spacing-md)}.calendar-empty{display:flex;align-items:center;justify-content:center;height:400px;flex-direction:column;gap:var(--spacing-md);color:var(--gray-500)}.empty-icon{font-size:4rem}@media (max-width: 1024px){.day-view{flex-direction:column}.day-sidebar{order:-1}.appointment-details-grid{grid-template-columns:1fr}}@media (max-width: 768px){.calendar-page{padding:var(--spacing-md)}.calendar-controls{flex-direction:column;align-items:stretch}.calendar-nav{justify-content:space-between}.view-switcher{width:100%;justify-content:space-between}.calendar-actions{width:100%}.calendar-actions .btn{flex:1}.calendar-legend-bar{flex-wrap:wrap;gap:var(--spacing-sm)}.calendar-quick-nav{width:100%;margin-left:0;padding-left:0;border-left:none;padding-top:var(--spacing-sm);border-top:1px solid var(--gray-300);justify-content:flex-start;flex-wrap:wrap}.quick-nav-btn{padding:5px 10px;font-size:.7rem}.calendar-day{min-height:80px;padding:var(--spacing-xs)}.appointment-dot{font-size:.65rem;padding:4px 6px}.week-header,.week-grid{grid-template-columns:40px repeat(7,1fr)}.day-timeline{grid-template-columns:60px 1fr}}@media (min-width: 1200px){.calendar-day{min-height:120px}.appointment-dot{font-size:.8rem;padding:8px 10px}}@media (min-width: 769px) and (max-width: 1199px){.calendar-day{min-height:100px}.appointment-dot{font-size:.75rem;padding:6px 8px}}.chatbot-page{padding:var(--spacing-lg);max-width:1400px;margin:0 auto}.header-actions{display:flex;gap:var(--spacing-sm)}.chat-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.stat-card{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:var(--spacing-lg);display:flex;align-items:center;gap:var(--spacing-md);transition:all var(--transition-fast)}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.stat-icon{font-size:2rem;width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary-light) 0%,var(--primary) 100%);border-radius:var(--radius-lg)}.stat-info{flex:1}.stat-label{font-size:.875rem;color:var(--gray-600);margin-bottom:var(--spacing-xs)}.stat-value{font-size:1.5rem;font-weight:700;color:var(--gray-900)}.status-badge{display:inline-block;padding:4px 12px;border-radius:var(--radius-full);font-size:.75rem;font-weight:600}.status-badge.active{background:var(--success-light);color:var(--success-dark)}.chatbot-container{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);overflow:hidden;margin-bottom:var(--spacing-lg);box-shadow:var(--shadow-sm)}.chatbot-container.minimized{max-height:100px}.chat-messages{height:500px;overflow-y:auto;padding:var(--spacing-lg);background:linear-gradient(to bottom,#f8f9fa,#fff);scroll-behavior:smooth}.chat-messages::-webkit-scrollbar{width:8px}.chat-messages::-webkit-scrollbar-track{background:var(--gray-100);border-radius:var(--radius-full)}.chat-messages::-webkit-scrollbar-thumb{background:var(--gray-400);border-radius:var(--radius-full)}.chat-messages::-webkit-scrollbar-thumb:hover{background:var(--gray-500)}.message{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message.user{flex-direction:row-reverse}.message-avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;background:var(--gray-100);flex-shrink:0}.message.bot .message-avatar{background:linear-gradient(135deg,var(--primary-light) 0%,var(--primary) 100%)}.message.user .message-avatar{background:linear-gradient(135deg,var(--success-light) 0%,var(--success) 100%)}.message-content{flex:1;max-width:70%}.message.user .message-content{display:flex;flex-direction:column;align-items:flex-end}.message-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-xs)}.message.user .message-header{flex-direction:row-reverse}.message-sender{font-weight:600;font-size:.875rem;color:var(--gray-700)}.message-time{font-size:.75rem;color:var(--gray-500)}.message-text{background:var(--white);padding:var(--spacing-md);border-radius:var(--radius-lg);border:1px solid var(--gray-200);box-shadow:var(--shadow-sm);font-size:.9375rem;line-height:1.6;color:var(--gray-800);white-space:pre-wrap}.message.user .message-text{background:var(--primary);color:var(--white);border-color:var(--primary)}.message.bot .message-text strong{color:var(--primary);font-weight:600}.message-suggestions{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.suggestion-chip{background:var(--white);border:1px solid var(--primary);color:var(--primary);padding:6px 12px;border-radius:var(--radius-full);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.suggestion-chip:hover{background:var(--primary);color:var(--white);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.typing-indicator{display:flex;gap:6px;padding:var(--spacing-md);background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--gray-200);width:60px}.typing-indicator span{width:8px;height:8px;border-radius:50%;background:var(--primary);animation:typing 1.4s infinite}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{transform:translateY(0);opacity:.5}30%{transform:translateY(-10px);opacity:1}}.chat-input-container{border-top:1px solid var(--gray-200);background:var(--white);padding:var(--spacing-lg)}.chat-input-wrapper{display:flex;gap:var(--spacing-md);align-items:flex-end}.chat-input{flex:1;padding:var(--spacing-md);border:2px solid var(--gray-300);border-radius:var(--radius-lg);font-size:.9375rem;font-family:inherit;resize:none;max-height:120px;transition:all var(--transition-fast)}.chat-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.chat-input:disabled{background:var(--gray-100);cursor:not-allowed}.send-btn{min-width:100px;height:44px;display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs)}.send-btn:disabled{opacity:.5;cursor:not-allowed}.chat-input-hint{margin-top:var(--spacing-sm);font-size:.75rem;color:var(--gray-500);text-align:center}.quick-actions-panel{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-sm)}.quick-actions-panel h3{font-size:1.125rem;margin-bottom:var(--spacing-lg);color:var(--gray-900);display:flex;align-items:center;gap:var(--spacing-sm)}.quick-actions-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--spacing-md)}.quick-action-btn{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:var(--spacing-lg);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);cursor:pointer;transition:all var(--transition-fast)}.quick-action-btn:hover{border-color:var(--primary);background:var(--primary-light);transform:translateY(-2px);box-shadow:var(--shadow-md)}.quick-action-icon{font-size:2rem;width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--gray-50) 0%,var(--gray-100) 100%);border-radius:var(--radius-lg);transition:all var(--transition-fast)}.quick-action-btn:hover .quick-action-icon{background:linear-gradient(135deg,var(--primary-light) 0%,var(--primary) 100%);transform:scale(1.1)}.quick-action-label{font-size:.8125rem;font-weight:600;color:var(--gray-700);text-align:center}@media (max-width: 1200px){.quick-actions-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.chatbot-page{padding:var(--spacing-md)}.chat-stats{grid-template-columns:repeat(2,1fr)}.stat-icon{width:50px;height:50px;font-size:1.5rem}.stat-value{font-size:1.25rem}.chat-messages{height:400px}.message-content{max-width:85%}.quick-actions-grid{grid-template-columns:repeat(2,1fr)}.quick-action-icon{width:50px;height:50px;font-size:1.5rem}.header-actions{flex-direction:column;width:100%}.header-actions .btn{width:100%}}@media (max-width: 480px){.chat-stats{grid-template-columns:1fr}.stat-card{padding:var(--spacing-md)}.chat-messages{height:300px;padding:var(--spacing-md)}.message-content{max-width:90%}.quick-actions-grid{grid-template-columns:1fr}.chat-input-wrapper{flex-direction:column}.send-btn{width:100%}}.settings-page{padding:var(--spacing-lg)}.settings-content{max-width:900px;margin:0 auto}.settings-section{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:var(--spacing-xl);margin-bottom:var(--spacing-lg)}.settings-section-header{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:2px solid var(--gray-200)}.settings-section-icon{font-size:1.5rem;width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary-light) 0%,var(--primary) 100%)}.settings-section-title{flex:1}.settings-section-title h2{font-size:1.25rem;margin:0 0 var(--spacing-xs) 0;color:var(--gray-900)}.settings-section-title p{font-size:.875rem;color:var(--gray-600);margin:0}.settings-section-body{display:flex;flex-direction:column;gap:var(--spacing-lg)}.settings-form-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.settings-form-group label{font-weight:600;color:var(--gray-700);font-size:.875rem}.settings-form-group input,.settings-form-group textarea,.settings-form-group select{width:100%;padding:var(--spacing-sm);border:1px solid var(--gray-300);border-radius:var(--radius-md);font-size:.875rem;transition:all var(--transition-fast)}.settings-form-group input:focus,.settings-form-group textarea:focus,.settings-form-group select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.settings-form-hint{font-size:.75rem;color:var(--gray-500);margin-top:var(--spacing-xs)}.settings-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg)}.business-hours-grid{display:flex;flex-direction:column;gap:var(--spacing-md)}.business-hour-row{display:grid;grid-template-columns:100px 1fr 1fr auto;gap:var(--spacing-md);align-items:center;padding:var(--spacing-sm);background:var(--gray-50);border-radius:var(--radius-md)}.business-hour-day{font-weight:600;color:var(--gray-700);font-size:.875rem}.business-hour-time{display:flex;align-items:center;gap:var(--spacing-xs);font-size:.875rem}.business-hour-time input{flex:1;padding:6px 10px;border:1px solid var(--gray-300);border-radius:var(--radius-sm);font-size:.875rem}.business-hour-toggle{display:flex;align-items:center}.toggle-switch{position:relative;width:44px;height:24px;background:var(--gray-300);border-radius:var(--radius-full);cursor:pointer;transition:background var(--transition-fast)}.toggle-switch.active{background:var(--success)}.toggle-switch:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;background:var(--white);border-radius:50%;transition:transform var(--transition-fast)}.toggle-switch.active:after{transform:translate(20px)}.tax-settings-grid{display:flex;flex-direction:column;gap:var(--spacing-md)}.tax-setting-row{display:grid;grid-template-columns:1fr 120px auto;gap:var(--spacing-md);align-items:center;padding:var(--spacing-md);background:var(--gray-50);border-radius:var(--radius-md)}.tax-setting-info{display:flex;flex-direction:column;gap:var(--spacing-xs)}.tax-setting-name{font-weight:600;color:var(--gray-800);font-size:.875rem}.tax-setting-desc{font-size:.75rem;color:var(--gray-600)}.tax-setting-input{display:flex;align-items:center;gap:var(--spacing-xs)}.tax-setting-input input{width:80px;padding:6px 10px;border:1px solid var(--gray-300);border-radius:var(--radius-sm);font-size:.875rem;text-align:right}.tax-setting-input span{font-size:.875rem;color:var(--gray-600)}.profile-avatar-section{display:flex;align-items:center;gap:var(--spacing-lg);padding:var(--spacing-lg);background:var(--gray-50);border-radius:var(--radius-lg)}.profile-avatar-display{width:100px;height:100px;border-radius:50%;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);display:flex;align-items:center;justify-content:center;font-size:2.5rem;color:var(--white);font-weight:700;border:4px solid var(--white);box-shadow:var(--shadow-md)}.profile-avatar-info{flex:1}.profile-avatar-info h3{font-size:1.1rem;margin:0 0 var(--spacing-xs) 0;color:var(--gray-900)}.profile-avatar-info p{font-size:.875rem;color:var(--gray-600);margin:0}.profile-avatar-actions{display:flex;gap:var(--spacing-sm)}.theme-selector{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--spacing-md)}.theme-option{padding:var(--spacing-md);border:2px solid var(--gray-300);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);text-align:center}.theme-option:hover{border-color:var(--primary);background:var(--gray-50)}.theme-option.active{border-color:var(--primary);background:var(--primary-light)}.theme-option-preview{width:100%;height:60px;border-radius:var(--radius-sm);margin-bottom:var(--spacing-sm);display:flex;overflow:hidden}.theme-option-preview>div{flex:1}.theme-option-name{font-weight:600;color:var(--gray-800);font-size:.875rem}.settings-save-section{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:var(--spacing-lg);display:flex;justify-content:space-between;align-items:center}.settings-save-section .btn{min-width:150px}.settings-save-info{font-size:.875rem;color:var(--gray-600)}.profile-avatar-display img{width:100%;height:100%;object-fit:cover;border-radius:50%}.profile-avatar-hint{font-size:.75rem;color:var(--gray-500);margin-top:var(--spacing-xs)}.profile-avatar-actions{display:flex;gap:var(--spacing-sm);flex-direction:column}.security-option{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);background:var(--gray-50);border-radius:var(--radius-md);border:1px solid var(--gray-200)}.security-option-info{flex:1}.security-option-title{font-weight:600;color:var(--gray-800);font-size:.9375rem;margin-bottom:var(--spacing-xs);display:flex;align-items:center;gap:var(--spacing-sm)}.security-option-desc{font-size:.8125rem;color:var(--gray-600)}.badge-success{display:inline-block;padding:2px 8px;background:var(--success-light);color:var(--success-dark);border-radius:var(--radius-sm);font-size:.75rem;font-weight:600}.badge-error{display:inline-block;padding:2px 8px;background:var(--error-light);color:var(--error-dark);border-radius:var(--radius-sm);font-size:.75rem;font-weight:600}.security-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.security-checkbox{display:flex;align-items:center;padding:var(--spacing-sm)}.security-checkbox label{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;font-weight:400;font-size:.875rem}.security-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer}.login-history-table{overflow-x:auto;border:1px solid var(--gray-200);border-radius:var(--radius-md)}.login-history-table table{width:100%;border-collapse:collapse}.login-history-table thead{background:var(--gray-50)}.login-history-table th{padding:var(--spacing-md);text-align:left;font-weight:600;font-size:.8125rem;color:var(--gray-700);border-bottom:2px solid var(--gray-200)}.login-history-table td{padding:var(--spacing-md);font-size:.875rem;color:var(--gray-700);border-bottom:1px solid var(--gray-200)}.login-history-table tbody tr:hover{background:var(--gray-50)}.login-history-table code{background:var(--gray-100);padding:2px 6px;border-radius:var(--radius-sm);font-family:Courier New,monospace;font-size:.8125rem}.login-history-note{margin-top:var(--spacing-md);padding:var(--spacing-sm);background:var(--info-light);color:var(--info-dark);border-radius:var(--radius-sm);font-size:.8125rem;text-align:center}.twofa-setup{display:flex;flex-direction:column;gap:var(--spacing-lg)}.twofa-step{display:flex;gap:var(--spacing-md)}.twofa-step-number{width:36px;height:36px;border-radius:50%;background:var(--primary);color:var(--white);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.125rem;flex-shrink:0}.twofa-step-content{flex:1}.twofa-step-content h3{font-size:1rem;margin:0 0 var(--spacing-xs) 0;color:var(--gray-900)}.twofa-step-content p{font-size:.875rem;color:var(--gray-600);margin:0 0 var(--spacing-md) 0}.twofa-qr-code{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg);background:var(--gray-50);border-radius:var(--radius-md);border:1px solid var(--gray-200)}.twofa-qr-placeholder{padding:var(--spacing-md);background:var(--white);border-radius:var(--radius-md);border:2px solid var(--gray-300)}.twofa-manual-code{text-align:center}.twofa-manual-code p{font-size:.8125rem;color:var(--gray-600);margin:0 0 var(--spacing-xs) 0}.twofa-manual-code code{display:inline-block;padding:var(--spacing-sm) var(--spacing-md);background:var(--white);border:1px solid var(--gray-300);border-radius:var(--radius-sm);font-family:Courier New,monospace;font-size:1rem;letter-spacing:2px;font-weight:600}.twofa-code-input{width:100%;max-width:200px;padding:var(--spacing-md);border:2px solid var(--gray-300);border-radius:var(--radius-md);font-size:1.5rem;text-align:center;letter-spacing:8px;font-family:Courier New,monospace;font-weight:700}.twofa-code-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.twofa-warning{padding:var(--spacing-md);background:var(--warning-light);color:var(--warning-dark);border-radius:var(--radius-md);border-left:4px solid var(--warning);font-size:.875rem}@media (max-width: 768px){.settings-page{padding:var(--spacing-md)}.settings-section{padding:var(--spacing-lg)}.settings-row{grid-template-columns:1fr}.business-hour-row,.tax-setting-row{grid-template-columns:1fr;gap:var(--spacing-sm)}.profile-avatar-section{flex-direction:column;text-align:center}.theme-selector{grid-template-columns:1fr}.settings-save-section{flex-direction:column;gap:var(--spacing-md)}.security-option{flex-direction:column;align-items:flex-start;gap:var(--spacing-md)}.security-settings-grid{grid-template-columns:1fr}.login-history-table{font-size:.75rem}.login-history-table th,.login-history-table td{padding:var(--spacing-sm)}.twofa-step{flex-direction:column}.twofa-qr-placeholder svg{width:150px;height:150px}}.sync-status-banner{display:flex;align-items:center;gap:var(--spacing-lg);padding:var(--spacing-md);background:var(--gray-50);border-radius:var(--radius-md);border:1px solid var(--gray-200);flex-wrap:wrap}.sync-status-indicator{display:flex;align-items:center;gap:var(--spacing-sm);font-weight:600;font-size:.875rem}.sync-status-dot{width:10px;height:10px;border-radius:50%;animation:pulse 2s infinite}.sync-status-indicator.online .sync-status-dot{background:var(--success)}.sync-status-indicator.offline .sync-status-dot{background:var(--gray-400);animation:none}.sync-status-indicator.online{color:var(--success-dark)}.sync-status-indicator.offline{color:var(--gray-600)}@keyframes pulse{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.sync-last-time{font-size:.8125rem;color:var(--gray-600)}.sync-queue-status{display:flex;gap:var(--spacing-sm);margin-left:auto}.sync-pending-badge{display:inline-block;padding:2px 8px;background:var(--warning-light);color:var(--warning-dark);border-radius:var(--radius-sm);font-size:.75rem;font-weight:600}.sync-failed-badge{display:inline-block;padding:2px 8px;background:var(--error-light);color:var(--error-dark);border-radius:var(--radius-sm);font-size:.75rem;font-weight:600}.sync-config-section{padding-top:var(--spacing-md);border-top:1px solid var(--gray-200)}.sync-config-section h3{font-size:1rem;margin:0 0 var(--spacing-md) 0;color:var(--gray-800)}.sync-url-input-row{display:flex;gap:var(--spacing-sm);align-items:stretch}.sync-url-input-row input{flex:1}.sync-url-input-row .btn{white-space:nowrap}.sync-test-connection{margin-top:var(--spacing-md)}.sync-actions-section{padding-top:var(--spacing-md);border-top:1px solid var(--gray-200)}.sync-actions-section h3{font-size:1rem;margin:0 0 var(--spacing-md) 0;color:var(--gray-800)}.sync-actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-md)}.sync-action-card{display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--gray-50);border-radius:var(--radius-md);border:1px solid var(--gray-200)}.sync-action-info{flex:1}.sync-action-title{font-weight:600;color:var(--gray-800);font-size:.9375rem;margin-bottom:var(--spacing-xs)}.sync-action-desc{font-size:.8125rem;color:var(--gray-600)}.sync-action-card .btn{width:100%}.sync-offline-notice{margin-top:var(--spacing-md);padding:var(--spacing-md);background:var(--warning-light);color:var(--warning-dark);border-radius:var(--radius-md);border-left:4px solid var(--warning);font-size:.875rem}@media (max-width: 768px){.sync-status-banner{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.sync-queue-status{margin-left:0}.sync-url-input-row{flex-direction:column}.sync-actions-grid{grid-template-columns:1fr}}.backup-info-banner{display:flex;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--primary-light);border-radius:var(--radius-md);border:1px solid var(--primary-lighter);margin-bottom:var(--spacing-lg)}.backup-info-banner .info-banner-icon{font-size:1.25rem;flex-shrink:0}.backup-info-banner .info-banner-content strong{display:block;color:var(--primary-dark);margin-bottom:var(--spacing-xs)}.backup-info-banner .info-banner-content p{color:var(--gray-700);font-size:.8125rem;margin:0}.backup-actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--spacing-lg)}.backup-action-card{display:flex;gap:var(--spacing-md);padding:var(--spacing-lg);background:var(--gray-50);border-radius:var(--radius-md);border:1px solid var(--gray-200);align-items:flex-start}.backup-action-icon{font-size:2rem;flex-shrink:0}.backup-action-info{flex:1}.backup-action-title{font-weight:600;color:var(--gray-800);font-size:1rem;margin-bottom:var(--spacing-xs)}.backup-action-desc{font-size:.8125rem;color:var(--gray-600);margin-bottom:var(--spacing-md)}.backup-action-card .btn{white-space:nowrap;align-self:center}.backup-warning-notice{margin-top:var(--spacing-lg);padding:var(--spacing-md);background:var(--warning-light);color:var(--warning-dark);border-radius:var(--radius-md);border-left:4px solid var(--warning);font-size:.875rem}@media (max-width: 768px){.backup-actions-grid{grid-template-columns:1fr}.backup-action-card{flex-direction:column;text-align:center;align-items:center}.backup-action-card .btn{width:100%}}.shift-schedules-page{padding:var(--spacing-lg)}.shift-schedules-page .page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-xl)}.shift-schedules-page .page-header h1{margin:0 0 4px;font-size:1.5rem;font-weight:600;color:var(--gray-900)}.shift-schedules-page .page-header p{margin:0;font-size:.85rem;color:var(--gray-600)}.shift-schedules-page .header-actions{display:flex;gap:var(--spacing-sm)}.shift-schedules-page .header-actions .btn-secondary{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;background:var(--white);color:var(--gray-900);border:1px solid var(--gray-200);border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s}.shift-schedules-page .header-actions .btn-secondary:hover{border-color:var(--primary);color:var(--primary)}.week-navigation{display:flex;justify-content:space-between;align-items:center;background:var(--white);border:1px solid var(--gray-200);border-radius:8px;padding:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.week-nav-btn{padding:10px 20px;background:var(--white);color:var(--gray-900);border:1px solid var(--gray-200);border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s}.week-nav-btn:hover{border-color:var(--primary);color:var(--primary);background:var(--gray-100)}.week-display{text-align:center}.week-display h3{margin:0;font-size:1.25rem;font-weight:600;color:var(--gray-900)}.week-display p{margin:6px 0 0;font-size:.8rem;color:var(--gray-600);text-transform:uppercase;letter-spacing:.5px}.schedule-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.schedule-stat-card{background:var(--white);border:1px solid var(--gray-200);border-radius:8px;padding:var(--spacing-lg);text-align:center;transition:border-color .2s}.schedule-stat-card:hover{border-color:var(--primary)}.schedule-stat-card .stat-icon{font-size:1.75rem;margin-bottom:8px;display:block}.schedule-stat-card .stat-value{font-size:2rem;font-weight:700;color:var(--gray-900);line-height:1;margin-bottom:6px}.schedule-stat-card .stat-label{font-size:.7rem;color:var(--gray-600);text-transform:uppercase;letter-spacing:.5px;font-weight:500}.schedule-stat-card.day{background:var(--primary);border-color:var(--primary)}.schedule-stat-card.day .stat-value,.schedule-stat-card.day .stat-label{color:var(--white)}.schedule-stat-card.night{border-color:var(--gray-600)}.schedule-stat-card.night .stat-value{color:var(--gray-600)}.schedule-stat-card.off{border-color:var(--gray-200)}.schedule-stat-card.off .stat-value{color:var(--gray-400)}.shift-schedules-page .filters-section{background:var(--white);border:1px solid var(--gray-200);border-radius:8px;padding:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.shift-schedules-page .search-box{margin-bottom:var(--spacing-md)}.shift-schedules-page .search-input{width:100%;max-width:400px;padding:12px 16px;border:1px solid var(--gray-200);border-radius:6px;font-size:.9rem;color:var(--gray-900);background:var(--white)}.shift-schedules-page .search-input:focus{outline:none;border-color:var(--primary)}.shift-schedules-page .search-input::placeholder{color:var(--gray-400)}.shift-schedules-page .filters-row{display:flex;gap:var(--spacing-md);align-items:center}.shift-schedules-page .filter-select{padding:10px 14px;border:1px solid var(--gray-200);border-radius:6px;font-size:.85rem;color:var(--gray-900);background:var(--white);min-width:180px}.shift-schedules-page .filter-select:focus{outline:none;border-color:var(--primary)}.shift-schedules-page .results-count{font-size:.85rem;color:var(--gray-600);margin-left:auto}.schedule-grid-container{background:var(--white);border:1px solid var(--gray-200);border-radius:8px;overflow:hidden;margin-bottom:var(--spacing-lg)}.schedule-grid-table{width:100%;border-collapse:collapse;min-width:900px}.schedule-grid-table th,.schedule-grid-table td{padding:16px;text-align:center;border-bottom:1px solid var(--gray-200)}.schedule-grid-table th{background:var(--gray-100);font-weight:600;color:var(--gray-900);font-size:.8rem;text-transform:uppercase;letter-spacing:.3px;border-bottom:2px solid var(--gray-200)}.schedule-grid-table tbody tr{transition:background .15s}.schedule-grid-table tbody tr:hover{background:#fafafa}.schedule-grid-table tbody tr:last-child td{border-bottom:none}.schedule-grid-table .employee-col{text-align:left;min-width:220px;position:sticky;left:0;background:var(--gray-100);z-index:2;border-right:1px solid var(--gray-200)}.schedule-grid-table tbody .employee-col{background:var(--white)}.schedule-grid-table tbody tr:hover .employee-col{background:#fafafa}.schedule-grid-table .day-col{min-width:90px;padding:12px 8px}.schedule-grid-table .actions-col{min-width:100px;border-left:1px solid var(--gray-200)}.day-header{display:flex;flex-direction:column;align-items:center;gap:4px}.day-header .day-name{font-weight:600;color:var(--gray-900);font-size:.8rem}.day-header .day-date{font-size:1.1rem;color:var(--gray-900);font-weight:700}.schedule-grid-table .employee-cell{text-align:left!important;padding:12px 16px!important}.schedule-grid-table .employee-info{display:flex;align-items:center;gap:12px}.schedule-grid-table .employee-avatar{width:40px;height:40px;border-radius:50%;background:var(--primary);color:var(--white);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.85rem;flex-shrink:0}.schedule-grid-table .employee-details{display:flex;flex-direction:column;gap:2px}.schedule-grid-table .employee-name{font-weight:600;color:var(--gray-900);font-size:.9rem}.schedule-grid-table .employee-position{font-size:.75rem;color:var(--gray-600)}.shift-cell{padding:8px!important;vertical-align:middle}.shift-cell.off{background:#fafafa}.shift-badge{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;border-radius:6px;font-size:.75rem;font-weight:500;min-width:70px;border:none}.shift-badge .shift-abbr{font-size:.75rem;font-weight:700;color:inherit}.shift-badge .shift-time{font-weight:600;color:inherit;font-size:.7rem}.actions-cell{display:flex;gap:6px;justify-content:center;padding:12px!important}.btn-icon{padding:6px 12px;background:var(--white);border:1px solid var(--gray-200);border-radius:4px;cursor:pointer;font-size:.7rem;font-weight:500;color:var(--gray-600);transition:all .2s;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}.btn-icon:hover{border-color:var(--primary);color:var(--primary);background:var(--gray-100)}.schedule-legend{display:flex;align-items:center;gap:var(--spacing-xl);padding:var(--spacing-md) var(--spacing-lg);background:var(--white);border:1px solid var(--gray-200);border-radius:8px;margin-bottom:var(--spacing-lg)}.legend-title{font-weight:600;color:var(--gray-900);font-size:.85rem}.legend-items{display:flex;gap:var(--spacing-xl);flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:8px;font-size:.8rem;color:var(--gray-600)}.legend-badge{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 8px;border-radius:6px;font-size:.7rem;font-weight:700;color:var(--white)}.schedule-grid-table .empty-row td{padding:0!important;border-bottom:none!important}.schedule-grid-table .empty-state{padding:60px var(--spacing-lg);text-align:center}.schedule-grid-table .empty-icon{font-size:3.5rem;margin-bottom:var(--spacing-md);opacity:.4}.schedule-grid-table .empty-state h3{margin:0 0 8px;font-size:1.1rem;font-weight:600;color:var(--gray-900)}.schedule-grid-table .empty-state p{margin:0;font-size:.85rem;color:var(--gray-600)}.schedule-edit-modal{max-width:650px}.schedule-edit-modal .modal-body{padding:var(--spacing-lg)}.schedule-edit-grid{display:flex;flex-direction:column;gap:8px}.schedule-edit-row{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--white);border:1px solid var(--gray-200);border-radius:8px;transition:border-color .2s}.schedule-edit-row:hover{border-color:var(--primary)}.schedule-edit-row .day-label{width:60px;font-weight:600;color:var(--gray-900);font-size:.9rem}.schedule-edit-row .shift-select{flex:1;max-width:160px;padding:10px 14px;border:1px solid var(--gray-200);border-radius:6px;font-size:.85rem;color:var(--gray-900);background:var(--white)}.schedule-edit-row .shift-select:focus{outline:none;border-color:var(--primary)}.schedule-edit-row .time-input{width:110px;padding:10px 14px;border:1px solid var(--gray-200);border-radius:6px;font-size:.85rem;color:var(--gray-900);background:var(--white)}.schedule-edit-row .time-input:focus{outline:none;border-color:var(--primary)}.schedule-edit-row .time-separator{color:var(--gray-400);font-size:.85rem;font-weight:500}.template-modal{max-width:550px}.modal-description{color:var(--gray-600);font-size:.9rem;margin-bottom:var(--spacing-lg)}.template-list{display:flex;flex-direction:column;gap:12px}.template-card{padding:var(--spacing-lg);background:var(--white);border:1px solid var(--gray-200);border-radius:8px;cursor:pointer;transition:all .2s}.template-card:hover{border-color:var(--primary);background:#fafafa}.template-card h4{margin:0 0 6px;font-size:1rem;font-weight:600;color:var(--gray-900)}.template-card p{margin:0 0 var(--spacing-md) 0;font-size:.85rem;color:var(--gray-600)}.template-preview{display:flex;gap:6px}.template-day{min-width:32px;height:32px;padding:0 8px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:700;color:var(--white)}.time-off-requests-modal{max-width:650px}.time-off-list{display:flex;flex-direction:column;gap:12px;max-height:450px;overflow-y:auto}.time-off-card{padding:var(--spacing-lg);background:var(--white);border:1px solid var(--gray-200);border-radius:8px;transition:border-color .2s}.time-off-card:hover{border-color:var(--primary)}.time-off-card.pending{border-left:4px solid #d97706}.time-off-card.approved{border-left:4px solid var(--primary)}.time-off-card.rejected{border-left:4px solid var(--error)}.time-off-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.time-off-employee{font-weight:600;color:var(--gray-900);font-size:1rem}.time-off-details{display:flex;flex-direction:column;gap:6px;font-size:.85rem}.time-off-dates{color:var(--gray-900);font-weight:500}.time-off-type{color:var(--gray-600)}.time-off-reason{color:var(--gray-600);font-style:italic;padding:8px 12px;background:var(--gray-100);border-radius:4px;margin-top:4px}.time-off-actions{display:flex;gap:10px;margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--gray-200)}.time-off-actions .btn-success{padding:8px 20px;background:var(--white);color:var(--primary);border:1px solid var(--primary);border-radius:6px;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s}.time-off-actions .btn-success:hover{background:var(--primary);color:var(--white)}.time-off-actions .btn-danger{padding:8px 20px;background:var(--white);color:var(--error);border:1px solid var(--error);border-radius:6px;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s}.time-off-actions .btn-danger:hover{background:var(--error);color:var(--white)}.shift-schedules-page .badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:20px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.badge-warning{background:var(--gray-100);color:#92400e;border:1px solid #d97706}.badge-success{background:var(--gray-100);color:var(--primary);border:1px solid var(--primary)}.badge-error{background:var(--gray-100);color:var(--error);border:1px solid var(--error)}@media (max-width: 1200px){.schedule-stats-grid{grid-template-columns:repeat(4,1fr)}}@media (max-width: 1024px){.schedule-stats-grid{grid-template-columns:repeat(2,1fr)}.week-navigation{flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-md)}.week-nav-btn{padding:8px 16px}}@media (max-width: 768px){.shift-schedules-page{padding:var(--spacing-md)}.shift-schedules-page .page-header{flex-direction:column;gap:var(--spacing-md)}.schedule-stats-grid{grid-template-columns:1fr 1fr;gap:var(--spacing-sm)}.schedule-stat-card{padding:var(--spacing-md)}.schedule-stat-card .stat-value{font-size:1.5rem}.schedule-stat-card .stat-icon{font-size:1.25rem}.shift-schedules-page .filters-section{padding:var(--spacing-md)}.shift-schedules-page .search-input{max-width:none}.shift-schedules-page .filters-row{flex-direction:column;align-items:stretch}.shift-schedules-page .filter-select{width:100%;min-width:auto}.shift-schedules-page .results-count{margin-left:0;text-align:right}.schedule-grid-container{overflow-x:auto}.schedule-legend{flex-direction:column;align-items:flex-start;gap:var(--spacing-md)}.legend-items{flex-direction:column;gap:10px}.schedule-edit-row{flex-wrap:wrap}.schedule-edit-row .shift-select{max-width:none;flex:1;min-width:140px}.schedule-edit-row .time-input{flex:1;min-width:100px}}.shift-config-modal{max-width:500px}.shift-config-modal .modal-body{padding:var(--spacing-lg)}.shift-config-row{display:flex;align-items:center;justify-content:space-between;padding:16px;background:var(--white);border:1px solid var(--gray-200);border-radius:8px;margin-bottom:12px;transition:border-color .2s}.shift-config-row:hover{border-color:var(--primary)}.shift-config-row:last-child{margin-bottom:0}.shift-config-label{display:flex;align-items:center;gap:12px;font-weight:500;color:var(--gray-900);font-size:.9rem}.config-badge{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;font-size:.75rem;font-weight:700;color:var(--white)}.shift-config-times{display:flex;align-items:center;gap:10px}.shift-config-times .time-input{width:110px;padding:10px 14px;border:1px solid var(--gray-200);border-radius:6px;font-size:.85rem;color:var(--gray-900);background:var(--white)}.shift-config-times .time-input:focus{outline:none;border-color:var(--primary)}.shift-config-times .time-separator{color:var(--gray-400);font-size:.85rem;font-weight:500}.schedule-edit-row .time-input-locked{background:var(--gray-100);color:var(--gray-600);cursor:not-allowed;border-color:var(--gray-200)}.schedule-edit-row .time-input-locked:focus{border-color:var(--gray-200)}.quick-shift-buttons{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--gray-100);border-radius:8px;margin-bottom:16px;flex-wrap:wrap}.quick-shift-label{font-size:.85rem;font-weight:500;color:var(--gray-600);margin-right:4px}.btn-outline-sm{padding:6px 14px;background:var(--white);color:var(--gray-700);border:1px solid var(--gray-300);border-radius:6px;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-outline-sm:hover{border-color:var(--primary);color:var(--primary);background:var(--white)}.analytics-dashboard{padding:var(--spacing-lg);max-width:1400px;margin:0 auto}.analytics-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-lg);flex-wrap:wrap;gap:var(--spacing-md)}.analytics-header .header-left h1{font-size:1.5rem;font-weight:600;color:var(--gray-900);margin:0 0 4px}.analytics-header .subtitle{font-size:.85rem;color:var(--gray-600);margin:0}.analytics-header .header-right{display:flex;align-items:center;gap:var(--spacing-sm)}.period-select{padding:8px 14px;border:1px solid var(--gray-200);border-radius:6px;font-size:.85rem;color:var(--gray-900);background:var(--white);cursor:pointer}.period-select:focus{outline:none;border-color:var(--primary)}.btn-refresh{padding:8px 16px;background:var(--white);color:var(--primary);border:1px solid var(--primary);border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer;transition:background .2s,color .2s}.btn-refresh:hover{background:var(--primary);color:var(--white)}.realtime-banner{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);border-radius:8px;margin-bottom:var(--spacing-lg);background:var(--white);border:1px solid var(--gray-200)}.realtime-banner.positive{border-color:var(--primary);border-left:4px solid var(--primary)}.realtime-banner.negative{border-color:var(--error);border-left:4px solid var(--error)}.realtime-content{display:flex;align-items:center;gap:var(--spacing-lg)}.realtime-label{font-size:.7rem;color:var(--gray-600);text-transform:uppercase;letter-spacing:.5px}.realtime-value{font-size:1.5rem;font-weight:700;color:var(--gray-900)}.realtime-banner.positive .realtime-value{color:var(--primary)}.realtime-banner.negative .realtime-value{color:var(--error)}.realtime-details{font-size:.8rem;color:var(--gray-600)}.realtime-indicator{display:flex;align-items:center;gap:6px;color:var(--primary);font-size:.7rem;font-weight:600;text-transform:uppercase}.pulse{width:8px;height:8px;background:var(--primary);border-radius:50%;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.kpi-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.kpi-card{background:var(--white);border:1px solid var(--gray-200);border-radius:8px;padding:var(--spacing-md);transition:border-color .2s}.kpi-card:hover{border-color:var(--primary)}.kpi-header{display:flex;align-items:center;gap:6px;margin-bottom:8px}.kpi-icon{font-size:1rem}.kpi-title{font-size:.65rem;color:var(--gray-600);text-transform:uppercase;letter-spacing:.3px}.kpi-value{font-size:1.25rem;font-weight:700;color:var(--gray-900);margin-bottom:6px}.kpi-value.positive{color:var(--primary)}.kpi-value.warning{color:#92400e}.kpi-value.negative{color:var(--error)}.kpi-details{display:flex;flex-direction:column;gap:2px;font-size:.7rem;color:var(--gray-400)}.progress-bar{height:4px;background:var(--gray-200);border-radius:2px;overflow:hidden;margin-bottom:8px}.progress-fill{height:100%;background:var(--primary);border-radius:2px}.charts-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.chart-card{background:var(--white);border:1px solid var(--gray-200);border-radius:8px;padding:var(--spacing-md);height:220px;display:flex;flex-direction:column}.chart-card.large{height:220px}.chart-card h3{font-size:.85rem;font-weight:600;color:var(--gray-900);margin:0 0 var(--spacing-sm) 0;flex-shrink:0}.chart-card canvas{flex:1;min-height:0}.insights-section{background:var(--white);border:1px solid var(--gray-200);border-radius:8px;padding:var(--spacing-md);margin-bottom:var(--spacing-lg)}.insights-section h3{font-size:.9rem;font-weight:600;color:var(--gray-900);margin:0 0 var(--spacing-md) 0}.insights-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-sm)}.insight-card{background:var(--gray-100);border-radius:6px;padding:var(--spacing-sm) var(--spacing-md);border-left:3px solid var(--gray-600)}.insight-card.insight-warning{border-left-color:#d97706}.insight-card.insight-success,.insight-card.insight-opportunity{border-left-color:var(--primary)}.insight-card.insight-critical{border-left-color:var(--error)}.insight-header{display:flex;align-items:center;gap:6px;margin-bottom:4px}.insight-icon{font-size:.9rem}.insight-category{font-size:.65rem;color:var(--gray-600);text-transform:uppercase;letter-spacing:.3px}.insight-message{font-size:.8rem;color:var(--gray-900);margin:0 0 4px;line-height:1.4}.insight-action,.insight-impact{font-size:.7rem;color:var(--gray-600);margin:0}.insight-action strong,.insight-impact strong{color:var(--gray-900)}.quick-nav{margin-top:var(--spacing-md)}.quick-nav.top{margin-top:0;margin-bottom:var(--spacing-lg)}.quick-nav h3{font-size:.9rem;font-weight:600;color:var(--gray-900);margin:0 0 var(--spacing-md) 0}.nav-cards{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--spacing-sm)}.nav-card{background:var(--white);border:1px solid var(--gray-200);border-radius:6px;padding:var(--spacing-sm) var(--spacing-md);cursor:pointer;transition:border-color .2s;display:flex;flex-direction:column;gap:4px}.nav-card:hover{border-color:var(--primary)}.nav-icon{font-size:1.25rem}.nav-title{font-size:.8rem;font-weight:600;color:var(--gray-900)}.nav-desc{font-size:.7rem;color:var(--gray-600)}.analytics-dashboard .loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:var(--spacing-md)}.loading-spinner{width:40px;height:40px;border:3px solid var(--gray-200);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.analytics-dashboard .loading-container p{font-size:.85rem;color:var(--gray-600)}@media (max-width: 1200px){.kpi-grid{grid-template-columns:repeat(3,1fr)}.charts-grid{grid-template-columns:1fr 1fr}.chart-card.large{grid-column:span 2}.nav-cards{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.analytics-dashboard{padding:var(--spacing-md)}.analytics-header{flex-direction:column;align-items:flex-start}.realtime-content{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.realtime-value{font-size:1.25rem}.kpi-grid{grid-template-columns:repeat(2,1fr)}.charts-grid{grid-template-columns:1fr}.chart-card,.chart-card.large{height:200px;grid-column:span 1}.insights-grid{grid-template-columns:1fr}.nav-cards{grid-template-columns:repeat(2,1fr)}}
