/* KAPO SPORTS PREMIUM 1.3 — presentación, sin alterar lógica de torneos */
:root{--premium-blue:#468bff;--premium-mint:#2de3af;--premium-violet:#9b7dff}
.top{padding:1rem 2rem;border-bottom-color:rgba(109,151,221,.12)}
.brand{font-size:1.4rem}.brand::first-letter{color:#2de3af}
.app-shell{min-height:80vh}.app-shell.has-sidebar{display:grid;grid-template-columns:250px minmax(0,1fr);max-width:1560px;margin:auto}
.sidebar{position:sticky;top:73px;height:calc(100vh - 73px);padding:29px 15px;display:flex;flex-direction:column;gap:6px;background:rgba(9,19,35,.84);border-right:1px solid rgba(161,191,234,.13)}
.sidebar-label,.eyebrow{font-size:.72rem;letter-spacing:.17em;text-transform:uppercase;font-weight:800;color:#7d9dbf}
.sidebar-label{padding:9px 14px 12px}.side-link{color:#acbdd8;display:flex;align-items:center;gap:11px;padding:13px 15px;border:1px solid transparent;border-radius:13px;font-weight:650}
.side-link:hover{color:#f2fbff;background:rgba(68,139,255,.07)}.side-link.active{color:#e5f9ff;background:linear-gradient(90deg,rgba(41,203,181,.17),rgba(68,139,255,.06));border-color:rgba(45,227,175,.18)}
.side-icon{display:inline-grid;place-items:center;width:22px;font-size:1.18rem;color:#65d1e9}.sidebar-sep{border-top:1px solid rgba(160,185,220,.12);margin:13px 9px}.sidebar-bottom{margin-top:auto;color:#7295b9;padding:12px 15px;font-size:.75rem;display:flex;gap:7px;align-items:center}.sidebar-bottom b{color:#d6fff0}.online-dot{width:7px;height:7px;display:inline-block;border-radius:50%;background:#2fe5ad;box-shadow:0 0 14px #2fe5ad}
.has-sidebar .container{width:100%;max-width:none;margin:0;padding:30px clamp(20px,3vw,42px) 55px}.heading h1{margin-bottom:.2rem}.heading p{margin:.3rem 0 0}.heading .button{align-self:center}
.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin:25px 0 24px}.kpi{min-height:168px;border:1px solid rgba(142,174,222,.16);border-radius:21px;background:linear-gradient(145deg,#182a45,#101c30);padding:19px 20px;box-shadow:0 14px 35px rgba(0,0,0,.16);display:flex;flex-direction:column}.kpi small{font-size:.82rem;color:#b2c4de;margin-top:8px}.kpi strong{font-size:2.2rem;line-height:1.15;color:white;letter-spacing:-.06em;margin-top:6px}.kpi-detail{font-size:.75rem;color:#8298b8;margin-top:auto}.kpi-icon{width:37px;height:37px;display:grid;place-items:center;border-radius:11px;font-size:1.08rem}.kpi-icon.blue{background:rgba(64,142,255,.19)}.kpi-icon.green{background:rgba(45,227,175,.17)}.kpi-icon.gold{background:rgba(239,176,67,.16)}.kpi-icon.violet{background:rgba(155,125,255,.19)}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:17px}.section-heading h2{margin:4px 0 0}.section-heading .pill{flex-shrink:0}.card>.section-heading{margin-bottom:18px}
.premium-hero{min-height:365px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;background:radial-gradient(circle at 80% 25%,rgba(40,233,173,.24),transparent 35%),linear-gradient(112deg,#112b4c,#0a172a 72%);border:1px solid rgba(101,196,230,.25)}.premium-hero h1{max-width:760px;position:relative;z-index:1}.premium-hero small{color:#70f4ce}.hero-glow{position:absolute;right:4%;top:12%;width:250px;height:250px;border:33px solid rgba(43,231,179,.12);border-radius:50%;box-shadow:0 0 0 34px rgba(79,142,255,.035),inset 0 0 55px rgba(53,228,180,.09);pointer-events:none}.public-heading{margin:28px 0 18px}
.sport-chip{color:#88e8d0;display:inline-flex;border-radius:100px;background:rgba(31,169,145,.13);border:1px solid rgba(45,227,175,.19);padding:6px 12px;font-size:.8rem;font-weight:750;align-self:flex-start}.tournament-card{min-height:207px;justify-content:space-between}.tournament-card .pill{align-self:flex-start}
.stats .card{border-top:2px solid rgba(45,227,175,.35)}.stats strong{font-size:2.5rem}.tablewrap table td:nth-child(2){font-weight:650;color:#e4eeff}.tablewrap th{background:#172943}.tablewrap tbody tr:hover td{background:rgba(67,131,211,.08)}
input,select,textarea{background:#0a182c}input:focus,select:focus,textarea:focus{border-color:var(--premium-mint);box-shadow:0 0 0 4px rgba(45,227,175,.09)}
button,.button{background:linear-gradient(120deg,#14b996,#169aaf);font-weight:750}.card{border-color:rgba(139,180,232,.14)}
@media(max-width:1200px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell.has-sidebar{grid-template-columns:215px minmax(0,1fr)}}
@media(max-width:800px){.app-shell.has-sidebar{display:block}.sidebar{position:static;height:auto;display:flex;flex-direction:row;overflow-x:auto;padding:12px 16px;border-right:0;border-bottom:1px solid rgba(161,191,234,.13);gap:5px}.sidebar-label,.sidebar-sep,.sidebar-bottom{display:none}.side-link{white-space:nowrap;font-size:.82rem;padding:10px 12px}.has-sidebar .container{padding:22px 16px 40px}.top{padding:13px 16px}}
@media(max-width:540px){.kpi-grid{gap:9px}.kpi{min-height:145px;padding:13px;border-radius:16px}.kpi strong{font-size:1.7rem}.kpi small{font-size:.72rem}.kpi-detail{font-size:.67rem}.premium-hero{min-height:350px}.hero-glow{width:160px;height:160px;right:-55px;top:12%}.heading .button{width:100%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}

/* Gestión premium de equipos */
.team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:12px;margin-top:18px}
.team-tile{display:flex;align-items:center;gap:14px;background:rgba(255,255,255,.035);border:1px solid rgba(148,177,223,.16);border-radius:17px;padding:16px;min-width:0}
.team-emblem{display:grid;place-items:center;width:45px;height:45px;border-radius:14px;background:rgba(34,199,168,.15);font-size:22px;flex:none}
.team-tile strong{display:block;color:#f4f7ff;overflow-wrap:anywhere}.team-tile small{font-size:12px}
.team-form{margin-top:22px;padding-top:20px;border-top:1px solid rgba(148,177,223,.18)}
.team-management .heading{align-items:center}.team-management h2{margin-bottom:.25rem}
.confirmation{display:flex;align-items:flex-start;gap:12px;font-weight:500}.confirmation input{width:20px;height:20px;flex:none;margin-top:2px}
.muted-note{font-size:13px}
/* KAPO SPORTS 1.6 - Volleyball */
.volley-box{padding:1.1rem;border-radius:18px;border:1px solid rgba(60,200,181,.25);background:rgba(23,91,100,.08);margin:1rem 0}.volley-box h3{margin:0 0 .3rem}.volley-table{min-width:420px}.volley-table input{margin:0;max-width:180px}.volley-info{padding:.9rem 1.1rem;color:#baf6e5;border-radius:14px;background:rgba(25,160,135,.13);border:1px solid rgba(34,199,168,.25)}[hidden]{display:none!important}

/* KAPO SPORTS 1.8 - Configuración previa del calendario */
.fixture-schedule-form{margin-top:1.1rem;align-items:end}
.fixture-schedule-form label{margin:.2rem 0}
.fixture-schedule-form input{min-height:50px}

/* KAPO SPORTS 2.1: Control de partido simplificado */
.match-premium{max-width:940px;margin:0 auto 1rem;padding:clamp(18px,3vw,32px)}
.match-metadata{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px 20px;color:#a8bad4;font-size:.9rem;margin-bottom:24px}
.match-headline{display:grid;grid-template-columns:minmax(0,1fr) 56px minmax(0,1fr);align-items:center;gap:12px;margin:8px 0 30px;text-align:center}
.match-headline strong{font-size:clamp(1.1rem,2.2vw,1.65rem);overflow-wrap:anywhere;color:#fff}
.match-headline span{border-radius:50%;background:#132e42;padding:15px 9px;color:#4ce2c0;font-weight:900;font-size:.8rem}
.match-score-inputs{display:grid;grid-template-columns:minmax(0,1fr) 30px minmax(0,1fr);align-items:end;gap:10px;max-width:560px;margin:0 auto 16px}
.match-score-inputs label{text-align:center}.match-score-inputs input{text-align:center;font-size:2rem;font-weight:900;padding:12px 4px}.match-score-inputs>strong{text-align:center;font-size:2rem;margin-bottom:10px}
.match-help{color:#aebfd6;margin-top:-5px;margin-bottom:18px}.match-details{max-width:940px;margin:12px auto;padding:18px 24px}
.match-premium .volley-table{min-width:0}.match-premium .volley-table input{text-align:center;min-width:72px}
.match-premium .volley-box .tablewrap{max-width:720px;margin:auto}
@media(max-width:600px){.match-headline{grid-template-columns:minmax(0,1fr) 42px minmax(0,1fr)}.match-metadata{justify-content:flex-start}.match-premium .volley-table input{min-width:50px;padding:8px 5px}}

/* Distribucion manual de equipos por cancha */
.court-assign-panel{margin-top:1rem;padding:1.2rem;border:1px solid rgba(99,181,232,.28);background:rgba(10,29,52,.65);border-radius:18px}.team-court-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.65rem}.team-court-row{padding:.7rem;border:1px solid rgba(255,255,255,.12);border-radius:12px;display:flex;flex-direction:column;gap:.4rem}.team-court-row select{width:100%}
