[hidden] { display: none !important; }
.bet-confirmation { display:flex; align-items:center; gap:16px; max-width:1520px; margin:16px auto 0; padding:14px 18px; box-sizing:border-box; border:1px solid #acd6b8; border-radius:8px; background:#e5f6eb; color:#175c32; }
.bet-confirmation > div { flex:1; min-width:0; }
.bet-confirmation strong { font-size:15px; }
.bet-confirmation p { font-size:12px; line-height:1.5; margin:5px 0 0; overflow-wrap:anywhere; }
.bet-confirmation a { color:#175c32; font-size:12px; font-weight:700; white-space:nowrap; }
.bet-confirmation button { border:0; background:transparent; color:#175c32; min-width:36px; min-height:36px; font-size:24px; cursor:pointer; }
.stake-limit-row { display:flex; flex-direction:column; gap:7px; padding:10px; margin:8px 0; border-radius:5px; background:#eaeefb; }
.stake-limit-row small { color:#303b4c; font-size:11px; line-height:1.5; }
.stake-limit-row button { align-self:flex-start; color:#9b2909; font-size:11px; border:0; background:none; text-decoration:underline; cursor:pointer; padding:4px 0; }
#house-solvency h3 { display:flex; flex-wrap:wrap; align-items:center; gap:10px; color:#303b4c; font-size:14px; }
.risk-stats { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:14px 0; }
.risk-stats > div { padding:12px; border-radius:6px; background:#f3f5fb; }
.risk-stats dt { font-size:11px; color:#59657a; line-height:1.5; }
.risk-stats dd { font-size:16px; font-weight:700; color:#303b4c; margin:5px 0 0; overflow-wrap:anywhere; }
.risk-note,.risk-audit { color:#59657a; font-size:11px; line-height:1.6; }
.risk-audit { margin:14px 0; }
.risk-audit summary { cursor:pointer; }
.risk-alert { font-size:12px; color:#8b351c; background:#fff0df; padding:10px; border-radius:5px; }
.accounting-panel { margin:20px 0; padding:16px 0; border-top:1px solid #e5e9ef; border-bottom:1px solid #e5e9ef; color:#303b4c; }
.accounting-panel h3 { font-size:15px; margin:0 0 10px; }
.accounting-ok { font-size:12px; color:#176438; background:#e0f6e8; padding:10px; border-radius:5px; }
.accounting-issues { padding-left:18px; font-size:11px; color:#8b351c; line-height:1.6; overflow-wrap:anywhere; }
.accounting-journal { padding:10px 0; border-bottom:1px solid #edf0f6; overflow-wrap:anywhere; }
.accounting-journal strong { font-size:12px; }
.accounting-journal p,.accounting-journal small { font-size:10px; }
.round-status { color:#59657a; font-size:12px; margin:0 0 12px; }
.round-controls { border-top:1px solid #e5e9ef; border-bottom:1px solid #e5e9ef; padding:16px 0; }
.round-controls h3 { font-size:14px; }
.round-controls form,.round-controls label,.event-action-label { display:grid; gap:7px; font-size:12px; margin:10px 0; color:#48576f; }
.round-controls input,.event-action-label input,.event-action-label select { padding:10px; border:1px solid #bcc5d2; border-radius:5px; min-width:0; width:100%; box-sizing:border-box; color:#303b4c; background:white; font-size:14px; }
.status-void { color:#48576f; background:#eaeefb; }
@media(max-width:620px) { .bet-confirmation { margin:12px 10px 0; gap:8px; flex-wrap:wrap; } .bet-confirmation > div { flex-basis:80%; } .bet-confirmation a { order:3; } .risk-stats dd { font-size:14px; } }
.account-actions { min-width: 0; }
.account-buttons, .user-account { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.ui-button { border: 1px solid #d9dfe8; border-radius: 6px; background: #fff; color: #303b4c; padding: 10px 14px; min-height: 40px; font: 650 12px inherit; cursor: pointer; }
.ui-button:hover { background: #f0f3f7; }
.ui-button.primary { background: #ff3c00; border-color: #ff3c00; color: white; }
.topbar .ui-button.primary { background: #fff; color: #c72f00; border-color: white; }
.topbar .ui-button { white-space: nowrap; }
.user-account { color: white; }
.user-account > div { display: grid; gap: 3px; }
.user-account small { font-size: 10px; }
#account-name { color: white; font-size: 12px; text-decoration: underline; text-underline-offset: 3px; }
#account-balance { font-size: 15px; }
button:disabled { cursor: wait; opacity: .65; }
.page-status { color: #8d2d19; line-height: 1.6; font-size: 13px; }
.page-status:empty { display: none; }
.load-error { padding: 20px; border: 1px solid #edcdc5; background: #fff6f2; border-radius: 8px; color: #852912; line-height: 1.5; }
.match .odd:disabled { cursor: default; }
.private-area { margin-top: 24px; scroll-margin-top: 20px; }
.match-main.two-way { grid-template-columns: minmax(110px, 1fr) repeat(2, minmax(65px, 90px)); }
.sport-rules { font-size: 11px; line-height: 1.5; color: #667085; margin: 10px 0 0; }
.participant-initials { display: inline-flex; align-items: center; justify-content: center; font-size: 9px; font-weight: 750; color: #39465c; background: #edf1f6; border-radius: 50%; }
@media(max-width:620px) { .match-main.two-way { grid-template-columns: minmax(100px,1fr) repeat(2,minmax(48px,64px)); } }
.referral-link-label { display: block; font-size: 12px; margin: 12px 0 6px; }
.referral-share { display: flex; flex-wrap: wrap; gap: 8px; }
.referral-share input { flex: 1 1 220px; min-width: 0; width: 100%; padding: 10px; border: 1px solid #c8ced8; border-radius: 6px; color: #303b4c; background: #f8fafc; font-size: 12px; }
.referral-share button { flex-shrink: 0; }
.private-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.private-heading h2, .admin-area h2 { font-size: 18px; color: #303b4c; }
.bet-history { display: grid; gap: 12px; margin: 12px 0; }
.history-bet { padding: 16px; background: white; border: 1px solid #e5e9ef; border-radius: 8px; color: #303b4c; }
.history-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; font-size: 13px; }
.history-bet time { display: block; font-size: 11px; color: #667085; margin-top: 4px; }
.bet-status { padding: 5px 9px; border-radius: 20px; font-size: 11px; }
.status-pending { color: #785100; background: #fff0cc; }
.status-won { color: #176438; background: #e0f6e8; }
.status-lost { color: #9b3326; background: #ffe9e4; }
.history-bet ul { list-style: none; margin: 14px 0; padding: 0; }
.history-bet li { display: grid; gap: 4px; padding: 8px 0; border-bottom: 1px solid #edf0f6; font-size: 12px; }
.history-bet li strong { font-size: 11px; }
.history-bet small { color: #667085; }
.history-values { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 14px; font-size: 11px; }
.history-values span { display: grid; gap: 5px; }
.history-values strong { font-size: 14px; }
.empty-state { padding: 16px; background: white; border-radius: 8px; color: #667085; font-size: 13px; }
.wallet-details { padding: 16px; border: 1px solid #e5e9ef; border-radius: 8px; background: white; color: #303b4c; }
.wallet-details summary { cursor: pointer; font-size: 13px; font-weight: 650; }
.wallet-movement { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 12px 0; border-bottom: 1px solid #edf0f6; font-size: 12px; }
.wallet-movement span { display: grid; gap: 4px; }
.wallet-movement small { color: #667085; font-size: 10px; }
.credit { color: #176438; }
.admin-area { margin-top: 24px; padding: 16px; background: white; border: 1px solid #e5e9ef; border-radius: 8px; }
.admin-area > p { font-size: 12px; color: #667085; line-height: 1.6; }
.result-form { padding: 16px 0; border-top: 1px solid #edf0f6; }
.result-form > strong { font-size: 13px; }
.result-inputs { display: flex; align-items: end; gap: 10px; margin-top: 12px; }
.result-inputs label { display: grid; gap: 6px; font-size: 11px; color: #48576f; flex: 1; min-width: 0; }
.result-inputs > span { align-self: center; }
.result-inputs input { width: 100%; min-width: 0; }
.form-feedback { font-size: 12px; color: #9b3326; line-height: 1.5; }
.form-feedback:empty { display: none; }
.auth-dialog { width: min(420px,calc(100vw - 32px)); max-height: calc(100dvh - 32px); overflow-y: auto; box-sizing: border-box; border: 0; border-radius: 12px; padding: 28px; color: #303b4c; background: white; box-shadow: 0 20px 90px #18233855; }
.auth-dialog::backdrop { background: #15213c99; }
.dialog-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 22px; }
.dialog-heading h2 { margin: 0; font-size: 22px; }
.close-dialog { border: 0; border-radius: 4px; background: #f0f3f7; color: #48576f; font-size: 24px; width: 36px; height: 36px; cursor: pointer; }
.auth-form { display: grid; gap: 16px; }
.auth-form label { display: grid; gap: 7px; font-size: 13px; font-weight: 650; }
.auth-form input, .result-inputs input { border: 1px solid #bcc5d2; border-radius: 6px; padding: 11px; box-sizing: border-box; background: white; color: #303b4c; font-size: 16px; }
.auth-form small, .auth-note { font-size: 11px; color: #667085; line-height: 1.6; font-weight: 400; }
.auth-note { margin: 0; }
.auth-form .ui-button { width: 100%; }
.auth-switch { margin-top: 18px; background: none; border: 0; padding: 8px 0; color: #b62b00; font-weight: 650; font-size: 13px; text-decoration: underline; cursor: pointer; }
.auth-dialog :focus-visible, .private-area :focus-visible { outline: 2px solid #b62b00; outline-offset: 3px; }
@media (max-width: 1100px) { .topbar { gap: 24px; } }
@media (max-width: 620px) {
  .topbar { padding-bottom: 12px; }
  .account-actions { margin-left: auto; }
  .account-buttons { gap: 5px; }
  .account-buttons .ui-button { font-size: 11px; padding: 8px; }
  .user-account { gap: 6px; }
  #account-balance { font-size: 13px; }
  .user-account .ui-button { min-height: 36px; padding: 8px; font-size: 11px; }
  .private-area { padding-bottom: 8px; }
  .result-inputs { flex-wrap: wrap; }
  .result-inputs .ui-button { width: 100%; }
  .auth-dialog { padding: 22px; }
}

/* Paridad con Betano: atajos de importe, forma reciente y panel Mis apuestas. Usa los tokens de betano-theme.css. */

.match-form { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 16px; margin-top: 12px; padding: 8px 10px; border-radius: 6px; background: var(--bg); color: var(--muted); font-size: 11px; }
.form-title { font-weight: 650; color: #48576f; }
.form-team { display: inline-flex; align-items: center; gap: 3px; }
.form-team b { margin-right: 3px; font-size: 10px; color: #303b4c; }
.form-team i { display: grid; place-items: center; width: 18px; height: 18px; border-radius: 4px; font-style: normal; font-size: 10px; font-weight: 750; color: #fff; }
.form-G { background: #1f7a45; }
.form-E { background: #667085; }
.form-P { background: #b8341c; }

.my-bets { grid-column: 3; grid-row: 1; align-self: start; position: sticky; top: 12px; max-height: calc(100dvh - 24px); overflow-y: auto; overscroll-behavior: contain; box-sizing: border-box; padding: 14px 14px 76px; border-radius: 8px; background: #fff; color: #303b4c; }
.my-bets h2 { margin: 0 0 10px; font-size: 15px; font-weight: 750; }
.mb-tabs { display: flex; gap: 4px; padding: 3px; border-radius: 8px; background: var(--raised); }
.mb-tab { flex: 1; min-height: 36px; border: 0; border-radius: 6px; background: transparent; color: #48576f; font: 650 12px inherit; font-family: inherit; cursor: pointer; }
.mb-tab:hover { color: #202938; }
.mb-tab[aria-pressed="true"] { background: #fff; color: #b82b00; box-shadow: 0 1px 3px #20293826; }
.mb-tab:focus-visible, .mb-rebet:focus-visible { outline: 2px solid #b82b00; outline-offset: 2px; }
.mb-tab span { font-variant-numeric: tabular-nums; }
.mb-card { margin-top: 10px; padding: 12px; border: 1px solid var(--line); border-radius: 8px; background: #fff; }
.mb-top { display: flex; align-items: center; gap: 8px; font-size: 13px; }
.mb-odds { margin-left: auto; font-variant-numeric: tabular-nums; }
.mb-sels { display: grid; gap: 8px; margin: 10px 0; padding: 0; list-style: none; }
.mb-sels li { display: grid; grid-template-columns: 8px minmax(0,1fr) auto; gap: 8px; align-items: start; font-size: 12px; }
.mb-sels small { display: block; margin-top: 2px; color: var(--muted); font-size: 11px; }
.mb-sels b { font-variant-numeric: tabular-nums; }
.mb-dot { width: 8px; height: 8px; margin-top: 5px; border-radius: 50%; background: #a9b9d1; }
.leg-won { background: #1f7a45; }
.leg-lost { background: #b8341c; }
.mb-values { display: flex; justify-content: space-between; gap: 12px; margin: 0; color: var(--muted); font-size: 11px; }
.mb-values dd { margin: 3px 0 0; color: #202938; font-size: 14px; font-weight: 750; font-variant-numeric: tabular-nums; }
.mb-rebet, .mb-cashout { width: 100%; margin-top: 10px; }
.mb-near { flex-shrink: 0; padding: 2px 8px; border: 1px solid #ffd13b; border-radius: 999px; background: rgba(255, 209, 61, .15); color: #8a6d00; font-size: 11px; font-weight: 750; white-space: nowrap; }
.mb-nearcta { width: 100%; margin-top: 10px; border-color: #ffd13b; background: rgba(255, 209, 61, .12); color: #6b5400; }
.mb-nearcta:focus-visible { outline: 2px solid #b82b00; outline-offset: 2px; }
.streak-ladder { display: flex; gap: 4px; margin: 10px 0 0; padding: 0; list-style: none; }
.streak-slot { flex: 1; min-width: 0; overflow: hidden; padding: 6px 2px; border: 1px solid var(--line); border-radius: 6px; background: #fff; color: var(--muted); text-align: center; font-size: 10px; font-variant-numeric: tabular-nums; }
.streak-slot.filled { background: #e9f7ef; border-color: #1f7a45; color: #1f7a45; font-weight: 750; }
.streak-slot.gift { background: rgba(255, 209, 61, .2); border-color: #ffd13b; color: #6b5400; font-weight: 750; font-size: 8px; letter-spacing: .05em; }
.streak-slot.gift.filled { background: #fdf3d3; }
.streak-slot.next { box-shadow: 0 0 0 2px #ffd13b inset; }
.streak-slot b { display: block; margin-top: 2px; font-size: 9px; font-weight: 650; color: #48576f; }
.mb-list > .empty-state { margin-top: 10px; background: var(--bg); }
@media (max-width: 960px) { .my-bets { display: none; } }

/* Recuperación de cuenta */
.auth-dialog [hidden] { display: none !important; }
.auth-dialog .auth-switch { display: block; }
#auth-forgot { margin-top: 0; }
.form-feedback.ok { color: #1b6b3a; }

/* Escudos dentro de las apuestas hechas (panel Mis apuestas e historial). */
.bet-teams { display: inline-flex; flex-direction: column; align-items: flex-start; gap: 3px; vertical-align: middle; }
.bet-teams > span { display: inline-flex; align-items: center; gap: 5px; }
.bet-teams .team-crest { width: 18px; height: 20px; flex-basis: 18px; }
.bet-teams .team-crest img { width: 18px; height: 18px; }
.bet-teams .team-crest > span { font-size: 6px; }

.freebet-row{display:flex;gap:8px;align-items:center;margin-bottom:10px;font-size:13px;cursor:pointer}
.freebet-row small{opacity:.7}
.account-freebet{display:block;color:#ff3c00;font-weight:600}
.share-box{display:grid;gap:8px;margin:10px 0}
.code-form{display:flex;gap:8px}
.code-form input{flex:1;min-width:0;text-transform:uppercase;letter-spacing:.15em}
.share-result{font-size:12px;word-break:break-all;margin:0}
.rg-form{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end;margin:8px 0}
.rg-form label{display:grid;gap:4px;font-size:13px}
.match-extra{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.06)}
.extra-odds{display:flex;gap:6px}
.extra-odds .odd{display:flex;gap:8px;align-items:center;justify-content:center;min-width:76px;padding:0 10px}
.extra-odds .odd span{opacity:.7;font-size:11px}
.notif-toggle{position:relative}
.notif-count{display:inline-block;min-width:18px;padding:0 5px;border-radius:9px;background:#ff3c00;color:#fff;font-size:11px;line-height:18px;text-align:center;margin-left:4px}
.notif-panel{position:fixed;top:64px;right:12px;z-index:50;width:min(360px,calc(100vw - 24px));max-height:60vh;overflow:auto;background:#18191d;border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:6px;box-shadow:0 12px 30px rgba(0,0,0,.4)}
.notice{display:grid;gap:2px;padding:10px;border-radius:8px;font-size:13px}
.notice.unread{background:rgba(255,60,0,.12)}
.notice small{opacity:.6}
.combo-note{margin:6px 0 2px;padding:8px 10px;border-radius:8px;background:rgba(255,60,0,.1);font-size:12px;font-weight:600}

/* Confirmación de apuesta: tarjeta verde flotante con tilde animado. Sin confeti a propósito: confirma, no festeja. */
.bet-confirmation{position:fixed;top:78px;left:50%;transform:translateX(-50%);z-index:60;width:min(560px,calc(100vw - 24px));max-width:none;margin:0;padding:16px 18px;border:0;border-radius:14px;color:#fff;background:linear-gradient(135deg,#12a150,#0b7a3b);box-shadow:0 14px 40px rgba(11,122,59,.45),0 0 0 4px rgba(18,161,80,.18);animation:bc-in .45s cubic-bezier(.2,1.2,.3,1) both}
.bet-confirmation[hidden]{display:none}
.bet-confirmation strong{font-size:17px}
.bet-confirmation p{font-size:13px;opacity:.95}
.bet-confirmation a{color:#fff;text-decoration:underline}
.bet-confirmation button{color:#fff}
.check-anim{flex:none;width:46px;height:46px}
.check-circle{fill:rgba(255,255,255,.14);stroke:#fff;stroke-width:3;stroke-dasharray:145;stroke-dashoffset:145;animation:bc-draw .55s .1s ease-out forwards}
.check-mark{fill:none;stroke:#fff;stroke-width:4.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:40;stroke-dashoffset:40;animation:bc-draw .35s .55s ease-out forwards}
@keyframes bc-in{from{opacity:0;transform:translate(-50%,-24px) scale(.94)}to{opacity:1;transform:translate(-50%,0) scale(1)}}
@keyframes bc-draw{to{stroke-dashoffset:0}}
@media(prefers-reduced-motion:reduce){.bet-confirmation{animation:none}.check-circle,.check-mark{animation:none;stroke-dashoffset:0}}
@media(max-width:620px){.bet-confirmation{top:66px;margin:0;gap:10px}}
.metrics-panel{margin:14px 0}
.metrics-table{width:100%;border-collapse:collapse;font-size:13px;margin:8px 0}
.metrics-table th,.metrics-table td{padding:6px 8px;text-align:left;border-bottom:1px solid #e3e7f0}
.metrics-table td:nth-child(n+2),.metrics-table th:nth-child(n+2){text-align:right}
/* Celular: confirmación con la × arriba a la derecha y el link ocupando su propia fila; links con área táctil de 32 px. */
@media(max-width:620px){
  .bet-confirmation{position:fixed;flex-wrap:wrap;padding:14px 44px 14px 14px;gap:6px 12px}
  .bet-confirmation > div{flex:1 1 60%}
  .bet-confirmation button{position:absolute;top:4px;right:4px}
  .bet-confirmation a{order:3;flex-basis:100%;padding:6px 0 0 58px;min-height:32px;box-sizing:border-box}
  #account-name,.responsible a{display:inline-block;padding:8px 0}
}
.demo-note{padding:8px 10px;border-radius:8px;background:#fff6dd;color:#6b4e00}

/* Cuotas cortas: filtro por cuota del favorito */
.odds-filter { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 12px; }
.odds-filter-label { font: 700 12px inherit; font-family: inherit; text-transform: uppercase; letter-spacing: .04em; color: #233752; margin-right: 4px; }
.odds-chip { min-height: 32px; padding: 0 12px; border: 1px solid var(--line); border-radius: 16px; background: var(--raised); color: #233752; font-family: inherit; font-size: 12px; font-weight: 700; font-variant-numeric: tabular-nums; cursor: pointer; }
.odds-chip[aria-pressed="true"] { background: #b82b00; border-color: #b82b00; color: #fff; }
.odds-chip:focus-visible { outline: 2px solid #b82b00; outline-offset: 2px; }
.mb-cashout-note { margin: 10px 0 0; font-size: 12px; color: #5a6b85; }
.mb-cashout-confirm { margin-top: 10px; padding: 10px; border: 1px solid var(--line); border-radius: 8px; background: var(--raised); }
.mb-cashout-confirm p { margin: 0 0 8px; font-size: 13px; color: #233752; }
.mb-cashout-confirm div { display: flex; gap: 8px; }
.mb-cashout-confirm .ui-button { flex: 1; margin-top: 0; }
.bet-confirmation button.keep-selections{min-width:0;min-height:34px;padding:0 14px;border:1.5px solid rgba(255,255,255,.85);border-radius:8px;font-family:inherit;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
.bet-confirmation button.keep-selections:hover{background:rgba(255,255,255,.18)}
.mb-dot.leg-none { background: transparent; }

.crypto-form { display: grid; gap: 12px; max-width: 520px; margin: 18px 0; }
.crypto-form h3 { margin: 0; }
.crypto-form label { display: grid; gap: 6px; font-size: 14px; }
.crypto-form input, .crypto-form select { width: 100%; min-width: 0; min-height: 44px; padding: 10px; border: 1px solid #b9c4d3; border-radius: 8px; background: #fff; color: #253248; font: inherit; }
.crypto-form input:focus-visible, .crypto-form select:focus-visible { outline: 2px solid #f9a826; outline-offset: 2px; }
.crypto-address { display: block; overflow-wrap: anywhere; user-select: text; margin: 8px 0; }
.crypto-transfer { padding: 12px 0; border-bottom: 1px solid #dce2ec; }
.crypto-transfer p { margin: 6px 0; }
#money-feedback { overflow-wrap: anywhere; }

.admin-area[data-mfa-blocked="true"] > :not(#admin-mfa-gate) { display: none !important; }
.admin-mfa-gate { max-width: 440px; margin: 0 0 16px; padding: 14px; border: 1px solid #d7dde6; border-left: 4px solid #b82b00; border-radius: 6px; background: #fff; color: #303b4c; }
.admin-mfa-gate h3 { margin: 0 0 6px; font-size: 16px; }
.admin-mfa-gate .risk-note, .admin-mfa-gate .auth-note { margin: 6px 0 10px; line-height: 1.5; }
.admin-mfa-form { display: grid; gap: 8px; max-width: 280px; }
.admin-mfa-form label { font-size: 13px; font-weight: 650; }
.admin-mfa-form input { min-height: 44px; padding: 8px 10px; border: 1px solid #b9c4d3; border-radius: 6px; background: #fff; color: #253248; font: 700 20px ui-monospace, Consolas, monospace; letter-spacing: .2em; text-align: center; }
.admin-mfa-form input:focus-visible { outline: 2px solid #b82b00; outline-offset: 2px; }
.admin-mfa-form .ui-button { margin: 0; }
.admin-mfa-gate [role="status"] { min-height: 1.2em; }
@media (max-width: 620px) {
  .admin-mfa-gate { padding: 12px; }
  .admin-mfa-form { max-width: none; }
  .admin-mfa-form .ui-button { width: 100%; min-height: 44px; }
  .social-banner { font-size: 11px; padding: 7px 10px; }
  .social-strip { font-size: 10.5px; }
}

/* Ayuda y legales */
.legal { max-width: 960px; margin: 32px auto; padding: 0 16px; display: grid; gap: 8px; }
.legal h2 { font-size: 16px; margin: 0 0 8px; }
.legal details { padding: 14px 16px; border: 1px solid #e5e9ef; border-radius: 8px; background: white; color: #303b4c; }
.legal summary { cursor: pointer; font-size: 13px; font-weight: 650; }
.legal p { font-size: 12px; line-height: 1.6; margin: 10px 0 0; }
footer { display: flex; gap: 20px; align-items: center; flex-wrap: wrap; }
footer a { text-decoration: none; font-size: 11px; }
footer a:hover { text-decoration: underline; }

/* Cuotas que se mueven: verde sube, rojo baja; la flecha sirve para quien no distingue colores */
.odd.odd-up { animation: odd-up 2.4s ease-out; }
.odd.odd-down { animation: odd-down 2.4s ease-out; }
.odd-move { font-style: normal; font-size: 9px; margin-left: 3px; }
.odd-up .odd-move { color: #0a7a3b; }
.odd-down .odd-move { color: #c62828; }
@keyframes odd-up { 0%, 35% { background: #d4f4e0; box-shadow: 0 0 0 2px #0a7a3b; } 100% { box-shadow: 0 0 0 0 transparent; } }
@keyframes odd-down { 0%, 35% { background: #fbdada; box-shadow: 0 0 0 2px #c62828; } 100% { box-shadow: 0 0 0 0 transparent; } }
@media (prefers-reduced-motion: reduce) { .odd.odd-up, .odd.odd-down { animation: none; } }

/* Mejor precio de la cuenta (server/vip.mjs): una estrella discreta junto a la cuota */
.odd-bump-vip { color: #b8860b; font-style: normal; font-size: 10px; }
.odd.odd-vip { box-shadow: inset 0 0 0 1px #e8c766; }

/* Hábitos opcionales: "tu apuesta de siempre" y opciones de aviso */
.habit-offers { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 8px 0; padding: 10px 12px; border: 1px solid #e5e9ef; border-radius: 8px; background: #fff; font-size: 12px; }
.habit-offer { font: inherit; border: 1px solid #d1d9eb; border-radius: 8px; background: #f6f8fc; padding: 8px 10px; min-height: 40px; cursor: pointer; }
.habit-offer:hover { background: #eef2fb; }
.habit-off { margin-left: auto; font: inherit; border: 0; background: none; color: #59657a; text-decoration: underline; cursor: pointer; min-height: 40px; }
.habit-option { display: flex; gap: 8px; align-items: center; margin: 10px 0; font-size: 13px; }

.share-dialog { background: #f4f5f7; }
.share-card { border-radius: 12px; overflow: hidden; background: var(--orange, #ff3c00); }
.share-brand { padding: 14px 18px; color: white; font-size: 26px; font-weight: 800; }
.share-body { margin: 0 10px 10px; padding: 14px 16px; border-radius: 10px; background: white; }
.share-rows { list-style: none; margin: 10px 0 0; padding: 0; display: grid; gap: 16px; }
.share-rows li { display: grid; gap: 4px; position: relative; }
.share-pick { display: flex; align-items: center; gap: 8px; } .share-pick strong { flex: 1; } .share-odd { font-size: 18px; }
.share-rows small { color: #4a5bd1; }
.share-teams { display: grid; gap: 4px; font-size: 14px; } .share-teams span { display: flex; align-items: center; gap: 8px; }
.share-rows time { position: absolute; right: 0; bottom: 0; color: #5a6678; font-size: 13px; }
.share-money { margin: 14px 0 0; padding-top: 10px; border-top: 1px solid #e3e7ee; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.share-money div { display: grid; gap: 2px; } .share-money dt { color: #4a5bd1; font-size: 13px; } .share-money dd { margin: 0; font-weight: 800; font-size: 18px; }
.share-hide { display: flex; gap: 8px; align-items: center; margin: 14px 0 0; }
.share-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 14px; }
.share-dialog [hidden] { display: none !important; }
