  :root {
    --bg:#0a0a0c; --panel:#131317; --border:#26262d; --silver:#c9cdd6;
    --brass:#b98d3e; --text:#e7e7ea; --muted:#9a9aa4; --green:#3fae5e; --red:#c04949; --amber:#c9982f;
  }
  * { box-sizing:border-box; }
  [hidden] { display:none !important; }
  body { margin:0; background:var(--bg); color:var(--text); font-family:'Inter',-apple-system,sans-serif; padding:24px; }
  .wrap { max-width:760px; margin:0 auto; }
  .wordmark { font-family:'Cinzel',serif; font-weight:700; letter-spacing:.08em; color:var(--silver); font-size:1.1rem; margin-bottom:6px; }
  .wordmark span { color:var(--brass); }
  h1, h2 { margin:0 0 6px; color:#fff; font-size:1.25rem; }
  a { color:var(--brass); }
  .card { background:var(--panel); border:1px solid var(--border); border-radius:10px; padding:24px; margin-top:18px; }
  .notice { background:#0d0d10; border:1px solid var(--border); border-radius:6px; padding:12px 14px; font-size:.85rem; color:var(--muted); margin-top:14px; }
  .notice.amber { border-color:rgba(201,152,47,.4); color:var(--amber); }
  .item { display:flex; gap:12px; align-items:center; justify-content:space-between; padding:12px 0; border-bottom:1px solid var(--border); }
  .item:last-child { border-bottom:none; }
  .item .name { font-weight:600; }
  .item .brand, .item .sub { color:var(--muted); font-size:.82rem; }
  .price { white-space:nowrap; font-variant-numeric:tabular-nums; }
  button { background:var(--brass); color:#171208; border:none; border-radius:6px; padding:10px 16px; font-weight:600; cursor:pointer; font-size:.92rem; }
  button.secondary { background:transparent; border:1px solid var(--border); color:var(--text); }
  button:disabled { opacity:.5; cursor:not-allowed; }
  label { display:block; font-size:.82rem; color:var(--muted); margin:12px 0 5px; }
  input, select { width:100%; background:#0d0d10; border:1px solid var(--border); border-radius:6px; color:var(--text); padding:10px 12px; font-size:.95rem; }
  input.qty { width:72px; }
  .row { display:flex; gap:10px; flex-wrap:wrap; }
  .row > div { flex:1; min-width:120px; }
  .totals { margin-top:14px; font-variant-numeric:tabular-nums; }
  .totals div { display:flex; justify-content:space-between; padding:3px 0; }
  .totals .grand { font-weight:700; border-top:1px solid var(--border); margin-top:6px; padding-top:8px; }
  .error { color:var(--red); font-size:.88rem; min-height:1.1em; margin-top:10px; }
  .ok { color:var(--green); }
  .bar { display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; }
  .lock { font-size:.75rem; color:var(--muted); margin-top:12px; }
