/*
 * ZuriBet redesign - account area (dashboard, deposit, withdraw, history, settings).
 * Left: logged-in card + account menu. Middle: panel with a navy title bar on a
 * white body. Right: the shared rail. Loaded after zb-theme.css / zb-mobile.css.
 */

/* ---------------------------------------------------------------- Left column */

body.zb-page .zb-acct {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  box-shadow: none;
}

.zb-acct__card {
  border-radius: var(--zb-radius-lg);
  background: #031124;
  overflow: hidden;
  box-shadow: 0 1px 2px rgba(3, 17, 36, 0.06), 0 4px 14px rgba(3, 17, 36, 0.05);
}

.zb-acct__who {
  padding: 14px 16px;
  background: #fff;
}

.zb-acct__who span,
.zb-acct__balance span {
  display: block;
  font-size: 14px;
}

.zb-acct__who span {
  color: #4a5b70;
}

.zb-acct__who strong {
  color: #031124;
  font-size: 18px;
  font-variant-numeric: tabular-nums;
}

body.zb-page .zb-acct__balance {
  display: block;
  padding: 14px 16px 6px;
  color: #fff;
  text-decoration: none;
}

.zb-acct__balance span {
  color: #b9c6d6;
}

.zb-acct__balance strong {
  color: var(--zb-gold, #f5b42a);
  font-size: 20px;
  font-variant-numeric: tabular-nums;
}

body.zb-page .zb-acct__deposit {
  width: calc(100% - 32px);
  margin: 8px 16px 16px;
}

body.zb-page .zb-acct__nav {
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 0 0 6px;
  border: 0;
  border-radius: var(--zb-radius-lg);
  background: #fff;
  overflow: hidden;
  box-shadow: 0 1px 2px rgba(3, 17, 36, 0.06), 0 4px 14px rgba(3, 17, 36, 0.05);
}

.zb-acct__nav-title {
  margin: 0 0 4px;
  padding: 12px 16px;
  background: #031124;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

body.zb-page .zb-acct__nav a,
body.zb-page .zb-acct__nav .zb-acct__logout button {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 46px;
  margin: 0;
  padding: 0 16px;
  border: 0;
  border-left: 3px solid transparent;
  border-radius: 0;
  background: none;
  box-shadow: none;
  color: #0b1b2f;
  font-size: 15px;
  font-weight: 500;
  text-align: left;
  text-decoration: none;
}

.zb-acct__nav a i,
.zb-acct__nav .zb-acct__logout i {
  width: 20px;
  color: #77869a;
  text-align: center;
}

body.zb-page .zb-acct__nav a:hover,
body.zb-page .zb-acct__nav .zb-acct__logout button:hover {
  background: #f4f7fb;
  color: #031124;
}

body.zb-page .zb-acct__nav a.is-active {
  border-left-color: var(--zb-red);
  background: #fdecec;
  color: #031124;
  font-weight: 700;
}

.zb-acct__nav a.is-active i {
  color: var(--zb-red);
}

body.zb-page .zb-acct__nav .zb-acct__logout {
  margin: 4px 0 0;
  padding-top: 4px;
  border-top: 1px solid #e1e7ef;
}

body.zb-page .zb-acct__nav .zb-acct__logout button {
  color: var(--zb-red);
}

/* ---------------------------------------------------------------- Panel */

.zb-acct__panel {
  border-radius: var(--zb-radius-lg);
  background: #fff;
  overflow: hidden;
  box-shadow: 0 1px 2px rgba(3, 17, 36, 0.06), 0 4px 14px rgba(3, 17, 36, 0.05);
}

body.zb-page .zb-acct__heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0;
  padding: 16px 24px;
  background: #031124;
}

body.zb-page .zb-acct__heading .account-heading__eyebrow {
  display: block;
  color: #93a4ba;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

body.zb-page .zb-acct__heading h1 {
  margin: 0;
  color: #fff;
  font-size: 22px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

body.zb-page .zb-acct__heading .account-heading__bet {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border-radius: var(--zb-radius);
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
  font-weight: 600;
  text-decoration: none;
  box-shadow: none;
}

body.zb-page .zb-acct__heading .account-heading__bet:hover {
  background: var(--zb-red);
}

.zb-acct__body {
  padding: 24px;
}

/* Legacy panel sections sit directly on the white body instead of their own navy slab. */
body.zb-page .zb-acct__body .account-section {
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
}

/* ---------------------------------------------------------------- Deposit */

body.zb-page .zb-acct__body .zb-dep {
  max-width: 640px;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  box-shadow: none;
  color: #0b1b2f;
}

.zb-dep__label {
  display: block;
  margin: 0 0 10px;
  color: #031124;
  font-size: 17px;
  font-weight: 700;
}

.zb-dep__methods {
  display: flex;
  gap: 12px;
  margin-bottom: 22px;
}

.zb-dep__method {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 150px;
  height: 64px;
  border: 2px solid #22a35a;
  border-radius: var(--zb-radius-lg);
  background: #f0faf4;
}

.zb-dep__method img {
  height: 28px;
  width: auto;
}

.zb-dep__method i {
  position: absolute;
  top: -9px;
  right: -9px;
  padding: 1px;
  border-radius: 50%;
  background: #fff;
  color: #22a35a;
  font-size: 18px;
}

body.zb-page .zb-dep .zb-dep__field {
  max-width: 360px;
  margin-bottom: 20px;
}

body.zb-page .zb-dep .zb-dep__field label {
  color: #031124;
  font-size: 15px;
  font-weight: 600;
}

body.zb-page .zb-dep .zb-dep__field input {
  height: 48px;
  border: 1px solid #d6dee8;
  border-radius: var(--zb-radius);
  background: #fff;
  color: #031124;
  font-size: 17px;
  font-weight: 600;
}

.zb-dep__amount {
  display: flex;
  align-items: stretch;
  max-width: 520px;
  height: 52px;
}

.zb-dep__amount > span {
  display: flex;
  align-items: center;
  padding: 0 14px;
  border: 1px solid #d6dee8;
  border-right: 0;
  border-radius: var(--zb-radius) 0 0 var(--zb-radius);
  background: #f4f7fb;
  color: #4a5b70;
  font-size: 14px;
  font-weight: 600;
}

body.zb-page .zb-dep__amount input {
  flex: 1;
  min-width: 0;
  height: auto;
  padding: 0 14px;
  border: 1px solid #d6dee8;
  border-radius: 0;
  background: #fff;
  color: #031124;
  font-size: 18px;
  font-weight: 700;
  outline: 0;
}

body.zb-page .zb-dep__amount input:focus {
  border-color: #031124;
}

body.zb-page .zb-dep__amount .zb-btn {
  min-height: 0;
  padding: 0 28px;
  border-radius: 0 var(--zb-radius) var(--zb-radius) 0;
  font-size: 17px;
}

.zb-dep__amount .zb-btn.is-loading {
  opacity: 0.75;
  pointer-events: none;
}

.zb-dep__limits {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 4px 16px;
  max-width: 520px;
  margin: 8px 0 14px;
  color: #77869a;
  font-size: 14px;
}

.zb-dep__limits strong {
  color: #031124;
}

.zb-dep__quick {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 18px;
}

.zb-dep__quick button {
  min-width: 72px;
  height: 38px;
  padding: 0 14px;
  border: 1px solid #d6dee8;
  border-radius: 999px;
  background: #fff;
  color: #031124;
  font-weight: 700;
}

.zb-dep__quick button:hover,
.zb-dep__quick button.is-active {
  border-color: var(--zb-red);
  background: #fdecec;
  color: var(--zb-red);
}

.zb-dep__how {
  display: flex;
  gap: 10px;
  max-width: 520px;
  margin: 0;
  color: #4a5b70;
  font-size: 14px;
}

.zb-dep__how i {
  margin-top: 2px;
  color: var(--zb-red);
}

.zb-dep__alt {
  max-width: 640px;
  margin-top: 26px;
  padding-top: 22px;
  border-top: 1px solid #e1e7ef;
}

.zb-dep__alt h2 {
  margin: 0 0 12px;
  color: #031124;
  font-size: 17px;
  font-weight: 700;
}

.zb-dep__alt ol {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 0;
  padding-left: 20px;
  color: #4a5b70;
  font-size: 15px;
}

.zb-dep__alt strong {
  color: #031124;
  font-size: 16px;
  font-variant-numeric: tabular-nums;
}

.zb-dep__alt button {
  margin-left: 6px;
  padding: 2px 10px;
  border: 1px solid #d6dee8;
  border-radius: 999px;
  background: #fff;
  color: #4a5b70;
  font-size: 12px;
  font-weight: 600;
}

/* Deposit: status strip, onboarding, prompt and manual cards on white */
body.zb-page .zb-acct__body .deposit-context-strip {
  max-width: 640px;
  margin-top: 26px;
  border: 1px solid #e1e7ef;
  border-radius: var(--zb-radius-lg);
  background: #f8fafc;
  color: #0b1b2f;
}

body.zb-page .zb-acct__body .deposit-context-strip span {
  color: #77869a;
}

body.zb-page .zb-acct__body .deposit-context-strip strong {
  color: #031124;
}

body.zb-page .zb-acct__body .deposit-context-strip em {
  color: #77869a;
}

body.zb-page .zb-acct__body .deposit-context-strip .account-status {
  color: #fff;
}

body.zb-page .zb-acct__body .deposit-onboarding,
body.zb-page .zb-acct__body .deposit-state-card,
body.zb-page .zb-acct__body .deposit-prompt-card,
body.zb-page .zb-acct__body .deposit-manual-card {
  max-width: 640px;
  margin-bottom: 20px;
  border: 1px solid #e1e7ef;
  border-radius: var(--zb-radius-lg);
  background: #fff;
  color: #0b1b2f;
  box-shadow: none;
}

body.zb-page .zb-acct__body .deposit-onboarding strong,
body.zb-page .zb-acct__body .deposit-state-card strong,
body.zb-page .zb-acct__body .deposit-prompt-card h2,
body.zb-page .zb-acct__body .deposit-manual-card h2,
body.zb-page .zb-acct__body .deposit-manual-steps strong {
  color: #031124;
}

body.zb-page .zb-acct__body .deposit-onboarding span,
body.zb-page .zb-acct__body .deposit-state-card span,
body.zb-page .zb-acct__body .deposit-prompt-card em,
body.zb-page .zb-acct__body .deposit-prompt-card span,
body.zb-page .zb-acct__body .deposit-manual-steps span {
  color: #4a5b70;
}

/* ---------------------------------------------------------------- Tablet + phone */

@media (min-width: 992px) and (max-width: 1279.98px) {
  body.zb-page .main__body__area.zb-shell--account {
    grid-template-columns: 240px minmax(0, 1fr);
  }

  .zb-shell--account .zb-shell__left--account {
    display: block;
  }

  .zb-shell--account .zb-shell__right {
    display: none;
  }
}

@media (max-width: 991.98px) {
  .zb-shell--account .zb-shell__left--account {
    position: static;
    display: block;
    max-height: none;
    margin-bottom: 10px;
    overflow: visible;
  }

  .zb-acct__card {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: stretch;
  }

  .zb-acct__who,
  body.zb-page .zb-acct__balance {
    padding: 12px 14px;
  }

  body.zb-page .zb-acct__deposit {
    grid-column: 1 / -1;
    width: auto;
    margin: 0 12px 12px;
  }

  body.zb-page .zb-acct__nav {
    flex-direction: row;
    padding: 0;
    overflow-x: auto;
    scrollbar-width: none;
  }

  .zb-acct__nav::-webkit-scrollbar {
    display: none;
  }

  .zb-acct__nav-title {
    display: none;
  }

  body.zb-page .zb-acct__nav a,
  body.zb-page .zb-acct__nav .zb-acct__logout button {
    flex: 0 0 auto;
    width: auto;
    min-height: 48px;
    padding: 0 14px;
    border-left: 0;
    border-bottom: 3px solid transparent;
    white-space: nowrap;
  }

  body.zb-page .zb-acct__nav a.is-active {
    border-bottom-color: var(--zb-red);
  }

  body.zb-page .zb-acct__nav .zb-acct__logout {
    flex: 0 0 auto;
    margin: 0;
    padding: 0;
    border-top: 0;
  }

  body.zb-page .zb-acct__heading {
    padding: 14px 16px;
  }

  body.zb-page .zb-acct__heading h1 {
    font-size: 18px;
  }

  .zb-acct__body {
    padding: 16px;
  }

  .zb-dep__method {
    width: 120px;
    height: 56px;
  }

  body.zb-page .zb-dep__amount .zb-btn {
    padding: 0 16px;
  }
}

/* ---------------------------------------------------------------- Legacy panel content on white
 * The old account panels were written for a navy background. These rules give
 * their headings, labels, pills and summaries dark text; the navy hero cards
 * (dashboard summary, transactions hero) keep their own light text.
 */

body.zb-page .zb-acct__body .deposit-flow-card::before {
  display: none;
}

body.zb-page .zb-acct__body :is(h2, h3, h4, legend):not(:is(.dashboard-summary-panel, .transactions-hero) *) {
  color: #031124;
}

body.zb-page .zb-acct__body .account-form-field label,
body.zb-page .zb-acct__body .account-file-field span,
body.zb-page .zb-acct__body .account-kyc-progress span {
  color: #031124;
}

body.zb-page .zb-acct__body .account-kyc-upload-hint,
body.zb-page .zb-acct__body .account-section-head span:not(.account-status),
body.zb-page .zb-acct__body .account-section-head p,
body.zb-page .zb-acct__body .account-section-head small,
body.zb-page .zb-acct__body .dashboard-progress span,
body.zb-page .zb-acct__body .dashboard-progress em,
body.zb-page .zb-acct__body .responsible-status-card span,
body.zb-page .zb-acct__body .responsible-status-card small,
body.zb-page .zb-acct__body .responsible-selection-summary span,
body.zb-page .zb-acct__body .responsible-selection-summary em,
body.zb-page .zb-acct__body .responsible-choice-grid small,
body.zb-page .zb-acct__body .responsible-choice-grid span span,
body.zb-page .zb-acct__body .withdrawal-flow-card__head span {
  color: #4a5b70;
}

body.zb-page .zb-acct__body .dashboard-progress strong,
body.zb-page .zb-acct__body .responsible-status-card strong,
body.zb-page .zb-acct__body .responsible-selection-summary strong,
body.zb-page .zb-acct__body .responsible-choice-grid strong,
body.zb-page .zb-acct__body .responsible-confirm-line,
body.zb-page .zb-acct__body .responsible-confirm-line strong,
body.zb-page .zb-acct__body .withdrawal-flow-card__head strong,
body.zb-page .zb-acct__body .deposit-flow-card__head strong {
  color: #031124;
}

body.zb-page .zb-acct__body .responsible-status-card,
body.zb-page .zb-acct__body .responsible-selection-summary,
body.zb-page .zb-acct__body .responsible-choice-grid label,
body.zb-page .zb-acct__body .responsible-confirm-line {
  border-color: #e1e7ef;
  background: #f8fafc;
}

body.zb-page .zb-acct__body .responsible-choice-grid label:has(input:checked) {
  border-color: var(--zb-red);
  background: #fdecec;
}

body.zb-page .zb-acct__body select {
  border: 1px solid #d6dee8;
  background-color: #fff;
  color: #031124;
}

body.zb-page .zb-acct__body .account-empty,
body.zb-page .zb-acct__body .recent-bets-empty {
  border: 1px dashed #d6dee8;
  border-radius: var(--zb-radius);
  background: #f8fafc;
  color: #4a5b70;
}

body.zb-page .zb-acct__body .account-filter-reset {
  color: var(--zb-red);
  font-weight: 600;
}

body.zb-page .zb-acct__body .account-danger-button {
  border: 1px solid var(--zb-red);
  border-radius: var(--zb-radius);
  background: #fff;
  color: var(--zb-red);
  font-weight: 700;
}

body.zb-page .zb-acct__body .account-danger-button:hover:not(:disabled) {
  background: var(--zb-red);
  color: #fff;
}

body.zb-page .zb-acct__body .account-danger-button:disabled {
  border-color: #e1e7ef;
  color: #9aa7b6;
}

/* Status pills */
body.zb-page .zb-acct__body .account-status {
  border: 0;
  border-radius: 999px;
  box-shadow: none;
  font-weight: 700;
}

body.zb-page .zb-acct__body .account-status.is-success {
  background: #e7f6ee;
  color: #157a43;
}

body.zb-page .zb-acct__body .account-status.is-pending,
body.zb-page .zb-acct__body .account-status.is-warning {
  background: #fff4e0;
  color: #9a5800;
}

body.zb-page .zb-acct__body .account-status.is-danger {
  background: #fdecec;
  color: #c4161c;
}

body.zb-page .zb-acct__body .account-status.is-muted {
  background: #eef2f7;
  color: #4a5b70;
}

/* Bet history filter tabs */
body.zb-page .zb-acct__body .is-active > strong,
body.zb-page .zb-acct__body a > strong {
  color: inherit;
}

/* Dashboard summary: keep the balance on one line */
body.zb-page .zb-acct__body .dashboard-summary-panel__wallet-copy strong {
  white-space: nowrap;
}

/* Account menu on phones: icon beside label */
@media (max-width: 991.98px) {
  body.zb-page .zb-acct__nav a,
  body.zb-page .zb-acct__nav .zb-acct__logout button {
    flex-direction: row;
  }
}

/* Dashboard overview */
body.zb-page .zb-acct__body .dashboard-summary-panel__wallet-copy strong {
  white-space: normal;
  font-size: 22px;
}

body.zb-page .zb-acct__body .dashboard-overview-grid {
  margin-top: 20px;
  gap: 16px;
}

body.zb-page .zb-acct__body .dashboard-overview-grid > .account-section {
  padding: 16px;
  border: 1px solid #e1e7ef;
  border-radius: var(--zb-radius-lg);
  background: #fff;
}

body.zb-page .zb-acct__body .dashboard-check-item,
body.zb-page .zb-acct__body .dashboard-wallet-row,
body.zb-page .zb-acct__body .dashboard-review-item {
  border-color: #e1e7ef;
  background: #f8fafc;
  color: #0b1b2f;
}

body.zb-page .zb-acct__body .dashboard-check-item strong,
body.zb-page .zb-acct__body .dashboard-wallet-row strong,
body.zb-page .zb-acct__body .dashboard-review-item strong,
body.zb-page .zb-acct__body .dashboard-limit-mini-grid strong {
  color: #031124;
}

body.zb-page .zb-acct__body .dashboard-check-item span,
body.zb-page .zb-acct__body .dashboard-check-item em,
body.zb-page .zb-acct__body .dashboard-wallet-row span,
body.zb-page .zb-acct__body .dashboard-review-item span,
body.zb-page .zb-acct__body .dashboard-limit-mini-grid span {
  color: #4a5b70;
}

/* Form controls: light fields everywhere in the account body */
body.zb-page .zb-acct__body input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]),
body.zb-page .zb-acct__body select,
body.zb-page .zb-acct__body textarea {
  border: 1px solid #d6dee8;
  border-radius: var(--zb-radius);
  background-color: #fff;
  color: #031124;
  box-shadow: none;
}

body.zb-page .zb-acct__body input:focus,
body.zb-page .zb-acct__body select:focus,
body.zb-page .zb-acct__body textarea:focus {
  border-color: #031124;
  outline: 0;
}

body.zb-page .zb-acct__body input::placeholder {
  color: #9aa7b6;
}

body.zb-page .zb-acct__body input[readonly],
body.zb-page .zb-acct__body input:disabled {
  background-color: #f4f7fb;
  color: #4a5b70;
}

/* Profile: phone verification card */
body.zb-page .zb-acct__body .profile-phone-panel {
  border: 1px solid #e1e7ef;
  background: #f8fafc;
}

body.zb-page .zb-acct__body .profile-phone-main strong {
  color: #031124;
}

body.zb-page .zb-acct__body .profile-phone-main span,
body.zb-page .zb-acct__body .profile-phone-main small {
  color: #4a5b70;
}

/* nice-select dropdowns (jQuery plugin used by the legacy forms) */
body.zb-page .zb-acct__body .nice-select {
  border: 1px solid #d6dee8;
  border-radius: var(--zb-radius);
  background: #fff;
  color: #031124;
}

body.zb-page .zb-acct__body .nice-select .current {
  color: #031124;
}

body.zb-page .zb-acct__body .nice-select::after {
  border-color: #4a5b70;
}

body.zb-page .zb-acct__body .nice-select .list {
  border: 1px solid #e1e7ef;
  background: #fff;
  box-shadow: 0 12px 28px rgba(3, 17, 36, 0.12);
}

body.zb-page .zb-acct__body .nice-select .option {
  color: #031124;
}

body.zb-page .zb-acct__body .nice-select .option:hover,
body.zb-page .zb-acct__body .nice-select .option.focus,
body.zb-page .zb-acct__body .nice-select .option.selected {
  background: #f4f7fb;
  color: #031124;
}

/* "Phone verified" / confirmed state cards */
body.zb-page .zb-acct__body .profile-confirmed-state,
body.zb-page .zb-acct__body .account-blocked-state {
  border: 1px solid #e1e7ef;
  background: #f8fafc;
  color: #0b1b2f;
}

body.zb-page .zb-acct__body .profile-confirmed-state strong,
body.zb-page .zb-acct__body .account-blocked-state strong {
  color: #031124;
}

body.zb-page .zb-acct__body .profile-confirmed-state span,
body.zb-page .zb-acct__body .profile-confirmed-state small,
body.zb-page .zb-acct__body .account-blocked-state span {
  color: #4a5b70;
}

body.zb-page .zb-acct__body .profile-confirmed-state .fa-circle-check {
  color: #22a35a;
}

/* Deposit limits on the self-exclusion page */
body.zb-page .responsible-deposit-limits {
  grid-column: 1 / -1;
}

body.zb-page .responsible-deposit-limits p {
  margin: 0 0 14px;
}

body.zb-page .responsible-deposit-limits .account-form-grid {
  align-items: start;
  margin-bottom: 14px;
}

body.zb-page .responsible-deposit-limits .account-form-field small {
  display: block;
  margin-top: 6px;
  color: #5a6b80;
/* Marketing messages switch on the profile page */
body.zb-page #marketing-preferences {
  grid-column: 1 / -1;
  margin-top: 16px;
}

body.zb-page #marketing-preferences label {
  display: flex;
  gap: 8px;
  align-items: flex-start;
}

body.zb-page #marketing-preferences p {
  margin: 6px 0 14px;
}
