/* account.css — Account screen. The trustworthy back-of-house. */

.account {
  padding: calc(env(safe-area-inset-top, 0px) + 26px) 20px
    calc(var(--tabbar-h) + env(safe-area-inset-bottom, 0px) + 32px);
  display: flex;
  flex-direction: column;
  gap: 26px;
}

/* ---------- signed out ---------- */
.acc-signedout {
  min-height: 70dvh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 14px;
}
.acc-so-title { font-size: clamp(46px, 15vw, 72px); }
.acc-so-sub { color: var(--grey); font-size: 15px; margin: -4px 0 6px; }

/* ---------- header ---------- */
.acc-head { display: flex; flex-direction: column; gap: 3px; }
.acc-username { font-size: 28px; line-height: 1; }
.acc-email { font-size: 11px; color: var(--grey); letter-spacing: .02em; }

/* ---------- section labels ---------- */
.acc-section-label {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .14em;
  color: var(--grey);
  margin: 0 0 12px;
}

/* ---------- balance ---------- */
.acc-balance { display: flex; flex-direction: column; gap: 4px; }
.acc-bal-label {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .14em;
  color: var(--grey);
}
.acc-bal-amount {
  font-size: 40px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: -.01em;
  color: var(--ink);
}
.acc-bal-actions {
  display: flex;
  gap: 10px;
  margin-top: 12px;
}
.acc-bal-actions .btn-primary,
.acc-bal-actions .btn-ghost { flex: 1 1 0; }

/* ---------- ledger ---------- */
.acc-ledger-empty {
  font-size: 13px;
  color: var(--grey);
  letter-spacing: .02em;
}
.acc-ledger-table { display: flex; flex-direction: column; }
.acc-ledger-row {
  display: grid;
  grid-template-columns: 64px 1fr auto;
  align-items: baseline;
  gap: 10px;
  padding: 10px 0;
  border-bottom: 1px solid var(--hairline);
  font-size: 12.5px;
}
.acc-ledger-row:first-child { border-top: 1px solid var(--hairline); }
.acc-led-date { color: var(--grey); letter-spacing: .04em; }
.acc-led-type {
  color: var(--ink);
  letter-spacing: .08em;
  font-weight: 500;
}
.acc-led-amt {
  text-align: right;
  font-weight: 600;
  letter-spacing: .01em;
}
.acc-led-amt.is-credit { color: var(--ink); }
.acc-led-amt.is-debit { color: var(--grey); }

/* ---------- safer gambling ---------- */
.acc-control-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid var(--hairline);
}
.acc-control-row:first-of-type { border-top: 1px solid var(--hairline); }
.acc-control-info { display: flex; flex-direction: column; gap: 3px; }
.acc-control-name { font-size: 15px; font-weight: 600; color: var(--ink); }
.acc-control-val {
  font-size: 11.5px;
  color: var(--grey);
  letter-spacing: .03em;
}
.acc-control-btn {
  flex: 0 0 auto;
  padding: 8px 16px;
  font-size: 13px;
}
.acc-exclude-btn { color: var(--ink); border-color: rgba(26, 26, 28, .4); }

/* status banners (timed out / excluded) */
.acc-status-banner {
  border-radius: 14px;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.acc-status-banner.is-timeout {
  background: rgba(191, 217, 232, .22);
  border: 1px solid rgba(26, 26, 28, .12);
}
.acc-status-banner.is-excluded {
  background: rgba(26, 26, 28, .04);
  border: 1px solid rgba(26, 26, 28, .2);
}
.acc-status-title {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .06em;
  color: var(--ink);
}
.acc-status-note {
  font-size: 13px;
  line-height: 1.4;
  color: var(--grey);
}

/* ---------- demo tools ---------- */
.acc-demo { display: flex; flex-direction: column; gap: 10px; }
.acc-demo-btn { width: 100%; }

/* ---------- sheets ---------- */
.acc-sheet { display: flex; flex-direction: column; gap: 14px; padding-top: 4px; }
.acc-sheet-title { font-size: 30px; line-height: 1; }
.acc-sheet-sub {
  font-size: 14px;
  line-height: 1.45;
  color: var(--grey);
  margin: -6px 0 0;
}
.acc-sheet-error { font-size: 12px; color: var(--sunrise); letter-spacing: .02em; }

.acc-field-wrap { display: flex; flex-direction: column; gap: 6px; }
.fl-label {
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: .12em;
  color: var(--grey);
}

.acc-sheet-processing { padding: 8px 0; }
.acc-processing-label { font-size: 13px; letter-spacing: .1em; color: var(--grey); }

.acc-sheet-done { display: flex; flex-direction: column; gap: 8px; }
.acc-done-title { font-size: 34px; color: var(--sunrise); line-height: 1; }
.acc-done-sub { font-size: 14px; font-weight: 600; letter-spacing: .02em; color: var(--ink); }
.acc-done-close { align-self: flex-start; margin-top: 4px; }

/* deposit limit sheet */
.acc-limit-opts { display: flex; flex-direction: column; gap: 10px; }
.acc-limit-opt { width: 100%; }
.acc-limit-custom { display: flex; flex-direction: column; gap: 6px; margin-top: 4px; }
.acc-limit-customrow { display: flex; gap: 10px; }
.acc-limit-input { flex: 1 1 auto; }
.acc-limit-set { flex: 0 0 auto; }
.acc-limit-clear { width: 100%; color: var(--grey); border-color: var(--hairline); }

/* confirm sheets */
.acc-confirm-actions { display: flex; flex-direction: column; gap: 10px; margin-top: 4px; }
.acc-confirm-actions .btn-primary,
.acc-confirm-actions .btn-ghost { width: 100%; }
.acc-exclude .acc-sheet-title { color: var(--ink); }
.acc-exclude-confirm { background: var(--ink); }
