/* Copas / Eliminatorias: bracket deportivo HFA. El scroll queda contenido en el módulo. */
.cup-module-head{position:relative;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:156px;margin-bottom:18px;padding:26px 28px;overflow:hidden;background:linear-gradient(120deg,var(--navy) 0%,#12395e 68%,#0b6bcb 145%);border-color:rgba(255,255,255,.08);color:var(--on-navy);box-shadow:var(--shadow-lg)}
.cup-module-head:after{content:"";position:absolute;right:-70px;bottom:-125px;width:300px;height:300px;border:54px solid rgba(255,255,255,.035);border-radius:50%;pointer-events:none}
.cup-title,.cup-head-side{position:relative;z-index:1;min-width:0}.cup-title{flex:1}.cup-title .kicker{margin:0 0 7px;color:#8fc6ff}.cup-title h2{margin:0;font-size:clamp(25px,3vw,36px);line-height:1.08;letter-spacing:-.025em}.cup-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}.cup-meta span{display:inline-flex;align-items:center;min-height:26px;padding:5px 9px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(255,255,255,.075);color:#d8e5f2;font-size:11px;font-weight:750}
.cup-head-side{display:grid;justify-items:end;gap:12px;max-width:620px}.cup-switcher{display:grid;grid-template-columns:auto minmax(160px,230px);align-items:center;gap:9px;color:#b8cbe0;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.cup-switcher select{width:100%;min-width:0;padding:8px 30px 8px 10px;border:1px solid rgba(255,255,255,.19);border-radius:10px;background:#143552;color:#fff;font-size:12px;font-weight:700;text-transform:none;letter-spacing:0}.cup-actions{justify-content:flex-end}.cup-actions .btn{border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.09);color:#fff}.cup-actions .btn.primary{border-color:#2991ed;background:var(--accent)}.cup-actions .btn.danger{border-color:rgba(255,130,130,.34);background:rgba(157,39,39,.82)}
.cup-tabs{margin:0 0 18px}.cup-groups{margin-bottom:18px}
.cup-bracket-section{min-width:0;padding:0;overflow:hidden}.cup-bracket-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:19px 22px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,var(--panel),var(--panel-tint))}.cup-bracket-head .kicker{margin:0 0 4px;color:var(--accent)}.cup-bracket-head h3{margin:0;font-size:19px;letter-spacing:-.01em}.cup-bracket-hint{display:none;align-items:center;gap:6px;margin:0;color:var(--muted);font-size:11px;font-weight:700}.cup-bracket-hint span{color:var(--accent);font-size:16px}
.cup-bracket-scroll{max-width:100%;overflow-x:auto;overflow-y:hidden;padding:22px 22px 26px;background:linear-gradient(90deg,var(--panel-2) 1px,transparent 1px),linear-gradient(var(--panel-2) 1px,transparent 1px),var(--panel);background-size:24px 24px;scrollbar-color:var(--line-strong) transparent;scrollbar-width:thin;overscroll-behavior-x:contain}.cup-bracket-scroll:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}.cup-bracket-scroll::-webkit-scrollbar{height:8px}.cup-bracket-scroll::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:999px;background:var(--line-strong);background-clip:padding-box}
.bracket{--cup-slot-size:126px;--cup-round-width:260px;--cup-round-gap:74px;display:flex;align-items:flex-start;gap:var(--cup-round-gap);width:max-content;min-width:100%;padding:0;overflow:visible}
.bracket-round{width:var(--cup-round-width);min-width:0}.bracket-round>header{display:flex;align-items:end;justify-content:space-between;gap:10px;height:54px;margin-bottom:8px;padding:0 3px 11px;border-bottom:1px solid var(--line)}.bracket-round>header span{display:block;margin-bottom:3px;color:var(--muted);font-size:9px;font-weight:850;letter-spacing:.09em}.bracket-round>header h4{margin:0;color:var(--text);font-size:15px;line-height:1.1}.bracket-round>header small{flex:0 0 auto;color:var(--muted);font-size:10px;font-weight:700}.bracket-round.is-final-round>header{border-color:var(--accent-soft-line)}.bracket-round.is-final-round>header span,.bracket-round.is-final-round>header h4{color:var(--accent)}
.bracket-round-grid{display:grid;grid-template-rows:repeat(var(--cup-slots),var(--cup-slot-size));height:calc(var(--cup-slots) * var(--cup-slot-size))}.bracket-tie{position:relative;display:flex;align-items:center;grid-row:var(--grid-start)/span var(--grid-span);min-width:0}.bracket-tie:before,.bracket-tie:after,.bracket-match:after{content:"";position:absolute;z-index:0;background:var(--line-strong);pointer-events:none}.bracket-round:not(:first-child) .bracket-tie:before{left:calc(var(--cup-round-gap) / -2);top:50%;width:calc(var(--cup-round-gap) / 2);height:2px}.bracket-round:not(:last-child) .bracket-match:after{left:100%;top:50%;width:calc(var(--cup-round-gap) / 2);height:2px}.bracket-round:not(:last-child) .bracket-tie.is-pair-start:after{left:calc(100% + var(--cup-round-gap) / 2 - 2px);top:50%;width:2px;height:calc(var(--cup-slot-size) * var(--grid-span));border-radius:2px}.bracket-round.is-final-round .bracket-tie:before{background:var(--accent-soft-line)}
.bracket-match{position:relative;z-index:1;width:100%;margin:0;border:1px solid var(--line-strong);border-radius:13px;background:var(--panel);box-shadow:0 5px 16px rgba(20,38,61,.075);overflow:visible;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.bracket-match.has-match{cursor:pointer}.bracket-match.has-match:hover,.bracket-match.has-match:focus-visible{z-index:3;border-color:var(--accent-soft-line);box-shadow:0 9px 24px rgba(11,107,203,.14);transform:translateY(-1px);outline:0}.bracket-match.is-final{border-color:var(--accent-soft-line);box-shadow:0 8px 25px rgba(11,107,203,.14)}
.bracket-team{display:grid;grid-template-columns:minmax(0,1fr) 30px;align-items:center;gap:9px;min-height:42px;padding:7px 9px;border-bottom:1px solid var(--line-soft);background:var(--panel)}.bracket-team:first-child{border-radius:12px 12px 0 0}.bracket-team .team-identity{max-width:100%;font-size:12px;font-weight:750}.bracket-team .team-identity-name,.bracket-team .team-identity>span:last-child{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bracket-team .team-logo{background:var(--panel-2)}.bracket-team.winner{position:relative;background:var(--ok-bg);color:var(--ok-ink);font-weight:850}.bracket-team.winner:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--ok)}.bracket-team.is-pending{color:var(--muted);font-style:italic}.bracket-team.is-pending .team-logo{border-style:dashed;opacity:.8}.bracket-score{min-width:27px;text-align:center;color:var(--text);font-size:15px;font-variant-numeric:tabular-nums}.bracket-team.is-pending .bracket-score{color:var(--text-soft)}
.bracket-match footer{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:25px;padding:5px 9px;border-radius:0 0 12px 12px;background:var(--panel-2);color:var(--muted);font-size:9px;font-weight:750;letter-spacing:.02em}.bracket-match footer strong{color:var(--accent-ink);font-size:9px}.bracket-round.is-final-round .bracket-match footer{background:var(--accent-soft-bg);color:var(--accent-ink)}
.cup-bracket-empty{display:grid;justify-items:center;padding:48px 24px;text-align:center}.cup-bracket-empty>span{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:var(--accent-soft-bg);color:var(--accent);font-size:25px}.cup-bracket-empty h3{margin:14px 0 5px}.cup-bracket-empty p{margin:0;color:var(--muted);font-size:13px}
@media(min-width:1250px){.bracket{--cup-round-width:272px;--cup-round-gap:82px}}
@media(max-width:1024px){.cup-module-head{align-items:flex-start}.cup-head-side{max-width:54%}.cup-actions .btn{padding:8px 10px;font-size:12px}.cup-bracket-hint{display:flex}}
@media(max-width:760px){.cup-module-head{display:grid;min-height:0;padding:22px}.cup-head-side{justify-items:stretch;max-width:none}.cup-switcher{grid-template-columns:1fr}.cup-actions{display:grid;grid-template-columns:1fr 1fr}.cup-actions .btn{min-height:40px}.cup-actions .btn:last-child:nth-child(3){grid-column:1/-1}.cup-bracket-head{align-items:flex-start;padding:16px}.cup-bracket-hint{max-width:145px;text-align:right}.cup-bracket-scroll{padding:16px 16px 22px;scroll-snap-type:x proximity}.bracket{--cup-round-width:250px;--cup-round-gap:62px;--cup-slot-size:120px}.bracket-round{scroll-snap-align:start}.cup-tabs{overflow-x:auto}.cup-tabs .tab{flex:0 0 auto;white-space:nowrap}}
@media(max-width:430px){.cup-module-head{padding:19px}.cup-title h2{font-size:26px}.cup-meta span{font-size:10px}.cup-actions{grid-template-columns:1fr}.cup-actions .btn:last-child:nth-child(3){grid-column:auto}.cup-bracket-head{display:grid}.cup-bracket-hint{max-width:none;text-align:left}.bracket{--cup-round-width:242px;--cup-round-gap:56px}.cup-bracket-scroll{padding-left:14px;padding-right:14px}}
@media(prefers-reduced-motion:reduce){.bracket-match{transition:none}.cup-bracket-scroll{scroll-behavior:auto}}
