*,:before,:after{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#111827;background-color:#f4f5f7;min-height:100vh;margin:0;font-family:Inter,system-ui,sans-serif}#root{min-height:100vh}a{color:inherit;text-decoration:none}img{max-width:100%}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:99px}::-webkit-scrollbar-thumb:hover{background:#9ca3af}.admin-shell{flex-direction:column;min-height:100vh;display:flex}.admin-body{flex:1;min-height:0;display:flex}.admin-header{z-index:50;background:#fff;border-bottom:1px solid #e5e7eb;align-items:center;gap:16px;height:60px;padding:0 20px;display:flex;position:sticky;top:0;box-shadow:0 1px 4px #0000000d}.admin-header-brand{flex-shrink:0;align-items:center;gap:10px;text-decoration:none;display:flex}.admin-header-logo{width:auto;height:32px}.admin-header-spacer{flex:1}.admin-header-user{align-items:center;gap:10px;display:flex}.admin-header-avatar{color:#fff;background:#e31837;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:13px;font-weight:600;display:flex}.admin-header-username{color:#374151;white-space:nowrap;font-size:13px;font-weight:500}.admin-hamburger{cursor:pointer;color:#374151;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;transition:background .15s;display:none}.admin-hamburger:hover{background:#f3f4f6}.admin-sidebar{background:#111827;flex-direction:column;flex-shrink:0;width:240px;height:calc(100vh - 60px);transition:transform .25s,width .25s;display:flex;position:sticky;top:60px;overflow-y:auto}.admin-sidebar-inner{flex-direction:column;flex:1;gap:4px;padding:16px 0 24px;display:flex}.admin-nav-section{letter-spacing:.08em;text-transform:uppercase;color:#6b7280;padding:20px 20px 6px;font-size:10px;font-weight:600}.admin-nav-item{color:#9ca3af;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;border-radius:8px;align-items:center;gap:11px;margin:0 8px;padding:10px 20px;font-size:14px;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:flex}.admin-nav-item:hover{color:#f9fafb;background:#ffffff12}.admin-nav-item.active{color:#fff;background:#e31837}.admin-nav-item.active .admin-nav-icon{color:#fff}.admin-nav-icon{opacity:.8;flex-shrink:0;width:18px;height:18px}.admin-nav-item.active .admin-nav-icon{opacity:1}.admin-sidebar-footer{border-top:1px solid #ffffff0f;margin-top:auto;padding:16px}.admin-logout-btn{color:#9ca3af;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;width:100%;padding:10px 12px;font-size:14px;font-weight:500;transition:background .15s,color .15s;display:flex}.admin-logout-btn:hover{color:#f9fafb;background:#ffffff12}.admin-main{flex:1;min-width:0;padding:28px 32px;overflow-x:hidden}.admin-overlay{z-index:40;background:#00000080;display:none;position:fixed;inset:0}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;display:flex}.page-title{color:#111827;letter-spacing:-.3px;margin:0;font-size:22px;font-weight:700}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:28px;display:grid}.stat-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;flex-direction:column;gap:8px;padding:20px 22px;transition:box-shadow .2s,transform .2s;display:flex;box-shadow:0 1px 3px #0000000a}.stat-card:hover{transform:translateY(-1px);box-shadow:0 4px 16px #00000014}.stat-card-icon{border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;margin-bottom:4px;font-size:18px;display:flex}.stat-card-label{text-transform:uppercase;letter-spacing:.06em;color:#6b7280;font-size:12px;font-weight:600}.stat-card-value{color:#111827;letter-spacing:-.5px;font-size:28px;font-weight:700;line-height:1.1}.stat-card-sub{color:#9ca3af;font-size:12px}.panel{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000000a}.panel-header{border-bottom:1px solid #f3f4f6;justify-content:space-between;align-items:center;gap:12px;padding:18px 22px 14px;display:flex}.panel-title{color:#111827;margin:0;font-size:15px;font-weight:600}.panel-body{padding:20px 22px}.data-table{border-collapse:collapse;width:100%}.data-table th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:#6b7280;white-space:nowrap;background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:11px 16px;font-size:11px;font-weight:600}.data-table td{color:#374151;vertical-align:middle;border-bottom:1px solid #f3f4f6;padding:13px 16px;font-size:14px}.data-table tr:last-child td{border-bottom:none}.data-table tbody tr{transition:background .12s}.data-table tbody tr:hover{background:#fafafa}.badge{letter-spacing:.03em;white-space:nowrap;border-radius:99px;align-items:center;gap:4px;padding:3px 9px;font-size:11px;font-weight:600;display:inline-flex}.badge-green{color:#065f46;background:#d1fae5}.badge-yellow{color:#92400e;background:#fef3c7}.badge-red{color:#991b1b;background:#fee2e2}.badge-blue{color:#1e40af;background:#dbeafe}.badge-gray{color:#4b5563;background:#f3f4f6}.badge-purple{color:#5b21b6;background:#ede9fe}.badge-orange{color:#9a3412;background:#ffedd5}.btn{cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:9px 18px;font-size:14px;font-weight:500;text-decoration:none;transition:background .15s,color .15s,box-shadow .15s,transform .1s;display:inline-flex}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{color:#fff;background:#e31837;border-color:#e31837}.btn-primary:hover:not(:disabled){background:#c01030;box-shadow:0 2px 8px #e318374d}.btn-secondary{color:#374151;background:#fff;border-color:#d1d5db}.btn-secondary:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af}.btn-danger{color:#dc2626;background:#fff5f5;border-color:#fca5a5}.btn-danger:hover:not(:disabled){background:#fee2e2;border-color:#f87171}.btn-ghost{color:#374151;background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:#f3f4f6}.btn-sm{padding:6px 12px;font-size:13px}.btn-xs{border-radius:6px;padding:4px 9px;font-size:12px}.btn-lg{padding:11px 24px;font-size:15px}.btn-icon{border-radius:8px;width:36px;height:36px;padding:0}.form-group{flex-direction:column;gap:6px;display:flex}.form-label{color:#374151;font-size:13px;font-weight:500}.form-input{color:#111827;background:#fff;border:1px solid #d1d5db;border-radius:8px;outline:none;width:100%;padding:9px 13px;font-family:inherit;font-size:14px;transition:border-color .15s,box-shadow .15s}.form-input:focus{border-color:#e31837;box-shadow:0 0 0 3px #e318371f}.form-input::placeholder{color:#9ca3af}.form-input.error{border-color:#dc2626}.form-error{color:#dc2626;font-size:12px}.loading-state{color:#9ca3af;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:60px 20px;font-size:14px;display:flex}.empty-state{text-align:center;color:#9ca3af;padding:48px 20px}.empty-state-icon{opacity:.5;margin-bottom:10px;font-size:40px}.empty-state-title{color:#6b7280;font-size:15px;font-weight:600}.empty-state-sub{margin-top:4px;font-size:13px}.order-row{border-bottom:1px solid #f3f4f6;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;display:flex}.order-row:last-child{border-bottom:none}@media (width<=1024px){.admin-main{padding:20px}}@media (width<=768px){.admin-hamburger{display:flex}.admin-sidebar{z-index:45;height:calc(100vh - 60px);position:fixed;top:60px;left:0;transform:translate(-100%);box-shadow:4px 0 20px #0003}.admin-sidebar.open{transform:translate(0)}.admin-overlay.open{display:block}.admin-main{padding:16px}.stat-grid{grid-template-columns:repeat(2,1fr);gap:12px}.page-title{font-size:18px}}@media (width<=480px){.stat-grid{grid-template-columns:1fr 1fr}.admin-main{padding:12px}}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.animate-in{animation:.2s ease-out both fadeIn}
