@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800;900&display=swap";:root{--primary-50: #EFF6FF;--primary-100: #DBEAFE;--primary-200: #BFDBFE;--primary-300: #93C5FD;--primary-400: #60A5FA;--primary-500: #3B82F6;--primary-600: #2563EB;--primary-700: #1D4ED8;--primary-800: #1E40AF;--primary-900: #1E3A8A;--success-50: #ECFDF5;--success-500: #10B981;--success-600: #059669;--danger-50: #FEF2F2;--danger-400: #F87171;--danger-500: #EF4444;--danger-600: #DC2626;--warning-50: #FFFBEB;--warning-500: #F59E0B;--warning-600: #D97706;--purple-50: #F5F3FF;--purple-500: #8B5CF6;--purple-600: #7C3AED;--orange-50: #FFF7ED;--orange-500: #F97316;--orange-600: #EA580C;--gray-50: #F8FAFC;--gray-100: #F1F5F9;--gray-200: #E2E8F0;--gray-300: #CBD5E1;--gray-400: #94A3B8;--gray-500: #64748B;--gray-600: #475569;--gray-700: #334155;--gray-800: #1E293B;--gray-900: #0F172A;--bg: #F8FAFC;--surface: #FFFFFF;--border: #E2E8F0;--border-light: #F1F5F9;--text: #0F172A;--text-muted: #64748B;--text-subtle: #94A3B8;--radius-sm: .5rem;--radius: .75rem;--radius-lg: 1rem;--radius-xl: 1.25rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0,0,0,.05);--shadow: 0 1px 3px rgba(0,0,0,.04), 0 6px 24px rgba(0,0,0,.04);--shadow-md: 0 4px 12px rgba(0,0,0,.08), 0 12px 36px rgba(0,0,0,.06);--shadow-lg: 0 10px 40px rgba(0,0,0,.1);--shadow-primary: 0 4px 16px rgba(37,99,235,.35);--shadow-primary-sm: 0 2px 8px rgba(37,99,235,.25);--transition: .2s cubic-bezier(.4, 0, .2, 1);--transition-fast: .15s ease;--transition-slow: .3s cubic-bezier(.4, 0, .2, 1);--font: "Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--navbar-h: 60px;--sidebar-w: 220px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.6;min-height:100vh;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:var(--font);border:none;background:none}input,select,textarea{font-family:var(--font)}img{max-width:100%;display:block}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.app-shell{display:flex;min-height:100vh}.main-content{flex:1;display:flex;flex-direction:column;min-width:0}.page-body{flex:1;padding:1.5rem;overflow-y:auto}@media(max-width:768px){.page-body{padding:1rem}}.card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow);border:1px solid var(--border-light);transition:box-shadow var(--transition)}.card:hover{box-shadow:var(--shadow-md)}.card-p{padding:1.5rem}.card-sm{padding:1rem}.glass{background:#ffffffd9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.4)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-weight:600;font-size:.875rem;padding:.625rem 1.25rem;border-radius:var(--radius);transition:all var(--transition);white-space:nowrap;cursor:pointer;border:none;font-family:var(--font);min-height:44px}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,var(--primary-600),var(--primary-500));color:#fff;box-shadow:var(--shadow-primary-sm)}.btn-primary:hover:not(:disabled){box-shadow:var(--shadow-primary);transform:translateY(-1px)}.btn-success{background:linear-gradient(135deg,var(--success-600),var(--success-500));color:#fff;box-shadow:0 2px 8px #05966940}.btn-success:hover:not(:disabled){box-shadow:0 4px 16px #05966959;transform:translateY(-1px)}.btn-danger{background:linear-gradient(135deg,var(--danger-600),var(--danger-500));color:#fff}.btn-danger:hover:not(:disabled){box-shadow:0 4px 16px #dc26264d;transform:translateY(-1px)}.btn-ghost{background:var(--gray-100);color:var(--gray-600);border:1px solid var(--border)}.btn-ghost:hover:not(:disabled){background:var(--gray-200)}.btn-sm{padding:.375rem .875rem;font-size:.8125rem;min-height:36px}.btn-lg{padding:.875rem 1.75rem;font-size:1rem;min-height:52px;border-radius:var(--radius-lg)}.btn-xl{padding:1rem 2rem;font-size:1.0625rem;min-height:56px;border-radius:var(--radius-lg);font-weight:700;letter-spacing:.03em}.btn-icon{width:40px;height:40px;padding:0;border-radius:var(--radius)}.btn-icon-sm{width:32px;height:32px;padding:0;border-radius:var(--radius-sm)}.input{width:100%;padding:.625rem .875rem;border:1.5px solid var(--border);border-radius:var(--radius);background:var(--gray-50);font-size:.875rem;color:var(--text);transition:all var(--transition);outline:none;min-height:44px}.input:focus{border-color:var(--primary-500);background:#fff;box-shadow:0 0 0 3px #3b82f61a}.input::placeholder{color:var(--text-subtle)}.input-sm{padding:.375rem .75rem;font-size:.8125rem;min-height:36px}.input-group{position:relative}.input-group .input{padding-left:2.5rem}.input-group .input-icon{position:absolute;left:.875rem;top:50%;transform:translateY(-50%);color:var(--text-subtle);pointer-events:none}label.form-label{display:block;font-size:.75rem;font-weight:700;color:var(--gray-500);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.375rem}.badge{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .5rem;border-radius:var(--radius-full);font-size:.6875rem;font-weight:700;letter-spacing:.02em}.badge-primary{background:var(--primary-50);color:var(--primary-600)}.badge-success{background:var(--success-50);color:var(--success-600)}.badge-danger{background:var(--danger-50);color:var(--danger-600)}.badge-warning{background:var(--warning-50);color:var(--warning-600)}.badge-gray{background:var(--gray-100);color:var(--gray-600)}.badge-purple{background:var(--purple-50);color:var(--purple-600)}.badge-orange{background:var(--orange-50);color:var(--orange-600)}.table-wrap{overflow-x:auto;border-radius:var(--radius-lg);border:1px solid var(--border-light)}.table{width:100%;border-collapse:separate;border-spacing:0}.table thead th{background:var(--gray-50);color:var(--gray-500);font-weight:700;font-size:.6875rem;text-transform:uppercase;letter-spacing:.05em;padding:.875rem 1rem;border-bottom:2px solid var(--border);white-space:nowrap}.table tbody tr{transition:background var(--transition-fast)}.table tbody tr:hover{background:var(--gray-50)}.table tbody td{padding:.75rem 1rem;border-bottom:1px solid var(--border-light);font-size:.8125rem;white-space:nowrap}.table tbody tr:last-child td{border-bottom:none}.table tfoot td{padding:.75rem 1rem;font-size:.8125rem;background:var(--gray-50);border-top:2px solid var(--border)}.modal-overlay{position:fixed;inset:0;background:#0f172a99;backdrop-filter:blur(4px);z-index:10000;display:flex;align-items:center;justify-content:center;padding:1rem}.modal{background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);width:100%;max-height:90vh;overflow-y:auto;animation:modalIn .25s ease}.modal-sm{max-width:420px}.modal-md{max-width:560px}.modal-lg{max-width:720px}.modal-xl{max-width:960px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-light)}.modal-body{padding:1.5rem}.modal-footer{padding:1rem 1.5rem;border-top:1px solid var(--border-light);display:flex;gap:.75rem;justify-content:flex-end}@keyframes modalIn{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.product-card{background:#fff;border-radius:var(--radius);border:1.5px solid var(--border);cursor:pointer;transition:all var(--transition);position:relative;overflow:hidden;padding:.875rem;display:flex;flex-direction:column;justify-content:space-between;min-height:110px}.product-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary-500),var(--primary-400));opacity:0;transition:opacity var(--transition)}.product-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #2563eb1f;border-color:var(--primary-200)}.product-card:hover:before{opacity:1}.product-card.out-of-stock{opacity:.5;cursor:not-allowed}.nav-tab{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem .875rem;border-radius:var(--radius);font-size:.8125rem;font-weight:600;color:var(--gray-500);transition:all var(--transition);cursor:pointer;white-space:nowrap;border:none;background:none;font-family:var(--font)}.nav-tab:hover{background:var(--gray-100);color:var(--gray-700)}.nav-tab.active{background:linear-gradient(135deg,var(--primary-600),var(--primary-500));color:#fff;box-shadow:0 4px 15px #2563eb4d}.stat-card{background:#fff;border-radius:var(--radius-lg);padding:1.25rem;border:1px solid var(--border-light);box-shadow:var(--shadow);transition:all var(--transition)}.stat-card:hover{box-shadow:var(--shadow-md)}.stat-icon{width:40px;height:40px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;flex-shrink:0}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.4}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-fade-up{animation:fadeInUp .35s ease both}.animate-fade{animation:fadeIn .25s ease both}.animate-spin{animation:spin .8s linear infinite}.animate-pulse-dot{animation:pulse-dot 2s ease-in-out infinite}.stagger>*:nth-child(1){animation-delay:0ms}.stagger>*:nth-child(2){animation-delay:50ms}.stagger>*:nth-child(3){animation-delay:.1s}.stagger>*:nth-child(4){animation-delay:.15s}.stagger>*:nth-child(5){animation-delay:.2s}.skeleton{background:linear-gradient(90deg,var(--gray-100),var(--gray-200),var(--gray-100));background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius)}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.divider{border:none;border-top:1px solid var(--border-light);margin:0}.divider-dashed{border-top-style:dashed}.icon-gradient{background:linear-gradient(135deg,var(--primary-500),var(--primary-700))}.pay-method-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;padding:.5rem .25rem;border-radius:var(--radius);border:1.5px solid var(--border);background:var(--gray-50);color:var(--gray-500);font-size:.6875rem;font-weight:700;cursor:pointer;transition:all var(--transition-fast);font-family:var(--font)}.pay-method-btn.active{background:linear-gradient(135deg,var(--primary-600),var(--primary-500));color:#fff;border-color:var(--primary-500);box-shadow:0 2px 8px #2563eb4d}.cart-item{background:#fff;border-radius:var(--radius);border:1.5px solid var(--border-light);padding:.75rem;margin-bottom:.5rem;transition:all var(--transition-fast)}.cart-item:hover{border-color:var(--primary-200);box-shadow:0 2px 12px #2563eb12}.qty-stepper{display:flex;align-items:center;border:1.5px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;background:var(--gray-50)}.qty-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:var(--gray-500);transition:all var(--transition-fast);font-family:var(--font)}.qty-btn:hover{background:var(--primary-50);color:var(--primary-600)}.qty-input{width:36px;height:28px;text-align:center;border:none;border-left:1.5px solid var(--border);border-right:1.5px solid var(--border);font-size:.8125rem;font-weight:700;color:var(--text);background:#fff;outline:none;font-family:var(--font)}.switch{position:relative;display:inline-block;width:44px;height:24px}.switch input{opacity:0;width:0;height:0}.switch-slider{position:absolute;inset:0;background:var(--gray-300);border-radius:24px;cursor:pointer;transition:var(--transition)}.switch-slider:before{content:"";position:absolute;width:18px;height:18px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:var(--transition);box-shadow:var(--shadow-sm)}.switch input:checked+.switch-slider{background:var(--primary-500)}.switch input:checked+.switch-slider:before{transform:translate(20px)}.alert{padding:.875rem 1rem;border-radius:var(--radius);border:1px solid;font-size:.875rem;display:flex;align-items:flex-start;gap:.625rem}.alert-info{background:var(--primary-50);border-color:var(--primary-200);color:var(--primary-700)}.alert-success{background:var(--success-50);border-color:#a7f3d0;color:var(--success-600)}.alert-danger{background:var(--danger-50);border-color:#fecaca;color:var(--danger-600)}.alert-warning{background:var(--warning-50);border-color:#fde68a;color:var(--warning-600)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;text-align:center;color:var(--gray-400)}.empty-state-icon{font-size:2.5rem;margin-bottom:1rem;opacity:.4}.dash-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem}.dash-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.dash-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}@media(max-width:1200px){.dash-grid-4{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.dash-grid-4,.dash-grid-3,.dash-grid-2{grid-template-columns:1fr}}@media(max-width:640px){.modal{border-radius:var(--radius-lg) var(--radius-lg) 0 0;align-self:flex-end;max-height:95vh}.modal-overlay{align-items:flex-end;padding:0}.table thead{display:none}.table tbody tr{display:block;border-bottom:1px solid var(--border);padding:1rem 0}.table tbody td{display:block;padding:.25rem 1rem;border:none;text-align:left!important}.table tbody td:before{content:attr(data-label);font-weight:700;color:var(--gray-400);display:block;font-size:.625rem;text-transform:uppercase}}
