:root{
  --bg:#07090c;--panel:#0f141a;--panel2:#151c24;--line:#223040;--text:#d8e2ea;--dim:#7d8b99;
  --green:#3dff9a;--amber:#ffbf3d;--red:#ff4d5e;--cyan:#3dd8ff;--violet:#b18cff;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--sans:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  --r:14px;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);-webkit-tap-highlight-color:transparent}
body{min-height:100dvh}
a{color:var(--cyan)}
button{font:inherit;color:inherit;cursor:pointer;border:1px solid var(--line);background:var(--panel2);border-radius:10px;padding:.6em 1em}
button:disabled{opacity:.4;cursor:default}
input,select,textarea{font:inherit;color:var(--text);background:#0a0e13;border:1px solid var(--line);border-radius:8px;padding:.5em .6em;width:100%}
input:focus,select:focus,textarea:focus,button:focus-visible{outline:2px solid var(--cyan);outline-offset:1px}
.mono{font-family:var(--mono)}
.dim{color:var(--dim)}
.tiny{font-size:.75rem}
.hidden{display:none!important}
.row{display:flex;gap:.5rem;align-items:center}
.grow{flex:1}
.badge{display:inline-block;font-family:var(--mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;padding:.15em .5em;border-radius:6px;border:1px solid currentColor}
.v-buy,.s-secured{color:var(--green)} .v-maybe{color:var(--amber)} .v-skip,.s-burned{color:var(--red)}
.s-queued{color:var(--cyan)} .s-returned{color:var(--violet)} .s-flagged{color:var(--amber)} .t-unknown{color:var(--dim)}
.scan{background:repeating-linear-gradient(0deg,rgba(255,255,255,.015) 0 1px,transparent 1px 3px)}
.brand-mark{font-family:var(--mono);font-weight:700;letter-spacing:.18em;font-size:.85rem}
.brand-mark b{color:var(--green)}
.toast{position:fixed;left:50%;bottom:calc(84px + env(safe-area-inset-bottom));transform:translateX(-50%);background:#111a22;border:1px solid var(--line);padding:.8em 1em;border-radius:12px;z-index:60;display:flex;gap:1em;align-items:center;max-width:92vw;box-shadow:0 8px 30px #000a}
.sheet-bg{position:fixed;inset:0;background:#000a;z-index:50;display:flex;align-items:flex-end;justify-content:center}
.sheet{background:var(--panel);border:1px solid var(--line);border-radius:18px 18px 0 0;padding:1.2rem;width:100%;max-width:560px;padding-bottom:calc(1.2rem + env(safe-area-inset-bottom))}
.sheet h3{margin:.2rem 0 1rem;font-family:var(--mono);letter-spacing:.1em;font-size:.95rem}
.chips{display:flex;flex-wrap:wrap;gap:.5rem}
.chip{border-radius:999px;padding:.55em 1em}
.chip.on{border-color:var(--cyan);color:var(--cyan)}
/* login */
.login{max-width:380px;margin:12vh auto;padding:1.5rem}
.login h1{font-family:var(--mono);letter-spacing:.2em;font-size:1.1rem}
.login input{font-size:1.2rem;padding:.8em;margin:.4rem 0}
.login button{width:100%;padding:.9em;font-size:1.1rem;margin-top:.6rem;background:#0f2a1d;border-color:var(--green);color:var(--green)}
