:root[data-theme="dark"] {
  --ink: #edf1f6;
  --muted: #b3bdca;
  --line: #3b4654;
  --bg: #10151c;
  --red: #ff777e;
  --green: #8cddb0;
}
[data-theme="dark"]
  :is(.topbar, .sidebar, .card, .catalog, .bottom-nav, dialog) {
  background: #1a222d;
  color: var(--ink);
}
[data-theme="dark"]
  :is(
    .btn.secondary,
    .icon-button,
    .field input,
    .field select,
    .field textarea
  ) {
  background: #202b38;
  color: var(--ink);
  border-color: #8291a3;
}
[data-theme="dark"] .btn:not(.secondary):not(.text-btn):not(.dark) {
  background: #f77c83;
  color: #291014;
  border-color: #f77c83;
}
[data-theme="dark"] :is(.btn.dark, .wallet-summary, .balance-card) {
  background: #273443;
  color: #fff;
}
[data-theme="dark"] .wallet-top .btn {
  background: #fff;
  color: #18212b;
}
[data-theme="dark"] :is(.bottom-nav a.active, .navlink.active) {
  background: #432b36;
  color: #ff969c;
}
[data-theme="dark"] :is(.info-box, .space-code, .schedule-cell, th, .avatar) {
  background: #283444;
  color: #d8e2ef;
}
[data-theme="dark"] .form-error,
[data-theme="dark"] .pill.danger {
  background: #482b31;
  color: #ffb9bd;
}
[data-theme="dark"] .pill {
  background: #233b30;
  color: #a8e6bf;
}
[data-theme="dark"] .pill.info {
  background: #293c51;
  color: #c6ddf5;
}
[data-theme="dark"] :is(.pill.warning, .schedule-cell.next) {
  background: #44361d;
  color: #f1d496;
}
[data-theme="dark"] .schedule-cell.done {
  background: #233b30;
  color: #a8e6bf;
}
[data-theme="dark"] .service-nav a:hover {
  background: #2b3747;
}
[data-theme="dark"] .progress {
  background: #3b4654;
}
[data-theme="dark"] .skip-link {
  background: #1a222d;
  color: #fff;
}
[data-theme="dark"] #toast {
  background: #e8eef5;
  color: #18212b;
}
[data-theme="dark"] .refresh-warning {
  color: #f1d496;
}
[data-theme="dark"]
  :is(a, button, input, select, textarea, summary):focus-visible {
  outline-color: #95c7ff;
}
.theme-choices {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin: 12px 0;
}
.theme-choices button[aria-pressed="true"] {
  outline: 2px solid var(--red);
  outline-offset: 1px;
}
.auth-theme {
  margin-top: 20px;
}
.member-pass {
  background: #fff;
  color: #18212b;
  border: 1px solid #dce1e5;
  border-radius: 12px;
  padding: 20px;
}
.member-pass .brand {
  width: 240px;
  max-width: 100%;
}
.member-pass h3 {
  margin: 16px 0 4px;
  font-size: 1.25rem;
}
.member-pass .member-qr {
  background: white;
  width: 208px;
  max-width: 100%;
  margin: 16px auto 8px;
}
.member-qr svg {
  width: 100%;
  height: auto;
  display: block;
}
.member-pass .small {
  color: #596474;
}
.card-status {
  max-width: 480px;
  margin: 32px auto;
  padding: 20px;
}
.card-status h1 {
  margin-bottom: 16px;
}
@media print {
  .theme-choices,
  .auth-theme {
    display: none;
  }
  .member-pass {
    break-inside: avoid;
  }
}

.member-selector {
  max-width: 420px;
  margin: 0 0 16px;
}
