:root{--bg:#f4f6fb;--card:#fff;--text:#1c2333;--muted:#6b7280;--border:#e5e7eb;--primary:#4f46e5;--primary-dark:#4338ca;--success:#16a34a;--danger:#dc2626;--shadow:0 1px 3px #1018280f, 0 8px 24px #1018280f;--radius:12px}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}h1,h2,h3{margin:0}a{color:var(--primary);text-decoration:none}.muted{color:var(--muted)}.center-screen{place-items:center;min-height:100vh;padding:20px;display:grid}.container{max-width:1080px;margin:0 auto;padding:24px 20px 60px}.btn{cursor:pointer;color:var(--text);background:#eef0f5;border:1px solid #0000;border-radius:9px;padding:9px 16px;font-size:14px;font-weight:600;transition:background .15s,transform 50ms}.btn:hover{background:#e4e7ef}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark)}.btn-danger{color:var(--danger);background:#fee2e2}.btn-danger:hover{background:#fecaca}.btn-ghost{background:0 0}.btn-ghost:hover{background:#eef0f5}.btn-sm{padding:5px 10px;font-size:13px}.btn:disabled{opacity:.55;cursor:not-allowed}.navbar{z-index:20;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);background:#ffffffd9;position:sticky;top:0}.navbar-inner{align-items:center;gap:18px;max-width:1080px;height:62px;margin:0 auto;padding:0 20px;display:flex}.brand{color:var(--text);cursor:pointer;align-items:center;gap:9px;font-size:19px;font-weight:800;display:flex}.brand-logo{background:var(--primary);color:#fff;border-radius:8px;place-items:center;width:30px;height:30px;font-size:17px;display:grid}.nav-spacer{flex:1}.nav-link{cursor:pointer;color:var(--text);background:0 0;border:none;border-radius:8px;padding:8px 10px;font-size:14px;font-weight:600}.nav-link:hover{background:#eef0f5}.cart-btn{position:relative}.cart-badge{background:var(--primary);color:#fff;border-radius:999px;place-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:700;display:grid;position:absolute;top:-4px;right:-6px}.pill-admin{letter-spacing:.3px;color:var(--primary-dark);text-transform:uppercase;background:#ede9fe;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:700}.toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin:6px 0 22px;display:flex}.search{border:1px solid var(--border);background:#fff;border-radius:10px;flex:1;min-width:200px;padding:10px 14px;font-size:14px}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--border);cursor:pointer;color:var(--muted);background:#fff;border-radius:999px;padding:7px 13px;font-size:13px;font-weight:600}.chip.active{background:var(--primary);color:#fff;border-color:var(--primary)}.grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px;display:grid}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;transition:transform .12s,box-shadow .12s;display:flex;overflow:hidden}.card:hover{transform:translateY(-3px);box-shadow:0 10px 30px #1018281f}.card-img{aspect-ratio:5/4;object-fit:cover;cursor:pointer;background:#eef0f5;width:100%}.card-body{flex-direction:column;flex:1;gap:6px;padding:14px;display:flex}.card-cat{color:var(--muted);text-transform:uppercase;letter-spacing:.3px;font-size:12px;font-weight:600}.card-name{cursor:pointer;font-size:15px;font-weight:700}.card-name:hover{color:var(--primary)}.card-price{margin-top:2px;font-size:18px;font-weight:800}.card-foot{margin-top:auto;padding-top:10px}.detail{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);grid-template-columns:1fr 1fr;gap:30px;padding:24px;display:grid}.detail img{object-fit:cover;aspect-ratio:5/4;border-radius:10px;width:100%}.detail-info{flex-direction:column;gap:14px;display:flex}.detail-price{font-size:30px;font-weight:800}.qty{align-items:center;gap:8px;display:flex}.qty input{text-align:center;border:1px solid var(--border);border-radius:8px;width:60px;padding:8px}.panel{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:18px;padding:18px 20px}.cart-row{border-bottom:1px solid var(--border);align-items:center;gap:14px;padding:14px 0;display:flex}.cart-row:last-child{border-bottom:none}.cart-row img{object-fit:cover;border-radius:8px;width:74px;height:60px}.cart-row .grow{flex:1}.stepper{align-items:center;gap:6px;display:flex}.stepper button{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:8px;width:30px;height:30px;font-size:16px;font-weight:700;line-height:1}.summary{justify-content:space-between;align-items:center;margin-top:10px;display:flex}.total-num{font-size:24px;font-weight:800}.form{flex-direction:column;gap:12px;display:flex}.form label{color:var(--muted);margin-bottom:4px;font-size:13px;font-weight:600;display:block}.input,.form input,.form textarea,.form select{border:1px solid var(--border);background:#fff;border-radius:9px;width:100%;padding:10px 12px;font-family:inherit;font-size:14px}.form textarea{resize:vertical;min-height:70px}.auth-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);width:100%;max-width:400px;padding:30px}.error-box{color:var(--danger);background:#fef2f2;border:1px solid #fecaca;border-radius:9px;padding:10px 12px;font-size:14px}.success-box{color:var(--success);background:#f0fdf4;border:1px solid #bbf7d0;border-radius:9px;padding:14px 16px}.empty{text-align:center;color:var(--muted);padding:60px 20px}.row-between{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.badge-status{background:#eef0f5;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700}.section-title{margin-bottom:4px;font-size:22px;font-weight:800}table.tbl{border-collapse:collapse;width:100%;font-size:14px}table.tbl th{text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.3px;border-bottom:1px solid var(--border);padding:8px;font-size:12px}table.tbl td{border-bottom:1px solid var(--border);padding:10px 8px}.toast{color:#fff;z-index:50;background:#1c2333;border-radius:999px;padding:12px 20px;font-size:14px;font-weight:600;animation:.2s ease-out toast-in;position:fixed;bottom:22px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #10182840}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}@media (width<=720px){.detail{grid-template-columns:1fr}.checkout-grid{grid-template-columns:1fr!important}}
