
:root{
--bg:#07111f;--panel:#0d1b2b;--panel2:#102437;--ink:#f7fbff;--muted:#91a2b6;
--lime:#b8e000;--line:#22364c;--danger:#ff5d6c;--ok:#54d38a;--blue:#2e9cff
}
*{box-sizing:border-box}
body{margin:0;background:linear-gradient(180deg,#07111f,#0b1724);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}
header{position:sticky;top:0;z-index:20;background:#071525ee;backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.brand{max-width:1180px;margin:auto;padding:14px;display:flex;align-items:center;gap:12px}
.brand img{width:58px;height:58px;border-radius:15px}.brand h1{margin:0;font-size:1.35rem}.brand b{color:var(--lime)}
.tag{color:var(--muted);font-size:.83rem}.mode{margin-left:auto;background:var(--lime);color:#061019;border-radius:999px;padding:7px 10px;font-weight:900;font-size:.75rem}
main{max-width:1180px;margin:auto;padding:14px 14px 92px}
.nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(108px,1fr));gap:8px;margin-bottom:14px}
.nav button{border:1px solid var(--line);background:var(--panel);color:var(--ink);padding:11px;border-radius:12px;font-weight:800}
.nav button.active{background:var(--lime);color:#07111f}
.section{display:none}.section.active{display:block}
.card{background:linear-gradient(180deg,var(--panel),#0b1928);border:1px solid var(--line);border-radius:18px;padding:15px;margin-bottom:12px;box-shadow:0 8px 28px #0003}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.row{display:flex;gap:9px;flex-wrap:wrap;align-items:center}
h2,h3{margin-top:0}.small{color:var(--muted);font-size:.82rem}
label{font-size:.78rem;color:var(--muted);display:block;margin:10px 0 5px;font-weight:700}
input,select,textarea,button{font:inherit}
input,select,textarea{width:100%;background:#091827;color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:10px}
textarea{min-height:80px}
.btn{border:0;border-radius:10px;padding:10px 13px;background:var(--lime);color:#07111f;font-weight:900;cursor:pointer}
.btn.alt{background:#16283a;color:var(--ink);border:1px solid var(--line)}.btn.danger{background:var(--danger);color:white}
.hidden{display:none!important}.pro-badge{display:inline-block;background:var(--lime);color:#07111f;border-radius:6px;padding:2px 6px;font-size:.65rem;font-weight:900}
.hero{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:165px;background:radial-gradient(circle at 82% 22%,#b8e00025,transparent 30%),linear-gradient(135deg,#0d1b2b,#071525)}
.eyebrow{color:var(--lime);font-weight:900;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}
.hero h2{font-size:2rem;margin:6px 0}.hero-actions{display:flex;gap:8px;margin-top:16px;flex-wrap:wrap}.hero-right{display:grid;gap:8px;justify-items:end}
.format-pill,.system-pill{font-weight:900;border-radius:14px;padding:10px 14px}.format-pill{background:var(--lime);color:#07111f}.system-pill{background:#14283a;border:1px solid var(--line)}
.big{font-size:2rem;font-weight:900;color:var(--lime)}.system-name{font-size:1.35rem}.stat-card{position:relative;overflow:hidden}.stat-icon{position:absolute;right:14px;top:12px;font-size:1.4rem;opacity:.75}
.player-filters{display:grid;grid-template-columns:2fr 1fr;gap:10px;margin:14px 0}
.players-list{display:grid;gap:10px}
.player-row{display:grid;grid-template-columns:58px 1fr auto;gap:12px;align-items:center;background:#0a1827;border:1px solid var(--line);border-radius:15px;padding:12px;cursor:pointer}
.player-row:hover{border-color:#3f5872}.avatar{width:52px;height:52px;border-radius:50%;background:linear-gradient(180deg,var(--lime),#8eb700);color:#07111f;display:grid;place-items:center;font-size:1.15rem;font-weight:950;border:2px solid #eaff99}
.player-name{font-size:1rem;font-weight:900}.player-meta{color:var(--muted);font-size:.8rem;margin-top:3px}
.player-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}.tag-pill{background:#13283b;color:#c9d7e4;border:1px solid #274058;border-radius:999px;padding:3px 7px;font-size:.68rem}
.status-dot{width:10px;height:10px;border-radius:50%;display:inline-block;margin-right:5px}.status-Disponible{background:var(--ok)}.status-Lesionado{background:var(--danger)}.status-Ausente{background:#f3b13f}
.arrow{font-size:1.5rem;color:var(--muted)}
.board{position:relative;aspect-ratio:68/105;max-height:650px;margin:auto;background:#17683c;border:3px solid #dff5e9;border-radius:12px;overflow:hidden}
.board:before{content:"";position:absolute;left:10%;right:10%;top:50%;border-top:2px solid #fff}.board:after{content:"";position:absolute;width:25%;aspect-ratio:1;border:2px solid #fff;border-radius:50%;left:37.5%;top:37.5%}
.goalarea{position:absolute;left:25%;width:50%;height:13%;border:2px solid #fff}.goalarea.top{top:-2px}.goalarea.bottom{bottom:-2px}
.token{position:absolute;width:40px;height:40px;border-radius:50%;background:var(--lime);color:#061019;border:2px solid #fff;display:grid;place-items:center;font-weight:900;touch-action:none;user-select:none}
.pro-lock{text-align:center;padding:35px 15px}.lock-icon{font-size:2.6rem}.pro-lock p{color:var(--muted)}
footer{position:fixed;bottom:0;left:0;right:0;background:#071525f2;border-top:1px solid var(--line);padding:8px;text-align:center;color:var(--muted);font-size:.75rem}

/* player modal */
.modal{position:fixed;inset:0;z-index:200;background:#02070dcc;backdrop-filter:blur(10px);display:grid;place-items:center;padding:16px;overflow:auto}
.modal-card{width:min(760px,100%);background:linear-gradient(180deg,#0e1f31,#091522);border:1px solid #2b435c;border-radius:22px;padding:20px;box-shadow:0 30px 90px #0009;margin:auto}
.modal-head{display:flex;justify-content:space-between;align-items:flex-start}.icon-btn{border:1px solid var(--line);background:#14283a;color:white;border-radius:10px;width:40px;height:40px;font-size:1.5rem}
.player-profile-top{display:grid;grid-template-columns:100px 1fr;gap:16px;align-items:center;margin:10px 0}
.avatar-big{width:92px;height:92px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(180deg,var(--lime),#8db400);color:#07111f;font-size:2rem;font-weight:950;border:3px solid #efffb1}
.profile-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:16px 0}.profile-stats div{background:#102337;border:1px solid var(--line);border-radius:12px;padding:12px;text-align:center}
.profile-stats span,.profile-stats strong{display:block}.profile-stats span{font-size:.7rem;color:var(--muted)}.profile-stats strong{font-size:1.2rem;color:var(--lime);margin-top:4px}
.modal-actions{display:flex;justify-content:space-between;gap:10px;margin-top:18px}.pro-strip{margin-top:14px;border:1px dashed #496316;background:#132107;border-radius:12px;padding:10px;color:#dff0a2;font-size:.78rem}

/* onboarding */
.onboarding{position:fixed;inset:0;z-index:100;background:radial-gradient(circle at 50% 0,#16314a,#06101d 55%);display:grid;place-items:center;padding:18px}
.wizard{width:min(560px,100%);background:linear-gradient(180deg,#0e1e2f,#091522);border:1px solid #294057;border-radius:24px;padding:24px;box-shadow:0 24px 80px #0008}
.wizard-logo{width:82px;height:82px;border-radius:20px;display:block;margin:0 auto 12px}.wizard-step{text-align:center;color:var(--lime);font-weight:900;font-size:.75rem;letter-spacing:.1em}
.wizard h1{text-align:center;margin:7px 0}.wizard-copy{text-align:center;color:var(--muted);margin-bottom:18px}.wiz-page{display:none}.wiz-page.active{display:block}
.wizard-actions{display:flex;justify-content:space-between;gap:10px;margin-top:20px}
.format-choice{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}.format-choice button{background:#102337;border:1px solid var(--line);color:white;padding:18px;border-radius:16px;text-align:left}
.format-choice button strong,.format-choice button span{display:block}.format-choice button span{color:var(--muted);font-size:.8rem;margin-top:4px}.format-choice button.selected{outline:2px solid var(--lime);background:#16270c}
.setup-preview{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:16px}.setup-preview div{background:#102337;border:1px solid var(--line);border-radius:12px;padding:12px}.setup-preview span,.setup-preview strong{display:block}.setup-preview span{font-size:.72rem;color:var(--muted);margin-bottom:5px}

@media(max-width:650px){
.brand h1{font-size:1.05rem}.tag{font-size:.72rem}.brand img{width:48px;height:48px}
.hero{align-items:flex-start}.hero h2{font-size:1.55rem}.hero-right{justify-items:start}
.player-filters{grid-template-columns:1fr}.player-row{grid-template-columns:52px 1fr auto}
.grid.two{grid-template-columns:1fr}.player-profile-top{grid-template-columns:76px 1fr}.avatar-big{width:70px;height:70px;font-size:1.5rem}
.profile-stats{grid-template-columns:repeat(2,1fr)}.setup-preview{grid-template-columns:1fr}.format-choice{grid-template-columns:1fr}
}

.training-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0}
.training-kpis div{background:#102337;border:1px solid var(--line);border-radius:14px;padding:14px}
.training-kpis span,.training-kpis strong{display:block}.training-kpis span{font-size:.72rem;color:var(--muted)}
.training-kpis strong{font-size:1.25rem;color:var(--lime);margin-top:4px}
.training-editor{margin-top:14px;border-top:1px solid var(--line);padding-top:14px}
.attendance-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.attendance-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}
.attendance-item{display:flex;align-items:center;gap:10px;background:#0a1827;border:1px solid var(--line);border-radius:12px;padding:10px}
.attendance-item input{width:auto}
.attendance-item .mini-avatar{width:34px;height:34px;border-radius:50%;background:var(--lime);color:#07111f;display:grid;place-items:center;font-weight:900}
.training-history{display:grid;gap:10px;margin-top:16px}
.training-card{background:#0a1827;border:1px solid var(--line);border-radius:14px;padding:13px}
.training-card-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.training-card h3{margin:0 0 4px}.training-meta{color:var(--muted);font-size:.78rem}
.training-progress{height:8px;background:#14283a;border-radius:999px;overflow:hidden;margin-top:10px}
.training-progress span{display:block;height:100%;background:var(--lime)}
.training-footer{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:8px;font-size:.78rem}
.player-att-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}
.player-att-summary div{background:#102337;border:1px solid var(--line);border-radius:10px;padding:9px;text-align:center}
.player-att-summary span,.player-att-summary strong{display:block}.player-att-summary span{color:var(--muted);font-size:.65rem}
.player-att-summary strong{color:var(--lime);margin-top:3px}
@media(max-width:650px){
.training-kpis{grid-template-columns:1fr}
.player-att-summary{grid-template-columns:repeat(2,1fr)}
}

.match-kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin:16px 0}
.match-kpis div{background:#102337;border:1px solid var(--line);border-radius:12px;padding:12px;text-align:center}
.match-kpis span,.match-kpis strong{display:block}.match-kpis span{font-size:.67rem;color:var(--muted)}
.match-kpis strong{font-size:1.2rem;color:var(--lime);margin-top:4px}
.match-editor{margin-top:14px;border-top:1px solid var(--line);padding-top:14px}
.match-result{font-size:1.3rem;font-weight:950;color:var(--lime)}
.result-W{border-left:4px solid var(--ok)}.result-D{border-left:4px solid #f2c14e}.result-L{border-left:4px solid var(--danger)}
.scorer-row{display:grid;grid-template-columns:2fr 1fr auto;gap:8px;align-items:end;margin-bottom:8px}
.squad-mini{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.squad-mini span{font-size:.67rem;background:#13283b;border:1px solid #274058;border-radius:999px;padding:3px 7px}
.player-goal-pill{background:#16270c!important;border-color:#496316!important;color:#e9ff9e}
@media(max-width:800px){.match-kpis{grid-template-columns:repeat(3,1fr)}}
@media(max-width:650px){.scorer-row{grid-template-columns:1fr 90px auto}.match-kpis{grid-template-columns:repeat(2,1fr)}}

.stats-summary{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin:16px 0}
.stats-summary div{background:#102337;border:1px solid var(--line);border-radius:12px;padding:12px;text-align:center}
.stats-summary span,.stats-summary strong{display:block}.stats-summary span{font-size:.67rem;color:var(--muted)}
.stats-summary strong{font-size:1.18rem;color:var(--lime);margin-top:4px}
.inner-card{background:#0a1827}
.leader-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.leader-grid div{background:#102337;border:1px solid var(--line);border-radius:12px;padding:14px}
.leader-grid span,.leader-grid strong{display:block}.leader-grid span{font-size:.72rem;color:var(--muted)}
.leader-grid strong{font-size:1rem;color:var(--lime);margin-top:5px}
.tablewrap{overflow:auto}
table{width:100%;border-collapse:collapse;min-width:700px}
th,td{padding:9px;border-bottom:1px solid var(--line);text-align:left}
th{color:var(--lime);font-size:.75rem}
td{font-size:.82rem}
@media(max-width:850px){.stats-summary{grid-template-columns:repeat(3,1fr)}}
@media(max-width:650px){.stats-summary{grid-template-columns:repeat(2,1fr)}.leader-grid{grid-template-columns:1fr}}

.board-tools{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}
.board-tools .active-tool{outline:2px solid var(--lime);background:#18270c}
.board-wrap{display:flex;justify-content:center}
.board{position:relative;aspect-ratio:68/105;width:min(100%,520px);background:#17683c;border:3px solid #dff5e9;border-radius:12px;overflow:hidden}
#boardCanvas{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:auto;touch-action:none}
.goalarea{z-index:1}.token{z-index:3}
.board-object{position:absolute;z-index:4;touch-action:none;user-select:none;display:grid;place-items:center}
.ball-object{width:34px;height:34px;border-radius:50%;background:white;color:#111;font-size:1.1rem;border:2px solid #ddd}
.cone-object{font-size:1.6rem}

.tactic-savebar{display:grid;grid-template-columns:1fr auto;gap:8px;margin:12px 0}
.saved-tactics{margin-top:18px;border-top:1px solid var(--line);padding-top:14px}
.tactic-card{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;background:#0a1827;border:1px solid var(--line);border-radius:13px;padding:11px;margin-bottom:8px}
.tactic-card strong,.tactic-card span{display:block}.tactic-card span{color:var(--muted);font-size:.74rem;margin-top:3px}
.tactic-actions{display:flex;gap:6px;flex-wrap:wrap}
@media(max-width:650px){.tactic-savebar{grid-template-columns:1fr}.tactic-card{grid-template-columns:1fr}}

.match-prep-chip{display:inline-flex;align-items:center;gap:6px;background:#13283b;border:1px solid #274058;border-radius:999px;padding:4px 8px;font-size:.68rem;margin-top:6px}
.lineup-count{font-size:.72rem;color:var(--muted);margin:8px 0}
.starting-badge{background:#1b2d0c!important;border-color:#4f6d18!important}

.scout-toolbar{display:grid;grid-template-columns:2fr 1fr 1fr;gap:8px;margin:14px 0}
.scout-editor{border-top:1px solid var(--line);padding-top:14px;margin-top:10px}
.scout-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0}
.scout-kpis div{background:#102337;border:1px solid var(--line);border-radius:12px;padding:11px;text-align:center}
.scout-kpis span,.scout-kpis strong{display:block}.scout-kpis span{font-size:.67rem;color:var(--muted)}
.scout-kpis strong{font-size:1.15rem;color:var(--lime);margin-top:4px}
.scout-rating{color:#d8f35a;letter-spacing:.05em}.scout-status{display:inline-block;border-radius:999px;padding:3px 7px;font-size:.66rem;font-weight:800;background:#13283b;border:1px solid #274058}
.status-Prioritario{background:#2b2105;border-color:#725a10;color:#ffe680}.status-Interesante{background:#13270a;border-color:#406a16;color:#dff59c}.status-Descartado{background:#2c1115;border-color:#6d252f;color:#ffb9c0}
@media(max-width:700px){.scout-toolbar{grid-template-columns:1fr}.scout-kpis{grid-template-columns:repeat(2,1fr)}}

.planbar{max-width:1180px;margin:10px auto 0;padding:10px 14px;background:#0a1827;border:1px solid var(--line);border-radius:14px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.planbar>div:first-child{display:flex;align-items:center;gap:9px}.planbar #planLabel{font-size:.68rem;font-weight:900;padding:4px 8px;border-radius:999px;background:#18270c;color:var(--lime);border:1px solid #48620f}
.plan-actions{display:flex;gap:7px}.pro-locked{position:relative;opacity:.62}.pro-locked:after{content:"PRO";position:absolute;top:7px;right:7px;background:#b8e000;color:#07111f;font-size:.62rem;font-weight:950;padding:3px 6px;border-radius:999px}
.free-limit-note{font-size:.72rem;color:var(--muted);padding:8px 10px;background:#102337;border:1px solid var(--line);border-radius:10px;margin:8px 0}
@media(max-width:650px){.planbar{margin:8px 10px 0;align-items:flex-start}.plan-actions{flex-wrap:wrap;justify-content:flex-end}}

.plan-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}
.price-card{position:relative;background:#0a1827;border:1px solid var(--line);border-radius:18px;padding:18px}
.pro-card{margin-top:0}
.recommended{position:absolute;right:16px;top:-13px;background:var(--lime);color:#07111f;border-radius:999px;padding:4px 8px;font-size:.62rem;font-weight:950}
.price-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.price-head span{font-size:1.2rem;font-weight:950}.price-head strong{font-size:1.5rem;color:var(--lime)}
.price-card ul{padding-left:19px;line-height:1.8}.full{width:100%}
.feature-compare{margin-top:20px}.compare-row{display:grid;grid-template-columns:2fr 1fr 1fr;gap:8px;padding:10px;border-bottom:1px solid var(--line);align-items:center}
.compare-row.head{color:var(--lime);font-weight:900;background:#102337;border-radius:10px 10px 0 0}.compare-row b{text-align:center}
@media(max-width:700px){.plan-grid{grid-template-columns:1fr}.compare-row{grid-template-columns:1.6fr .8fr .8fr;font-size:.75rem}}

.planner-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:14px;margin-top:14px}
.planner-toolbar{display:grid;grid-template-columns:2fr 1fr;gap:8px;margin-bottom:12px}
.exercise-list,.session-list{display:grid;gap:9px}
.exercise-card,.session-card{background:#0a1827;border:1px solid var(--line);border-radius:13px;padding:12px}
.exercise-head,.session-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.exercise-head strong,.session-head strong{display:block}
.exercise-meta{color:var(--muted);font-size:.72rem;margin-top:4px}
.exercise-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.exercise-tags span{background:#13283b;border:1px solid #274058;border-radius:999px;padding:3px 7px;font-size:.66rem}
.planner-editor{margin-top:16px;border-top:1px solid var(--line);padding-top:16px}
.session-picker{display:grid;gap:8px}
.session-pick{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;background:#0a1827;border:1px solid var(--line);border-radius:12px;padding:10px}
.session-pick input{width:auto}
.session-total{text-align:right;font-size:.85rem;color:var(--muted);margin:12px 0}
.session-total strong{color:var(--lime)}
.planbar[data-pro="true"] #planLabel{background:var(--lime);color:#07111f}
@media(max-width:800px){.planner-grid{grid-template-columns:1fr}}
@media(max-width:650px){.planner-toolbar{grid-template-columns:1fr}}

.player-advanced{margin-top:16px;padding:16px;background:#071523;border:1px solid var(--line);border-radius:18px}
.player-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:14px 0}
.player-kpis .kpi{background:#102337;border:1px solid var(--line);border-radius:13px;padding:12px;text-align:center}
.player-kpis .kpi span,.player-kpis .kpi strong{display:block}.player-kpis .kpi span{font-size:.67rem;color:var(--muted)}.player-kpis .kpi strong{font-size:1.25rem;color:var(--lime);margin-top:4px}
.player-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.rating-row{display:grid;grid-template-columns:100px 1fr 28px;gap:8px;align-items:center;margin:12px 0}.rating-row input{padding:0}.rating-row b{color:var(--lime);text-align:right}
.evolution-entry{display:grid;grid-template-columns:110px 1fr auto;gap:10px;align-items:center;padding:10px;border-bottom:1px solid var(--line)}
.evolution-scores{display:flex;gap:7px;flex-wrap:wrap}.evolution-scores span{font-size:.67rem;background:#13283b;border:1px solid #274058;border-radius:999px;padding:3px 7px}
.advanced-player-btn{margin-top:7px}
@media(max-width:800px){.player-detail-grid{grid-template-columns:1fr}.player-kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.evolution-entry{grid-template-columns:1fr}}

.season-report-box{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#102337;border:1px solid var(--line);border-radius:14px;padding:13px;margin-bottom:12px}
.report-actions{margin:8px 0}.print-report{display:none}
.report-sheet{background:white;color:#111;padding:28px;font-family:Arial,sans-serif}
.report-sheet h1,.report-sheet h2,.report-sheet h3{color:#111}.report-sheet .report-sub{color:#555;margin-bottom:18px}
.report-table{width:100%;border-collapse:collapse;margin:12px 0}.report-table th,.report-table td{border:1px solid #bbb;padding:7px;text-align:left;font-size:12px}.report-table th{background:#eee}
.report-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0}.report-kpis div{border:1px solid #bbb;padding:10px}.report-kpis strong,.report-kpis span{display:block}.report-kpis strong{font-size:20px}.report-kpis span{font-size:11px;color:#555}
.report-note{border:1px solid #ccc;padding:10px;margin:8px 0;white-space:pre-wrap}
@media(max-width:650px){.season-report-box{align-items:flex-start;flex-direction:column}}
@media print{
 body *{visibility:hidden!important}
 #printReport,#printReport *{visibility:visible!important}
 #printReport{display:block!important;position:absolute;left:0;top:0;width:100%;background:white}
 .report-sheet{padding:12mm}
 @page{size:A4;margin:10mm}
}

.callup-picker{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:10px 0}
.callup-player{display:grid;grid-template-columns:auto 1fr 120px;gap:9px;align-items:center;background:#0a1827;border:1px solid var(--line);border-radius:12px;padding:9px}
.callup-player input{width:auto}.callup-player select{padding:7px}
.callup-summary{background:#102337;border:1px solid var(--line);border-radius:12px;padding:10px;margin:10px 0;color:var(--muted)}
.callup-list{display:grid;gap:10px;margin-top:14px}.callup-card{background:#0a1827;border:1px solid var(--line);border-radius:14px;padding:13px}
.callup-head{display:flex;justify-content:space-between;gap:10px}.callup-roster{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}
.callup-roster span{font-size:.68rem;background:#13283b;border:1px solid #274058;border-radius:999px;padding:4px 7px}
.callup-roster .starter{border-color:#6f8d18;color:#dff59c}.callup-roster .sub{color:#bcd1e1}
@media(max-width:720px){.callup-picker{grid-template-columns:1fr}.callup-player{grid-template-columns:auto 1fr 105px}}

.mobile-menu-btn{display:none;background:#102337;color:#eef6ff;border:1px solid var(--line);border-radius:10px;padding:9px 12px;font-weight:850}
.mobile-quick{display:none}
@media(max-width:820px){
 body{padding-bottom:76px}
 .planbar{position:sticky;top:0;z-index:80}
 .mobile-menu-btn{display:block}
 .plan-actions{display:none!important}
 .planbar.mobile-open .plan-actions{display:flex!important;position:absolute;top:58px;left:10px;right:10px;background:#071523;border:1px solid var(--line);border-radius:14px;padding:10px;box-shadow:0 12px 30px rgba(0,0,0,.35);z-index:95}
 nav{display:none!important}
 nav.mobile-open{display:grid!important;position:fixed;left:12px;right:12px;bottom:82px;z-index:100;background:#071523;border:1px solid var(--line);border-radius:16px;padding:10px;grid-template-columns:repeat(2,1fr);max-height:62vh;overflow:auto;box-shadow:0 14px 38px rgba(0,0,0,.48)}
 nav.mobile-open button{width:100%;min-height:48px}
 .mobile-quick{display:grid;position:fixed;left:0;right:0;bottom:0;z-index:110;grid-template-columns:repeat(5,1fr);background:rgba(5,15,26,.97);border-top:1px solid var(--line);padding:7px 5px calc(7px + env(safe-area-inset-bottom))}
 .mobile-quick button{background:transparent;border:0;color:#c9d8e5;font-size:.65rem;font-weight:800;padding:4px 2px}
 .mobile-quick button span{display:block;font-size:1.18rem;color:var(--lime);margin-bottom:2px}
 .card{border-radius:14px}
 .row{gap:7px}
 input,select,textarea{font-size:16px} /* evita zoom automático en iPhone */
 .btn{min-height:42px}
}
@media(max-width:480px){
 main{padding-left:9px;padding-right:9px}
 .player-kpis,.scout-kpis{grid-template-columns:repeat(2,1fr)}
 .grid{grid-template-columns:1fr!important}
 .price-card{padding:14px}
 h2{font-size:1.18rem}
}

/* V2.7.1 - corrección de navegación escritorio */
@media(min-width:821px){
  .nav{
    grid-template-columns:repeat(auto-fit,minmax(118px,1fr));
  }
  .nav button{
    white-space:normal;
    overflow-wrap:anywhere;
    line-height:1.1;
    min-height:46px;
    padding-left:8px;
    padding-right:8px;
  }
}

/* V2.7.2 - navegación escritorio: palabras completas en una sola línea */
@media(min-width:821px){
  .nav{
    display:flex !important;
    gap:8px;
    overflow-x:auto;
    overflow-y:hidden;
    scrollbar-width:thin;
    padding-bottom:4px;
  }
  .nav button{
    flex:0 0 auto !important;
    width:auto !important;
    min-width:112px !important;
    min-height:52px;
    padding:10px 14px !important;
    white-space:nowrap !important;
    overflow:visible !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
    line-height:1.15 !important;
  }
  .nav button[data-target="callups"]{
    min-width:148px !important;
  }
  .nav button[data-target="library"]{
    min-width:132px !important;
  }
  .nav button[data-target="stats"]{
    min-width:132px !important;
  }
}

.match-live-badge{background:var(--lime);color:#07111f;font-size:.65rem;font-weight:950;border-radius:999px;padding:5px 8px}
.matchday-empty{max-width:520px;margin:18px auto;padding:18px;background:#0a1827;border:1px solid var(--line);border-radius:15px}
.scoreboard{display:grid;grid-template-columns:1fr 120px 1fr;align-items:center;background:#06111d;border:1px solid #284057;border-radius:18px;padding:16px;margin:14px 0}
.score-team{text-align:center}.score-team span,.score-team strong{display:block}.score-team span{font-size:.8rem;color:#c7d7e4}.score-team strong{font-size:3rem;color:var(--lime)}
.score-center{text-align:center}.score-center span{display:block;font-size:1.7rem;font-weight:950}.score-center small{color:var(--muted)}
.match-controls{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px}
.matchday-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.match-player-list{display:grid;gap:7px}.match-player{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;background:#102337;border:1px solid var(--line);border-radius:11px;padding:9px}
.match-player .btn{min-height:34px;padding:6px 9px}.match-events{display:grid;gap:6px}
.match-event{display:grid;grid-template-columns:60px 1fr auto;gap:8px;align-items:center;padding:8px;border-bottom:1px solid var(--line);font-size:.78rem}.match-event strong{color:var(--lime)}
@media(max-width:720px){
 .scoreboard{grid-template-columns:1fr 86px 1fr;padding:10px}.score-team strong{font-size:2.3rem}.score-center span{font-size:1.3rem}
 .match-controls{grid-template-columns:repeat(2,1fr)}
 .matchday-grid{grid-template-columns:1fr}
}

.matchday-statsbar{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:10px 0}
.matchday-statsbar div{background:#102337;border:1px solid var(--line);border-radius:12px;padding:10px;text-align:center}
.matchday-statsbar span,.matchday-statsbar strong{display:block}.matchday-statsbar span{font-size:.66rem;color:var(--muted)}
.matchday-statsbar strong{font-size:1.15rem;color:var(--lime);margin-top:3px}
.player-minute{font-size:.68rem;color:var(--lime);margin-top:3px}
@media(max-width:720px){.matchday-statsbar{grid-template-columns:repeat(2,1fr)}}

.recovery-notice{
  display:flex;justify-content:space-between;align-items:center;gap:12px;
  background:#16270c;border:1px solid #587515;color:#e7f8aa;
  border-radius:13px;padding:10px 12px;margin:10px 0
}
.recovery-notice strong,.recovery-notice span{display:block}
.recovery-notice span{font-size:.75rem;margin-top:3px;color:#cfdfa1}
@media(max-width:650px){.recovery-notice{align-items:flex-start;flex-direction:column}}

/* V3.1 - pizarra con jugadores identificables */
.tactical-layout{display:grid;grid-template-columns:260px 1fr;gap:14px;align-items:start;margin-top:12px}
.player-tray{background:#081522;border:1px solid var(--line);border-radius:15px;padding:10px;max-height:700px;overflow:auto}
.tray-title{display:flex;justify-content:space-between;gap:8px;align-items:end;margin-bottom:10px}
.tray-title strong{font-size:.95rem}.tray-title span{font-size:.68rem;color:var(--muted)}
.board-player-tray{display:grid;gap:7px}
.tray-player{display:grid;grid-template-columns:42px 1fr auto;gap:9px;align-items:center;background:#102337;border:1px solid #284057;border-radius:11px;padding:8px;cursor:grab;user-select:none;touch-action:none}
.tray-player:active{cursor:grabbing}
.tray-player .shirt{width:40px;height:40px;position:relative;display:grid;place-items:center;color:#07111f;font-weight:950;font-size:.85rem}
.tray-player .shirt:before{content:"";position:absolute;inset:4px 7px 2px;background:var(--lime);clip-path:polygon(18% 0,36% 12%,64% 12%,82% 0,100% 22%,84% 37%,78% 100%,22% 100%,16% 37%,0 22%);border-radius:4px}
.tray-player .shirt span{position:relative;z-index:1}
.tray-player-name{font-weight:850;font-size:.82rem}.tray-player-pos{color:var(--muted);font-size:.68rem;margin-top:2px}
.tray-status{font-size:.65rem;color:var(--lime)}
.token.player-token{width:46px;height:46px;border-radius:50%;background:var(--lime);color:#061019;border:2px solid #fff;display:grid;place-items:center;font-weight:950;z-index:4}
.player-token .token-number{font-size:.9rem;line-height:1}
.player-token-label{position:absolute;top:48px;left:50%;transform:translateX(-50%);background:rgba(5,15,25,.92);color:white;border:1px solid rgba(255,255,255,.25);border-radius:6px;padding:2px 5px;font-size:.58rem;white-space:nowrap;pointer-events:none;max-width:92px;overflow:hidden;text-overflow:ellipsis}
.token.in-field{box-shadow:0 4px 12px rgba(0,0,0,.35)}
.board-drop-hint{outline:2px dashed var(--lime);outline-offset:-8px}
@media(max-width:900px){.tactical-layout{grid-template-columns:220px 1fr}}
@media(max-width:720px){
 .tactical-layout{grid-template-columns:1fr}
 .player-tray{max-height:none}
 .board-player-tray{grid-template-columns:repeat(2,minmax(0,1fr))}
 .tray-player{grid-template-columns:38px 1fr}.tray-status{display:none}
}
@media(max-width:430px){.board-player-tray{grid-template-columns:1fr}}

/* V3.1.1 - panel de jugadores de la pizarra */
.board-empty{
  background:#102337;border:1px dashed #4b647c;border-radius:12px;
  padding:15px;text-align:center;color:#d6e3ed
}
.board-empty .empty-shirt{
  width:58px;height:58px;margin:0 auto 10px;display:grid;place-items:center;
  background:var(--lime);color:#07111f;font-weight:950;font-size:1rem;
  clip-path:polygon(18% 0,36% 12%,64% 12%,82% 0,100% 22%,84% 37%,78% 100%,22% 100%,16% 37%,0 22%)
}
.board-empty strong{display:block;margin-bottom:5px}.board-empty p{margin:0 0 11px;color:var(--muted);font-size:.74rem}
.board-empty .btn{width:100%}

/* V3.2 - pizarra táctica ampliada */
.board-legend{display:flex;gap:12px;flex-wrap:wrap;align-items:center;background:#081522;border:1px solid var(--line);border-radius:11px;padding:8px 10px;margin-top:10px;font-size:.68rem;color:var(--muted)}
.legend-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:4px}.legend-dot.ours{background:var(--lime)}.legend-dot.rival{background:#ff4e61}
.token.opponent-token{width:42px;height:42px;border-radius:50%;background:#e84555;color:#fff;border:2px solid #fff;display:grid;place-items:center;font-weight:950;z-index:4;box-shadow:0 4px 12px rgba(0,0,0,.35)}
.token.board-text-token{background:rgba(4,14,24,.88);color:#fff;border:1px solid rgba(255,255,255,.35);border-radius:7px;padding:5px 8px;width:auto;height:auto;min-width:40px;font-size:.7rem;font-weight:800;z-index:5;white-space:nowrap}

/* V3.2.1 - rival claramente representado como futbolista */
.token.opponent-token{
  width:50px!important;height:54px!important;
  background:transparent!important;border:0!important;border-radius:0!important;
  box-shadow:none!important;overflow:visible!important;
  display:grid!important;place-items:start center!important;
  color:#fff!important;
}
.opponent-shirt{
  position:relative;width:44px;height:42px;
  display:grid;place-items:center;
  color:#fff;font-weight:950;font-size:.78rem;
}
.opponent-shirt:before{
  content:"";position:absolute;inset:2px 3px 0;
  background:#e84555;
  clip-path:polygon(18% 0,36% 12%,64% 12%,82% 0,100% 22%,84% 37%,78% 100%,22% 100%,16% 37%,0 22%);
  border:2px solid rgba(255,255,255,.9);
  border-radius:5px;
}
.opponent-shirt span{position:relative;z-index:1}
.opponent-label{
  position:absolute;top:43px;left:50%;transform:translateX(-50%);
  background:rgba(5,15,25,.92);border:1px solid rgba(255,255,255,.25);
  border-radius:6px;padding:2px 5px;font-size:.56rem;white-space:nowrap;color:#fff
}

/* V3.3 - Agenda */
.agenda-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0}
.agenda-kpis div{background:#102337;border:1px solid var(--line);border-radius:12px;padding:11px}
.agenda-kpis span,.agenda-kpis strong{display:block}.agenda-kpis span{font-size:.66rem;color:var(--muted)}
.agenda-kpis strong{font-size:1rem;color:var(--lime);margin-top:4px}
.agenda-toolbar{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}
.agenda-list{display:grid;gap:9px}
.agenda-event{display:grid;grid-template-columns:72px 1fr auto;gap:12px;align-items:center;background:#0a1827;border:1px solid var(--line);border-radius:14px;padding:11px}
.agenda-date{text-align:center;background:#102337;border:1px solid #284057;border-radius:11px;padding:8px 5px}
.agenda-date strong,.agenda-date span{display:block}.agenda-date strong{font-size:1.35rem;color:var(--lime)}.agenda-date span{font-size:.66rem;color:var(--muted);text-transform:uppercase}
.agenda-title{font-weight:900}.agenda-meta{font-size:.72rem;color:var(--muted);margin-top:3px}
.agenda-type{display:inline-block;font-size:.62rem;font-weight:850;background:#13283b;border:1px solid #274058;border-radius:999px;padding:3px 7px;margin-top:6px}
.agenda-status{display:inline-block;font-size:.62rem;border-radius:999px;padding:3px 7px;margin-left:5px}
.agenda-status.Confirmado{background:#16270c;color:#dff59c}.agenda-status.Realizado{background:#0e2730;color:#aee9ff}
.agenda-status.Cancelado{background:#2c1115;color:#ffb9c0}.agenda-status.Pendiente{background:#2c250e;color:#ffe29d}
@media(max-width:720px){
 .agenda-kpis{grid-template-columns:repeat(2,1fr)}
 .agenda-event{grid-template-columns:62px 1fr}
 .agenda-event>.row{grid-column:1/-1;justify-content:flex-end}
}
@media(max-width:480px){.agenda-toolbar{grid-template-columns:1fr}}

/* V3.3.1 - navegación escritorio completa, sin ocultar Pizarra */
@media(min-width:821px){
  .nav{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:8px !important;
    overflow:visible !important;
    padding-bottom:0 !important;
  }
  .nav button{
    flex:1 1 118px !important;
    width:auto !important;
    min-width:112px !important;
    max-width:170px !important;
    min-height:50px !important;
    padding:10px 12px !important;
    white-space:nowrap !important;
    overflow:visible !important;
    word-break:normal !important;
    overflow-wrap:normal !important;
    line-height:1.15 !important;
  }
  .nav button[data-id="callups"]{min-width:145px !important}
  .nav button[data-id="library"]{min-width:132px !important}
  .nav button[data-id="board"]{min-width:118px !important}
}

/* V3.4 - Dashboard de inicio */
.home-dashboard{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:14px;
}
.dashboard-card{
  background:linear-gradient(180deg,#0d1e2e,#091724);
  border:1px solid var(--line);
  border-radius:15px;
  padding:13px;
  min-height:150px;
  display:flex;
  flex-direction:column;
}
.dashboard-card .dash-label{
  color:var(--muted);
  font-size:.68rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.dashboard-card strong{
  color:var(--lime);
  font-size:1.05rem;
  margin-top:8px;
}
.dashboard-card span{
  color:#b9cad7;
  font-size:.74rem;
  margin:4px 0 12px;
  line-height:1.35;
}
.dashboard-card .btn{margin-top:auto}
.dashboard-card.next-event{border-color:#405f1a}
.dashboard-card.quick-match{
  background:radial-gradient(circle at 90% 15%,rgba(184,224,0,.16),transparent 34%),linear-gradient(180deg,#0d1e2e,#091724);
}
@media(max-width:900px){.home-dashboard{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.home-dashboard{grid-template-columns:1fr}}

/* V3.5 - Clasificación */
.standing-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0}
.standing-summary div{background:#102337;border:1px solid var(--line);border-radius:12px;padding:11px;text-align:center}
.standing-summary span,.standing-summary strong{display:block}.standing-summary span{font-size:.66rem;color:var(--muted)}
.standing-summary strong{font-size:1.2rem;color:var(--lime);margin-top:4px}
.standings-table{min-width:820px}
.standings-table tr.own-team{background:rgba(184,224,0,.09)}
.standings-table tr.own-team td:first-child{color:var(--lime);font-weight:950}
.standings-table td.num,.standings-table th.num{text-align:center}
.position-badge{display:inline-grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#102337;border:1px solid #2c465e;font-weight:900}
@media(max-width:700px){.standing-summary{grid-template-columns:repeat(2,1fr)}}

/* V3.6 - Jornadas */
.fixture-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0}
.fixture-kpis div{background:#102337;border:1px solid var(--line);border-radius:12px;padding:11px;text-align:center}
.fixture-kpis span,.fixture-kpis strong{display:block}.fixture-kpis span{font-size:.66rem;color:var(--muted)}
.fixture-kpis strong{font-size:1.08rem;color:var(--lime);margin-top:4px}
.fixture-toolbar{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}
.fixtures-list{display:grid;gap:9px}
.fixture-card{display:grid;grid-template-columns:78px 1fr auto;gap:12px;align-items:center;background:#0a1827;border:1px solid var(--line);border-radius:14px;padding:11px}
.fixture-round{background:#102337;border:1px solid #2a455d;border-radius:11px;text-align:center;padding:9px 5px}
.fixture-round span,.fixture-round strong{display:block}.fixture-round span{font-size:.62rem;color:var(--muted)}.fixture-round strong{font-size:1.35rem;color:var(--lime)}
.fixture-title{font-weight:900}.fixture-meta{font-size:.72rem;color:var(--muted);margin-top:3px}
.fixture-result{display:inline-block;margin-top:6px;background:#13283b;border:1px solid #274058;border-radius:999px;padding:4px 8px;font-size:.7rem;font-weight:900}
.fixture-status{display:inline-block;margin-top:6px;margin-left:5px;border-radius:999px;padding:4px 8px;font-size:.64rem}
.fixture-status.Jugado{background:#13270a;color:#dff59c}.fixture-status.Pendiente{background:#2c250e;color:#ffe29d}
.fixture-status.Aplazado{background:#17213a;color:#b8c8ff}.fixture-status.Cancelado{background:#2c1115;color:#ffb9c0}
@media(max-width:720px){
 .fixture-kpis{grid-template-columns:repeat(2,1fr)}
 .fixture-card{grid-template-columns:66px 1fr}
 .fixture-card>.row{grid-column:1/-1;justify-content:flex-end}
}
@media(max-width:480px){.fixture-toolbar{grid-template-columns:1fr}}

/* V3.7 - flujo Jornada -> Convocatoria -> Partido */
.fixture-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.fixture-link-state{display:inline-flex;gap:5px;align-items:center;margin-top:6px;font-size:.64rem;color:var(--muted)}
.fixture-link-state .ok{color:var(--lime);font-weight:900}
@media(max-width:720px){.fixture-actions{grid-column:1/-1;justify-content:flex-end}}

/* V3.8 - Temporadas */
.season-current{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0}
.season-current div{background:#102337;border:1px solid var(--line);border-radius:12px;padding:12px}
.season-current span,.season-current strong{display:block}.season-current span{font-size:.67rem;color:var(--muted)}
.season-current strong{font-size:1.05rem;color:var(--lime);margin-top:4px}
.season-warning{background:#2a1f0e;border:1px solid #6f5319;color:#ffe2a4;border-radius:12px;padding:11px;margin:12px 0;font-size:.76rem}
.saved-seasons{margin-top:16px;border-top:1px solid var(--line);padding-top:14px}
.season-history-card{background:#0a1827;border:1px solid var(--line);border-radius:14px;padding:12px;margin-bottom:9px}
.season-history-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.season-history-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:7px;margin-top:10px}
.season-history-grid div{background:#102337;border:1px solid #294157;border-radius:10px;padding:8px;text-align:center}
.season-history-grid span,.season-history-grid strong{display:block}.season-history-grid span{font-size:.61rem;color:var(--muted)}
.season-history-grid strong{font-size:.9rem;color:var(--lime);margin-top:3px}
@media(max-width:800px){.season-current{grid-template-columns:repeat(2,1fr)}.season-history-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:480px){.season-history-grid{grid-template-columns:repeat(2,1fr)}}

/* V3.9 - Seguridad y backups */
.security-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0}
.security-kpis div{background:#102337;border:1px solid var(--line);border-radius:12px;padding:11px;text-align:center}
.security-kpis span,.security-kpis strong{display:block}.security-kpis span{font-size:.66rem;color:var(--muted)}
.security-kpis strong{font-size:1rem;color:var(--lime);margin-top:4px}
.security-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.snapshot-list{display:grid;gap:7px;margin-top:8px}
.snapshot-item{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;background:#0a1827;border:1px solid var(--line);border-radius:10px;padding:8px}
.snapshot-item strong,.snapshot-item span{display:block}.snapshot-item span{font-size:.67rem;color:var(--muted);margin-top:2px}
.security-warning{margin-top:14px;background:#2a1f0e;border:1px solid #6f5319;color:#ffe2a4;border-radius:12px;padding:10px;font-size:.74rem}
@media(max-width:750px){.security-kpis{grid-template-columns:repeat(2,1fr)}.security-grid{grid-template-columns:1fr}}

/* V4.0 - Identidad del equipo */
.team-identity-card{
  display:grid;
  grid-template-columns:150px 1fr;
  gap:18px;
  align-items:start;
  background:#0a1827;
  border:1px solid var(--line);
  border-radius:16px;
  padding:14px;
  margin-top:16px
}
.team-logo-preview-wrap{display:flex;justify-content:center}
.team-logo-preview{
  width:122px;height:122px;
  border-radius:22px;
  border:2px dashed #38536b;
  background:#102337;
  display:grid;place-items:center;
  overflow:hidden;
  color:var(--muted);
  font-size:.72rem;font-weight:900
}
.team-logo-preview img{width:100%;height:100%;object-fit:contain;background:white}
.identity-colors{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.identity-colors input[type="color"]{height:48px;padding:3px}
.home-brandline{display:flex;gap:12px;align-items:center}
.home-team-crest{
  width:64px;height:64px;border-radius:15px;
  background:#fff;border:1px solid var(--line);
  overflow:hidden;flex:0 0 auto
}
.home-team-crest img{width:100%;height:100%;object-fit:contain}
body.team-branded .mode{background:var(--team-primary,#b8e000)}
body.team-branded .btn:not(.alt):not(.danger){background:var(--team-primary,#b8e000)}
body.team-branded .big,
body.team-branded .eyebrow{color:var(--team-primary,#b8e000)}
@media(max-width:650px){
  .team-identity-card{grid-template-columns:1fr}
  .identity-colors{grid-template-columns:1fr 1fr}
  .team-logo-preview{width:100px;height:100px}
}

/* V4.1 - fotos de jugadores y colores de pizarra */
.player-profile-top{
  display:grid;
  grid-template-columns:130px 1fr;
  gap:16px;
  align-items:start
}
.player-photo-block{display:grid;gap:7px}
.player-photo-preview{
  width:118px;height:118px;border-radius:18px;
  background:#102337;border:2px dashed #38536b;
  display:grid;place-items:center;overflow:hidden;
  color:var(--muted);font-weight:900;font-size:.72rem
}
.player-photo-preview img{width:100%;height:100%;object-fit:cover}
.player-photo-btn{width:118px;text-align:center;font-size:.72rem;padding:7px 8px;min-height:34px}
.player-row .avatar.player-photo-avatar{overflow:hidden;background:#102337}
.player-row .avatar.player-photo-avatar img{width:100%;height:100%;object-fit:cover}
.token.player-token{
  background:var(--team-primary,#b8e000)!important;
  color:var(--team-secondary,#071525)!important;
  border-color:#fff!important
}
.tray-player .shirt:before{background:var(--team-primary,#b8e000)!important}
.tray-player .shirt span{color:var(--team-secondary,#071525)!important}
@media(max-width:650px){
 .player-profile-top{grid-template-columns:100px 1fr}
 .player-photo-preview{width:92px;height:92px}
 .player-photo-btn{width:92px}
}

.tray-player-photo{width:34px;height:34px;border-radius:50%;overflow:hidden;border:1px solid #fff;background:#102337}
.tray-player-photo img{width:100%;height:100%;object-fit:cover}

/* V4.2 - Disponibilidad */
.availability-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0}
.availability-kpis div{background:#102337;border:1px solid var(--line);border-radius:12px;padding:11px;text-align:center}
.availability-kpis span,.availability-kpis strong{display:block}.availability-kpis span{font-size:.66rem;color:var(--muted)}
.availability-kpis strong{font-size:1.15rem;color:var(--lime);margin-top:4px}
.availability-toolbar{display:grid;grid-template-columns:2fr 1fr;gap:8px;margin:12px 0}
.availability-list{display:grid;gap:9px}
.availability-player{
 display:grid;grid-template-columns:52px 1fr 150px 150px;
 gap:10px;align-items:center;background:#0a1827;border:1px solid var(--line);border-radius:14px;padding:10px
}
.availability-player.unavailable{border-left:4px solid #e84555}
.availability-player.available{border-left:4px solid var(--lime)}
.availability-player .av-avatar{width:46px;height:46px;border-radius:50%;overflow:hidden;background:#102337;display:grid;place-items:center;font-weight:950;color:var(--lime)}
.availability-player .av-avatar img{width:100%;height:100%;object-fit:cover}
.availability-meta{font-size:.7rem;color:var(--muted);margin-top:3px}
.availability-note{grid-column:2/-1}
.availability-status-tag{display:inline-block;margin-top:5px;border-radius:999px;padding:3px 7px;font-size:.64rem;font-weight:900}
.availability-status-tag.Disponible{background:#16270c;color:#dff59c}
.availability-status-tag.Lesionado,.availability-status-tag.Enfermo,.availability-status-tag.Ausente{background:#2c1115;color:#ffb9c0}
.availability-status-tag.Sancionado{background:#2c250e;color:#ffe29d}
.callup-player.unavailable-player{opacity:.55;border-color:#66323a}
.callup-unavailable{font-size:.64rem;color:#ff9ca7;margin-top:3px}
@media(max-width:850px){
 .availability-player{grid-template-columns:52px 1fr 135px}
 .availability-player .av-return{grid-column:2/4}
}
@media(max-width:600px){
 .availability-kpis{grid-template-columns:repeat(2,1fr)}
 .availability-toolbar{grid-template-columns:1fr}
 .availability-player{grid-template-columns:46px 1fr}
 .availability-player .av-status,.availability-player .av-return,.availability-note{grid-column:1/-1}
}

/* V4.3 - Resumen individual de temporada */
.player-season-summary{
  margin:16px 0;
  padding:14px;
  background:#091827;
  border:1px solid var(--line);
  border-radius:14px
}
.summary-title-row{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.summary-title-row h3{margin:4px 0 0}
.season-summary-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:8px;
  margin-top:12px
}
.season-summary-grid div{
  background:#102337;
  border:1px solid #294157;
  border-radius:11px;
  padding:10px;
  text-align:center
}
.season-summary-grid span,.season-summary-grid strong{display:block}
.season-summary-grid span{font-size:.64rem;color:var(--muted)}
.season-summary-grid strong{font-size:1.05rem;color:var(--lime);margin-top:4px}
.season-summary-note{
  display:flex;justify-content:space-between;gap:10px;align-items:center;
  margin-top:10px;padding:9px 10px;background:#102337;border:1px solid var(--line);border-radius:10px
}
.season-summary-note span{font-size:.68rem;color:var(--muted)}
.season-summary-note strong{color:var(--lime)}
@media(max-width:800px){.season-summary-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:520px){.season-summary-grid{grid-template-columns:repeat(2,1fr)}}

/* V4.4 - Participación */
.participation-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0}
.participation-kpis div{background:#102337;border:1px solid var(--line);border-radius:12px;padding:11px;text-align:center}
.participation-kpis span,.participation-kpis strong{display:block}
.participation-kpis span{font-size:.66rem;color:var(--muted)}
.participation-kpis strong{font-size:1.15rem;color:var(--lime);margin-top:4px}
.participation-note{background:#0e2233;border:1px solid #294157;border-radius:11px;padding:9px 10px;color:#b9cad7;font-size:.72rem;margin-bottom:12px}
.participation-list{display:grid;gap:9px}
.participation-row{
  display:grid;
  grid-template-columns:54px 1.4fr repeat(6,minmax(72px,.6fr));
  gap:8px;
  align-items:center;
  background:#0a1827;border:1px solid var(--line);border-radius:13px;padding:10px
}
.participation-row .p-avatar{width:46px;height:46px;border-radius:50%;overflow:hidden;background:#102337;display:grid;place-items:center;color:var(--lime);font-weight:950}
.participation-row .p-avatar img{width:100%;height:100%;object-fit:cover}
.participation-name{font-weight:900}
.participation-meta{font-size:.67rem;color:var(--muted);margin-top:2px}
.p-stat{text-align:center}
.p-stat span,.p-stat strong{display:block}
.p-stat span{font-size:.6rem;color:var(--muted)}
.p-stat strong{font-size:.9rem;color:#eef6ff;margin-top:2px}
.participation-bar{grid-column:2/-1;height:7px;background:#14283a;border-radius:999px;overflow:hidden}
.participation-bar span{display:block;height:100%;background:var(--team-primary,#b8e000)}
.low-participation{border-left:4px solid #f0b548}
.high-participation{border-left:4px solid var(--lime)}
@media(max-width:1000px){
 .participation-row{grid-template-columns:54px 1.3fr repeat(3,minmax(70px,.6fr))}
 .participation-row .hide-tablet{display:none}
}
@media(max-width:650px){
 .participation-kpis{grid-template-columns:repeat(2,1fr)}
 .participation-row{grid-template-columns:46px 1fr repeat(2,70px)}
 .participation-row .hide-mobile{display:none}
 .participation-bar{grid-column:1/-1}
}

/* V4.5 - resumen de entrenamientos */
.training-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0}
.training-kpis div{background:#102337;border:1px solid var(--line);border-radius:12px;padding:11px;text-align:center}
.training-kpis span,.training-kpis strong{display:block}
.training-kpis span{font-size:.66rem;color:var(--muted)}
.training-kpis strong{font-size:1.05rem;color:var(--lime);margin-top:4px}
.training-stats-list{display:grid;gap:8px}
.training-stat-row{
 display:grid;grid-template-columns:48px 1.4fr repeat(4,minmax(75px,.6fr));
 gap:8px;align-items:center;background:#0a1827;border:1px solid var(--line);border-radius:13px;padding:10px
}
.training-stat-row .ts-avatar{width:42px;height:42px;border-radius:50%;overflow:hidden;background:#102337;display:grid;place-items:center;font-weight:950;color:var(--lime)}
.training-stat-row .ts-avatar img{width:100%;height:100%;object-fit:cover}
.ts-name{font-weight:900}.ts-meta{font-size:.65rem;color:var(--muted);margin-top:2px}
.ts-cell{text-align:center}.ts-cell span,.ts-cell strong{display:block}
.ts-cell span{font-size:.6rem;color:var(--muted)}.ts-cell strong{font-size:.9rem;margin-top:2px}
.ts-progress{grid-column:2/-1;height:7px;background:#14283a;border-radius:999px;overflow:hidden}
.ts-progress span{display:block;height:100%;background:var(--team-primary,#b8e000)}
.ts-alert{border-left:4px solid #f0b548}
@media(max-width:760px){
 .training-kpis{grid-template-columns:repeat(2,1fr)}
 .training-stat-row{grid-template-columns:44px 1fr repeat(2,70px)}
 .training-stat-row .ts-hide{display:none}
 .ts-progress{grid-column:1/-1}
}

/* V4.6 - Objetivos individuales */
.objective-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0}
.objective-kpis div{background:#102337;border:1px solid var(--line);border-radius:12px;padding:11px;text-align:center}
.objective-kpis span,.objective-kpis strong{display:block}
.objective-kpis span{font-size:.66rem;color:var(--muted)}
.objective-kpis strong{font-size:1.08rem;color:var(--lime);margin-top:4px}
.objective-toolbar{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}
.objective-progress-editor{display:grid;grid-template-columns:1fr 60px;gap:10px;align-items:center;margin:8px 0 12px}
.objective-progress-editor strong{text-align:right;color:var(--lime)}
.objectives-list{display:grid;gap:9px}
.objective-card{background:#0a1827;border:1px solid var(--line);border-radius:14px;padding:12px}
.objective-card.done{border-left:4px solid var(--lime)}
.objective-card.paused{opacity:.7}
.objective-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.objective-player{font-weight:900}
.objective-meta{font-size:.67rem;color:var(--muted);margin-top:3px}
.objective-title{font-size:.9rem;font-weight:850;margin-top:9px}
.objective-text{font-size:.72rem;color:#b9cad7;margin-top:5px;white-space:pre-wrap}
.objective-progress{height:8px;background:#14283a;border-radius:999px;overflow:hidden;margin-top:10px}
.objective-progress span{display:block;height:100%;background:var(--team-primary,#b8e000)}
.objective-footer{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:8px}
.objective-tag{font-size:.63rem;border-radius:999px;padding:3px 7px;background:#13283b;border:1px solid #274058}
@media(max-width:650px){.objective-kpis{grid-template-columns:repeat(2,1fr)}.objective-toolbar{grid-template-columns:1fr}}

/* V4.7 - Valoraciones postpartido */
.rating-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0}
.rating-kpis div{background:#102337;border:1px solid var(--line);border-radius:12px;padding:11px;text-align:center}
.rating-kpis span,.rating-kpis strong{display:block}
.rating-kpis span{font-size:.66rem;color:var(--muted)}
.rating-kpis strong{font-size:1.08rem;color:var(--lime);margin-top:4px}
.rating-match-header{background:#0a1827;border:1px solid var(--line);border-radius:13px;padding:11px;margin:10px 0}
.rating-players-list{display:grid;gap:8px}
.rating-player-row{
 display:grid;
 grid-template-columns:52px 1.3fr 160px 1fr 70px;
 gap:10px;align-items:center;
 background:#0a1827;border:1px solid var(--line);border-radius:13px;padding:10px
}
.rating-player-row .rt-avatar{width:46px;height:46px;border-radius:50%;overflow:hidden;background:#102337;display:grid;place-items:center;color:var(--lime);font-weight:950}
.rating-player-row .rt-avatar img{width:100%;height:100%;object-fit:cover}
.rt-name{font-weight:900}.rt-meta{font-size:.66rem;color:var(--muted);margin-top:2px}
.rating-control{display:grid;grid-template-columns:1fr 34px;gap:8px;align-items:center}
.rating-control input{padding:0}
.rating-control strong{color:var(--lime);text-align:right}
.mvp-check{display:flex;align-items:center;justify-content:center;gap:5px;font-size:.68rem;color:#ffe28d}
.mvp-check input{width:auto}
.rating-summary-list{display:grid;gap:7px}
.rating-summary-row{
 display:grid;grid-template-columns:1.5fr repeat(3,100px);
 gap:8px;align-items:center;padding:9px;border-bottom:1px solid var(--line)
}
.rating-summary-row strong{color:var(--lime)}
@media(max-width:900px){
 .rating-player-row{grid-template-columns:48px 1fr 130px 70px}
 .rating-player-row .rt-note{grid-column:2/-1}
}
@media(max-width:650px){
 .rating-kpis{grid-template-columns:repeat(2,1fr)}
 .rating-player-row{grid-template-columns:44px 1fr}
 .rating-player-row .rating-control,.rating-player-row .rt-note,.rating-player-row .mvp-check{grid-column:1/-1}
 .rating-summary-row{grid-template-columns:1fr 70px 70px 70px;font-size:.75rem}
}

/* V4.8 - cuerpo técnico */
.staff-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}
.staff-kpis div{background:#102337;border:1px solid var(--line);border-radius:12px;padding:11px;text-align:center}
.staff-kpis span,.staff-kpis strong{display:block}.staff-kpis span{font-size:.66rem;color:var(--muted)}
.staff-kpis strong{font-size:1.08rem;color:var(--lime);margin-top:4px}
.staff-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:12px}
.staff-card{background:#0a1827;border:1px solid var(--line);border-radius:14px;padding:12px}
.staff-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.staff-role{display:inline-block;margin-top:4px;font-size:.65rem;padding:3px 7px;border-radius:999px;background:#13283b;border:1px solid #274058;color:var(--lime)}
.staff-contact{font-size:.7rem;color:var(--muted);margin-top:8px}
.staff-notes{font-size:.72rem;color:#c5d4df;margin-top:8px;white-space:pre-wrap}
@media(max-width:700px){.staff-list{grid-template-columns:1fr}.staff-kpis{grid-template-columns:repeat(3,1fr)}}

/* V4.9 - Cuaderno del entrenador */
.notebook-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0}
.notebook-kpis div{background:#102337;border:1px solid var(--line);border-radius:12px;padding:11px;text-align:center}
.notebook-kpis span,.notebook-kpis strong{display:block}
.notebook-kpis span{font-size:.66rem;color:var(--muted)}
.notebook-kpis strong{font-size:1.08rem;color:var(--lime);margin-top:4px}
.notebook-toolbar{display:grid;grid-template-columns:2fr 1fr;gap:8px;margin:12px 0}
.coach-notes-list{display:grid;gap:9px}
.coach-note{background:#0a1827;border:1px solid var(--line);border-radius:14px;padding:12px}
.coach-note.important{border-left:4px solid #f0b548}
.coach-note.done{opacity:.68;border-left:4px solid var(--lime)}
.note-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.note-title{font-weight:900;font-size:.9rem}
.note-meta{font-size:.66rem;color:var(--muted);margin-top:3px}
.note-body{font-size:.74rem;color:#c7d6e1;margin-top:9px;white-space:pre-wrap}
.note-tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:9px}
.note-tag{font-size:.62rem;padding:3px 7px;border-radius:999px;background:#13283b;border:1px solid #274058}
@media(max-width:650px){.notebook-kpis{grid-template-columns:repeat(2,1fr)}.notebook-toolbar{grid-template-columns:1fr}}

/* V5.0 - Dashboard */
.dashboard-kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin:14px 0}
.dashboard-kpis div{background:#102337;border:1px solid var(--line);border-radius:12px;padding:11px;text-align:center}
.dashboard-kpis span,.dashboard-kpis strong{display:block}
.dashboard-kpis span{font-size:.63rem;color:var(--muted)}
.dashboard-kpis strong{font-size:1.12rem;color:var(--lime);margin-top:4px}
.dashboard-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.dashboard-grid .inner-card{min-height:150px}
.dash-focus{padding:10px;background:#0a1827;border:1px solid var(--line);border-radius:12px}
.dash-focus strong{font-size:1rem;color:var(--lime)}
.dash-focus .small{margin-top:4px}
.dash-list{display:grid;gap:6px;margin-top:8px}
.dash-item{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:7px 8px;background:#0a1827;border:1px solid #20384c;border-radius:9px;font-size:.72rem}
.dash-item span:last-child,.dash-item strong{color:var(--lime);white-space:nowrap}
.dash-alert{border-left:3px solid #f0b548}
.dash-danger{border-left:3px solid #e84555}
@media(max-width:950px){.dashboard-kpis{grid-template-columns:repeat(3,1fr)}}
@media(max-width:650px){.dashboard-kpis{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}}

/* V5.1 - análisis de rivales */
.rival-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0}
.rival-kpis div{background:#102337;border:1px solid var(--line);border-radius:12px;padding:11px;text-align:center}
.rival-kpis span,.rival-kpis strong{display:block}
.rival-kpis span{font-size:.66rem;color:var(--muted)}
.rival-kpis strong{font-size:1.08rem;color:var(--lime);margin-top:4px}
.rival-toolbar{display:grid;grid-template-columns:2fr 1fr;gap:8px;margin:12px 0}
.rivals-list{display:grid;gap:10px}
.rival-card{background:#0a1827;border:1px solid var(--line);border-radius:14px;padding:12px}
.rival-card-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.rival-name{font-weight:950;font-size:1rem}
.rival-meta{font-size:.68rem;color:var(--muted);margin-top:3px}
.rival-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.rival-tag{font-size:.62rem;padding:3px 7px;border-radius:999px;background:#13283b;border:1px solid #274058}
.rival-content{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.rival-block{background:#102337;border:1px solid #294157;border-radius:10px;padding:9px}
.rival-block strong{display:block;color:var(--lime);font-size:.7rem;margin-bottom:4px}
.rival-block div{font-size:.72rem;color:#c7d6e1;white-space:pre-wrap}
.rival-plan{grid-column:1/-1;border-color:#49631b}
@media(max-width:650px){.rival-kpis{grid-template-columns:repeat(2,1fr)}.rival-toolbar{grid-template-columns:1fr}.rival-content{grid-template-columns:1fr}}

/* V5.2 - Preparación de partido */
.prep-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0}
.prep-kpis div{background:#102337;border:1px solid var(--line);border-radius:12px;padding:11px;text-align:center}
.prep-kpis span,.prep-kpis strong{display:block}
.prep-kpis span{font-size:.66rem;color:var(--muted)}
.prep-kpis strong{font-size:1.02rem;color:var(--lime);margin-top:4px}
.prep-header{background:linear-gradient(180deg,#0d1e2e,#091724);border:1px solid var(--line);border-radius:14px;padding:13px;margin-bottom:12px}
.prep-header strong{font-size:1.05rem;color:var(--lime)}
.prep-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.prep-box{font-size:.74rem;color:#c5d4df;margin-top:8px;line-height:1.5}
.prep-box strong{color:var(--lime)}
.prep-checklist{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:10px}
.prep-check-item{display:flex;align-items:center;gap:9px;background:#0a1827;border:1px solid var(--line);border-radius:11px;padding:9px}
.prep-check-item input{width:auto}
.prep-check-item.done{opacity:.7;border-color:#4b6519}
@media(max-width:800px){.prep-grid{grid-template-columns:1fr}}
@media(max-width:600px){.prep-kpis{grid-template-columns:repeat(2,1fr)}.prep-checklist{grid-template-columns:1fr}}

/* V5.3 - Alineación */
.lineup-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0}
.lineup-kpis div{background:#102337;border:1px solid var(--line);border-radius:12px;padding:11px;text-align:center}
.lineup-kpis span,.lineup-kpis strong{display:block}
.lineup-kpis span{font-size:.66rem;color:var(--muted)}
.lineup-kpis strong{font-size:1.08rem;color:var(--lime);margin-top:4px}
.lineup-toolbar{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}
.lineup-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.lineup-list{display:grid;gap:7px;margin-top:8px}
.lineup-player{
  display:grid;grid-template-columns:44px 1fr auto;gap:9px;align-items:center;
  background:#0a1827;border:1px solid var(--line);border-radius:11px;padding:8px
}
.lineup-avatar{width:40px;height:40px;border-radius:50%;overflow:hidden;background:#102337;display:grid;place-items:center;color:var(--lime);font-weight:950}
.lineup-avatar img{width:100%;height:100%;object-fit:cover}
.lineup-name{font-weight:900;font-size:.78rem}
.lineup-meta{font-size:.65rem;color:var(--muted);margin-top:2px}
.lineup-state{font-size:.62rem;padding:4px 7px;border-radius:999px;border:1px solid #294157;background:#13283b}
.lineup-state.starter{color:#dff59c;border-color:#4f6a1d}
.lineup-state.sub{color:#bcd1e1}
.lineup-all{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:10px}
.lineup-warning{margin-top:12px;background:#2a1f0e;border:1px solid #6f5319;color:#ffe2a4;border-radius:11px;padding:10px;font-size:.73rem}
@media(max-width:760px){
 .lineup-kpis{grid-template-columns:repeat(2,1fr)}
 .lineup-toolbar,.lineup-columns{grid-template-columns:1fr}
 .lineup-all{grid-template-columns:1fr}
}

/* V5.4 - asistencias y disciplina */
.match-card-event{display:inline-flex;align-items:center;gap:5px}
.card-yellow,.card-red{display:inline-block;width:11px;height:15px;border-radius:2px}
.card-yellow{background:#ffd84d}.card-red{background:#ff4f5e}

/* V5.5 - Comparador PRO */
.compare-selectors{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}
.compare-players-head{display:grid;grid-template-columns:1fr 70px 1fr;gap:10px;align-items:center;margin:12px 0}
.compare-player-head{background:#0a1827;border:1px solid var(--line);border-radius:14px;padding:12px;text-align:center}
.compare-player-photo{width:72px;height:72px;margin:0 auto 8px;border-radius:50%;overflow:hidden;background:#102337;display:grid;place-items:center;color:var(--lime);font-weight:950;font-size:1.1rem}
.compare-player-photo img{width:100%;height:100%;object-fit:cover}
.compare-player-head strong{display:block;font-size:1rem}
.compare-player-head span{display:block;font-size:.68rem;color:var(--muted);margin-top:3px}
.compare-vs{text-align:center;font-weight:950;color:var(--lime);font-size:1.05rem}
.compare-metrics{display:grid;gap:8px}
.compare-metric{
 display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:10px;align-items:center;
 background:#0a1827;border:1px solid var(--line);border-radius:12px;padding:9px
}
.compare-metric .value{text-align:center;font-weight:950;font-size:1.02rem}
.compare-metric .label{text-align:center;font-size:.68rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.compare-metric .winner{color:var(--lime)}
.compare-bars{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:5px}
.compare-bar{height:6px;background:#14283a;border-radius:999px;overflow:hidden}
.compare-bar span{display:block;height:100%;background:var(--team-primary,#b8e000)}
.compare-bar.right span{margin-left:auto}
.compare-summary{font-size:.76rem;color:#c8d7e2;line-height:1.55}
.compare-summary strong{color:var(--lime)}
@media(max-width:650px){
 .compare-selectors{grid-template-columns:1fr}
 .compare-players-head{grid-template-columns:1fr 42px 1fr}
 .compare-player-photo{width:58px;height:58px}
 .compare-metric{grid-template-columns:1fr 1.4fr 1fr}
}

/* V5.6 - Hoja resumen de partido */
.sheet-sync-info{
  display:grid;gap:4px;background:#102337;border:1px solid #405f1a;border-radius:12px;
  padding:10px 12px;margin:12px 0
}
.sheet-sync-info strong{color:var(--lime)}
.sheet-sync-info span{font-size:.7rem;color:#c7d6e1;line-height:1.4}
.sheet-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0}
.sheet-kpis div{background:#102337;border:1px solid var(--line);border-radius:12px;padding:10px;text-align:center}
.sheet-kpis span,.sheet-kpis strong{display:block}
.sheet-kpis span{font-size:.64rem;color:var(--muted)}
.sheet-kpis strong{font-size:1.05rem;color:var(--lime);margin-top:4px}
.match-sheet-table-wrap{overflow-x:auto;margin-top:10px}
.match-sheet-table{width:100%;min-width:1000px;border-collapse:collapse}
.match-sheet-table th,.match-sheet-table td{border-bottom:1px solid var(--line);padding:7px;text-align:center;font-size:.72rem}
.match-sheet-table th{color:var(--muted);font-size:.64rem;text-transform:uppercase}
.match-sheet-table td:first-child,.match-sheet-table th:first-child{text-align:left;position:sticky;left:0;background:#0a1827;z-index:2}
.match-sheet-player{display:flex;align-items:center;gap:8px;min-width:170px}
.match-sheet-avatar{width:34px;height:34px;border-radius:50%;overflow:hidden;background:#102337;display:grid;place-items:center;color:var(--lime);font-weight:950;flex:0 0 auto}
.match-sheet-avatar img{width:100%;height:100%;object-fit:cover}
.match-sheet-name strong,.match-sheet-name span{display:block}.match-sheet-name span{font-size:.61rem;color:var(--muted);margin-top:2px}
.match-sheet-table input[type="checkbox"]{width:auto;transform:scale(1.15)}
.match-sheet-table input[type="number"]{width:64px;padding:6px}
.match-sheet-table input.sheet-rating{width:68px}
.sheet-warning{margin-top:12px;background:#2a1f0e;border:1px solid #6f5319;color:#ffe2a4;border-radius:11px;padding:10px;font-size:.72rem}
@media(max-width:650px){.sheet-kpis{grid-template-columns:repeat(2,1fr)}}

/* V5.7 - Informe de temporada */
.season-report-kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin:14px 0}
.season-report-kpis div{background:#102337;border:1px solid var(--line);border-radius:12px;padding:10px;text-align:center}
.season-report-kpis span,.season-report-kpis strong{display:block}
.season-report-kpis span{font-size:.64rem;color:var(--muted)}
.season-report-kpis strong{font-size:1.08rem;color:var(--lime);margin-top:4px}
.season-report-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.sr-list{display:grid;gap:6px;margin-top:8px}
.sr-row{display:flex;justify-content:space-between;gap:10px;padding:7px 8px;background:#0a1827;border:1px solid var(--line);border-radius:9px;font-size:.72rem}
.sr-row strong{color:var(--lime)}
.season-report-table-wrap{overflow-x:auto;margin-top:10px}
.season-report-table{width:100%;min-width:760px;border-collapse:collapse}
.season-report-table th,.season-report-table td{padding:8px;border-bottom:1px solid var(--line);text-align:center;font-size:.7rem}
.season-report-table th:first-child,.season-report-table td:first-child{text-align:left}
.season-report-table th{font-size:.62rem;color:var(--muted);text-transform:uppercase}
@media(max-width:850px){.season-report-kpis{grid-template-columns:repeat(3,1fr)}}
@media(max-width:650px){.season-report-kpis{grid-template-columns:repeat(2,1fr)}.season-report-grid{grid-template-columns:1fr}}

/* V5.8 - Disciplina */
.discipline-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0}
.discipline-kpis div{background:#102337;border:1px solid var(--line);border-radius:12px;padding:10px;text-align:center}
.discipline-kpis span,.discipline-kpis strong{display:block}
.discipline-kpis span{font-size:.64rem;color:var(--muted)}
.discipline-kpis strong{font-size:1.08rem;color:var(--lime);margin-top:4px}
.discipline-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.discipline-list{display:grid;gap:7px;margin-top:8px}
.discipline-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;background:#0a1827;border:1px solid var(--line);border-radius:10px;padding:8px}
.discipline-row strong{font-size:.76rem}.discipline-meta{font-size:.64rem;color:var(--muted);margin-top:2px}
.discipline-badges{display:flex;gap:5px;align-items:center}
.discipline-badge{font-size:.64rem;padding:4px 7px;border-radius:999px;background:#13283b;border:1px solid #294157}
.discipline-badge.yellow{color:#ffe078;border-color:#725f1b}.discipline-badge.red{color:#ff8893;border-color:#7a2630}
.discipline-badge.ok{color:var(--lime);border-color:#4f691c}.discipline-badge.out{color:#ffb0b8;border-color:#78313a}
.discipline-history{display:grid;gap:6px;margin-top:8px}
.discipline-event{display:grid;grid-template-columns:90px 1fr auto;gap:10px;align-items:center;padding:8px;border-bottom:1px solid var(--line);font-size:.7rem}
@media(max-width:700px){.discipline-grid{grid-template-columns:1fr}.discipline-kpis{grid-template-columns:repeat(2,1fr)}.discipline-event{grid-template-columns:80px 1fr}}

/* V5.9 - navegación agrupada */
.nav-groups{
  display:flex;gap:7px;flex-wrap:wrap;margin:8px 0 7px;padding:0 2px
}
.nav-groups button{
  border:1px solid var(--line);background:#0a1827;color:#c6d5e1;
  border-radius:999px;padding:7px 11px;font-size:.69rem;font-weight:850;cursor:pointer
}
.nav-groups button.active{
  background:var(--team-primary,#b8e000);color:var(--team-secondary,#071525);border-color:transparent
}
@media(min-width:821px){
 #nav.nav{display:flex!important;flex-wrap:wrap!important;gap:7px!important;overflow:visible!important}
 #nav.nav button{flex:0 1 auto!important;min-width:112px!important;max-width:180px!important}
}
@media(max-width:820px){
 .nav-groups{
   display:flex!important;overflow-x:auto;flex-wrap:nowrap;padding:6px 4px;
   scrollbar-width:none
 }
 .nav-groups::-webkit-scrollbar{display:none}
 nav.mobile-open{max-height:66vh}
}

.nav-search-row{margin-top:7px}
.nav-search-row input{width:100%;max-width:360px;padding:8px 10px;font-size:.75rem}
.module-search-results{
 position:absolute;z-index:150;background:#071523;border:1px solid var(--line);
 border-radius:12px;padding:7px;box-shadow:0 12px 30px rgba(0,0,0,.35);max-width:360px;width:calc(100% - 24px)
}
.module-search-results button{display:block;width:100%;text-align:left;margin:3px 0}

/* V6.0 - accesos rápidos */
.quick-access-wrap{margin-top:8px}
.quick-access-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px}
.quick-access-head strong{font-size:.72rem;color:#d9e6ef}
.quick-edit-btn{
  border:0;background:transparent;color:var(--team-primary,#b8e000);
  font-size:.68rem;font-weight:850;cursor:pointer;padding:4px 6px
}
.quick-modules{display:flex;gap:7px;flex-wrap:wrap}
.quick-modules button{
  border:1px solid #40556b;background:#102337;color:#eef6ff;border-radius:11px;
  padding:8px 11px;font-size:.7rem;font-weight:850;cursor:pointer
}
.quick-modules button:hover{border-color:var(--team-primary,#b8e000)}
.recent-modules{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px}
.recent-modules:before{content:"Recientes:";font-size:.62rem;color:var(--muted);align-self:center;margin-right:2px}
.recent-modules button{
  border:0;background:transparent;color:#aebfcd;font-size:.64rem;cursor:pointer;padding:3px 5px
}
.recent-modules button:hover{color:var(--team-primary,#b8e000)}
.quick-modal-card{max-width:720px}
.quick-access-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}
.quick-choice{
  display:flex;align-items:center;gap:8px;background:#0a1827;border:1px solid var(--line);
  border-radius:10px;padding:8px;font-size:.7rem
}
.quick-choice input{width:auto}
@media(max-width:760px){
 .quick-access-choices{grid-template-columns:repeat(2,1fr)}
 .quick-modules{overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px;scrollbar-width:none}
 .quick-modules::-webkit-scrollbar{display:none}
 .quick-modules button{white-space:nowrap}
}
@media(max-width:480px){.quick-access-choices{grid-template-columns:1fr}}

/* V6.1 - FREE / PRO real */
.nav-locked{opacity:.68}
.nav-lock{font-size:.62rem;margin-left:3px}
.quick-locked{opacity:.72}
/* V6.2 - asistente contextual de inicio */
.coach-today{
 background:linear-gradient(145deg,#10263a,#0a1827);border:1px solid #36516a;
 border-radius:16px;padding:13px;margin:12px 0
}
.coach-today-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.coach-today-head h3{margin:3px 0 0}.eyebrow{font-size:.58rem;letter-spacing:.09em;color:var(--lime);font-weight:950}
.today-badge{font-size:.63rem;border:1px solid #4b657d;border-radius:999px;padding:4px 8px;color:#d8e6ef;white-space:nowrap}
.coach-today-body{font-size:.74rem;color:#c6d5e0;line-height:1.5;margin-top:9px}
.coach-today-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}
.coach-today-actions button{font-size:.68rem}
.today-alerts{display:grid;gap:6px;margin-top:8px}
.today-alert{background:#091624;border:1px solid var(--line);border-radius:9px;padding:7px 8px}
.today-alert strong{color:var(--lime)}

/* V6.3 - informe automático de partido */
.match-report-hero{
 margin:14px 0;background:linear-gradient(145deg,#10263a,#091724);border:1px solid #36516a;
 border-radius:16px;padding:16px;text-align:center
}
.match-report-score{font-size:2rem;font-weight:950;color:var(--lime);margin:5px 0}
.match-report-rival{font-size:1.05rem;font-weight:900}
.match-report-meta{font-size:.68rem;color:var(--muted)}
.match-report-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.mr-list{display:grid;gap:6px;margin-top:8px}
.mr-item{display:flex;justify-content:space-between;gap:8px;padding:7px 8px;border:1px solid var(--line);border-radius:9px;background:#0a1827;font-size:.7rem}
.mr-item strong{color:var(--lime)}
.match-report-table-wrap{overflow-x:auto;margin-top:8px}
.match-report-table{width:100%;min-width:720px;border-collapse:collapse}
.match-report-table th,.match-report-table td{padding:8px;border-bottom:1px solid var(--line);font-size:.69rem;text-align:center}
.match-report-table th:first-child,.match-report-table td:first-child{text-align:left}
.match-report-table th{color:var(--muted);font-size:.61rem;text-transform:uppercase}
.match-report-notes{white-space:pre-wrap;font-size:.75rem;color:#c8d6e0;line-height:1.55}
@media(max-width:650px){.match-report-grid{grid-template-columns:1fr}}

/* V6.4 - Compartir convocatoria */
.share-callup-preview{
  margin:14px 0;
  background:linear-gradient(160deg,#10263a,#071523);
  border:1px solid #36516a;
  border-radius:18px;
  padding:18px;
  min-height:220px
}
.share-card-head{display:flex;justify-content:space-between;gap:14px;align-items:center}
.share-card-logo{
  width:74px;height:74px;border-radius:16px;background:#fff;border:1px solid var(--line);
  overflow:hidden;display:grid;place-items:center;color:#243342;font-weight:900;font-size:.65rem;flex:0 0 auto
}
.share-card-logo img{width:100%;height:100%;object-fit:contain}
.share-card-title{flex:1}
.share-card-title h3{margin:3px 0;font-size:1.15rem}
.share-card-sub{font-size:.69rem;color:var(--muted)}
.share-card-match{
  margin:14px 0;padding:11px;background:#0a1827;border:1px solid var(--line);
  border-radius:12px;text-align:center
}
.share-card-match strong{font-size:1rem;color:var(--lime)}
.share-card-match span{display:block;font-size:.69rem;color:#c5d5e0;margin-top:4px}
.share-card-list{
  display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin-top:12px
}
.share-player{
  display:flex;align-items:center;gap:8px;background:#0a1827;border:1px solid var(--line);
  border-radius:10px;padding:8px
}
.share-player-number{
  width:30px;height:30px;border-radius:50%;background:var(--team-primary,#b8e000);
  color:var(--team-secondary,#071525);display:grid;place-items:center;font-weight:950;font-size:.72rem;flex:0 0 auto
}
.share-player strong,.share-player span{display:block}
.share-player strong{font-size:.74rem}.share-player span{font-size:.61rem;color:var(--muted);margin-top:2px}
.share-callup-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.share-empty{text-align:center;color:var(--muted);padding:28px 8px}
@media(max-width:600px){.share-card-list{grid-template-columns:1fr}.share-card-head{align-items:flex-start}.share-card-logo{width:62px;height:62px}}

/* V6.5 - compartir sesión */
.share-session-preview{
  margin:14px 0;background:linear-gradient(160deg,#10263a,#071523);
  border:1px solid #36516a;border-radius:18px;padding:18px;min-height:220px
}
.share-session-head{display:flex;justify-content:space-between;gap:14px;align-items:center}
.share-session-title h3{margin:3px 0;font-size:1.12rem}
.share-session-sub{font-size:.68rem;color:var(--muted)}
.share-session-objective{
  margin:13px 0;padding:10px 11px;background:#0a1827;border:1px solid var(--line);
  border-radius:11px;font-size:.73rem;color:#c8d6e0
}
.share-session-exercises{display:grid;gap:8px;margin-top:12px}
.share-session-exercise{
  display:grid;grid-template-columns:48px 1fr auto;gap:10px;align-items:start;
  background:#0a1827;border:1px solid var(--line);border-radius:11px;padding:9px
}
.share-session-order{
  width:34px;height:34px;border-radius:50%;display:grid;place-items:center;
  background:var(--team-primary,#b8e000);color:var(--team-secondary,#071525);font-weight:950
}
.share-session-exercise strong{display:block;font-size:.76rem}
.share-session-exercise span{display:block;font-size:.63rem;color:var(--muted);margin-top:2px}
.share-session-duration{font-weight:900;color:var(--lime);font-size:.7rem;white-space:nowrap}
.share-session-details{font-size:.69rem;color:#c7d6e0;margin-top:6px;line-height:1.45}
.share-session-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.share-session-total{
  margin-top:12px;display:flex;justify-content:space-between;gap:10px;
  border-top:1px solid var(--line);padding-top:10px;font-size:.72rem
}
.share-session-total strong{color:var(--lime)}
@media(max-width:600px){
 .share-session-exercise{grid-template-columns:40px 1fr}
 .share-session-duration{grid-column:2}
}

/* V6.6 - QA / estabilidad
   IDs separados entre Inicio y Dashboard para impedir colisiones DOM. */

/* V6.7 - QA de flujo completo.
   Sin cambios visuales relevantes: prioridad a coherencia de datos. */

/* V6.8 - transferencia segura */
.transfer-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
.transfer-card{background:#0a1827;border:1px solid var(--line);border-radius:15px;padding:14px;min-height:190px}
.transfer-icon{font-size:1.6rem;margin-bottom:7px}
.file-button{display:block;text-align:center;cursor:pointer}
.transfer-preview{margin-top:12px;background:#102337;border:1px solid #36516a;border-radius:12px;padding:11px}
.transfer-preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:9px 0}
.transfer-preview-grid div{background:#091724;border:1px solid var(--line);border-radius:9px;padding:8px;text-align:center}
.transfer-preview-grid span,.transfer-preview-grid strong{display:block}
.transfer-preview-grid span{font-size:.6rem;color:var(--muted)}
.transfer-preview-grid strong{font-size:.85rem;color:var(--lime);margin-top:3px}
.transfer-preview-actions{display:flex;gap:7px;justify-content:flex-end;flex-wrap:wrap;margin-top:9px}
.transfer-steps{margin-top:14px;background:#0a1827;border:1px solid var(--line);border-radius:14px;padding:12px}
.transfer-steps ol{margin:8px 0 0;padding-left:22px}
.transfer-steps li{font-size:.72rem;color:#c7d6e0;margin:6px 0;line-height:1.4}
.storage-warning{margin-top:12px;background:#2a1f0e;border:1px solid #6f5319;color:#ffe2a4;border-radius:11px;padding:10px;font-size:.72rem}
.transfer-invalid{border-color:#7a2630!important;background:#2b1217!important;color:#ffb5bd}
@media(max-width:760px){.transfer-grid{grid-template-columns:1fr}.transfer-preview-grid{grid-template-columns:repeat(2,1fr)}}

/* V6.9 - separación FREE / PRO definitiva */
.free-badge{
 display:inline-block;font-size:.56rem;font-weight:950;padding:3px 6px;border-radius:999px;
 background:#173248;border:1px solid #31536e;color:#d8ecfa;vertical-align:middle
}
.plan-principle{
 margin-top:12px;background:#0a1827;border:1px solid var(--line);border-radius:12px;padding:10px;
 font-size:.72rem;color:#c7d6e0
}

/* V7.0 - preparación de instalación y distribución */
body{
 padding-left:env(safe-area-inset-left);
 padding-right:env(safe-area-inset-right)
}
.topbar{padding-top:max(10px,env(safe-area-inset-top))}
.install-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
.install-card{background:#0a1827;border:1px solid var(--line);border-radius:15px;padding:14px}
.install-card ol{padding-left:20px;margin:9px 0 0}
.install-card li{font-size:.72rem;color:#c7d6e0;margin:7px 0;line-height:1.4}
.install-os{font-size:1.15rem;font-weight:950;color:var(--lime);margin-bottom:5px}
.install-status{margin:13px 0 9px;background:#102337;border:1px solid #36516a;border-radius:11px;padding:10px;font-size:.72rem;color:#d7e4ed}
@media(max-width:700px){.install-grid{grid-template-columns:1fr}}

/* V7.1 - comprobación de integridad */
.integrity-results{display:grid;gap:7px;margin-top:10px}
.integrity-ok,.integrity-warn,.integrity-error{
 border-radius:10px;padding:8px 10px;font-size:.7rem;border:1px solid var(--line)
}
.integrity-ok{background:#102913;border-color:#476c22;color:#dff3bc}
.integrity-warn{background:#2a1f0e;border-color:#6f5319;color:#ffe2a4}
.integrity-error{background:#2b1217;border-color:#7a2630;color:#ffc1c8}
.integrity-head{display:flex;justify-content:space-between;gap:10px;align-items:center}
.integrity-count{font-weight:950}

/* V7.2 - Release Candidate */
.candidate-badge{display:inline-block;font-size:.52rem;font-weight:950;padding:3px 6px;border-radius:999px;border:1px solid #56712b;background:#18270e;color:#d9f59b;vertical-align:middle}
button,.btn,input,select,textarea{-webkit-tap-highlight-color:transparent}
.btn{touch-action:manipulation}
@media(max-width:520px){.row{row-gap:8px}.card{overflow-wrap:anywhere}button,.btn,select,input,textarea{max-width:100%}}

/* CoachGo 1.0 */
.final-badge{
 display:inline-block;font-size:.52rem;font-weight:950;padding:3px 6px;border-radius:999px;
 border:1px solid #56712b;background:#18270e;color:#d9f59b;vertical-align:middle
}

/* 1.0.4 · consolidación entrenamiento */
.agenda-import-box{margin:14px 0;padding:12px;background:#0b1c2d;border:1px solid #274058;border-radius:12px;display:grid;gap:9px}
.agenda-import-box .row{align-items:center}.agenda-import-box select{min-width:260px;flex:1}
.planner-hint{margin:10px 0 14px;padding:9px 11px;border-left:3px solid var(--lime);background:#0b1c2d;border-radius:8px}
.base-exercise{border-color:#38531b}.base-tag{background:#1d310d!important;border-color:#4e741b!important;color:#e4f7a7}
.session-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
@media(max-width:600px){.agenda-import-box .row{display:grid;grid-template-columns:1fr}.agenda-import-box select{min-width:0;width:100%}.recommended{right:12px;top:-12px}.price-head{padding-top:5px}}


/* 1.0.7 · pulido responsive iPhone / móvil */
@media(max-width:820px){
  html{overflow-x:hidden}
  body{
    overflow-x:hidden;
    padding-top:env(safe-area-inset-top);
    padding-bottom:calc(82px + env(safe-area-inset-bottom));
  }
  header{
    position:relative;
    top:auto;
    z-index:30;
    padding-top:4px;
  }
  .brand{
    padding:10px 12px;
    gap:9px;
    min-width:0;
  }
  .brand img{width:46px;height:46px;flex:0 0 46px}
  .brand>div:not(.mode){min-width:0}
  .brand h1{font-size:1.05rem;line-height:1.05;white-space:nowrap}
  .brand .tag{font-size:.67rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:62vw}
  .mode{font-size:.68rem;padding:6px 9px;flex:0 0 auto}

  .planbar{
    position:sticky;
    top:0;
    z-index:90;
    margin:0;
    border-left:0;
    border-right:0;
    border-radius:0 0 14px 14px;
    padding:9px 12px;
    align-items:center;
    background:rgba(7,21,37,.98);
    backdrop-filter:blur(14px);
  }
  .planbar>div:first-child{min-width:0}
  .planbar>div:first-child strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .mobile-menu-btn{min-width:112px;flex:0 0 auto}
  .planbar.mobile-open{flex-wrap:wrap;align-items:center}
  .planbar.mobile-open .plan-actions{
    position:static!important;
    inset:auto!important;
    width:100%;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:7px;
    padding:8px 0 0;
    border:0;
    background:transparent;
    box-shadow:none;
  }
  .planbar.mobile-open .plan-actions .btn{
    min-width:0;
    width:100%;
    padding:10px 6px;
    font-size:.72rem;
    line-height:1.15;
    white-space:normal;
  }

  main{padding-top:10px;padding-bottom:18px}
  .quick-access-wrap{margin-top:4px}
  .nav-search-row input{max-width:none}
  .nav-groups{margin-top:7px}

  .hero{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    align-items:stretch;
    gap:12px;
    min-height:0;
    padding:14px;
  }
  .hero>div:first-child{min-width:0;width:100%}
  .home-brandline{display:block;min-width:0}
  .home-brandline>div{min-width:0}
  .home-brandline .home-team-crest{margin-bottom:10px}
  .coach-today{margin:0 0 12px;padding:12px;width:100%}
  .coach-today-head{gap:8px}
  .coach-today-head>div{min-width:0}
  .today-badge{max-width:48%;overflow:hidden;text-overflow:ellipsis}
  .coach-today-actions{display:grid;grid-template-columns:1fr;gap:8px}
  .coach-today-actions .btn{width:100%}
  .hero h2,#homeTeam{
    font-size:1.45rem;
    line-height:1.15;
    overflow-wrap:normal;
    word-break:normal;
    hyphens:none;
  }
  .hero-right{
    display:flex;
    flex-direction:row;
    flex-wrap:wrap;
    justify-content:flex-start;
    align-items:center;
    gap:8px;
    width:100%;
    min-width:0;
  }
  .format-pill,.system-pill{
    writing-mode:horizontal-tb!important;
    text-orientation:mixed!important;
    white-space:nowrap;
    word-break:normal;
    overflow-wrap:normal;
    width:auto;
    max-width:100%;
    padding:9px 12px;
    border-radius:12px;
  }
  .hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
  .hero-actions .btn{width:100%;min-width:0}

  .grid{gap:10px}
  .card{margin-bottom:10px}
  .dashboard-card{min-width:0}

  .mobile-quick{
    padding:8px 5px calc(8px + env(safe-area-inset-bottom));
  }
  footer{display:none}
}

@media(max-width:520px){
  .brand h1{font-size:.98rem}
  .brand .tag{font-size:.62rem;max-width:58vw}
  .mode{font-size:.62rem}
  .planbar.mobile-open .plan-actions{grid-template-columns:1fr 1fr 1fr}
  .planbar.mobile-open .plan-actions .btn{font-size:.68rem;padding:9px 4px}
  .hero-actions{grid-template-columns:1fr}
  .coach-today-head{flex-direction:column}
  .today-badge{max-width:100%}
  .format-pill,.system-pill{font-size:.82rem}
}


/* 1.0.8 · menú móvil funcional */
.mobile-menu-overlay{position:fixed;inset:0;z-index:240;display:block}
.mobile-menu-overlay.hidden{display:none!important}
.mobile-menu-backdrop{position:absolute;inset:0;background:rgba(2,9,16,.68);backdrop-filter:blur(3px)}
.mobile-menu-sheet{position:absolute;left:10px;right:10px;bottom:calc(76px + env(safe-area-inset-bottom));max-height:min(72vh,680px);overflow:auto;background:#071523;border:1px solid var(--line);border-radius:18px;box-shadow:0 18px 46px rgba(0,0,0,.5);padding:12px}
.mobile-menu-sheet-head{position:sticky;top:-12px;z-index:2;display:flex;justify-content:space-between;align-items:center;background:#071523;padding:10px 2px 9px;border-bottom:1px solid var(--line);margin-bottom:8px}
.mobile-menu-sheet-head strong{font-size:1.05rem}
.mobile-menu-close{width:42px;height:42px;border-radius:12px;border:1px solid var(--line);background:#102337;color:#eef6ff;font-size:1.7rem;line-height:1}
.mobile-menu-all{display:grid;gap:12px}
.mobile-menu-group h3{margin:0 0 7px;color:var(--lime);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em}
.mobile-menu-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.mobile-menu-items button{min-height:48px;border:1px solid var(--line);background:#102337;color:#eef6ff;border-radius:12px;padding:9px 8px;font-weight:850;line-height:1.15}
body.mobile-nav-open{overflow:hidden}
@media(min-width:821px){.mobile-menu-overlay{display:none!important}}
@media(max-width:380px){.mobile-menu-items{grid-template-columns:1fr}}


/* 1.0.12 RELEASE CANDIDATE · cierre responsive móvil/tablet */
button,.btn,[role="button"]{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.planner-editor,.scout-editor{scroll-margin-top:84px}
.tablewrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
#stats .tablewrap table{min-width:650px}
#stats .tablewrap th:first-child,#stats .tablewrap td:first-child{position:sticky;left:0;z-index:2;background:var(--card,#0c1d2e)}
@media (max-width:820px){
  .planner-editor,.scout-editor{width:100%;max-width:100%;box-sizing:border-box}
  .planner-editor .row,.scout-editor .row{flex-wrap:wrap}
  #rivals .rival-toolbar,#scouting .scout-toolbar{display:grid;grid-template-columns:1fr;width:100%}
  #rivals .rival-toolbar>* ,#scouting .scout-toolbar>*{width:100%;min-width:0}
  .player-row{min-width:0;overflow:hidden}
  .player-row>div:nth-child(2){min-width:0}
  .player-name,.player-meta{overflow-wrap:anywhere}
}
@media (min-width:600px) and (max-width:1024px){
  main{max-width:100%;padding-left:18px;padding-right:18px}
  .card{max-width:100%}
  .planner-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:430px){
  #stats .tablewrap table{min-width:610px}
  .row>.btn{max-width:100%}
}


/* 1.0.18 · preparación comercial */
.commercial-note{margin-top:14px;padding:12px 14px;border:1px solid rgba(190,255,55,.28);border-radius:14px;background:rgba(190,255,55,.06);line-height:1.45}
.plan-card{position:relative;padding-top:48px;border:1px solid var(--line);box-shadow:none;transition:border-color .18s ease,box-shadow .18s ease}
.plan-card.plan-active{border:3px solid var(--lime);box-shadow:0 0 0 1px rgba(184,224,0,.14),0 0 22px rgba(184,224,0,.10)}
.active-plan-marker{position:absolute;top:10px;left:12px;opacity:0;pointer-events:none;border:1px solid #607b10;background:#18270c;color:var(--lime);border-radius:999px;padding:4px 10px;font-size:.68rem;font-weight:950;letter-spacing:.03em}
.plan-card.plan-active .active-plan-marker{opacity:1}
.pro-card .recommended{position:absolute;top:10px;right:12px;z-index:2;max-width:calc(100% - 24px);white-space:nowrap}
@media(max-width:520px){.plan-card{padding-top:48px}.pro-card .recommended{font-size:11px;top:10px;right:10px}.active-plan-marker{font-size:10px;left:10px}}

[data-plan-action]{transition:background .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease}
.plan-actions [data-plan-action]:not(.plan-action-active),
.mobile-plan-testbar-actions [data-plan-action]:not(.plan-action-active),
.mobile-plan-actions [data-plan-action]:not(.plan-action-active){background:#102337!important;color:#eef6ff!important;border-color:#36506a!important;box-shadow:none!important}
.plan-action-active{background:var(--lime)!important;color:#07111f!important;border-color:var(--lime)!important;box-shadow:0 0 0 2px rgba(184,224,0,.16)!important}

/* 1.0.18 - selector FREE/PRO visible en móvil para validación comercial */
.mobile-plan-test{margin:0 0 12px;padding:11px;border:1px solid #36506a;border-radius:14px;background:#0b1d2e}
.mobile-plan-test>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}
.mobile-plan-test #mobilePlanState{font-size:.72rem;font-weight:950;color:#b8e000;border:1px solid #607b10;border-radius:999px;padding:4px 9px}
.mobile-plan-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.mobile-plan-actions button{min-height:44px;border:1px solid #36506a;border-radius:11px;background:#102337;color:#eef6ff;font-weight:900;padding:7px 5px}
@media(max-width:380px){.mobile-plan-actions{grid-template-columns:1fr}}

/* 1.0.19 · navegación sin desbordes en botones largos */
.lineup-empty-state{display:grid;gap:8px;justify-items:start;padding:14px;border:1px dashed #45627b;border-radius:12px;background:#0a1827;color:#c7d7e4}
.lineup-empty-state strong{color:var(--lime);font-size:.82rem}
.lineup-empty-state span{font-size:.72rem;line-height:1.45;color:var(--muted)}
@media(min-width:821px){
  #nav.nav{align-items:stretch!important}
  #nav.nav button{
    flex:1 1 145px!important;
    min-width:135px!important;
    max-width:220px!important;
    min-height:54px!important;
    height:auto!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:5px!important;
    padding:9px 10px!important;
    white-space:normal!important;
    overflow:hidden!important;
    overflow-wrap:break-word!important;
    word-break:normal!important;
    text-align:center!important;
    line-height:1.15!important;
  }
  #nav.nav button[data-id="sharecallup"]{
    flex-basis:205px!important;
    min-width:195px!important;
    max-width:235px!important;
  }
  #nav.nav button[data-id="matchprep"]{min-width:165px!important}
  #nav.nav button .pro-badge,#nav.nav button .nav-lock{flex:0 0 auto}
}


/* 1.0.18: selector FREE/PRO siempre visible en móvil para la validación comercial */
.mobile-plan-testbar{display:none}
@media(max-width:820px){
  .mobile-plan-testbar{display:block;margin:8px 10px 0;padding:10px;background:#0a1827;border:1px solid var(--line);border-radius:14px}
.mobile-plan-testbar-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;color:#aebdd0;font-size:.78rem;font-weight:850}
  .mobile-plan-testbar-head strong{color:var(--lime);border:1px solid #607b10;background:#18270c;border-radius:999px;padding:4px 10px;font-size:.72rem}
  .mobile-plan-testbar-actions{display:grid;grid-template-columns:1fr 1fr 1.35fr;gap:7px}
  .mobile-plan-testbar-actions .btn{min-height:42px;margin:0;padding:8px 6px;font-size:.74rem;white-space:nowrap}
}
@media(max-width:380px){
  .mobile-plan-testbar-actions{grid-template-columns:1fr 1fr}
  .mobile-plan-testbar-actions .btn:last-child{grid-column:1/-1}
}

/* 1.0.21 · configuración accesible en pantallas pequeñas y con texto ampliado */
.onboarding{
  z-index:1000;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  padding:max(18px,env(safe-area-inset-top)) 18px max(28px,calc(18px + env(safe-area-inset-bottom)));
}
.onboarding .wizard{
  flex:0 0 auto;
  min-width:0;
  margin:auto 0;
}
body.onboarding-open{overflow:hidden}
body.onboarding-open .mobile-quick,
body.onboarding-open footer{
  visibility:hidden!important;
  pointer-events:none!important;
}
.wizard h1,.wizard h3,.wizard-copy,.wizard label,
.wizard button,.wizard input,.wizard select,.setup-preview strong{
  overflow-wrap:anywhere;
  word-break:normal;
}
.wizard-actions .btn{
  min-width:0;
  white-space:normal;
}

@media(max-width:820px){
  .onboarding{
    padding:max(12px,env(safe-area-inset-top)) 10px max(22px,calc(12px + env(safe-area-inset-bottom)));
  }
  .onboarding .wizard{
    width:min(560px,100%);
    padding:clamp(16px,4.5vw,24px);
    border-radius:20px;
  }
  .wizard-logo{
    width:clamp(64px,20vw,82px);
    height:clamp(64px,20vw,82px);
  }
  .wizard h1{font-size:clamp(1.45rem,7.5vw,2rem);line-height:1.12}
  .wizard h3{line-height:1.2}
  .wizard-copy,.wizard .small{line-height:1.45}
  .wizard-actions{align-items:stretch}
  .wizard-actions .btn{flex:1 1 0;min-height:48px}
}

@media(max-width:360px){
  .onboarding{padding-left:7px;padding-right:7px}
  .onboarding .wizard{padding:14px;border-radius:16px}
  .wizard-actions{flex-direction:column-reverse}
  .wizard-actions .btn{width:100%}
}
