/* RivalProof Arena · RP_ARENA_UI_V1 · sin dependencias externas */
:root {
  color-scheme: dark;
  --bg: #101315; --panel: #191e22; --panel2: #21272d; --panel3: #14191d;
  --text: #f3f5f6; --muted: #b0b9c2; --line: #343c44;
  --accent: #ff713d; --accent-strong: #ff642b; --accent-soft: #35251f;
  --green: #7fe2ac; --yellow: #f3ce80; --red: #ffabb4;
  --radius: .65rem; --shadow: 0 8px 24px #0000001f;
}
* { box-sizing: border-box; }
html { background: var(--bg); scroll-padding-top: 6rem; }
body { margin: 0; min-height: 100vh; color: var(--text); background: var(--bg); font: 1rem/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; -webkit-font-smoothing: antialiased; }
button, input, select, textarea { font: inherit; }
button, input, select, textarea, a { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; color: inherit; font-weight: 650; border: 1px solid transparent; transition: background-color .15s, border-color .15s; }
button, a { touch-action: manipulation; }
button:disabled { cursor: progress; opacity: .6; }
button:focus-visible, a:focus-visible, summary:focus-visible { outline: 3px solid var(--accent); outline-offset: 4px; }
input:focus, select:focus, textarea:focus { border-color: var(--accent); box-shadow: 0 0 0 3px #ff713d24; outline: none; }
::selection { color: var(--text); background: #9b411d; }
a { color: var(--accent); text-underline-offset: 3px; }
svg { stroke-linecap: round; stroke-linejoin: round; }
.ui-icon { width: 1.375rem; height: 1.375rem; flex: 0 0 auto; vertical-align: middle; }
.hidden { display: none !important; }
h1, h2, h3, h4, p { margin-top: 0; }
h1, h2, h3, h4 { color: var(--text); line-height: 1.2; }
h1 { font-size: clamp(2rem,4vw,3.5rem); letter-spacing: -.04em; margin-bottom: 1rem; }
h2 { font-size: clamp(1.375rem,2.5vw,1.875rem); letter-spacing: -.025em; font-weight: 750; margin-bottom: .75rem; }
h3 { font-size: 1.125rem; margin-bottom: .75rem; }
small { font-size: .875rem; }
.kicker { color: var(--accent); font-size: .75rem; font-weight: 750; letter-spacing: .12em; margin-bottom: .5rem; }
.muted-label, .security-note { color: var(--muted); font-size: .875rem; line-height: 1.5; }
.app-shell { max-width: 98rem; margin: 0 auto; padding: 0 1.75rem 3rem; }
.brandbar { position: sticky; top: 0; z-index: 20; min-height: 5.5rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 0; margin-bottom: 1.5rem; background: var(--bg); border-bottom: 1px solid var(--line); }
.brand { flex: 0 0 auto; }
.wordmark { font-family: Impact,"Arial Narrow","Roboto Condensed",sans-serif; font-size: 1.85rem; font-weight: 800; letter-spacing: -.02em; line-height: 1; }
.wordmark span { color: var(--accent-strong); }
.header-profile { display: flex; align-items: center; gap: .75rem; min-width: 0; }
.header-identity { display: flex; align-items: center; gap: 1rem; min-width: 0; }
#usernameLabel { font-weight: 650; max-width: 20ch; overflow-wrap: anywhere; }
.test-badge { display: inline-block; padding: .2rem .625rem; background: var(--panel2); color: #d5dbe1; font-size: .75rem; border: 1px solid var(--line); border-radius: 1rem; white-space: nowrap; }
.avatar, .profile-avatar { display: grid; place-items: center; flex: 0 0 auto; width: 2.75rem; height: 2.75rem; border-radius: 50%; font-weight: 750; background: var(--panel2); border: 1px solid #6c7782; }
.session-active #appView { margin-left: 14.5rem; }
.tabs { position: fixed; top: 7rem; left: max(1.75rem,calc((100vw - 98rem)/2 + 1.75rem)); bottom: 2rem; width: 12.75rem; display: flex; flex-direction: column; align-items: stretch; gap: .5rem; border-right: 1px solid var(--line); padding-right: 1rem; z-index: 15; overflow-y: auto; }
.tab { display: flex; align-items: center; gap: .875rem; min-height: 3.25rem; background: transparent; color: var(--muted); padding: .875rem 1rem; border-radius: .4rem; text-align: left; font-size: .9375rem; border-left: 3px solid transparent; }
.tab:hover { background: var(--panel); color: var(--text); }
.tab.active { color: var(--accent); background: linear-gradient(90deg,var(--accent-soft),#35251f26); border-left-color: var(--accent); }
.tab.active .ui-icon { stroke-width: 2.2; }
.tab { min-width: 0; }
.tab span { max-width: 100%; overflow-wrap: anywhere; }
.tab-pane { min-width: 0; }
.section-head, .panel-head, .room-head, .match-top, .evidence-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.section-head { margin: 0 0 1rem; }
.section-head h2, .panel-head h3, .room-head h3 { margin: 0; }
.section-head > div, .room-head > div { min-width: 0; }
.section-head .mini-btn { flex: 0 0 auto; }
.count-badge { display: inline-block; padding: .125rem .5rem; margin-left: .25rem; vertical-align: middle; border: 1px solid var(--line); background: var(--panel2); border-radius: .35rem; color: var(--muted); font-size: .875rem; font-weight: 600; }
.balance-card { display: flex; justify-content: space-between; align-items: center; gap: 1.25rem; padding: 1rem 1.25rem; background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius); }
.balance-values { display: flex; gap: 1.5rem; align-items: center; min-width: 0; }
.balance-values > div { min-width: 0; }
.balance-values strong { display: block; font-size: 1.75rem; line-height: 1.2; margin-top: .25rem; letter-spacing: -.025em; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.balance-values .reserved-balance { padding-left: 1.5rem; border-left: 1px solid var(--line); }
.reserved-balance strong { font-size: 1.125rem; }
.quick-actions { display: grid; grid-template-columns: auto auto; gap: .625rem; flex: 0 1 auto; }
.quick-actions button { display: flex; align-items: center; justify-content: center; gap: .5rem; }
.live-sync { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .5rem; color: var(--muted); margin: .5rem 0 1.25rem; font-size: .8125rem; }
.live-sync .mini-btn { padding: .375rem .5rem; min-height: 2.75rem; font-size: .875rem; background: transparent; border-color: transparent; }
.sync-error { color: var(--yellow); }
.primary-btn, .secondary-btn, .mini-btn, .icon-btn, .new-match button, .uploadForm > button, .acceptMatchBtn, .declineMatchBtn, .cancelMatchBtn, .reanalyzeBtn { display: inline-flex; align-items: center; justify-content: center; min-height: 2.875rem; padding: .75rem 1rem; border-radius: .4rem; text-decoration: none; text-align: center; line-height: 1.35; }
.primary-btn, .new-match button, .uploadForm > button, .acceptMatchBtn { background: var(--accent-strong); color: #1b100b; border: 1px solid var(--accent-strong); font-weight: 750; }
.primary-btn:hover, .new-match button:hover, .uploadForm > button:hover, .acceptMatchBtn:hover { background: #ff875b; border-color: #ff875b; }
.secondary-btn, .mini-btn, .icon-btn, .reanalyzeBtn { background: var(--panel2); border: 1px solid #4b5762; color: var(--text); }
.secondary-btn:hover, .mini-btn:hover, .icon-btn:hover, .reanalyzeBtn:hover { background: #2b333a; border-color: #83909c; }
.mini-btn { font-size: .875rem; }
.icon-btn { width: 2.75rem; min-height: 2.75rem; padding: 0; font-size: 1.5rem; }
.declineMatchBtn, .cancelMatchBtn { color: var(--red); border: 1px solid #78525b; background: #342127; }
.glass-card, .join-card, .room-card, .summary-card, .history-item { background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius); }
.glass-card, .room-card { padding: 1.5rem; }
label { display: grid; gap: .5rem; font-size: .875rem; color: #dbe1e6; min-width: 0; }
input, select, textarea { display: block; min-width: 0; width: 100%; min-height: 2.875rem; padding: .75rem .875rem; border: 1px solid #4b5762; border-radius: .4rem; background: var(--panel3); color: var(--text); font-size: 1rem; line-height: 1.4; }
input::placeholder, textarea::placeholder { color: #9aa5b0; opacity: 1; }
textarea { resize: vertical; }
input[type=file] { padding: .375rem; font-size: .875rem; cursor: pointer; }
input[type=file]::file-selector-button { padding: .55rem .75rem; margin-right: .625rem; border: 0; border-radius: .25rem; background: #333d46; color: var(--text); font: inherit; cursor: pointer; }
input[type=number] { font-variant-numeric: tabular-nums; }
.form-stack { display: grid; gap: 1rem; margin-top: 1.25rem; }
.auth-stage { padding: 1.5rem 0; }
.auth-copy { max-width: 40rem; margin-bottom: 2rem; }
.auth-copy > p:not(.kicker) { color: var(--muted); max-width: 35rem; }
.auth-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
.auth-card { border-top: 3px solid var(--accent-strong); }
.auth-card h2 { font-size: 1.375rem; }
.auth-card > p { color: var(--muted); }
.match-picker, .compact-rooms { display: grid; gap: .625rem; margin-bottom: 1rem; }
.match-picker.single-match { display: none; }
.match-choice, .room-choice { display: flex; align-items: center; justify-content: space-between; width: 100%; text-align: left; gap: 1.5rem; padding: 1rem 1.125rem; border: 1px solid var(--line); background: var(--panel); border-radius: .5rem; }
.match-choice > span, .room-choice > span { min-width: 0; }
.match-choice strong, .room-choice strong { display: block; overflow-wrap: anywhere; font-size: 1rem; }
.match-choice small, .room-choice small { display: block; color: var(--muted); font-size: .875rem; font-weight: 400; margin-top: .375rem; overflow-wrap: anywhere; }
.choice-meta, .room-choice-side { text-align: right; flex: 0 1 42%; }
.choice-meta b { color: var(--accent); font-variant-numeric: tabular-nums; }
.room-choice-side b { font-family: ui-monospace, monospace; font-size: .9375rem; letter-spacing: .05em; }
.match-choice:hover, .room-choice:hover, .history-choice:hover { background: var(--panel2); border-color: #75818d; }
.match-choice.selected, .room-choice.selected, .history-choice.selected { border-color: var(--accent); background: #27211e; box-shadow: inset 3px 0 var(--accent); }
.match-detail, .room-detail { scroll-margin-top: 6.5rem; outline: none; }
.match-detail:empty, .room-detail:empty { display: none; }
.match-card { min-width: 0; }
.arena-match-layout { display: grid; gap: 1.25rem; align-items: start; }
.match-surface, .match-room { min-width: 0; border: 1px solid var(--line); border-radius: var(--radius); background: var(--panel); padding: 1.25rem; }
.match-top { align-items: flex-start; gap: .75rem; }
.match-game { display: flex; align-items: center; gap: .625rem; min-width: 0; }
.match-game > div { min-width: 0; }
.match-game strong { display: block; font-size: 1rem; overflow-wrap: anywhere; }
.game-icon { display: grid; place-items: center; width: 2.5rem; height: 2.5rem; flex: 0 0 auto; background: #343d45; border: 1px solid #52606b; border-radius: .5rem; color: var(--text); }
.match-id { display: block; color: var(--muted); font-size: .75rem; margin-top: .25rem; }
.badge { display: inline-block; flex: 0 1 auto; border: 1px solid #825039; color: #ffa174; background: #33251f; border-radius: .3rem; padding: .25rem .5rem; font-size: .8125rem; line-height: 1.4; }
.badge.confirmed { color: var(--green); border-color: #447956; background: #1b3025; }
.badge.draw { color: #d2d8df; border-color: #65727e; background: #282f35; }
.badge.cancelled { color: var(--red); border-color: #75505b; background: #332129; }
.badge.manual-review { color: var(--yellow); border-color: #856535; background: #342a1e; }
.versus { display: grid; grid-template-columns: minmax(0,1fr) 2.5rem minmax(0,1fr); align-items: center; gap: 1rem; margin: 1.75rem auto 1rem; max-width: 36rem; }
.player { display: flex; flex-direction: column; align-items: center; min-width: 0; text-align: center; gap: .5rem; }
.player-avatar { display: grid; place-items: center; width: 5rem; height: 5rem; border-radius: 50%; border: 2px solid #7c8a99; background: #2a323b; color: white; font-size: 2rem; font-weight: 750; }
.player-me .player-avatar { border-color: var(--accent); background: #48291d; }
.player strong { max-width: 100%; font-size: 1rem; overflow-wrap: anywhere; }
.team-name { color: var(--muted); font-size: .875rem; overflow-wrap: anywhere; }
.vs { color: #a4aeb9; font-size: 1.125rem; font-weight: 750; text-align: center; padding: .875rem 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.match-next-step { margin: 1rem 0 .25rem; text-align: center; color: var(--accent); font-size: 1rem; font-weight: 650; }
.match-next-step.needs-review { color: var(--yellow); }
.match-deadline { text-align: center; color: var(--muted); font-size: .875rem; margin: .25rem 0 .875rem; }
.wager-strip { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); align-items: center; gap: .75rem; padding: 1rem 0 .75rem; margin-top: 1rem; border-top: 1px solid var(--line); }
.wager-strip small { display: block; color: var(--muted); font-size: .875rem; }
.wager-strip b { display: block; font-size: 1.25rem; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.wager-strip > span:last-child { text-align: right; }
.capture-progress { display: grid; justify-items: center; gap: .5rem; text-align: center; min-width: 0; }
.capture-progress progress { display: block; appearance: none; width: min(100%,7rem); height: .5rem; border: 0; border-radius: 1rem; overflow: hidden; background: #414c57; accent-color: var(--accent); }
progress::-webkit-progress-bar { background: #414c57; border-radius: 1rem; }
progress::-webkit-progress-value { background: var(--accent); border-radius: 1rem; }
progress::-moz-progress-bar { background: var(--accent); border-radius: 1rem; }
.capture-only { padding: .75rem 0; }
.my-reserved { color: var(--muted); font-size: .8125rem; margin: 0 0 .75rem; }
.my-reserved strong { color: #d6dde4; font-weight: 550; }
.upload-v3 { display: grid; gap: .875rem; margin: 1rem 0; }
.upload-v3 > button { width: 100%; min-height: 3.125rem; }
.upload-test-note { margin: 0; }
.upload-test-note summary { min-height: 2.75rem; padding: .5rem 0; font-size: .875rem; }
.match-diagnostics { margin-top: 1rem; border-top: 1px solid var(--line); }
.match-diagnostics > summary { display: flex; align-items: center; gap: .625rem; min-height: 3.25rem; padding: .875rem 0 0; color: #d4dde5; font-size: .9375rem; list-style: none; }
.match-diagnostics > summary::-webkit-details-marker { display: none; }
.match-diagnostics > summary::after { content: '›'; color: var(--muted); font-size: 1.5rem; line-height: 1; }
.match-diagnostics[open] > summary::after { transform: rotate(90deg); }
.match-diagnostics > summary > span { flex: 1; }
.match-diagnostics > summary small { color: var(--muted); font-size: .75rem; text-align: right; }
.diagnostic-content { padding-top: .75rem; }
.match-room { display: grid; gap: 1.25rem; }
.room-aside-head h3 { margin-bottom: .25rem; overflow-wrap: anywhere; }
.room-invite { display: grid; gap: .5rem; }
.room-invite small { color: var(--muted); }
.room-code { display: inline-block; user-select: all; -webkit-user-select: all; font-family: ui-monospace,SFMono-Regular,Menlo,monospace; font-size: 1.25rem; font-weight: 750; letter-spacing: .075em; color: var(--text); background: var(--panel2); border: 1px solid #58636d; padding: .5rem .75rem; border-radius: .35rem; overflow-wrap: anywhere; }
.room-facts { display: grid; gap: .875rem; padding: 1rem 0 0; margin: 0; border-top: 1px solid var(--line); }
.room-facts dt { color: var(--muted); font-size: .875rem; }
.room-facts dd { font-weight: 600; margin: .125rem 0 0; overflow-wrap: anywhere; }
.match-room > button { width: 100%; }
.accept-card, .waiting-card { display: grid; gap: .875rem; margin: 1rem 0; padding: 1rem; border: 1px solid #665345; border-radius: .5rem; background: #2a221c; }
.accept-card small, .waiting-card small { display: block; color: var(--muted); margin-top: .375rem; }
.accept-actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.accept-actions button { flex: 1 1 auto; }
.waiting-card .cancelMatchBtn { justify-self: start; }
.winner-banner { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.25rem; border: 1px solid #4d8364; background: #1c3025; border-radius: .5rem; margin: 1rem 0; }
.winner-banner strong { display: block; font-size: 1.625rem; color: var(--green); overflow-wrap: anywhere; }
.winner-banner > div { min-width: 0; }
.paid-line { display: block; margin-top: .375rem; color: var(--green); font-weight: 650; }
.confidence-box { text-align: right; flex: 0 1 36%; }
.confidence-box b { display: block; color: var(--green); font-size: 1.25rem; }
.confidence-box span { display: block; color: var(--muted); font-size: .8125rem; }
.review-box { display: grid; gap: .75rem; padding: 1rem; margin: 1rem 0; border: 1px solid #6d5938; border-radius: .5rem; background: #29241b; color: #f0d9a7; font-size: .9375rem; line-height: 1.6; overflow-wrap: anywhere; }
.review-box b { color: #f6deaa; }
.error-callout { border-color: #91606a; background: #322025; color: var(--red); }
.error-callout b { color: var(--red); }
.anti-fraud-strip, .forensic-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .625rem; margin: .5rem 0 1rem; }
.anti-fraud-strip > div, .forensic-grid > div { min-width: 0; background: var(--panel3); border: 1px solid var(--line); border-radius: .4rem; padding: .75rem; }
.anti-fraud-strip small, .forensic-grid small { display: block; color: var(--muted); font-size: .8125rem; margin-bottom: .25rem; }
.anti-fraud-strip b, .forensic-grid b { display: block; color: var(--text); font-size: .875rem; overflow-wrap: anywhere; }
.forensic-grid em { display: block; font-style: normal; color: var(--muted); font-size: .75rem; margin-top: .375rem; overflow-wrap: anywhere; }
.forensic-grid .forensic-good b, .risk-low .risk-pill { color: var(--green); }
.forensic-grid .forensic-warn b { color: var(--yellow); }
.forensic-grid .forensic-bad b, .risk-high .risk-pill { color: var(--red); }
.evidence-grid { display: grid; gap: 1rem; }
.evidence { min-width: 0; border: 1px solid var(--line); background: var(--panel3); padding: 1rem; border-radius: .5rem; color: var(--text); }
.evidence-head { align-items: flex-start; }
.evidence-head > div { min-width: 0; }
.evidence-head strong, .evidence-head small { display: block; overflow-wrap: anywhere; }
.evidence-head small { color: var(--muted); margin-top: .25rem; font-size: .8125rem; }
.risk-pill { display: inline-block; font-size: .8125rem; border: 1px solid var(--line); border-radius: .375rem; padding: .25rem .5rem; text-align: center; }
.evidence-img { display: block; width: 100%; max-height: 28rem; min-height: 4rem; height: auto; object-fit: contain; background: #0c0f11; border: 1px solid var(--line); border-radius: .375rem; margin: 1rem 0; }
details { margin-top: .75rem; color: var(--muted); font-size: .875rem; }
summary { cursor: pointer; padding: .625rem 0; font-weight: 600; min-height: 2.75rem; }
details ul { padding-left: 1.25rem; line-height: 1.6; overflow-wrap: anywhere; }
pre { background: #0d1114; color: #c8d2dc; padding: .875rem; font: .8125rem/1.55 ui-monospace,SFMono-Regular,Menlo,monospace; border: 1px solid var(--line); border-radius: .375rem; overflow: auto; max-height: 22rem; white-space: pre-wrap; overflow-wrap: anywhere; }
.reanalyzeBtn { width: 100%; margin-top: 1rem; }
.hero-actions { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 1rem; margin-bottom: 1.25rem; }
.challenge-btn { display: flex; align-items: center; gap: 1rem; padding: 1.25rem; border: 1px solid #936042; border-radius: var(--radius); background: #35251e; color: var(--accent); text-align: left; }
.challenge-btn:hover { border-color: var(--accent); background: #42291d; }
.challenge-btn .plus { font-size: 2rem; font-weight: 400; }
.challenge-btn strong { display: block; font-size: 1.125rem; }
.challenge-btn small { display: block; color: var(--muted); font-weight: 400; margin-top: .25rem; }
.join-card { padding: 1.125rem; }
.join-card > label { display: block; font-weight: 650; margin-bottom: .5rem; }
.join-form { display: flex; gap: .5rem; }
.join-form input { font-family: ui-monospace,monospace; letter-spacing: .05em; text-transform: uppercase; }
.join-form button { border: 1px solid #596571; border-radius: .4rem; width: 3rem; flex: 0 0 auto; background: var(--panel2); color: var(--text); font-size: 1.5rem; }
.create-panel { margin-bottom: 1.25rem; border-color: var(--accent); }
.create-room-form { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: .875rem; margin-top: 1.25rem; }
.room-search { display: grid; gap: .625rem; margin: 1.5rem 0 1rem; }
.room-search label { font-weight: 650; }
.room-search input { background: var(--panel); }
.room-search > span { font-size: .8125rem; }
.room-head { align-items: flex-start; }
.room-head h3 { overflow-wrap: anywhere; }
.members { display: flex; gap: .5rem; flex-wrap: wrap; margin: 1.25rem 0; }
.member-pill { font-size: .875rem; color: #d6dfe6; border: 1px solid var(--line); background: var(--panel2); border-radius: 1rem; padding: .375rem .75rem; overflow-wrap: anywhere; }
.room-pending { display: grid; gap: .75rem; margin: 1.25rem 0; padding: 1rem; background: var(--panel3); border: 1px solid var(--line); border-radius: .5rem; }
.room-pending .mini-btn { text-align: left; justify-content: flex-start; overflow-wrap: anywhere; }
.new-match { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 1rem; border-top: 1px solid var(--line); padding-top: 1.25rem; margin-top: 1.25rem; }
.new-match > button, .stake-field, .team-help, .team-entry-grid { grid-column: 1/-1; }
.team-entry-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 1rem; }
.stake-field { padding: 1rem; border: 1px solid #856044; border-radius: .5rem; background: #2c231d; }
.stake-field small { color: var(--muted); }
.team-help { color: var(--muted); font-size: .875rem; padding: .875rem; background: var(--panel3); border-radius: .4rem; }
.room-history-link { margin-top: 1.25rem; }
.result-receipt { display: flex; align-items: center; flex-wrap: wrap; gap: .75rem; border: 1px solid #4b8060; border-radius: .5rem; padding: 1rem; margin-bottom: 1rem; background: #1b3024; }
.result-receipt > div { flex: 1; min-width: 0; }
.result-receipt strong, .result-receipt small { display: block; overflow-wrap: anywhere; }
.result-receipt small { color: var(--muted); }
.history-list, .ledger-list { display: grid; gap: .625rem; }
.history-list { margin-bottom: 1.25rem; }
.history-item { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,auto); gap: 1rem; padding: 1rem 1.125rem; text-align: left; }
.history-item strong, .history-item small { display: block; overflow-wrap: anywhere; }
.history-item small { color: var(--muted); margin-top: .375rem; font-weight: 400; font-size: .875rem; }
.history-score { text-align: right; color: var(--green); }
.profile-avatar { width: 4rem; height: 4rem; font-size: 1.5rem; background: #42271c; border: 2px solid var(--accent); }
.profile-hero { display: flex; align-items: center; gap: 1rem; }
.profile-hero > div { min-width: 0; }
.profile-hero h2 { overflow-wrap: anywhere; }
.profile-stats, .summary-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .75rem; }
.profile-stats { margin-top: 1.5rem; }
.profile-stats > div, .summary-card { padding: 1rem; border: 1px solid var(--line); border-radius: .5rem; background: var(--panel3); min-width: 0; }
.profile-stats small { display: block; color: var(--muted); }
.profile-stats b, .summary-card b { display: block; font-size: 1.5rem; font-variant-numeric: tabular-nums; margin-top: .25rem; overflow-wrap: anywhere; }
.system-status { margin-top: 1.25rem; }
.status-strip, .tools { display: flex; align-items: center; flex-wrap: wrap; gap: .625rem; }
.status-strip { margin-top: 1rem; }
.tool { border: 1px solid #4b775b; color: var(--green); background: #1b2a21; border-radius: .4rem; padding: .375rem .625rem; font-size: .8125rem; }
.tool.off { color: var(--yellow); background: #30281b; border-color: #796237; }
.wallet-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 1.25rem; margin-top: 1.25rem; align-items: start; }
.wallet-box { min-width: 0; }
.wallet-box .security-note { display: block; margin-top: 1rem; }
.deposit-methods { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; margin: 1rem 0; }
.depositMethodBtn, .depositPresetBtn, .withdrawalFilterBtn { padding: .75rem; min-height: 2.875rem; border: 1px solid #505c68; background: var(--panel3); border-radius: .4rem; }
.depositMethodBtn.active, .withdrawalFilterBtn.active { background: var(--accent-soft); border-color: var(--accent); color: #ffac83; }
.deposit-presets { display: grid; grid-template-columns: repeat(4,1fr); gap: .5rem; }
.depositPresetBtn:hover { border-color: var(--accent); }
.neutral-destination, .bank-deposit-preview { display: grid; gap: .375rem; padding: 1rem; margin: 1rem 0; background: var(--panel3); border: 1px solid var(--line); border-radius: .5rem; overflow-wrap: anywhere; }
.neutral-destination small, .bank-deposit-preview small, .bank-deposit-preview em { color: var(--muted); font-size: .875rem; }
.bank-deposit-preview em { font-style: normal; }
.payphone-link { display: flex; margin-top: .75rem; }
.compact-form { margin-top: 1.25rem; padding-top: 1.25rem; border-top: 1px solid var(--line); }
.ledger-head { margin-top: 2rem; }
.ledger-row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem; border: 1px solid var(--line); background: var(--panel); border-radius: .5rem; }
.ledger-row > div { min-width: 0; }
.ledger-row b, .ledger-row small { display: block; overflow-wrap: anywhere; }
.ledger-row small { color: var(--muted); margin-top: .375rem; font-size: .875rem; }
.ledger-row > strong { font-variant-numeric: tabular-nums; }
.negative, .money-out { color: var(--red); }
.money-in { color: var(--green); }
.row-actions { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; justify-content: flex-end; }
.admin-wallet { margin-top: 2rem; border-color: #8c7247; }
#adminPayphoneBusinessLink { overflow-wrap: anywhere; }
#reconciliation { margin: 1.25rem 0; }
.withdrawal-filters { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1rem 0; }
.withdrawalFilterBtn { font-size: .875rem; }
.withdrawalFilterBtn span { padding-left: .25rem; }
.withdrawal-admin-list { display: grid; gap: .75rem; }
.withdrawal-admin-row { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: .875rem; padding: 1rem; border: 1px solid var(--line); border-radius: .5rem; background: var(--panel3); }
.withdrawal-main { display: flex; align-items: center; flex-wrap: wrap; gap: .75rem; min-width: 0; }
.withdrawal-main b, .withdrawal-main small, .withdrawal-pay span, .withdrawal-pay small { display: block; overflow-wrap: anywhere; }
.withdrawal-main small, .withdrawal-pay small, .withdrawal-result { color: var(--muted); font-size: .875rem; }
.withdrawal-code { font-family: ui-monospace,monospace; padding: .375rem .625rem; border: 1px solid var(--line); border-radius: .375rem; font-size: .875rem; overflow-wrap: anywhere; }
.withdrawal-pay { text-align: right; }
.withdrawal-pay span { font-size: 1.25rem; font-weight: 700; }
.withdrawal-result, .withdrawal-admin-row .row-actions { grid-column: 1/-1; border-top: 1px solid var(--line); padding-top: .875rem; }
.payout-btn { color: var(--green); background: #1d3427; border-color: #608773; }
.danger-btn { color: var(--red); background: #342127; border-color: #87636b; }
.deposit-entry, .bank-payment-card { display: grid; gap: .75rem; }
.bank-payment-card { padding: 1rem; border: 1px solid var(--line); background: var(--panel2); border-radius: .5rem; margin-bottom: 1rem; }
.bank-payment-head { display: flex; align-items: center; gap: .75rem; }
.bank-payment-head > div { display: grid; }
.bank-payment-head small { color: var(--muted); }
.bank-code { font: 700 1.5rem ui-monospace,monospace; letter-spacing: .05em; text-align: center; padding: 1rem; background: var(--panel3); border-radius: .4rem; overflow-wrap: anywhere; }
.bank-exact { text-align: center; }
.bank-exact strong { display: block; font-size: 1.5rem; }
.bank-line { display: grid; grid-template-columns: auto minmax(0,1fr); gap: 1rem; }
.bank-line b { text-align: right; overflow-wrap: anywhere; }
.bank-line span, .bank-instructions { color: var(--muted); font-size: .875rem; }
.empty { grid-column: 1/-1; border: 1px dashed #58636e; border-radius: .5rem; padding: 1.75rem 1rem; text-align: center; color: var(--muted); font-size: .9375rem; }
.empty strong { display: block; color: var(--text); margin-bottom: .5rem; }
.empty p { margin: .5rem 0 1rem; }
.toast { position: fixed; right: 1.5rem; bottom: 1.5rem; max-width: min(30rem,calc(100% - 3rem)); border: 1px solid #6c7b88; border-left: 4px solid var(--accent); border-radius: .5rem; background: #252e35; color: var(--text); padding: 1rem; box-shadow: 0 8px 32px #0007; z-index: 40; overflow-wrap: anywhere; }
.toast.error { background: #38252a; border-color: #a56b78; border-left-color: var(--red); }
@media (min-width: 80rem) {
  .arena-match-layout { grid-template-columns: minmax(0,1fr) 15.5rem; }
  .match-room { position: sticky; top: 7rem; }
}
@media (min-width: 90rem) {
  .auth-stage { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.4fr); gap: 3rem; align-items: center; padding: 3rem 0; }
}
@media (min-width: 64rem) and (max-width: 74rem) {
  .balance-card { flex-wrap: wrap; }
  .balance-values, .quick-actions { flex: 1 1 auto; }
}
@media (max-width: 63.999rem) {
  .app-shell { padding: 0 1.25rem calc(7rem + env(safe-area-inset-bottom)); }
  .session-active #appView { margin-left: 0; }
  .brandbar { min-height: 4.75rem; margin-bottom: 1rem; }
  .tabs { top: auto; bottom: 0; left: 0; right: 0; width: auto; display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: .25rem; padding: .375rem max(.5rem,env(safe-area-inset-left)) calc(.375rem + env(safe-area-inset-bottom)); background: #14191df7; border: 0; border-top: 1px solid #515b65; backdrop-filter: blur(16px); box-shadow: 0 -4px 24px #0003; overflow: visible; }
  .tab { display: flex; flex-direction: column; justify-content: center; gap: .25rem; min-height: 3.75rem; padding: .5rem .125rem; font-size: .875rem; line-height: 1.3; border: 0; text-align: center; border-radius: .35rem; }
  .tab.active { background: #33251e; }
  .tab .ui-icon { width: 1.25rem; height: 1.25rem; }
  .balance-card { padding: 1rem; }
  .balance-values { gap: 1rem; }
  .balance-values .reserved-balance { padding-left: 1rem; }
  .match-room { grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: start; }
  .room-facts { grid-template-columns: repeat(3,minmax(0,1fr)); grid-column: 1/-1; }
  .match-room > button { grid-column: 1/-1; }
  .room-invite { text-align: right; }
  .toast { bottom: calc(5.75rem + env(safe-area-inset-bottom)); }
}
@media (max-width: 47rem) {
  .app-shell { padding-inline: 1rem; }
  .wordmark { font-size: 1.625rem; }
  .header-identity { flex-direction: column; align-items: flex-end; gap: .125rem; }
  #usernameLabel { max-width: 14ch; font-size: .875rem; }
  .avatar { width: 2.5rem; height: 2.5rem; }
  .balance-card { display: grid; padding: 0; border: 0; background: transparent; gap: .875rem; }
  .balance-values { justify-content: space-between; background: var(--panel); border: 1px solid var(--line); border-radius: .5rem; padding: .875rem 1rem; }
  .balance-values strong { font-size: 1.5rem; }
  .reserved-balance strong { font-size: 1rem; }
  .quick-actions { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: .625rem; }
  .quick-actions button { font-size: .875rem; padding: .875rem .625rem; }
  .quick-actions .ui-icon { width: 1.125rem; height: 1.125rem; }
  .live-sync { margin: .375rem 0 1rem; gap: .25rem; }
  .glass-card, .room-card, .match-surface, .match-room { padding: 1rem; }
  .match-top { flex-wrap: wrap; }
  .match-top .badge { margin-left: auto; }
  .versus { margin-top: 1.25rem; gap: .625rem; }
  .player-avatar { width: 4rem; height: 4rem; font-size: 1.75rem; }
  .wager-strip { gap: .5rem; }
  .wager-strip b { font-size: 1.125rem; }
  .match-diagnostics > summary { flex-wrap: wrap; }
  .match-diagnostics > summary small { display: none; }
  .match-room { gap: 1rem; }
  .room-facts { grid-template-columns: minmax(0,1fr); }
  .room-code { font-size: 1.125rem; padding: .5rem; }
  .hero-actions { grid-template-columns: minmax(0,1fr); }
  .challenge-btn { padding: 1rem; }
  .create-room-form, .new-match, .team-entry-grid, .wallet-grid, .auth-grid { grid-template-columns: minmax(0,1fr); }
  .auth-stage { padding-top: .5rem; }
  .auth-copy { margin-bottom: 1.5rem; }
  .auth-copy h1 { font-size: 2rem; }
  .match-choice, .room-choice { gap: .75rem; padding: .875rem; }
  .history-item { grid-template-columns: minmax(0,1fr); gap: .5rem; }
  .history-score { text-align: left; }
  .winner-banner { flex-wrap: wrap; padding: 1rem; }
  .confidence-box { text-align: left; flex: 1 1 100%; }
  .confidence-box b, .confidence-box span { display: inline; }
  .confidence-box span { margin-left: .375rem; }
  .summary-grid { grid-template-columns: minmax(0,1fr); }
  .profile-stats { gap: .5rem; }
  .profile-stats > div { padding: .75rem .5rem; }
  .profile-stats b { font-size: 1.125rem; }
  .profile-hero { flex-wrap: wrap; }
  .deposit-methods { grid-template-columns: minmax(0,1fr); }
  .ledger-row { align-items: flex-start; flex-wrap: wrap; }
  .ledger-row .row-actions { justify-content: flex-start; }
  .withdrawal-admin-row { grid-template-columns: minmax(0,1fr); }
  .withdrawal-pay { text-align: left; }
  .bank-line { grid-template-columns: minmax(0,1fr); gap: .25rem; }
  .bank-line b { text-align: left; }
  .toast { right: 1rem; max-width: calc(100% - 2rem); }
}
@media (max-width: 25rem) {
  .app-shell { padding-inline: .75rem; }
  .wordmark { font-size: 1.375rem; }
  .header-profile { gap: .375rem; }
  #usernameLabel { max-width: 11ch; }
  .test-badge { padding: .125rem .5rem; }
  .avatar { width: 2.125rem; height: 2.125rem; }
  .tab { font-size: .8125rem; }
  .quick-actions button { gap: .375rem; padding: .75rem .375rem; }
  .balance-values { padding: .875rem; }
  .balance-values .muted-label { font-size: .8125rem; }
  .match-choice, .room-choice { flex-wrap: wrap; }
  .choice-meta, .room-choice-side { flex: 1 1 100%; display: flex; gap: .75rem; align-items: baseline; justify-content: space-between; text-align: left; }
  .choice-meta small, .room-choice-side small { text-align: right; }
  .anti-fraud-strip, .forensic-grid { grid-template-columns: minmax(0,1fr); }
  .match-room { grid-template-columns: minmax(0,1fr); }
  .room-invite { text-align: left; }
  .section-head, .room-head { flex-wrap: wrap; }
  .profile-stats { grid-template-columns: minmax(0,1fr); }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}

/* Depósitos bancarios semi-automáticos con Gemini */
.receipt-upload { display: grid; gap: .65rem; padding: .9rem; border: 1px solid var(--line); border-radius: .5rem; background: var(--panel3); }
.receipt-upload label { display: grid; gap: .45rem; font-weight: 650; }
.receipt-upload small, .receipt-warning { color: var(--muted); line-height: 1.45; }
.receipt-verification { display: grid; gap: .35rem; padding: .85rem; border-radius: .5rem; border: 1px solid var(--line); background: var(--panel3); }
.receipt-verification.ok { border-color: #3f7655; }
.receipt-verification.review { border-color: #8a6a33; }
.receipt-verification.pending { border-color: #4d6f91; }
.receipt-verification span { font-size: .875rem; line-height: 1.4; }
.receipt-warning { padding: .75rem; border-left: 3px solid var(--accent); background: var(--panel3); }


/* RP_BANK_WITHDRAWAL_VOUCHER_V1 */
.withdrawal-destination { grid-column: 1/-1; display:grid; gap:.25rem; padding:.8rem; border:1px solid var(--line); border-radius:.45rem; background:rgba(255,255,255,.02); }
.withdrawal-destination span { color:var(--muted); font-size:.875rem; overflow-wrap:anywhere; }
.withdrawal-complete-box { grid-column:1/-1; display:grid; gap:.75rem; border-top:1px solid var(--line); padding-top:.875rem; }
.withdrawal-complete-box label { display:grid; gap:.35rem; color:var(--muted); font-size:.875rem; }
.withdrawal-complete-box input, .wallet-box select { width:100%; }
.withdrawal-user-row .row-actions { align-items:center; }
.legacy-payphone { margin-top:.75rem; color:var(--muted); }
.legacy-payphone summary { cursor:pointer; font-size:.85rem; }
/* Arena 33.5 · series */
.series-card{overflow:hidden}.series-heading{display:flex;justify-content:space-between;gap:1rem;align-items:center}.series-heading h3{margin:.2rem 0;font-size:1.4rem}.series-status{font-size:.75rem;padding:.45rem .7rem;border:1px solid #465477;border-radius:2rem;color:#b6c3df}
.series-scoreboard{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;margin:1.5rem 0 .4rem;padding:1.25rem;border:1px solid #384360;border-radius:1rem;background:linear-gradient(125deg,#202641,#142736)}
.series-scoreboard>div{display:flex;flex-direction:column;align-items:center;min-width:0}.series-scoreboard span{max-width:100%;overflow-wrap:anywhere}.series-scoreboard strong{font-size:3rem;line-height:1.2;color:#fff;font-variant-numeric:tabular-nums}.series-versus{font-size:.75rem;letter-spacing:.15em;color:#8a99b8}.series-score-caption{text-align:center;color:#a9b8d1;font-size:.8rem}
.series-money{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;margin:1.3rem 0}.series-money>div{display:flex;flex-direction:column;gap:.4rem;border:1px solid #36435b;border-radius:.8rem;padding:.8rem}.series-money small{color:#a9b8d1;font-size:.75rem}.series-money b{font-size:1.25rem;color:#ecf3ff;overflow-wrap:anywhere}.series-money>div:last-child b{color:#75eeb6}
.series-rules{font-size:.85rem;line-height:1.65;color:#aebbd1}.series-finance,.series-notice{padding:1rem;border:1px solid #475e87;background:#142a40;border-radius:.8rem;line-height:1.6;font-size:.9rem}.series-finance{color:#95f4c4;border-color:#366251}
.series-rounds{display:grid;gap:.8rem;margin:1.25rem 0}.series-round{border:1px solid #34415a;border-radius:.85rem;background:#111c30}.series-round>summary{padding:1rem;cursor:pointer}.series-round>summary span{font-size:.8rem;color:#abbad2;margin-left:.65rem}.series-round-body{padding:0 1rem 1rem}.series-evidence-grid{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.series-evidence{min-width:0;display:flex;flex-direction:column;gap:.5rem;padding:.8rem;background:#0c1628;border-radius:.65rem}.series-evidence img{width:100%;height:160px;object-fit:contain;background:#080f1d;border-radius:.4rem}.series-evidence strong,.series-evidence small{overflow-wrap:anywhere}.series-evidence small{color:#aab9d2;font-size:.75rem}
.seriesUploadForm{display:grid;gap:.8rem;margin-top:1rem}.seriesUploadForm small{color:#aab9d2;font-size:.75rem}.series-actions,.series-presets{display:flex;flex-wrap:wrap;gap:.65rem;margin:1rem 0}.series-actions button{flex:1 1 170px}.series-create label{display:grid;gap:.4rem}.series-cancel,.series-diagnostics{margin-top:1.2rem;border-top:1px solid #34415a;padding-top:1rem}.series-cancel summary,.series-diagnostics summary,.series-round-diagnostics summary{cursor:pointer;color:#bdc6e1}.series-diagnostics section{margin:1rem 0}.series-diagnostics section>p{color:#aab9d2;font-size:.8rem}.series-round-diagnostics{margin-top:1rem}.series-round-diagnostics pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.75rem;max-height:320px;overflow:auto}.series-status{max-width:45%;text-align:center}
@media(max-width:480px){.series-heading h3{font-size:1.15rem}.series-money{gap:.35rem}.series-money>div{padding:.65rem .4rem}.series-money b{font-size:1.05rem}.series-round>summary span{display:block;margin:.4rem 0 0 1rem}.series-evidence-grid{gap:.45rem}.series-evidence{padding:.5rem}.series-scoreboard{padding:1rem .5rem}.series-status{font-size:.65rem}.series-presets button{flex:1}}

/* RP_DELETE_ROOM_V1 */
.room-delete-row{
  display:flex;
  justify-content:flex-end;
  margin:.65rem 0 .25rem;
}
.room-delete-btn{
  border:1px solid rgba(255,90,90,.38)!important;
  background:rgba(255,70,70,.08)!important;
  color:#ff7b7b!important;
}
.room-delete-btn:hover{
  border-color:#ff6b6b!important;
  background:rgba(255,70,70,.14)!important;
}
.room-delete-btn:disabled{opacity:.55;cursor:wait}

/* RP_DELETE_EMPTY_ROOM_V1 */
.room-list-entry{
  display:grid;
  gap:.35rem;
}
.room-list-entry > .room-choice{
  width:100%;
}
.room-list-actions{
  display:flex;
  justify-content:flex-end;
  padding:0 .35rem .45rem;
  margin-top:-.15rem;
}
.room-delete-empty-btn{
  border:1px solid rgba(255,92,92,.34)!important;
  background:rgba(255,76,76,.08)!important;
  color:#ff8585!important;
  min-height:2.35rem;
  padding:.45rem .75rem;
}
.room-delete-empty-btn:hover{
  border-color:#ff6d6d!important;
  background:rgba(255,76,76,.14)!important;
}
.room-delete-empty-btn:disabled{
  opacity:.55;
  cursor:wait;
}

/* RP_SERIES_FINAL_CARD_V1 */
.series-card-final .series-heading{align-items:flex-start}
.series-final-badge{display:inline-flex;align-items:center;gap:.45rem;padding:.55rem .9rem;border:1px solid #5b6886;border-radius:999px;background:#1a2436;color:#eef4ff;font-size:.86rem;font-weight:700}
.series-final-meta{color:#9dafcf;font-size:.9rem;margin-top:.25rem}
.series-final-scoreboard{display:grid;grid-template-columns:1fr auto 1fr;gap:1rem;align-items:center;padding:1.2rem;margin:1.25rem 0;border:1px solid #33415d;border-radius:1rem;background:linear-gradient(125deg,#182338,#131d2f)}
.series-final-player{display:flex;flex-direction:column;align-items:center;gap:.5rem;min-width:0}.series-final-avatar{width:88px;height:88px;border-radius:50%;display:grid;place-items:center;font-size:2rem;font-weight:900;color:#fff;border:2px solid #6f7f9f;background:radial-gradient(circle at 30% 30%,#53627f,#252f44 70%)}
.series-final-player.winner .series-final-avatar{border-color:#ff7f45;background:radial-gradient(circle at 30% 30%,#a4492f,#47231c 75%);box-shadow:0 0 0 3px rgba(255,116,61,.18)}
.series-final-name{font-size:1.55rem;font-weight:800;color:#fff;overflow-wrap:anywhere;text-align:center}.series-final-sub{font-size:.9rem;color:#b2c1da;overflow-wrap:anywhere;text-align:center}
.series-final-center{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;text-align:center}.series-final-center strong{font-size:4.2rem;line-height:1;color:#f7fbff;font-variant-numeric:tabular-nums}.series-final-center span{font-size:1.5rem;color:#cfd8ea}.series-final-center small{font-size:.95rem;color:#a4b3cd}
.series-final-caption{text-align:center;color:#afbed6;font-size:.95rem;margin-top:-.25rem;margin-bottom:1rem}
.series-final-winner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center;padding:1.15rem 1.25rem;border:1px solid #2d8d54;border-radius:1rem;background:linear-gradient(100deg,rgba(23,86,43,.96),rgba(17,58,28,.96));box-shadow:inset 0 0 0 1px rgba(105,255,166,.09)}
.series-final-winner small{display:block;color:#d7ffe6;font-size:.86rem;letter-spacing:.02em}.series-final-winner strong{display:block;margin:.25rem 0;font-size:2rem;color:#fff;overflow-wrap:anywhere}.series-final-winner .series-final-paid{font-size:1.15rem;font-weight:800;color:#b5ffcc}
.series-final-profit{text-align:right}.series-final-profit b{display:block;font-size:3rem;line-height:1;color:#9bffb8}.series-final-profit span{display:block;color:#e5ffee;margin-top:.35rem;font-size:1.05rem}.series-final-profit small{display:block;color:#c9f8d9;margin-top:.35rem;font-size:.9rem}
.series-final-details{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center;padding:1rem 1.1rem;margin-top:1rem;border:1px solid #34415a;border-radius:.95rem;background:#121c2f}.series-final-details strong{display:block;font-size:1.2rem;color:#f1f6ff;margin-bottom:.25rem}.series-final-details p{margin:0;color:#b4c3da;line-height:1.55}
.series-final-actions{display:flex;flex-wrap:wrap;gap:.65rem;justify-content:flex-end}.series-final-actions button{flex:0 0 auto}
@media(max-width:780px){.series-final-scoreboard{grid-template-columns:1fr;gap:.9rem}.series-final-center strong{font-size:3.4rem}.series-final-winner,.series-final-details{grid-template-columns:1fr}.series-final-profit{text-align:left}.series-final-actions{justify-content:flex-start}}
@media(max-width:480px){.series-final-avatar{width:72px;height:72px;font-size:1.6rem}.series-final-name{font-size:1.25rem}.series-final-center strong{font-size:2.7rem}.series-final-winner strong{font-size:1.55rem}.series-final-profit b{font-size:2.25rem}}

/* RP_SERIES_VISUAL_COMPLETA_V1 */
.series-live-card,.series-card-final{overflow:hidden}
.series-live-badge,.series-final-badge{display:inline-flex;align-items:center;gap:.45rem;padding:.52rem .82rem;border-radius:999px;font-size:.82rem;font-weight:800;white-space:nowrap}
.series-live-badge{border:1px solid #2f9657;background:rgba(35,125,70,.18);color:#87f3ae}
.series-live-badge.review{border-color:#596b9b;background:rgba(64,79,126,.18);color:#cbd7ff}
.series-final-badge{border:1px solid #5b6886;background:#1a2436;color:#eef4ff}
.series-visual-meta{color:#9dafcf;font-size:.88rem;margin:.25rem 0 0}
.series-visual-score{display:grid;grid-template-columns:1fr auto 1fr;gap:1rem;align-items:center;margin:1.1rem 0 .65rem;padding:1.2rem;border:1px solid #394864;border-radius:1rem;background:linear-gradient(125deg,#202844,#17283b)}
.series-visual-player{display:flex;flex-direction:column;align-items:center;gap:.42rem;min-width:0}
.series-visual-avatar{width:82px;height:82px;border-radius:50%;display:grid;place-items:center;font-size:1.9rem;font-weight:900;color:#fff;border:2px solid #71809c;background:radial-gradient(circle at 30% 30%,#56647f,#273146 70%)}
.series-visual-player.leading .series-visual-avatar,.series-final-player.winner .series-final-avatar{border-color:#ff7440;background:radial-gradient(circle at 30% 30%,#a74930,#47231c 75%);box-shadow:0 0 0 3px rgba(255,116,61,.16)}
.series-visual-name{font-size:1.2rem;font-weight:800;color:#fff;text-align:center;overflow-wrap:anywhere}
.series-visual-score-num{font-size:3rem;font-weight:900;line-height:1;color:#fff;font-variant-numeric:tabular-nums}
.series-visual-center{display:flex;flex-direction:column;align-items:center;gap:.25rem;text-align:center;min-width:100px}
.series-visual-center b{font-size:1rem;color:#d8e2f4}.series-visual-center span{font-size:.8rem;color:#93a5c3}.series-visual-center small{font-size:.78rem;color:#9fb0ca}
.series-progress-row{display:flex;flex-wrap:wrap;justify-content:center;gap:.38rem;margin:.8rem 0 .25rem}
.series-progress-dot{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;border:1px solid #53617a;background:#1a2538;color:#aebbd2;font-size:.72rem;font-weight:900}
.series-progress-dot.a{border-color:#2dbd69;background:#123b26;color:#8bffb7}.series-progress-dot.b{border-color:#e15a61;background:#3c171d;color:#ffabb0}.series-progress-dot.d{border-color:#71809c;background:#283247;color:#d8e1f0}
.series-progress-caption{text-align:center;color:#a8b7d0;font-size:.82rem;margin:.35rem 0 1rem}
.series-live-money{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem;margin:1rem 0}.series-live-money>div{display:flex;flex-direction:column;gap:.4rem;border:1px solid #36435b;border-radius:.8rem;padding:.8rem}.series-live-money small{color:#a9b8d1;font-size:.75rem}.series-live-money b{font-size:1.18rem;color:#edf4ff;overflow-wrap:anywhere}.series-live-money .profit b{color:#75eeb6}
.series-live-rounds{margin-top:1rem;border:1px solid #34415a;border-radius:.9rem;background:#101a2a;overflow:hidden}.series-live-rounds>summary{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1rem;cursor:pointer;color:#eef4ff;font-weight:800}.series-live-rounds>summary small{color:#9fb0ca;font-weight:600}.series-live-rounds[open]>summary{border-bottom:1px solid #34415a}.series-live-rounds .series-rounds{padding:0 .85rem .85rem;margin:.85rem 0 0}
.series-card-final .series-heading{align-items:flex-start}.series-final-meta{color:#9dafcf;font-size:.9rem;margin-top:.25rem}
.series-final-scoreboard{display:grid;grid-template-columns:1fr auto 1fr;gap:1rem;align-items:center;padding:1.2rem;margin:1.25rem 0;border:1px solid #33415d;border-radius:1rem;background:linear-gradient(125deg,#182338,#131d2f)}
.series-final-player{display:flex;flex-direction:column;align-items:center;gap:.5rem;min-width:0}.series-final-avatar{width:88px;height:88px;border-radius:50%;display:grid;place-items:center;font-size:2rem;font-weight:900;color:#fff;border:2px solid #6f7f9f;background:radial-gradient(circle at 30% 30%,#53627f,#252f44 70%)}
.series-final-name{font-size:1.55rem;font-weight:800;color:#fff;overflow-wrap:anywhere;text-align:center}.series-final-sub{font-size:.9rem;color:#b2c1da;text-align:center}.series-final-center{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;text-align:center}.series-final-center strong{font-size:4.2rem;line-height:1;color:#f7fbff}.series-final-center span{font-size:1.5rem;color:#cfd8ea}.series-final-center small{font-size:.95rem;color:#a4b3cd}.series-final-caption{text-align:center;color:#afbed6;font-size:.95rem;margin-top:-.25rem;margin-bottom:1rem}
.series-final-winner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center;padding:1.15rem 1.25rem;border:1px solid #2d8d54;border-radius:1rem;background:linear-gradient(100deg,rgba(23,86,43,.96),rgba(17,58,28,.96))}.series-final-winner small{display:block;color:#d7ffe6;font-size:.86rem}.series-final-winner strong{display:block;margin:.25rem 0;font-size:2rem;color:#fff}.series-final-paid{font-size:1.15rem;font-weight:800;color:#b5ffcc}.series-final-profit{text-align:right}.series-final-profit b{display:block;font-size:3rem;line-height:1;color:#9bffb8}.series-final-profit span{display:block;color:#e5ffee;margin-top:.35rem}.series-final-profit small{display:block;color:#c9f8d9;margin-top:.35rem}
.series-final-details{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center;padding:1rem 1.1rem;margin-top:1rem;border:1px solid #34415a;border-radius:.95rem;background:#121c2f}.series-final-details strong{display:block;font-size:1.2rem;color:#f1f6ff;margin-bottom:.25rem}.series-final-details p{margin:0;color:#b4c3da;line-height:1.55}.series-final-actions{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:780px){.series-live-money{grid-template-columns:repeat(2,minmax(0,1fr))}.series-final-scoreboard{grid-template-columns:1fr;gap:.9rem}.series-final-winner,.series-final-details{grid-template-columns:1fr}.series-final-profit{text-align:left}.series-final-actions{justify-content:flex-start}}
@media(max-width:480px){.series-visual-score{padding:1rem .55rem;gap:.5rem}.series-visual-avatar{width:64px;height:64px;font-size:1.45rem}.series-visual-name{font-size:1rem}.series-visual-score-num{font-size:2.5rem}.series-visual-center{min-width:72px}.series-live-money{gap:.4rem}.series-live-money>div{padding:.65rem}.series-final-avatar{width:72px;height:72px;font-size:1.6rem}.series-final-name{font-size:1.25rem}.series-final-center strong{font-size:2.7rem}.series-final-winner strong{font-size:1.55rem}.series-final-profit b{font-size:2.25rem}}

/* RP_SERIES_MOCKUP_3358_V1 */
.series-live-3358{background:#0f151d;border-color:#2c3746;padding:1.15rem}
.series-live-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.9rem}.series-live-head h3{margin:.18rem 0 0;font-size:1.45rem}.series-live-head .kicker{margin:0}
.series-live-stage{display:grid;grid-template-columns:1fr minmax(130px,.55fr) 1fr;align-items:center;gap:1rem;padding:1.2rem 1.35rem;border:1px solid #2d3949;border-radius:1rem;background:linear-gradient(145deg,#17202b,#111820);box-shadow:inset 0 1px 0 rgba(255,255,255,.025)}
.series-stage-player{display:grid;justify-items:center;gap:.42rem;min-width:0}.series-stage-avatar{width:76px;height:76px;display:grid;place-items:center;border-radius:50%;border:2px solid #738096;background:#283240;color:#fff;font-size:1.75rem;font-weight:900}.series-stage-player.leading .series-stage-avatar{border-color:#ff7140;background:#4b271e;box-shadow:0 0 0 3px rgba(255,113,64,.12)}.series-stage-player strong{font-size:1.05rem;color:#f6f8fc;overflow-wrap:anywhere;text-align:center}.series-stage-player>b{font-size:3rem;line-height:1;color:#fff;font-variant-numeric:tabular-nums}
.series-stage-center{display:grid;justify-items:center;gap:.28rem;text-align:center}.series-stage-center>span{font-size:.8rem;letter-spacing:.16em;color:#9aa8bb}.series-stage-center>strong{font-size:1rem;color:#eef3fb}.series-stage-center>small{font-size:.78rem;color:#9eacc0;line-height:1.35}
.series-win-progress{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:.85rem 0 .35rem;padding:.85rem 1rem;border:1px solid #293545;border-radius:.9rem;background:#101720}.series-win-lane{display:grid;gap:.45rem}.series-win-lane-head{display:flex;justify-content:space-between;gap:.6rem;align-items:center;color:#cdd6e3;font-size:.82rem}.series-win-lane-head span{color:#91a1b6;font-variant-numeric:tabular-nums}.series-win-dots{display:flex;flex-wrap:wrap;gap:.38rem}.series-win-dot{width:25px;height:25px;display:grid;place-items:center;border-radius:50%;border:1px solid #465467;background:#18212c;color:transparent;font-size:.68rem;font-weight:900}.series-win-dot.filled.a{border-color:#29bd6a;background:#17472d;color:#9affbd}.series-win-dot.filled.b{border-color:#ff6d6d;background:#4a1e24;color:#ffc0c0}
.series-live-money-3358{margin:.9rem 0}.series-live-money-3358>div{background:#101720;border-color:#303c4d}.series-live-money-3358 b{font-size:1.22rem}.series-live-money-3358 .profit b{color:#72edac}
.series-rule-strip{display:flex;flex-wrap:wrap;gap:.45rem .9rem;align-items:center;padding:.65rem .8rem;margin:.15rem 0 1rem;border-radius:.75rem;background:#111820;border:1px solid #273342;color:#a7b5c7;font-size:.78rem}.series-rule-strip span{display:inline-flex;align-items:center}.series-rule-strip span:not(:last-child)::after{content:'•';margin-left:.9rem;color:#59677a}
.series-live-rounds-3358{border:none;background:transparent;margin-top:.8rem}.series-live-rounds-3358>summary{width:max-content;max-width:100%;margin-left:auto;border-radius:.72rem;background:#ff6a32;color:#111820;padding:.72rem 1rem;font-weight:900;box-shadow:0 8px 20px rgba(255,106,50,.14)}.series-live-rounds-3358>summary small{color:#3b241b}.series-live-rounds-3358[open]>summary{border-bottom:none;margin-bottom:.8rem}.series-live-rounds-3358 .series-rounds{border:1px solid #2c3746;border-radius:.85rem;background:#101720;padding:.75rem;margin:0}
@media(max-width:720px){.series-live-3358{padding:.9rem}.series-live-stage{grid-template-columns:1fr minmax(82px,.45fr) 1fr;padding:1rem .65rem;gap:.5rem}.series-stage-avatar{width:64px;height:64px;font-size:1.45rem}.series-stage-player>b{font-size:2.5rem}.series-stage-player strong{font-size:.92rem}.series-stage-center>strong{font-size:.86rem}.series-stage-center>small{font-size:.7rem}.series-win-progress{grid-template-columns:1fr;padding:.75rem}.series-live-money-3358{grid-template-columns:repeat(2,minmax(0,1fr))}.series-rule-strip span:not(:last-child)::after{display:none}.series-live-rounds-3358>summary{width:100%;justify-content:space-between;margin-left:0}}
@media(max-width:430px){.series-live-head h3{font-size:1.2rem}.series-live-badge{font-size:.72rem;padding:.45rem .62rem}.series-stage-avatar{width:56px;height:56px;font-size:1.25rem}.series-stage-player>b{font-size:2.15rem}.series-stage-center{min-width:0}.series-stage-center>small{display:none}.series-win-dot{width:23px;height:23px}.series-live-money-3358>div{padding:.7rem}.series-live-money-3358 b{font-size:1.05rem}}

/* RP_SERIES_ORANGE_ACCENT_FIX_V1 */
.series-stage-player.me .series-stage-avatar{
  border-color:#ff7440;
  background:radial-gradient(circle at 30% 30%,#a74930,#47231c 75%);
  box-shadow:0 0 0 3px rgba(255,116,61,.18);
}
.series-stage-player.me>strong,.series-stage-player.me>b{color:#fff4ee}
.series-win-lane.me{border-color:#73422f;background:linear-gradient(180deg,rgba(79,38,28,.38),rgba(16,23,32,.96));padding:.5rem .55rem;border-radius:.75rem}
.series-win-lane.me .series-win-lane-head strong,.series-win-lane.me .series-win-lane-head span{color:#ffd4c1}
.series-win-dot.me{border-color:#b85e39;background:rgba(104,48,31,.18)}
.series-win-dot.filled.me{border-color:#ff8a50;background:#ff7440;color:#fff;box-shadow:0 0 0 2px rgba(255,116,61,.14)}
.series-win-dot.opponent{border-color:#53617a;background:#18212c}
.series-win-dot.filled.opponent{border-color:#8a9ab4;background:#687993;color:#fff}


/* RP_RESULT_WIN_LOSS_COLORS_V2 */

/* GANADOR */
.winner-banner.winner-view {
  border-color: #4d8364 !important;
  background: #1c3025 !important;
}

.winner-banner.winner-view strong,
.winner-banner.winner-view .paid-line,
.winner-banner.winner-view .confidence-box b {
  color: var(--green) !important;
}

/* PERDEDOR · naranja RivalProof */
.winner-banner.loser-view {
  border-color: #ff6a32 !important;
  background: linear-gradient(
    135deg,
    #3a2118,
    #241914
  ) !important;
  box-shadow: inset 0 0 0 1px rgba(255,106,50,.10);
}

.winner-banner.loser-view strong {
  color: #ff7a45 !important;
}

.winner-banner.loser-view .paid-line {
  color: #ff9a72 !important;
}

.winner-banner.loser-view .confidence-box b {
  color: #ff6a32 !important;
}

.winner-banner.loser-view .confidence-box span,
.winner-banner.loser-view .muted-label {
  color: #d4b4a7 !important;
}
