:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color:#213547;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}#root{width:100%;min-height:100vh}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#f9f9f9;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.notification-toast{position:fixed;top:24px;right:24px;z-index:99999;display:flex;align-items:flex-start;gap:14px;min-width:320px;max-width:420px;padding:16px 18px;background:#fff;border-radius:12px;box-shadow:0 4px 6px -1px #00000014,0 10px 25px -5px #0000001a,0 0 0 1px #0000000a;overflow:hidden;visibility:visible;pointer-events:auto;animation:toastSlideIn .35s cubic-bezier(.21,1.02,.73,1)}@keyframes toastSlideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.notification-toast-progress{position:absolute;bottom:0;left:0;height:3px;background:currentColor;opacity:.35;transform-origin:left;animation:toastProgress linear forwards}@keyframes toastProgress{0%{width:100%}to{width:0%}}.notification-toast-success{border-left:4px solid #059669;color:#059669}.notification-toast-success .notification-toast-icon{color:#059669}.notification-toast-success .notification-toast-title{color:#047857}.notification-toast-success .notification-toast-message{color:#065f46}.notification-toast-error{border-left:4px solid #dc2626;color:#dc2626}.notification-toast-error .notification-toast-icon{color:#dc2626}.notification-toast-error .notification-toast-title{color:#b91c1c}.notification-toast-error .notification-toast-message{color:#991b1b}.notification-toast-warning{border-left:4px solid #d97706;color:#d97706}.notification-toast-warning .notification-toast-icon{color:#d97706}.notification-toast-warning .notification-toast-title{color:#b45309}.notification-toast-warning .notification-toast-message{color:#92400e}.notification-toast-info{border-left:4px solid #0284c7;color:#0284c7}.notification-toast-info .notification-toast-icon{color:#0284c7}.notification-toast-info .notification-toast-title{color:#0369a1}.notification-toast-info .notification-toast-message{color:#0c4a6e}.notification-toast-icon{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:currentColor;color:#fff;opacity:.95}.notification-toast-success .notification-toast-icon{background:#d1fae5;color:#059669}.notification-toast-error .notification-toast-icon{background:#fee2e2;color:#dc2626}.notification-toast-warning .notification-toast-icon{background:#fef3c7;color:#d97706}.notification-toast-info .notification-toast-icon{background:#e0f2fe;color:#0284c7}.notification-toast-body{flex:1;min-width:0;padding-right:4px}.notification-toast-title{display:block;font-size:13px;font-weight:700;letter-spacing:.02em;margin-bottom:4px}.notification-toast-message{margin:0;font-size:14px;line-height:1.45;font-weight:500;color:#374151}.notification-toast-success .notification-toast-message,.notification-toast-error .notification-toast-message,.notification-toast-warning .notification-toast-message,.notification-toast-info .notification-toast-message{color:#374151}.notification-toast-close{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;padding:0;margin:-8px -8px -8px 0;border:none;border-radius:8px;background:transparent;color:#9ca3af;cursor:pointer;transition:background .15s ease,color .15s ease}.notification-toast-close:hover{background:#f3f4f6;color:#374151}.notification-toast-close:focus{outline:none;box-shadow:0 0 0 2px #0000001a}@media(max-width:480px){.notification-toast{top:16px;right:16px;left:16px;min-width:auto;max-width:none}}.store-selector{display:flex;align-items:center;gap:10px}.store-selector label{font-weight:500;color:#333}.store-select{padding:8px 12px;border:1px solid #ddd;border-radius:5px;font-size:14px;background:#fff;cursor:pointer}.store-select:focus{outline:none;border-color:#667eea}.store-selector-loading,.store-selector-error{padding:8px;color:#666;font-size:14px}.store-selector-error{color:#c33;background:#ffebee;border-radius:4px;margin:5px 0;padding:8px}.store-selector-help{font-size:11px;color:#666;margin-top:4px;font-style:italic}.store-selector-storefront-link{font-size:12px;color:#667eea;text-decoration:none;white-space:nowrap}.store-selector-storefront-link:hover{text-decoration:underline}.notification-bell-container{position:relative;display:inline-block}.notification-bell-button{position:relative;background:transparent;border:none;cursor:pointer;padding:10px;border-radius:12px;transition:all .3s ease;display:flex;align-items:center;justify-content:center;color:#333}.notification-bell-button:hover{background:#667eea1a;transform:scale(1.05)}.notification-bell-button:active{transform:scale(.95)}.bell-icon-svg{width:24px;height:24px;stroke:currentColor;transition:transform .3s ease}.notification-bell-button:hover .bell-icon-svg{animation:ring .5s ease}@keyframes ring{0%,to{transform:rotate(0)}10%,30%{transform:rotate(-10deg)}20%,40%{transform:rotate(10deg)}}.notification-badge{position:absolute;top:4px;right:4px;background:linear-gradient(135deg,#ff5252,#ff1744);color:#fff;border-radius:12px;min-width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:.7em;font-weight:700;padding:0 6px;border:2px solid white;box-shadow:0 2px 8px #ff525266;animation:pulse-badge 2s infinite}@keyframes pulse-badge{0%,to{transform:scale(1);box-shadow:0 2px 8px #ff525266}50%{transform:scale(1.1);box-shadow:0 4px 12px #ff525299}}.notification-overlay{position:fixed;inset:0;z-index:998;background:#0000004d;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fadeIn .2s ease}.notification-dropdown{position:fixed;width:420px;max-width:calc(100vw - 40px);max-height:calc(100vh - 100px);background:#fff;border-radius:16px;box-shadow:0 8px 32px #00000026;z-index:999;display:flex;flex-direction:column;overflow:hidden;animation:slideDown .3s ease;border:1px solid rgba(0,0,0,.05)}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.modern-dropdown{background:linear-gradient(to bottom,#fff,#f8f9fa)}.notification-header{padding:20px;border-bottom:2px solid #f0f0f0;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.modern-header{display:flex;justify-content:space-between;align-items:center;padding:20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.header-title-group{display:flex;align-items:center;gap:12px}.modern-header h3{margin:0;font-size:1.3em;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.1)}.unread-indicator{background:#ffffff40;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:4px 12px;border-radius:12px;font-size:.85em;font-weight:600;border:1px solid rgba(255,255,255,.3)}.header-actions{display:flex;gap:8px;align-items:center}.mark-all-read-button{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);padding:6px 14px;border-radius:8px;cursor:pointer;font-size:.85em;font-weight:600;transition:all .2s;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.mark-all-read-button:hover{background:#ffffff4d;transform:translateY(-1px)}.close-dropdown-button{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);width:32px;height:32px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.2em;transition:all .2s;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.close-dropdown-button:hover{background:#ffffff4d;transform:rotate(90deg)}.notification-list{max-height:500px;overflow-y:auto;padding:8px 0;scrollbar-width:thin;scrollbar-color:#c0c0c0 #f0f0f0}.notification-list::-webkit-scrollbar{width:6px}.notification-list::-webkit-scrollbar-track{background:#f0f0f0}.notification-list::-webkit-scrollbar-thumb{background:silver;border-radius:3px}.notification-list::-webkit-scrollbar-thumb:hover{background:#a0a0a0}.modern-list{padding:12px}.notification-item{display:flex;padding:16px;border-bottom:1px solid #f0f0f0;cursor:pointer;transition:all .3s ease;position:relative;border-radius:12px;margin-bottom:8px;background:#fff;border:2px solid transparent}.modern-item{padding:16px;border-radius:12px;margin:0 8px 8px;background:#fff;box-shadow:0 2px 8px #0000000d;border:2px solid transparent}.notification-item:hover,.modern-item:hover{background:linear-gradient(135deg,#f8f9fa,#fff);border-color:#667eea;transform:translate(4px);box-shadow:0 4px 16px #667eea26}.notification-item.unread,.modern-item.unread{background:linear-gradient(135deg,#e3f2fd,#fff 5%);border-left:4px solid #2196f3;box-shadow:0 2px 12px #2196f333}.notification-icon{font-size:1.5em;margin-right:12px;flex-shrink:0}.notification-icon-modern{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.8em;flex-shrink:0;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 12px #667eea4d;margin-right:16px}.modern-item.unread .notification-icon-modern{background:linear-gradient(135deg,#2196f3,#1976d2);box-shadow:0 4px 12px #2196f366}.notification-content,.notification-content-modern{flex:1;min-width:0}.notification-title{font-weight:600;color:#333;margin-bottom:6px;font-size:.95em}.notification-title-modern{font-weight:700;color:#1a1a1a;margin-bottom:6px;font-size:1em;line-height:1.3}.notification-message{color:#666;font-size:.85em;margin-bottom:6px;line-height:1.4;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.notification-message-modern{color:#666;font-size:.9em;margin-bottom:8px;line-height:1.5;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.notification-time{color:#999;font-size:.75em;margin-top:4px}.notification-time-modern{color:#999;font-size:.8em;font-weight:500;margin-top:4px}.mark-read-button{position:absolute;top:8px;right:8px;background:#0000000d;border:none;border-radius:50%;width:28px;height:28px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.9em;color:#666;transition:all .2s;opacity:0}.notification-item:hover .mark-read-button{opacity:1}.mark-read-button:hover{background:#667eea1a;color:#667eea;transform:scale(1.1)}.mark-read-button-modern{background:transparent;border:none;width:32px;height:32px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#999;transition:all .2s;flex-shrink:0;opacity:0}.modern-item:hover .mark-read-button-modern{opacity:1}.mark-read-button-modern:hover{background:#667eea1a;color:#667eea;transform:scale(1.1)}.notification-loading,.notification-empty{padding:40px 20px;text-align:center;color:#999}.modern-empty{padding:60px 20px}.loading-spinner-small{width:24px;height:24px;border:3px solid #f0f0f0;border-top-color:#667eea;border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 12px}.notification-loading{display:flex;flex-direction:column;align-items:center;gap:12px}.empty-icon-large{font-size:4em;margin-bottom:16px;opacity:.3}.modern-empty p{color:#999;margin:0 0 16px;font-size:1em}.view-all-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:10px 20px;border-radius:8px;cursor:pointer;font-weight:600;font-size:.9em;transition:all .2s}.view-all-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea4d}.notification-footer{padding:16px 20px;border-top:2px solid #f0f0f0;text-align:center;background:#f8f9fa}.modern-footer{padding:16px 20px;border-top:2px solid #f0f0f0;background:linear-gradient(to bottom,#f8f9fa,#fff)}.notification-footer a{color:#667eea;text-decoration:none;font-size:.9em;font-weight:600;transition:color .2s}.notification-footer a:hover{color:#764ba2;text-decoration:underline}.view-all-button{width:100%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:12px;border-radius:8px;cursor:pointer;font-weight:600;font-size:.95em;transition:all .2s}.view-all-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea4d}.notification-item.notification-success,.modern-item.notification-success{border-left-color:#4caf50}.notification-item.notification-error,.modern-item.notification-error{border-left-color:#f44336}.notification-item.notification-warning,.modern-item.notification-warning{border-left-color:#ff9800}.notification-item.notification-info,.modern-item.notification-info{border-left-color:#2196f3}.notification-item.notification-system,.modern-item.notification-system{border-left-color:#9e9e9e}@media(max-width:768px){.notification-dropdown{width:calc(100vw - 32px);max-width:calc(100vw - 32px);right:16px!important;left:auto!important}.modern-header{padding:16px}.modern-header h3{font-size:1.1em;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-actions{flex-shrink:0}.mark-all-read-button{font-size:.75em;padding:4px 10px}}.lock-screen-overlay{position:fixed;inset:0;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .3s ease-out}.lock-screen-container{background:#fff;border-radius:20px;padding:48px;max-width:450px;width:90%;box-shadow:0 20px 60px #0000004d;text-align:center;animation:slideUp .4s ease-out}.lock-screen-icon{font-size:80px;margin-bottom:24px;filter:drop-shadow(0 4px 8px rgba(0,0,0,.2));animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.lock-screen-container h2{margin:0 0 12px;font-size:32px;font-weight:700;color:#333}.lock-screen-message{margin:0 0 8px;font-size:18px;color:#667eea;font-weight:600}.lock-screen-subtitle{margin:0 0 32px;font-size:16px;color:#666}.lock-screen-form{display:flex;flex-direction:column;gap:16px}.lock-screen-input-group{position:relative}.lock-screen-input{width:100%;padding:16px 20px;border:2px solid #e0e0e0;border-radius:12px;font-size:16px;transition:all .2s;box-sizing:border-box}.lock-screen-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 4px #667eea1a}.lock-screen-input:disabled{background:#f5f5f5;cursor:not-allowed}.lock-screen-error{padding:12px;background:#ffebee;border:1px solid #ef5350;border-radius:8px;color:#c62828;font-size:14px;font-weight:500;animation:shake .3s ease-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}.lock-screen-button{padding:16px 32px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:12px;font-size:18px;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px #667eea4d}.lock-screen-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.lock-screen-button:active:not(:disabled){transform:translateY(0)}.lock-screen-button:disabled{opacity:.6;cursor:not-allowed;transform:none}@media(max-width:768px){.lock-screen-container{padding:32px 24px}.lock-screen-icon{font-size:64px;margin-bottom:20px}.lock-screen-container h2{font-size:24px}.lock-screen-message{font-size:16px}.lock-screen-subtitle{font-size:14px}}.layout{display:flex;height:100vh;overflow:hidden;position:relative}.offline-banner{position:fixed;top:0;left:0;right:0;z-index:1002;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:500;box-shadow:0 2px 8px #00000026}.offline-banner-active{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff}.offline-banner-expired{background:linear-gradient(135deg,#dc2626,#991b1b);color:#fff}.offline-banner-user-mode{background:linear-gradient(135deg,#059669,#047857);color:#fff}.offline-banner-icon{font-size:18px}.offline-only-pos-overlay{position:fixed;inset:0;z-index:1003;background:#000000b3;display:flex;align-items:center;justify-content:center}.offline-only-pos-card{background:#fff;padding:24px 32px;border-radius:12px;box-shadow:0 8px 32px #0003;text-align:center}.offline-only-pos-card p{margin:0 0 16px;font-size:16px;color:#1f2937}.offline-only-pos-btn{padding:10px 20px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer}.offline-only-pos-btn:hover{opacity:.95}.offline-mode-toggle-wrapper{padding:8px 12px 12px;border-bottom:1px solid rgba(255,255,255,.1)}.offline-mode-toggle-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:#ffffffe6}.offline-mode-toggle-input{width:18px;height:18px;accent-color:#10b981}.offline-mode-toggle-text{-webkit-user-select:none;user-select:none}.language-selector-wrapper{margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.1)}.language-selector-label{display:block;color:#fffc;font-size:12px;font-weight:500;margin-bottom:6px}.language-selector-select{width:100%;padding:8px 10px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:6px;color:#fff;font-size:14px;cursor:pointer}.language-selector-select:disabled{opacity:.7;cursor:not-allowed}.language-selector-select option{background:#2c3e50;color:#fff}.fullscreen-prompt-btn{position:fixed;bottom:24px;right:24px;z-index:1000;display:flex;align-items:center;justify-content:center;gap:8px;min-width:52px;min-height:52px;padding:12px 18px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:50px;font-size:14px;font-weight:600;cursor:pointer;box-shadow:0 4px 14px #667eea73,0 6px 20px #00000026;transition:transform .2s ease,box-shadow .2s ease}.fullscreen-prompt-btn:hover{transform:translateY(-3px);box-shadow:0 8px 22px #667eea80,0 10px 28px #0000002e}.fullscreen-prompt-btn:active{transform:translateY(-1px);box-shadow:0 4px 14px #667eea66,0 6px 20px #0000001f}.sidebar-toggle{display:none;position:fixed;top:16px;left:16px;z-index:1001;width:44px;height:44px;padding:0;background:#2c3e50;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:24px;box-shadow:0 2px 8px #0003;transition:background .2s}.sidebar-toggle:hover{background:#34495e}.sidebar-overlay{display:none;position:fixed;inset:0;background:#0006;z-index:998;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s}.sidebar-overlay.open{opacity:1;visibility:visible}.sidebar{width:250px;flex-shrink:0;background:#2c3e50;color:#fff;display:flex;flex-direction:column;transition:transform .25s ease}.sidebar-header-actions{display:flex;align-items:center;gap:8px}.sidebar-close{display:none;width:32px;height:32px;padding:0;background:#ffffff1a;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:18px;line-height:1;transition:background .2s}.sidebar-close:hover{background:#fff3}.sidebar-header{padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.1);flex-shrink:0}.header-content{display:flex;justify-content:space-between;align-items:center}.sidebar-header h2{margin:0;font-size:18px}.sidebar-menu{flex:1;min-height:0;overflow-y:auto;padding:8px 0;-webkit-overflow-scrolling:touch}.menu-item{display:flex;align-items:center;gap:10px;padding:10px 16px;color:#fff;text-decoration:none;transition:background .2s}.menu-item:hover{background:#ffffff1a}.menu-item.active{background:#667eea4d;border-left:3px solid #667eea}.menu-item span{font-size:18px}.sidebar-footer{flex-shrink:0;padding:12px 16px;border-top:1px solid rgba(255,255,255,.1)}.store-selector-wrapper{margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.1)}.store-selector-wrapper .store-selector{flex-direction:column;align-items:flex-start;gap:8px}.store-selector-wrapper label{color:#fffc;font-size:12px;font-weight:500}.store-selector-wrapper .store-select{width:100%;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff}.store-selector-wrapper .store-select option{background:#2c3e50;color:#fff}.store-selector-wrapper .store-selector-storefront-link{color:#ffffffe6}.store-selector-wrapper .store-selector-storefront-link:hover{color:#fff}.user-info{margin-bottom:10px;font-size:13px}.user-info span{display:block}.user-role{color:#95a5a6;font-size:12px;text-transform:capitalize}.logout-button{width:100%;padding:10px;background:#e74c3c;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:500;font-size:14px;transition:background .2s;flex-shrink:0}.logout-button:hover{background:#c0392b}.main-content{flex:1;display:flex;flex-direction:column;overflow:hidden;background:#f5f5f5;min-width:0}.main-content>*{flex:1;min-height:0}@media(max-width:992px){.sidebar-toggle{display:flex;align-items:center;justify-content:center}.sidebar-overlay{display:block}.sidebar{position:fixed;top:0;left:0;bottom:0;z-index:999;transform:translate(-100%);box-shadow:none}.sidebar.open{transform:translate(0);box-shadow:4px 0 20px #0003}.sidebar-close{display:none}.main-content{margin-left:0;padding-top:60px}}@media(max-width:576px){.sidebar{width:280px;max-width:85vw}.sidebar-toggle{top:12px;left:12px;width:40px;height:40px;font-size:20px}.menu-item{padding:10px 14px}.menu-item span{font-size:16px}.sidebar-footer{padding:10px 14px}.store-selector-wrapper{margin-bottom:8px;padding-bottom:8px}.user-info{margin-bottom:8px}}.layout.layout-pos-mobile .main-content{padding-top:0;margin-left:0;width:100%;height:100%;min-height:100vh;min-height:100dvh}.layout.layout-pos-mobile .main-content>*{min-height:0}.layout.layout-pos-mobile .sidebar-toggle,.layout.layout-pos-mobile .sidebar-overlay,.layout.layout-pos-mobile .sidebar{display:none!important}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.login-card{background:#fff;padding:40px;border-radius:10px;box-shadow:0 10px 40px #0003;width:100%;max-width:400px}.login-card h1{margin:0 0 10px;color:#333;font-size:28px;text-align:center}.login-card h2{margin:0 0 30px;color:#666;font-size:20px;text-align:center;font-weight:400}.form-group label{display:block;margin-bottom:8px;color:#333;font-weight:500}.form-group input{width:100%;padding:12px;border:1px solid #ddd;border-radius:5px;font-size:16px;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.login-shop-link{margin-top:1rem;text-align:center;font-size:.95rem}.login-shop-link a{color:#667eea;text-decoration:none}.login-shop-link a:hover{text-decoration:underline}.login-button{width:100%;padding:12px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:5px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.login-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 15px #667eea66}.login-button:disabled{opacity:.6;cursor:not-allowed}.error-message{background:#fee;color:#c33;padding:12px;border-radius:5px;margin-bottom:20px;border:1px solid #fcc}.chart-container{background:#fff;border-radius:8px;padding:20px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px}.chart-title{margin:0 0 20px;font-size:18px;font-weight:600;color:#333;border-bottom:2px solid #f0f0f0;padding-bottom:10px}.chart-content{position:relative;height:300px}.chart-container.full-height .chart-content{height:400px}.chart-container.small .chart-content{height:250px}.chart-container.large .chart-content{height:450px}.no-data-message{display:flex;align-items:center;justify-content:center;height:100%;color:#999;font-style:italic}.dashboard{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;width:100%}.dashboard-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-shrink:0;padding:20px 24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;flex-wrap:wrap}.dashboard-header h1{margin:0;font-size:1.75rem;font-weight:700;letter-spacing:-.02em}.dashboard-subtitle{margin:4px 0 0;font-size:.9rem;opacity:.9;font-weight:400}.dashboard-store-badge{background:#fff3;padding:8px 16px;border-radius:20px;font-size:13px;font-weight:500;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.dashboard-store-badge.warning{background:#ffc1074d}.dashboard-loading{flex:1;display:flex;align-items:center;justify-content:center;color:#6b7280;font-size:14px;padding:40px}.dashboard-content{flex:1;min-height:0;overflow:auto;padding:24px;background:#f8fafc}.dashboard-section-title{margin:0 0 16px;font-size:.95rem;font-weight:600;color:#334155;text-transform:uppercase;letter-spacing:.05em}.dashboard-quick-actions{margin-bottom:32px}.dashboard-action-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}.dashboard-action-card{display:flex;align-items:center;gap:20px;padding:24px;background:#fff;border-radius:16px;text-decoration:none;color:inherit;box-shadow:0 1px 3px #00000014;border:1px solid #e2e8f0;transition:all .25s ease}.dashboard-action-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #0000001a;border-color:transparent;background:linear-gradient(135deg,#667eea,#5568d3);color:#fff}.dashboard-action-icon{font-size:2rem}.dashboard-action-info{flex:1}.dashboard-action-info h3{margin:0 0 4px;font-size:1.1rem;font-weight:600}.dashboard-action-info p{margin:0;font-size:.85rem;opacity:.85}.dashboard-action-card:hover .dashboard-action-info p{opacity:.9}.dashboard-action-arrow{font-size:1.25rem;font-weight:600}.dashboard-stats{margin-bottom:32px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}.stat-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 3px #00000014;border:1px solid #e2e8f0;display:flex;align-items:flex-start;gap:16px;transition:transform .2s,box-shadow .2s}.stat-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0000001a}.stat-card-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none}.stat-card-primary .stat-value,.stat-card-primary .stat-label,.stat-card-primary .stat-subtext{color:#fff!important;text-shadow:0 1px 2px black,0 0 3px black,1px 1px 2px black,-1px -1px 2px black,1px -1px 2px black,-1px 1px 2px black}.stat-card-primary .stat-value{font-weight:700}.stat-card-primary .stat-subtext{opacity:.95;color:#fffffff2!important}.stat-card-sales{border-left:4px solid #667eea}.stat-card-warning{border-left:4px solid #f59e0b}.stat-card-warning .stat-value{color:#b45309}.stat-icon{font-size:2rem;flex-shrink:0}.stat-content{flex:1;min-width:0}.stat-value{font-size:1.5rem;font-weight:700;color:#334155;margin-bottom:4px;line-height:1.2}.stat-label{color:#64748b;font-size:.875rem;font-weight:500}.stat-subtext{color:#94a3b8;font-size:.8rem;margin-top:6px}.stat-subtext.error{color:#dc2626;font-weight:500}.dashboard-charts{margin-bottom:32px}.dashboard-charts .charts-row{margin-bottom:20px}.dashboard-section{background:#fff;border-radius:12px;padding:24px;margin-bottom:24px;box-shadow:0 1px 3px #00000014;border:1px solid #e2e8f0}.dashboard-table-wrap{overflow-x:auto}.dashboard-table{width:100%;border-collapse:collapse;font-size:.9rem}.dashboard-table thead{background:linear-gradient(135deg,#667eea,#764ba2)}.dashboard-table th{padding:12px 16px;text-align:left;font-weight:600;color:#fff;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}.dashboard-table th:first-child{border-radius:8px 0 0}.dashboard-table th:last-child{border-radius:0 8px 0 0}.dashboard-table td{padding:12px 16px;border-bottom:1px solid #f1f5f9;color:#334155}.dashboard-table tbody tr:nth-child(2n){background:#f8fafc}.dashboard-table tbody tr:last-child td{border-bottom:none}.dashboard-table .rank-cell{font-weight:600;color:#667eea}.dashboard-table .amount-cell{font-weight:600;color:#059669}.dashboard-view-all{display:inline-block;margin-top:16px;font-size:.9rem;font-weight:500;color:#667eea;text-decoration:none}.dashboard-view-all:hover{text-decoration:underline}@media(max-width:992px){.dashboard-header{padding:16px 20px}.dashboard-content{padding:20px}.stats-grid{grid-template-columns:repeat(2,1fr)}.dashboard-action-grid{grid-template-columns:1fr}}@media(max-width:768px){.dashboard-header{flex-direction:column;align-items:flex-start}.stats-grid{grid-template-columns:1fr}.stat-value{font-size:1.35rem}}@media(max-width:480px){.dashboard-content{padding:16px}.dashboard-table th,.dashboard-table td{padding:10px 12px;font-size:.8rem}}.variant-selector-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.variant-selector-modal{background:#fff;border-radius:8px;padding:20px;max-width:600px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 4px 6px #0000001a}.variant-selector-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid #e0e0e0}.variant-selector-header h3{margin:0;font-size:1.25rem;color:#333}.variant-selector-content{display:flex;flex-direction:column;gap:20px}.variant-group{display:flex;flex-direction:column;gap:10px}.variant-type-label{margin:0;font-size:.9rem;font-weight:600;color:#555;text-transform:capitalize}.variant-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.variant-option{padding:12px;border:2px solid #e0e0e0;border-radius:6px;background:#fff;cursor:pointer;transition:all .2s;text-align:left;display:flex;flex-direction:column;gap:8px}.variant-option:hover:not(.disabled){border-color:#4caf50;background:#f1f8f4}.variant-option.selected{border-color:#4caf50;background:#e8f5e9}.variant-option.disabled{opacity:.5;cursor:not-allowed;background:#f5f5f5}.variant-value{font-weight:600;color:#333;font-size:.95rem}.variant-details{display:flex;flex-direction:column;gap:4px;font-size:.85rem}.variant-price{color:#4caf50;font-weight:600}.variant-stock{color:#666;font-size:.8rem}.variant-stock.out-of-stock{color:#f44336;font-weight:600}.split-payment-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000}.split-payment-modal{background:#fff;border-radius:12px;width:95%;max-width:680px;max-height:90vh;overflow-y:auto;box-shadow:0 8px 24px #00000026;display:flex;flex-direction:column}.split-payment-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #dee2e6}.split-payment-header h2{margin:0;color:#333}.close-button{background:none;border:none;font-size:28px;cursor:pointer;color:#666;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px}.split-payment-content{padding:20px;overflow-y:auto;flex:1;min-height:0}.split-payment-offline-banner{background:linear-gradient(135deg,#059669,#047857);color:#fff;padding:10px 14px;border-radius:8px;margin-bottom:16px;font-size:14px;font-weight:500}.payment-total{background:#f8f9fa;padding:15px;border-radius:6px;margin-bottom:20px;display:flex;justify-content:space-between;align-items:center}.payment-total strong{font-size:20px;color:#333}.remaining-balance{font-size:16px;font-weight:600;padding:6px 12px;border-radius:4px}.remaining-balance.complete{background:#d4edda;color:#155724}.remaining-balance.positive{background:#fff3cd;color:#856404}.remaining-balance.negative{background:#f8d7da;color:#721c24}.payments-section{margin-bottom:20px}.payments-section-title{margin:0 0 12px;font-size:.9rem;font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:.05em}.payments-list{display:flex;flex-direction:column;gap:12px;margin-bottom:12px}.payment-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:12px;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.payment-row-loyalty{border-color:#667eea;background:#f0f4ff}.payment-method-select,.payment-gateway-select{flex:1;min-width:120px;padding:10px 12px;border:1px solid #cbd5e1;border-radius:8px;font-size:14px;background:#fff;cursor:pointer}.payment-amount-input{display:flex;align-items:center;gap:6px;padding:10px 12px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;min-width:140px}.payment-amount-input span{color:#666;font-weight:600}.payment-amount-input input{border:none;outline:none;width:100%;font-size:14px}.loyalty-points-hint{font-size:12px;color:#667eea;font-weight:500;white-space:nowrap}.remove-payment-btn{background:#dc3545;color:#fff;border:none;padding:10px 15px;border-radius:4px;cursor:pointer;font-size:18px;font-weight:700;width:40px;height:40px;display:flex;align-items:center;justify-content:center}.remove-payment-btn:hover{background:#c82333}.add-payment-buttons{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.add-payment-btn{flex:1;min-width:140px;padding:12px;background:#28a745;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500}.add-payment-btn:hover{background:#218838}.add-loyalty-btn{flex:1;min-width:140px;padding:12px;background:#667eea;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500}.add-loyalty-btn:hover{background:#5a67d8}.payment-summary{background:#f8f9fa;padding:15px;border-radius:6px;margin-bottom:20px}.summary-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.summary-row:last-child{margin-bottom:0}.summary-row strong{font-size:16px}.summary-row strong.complete{color:#155724}.summary-row strong.positive{color:#856404}.summary-row strong.negative{color:#721c24}.split-payment-actions{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:12px;padding:20px;border-top:1px solid #dee2e6}.btn-draft{padding:10px 20px;background:#6c757d;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500}.btn-draft:hover{background:#5a6268}.btn-cancel,.btn-complete{padding:10px 20px;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500}.btn-complete{background:#28a745;color:#fff}.btn-complete:hover:not(:disabled){background:#218838}.btn-complete:disabled{background:#ccc;cursor:not-allowed}@media(max-width:600px){.split-payment-modal{width:98%;max-height:85vh}.payment-row{flex-direction:column;align-items:stretch}.payment-method-select,.payment-gateway-select,.payment-amount-input{min-width:100%}.payment-row{gap:8px}}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}.confirmation-modal{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;max-width:450px;width:90%;overflow:hidden;animation:slideUp .3s ease-out}.confirmation-modal .modal-header{padding:24px 24px 16px;text-align:center;border-bottom:1px solid #eee;color:#fff;flex-direction:column;justify-content:center;display:flex;align-items:center}.modal-header-danger{background:linear-gradient(135deg,#f44,#c00)}.modal-header-warning{background:linear-gradient(135deg,#ff9800,#f57c00)}.modal-header-info{background:linear-gradient(135deg,#2196f3,#1976d2)}.modal-icon{font-size:48px;margin-bottom:12px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.confirmation-modal .modal-header h3{margin:0;font-size:24px;font-weight:600;color:#fff}.confirmation-modal .modal-body{padding:24px;text-align:center}.confirmation-modal .modal-body p{margin:0 0 12px;font-size:16px;color:#333;line-height:1.5}.confirmation-modal .modal-warning{color:#f44!important;font-weight:600;font-size:14px!important;margin-top:8px!important}.confirmation-modal .modal-footer{padding:16px 24px 24px;display:flex;gap:12px;justify-content:flex-end;border-top:1px solid #eee;background:#f9f9f9}.confirmation-modal .modal-btn{padding:12px 24px;border:none;border-radius:6px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;min-width:120px}.confirmation-modal .modal-btn:disabled{opacity:.6;cursor:not-allowed}.confirmation-modal .cancel-btn{background:#fff;color:#666;border:2px solid #ddd}.confirmation-modal .cancel-btn:hover:not(:disabled){background:#f5f5f5;border-color:#bbb;transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.confirmation-modal .confirm-btn{color:#fff;box-shadow:0 4px 12px #0000004d}.confirm-btn-danger{background:linear-gradient(135deg,#f44,#c00);box-shadow:0 4px 12px #ff44444d}.confirm-btn-danger:hover:not(:disabled){background:linear-gradient(135deg,#c00,#900);transform:translateY(-1px);box-shadow:0 6px 16px #f446}.confirm-btn-warning{background:linear-gradient(135deg,#ff9800,#f57c00);box-shadow:0 4px 12px #ff98004d}.confirm-btn-warning:hover:not(:disabled){background:linear-gradient(135deg,#f57c00,#e65100);transform:translateY(-1px);box-shadow:0 6px 16px #ff980066}.confirm-btn-info{background:linear-gradient(135deg,#2196f3,#1976d2);box-shadow:0 4px 12px #2196f34d}.confirm-btn-info:hover:not(:disabled){background:linear-gradient(135deg,#1976d2,#1565c0);transform:translateY(-1px);box-shadow:0 6px 16px #2196f366}.confirmation-modal .confirm-btn:active:not(:disabled){transform:translateY(0)}.modal-error-message{padding:16px;background:#ffebee;border-radius:8px;border:1px solid #ef5350;text-align:center}.error-icon{font-size:48px;margin:0 0 12px}.error-text{color:#c62828;font-size:16px;font-weight:500;margin:0;line-height:1.5}.print-failure-modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease-in}.print-failure-modal{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000004d;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.print-failure-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:2px solid #f0f0f0;position:relative}.print-failure-icon{font-size:32px;margin-right:12px}.print-failure-modal-header h2{margin:0;flex:1;color:#333;font-size:20px;font-weight:600}.close-button{background:none;border:none;font-size:28px;color:#999;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.print-failure-modal-body{padding:24px}.error-message{color:#d32f2f;font-size:15px;margin-bottom:16px;font-weight:500}.error-details{background:#ffebee;border-left:4px solid #d32f2f;padding:12px;border-radius:4px;margin-bottom:24px;font-size:13px;color:#c62828}.error-details strong{display:block;margin-bottom:4px}.options-section h3{margin:0 0 16px;color:#333;font-size:16px;font-weight:600}.action-buttons{display:flex;flex-direction:column;gap:12px}.action-btn{padding:14px 20px;border:none;border-radius:8px;font-size:15px;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px;position:relative}.action-btn:disabled{opacity:.6;cursor:not-allowed}.retry-btn{background:linear-gradient(135deg,#2196f3,#1976d2);color:#fff}.retry-btn:hover:not(:disabled){background:linear-gradient(135deg,#1976d2,#1565c0);transform:translateY(-1px);box-shadow:0 4px 12px #2196f34d}.download-btn{background:linear-gradient(135deg,#4caf50,#388e3c);color:#fff}.download-btn:hover:not(:disabled){background:linear-gradient(135deg,#388e3c,#2e7d32);transform:translateY(-1px);box-shadow:0 4px 12px #4caf504d}.print-pdf-btn{background:linear-gradient(135deg,#ff9800,#f57c00);color:#fff}.print-pdf-btn:hover:not(:disabled){background:linear-gradient(135deg,#f57c00,#e65100);transform:translateY(-1px);box-shadow:0 4px 12px #ff98004d}.spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}.print-failure-modal-footer{padding:16px 24px;border-top:1px solid #f0f0f0;display:flex;justify-content:flex-end}.cancel-btn{padding:10px 20px;background:#f5f5f5;border:none;border-radius:6px;font-size:14px;font-weight:500;color:#666;cursor:pointer;transition:all .2s}.cancel-btn:hover{background:#e0e0e0;color:#333}@media(max-width:600px){.print-failure-modal{width:95%;margin:20px}.print-failure-modal-header{padding:16px 20px}.print-failure-modal-body{padding:20px}.action-btn{padding:12px 16px;font-size:14px}}.pos-container{flex:1;min-height:0;display:flex;flex-direction:column;background:#f8fafc;overflow:hidden}.pos-container,.pos-content,.pos-container .products-panel,.pos-container .products-grid-container,.pos-container .quantity-shortcuts-grid,.pos-container .cart-items{scrollbar-width:none;-ms-overflow-style:none}.pos-container::-webkit-scrollbar,.pos-content::-webkit-scrollbar,.pos-container .products-panel::-webkit-scrollbar,.pos-container .products-grid-container::-webkit-scrollbar,.pos-container .quantity-shortcuts-grid::-webkit-scrollbar,.pos-container .cart-items::-webkit-scrollbar{display:none;width:0;height:0}.pos-header{background:linear-gradient(135deg,#667eea,#764ba2);padding:16px 24px;box-shadow:0 2px 12px #667eea40;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;flex-shrink:0}.pos-header h1{margin:0;color:#fff;font-size:1.5rem;font-weight:700;letter-spacing:-.02em}.pos-info{display:flex;gap:16px;flex-wrap:wrap;color:#fffffff2;font-size:.9rem;font-weight:500}.pos-info span{background:#fff3;padding:6px 14px;border-radius:20px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.pos-content{flex:1;min-height:0;display:flex;gap:20px;padding:20px;overflow:hidden}.products-panel{flex:2;min-width:0;min-height:0;background:#fff;border-radius:16px;padding:20px 20px 16px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 1px 3px #00000014;border:1px solid #e2e8f0}.search-filters-sticky{flex-shrink:0;background:#fff;padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid #e2e8f0}.barcode-scanner-section{margin-bottom:12px;padding:12px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:10px;box-shadow:0 2px 8px #667eea33}.barcode-input-container{display:flex;flex-direction:column;gap:8px}.input-with-clear{position:relative;display:flex;align-items:center}.barcode-input-container label{color:#fff;font-weight:600;font-size:14px}.barcode-input{width:100%;padding:14px 40px 14px 14px;border:2px solid rgba(255,255,255,.3);border-radius:5px;font-size:16px;font-weight:500;background:#fff;box-sizing:border-box;transition:all .3s}.barcode-input:focus{outline:none;border-color:#fff;box-shadow:0 0 0 3px #ffffff4d}.barcode-input.scan-success{background:#e8f5e9;border-color:#4caf50;animation:scanSuccess .5s}.barcode-input.scan-error{background:#ffebee;border-color:#f44336;animation:scanError .5s}@keyframes scanSuccess{0%,to{transform:scale(1)}50%{transform:scale(1.05);background:#c8e6c9}}@keyframes scanError{0%,to{transform:scale(1)}25%,75%{transform:translate(-5px)}50%{transform:translate(5px)}}.scanning-indicator{color:#fff;font-size:12px;font-style:italic;display:inline-block;margin-left:10px}.search-bar{margin-bottom:0}.search-bar input{width:100%;padding:12px 40px 12px 12px;border:1px solid #ddd;border-radius:5px;font-size:16px;box-sizing:border-box}.clear-input-btn{position:absolute;right:8px;background:transparent;border:none;color:#999;font-size:24px;line-height:1;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;transition:color .2s;z-index:1}.clear-input-btn:hover{color:#333}.clear-input-btn:active{color:#667eea}.barcode-input-container .input-with-clear .clear-input-btn{color:#ffffffb3}.barcode-input-container .input-with-clear .clear-input-btn:hover{color:#fff}.products-grid-container{flex:1 1 0;min-height:200px;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.products-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.quantity-shortcuts-section{flex:0 0 auto;margin-top:18px;padding:0;border-top:1px solid #e2e8f0;position:relative}.quantity-resize-handle{height:14px;margin-top:8px;margin-bottom:4px;cursor:ns-resize;resize:none;display:flex;align-items:center;justify-content:center;background:linear-gradient(to bottom,#e2e8f0,#f1f5f9,#e2e8f0);border:1px solid #cbd5e1;border-radius:6px;flex-shrink:0;user-select:none;-webkit-user-select:none;touch-action:none}.quantity-resize-handle:before{content:"";width:32px;height:4px;background:#94a3b8;border-radius:2px;opacity:.8}.quantity-resize-handle:hover{background:linear-gradient(to bottom,#cbd5e1,#e2e8f0,#cbd5e1);border-color:#94a3b8}.quantity-resize-handle:active{background:#cbd5e1}.quantity-shortcuts-label{display:block;font-size:14px;font-weight:600;color:#475569;margin-top:4px;margin-bottom:12px;text-transform:uppercase;letter-spacing:.02em}.quantity-shortcuts-grid{display:grid;gap:8px;max-width:100%;max-height:220px;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.quantity-shortcut-btn{min-height:48px;padding:10px 14px;font-size:16px;font-weight:600;color:#334155;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;transition:background .12s,border-color .12s}.quantity-shortcut-btn:hover{background:#e2e8f0;border-color:#94a3b8}.quantity-shortcut-btn:active{background:#cbd5e1}.cart-item.cart-item-selected{border:2px solid #667eea;box-shadow:0 0 0 2px #667eea33}.pos-operations{flex:0 0 auto;display:flex;flex-direction:column;gap:10px;padding-top:12px;padding-bottom:0;border-top:1px solid #e2e8f0;margin-top:10px;overflow:visible}.pos-operations-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;flex-shrink:0}.product-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:14px;cursor:pointer;transition:all .2s ease;position:relative;box-shadow:0 1px 2px #0000000a}.product-card:hover{border-color:#667eea;transform:translateY(-3px);box-shadow:0 8px 20px #667eea33}.product-name{font-weight:600;margin-bottom:5px;color:#333}.product-sku{font-size:12px;color:#666;margin-bottom:5px}.product-price{font-size:18px;font-weight:700;color:#667eea}.low-stock-badge{position:absolute;top:5px;right:5px;background:#ff9800;color:#fff;font-size:10px;padding:2px 6px;border-radius:3px}.cart-panel{flex:1;min-width:280px;max-width:420px;min-height:0;background:#fff;border-radius:16px;padding:20px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 1px 3px #00000014;border:1px solid #e2e8f0}.cart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:14px;border-bottom:2px solid #e2e8f0;flex-shrink:0}.cart-header h2{margin:0;color:#1e293b;font-size:1.25rem;font-weight:700}.clear-cart-btn{background:#f44;color:#fff;border:none;padding:8px 16px;border-radius:5px;cursor:pointer;font-size:14px;font-weight:500;transition:background .2s}.clear-cart-btn:hover{background:#c00}.cart-items{flex:1;overflow-y:auto;margin-bottom:20px;-webkit-overflow-scrolling:touch;min-height:0}.cart-item{background:#f8fafc;border-radius:10px;padding:12px;margin-bottom:10px;border:1px solid #e2e8f0;transition:border-color .2s}.cart-item:hover{border-color:#cbd5e1}.cart-item-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px}.cart-item-info{display:flex;justify-content:space-between;margin-bottom:10px}.cart-item-details{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap}.cart-item-name{font-weight:500;color:#333}.cart-item-price{color:#666;font-size:14px}.cart-item-controls{display:flex;align-items:center;gap:10px;margin-bottom:10px}.cart-item-controls{display:flex;align-items:center;gap:8px;background:#fff;border-radius:6px;padding:4px;border:1px solid #ddd}.qty-btn{width:32px;height:32px;border:none;background:#f0f0f0;border-radius:4px;cursor:pointer;font-size:18px;font-weight:600;display:flex;align-items:center;justify-content:center;transition:all .2s;color:#333}.qty-btn:hover:not(:disabled){background:#667eea;color:#fff}.qty-btn:disabled{opacity:.4;cursor:not-allowed}.qty-display{min-width:40px;text-align:center;font-weight:600;font-size:16px;color:#333}.remove-btn{background:transparent;border:none;color:#f44;font-size:24px;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .2s;line-height:1}.remove-btn:hover{background:#ffebee;transform:scale(1.1)}.cart-item-total{font-weight:700;color:#667eea;font-size:16px;min-width:100px;text-align:right}.stock-warning{padding:6px 12px;border-radius:4px;font-size:12px;font-weight:600;margin-bottom:8px;display:inline-block}.stock-warning.out-of-stock{background:#ffebee;color:#c62828;border:1px solid #ef5350}.stock-warning.low-stock{background:#fff3e0;color:#e65100;border:1px solid #ff9800}.cart-footer{border-top:2px solid #e2e8f0;padding-top:20px;flex-shrink:0}.cart-loyalty-redeem{margin:14px 0 16px;padding:12px 14px;background:#f0f4ff;border:1px solid #c7d2fe;border-radius:10px}.cart-loyalty-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.cart-loyalty-label{font-size:14px;font-weight:600;color:#4338ca}.cart-loyalty-available{font-size:12px;color:#6366f1;font-weight:500}.cart-loyalty-input-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cart-loyalty-input{width:80px;padding:8px 10px;border:1px solid #a5b4fc;border-radius:6px;font-size:14px;font-weight:600}.cart-loyalty-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 2px #667eea33}.cart-loyalty-suffix{font-size:13px;color:#64748b}.cart-loyalty-value{font-size:14px;font-weight:600;color:#059669}.cart-loyalty-warning{margin-top:6px;font-size:12px;color:#d97706;font-style:italic}.discount-section{flex:0 0 auto;padding:8px 12px;background:#f8fafc;border-radius:10px;border:1px solid #e2e8f0}.discount-input-group{display:flex;gap:6px;align-items:center}.discount-input{width:110px;min-width:90px;padding:8px 10px;border:1px solid #ddd;border-radius:6px;font-size:13px;box-sizing:border-box}.discount-input:focus{outline:none;border-color:#667eea}.apply-discount-btn{padding:8px 14px;background:#667eea;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:600;font-size:13px;transition:background .2s;flex-shrink:0}.apply-discount-btn:hover:not(:disabled){background:#5568d3}.apply-discount-btn:disabled{background:#ccc;cursor:not-allowed}.applied-discount{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;background:#e8f5e9;border-radius:6px;border:1px solid #4caf50}.discount-info{display:flex;flex-direction:column;gap:4px}.discount-info strong{color:#2e7d32}.discount-amount{color:#4caf50;font-weight:600;font-size:16px}.remove-discount-btn{padding:6px 12px;background:#f44;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:12px;font-weight:500}.remove-discount-btn:hover{background:#c00}.drafts-section{flex-shrink:0;padding:12px 14px 14px;margin-bottom:0;background:#f0f4ff;border-radius:10px;border:1px solid #c7d2fe;height:fit-content}.drafts-section-header{font-size:13px;font-weight:600;color:#4338ca;margin-bottom:8px}.drafts-list{display:flex;flex-wrap:wrap;gap:8px;align-content:flex-start}.draft-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;padding:24px 14px 12px;background:#fff;border:1px solid #c7d2fe;border-radius:8px;cursor:pointer;transition:all .2s;text-align:left;font-family:inherit;flex-shrink:0;min-height:fit-content}.draft-card-delete{position:absolute;top:4px;right:6px;width:20px;height:20px;padding:0;display:flex;align-items:center;justify-content:center;font-size:16px;line-height:1;color:#64748b;background:transparent;border:none;border-radius:4px;cursor:pointer;transition:color .15s,background .15s}.draft-card-delete:hover{color:#dc2626;background:#fee2e2}.draft-card:hover{background:#eef2ff;border-color:#667eea;box-shadow:0 2px 8px #667eea33}.draft-items{font-size:13px;color:#475569}.draft-total{font-size:14px;font-weight:600;color:#667eea}.draft-customer{font-size:11px;color:#64748b;margin-top:4px;display:block}.cart-summary{background:#f9f9f9;padding:15px;border-radius:8px;margin-bottom:15px;border:1px solid #e0e0e0}.summary-line{display:flex;justify-content:space-between;padding:8px 0;font-size:16px;color:#666}.summary-line.discount{color:#4caf50;font-weight:600}.summary-line.total{border-top:2px solid #ddd;margin-top:8px;padding-top:12px;font-size:24px;font-weight:700;color:#667eea}.cart-total{font-size:24px;margin-bottom:15px;text-align:right;color:#333}.checkout-button{width:100%;padding:16px;background:linear-gradient(135deg,#667eea,#5568d3);color:#fff;border:none;border-radius:12px;font-size:18px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #667eea4d}.checkout-button:hover:not(:disabled){background:linear-gradient(135deg,#5568d3,#4858c4);box-shadow:0 4px 12px #667eea66;transform:translateY(-1px)}.empty-cart{text-align:center;color:#999;padding:40px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:160px}.empty-cart-icon{font-size:48px;margin-bottom:16px;opacity:.5}.empty-cart p{margin:6px 0;font-size:16px;color:#666}.empty-cart-hint{font-size:13px!important;color:#999!important;font-style:italic}.cart-customer-bar{padding:10px 14px;border-radius:10px;margin-bottom:12px;display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:44px}.cart-customer-bar.has-customer{background:#f0f4ff;border:1px solid #c7d2fe}.cart-customer-bar.walk-in{background:#f8fafc;border:1px solid #e2e8f0}.cart-customer-bar.customer-inactive{background:#fef2f2;border:1px solid #fecaca}.cart-customer-bar.customer-inactive .cart-customer-details strong{color:#94a3b8;text-decoration:line-through}.cart-customer-bar .inactive-badge{color:#dc2626;font-weight:600;font-size:.9em}.cart-customer-details{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.cart-customer-details strong{color:#1e293b}.cart-walk-in-label{color:#64748b;font-size:14px;font-weight:500}.remove-customer-btn{background:#ef4444;color:#fff;border:none;border-radius:50%;width:28px;height:28px;font-size:20px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0;line-height:1;padding:0}.remove-customer-btn:hover{background:#dc2626;transform:scale(1.1);box-shadow:0 2px 8px #ef44444d}.remove-customer-btn:active{transform:scale(.95)}.customer-points-badge{background:#667eea;color:#fff;padding:4px 12px;border-radius:15px;font-size:14px;font-weight:600}.loyalty-section{flex:0 0 auto;background:#f8fafc;padding:8px 12px;border-radius:10px;border:1px solid #e2e8f0}.customer-points-header{margin-bottom:4px;color:#333;font-size:14px}.points-info-only{font-size:13px;color:#64748b}.customer-points{margin-bottom:10px;color:#333}.points-redemption{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px}.points-redemption label{display:flex;flex-direction:row;align-items:center;gap:6px;font-size:13px;color:#666}.points-redemption input[type=number]{width:70px;padding:6px 8px;border:1px solid #ddd;border-radius:4px;font-size:14px}.redemption-value{color:#4caf50;font-weight:600;font-size:14px}.redemption-warning{color:#ff9800;font-size:11px;font-style:italic;width:100%}.discount-line{color:#4caf50;font-size:18px;margin:5px 0}.final-total{color:#667eea;font-size:28px}.checkout-button:disabled{background:#ccc;cursor:not-allowed}@media(max-width:1200px){.pos-content{gap:16px;padding:16px}.products-grid{grid-template-columns:repeat(3,1fr)}.cart-panel{max-width:380px}.quantity-shortcuts-section{margin-top:14px;padding-top:14px}.quantity-shortcuts-label{font-size:13px;margin-bottom:10px}.quantity-shortcuts-grid{grid-template-columns:repeat(10,1fr)!important;max-height:180px;gap:6px}.quantity-shortcut-btn{min-height:40px;padding:8px 10px;font-size:15px}}@media(max-width:992px){.pos-container{overflow:auto;-webkit-overflow-scrolling:touch}.pos-content{flex-direction:column;padding:16px;gap:16px;overflow-y:auto;overflow-x:hidden;min-height:auto}.products-panel{flex:0 0 auto;min-height:0;max-height:min(70vh,600px);overflow-y:auto;overflow-x:hidden}.products-grid-container{height:240px;min-height:180px;max-height:260px}.products-grid{grid-template-columns:repeat(4,1fr);gap:10px}.quantity-shortcuts-section{margin-top:14px;padding-top:14px}.quantity-shortcuts-label{font-size:13px;margin-bottom:10px}.quantity-shortcuts-grid{grid-template-columns:repeat(6,1fr)!important;max-height:170px;gap:6px}.quantity-shortcut-btn{min-height:38px;padding:8px 10px;font-size:14px}.cart-panel{max-width:none;min-width:0;min-height:320px;flex:0 0 auto}.pos-operations{flex-wrap:wrap;gap:10px}.discount-input-group{flex-direction:row}.discount-input{width:100%;min-width:0;max-width:180px}.pos-operations-row{flex-wrap:wrap}.product-card{padding:12px}.product-name{font-size:14px}.product-price{font-size:16px}}@media(max-width:768px){.pos-header{padding:12px 16px;flex-direction:row;flex-wrap:wrap;align-items:center;gap:10px}.pos-header h1{font-size:1.2rem}.pos-info{gap:8px;font-size:.85rem}.pos-info span{padding:5px 12px}.pos-content{padding:12px;gap:12px}.products-panel{max-height:min(65vh,520px)}.products-panel,.cart-panel{padding:16px;border-radius:12px;min-width:0}.products-grid-container{height:200px;min-height:160px;max-height:220px}.quantity-shortcuts-section{margin-top:12px;padding-top:12px}.quantity-shortcuts-label{font-size:13px;margin-bottom:8px}.quantity-shortcuts-grid{grid-template-columns:repeat(5,1fr)!important;max-height:150px;gap:6px}.quantity-shortcut-btn{min-height:36px;padding:6px 8px;font-size:13px}.search-filters-sticky{padding-bottom:12px;margin-bottom:12px}.barcode-scanner-section{padding:12px;margin-bottom:12px}.barcode-input{padding:12px 40px 12px 12px;font-size:15px}.search-bar input{padding:10px 40px 10px 10px;font-size:15px}.products-grid-container{height:240px;min-height:180px}.products-grid{grid-template-columns:repeat(3,1fr);gap:8px}.product-card{padding:10px}.product-name{font-size:13px;margin-bottom:4px}.product-sku{font-size:11px}.product-price{font-size:14px}.pos-operations{padding-top:12px;margin-top:12px;gap:10px}.pos-operations-row{flex-direction:column}.discount-section,.loyalty-section{flex:1 1 100%;min-width:0}.discount-section,.drafts-section,.loyalty-section{padding:10px}.discount-input{width:100%;max-width:200px}.pos-operations-row{flex-direction:column;align-items:stretch}.discount-section,.loyalty-section{flex:1 1 100%}.cart-panel{min-height:280px}.cart-header h2{font-size:1.1rem}.cart-customer-bar{padding:8px 12px;min-height:40px}.cart-customer-details strong,.cart-walk-in-label{font-size:13px}.customer-points-badge{font-size:12px;padding:3px 10px}.cart-item{padding:10px;margin-bottom:8px}.cart-item-details{gap:10px}.cart-item-controls{margin-bottom:0}.qty-btn{width:36px;height:36px;min-width:36px;min-height:36px}.cart-summary{padding:12px}.cart-loyalty-redeem{margin:12px 0 14px;padding:10px 12px}.summary-line{font-size:14px}.summary-line.total{font-size:20px}.checkout-button{padding:14px;font-size:16px;min-height:48px}.remove-customer-btn{width:32px;height:32px;font-size:18px}}@media(max-width:576px){.pos-header{padding:10px 12px}.pos-header h1{font-size:1.1rem}.pos-info span{padding:4px 10px;font-size:.8rem}.pos-content{padding:10px;gap:10px}.products-panel,.cart-panel{padding:12px}.barcode-scanner-section{padding:10px}.products-grid-container{height:220px;min-height:160px}.products-grid{grid-template-columns:repeat(2,1fr);gap:8px}.products-panel{max-height:min(60vh,480px)}.products-grid-container{max-height:200px}.quantity-shortcuts-section{margin-top:12px;padding-top:12px}.quantity-shortcuts-label{font-size:12px;margin-bottom:8px}.quantity-shortcuts-grid{grid-template-columns:repeat(4,1fr)!important;max-height:140px;gap:5px}.quantity-shortcut-btn{min-height:34px;padding:6px 8px;font-size:12px}.product-card{padding:10px}.product-name{font-size:12px;line-height:1.3}.product-sku{font-size:10px}.product-price{font-size:13px}.drafts-list{max-height:none}.draft-card{padding:22px 12px 10px}.draft-items,.draft-total{font-size:12px}.cart-panel{min-width:0;min-height:260px}.cart-customer-bar{flex-wrap:wrap}.cart-item-name{font-size:13px}.cart-item-total{font-size:14px;min-width:80px}.clear-cart-btn{padding:6px 12px;font-size:13px}}@media(max-width:400px){.pos-header h1{font-size:1rem}.pos-info{gap:6px}.pos-info span{padding:4px 8px;font-size:.75rem}.pos-content{padding:8px}.products-panel,.cart-panel{min-width:0;padding:10px}.products-grid{grid-template-columns:repeat(2,1fr);gap:6px}.product-card{padding:8px}.product-name{font-size:11px}.product-price{font-size:12px}.cart-header h2{font-size:1rem}.summary-line.total{font-size:18px}.checkout-button{padding:12px;font-size:15px}.empty-cart{padding:40px 16px}.empty-cart-icon{font-size:48px}}@supports (padding: max(0px)){.pos-header{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}.pos-content{padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}@media(max-width:992px){.pos-content{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}}@media(max-width:768px){.pos-content{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}}@media(max-width:576px){.pos-content{padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right))}}}.pos-container.pos-mobile{padding-bottom:0;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}.pos-container.pos-mobile .pos-header{padding:10px 12px;flex-shrink:0}.pos-container.pos-mobile .pos-header h1{font-size:1.1rem;font-weight:700}.pos-container.pos-mobile .pos-info{gap:8px;font-size:.75rem}.pos-container.pos-mobile .pos-info span{padding:4px 10px;border-radius:12px}.pos-container.pos-mobile .pos-content{flex:1;min-height:0;display:flex;flex-direction:column;padding:10px 12px 0;gap:0;overflow:hidden}.pos-container.pos-mobile.pos-mobile-tab-products .cart-panel,.pos-container.pos-mobile.pos-mobile-tab-cart .products-panel{display:none!important}.pos-container.pos-mobile .products-panel,.pos-container.pos-mobile .cart-panel{flex:1 1 auto;min-height:0;max-width:none;width:100%;display:flex;flex-direction:column;overflow:hidden;padding:12px}.pos-container.pos-mobile .products-panel{border-radius:12px}.pos-container.pos-mobile .cart-panel{border-radius:12px;min-height:200px}.pos-container.pos-mobile .search-filters-sticky{padding-bottom:10px;margin-bottom:10px}.pos-container.pos-mobile .barcode-scanner-section{padding:10px;margin-bottom:10px}.pos-container.pos-mobile .barcode-input,.pos-container.pos-mobile .search-bar input{padding:12px 36px 12px 12px;font-size:16px;min-height:44px}.pos-container.pos-mobile .products-grid-container{flex:1;min-height:120px;-webkit-overflow-scrolling:touch}.pos-container.pos-mobile .products-grid{grid-template-columns:repeat(2,1fr);gap:10px;padding-bottom:8px}.pos-container.pos-mobile .product-card{min-height:88px;padding:12px;border-radius:10px;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.pos-container.pos-mobile .product-card:active{transform:scale(.98);border-color:#667eea}.pos-container.pos-mobile .product-name{font-size:.9rem;margin-bottom:4px}.pos-container.pos-mobile .product-price{font-size:1rem}.pos-container.pos-mobile .quantity-shortcuts-section{display:none}.pos-container.pos-mobile .pos-operations{margin-top:8px;padding-top:10px;flex-shrink:0}.pos-container.pos-mobile .discount-input-group{flex-wrap:wrap}.pos-container.pos-mobile .discount-input{min-height:44px;flex:1;min-width:0}.pos-container.pos-mobile .apply-discount-btn,.pos-container.pos-mobile .remove-discount-btn{min-height:44px;padding:10px 16px}.pos-container.pos-mobile .cart-header{padding-bottom:10px;margin-bottom:10px}.pos-container.pos-mobile .cart-header h2{font-size:1.1rem}.pos-container.pos-mobile .clear-cart-btn{min-height:44px;padding:10px 14px}.pos-container.pos-mobile .cart-items{flex:1;min-height:0;margin-bottom:12px;-webkit-overflow-scrolling:touch}.pos-container.pos-mobile .cart-item{padding:12px;margin-bottom:8px}.pos-container.pos-mobile .qty-btn{min-width:44px;min-height:44px;width:44px;height:44px;font-size:20px}.pos-container.pos-mobile .remove-btn{min-width:44px;min-height:44px;padding:8px;display:inline-flex;align-items:center;justify-content:center}.pos-container.pos-mobile .checkout-button{min-height:52px;padding:16px;font-size:1.1rem;font-weight:700;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.pos-container.pos-mobile .cart-footer{padding-bottom:calc(76px + env(safe-area-inset-bottom,0))}.pos-container.pos-mobile .empty-cart{padding:24px 16px}.pos-container.pos-mobile .empty-cart-icon{font-size:3rem}.pos-mobile-tab-bar{position:fixed;bottom:0;left:0;right:0;height:calc(56px + env(safe-area-inset-bottom,0));padding-bottom:env(safe-area-inset-bottom,0);background:#fff;border-top:1px solid #e2e8f0;display:flex;align-items:stretch;justify-content:center;gap:0;z-index:100;box-shadow:0 -2px 12px #00000014}.pos-mobile-tab{flex:1;max-width:200px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:8px 12px;padding-bottom:max(8px,env(safe-area-inset-bottom,0));background:none;border:none;cursor:pointer;font-size:.75rem;font-weight:600;color:#64748b;-webkit-tap-highlight-color:transparent;touch-action:manipulation;min-height:56px;position:relative;transition:color .15s,background .15s}.pos-mobile-tab:active{background:#f1f5f9}.pos-mobile-tab.active{color:#667eea;background:#667eea14}.pos-mobile-tab-icon{font-size:1.4rem;line-height:1}.pos-mobile-tab-label{line-height:1.2}.pos-mobile-tab-badge{position:absolute;top:4px;right:50%;transform:translate(12px);min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#667eea;color:#fff;font-size:.7rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.pos-container.pos-mobile .pos-content{padding-bottom:calc(64px + env(safe-area-inset-bottom,0))}.variant-manager-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.variant-manager-modal{background:#fff;border-radius:8px;padding:20px;max-width:900px;width:90%;max-height:85vh;overflow-y:auto;box-shadow:0 4px 6px #0000001a}.variant-manager-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid #e0e0e0}.variant-manager-header h2{margin:0;font-size:1.5rem;color:#333}.variant-manager-actions{margin-bottom:20px}.btn-add{background:#4caf50;color:#fff;border:none;padding:10px 20px;border-radius:4px;cursor:pointer;font-size:.9rem}.btn-add:hover{background:#45a049}.variant-manager-content{display:flex;flex-direction:column;gap:20px}.variant-group-section{margin-bottom:30px}.variant-type-header{margin:0 0 15px;font-size:1.1rem;font-weight:600;color:#555;text-transform:capitalize;padding-bottom:10px;border-bottom:2px solid #e0e0e0}.variants-table{width:100%;border-collapse:collapse;margin-bottom:20px}.variants-table th{background:#f5f5f5;padding:12px;text-align:left;font-weight:600;color:#555;border-bottom:2px solid #e0e0e0}.variants-table td{padding:12px;border-bottom:1px solid #e0e0e0}.variants-table tr:hover{background:#f9f9f9}.variant-form-container{display:flex;flex-direction:column;gap:20px}.form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.form-header h3{margin:0;font-size:1.2rem;color:#333}.variant-form{display:flex;flex-direction:column;gap:15px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-group{display:flex;flex-direction:column;gap:5px}.form-group label{font-weight:500;color:#555;font-size:.9rem}.form-group input[type=text],.form-group input[type=number]{padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:.9rem}.form-group input[type=text]:focus,.form-group input[type=number]:focus{outline:none;border-color:#4caf50}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;padding-top:20px;border-top:1px solid #e0e0e0}.btn-cancel{background:#f5f5f5;color:#333;border:1px solid #ddd;padding:10px 20px;border-radius:4px;cursor:pointer}.btn-submit{background:#4caf50;color:#fff;border:none;padding:10px 20px;border-radius:4px;cursor:pointer}.btn-submit:hover:not(:disabled){background:#45a049}.no-variants{text-align:center;padding:40px;color:#999}.no-variants p{margin-bottom:20px}.loading{text-align:center;padding:40px;color:#666}.badge{padding:4px 8px;border-radius:4px;font-size:.85rem;font-weight:500}.low-stock{color:#f44336;font-weight:600}.btn-edit,.btn-delete{padding:5px 10px;margin:0 2px;border:none;border-radius:4px;cursor:pointer;font-size:.85rem}.close-button{background:none;border:none;font-size:24px;cursor:pointer;color:#666;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:4px}.close-button:hover{background:#f0f0f0;color:#333}.import-modal{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;max-width:600px;width:90%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.import-modal-header{padding:24px;border-bottom:1px solid #eee;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#667eea,#5568d3);color:#fff}.import-modal-header h2{margin:0;font-size:24px;font-weight:600;color:#fff}.import-modal-header .close-button{background:#fff3;border:none;color:#fff;font-size:28px;width:36px;height:36px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;line-height:1}.import-modal-header .close-button:hover:not(:disabled){background:#ffffff4d;transform:rotate(90deg)}.import-modal-header .close-button:disabled{opacity:.5;cursor:not-allowed}.import-modal-body{padding:24px;overflow-y:auto;flex:1}.import-instructions{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;padding:16px;margin-bottom:20px}.import-instructions p{margin:0 0 12px;font-weight:600;color:#333}.import-instructions ul{margin:0;padding-left:20px;color:#666}.import-instructions li{margin:8px 0;line-height:1.5}.import-format-table{width:100%;border-collapse:collapse;margin:12px 0;font-size:13px}.import-format-table th,.import-format-table td{border:1px solid #e0e0e0;padding:8px 10px;text-align:left}.import-format-table th{background:#f5f5f5;font-weight:600;color:#333}.import-format-table td{color:#555}.import-format-table tbody tr:nth-child(2n){background:#fafafa}.template-download-section{background:#e8f4fd;border:1px solid #90caf9;border-radius:8px;padding:16px;margin-bottom:20px}.template-download-section p{margin:0 0 12px;color:#1565c0;font-size:14px}.template-download-buttons{display:flex;flex-wrap:wrap;gap:12px}.btn-download-template{padding:10px 16px;background:#fff;border:2px solid #2196f3;border-radius:6px;color:#1976d2;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-download-template:hover:not(:disabled){background:#e3f2fd;border-color:#1976d2;transform:translateY(-1px)}.btn-download-template:disabled{opacity:.6;cursor:not-allowed}.file-input-section{margin-bottom:20px}.file-input{display:none}.file-input-label{display:block;padding:20px;border:2px dashed #ddd;border-radius:8px;text-align:center;cursor:pointer;transition:all .2s;background:#fafafa;font-size:16px;color:#666}.file-input-label:hover:not(.disabled){border-color:#667eea;background:#f0f4ff;color:#667eea}.file-input-label.file-selected{border-color:#4caf50;background:#e8f5e9;color:#2e7d32}.file-input-label.disabled{opacity:.6;cursor:not-allowed}.file-name{display:block;font-weight:500}.import-progress{margin:20px 0}.progress-bar-container{width:100%;height:24px;background:#f0f0f0;border-radius:12px;overflow:hidden;margin-bottom:8px}.progress-bar{height:100%;background:linear-gradient(90deg,#667eea,#5568d3);border-radius:12px;transition:width .3s ease;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.8}}.progress-text{text-align:center;color:#666;font-size:14px;margin:0}.import-result{margin-top:20px;padding:16px;border-radius:8px;border:1px solid #e0e0e0}.import-result.success{background:#e8f5e9;border-color:#4caf50}.import-result.has-errors{background:#fff3e0;border-color:#ff9800}.result-summary{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.result-item{display:flex;align-items:center;gap:8px;font-size:16px}.result-icon{font-size:20px}.success-item{color:#2e7d32}.error-item{color:#e65100}.result-item strong{font-weight:600}.import-errors{margin-top:16px;padding-top:16px;border-top:1px solid rgba(0,0,0,.1)}.import-errors h4{margin:0 0 12px;color:#e65100;font-size:14px;font-weight:600}.errors-list{max-height:200px;overflow-y:auto}.error-item{padding:8px 12px;background:#fff;border-radius:4px;margin-bottom:8px;font-size:13px;color:#c62828;border-left:3px solid #ff4444}.import-modal-footer{padding:16px 24px;border-top:1px solid #eee;display:flex;gap:12px;justify-content:flex-end;background:#f9f9f9}.btn-cancel,.btn-import{padding:12px 24px;border:none;border-radius:6px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;min-width:120px}.btn-cancel{background:#fff;color:#666;border:2px solid #ddd}.btn-cancel:hover:not(:disabled){background:#f5f5f5;border-color:#bbb}.btn-import{background:linear-gradient(135deg,#667eea,#5568d3);color:#fff;box-shadow:0 4px 12px #667eea4d}.btn-import:hover:not(:disabled){background:linear-gradient(135deg,#5568d3,#4a5bc4);transform:translateY(-1px);box-shadow:0 6px 16px #667eea66}.btn-cancel:disabled,.btn-import:disabled{opacity:.6;cursor:not-allowed}.btn-import:active:not(:disabled){transform:translateY(0)}@media(max-width:768px){.import-modal{width:95%;max-height:95vh}.import-modal-header{padding:16px}.import-modal-header h2{font-size:20px}.import-modal-body{padding:16px}.import-modal-footer{padding:12px 16px;flex-direction:column}.btn-cancel,.btn-import{width:100%}}.pagination-container{display:flex;justify-content:space-between;align-items:center;padding:20px 0;margin-top:20px;border-top:1px solid #e0e0e0;flex-wrap:wrap;gap:15px}.pagination-info{display:flex;align-items:center;gap:20px;color:#666;font-size:14px}.pagination-info strong{color:#333;font-weight:600}.page-size-selector{display:flex;align-items:center;gap:8px}.page-size-selector label{font-size:14px;color:#666}.page-size-selector select{padding:6px 10px;border:1px solid #ddd;border-radius:4px;font-size:14px;background:#fff;cursor:pointer;transition:border-color .2s}.page-size-selector select:focus{outline:none;border-color:#667eea}.page-size-selector select:disabled{opacity:.6;cursor:not-allowed}.pagination-controls{display:flex;align-items:center;gap:4px}.pagination-btn{min-width:40px;height:40px;padding:0 12px;border:1px solid #ddd;background:#fff;color:#333;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.pagination-btn:hover:not(:disabled){background:#f5f5f5;border-color:#667eea;color:#667eea;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.pagination-btn:active:not(:disabled){transform:translateY(0)}.pagination-btn:disabled{opacity:.4;cursor:not-allowed;background:#f9f9f9}.pagination-btn.active{background:linear-gradient(135deg,#667eea,#5568d3);color:#fff;border-color:#667eea;box-shadow:0 2px 8px #667eea4d;font-weight:600}.pagination-btn.active:hover{background:linear-gradient(135deg,#5568d3,#4a5bc4);transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.pagination-ellipsis{padding:0 8px;color:#999;font-size:14px;-webkit-user-select:none;user-select:none}@media(max-width:768px){.pagination-container{flex-direction:column;align-items:stretch}.pagination-info{justify-content:space-between;width:100%}.pagination-controls{justify-content:center;flex-wrap:wrap}.pagination-btn{min-width:36px;height:36px;padding:0 8px;font-size:13px}}.inventory-container{padding:0;width:100%;display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.inventory-header{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-shrink:0;padding:10px 12px;background:#f8f9fa;border-bottom:1px solid #e9ecef;flex-wrap:wrap}.inventory-header h1{margin:0;color:#333;font-size:1.25rem;font-weight:600}.inventory-top-section{display:flex;flex-direction:column;gap:8px;flex-shrink:0;padding:8px 12px 0}.inventory-stats{display:flex;gap:8px;flex-wrap:wrap}.inventory-container .stat-card{background:#fff;border-radius:6px;padding:10px 14px;box-shadow:0 1px 2px #0000000d;min-width:120px;border:1px solid #e9ecef}.inventory-container .stat-card .stat-label{color:#6c757d;font-size:11px;margin-bottom:2px;display:block;font-weight:500}.inventory-container .stat-card .stat-value{font-size:18px;font-weight:700;color:#212529}.inventory-filters{background:#fff;border-radius:6px;padding:10px 16px;box-shadow:0 1px 2px #0000000d;border:1px solid #e9ecef}.inventory-table-area{flex:1;min-height:300px;position:relative;padding:8px 12px 0;overflow:hidden}.inventory-table-area .loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#fff}.inventory-table-area .inventory-table-container{position:absolute;inset:0;overflow-x:auto;overflow-y:auto;-webkit-overflow-scrolling:touch;background:#fff;border:1px solid #e9ecef;border-radius:6px;box-shadow:0 1px 2px #0000000d}.inventory-page-footer{flex-shrink:0;padding:8px 12px;background:#fff;border-top:1px solid #e9ecef;box-shadow:0 -1px 4px #0000000a}.inventory-container .inventory-page-footer .pagination-container{padding:0;margin:0;border:none;gap:10px}.products-table{width:100%;min-width:900px;border-collapse:collapse}.products-table thead{position:sticky;top:0;z-index:5;background:linear-gradient(135deg,#667eea,#5568d3);color:#fff}.products-table th{padding:10px 12px;text-align:left;font-weight:600;font-size:13px;border-bottom:none;white-space:nowrap}.products-table td{padding:10px 12px;border-bottom:1px solid #f1f3f5;font-size:13px}.products-table tbody tr:nth-child(2n){background:#fafbfc}.products-table tbody tr:hover{background:#e8f0fe}.products-table tbody tr.low-stock{background:#fff8e6}.products-table tbody tr.low-stock:hover{background:#ffe9b8}.product-name{font-weight:500;color:#333}.product-name .barcode{display:block;font-size:12px;color:#666;font-weight:400;margin-top:3px}.stock-normal{color:#388e3c}.badge.warning{background:#fff3cd;color:#856404}.btn-edit,.btn-delete,.btn-variants{padding:6px 12px;border:none;border-radius:5px;font-size:12px;cursor:pointer;margin-right:4px;transition:all .2s}.btn-variants{background:#667eea;color:#fff}.btn-variants:hover{background:#5568d3}.loading{text-align:center;padding:24px;color:#666;font-size:14px}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #eee}.product-form{padding:20px}@media(max-width:992px){.inventory-header{flex-wrap:wrap}.inventory-header h1{flex:1;min-width:0}}@media(max-width:768px){.inventory-header{padding:8px 12px;flex-direction:column;align-items:stretch;gap:10px}.inventory-header h1{font-size:1.2rem;text-align:center}.header-actions{flex-direction:row;justify-content:center;flex-wrap:wrap;gap:8px}.export-buttons{justify-content:center;flex-wrap:wrap}.btn-export,.btn-import{padding:8px 12px;font-size:12px}.add-button{padding:8px 14px;font-size:13px}.inventory-top-section{padding:6px 12px 0}.inventory-stats{gap:6px}.inventory-container .stat-card{min-width:90px;padding:8px 12px}.inventory-container .stat-card .stat-value{font-size:16px}.inventory-filters{padding:8px 10px}.filter-row{flex-direction:column;align-items:stretch;gap:8px}.filter-group.search-field{min-width:100%;max-width:none}.filter-group{width:100%;min-width:0}.clear-filters-btn{align-self:stretch;width:100%}.inventory-table-area{padding:6px 12px 0}.inventory-page-footer{padding:8px 12px}.products-table{font-size:12px;min-width:650px}.products-table th,.products-table td{padding:8px 10px;font-size:12px}.btn-edit,.btn-delete,.btn-variants{padding:5px 8px;font-size:11px;margin-right:4px}.form-row{grid-template-columns:1fr}.modal-overlay{padding:10px}.modal-content{max-width:100%;margin:0}.modal-header{padding:12px 16px}.modal-header h2{font-size:16px}.product-form{padding:16px}}@media(max-width:480px){.inventory-header h1{font-size:1.1rem}.header-actions{flex-direction:column;align-items:stretch}.export-buttons{flex-direction:column}.btn-export,.btn-import,.add-button{width:100%;justify-content:center}.products-table{min-width:600px}.product-form{padding:12px}.form-actions{flex-direction:column;padding-top:16px}.btn-cancel,.btn-submit{width:100%}}.import-modal{max-width:600px;width:90%}.import-instructions{background:#f8f9fa;padding:15px;border-radius:5px;margin-bottom:20px}.import-instructions h3{margin-top:0;color:#333;font-size:16px}.import-instructions ul{margin:10px 0;padding-left:20px}.import-instructions li{margin:5px 0;color:#666;font-size:14px}.file-upload-area{margin:20px 0}.file-upload-label{display:inline-block;padding:12px 24px;background:#667eea;color:#fff;border-radius:5px;cursor:pointer;transition:background .2s;font-weight:500;text-align:center}.file-upload-label:hover{background:#5568d3}.file-upload-label:active{transform:scale(.98)}.import-results{margin-top:20px;padding:15px;border-radius:5px;background:#f8f9fa}.result-summary{margin-bottom:15px}.result-summary.success{color:#28a745}.result-summary.has-errors{color:#dc3545}.result-summary p{margin:5px 0;font-size:14px}.import-errors{margin-top:15px;padding:10px;background:#fff;border-radius:5px;max-height:200px;overflow-y:auto}.import-errors h4{margin:0 0 10px;color:#dc3545;font-size:14px}.import-errors ul{margin:0;padding-left:20px;list-style-type:disc}.import-errors li{margin:5px 0;color:#666;font-size:13px}.sales-container{padding:0;width:100%;display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.sales-header{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-shrink:0;z-index:11;padding:10px 12px;background:#f8f9fa;border-bottom:1px solid #e9ecef;flex-wrap:wrap}.sales-header h1{margin:0;color:#333;font-size:1.25rem;font-weight:600}.sales-container .btn-export{padding:8px 14px;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:4px;white-space:nowrap;flex-shrink:0;background:#28a745;color:#fff}.sales-container .btn-export:hover:not(:disabled){background:#218838;transform:translateY(-1px)}.sales-container .btn-export:disabled{background:#ccc;cursor:not-allowed}.sales-top-section{display:flex;flex-direction:column;gap:8px;flex-shrink:0;padding:8px 12px 0}.sales-stats{display:flex;gap:8px;flex-wrap:wrap}.sales-container .stat-card{background:#fff;border-radius:6px;padding:10px 14px;box-shadow:0 1px 2px #0000000d;min-width:120px;border:1px solid #e9ecef}.sales-container .stat-card .stat-label{color:#6c757d;font-size:11px;margin-bottom:2px;display:block;font-weight:500}.sales-container .stat-card .stat-value{font-size:18px;font-weight:700;color:#212529}.sales-filters{background:#fff;border-radius:6px;padding:10px 16px;box-shadow:0 1px 2px #0000000d;border:1px solid #e9ecef}.filter-group.search-field .search-clear-btn:active{color:#667eea}.sales-table-area{flex:1 1 0;min-height:280px;position:relative;padding:8px 12px 0;overflow:hidden}.sales-table-area .loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#fff}.sales-table-area .sales-table-container{position:absolute;inset:0;overflow-x:auto;overflow-y:auto;-webkit-overflow-scrolling:touch;background:#fff;border:1px solid #e9ecef;border-radius:6px;box-shadow:0 1px 2px #0000000d}.sales-page-footer{flex-shrink:0;padding:8px 12px;background:#fff;border-top:1px solid #e9ecef;box-shadow:0 -1px 4px #0000000a}.sales-table{width:100%;min-width:900px;border-collapse:collapse}.sales-table thead{position:sticky;top:0;z-index:5;background:linear-gradient(135deg,#667eea,#5568d3);color:#fff}.sales-table th{padding:10px 12px;text-align:left;font-weight:600;font-size:13px;border-bottom:none;white-space:nowrap}.sales-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s ease}.sales-table th.sortable:hover{background:#ffffff26}.sales-table th.sortable.sort-active{background:#fff3}.sales-table th .sort-icon{font-size:10px;margin-left:2px;opacity:.95}.sales-table th:nth-child(1){min-width:165px}.sales-table th:nth-child(2){min-width:145px}.sales-table th:nth-child(3){min-width:135px}.sales-table th:nth-child(4){min-width:75px}.sales-table th:nth-child(5),.sales-table th:nth-child(6),.sales-table th:nth-child(7){min-width:100px}.sales-table th:nth-child(8){min-width:105px}.sales-table th:nth-child(9){min-width:145px}.sales-table td{padding:10px 12px;border-bottom:1px solid #f1f3f5;font-size:13px}.sales-table tbody tr:nth-child(2n){background:#fafbfc}.sales-table tbody tr:hover{background:#e8f0fe}.sales-table tbody tr.refunded{opacity:.6;background:#f5f5f5}.sale-number{font-family:monospace;font-weight:500;color:#667eea}.total-amount{font-weight:700;color:#333}.source-badge{font-size:.7rem;color:#666;font-weight:400;margin-left:4px}.btn-view,.btn-refund{padding:6px 12px;border:none;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;margin-right:6px;transition:all .2s}.btn-refund{background:#dc3545;color:#fff}.btn-refund:hover{background:#c82333}.no-data{text-align:center;color:#6c757d;padding:32px 24px;font-size:14px}.loading{text-align:center;padding:16px;color:#666;flex:1;display:flex;align-items:center;justify-content:center;font-size:14px}.sales-container .sales-page-footer .pagination-container{padding:0;margin:0;border:none;gap:10px}.sale-details-modal{background:#fff;border-radius:10px;width:100%;max-width:900px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0000004d}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #eee;position:sticky;top:0;background:#fff;z-index:1}.modal-header h2{margin:0;color:#333;font-size:20px}.sale-details-content{padding:20px}.sale-info-section{margin-bottom:30px;padding-bottom:20px;border-bottom:1px solid #eee}.info-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0}.info-label{color:#666;font-weight:500}.info-value{color:#333;font-weight:500}.sale-items-section,.sale-payments-section,.sale-totals-section,.sale-notes-section{margin-bottom:30px}.sale-items-section h3,.sale-payments-section h3,.sale-notes-section h3{margin:0 0 15px;color:#333;font-size:18px}.items-table,.payments-table{width:100%;border-collapse:collapse;margin-bottom:20px}.items-table thead,.payments-table thead{background:#f5f5f5}.items-table th,.payments-table th{padding:10px;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #ddd;font-size:14px}.items-table td,.payments-table td{padding:10px;border-bottom:1px solid #eee;font-size:14px}.items-table tbody tr:hover,.payments-table tbody tr:hover{background:#f9f9f9}.sale-totals-section{background:#f9f9f9;padding:20px;border-radius:5px}.total-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #ddd}.total-row:last-child{border-bottom:none}.total-label{color:#666;font-size:16px}.total-value{color:#333;font-size:16px;font-weight:500}.total-final{margin-top:10px;padding-top:15px;border-top:2px solid #333}.total-final .total-label,.total-final .total-value{font-size:20px;font-weight:700;color:#333}.sale-notes-section{padding:15px;background:#f9f9f9;border-radius:5px}.sale-notes-section p{margin:10px 0 0;color:#666;line-height:1.6}.modal-actions{display:flex;justify-content:flex-end;gap:10px;padding:20px;border-top:1px solid #eee;position:sticky;bottom:0;background:#fff}.modal-actions .btn-refund{padding:12px 24px;background:#f44336;color:#fff;border:none;border-radius:5px;font-size:16px;font-weight:500;cursor:pointer;transition:background .2s}.modal-actions .btn-refund:hover{background:#d32f2f}.btn-print{padding:12px 24px;background:#4caf50;color:#fff;border:none;border-radius:5px;font-size:16px;font-weight:500;cursor:pointer;transition:background .2s;display:inline-flex;align-items:center;gap:8px}.btn-print:hover:not(:disabled){background:#45a049}.btn-print:disabled{opacity:.6;cursor:not-allowed}.btn-download{padding:12px 24px;background:#2196f3;color:#fff;border:none;border-radius:5px;font-size:16px;font-weight:500;cursor:pointer;transition:background .2s;display:inline-flex;align-items:center;gap:8px}.btn-download:hover:not(:disabled){background:#1976d2}.btn-download:disabled{opacity:.6;cursor:not-allowed}@media(max-width:768px){.sales-header{padding:8px 12px;flex-direction:column;align-items:stretch}.sales-header h1{font-size:1.15rem;text-align:center}.header-actions{justify-content:center;flex-wrap:wrap}.export-buttons{justify-content:center}.sales-container .btn-export{padding:8px 12px;font-size:12px}.sales-top-section{padding:6px 12px 0;gap:6px}.sales-table-area{padding:6px 12px 0}.sales-page-footer{padding:8px 12px}.sales-stats{gap:6px}.sales-container .stat-card{min-width:90px;padding:8px 12px}.sales-container .stat-card .stat-value{font-size:16px}.sales-filters{padding:8px 10px}.filter-group.search-field{min-width:100%}.filter-row{flex-direction:column;align-items:stretch;gap:8px}.filter-group{width:100%;min-width:0}.sales-table-area{margin-top:6px}.sales-table{font-size:12px;min-width:680px}.sales-table th,.sales-table td{padding:8px 10px}.sale-details-modal{max-width:100%;margin:10px}}.customers-container{padding:0;width:100%;display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.customers-header{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-shrink:0;padding:20px 24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;flex-wrap:wrap}.customers-header h1{margin:0;font-size:1.5rem;font-weight:700}.customers-subtitle{margin:4px 0 0;font-size:.9rem;opacity:.9}.customers-header .header-actions .add-button,.customers-header .header-actions .btn-export,.customers-header .header-actions .btn-import{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3)}.customers-header .header-actions .add-button:hover,.customers-header .header-actions .btn-export:hover:not(:disabled),.customers-header .header-actions .btn-import:hover:not(:disabled){background:#ffffff4d;border-color:#ffffff80}.header-actions,.export-buttons{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.btn-export,.btn-import,.add-button{white-space:nowrap;flex-shrink:0}.btn-export,.btn-import{padding:8px 14px;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:4px}.btn-export{background:#28a745;color:#fff}.btn-export:hover:not(:disabled){background:#218838;transform:translateY(-1px)}.btn-export:disabled{background:#ccc;cursor:not-allowed}.btn-import{background:#17a2b8;color:#fff}.btn-import:hover:not(:disabled){background:#138496;transform:translateY(-1px)}.btn-import:disabled{background:#ccc;cursor:not-allowed}.add-button{padding:8px 18px;background:#667eea;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s;display:inline-flex;align-items:center;justify-content:center}.add-button:hover{background:#5568d3}.customers-content{flex:1;min-height:0;overflow:auto;padding:24px;background:#f8fafc;display:flex;flex-direction:column}.customers-modules{margin-bottom:24px;flex-shrink:0}.customers-modules-title{margin:0 0 16px;font-size:.95rem;font-weight:600;color:#334155;text-transform:uppercase;letter-spacing:.05em}.customers-module-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.customers-module-card{display:flex;align-items:center;gap:20px;padding:24px;background:#fff;border-radius:16px;text-decoration:none;color:inherit;box-shadow:0 1px 3px #00000014;border:1px solid #e2e8f0;transition:all .25s ease}.customers-module-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #0000001a;border-color:transparent}.customers-module-card.customers-module-loyalty:hover{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.customers-module-icon{width:56px;height:56px;display:flex;align-items:center;justify-content:center;font-size:1.75rem;background:#f1f5f9;border-radius:14px;flex-shrink:0}.customers-module-card:hover .customers-module-icon{background:#ffffff40}.customers-module-info{flex:1;min-width:0}.customers-module-info h3{margin:0;font-size:1.1rem;font-weight:600;color:#1e293b}.customers-module-card:hover .customers-module-info h3{color:inherit}.customers-module-info p{margin:4px 0 8px;font-size:.875rem;color:#64748b;line-height:1.4}.customers-module-card:hover .customers-module-info p{color:#ffffffe6}.customers-module-stat{font-size:.8rem;color:#94a3b8}.customers-module-card:hover .customers-module-stat{color:#ffffffd9}.customers-module-arrow{font-size:1.25rem;font-weight:600}.customers-top-section{flex:1;display:flex;flex-direction:column;min-height:0;padding:0;gap:0;overflow:hidden}.customers-top-section .customers-stats{margin-bottom:8px;flex-shrink:0}.customers-top-section .customers-filters-row{margin-bottom:8px}.customers-stats{display:flex;gap:8px;flex-wrap:wrap}.customers-container .stat-card{background:#fff;border-radius:6px;padding:10px 14px;box-shadow:0 1px 2px #0000000d;min-width:120px;border:1px solid #e9ecef}.customers-container .stat-card .stat-label{color:#6c757d;font-size:11px;margin-bottom:2px;display:block}.customers-container .stat-card .stat-value{font-size:18px;font-weight:700;color:#212529}.customers-filters{background:#fff;border-radius:6px;padding:10px 16px;box-shadow:0 1px 2px #0000000d;border:1px solid #e9ecef;flex-shrink:0}.search-input-with-clear{position:relative;display:flex;align-items:center}.search-bar input{width:100%;padding:10px 40px 10px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;box-sizing:border-box}.search-bar input:focus{outline:none;border-color:#667eea}.search-clear-btn{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:transparent;border:none;color:#999;font-size:22px;line-height:1;cursor:pointer;padding:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;transition:color .2s;z-index:1}.search-clear-btn:hover{color:#333}.search-clear-btn:active{color:#667eea}.customers-filters-row{flex-shrink:0}.customers-table-area{flex:1;min-height:300px;position:relative;overflow:hidden}.customers-table-area .loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#fff}.customers-table-area .customers-table-container{position:absolute;inset:0;overflow-x:auto;overflow-y:auto;-webkit-overflow-scrolling:touch;background:#fff;border:1px solid #e9ecef;border-radius:6px;box-shadow:0 1px 2px #0000000d}.customers-page-footer{flex-shrink:0;padding:8px 12px;background:#fff;border-top:1px solid #e9ecef;box-shadow:0 -1px 4px #0000000a}.customers-container .customers-page-footer .pagination-container{padding:0;margin:0;border:none;gap:10px}.customers-table{width:100%;min-width:900px;border-collapse:separate;border-spacing:0}.customers-table thead{background:linear-gradient(180deg,#f8f9fa,#f1f3f5);position:sticky;top:0;z-index:5;box-shadow:0 2px #0000000f}.customers-table th{padding:14px 16px;text-align:left;font-weight:600;color:#333;font-size:13px;white-space:nowrap}.customers-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s ease}.customers-table th.sortable:hover{background:#e9ecef}.customers-table th.sortable.sort-active{color:#667eea}.customers-table th .sort-icon{font-size:10px;margin-left:2px;opacity:.9}.customers-table th:first-child{border-radius:8px 0 0}.customers-table th:last-child{border-radius:0 8px 0 0}.customers-table td{padding:14px 16px;border-bottom:1px solid #eee;font-size:14px;vertical-align:middle}.customers-table tbody tr{transition:background .15s ease}.customers-table tbody tr:hover{background:#f8f9ff}.customers-table tbody tr:last-child td{border-bottom:none}.customer-name-link{background:none;border:none;color:#667eea;font-weight:500;cursor:pointer;text-decoration:underline;text-decoration-color:transparent;transition:all .2s;padding:0;font-size:inherit;font-family:inherit}.customer-name-link:hover{color:#5568d3;text-decoration-color:#5568d3}.customer-name-link.disabled,.customer-name-link:disabled{color:#94a3b8;cursor:not-allowed;text-decoration:none}.customer-name-link.disabled:hover,.customer-name-link:disabled:hover{color:#94a3b8;text-decoration:none}.customer-name{font-weight:500;color:#333}.loyalty-points{display:inline-block;padding:4px 8px;background:#e3f2fd;color:#1976d2;border-radius:3px;font-size:12px;font-weight:500}.badge{display:inline-block;padding:4px 8px;border-radius:3px;font-size:12px;font-weight:500}.badge.success{background:#e8f5e9;color:#2e7d32}.badge.inactive{background:#f5f5f5;color:#666}.badge-completed{background:#e8f5e9;color:#2e7d32}.badge-pending{background:#fff3cd;color:#856404}.badge-cancelled{background:#f5f5f5;color:#666}.badge-refunded{background:#ffebee;color:#c62828}.customers-table th:nth-child(1),.customers-table td:nth-child(1){min-width:140px}.customers-table th:nth-child(2),.customers-table td:nth-child(2){min-width:160px}.customers-table th:nth-child(3),.customers-table td:nth-child(3){min-width:120px}.customers-table th:nth-child(4),.customers-table td:nth-child(4){min-width:90px}.customers-table th:nth-child(5),.customers-table td:nth-child(5){min-width:100px}.customers-table th:nth-child(6),.customers-table td:nth-child(6){min-width:95px}.customers-table th:nth-child(7),.customers-table td:nth-child(7){min-width:80px}.customers-table th:nth-child(8),.customers-table td:nth-child(8){min-width:180px}.btn-view,.btn-edit,.btn-delete{padding:6px 11px;border:none;border-radius:5px;font-size:12px;font-weight:500;cursor:pointer;margin-right:6px;transition:all .2s}.customers-table .btn-view:last-child,.customers-table .btn-edit:last-child,.customers-table .btn-delete:last-child{margin-right:0}.btn-view{background:#2196f3;color:#fff}.btn-view:hover{background:#1976d2}.btn-edit{background:#ff9800;color:#fff}.btn-edit:hover{background:#f57c00}.no-data{text-align:center;color:#999;padding:32px 24px;font-size:14px}.loading{text-align:center;padding:32px;color:#666;font-size:14px}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px}.modal-content{background:#fff;border-radius:10px;width:100%;max-width:700px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0000004d}.customer-details-modal{max-width:900px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #eee;position:sticky;top:0;background:#fff;z-index:2}.modal-header h2{margin:0;color:#333;font-size:18px}.close-button{background:none;border:none;font-size:28px;color:#999;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.close-button:hover{background:#f5f5f5;color:#333}.customer-form{padding:20px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;color:#333;font-weight:500;font-size:14px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px;border:1px solid #ddd;border-radius:5px;font-size:14px;font-family:inherit;box-sizing:border-box}.form-group textarea{resize:vertical;min-height:80px}.form-group input[type=checkbox]{width:auto;margin-right:8px}.form-group input.input-error{border-color:#f44336;background-color:#fff5f5}.form-group .field-error{display:block;color:#f44336;font-size:12px;margin-top:4px}.form-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:20px;border-top:1px solid #eee;margin-top:20px}.btn-cancel,.btn-submit{padding:12px 24px;border:none;border-radius:5px;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s}.btn-cancel{background:#f5f5f5;color:#333}.btn-cancel:hover{background:#e0e0e0}.btn-submit{background:#667eea;color:#fff}.customer-details-content{padding:16px 20px;display:flex;flex-direction:column;gap:20px;max-height:calc(90vh - 140px);overflow-y:auto}.customer-info-section,.customer-sales-section{margin-bottom:0;flex-shrink:0}.customer-info-section h3,.customer-sales-section h3{margin:0 0 12px;color:#333;font-size:16px;padding-bottom:8px;border-bottom:2px solid #667eea}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px}.info-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid #f0f0f0}.info-label{color:#666;font-weight:500;font-size:13px}.info-value{color:#333;font-weight:500;font-size:13px}.customer-loyalty-section{margin-top:0;padding-top:16px;border-top:1px solid #eee;flex-shrink:0}.customer-loyalty-section h3{margin:0 0 10px;color:#333;font-size:16px;padding-bottom:8px;border-bottom:2px solid #667eea}.loyalty-transactions-table-container{overflow-x:auto;max-height:200px;overflow-y:auto;-webkit-overflow-scrolling:touch;border:1px solid #e0e0e0;border-radius:6px}.loyalty-transactions-table{width:100%;min-width:500px;border-collapse:collapse;background:#fff}.loyalty-transactions-table thead{background:#667eea;color:#fff;position:sticky;top:0;z-index:1}.loyalty-transactions-table th{padding:8px 10px;text-align:left;font-weight:600;font-size:13px}.loyalty-transactions-table td{padding:8px 10px;border-bottom:1px solid #eee;font-size:13px}.loyalty-transactions-table tbody tr:hover{background:#f5f5f5}.points-positive{color:#4caf50;font-weight:600}.points-negative{color:#f44336;font-weight:600}.badge-earned{background:#4caf50;color:#fff}.badge-redeemed{background:#f44336;color:#fff}.badge-expired{background:#999;color:#fff}.badge-adjusted{background:#ff9800;color:#fff}.loyalty-points-large{display:inline-block;padding:6px 12px;background:#e3f2fd;color:#1976d2;border-radius:5px;font-size:16px;font-weight:600}.sales-summary{display:flex;gap:24px;margin-bottom:12px;padding:10px 14px;background:#e8f0fe;border-radius:6px;border:1px solid #d2e3fc}.summary-item{display:flex;gap:8px;align-items:center}.summary-label{color:#5f6368;font-size:13px}.summary-value{color:#1a73e8;font-size:16px;font-weight:700}.sales-table-container{background:#fff;border-radius:6px;overflow-x:auto;overflow-y:auto;max-height:220px;-webkit-overflow-scrolling:touch;border:1px solid #e0e0e0;box-shadow:0 1px 3px #0000000f}.sales-history-table{width:100%;min-width:480px;border-collapse:collapse}.sales-history-table thead{background:linear-gradient(135deg,#667eea,#5568d3);color:#fff;position:sticky;top:0;z-index:1}.sales-history-table th{padding:8px 10px;text-align:left;font-weight:600;font-size:13px;white-space:nowrap}.sales-history-table th:nth-child(1){min-width:120px}.sales-history-table th:nth-child(2){min-width:130px}.sales-history-table th:nth-child(3){min-width:60px}.sales-history-table th:nth-child(4){min-width:80px}.sales-history-table th:nth-child(5){min-width:90px}.sales-history-table td{padding:8px 10px;border-bottom:1px solid #eee;font-size:13px}.sales-history-table tbody tr:nth-child(2n){background:#fafafa}.sales-history-table tbody tr:hover{background:#e8f0fe}.sales-history-table tbody tr:last-child td{border-bottom:none}.sale-number{font-family:SF Mono,Monaco,monospace;font-weight:600;color:#5568d3;font-size:12px}.sale-date{white-space:nowrap}.total-amount{font-weight:700;color:#1a73e8}.no-sales{text-align:center;padding:24px 16px;color:#999;font-size:14px;background:#f9f9f9;border-radius:6px;border:1px dashed #ddd}.modal-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px;padding:14px 20px;border-top:1px solid #eee;position:sticky;bottom:0;background:#fff;z-index:1}.btn-close{padding:12px 24px;background:#f5f5f5;color:#333;border:none;border-radius:5px;font-size:16px;font-weight:500;cursor:pointer;transition:background .2s}.btn-close:hover{background:#e0e0e0}.btn-export-pdf{padding:12px 24px;background:linear-gradient(135deg,#dc3545,#c82333);color:#fff;border:none;border-radius:5px;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s}.btn-export-pdf:hover{background:linear-gradient(135deg,#c82333,#bd2130);transform:translateY(-1px)}@media(max-width:1024px){.customers-container{padding:10px 12px 12px}.customers-header{margin:-10px -12px 10px;padding:10px 12px}.customers-table{min-width:800px}.customers-table th,.customers-table td{padding:12px 14px;font-size:13px}}@media(max-width:900px){.header-actions{width:100%;justify-content:flex-end}.customers-header{flex-wrap:wrap}.customers-header h1{flex:1;min-width:0}}@media(max-width:768px){.customers-header{padding:8px 12px;flex-direction:column;align-items:stretch;gap:10px}.customers-top-section,.customers-table-area{padding:6px 12px 0}.customers-page-footer{padding:8px 12px}.customers-header h1{font-size:1.2rem;text-align:center}.header-actions{flex-direction:row;justify-content:center;gap:8px;flex-wrap:wrap}.export-buttons{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}.btn-export,.btn-import{padding:8px 12px;font-size:12px}.add-button{padding:8px 14px;font-size:13px}.customers-stats{gap:8px;margin-bottom:8px}.customers-container .stat-card{padding:8px 12px;min-width:100px}.customers-container .stat-card .stat-value{font-size:16px}.customers-filters{padding:8px 12px}.customers-table{min-width:700px;font-size:12px}.customers-table th,.customers-table td{padding:10px 12px;font-size:12px}.customers-table th:nth-child(1),.customers-table td:nth-child(1){min-width:110px}.customers-table th:nth-child(2),.customers-table td:nth-child(2){min-width:130px}.customers-table th:nth-child(8),.customers-table td:nth-child(8){min-width:150px}.btn-view,.btn-edit,.btn-delete{padding:5px 8px;font-size:11px;margin-right:4px}.form-row,.info-grid{grid-template-columns:1fr}.customer-details-modal{max-width:100%;margin:10px}.customer-details-content{padding:12px 16px;gap:16px}.sales-summary{flex-direction:row;flex-wrap:wrap;gap:16px;padding:8px 12px}.summary-value{font-size:14px}.sales-table-container{max-height:180px}.sales-history-table{min-width:420px;font-size:12px}.sales-history-table th,.sales-history-table td{padding:6px 8px;font-size:12px}.loyalty-transactions-table-container{max-height:160px}.loyalty-transactions-table{min-width:420px}.loyalty-transactions-table th,.loyalty-transactions-table td{padding:6px 8px;font-size:12px}.modal-header{padding:12px 16px}.modal-header h2{font-size:16px}.modal-overlay{padding:10px}}@media(max-width:480px){.customers-header h1{font-size:1.1rem}.customer-details-content{padding:10px 12px;gap:12px}.sales-table-container{max-height:150px}.sales-history-table{min-width:380px}.loyalty-transactions-table-container{max-height:140px}.loyalty-transactions-table{min-width:380px}.modal-header h2{font-size:14px;max-width:70%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-actions{padding:10px 12px;flex-direction:column}.modal-actions .btn-export-pdf,.modal-actions .btn-close{width:100%}.header-actions{flex-direction:column;align-items:stretch}.export-buttons{flex-direction:row;justify-content:stretch;gap:8px}.header-actions .btn-export,.header-actions .btn-import,.header-actions .add-button{flex:1 1 auto;min-width:100px;justify-content:center}.stat-card{flex:1;min-width:calc(50% - 6px)}}.reports-container{padding:0;width:100%;display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.reports-header{flex-shrink:0;padding:10px 12px;background:#f8f9fa;border-bottom:1px solid #e9ecef}.reports-header h1{margin:0;font-size:1.25rem;font-weight:600;color:#333}.reports-controls{flex-shrink:0;background:#fff;border-radius:6px;padding:12px;margin:8px 12px;border:1px solid #e9ecef;box-shadow:0 1px 2px #0000000d}.date-filters{display:flex;flex-direction:column;gap:15px}.date-presets{display:flex;gap:10px;flex-wrap:wrap}.preset-btn{padding:8px 16px;background:#f5f5f5;border:1px solid #ddd;border-radius:5px;font-size:14px;cursor:pointer;color:#333;transition:all .2s}.preset-btn:hover{background:#e0e0e0;border-color:#667eea}.date-inputs{display:flex;gap:15px;align-items:center;flex-wrap:wrap}.date-input-group{display:flex;align-items:center;gap:10px}.date-input-group label{font-weight:500;color:#333;font-size:14px}.date-input-group input{padding:8px 12px;border:1px solid #ddd;border-radius:5px;font-size:14px}.date-input-group input:focus{outline:none;border-color:#667eea}.reports-tabs{display:flex;gap:4px;padding:0 12px;background:#fff;border-bottom:1px solid #e9ecef;flex-shrink:0}.reports-tabs .tab{padding:10px 20px;background:none;border:none;border-bottom:3px solid transparent;margin-bottom:-1px;font-size:14px;font-weight:500;cursor:pointer;color:#6b7280;transition:all .2s}.reports-tabs .tab:hover{color:#667eea}.reports-tabs .tab.active{color:#667eea;border-bottom-color:#667eea;font-weight:600}.reports-content{flex:1;min-height:0;overflow:auto;background:#fff;margin:0 12px 12px;border-radius:6px;padding:16px;border:1px solid #e9ecef;box-shadow:0 1px 2px #0000000d}.report-section{min-height:400px}.report-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:2px solid #f0f0f0}.report-header>div:first-child{flex:1}.report-header h2{margin:0;color:#333;font-size:24px}.export-buttons{display:flex;gap:10px;margin-left:20px}.btn-export{padding:10px 20px;border:none;border-radius:5px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s;display:flex;align-items:center;gap:8px}.btn-export-pdf{background:#dc3545;color:#fff}.btn-export-pdf:hover{background:#c82333;transform:translateY(-2px);box-shadow:0 4px 8px #dc35454d}.btn-export-excel{background:#28a745;color:#fff}.btn-export-excel:hover{background:#218838;transform:translateY(-2px);box-shadow:0 4px 8px #28a7454d}.report-period{color:#666;font-size:14px;background:#f5f5f5;padding:6px 12px;border-radius:5px}.report-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:30px}.stat-card{background:linear-gradient(135deg,#f5f5f5,#fff);border-radius:10px;padding:20px;box-shadow:0 2px 10px #0000001a;display:flex;align-items:center;gap:15px;transition:transform .2s,box-shadow .2s}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 15px #00000026}.stat-card.primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.stat-card.warning{background:linear-gradient(135deg,#ff9800,#f57c00);color:#fff}.stat-icon{font-size:40px}.stat-content{flex:1}.stat-value{font-size:28px;font-weight:700;margin-bottom:5px}.stat-label{font-size:14px;opacity:.8}.stat-card.primary .stat-label,.stat-card.warning .stat-label{opacity:.9}.report-charts{margin-bottom:30px;display:flex;flex-direction:column;gap:20px}.report-table-container{margin-top:30px}.report-table-container h3{margin:0 0 15px;color:#333;font-size:18px}.report-table{width:100%;border-collapse:collapse;background:#fff;border-radius:5px;overflow:hidden}.report-table thead{background:linear-gradient(135deg,#667eea,#5568d3);color:#fff}.report-table th{padding:10px 12px;text-align:left;font-weight:600;font-size:13px}.report-table thead th:first-child{border-radius:6px 0 0}.report-table thead th:last-child{border-radius:0 6px 0 0}.report-table td{padding:12px;border-bottom:1px solid #eee;font-size:14px}.report-table tbody tr:hover{background:#f9f9f9}.report-table tbody tr.low-stock-row{background:#fff3cd}.report-table tbody tr.low-stock-row:hover{background:#ffe69c}.report-table tbody tr:nth-child(2n){background:#fafbfc}.stock-low{color:#d32f2f;font-weight:700}.loading{text-align:center;padding:40px;color:#666;font-size:16px}@media(max-width:768px){.reports-tabs{flex-wrap:wrap}.tab{flex:1;min-width:120px;padding:10px 16px;font-size:13px}.date-presets{flex-direction:column}.preset-btn{width:100%}.date-inputs{flex-direction:column;align-items:stretch}.date-input-group{width:100%}.report-header{flex-direction:column;align-items:flex-start;gap:10px}.report-stats-grid{grid-template-columns:1fr}.report-table{font-size:12px}.report-table th,.report-table td{padding:8px}}.loyalty-programs-container{padding:20px;max-width:1400px;margin:0 auto}.loyalty-programs-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.loyalty-programs-header h1{margin:0;color:#333}.loyalty-programs-stats{display:flex;gap:20px;margin-bottom:20px}.loyalty-programs-filters{margin-bottom:20px}.search-bar{width:100%}.loyalty-programs-table-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow-x:auto}.loyalty-programs-table{width:100%;border-collapse:collapse}.loyalty-programs-table thead{background:#f8f9fa}.loyalty-programs-table th{padding:12px;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #dee2e6}.loyalty-programs-table td{padding:12px;border-bottom:1px solid #dee2e6}.loyalty-programs-table tbody tr:hover{background:#f8f9fa}.program-name{font-weight:500}.program-description{font-size:12px;color:#666;margin-top:4px}.badge.success{background:#d4edda;color:#155724}.badge.inactive{background:#f8d7da;color:#721c24}.btn-edit,.btn-delete{padding:6px 12px;border:none;border-radius:4px;cursor:pointer;font-size:14px;margin-right:8px}.modal-close{background:none;border:none;font-size:28px;cursor:pointer;color:#666;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.modal-close:hover{color:#333}.loyalty-program-form{padding:20px}.form-group input[type=text],.form-group input[type=number],.form-group input[type=date],.form-group textarea{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:14px;box-sizing:border-box}.form-group small{display:block;margin-top:4px;color:#666;font-size:12px}.form-group input[type=checkbox]{margin-right:8px}.shifts-container{padding:20px;max-width:1600px;margin:0 auto}.shifts-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.shifts-header h1{margin:0;color:#333}.shifts-stats{display:flex;gap:20px;margin-bottom:20px}.stat-card{background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a;flex:1}.stat-label{font-size:14px;color:#666;margin-bottom:8px}.stat-value{font-size:32px;font-weight:700;color:#2c3e50}.shifts-filters{display:flex;gap:15px;margin-bottom:20px;flex-wrap:wrap}.search-bar{flex:1;min-width:200px}.search-bar input{width:100%;padding:12px;border:1px solid #ddd;border-radius:6px;font-size:14px}.filter-group{display:flex;flex-direction:column;gap:5px}.filter-group label{font-size:12px;color:#666;font-weight:500}.filter-group select,.filter-group input[type=date]{padding:10px;border:1px solid #ddd;border-radius:6px;font-size:14px}.shifts-table-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow-x:auto}.shifts-table{width:100%;border-collapse:collapse}.shifts-table thead{background:#f8f9fa}.shifts-table th{padding:12px;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #dee2e6}.shifts-table td{padding:12px;border-bottom:1px solid #dee2e6}.shifts-table tbody tr:hover{background:#f8f9fa}.shifts-table tbody tr.active-shift{background:#e8f5e9;border-left:4px solid #4caf50}.employee-name{font-weight:500}.duration-badge{display:inline-block;background:#e3f2fd;color:#1976d2;padding:2px 8px;border-radius:12px;font-size:11px;margin-left:8px}.break-badge{display:inline-block;background:#fff3e0;color:#f57c00;padding:2px 8px;border-radius:12px;font-size:11px}.on-break-badge{display:inline-block;background:#ffebee;color:#c62828;padding:2px 8px;border-radius:12px;font-size:11px;margin-left:4px;font-weight:600}.badge{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500}.badge-scheduled{background:#e3f2fd;color:#1976d2}.badge-in_progress{background:#e8f5e9;color:#2e7d32}.badge-completed{background:#f1f8e9;color:#558b2f}.badge-cancelled{background:#ffebee;color:#c62828}.badge-no_show{background:#fafafa;color:#616161}.shift-actions{display:flex;gap:6px;flex-wrap:wrap}.btn-clock-in,.btn-clock-out,.btn-break,.btn-break-end,.btn-edit,.btn-delete{padding:6px 12px;border:none;border-radius:4px;cursor:pointer;font-size:12px;font-weight:500}.btn-clock-in{background:#4caf50;color:#fff}.btn-clock-in:hover{background:#45a049}.btn-clock-out{background:#f44336;color:#fff}.btn-clock-out:hover{background:#da190b}.btn-break{background:#ff9800;color:#fff}.btn-break:hover{background:#f57c00}.btn-break-end{background:#2196f3;color:#fff}.btn-break-end:hover{background:#0b7dda}.btn-edit{background:#007bff;color:#fff}.btn-edit:hover{background:#0056b3}.btn-delete{background:#dc3545;color:#fff}.btn-delete:hover{background:#c82333}.no-data,.loading-message{text-align:center;padding:40px;color:#666}.warning-message{background:#fff3cd;border:1px solid #ffc107;color:#856404;padding:16px;border-radius:6px;margin-bottom:20px}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:8px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 4px 6px #0000001a}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #dee2e6}.modal-header h2{margin:0;color:#333}.modal-close{background:none;border:none;font-size:28px;cursor:pointer;color:#666;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px}.modal-close:hover{background:#f0f0f0;color:#333}.shift-form{padding:20px}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:#333}.form-group input[type=text],.form-group input[type=date],.form-group input[type=time],.form-group select,.form-group textarea{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:14px;box-sizing:border-box}.form-group textarea{resize:vertical}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid #dee2e6}.btn-cancel,.btn-submit{padding:10px 20px;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500}.btn-cancel{background:#6c757d;color:#fff}.btn-cancel:hover{background:#5a6268}.btn-submit{background:#28a745;color:#fff}.btn-submit:hover:not(:disabled){background:#218838}.btn-submit:disabled{background:#ccc;cursor:not-allowed}.add-button{background:#28a745;color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500}.add-button:hover:not(:disabled){background:#218838}.roles-container{padding:0;width:100%;display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.roles-header{flex-shrink:0;padding:10px 12px;background:#f8f9fa;border-bottom:1px solid #e9ecef}.roles-header h1{margin:0 0 4px;font-size:1.25rem;font-weight:600;color:#333}.roles-header p{margin:0;color:#6b7280;font-size:13px}.roles-tabs{display:flex;gap:4px;padding:0 12px;background:#fff;border-bottom:1px solid #e9ecef;flex-shrink:0}.roles-tabs button{padding:10px 20px;background:none;border:none;border-bottom:3px solid transparent;margin-bottom:-1px;font-size:14px;font-weight:500;color:#6b7280;cursor:pointer;transition:all .2s}.roles-tabs button:hover{color:#667eea}.roles-tabs button.active{color:#667eea;border-bottom-color:#667eea;font-weight:600}.roles-content,.permissions-content,.assignments-content{flex:1;min-height:0;overflow:auto;padding:12px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:12px}.section-header h2{margin:0;font-size:1.15rem;font-weight:600;color:#333}.btn-primary{padding:8px 16px;background:#667eea;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-primary:hover{background:#5568d3}.roles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.role-card{background:#fff;border-radius:6px;padding:16px 20px;border:1px solid #e9ecef;box-shadow:0 1px 2px #0000000d;transition:all .2s}.role-card:hover{box-shadow:0 2px 8px #00000014;border-color:#dee2e6}.role-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.role-header h3{font-size:1.25rem;font-weight:600;color:#1f2937;margin:0}.role-badges{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.role-description{color:#6b7280;margin-bottom:16px;font-size:.9rem}.role-stats{display:flex;gap:16px;margin-bottom:16px;font-size:.875rem;color:#6b7280}.role-actions{display:flex;gap:8px}.btn-edit{padding:8px 16px;background:#f3f4f6;color:#374151;border:none;border-radius:6px;font-weight:500;cursor:pointer;transition:all .2s}.btn-edit:hover{background:#e5e7eb}.badge{padding:4px 12px;border-radius:12px;font-size:.75rem;font-weight:600}.badge-system{background:#fef3c7;color:#92400e}.badge-success{background:#d1fae5;color:#065f46}.badge-danger{background:#fee2e2;color:#991b1b}.permissions-by-category{display:flex;flex-direction:column;gap:16px}.permission-category{background:#fff;border-radius:6px;padding:16px 20px;border:1px solid #e9ecef;box-shadow:0 1px 2px #0000000d}.permission-category h3{font-size:1.25rem;font-weight:600;margin-bottom:16px;color:#1f2937;text-transform:capitalize}.permissions-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.permission-item{padding:16px;background:#f9fafb;border-radius:8px;border-left:3px solid #667eea}.permission-item strong{display:block;color:#1f2937;margin-bottom:4px}.permission-item code{display:block;font-size:.75rem;color:#667eea;margin-bottom:8px;font-family:Courier New,monospace}.permission-item p{font-size:.875rem;color:#6b7280;margin:0}.assignments-table{background:#fff;border-radius:6px;border:1px solid #e9ecef;box-shadow:0 1px 2px #0000000d;overflow-x:auto}.assignments-table table{width:100%;min-width:600px;border-collapse:collapse}.assignments-table thead{background:linear-gradient(135deg,#667eea,#5568d3);color:#fff}.assignments-table thead th{text-align:left;padding:10px 12px;font-weight:600;font-size:13px}.assignments-table thead th:first-child{border-radius:6px 0 0}.assignments-table thead th:last-child{border-radius:0 6px 0 0}.assignments-table tbody td{padding:10px 12px;border-bottom:1px solid #f1f3f5;font-size:13px}.assignments-table tbody tr:nth-child(2n){background:#fafbfc}.assignments-table tbody tr:hover{background:#e8f0fe}.access-denied{text-align:center;padding:48px 24px;margin:12px;background:#fff;border-radius:8px;border:1px solid #e9ecef}.access-denied h2{color:#ef4444;margin-bottom:16px}.loading{text-align:center;padding:32px;color:#6b7280;font-size:14px}.roles-container .modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;padding:16px}.roles-container .modal-content{background:#fff;border-radius:8px;width:100%;max-width:700px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #00000040;border:1px solid #e9ecef}.roles-container .role-modal{max-width:900px}.roles-container .modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e9ecef;position:sticky;top:0;background:#fff;z-index:1}.roles-container .modal-header h2{margin:0;color:#333;font-size:1.2rem}.roles-container .close-button{background:none;border:none;font-size:28px;color:#999;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.roles-container .close-button:hover{background:#f5f5f5;color:#333}.roles-container .roles-container .role-form,.roles-container .permission-form,.roles-container .assignment-form{padding:20px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;color:#374151;font-weight:500;font-size:14px}.form-group input[type=text],.form-group input[type=number],.form-group select,.form-group textarea{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;box-sizing:border-box;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group small{display:block;margin-top:4px;color:#6b7280;font-size:12px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid #e5e7eb}.btn-cancel{padding:10px 20px;background:#f3f4f6;color:#374151;border:none;border-radius:6px;font-weight:500;cursor:pointer;transition:all .2s}.btn-cancel:hover{background:#e5e7eb}.btn-submit{padding:10px 20px;background:#667eea;color:#fff;border:none;border-radius:6px;font-weight:500;cursor:pointer;transition:all .2s}.btn-submit:hover:not(:disabled){background:#5568d3}.btn-submit:disabled{opacity:.6;cursor:not-allowed}.permissions-selector{max-height:400px;overflow-y:auto;border:1px solid #e5e7eb;border-radius:6px;padding:16px;background:#f9fafb}.permission-category-group{margin-bottom:24px}.permission-category-group h4{margin:0 0 12px;color:#1f2937;font-size:1rem;font-weight:600;text-transform:capitalize}.permission-checkboxes{display:flex;flex-direction:column;gap:8px}.permission-checkbox{display:flex;align-items:flex-start;gap:10px;padding:10px;background:#fff;border-radius:6px;cursor:pointer;transition:all .2s;border:1px solid transparent}.permission-checkbox:hover{background:#f3f4f6;border-color:#667eea}.permission-checkbox input[type=checkbox]{margin-top:4px;cursor:pointer}.permission-checkbox span{flex:1}.permission-checkbox strong{display:block;color:#1f2937;margin-bottom:2px;font-size:14px}.permission-checkbox code{display:block;font-size:12px;color:#667eea;font-family:Courier New,monospace}.role-modal-wizard{max-width:900px}.role-modal-steps{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:12px;color:#6b7280}.step-badge{padding:4px 10px;border-radius:12px;background:#e5e7eb;color:#6b7280}.step-badge.active{background:#667eea;color:#fff}.step-arrow{color:#9ca3af}.step-desc{margin:0 0 20px;color:#6b7280;font-size:14px}.role-form-step{padding:0 4px}.checkbox-group{display:flex;align-items:flex-end}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer}.permission-category-card{margin-bottom:20px;padding:16px;background:#fff;border:1px solid #e5e7eb;border-radius:8px}.permission-category-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid #e5e7eb}.permission-category-header h4{margin:0;font-size:1rem;font-weight:600;color:#1f2937}.select-all-toggle{display:flex;align-items:center;gap:6px;font-size:13px;color:#667eea;cursor:pointer;font-weight:500}.select-all-toggle input{cursor:pointer}.permission-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}.permission-grid .permission-checkbox{padding:8px 10px}.permission-grid .perm-name{font-size:13px;font-weight:500;color:#374151}.permissions-table-wrapper{max-height:420px;overflow:auto;border:1px solid #e5e7eb;border-radius:8px;background:#fff}.permissions-matrix-table{width:100%;border-collapse:collapse;font-size:13px}.permissions-matrix-table th{background:#f8fafc;padding:10px 12px;text-align:left;font-weight:600;color:#374151;border-bottom:1px solid #e2e8f0;white-space:nowrap;position:sticky;top:0;z-index:1}.permissions-matrix-table th.th-module{min-width:140px;border-right:1px solid #e2e8f0}.permissions-matrix-table th.th-operation{min-width:90px;text-align:center}.permissions-matrix-table td{padding:8px 12px;border-bottom:1px solid #f1f5f9;vertical-align:top}.permissions-matrix-table td.td-module{background:#fafbfc;border-right:1px solid #e2e8f0;font-weight:500}.permissions-matrix-table td.td-operation{min-width:100px}.permissions-matrix-table tr:hover td.td-operation{background:#f8fafc}.perm-cell-content{display:flex;flex-direction:column;gap:2px;align-items:flex-start}.module-cell{display:flex;flex-direction:column;gap:4px}.module-cell strong{font-size:13px;color:#1e293b}.row-select-all{display:flex;align-items:center;gap:6px;font-size:11px;color:#667eea;cursor:pointer;font-weight:500}.row-select-all input{cursor:pointer}.perm-cell-checkbox{display:flex;align-items:center;gap:6px;padding:3px 0;cursor:pointer;font-size:12px;color:#475569}.perm-cell-checkbox:hover{color:#1e293b}.perm-cell-checkbox input{cursor:pointer;flex-shrink:0}.perm-cell-label{text-align:left;overflow:hidden;text-overflow:ellipsis;max-width:110px;white-space:nowrap}.perm-cell-empty{color:#cbd5e1;font-size:14px}.btn-delete{padding:8px 16px;background:#ef4444;color:#fff;border:none;border-radius:6px;font-weight:500;cursor:pointer;transition:all .2s}.btn-delete:hover{background:#dc2626}.btn-edit-small,.btn-delete-small{padding:4px 8px;border:none;border-radius:4px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s;margin-left:4px}.btn-edit-small{background:#f3f4f6;color:#374151}.btn-edit-small:hover{background:#e5e7eb}.btn-delete-small{background:#fee2e2;color:#991b1b}.btn-delete-small:hover{background:#fecaca}.permission-item-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.no-data{text-align:center;padding:40px;color:#9ca3af}@media(max-width:992px){.roles-container{padding:12px}.roles-grid,.permissions-list{grid-template-columns:1fr}}@media(max-width:768px){.roles-header h1{font-size:1.5rem}.roles-tabs{flex-wrap:wrap;gap:4px}.roles-tabs button{padding:10px 16px;font-size:14px}.section-header{flex-direction:column;align-items:stretch;gap:12px}.section-header .btn-primary{width:100%}.role-card,.permission-category{padding:16px}.assignments-table{padding:12px;overflow-x:auto}.assignments-table table{min-width:600px}.assignments-table thead th,.assignments-table tbody td{padding:10px 8px;font-size:13px}.modal-content{max-width:100%;margin:8px}.role-modal{max-width:100%}.form-row{grid-template-columns:1fr}}@media(max-width:480px){.roles-header h1{font-size:1.25rem}.role-actions{flex-wrap:wrap}.permission-item-header{flex-direction:column;gap:8px}.permission-actions{margin-left:0}}.notifications-page{padding:24px;max-width:1400px;margin:0 auto;background:#f8f9fa;min-height:calc(100vh - 80px)}.notifications-header{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;padding:32px;margin-bottom:24px;color:#fff;box-shadow:0 8px 32px #667eea4d}.notifications-header h1{margin:0;font-size:2em;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.1)}.stat-badge.unread{background:#ff57574d;border-color:#ff575780}.stat-badge.read{background:#4caf504d;border-color:#4caf5080}.notifications-content{display:grid;grid-template-columns:280px 1fr;gap:24px}.notifications-sidebar{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #00000014;height:fit-content;position:sticky;top:24px}.filter-group input:focus,.filter-group select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.notifications-main{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #00000014}.notifications-toolbar{display:flex;justify-content:space-between;align-items:center;padding-bottom:20px;border-bottom:2px solid #f0f0f0;margin-bottom:24px;flex-wrap:wrap;gap:16px}.btn-primary,.btn-secondary,.btn-danger{padding:8px 16px;border:none;border-radius:8px;cursor:pointer;font-weight:600;font-size:.9em;transition:all .2s}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea4d}.notifications-loading,.notifications-empty{text-align:center;padding:60px 20px}.loading-spinner{width:48px;height:48px;border:4px solid #f0f0f0;border-top-color:#667eea;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 16px}.notifications-empty h3{margin:0 0 8px;color:#666}.notifications-empty p{color:#999;margin:0}.notifications-list{display:flex;flex-direction:column;gap:24px}.notification-group{display:flex;flex-direction:column;gap:12px}.group-header{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:2px solid #f0f0f0;margin-bottom:8px}.group-header h3{margin:0;font-size:1.1em;color:#666;font-weight:600}.group-count{background:#667eea;color:#fff;padding:4px 10px;border-radius:12px;font-size:.85em;font-weight:600}.notification-card{display:flex;align-items:flex-start;gap:16px;padding:20px;border-radius:12px;border:2px solid #f0f0f0;background:#fff;transition:all .3s ease;cursor:pointer;position:relative;overflow:hidden}.notification-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#e0e0e0;transition:width .3s}.notification-card:hover{transform:translate(4px);box-shadow:0 4px 16px #0000001a;border-color:#667eea}.notification-card:hover:before{width:6px}.notification-card.unread{background:linear-gradient(90deg,#e3f2fd,#fff 5%);border-color:#2196f3}.notification-card.unread:before{background:#2196f3;width:6px}.notification-card.type-success:before{background:#4caf50}.notification-card.type-error:before{background:#f44336}.notification-card.type-warning:before{background:#ff9800}.notification-card.type-low_stock:before{background:#ff9800}.notification-card.type-sale:before{background:#2196f3}.notification-card.type-system:before{background:#9e9e9e}.notification-checkbox{flex-shrink:0;padding-top:2px}.notification-checkbox input[type=checkbox]{width:20px;height:20px;cursor:pointer}.notification-icon{font-size:2em;flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#f5f5f5;border-radius:12px}.notification-card.unread .notification-icon{background:linear-gradient(135deg,#2196f3,#1976d2);color:#fff;box-shadow:0 4px 12px #2196f34d}.notification-content{flex:1;min-width:0}.notification-header-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px}.notification-title{margin:0;font-size:1.1em;font-weight:600;color:#333;flex:1}.notification-badges{display:flex;gap:6px;flex-wrap:wrap}.badge{padding:4px 10px;border-radius:12px;font-size:.75em;font-weight:600;text-transform:uppercase}.badge-urgent{background:#ff5252;color:#fff}.badge-high{background:#ff9800;color:#fff}.badge-unread{background:#2196f3;color:#fff}.notification-message{margin:8px 0;color:#666;line-height:1.6;font-size:.95em}.notification-meta{display:flex;gap:16px;margin-top:12px;font-size:.85em;color:#999}.notification-type{text-transform:capitalize;font-weight:600}.notification-time{color:#bbb}.notification-actions{display:flex;gap:8px;flex-shrink:0;opacity:0;transition:opacity .2s}.notification-card:hover .notification-actions{opacity:1}.action-btn:hover{background:#f0f0f0;transform:scale(1.1)}.action-btn.delete-btn:hover{background:#ffebee}.load-more-container{text-align:center;padding:24px}.load-more-btn{padding:12px 32px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.load-more-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea4d}.load-more-btn:disabled{opacity:.6;cursor:not-allowed}@media(max-width:1024px){.notifications-content{grid-template-columns:1fr}.notifications-sidebar{position:static}}@media(max-width:768px){.notifications-page{padding:16px}.notifications-header{padding:24px}.header-content{flex-direction:column;align-items:flex-start}.notifications-toolbar{flex-direction:column;align-items:stretch}.toolbar-left,.toolbar-right{width:100%}.bulk-actions{flex-direction:column;width:100%}.bulk-actions button{width:100%}.notification-card{flex-wrap:wrap}.notification-actions{opacity:1;width:100%;justify-content:flex-end;margin-top:12px}}.notification-card.priority-urgent{border-left-color:#f44336}.notification-card.priority-high{border-left-color:#ff9800}.notification-card.priority-medium{border-left-color:#2196f3}.notification-card.priority-low{border-left-color:#9e9e9e}.api-error-logs-page{padding:24px;max-width:1600px;margin:0 auto;background:#f8f9fa;min-height:calc(100vh - 80px)}.error-logs-header{background:linear-gradient(135deg,#e74c3c,#c0392b);border-radius:16px;padding:32px;margin-bottom:24px;color:#fff;box-shadow:0 8px 32px #e74c3c4d}.header-content{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px}.error-logs-header h1{margin:0;font-size:2em;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.1)}.stats-badges{display:flex;gap:16px;flex-wrap:wrap}.stat-badge{background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;padding:12px 20px;display:flex;flex-direction:column;align-items:center;min-width:80px;border:1px solid rgba(255,255,255,.3)}.stat-badge.unresolved{background:#ff57574d;border-color:#ff575780}.stat-badge.resolved{background:#4caf504d;border-color:#4caf5080}.stat-label{font-size:.85em;opacity:.9;margin-bottom:4px}.stat-value{font-size:1.5em;font-weight:700}.error-logs-content{display:grid;grid-template-columns:280px 1fr;gap:24px}.error-logs-sidebar{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #00000014;height:fit-content;position:sticky;top:24px}.filters-section h3{margin:0 0 20px;font-size:1.2em;color:#333;border-bottom:2px solid #f0f0f0;padding-bottom:12px}.filter-group{margin-bottom:20px}.filter-group label{display:block;margin-bottom:8px;font-weight:600;color:#555;font-size:.9em}.filter-group input,.filter-group select{width:100%;padding:10px 12px;border:2px solid #e0e0e0;border-radius:8px;font-size:.95em;transition:all .2s;background:#fff}.filter-group input:focus,.filter-group select:focus{outline:none;border-color:#e74c3c;box-shadow:0 0 0 3px #e74c3c1a}.clear-filters-btn{width:100%;padding:10px;background:#f0f0f0;border:none;border-radius:8px;cursor:pointer;font-weight:600;color:#666;transition:all .2s;margin-top:8px}.clear-filters-btn:hover{background:#e0e0e0;color:#333}.error-logs-main{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #00000014}.error-logs-toolbar{display:flex;justify-content:space-between;align-items:center;padding-bottom:20px;border-bottom:2px solid #f0f0f0;margin-bottom:24px;flex-wrap:wrap;gap:16px}.toolbar-left{display:flex;align-items:center;gap:16px}.toolbar-left input[type=checkbox]{width:20px;height:20px;cursor:pointer}.bulk-actions{display:flex;gap:8px;flex-wrap:wrap}.btn-secondary,.btn-danger{padding:8px 16px;border:none;border-radius:8px;cursor:pointer;font-weight:600;font-size:.9em;transition:all .2s}.btn-secondary{background:#f0f0f0;color:#333}.btn-secondary:hover{background:#e0e0e0}.btn-danger{background:#ff5252;color:#fff}.btn-danger:hover{background:#ff1744}.error-logs-loading,.error-logs-empty{text-align:center;padding:60px 20px}.loading-spinner{width:48px;height:48px;border:4px solid #f0f0f0;border-top-color:#e74c3c;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 16px}@keyframes spin{to{transform:rotate(360deg)}}.empty-icon{font-size:4em;margin-bottom:16px;opacity:.5}.error-logs-empty h3{margin:0 0 8px;color:#666}.error-logs-empty p{color:#999;margin:0}.error-logs-list{display:flex;flex-direction:column;gap:16px}.error-log-card{display:flex;align-items:flex-start;gap:16px;padding:20px;border-radius:12px;border:2px solid #f0f0f0;background:#fff;transition:all .3s ease;position:relative;overflow:hidden}.error-log-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#e0e0e0;transition:width .3s}.error-log-card.unresolved{background:linear-gradient(90deg,#ffebee,#fff 5%);border-color:#f44336}.error-log-card.unresolved:before{background:#f44336;width:6px}.error-log-card.resolved{opacity:.7;background:#f5f5f5}.error-log-card.resolved:before{background:#9e9e9e}.error-log-checkbox{flex-shrink:0;padding-top:2px}.error-log-checkbox input[type=checkbox]{width:20px;height:20px;cursor:pointer}.error-log-content{flex:1;min-width:0}.error-log-header-row{display:flex;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}.error-log-method-badge{padding:4px 10px;border-radius:6px;color:#fff;font-weight:700;font-size:.85em;text-transform:uppercase}.error-log-endpoint{flex:1;font-family:Courier New,monospace;font-size:.95em;color:#333;font-weight:600;min-width:200px}.error-log-status{font-weight:700;font-size:.9em}.badge-resolved{background:#4caf50;color:#fff;padding:4px 10px;border-radius:12px;font-size:.75em;font-weight:600;text-transform:uppercase}.error-log-message{margin:12px 0;color:#666;line-height:1.6;font-size:.95em;background:#f8f9fa;padding:12px;border-radius:8px;border-left:4px solid #e74c3c}.error-log-meta{display:flex;gap:16px;margin-top:12px;font-size:.85em;color:#999;flex-wrap:wrap}.error-log-details{margin-top:12px;background:#f8f9fa;border-radius:8px;padding:12px}.error-log-details summary{cursor:pointer;font-weight:600;color:#666;margin-bottom:8px}.error-log-details summary:hover{color:#333}.error-log-details pre{margin:0;padding:12px;background:#2d2d2d;color:#f8f8f2;border-radius:6px;overflow-x:auto;font-size:.85em;line-height:1.5;max-height:400px;overflow-y:auto}.error-log-details pre.traceback{color:#ff6b6b}.error-log-actions{display:flex;gap:8px;flex-shrink:0}.action-btn{background:transparent;border:none;font-size:1.2em;cursor:pointer;padding:8px;border-radius:8px;transition:all .2s;display:flex;align-items:center;justify-content:center}.action-btn.resolve-btn{color:#4caf50}.action-btn.resolve-btn:hover{background:#e8f5e9;transform:scale(1.1)}@media(max-width:1024px){.error-logs-content{grid-template-columns:1fr}.error-logs-sidebar{position:static}}@media(max-width:768px){.api-error-logs-page{padding:16px}.error-logs-header{padding:24px}.header-content{flex-direction:column;align-items:flex-start}.error-logs-toolbar{flex-direction:column;align-items:stretch}.toolbar-left{width:100%}.bulk-actions{flex-direction:column;width:100%}.bulk-actions button{width:100%}.error-log-card{flex-wrap:wrap}.error-log-actions{width:100%;justify-content:flex-end;margin-top:12px}}.hrm-dashboard{padding:0;width:100%;display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.hrm-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-shrink:0;padding:16px 24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;flex-wrap:wrap}.hrm-header h1{margin:0;font-size:1.5rem;font-weight:700;letter-spacing:-.02em}.hrm-subtitle{margin:2px 0 0;font-size:.85rem;opacity:.9;font-weight:400}.hrm-store-badge{background:#fff3;padding:6px 14px;border-radius:20px;font-size:12px;font-weight:500;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.hrm-store-badge.warning{background:#ffc1074d}.hrm-loading{flex:1;display:flex;align-items:center;justify-content:center;color:#6b7280;font-size:14px;padding:40px}.hrm-content{flex:1;min-height:0;overflow:auto;padding:20px 24px;background:#f8fafc;max-width:1400px;margin:0 auto;width:100%}.hrm-section-title{margin:0 0 12px;font-size:.9rem;font-weight:600;color:#334155;text-transform:uppercase;letter-spacing:.05em}.hrm-top-section{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px;align-items:start}.hrm-top-section .hrm-modules{margin-bottom:0}.hrm-top-section .hrm-module-grid{grid-template-columns:1fr;gap:12px}.hrm-top-section .hrm-overview{margin-bottom:0}.hrm-top-section .hrm-stats{grid-template-columns:repeat(2,1fr)}.hrm-modules{margin-bottom:20px}.hrm-module-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:stretch}.hrm-module-card{display:flex;align-items:center;gap:16px;padding:18px 20px;background:#fff;border-radius:12px;text-decoration:none;color:inherit;box-shadow:0 1px 3px #00000014;border:1px solid #e2e8f0;transition:all .25s ease}.hrm-module-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #0000001a;border-color:transparent}.hrm-module-card.hrm-module-shifts:hover{background:linear-gradient(135deg,#667eea,#5568d3);color:#fff}.hrm-module-card.hrm-module-leave:hover{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.hrm-module-card.hrm-module-employees:hover{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.hrm-module-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;background:#f1f5f9;border-radius:12px;flex-shrink:0}.hrm-module-card:hover .hrm-module-icon{background:#ffffff40}.hrm-module-info{flex:1;min-width:0}.hrm-module-info h3{margin:0;font-size:1.1rem;font-weight:600;color:#1e293b}.hrm-module-card:hover .hrm-module-info h3{color:inherit}.hrm-module-info p{margin:4px 0 8px;font-size:.875rem;color:#64748b;line-height:1.4}.hrm-module-card:hover .hrm-module-info p{color:#ffffffe6}.hrm-module-stat{font-size:.8rem;font-weight:600;color:#667eea}.hrm-module-card:hover .hrm-module-stat{color:#fffffff2}.hrm-module-arrow{font-size:1.25rem;color:#cbd5e1;transition:transform .2s}.hrm-module-card:hover .hrm-module-arrow{color:#fff;transform:translate(4px)}.hrm-overview{margin-bottom:20px}.hrm-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;align-items:stretch}.hrm-stat-card{background:#fff;border-radius:12px;padding:16px 18px;box-shadow:0 1px 3px #00000014;border:1px solid #e2e8f0;display:flex;align-items:flex-start;gap:14px;transition:box-shadow .2s}.hrm-stat-card:hover{box-shadow:0 4px 12px #00000014}.hrm-stat-card:first-child{border-left:4px solid #667eea}.hrm-stat-card:nth-child(2){border-left:4px solid #10b981}.hrm-stat-card:nth-child(3){border-left:4px solid #f59e0b}.hrm-stat-card:nth-child(4){border-left:4px solid #3b82f6}.hrm-stat-icon{font-size:1.5rem;flex-shrink:0}.hrm-stat-body{flex:1;min-width:0}.hrm-stat-value{font-size:1.35rem;font-weight:700;color:#1e293b;line-height:1.2}.hrm-stat-label{font-size:.75rem;color:#64748b;margin-top:2px}.hrm-stat-sub{font-size:.7rem;color:#94a3b8;margin-top:4px;line-height:1.3}.hrm-charts{margin-bottom:20px}.hrm-chart-row{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:16px;align-items:stretch}.hrm-chart-row:last-child{margin-bottom:0}.hrm-chart-row .chart-container{margin-bottom:0!important;min-height:280px;border-radius:12px;overflow:hidden}.hrm-charts .chart-container{margin-bottom:0!important}.hrm-chart-row.single{grid-template-columns:1fr}.hrm-chart-row.single .chart-container{min-height:260px}.hrm-recent{margin-bottom:0}.hrm-recent-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;align-items:stretch}.hrm-recent-card{background:#fff;border-radius:12px;padding:18px 20px;box-shadow:0 1px 3px #00000014;border:1px solid #e2e8f0;display:flex;flex-direction:column}.hrm-recent-card .hrm-recent-table-wrap{flex:1;min-height:100px}.hrm-recent-card .hrm-section-title{margin-bottom:10px}.hrm-recent-table-wrap{overflow-x:auto;margin-bottom:12px}.hrm-recent-table{width:100%;border-collapse:collapse;font-size:13px}.hrm-recent-table thead{background:#f8fafc}.hrm-recent-table th{padding:10px 12px;text-align:left;font-weight:600;color:#475569;font-size:11px;text-transform:uppercase;letter-spacing:.05em}.hrm-recent-table td{padding:10px 12px;border-bottom:1px solid #f1f5f9;color:#334155}.hrm-recent-table tbody tr:last-child td{border-bottom:none}.hrm-recent-table .no-data{text-align:center;color:#94a3b8;padding:20px}.hrm-status-badge{display:inline-block;padding:2px 8px;border-radius:6px;font-size:11px;font-weight:500}.hrm-status-badge.pending{background:#fef3c7;color:#b45309}.hrm-status-badge.approved{background:#d1fae5;color:#065f46}.hrm-status-badge.rejected{background:#fee2e2;color:#991b1b}.hrm-status-badge.scheduled{background:#e0e7ff;color:#3730a3}.hrm-status-badge.completed{background:#d1fae5;color:#065f46}.hrm-status-badge.in_progress{background:#dbeafe;color:#1d4ed8}.hrm-status-badge.cancelled{background:#f3f4f6;color:#6b7280}.hrm-status-badge.no_show{background:#fee2e2;color:#991b1b}.hrm-recent-link{display:inline-block;font-size:13px;font-weight:500;color:#667eea;text-decoration:none}.hrm-recent-link:hover{text-decoration:underline}@media(max-width:1200px){.hrm-top-section{grid-template-columns:1fr}.hrm-top-section .hrm-modules,.hrm-top-section .hrm-overview{margin-bottom:0}.hrm-top-section .hrm-stats{grid-template-columns:repeat(4,1fr)}.hrm-module-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:992px){.hrm-chart-row{grid-template-columns:1fr}.hrm-stats{grid-template-columns:repeat(2,1fr)}.hrm-recent-grid{grid-template-columns:1fr}}@media(max-width:768px){.hrm-header{flex-direction:column;align-items:stretch;padding:14px 20px}.hrm-header h1{font-size:1.35rem}.hrm-store-badge{text-align:center}.hrm-content{padding:16px 20px}.hrm-top-section{gap:16px;margin-bottom:16px}.hrm-top-section .hrm-stats{grid-template-columns:repeat(2,1fr)}.hrm-module-grid{grid-template-columns:1fr;gap:12px}.hrm-module-card{padding:16px 18px}.hrm-module-icon{width:44px;height:44px;font-size:1.35rem}.hrm-stats{grid-template-columns:repeat(2,1fr);gap:12px}.hrm-stat-card{padding:14px 16px}.hrm-stat-value{font-size:1.2rem}.hrm-chart-row{gap:12px;margin-bottom:12px}.hrm-chart-row .chart-container{min-height:240px}.hrm-recent-grid{gap:12px}.hrm-recent-card{padding:16px 18px}}@media(max-width:480px){.hrm-content{padding:14px 16px}.hrm-top-section .hrm-stats,.hrm-stats{grid-template-columns:1fr;gap:10px}.hrm-module-card{flex-wrap:wrap}.hrm-module-arrow{margin-left:auto}.hrm-recent-grid{grid-template-columns:1fr;gap:12px}.hrm-recent-table{font-size:12px}.hrm-recent-table th,.hrm-recent-table td{padding:8px 10px}}.leave-mgmt{padding:0;width:100%;display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.leave-mgmt-header{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-shrink:0;padding:10px 12px;background:#f8f9fa;border-bottom:1px solid #e9ecef;flex-wrap:wrap}.leave-mgmt-header h1{margin:0;font-size:1.25rem;font-weight:600;color:#333}.leave-mgmt .header-actions{display:flex;gap:8px;align-items:center}.leave-mgmt-btn{padding:8px 18px;border-radius:6px;font-weight:500;font-size:14px;border:none;cursor:pointer;background:#e5e7eb;color:#374151}.leave-mgmt-btn.primary{background:#667eea;color:#fff}.leave-mgmt-btn.primary:hover:not(:disabled){background:#5568d3}.leave-mgmt-btn.primary:disabled{opacity:.6;cursor:not-allowed}.leave-mgmt-warn{background:#fff3cd;border:1px solid #ffc107;color:#856404;padding:12px;margin:8px 12px;border-radius:8px;font-size:14px}.leave-mgmt-top{flex-shrink:0;padding:8px 12px 0;display:flex;flex-direction:column;gap:8px}.leave-mgmt-stats{display:flex;gap:8px;flex-wrap:wrap}.leave-mgmt-stats .stat-card{background:#fff;border-radius:6px;padding:10px 14px;box-shadow:0 1px 2px #0000000d;border:1px solid #e9ecef;min-width:80px;display:flex;flex-direction:column;gap:2px}.leave-mgmt-stats .stat-card .stat-label{font-size:11px;color:#6c757d;font-weight:500}.leave-mgmt-stats .stat-card .stat-value{font-size:18px;font-weight:700;color:#212529}.leave-mgmt-stats .stat-card.pending .stat-value{color:#b45309}.leave-mgmt-stats .stat-card.approved .stat-value{color:#065f46}.leave-mgmt-stats .stat-card.rejected .stat-value{color:#991b1b}.leave-mgmt-filters{background:#fff;border-radius:6px;padding:10px 16px;box-shadow:0 1px 2px #0000000d;border:1px solid #e9ecef}.leave-mgmt-filters .filter-row{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.leave-mgmt-filters .filter-group{display:flex;flex-direction:column;gap:2px;min-width:120px}.leave-mgmt-filters .filter-group label{font-size:11px;color:#6c757d;font-weight:500}.leave-mgmt-filters .filter-group select{padding:6px 10px;border:1px solid #dee2e6;border-radius:5px;font-size:13px}.leave-mgmt-filters .clear-filters-btn{padding:6px 12px;background:#f8f9fa;border:1px solid #dee2e6;border-radius:5px;font-size:12px;cursor:pointer;color:#495057}.leave-mgmt-filters .clear-filters-btn:hover{background:#e9ecef}.leave-mgmt-table-area{flex:1;min-height:300px;position:relative;padding:8px 12px;overflow:hidden}.leave-mgmt-table-wrap{position:absolute;inset:0;overflow-x:auto;overflow-y:auto;-webkit-overflow-scrolling:touch;background:#fff;border:1px solid #e9ecef;border-radius:6px;box-shadow:0 1px 2px #0000000d}.leave-mgmt-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#fff;color:#6b7280;font-size:14px}.leave-mgmt-table{width:100%;min-width:800px;border-collapse:collapse}.leave-mgmt-table thead{position:sticky;top:0;z-index:5;background:linear-gradient(135deg,#667eea,#5568d3);color:#fff}.leave-mgmt-table th{padding:10px 12px;text-align:left;font-weight:600;font-size:13px;white-space:nowrap}.leave-mgmt-table th:first-child{border-radius:6px 0 0}.leave-mgmt-table th:last-child{border-radius:0 6px 0 0}.leave-mgmt-table td{padding:10px 12px;border-bottom:1px solid #f1f3f5;font-size:13px}.leave-mgmt-table tbody tr:nth-child(2n){background:#fafbfc}.leave-mgmt-table tbody tr:hover{background:#e8f0fe}.leave-mgmt-table .no-data{text-align:center;color:#999;padding:40px}.leave-mgmt-table .employee-cell{font-weight:500;color:#333}.leave-reason{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leave-status{padding:4px 10px;border-radius:6px;font-size:12px;font-weight:500}.leave-status.pending{background:#fef3c7;color:#b45309}.leave-status.approved{background:#d1fae5;color:#065f46}.leave-status.rejected{background:#fee2e2;color:#991b1b}.leave-status.cancelled{background:#f3f4f6;color:#6b7280}.leave-actions{display:flex;gap:6px;flex-wrap:wrap}.leave-action{padding:6px 12px;border-radius:5px;border:none;cursor:pointer;font-size:12px;font-weight:500}.leave-action.approve{background:#d1fae5;color:#065f46}.leave-action.approve:hover{background:#a7f3d0}.leave-action.reject{background:#fee2e2;color:#991b1b}.leave-action.reject:hover{background:#fecaca}.leave-form-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.leave-form-modal{background:#fff;border-radius:10px;padding:24px;max-width:420px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0003}.leave-form-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #eee}.leave-form-modal-header h2{margin:0;font-size:1.2rem;color:#333}.leave-form-close{background:none;border:none;font-size:24px;color:#999;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px}.leave-form-close:hover{background:#f5f5f5;color:#333}.leave-form-empty-types{padding:16px 0}.leave-form-empty-types p{margin:0 0 16px;color:#6b7280;font-size:14px}.leave-form-modal .form-group{margin-bottom:16px}.leave-form-modal .form-group label{display:block;margin-bottom:6px;font-weight:500;color:#333;font-size:14px}.leave-form-modal .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.leave-form-modal .form-group input.input-error,.leave-form-modal .form-group select.input-error{border-color:#dc3545}.leave-form-modal .field-error{display:block;margin-top:4px;font-size:12px;color:#dc3545}.leave-form-btn{padding:10px 18px;border-radius:6px;font-weight:500;font-size:14px;border:none;cursor:pointer}.leave-form-btn.primary{background:#667eea;color:#fff}.leave-form-btn.primary:hover:not(:disabled){background:#5568d3}.leave-form-btn.secondary{background:#f5f5f5;color:#333}.leave-form-btn.secondary:hover{background:#e0e0e0}.leave-form-btn:disabled{opacity:.6;cursor:not-allowed}.leave-review-summary{margin:0 0 16px;color:#374151;font-size:.95rem}.leave-form-modal label{display:block;margin-bottom:14px;font-weight:500;color:#333;font-size:14px}.leave-form-modal input,.leave-form-modal select,.leave-form-modal textarea{display:block;width:100%;margin-top:4px;padding:8px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;box-sizing:border-box}.leave-form-modal input:focus,.leave-form-modal select:focus,.leave-form-modal textarea:focus{outline:none;border-color:#667eea}.leave-form-actions{display:flex;gap:10px;margin-top:20px;padding-top:16px;border-top:1px solid #eee}.leave-form-actions button{padding:10px 18px;border-radius:6px;font-weight:500;font-size:14px;border:none;cursor:pointer}.leave-form-actions{gap:10px}.leave-form-actions .leave-form-btn.primary{background:#667eea;color:#fff}.leave-form-actions .leave-form-btn.primary:hover:not(:disabled){background:#5568d3}.leave-form-actions .leave-form-btn.secondary{background:#f5f5f5;color:#333}.leave-form-actions .leave-form-btn.secondary:hover{background:#e0e0e0}.leave-form-actions button[type=submit]{background:#667eea;color:#fff}.leave-form-actions button[type=submit]:hover:not(:disabled){background:#5568d3}.leave-form-actions button[type=button]{background:#f5f5f5;color:#333}.leave-form-actions button[type=button]:hover{background:#e0e0e0}.leave-form-actions button:disabled{opacity:.6;cursor:not-allowed}@media(max-width:768px){.leave-mgmt-header{flex-direction:column;align-items:stretch;padding:8px 12px}.leave-mgmt-header h1{text-align:center;font-size:1.2rem}.leave-mgmt .header-actions{justify-content:center}.leave-mgmt-top{padding:6px 12px 0}.leave-mgmt-stats .stat-card{min-width:70px;padding:8px 12px}.leave-mgmt-stats .stat-card .stat-value{font-size:16px}.leave-mgmt-filters .filter-row{flex-direction:column;align-items:stretch}.leave-mgmt-filters .filter-group{width:100%;min-width:0}.leave-mgmt-table{min-width:700px;font-size:12px}.leave-mgmt-table th,.leave-mgmt-table td{padding:8px 10px;font-size:12px}.leave-action{padding:5px 10px;font-size:11px}.leave-form-modal .form-row{grid-template-columns:1fr}}@media(max-width:480px){.leave-mgmt-table{min-width:650px}}.employees-container{padding:0;width:100%;display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.employees-header{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-shrink:0;padding:10px 12px;background:#f8f9fa;border-bottom:1px solid #e9ecef;flex-wrap:wrap}.employees-header h1{margin:0;color:#333;font-size:1.25rem;font-weight:600}.header-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.add-button{padding:8px 18px;background:#667eea;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;flex-shrink:0}.add-button:hover:not(:disabled){background:#5568d3}.warning-message{background:#fff3cd;border:1px solid #ffc107;color:#856404;padding:12px;margin:8px 12px;border-radius:8px;text-align:center;font-size:14px}.employees-top-section{display:flex;flex-direction:column;gap:8px;flex-shrink:0;padding:8px 12px 0}.employees-stats{display:flex;gap:8px;flex-wrap:wrap}.employees-container .stat-card{background:#fff;border-radius:6px;padding:10px 14px;box-shadow:0 1px 2px #0000000d;min-width:120px;border:1px solid #e9ecef}.employees-container .stat-card .stat-label{color:#6c757d;font-size:11px;margin-bottom:2px;display:block;font-weight:500}.employees-container .stat-card .stat-value{font-size:18px;font-weight:700;color:#212529}.employees-filters{background:#fff;border-radius:6px;padding:10px 16px;box-shadow:0 1px 2px #0000000d;border:1px solid #e9ecef}.filter-row{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}.filter-group.search-field{min-width:200px;flex:1 1 200px;max-width:400px}.filter-group.search-field .search-input-with-clear{position:relative;display:flex;align-items:center;width:100%;min-width:0}.filter-group.search-field .search-input-with-clear input{width:100%;min-width:0;padding-right:32px;box-sizing:border-box}.filter-group.search-field .search-clear-btn{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:transparent;border:none;color:#999;font-size:20px;line-height:1;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;transition:color .2s;z-index:1}.filter-group.search-field .search-clear-btn:hover{color:#333}.filter-group{display:flex;flex-direction:column;gap:2px;min-width:110px}.filter-group label{font-size:11px;color:#6c757d;font-weight:500}.filter-group input,.filter-group select{padding:6px 8px;border:1px solid #dee2e6;border-radius:5px;font-size:13px}.filter-group.filter-checkbox{flex-direction:row;align-items:center;min-width:auto}.filter-group.filter-checkbox label{display:flex;align-items:center;gap:6px;font-size:13px;color:#333;cursor:pointer}.filter-group input:focus,.filter-group select:focus{outline:none;border-color:#667eea}.clear-filters-btn{padding:6px 12px;background:#f8f9fa;border:1px solid #dee2e6;border-radius:5px;font-size:12px;cursor:pointer;color:#495057;transition:all .2s;align-self:flex-end;white-space:nowrap;box-sizing:border-box}.clear-filters-btn:hover{background:#e9ecef;border-color:#dee2e6}.employees-table-area{flex:1;min-height:300px;position:relative;padding:8px 12px 0;overflow:hidden}.employees-table-area .loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#fff}.employees-table-area .employees-table-container{position:absolute;inset:0;overflow-x:auto;overflow-y:auto;-webkit-overflow-scrolling:touch;background:#fff;border:1px solid #e9ecef;border-radius:6px;box-shadow:0 1px 2px #0000000d}.employees-page-footer{flex-shrink:0;padding:8px 12px;background:#fff;border-top:1px solid #e9ecef;box-shadow:0 -1px 4px #0000000a}.employees-container .employees-page-footer .pagination-container{padding:0;margin:0;border:none;gap:10px}.employees-table{width:100%;min-width:750px;border-collapse:collapse}.employees-table thead{position:sticky;top:0;z-index:5;background:linear-gradient(135deg,#667eea,#5568d3);color:#fff}.employees-table th{padding:10px 12px;text-align:left;font-weight:600;font-size:13px;white-space:nowrap}.employees-table td{padding:10px 12px;border-bottom:1px solid #f1f3f5;font-size:13px}.employees-table tbody tr:nth-child(2n){background:#fafbfc}.employees-table tbody tr:hover{background:#e8f0fe}.employees-table tbody tr.inactive-row{background:#f9f9f9}.employees-table tbody tr.inactive-row:hover{background:#f0f0f0}.employee-cell{vertical-align:top}.employee-cell .employee-name{display:block;font-weight:500;color:#333}.employee-cell .employee-username{display:block;font-size:11px;color:#6c757d;margin-top:2px}.employee-email-cell .employee-email{color:#667eea;text-decoration:none;font-size:12px}.employee-email-cell .employee-email:hover{text-decoration:underline}.employee-name{font-weight:500;color:#333}.emp-status{padding:4px 10px;border-radius:6px;font-size:12px;font-weight:500}.emp-status.active{background:#d1fae5;color:#065f46}.emp-status.inactive{background:#f3f4f6;color:#6b7280}.employee-actions{display:flex;gap:6px;flex-wrap:wrap}.btn-edit,.btn-delete{padding:6px 12px;border:none;border-radius:5px;font-size:12px;cursor:pointer;transition:all .2s}.btn-edit{background:#2196f3;color:#fff}.btn-edit:hover{background:#1976d2}.btn-delete{background:#f44336;color:#fff}.btn-delete:hover{background:#d32f2f}.no-data{text-align:center;color:#999;padding:40px}.employees-container .modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px}.employees-container .add-employee-modal{max-width:520px}.employees-container .modal-content{background:#fff;border-radius:10px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0000004d}.employees-container .modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #eee}.employees-container .modal-header h2{margin:0;color:#333;font-size:1.2rem}.employees-container .close-button{background:none;border:none;font-size:24px;color:#999;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px}.employees-container .close-button:hover{background:#f5f5f5;color:#333}.employee-form{padding:20px}.employee-form .form-group{margin-bottom:16px}.employee-form .form-group label{display:block;margin-bottom:6px;font-weight:500;color:#333;font-size:14px}.employee-form .form-group input,.employee-form .form-group select{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;box-sizing:border-box}.employee-form .form-group input:focus,.employee-form .form-group select:focus{outline:none;border-color:#667eea}.employee-form .form-group input.input-error,.employee-form .form-group select.input-error{border-color:#dc3545}.employee-form .form-group input.input-error:focus{border-color:#dc3545;box-shadow:0 0 0 2px #dc354533}.employee-form .field-error{display:block;margin-top:4px;font-size:12px;color:#dc3545}.employee-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.employee-form .form-hint{display:block;margin-top:4px;font-size:12px;color:#6b7280}.employee-form .password-input-wrap{display:flex;align-items:center;gap:8px}.employee-form .password-input-wrap input{flex:1;min-width:0}.employee-form .password-toggle{padding:8px 12px;background:#f5f5f5;border:1px solid #ddd;border-radius:6px;cursor:pointer;font-size:16px;flex-shrink:0}.employee-form .password-toggle:hover{background:#e9e9e9}.employee-form .assign-store-section{display:flex;flex-direction:column;gap:8px}.employee-form .assign-store-section label{display:flex;align-items:center;gap:8px;cursor:pointer}.employee-form .assign-store-section .store-select{max-width:280px;margin-left:0}.employee-form .form-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:20px;margin-top:20px;border-top:1px solid #eee}.employee-form .btn-cancel,.employee-form .btn-submit{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer}.employee-form .btn-cancel{background:#f5f5f5;color:#333}.employee-form .btn-cancel:hover{background:#e0e0e0}.employee-form .btn-submit{background:#667eea;color:#fff}.employee-form .btn-submit:hover:not(:disabled){background:#5568d3}.employee-form .btn-submit:disabled{opacity:.6;cursor:not-allowed}@media(max-width:992px){.employees-header{flex-wrap:wrap}.employees-header h1{flex:1;min-width:0}}@media(max-width:768px){.employees-header{padding:8px 12px;flex-direction:column;align-items:stretch;gap:10px}.employees-header h1{font-size:1.2rem;text-align:center}.header-actions{justify-content:center}.add-button{padding:8px 14px;font-size:13px}.employees-top-section{padding:6px 12px 0}.employees-stats{gap:6px}.employees-container .stat-card{min-width:90px;padding:8px 12px}.employees-container .stat-card .stat-value{font-size:16px}.employees-filters{padding:8px 10px}.filter-row{flex-direction:column;align-items:stretch}.filter-group.search-field{min-width:100%;max-width:none}.filter-group{width:100%;min-width:0}.clear-filters-btn{align-self:stretch}.employees-table-area{padding:6px 12px 0}.employees-table{min-width:600px;font-size:12px}.employees-table th,.employees-table td{padding:8px 10px;font-size:12px}.btn-edit,.btn-delete{padding:5px 8px;font-size:11px}.employee-form .form-row{grid-template-columns:1fr}.employees-container .modal-content{max-width:100%}}@media(max-width:480px){.employees-header h1{font-size:1.1rem}.employees-table{min-width:550px}}.erp-page{padding:0;width:100%;display:flex;flex-direction:column;flex:1;min-height:0;overflow:auto}.erp-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;padding:10px 12px;background:#f8f9fa;border-bottom:1px solid #e9ecef}.erp-header h1{margin:0;font-size:1.25rem;font-weight:600;color:#333}.erp-warning{padding:16px;background:#fff3cd;border:1px solid #ffc107;border-radius:6px;margin:12px}.erp-filters{display:flex;flex-wrap:wrap;gap:12px;padding:12px;background:#fff;border-bottom:1px solid #eee}.erp-filters .filter-group{display:flex;flex-direction:column;gap:4px}.erp-filters label{font-size:12px;color:#666}.erp-filters select,.erp-filters input{padding:6px 10px;border:1px solid #ddd;border-radius:4px;min-width:120px}.erp-tabs{display:flex;gap:4px;padding:8px 12px;background:#fff;border-bottom:1px solid #eee}.erp-tabs .tab-btn{padding:8px 14px;border:1px solid #ddd;background:#f5f5f5;border-radius:6px;cursor:pointer;font-size:13px;text-transform:capitalize}.erp-tabs .tab-btn.active{background:#007bff;color:#fff;border-color:#007bff}.erp-table-wrap{flex:1;overflow:auto;padding:12px}.erp-loading,.erp-no-data{padding:24px;text-align:center;color:#666}.erp-table{width:100%;border-collapse:collapse;font-size:13px}.erp-table th,.erp-table td{padding:10px 12px;text-align:left;border-bottom:1px solid #eee}.erp-table th{background:#f5f5f5;font-weight:600;color:#333}.erp-table tbody tr:hover{background:#fafafa}.status-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px;text-transform:capitalize}.status-draft{background:#e9ecef;color:#495057}.status-submitted{background:#cce5ff;color:#004085}.status-partially_received{background:#fff3cd;color:#856404}.status-received{background:#d4edda;color:#155724}.btn-link{background:none;border:none;color:#007bff;cursor:pointer;padding:0 6px;font-size:13px}.btn-link:hover{text-decoration:underline}.btn-link.primary{font-weight:600}.btn-link.danger{color:#dc3545}.add-button{padding:8px 16px;background:#007bff;color:#fff;border:none;border-radius:6px;font-weight:500;cursor:pointer}.add-button:hover:not(:disabled){background:#0056b3}.add-button:disabled{background:#ccc;cursor:not-allowed}.modal-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.modal-content{background:#fff;border-radius:8px;max-width:90vw;max-height:90vh;overflow:auto;padding:20px;box-shadow:0 4px 20px #00000026}.modal-content h3{margin-top:0}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:16px;padding-top:16px;border-top:1px solid #eee}.btn-primary{padding:8px 16px;background:#007bff;color:#fff;border:none;border-radius:6px;cursor:pointer}.btn-secondary{padding:8px 16px;background:#6c757d;color:#fff;border:none;border-radius:6px;cursor:pointer}.receive-modal .receive-lines{margin:12px 0}.receive-line{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:12px;align-items:center;padding:8px 0;border-bottom:1px solid #eee}.receive-line input[type=number]{width:80px;padding:4px 8px}.po-form-modal .form-row,.po-form-modal .form-section{margin-bottom:12px}.po-form-modal .form-row label,.po-form-modal .form-section-header{display:block;margin-bottom:4px;font-weight:500}.po-form-modal .form-row input,.po-form-modal .form-row select{width:100%;max-width:400px;padding:8px}.po-form-modal .form-section-header{display:flex;justify-content:space-between;align-items:center}.po-form-modal .line-row{display:flex;gap:8px;align-items:center;margin-bottom:8px;flex-wrap:wrap}.po-form-modal .line-row select{min-width:200px}.po-form-modal .line-row input[type=number]{width:80px}.shop-layout{min-height:100vh;display:flex;flex-direction:column;background:var(--shop-bg, #fafafa)}.shop-header{background:var(--shop-header-bg, #1a1a2e);color:var(--shop-header-text, #eee);box-shadow:0 2px 12px #00000014;position:sticky;top:0;z-index:100}.shop-header-inner{max-width:1280px;margin:0 auto;padding:1rem 1.5rem;display:flex;justify-content:space-between;align-items:center}.shop-logo{font-size:1.5rem;font-weight:700;color:inherit;text-decoration:none;letter-spacing:-.02em}.shop-logo:hover{color:#fff}.shop-nav{display:flex;align-items:center;gap:1.5rem}.shop-nav a{color:inherit;text-decoration:none;font-weight:500;opacity:.9}.shop-nav a:hover{opacity:1}.shop-cart-link{display:flex;align-items:center;gap:.35rem;padding:.4rem .75rem;background:#ffffff1f;border-radius:999px}.shop-cart-icon{font-size:1.2rem}.shop-cart-count{min-width:1.25rem;height:1.25rem;background:#e94560;color:#fff;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600}.shop-main{flex:1;max-width:1280px;width:100%;margin:0 auto;padding:1.5rem}.shop-footer{background:var(--shop-footer-bg, #16213e);color:var(--shop-footer-text, #a0a0a0);margin-top:auto}.shop-footer-inner{max-width:1280px;margin:0 auto;padding:1rem 1.5rem;display:flex;justify-content:space-between;align-items:center;font-size:.875rem}.shop-footer-inner p{margin:0}.shop-admin-link{color:inherit;text-decoration:none;opacity:.8}.shop-admin-link:hover{opacity:1}.shop-page{min-height:60vh}.shop-loading,.shop-error,.shop-no-data{text-align:center;padding:3rem 1rem;color:#666}.shop-error{color:#c00}.store-select-page{display:flex;align-items:center;justify-content:center;padding:2rem}.store-select-card{background:#fff;border-radius:16px;box-shadow:0 4px 24px #00000014;padding:2.5rem;max-width:560px;width:100%}.store-select-card h1{margin:0 0 .5rem;font-size:1.75rem;font-weight:700;color:#1a1a2e}.store-select-sub{margin:0 0 1.5rem;color:#666;font-size:.95rem}.store-select-grid{display:flex;flex-direction:column;gap:.75rem}.store-select-btn{display:flex;flex-direction:column;align-items:flex-start;padding:1rem 1.25rem;background:#f5f5f5;border:2px solid transparent;border-radius:12px;cursor:pointer;font-size:1rem;text-align:left;transition:all .2s}.store-select-btn:hover{background:#eee;border-color:#1a1a2e}.store-select-name{font-weight:600;color:#1a1a2e}.store-select-meta{font-size:.85rem;color:#666;margin-top:.25rem}.shop-catalog-header{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;margin-bottom:1.5rem}.shop-catalog-title{margin:0;font-size:1.5rem;font-weight:700;color:#1a1a2e}.shop-catalog-filters{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.shop-catalog-filters input,.shop-catalog-filters select{padding:.5rem .75rem;border:1px solid #ddd;border-radius:8px;font-size:.9rem}.shop-catalog-filters input{min-width:200px}.shop-product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.5rem}.shop-product-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 12px #0000000f;transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column}.shop-product-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001a}.shop-product-card-image{aspect-ratio:1;background:#f0f0f0;object-fit:cover;width:100%}.shop-product-card-body{padding:1rem;flex:1;display:flex;flex-direction:column}.shop-product-card-name{margin:0 0 .25rem;font-weight:600;font-size:1rem;color:#1a1a2e;line-height:1.3}.shop-product-card-price{font-size:1.125rem;font-weight:700;color:#e94560;margin-top:auto}.shop-product-card-actions{padding:0 1rem 1rem}.shop-product-card-actions button{width:100%;padding:.6rem 1rem;background:#1a1a2e;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;font-size:.9rem}.shop-product-card-actions button:hover{background:#16213e}.shop-product-card-actions button:disabled{background:#999;cursor:not-allowed}.shop-product-detail{display:grid;gap:2rem;max-width:900px;margin:0 auto}@media(min-width:640px){.shop-product-detail{grid-template-columns:1fr 1fr}}.shop-product-detail-image{width:100%;aspect-ratio:1;object-fit:cover;border-radius:12px;background:#f0f0f0}.shop-product-detail-info h1{margin:0 0 .5rem;font-size:1.75rem;font-weight:700;color:#1a1a2e}.shop-product-detail-price{font-size:1.5rem;font-weight:700;color:#e94560;margin-bottom:1rem}.shop-product-detail-desc{color:#555;line-height:1.6;margin-bottom:1rem}.shop-product-detail-variants{margin-bottom:1rem}.shop-product-detail-variants label{display:block;font-weight:500;margin-bottom:.5rem}.shop-product-detail-variants select{width:100%;max-width:280px;padding:.5rem .75rem;border:1px solid #ddd;border-radius:8px}.shop-product-detail-qty{margin-bottom:1rem}.shop-product-detail-qty label{display:block;font-weight:500;margin-bottom:.5rem}.shop-product-detail-qty input{width:80px;padding:.5rem;border:1px solid #ddd;border-radius:8px}.shop-product-detail-actions button{padding:.75rem 1.5rem;background:#1a1a2e;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;font-size:1rem}.shop-product-detail-actions button:hover{background:#16213e}.shop-cart-title{margin:0 0 1rem;font-size:1.5rem;font-weight:700;color:#1a1a2e}.shop-cart-table{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 12px #0000000f}.shop-cart-table th,.shop-cart-table td{padding:1rem;text-align:left;border-bottom:1px solid #eee}.shop-cart-table th{background:#f8f8f8;font-weight:600;color:#333}.shop-cart-table input[type=number]{width:60px;padding:.35rem;border:1px solid #ddd;border-radius:6px}.shop-cart-remove{background:none;border:none;color:#c00;cursor:pointer;font-size:.85rem;text-decoration:underline}.shop-cart-footer{margin-top:1.5rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.shop-cart-subtotal{font-size:1.25rem;font-weight:700;color:#1a1a2e}.shop-cart-checkout-btn{padding:.75rem 1.5rem;background:#e94560;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;font-size:1rem}.shop-cart-checkout-btn:hover{background:#d63a52}.shop-cart-checkout-btn:disabled{background:#999;cursor:not-allowed}.shop-checkout-form{max-width:520px;background:#fff;padding:1.5rem;border-radius:12px;box-shadow:0 2px 12px #0000000f}.shop-checkout-form h2{margin:0 0 1rem;font-size:1.25rem;color:#1a1a2e}.shop-checkout-form .form-row{margin-bottom:1rem}.shop-checkout-form label{display:block;font-weight:500;margin-bottom:.35rem;font-size:.9rem}.shop-checkout-form input,.shop-checkout-form textarea{width:100%;padding:.6rem .75rem;border:1px solid #ddd;border-radius:8px;font-size:.95rem}.shop-checkout-form textarea{min-height:80px;resize:vertical}.shop-checkout-submit{width:100%;padding:.85rem;background:#1a1a2e;color:#fff;border:none;border-radius:8px;font-weight:600;font-size:1rem;cursor:pointer;margin-top:.5rem}.shop-checkout-submit:hover{background:#16213e}.shop-checkout-submit:disabled{background:#999;cursor:not-allowed}.shop-confirmation-card{max-width:480px;margin:0 auto;background:#fff;padding:2rem;border-radius:12px;box-shadow:0 4px 24px #00000014;text-align:center}.shop-confirmation-card h1{margin:0 0 .5rem;font-size:1.5rem;color:#1a1a2e}.shop-confirmation-card .order-number{font-size:1.25rem;font-weight:700;color:#e94560;margin:1rem 0}.shop-confirmation-card p{color:#666;margin:.5rem 0}.shop-confirmation-card a{display:inline-block;margin-top:1.5rem;padding:.6rem 1.25rem;background:#1a1a2e;color:#fff;text-decoration:none;border-radius:8px;font-weight:600}.shop-confirmation-card a:hover{background:#16213e}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}
