:root{--bg:#f4f5f7;--surface:#fff;--border:#dfe1e6;--text:#171716;--text-muted:#5e6c84;--primary:#bf0000;--primary-hover:#970000;--navy:#0e1b2e;--danger:#de350b;--success:#064;--radius:10px;--shadow:0 1px 2px #091e4226, 0 0 1px #091e4233;--max-width:1180px}*{box-sizing:border-box}html,body{height:100%}body{background:var(--bg);color:var(--text);margin:0;font-family:-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font-family:inherit;font-size:inherit}img{display:block}.container{max-width:var(--max-width);margin:0 auto;padding:0 16px}.site-header{background:var(--navy);color:#fff;z-index:20;position:sticky;top:0}.site-header-inner{max-width:var(--max-width);align-items:center;gap:16px;margin:0 auto;padding:12px 16px;display:flex}.site-logo{letter-spacing:.3px;white-space:nowrap;font-size:18px;font-weight:700}.site-logo small{color:#b7c0cc;font-size:11px;font-weight:400;display:block}.site-nav{align-items:center;gap:18px;margin-left:auto;display:flex}.site-nav a{color:#dfe4ea;align-items:center;gap:6px;font-size:14px;display:flex}.site-nav a:hover{color:#fff}.cart-badge{background:var(--primary);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:700;display:inline-flex}.site-footer{text-align:center;color:var(--text-muted);border-top:1px solid var(--border);margin-top:48px;padding:24px 16px;font-size:13px}.btn{border-radius:var(--radius);background:var(--primary);color:#fff;cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:10px 18px;font-weight:600;display:inline-flex}.btn:hover{background:var(--primary-hover)}.btn:disabled{opacity:.6;cursor:default}.btn-secondary{background:var(--surface);border-color:var(--border);color:var(--text)}.btn-secondary:hover{background:var(--bg)}.btn-outline{border-color:var(--primary);color:var(--primary);background:0 0}.btn-block{width:100%}.btn-sm{padding:6px 12px;font-size:13px}.field{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.field label{color:var(--text-muted);font-size:13px;font-weight:600}.field input,.field textarea,.field select{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);padding:10px 12px}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--primary);outline:none}.form-error{color:var(--danger);border-radius:var(--radius);background:#fff0ee;border:1px solid #ffbdad;margin-bottom:14px;padding:10px 14px;font-size:14px}.form-success{color:var(--success);border-radius:var(--radius);background:#e3fcef;border:1px solid #abf5d1;margin-bottom:14px;padding:10px 14px;font-size:14px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.page-title{margin:20px 0 14px;font-size:22px;font-weight:700}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.toolbar input[type=search]{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);flex:1;min-width:200px;padding:10px 14px}.chip-row{flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex}.chip{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);white-space:nowrap;border-radius:999px;padding:6px 14px;font-size:13px}.chip.active{background:var(--primary);border-color:var(--primary);color:#fff}.product-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;display:grid}.product-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;display:flex;overflow:hidden}.product-card:hover{border-color:var(--primary)}.product-thumb{aspect-ratio:1;color:var(--text-muted);background:#eef0f2 50%/cover no-repeat;justify-content:center;align-items:center;font-size:12px;display:flex}.product-body{flex-direction:column;flex:1;gap:4px;padding:10px 12px 12px;display:flex}.product-name{min-height:2.7em;font-size:14px;font-weight:600;line-height:1.35}.product-price{color:var(--primary);margin-top:auto;font-weight:700}.product-stock{color:var(--text-muted);font-size:12px}.empty-state{text-align:center;color:var(--text-muted);padding:60px 20px}.pagination{justify-content:center;gap:8px;margin:24px 0;display:flex}.product-detail{grid-template-columns:1fr 1fr;gap:32px;margin:20px 0 40px;display:grid}@media (max-width:720px){.product-detail{grid-template-columns:1fr}}.product-detail-img{aspect-ratio:1;border-radius:var(--radius);background:#eef0f2 50%/cover no-repeat}.product-detail-price{color:var(--primary);margin:10px 0;font-size:26px;font-weight:800}.product-mo-ta-chi-tiet{color:var(--text);line-height:1.7}.product-mo-ta-chi-tiet img,.product-mo-ta-chi-tiet video{border-radius:var(--radius);max-width:100%;height:auto;margin:8px 0}.product-mo-ta-chi-tiet table{border-collapse:collapse;max-width:100%;display:block;overflow-x:auto}.product-mo-ta-chi-tiet td,.product-mo-ta-chi-tiet th{border:1px solid var(--border);padding:6px 10px}.product-mo-ta-chi-tiet iframe{border-radius:var(--radius);aspect-ratio:16/9;border:none;max-width:100%;margin:8px 0}.qty-row{align-items:center;gap:10px;margin:16px 0;display:flex}.qty-row button{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius);cursor:pointer;width:36px;height:36px;font-size:18px}.qty-row input{text-align:center;border:1px solid var(--border);border-radius:var(--radius);width:60px;padding:8px}.cart-row{border-bottom:1px solid var(--border);grid-template-columns:64px 1fr auto auto auto;align-items:center;gap:12px;padding:12px 0;display:grid}.cart-row img{object-fit:cover;background:#eef0f2;border-radius:8px;width:64px;height:64px}.cart-summary{justify-content:space-between;align-items:center;padding:16px 0;font-size:18px;font-weight:700;display:flex}.checkout-grid{grid-template-columns:1.3fr 1fr;gap:24px;margin:20px 0 40px;display:grid}@media (max-width:800px){.checkout-grid{grid-template-columns:1fr}}.order-line{color:var(--text-muted);justify-content:space-between;padding:6px 0;font-size:14px;display:flex}.order-line strong{color:var(--text)}.order-card{margin-bottom:12px;padding:16px}.order-card-head{justify-content:space-between;align-items:baseline;margin-bottom:6px;display:flex}.order-id{font-weight:700}.status-badge{color:#0052cc;background:#deebff;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-block}
