@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;0,9..40,800;1,9..40,700&family=DM+Serif+Display:ital@0;1&display=swap');

:root {
    --ink:        #0d0f1a;
    --ink-2:      #1a1d2e;
    --ink-3:      #252840;
    --ink-4:      #2e3250;
    --blue:       #4f46e5;
    --blue-2:     #6366f1;
    --blue-pale:  #eef2ff;
    --blue-50:    #f5f3ff;
    --green:      #16a34a;
    --green-pale: #dcfce7;
    --red:        #dc2626;
    --red-pale:   #fee2e2;
    --amber:      #d97706;
    --amber-pale: #fef3c7;
    --white:      #ffffff;
    --surface:    #f4f5f9;
    --surface-2:  #eceef5;
    --border:     #e5e7eb;
    --border-2:   #d1d5db;
    --text:       #0d0f1a;
    --muted:      #6b7280;
    --muted-2:    #9ca3af;
    --font-d:     'DM Serif Display', Georgia, serif;
    --font-b:     'DM Sans', system-ui, sans-serif;
    --r:   8px;
    --rl:  14px;
    --rx:  20px;
    --sh:  0 1px 4px rgba(13,15,26,.06);
    --shm: 0 4px 20px rgba(13,15,26,.09);
    --shl: 0 10px 40px rgba(13,15,26,.13);
    --primary:       var(--ink);
    --primary-mid:   var(--ink-2);
    --primary-light: var(--ink-3);
    --accent:        var(--amber);
    --accent-dark:   #b45309;
    --accent-glow:   rgba(217,119,6,.18);
    --font-display:  var(--font-d);
    --font-cond:     var(--font-b);
    --font-body:     var(--font-b);
    --radius:    var(--r);
    --radius-lg: var(--rl);
    --shadow:    var(--sh);
    --shadow-md: var(--shm);
    --shadow-lg: var(--shl);
}

*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }
body {
    font-family: var(--font-b);
    background: var(--surface);
    color: var(--text);
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    -webkit-font-smoothing: antialiased;
    font-size: 15px;
    line-height: 1.6;
}
main.main-content { flex:1; }
a { color:var(--blue); text-decoration:none; transition:color .15s; }
a:hover { color:var(--blue-2); }
img { max-width:100%; }
.fw-600 { font-weight:600; }

.topbar { background:var(--ink); padding:.28rem 0; font-size:.68rem; border-bottom:1px solid rgba(255,255,255,.04); }
.topbar-text { color:rgba(255,255,255,.32); font-family:var(--font-b); }
.topbar-text strong { color:rgba(255,255,255,.6); }

.main-navbar { background:var(--white) !important; padding:0; border-bottom:2px solid var(--border); box-shadow:0 2px 12px rgba(13,15,26,.05); }
.main-navbar .navbar-brand { display:flex; align-items:center; gap:.55rem; padding:.65rem 0; }
.brand-icon { width:36px; height:36px; background:var(--ink); border-radius:10px; display:flex; align-items:center; justify-content:center; font-size:1.1rem; flex-shrink:0; box-shadow:0 3px 10px rgba(13,15,26,.2); }
.brand-name { font-family:var(--font-b); font-size:1.05rem; font-weight:800; letter-spacing:-.2px; color:var(--ink); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:55vw; }
.main-navbar .nav-link { font-family:var(--font-b); color:var(--muted) !important; font-size:.8rem; font-weight:600; padding:.95rem .8rem !important; border-bottom:2.5px solid transparent; transition:color .15s, border-color .15s; border-radius:0; }
.main-navbar .nav-link:hover { color:var(--ink) !important; }
.main-navbar .nav-link.active { color:var(--blue) !important; border-bottom-color:var(--blue); }
.navbar-toggler { border-color:var(--border) !important; }
.navbar-toggler-icon { background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2813,15,26,0.7%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important; }
.nav-stats-dropdown { background:var(--white); border:1px solid var(--border); border-radius:var(--rl); box-shadow:var(--shm); padding:.4rem; min-width:240px; }
.nav-stats-dropdown .dropdown-item { font-family:var(--font-b); color:var(--muted); font-size:.8rem; padding:.55rem .85rem; display:flex; align-items:flex-start; gap:.6rem; border-radius:var(--r); transition:background .12s; }
.nav-stats-dropdown .dropdown-item:hover, .nav-stats-dropdown .dropdown-item.active { background:var(--blue-50); color:var(--blue); }
.nav-stats-dropdown .dropdown-item strong { display:block; font-size:.82rem; color:var(--ink); font-weight:700; }
.nav-stats-dropdown .dropdown-item small { display:block; font-size:.68rem; color:var(--muted-2); margin-top:.04rem; }
.nav-stats-dropdown .dropdown-item:hover strong { color:var(--blue); }
.nav-stats-dropdown .dropdown-divider { border-color:var(--border); margin:.25rem 0; }
.nav-link-sub { padding-left:1.8rem !important; font-size:.75rem !important; border-left:2px solid var(--border) !important; margin-left:.8rem; color:var(--muted-2) !important; }

.section-title { font-family:var(--font-b); font-size:.78rem; font-weight:800; letter-spacing:1.5px; color:var(--ink); margin-bottom:.85rem; display:flex; align-items:center; gap:.5rem; text-transform:uppercase; }
.section-title::after { content:''; flex:1; height:1.5px; background:var(--ink); }
.section-more { font-family:var(--font-b); font-size:.68rem; font-weight:600; color:var(--blue); white-space:nowrap; text-decoration:none; display:flex; align-items:center; gap:.2rem; transition:gap .15s; }
.section-more:hover { gap:.38rem; }

.card { background:var(--white); border:1px solid var(--border); border-radius:var(--rl); box-shadow:var(--sh); overflow:hidden; }
.card-header { background:var(--ink); color:white; font-family:var(--font-b); font-size:.75rem; font-weight:800; letter-spacing:1.5px; text-transform:uppercase; padding:.62rem 1rem; border:none; display:flex; align-items:center; }
.card-header .badge { background:rgba(255,255,255,.1) !important; color:white !important; }

.panel-hdr { background:var(--ink); padding:10px 14px; display:flex; align-items:center; gap:8px; }
.panel-hdr-ico { width:24px; height:24px; border-radius:7px; background:rgba(255,255,255,.1); display:flex; align-items:center; justify-content:center; font-size:11px; flex-shrink:0; }
.panel-hdr-title { font-family:var(--font-b); font-size:.75rem; font-weight:800; color:white; letter-spacing:1px; text-transform:uppercase; flex:1; }
.panel-hdr-more { font-size:.68rem; color:rgba(255,255,255,.35); font-weight:600; text-decoration:none; }

.tcard { background:white; border-radius:var(--rl); border:1px solid var(--border); overflow:hidden; box-shadow:var(--shm); transition:box-shadow .2s, transform .2s; }
.tcard:hover { box-shadow:var(--shl); transform:translateY(-2px); }
.tcard-head { background:var(--ink); padding:8px 13px; display:flex; align-items:center; justify-content:space-between; }
.tcard-head-left { display:flex; align-items:center; gap:6px; }
.tcard-dot { width:7px; height:7px; border-radius:50%; flex-shrink:0; }
.tcard-label { font-family:var(--font-b); font-size:9px; font-weight:600; color:rgba(255,255,255,.85); text-transform:uppercase; letter-spacing:.8px; }
.tcard-cat { font-family:var(--font-b); font-size:10px; font-weight:800; color:#facc15; text-shadow:0 0 8px rgba(250,204,21,.45); }
.tcard-date { font-family:var(--font-b); font-size:9px; color:rgba(255,255,255,.3); }
.tcard-body { display:flex; align-items:stretch; }
.tcard-team { flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; padding:14px 10px; text-decoration:none; transition:background .15s; }
.tcard-team:hover { background:var(--surface); }
.tcard-team--r { }
.tcard-team--win .tcard-name { color:var(--blue); }
.tcard-team--lose .tcard-logo { opacity:.28; }
.tcard-team--lose .tcard-name { color:var(--border-2); font-weight:400; }
.tcard-logo { width:46px; height:46px; border-radius:50%; object-fit:contain; border:2px solid var(--border); background:white; box-shadow:var(--sh); }
.tcard-logo--init { display:flex; align-items:center; justify-content:center; background:var(--blue-pale); font-size:1.1rem; }
.tcard-name { font-family:var(--font-b); font-size:11.5px; font-weight:800; color:var(--ink); text-align:center; line-height:1.2; letter-spacing:-.1px; }
.tcard-role { font-family:var(--font-b); font-size:8px; color:var(--muted-2); text-transform:uppercase; letter-spacing:.5px; }
.tcard-sep { width:1px; background:repeating-linear-gradient(180deg,var(--border) 0,var(--border) 5px,transparent 5px,transparent 9px); margin:12px 0; flex-shrink:0; }
.tcard-mid { display:flex; flex-direction:column; align-items:center; justify-content:center; padding:0 12px; gap:2px; flex-shrink:0; text-decoration:none; }
.tcard-mid--result { transition:background .15s; }
.tcard-mid--result:hover { background:var(--blue-50); }
.tcard-vs { font-family:var(--font-b); font-size:8px; font-weight:800; color:var(--border-2); letter-spacing:2.5px; }
.tcard-time { font-family:var(--font-b); font-size:21px; font-weight:800; color:var(--ink); letter-spacing:-1px; line-height:1; }
.tcard-hrs { font-family:var(--font-b); font-size:8.5px; color:var(--muted-2); }
.tcard-scores { display:flex; align-items:center; gap:4px; }
.tcs-w { font-family:var(--font-d); font-size:30px; color:var(--ink); line-height:1; }
.tcs-l { font-family:var(--font-d); font-size:30px; color:var(--border-2); line-height:1; font-style:italic; }
.tcs-sep { font-family:var(--font-b); font-size:14px; color:var(--border); }
.tcard-final { font-family:var(--font-b); font-size:8px; color:var(--muted-2); text-transform:uppercase; letter-spacing:.5px; }
.tcard-foot { border-top:1px dashed var(--border); padding:7px 13px; display:flex; align-items:center; justify-content:space-between; background:var(--surface); }
.tcard-sede { font-family:var(--font-b); font-size:10px; color:var(--muted); display:flex; align-items:center; gap:4px; }
.tcard-wa { width:26px; height:26px; border-radius:50%; background:#25d366; color:white; display:flex; align-items:center; justify-content:center; font-size:.82rem; text-decoration:none; box-shadow:0 2px 8px rgba(37,211,102,.28); transition:transform .15s, box-shadow .15s; }
.tcard-wa:hover { transform:scale(1.12); color:white; box-shadow:0 4px 12px rgba(37,211,102,.38); }
.tcard-stats { font-family:var(--font-b); font-size:10px; font-weight:700; color:var(--blue); text-decoration:none; display:flex; align-items:center; gap:3px; padding:.2rem .5rem; border-radius:5px; border:1px solid var(--border); transition:all .15s; }
.tcard-stats:hover { background:var(--blue); color:white; border-color:var(--blue); }

.standings-table { width:100%; border-collapse:collapse; }
.standings-table thead tr { background:var(--surface); }
.standings-table thead th { font-family:var(--font-b); font-size:.58rem; font-weight:700; letter-spacing:.8px; text-transform:uppercase; color:var(--muted-2); padding:.4rem .5rem; border-bottom:1px solid var(--border); text-align:center; white-space:nowrap; }
.standings-table thead th:nth-child(2) { text-align:left; }
.standings-table tbody td { font-family:var(--font-b); font-size:.78rem; padding:.45rem .5rem; border-bottom:1px solid #f3f4f6; text-align:center; vertical-align:middle; color:#374151; }
.standings-table tbody tr:last-child td { border-bottom:none; }
.standings-table tbody tr:hover td { background:var(--blue-50); }
.st-leader td { background:rgba(79,70,229,.03); }
.st-pos { font-family:var(--font-b); font-size:.75rem; font-weight:800; color:var(--muted-2); width:26px; }
.st-team { display:flex; align-items:center; gap:.4rem; text-decoration:none; color:var(--ink); font-weight:700; text-align:left; }
.st-logo { width:22px; height:22px; border-radius:50%; object-fit:contain; border:1px solid var(--border); }
.st-init { width:22px; height:22px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:.62rem; font-weight:800; color:white; }
.st-g { color:var(--green) !important; font-weight:700; }
.st-l { color:var(--muted-2); }
.st-pct { font-weight:800; color:var(--ink); font-family:var(--font-b); }

.pos-tabs-wrap { display:flex; overflow-x:auto; scrollbar-width:none; border-bottom:1px solid var(--border); padding:0 .5rem; gap:.1rem; }
.pos-tabs-wrap::-webkit-scrollbar { display:none; }
.pos-tab { flex-shrink:0; background:none; border:none; border-bottom:2.5px solid transparent; padding:.38rem .65rem; font-family:var(--font-b); font-size:.72rem; font-weight:700; color:var(--muted-2); cursor:pointer; transition:all .15s; margin-bottom:-1px; letter-spacing:.2px; }
.pos-tab.active { color:var(--tc, var(--blue)); border-bottom-color:var(--tc, var(--blue)); }
.pos-tab-panel { display:none; }
.pos-tab-panel.active { display:block; }

.stat-card { background:white; border:1px solid var(--border); border-radius:var(--rl); padding:1.15rem; box-shadow:var(--sh); }
.stat-number { font-family:var(--font-d); font-size:2rem; color:var(--ink); line-height:1; }
.stat-label { font-family:var(--font-b); font-size:.62rem; color:var(--muted); font-weight:700; letter-spacing:1.5px; text-transform:uppercase; margin-top:.18rem; }
.stat-icon { font-size:1.45rem; opacity:.1; }
.btn-accent { background:var(--blue); color:white; border:none; font-weight:700; font-family:var(--font-b); }
.btn-accent:hover { background:var(--blue-2); color:white; }
.alert-auto-dismiss { animation:fadeOut 5s forwards; }
@keyframes fadeOut { 0%,80%{opacity:1} 100%{opacity:0;pointer-events:none} }

.nav-tabs { border-bottom:1px solid var(--border); }
.nav-tabs .nav-link { font-family:var(--font-b); font-weight:600; font-size:.78rem; color:var(--muted); border:none; border-bottom:2px solid transparent; padding:.55rem .9rem; border-radius:0; transition:color .15s, border-color .15s; margin-bottom:-1px; }
.nav-tabs .nav-link:hover { color:var(--ink); background:none; }
.nav-tabs .nav-link.active { color:var(--blue); border-bottom:2px solid var(--blue); background:transparent; font-weight:700; }

.stats-table { font-size:.78rem; }
.stats-table thead th { background:var(--ink); color:rgba(255,255,255,.55); font-family:var(--font-b); font-size:.62rem; font-weight:700; letter-spacing:1px; text-transform:uppercase; padding:.58rem .55rem; border:none; white-space:nowrap; }
.stats-table tbody tr:hover td { background:var(--blue-50); }
.stats-table tbody td { padding:.52rem .55rem; border-bottom:1px solid var(--border); vertical-align:middle; font-family:var(--font-b); }
.stats-table tbody tr:last-child td { border-bottom:none; }
.stat-highlight { font-family:var(--font-b); font-weight:800; font-size:.98rem; color:var(--ink); }
.rank-badge { display:inline-flex; align-items:center; justify-content:center; width:22px; height:22px; border-radius:50%; font-size:.7rem; font-weight:700; }
.rank-1 { background:#fde68a; color:#78350f; }
.rank-2 { background:#e5e7eb; color:#374151; }
.rank-3 { background:#fed7aa; color:#7c2d12; }
.sortable { cursor:pointer; user-select:none; }
.sortable:hover { color:white !important; background:rgba(255,255,255,.09); }

.tabla-pos { width:100%; border-collapse:collapse; }
.tabla-pos th { font-family:var(--font-b); font-size:.6rem; font-weight:700; letter-spacing:.8px; text-transform:uppercase; color:var(--muted); padding:.4rem .45rem; border-bottom:2px solid var(--border); text-align:center; }
.tabla-pos th:first-child { text-align:left; }
.tabla-pos td { font-family:var(--font-b); padding:.46rem .45rem; font-size:.78rem; border-bottom:1px solid #f3f4f6; text-align:center; vertical-align:middle; }
.tabla-pos td:first-child { text-align:left; }
.tabla-pos tr:last-child td { border-bottom:none; }
.tabla-pos tr:hover td { background:var(--blue-50); }
.equipo-mini-logo { width:22px; height:22px; object-fit:contain; border-radius:50%; border:1px solid var(--border); }

.equipo-card { background:white; border:1px solid var(--border); border-radius:var(--rl); padding:1.4rem 1rem 1.2rem; text-align:center; transition:box-shadow .2s, transform .2s; position:relative; overflow:hidden; box-shadow:var(--sh); }
.equipo-card::after { content:''; position:absolute; bottom:0; left:0; right:0; height:3px; background:var(--border); transition:background .2s; }
.equipo-card:hover { box-shadow:var(--shm); transform:translateY(-2px); }
.equipo-card:hover::after { background:var(--blue); }
.logo-wrapper { width:72px; height:72px; border-radius:50%; margin:0 auto .82rem; border:2px solid var(--border); display:flex; align-items:center; justify-content:center; background:var(--surface); overflow:hidden; transition:border-color .2s, box-shadow .2s; }
.equipo-card:hover .logo-wrapper { border-color:var(--blue-2); box-shadow:0 0 14px rgba(99,102,241,.2); }
.logo-wrapper img { width:86%; height:86%; object-fit:contain; }
.equipo-nombre { font-family:var(--font-b); font-weight:800; font-size:.9rem; color:var(--ink); }
.equipo-manager { font-family:var(--font-b); font-size:.68rem; color:var(--muted); margin-top:.18rem; display:flex; align-items:center; justify-content:center; gap:.18rem; }

.jugador-card { background:white; border:1px solid var(--border); border-radius:var(--rl); overflow:hidden; transition:box-shadow .2s, transform .2s; box-shadow:var(--sh); }
.jugador-card:hover { box-shadow:var(--shm); transform:translateY(-2px); }
.jugador-foto-wrap { height:122px; display:flex; align-items:center; justify-content:center; position:relative; border-bottom:3px solid; }
.jugador-foto-wrap img { width:100%; height:100%; object-fit:cover; }
.jugador-numero { position:absolute; top:8px; right:8px; color:white; font-family:var(--font-b); font-size:.9rem; font-weight:800; letter-spacing:1px; padding:.08rem .42rem; border-radius:5px; }
.jugador-info { padding:.78rem; }
.jugador-nombre { font-family:var(--font-b); font-weight:800; font-size:.85rem; line-height:1.3; margin-bottom:.22rem; }
.jugador-pos { display:flex; align-items:center; flex-wrap:wrap; gap:.28rem; }
.jugador-bats { font-size:.68rem; color:var(--muted); }

.noticia-card { background:white; border:1px solid var(--border); border-radius:var(--rl); overflow:hidden; transition:box-shadow .2s, transform .2s; height:100%; display:flex; flex-direction:column; box-shadow:var(--sh); }
.noticia-card:hover { box-shadow:var(--shm); transform:translateY(-2px); }
.noticia-img-wrap { height:172px; overflow:hidden; background:var(--surface); }
.noticia-img-wrap img { width:100%; height:100%; object-fit:cover; transition:transform .4s; }
.noticia-card:hover .noticia-img-wrap img { transform:scale(1.04); }
.noticia-img-placeholder { height:100%; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,var(--ink),var(--ink-3)); font-size:3.5rem; opacity:.12; }
.noticia-body { padding:1rem; flex:1; display:flex; flex-direction:column; }
.noticia-fecha { font-family:var(--font-b); font-size:.65rem; color:var(--blue); font-weight:600; letter-spacing:.3px; text-transform:uppercase; }
.noticia-titulo { font-family:var(--font-b); font-weight:800; font-size:.98rem; color:var(--ink); margin:.28rem 0 .36rem; line-height:1.32; }
.noticia-resumen { font-size:.78rem; color:var(--muted); line-height:1.65; flex:1; font-family:var(--font-b); }
.noticia-link { font-family:var(--font-b); font-size:.74rem; font-weight:700; color:var(--blue); margin-top:.7rem; display:inline-flex; align-items:center; gap:.3rem; transition:gap .15s; }
.noticia-link:hover { gap:.52rem; }

.equipo-hero { padding:2.5rem 0; color:white; position:relative; overflow:hidden; }
.equipo-hero::before { content:''; position:absolute; inset:0; background:rgba(0,0,0,.2); }
.equipo-hero > .container { position:relative; }
.equipo-hero-logo { width:108px; height:108px; background:rgba(255,255,255,.1); border-radius:50%; display:flex; align-items:center; justify-content:center; border:2px solid rgba(255,255,255,.2); flex-shrink:0; overflow:hidden; box-shadow:0 8px 28px rgba(0,0,0,.22); }
.equipo-hero-logo img { width:100%; height:100%; object-fit:contain; padding:8px; }
.equipo-hero-nombre { font-family:var(--font-d); font-size:clamp(1.8rem,4.5vw,2.9rem); line-height:1.1; text-shadow:0 2px 10px rgba(0,0,0,.25); }
.equipo-hero-apodo { font-size:.88rem; opacity:.5; margin-top:.28rem; }
.equipo-hero-meta { font-size:.78rem; background:rgba(0,0,0,.22); padding:.2rem .7rem; border-radius:20px; display:inline-flex; align-items:center; gap:.32rem; }
.record-badge { background:rgba(0,0,0,.28); border:1px solid rgba(255,255,255,.1); border-radius:10px; padding:.42rem 1rem; display:inline-flex; align-items:center; gap:.65rem; font-family:var(--font-d); font-size:1.45rem; letter-spacing:2px; }
.record-w { color:#4ade80; }
.record-l { color:#f87171; }
.record-sep { color:rgba(255,255,255,.18); }

.calendario-grid-wrap { background:white; border:1px solid var(--border); border-radius:var(--rl); overflow:hidden; box-shadow:var(--sh); }
.calendario-header { display:grid; grid-template-columns:repeat(7,1fr); background:var(--ink); }
.cal-dia-nombre { text-align:center; padding:.58rem .22rem; font-family:var(--font-b); font-size:.62rem; font-weight:700; color:rgba(255,255,255,.35); letter-spacing:.8px; text-transform:uppercase; }
.calendario-body { display:grid; grid-template-columns:repeat(7,1fr); border-left:1px solid var(--border); border-top:1px solid var(--border); }
.cal-dia { min-height:78px; padding:.38rem .45rem; border-right:1px solid var(--border); border-bottom:1px solid var(--border); position:relative; transition:background .15s; }
.cal-dia--vacio { background:var(--surface); }
.cal-dia--con-juegos { cursor:pointer; background:var(--blue-pale); }
.cal-dia--con-juegos:hover { background:rgba(79,70,229,.08); }
.cal-dia--hoy .cal-dia-num { background:var(--blue); color:white; border-radius:50%; width:22px; height:22px; display:flex; align-items:center; justify-content:center; font-weight:700; }
.cal-dia-num { font-family:var(--font-b); font-size:.78rem; font-weight:700; color:var(--text); margin-bottom:.22rem; width:22px; height:22px; display:flex; align-items:center; justify-content:center; }
.cal-dia--vacio .cal-dia-num { color:var(--border-2); }
.cal-juego-dot { width:7px; height:7px; border-radius:50%; display:inline-block; margin-right:2px; margin-bottom:2px; }
.cal-juego-count { font-family:var(--font-b); font-size:.6rem; color:var(--blue); font-weight:700; margin-top:.12rem; }
.lista-juegos-mes { max-height:480px; overflow-y:auto; }
.lista-dia-header { padding:.38rem .85rem; background:var(--ink); color:rgba(255,255,255,.45); font-family:var(--font-b); font-size:.62rem; font-weight:700; text-transform:uppercase; letter-spacing:.8px; position:sticky; top:0; }
.lista-juego-item { display:flex; align-items:center; gap:.48rem; padding:.5rem .85rem; border-bottom:1px solid var(--border); transition:background .15s; font-size:.78rem; font-family:var(--font-b); }
.lista-juego-item:hover { background:var(--blue-pale); }
.lista-juego-hora { font-weight:700; color:var(--ink); min-width:36px; font-size:.74rem; }
.lista-juego-equipos { flex:1; min-width:0; overflow:hidden; }
.lista-juego-estado { min-width:55px; text-align:right; }

.badge-estado { display:inline-block; padding:.16rem .52rem; border-radius:20px; font-family:var(--font-b); font-size:.58rem; font-weight:700; letter-spacing:.3px; text-transform:uppercase; }
.badge-programado { background:var(--blue-pale); color:var(--blue); }
.badge-vivo { background:var(--green-pale); color:#15803d; }
.badge-finalizado { background:var(--surface-2); color:var(--muted); }

@keyframes pulse { 0%,100%{opacity:1} 50%{opacity:.4} }
.pizarra-main { background:linear-gradient(160deg,var(--ink) 0%,var(--ink-2) 55%,var(--ink-3) 100%); border-radius:var(--rl); overflow:hidden; box-shadow:var(--shl); color:white; border:1px solid rgba(255,255,255,.05); }
.pizarra-topbar { background:rgba(0,0,0,.22); padding:.58rem 1.2rem; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:.45rem; font-size:.7rem; border-bottom:1px solid rgba(255,255,255,.04); }
.piz-info-text { color:rgba(255,255,255,.32); }
.piz-badge-vivo { background:rgba(22,163,74,.13); border:1px solid rgba(22,163,74,.28); color:#4ade80; font-size:.68rem; font-weight:700; letter-spacing:1px; padding:.16rem .65rem; border-radius:20px; display:inline-flex; align-items:center; gap:.32rem; }
.piz-dot { width:6px; height:6px; border-radius:50%; background:#4ade80; animation:pulse 1.2s infinite; display:inline-block; }
.piz-badge-final { background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.08); color:rgba(255,255,255,.42); font-size:.68rem; font-weight:700; letter-spacing:1px; padding:.16rem .65rem; border-radius:20px; }
.piz-badge-prog { background:rgba(79,70,229,.13); border:1px solid rgba(79,70,229,.26); color:#a5b4fc; font-size:.68rem; font-weight:700; letter-spacing:1px; padding:.16rem .65rem; border-radius:20px; }
.pizarra-score-section { display:flex; align-items:center; justify-content:space-between; padding:2.4rem 1.4rem 1.8rem; gap:.9rem; }
.piz-equipo { text-align:center; flex:1; }
.piz-equipo-logo-wrap { width:82px; height:82px; margin:0 auto .72rem; border-radius:50%; border:2px solid rgba(255,255,255,.1); display:flex; align-items:center; justify-content:center; background:rgba(255,255,255,.06); overflow:hidden; }
.piz-equipo-logo-wrap img { width:76%; height:76%; object-fit:contain; }
.piz-equipo-nombre { font-family:var(--font-b); font-size:1rem; font-weight:800; letter-spacing:1px; color:rgba(255,255,255,.86); }
.piz-equipo-label { font-size:.58rem; color:rgba(255,255,255,.22); letter-spacing:1.5px; text-transform:uppercase; margin-top:.12rem; font-family:var(--font-b); }
.piz-score-center { text-align:center; }
.piz-scores { display:flex; align-items:center; gap:.45rem; justify-content:center; }
.piz-score { font-family:var(--font-d); font-size:clamp(2.6rem,7vw,4.8rem); color:rgba(255,255,255,.2); line-height:1; transition:color .3s; }
.piz-score--winning { color:#a5b4fc; }
.piz-score-sep { font-family:var(--font-d); font-size:1.8rem; color:rgba(255,255,255,.08); }
.piz-inning { font-size:.8rem; color:rgba(255,255,255,.32); letter-spacing:1px; margin-top:.32rem; font-family:var(--font-b); }
.pizarra-bso-section { display:flex; justify-content:center; align-items:center; gap:1.8rem; padding:.9rem 1.4rem 1.3rem; background:rgba(0,0,0,.18); flex-wrap:wrap; border-top:1px solid rgba(255,255,255,.03); }
.bso-group { text-align:center; }
.bso-label { font-family:var(--font-b); font-size:.58rem; color:rgba(255,255,255,.22); letter-spacing:1.5px; text-transform:uppercase; margin-bottom:.32rem; }
.bso-dots { display:flex; gap:5px; justify-content:center; margin-bottom:.22rem; }
.bso-num { font-family:var(--font-d); font-size:1.25rem; color:rgba(255,255,255,.32); }
.bso-dot { width:16px; height:16px; border-radius:50%; border:2px solid rgba(255,255,255,.1); background:transparent; transition:background .2s, border-color .2s, box-shadow .2s; }
.bso-dot.activo.ball   { background:var(--green); border-color:var(--green); box-shadow:0 0 9px rgba(22,163,74,.45); }
.bso-dot.activo.strike { background:var(--amber); border-color:var(--amber); box-shadow:0 0 9px rgba(217,119,6,.45); }
.bso-dot.activo.out    { background:var(--red); border-color:var(--red); box-shadow:0 0 9px rgba(220,38,38,.45); }
.diamond-wrapper { position:relative; width:60px; height:60px; margin:0 auto; }
.base-diamond { position:absolute; width:16px; height:16px; border:2px solid rgba(255,255,255,.12); transform:rotate(45deg); background:transparent; transition:background .2s, border-color .2s, box-shadow .2s; }
.base-diamond.ocupada { background:var(--blue-2); border-color:var(--blue-2); box-shadow:0 0 9px rgba(99,102,241,.45); }
.base-segunda { top:0; left:50%; margin-left:-8px; }
.base-tercera { top:50%; left:0; margin-top:-8px; }
.base-primera { top:50%; right:0; margin-top:-8px; }
.base-home { bottom:0; left:50%; margin-left:-8px; background:rgba(255,255,255,.06); }
.pizarra-players-section { display:flex; justify-content:center; gap:1.8rem; padding:.7rem 1.4rem; flex-wrap:wrap; }
.piz-player { text-align:center; }
.piz-player-label { font-family:var(--font-b); font-size:.58rem; color:rgba(255,255,255,.22); letter-spacing:1.5px; text-transform:uppercase; display:block; margin-bottom:.12rem; }
.piz-player-name { font-family:var(--font-b); font-size:.88rem; font-weight:700; color:rgba(255,255,255,.8); }
.pizarra-ultima-jugada { background:rgba(79,70,229,.13); border-top:1px solid rgba(79,70,229,.18); padding:.65rem 1.2rem; font-family:var(--font-b); font-size:.85rem; font-weight:700; color:#a5b4fc; text-align:center; }
.pizarra-linea-section { background:rgba(0,0,0,.18); border-top:1px solid rgba(255,255,255,.03); }
.piz-linea-table { font-size:.74rem; margin:0; }
.piz-linea-table thead th { background:rgba(0,0,0,.32); color:rgba(255,255,255,.25); text-align:center; padding:.35rem .22rem; border:none; font-family:var(--font-b); font-size:.62rem; font-weight:700; letter-spacing:.8px; text-transform:uppercase; }
.piz-linea-table thead th:first-child { text-align:left; padding-left:.95rem; }
.piz-linea-table tbody td { background:transparent; color:rgba(255,255,255,.58); text-align:center; padding:.48rem .22rem; border-color:rgba(255,255,255,.04); font-family:var(--font-b); }
.piz-linea-table tbody td:first-child { text-align:left; padding-left:.95rem; }
.piz-entrada-activa { background:rgba(79,70,229,.16) !important; color:#a5b4fc !important; }
.piz-extra { color:rgba(99,102,241,.48) !important; }
.piz-total { background:rgba(0,0,0,.25) !important; font-weight:700; color:white !important; }
.piz-dash { color:rgba(255,255,255,.14); }
.pizarra-footer-bar { background:rgba(0,0,0,.28); padding:.42rem 1.2rem; display:flex; justify-content:space-between; flex-wrap:wrap; gap:.45rem; border-top:1px solid rgba(255,255,255,.02); }
.piz-refresh-text { font-family:var(--font-b); font-size:.65rem; color:rgba(255,255,255,.18); }

.pub-strip { background:var(--ink); border-bottom:1px solid rgba(255,255,255,.05); line-height:0; }
.pub-carousel { position:relative; overflow:hidden; }
.pub-slide { display:none; }
.pub-slide.active { display:block; animation:pubFade .45s ease; }
.pub-slide img { width:100%; height:auto; max-height:120px; object-fit:contain; object-position:center; background:var(--ink); display:block; }
.pub-slide a { display:block; line-height:0; }
.pub-dots { position:absolute; bottom:5px; left:50%; transform:translateX(-50%); display:flex; gap:4px; z-index:10; }
.pub-dot { width:5px; height:5px; border-radius:50%; background:rgba(255,255,255,.22); border:none; padding:0; cursor:pointer; transition:all .2s; }
.pub-dot.active { background:var(--blue-2); transform:scale(1.3); }
.pub-arr { position:absolute; top:50%; transform:translateY(-50%); background:rgba(0,0,0,.45); color:white; border:none; width:22px; height:22px; border-radius:50%; display:flex; align-items:center; justify-content:center; cursor:pointer; z-index:10; font-size:.68rem; transition:background .15s; }
.pub-arr--l { left:5px; } .pub-arr--r { right:5px; }
.pub-arr:hover { background:rgba(0,0,0,.72); }
@keyframes pubFade { from{opacity:0} to{opacity:1} }

:root { --sidebar-width:230px; --topbar-height:56px; }
.admin-sidebar { position:fixed; top:0; left:0; width:var(--sidebar-width); height:100vh; background:var(--ink); display:flex; flex-direction:column; z-index:1999; overflow-y:auto; border-right:1px solid rgba(255,255,255,.05); scrollbar-width:thin; scrollbar-color:rgba(255,255,255,.06) transparent; }
.admin-sidebar::-webkit-scrollbar { width:4px; }
.admin-sidebar::-webkit-scrollbar-thumb { background:rgba(255,255,255,.06); border-radius:4px; }
.sidebar-brand { padding:1.2rem 1.5rem; font-family:var(--font-b); font-size:1.05rem; font-weight:800; color:white; border-bottom:1px solid rgba(255,255,255,.05); display:flex; align-items:center; gap:.6rem; }
.admin-sidebar .nav-link { display:flex; align-items:center; gap:.7rem; padding:.5rem 1.5rem; color:rgba(255,255,255,.4); font-family:var(--font-b); font-size:.78rem; font-weight:600; text-decoration:none; transition:color .15s, background .15s; border-radius:0; border-left:3px solid transparent; }
.admin-sidebar .nav-link:hover { color:white; background:rgba(255,255,255,.04); }
.admin-sidebar .nav-link.active { color:white; background:rgba(79,70,229,.15); border-left-color:var(--blue-2); }
.nav-section { padding:.4rem 1.5rem .2rem; font-family:var(--font-b); font-size:.56rem; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:rgba(255,255,255,.14); }
.admin-main { margin-left:var(--sidebar-width); min-height:100vh; display:flex; flex-direction:column; }
.admin-topbar { position:sticky; top:0; z-index:200; background:white; border-bottom:1px solid var(--border); padding:.7rem 1.5rem; display:flex; align-items:center; justify-content:space-between; height:var(--topbar-height); box-shadow:0 1px 8px rgba(0,0,0,.05); }
.admin-content { padding:1.5rem; flex:1; }
.base-control-diamond { position:relative; width:80px; height:80px; flex-shrink:0; }
.base-ctrl { position:absolute; width:22px; height:22px; border:2px solid var(--border); transform:rotate(45deg); background:var(--surface); cursor:pointer; transition:background .15s, border-color .15s; }
.base-ctrl:hover { border-color:var(--blue); }
.base-ctrl.ocupada { background:var(--blue); border-color:var(--blue-2); }
.base-ctrl.segunda { top:0; left:50%; margin-left:-11px; }
.base-ctrl.tercera { top:50%; left:0; margin-top:-11px; }
.base-ctrl.primera { top:50%; right:0; margin-top:-11px; }
.base-ctrl.home { bottom:0; left:50%; margin-left:-11px; background:var(--border); cursor:default; }
.bso-btn { border-color:var(--border); color:var(--muted); background:white; font-weight:700; }
.bso-btn.active.ball-btn   { background:var(--green); border-color:var(--green); color:white; }
.bso-btn.active.strike-btn { background:var(--amber); border-color:var(--amber); color:var(--ink); }
.bso-btn.active.out-btn    { background:var(--red); border-color:var(--red); color:white; }

@keyframes fadeUp { from{opacity:0;transform:translateY(12px)} to{opacity:1;transform:translateY(0)} }
.tcard,.noticia-card,.equipo-card { animation:fadeUp .28s ease both; }
.tcard:nth-child(1),.noticia-card:nth-child(1),.equipo-card:nth-child(1){animation-delay:.03s}
.tcard:nth-child(2),.noticia-card:nth-child(2),.equipo-card:nth-child(2){animation-delay:.07s}
.tcard:nth-child(3),.noticia-card:nth-child(3),.equipo-card:nth-child(3){animation-delay:.11s}
.tcard:nth-child(4),.noticia-card:nth-child(4),.equipo-card:nth-child(4){animation-delay:.15s}
.tcard:nth-child(5),.noticia-card:nth-child(5),.equipo-card:nth-child(5){animation-delay:.19s}
.toast-msg { background:var(--ink); color:white; border-radius:var(--r); padding:.62rem 1.05rem; font-size:.8rem; box-shadow:var(--shm); margin-bottom:.45rem; animation:fadeUp .28s ease; font-family:var(--font-b); }

@media(max-width:991px) {
    #burgerBtn { display:block; }
    .admin-sidebar { transform:translateX(-100%); transition:transform .28s cubic-bezier(.4,0,.2,1); box-shadow:none; }
    .admin-sidebar.sidebar-open { transform:translateX(0); box-shadow:6px 0 40px rgba(0,0,0,.4); }
    .admin-main { margin-left:0; }
    .admin-content { padding:1rem; }
    .brand-name { font-size:1rem; max-width:52vw; }
    .brand-icon { width:30px; height:30px; font-size:.95rem; }
}

@media(max-width:768px) {
    body { font-size:14px; }
    .pizarra-score-section { padding:1.4rem .7rem .95rem; }
    .piz-equipo-logo-wrap { width:60px; height:60px; }
    .piz-score { font-size:2.6rem; }
    .pizarra-bso-section { gap:.9rem; padding:.7rem; }
    .cal-dia { min-height:50px; padding:.18rem .22rem; }
    .cal-juego-count { display:none; }
    .tcard-body { flex-wrap:nowrap; }
    .tcard-logo { width:38px; height:38px; }
    .tcard-name { font-size:10px; }
    .tcard-mid { padding:0 8px; }
    .tcard-time { font-size:17px; }
    .tcs-w,.tcs-l { font-size:24px; }
    .standings-table thead th,
    .standings-table tbody td { padding:.38rem .35rem; font-size:.72rem; }
}

@media(max-width:480px) {
    .tcard-head { flex-wrap:wrap; gap:3px; }
    .tcard-date { font-size:8px; }
    .tcard-label { font-size:8px; }
    .tcard-cat { font-size:9px; }
    .tcard-logo { width:34px; height:34px; }
    .tcard-name { font-size:9.5px; }
    .tcard-mid { padding:0 6px; }
    .tcard-time { font-size:15px; }
    .tcard-role { display:none; }
    .tcard-sede { font-size:9px; max-width:55vw; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
    .tcs-w,.tcs-l { font-size:22px; }
    .noticia-card .noticia-img-wrap { height:140px; }
    .equipo-card { padding:1rem .75rem 1rem; }
    .logo-wrapper { width:60px; height:60px; }
    .stats-table { font-size:.7rem; }
    .standings-table { font-size:.72rem; }
}
