.sw-account-shell { display: grid; grid-template-columns: 232px minmax(0, 1fr); min-height: calc(100vh - 91px); }
.sw-account-rail { background: var(--sw-surface); border-right: 1px solid var(--sw-border); min-height: calc(100vh - 91px); position: sticky; top: 91px; align-self: start; }
.sw-account-rail__brand { height: 62px; display: flex; align-items: center; justify-content: space-between; padding: 10px 14px; border-bottom: 1px solid var(--sw-border); }
.sw-account-rail__brand-logo img { width: 120px; height: auto; max-height: 42px; object-fit: contain; }
.sw-account-close { display: none; border: 0; background: transparent; color: white; font-size: 20px; }
.sw-account-rail__user { padding: 12px 14px; display: grid; gap: 2px; border-bottom: 1px solid var(--sw-border); }
.sw-account-rail__user span { color: var(--sw-yellow); font-weight: 900; }
.sw-account-nav { display: grid; padding: 8px; }
.sw-account-nav > span { color: var(--sw-muted); font-size: 11px; font-weight: 750; padding: 12px 8px 6px; }
.sw-account-nav a { min-height: 38px; display: flex; align-items: center; gap: 9px; padding: 0 9px; border-radius: 4px; color: var(--sw-text); font-weight: 600; }
.sw-account-nav a.active, .sw-account-nav a:hover { background: #1d2e39; color: var(--sw-yellow); box-shadow: inset 3px 0 0 var(--sw-green); }
.sw-account-main { min-width: 0; width: 100%; max-width: 1280px; padding: 16px; padding-bottom: 82px; }
.sw-account-topbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.sw-account-topbar span { color: var(--sw-muted); font-size: 12px; font-weight: 900; text-transform: uppercase; }
.sw-account-topbar h1 { margin: 0; font-size: 24px; font-weight: 750; }
.sw-account-menu { display: none; width: 38px; height: 38px; border: 0; border-radius: 4px; background: var(--sw-surface); color: white; }
.sw-account-home { display: grid; gap: 12px; }
.sw-account-notice { display: grid; grid-template-columns: 34px 1fr auto; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 5px; background: #233541; border: 1px solid var(--sw-border); }
.sw-account-notice i { font-size: 22px; color: var(--sw-yellow); }
.sw-account-notice strong { display: block; }
.sw-account-notice p { margin: 0; color: var(--sw-muted); }
.sw-account-notice a { color: #111; background: var(--sw-yellow); border-radius: 4px; padding: 7px 10px; font-weight: 900; }
.sw-account-notice.is-success i { color: var(--sw-green); }
.sw-account-grid { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 12px; }
.sw-balance-card, .sw-account-card, .sw-account-panel, .sw-money-form { background: var(--sw-surface); border: 1px solid var(--sw-border); border-radius: 6px; padding: 14px; }
.sw-balance-card { display: grid; gap: 8px; }
.sw-balance-card span, .sw-account-card span { color: var(--sw-muted); font-weight: 900; text-transform: uppercase; font-size: 12px; }
.sw-balance-card strong { font-size: 34px; line-height: 1; color: var(--sw-yellow); }
.sw-balance-card div { display: flex; gap: 8px; flex-wrap: wrap; }
.sw-account-card--profile { display: grid; align-content: center; gap: 6px; }
.sw-account-card--profile strong { font-size: 20px; }
.sw-account-card--profile small { color: var(--sw-muted); }
.sw-stats-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.sw-stats-grid a { background: var(--sw-odds); border: 1px solid var(--sw-border); border-radius: 5px; padding: 12px; display: grid; gap: 5px; }
.sw-stats-grid span { color: var(--sw-muted); font-size: 12px; font-weight: 900; }
.sw-stats-grid strong { font-size: 24px; color: white; }
.sw-action-strip { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.sw-action-strip a { min-height: 48px; display: flex; align-items: center; justify-content: center; gap: 7px; background: #20313e; border: 1px solid var(--sw-border); border-radius: 5px; font-weight: 900; }
.sw-account-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.sw-account-panel__head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; }
.sw-account-panel__head h2 { margin: 0; font-size: 17px; font-weight: 950; }
.sw-account-panel__head a { color: var(--sw-yellow); font-weight: 900; }
.sw-account-list { display: grid; gap: 6px; }
.sw-account-row { display: flex; justify-content: space-between; gap: 10px; padding: 10px; border-radius: 4px; background: var(--sw-odds); }
.sw-account-row span { display: grid; gap: 2px; }
.sw-account-row small { color: var(--sw-muted); }
.sw-account-row em { font-style: normal; justify-self: end; font-size: 12px; }
.sw-money-form { max-width: 640px; display: grid; gap: 12px; }
.sw-money-balance { display: flex; align-items: center; justify-content: space-between; padding: 12px; border-radius: 5px; background: var(--sw-bg-deep); }
.sw-money-balance span { color: var(--sw-muted); }
.sw-money-balance strong { color: var(--sw-yellow); font-size: 24px; }
.sw-payment-method, .sw-amount-card { display: grid; gap: 8px; }
.sw-payment-method > span, .sw-amount-card > label { color: var(--sw-muted); text-transform: uppercase; font-size: 12px; font-weight: 950; }
.sw-gateway-list { display: grid; gap: 8px; }
.sw-gateway-card { display: grid; grid-template-columns: 42px 1fr auto; align-items: center; gap: 10px; min-height: 64px; padding: 10px; border: 1px solid var(--sw-border); border-radius: 5px; background: var(--sw-odds); cursor: pointer; }
.sw-gateway-card.active { border-color: var(--sw-yellow); box-shadow: inset 3px 0 0 var(--sw-yellow); }
.sw-gateway-card img { width: 38px; height: 38px; object-fit: contain; }
.sw-gateway-card strong, .sw-gateway-card small { display: block; }
.sw-gateway-card small { color: var(--sw-muted); }
.sw-gateway-icon { width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; background: #314456; color: var(--sw-yellow); font-size: 10px; font-weight: 750; }
.sw-amount-input { display: grid; grid-template-columns: 72px 1fr; }
.sw-amount-input span { display: grid; place-items: center; background: #34495a; color: var(--sw-muted); border-radius: 4px 0 0 4px; font-weight: 900; }
.sw-amount-input input { min-height: 48px; border: 1px solid var(--sw-border); border-radius: 0 4px 4px 0; background: var(--sw-odds); color: white; padding: 0 12px; }
.sw-money-summary { display: grid; gap: 8px; padding: 12px; border-radius: 5px; background: var(--sw-bg-deep); }
.sw-money-summary span { display: flex; justify-content: space-between; gap: 10px; color: var(--sw-muted); }
.sw-money-summary b { color: white; }

.sw-account-section { display: grid; gap: 14px; max-width: 1000px; }
.sw-account-section--narrow { max-width: 680px; }
.sw-account-section--wide { max-width: 1180px; }
.sw-panel {
  background: var(--sw-surface);
  border: 1px solid var(--sw-border);
  border-radius: 6px;
  padding: 16px;
}
.sw-panel__head { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; margin-bottom: 14px; }
.sw-panel__head h2, .sw-panel__head h3 { margin: 0; font-size: 18px; font-weight: 750; }
.sw-panel__head p { margin: 4px 0 0; color: var(--sw-muted); }
.sw-definition-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
.sw-definition-grid span, .sw-definition-list span { color: var(--sw-muted); display: block; font-size: 12px; font-weight: 650; }
.sw-definition-grid strong, .sw-definition-list strong { color: var(--sw-text); overflow-wrap: anywhere; }
.sw-definition-list { display: grid; gap: 8px; }
.sw-definition-list > div { display: flex; justify-content: space-between; gap: 14px; padding: 10px; background: var(--sw-odds); border-radius: 5px; }
.sw-panel--inner { background: var(--sw-odds); }
.sw-2fa-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 14px; }
.sw-step-label { color: var(--sw-yellow); font-size: 12px; font-weight: 750; text-transform: uppercase; margin-bottom: 6px; }
.sw-2fa-grid h3 { margin: 0 0 4px; font-size: 18px; font-weight: 750; }
.sw-2fa-grid p { color: var(--sw-muted); margin: 0 0 14px; }
.sw-qr-box {
  width: min(260px, 100%);
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  padding: 12px;
  margin: 0 0 14px;
  background: #fff;
  border-radius: 6px;
}
.sw-qr-box img { width: 100%; height: 100%; object-fit: contain; }
.sw-otp-input { text-align: center; letter-spacing: 8px; font-weight: 750; }
.sw-quick-stakes { display: flex; flex-wrap: wrap; gap: 8px; }
.sw-quick-stakes button, .amount-recommendation {
  min-height: 32px;
  border: 0;
  border-radius: 4px;
  background: #476176;
  color: #fff;
  padding: 6px 12px;
  font-weight: 700;
}
.deposit-recommendations { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px; }
.deposit-recommendations .amount-recommendation { width: 100%; min-width: 0; padding-inline: 5px; }
.deposit-recommendations .amount-recommendation.is-selected {
  background: var(--sw-yellow);
  color: #101820;
  box-shadow: 0 0 0 1px var(--sw-yellow);
}
@media (max-width: 420px) {
  .deposit-recommendations { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.sw-history-list { display: grid; gap: 10px; }
.sw-history-card {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 12px;
  background: var(--sw-surface);
  border: 1px solid var(--sw-border);
  border-radius: 6px;
}
.sw-history-card h3 { margin: 0; font-size: 16px; font-weight: 750; }
.sw-history-card p { margin: 3px 0 0; color: var(--sw-muted); }
.sw-history-card__amount { display: grid; text-align: right; gap: 3px; }
.sw-history-card__amount strong { color: var(--sw-yellow); font-size: 16px; }

.my-bets-page { display: grid; gap: 12px; max-width: 1180px; }
.my-bets-mobile-tabs, .my-bets-filters { display: flex; gap: 8px; flex-wrap: wrap; }
.my-bets-mobile-tabs a, .my-bets-filters a {
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  padding: 8px 12px;
  border-radius: 4px;
  background: var(--sw-surface);
  border: 1px solid var(--sw-border);
  color: var(--sw-text);
  font-weight: 650;
}
.my-bets-mobile-tabs a.active, .my-bets-filters a.active { background: var(--sw-yellow); color: #111; border-color: var(--sw-yellow); }
.my-bets-filters .is-disabled { opacity: .55; pointer-events: none; }
.my-bets-toolbar { display: grid; grid-template-columns: 1fr minmax(220px, 360px); gap: 10px; align-items: center; }
.my-bets-search form, .responsive-filter-card form { width: 100%; }
.my-bets-list { display: grid; gap: 10px; }
.my-bet-card {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  background: var(--sw-surface);
  border: 1px solid var(--sw-border);
  border-radius: 6px;
  overflow: hidden;
}
.my-bet-card__date { display: grid; place-items: center; align-content: center; background: #1d2e39; color: var(--sw-muted); }
.my-bet-card__date span { color: var(--sw-text); font-weight: 750; }
.my-bet-card__main { min-width: 0; padding: 12px; display: grid; gap: 10px; }
.my-bet-card__status, .my-bet-card__actions button, .my-bet-card__cta {
  border: 0;
  border-radius: 4px;
  background: var(--sw-odds);
  color: var(--sw-text);
  min-height: 36px;
  padding: 8px 10px;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.my-bet-card__status { width: fit-content; }
.my-bet-card__body { display: grid; gap: 10px; cursor: pointer; }
.my-bet-card__summary { display: grid; gap: 3px; color: var(--sw-text); }
.my-bet-card__numbers { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.my-bet-card__numbers span { background: var(--sw-odds); border-radius: 4px; padding: 8px; color: var(--sw-muted); }
.my-bet-card__numbers strong { display: block; color: var(--sw-text); }
.my-bet-card__actions { display: flex; gap: 8px; flex-wrap: wrap; }
.running-bet-expand { display: none; background: #1c2b35; border-radius: 6px; padding: 10px; }
.my-bet-card.is-expanded .running-bet-expand { display: grid; gap: 10px; }
.running-pick { display: grid; grid-template-columns: 34px 1fr; gap: 8px; padding: 8px; border-bottom: 1px solid var(--sw-border); }
.running-pick__content h6 { margin: 0; font-weight: 750; }
.running-pick__content p, .running-pick__content span { margin: 0; color: var(--sw-muted); }
.running-bet-expand__footer { display: grid; gap: 8px; }
.running-bet-expand__league, .running-bet-expand__totals { display: flex; justify-content: space-between; gap: 8px; flex-wrap: wrap; }
.running-bet-expand__details { border: 0; border-radius: 4px; min-height: 36px; background: var(--sw-yellow); color: #111; font-weight: 750; }
.my-bets-empty { display: grid; place-items: center; gap: 8px; text-align: center; padding: 28px; background: var(--sw-surface); border: 1px solid var(--sw-border); border-radius: 6px; color: var(--sw-muted); }
.my-bets-empty h6 { color: var(--sw-text); margin: 0; font-size: 18px; }

.ticket-modal .modal-dialog { max-width: min(760px, calc(100vw - 24px)); }
.ticket-modal .modal-body { padding: 0; }
.ticket-details { background: var(--sw-surface); color: var(--sw-text); border-radius: 8px; overflow: hidden; }
.ticket-details__top, .ticket-details__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 12px 14px;
  background: var(--sw-bg-deep);
  border-bottom: 1px solid var(--sw-border);
}
.ticket-details__footer { border-top: 1px solid var(--sw-border); border-bottom: 0; }
.ticket-details__top h5 { margin: 0; font-weight: 750; }
.ticket-details__close, .ticket-details__rebet, .ticket-details__showoff, .ticket-details__remix {
  border: 0;
  border-radius: 4px;
  min-height: 34px;
  padding: 7px 10px;
  background: #314456;
  color: var(--sw-text);
  font-weight: 700;
}
.ticket-details__showoff, .ticket-details__rebet { display: inline-flex; align-items: center; justify-content: center; gap: 6px; }
.ticket-details__showoff { background: var(--sw-green); color: #04170d; }
.ticket-details__rebet { background: var(--sw-yellow); color: #111; }
.ticket-details__summary, .ticket-details__items, .ticket-details__verify { padding: 14px; }
.ticket-details__summary { display: grid; gap: 12px; border-bottom: 1px solid var(--sw-border); }
.ticket-details__meta, .ticket-details__title-row, .ticket-details__actions { display: flex; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.ticket-details__status { border-radius: 999px; padding: 4px 8px; background: var(--sw-odds); color: var(--sw-yellow); font-weight: 700; }
.ticket-details__stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.ticket-details__stats span, .ticket-details__code, .ticket-details__verify { background: var(--sw-odds); border-radius: 5px; padding: 9px; color: var(--sw-muted); }
.ticket-details__stats strong, .ticket-details__code strong, .ticket-details__verify strong { display: block; color: var(--sw-text); }
.ticket-details__code { display: flex; align-items: center; gap: 8px; }
.ticket-details__code button { border: 0; background: #314456; color: var(--sw-text); border-radius: 4px; min-height: 32px; }
.ticket-pick { display: grid; grid-template-columns: 42px 1fr; gap: 10px; padding: 10px; background: var(--sw-odds); border-radius: 6px; margin-bottom: 8px; }
.ticket-pick__index { display: grid; place-items: center; align-content: center; background: #314456; border-radius: 5px; color: var(--sw-yellow); }
.ticket-pick__main { display: grid; gap: 7px; }
.ticket-pick__head, .ticket-pick__selection { display: flex; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.ticket-pick__main h6 { margin: 0; font-size: 15px; font-weight: 750; }
.ticket-pick__league, .ticket-pick__head span { color: var(--sw-muted); }
.ticket-pick__selection span { min-width: 150px; color: var(--sw-muted); }
.ticket-pick__selection strong { display: block; color: var(--sw-text); }

.support-list { display: grid; gap: 10px; }
.support-card { background: var(--sw-surface); border: 1px solid var(--sw-border); border-radius: 6px; padding: 14px; }
.support-card.admin-reply { background: #1f313d; }
.support-card__head { display: flex; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.support-card__title { margin: 0; color: var(--sw-text); font-weight: 750; }
.support-card__body-text { color: var(--sw-muted); }
.support-card__file { display: inline-flex; gap: 6px; align-items: center; color: var(--sw-yellow); }

.ticket-details__code .is-copyable { background: #314456; }
.ticket-details__code.is-unassigned { opacity: .72; }
.ticket-details__code.is-unassigned strong { color: var(--sw-muted); }
.ticket-details__verify a { color: var(--sw-yellow); margin: 0 4px; }

.ticket-pick.is-won .ticket-pick__index, .running-pick__icon.is-won,
.my-bet-card__status.is-won, .my-bet-card.is-won, .ticket-details.is-won { --sw-status: var(--sw-green); }
.ticket-pick.is-lost .ticket-pick__index, .running-pick__icon.is-lost,
.my-bet-card__status.is-lost, .my-bet-card.is-lost, .ticket-details.is-lost { --sw-status: #e5484d; }
.ticket-pick.is-refunded .ticket-pick__index, .running-pick__icon.is-refunded,
.my-bet-card__status.is-refunded, .my-bet-card.is-refunded, .ticket-details.is-refunded { --sw-status: #eab308; }
.ticket-pick.is-pending .ticket-pick__index, .running-pick__icon.is-pending { --sw-status: var(--sw-muted); }
.ticket-pick .ticket-pick__index, .my-bet-card__status, .running-pick__icon {
  border: 0;
  background: color-mix(in srgb, var(--sw-status, #314456) 18%, #22323e);
  color: var(--sw-status, var(--sw-yellow));
}
.my-bet-card__status { --sw-status: var(--sw-muted); }
.running-pick__icon { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 5px; }
.running-pick__icon i { font-size: 18px; }

/* Keep a won result unmistakably green on the ticket and on every won leg. */
.my-bet-card.is-won .my-bet-card__status,
.ticket-details.is-won .ticket-details__status {
  --sw-status: var(--sw-green);
  background: color-mix(in srgb, var(--sw-green) 20%, #22323e);
  border: 1px solid color-mix(in srgb, var(--sw-green) 48%, transparent);
  color: #49e391;
}
.my-bet-card.is-won .my-bet-card__status strong,
.my-bet-card.is-won .my-bet-card__status span,
.my-bet-card.is-won .my-bet-card__status i,
.ticket-details.is-won .ticket-details__status,
.ticket-details.is-won .ticket-details__status i,
.ticket-pick.is-won .ticket-pick__head strong,
.running-pick.is-won .running-pick__content > span {
  color: #49e391;
}
.ticket-pick.is-won .ticket-pick__head strong {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  padding: 3px 8px;
  border: 1px solid rgba(73, 227, 145, .38);
  border-radius: 999px;
  background: rgba(0, 199, 100, .14);
}
.running-pick.is-won .running-pick__content > span { font-weight: 750; }

/* Solid fallbacks keep result badges vivid on Safari and cached mobile themes. */
.my-bet-card__status.is-won,
.my-bet-card.is-won .my-bet-card__status.is-won,
.ticket-details__status.is-won {
  background: #16c784 !important;
  border: 1px solid #55e7a5 !important;
  color: #052719 !important;
  box-shadow: 0 3px 12px rgba(22, 199, 132, .25);
}
.my-bet-card__status.is-won strong,
.my-bet-card__status.is-won span,
.my-bet-card__status.is-won i,
.ticket-details__status.is-won,
.ticket-details__status.is-won i {
  color: #052719 !important;
}
.ticket-pick__result.is-won {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  padding: 4px 10px;
  border: 1px solid #55e7a5;
  border-radius: 999px;
  background: #16c784;
  color: #052719 !important;
  font-weight: 900;
  line-height: 1.15;
  box-shadow: 0 2px 9px rgba(22, 199, 132, .22);
}
