/* Wallet shares the app's theme and palette, including dialogs outside its root. */
.wallet-next {
  --w-bg:var(--bg); --w-panel:var(--surface); --w-ink:var(--text);
  --w-muted:var(--muted); --w-line:var(--line); --w-teal:var(--accent);
  --w-soft:var(--surface-2); --w-expense:var(--danger);
  --wallet-card:var(--surface); --wallet-card-soft:var(--surface-2);
  --wallet-border:var(--line); --wallet-shadow:0 4px 14px rgba(0,0,0,.07);
  background:var(--bg); font-family:var(--font);
}
.wallet-register-flow {
  --wr-bg:var(--bg); --wr-panel:var(--surface); --wr-ink:var(--text);
  --wr-muted:var(--muted); --wr-line:var(--line); --wr-teal:var(--accent);
  --wr-mint:var(--lime); --wr-expense:var(--danger);
  background:var(--wr-bg); font-family:var(--font);
}
:root .wallet-next, :root .wallet-register-flow { color-scheme:dark; }
:root[data-theme="light"] .wallet-next,
:root[data-theme="light"] .wallet-register-flow { color-scheme:light; }
.wallet-next .w-primary, .wallet-next nav button.active {
  background:var(--accent); color:var(--accent-ink); border-color:transparent;
  box-shadow:none;
}
.wallet-next .w-dot { background:var(--accent); }
.wallet-next .w-account {
  background:var(--surface); color:var(--text);
  border:1px solid var(--line); border-top:4px solid var(--wallet-account,var(--accent));
}
.wallet-next .w-account small { color:var(--muted); }
.wallet-next .w-command-balance, .wallet-next .w-balance,
.wallet-register-flow .wallet-register-hero,
.wallet-register-flow[data-mode] .wallet-register-hero {
  background:linear-gradient(135deg,var(--surface),color-mix(in srgb,var(--brand) 20%,var(--surface)));
  color:var(--text); border:1px solid var(--line); box-shadow:none;
}
.wallet-next .w-command-balance .w-eyebrow,
.wallet-next .w-command-balance span, .wallet-next .w-balance .w-eyebrow,
.wallet-next .w-balance p, .wallet-next .w-balance small { color:var(--muted); }
.wallet-next .w-projected { border-color:var(--line); }
.wallet-next .w-projected strong { color:var(--accent); }
.wallet-register-flow .wallet-register-bar span,
.wallet-register-flow .wallet-register-balance span,
.wallet-register-flow .wallet-amount-input span,
.wallet-register-flow .wallet-amount-input em { color:var(--muted); }
.wallet-register-flow .wallet-register-bar button,
.wallet-register-flow .wallet-quick-amounts button {
  background:var(--surface-2); color:var(--text); border:1px solid var(--line);
}
.wallet-register-flow .wallet-register-bar [data-wallet-submit] {
  background:var(--accent); color:var(--accent-ink); border-color:transparent;
}
.wallet-register-flow .wallet-register-mode { background:var(--surface-2); }
.wallet-register-flow .wallet-register-mode button { color:var(--muted); }
.wallet-register-flow .wallet-register-mode button.active,
.wallet-register-flow .wallet-category-pills button.active {
  background:var(--accent); color:var(--accent-ink); border-color:var(--accent);
}
.wallet-register-flow .wallet-register-balance {
  background:var(--surface); border-color:var(--line);
}
.wallet-register-flow .wallet-register-panel,
.wallet-smart-card, .wallet-config-card, .wallet-recent {
  background:var(--surface); color:var(--text); border-color:var(--line); box-shadow:none;
}
.wallet-register-flow input, .wallet-register-flow select, .wallet-register-flow textarea {
  background:var(--surface-2); color:var(--text); border-color:var(--line);
}
.wallet-register-flow .wallet-amount-input input {
  font-size:clamp(34px,8vw,56px); font-weight:650; line-height:1.2;
}
.wallet-register-flow .wallet-account-pill.active {
  background:var(--surface-2); color:var(--text); border-color:var(--accent);
  box-shadow:inset 0 0 0 1px var(--accent);
}
.wallet-choice.active { background:var(--accent); color:var(--accent-ink); border-color:var(--accent); }
.modal-bg:has(.wallet-register-flow) .modal { background:var(--bg); }
.wallet-next :is(button,input,select):focus-visible,
.wallet-register-flow :is(button,input,select,textarea):focus-visible {
  outline:3px solid var(--accent); outline-offset:3px;
}
.wallet-register-flow #wallet-error { color:var(--danger); padding-inline:12px; }
.wallet-register-flow button:disabled { opacity:.55; cursor:wait; }
.wallet-next .w-chart-canvas svg text { font-family:var(--font); }
@media(max-width:760px) {
  .wallet-next { background:var(--bg); }
  .wallet-register-flow .wallet-register-hero { border-inline:0; border-top:0; }
}
