:root{--brand:#ee4d2d;--brand-dark:#d73211;--bg:#f5f5f5;--card:#fff;--text:#222;--muted:#757575;--line:#e8e8e8;--ok:#16a34a}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text)}a{color:inherit;text-decoration:none}.wrap{max-width:1200px;margin:0 auto;padding:0 16px}.main{padding-top:20px;padding-bottom:40px;min-height:70vh}.header{background:linear-gradient(-180deg,#f53d2d,#f63);color:#fff;position:-webkit-sticky;position:sticky;top:0;z-index:10}.header-in{display:flex;gap:16px;align-items:center;height:64px}.logo{font-weight:800;font-size:22px;white-space:nowrap}.search{flex:1 1}.search input{width:100%;padding:10px 12px;border:0;border-radius:4px;font-size:15px}.cart-link{white-space:nowrap;font-weight:600}.badge{color:var(--brand);border-radius:10px;padding:1px 7px;font-size:13px;margin-left:4px}.badge,.footer{background:#fff}.footer{border-top:4px solid var(--brand);color:var(--muted);padding:24px 0;font-size:14px}.chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.chip{padding:6px 14px;border-radius:16px;background:#fff;border:1px solid var(--line);font-size:14px}.chip.on{background:var(--brand);color:#fff;border-color:var(--brand)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));grid-gap:12px;gap:12px}.card{background:var(--card);border-radius:4px;overflow:hidden;border:1px solid transparent;transition:.15s;display:flex;flex-direction:column}.card:hover{border-color:var(--brand);transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,0,0,.08)}.card img{width:100%;aspect-ratio:1;object-fit:cover;display:block}.card-body{padding:8px 10px 12px;display:flex;flex-direction:column;gap:6px;flex:1 1}.card-name{font-size:14px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:38px}.price{color:var(--brand);font-weight:600}.old{text-decoration:line-through;font-size:13px;margin-left:6px;font-weight:400}.meta,.old{color:var(--muted)}.meta{display:flex;justify-content:space-between;margin-top:auto}.meta,.off{font-size:12px}.off{background:#fff4f2;color:var(--brand);padding:1px 4px;border-radius:2px}.panel{background:#fff;border-radius:4px;padding:20px;margin-bottom:16px}.pd{display:grid;grid-template-columns:420px 1fr;grid-gap:28px;gap:28px}.pd img{width:100%;border-radius:4px}.pd h1{font-size:22px;font-weight:500;margin:0 0 10px}.pd .bigprice{background:#fafafa;padding:14px 18px;font-size:28px;color:var(--brand);margin:12px 0}.row{display:flex;gap:12px;align-items:center;margin:14px 0;flex-wrap:wrap}.row>label:first-child{width:110px;color:var(--muted)}.opt{padding:8px 14px;border:1px solid var(--line);background:#fff;border-radius:2px;cursor:pointer;font-size:14px}.opt.on{border-color:var(--brand);color:var(--brand)}.qty{display:inline-flex;border:1px solid var(--line)}.qty button{width:32px;height:32px;border:0;background:#fff;cursor:pointer;font-size:16px}.qty input{width:48px;border:0;border-left:1px solid var(--line);border-right:1px solid var(--line)}.btn,.qty input{text-align:center}.btn{display:inline-block;padding:12px 22px;border-radius:2px;border:1px solid var(--brand);background:var(--brand);color:#fff;font-size:15px;cursor:pointer}.btn:hover{background:var(--brand-dark)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.ghost{background:#fff4f2;color:var(--brand)}.btn.sm{padding:6px 12px;font-size:13px}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:12px 8px;border-bottom:1px solid var(--line);vertical-align:middle;font-size:14px}th{color:var(--muted);font-weight:500}.thumb{width:64px;height:64px;object-fit:cover;border-radius:2px}.co{display:grid;grid-template-columns:1fr 380px;grid-gap:16px;gap:16px;align-items:start}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field input,.field select,.field textarea{padding:10px 12px;border:1px solid #ccc;border-radius:2px;font-size:15px;font-family:inherit}.pay{display:flex;gap:10px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:4px;margin-bottom:8px;cursor:pointer}.pay.on{border-color:var(--brand);background:#fff8f6}.pay small{color:var(--muted);display:block}.sum{display:flex;justify-content:space-between;margin:8px 0}.sum.total{font-size:20px;color:var(--brand);border-top:1px solid var(--line);padding-top:12px}.err{color:#c00;font-size:14px}.tag{display:inline-block;padding:2px 8px;border-radius:10px;font-size:12px;background:#eee}.tag.pending{background:#fef3c7;color:#92400e}.tag.completed,.tag.paid{background:#dcfce7;color:#166534}.tag.confirmed,.tag.shipping{background:#dbeafe;color:#1e40af}.tag.cancelled{background:#fee2e2;color:#991b1b}.qr{display:grid;grid-template-columns:260px 1fr;grid-gap:20px;gap:20px;align-items:center}.qr img{width:100%;border:1px solid var(--line);border-radius:4px}.muted{color:var(--muted)}@media (max-width:800px){.co,.pd,.qr{grid-template-columns:1fr}.header-in{gap:10px}.logo{font-size:17px}.grid{grid-template-columns:repeat(2,1fr)}.hide-sm{display:none}}.pd .main-img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:4px;background:#fafafa}.thumbs{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:6px;gap:6px;margin-top:8px}.thumbs img{width:100%;aspect-ratio:1;object-fit:cover;border:2px solid transparent;border-radius:2px;cursor:pointer}.thumbs img.on{border-color:var(--brand)}.opt{display:inline-flex;align-items:center;gap:6px}.opt:disabled{color:#bbb;background:#fafafa;cursor:not-allowed;text-decoration:line-through}.opt-img{width:24px;height:24px;object-fit:cover;border-radius:2px}