:root {
  --bit-primary: #E50071;
  --bit-bg: #FFFFFF;
  --bit-text: #000000;
  --bit-muted: #EBEBEB;
  --bit-error: #b00020;
  --bit-success: #0a7c2c;
}
* { box-sizing: border-box; }
body {
  font-family: 'Inter', 'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  background: var(--bit-bg);
  color: var(--bit-text);
  margin: 0;
  padding: 0 1rem;
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
}
header { padding: 2rem 0 1rem; border-bottom: 1px solid var(--bit-muted); }
header h1 { color: var(--bit-primary); margin: 0 0 .5rem; }
.cta { background: var(--bit-muted); padding: 1rem; border-radius: 8px; margin: 1rem 0; }
.mode-heading { margin: 1.5rem 0 .25rem; font-size: 1rem; color: #555; text-transform: uppercase; letter-spacing: .05em; }
table { width: 100%; border-collapse: collapse; margin: 0 0 1rem; }
th, td { text-align: left; padding: .5rem .75rem; border-bottom: 1px solid var(--bit-muted); }
th { font-weight: 600; color: #555; }
.badge { display: inline-block; padding: .125rem .5rem; border-radius: 999px; background: var(--bit-muted); font-size: .75rem; }
.badge.available { background: var(--bit-primary); color: #fff; }
form.key-form { display: flex; gap: .5rem; max-width: 520px; margin: 1rem 0; }
form.key-form input { flex: 1; padding: .5rem; border: 1px solid var(--bit-muted); border-radius: 4px; }
form.key-form button { padding: .5rem 1rem; background: var(--bit-primary); color: #fff; border: 0; border-radius: 4px; cursor: pointer; }
.error { color: var(--bit-error); padding: .5rem 0; }
.balance { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1rem; margin: 1rem 0; }
.balance .card { border: 1px solid var(--bit-muted); padding: 1rem; border-radius: 8px; }
.balance .card h3 { margin: 0 0 .5rem; color: var(--bit-primary); font-size: 1rem; }
.balance .card .spend { font-size: 1.5rem; font-weight: 600; }
.balance .card progress { width: 100%; margin-top: .5rem; }
.balance .card.error { color: var(--bit-muted); }
.prices-search { width: 100%; max-width: 400px; padding: .5rem; border: 1px solid var(--bit-muted); border-radius: 4px; margin: .75rem 0; font-size: .95rem; }
.prices-scroll { max-height: 70vh; overflow-y: auto; border: 1px solid var(--bit-muted); border-radius: 8px; padding: 0 .75rem; }
.prices-scroll th { position: sticky; top: 0; background: var(--bit-bg); z-index: 1; }
.prices-scroll .mode-heading { position: sticky; top: 0; background: var(--bit-bg); z-index: 2; padding-top: .5rem; }
.prices-scroll tr.hidden, .prices-scroll .mode-heading.hidden, .prices-scroll table.hidden { display: none; }
.prices-scroll table { margin: 0; }
