/* SIDF — Sistema Integral de Desarrollo Formativo. Identidad propia de SIDF; del club solo se muestra el nombre. */
:root{
  --navy:#0b1f3f; --navy-2:#122b55; --navy-3:#1b3a73; --ink:#13213c; --muted:#5d6b85; --line:#e3e8f1;
  --bg:#f2f5fa; --card:#fff; --red:#d0021b; --red-d:#a80016; --gold:#f2b705; --green:#0e7a3c; --green-l:#e6f4ec;
  --amber-l:#fff4d6; --red-l:#fde8ea; --blue-l:#e6efff; --purple:#6b2fa0; --purple-l:#f0e8f8; --teal:#14a3b8;
  --radius:12px; --shadow:0 1px 2px rgba(11,31,63,.06),0 4px 14px rgba(11,31,63,.06);
  font-family:Inter,"Segoe UI",Roboto,-apple-system,"Helvetica Neue",Arial,sans-serif;
}
*{box-sizing:border-box} html,body{margin:0;height:100%} body{background:var(--bg);color:var(--ink);font-size:14px;line-height:1.4}
h1,h2,h3,h4{margin:0;font-weight:700} button{font:inherit;cursor:pointer} input,select,textarea{font:inherit;color:inherit}
a{color:var(--navy-3);text-decoration:none} a:hover{text-decoration:underline}
svg[viewBox="0 0 24 24"]{width:20px;height:20px;flex:none}
.linkcard svg{width:28px;height:28px}.kpi>svg{width:40px;height:40px;color:var(--navy-3)}.secure svg{width:30px;height:30px}.quoteband svg{width:30px;height:30px}.btn svg{width:17px;height:17px}
a.mod,a.mod:hover,a.btn,a.btn:hover,a.linkcard:hover{text-decoration:none}a.btn{color:#fff}a.btn.ghost{color:var(--navy)}.mod .top svg.ic{color:var(--navy)}.mod .go svg{width:17px;height:17px}.mod .bd span:first-child{color:var(--muted)}
.hidden{display:none!important} .muted{color:var(--muted)} .small{font-size:12px} .grow{flex:1} .row{display:flex;gap:12px;align-items:center} .wrap{flex-wrap:wrap}

/* ---------- shell ---------- */
#app{min-height:100%;display:flex;flex-direction:column}
.topbar{background:var(--navy);color:#fff;display:flex;align-items:center;gap:20px;padding:0 20px;height:62px;position:sticky;top:0;z-index:20}
.brand{display:flex;align-items:center;gap:12px;min-width:260px}
.crest{width:42px;height:42px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ffd54a,#d99a00);color:#7a1020;font-weight:800;display:flex;align-items:center;justify-content:center;letter-spacing:-1px;border:2px solid #fff3;overflow:hidden}
.crest img{width:100%;height:100%;object-fit:contain;background:#fff}
.brand .club{font-weight:800;font-size:17px;letter-spacing:.3px;line-height:1.05}.brand .club small{display:block;font-weight:500;font-size:10px;letter-spacing:2px;opacity:.8}
.brand .sep{width:1px;height:34px;background:#fff3}.brand .sys{font-size:11px;letter-spacing:1.4px;opacity:.9;line-height:1.2}.brand .sys b{display:block;font-size:19px;letter-spacing:0}
.topnav{display:flex;gap:4px;flex:1;justify-content:center}
.topnav a{color:#cfd9ee;padding:8px 18px;border-radius:8px;font-size:13px;display:flex;flex-direction:column;align-items:center;gap:2px;position:relative}
.topnav a svg{width:20px;height:20px}.topnav a.active,.topnav a:hover{color:#fff;text-decoration:none}.topnav a.active:after{content:"";position:absolute;left:12px;right:12px;bottom:-9px;height:3px;background:var(--red);border-radius:2px}
.userbox{display:flex;align-items:center;gap:10px;cursor:pointer;position:relative}
.avatar{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,#c9d4ee,#8fa3d6);color:var(--navy);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;flex:none}
.avatar.lg{width:56px;height:56px;font-size:19px}.avatar.xl{width:140px;height:140px;font-size:44px;border-radius:14px}
.userbox .nm{font-weight:700;font-size:13px;line-height:1.1}.userbox .rl{font-size:11px;opacity:.8}
.menu{position:absolute;right:0;top:48px;background:#fff;color:var(--ink);border-radius:10px;box-shadow:0 8px 30px #0003;min-width:200px;padding:6px;z-index:30}
.menu button{display:block;width:100%;text-align:left;background:none;border:0;padding:9px 12px;border-radius:8px}.menu button:hover{background:var(--bg)}
.layout{display:flex;flex:1;min-height:0}
.sidebar{width:236px;background:var(--navy);color:#cfd9ee;padding:16px 12px;display:flex;flex-direction:column;gap:4px;flex:none}
.sidebar a{display:flex;gap:12px;align-items:flex-start;padding:10px 12px;border-radius:9px;color:#cfd9ee;font-size:13px}
.sidebar a svg{width:20px;height:20px;flex:none;margin-top:1px}.sidebar a b{display:block;color:#fff;font-size:13px}.sidebar a span{font-size:12.5px;line-height:1.25}
.sidebar a.active{background:var(--red);color:#fff;text-decoration:none}.sidebar a:hover{text-decoration:none;background:#ffffff14}.sidebar a.active:hover{background:var(--red)}
.sidebar hr{border:0;border-top:1px solid #ffffff24;margin:10px 4px}
.sidebar .tag{margin-top:auto;padding:14px 10px;font-size:10.5px;letter-spacing:2.4px;line-height:1.7;border-left:2px solid #fff4;opacity:.85}
.sidebar .tag i{display:block;height:3px;width:60px;background:linear-gradient(90deg,var(--red) 50%,var(--gold) 50%);margin-top:6px}
main{flex:1;min-width:0;padding:18px 22px 40px}
@media(max-width:900px){.sidebar{display:none}.topnav{display:none}.brand{min-width:0}main{padding:12px}}

/* ---------- cards, hero, filters ---------- */
.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}
.card h3{font-size:15px;margin-bottom:10px}.card h3 small{font-weight:500;color:var(--muted);font-size:12px;margin-left:6px}
.grid{display:grid;gap:14px}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.g5{grid-template-columns:repeat(5,minmax(0,1fr))}
@media(max-width:1100px){.g4,.g5{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:1fr}}
@media(max-width:700px){.g2,.g4,.g5{grid-template-columns:1fr}}
.hero{border-radius:14px;color:var(--navy);min-height:200px;padding:30px 34px;position:relative;overflow:hidden;
  background:linear-gradient(100deg,#fff 0%,#fff 38%,#dfe6f4 62%,#7f93bd 100%);box-shadow:var(--shadow);margin-bottom:14px}
.hero:before{content:"";position:absolute;right:-60px;top:-40px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle at 40% 40%,#1b3a73 0,#0b1f3f 62%,transparent 63%);opacity:.92}
.hero:after{content:"";position:absolute;right:120px;bottom:-110px;width:260px;height:260px;border-radius:50%;border:34px solid #d0021b55}
.hero .eyebrow{color:var(--red);font-weight:800;letter-spacing:.6px;font-size:14px}
.hero h1{font-size:40px;line-height:1.02;margin:6px 0 8px;max-width:520px}.hero .sub{font-size:17px}
.hero .quote{font-style:italic;font-size:17px;margin-top:12px;max-width:380px}.hero .bar{height:4px;width:74px;background:linear-gradient(90deg,var(--red) 50%,var(--gold) 50%);margin-top:12px}
.hero .values{position:absolute;right:30px;top:28px;color:#fff;font-size:12px;letter-spacing:3px;line-height:1.7;border-left:2px solid #fff6;padding-left:14px;z-index:1}
.hero>*:not(.values){position:relative;z-index:1}
.filters{display:flex;gap:14px;align-items:flex-end;flex-wrap:wrap;margin-bottom:14px}
.field{display:flex;flex-direction:column;gap:4px;min-width:150px}.field label{font-size:11.5px;color:var(--navy-3);font-weight:700}
select,input[type=text],input[type=email],input[type=password],input[type=date],input[type=number],textarea{border:1px solid var(--line);border-radius:9px;padding:9px 11px;background:#fff;width:100%}
select:focus,input:focus,textarea:focus{outline:2px solid #1b3a7340;border-color:var(--navy-3)}
textarea{resize:vertical;min-height:70px}
.btn{border:0;border-radius:9px;padding:10px 18px;font-weight:700;background:var(--navy);color:#fff;display:inline-flex;gap:8px;align-items:center;justify-content:center}
.btn:hover{filter:brightness(1.12)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.red{background:var(--red)}.btn.green{background:var(--green)}.btn.ghost{background:#fff;color:var(--navy);border:1px solid var(--line)}.btn.sm{padding:6px 12px;font-size:12.5px}
.linkcard{background:var(--blue-l);border:1px solid #cfe0ff;border-radius:10px;padding:10px 16px;display:flex;align-items:center;gap:10px;color:var(--navy-3);font-weight:600}
.chip{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:3px 10px;font-size:11.5px;font-weight:700;background:var(--bg);color:var(--muted)}
.chip.green{background:var(--green-l);color:var(--green)}.chip.amber{background:var(--amber-l);color:#8a6200}.chip.red{background:var(--red-l);color:var(--red-d)}.chip.blue{background:var(--blue-l);color:var(--navy-3)}.chip.navy{background:var(--navy);color:#fff}
.dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:#bbb}.dot.green{background:#1aa557}.dot.amber{background:var(--gold)}.dot.red{background:#e0303f}

/* module cards (home) */
.mod{border-radius:12px;overflow:hidden;background:#fff;box-shadow:var(--shadow);display:flex;flex-direction:column;color:var(--ink)}
.mod .top{height:112px;padding:12px 14px;color:#fff;position:relative;display:flex;flex-direction:column;justify-content:flex-end}
.mod .top svg.ic{position:absolute;left:12px;top:12px;width:34px;height:34px;background:#fff;color:var(--navy);border-radius:8px;padding:6px}
.mod .top h4{font-size:22px;line-height:1}.mod .top small{font-size:12px;font-weight:600;line-height:1.15;margin-top:3px}
.mod .top:after{content:"";position:absolute;right:-20px;top:-20px;width:120px;height:120px;border-radius:50%;background:#ffffff1c}
.mod .bd{padding:10px 14px 14px;font-size:12px;color:var(--muted);flex:1;display:flex;gap:10px;align-items:flex-end;justify-content:space-between}
.mod .go{width:30px;height:30px;border-radius:50%;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;flex:none}
.mod.locked{opacity:.65;filter:grayscale(.4)}.mod.locked .top{background:#e9edf4!important;color:var(--muted)}
.c-h01{background:linear-gradient(135deg,#d0021b,#8e0013)}.c-h02{background:linear-gradient(135deg,#1d4fb4,#0b2a6b)}.c-h03{background:linear-gradient(135deg,#0f8a45,#06502a)}.c-h04{background:linear-gradient(135deg,#17356f,#081733)}.c-h05{background:linear-gradient(135deg,#f2b705,#b97d00)}.c-h06{background:linear-gradient(135deg,#7d3cb4,#43186f)}

/* kpis */
.kpi{display:flex;gap:12px;align-items:center}.kpi .big{font-size:34px;font-weight:800;line-height:1}.kpi .lbl{font-size:12px;color:var(--muted)}
.pill{border-radius:10px;padding:10px 14px;text-align:center;min-width:92px}.pill b{font-size:26px;display:block;line-height:1.1}.pill span{font-size:11px}.pill.green{background:var(--green-l);color:var(--green)}.pill.amber{background:var(--amber-l);color:#8a6200}.pill.red{background:var(--red-l);color:var(--red-d)}
table.t{width:100%;border-collapse:collapse;font-size:12.5px}table.t th{background:#f5f7fb;text-align:left;font-weight:700;padding:8px 10px;color:var(--navy-3);font-size:11.5px;border-bottom:1px solid var(--line)}
table.t td{padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:middle}table.t tr:hover td{background:#fafbfe}
.bar{height:8px;border-radius:5px;background:#e8edf5;overflow:hidden;min-width:70px}.bar i{display:block;height:100%;background:#1aa557}
.sectionhead{background:var(--red);color:#fff;border-radius:10px 10px 0 0;padding:10px 14px;display:flex;justify-content:space-between;align-items:center;font-weight:800;gap:10px}
.sectionhead small{font-weight:500;opacity:.92}

/* roster */
.roster{display:flex;flex-direction:column;gap:8px}
.rosteritem{display:flex;gap:10px;align-items:center;padding:7px 9px;border-radius:10px;border:1px solid transparent;cursor:pointer}.rosteritem:hover{background:var(--bg)}.rosteritem.sel{background:var(--blue-l);border-color:#bcd2ff}
.rosteritem .nm{font-weight:700;font-size:12.5px;line-height:1.15}.rosteritem .ps{font-size:11px;color:var(--muted)}
.rosterlist{max-height:calc(100vh - 250px);overflow:auto;padding-right:2px}
.rgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.rcard{border:1px solid var(--line);border-radius:10px;padding:8px;text-align:center;cursor:pointer;position:relative;background:#fff}.rcard:hover{border-color:var(--navy-3)}.rcard.sel{outline:2px solid var(--navy-3)}
.rcard .avatar{margin:0 auto 4px}.rcard .nm{font-size:10.5px;font-weight:800;line-height:1.1;text-transform:uppercase}.rcard .dot{position:absolute;right:8px;top:8px}
.rcard .cat{display:inline-block;margin-top:4px;background:var(--navy);color:#fff;font-size:10px;border-radius:5px;padding:1px 8px;font-weight:700}

/* two-column work area */
.work{display:grid;grid-template-columns:300px minmax(0,1fr);gap:14px;align-items:start}.work.rev{grid-template-columns:minmax(0,1fr) 320px}
@media(max-width:1000px){.work,.work.rev{grid-template-columns:1fr}}
.head-dark{background:var(--navy);color:#fff;border-radius:10px;padding:11px 15px;font-weight:700;display:flex;justify-content:space-between;gap:10px;align-items:center}
.playerhead{display:flex;gap:16px;align-items:center;flex-wrap:wrap;padding:14px;border-bottom:1px solid var(--line)}
.playerhead h2{font-size:22px;letter-spacing:.3px}.facts{display:flex;gap:22px;flex-wrap:wrap;flex:1;justify-content:flex-end}.fact{min-width:90px}.fact label{display:block;font-size:11px;font-weight:800;color:var(--navy)}.fact div{font-size:13px}
.seg{display:flex;gap:8px;flex-wrap:wrap}.seg button{border:1px solid var(--line);background:#fff;border-radius:9px;padding:9px 16px;font-weight:700;color:var(--ink)}.seg button.on{background:var(--navy);color:#fff;border-color:var(--navy)}

/* evaluation tables (H01) */
.dim{border-radius:10px;overflow:hidden;border:1px solid var(--line);background:#fff;margin-bottom:12px}
.dim .sectionhead{border-radius:0}
.beh{display:grid;grid-template-columns:minmax(150px,1.3fr) 190px minmax(160px,1.5fr);gap:10px;align-items:center;padding:8px 12px;border-bottom:1px solid var(--line)}
.beh.hd{background:#f5f7fb;font-size:11.5px;font-weight:800;color:var(--navy-3)}.beh .name{display:flex;gap:8px;align-items:center;color:var(--navy-3);font-weight:600;cursor:pointer;line-height:1.15}.beh .name svg{width:14px;height:14px;transition:.15s;flex:none}.beh.open .name svg{transform:rotate(90deg)}
.beh .state{font-size:10.5px}
.scale{display:flex;gap:6px;justify-content:center}.scale button{width:28px;height:28px;border-radius:50%;border:1.5px solid #9aa7c2;background:#fff;color:var(--ink);font-weight:700;font-size:12px;padding:0}.scale button:hover{border-color:var(--navy)}.scale button.on{background:var(--green);border-color:var(--green);color:#fff}
.beh .ev{font-size:12.5px;padding:7px 9px}
.detail{grid-column:1/-1;background:#f8fafd;border-top:1px dashed var(--line);margin:4px -12px -8px;padding:12px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.detail .full{grid-column:1/-1}.detail p{margin:0;font-size:12.5px}
@media(max-width:900px){.beh{grid-template-columns:1fr}.detail{grid-template-columns:1fr 1fr}}
.savebar{display:flex;gap:12px;align-items:center;justify-content:center;padding:14px;position:sticky;bottom:0;background:linear-gradient(transparent,var(--bg) 40%)}
.notice{border-radius:10px;padding:10px 14px;font-size:12.5px;background:var(--amber-l);color:#6a4a00;border:1px solid #f1d98b}.notice.info{background:var(--blue-l);color:var(--navy-3);border-color:#cfe0ff}.notice.err{background:var(--red-l);color:var(--red-d);border-color:#f5b9bf}.notice.ok{background:var(--green-l);color:var(--green);border-color:#b7e1c8}

/* H02 */
.feel{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.feel button{background:#fff;border:1.5px solid var(--line);border-radius:12px;padding:8px 12px;display:flex;flex-direction:column;align-items:center;gap:4px;min-width:96px;font-weight:700}.feel button.on{border-color:var(--navy);box-shadow:0 0 0 2px #1b3a7330}
.face{width:44px;height:44px}
.dimbar{background:var(--amber-l);border:1px solid #f2dc95;border-radius:10px;padding:12px 16px;display:flex;gap:16px;align-items:center;margin-bottom:10px}
.dimbar .nm{font-weight:800;font-size:16px;text-transform:uppercase}.progress{height:8px;background:#e8e0bd;border-radius:5px;overflow:hidden;min-width:200px}.progress i{display:block;height:100%;background:var(--gold)}
.q{display:grid;grid-template-columns:30px minmax(0,1fr) 270px;gap:12px;align-items:start;padding:10px 12px;border-bottom:1px solid var(--line)}
.q .num{width:28px;height:28px;border-radius:50%;background:var(--navy);color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center;font-size:12px}
.q .ttl{font-weight:700;font-size:14.5px}.q .qt{font-size:12.5px;color:var(--muted);margin:2px 0 6px}
.q .scale{justify-content:flex-end}.q .scale button{width:46px;height:34px;border-radius:8px}
.conf{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.conf button{border:1.5px solid var(--line);border-radius:10px;padding:10px;background:#fff;text-align:left;font-weight:700}.conf button small{display:block;font-weight:400;color:var(--muted)}
.conf button.on.a{background:var(--green-l);border-color:var(--green)}.conf button.on.m{background:var(--amber-l);border-color:var(--gold)}.conf button.on.b{background:var(--red-l);border-color:#e0303f}
@media(max-width:900px){.q{grid-template-columns:30px 1fr}.q .scale{grid-column:1/-1;justify-content:flex-start}}

/* H04 */
.narr{display:flex;gap:14px;border:1px solid var(--line);border-radius:12px;padding:14px;background:#fbfcfe;margin-bottom:10px}
.narr .ico{width:44px;height:44px;border-radius:50%;background:var(--red);color:#fff;display:flex;align-items:center;justify-content:center;flex:none}.narr .ico svg{width:22px;height:22px}
.narr h4{color:var(--red);font-size:17px;margin-bottom:4px}.narr p{margin:0;color:#3a4863;white-space:pre-wrap;line-height:1.5}
.quoteband{display:flex;gap:14px;align-items:center;background:var(--red-l);border-radius:10px;padding:12px 16px;color:var(--red-d);font-style:italic}
.facts-list{display:grid;grid-template-columns:28px 1fr;gap:6px 10px;align-items:center;font-size:13px}.facts-list label{color:var(--muted);font-size:12px}
.proftag{background:#fff3c4;border:1px solid #f1d98b;border-radius:10px;padding:10px 12px;margin-top:10px}.proftag b{display:block;background:var(--gold);padding:6px;border-radius:6px;text-align:center;margin-top:4px}

/* H05/H06 insight cards */
.ins{border-radius:12px;padding:0;overflow:hidden;border:1px solid var(--line);background:#fff;display:flex;flex-direction:column}
.ins .h{padding:11px 14px;display:flex;gap:10px;align-items:center;font-weight:800;font-size:14px;line-height:1.15}.ins .h svg{width:26px;height:26px;flex:none}
.ins .b{padding:10px 14px 14px;font-size:13px;color:#3a4863;white-space:pre-wrap;line-height:1.5}.ins .b ul{margin:0;padding-left:18px}.ins .b li{margin-bottom:5px}
.ins.blue .h{background:#e6efff;color:#1d4fb4}.ins.amber .h{background:#fff4d6;color:#8a6200}.ins.red .h{background:#fde8ea;color:#a80016}.ins.green .h{background:#e6f4ec;color:var(--green)}.ins.purple .h{background:#f0e8f8;color:var(--purple)}
.statbox{display:flex;gap:14px;align-items:center}.statbox .ic{width:52px;height:52px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex:none}.statbox .ic svg{width:28px;height:28px}
.statbox h2{font-size:30px}.statbox .l{font-size:13px;color:var(--muted)}
.hbar{display:grid;grid-template-columns:110px 1fr 70px;gap:10px;align-items:center;margin:7px 0;font-size:12.5px}.hbar .track{height:14px;background:#eef1f7;border-radius:8px;overflow:hidden}.hbar .track i{display:block;height:100%;background:var(--navy-3);border-radius:8px}

/* auth screens */
.authwrap{min-height:100vh;display:grid;grid-template-columns:1.05fr 1fr}
.authside{background:radial-gradient(120% 90% at 20% 0%,#1b3a73 0%,#0b1f3f 55%,#050c18 100%);color:#fff;padding:48px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}
.authside:before{content:"";position:absolute;left:48px;right:48px;bottom:40px;height:5px;background:linear-gradient(90deg,#d0021b 0 34%,#475569 34% 52%,#94a3b8 52% 68%,#f2b705 68% 100%);border-radius:3px}
.authside .big{font-size:44px;font-weight:800;letter-spacing:6px;line-height:1.2}.authside .big b{font-size:52px;display:block;margin-top:8px;color:#fff}
.authside .vals{border-left:2px solid #fff6;padding-left:14px;letter-spacing:3px;font-size:12px;line-height:1.9}
.authform{background:#fff;display:flex;align-items:center;justify-content:center;padding:32px}
.authform .box{width:100%;max-width:420px}.authform .logo{text-align:center;margin-bottom:18px}.authform .logo .crest{margin:0 auto 10px;width:84px;height:84px;font-size:30px;color:#7a1020}
.authform .logo h1{color:var(--navy);font-size:26px;letter-spacing:.4px}.authform .logo small{letter-spacing:4px;color:var(--muted);font-size:11px}
.sidf3{font-size:58px;font-weight:900;color:var(--navy);text-align:center;line-height:1;margin:10px 0 4px}.sidf3 span{color:var(--red)}
.tabs{display:flex;border-bottom:2px solid var(--line);margin-bottom:16px}.tabs button{flex:1;background:none;border:0;padding:10px;font-weight:700;color:var(--muted);border-bottom:3px solid transparent;margin-bottom:-2px}.tabs button.on{color:var(--red);border-color:var(--red)}
.secure{background:var(--blue-l);border-radius:10px;padding:12px 14px;margin-top:16px;font-size:12.5px;color:var(--navy-3);display:flex;gap:10px}
.formgrid{display:flex;flex-direction:column;gap:12px}
@media(max-width:900px){.authwrap{grid-template-columns:1fr}.authside{display:none}}
.toast{position:fixed;right:18px;bottom:18px;background:var(--navy);color:#fff;padding:12px 18px;border-radius:10px;box-shadow:0 8px 30px #0005;z-index:99;max-width:420px}.toast.err{background:var(--red-d)}.toast.ok{background:var(--green)}
.spin{display:inline-block;width:18px;height:18px;border:3px solid #cdd6e8;border-top-color:var(--navy);border-radius:50%;animation:sp .8s linear infinite}@keyframes sp{to{transform:rotate(360deg)}}
.empty{text-align:center;padding:36px 18px;color:var(--muted)}.empty h3{color:var(--ink);margin-bottom:6px}
.modal-bg{position:fixed;inset:0;background:#0b1f3f99;display:flex;align-items:center;justify-content:center;z-index:50;padding:16px}.modal{background:#fff;border-radius:14px;max-width:880px;width:100%;max-height:88vh;overflow:auto;padding:20px}
pre.json{background:#f5f7fb;border-radius:8px;padding:10px;font-size:11.5px;overflow:auto;max-height:340px;white-space:pre-wrap}
.legend{display:flex;gap:16px;font-size:12px;color:var(--muted);margin-top:8px}.legend span{display:flex;gap:6px;align-items:center}
.tabsbar{display:flex;gap:6px;margin-bottom:12px;flex-wrap:wrap}.tabsbar button{border:1px solid var(--line);background:#fff;border-radius:9px;padding:8px 16px;font-weight:700}.tabsbar button.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.evrow{display:grid;grid-template-columns:110px 130px 1.2fr 1fr 1fr 120px 1fr;gap:6px;margin-bottom:6px}.evrow input,.evrow select{padding:7px 8px;font-size:12px}
.evrow.hd{font-size:11px;font-weight:800;color:var(--navy-3)}.evx{overflow:auto}.evx .evrow{min-width:900px}
.donut{display:block;margin:0 auto}

/* H04 P09: ficha · lectura · paneles (mockup). La hoja convive con la lista de jugadores: la lectura nunca queda angosta. */
.h04grid{display:grid;grid-template-columns:240px minmax(0,1fr);gap:14px;align-items:start}
.h04grid>:last-child{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:12px;align-items:start}
.h04grid>:last-child>.card{margin-bottom:0!important}
@media (min-width:1800px){.h04grid{grid-template-columns:250px minmax(0,1fr) 340px}.h04grid>:last-child{grid-column:auto;display:block}.h04grid>:last-child>.card{margin-bottom:12px!important}}
@media (max-width:900px){.h04grid{grid-template-columns:minmax(0,1fr)}}
/* H05 / H06: bloques de lectura, mapa de niveles y barras */
.bloque h3{font-size:15px;text-transform:uppercase;letter-spacing:.03em;margin:0 0 8px}
.lectura{font-size:15px;line-height:1.6;color:var(--ink);margin:0 0 8px;max-width:78ch}ul.lectura{padding-left:20px}ul.lectura li{margin-bottom:6px}
.tw{overflow-x:auto}table.mapa{min-width:860px}table.mapa th.c{text-align:center}table.mapa a{color:var(--navy-3);font-weight:700;text-decoration:none}table.mapa a:hover{text-decoration:underline}
td.nv,i.nv{text-align:center;font-weight:800;font-variant-numeric:tabular-nums}
.nv0{color:var(--muted);background:#f5f7fb}.nv1{background:#eef3fb;color:#1b3a73}.nv2{background:#d3e0f5;color:#122b55}.nv3{background:#a9c2ea;color:#0b1f3f}.nv4{background:#4f7cc7;color:#fff}.nv5{background:#1b3a73;color:#fff}
tr.sin td{color:var(--muted)}
.leyenda{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12px;color:var(--muted);margin-top:10px}.leyenda span{display:inline-flex;align-items:center;gap:6px}.leyenda i{width:14px;height:14px;border-radius:3px;display:inline-block}
.barras{display:grid;gap:7px;margin:8px 0}.barra{display:grid;grid-template-columns:minmax(120px,42%) 1fr auto;gap:10px;align-items:center;font-size:13.5px}
.barra .bt{background:#edf1f7;border-radius:999px;height:12px;overflow:hidden}.barra .bf{display:block;height:100%;border-radius:999px;min-width:2px}.barra .bv{font-weight:800;font-variant-numeric:tabular-nums;color:var(--ink);white-space:nowrap}
.apilada{display:flex;height:26px;border-radius:6px;overflow:hidden;background:#edf1f7}.apilada span{display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;font-weight:800;min-width:18px}
.perfcat{display:grid;gap:8px;margin:6px 0 4px}.perfcat .pc{display:grid;grid-template-columns:70px 1fr;gap:10px;align-items:center;font-size:13.5px}
/* H05 / H06: historia en preguntas */
.historia{display:grid;gap:12px}.historia .lectura{font-size:15.5px}
.lineas{display:grid;gap:10px}.linea{display:grid;grid-template-columns:120px minmax(0,1fr);gap:12px;border-top:1px solid var(--line);padding-top:10px}
.linea:first-child{border-top:0;padding-top:0}.linea b{font-size:12.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--navy-3);padding-top:2px}.linea .lectura{margin:0}
.g2b{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(260px,1fr);gap:14px;align-items:start}
@media(max-width:1100px){.g2b{grid-template-columns:1fr}}@media(max-width:600px){.linea{grid-template-columns:1fr;gap:4px}}
/* H05 cancha por líneas y edad relativa · H07 trayectoria */
.cancha{background:repeating-linear-gradient(180deg,#1f7a4d 0 48px,#1c7046 48px 96px);border-radius:12px;padding:10px;display:grid;gap:6px;position:relative;border:2px solid #155c39}
.cancha .fila{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:6px;position:relative;padding-top:16px;border-top:1px dashed #ffffff40}
.cancha .fila:first-child{border-top:0}.cancha em{position:absolute;top:0;left:4px;font-style:normal;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#ffffffb0}
.cancha .zona{display:flex;flex-wrap:wrap;gap:5px;justify-content:center;align-content:flex-start;min-height:44px}
.ficha{background:#fff;border-radius:8px;padding:4px 8px 4px 6px;display:grid;grid-template-columns:auto auto;column-gap:5px;align-items:center;font-size:12px;line-height:1.15;box-shadow:0 1px 2px #0003;color:var(--ink);max-width:100%}
.ficha:hover{text-decoration:none;outline:2px solid var(--gold)}.ficha b{font-size:12.5px}.ficha span{grid-column:2;font-size:10.5px;color:var(--muted)}
i.disp{width:9px;height:9px;border-radius:50%;display:inline-block;grid-row:span 2}.disp.ok{background:#0e7a3c}.disp.rs{background:#f2b705}.disp.ri{background:#14a3b8}.disp.nd{background:#8a94a6}
.trims{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;height:150px;align-items:end;padding-top:6px}
.trim{display:grid;grid-template-rows:auto 1fr auto;height:100%;text-align:center;gap:4px}.trim .tb{align-self:end;background:var(--navy-3);border-radius:6px 6px 0 0;min-height:3px}
.trim .tv{font-weight:800;color:var(--navy);font-variant-numeric:tabular-nums}.trim .tl{font-size:12px;color:var(--muted)}
.mov{font-size:12.5px;font-weight:700;white-space:nowrap}.mov.avanza{color:var(--green)}.mov.estable{color:var(--navy-3)}.mov.otro_ritmo{color:var(--muted)}
.tray-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.tray-tabs button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 14px;font-weight:600;color:var(--navy)}
.tray-tabs button.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.lchart{width:100%;max-width:640px;height:auto}.lchart text{font-size:11px;fill:var(--muted)}
@media(max-width:600px){.cancha .fila{grid-template-columns:1fr}.cancha .zona{justify-content:flex-start}}
.work>*{min-width:0}
.historia{grid-template-columns:minmax(0,1fr)}
/* Celular: cabecera compacta, menú inferior fijo, botones de nivel del tamaño del dedo, inicio simple */
@media(max-width:900px){
  .topbar{gap:10px;padding:0 12px;height:56px}
  .brand .sep,.brand .sys{display:none}.brand .club{font-size:14px}.crest{width:36px;height:36px}
  .userbox .rl{display:none}.userbox .nm{max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .topnav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--navy);justify-content:space-around;gap:0;padding:6px 4px calc(6px + env(safe-area-inset-bottom,0px));border-top:1px solid #ffffff22}
  .topnav a{padding:4px 6px;font-size:10.5px;flex:1;min-width:0;text-align:center}.topnav a.active:after{display:none}.topnav a.active{color:var(--gold)}
  main{padding-bottom:90px!important}
  .savebar{bottom:58px;flex-wrap:wrap;gap:6px;padding:8px 10px;background:var(--bg);box-shadow:0 -6px 14px rgba(11,31,63,.10);border-radius:12px 12px 0 0}
  .savebar .chip.navy{display:none}.savebar .chip{font-size:11px;padding:3px 8px}.savebar .btn{padding:9px 16px}
  .scale{gap:8px}.scale button{width:40px;height:40px;font-size:15px}
  .beh.hd{display:none}
  textarea.ev{width:100%}
  .hero{padding:22px 20px;min-height:0}.hero h1{font-size:28px}.hero .values,.hero:before,.hero:after{display:none}.hero .quote{font-size:15px}
  .head-dark{flex-wrap:wrap;gap:4px}
}
/* ¿Cómo funciona SIDF? */
.flujo{display:grid;gap:10px}.flujo-paso{display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;align-items:start;margin:0}
.flujo-paso .num{width:40px;height:40px;border-radius:50%;background:var(--navy);color:#fff;font-weight:800;font-size:18px;display:flex;align-items:center;justify-content:center}
.flujo-paso h3{margin:2px 0 4px}.flujo-paso p{margin:0}.flujo-rol{margin:6px 0 0;padding-left:20px;display:grid;gap:6px}
.mod .top h4{font-size:17px;line-height:1.15}
.con-ojo{position:relative}.con-ojo input{width:100%;padding-right:44px}.con-ojo .ojo{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:36px;height:36px;border:0;background:transparent;color:var(--muted);display:flex;align-items:center;justify-content:center;border-radius:8px}.con-ojo .ojo:hover{color:var(--navy);background:#0b1f3f0d}
/* ¿Cómo funciona SIDF? v2: pasos horizontales y bloques de color */
.pasos{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:14px;position:relative}
.paso{display:flex;flex-direction:column;gap:8px;min-width:0}
.bloque-paso{color:#fff;border-radius:12px;padding:14px 12px;display:flex;align-items:center;gap:8px;min-height:64px;position:relative}
.bloque-paso .n{width:26px;height:26px;border-radius:50%;background:#ffffff33;font-weight:800;display:flex;align-items:center;justify-content:center;flex:none}
.bloque-paso b{font-size:15px;line-height:1.15}.bloque-paso svg{width:20px;height:20px;flex:none;opacity:.9}
.paso:not(:last-child) .bloque-paso:after{content:"›";position:absolute;right:-11px;top:50%;transform:translateY(-50%);font-size:24px;color:var(--muted);z-index:1}
.paso p{margin:0;font-size:13.5px;color:var(--ink);line-height:1.35;padding:0 2px}
.rolcard{background:#fff;border-radius:12px;border-top:5px solid var(--c);box-shadow:var(--shadow);padding:12px 14px}
.rolcard .rolhead{font-weight:800;color:var(--c);font-size:14px;margin-bottom:6px}
.rolcard ol{margin:0;padding-left:18px;display:grid;gap:4px;font-size:13.5px}
.rolcard.propio{border-top-width:0;border-left:6px solid var(--c)}.rolcard.propio .rolhead{font-size:16px}
.roles{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-top:14px}
@media(max-width:900px){.pasos{grid-template-columns:1fr}.paso{flex-direction:row;align-items:center}.bloque-paso{min-width:150px;min-height:52px}.paso:not(:last-child) .bloque-paso:after{content:none}}
@media(max-width:700px){.motivo{grid-template-columns:1fr 1fr!important}}
/* Perfil de la Categoría enriquecido */
.fases{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px}
.fasecard{border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:#fbfcfe}.fasecard.vacia{opacity:.65}
.fasehead{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:6px}.fasehead b{color:var(--navy)}.fasecard p{margin:0;font-size:14px}
.chip.nvchip{font-weight:700;white-space:nowrap}
.evidencias{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:10px}
.evid{border-left:4px solid var(--green);background:#f6faf7;border-radius:8px;padding:10px 12px}.evid b{color:var(--navy)}
.evid blockquote{margin:8px 0 0;font-style:italic;font-size:13.5px;color:var(--ink)}.evid cite{display:block;font-style:normal;font-size:12px;color:var(--muted);margin-top:4px}
.construye{display:grid;gap:6px;margin-top:6px}.construye div{background:#fff8e6;border-radius:8px;padding:8px 10px;font-size:14px}
.conducta-obs{font-weight:400;font-size:13.5px;color:var(--ink);line-height:1.35;margin:2px 0 4px}
/* Hoja a todo el ancho con el plantel como selector */
.work.solo{grid-template-columns:minmax(0,1fr)}.work.solo>.card:first-child{max-width:520px}
/* Títulos siempre en mayúsculas y en el color del club; la explicación en gris */
.card>h3,.bloque>h3,.card h3{text-transform:uppercase;letter-spacing:.04em;color:var(--red-d);font-size:14.5px}
.card h3 small,.bloque h3 small{text-transform:none;letter-spacing:0;color:var(--muted);font-weight:400;font-size:12.5px;margin-left:6px}
.card .empty h3{color:var(--ink);text-transform:none;letter-spacing:0}
/* Evaluación del Técnico: bloque "Cómo evaluar" destacado */
.card.guia{border-top:5px solid var(--red-d)}
.guia-intro{margin:0 0 12px;font-size:14.5px;color:var(--ink)}
.guia-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:18px}
.guia-tit{font-weight:800;color:var(--navy);font-size:13px;text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}
.escala{display:grid;gap:6px}.esc{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:start}
.esc .nv{width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:15px}
.esc b{font-size:13.5px;color:var(--ink)}
.expo-hoy{border-radius:12px;padding:12px 14px;background:#f1f3f7;display:grid;gap:2px;margin-bottom:10px}
.expo-hoy b{font-size:20px;color:var(--navy)}.expo-hoy small{color:var(--muted)}
.expo-hoy.ok{background:var(--green-l)}.expo-hoy.ok b{color:var(--green)}.expo-hoy.warn{background:var(--amber-l)}
.expo-lista{display:grid;gap:4px;font-size:13px}
@media(max-width:900px){.guia-grid{grid-template-columns:1fr}}
.h04conductas{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px;margin-top:12px}.h04conductas>.card{margin-bottom:0!important}
.aviso-perfil{position:fixed;right:18px;bottom:18px;z-index:100;background:#fff;border-left:5px solid var(--green);border-radius:12px;box-shadow:0 10px 30px #0b1f3f33;padding:12px 40px 12px 14px;display:grid;gap:3px;max-width:360px}
.aviso-perfil b{color:var(--green)}.aviso-perfil span{font-size:13.5px}.aviso-perfil a{font-weight:700}.aviso-perfil button{position:absolute;right:8px;top:6px;border:0;background:none;font-size:20px;color:var(--muted)}
@media(max-width:900px){.aviso-perfil{bottom:76px;left:12px;right:12px;max-width:none}}
@media(min-width:901px){.topnav{display:none}.topbar{justify-content:space-between}}
/* Foto del jugador / avatar con iniciales */
.foto-jugador{position:relative;aspect-ratio:4/5;max-width:260px;border-radius:12px;overflow:hidden;margin-bottom:12px;background:linear-gradient(150deg,#d0021b 0%,#8e0013 55%,#5c000c 100%);display:grid;place-items:center}
.foto-jugador img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.foto-ini{font-size:64px;font-weight:800;color:#fff;letter-spacing:.02em;text-shadow:0 2px 10px #0004}.foto-jugador.con-foto .foto-ini{display:none}
.foto-btn{position:absolute;left:10px;bottom:10px;border:0;border-radius:999px;padding:6px 12px;background:#ffffffe6;color:var(--navy);font-weight:700;font-size:12px;box-shadow:0 2px 8px #0003}
.pendientes .marca{display:inline-flex;width:22px;height:22px;border-radius:50%;align-items:center;justify-content:center;background:#eef1f6;color:var(--muted);font-weight:800;font-size:12px}.pendientes .marca.ok{background:var(--green-l);color:var(--green)}.pendientes td.c,.pendientes th.c{text-align:center}
@media(min-width:901px){.sidebar{position:sticky;top:62px;height:calc(100vh - 62px);overflow-y:auto;align-self:flex-start}}
/* Evaluación por dimensión */
.pasos-eval{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;margin:14px 0 10px;scroll-margin-top:70px}
.paso-eval{border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 6px;display:grid;justify-items:center;gap:3px;font-size:12px;color:var(--ink)}
.paso-eval .n{width:24px;height:24px;border-radius:50%;background:#eef1f6;display:flex;align-items:center;justify-content:center;font-weight:800}
.paso-eval .tx{font-weight:700;text-align:center;line-height:1.1}.paso-eval small{color:var(--muted)}
.paso-eval.actual{border-color:var(--red-d);box-shadow:0 0 0 2px #a8001622}.paso-eval.actual .n{background:var(--red-d);color:#fff}
.paso-eval.listo .n{background:var(--green);color:#fff}
.nav-eval{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:12px 0 4px}
@media(max-width:700px){.pasos-eval{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* Ficha del jugador */
.ficha-sel{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;background:#fff;border-radius:12px;padding:12px 14px;box-shadow:var(--shadow);margin-bottom:10px}
.ficha-sel .field{min-width:180px}.ficha-sel .small{margin-left:auto;padding-bottom:10px}
.tabs-ficha{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px;position:sticky;top:62px;z-index:5;background:var(--bg);padding:6px 0}
.tabs-ficha button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 16px;font-weight:700;color:var(--navy)}
.tabs-ficha button.on{background:var(--red-d);border-color:var(--red-d);color:#fff}
@media(max-width:900px){.tabs-ficha{top:56px;overflow-x:auto;flex-wrap:nowrap}.tabs-ficha button{white-space:nowrap}}
/* Informe del Jugador (PDF) */
.inf-barra{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.informe{background:#fff;max-width:900px;margin:0 auto;padding:28px 32px;border-radius:12px;box-shadow:var(--shadow);color:var(--ink)}
.inf-head{display:flex;align-items:center;gap:12px;border-bottom:3px solid var(--red-d);padding-bottom:10px}.inf-head img{width:44px;height:44px;object-fit:contain}
.inf-head b{display:block;color:var(--navy);letter-spacing:.06em;font-size:13px}.inf-head span{font-size:12px;color:var(--muted)}.inf-per{margin-left:auto;font-weight:700;color:var(--red-d);font-size:13px}
.inf-jugador{display:grid;grid-template-columns:170px minmax(0,1fr);gap:20px;margin:18px 0}.inf-jugador .foto-jugador{max-width:170px;margin:0}.inf-jugador .foto-btn{display:none}
.inf-jugador h1{margin:4px 0 2px;color:var(--navy);font-size:28px}.inf-datos{color:var(--muted);margin-bottom:10px}
.inf-perfil,.inf-patron{border-left:4px solid var(--gold);background:#fbf6e6;border-radius:8px;padding:8px 12px;margin-top:8px}.inf-patron{border-color:var(--navy-3);background:#eef2fa}
.inf-perfil small,.inf-patron small{display:block;font-size:10.5px;letter-spacing:.08em;color:var(--muted);font-weight:700}.inf-perfil b,.inf-patron b{font-size:17px;color:var(--navy)}.inf-perfil p{margin:4px 0 0;font-size:13.5px}
.inf-cuerpo{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:22px}
.inf-lectura section{margin-bottom:14px}.informe h2{font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:var(--red-d);margin:0 0 5px}.inf-lectura p{margin:0;font-size:13.5px;line-height:1.5;text-align:justify}
.inf-lado section{margin-bottom:16px}.inf-fila{display:flex;justify-content:space-between;gap:8px;border-radius:6px;padding:6px 8px;margin-bottom:4px;font-size:12.5px}.inf-fila.verde{background:#e8f4ee}.inf-fila.ambar{background:#fbf3d6}
.inf-fila span{color:var(--muted);white-space:nowrap}.inf-nota{font-size:11.5px;color:var(--muted);margin:4px 0 0}
.inf-pie{border-top:1px solid var(--line);margin-top:14px;padding-top:8px;font-size:11px;color:var(--muted)}
@media(max-width:800px){.inf-jugador,.inf-cuerpo{grid-template-columns:1fr}}
@media print{@page{size:A4;margin:12mm}body{background:#fff}.topbar,.sidebar,.topnav,.no-print,.aviso-perfil,.toast{display:none!important}main{padding:0!important}
  .informe{box-shadow:none;border-radius:0;padding:0;max-width:none}.inf-cuerpo{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr)}.inf-jugador{grid-template-columns:150px minmax(0,1fr)}
  .informe section{break-inside:avoid}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
/* Etapa 3: dictado por voz y avisos suaves de calidad */
.dictado{position:relative;display:flex;flex-direction:column;gap:6px}
.dictado textarea{width:100%}
.mic{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;border:1px solid #cfd8e6;background:#fff;color:var(--navy);border-radius:999px;padding:5px 12px;font-size:12.5px;font-weight:700;cursor:pointer}
.mic:hover{border-color:var(--red);color:var(--red)}
.mic-ico{font-size:14px;line-height:1}
.dictado.escuchando textarea{border-color:var(--red);box-shadow:0 0 0 3px rgba(168,0,22,.12)}
.dictado.escuchando .mic{background:var(--red);border-color:var(--red);color:#fff;animation:latido 1.2s ease-in-out infinite}
@keyframes latido{0%,100%{box-shadow:0 0 0 0 rgba(168,0,22,.35)}50%{box-shadow:0 0 0 6px rgba(168,0,22,0)}}
.aviso-suave{margin-top:6px;font-size:12px;color:#6a4a00;background:var(--amber-l);border-left:3px solid #e0a800;border-radius:6px;padding:6px 10px}
.aviso-suave.bloque{margin:12px 0 0;font-size:13px}
/* ===== Diseño · paquete A: tipografía deportiva, anillos, esqueletos, ficha del jugador ===== */
:root{--display:"Barlow Condensed","Arial Narrow",Inter,sans-serif;--ring-bg:#e8edf5}
.hero h1,.card>h3,.card h3,.bloque>h3,.sectionhead,.head-dark,.ficha h2,.narr h4,.kpi .big,.big,.anillo-centro b,.cifra{font-family:var(--display)}
.card>h3,.card h3,.bloque>h3{font-size:17px;letter-spacing:.06em;font-weight:700}
.sectionhead,.head-dark{letter-spacing:.05em;font-size:15.5px}
.head-dark{background:linear-gradient(100deg,#0b1f3f 0%,#122b55 70%,#1b3a73 100%)}
.narr h4{font-size:20px;letter-spacing:.02em}
.kpi .big,.big{font-weight:800;letter-spacing:.01em;font-variant-numeric:tabular-nums}
.hero h1{font-size:46px;font-weight:800;letter-spacing:.01em}
/* Frase guía: la primera oración de cada lectura, para entrar al texto (el texto completo sigue igual) */
.frase-guia{display:block;font-weight:700;color:var(--navy);font-size:1.07em;line-height:1.45;margin-bottom:4px}
/* Anillos de avance */
.anillo-box{position:relative;flex:none}.anillo-box svg{display:block}
.anillo .arco{transition:stroke-dashoffset 1s cubic-bezier(.2,.8,.2,1)}
.anillo-centro{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;line-height:1}
.anillo-centro b{font-weight:800;color:var(--navy);font-variant-numeric:tabular-nums}.anillo-centro small{font-size:10.5px;color:var(--muted);margin-top:3px}
.anillos{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:14px;justify-items:center;padding-top:4px}
.anillo-item{display:flex;flex-direction:column;align-items:center;gap:6px}.anillo-item>span{font-size:12.5px;font-weight:700;color:var(--navy);text-transform:uppercase;letter-spacing:.04em}
.pend-cab{display:flex;gap:14px;align-items:center;margin-bottom:12px}
/* Avance de registro por categoría */
.mini-av{display:flex;align-items:center;gap:8px;min-width:120px}.mini-tr{flex:1;height:8px;background:var(--ring-bg);border-radius:6px;overflow:hidden}.mini-tr i{display:block;height:100%;border-radius:6px;transition:width .8s ease}
.mini-av span{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums;min-width:38px;text-align:right}
/* Esqueleto de carga */
.esq{display:grid;gap:12px;padding:4px 0}.esq-fila{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.esq-b{border-radius:12px;background:linear-gradient(90deg,#e6ebf3 0%,#f3f6fb 40%,#e6ebf3 80%);background-size:300% 100%;animation:esq 1.3s ease-in-out infinite}
.esq-b.alto{height:120px}.esq-b.medio{height:96px}.esq-b.largo{height:220px}
@keyframes esq{0%{background-position:100% 0}100%{background-position:0 0}}
@media (prefers-reduced-motion:reduce){.esq-b{animation:none}.anillo .arco,.mini-tr i{transition:none}}
/* Ficha del jugador (encabezado del Perfil del Jugador) */
.ficha{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:22px;align-items:center;padding:20px 22px;border-radius:14px;color:#fff;position:relative;overflow:hidden;
  background:radial-gradient(circle at 92% 10%,rgba(208,2,27,.35) 0,transparent 42%),linear-gradient(115deg,#0b1f3f 0%,#122b55 60%,#1b3a73 100%)}
.ficha:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:26px 26px;pointer-events:none}
.ficha>*{position:relative;z-index:1}
.ficha .foto-jugador{width:132px;max-width:none;margin:0;border:3px solid rgba(255,255,255,.85);box-shadow:0 8px 24px rgba(0,0,0,.35)}.ficha .foto-ini{font-size:46px}
.ficha-eyebrow{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:#f2b705;font-weight:700}
.ficha h2{font-size:38px;font-weight:800;line-height:1;margin:4px 0 8px;letter-spacing:.01em;text-transform:uppercase}
.ficha-meta{display:flex;flex-wrap:wrap;gap:6px}.ficha-meta span{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:3px 10px;font-size:12.5px;font-weight:600}
.ficha-datos{display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:8px;font-size:12px;color:#c9d4ee}.ficha-datos b{color:#fff;font-weight:600}
.ficha-links{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:10px}.ficha-links a{color:#fff;font-size:12.5px;font-weight:700;display:inline-flex;align-items:center;gap:5px;opacity:.92}.ficha-links a svg{width:16px;height:16px}
.ficha-kpis{display:flex;gap:16px;align-items:center}
.ficha-kpi{display:flex;flex-direction:column;align-items:center;gap:5px;background:rgba(255,255,255,.95);border-radius:14px;padding:10px 12px}.ficha-kpi>span{font-size:11px;font-weight:800;color:var(--navy);text-transform:uppercase;letter-spacing:.06em}
.ficha-perfil{max-width:220px;background:linear-gradient(150deg,#f7d046,#f2b705);color:#3b2a00;border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:2px}
.ficha-perfil small{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;font-weight:800;opacity:.8}.ficha-perfil b{font-family:var(--display);font-size:26px;line-height:1;font-weight:800}.ficha-perfil span{font-size:12px;line-height:1.3}
@media (max-width:1100px){.ficha{grid-template-columns:auto minmax(0,1fr)}.ficha-kpis{grid-column:1/-1;flex-wrap:wrap}}
@media (max-width:640px){.ficha{grid-template-columns:1fr;text-align:left}.ficha .foto-jugador{width:110px}.ficha h2{font-size:30px}}
/* Barras de las seis dimensiones junto al radar */
.dimbarras{display:grid;gap:7px;margin:10px 0 8px}
.dimbarra{display:grid;grid-template-columns:112px minmax(0,1fr) 34px;gap:8px;align-items:center;font-size:12.5px}
.dimbarra .dl{color:var(--ink);font-weight:600}.dimbarra .dv{font-family:var(--display);font-weight:800;font-size:15px;color:var(--navy);text-align:right;font-variant-numeric:tabular-nums}
.dimbarra .dt{position:relative;height:10px;background:var(--ring-bg);border-radius:6px}
.dimbarra .dt i{display:block;height:100%;border-radius:6px;background:linear-gradient(90deg,#1b3a73,#0b1f3f)}
.dimbarra .dt em{position:absolute;top:-3px;width:3px;height:16px;background:#c9a227;border-radius:2px;transform:translateX(-50%)}
.ficha-meta span{color:#fff}.ficha-datos{color:#dbe4f5}.ficha-datos span{color:#dbe4f5}.ficha-datos b{color:#f2b705}
/* Paquete C: asistencia del plantel */
.asis-resumen{display:flex;flex-wrap:wrap;gap:22px;align-items:center;margin-top:12px}
.asis-cambios{display:flex;flex-direction:column;justify-content:center;padding:0 10px;border-left:2px solid var(--line);margin-left:auto}
.asis-cambios b{font-size:40px;color:var(--red-d);line-height:1}.asis-cambios span{font-size:12px;color:var(--muted);max-width:150px}
.asis-herr{display:flex;flex-wrap:wrap;gap:18px 28px;align-items:flex-end;margin-top:12px}
.asis-herr label{display:block;font-size:11.5px;font-weight:700;color:var(--navy-3);margin-bottom:4px;text-transform:uppercase;letter-spacing:.04em}
.asis-herr input[type=number]{width:96px}
.asis-tabla table.t td{padding:5px 6px}.asis-tabla table.t th{white-space:nowrap}
.asis-in{width:66px;padding:5px 6px;font-size:13px}select.asis-in{width:auto;max-width:150px}
.asis-tabla tr.asis-cambio td{background:#fff8e1}.asis-tabla tr.asis-cambio td:first-child{box-shadow:inset 3px 0 0 #e0a800}
.pdf-btn{background:#fff;color:var(--navy);border:0}
/* PDF de Categoría y Club: sin menú ni filtros, tarjetas sin cortarse */
@media print{.filters,.pdf-btn{display:none!important}.card,.bloque{break-inside:avoid;box-shadow:none}.head-dark{margin-bottom:8px}}
.asis-tabla td:first-child{min-width:190px}.asis-tabla .chip{white-space:nowrap}
/* ===== Inicio estilo tablero oscuro (propuesta 3). Solo en Inicio: body.tema-oscuro ===== */
body.tema-oscuro{--d0:#060c18;--d1:#0b1424;--d2:#101c31;--d3:#16243d;--dl:rgba(255,255,255,.08);--dt:#e6ecf7;--dm:#93a3c0;background:var(--d0)}
body.tema-oscuro main{background:radial-gradient(circle at 70% -10%,rgba(208,2,27,.10),transparent 45%),var(--d0);color:var(--dt)}
body.tema-oscuro .topbar,body.tema-oscuro .sidebar{background:#081122;border-color:var(--dl)}
/* Portada */
.hero3{position:relative;overflow:hidden;border-radius:16px;min-height:230px;padding:30px 34px;background:linear-gradient(100deg,#0b1424 0%,#0b1424 38%,#101c31 100%);border:1px solid var(--dl);border-left:4px solid #e11d2e;display:flex;align-items:center}
.hero3-cancha{position:absolute;right:0;top:0;height:100%;width:68%;opacity:.95;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 30%);mask-image:linear-gradient(90deg,transparent 0,#000 30%)}
.hero3-txt{position:relative;z-index:1;max-width:560px}
.hero3-eyebrow{color:#ff3b4e;font-weight:800;letter-spacing:.12em;text-transform:uppercase;font-size:13px}
.hero3 h1{font-family:var(--display);font-size:52px;line-height:.98;font-weight:800;color:#fff;margin:6px 0 8px}
.hero3-sub{color:#dbe4f5;font-size:17px}.hero3-quote{color:#b9c6de;font-style:italic;font-size:16px;margin-top:10px;max-width:440px}
.hero3 .bar{height:4px;width:96px;background:linear-gradient(90deg,#e11d2e 55%,#f2b705 55%);margin-top:14px;border-radius:2px}
.hero3-vals{position:absolute;right:26px;top:24px;z-index:1;color:#fff;font-family:var(--display);font-size:16px;letter-spacing:.18em;line-height:1.55;border-left:3px solid #e11d2e;padding:8px 18px;background:rgba(6,12,24,.55);border-radius:4px}
.hero3-vals i{display:block;height:3px;width:70px;margin-top:8px;background:linear-gradient(90deg,#e11d2e 55%,#f2b705 55%)}
/* Filtros */
body.tema-oscuro .filters{background:var(--d1);border:1px solid var(--dl);border-radius:14px;padding:12px 14px;margin:14px 0}
body.tema-oscuro .filters label,body.tema-oscuro .field label{color:var(--dm);text-transform:uppercase;letter-spacing:.06em;font-size:11px}
body.tema-oscuro select,body.tema-oscuro input{background:var(--d2);color:var(--dt);border-color:rgba(255,255,255,.14)}
body.tema-oscuro .linkcard{background:var(--d2);border-color:rgba(255,255,255,.14);color:#fff;text-transform:uppercase;font-size:12.5px;letter-spacing:.04em}
/* Cifras */
.k3-fila{display:grid;grid-template-columns:repeat(5,minmax(0,1fr)) minmax(0,1.7fr);gap:12px;margin-bottom:14px}
.k3{display:flex;align-items:center;gap:12px;background:var(--d1);border:1px solid var(--dl);border-radius:14px;padding:14px 16px;color:var(--dt);min-width:0}
.k3 .big{font-size:34px;color:#fff;line-height:1}.k3-l{font-size:12.5px;color:var(--dm)}
.k3-ic{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.06);color:#c9d4ee;flex:none}.k3-ic svg{width:24px;height:24px}
.k3.verde .k3-ic{background:rgba(34,197,94,.14);color:#4ade80}.k3.verde .k3-l{color:#4ade80}
.k3.ambar .k3-ic{background:rgba(242,183,5,.14);color:#f2b705}.k3.ambar .k3-l{color:#f2b705}
.k3.rojo .k3-ic{background:rgba(225,29,46,.16);color:#ff3b4e}.k3.rojo .k3-l{color:#ff3b4e}
.k3 .anillo-centro b{display:none}
a.k3-sig,div.k3-sig{text-decoration:none;color:var(--dt)}.k3-sig small{display:block;font-size:11px;color:var(--dm);text-transform:uppercase;letter-spacing:.08em}
.k3-sig b{display:block;font-family:var(--display);font-size:20px;color:#fff;letter-spacing:.02em}.k3-sig span{font-size:12.5px;color:#c9d4ee}
a.k3-sig:hover{border-color:#e11d2e;text-decoration:none}a.k3-sig>svg{color:#fff}
/* Paneles */
.p3-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) minmax(0,.9fr);gap:12px}
.p3-col{display:grid;gap:12px;align-content:start}
.p3{background:var(--d1);border:1px solid var(--dl);border-radius:14px;padding:16px 18px;position:relative;overflow:hidden;min-width:0}
.p3:before{content:"";position:absolute;left:0;top:16px;bottom:16px;width:3px;background:#e11d2e;border-radius:0 3px 3px 0}
.p3-cab{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:8px}
.p3 h3{font-family:var(--display);color:#fff;font-size:18px;letter-spacing:.06em;text-transform:uppercase;margin:0}.p3-cab small{color:var(--dm);font-size:12px}
.p3-ir{width:32px;height:32px;border-radius:8px;border:1px solid rgba(255,255,255,.16);display:flex;align-items:center;justify-content:center;color:#fff}.p3-ir:hover{border-color:#e11d2e;text-decoration:none}.p3-ir svg{width:16px;height:16px}
.p3-vacio{color:var(--dm);font-size:13px;padding:30px 6px;text-align:center}
.p3-perfiles{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.p3 .anillo-centro b{color:#fff}.p3 .anillo-centro small{color:var(--dm)}
.p3-ley{display:grid;gap:7px;flex:1;min-width:160px}.p3-ley div{display:grid;grid-template-columns:12px 1fr auto;gap:8px;align-items:center;font-size:13px;color:#dbe4f5}.p3-ley i{width:11px;height:11px;border-radius:50%}.p3-ley b{font-family:var(--display);font-size:16px;color:#fff}
.p3 .anillos{gap:10px}.p3 .anillo-item>span{color:#dbe4f5;font-size:11.5px}
.p3-avisos{display:grid;gap:8px}
.p3-aviso{display:grid;grid-template-columns:12px 1fr auto;gap:10px;align-items:center;background:var(--d2);border:1px solid var(--dl);border-radius:10px;padding:10px 12px;font-size:13px;color:#dbe4f5}
.p3-aviso b{font-family:var(--display);font-size:18px;color:#fff;margin-right:2px}
.p3-aviso i{width:10px;height:10px;border-radius:50%}.p3-aviso em{font-style:normal;font-size:11px;font-weight:700;padding:3px 8px;border-radius:6px}
.p3-aviso .rojo{background:#ff3b4e}.p3-aviso em.rojo{background:rgba(225,29,46,.18);color:#ff6b78}
.p3-aviso .ambar{background:#f2b705}.p3-aviso em.ambar{background:rgba(242,183,5,.16);color:#f2b705}
.p3-aviso .azul{background:#3b82f6}.p3-aviso em.azul{background:rgba(59,130,246,.18);color:#7fb0ff}
.p3-aviso .gris{background:#93a3c0}.p3-aviso em.gris{background:rgba(255,255,255,.08);color:#c9d4ee}
.p3-ok{display:flex;gap:10px;align-items:center;color:#4ade80;font-weight:700;padding:20px 4px}.p3-ok svg{width:22px;height:22px}
/* Módulos y tarjetas en oscuro */
.h3-sec{font-family:var(--display);color:#fff;font-size:20px;letter-spacing:.06em;text-transform:uppercase;margin:18px 0 10px}
.mods3{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}
body.tema-oscuro .mod{background:var(--d1);border:1px solid var(--dl);box-shadow:none;color:var(--dt)}
body.tema-oscuro .mod .bd span:first-child{color:var(--dm)}
body.tema-oscuro .card{background:var(--d1);border:1px solid var(--dl);box-shadow:none;color:var(--dt)}
body.tema-oscuro .card>h3,body.tema-oscuro .card h3{color:#fff}body.tema-oscuro .card h3 small,body.tema-oscuro .muted,body.tema-oscuro .small.muted{color:var(--dm)}
body.tema-oscuro table.t th{background:var(--d2);color:var(--dm);border-color:var(--dl)}body.tema-oscuro table.t td{border-color:var(--dl);color:var(--dt)}
body.tema-oscuro table.t tr:hover td{background:rgba(255,255,255,.03)}body.tema-oscuro table.t b{color:#fff}
body.tema-oscuro .btn.ghost{background:var(--d2);color:#fff;border-color:rgba(255,255,255,.16)}
body.tema-oscuro .mini-tr,body.tema-oscuro .bar{background:rgba(255,255,255,.08)}
body.tema-oscuro .anillo-centro b{color:#fff}body.tema-oscuro .pendientes .marca{background:rgba(255,255,255,.08)}
body.tema-oscuro .empty{color:var(--dm)}body.tema-oscuro .esq-b{background:linear-gradient(90deg,#0f1a2e 0%,#17253f 40%,#0f1a2e 80%);background-size:300% 100%}
body.tema-oscuro{--ring-bg:rgba(255,255,255,.09)}
@media (max-width:1280px){.k3-fila{grid-template-columns:repeat(3,minmax(0,1fr))}.k3-sig{grid-column:span 3}.p3-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.p3-grid>.p3:last-child{grid-column:1/-1}}
@media (max-width:760px){.k3-fila{grid-template-columns:repeat(2,minmax(0,1fr))}.k3-sig{grid-column:span 2}.p3-grid{grid-template-columns:1fr}.hero3{padding:22px 20px;min-height:0}.hero3 h1{font-size:34px}.hero3-vals{display:none}.hero3-cancha{width:100%;opacity:.35}}
body.tema-oscuro .hero3 .bar{background:linear-gradient(90deg,#e11d2e 55%,#f2b705 55%)}
/* ===== Menú lateral: íconos de color (el color de cada hoja) y separaciones visibles ===== */
.sidebar a{border-radius:0;border-bottom:1px solid rgba(255,255,255,.09);align-items:center;padding:9px 10px}
.sidebar a.active{border-radius:10px;border-bottom-color:transparent}
.side-ic{width:32px;height:32px;border-radius:9px;display:flex;align-items:center;justify-content:center;flex:none;background:var(--sic,#2a3b5c);color:#fff;box-shadow:0 2px 6px rgba(0,0,0,.25)}
.side-ic svg{width:18px!important;height:18px!important;margin:0!important}
.side-ic.rojo,.side-ic.c-h01{--sic:#d0021b}.side-ic.oro,.side-ic.c-h05{--sic:#e0a800}.side-ic.cian{--sic:#0e9fb8}.side-ic.c-h03{--sic:#0e7a3c}
.side-ic.c-h02{--sic:#1d4fb4}.side-ic.c-h04{--sic:#3a5a99}.side-ic.c-h06{--sic:#6b2fa0}.side-ic.neutro{--sic:#2a3b5c}
.sidebar a.active .side-ic{background:#fff;color:var(--red)}
/* ===== Inicio: bienvenida y qué es SIDF ===== */
.que-es{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:22px;margin-top:16px;background:var(--d1);border:1px solid var(--dl);border-radius:16px;padding:24px}
.que-es-txt h2{font-family:var(--display);font-size:30px;line-height:1.05;color:#fff;margin:6px 0 12px;font-weight:800}
.que-es-txt p{color:#c9d4ee;font-size:15px;line-height:1.6;margin:0 0 10px}
.pilares{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.pilar{background:var(--d2);border:1px solid var(--dl);border-radius:14px;padding:16px;border-top:3px solid var(--pc)}
.pilar.rojo{--pc:#ff3b4e}.pilar.azul{--pc:#3b82f6}.pilar.verde{--pc:#22c55e}.pilar.oro{--pc:#f2b705}
.pilar-cab{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.pilar-n{font-family:var(--display);font-size:30px;font-weight:800;color:var(--pc);line-height:1}
.pilar-ic{width:38px;height:38px;border-radius:10px;background:color-mix(in srgb,var(--pc) 18%,transparent);color:var(--pc);display:flex;align-items:center;justify-content:center}
.pilar b{font-family:var(--display);font-size:21px;color:#fff;letter-spacing:.03em;text-transform:uppercase}.pilar p{color:#c9d4ee;font-size:13.5px;line-height:1.5;margin:6px 0 0}
.objetivo{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;margin-top:14px;padding:18px 22px;border-radius:16px;background:linear-gradient(100deg,#a80016,#d0021b 60%,#e0a800 140%);color:#fff}
.objetivo small{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:11.5px;font-weight:800;opacity:.85}.objetivo b{font-family:var(--display);font-size:24px;line-height:1.15;font-weight:800}
.objetivo .btn.red{background:#fff;color:var(--red-d)}.objetivo .btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.6)}
@media (max-width:980px){.que-es{grid-template-columns:1fr}.pilares{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.pilares{grid-template-columns:1fr}}
/* ===== Panorama: siguiente paso destacado y avisos bajo las cifras ===== */
body.tema-oscuro .head-dark{background:var(--d1);border:1px solid var(--dl)}
.sig-fila{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:12px;margin-bottom:12px}
.sig3{display:flex;align-items:center;gap:16px;padding:18px 20px;border-radius:14px;background:linear-gradient(110deg,#e0a800 0%,#f2b705 55%,#ffd54a 100%);color:#2b1d00;text-decoration:none;box-shadow:0 10px 26px rgba(242,183,5,.18)}
.sig3:hover{text-decoration:none;filter:brightness(1.05)}
.sig3.ok{background:linear-gradient(110deg,#0e7a3c,#22c55e);color:#fff;box-shadow:none}
.sig3-ic{width:48px;height:48px;border-radius:50%;background:rgba(0,0,0,.14);display:flex;align-items:center;justify-content:center;flex:none}.sig3-ic svg{width:26px;height:26px}
.sig3 small{display:block;text-transform:uppercase;letter-spacing:.1em;font-size:11.5px;font-weight:800;opacity:.8}
.sig3 b{display:block;font-family:var(--display);font-size:28px;line-height:1.05;font-weight:800}.sig3 span{font-size:13.5px;font-weight:600}
.sig3-btn{display:inline-flex;align-items:center;gap:4px;background:#0b1424;color:#fff!important;border-radius:999px;padding:8px 14px;font-size:13px!important;font-weight:800!important;white-space:nowrap}
.k3-fila{grid-template-columns:repeat(5,minmax(0,1fr))}
.p3-grid.dos{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
@media (max-width:1100px){.sig-fila{grid-template-columns:1fr}}
@media (max-width:1280px){.k3-fila{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){.k3-fila{grid-template-columns:repeat(2,minmax(0,1fr))}.p3-grid.dos{grid-template-columns:1fr}}
/* ===== Hojas: con un jugador elegido solo queda un selector para cambiarlo ===== */
.card.sel-jugador{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end;margin-bottom:12px}.card.sel-jugador .field{flex:1;min-width:240px;max-width:460px}
/* ===== Cómo funciona: objetivo y participación ===== */
.flujo-obj{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:20px;align-items:center;background:linear-gradient(115deg,#0b1f3f,#1b3a73);color:#fff;border-radius:16px;padding:24px 26px;margin-bottom:16px;border-left:4px solid var(--red)}
.flujo-obj small{text-transform:uppercase;letter-spacing:.12em;font-size:11.5px;font-weight:800;color:#f2b705}
.flujo-obj h2{font-family:var(--display);font-size:30px;line-height:1.08;margin:6px 0 10px;font-weight:800}.flujo-obj p{color:#dbe4f5;font-size:14.5px;line-height:1.55;margin:0}
.flujo-ecuacion{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:center}
.flujo-ecuacion .term{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.25);border-radius:10px;padding:8px 12px;font-weight:700;font-size:13.5px}
.flujo-ecuacion .term.res{background:#f2b705;color:#2b1d00;border-color:#f2b705;font-family:var(--display);font-size:17px}.flujo-ecuacion .op{font-family:var(--display);font-size:22px;color:#f2b705}
.flujo-tit{font-family:var(--display);font-size:22px;text-transform:uppercase;letter-spacing:.05em;color:var(--red-d);margin:4px 0 2px}.flujo-sub{color:var(--muted);margin:0 0 12px}
.aportes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}
.aporte{background:#fff;border-radius:14px;padding:16px;box-shadow:var(--shadow);border-top:4px solid var(--c)}
.aporte.propio{outline:2px solid var(--c);outline-offset:2px}
.aporte-ic{width:42px;height:42px;border-radius:12px;background:var(--c);color:#fff;display:flex;align-items:center;justify-content:center;margin-bottom:10px}
.aporte b{font-family:var(--display);font-size:19px;color:var(--navy);text-transform:uppercase;letter-spacing:.03em}.aporte p{font-size:13.5px;line-height:1.5;color:#3a4863;margin:6px 0 0}
@media (max-width:1100px){.aportes{grid-template-columns:1fr 1fr}.flujo-obj{grid-template-columns:1fr}}
@media (max-width:560px){.aportes{grid-template-columns:1fr}}
.p3-grid.dos{align-items:start}
/* ===== Perfil de la Categoría: ficha, rueda de fases y cancha de líneas ===== */
.ficha-cat{margin-bottom:12px}
.ficha-escudo{width:120px;height:132px;border-radius:14px 14px 50% 50%/14px 14px 38% 38%;background:linear-gradient(160deg,#d0021b,#7a0010);border:3px solid rgba(255,255,255,.85);display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(0,0,0,.35)}
.ficha-escudo small{font-family:var(--display);font-size:16px;letter-spacing:.2em;color:#f2b705;font-weight:800}.ficha-escudo span{font-family:var(--display);font-size:58px;line-height:.9;font-weight:800;color:#fff}
.ficha-caracter{font-size:17px;line-height:1.45;color:#e6ecf7;margin:2px 0 0;max-width:62ch;font-style:italic}
.rueda-wrap{display:grid;grid-template-columns:auto minmax(0,1fr);gap:24px;align-items:center}
.rueda svg{display:block;max-width:100%;height:auto}.rueda .sector:hover path{filter:brightness(1.08)}
.fase-panel{background:#f6f8fc;border-radius:14px;padding:18px 20px;border-left:4px solid var(--red);min-width:0}
.fase-cab{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap}.fase-cab h4{font-family:var(--display);font-size:24px;color:var(--navy);text-transform:uppercase;letter-spacing:.03em;margin:0}
.fase-dato{display:flex;align-items:baseline;gap:8px;margin:10px 0 6px}.fase-dato b{font-family:var(--display);font-size:44px;color:var(--red-d);line-height:1}.fase-dato span{color:var(--muted);font-size:13.5px}
.fase-panel .lectura{margin:6px 0 12px}
.fase-botones{display:flex;flex-wrap:wrap;gap:6px}.fase-botones button{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:5px 11px;font-size:12.5px;font-weight:700;color:var(--navy)}
.fase-botones button.on{border-color:var(--red);box-shadow:0 0 0 2px rgba(208,2,27,.15)}.fase-botones i{width:11px;height:11px;border-radius:50%;display:inline-block}
.fase-escala{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px;font-size:11.5px;color:var(--muted)}.fase-escala span{display:inline-flex;align-items:center;gap:5px}.fase-escala i{width:18px;height:10px;border-radius:3px;display:inline-block}
.lineas-cancha{display:grid;grid-template-columns:auto minmax(0,1fr);gap:22px;align-items:center}.cancha-lineas{display:block;max-width:100%;height:auto;border-radius:12px;box-shadow:0 6px 18px rgba(11,31,63,.18)}
.evidencias .evid blockquote{font-size:15px;line-height:1.5;color:var(--navy);border-left:4px solid var(--red);background:#fff;padding:10px 14px;border-radius:0 10px 10px 0;margin:10px 0 0;font-style:italic}
.evidencias .evid blockquote cite{display:block;font-style:normal;font-size:11.5px;color:var(--muted);margin-top:6px}
@media (max-width:900px){.rueda-wrap,.lineas-cancha{grid-template-columns:1fr;justify-items:center}.fase-panel{width:100%}}
@media print{.rueda-wrap{grid-template-columns:300px 1fr}}
/* ===== Perfil del Club: ficha, sello del jugador UE, matriz del recorrido y línea de categorías ===== */
.ficha-club{margin-bottom:12px}
.ficha-escudo.club{background:#fff;border-radius:50%;width:124px;height:124px}.ficha-escudo.club img{width:92px;height:92px;object-fit:contain}.ficha-escudo.club span{color:var(--red);font-size:44px}
.sello-tit{font-family:var(--display);font-size:16px;letter-spacing:.08em;text-transform:uppercase;color:var(--navy);margin:16px 0 8px}
.sello{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.insignia{background:#fff;border-radius:16px;padding:18px 14px 16px;text-align:center;box-shadow:var(--shadow);border-top:5px solid var(--c);display:flex;flex-direction:column;align-items:center;gap:6px}
.insignia-ic{width:64px;height:64px;border-radius:50%;background:var(--c);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 6px color-mix(in srgb,var(--c) 18%,transparent)}.insignia-ic svg{width:30px;height:30px}
.insignia small{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700;margin-top:6px}
.insignia b{font-family:var(--display);font-size:20px;line-height:1.1;color:var(--navy)}.insignia span{font-size:12.5px;color:#3a4863;line-height:1.4}
.matriz{background:#f6f8fc;border-radius:14px;padding:16px;overflow-x:auto}
.mz-tit{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;color:var(--muted);font-size:12px}.mz-tit span{font-weight:800;color:var(--navy)}.mz-tit em{font-style:normal}
.mz-fila{display:grid;grid-template-columns:150px repeat(8,minmax(44px,1fr));align-items:center;min-width:560px}
.mz-fila>b{font-size:13px;color:var(--navy)}.mz-cab span{text-align:center;font-family:var(--display);font-size:20px;font-weight:800;color:var(--navy)}.mz-cab span.sin{color:#b7c0d0}
.mz-celda{height:42px;display:flex;align-items:center;justify-content:center;border-left:1px dashed #d8dfeb}.mz-celda.sin{background:repeating-linear-gradient(45deg,#eef1f6 0 6px,#f6f8fc 6px 12px)}
.mz-punto{width:20px;height:20px;border-radius:50%;display:inline-block;box-shadow:0 2px 6px rgba(11,31,63,.25)}
.mz-vacio{width:16px;height:16px;border-radius:50%;display:inline-block;border:2px solid #b7c4dc;background:#fff}
.mz-sin{width:18px;height:12px;display:inline-block;border-radius:3px;background:repeating-linear-gradient(45deg,#dfe4ec 0 4px,#f6f8fc 4px 8px)}
.mz-ley{display:flex;flex-wrap:wrap;gap:16px;margin-top:10px;font-size:12px;color:var(--muted)}.mz-ley span{display:inline-flex;align-items:center;gap:6px}.mz-ley .mz-punto{width:14px;height:14px}.mz-ley .mz-vacio{width:12px;height:12px}
.linea-cats{position:relative;display:grid;gap:14px;padding-left:8px}
.linea-cats:before{content:"";position:absolute;left:31px;top:10px;bottom:10px;width:4px;border-radius:2px;background:linear-gradient(#f2b705,#d0021b,#0b1f3f)}
.lc-paso{display:grid;grid-template-columns:50px minmax(0,1fr);gap:14px;align-items:start;position:relative}
.lc-nodo{width:50px;height:50px;border-radius:50%;background:#0b1f3f;color:#fff;border:4px solid #fff;box-shadow:0 0 0 2px #0b1f3f;display:flex;align-items:center;justify-content:center;font-family:var(--display);font-size:20px;font-weight:800;z-index:1}
.lc-txt{background:#fff;border-radius:12px;padding:12px 14px;box-shadow:var(--shadow)}.lc-txt b{font-family:var(--display);font-size:17px;color:var(--red-d);letter-spacing:.04em}.lc-txt .lectura{margin:4px 0 0}
@media (max-width:1100px){.sello{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:640px){.sello{grid-template-columns:1fr 1fr}}
.ficha-claves{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.ficha-claves .clave{display:flex;flex-direction:column;border-radius:10px;padding:7px 12px;font-weight:800;font-size:14px;color:#fff;border:1px solid rgba(255,255,255,.25)}
.ficha-claves .clave small{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;opacity:.85}
.ficha-claves .fuerte{background:rgba(34,197,94,.22)}.ficha-claves .margen{background:rgba(242,183,5,.22)}
/* Los perfiles del plantel */
.perfiles-plantel{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-top:10px}
.pp{background:#fff;border-radius:14px;padding:14px 16px;box-shadow:var(--shadow);border-top:4px solid var(--c)}
.pp-cab{display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex-wrap:wrap}.pp-cab b{font-family:var(--display);font-size:21px;color:var(--c);text-transform:uppercase;letter-spacing:.03em}
.pp-cab small{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.pp-def{font-size:13.5px;color:#3a4863;line-height:1.5;margin:6px 0}.pp-aporte{font-size:13.5px;line-height:1.5;margin:0;color:var(--navy);font-weight:600;border-left:3px solid var(--c);padding-left:8px}
.momentos{margin-top:10px}.momentos small{display:block;font-size:11.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}
.momentos div{display:flex;flex-wrap:wrap;gap:8px}.momento{border-radius:999px;padding:6px 14px;font-weight:700;font-size:13px;color:#fff;background:#0b2a63}
.momento.m1{background:#2a5bb0}.momento.m2{background:#4f7cc7}.momento.m3{background:#7d9fd9;color:#0b1f3f}.momento.m4,.momento.m5{background:#c6d5ef;color:#0b1f3f}
/* Lo que dicen los partidos */
.partidos-com{display:grid;gap:10px;margin-top:8px}.pc-item{background:#fff;border-radius:12px;padding:12px 14px;box-shadow:var(--shadow);border-left:4px solid var(--red)}
.pc-cab{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.pc-cab b{font-family:var(--display);font-size:17px;color:var(--navy);text-transform:uppercase}.pc-cab span{font-size:12px;color:var(--muted)}
.pc-item p{margin:6px 0 0;font-size:14.5px;line-height:1.55;color:#3a4863;white-space:pre-wrap}
/* Trayectoria: línea de tiempo del jugador */
.linea-tiempo{display:flex;align-items:stretch;gap:0;overflow-x:auto;padding:6px 2px 10px}
.lt-estacion{flex:0 0 220px;background:#fff;border-radius:14px;box-shadow:var(--shadow);padding:14px;border-top:4px solid #a9c2ea;display:flex;flex-direction:column;gap:6px}
.lt-estacion.actual{border-top-color:var(--red)}
.lt-per{font-size:11.5px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.lt-perfil{font-family:var(--display);font-size:22px;font-weight:800;color:var(--navy);line-height:1.05}
.lt-dato{font-size:13px;color:var(--ink)}.lt-dato small{display:block;font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.lt-paso{flex:0 0 120px;display:flex;align-items:center;justify-content:center;position:relative;padding:0 6px}
.lt-paso:before{content:"";position:absolute;left:0;right:0;top:50%;height:3px;background:#c6d5ef}
.lt-paso.avanza:before{background:linear-gradient(90deg,#c6d5ef,#0e7a3c)}
.lt-paso span{position:relative;background:var(--bg);font-size:11.5px;font-weight:700;color:var(--navy);text-align:center;padding:4px 6px;border-radius:8px;border:1px solid #c6d5ef}
.lt-paso.avanza span{color:#0e7a3c;border-color:#9fd6b3}
.work.solo.vacio>:last-child{order:-1}   /* sin jugador elegido: el resumen va antes del plantel */
/* P24 · cancha de perfiles (H05): perfiles por zona, sin nombres */
.perfil-zona{display:inline-block;background:#ffffffeb;color:#0b1f3f;border-left:4px solid var(--c);border-radius:6px;padding:4px 8px;font-size:11.5px;font-weight:700}
/* P25 · H04 lectura del período bajo el perfil · H05 perfiles plegados */
.ficha-perfil .ficha-lectura{display:block;margin-top:6px;font-style:normal;font-size:12px;font-weight:700;opacity:.9}
.pp-plegado>summary{cursor:pointer;font-weight:700;color:var(--navy);margin:6px 0 10px}
/* P26 · Paleta con reglas (auditoría oct-2026)
   Navy UE: base · Rojo UE: marca, títulos, menú activo y acción principal · Oro: solo el Perfil SIDF del jugador
   Azul dato: evaluación del técnico · Turquesa: autoevaluación · Estados: verde / ámbar / gris (el rojo no es un estado)
   Menú por familias: navegación (gris azulado) · captura H01-H03 (turquesa) · lecturas H04-H07 (azul) · gestión (gris) */
.side-ic.rojo,.side-ic.oro,.side-ic.cian{--sic:#3a4d73}
.side-ic.c-h03,.side-ic.c-h01,.side-ic.c-h02{--sic:#0e8fa6}
.side-ic.c-h04,.side-ic.c-h05,.side-ic.c-h06{--sic:#1d4fb4}
.side-ic.neutro{--sic:#44536f}
.sig3{background:linear-gradient(110deg,#a80016 0%,#d0021b 55%,#e0303f 100%);color:#fff}
.sig3-ic{background:rgba(255,255,255,.16)}
.sig3-btn{background:#fff;color:#a80016!important}
.k3.rojo .k3-ic{background:rgba(148,163,184,.16);color:#cbd5e1}.k3.rojo .k3-l{color:#cbd5e1}
.pill.red{background:#eef1f6;color:#3a4863}
.dimbarra .dt i{background:linear-gradient(90deg,#3b6fd8,#1d4fb4)}
.dimbarra .dt em{background:#14a3b8}

/* Celular: el formulario no se sale de la pantalla y «Más» abre el menú completo */
@media(max-width:900px){
  .field{min-width:0}.field input,.field select,.field textarea{width:100%;min-width:0;box-sizing:border-box}
  .formgrid .grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.menu-abierto .sidebar{display:flex;position:fixed;left:0;top:0;bottom:0;width:min(300px,86vw);z-index:60;overflow-y:auto;padding-bottom:90px;box-shadow:0 0 0 100vmax rgba(6,12,24,.55)}
}
@media(max-width:420px){.formgrid .grid{grid-template-columns:1fr!important}}

/* Un texto largo sin espacios nunca empuja la pantalla hacia el lado */
.field>div{overflow-wrap:anywhere}

/* Revisión de la Jefatura en el Perfil del Jugador */
.card.publicacion{margin-top:12px;border-left:4px solid var(--navy)}.card.publicacion textarea{width:100%;box-sizing:border-box}
/* Dato prellenado desde el UE Football Hub */
.hub-tag{display:inline-block;margin-top:3px;font-size:10px;font-weight:800;letter-spacing:.04em;color:#0e8fa6;background:#e6f6f9;border-radius:6px;padding:1px 6px}
/* Uso de SIDF (Panorama, Jefatura y administrador) */
.uso-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin:8px 0 12px}
.uso-tile{background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:2px}
.uso-tile b{font-family:var(--display);font-size:28px;line-height:1;color:var(--navy)}.uso-tile span{font-size:12.5px;font-weight:600}.uso-tile small{font-size:11px;color:var(--muted)}
body.tema-oscuro .uso-tile{background:var(--d2);border-color:var(--dl)}body.tema-oscuro .uso-tile b{color:#fff}body.tema-oscuro .uso-tile small{color:var(--dm)}
/* Trayectoria: curva de cada conducta */
.t.mapa tr.fila-dim td{background:var(--soft,#f3f6fb);font-size:12px;letter-spacing:.04em;text-transform:uppercase}
.curva-c{display:block}
/* Aviso de señal (evaluar sin conexión) */
.barra-senal{position:fixed;left:0;right:0;top:0;z-index:70;display:grid;gap:6px;padding:calc(8px + env(safe-area-inset-top,0px)) 16px 8px;background:#0b1f3f;color:#fff;font-size:13.5px;box-shadow:0 4px 16px rgba(6,12,24,.25)}
.barra-senal .err{color:#ffd7d7}.barra-senal .btn{margin-left:6px;color:#fff;border-color:rgba(255,255,255,.4)}
/* Solicitudes de corrección (Revisión de la Jefatura) */
.solicitud{border-top:1px solid var(--line);padding:10px 0}.solicitud:first-of-type{border-top:0}
/* Protección de la información (piloto): marca de agua con quien mira, sin copiar, sin imprimir fuera de los PDF oficiales */
.marca-agua{position:fixed;inset:0;pointer-events:none;z-index:9999;background-repeat:repeat;-webkit-print-color-adjust:exact;print-color-adjust:exact}
body.protegido #app{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
body.protegido #app input,body.protegido #app textarea,body.protegido #app select{-webkit-user-select:text;user-select:text}
body.nublado #app{filter:blur(16px)}
@media print{body.protegido:not(.permite-imprimir) #app,body.protegido:not(.permite-imprimir) .barra-senal{display:none!important}
  body.protegido:not(.permite-imprimir)::before{content:'La impresión de SIDF no está permitida. Los informes en PDF los descarga la Jefatura Técnica.';display:block;padding:40px;font:16px Arial,sans-serif}}
/* Glosa de la Evaluación del Técnico */
.glosa-eval{border-left:5px solid var(--red);background:linear-gradient(90deg,#fff7f7,#fff 60%)}.glosa-eval p{margin:8px 0 0;line-height:1.55;max-width:75ch}
/* Desvinculación */
.desv-periodo{margin-top:10px}.desv-dims{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:4px 14px;margin-top:8px}
.desv-dims div{display:flex;justify-content:space-between;gap:8px;border-bottom:1px solid var(--line);padding:4px 0;font-size:13px}.desv-dims small{color:var(--muted,#64748b);text-align:right}
.desv-motivos{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px}
.desv-motivo{display:grid;gap:4px;text-align:left;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer;font:inherit}
.desv-motivo span{font-size:12.5px;color:var(--muted,#64748b)}.desv-motivo.on{border-color:var(--red);box-shadow:0 0 0 2px rgba(168,0,22,.15)}
/* Identidad SIDF: el logo es un recuadro de esquinas redondeadas (no un escudo circular) */
.crest.sidf{border-radius:9px;background:#0b1f3f;border:1px solid #ffffff2e}.crest.sidf img{object-fit:cover;background:#0b1f3f}
.authform .logo .crest{border-radius:18px;background:#0b1f3f}.authform .logo .crest img{object-fit:cover;background:#0b1f3f}
.auth-marca{width:min(260px,70%);border-radius:28px;box-shadow:0 18px 40px rgba(0,0,0,.45)}
.inf-head img{border-radius:10px}
.brand .sys{line-height:1.12}.brand .sys b{font-size:15px;line-height:1.05;letter-spacing:.5px}
/* Perfil de la Categoría v2: pestañas, tarjetas y barras de nivel (escala hablada) */
.cat-pestanas{margin-top:12px}.cat-panel{margin-top:4px}.cat-panel.oculto{display:none}
.cat-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.cat-card{display:grid;gap:8px;align-content:start}.cat-card-tit{display:flex;align-items:center;gap:8px;font:700 12px/1.2 var(--body,inherit);letter-spacing:.06em;text-transform:uppercase;color:var(--red,#a80016)}
.cat-card-tit svg{width:18px;height:18px}.cat-card p{margin:0;line-height:1.5}
.cat-card ul{margin:0;padding:0;list-style:none;display:grid;gap:8px}.cat-card li{display:grid;gap:2px}.cat-card li span{font-size:12.5px;color:var(--muted,#64748b)}
.nv-barras{display:grid;gap:10px}.nv-grupo{display:grid;gap:2px}.nv-grupo p{margin:0 0 0 2px}
.nv-fila{display:grid;grid-template-columns:minmax(110px,170px) 1fr minmax(150px,190px);gap:10px;align-items:center;font-size:13.5px}
.nv-et{font-weight:600}.nv-lv{font-size:12.5px;color:var(--muted,#64748b)}
.nv-pista{height:12px;border-radius:6px;background:#e7ecf4;overflow:hidden}.nv-pista i{display:block;height:100%;border-radius:6px}
@media(max-width:640px){.nv-fila{grid-template-columns:1fr;gap:4px}}
.perfiles-anillo{display:flex;flex-wrap:wrap;gap:18px;align-items:center}
.pa-leyenda{display:grid;gap:8px;min-width:0}.pa-leyenda div{display:grid;grid-template-columns:14px auto;column-gap:8px;align-items:center}
.pa-leyenda i{width:12px;height:12px;border-radius:3px;grid-row:span 2}.pa-leyenda small{grid-column:2;color:var(--muted,#64748b)}
@media print{.cat-panel.oculto{display:grid!important}.cat-tabs{display:none!important}}
/* Ficha de la categoría: las cuatro tarjetas en una fila cuando hay espacio (dos perfiles + dos anillos) */
.ficha-cat .ficha-kpis{display:grid;grid-template-columns:repeat(2,minmax(150px,220px)) repeat(2,auto);gap:12px;align-items:stretch}
.ficha-cat .ficha-perfil{max-width:none}
@media(max-width:900px){.ficha-cat .ficha-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* PDF oficiales (Jefatura): una línea discreta al pie, sin nombres ni marca de agua */
@media print{body.permite-imprimir::after{content:'SIDF · Documento confidencial';position:fixed;bottom:4mm;right:8mm;font:9px Arial,sans-serif;color:#64748b}}
/* Botón para volver a todo el plantel: con relleno, para que no pase como un elemento más */
.btn-plantel{background:var(--navy);color:#fff;border-color:var(--navy)}.btn-plantel:hover{filter:brightness(1.15)}.btn-plantel svg{stroke:#fff}
/* Cómo evaluar: escala en una fila y la exposición debajo */
.guia-col{display:grid;gap:16px}
.escala-h{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.escala-h .esc{display:grid;grid-template-rows:auto auto;gap:6px;align-content:start;padding:10px;border:1px solid var(--line);border-radius:10px;background:#fff}
@media(max-width:900px){.escala-h{grid-template-columns:repeat(2,minmax(0,1fr))}}
.expo-fila{display:grid;grid-template-columns:minmax(170px,240px) minmax(0,1fr);gap:14px;align-items:start}.expo-fila .expo-hoy{margin:0}
@media(max-width:640px){.expo-fila{grid-template-columns:1fr}}
.escala-h .esc{display:flex;flex-direction:column;gap:6px}.escala-h .esc>.nv{align-self:flex-start}
/* Menú superior en computador (reemplaza la barra lateral): íconos con su nombre y paneles por grupo */
.menubar{display:flex;align-items:stretch;justify-content:center;gap:2px;flex:1;height:100%}
.mb-grupo{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:0 14px;color:#cfd9ee;font-size:12px;font-weight:600;cursor:pointer;border-bottom:3px solid transparent;text-decoration:none;user-select:none}
.mb-grupo svg{width:20px;height:20px}
.mb-grupo:hover,.mb-grupo.abierto{color:#fff;background:rgba(255,255,255,.06)}
.mb-grupo.active{color:#fff;border-bottom-color:#d0021b}
.mb-panel{display:none;position:absolute;top:100%;left:50%;transform:translateX(-50%);min-width:250px;background:#fff;border-radius:12px;box-shadow:0 14px 34px rgba(6,12,24,.28);padding:8px;z-index:50}
.mb-desplegable.abierto .mb-panel{display:grid;gap:2px}
.mb-panel a{display:grid;gap:1px;padding:9px 12px;border-radius:8px;color:var(--navy);text-decoration:none;text-align:left}
.mb-panel a:hover{background:#eef2f8}.mb-panel a.active{background:#fde8ea}
.mb-panel b{font-size:13.5px}.mb-panel small{font-size:11.5px;color:var(--muted,#64748b);font-weight:500}
@media(min-width:901px){.sidebar{display:none!important}.topbar>.topnav{display:none}.topbar{height:66px}}
@media(max-width:900px){.menubar{display:none}}
@media(min-width:901px){.topbar>.brand{flex-shrink:0}.topbar .brand .sys{white-space:nowrap}.menubar{min-width:0}}
@media(min-width:901px) and (max-width:1220px){.topbar .brand .sys,.topbar .brand .sep{display:none}.mb-grupo{padding:0 8px;font-size:11.5px}.userbox>div:not(.avatar):not(.menu){display:none}}
/* Revisión de conductas (Jefe Técnico): una tarjeta por conducta, lo que cambia entre categorías en amarillo */
.rc-top{margin-bottom:12px;display:grid;gap:10px}
.rc-vistas{display:flex;gap:6px}
.rc-barra{height:8px;border-radius:99px;background:var(--line);overflow:hidden}.rc-barra span{display:block;height:100%;background:var(--green);border-radius:99px;transition:width .3s}
.rc-grupos{display:flex;flex-wrap:wrap;gap:6px}
.rc-grupo{border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:99px;padding:5px 11px;font-size:12.5px;font-weight:600;cursor:pointer;display:flex;gap:6px;align-items:center}
.rc-grupo small{color:var(--muted);font-weight:500}.rc-grupo.activo{border-color:var(--navy);background:var(--navy);color:#fff}.rc-grupo.activo small{color:#cfd9ee}
.rc-grupo.listo:not(.activo){border-color:var(--green);color:var(--green)}
.rc-card{display:grid;gap:10px}
.rc-titulo{margin:0;font-size:22px;color:var(--navy)}
.rc-toggle{display:flex;align-items:center;gap:6px;color:var(--muted);cursor:pointer}
.rc-filas{display:grid;border-top:1px solid var(--line)}
.rc-fila{display:grid;grid-template-columns:64px 1fr auto;gap:10px;padding:10px 0;border-bottom:1px solid var(--line);align-items:start}
.rc-fila.comentando{background:var(--amber-l);margin:0 -10px;padding:10px}
.rc-cat{font-weight:800;font-size:12.5px;color:var(--navy);padding-top:2px}
.rc-txt{min-width:0;display:grid;gap:6px}.rc-txt p{margin:0;font-size:14px;line-height:1.5}
.rc-txt mark{background:#fff1a8;color:inherit;border-radius:3px;padding:0 1px}
.rc-preg{color:var(--muted);font-size:13px!important}
.rc-txt textarea,.rc-general textarea{width:100%;box-sizing:border-box;font:inherit;font-size:14px;border:1px solid var(--line);border-radius:8px;padding:8px}
.rc-com{border:1px solid var(--line);background:var(--card);color:var(--navy-3);border-radius:8px;padding:5px 9px;font-size:12px;font-weight:600;cursor:pointer}
.rc-general summary{cursor:pointer;color:var(--muted)}.rc-general textarea{margin-top:6px}
.rc-pie{display:flex;gap:8px;justify-content:space-between;align-items:center;position:sticky;bottom:0;background:var(--card);padding:10px 0 2px;border-top:1px solid var(--line)}
.btn.rc-ok{background:var(--green);flex:1;max-width:320px;font-size:15px;padding:12px}.btn.rc-cambios{background:#b7791f;flex:1;max-width:320px;font-size:15px;padding:12px}
.rc-ayuda mark{background:#fff1a8;padding:0 2px}
.rc-kpi{display:grid;gap:2px;text-align:center}.rc-kpi b{font-size:30px}.rc-kpi b.green{color:var(--green)}.rc-kpi b.amber{color:#b7791f}
.rc-res{border-top:1px solid var(--line);padding:10px 0}.rc-res p{margin:4px 0 0}
@media(max-width:900px){.rc-fila{grid-template-columns:1fr auto}.rc-cat{grid-column:1/-1;padding:0}.rc-pie{bottom:64px}.rc-pie .btn.ghost{padding:10px 8px;font-size:12px}.rc-titulo{font-size:19px}}
/* Plan y partido (Perfil de la Categoría): informe pre-partido junto a la ficha del partido */
.plan-partidos{display:grid;gap:12px}
.pp-item{border:1px solid var(--line);border-radius:12px;padding:12px;display:grid;gap:8px}
.pp-cols{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pp-cols>div{min-width:0}.pp-cols p{margin:0 0 6px;font-size:13.5px;line-height:1.5}
.pp-tit{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.pp-plan{border-left:3px solid var(--navy-3);padding-left:10px}.pp-real{border-left:3px solid var(--red);padding-left:10px}
.pc-mas{margin-top:10px}.pc-mas summary{cursor:pointer;color:var(--navy-3);font-weight:600}
@media(max-width:700px){.pp-cols{grid-template-columns:1fr}}
.pp-cols p,.partidos-com .pc-item p{white-space:pre-line}
