:root{color-scheme:light}*{box-sizing:border-box}html,body{margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit}*,*:before,*:after{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial;background:#f4f4f7;color:#1a1a1a}img{display:block;max-width:100%}input,select,textarea,button{font:inherit;max-width:100%}textarea{width:100%;min-width:0;resize:vertical;overflow:auto}:root{--container: 1180px;--purple: #6f2ca6;--purple2: #8e3bd6;--chipBg: #eceaf3;--card: #ffffff;--muted: #6b6b7a;--radius: 18px;--shadow: 0 10px 28px rgba(0, 0, 0, .1);--shadowSoft: 0 6px 18px rgba(0, 0, 0, .08)}.appShell{min-height:100vh;display:flex;flex-direction:column}.page{width:100%;max-width:var(--container);margin:0 auto;padding:18px 18px 96px}@media (max-width: 520px){.page{padding:12px 12px 96px}}.header{position:sticky;top:0;z-index:50;background:var(--purple);box-shadow:0 10px 20px #0000001f}.headerInner{max-width:var(--container);margin:0 auto;padding:10px 14px;display:flex;align-items:center;gap:12px}.brandTitle{color:#fff;font-weight:900;display:flex;align-items:center;gap:10px;white-space:nowrap}.searchWrap{flex:1;min-width:0;display:flex;align-items:center;gap:10px;background:#fff;border-radius:999px;padding:10px 14px}.searchWrap input{border:0;outline:none;background:transparent;width:100%;min-width:0;color:#333}.iconBtn{position:relative;border:0;background:transparent;color:#fff;border-radius:14px;padding:8px 10px;display:grid;place-items:center;font-size:20px}.badge{position:absolute;top:-6px;right:-6px;width:18px;height:18px;border-radius:999px;background:#f59e0b;color:#1a1a1a;display:grid;place-items:center;font-weight:900;font-size:11px}.chips{display:flex;gap:10px;overflow-x:auto;padding:10px 0 6px;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.chip{border:0;background:var(--chipBg);color:#3b2b56;padding:10px 16px;border-radius:999px;font-weight:900;white-space:nowrap}.chipActive{background:var(--purple);color:#fff}.grid{display:grid;grid-template-columns:1fr;gap:14px;max-width:550px;margin:0 auto}.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadowSoft);overflow:hidden;border:1px solid rgba(0,0,0,.06)}.cardMedia{position:relative;height:200px;background:#f2f2f5}.cardMedia img{width:100%;height:100%;object-fit:cover}.favBtn{position:absolute;top:10px;right:10px;width:34px;height:34px;border-radius:999px;border:0;background:#fff;box-shadow:0 10px 20px #0000001f;display:grid;place-items:center;font-size:18px;color:#4b4b58}.cardBody{padding:12px 12px 14px}.cardTitle{font-weight:950;font-size:16px;margin:0}.cardDesc{margin-top:6px;font-size:12px;color:var(--muted);min-height:30px}.price{margin-top:10px;font-weight:950;color:#4d167e;font-size:20px}.cardActions{margin-top:10px;display:flex;align-items:center;gap:10px}.qtyPill{display:flex;align-items:center;gap:10px;background:#f0eef6;border-radius:999px;padding:6px 10px}.qtyBtn{width:26px;height:26px;border-radius:999px;border:0;background:#ffffffb3;font-weight:950;color:#4b4b58}.qtyVal{min-width:18px;text-align:center;font-weight:950;color:#3b2b56}.addBtn{flex:1;border:0;border-radius:999px;padding:12px 14px;background:var(--purple);color:#fff;font-weight:950}.rcodevSignature{margin-top:40px;margin-bottom:10px;text-align:center;color:#888;font-size:13px;display:flex;flex-direction:column;align-items:center;gap:8px}.rcodevLinks{display:flex;gap:14px;font-size:22px}.rcodevLinks a{text-decoration:none;transition:transform .2s ease}.rcodevLinks a:hover{transform:scale(1.2)}.footer{position:fixed;left:0;right:0;bottom:0;background:#fff;border-top:1px solid rgba(0,0,0,.08);z-index:60}.footerInner{max-width:var(--container);margin:0 auto;padding:10px 14px;display:flex;justify-content:space-around;align-items:center;position:relative}.tab{text-decoration:none;color:#0000008c;font-weight:900;font-size:12px;display:grid;gap:4px;place-items:center;padding:6px 10px;border-radius:12px;position:relative}.tabActive{color:var(--purple)}.cartTitle{font-size:26px;color:var(--purple);font-weight:950;display:flex;align-items:center;gap:10px;margin:0 0 10px}.cartList{display:grid;gap:14px}.cartRow{background:#fff;border-radius:18px;padding:12px;box-shadow:var(--shadowSoft);display:flex;align-items:center;gap:12px}.cartThumb{width:62px;height:62px;border-radius:14px;overflow:hidden;background:#f2f2f5;flex:0 0 auto}.cartInfo{flex:1;min-width:0}.cartName{font-weight:950}.cartUnit{font-size:12px;color:#0000008c}.cartLinePrice{font-weight:950;color:var(--purple);margin-top:2px}.cartRight{display:flex;align-items:center;gap:10px}.trashBtn{border:0;background:transparent;font-size:18px;color:#e11d48}.totalBox{background:#fff;border-radius:18px;box-shadow:var(--shadowSoft);padding:14px;display:flex;align-items:center;justify-content:space-between;gap:12px}.totalLabel{font-weight:950}.totalValue{font-weight:950;color:var(--purple);font-size:26px}.checkoutBtn{width:100%;border:0;border-radius:999px;padding:14px 16px;background:var(--purple);color:#fff;font-weight:950;margin-top:12px}.modalOverlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;align-items:center;justify-content:center;padding:12px;z-index:9997}.modalCard{width:100%;max-width:520px;background:#fff;border-radius:18px;padding:16px;box-shadow:var(--shadow)}.modalHeader{display:flex;align-items:center;justify-content:space-between;gap:10px}.modalTitle{font-size:22px;font-weight:950;color:var(--purple)}.closeBtn{border:0;background:transparent;font-size:20px;cursor:pointer}.formGrid{margin-top:12px;display:grid;gap:12px}.label{font-size:13px;font-weight:900}.control{width:100%;border:1px solid rgba(0,0,0,.12);border-radius:12px;padding:12px;outline:none;background:#fbfbfd}.control:focus{border-color:#6f2ca666;box-shadow:0 0 0 4px #6f2ca61f}.totalCard{background:#f1edf8;border-radius:14px;padding:14px;text-align:center}.totalCard .t1{font-size:13px;color:#0000008c;font-weight:900}.totalCard .t2{font-size:28px;color:var(--purple);font-weight:950;margin-top:6px}.modalPrimary{width:100%;border:0;border-radius:999px;padding:14px 16px;background:var(--purple);color:#fff;font-weight:950}.emptyState{min-height:calc(100vh - 170px);display:grid;place-items:center;text-align:center;color:#0009;padding:18px}.emptyState h3{margin:0;color:#000000b8;font-weight:950}.emptyState p{margin:8px 0 0}.centerWrap{min-height:calc(100vh - 170px);display:grid;place-items:center;padding:14px}.authCard{width:100%;max-width:520px;background:#fff;border-radius:18px;box-shadow:var(--shadow);padding:16px;border:1px solid rgba(0,0,0,.06)}.authTitle{font-size:22px;font-weight:950;color:var(--purple);margin:0 0 12px}.authActions{display:grid;gap:10px}.adminFab{position:fixed;right:14px;bottom:88px;z-index:80;background:var(--purple);color:#fff;border-radius:999px;padding:12px 14px;font-weight:950;text-decoration:none;box-shadow:0 12px 24px #0000002e;display:inline-flex;align-items:center;gap:10px}.adminFab span{font-size:18px}.toastStack{position:fixed;right:12px;bottom:12px;display:grid;gap:10px;z-index:9999;max-width:440px}.toastItem{padding:14px 16px;border-radius:16px;box-shadow:0 10px 24px #00000024;border:1px solid rgba(0,0,0,.06);font-weight:700;font-size:15px;line-height:1.25}@media (max-width: 420px){.headerInner{gap:10px;padding:10px}.brandTitle{font-size:13px}.searchWrap{padding:9px 12px}.cardMedia{height:170px}.page{padding-left:10px;padding-right:10px}.adminFab{right:10px;bottom:86px;padding:11px 12px}}
