:root{
  --verde:#001B39; --verde2:#0A3260; --verde3:#1B4F85;
  --negro:#12100C;
  --oro:#2F7FC1; --oro2:#8DBDE6; --orofondo:#E3EFF9;
  --marfil:#F3F5F8; --panel:#FFFFFF; --tinta:#0E1B2B; --tinta2:#5A6472;
  --linea:#D9DEE5;
  --campo:#DCEBD7; --campoB:#4C8A5F;
  --video:#D9E4F0; --videoB:#3D6A9E;
  --gym:#F3E3CC; --gymB:#B77E2E;
  --tec:#E6DCEF; --tecB:#7A5EA8;
  --recu:#D8ECE7; --recuB:#2F8A78;
  --abp:#F6E7B4; --abpB:#A8831C;
  --libre:#E9E7E1; --libreB:#8B8B84;
  --partido:#F4D3CE; --partidoB:#B3402F;
  --logi:#EDEBE4; --logiB:#8B8B84;
  --nut:#D8ECE7; --nutB:#2F8A78;
  --med:#F4D3CE; --medB:#B3402F;
  --psi:#E6DCEF; --psiB:#7A5EA8;
  --fis:#D9E4F0; --fisB:#3D6A9E;
  --radius:10px;
  --display:"Barlow Condensed","Arial Narrow",Arial,sans-serif;
  --body:"Barlow Semi Condensed",Arial,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{font-family:var(--body);background:var(--marfil);color:var(--tinta);font-size:15px;line-height:1.4;
  min-height:100vh;display:flex;flex-direction:column}
button{font-family:var(--body);cursor:pointer}
input,select,textarea{font-family:var(--body);font-size:15px;color:var(--tinta)}
:focus-visible{outline:2px solid var(--oro);outline-offset:1px}
@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}

/* ---------- Barra lateral (estilo iPadOS) ---------- */
:root{--ios:-apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif;--latAncho:284px;
  --gris2:#6B6B70;--sep:rgba(60,60,67,.14)}
body.conBarra{padding-left:var(--latAncho)}
#barraLateral{position:fixed;left:0;top:0;bottom:0;width:var(--latAncho);z-index:40;display:flex;flex-direction:column;gap:16px;
  padding:20px 12px 14px;background:rgba(234,236,230,.86);-webkit-backdrop-filter:blur(20px) saturate(160%);backdrop-filter:blur(20px) saturate(160%);
  border-right:1px solid var(--sep);overflow-y:auto;font-family:var(--ios);-webkit-font-smoothing:antialiased}
.blMarca{display:flex;align-items:center;gap:11px;padding:0 4px}
.blMarca .crest{filter:none}
.blMarca .crest-lg{height:62px}
.blMarca h1{font-family:var(--ios);font-size:20px;font-weight:700;letter-spacing:-.01em;line-height:1.1;color:var(--verde)}
.blMarca .sub{font-size:13px;font-weight:600;color:#1F5F99;margin-top:3px}
#barraCategoria{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;padding:0 4px}
#barraCategoria[hidden]{display:none}
#barraCategoria label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
#barraCategoria select{width:100%;min-height:44px;border:none;border-radius:12px;padding:0 36px 0 14px;font-family:var(--ios);font-size:16px;font-weight:600;
  color:#1C1C1E;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236B6B70' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 10l5 5 5-5'/%3E%3C/svg%3E") no-repeat right 12px center;
  -webkit-appearance:none;appearance:none;box-shadow:0 1px 2px rgba(0,0,0,.06);cursor:pointer}
.catLink{background:none;border:none;color:var(--verde);font-family:var(--ios);font-size:15px;font-weight:600;padding:8px 10px;min-height:36px;border-radius:8px}
.catLink:hover{background:rgba(0,27,57,.07)}
nav.tabs{display:flex;flex-direction:column;gap:14px;flex-grow:1}
.navGroup{display:flex;flex-direction:column;gap:2px}
.navTit{padding:0 12px 4px;font-size:13px;font-weight:600;color:var(--gris2)}
nav.tabs button{display:flex;align-items:center;gap:12px;width:100%;min-height:44px;padding:0 12px;border:none;border-radius:10px;
  background:transparent;color:#1C1C1E;font-family:var(--ios);font-size:17px;text-align:left;cursor:pointer}
nav.tabs button[hidden]{display:none}
nav.tabs button .navIco{color:var(--verde);flex:none}
nav.tabs button:hover{background:rgba(0,27,57,.06)}
nav.tabs button:active{background:rgba(0,27,57,.12)}
nav.tabs button.on{background:var(--verde);color:#fff;font-weight:600}
nav.tabs button.on .navIco{color:var(--oro)}
.blPie{display:flex;flex-direction:column;gap:8px}
.blPie .estadoG{align-self:flex-start;margin-left:8px}
#barraMovil,#veloLat{display:none}
@media (max-width:1023px){
  body.conBarra{padding-left:0}
  #barraMovil{display:flex;align-items:center;gap:10px;position:sticky;top:0;z-index:35;min-height:56px;padding:6px 12px;
    background:rgba(244,243,239,.9);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--sep);font-family:var(--ios)}
  .bmMenu{width:44px;height:44px;border:none;border-radius:22px;background:transparent;color:var(--verde);display:flex;align-items:center;justify-content:center}
  .bmMenu:active{background:rgba(0,27,57,.1)}
  .bmEscudo{height:34px;width:auto}
  #bmClub{font-size:17px;font-weight:700;color:var(--verde);letter-spacing:-.01em}
  #barraLateral{transform:translateX(-100%);transition:transform .32s cubic-bezier(.2,.8,.2,1);box-shadow:none;background:#EDEFE9}
  body.latAbierta #barraLateral{transform:none;box-shadow:0 0 40px rgba(0,0,0,.25)}
  #veloLat{display:block;position:fixed;inset:0;z-index:39;background:rgba(0,0,0,.28);opacity:0;pointer-events:none;transition:opacity .25s}
  body.latAbierta #veloLat{opacity:1;pointer-events:auto}
}

.areas{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}
.areaBtn{flex:1;min-width:130px;background:#fff;border:1.5px solid var(--linea);border-radius:10px;padding:11px 14px;
  cursor:pointer;text-align:left;display:flex;align-items:center;gap:9px;transition:box-shadow .15s,border-color .15s}
.areaBtn .sw{width:10px;height:10px;border-radius:50%;flex:none}
.areaBtn.nut .sw{background:var(--nutB)} .areaBtn.med .sw{background:var(--medB)}
.areaBtn.psi .sw{background:var(--psiB)} .areaBtn.fis .sw{background:var(--fisB)}
.areaBtn b{font-family:var(--display);font-size:13px;text-transform:uppercase;letter-spacing:.2px;color:var(--tinta)}
.areaBtn.on{border-color:var(--verde);background:var(--verde);box-shadow:0 3px 10px -3px rgba(0,27,57,.4)}
.areaBtn.on b{color:#fff}

.citasGrid{display:grid;grid-template-columns:1fr 320px;gap:20px;align-items:start}
@media (max-width:860px){ .citasGrid{grid-template-columns:1fr} }

.tlCard{background:#fff;border:1px solid var(--linea);border-radius:14px;padding:20px 22px 26px;
  box-shadow:0 4px 18px -8px rgba(18,16,12,.12)}
.tlHead{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;flex-wrap:wrap;gap:8px}
.tlHead .diaBox{display:flex;align-items:center;gap:10px}
.tlHead b{font-family:var(--display);font-size:20px}
.tlHead .hoyPill{font-family:var(--display);font-size:11px;letter-spacing:.5px;text-transform:uppercase;
  background:var(--orofondo);color:#1F5F99;padding:2px 8px;border-radius:10px}
.tlHead .navBtns{display:flex;gap:6px;align-items:center}
.tlHead .navBtns button{border:1px solid var(--linea);background:#fff;border-radius:50%;width:30px;height:30px;
  cursor:pointer;color:var(--tinta2)}
.tlHead .navBtns button:hover{border-color:var(--verde);color:var(--verde)}
.tlSub{font-size:13px;color:var(--tinta2);margin-bottom:18px}

.tlOuter{position:relative;margin-top:6px}
.tlOuter .nowLine{position:absolute;left:64px;right:0;height:0;border-top:2px solid var(--medB);z-index:4}
.tlOuter .nowLine::before{content:"";position:absolute;left:-5px;top:-4px;width:8px;height:8px;border-radius:50%;background:var(--medB)}
.tlOuter .nowLbl{position:absolute;left:0;width:56px;text-align:right;font-family:var(--display);font-size:11px;
  font-weight:700;color:var(--medB);transform:translateY(-50%)}

.timeline{position:relative;margin-left:64px;border-left:1.5px solid var(--linea)}
.tick{position:relative;height:56px;border-bottom:1px dashed #EAE7E0}
.tick:last-child{border-bottom:none}
.tick .tHora{position:absolute;left:-70px;top:-7px;width:58px;text-align:right;font-family:var(--display);
  font-size:12px;color:var(--tinta2)}
.tBlock{position:absolute;border-radius:8px;padding:6px 10px;overflow:hidden;
  box-shadow:0 1px 3px rgba(18,16,12,.08)}
.tBlock.own{background:var(--nut);border-left:3.5px solid var(--nutB)}
.tBlock.other{background:#EFEDE7;border-left:3.5px solid #B8B4A8}
.tBlock .rango{font-family:var(--display);font-weight:700;font-size:12px;line-height:1.15;white-space:nowrap}
.tBlock.own .rango{color:var(--nutB)}
.tBlock.other .rango{color:#8B8880}
.tBlock .nm{font-size:12px;font-weight:600;line-height:1.2;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tBlock .nt{font-size:11px;color:var(--tinta2);line-height:1.2;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tBlock .del{position:absolute;top:4px;right:4px;border:none;background:transparent;color:inherit;
  opacity:.55;font-size:12px;padding:2px;cursor:pointer}
.tBlock .del:hover{opacity:1}
.tBlock.corto{display:flex;align-items:center;gap:6px;padding:3px 26px 3px 10px}
.tBlock.corto .nm{font-size:11px;font-weight:600;margin:0;white-space:nowrap;overflow:visible;text-overflow:clip}

.sidePanelCitas{background:linear-gradient(165deg,var(--verde) 0%,var(--verde2) 60%,var(--verde3) 100%);
  border-radius:14px;padding:22px;color:var(--marfil);box-shadow:0 8px 24px -10px rgba(0,27,57,.5)}
.sidePanelCitas h2{font-family:var(--display);font-size:15px;text-transform:uppercase;letter-spacing:.5px;
  color:var(--oro2);margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.15)}
.sidePanelCitas .sField{margin-bottom:14px}
.sidePanelCitas .sField label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:#CFE0CB;margin-bottom:5px}
.sidePanelCitas select,.sidePanelCitas input{width:100%;padding:9px 10px;border-radius:7px;border:1px solid rgba(255,255,255,.25);
  background:rgba(255,255,255,.09);color:#fff;font-size:13px;font-family:var(--body)}
.sidePanelCitas .horaColCitas input.h{background:rgba(255,255,255,.09);color:#fff;border-color:rgba(255,255,255,.25)}
.sidePanelCitas .horaColCitas .btnReloj{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.25);color:#fff}
.sidePanelCitas .horaColCitas .btnReloj:hover{background:var(--oro2);color:var(--negro);border-color:var(--oro2)}
.durGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.durGrid button{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.22);color:#fff;
  border-radius:7px;padding:8px 0;font-family:var(--display);font-size:13px;cursor:pointer}
.durGrid button.on{background:var(--oro2);color:var(--negro);border-color:var(--oro2)}
.citaAviso{font-size:13px;color:#F6C6BC;margin:0 0 10px;line-height:1.4}
.sBtn{width:100%;background:var(--oro);color:#fff;border:none;border-radius:8px;padding:12px 0;
  font-family:var(--display);font-weight:700;font-size:15px;text-transform:uppercase;cursor:pointer;
  letter-spacing:.3px}
.sBtnGhost{width:100%;background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.4);border-radius:8px;
  padding:10px 0;font-family:var(--display);font-weight:700;font-size:13px;text-transform:uppercase;
  letter-spacing:.3px;cursor:pointer;margin-top:8px}
.sBtnGhost:hover{border-color:var(--oro2);color:var(--oro2)}
.sBtnGhost:disabled{opacity:.4;cursor:not-allowed}
.soloArea{font-size:13px;color:#CFE0CB;margin-top:12px;line-height:1.4}

.horaColCitas{display:flex;flex-direction:column;gap:3px}
.horaColCitas input.h{font-family:var(--display);font-weight:700;text-align:center;
  padding:5px 3px;border:1px solid var(--linea);border-radius:6px;width:100%}
.horaColCitas .btnReloj{border:1px solid var(--linea);background:#fff;border-radius:50%;
  width:24px;height:24px;display:flex;align-items:center;justify-content:center;padding:0;
  margin:0 auto;cursor:pointer;color:var(--verde);transition:background .15s,color .15s,transform .1s}
.horaColCitas .btnReloj:hover{background:var(--verde);color:#fff;border-color:var(--verde)}
.horaColCitas .btnReloj:active{transform:scale(.92)}
main{padding:14px 12px 60px;max-width:1180px;margin:0 auto;flex:1 0 auto;width:100%;box-sizing:border-box}
h2.mod{font-family:var(--display);font-size:22px;text-transform:uppercase;letter-spacing:.8px;color:var(--verde);margin:4px 0 2px}
p.ayuda{font-size:13px;color:var(--tinta2);margin-bottom:12px;line-height:1.45}

/* ---------- Semana ---------- */
.meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;background:var(--panel);
  border:1px solid var(--linea);border-radius:var(--radius);padding:10px;margin-bottom:12px}
.meta label{font-size:13px;text-transform:uppercase;letter-spacing:.8px;color:var(--tinta2);display:block;margin-bottom:3px}
.lblMini{font-size:13px;text-transform:uppercase;letter-spacing:.8px;color:var(--tinta2);display:block;margin-bottom:3px}
.meta input{width:100%;border:1px solid var(--linea);border-radius:6px;padding:6px 8px;background:#FDFCF9}
.tablero{overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:6px}
.cols{display:grid;grid-template-columns:repeat(7,minmax(178px,1fr));gap:8px;min-width:1260px}
.dia{background:var(--panel);border:1px solid var(--linea);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column}
.dia.libreCol{background:var(--libre)}
.dia .cab{background:var(--verde);padding:8px 8px 9px;text-align:center;color:#fff;
  font-family:var(--display);font-weight:700;font-size:17px;letter-spacing:.8px;text-transform:uppercase}
.dia .cab i{display:block;font-style:normal;color:var(--oro2);font-size:13px;font-weight:600;margin-top:2px;letter-spacing:.3px}
.chipMD{display:block;width:calc(100% - 12px);margin:7px auto 6px;border:1.5px solid var(--oro);border-radius:6px;
  background:#fff;color:var(--verde);font-family:var(--display);font-weight:600;font-size:15px;letter-spacing:.4px;
  text-transform:uppercase;padding:5px 4px;text-align:center;-webkit-appearance:none;appearance:none}
.dia.libreCol .chipMD{background:var(--libre)}
.celda{border-top:1px solid var(--linea);padding:7px 8px 8px;font-size:13px;min-height:64px;position:relative}
.celda .fr{font-size:11px;text-transform:uppercase;letter-spacing:.7px;color:var(--tinta2);margin-bottom:3px;display:flex;justify-content:space-between;align-items:center}
.celda .fr .edit{border:none;background:transparent;color:var(--tinta2);font-size:12px;padding:0 2px}
.celda .fr .edit:hover{color:var(--verde)}
.celda.mod-override{box-shadow:inset 3px 0 0 var(--oro)}
.celda textarea{width:100%;min-height:70px;border:1px solid var(--oro);border-radius:6px;padding:5px;font-size:13px;background:#FFFDF4}
.celda .miniAcc{display:flex;gap:6px;margin-top:5px}
.celda .miniAcc button{font-size:11px;border-radius:5px;padding:3px 8px;border:1px solid var(--linea);background:#fff}
.celda .miniAcc .ok{background:var(--verde);color:#fff;border-color:var(--verde)}
.t-campo{background:var(--campo)} .t-video{background:var(--video)} .t-gym{background:var(--gym)}
.t-tec{background:var(--tec)} .t-recu{background:var(--recu)} .t-abp{background:var(--abp)}
.t-libre{background:var(--libre)} .t-partido{background:var(--partido)} .t-logi{background:var(--logi)}
.leyenda{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.leyenda span{font-size:13px;padding:4px 10px;border-radius:12px;border:1px solid var(--linea)}
.hFr{font-family:var(--display);font-size:16px;letter-spacing:.6px;text-transform:uppercase;color:var(--verde);margin-bottom:2px}
.filaFr{display:grid;grid-template-columns:92px 1fr auto;gap:6px;align-items:center;margin-bottom:6px}
.filaFr input.h{border:1px solid var(--linea);border-radius:6px;padding:6px;font-family:var(--display);font-weight:700;text-align:center;font-size:15px;width:100%;background:#FDFCF9}
.filaFr .et{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.filaFr select.selFr{border:1px solid var(--linea);border-radius:6px;padding:6px;background:#FDFCF9;font-size:13px;max-width:100%}
.filaFr input.frTxt{border:1px solid var(--oro);border-radius:6px;padding:6px;background:#FFFDF4;font-size:13px;flex:1;min-width:140px}
.filaFr .et button{font-size:12px;border-radius:5px;padding:5px 9px;border:1px solid var(--linea);background:#fff}
.filaFr .et button.ok{background:var(--verde);color:#fff;border-color:var(--verde)}
.filaFr .ops{display:flex;gap:4px}
.filaFr .ops button{border:1px solid var(--linea);background:#fff;border-radius:6px;padding:4px 8px;font-size:13px}
.filaFr .ops button:disabled{opacity:.35}
.filaFr .ops .del{color:var(--partidoB)}
@media (max-width:520px){.filaFr{grid-template-columns:72px 1fr auto}}

/* ---------- Plan del Día ---------- */
.selDias{display:flex;gap:6px;overflow-x:auto;padding-bottom:8px;margin-bottom:10px}
.selDias button{border:1px solid var(--linea);background:#fff;border-radius:18px;padding:6px 13px;
  font-family:var(--display);font-size:15px;letter-spacing:.5px;text-transform:uppercase;font-weight:600;color:var(--tinta2);white-space:nowrap}
.selDias button.on{background:var(--verde);border-color:var(--verde);color:#fff}
.planWrap{display:flex;flex-direction:column;align-items:center;gap:12px}
.planColDer,.planColIzq{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%}
#planCard{width:min(420px,100%);background:#fff;border:1px solid var(--linea);border-radius:12px;overflow:hidden}
#planCard .pc-head{background:var(--verde);color:#fff;padding:13px 14px;position:relative;overflow:hidden}
#planCard .pc-head::after{content:"";position:absolute;top:-18px;right:-14px;width:110px;height:110px;
  background:linear-gradient(115deg,transparent 44%,var(--oro) 44% 52%,transparent 52%),
             linear-gradient(115deg,transparent 62%,var(--oro) 62% 68%,transparent 68%);opacity:.85}
#planCard .pc-club{display:flex;align-items:center;gap:9px;position:relative;z-index:1}
#planCard .pc-club .escudo{width:34px;height:34px;font-size:14px}
#planCard .pc-club b{font-family:var(--display);font-size:19px;letter-spacing:.6px;text-transform:uppercase;font-weight:700;display:block;line-height:1}
#planCard .pc-club i{font-style:normal;font-size:10.5px;letter-spacing:1.4px;color:var(--oro2);text-transform:uppercase}
.pc-fecha{background:var(--negro);color:var(--oro2);padding:9px 14px;display:flex;justify-content:space-between;gap:8px;align-items:center;flex-wrap:wrap}
.pc-fecha input{background:transparent;border:none;font-family:var(--display);font-weight:700;font-size:18px;letter-spacing:.5px;text-transform:uppercase;color:var(--oro2);min-width:120px;flex:1}
.pc-fecha input::placeholder{color:rgba(141,189,230,.5)}
.pc-fecha .md{font-family:var(--display);font-weight:700;font-size:14px;background:var(--oro);color:#fff;border-radius:5px;padding:3px 10px;letter-spacing:.6px;white-space:nowrap}
.pc-sub{padding:7px 14px;border-bottom:1px solid var(--linea);display:grid;gap:5px}
.pc-sub input{border:1px dashed var(--linea);border-radius:6px;padding:5px 8px;font-size:12.5px;background:#FDFCF9;width:100%}
table.agenda{width:100%;border-collapse:collapse}
table.agenda td{border-bottom:1px solid var(--linea);padding:7px 6px;font-size:12.5px;vertical-align:top}
table.agenda td.hora{font-family:var(--display);font-weight:700;font-size:15px;color:var(--verde);width:52px;white-space:nowrap}
table.agenda td.tipoDot{width:8px;padding:9px 0 0 6px}
table.agenda .dot{display:block;width:8px;height:8px;border-radius:50%}
table.agenda td .act{font-weight:600}
table.agenda td .det{font-size:11.5px;color:var(--tinta2);margin-top:1px}
table.agenda td.ct{font-family:var(--display);font-weight:600;font-size:13.5px;color:var(--verde);width:88px;text-align:right;white-space:normal}
.pc-pie{padding:6px 12px 10px;font-size:10px;color:var(--tinta2);text-align:center;letter-spacing:.6px;text-transform:uppercase}
.pdActs{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.btnP{background:var(--verde);color:#fff;border:none;border-radius:22px;padding:9px 18px;font-family:var(--display);font-size:15px;letter-spacing:.6px;text-transform:uppercase;font-weight:600}
.btnP:hover{background:var(--verde2)}
.btnS{background:#fff;color:var(--verde);border:1px solid var(--verde);border-radius:22px;padding:9px 16px;font-family:var(--display);font-size:15px;letter-spacing:.6px;text-transform:uppercase;font-weight:600}
.editorAgenda{width:min(560px,100%);background:var(--panel);border:1px solid var(--linea);border-radius:var(--radius);padding:11px}
.editorAgenda h3{font-family:var(--display);font-size:16px;text-transform:uppercase;letter-spacing:.6px;color:var(--verde);margin-bottom:2px}
.editorAgenda p{font-size:13px;color:var(--tinta2);margin-bottom:8px}
.filaAg{display:grid;grid-template-columns:56px 1fr 30px;gap:6px;margin-bottom:6px;align-items:start}
.filaAg .horaCol{display:flex;flex-direction:column;gap:3px}
.filaAg .campos{display:grid;gap:4px}
.filaAg input{border:1px solid var(--linea);border-radius:6px;padding:5px 7px;font-size:13px;width:100%}
.filaAg input.h{font-family:var(--display);font-weight:700;text-align:center;padding:5px 3px}
.filaAg .btnReloj{border:1px solid var(--linea);background:#fff;border-radius:50%;width:24px;height:24px;
  display:flex;align-items:center;justify-content:center;padding:0;margin:0 auto;cursor:pointer;
  color:var(--verde);transition:background .15s,color .15s,transform .1s}
.filaAg .btnReloj:hover{background:var(--verde);color:#fff;border-color:var(--verde)}
.filaAg .btnReloj:active{transform:scale(.92)}

#popReloj{position:fixed;z-index:60;background:#fff;border:1px solid var(--linea);border-radius:12px;
  box-shadow:0 10px 26px -8px rgba(0,0,0,.28);padding:14px;width:280px}
#popReloj .prGrupo{margin-bottom:12px}
#popReloj .prGrupo:last-child{margin-bottom:0}
#popReloj .prGrupoMin{padding-top:10px;border-top:1px dashed var(--linea)}
#popReloj .prTit{font-family:var(--display);font-size:11px;text-transform:uppercase;letter-spacing:.5px;
  color:var(--tinta2);margin-bottom:6px;text-align:center}
#popReloj .prGridH{display:grid;grid-template-columns:repeat(6,1fr);gap:5px}
#popReloj .prGridMin{display:flex;gap:6px;justify-content:center}
#popReloj .prItem{text-align:center;padding:6px 0;font-family:var(--display);font-weight:700;font-size:13px;
  border-radius:6px;cursor:pointer;color:var(--tinta);background:var(--marfil);border:1px solid var(--linea)}
#popReloj .prGridMin .prItem{flex:1}
#popReloj .prItem:hover{border-color:var(--verde)}
#popReloj .prItem.sel{background:var(--verde);border-color:var(--verde);color:#fff}
.filaAg .del{border:1px solid var(--linea);background:#fff;border-radius:6px;color:var(--partidoB);font-size:15px;height:30px}
.addRow{border:1px dashed var(--verde);background:transparent;color:var(--verde);border-radius:8px;padding:6px 12px;font-size:13px;width:100%}

/* ---------- Tablas editables (Tecnificación / Staff / Contenidos) ---------- */
.cardT{background:var(--panel);border:1px solid var(--linea);border-radius:var(--radius);padding:11px;margin-bottom:12px}
.acwrTop{display:flex;gap:18px;align-items:center;margin-top:10px;flex-wrap:wrap}
.acwrGauge{width:84px;height:84px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;position:relative;
  background:conic-gradient(var(--campoB) 0deg 216deg, var(--gymB) 216deg 288deg, var(--partidoB) 288deg 360deg)}
.acwrGauge::before{content:"";position:absolute;inset:7px;border-radius:50%;background:var(--panel)}
.acwrNum{position:relative;font-family:var(--display);font-size:20px;font-weight:700;color:var(--tinta)}
.acwrTxt b{display:block;font-family:var(--display);font-size:15px;text-transform:uppercase;letter-spacing:.2px;margin-bottom:3px}
.acwrTxt b.acwr-ok{color:var(--campoB)} .acwrTxt b.acwr-media{color:var(--gymB)} .acwrTxt b.acwr-alta{color:var(--partidoB)}
.acwrTxt p{font-size:13px;color:var(--tinta2);margin:0;max-width:440px;line-height:1.5}
.acwrVacio{font-size:13px;color:var(--tinta2);margin-top:8px;line-height:1.5}
.temporadaBloque{width:150px;text-align:left;background:var(--panel);border:1px solid var(--linea);border-radius:10px;padding:9px 10px;display:flex;flex-direction:column;gap:3px;cursor:pointer;transition:transform .12s,box-shadow .12s}
.temporadaBloque:hover{transform:translateY(-1px);box-shadow:0 3px 10px rgba(11,15,12,.08)}
.temporadaBloque.on{border-color:var(--verde);box-shadow:0 0 0 2px rgba(0,27,57,.18)}
.temporadaBloque b{font-size:13px;color:var(--tinta2)}
.temporadaBloque span{font-size:13px;font-weight:600;color:var(--tinta);line-height:1.25}
.temporadaBloque i{font-size:11px;font-style:normal;font-weight:700;text-transform:uppercase;letter-spacing:.4px}
.tScroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
table.ed{border-collapse:collapse;width:100%;min-width:760px}
table.ed th{font-family:var(--display);font-size:13px;letter-spacing:.7px;text-transform:uppercase;
  background:var(--verde);color:#fff;padding:6px 7px;text-align:left;white-space:nowrap}
table.ed td{border-bottom:1px solid var(--linea);padding:3px 3px;vertical-align:top}
table.ed input, table.ed textarea{width:100%;border:1px solid transparent;border-radius:5px;padding:5px 6px;font-size:13px;background:transparent}
table.ed input:hover,table.ed textarea:hover{border-color:var(--linea);background:#FDFCF9}
table.ed input:focus,table.ed textarea:focus{border-color:var(--oro);background:#FFFDF4}
table.ed .del{border:none;background:transparent;color:var(--partidoB);font-size:15px;padding:4px}
table.ed tr.stGrupo td{background:var(--marfil);border-bottom:1px solid var(--linea);color:var(--tinta2);
  font-family:var(--display);font-size:12px;letter-spacing:1px;text-transform:uppercase;font-weight:600;padding:6px 7px}
.linkReset{border:none;background:transparent;color:var(--verde2);font-size:13px;text-decoration:underline;padding:4px 2px;white-space:nowrap}
.linkReset:hover{color:var(--oro)}
.stResumen{font-size:13px;color:var(--tinta2);margin:-6px 0 10px}
.stResumen b{color:var(--verde)}

.masterDetail{display:grid;grid-template-columns:280px 1fr;gap:16px;align-items:start}
@media (max-width:820px){ .masterDetail{grid-template-columns:1fr} }
.listaCard{background:var(--panel);border:1px solid var(--linea);border-radius:10px;padding:8px;max-height:70vh;overflow:auto}
.listaGrupo{font-family:var(--display);font-size:13px;text-transform:uppercase;letter-spacing:.5px;color:var(--tinta2);padding:12px 8px 5px}
.listaGrupo:first-child{padding-top:8px}
.filaLista{display:flex;align-items:center;gap:10px;padding:10px 8px;border-radius:8px;cursor:pointer}
.filaLista:hover{background:var(--marfil)}
.filaLista.sel{background:var(--verde)}
.filaLista .ini{width:32px;height:32px;border-radius:50%;background:var(--orofondo);color:#1F5F99;font-family:var(--display);
  font-weight:700;font-size:12px;display:flex;align-items:center;justify-content:center;flex:none}
.filaLista.sel .ini{background:var(--oro2);color:var(--negro)}
.filaLista .info b{display:block;font-size:15px;line-height:1.25;color:var(--tinta);font-weight:600}
.filaLista.sel .info b{color:#fff}
.filaLista .info span{font-size:13px;color:var(--tinta2)}
.filaLista.sel .info span{color:#CFE0CB}
.credCard{background:var(--panel);border:1px solid var(--linea);border-radius:14px;overflow:hidden;box-shadow:0 4px 16px -8px rgba(18,16,12,.1)}
.credBanda{background:linear-gradient(120deg,var(--verde) 0%,var(--verde2) 100%);padding:22px 26px 40px;position:relative}
.credBanda .escudoMini{position:absolute;top:16px;right:20px;font-family:var(--display);font-size:11px;letter-spacing:1.5px;
  text-transform:uppercase;color:var(--oro2);opacity:.85}
.credBanda .ini{width:64px;height:64px;border-radius:14px;background:var(--oro2);color:var(--negro);font-family:var(--display);
  font-weight:700;font-size:22px;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 16px -4px rgba(0,0,0,.35)}
.credInfo{padding:34px 26px 20px;margin-top:-24px}
.credInfo .nom{font-family:var(--display);font-size:22px;font-weight:700}
.credInfo .rol{font-size:15px;color:var(--tinta2);margin-top:1px}
.credBadges{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.badge{display:inline-flex;align-items:center;gap:5px;font-family:var(--display);font-size:11px;text-transform:uppercase;
  letter-spacing:.4px;font-weight:700;padding:4px 10px;border-radius:12px}
.badge.admin{background:var(--orofondo);color:#1F5F99}
.credCuerpo{padding:0 26px 26px}
.filaCampo{display:grid;grid-template-columns:140px 1fr;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid var(--linea)}
.filaCampo:last-child{border-bottom:none}
.filaCampo>label:first-child{font-family:var(--display);font-size:13px;text-transform:uppercase;letter-spacing:.4px;color:var(--tinta2)}
.chkInline{display:flex;align-items:center;gap:8px;font-size:15px;cursor:pointer;color:var(--tinta);width:100%}
.filaCampo input:not([type="checkbox"]),.filaCampo select{border:1px solid transparent;background:transparent;border-radius:7px;padding:7px 9px;
  font-size:15px;font-family:var(--body);width:100%;box-sizing:border-box}
.filaCampo input:not([type="checkbox"]):hover,.filaCampo select:hover{border-color:var(--linea);background:var(--marfil)}
.filaCampo input:not([type="checkbox"]):focus,.filaCampo select:focus{border-color:var(--oro);background:#fff;outline:none}
.filaCampo input[type="checkbox"]{width:16px;height:16px;flex:none}
.credAcciones{display:flex;align-items:center;gap:12px;padding:18px 26px;border-top:1px solid var(--linea);flex-wrap:wrap}
.btnGhostSm{border:1px solid var(--linea);background:#fff;color:var(--tinta);border-radius:8px;padding:10px 16px;
  font-family:var(--display);font-size:13px;text-transform:uppercase;letter-spacing:.3px;cursor:pointer}
.btnGhostSm.oro{border-color:var(--oro);color:#1F5F99}
.btnGhostSm.rojo{border-color:var(--medB);color:var(--medB)}
.btnS.peligro{border-color:var(--partidoB);color:var(--partidoB)}
.tipoBloque{margin-bottom:14px}
.tipoBloque h3{font-family:var(--display);font-size:17px;letter-spacing:.6px;text-transform:uppercase;color:var(--verde);
  border-left:5px solid var(--oro);padding-left:8px;margin-bottom:6px}
.gridFr{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px}
.gridFr label{font-size:12px;text-transform:uppercase;letter-spacing:.7px;color:var(--tinta2);display:block;margin-bottom:2px}
.gridFr textarea{width:100%;border:1px solid var(--linea);border-radius:7px;padding:6px 8px;font-size:13px;min-height:58px;background:#FDFCF9}
/* ---------- Exportación de imagen ---------- */
#expWrap{position:absolute;left:-9999px;top:0}
#expCard{width:420px;background:#fff;font-family:var(--body);color:var(--tinta)}
#expCard .xhead{background:var(--verde);color:#fff;padding:16px 16px 14px;position:relative;overflow:hidden}
#expCard .xstripes{position:absolute;top:-20px;right:-16px;width:130px;height:120px;opacity:.85;
 background:linear-gradient(115deg,transparent 44%,var(--oro) 44% 52%,transparent 52%),linear-gradient(115deg,transparent 62%,var(--oro) 62% 68%,transparent 68%)}
#expCard .xclub{display:flex;gap:10px;align-items:center;position:relative}
#expCard .xesc{width:40px;height:40px;border-radius:50%;background:var(--verde);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--display);font-weight:700;font-size:16px}
#expCard .xclub b{display:block;font-family:var(--display);font-size:22px;line-height:1;letter-spacing:.6px;text-transform:uppercase}
#expCard .xclub i{font-style:normal;font-size:11px;letter-spacing:1.6px;color:var(--oro2);text-transform:uppercase}
#expCard .xfecha{background:var(--negro);color:var(--oro2);display:flex;justify-content:space-between;align-items:center;padding:10px 16px;font-family:var(--display);font-weight:700;font-size:20px;text-transform:uppercase;letter-spacing:.5px}
#expCard .xmd{background:var(--oro);color:#fff;font-size:13px;border-radius:5px;padding:4px 10px;letter-spacing:.6px}
#expCard .xriv{background:var(--orofondo);color:#123F66;text-align:center;font-size:12px;padding:5px 10px;letter-spacing:.4px;font-weight:600;text-transform:uppercase}
#expCard .xsub{display:grid;gap:5px;padding:10px 16px;border-bottom:2px solid var(--verde);font-size:13px}
#expCard .xsub label{font-size:9.5px;letter-spacing:1px;text-transform:uppercase;color:var(--tinta2);display:block}
#expCard .xrow{display:grid;grid-template-columns:56px 10px 1fr auto;gap:8px;align-items:start;padding:9px 16px;border-bottom:1px solid var(--linea)}
#expCard .xh{font-family:var(--display);font-weight:700;font-size:17px;color:var(--verde)}
#expCard .xdot{width:9px;height:9px;border-radius:50%;margin-top:6px}
#expCard .xact b{font-size:13.5px;font-weight:600;display:block}
#expCard .xact span{font-size:11.5px;color:var(--tinta2)}
#expCard .xct{font-family:var(--display);font-weight:600;font-size:14px;color:var(--verde);text-align:right;max-width:96px}
#expCard .xpie{padding:9px 12px 12px;text-align:center;font-size:9.5px;color:var(--tinta2);letter-spacing:.8px;text-transform:uppercase}

/* ---------- Acta de convocatoria (Opción "oficial") ---------- */
#expConv{width:600px;background:#F7F5EE;color:#1E1C15;font-family:"IBM Plex Mono",monospace}
#expConv .acmast{display:flex;align-items:center;gap:14px;padding:22px 26px 16px;border-bottom:3px solid var(--verde)}
#expConv .acmast img{width:46px;height:auto;flex-shrink:0}
#expConv .actit{font-family:var(--display);line-height:1}
#expConv .actit b{display:block;font-weight:800;font-size:19px;letter-spacing:.4px;text-transform:uppercase;color:var(--verde)}
#expConv .actit span{display:block;margin-top:3px;font-family:"IBM Plex Mono";font-size:9.5px;letter-spacing:2px;color:var(--tinta2);text-transform:uppercase}
#expConv .acmemo{padding:14px 26px;font-size:11px;line-height:1.6;color:var(--tinta2);border-bottom:1px solid var(--linea)}
#expConv .acmemo b{color:#1E1C15}
#expConv .acref{display:block;font-weight:600;color:var(--verde);margin-bottom:3px}
#expConv .actabla{width:100%;border-collapse:collapse;font-family:"IBM Plex Mono"}
#expConv .actabla thead th{text-align:left;font-size:9px;letter-spacing:1.2px;color:var(--tinta2);text-transform:uppercase;padding:10px 26px 7px;font-weight:500;border-bottom:1px solid var(--linea)}
#expConv .actabla tbody td{padding:7px 26px;font-size:11.5px;border-bottom:1px solid var(--linea)}
#expConv .actabla tbody tr:nth-child(even){background:#F0EBDA}
#expConv td.acn,#expConv th.acn{text-align:center;width:44px;font-weight:600;color:var(--verde)}
#expConv td.acpos,#expConv th.acpos{color:var(--tinta2);font-size:10px;letter-spacing:.4px;text-transform:uppercase}
#expConv .accierre{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;padding:20px 26px 24px}
#expConv .acfirma{font-size:10px;color:var(--tinta2);border-top:1px solid var(--tinta2);padding-top:4px}
#expConv .acsello{width:62px;height:62px;flex-shrink:0}
#expConv .acsello img{width:100%;height:100%;border-radius:50%;object-fit:cover}
#expConv .acpie{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 26px;padding:12px 0 18px;border-top:1px solid var(--linea);font-family:var(--ios)}
#expConv .acpie span{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:600;color:var(--tinta2)}
#expConv .acpie img{height:17px;width:auto}
#expConv .acpie b{font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#1F5F99}

#expTec{width:400px;padding:34px 30px 26px;color:var(--marfil);
  background:linear-gradient(180deg,var(--verde) 0%,var(--verde2) 62%,var(--verde3) 100%);
  display:flex;flex-direction:column;align-items:center;text-align:center}
#expTec .tk-escudo{width:56px;height:76px;object-fit:contain;margin:0 auto}
#expTec .tk-club{font-family:var(--display);font-weight:700;font-size:19px;letter-spacing:.3px;margin-top:10px}
#expTec .tk-eyebrow{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--oro2);margin-top:4px;font-weight:600}
#expTec .tk-meta{font-size:12.5px;color:#CFE0CB;margin-top:8px}
#expTec .tk-divider{width:64px;height:2px;background:var(--oro);border-radius:2px;margin:18px auto}
#expTec .tk-titulo{font-family:var(--display);font-size:26px;font-weight:700;text-transform:uppercase;letter-spacing:.2px}
#expTec .tk-titulo b{color:var(--oro2)}
#expTec .tk-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px;width:100%}
#expTec .tk-grid.impar .tk-jug:last-child{grid-column:1 / -1;max-width:calc(50% - 5px);margin:0 auto}
#expTec .tk-jug{background:rgba(245,243,236,.08);border:1px solid rgba(245,243,236,.16);border-radius:10px;
  padding:10px 8px;display:flex;flex-direction:column;align-items:center;gap:3px}
#expTec .tk-jug .n{font-family:var(--display);font-weight:700;font-size:20px;color:var(--oro2);line-height:1}
#expTec .tk-jug .nm{font-size:12.5px;font-weight:600;line-height:1.2}
#expTec .tk-jug .p{font-size:10.5px;color:#CFE0CB}
#expTec .tk-pie{margin-top:24px;padding-top:16px;border-top:1px solid rgba(245,243,236,.2);width:100%}
#expTec .tk-firma{font-size:12px;font-weight:600}
#expTec .tk-firma small{display:block;font-size:10px;color:#CFE0CB;font-weight:400;margin-top:1px}
#expTec .tk-marca{font-size:9px;letter-spacing:1px;color:#9FB79A;text-transform:uppercase;margin-top:10px}

#expCitas{width:400px;padding:34px 30px 26px;color:var(--marfil);
  background:linear-gradient(180deg,var(--verde) 0%,var(--verde2) 62%,var(--verde3) 100%);
  display:flex;flex-direction:column;align-items:center;text-align:center}
#expCitas .ci-escudo{width:56px;height:76px;object-fit:contain;margin:0 auto}
#expCitas .ci-club{font-family:var(--display);font-weight:700;font-size:19px;letter-spacing:.3px;margin-top:10px}
#expCitas .ci-eyebrow{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--oro2);margin-top:4px;font-weight:600}
#expCitas .ci-meta{font-size:12.5px;color:#CFE0CB;margin-top:8px}
#expCitas .ci-divider{width:64px;height:2px;background:var(--oro);border-radius:2px;margin:18px auto}
#expCitas .ci-lista{width:100%;display:flex;flex-direction:column;gap:8px}
#expCitas .ci-fila{display:grid;grid-template-columns:96px 1fr;gap:2px 10px;text-align:left;
  background:rgba(245,243,236,.08);border:1px solid rgba(245,243,236,.16);border-radius:10px;padding:9px 12px}
#expCitas .ci-fila .h{font-family:var(--display);font-weight:700;font-size:13px;color:var(--oro2);grid-row:1/3;white-space:nowrap}
#expCitas .ci-fila .nm{font-size:12.5px;font-weight:600}
#expCitas .ci-fila .nt{font-size:10.5px;color:#CFE0CB}
#expCitas .ci-vacio{font-size:12.5px;color:#CFE0CB}
#expCitas .ci-pie{margin-top:24px;padding-top:16px;border-top:1px solid rgba(245,243,236,.2);width:100%}
#expCitas .ci-firma{font-size:12px;font-weight:600}
#expCitas .ci-firma small{display:block;font-size:10px;color:#CFE0CB;font-weight:400;margin-top:1px}
#expCitas .ci-marca{font-size:9px;letter-spacing:1px;color:#9FB79A;text-transform:uppercase;margin-top:10px}

#modalImg{position:fixed;inset:0;background:rgba(0,27,57,.55);display:flex;align-items:center;justify-content:center;padding:16px;z-index:50}
#modalImg[hidden]{display:none}
#modalCarrusel{position:fixed;inset:0;background:rgba(11,16,12,.75);display:flex;align-items:center;justify-content:center;padding:16px;z-index:55}
#modalCarrusel[hidden]{display:none}
#modalPizarra{position:fixed;inset:0;background:rgba(11,16,12,.75);display:flex;align-items:center;justify-content:center;padding:16px;z-index:60}
#modalPizarra[hidden]{display:none}
#modalMinuta{position:fixed;inset:0;background:rgba(11,16,12,.75);display:flex;align-items:center;justify-content:center;padding:16px;z-index:65}
#modalMinuta[hidden]{display:none}
#modalCompartir{position:fixed;inset:0;background:rgba(11,16,12,.75);display:flex;align-items:center;justify-content:center;padding:16px;z-index:65}
#modalCompartir[hidden]{display:none}
#modalPermisos{position:fixed;inset:0;background:rgba(11,16,12,.75);display:flex;align-items:center;justify-content:center;padding:16px;z-index:65}
#modalPermisos[hidden]{display:none}
#modalConfirmarPin{position:fixed;inset:0;background:rgba(11,16,12,.75);display:flex;align-items:center;justify-content:center;padding:16px;z-index:70}
#modalConfirmarPin[hidden]{display:none}
:is(#modalImg,#modalCarrusel,#modalPizarra,#modalMinuta,#modalCompartir,#modalPermisos,#modalConfirmarPin):not([hidden]){animation:mFondoEntra .18s ease-out}
:is(#modalImg,#modalCarrusel,#modalMinuta,#modalCompartir,#modalPermisos,#modalConfirmarPin):not([hidden])>div{animation:mCajaEntra .2s cubic-bezier(.2,.8,.2,1)}
:is(#modalImg,#modalCarrusel,#modalPizarra,#modalMinuta,#modalCompartir,#modalPermisos,#modalConfirmarPin).mSale{animation:mFondoSale .14s ease-in forwards}
:is(#modalImg,#modalCarrusel,#modalMinuta,#modalCompartir,#modalPermisos,#modalConfirmarPin).mSale>div{animation:mCajaSale .14s ease-in forwards}
@keyframes mFondoEntra{from{opacity:0}}
@keyframes mCajaEntra{from{opacity:0;transform:scale(.97) translateY(6px)}}
@keyframes mFondoSale{to{opacity:0}}
@keyframes mCajaSale{to{opacity:0;transform:scale(.97) translateY(6px)}}
.mBox{background:#fff;border-radius:12px;max-width:460px;width:100%;max-height:92vh;overflow:auto;padding:12px}
.permCatGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:2px 12px;margin:4px 0 6px}
.mBox img{width:100%;border:1px solid var(--linea);border-radius:8px;display:block}
.mActs{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:10px}
.mHint{font-size:12px;color:var(--tinta2);text-align:center;margin-top:8px}
.linkCompartir{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid var(--linea);border-radius:8px;font-size:13px;color:var(--tinta1,#0E1B2B);background:#F7F5EF}
footer{padding:18px 16px 26px;text-align:center;font-size:11px;color:var(--tinta2);letter-spacing:.6px;text-transform:uppercase;flex-shrink:0}
.pieMarca{font-size:11px;color:#B9B4A5;letter-spacing:1.2px;margin-top:6px;font-weight:600}

/* ---------- Legibilidad 45+ (computadora e iPad) ---------- */
body{font-size:16px;line-height:1.45}
main{max-width:1760px;padding:16px 18px 70px}
::placeholder{color:#8A938D;opacity:1}
h2.mod{font-size:28px}
p.ayuda{font-size:15px}
#aviso{font-size:13px}
.meta label{font-size:13px}
.meta input{font-size:15px;padding:8px 10px}
.hFr{font-size:17px}
.filaFr{background:#FBFAF6;border:1px solid var(--linea);border-radius:8px;padding:8px;grid-template-columns:104px 1fr auto}
.filaFr input.h{font-size:16px;padding:8px 6px}
.filaFr select.selFr{font-size:15px;padding:8px;min-width:min(300px,100%)}
.filaFr input.frTxt{font-size:15px;padding:8px}
.filaFr .et button{font-size:13px;padding:7px 11px}
.filaFr .ops button{font-size:15px;padding:6px 10px}
.cols{grid-template-columns:repeat(7,minmax(215px,1fr));min-width:1505px}
.dia .cab{font-size:20px}
.dia .cab i{font-size:13px}
.chipMD{font-size:15px;padding:7px 4px}
.celda{font-size:15px;padding:9px 10px 10px;min-height:78px}
.celda .fr{font-size:12px;margin-bottom:4px}
.celda .fr .edit{font-size:15px}
.celda textarea{font-size:15px;min-height:84px}
.celda .miniAcc button{font-size:13px;padding:5px 10px}
.leyenda span{font-size:13px;padding:4px 11px}
.selDias button{font-size:16px;padding:8px 16px}
#planCard{width:min(480px,100%)}
.pc-fecha input{font-size:20px}
.pc-fecha .md{font-size:15px}
.pc-sub input{font-size:14px;padding:7px 9px}
table.agenda td{font-size:14px;padding:9px 7px}
table.agenda td.hora{font-size:17px;width:58px}
table.agenda td.ct{font-size:15px;width:96px}
table.agenda td .det{font-size:12.5px}
.pc-pie{font-size:11px}
.btnP{font-size:16px;padding:11px 22px}
.btnS{font-size:16px;padding:11px 20px}
.editorAgenda{width:min(640px,100%)}
.editorAgenda h3{font-size:17px}
.editorAgenda p{font-size:13px}
.filaAg input{font-size:15px;padding:7px 9px}
.filaAg input.h{font-size:15px}
.addRow{font-size:15px;padding:9px 12px}
table.ed th{font-size:15px;padding:8px 9px}
table.ed input, table.ed textarea{font-size:15px;padding:7px 8px}
table.ed{min-width:860px}
.tipoBloque h3{font-size:20px}
.gridFr label{font-size:12px}
.gridFr textarea{font-size:15px;min-height:66px}
.mHint{font-size:13px}
#expCard{width:440px}
#expCard .xclub b{font-size:23px}
#expCard .xsub{font-size:14px}
#expCard .xsub label{font-size:10px}
#expCard .xrow{grid-template-columns:60px 10px 1fr auto}
#expCard .xh{font-size:18px}
#expCard .xact b{font-size:14.5px}
#expCard .xact span{font-size:12.5px}
#expCard .xct{font-size:15px;max-width:104px}
@media (min-width:1500px){
  body{font-size:17px}
  .celda{font-size:15px;min-height:84px}
  .celda .fr{font-size:12px}
  .cols{grid-template-columns:repeat(7,minmax(230px,1fr));min-width:1610px}
  table.agenda td{font-size:15px}
}

/* ---------- Semana compuesta por planes diarios ---------- */
.diaLista{display:flex;flex-direction:column;gap:6px;padding:8px}
.sesion{border-radius:8px;padding:8px 10px;font-size:13px;line-height:1.4;border:1px solid rgba(0,0,0,.05)}
.sesion .sh{font-family:var(--display);font-weight:700;font-size:15px;color:var(--verde);margin-right:6px}
.sesion .sct{font-family:var(--display);font-weight:600;color:var(--verde);font-size:13px;float:right;margin-left:6px}
.sesion .sdet{font-size:13px;color:var(--tinta2);display:block;clear:both}
.btnDia{margin:2px 8px 10px;border:1px dashed var(--verde);background:#fff;color:var(--verde);border-radius:8px;padding:9px;font-size:15px;font-family:var(--display);letter-spacing:.4px;text-transform:uppercase;font-weight:600}
.btnDia:hover{background:var(--verde);color:#fff}
.selSes{border:1px solid var(--linea);border-radius:6px;padding:7px;font-size:13px;background:#FDFCF9;max-width:100%}
.lblTipo{font-size:13px;text-transform:uppercase;letter-spacing:.8px;color:var(--tinta2);display:block;margin-bottom:4px}
.tocado{font-size:13px;color:var(--tinta2);letter-spacing:.4px;padding:4px 2px 0}
#tipoDia{width:100%;margin:0}

/* ---------- Selectores dobles entreno + MD ---------- */
.dualSel{display:grid;grid-template-columns:1fr 118px;gap:6px;align-items:end}
.selEnt,.selMd{border:1.5px solid var(--oro);border-radius:6px;background:#fff;color:var(--verde);
  font-family:var(--display);font-weight:600;font-size:15px;letter-spacing:.4px;text-transform:uppercase;
  padding:8px 4px;text-align:center;-webkit-appearance:none;appearance:none;width:100%}
.dia .dualSel{padding:7px 6px 0;grid-template-columns:1fr 84px}
.dia .selEnt,.dia .selMd{font-size:13px;padding:7px 2px}
.dia.libreCol .selEnt,.dia.libreCol .selMd{background:var(--libre)}
.tplHead{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;margin-bottom:8px}
.tplHead input.tplNombre{border:1px solid var(--linea);border-radius:8px;padding:9px 10px;
  font-family:var(--display);font-weight:700;font-size:17px;letter-spacing:.5px;text-transform:uppercase;
  color:var(--verde);background:#FDFCF9;width:100%;border-left:5px solid var(--oro)}
.tplHead .del{border:1px solid var(--linea);background:#fff;border-radius:8px;color:var(--partidoB);font-size:13px;padding:9px 12px}

/* ---------- Fichas de CT a cargo ---------- */
.ctBox{display:flex;flex-wrap:wrap;gap:5px;align-items:center;border:1px solid var(--linea);border-radius:6px;padding:6px 7px;background:#FDFCF9;min-height:40px}
.ctLbl{font-size:11px;letter-spacing:.8px;text-transform:uppercase;color:var(--tinta2)}
.ctChip{display:inline-flex;align-items:center;gap:4px;border:1.5px solid var(--verde);color:var(--verde);border-radius:15px;padding:4px 6px 4px 11px;font-family:var(--display);font-weight:600;font-size:15px;letter-spacing:.4px;cursor:pointer;background:#fff;user-select:none}
.ctChip.resp{background:var(--verde);color:#fff}
.ctChip .qx{border:none;background:transparent;color:inherit;font-size:15px;line-height:1;padding:0 3px;cursor:pointer}
.ctVacio{font-size:13px;color:var(--tinta2);font-style:italic}
.ctAdd{border:1px dashed var(--verde);border-radius:15px;background:#fff;color:var(--verde);font-size:13px;padding:5px 7px;max-width:170px}

/* ---------- Imagen del microciclo semanal ---------- */
#expSem{width:1480px;background:#fff;font-family:var(--body);color:var(--tinta)}
#expSem .whead{background:var(--verde);color:#fff;padding:18px 22px;position:relative;overflow:hidden}
#expSem .xstripes{position:absolute;top:-24px;right:-18px;width:170px;height:150px;opacity:.85;
 background:linear-gradient(115deg,transparent 44%,var(--oro) 44% 52%,transparent 52%),linear-gradient(115deg,transparent 62%,var(--oro) 62% 68%,transparent 68%)}
#expSem .wclub{display:flex;gap:12px;align-items:center;position:relative}
#expSem .wclub b{display:block;font-family:var(--display);font-size:28px;line-height:1;letter-spacing:.6px;text-transform:uppercase}
#expSem .wclub i{font-style:normal;font-size:12px;letter-spacing:1.8px;color:var(--oro2);text-transform:uppercase}
#expSem .wgold{background:var(--negro);color:var(--oro2);display:flex;justify-content:space-between;gap:10px;align-items:center;padding:10px 22px;font-family:var(--display);font-weight:700;font-size:18px;letter-spacing:.5px;text-transform:uppercase}
#expSem .wgrid{display:grid;grid-template-columns:repeat(7,1fr);gap:10px;padding:14px 16px 8px}
#expSem .wdia{border:1px solid var(--linea);border-radius:10px;overflow:hidden;background:#fff}
#expSem .wdia.libre{background:var(--libre)}
#expSem .wcab{background:var(--verde);color:#fff;text-align:center;padding:7px 4px 6px;font-family:var(--display);font-weight:700;font-size:17px;letter-spacing:.5px;text-transform:uppercase}
#expSem .wcab i{display:block;font-style:normal;font-size:11px;color:var(--oro2);font-weight:600;letter-spacing:.6px;text-transform:none}
#expSem .wchip{background:var(--negro);color:var(--oro2);text-align:center;font-family:var(--display);font-weight:700;font-size:11.5px;letter-spacing:.5px;text-transform:uppercase;padding:4px 3px}
#expSem .wlista{display:flex;flex-direction:column;gap:5px;padding:7px}
#expSem .wses{border-radius:7px;padding:6px 7px;font-size:11.5px;line-height:1.35;border:1px solid rgba(0,0,0,.05)}
#expSem .wses .h{font-family:var(--display);font-weight:700;font-size:13px;color:var(--verde);margin-right:5px}
#expSem .wses .c{font-family:var(--display);font-weight:600;font-size:11.5px;color:var(--verde);float:right;margin-left:5px}
#expSem .wses .d{display:block;clear:both;font-size:9.5px;color:var(--tinta2)}
#expSem .wpie{padding:6px 14px 14px;text-align:center;font-size:10px;color:var(--tinta2);letter-spacing:.8px;text-transform:uppercase}

/* ---------- Firma institucional ---------- */
.pc-cred{padding:12px 12px 12px;text-align:center;font-family:var(--display);font-weight:600;font-size:12.5px;letter-spacing:.9px;text-transform:uppercase;color:var(--verde)}
#expCard .xcred{padding:14px 12px 14px;text-align:center;font-family:var(--display);font-weight:600;font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--verde)}
#expSem .wcred{padding:0 14px 16px;text-align:center;font-family:var(--display);font-weight:600;font-size:12.5px;letter-spacing:1px;text-transform:uppercase;color:var(--verde)}

.estadoG{color:#fff;background:var(--verde3);border-radius:16px;padding:6px 13px;font-size:13px;letter-spacing:.4px;opacity:0;transition:opacity .25s}
.estadoG.on{opacity:1}

/* ---------- Base compartida: identidad, fechas, historial ---------- */
#aviso.aviso-info{display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:var(--orofondo);border-bottom:1px solid var(--oro);color:#123F66;font-size:13px;padding:8px 16px}
#aviso select{border:1px solid var(--oro);border-radius:6px;padding:5px 8px;font-size:13px;background:#fff}
.chipBtn{border:1px solid #123F66;background:transparent;color:#123F66;border-radius:14px;padding:4px 11px;font-size:13px}
.chipBtn:hover{background:#123F66;color:#fff}
.estadoG.err{background:#B3402F}
.estadoG.pend{background:#B77E2E}

.fechaNav{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.fechaNav button{border:1px solid var(--linea);background:#fff;border-radius:8px;padding:8px 13px;font-family:var(--display);font-size:15px;color:var(--verde);font-weight:600}
.fechaNav button:hover{background:var(--verde);color:#fff;border-color:var(--verde)}
.fechaNav input[type=date]{border:1px solid var(--linea);border-radius:8px;padding:7px 9px;font-size:15px;background:#FDFCF9}
.fechaNav .diaNombre{font-family:var(--display);font-weight:700;font-size:17px;color:var(--verde);margin-left:4px}

.semNav{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:10px}
.semNav button{border:1px solid var(--linea);background:#fff;border-radius:20px;padding:7px 14px;font-family:var(--display);font-size:15px;color:var(--verde);font-weight:600}
.semNav button:hover{background:var(--verde);color:#fff;border-color:var(--verde)}
.semNav .semRango{font-family:var(--display);font-weight:700;font-size:15px;color:var(--tinta2);margin-left:4px}

.copiar .copiarRow{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.copiar input[type=date]{border:1px solid var(--linea);border-radius:8px;padding:7px 9px;font-size:15px;background:#FDFCF9}
.origenBox{margin-top:10px;border:1px solid var(--oro);border-radius:8px;padding:9px 11px;background:#FFFDF4;font-size:13px}
.origenBox button{margin-top:8px}

.histLista{display:flex;flex-direction:column;gap:2px}
.histRow{display:grid;grid-template-columns:110px 130px 1fr 90px;gap:10px;padding:9px 4px;border-bottom:1px solid var(--linea);font-size:13px;align-items:center}
.histFecha{font-family:var(--display);font-weight:700;color:var(--verde)}
.histAutor{font-weight:600}
.histCuando{color:var(--tinta2);text-align:right;font-size:13px}
@media (max-width:640px){.histRow{grid-template-columns:1fr 1fr;row-gap:2px}.histCuando{text-align:left}}

/* ---------- Sesión: avatar con menú (header) ---------- */
.credBtn{display:flex;align-items:center;gap:12px;width:100%;min-height:56px;padding:8px 10px;border:none;border-radius:14px;background:#fff;
  box-shadow:0 1px 2px rgba(0,0,0,.06);font-family:var(--ios);text-align:left;cursor:pointer}
.credBtn:hover{background:#FBFBF9}
.credBtn[hidden]{display:none}
.credIni{width:40px;height:40px;border-radius:50%;background:var(--oro);color:#FFFFFF;display:flex;align-items:center;justify-content:center;
  font-family:var(--ios);font-weight:700;font-size:15px;flex-shrink:0}
.credTxt{flex-grow:1;min-width:0;line-height:1.25}
.credTxt b{display:block;font-size:16px;font-weight:600;color:#1C1C1E}
.credTxt span{display:block;font-size:13px;color:var(--gris2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.credChev{color:var(--gris2);font-size:15px}
#credDrop{position:fixed;background:rgba(255,255,255,.96);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:14px;min-width:240px;
  box-shadow:0 18px 40px -8px rgba(0,0,0,.28),0 0 0 1px rgba(0,0,0,.06);padding:6px;z-index:90;font-family:var(--ios);
  transform-origin:bottom left;animation:credEntra .18s cubic-bezier(.2,.8,.2,1)}
@keyframes credEntra{from{opacity:0;transform:scale(.96) translateY(4px)}}
#credDrop[hidden]{display:none}
.credCabeza{padding:10px 12px;border-bottom:1px solid var(--sep);margin-bottom:4px}
.credCabeza b{display:block;color:#1C1C1E;font-size:16px}
.credCabeza span{font-size:13px;color:var(--gris2)}
#credDrop button{display:flex;align-items:center;gap:9px;width:100%;min-height:44px;text-align:left;background:transparent;border:none;
  color:#1C1C1E;font-family:var(--ios);font-size:16px;padding:0 12px;border-radius:9px;cursor:pointer}
#credDrop button:hover{background:rgba(0,0,0,.05)}
#credDrop button.credSalir{color:#B3402F}
#credDrop button.credSalir:hover{background:rgba(179,64,47,.08);color:#B3402F}
#credDrop hr{border:none;border-top:1px solid var(--sep);margin:4px 6px}
#modalQuien{position:fixed;inset:0;overflow:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:48px 18px;z-index:70;
  background:
    radial-gradient(ellipse 900px 600px at 50% -10%, rgba(141,189,230,.10), transparent 60%),
    radial-gradient(ellipse 1200px 900px at 50% 120%, rgba(27,79,133,.35), transparent 60%),
    linear-gradient(180deg, #021A33 0%, var(--verde) 45%, var(--negro) 100%)}
#modalQuien[hidden]{display:none}
#modalQuien::before{content:"";position:fixed;top:-130px;left:-120px;width:480px;height:420px;opacity:.4;pointer-events:none;
  background:linear-gradient(115deg,transparent 44%,var(--oro) 44% 49%,transparent 49%),linear-gradient(115deg,transparent 58%,var(--oro) 58% 63%,transparent 63%)}

#loginExito{position:fixed;inset:0;z-index:80;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:6px;
  background:radial-gradient(ellipse 1200px 900px at 50% 120%, rgba(27,79,133,.35), transparent 60%),
    linear-gradient(180deg, #021A33 0%, var(--verde) 45%, var(--negro) 100%)}
#loginExito[hidden]{display:none}
.leEscudoWrap{position:relative;width:88px;height:88px;display:flex;align-items:center;justify-content:center;margin-bottom:6px}
.leEscudo{width:72px;height:auto;position:relative;z-index:2;filter:grayscale(1) brightness(.5);opacity:.5}
.leGlow{position:absolute;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(141,189,230,.55),transparent 70%);
  opacity:0;transform:scale(.3)}
.leNombre{font-family:var(--display);font-size:34px;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.3px;opacity:0;transform:translateY(6px)}
.leSub{font-size:20px;color:var(--oro2);opacity:0;transform:translateY(6px)}
#loginExito.play .leEscudo{animation:leEncender 1.4s ease forwards}
#loginExito.play .leGlow{animation:leBrillo 1.5s ease forwards}
#loginExito.play .leNombre{animation:leSubir .6s ease .8s forwards}
#loginExito.play .leSub{animation:leSubir .6s ease 1s forwards}
@keyframes leEncender{0%{filter:grayscale(1) brightness(.5);opacity:.5}60%{filter:grayscale(0) brightness(1.3);opacity:1}100%{filter:grayscale(0) brightness(1);opacity:1}}
@keyframes leBrillo{0%{opacity:0;transform:scale(.3)}40%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.3)}}
@keyframes leSubir{to{opacity:1;transform:translateY(0)}}
@media (prefers-reduced-motion:reduce){ #loginExito .leEscudo,#loginExito .leGlow,#loginExito .leNombre,#loginExito .leSub{animation:none!important;opacity:1!important;filter:none!important;transform:none!important} }
.qsMarca{position:relative;text-align:center;color:#fff;margin-bottom:26px}
.qsMarca img{width:88px;height:auto;filter:drop-shadow(0 12px 22px rgba(0,0,0,.45));margin-bottom:12px}
.qsMarca h1{font-family:var(--display);font-size:34px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin:0;text-wrap:balance}
.qsMarca .qsSub{display:inline-block;color:var(--oro2);font-size:12px;letter-spacing:2.2px;text-transform:uppercase;margin-top:10px;font-weight:700;
  background:rgba(141,189,230,.12);border:1px solid rgba(141,189,230,.35);border-radius:20px;padding:6px 16px}
.qsTarjeta{position:relative;width:100%;max-width:400px}
.qsTarjeta::before{content:"";position:absolute;left:14px;right:14px;top:-10px;height:34px;border-radius:16px 16px 0 0;
  background:rgba(255,255,255,.10)}
.mBoxQuien{position:relative;background:#fff;border-radius:18px;max-width:400px;width:100%;overflow:hidden;text-align:center;
  box-shadow:0 4px 0 var(--oro), 0 30px 60px -18px rgba(0,0,0,.6)}
.mqHead{padding:26px 20px 0}
.mqHead img{display:none}
.mqHead h2{font-family:var(--display);font-size:22px;font-weight:700;color:var(--verde);text-transform:uppercase;letter-spacing:.4px;margin:0}
.mqHead .mqSub{display:block;width:40px;height:3px;background:var(--oro);border-radius:2px;margin:14px auto 0}
.mqBody{padding:16px 26px 28px}
.mqBody p{font-size:15px;color:var(--tinta2);margin-bottom:18px;line-height:1.4}
.mqBody select{width:100%;border:1.5px solid var(--linea);border-radius:10px;padding:13px;font-size:16px;margin-bottom:10px;background:#FDFCF9;font-family:var(--body)}
.mqBody select:focus{outline:none;border-color:var(--oro)}
.mqBody input.otroNombre{width:100%;border:1.5px solid var(--linea);border-radius:10px;padding:13px;font-size:16px;margin-bottom:12px;background:#FFFDF4;font-family:var(--body)}
.mqBody input.otroNombre:focus{outline:none;border-color:var(--oro)}
.mqBody .btnP{width:100%;padding:14px;font-size:17px}
/* ---- clave de 4 números ---- */
.pinInput{width:100%;border:1.5px solid var(--linea);border-radius:10px;padding:12px;font-size:28px;letter-spacing:10px;text-align:center;background:#FDFCF9;margin-bottom:10px}
.pinInput:focus{outline:none;border-color:var(--oro)}
.mqError{color:#B3402F;font-size:13px;font-weight:600;margin:-4px 0 10px}
.mqLink{display:block;width:100%;background:none;border:none;color:#0A3260;text-decoration:underline;font-size:13px;margin-top:12px;cursor:pointer}
.mqPersona{font-family:var(--display);font-weight:700;font-size:20px;color:var(--verde);margin-bottom:8px}
.mqNota{font-size:13px;color:var(--tinta2);margin-top:12px}
.mqRecordado{text-align:center}
.mqRecordado .mqIni{width:64px;height:64px;border-radius:50%;background:var(--verde);color:#fff;font-family:var(--display);
  font-weight:700;font-size:22px;display:flex;align-items:center;justify-content:center;margin:4px auto 12px}
.mqRecordado .mqPersona{font-size:22px;margin-bottom:2px}
.mqRecordado .mqRol{font-size:13px;color:var(--tinta2);margin-bottom:16px}
/* ---- minuta semanal ---- */
.mBoxMinuta{max-width:640px;max-height:88vh;overflow:auto}
#minutaPrint{background:#fff;color:#0E1B2B;text-align:left;padding:4px 2px}
.mnHead{display:flex;align-items:center;gap:12px;border-bottom:3px solid var(--oro);padding-bottom:12px;margin-bottom:14px}
.mnHead img{height:46px}
.mnHead h3{font-family:var(--display);font-size:20px;color:var(--verde);margin:0}
.mnHead .mnSub{font-size:13px;color:var(--tinta2)}
.mnCtx{background:var(--orofondo);border:1px solid var(--oro);border-radius:8px;padding:8px 12px;font-size:13px;margin-bottom:14px}
.mnSec{font-family:var(--display);font-weight:700;font-size:13px;color:var(--verde);text-transform:uppercase;letter-spacing:1px;margin:16px 0 8px;border-bottom:1px solid var(--linea);padding-bottom:4px}
.mnDia,.mnCambio{font-size:13px;line-height:1.55;padding:3px 0}
.mnCambio b{color:var(--verde)}
.mnPie{margin-top:18px;padding-top:10px;border-top:1px solid var(--linea);font-size:13px;color:var(--tinta2)}
@media print{
  body *{visibility:hidden}
  #minutaPrint, #minutaPrint *{visibility:visible}
  #minutaPrint{position:absolute;left:0;top:0;width:100%;max-height:none;padding:16px}
}
/* ---- categorías ---- */
/* ---------- Responsive: tablet horizontal ---------- */
@media (max-width:1300px){
  .cols{grid-template-columns:repeat(7,minmax(152px,1fr));gap:6px;min-width:0}
}

/* ---------- Responsive: tablet vertical / laptop chico ---------- */
@media (max-width:900px){
  main{padding:12px 10px 60px}
  h2.mod{font-size:20px}
  .mqHead h2{font-size:22px}
  .mqBody{padding:20px 18px 22px}
  .qsMarca h1{font-size:34px}
  .qsMarca img{width:76px}
}

/* ---------- Responsive: celular ---------- */
@media (max-width:480px){
  main{padding:10px 8px 60px}
  h2.mod{font-size:17px}
  .fechaNav,.semNav{gap:6px}
  .fechaNav button,.semNav button{padding:7px 10px;font-size:13px}
  .fechaNav .diaNombre{font-size:15px;width:100%;text-align:center;order:-1;margin:0 0 4px}
  .dualSel{grid-template-columns:1fr 96px}
  .mqHead{padding:20px 16px 0}
  .mqHead h2{font-size:20px}
  .mqBody{padding:14px 16px 20px}
  .mqBody select,.mqBody input.otroNombre,.pinInput{font-size:15px;padding:11px}
  .qsMarca{margin-bottom:20px}
  .qsMarca h1{font-size:28px}
  .qsMarca img{width:64px}
  .qsMarca .qsSub{font-size:11px;letter-spacing:1.8px}
  .mBox,.mBoxMinuta{max-width:100%}
  .mBoxCarrusel{max-width:94vw;width:94vw}
  table.ed{min-width:640px}
}
/* ---- fotos por bloque + carrusel ---- */
.imgIcon{border:1px solid var(--linea);background:#fff;border-radius:12px;padding:1px 7px;font-size:12px;color:var(--verde);vertical-align:middle;margin-left:2px}
.sesion .imgIcon{background:rgba(255,255,255,.6);border-color:rgba(0,0,0,.12)}
.imgRow{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:2px}
.imgThumb{position:relative;width:46px;height:46px;border-radius:6px;overflow:hidden;border:1px solid var(--linea);flex:none}
.imgThumb img{width:100%;height:100%;object-fit:cover;cursor:pointer;display:block}
.imgThumb .imgX{position:absolute;top:0;right:0;background:rgba(11,16,12,.65);color:#fff;border:none;font-size:11px;line-height:1;padding:2px 4px;border-radius:0 0 0 6px}
.imgAdd{border:1px dashed var(--verde);border-radius:6px;color:var(--verde);font-size:12px;padding:5px 8px;cursor:pointer;white-space:nowrap;font-weight:600}
.imgAdd.subiendo{opacity:.6;pointer-events:none}
.mBoxCarrusel{max-width:70vw;width:70vw;max-height:88vh}
.carrHead{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;background:var(--verde)}
.carrHead #carrContador{color:var(--oro2);font-family:var(--display);font-weight:700;font-size:15px;letter-spacing:.5px}
.carrHead .btnS{padding:6px 13px;font-size:13px}
.carrImgWrap{position:relative;background:#0B0F0C;display:flex;align-items:center;justify-content:center;min-height:220px}
.carrImgWrap img{max-width:100%;max-height:76vh;display:block;margin:0 auto}
.carrNav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,.45);color:#fff;border:none;
  width:42px;height:42px;border-radius:50%;font-size:22px;line-height:1;display:flex;align-items:center;justify-content:center}
.carrNav[hidden]{display:none}
.carrNav:first-of-type{left:8px} .carrNav:last-of-type{right:8px}
.carrNav:hover{background:rgba(0,0,0,.7)}
@media (max-width:480px){
  .imgThumb{width:40px;height:40px}
  .carrNav{width:36px;height:36px;font-size:20px}
}
/* ---- lista de minutas archivadas ---- */
.minLista{display:flex;flex-direction:column;gap:2px}
.minRow{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 6px;border-bottom:1px solid var(--linea);cursor:pointer}
.minRow:hover{background:#FDFCF9}
.minInfo{display:flex;flex-direction:column;gap:2px;font-size:15px}
.minInfo b{color:var(--verde);font-family:var(--display);letter-spacing:.3px}
.minMeta{font-size:12px;color:var(--tinta2)}
.minVer{font-family:var(--display);font-weight:600;color:var(--verde);font-size:13px;white-space:nowrap}
/* ---- pizarra táctica ---- */
.mBoxPizarra{max-width:97vw;width:97vw;max-height:94vh;padding:14px;display:flex;flex-direction:column}
.pzLayout{display:flex;gap:14px;align-items:stretch;flex:1;min-height:0;overflow:hidden}
.pzPanel{flex:0 0 384px;max-width:384px;overflow-y:auto;max-height:100%;padding:2px 12px 4px 2px}
.pzPanel::-webkit-scrollbar{width:7px}
.pzPanel::-webkit-scrollbar-thumb{background:#D8D2C4;border-radius:4px}
.pzPanel .pzColores{padding-bottom:9px;border-bottom:1px solid var(--linea)}
.pzCancha{flex:1;min-width:0;display:flex;align-items:center;justify-content:center}
.pzCancha #pizarraLienzo{width:100%;height:100%;display:flex;align-items:center;justify-content:center;min-height:0}
.pzCancha #pizarraSVG{width:100%;height:100%;max-height:100%;display:block}
.pzPanel .pzColores,.pzPanel .pzHerr{margin-bottom:7px}
.pzPanel .pzTabs{margin:8px 0}
.pzPanel .pzTab{padding:5px 7px;font-size:11px}
.pzPanel .pzAyuda{white-space:normal;overflow-wrap:anywhere}
/* --- bloques ordenados del panel izquierdo --- */
.pzBloque{margin-top:12px;padding-top:11px;border-top:1px solid var(--linea)}
/* ============ diseño minimalista con rieles ============ */
.mBoxPizarra{max-width:98vw;width:98vw;max-height:96vh;padding:0;display:flex;flex-direction:column;overflow:hidden}
.pzTop{padding:9px 12px;border-bottom:1px solid var(--linea);background:#FCFBF7;flex:0 0 auto}
.pzTop .pzColores{margin:0;padding:0;border:none;flex-wrap:wrap}
.pzEscena{flex:1;min-height:0;display:flex;position:relative;background:#EFEDE5}
.pzRiel{flex:0 0 66px;background:linear-gradient(180deg,#06203F 0%,#021327 100%);display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 0;z-index:4;overflow-y:auto}
.pzRielIzq{border-right:1px solid rgba(255,255,255,.08);box-shadow:2px 0 12px rgba(0,0,0,.18)}
.pzRielDer{border-left:1px solid rgba(255,255,255,.08);box-shadow:-2px 0 12px rgba(0,0,0,.18)}
.pzRielBtn{width:54px;min-height:48px;border:1px solid transparent;background:rgba(255,255,255,.06);border-radius:11px;line-height:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;flex:0 0 auto;color:#fff;transition:background .12s,transform .12s;padding:5px 2px}
.pzRielIco{font-size:17px;line-height:1}
.pzRielTxt{font-size:8px;line-height:1.05;font-weight:600;letter-spacing:.01em;text-align:center;white-space:nowrap}
.pzRielBtn:hover{background:rgba(255,255,255,.16);transform:translateY(-1px)}
.pzRielBtn.on{background:var(--oro);color:#FFFFFF;border-color:var(--oro2);box-shadow:0 0 0 2px rgba(47,127,193,.28)}
.pzRielBtn.pzAviso{animation:pzRielPulso 1.4s ease-in-out infinite}
@keyframes pzRielPulso{0%,100%{box-shadow:0 0 0 0 rgba(47,127,193,.55)}50%{box-shadow:0 0 0 6px rgba(47,127,193,0)}}
@media (prefers-reduced-motion:reduce){.pzRielBtn.pzAviso{animation:none;box-shadow:0 0 0 2px rgba(47,127,193,.55)}}
.pzFlotante{position:absolute;top:10px;bottom:10px;width:308px;background:#FDFCF8;border:1px solid rgba(0,27,57,.14);border-radius:14px;
  box-shadow:0 14px 40px rgba(11,15,12,.20), 0 2px 6px rgba(11,15,12,.08);padding:0;overflow:hidden;z-index:5;display:flex;flex-direction:column}
.pzFlotanteCab{flex:0 0 auto;display:flex;align-items:center;gap:9px;padding:13px 15px 11px;
  background:linear-gradient(180deg,#06203F 0%,#0A2A4E 100%);color:#fff;border-bottom:2px solid var(--oro)}
.pzFlotanteCab .ico{font-size:17px;line-height:1}
.pzFlotanteCab .tit{font-family:var(--display);font-size:15px;letter-spacing:1.6px;text-transform:uppercase;font-weight:700}
.pzFlotanteCab .cerrar{margin-left:auto;background:rgba(255,255,255,.12);border:none;color:#fff;width:26px;height:26px;border-radius:8px;font-size:15px;line-height:1;display:flex;align-items:center;justify-content:center}
.pzFlotanteCab .cerrar:hover{background:rgba(255,255,255,.26)}
.pzFlotanteCuerpo{flex:1;min-height:0;overflow-y:auto;padding:13px 15px 15px}
.pzFlotanteCuerpo::-webkit-scrollbar{width:7px}
.pzFlotanteCuerpo::-webkit-scrollbar-thumb{background:#DED8C8;border-radius:4px}
.pzFlotanteIzq{left:62px}
.pzFlotanteDer{right:62px}
.pzFlotanteDer.pzLadoIzq{left:62px;right:auto}
.pzFlotante[hidden]{display:none}
.pzFlotante:not([hidden]){animation:pzFlotanteEntra .16s ease}
@keyframes pzFlotanteEntra{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
@media (prefers-reduced-motion:reduce){.pzFlotante:not([hidden]){animation:none}}
.pzFlotante .pzHerr{margin-bottom:0}
.pzFlotante .pzAyuda{margin-top:11px;font-size:12px;white-space:normal;overflow-wrap:anywhere}
.pzFlotante .pzBloque:first-of-type{margin-top:0;padding-top:0;border-top:none}
.pzCancha{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:10px;gap:8px}
.pzCancha #pizarraLienzo{width:100%;height:100%;min-height:0;display:flex;align-items:center;justify-content:center}
.pzCancha #pizarraSVG{width:100%;height:100%;max-height:100%;display:block}
.pzBarraInf{flex:0 0 auto;display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap;padding:9px 12px;border-top:1px solid var(--linea);background:#FCFBF7}
.pzBtnGuardar,.pzBtnCancelar{padding:9px 20px;font-size:13px}
/* pasos de la secuencia */
.pzPasosCont{flex:0 0 auto;display:flex;align-items:center;gap:7px}
.pzPasosCont .pzPasoNom{margin-top:0}
.pzSelMarcas{display:flex;gap:5px;flex:1}
.pzCatRondos{display:block!important}
.pzCatRondos[hidden]{display:none!important}
.pzGrupoTit{font-family:var(--display);font-size:11px;letter-spacing:1.3px;text-transform:uppercase;color:var(--tinta2);opacity:.7;margin:11px 0 6px}
.pzGrupoTit:first-child{margin-top:0}
.pzRejilla{display:grid;grid-template-columns:1fr 1fr 1fr;gap:5px;margin-bottom:4px}
.pzCatRondos .pzRejilla2 button{font-family:var(--body);font-size:12px;font-weight:600;padding:9px 6px;line-height:1.25}
.pzRejilla button{width:100%;box-sizing:border-box;border:1px solid var(--linea);background:#fff;border-radius:9px;padding:9px 2px;font-family:var(--display);font-size:13px;font-weight:700;color:var(--tinta)}
.pzRejilla button:hover{background:var(--verde);color:#fff;border-color:var(--verde)}
.pzNotaRondo{font-size:11px;color:var(--tinta2);opacity:.75;margin-top:9px;line-height:1.45}
.pzMarcaBtn{flex:1;padding:6px 0;font-size:15px;text-align:center}
.pzMarcaBtn.on{background:var(--verde);color:#fff;border-color:var(--verde)}
.pzPasosFila{display:flex;align-items:center;gap:5px;justify-content:center;flex-wrap:wrap}
.pzPaso{width:30px;height:30px;border:1px solid var(--linea);background:#fff;border-radius:8px;font-family:var(--display);font-size:13px;font-weight:700;color:var(--tinta2);display:inline-flex;align-items:center;justify-content:center}
.pzPaso.on{background:var(--verde);color:#fff;border-color:var(--verde)}
.pzPasoMas{border-style:dashed;color:var(--verde)}
.pzPasoNom{display:flex;align-items:center;gap:5px;justify-content:center;margin-top:5px}
.pzPasoNomBtn{font-size:12px;padding:4px 12px}
.pzPasoDur{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--tinta2);white-space:nowrap}
.pzPasoDur input{width:44px;border:1px solid var(--linea);border-radius:8px;padding:3px 5px;font-size:12px;text-align:center}
/* iPad vertical y pantallas angostas: paneles a lo ancho, desde abajo */
@media (max-width:834px){
  .pzFlotante{left:8px;right:8px;width:auto;top:auto;bottom:8px;max-height:46%;border-radius:14px}
  .pzRiel{flex:0 0 58px}
  .pzRielBtn{width:48px;min-height:44px;padding:4px 2px}
  .pzRielIco{font-size:15px}
  .pzRielTxt{font-size:7px}
}
/* --- táctil: manijas y botones con área cómoda para el dedo --- */
@media (pointer:coarse){
  .tbHandle{stroke-width:2.5}
  .pzTab{padding:8px 11px;font-size:13px}
  .pzLineaBtn{padding:9px 12px;font-size:13px}
  .pzHerr button{padding:9px 12px}
.pzCatBloques{display:block!important}
.pzCatBloques[hidden]{display:none!important}
.pzRejilla2{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:4px}
.pzRejilla2 button{width:100%;box-sizing:border-box}
.pzFlotante .pzCat:not(.pzCatBloques):not(.pzCatRondos){display:grid;grid-template-columns:1fr 1fr;gap:6px;align-items:start}
.pzFlotante .pzCat .pzSep{display:none}
.pzFlotante .pzCat select{grid-column:1 / -1}
.pzFlotante .pzCat .pzLbl{grid-column:1 / -1;font-family:var(--display);font-size:11px;letter-spacing:1.5px;color:var(--verde);font-weight:700;margin-top:6px}
.pzFlotante .pzCat .pzAncho{grid-column:1 / -1}
.pzFlotante .pzHerr button{background:#fff;border:1px solid rgba(0,27,57,.18);border-radius:11px;padding:9px 13px;font-size:13px;font-weight:600;color:var(--tinta);box-shadow:0 1px 2px rgba(11,15,12,.05)}
.pzFlotante .pzHerr button:hover{background:var(--verde);color:#fff;border-color:var(--verde);box-shadow:0 3px 9px rgba(0,27,57,.22)}
.pzFlotante .pzHerr select{background:#fff;border:1px solid rgba(0,27,57,.18);border-radius:11px;padding:9px 11px;font-size:13px;font-weight:600;color:var(--tinta)}
.pzFlotante .pzAyuda{flex:0 0 auto;margin:0;padding:10px 15px 12px;border-top:1px solid rgba(0,27,57,.14);
  background:#F5F2E9;font-size:12px;color:var(--tinta2);line-height:1.45;min-height:42px;display:flex;align-items:center}
.pzGrupoTit{color:var(--verde);opacity:1;font-size:11px;letter-spacing:1.5px;font-weight:700}
.pzRejilla button{box-shadow:0 1px 2px rgba(11,15,12,.05);padding:11px 2px;font-size:13px}
}
/* --- iPad horizontal: dos columnas, panel más angosto --- */
@media (min-width:835px) and (max-width:1250px){
  .pzPanel{flex:0 0 320px;max-width:320px}
  .pzPanel .pzTab{padding:6px 7px;font-size:11px}
}
/* --- iPad vertical / pantallas angostas: cancha primero, panel debajo --- */
@media (max-width:834px){
  .pzLayout{flex-direction:column;overflow-y:auto}
  .pzCancha{order:1;width:100%}
  .pzPanel{order:2;flex:none;max-width:100%;width:100%;overflow:visible;max-height:none;padding-right:0}
  .pzCancha #pizarraSVG{max-height:52vh}
  .pzAcciones{position:sticky;bottom:0}
}
/* (2) utilidades como iconos */
.pzIco{width:48px;min-height:44px;border:1px solid var(--linea);background:#fff;border-radius:9px;line-height:1;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:4px 1px;flex:0 0 auto}
.pzIcoIco{font-size:15px;line-height:1}
.pzIcoTxt{font-size:6.5px;line-height:1.05;font-weight:600;color:var(--tinta2);white-space:nowrap;letter-spacing:-.01em}
.pzFilaIconos{display:flex;flex-wrap:wrap;gap:4px;align-items:center;justify-content:center}
.pzIco:hover{background:#F3F5F8}
.pzIco.on{background:var(--verde);border-color:var(--verde);filter:brightness(1.9) saturate(0)}
.pzIcoPeligro{color:#B3402F}
.pzSepIco{width:1px;height:22px;background:var(--linea);margin:0 2px;align-self:center;flex:0 0 auto}
/* (5) pestañas en una sola fila deslizable */
.pzPanel .pzTabs{flex-wrap:wrap;overflow:visible;gap:4px;padding-bottom:0}
.pzPanel .pzTab{white-space:nowrap;flex:0 0 auto}
/* (4) secciones plegables */
.pzBloqueTitBtn{width:100%;text-align:left;background:none;border:none;padding:0;display:flex;align-items:center;justify-content:space-between;cursor:pointer}
.pzChevron{transition:transform .15s;opacity:.6;font-size:12px}
.pzPlegable.abierta .pzChevron{transform:rotate(180deg)}
.pzBloqueCuerpo{margin-top:8px}
/* (1) barra de acción fija al pie del panel */
.pzAcciones{position:sticky;bottom:0;background:#fff;padding:11px 0 3px;margin-top:14px;border-top:1px solid var(--linea);display:flex;flex-direction:column;gap:7px;z-index:3}
.pzAcciones .btnP,.pzAcciones .btnS{width:100%;box-sizing:border-box;text-align:center}
/* (3) panel contextual del objeto seleccionado */
.pzSel{margin-top:12px;padding:11px;border:1.5px solid var(--verde);border-radius:10px;background:#F7FBF8}
.pzSelTit{font-family:var(--display);font-size:12px;letter-spacing:1.2px;text-transform:uppercase;color:var(--verde);margin-bottom:9px;display:flex;align-items:center;gap:7px}
.pzSelFila{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.pzSelFila label{font-size:12px;color:var(--tinta2);flex:0 0 62px}
.pzSelFila input[type=range]{flex:1;margin:0}
.pzSelVal{font-size:12px;font-variant-numeric:tabular-nums;flex:0 0 42px;text-align:right;color:var(--tinta2)}
.pzSelAcc{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.pzSelAcc .pzLineaBtn{width:100%;box-sizing:border-box;padding:6px 4px;font-size:11px}
.pzSelColores{display:flex;gap:5px;flex-wrap:wrap}
.pzSelColores .pzSwatch{width:22px;height:22px}
.pzBloqueTit{font-family:var(--display);font-size:11px;letter-spacing:1.4px;text-transform:uppercase;color:var(--tinta2);opacity:.75;margin-bottom:7px}
.pzAncho{width:100%;display:block;box-sizing:border-box;text-align:center}
.pzBloque select.pzAncho{margin-bottom:6px}
.pzFila2{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:6px}
.pzFila2 .pzLineaBtn{width:100%;box-sizing:border-box}
.pzCheck{display:flex!important;align-items:center;justify-content:center;gap:8px;cursor:pointer}
.pzCheck input{width:auto;margin:0}
.pzBloqueAcc{display:flex;flex-direction:column;gap:7px}
.pzBloqueAcc .btnP,.pzBloqueAcc .btnS{box-sizing:border-box}
@media (max-width:1100px){
  .pzLayout{flex-direction:column;overflow-y:auto}
  .pzPanel{flex:none;max-width:100%;width:100%;overflow:visible;max-height:none}
  .pzCancha{width:100%}
}
.pzColores{display:flex;flex-wrap:wrap;gap:7px;align-items:center;margin-bottom:9px;padding-bottom:9px;border-bottom:1px solid var(--linea)}
.pzLbl{font-size:12px;text-transform:uppercase;letter-spacing:.8px;color:var(--tinta2);margin-right:2px}
.pzSwatch{width:28px;height:28px;border-radius:50%;border:2px solid var(--linea);padding:0;position:relative;flex:none}
.pzSwatch.on{border-color:var(--verde);box-shadow:0 0 0 2px rgba(0,27,57,.25)}
.pzSwatchLibre{display:flex;align-items:center;justify-content:center;background:#fff;font-size:13px;cursor:pointer;overflow:hidden}
.pzSwatchLibre input[type=color]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;border:none;padding:0}
.pzLineaBtn{border:1px solid var(--linea);background:#fff;color:var(--tinta);border-radius:14px;padding:6px 11px;font-size:12px;font-weight:600;line-height:1.25}
.pzLineaBtn.on{background:var(--verde);color:#fff;border-color:var(--verde)}
.pzTabs{display:flex;flex-wrap:wrap;gap:3px;border-bottom:2px solid var(--linea);margin:10px 0 10px;padding-bottom:0}
.pzTab{border:1px solid var(--linea);border-bottom:none;background:#F3F5F8;color:var(--tinta2);border-radius:8px 8px 0 0;padding:7px 12px;font-size:13px;font-weight:600}
.pzTab.on{background:var(--verde);color:#fff;border-color:var(--verde)}
.pzCat{margin-bottom:8px}
.pzCat select{border:1px solid var(--linea);border-radius:8px;padding:6px 8px;font-size:13px;background:#fff}
.pzHerr{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
.pzCat[hidden]{display:none}
.pzHerr button{border:1px solid var(--linea);background:#fff;color:var(--tinta);border-radius:16px;padding:6px 12px;font-size:13px;font-weight:600}
.pzHerr button.on{background:var(--verde);color:#fff;border-color:var(--verde)}
.pzHerr button:hover{border-color:var(--verde)}
.pzSep{width:1px;background:var(--linea);margin:2px 4px}
.pzAyuda{font-size:13px;color:var(--tinta2);margin-bottom:8px;min-height:16px}
#pizarraLienzo{width:100%;border-radius:10px;overflow:hidden;border:2px solid var(--verde);touch-action:none;background:#2C9256}
#pizarraSVG{width:100%;height:auto;display:block}
.tbObj{touch-action:none}
#pizarraSVG{touch-action:none}
.tbHandle{touch-action:none}
.tbHandle:hover{fill:#8DBDE6}
.mBoxPizarra .mHint{margin-top:8px}
@media (max-width:480px){
  .pzHerr button{font-size:12px;padding:5px 9px}
  .mBoxPizarra{padding:10px}
}
/* ---- ficha de ejercicio ---- */
/* ---- hoja carta descargable de la ficha ---- */
#fichaHoja{position:fixed;left:-3000px;top:0;width:816px;min-height:1056px;box-sizing:border-box;
  background:#fff;padding:46px 52px;font-family:var(--body);color:#0E1B2B}
#fichaHoja .fx-cab{display:flex;align-items:center;gap:14px;border-bottom:3px solid var(--verde);padding-bottom:14px}
#fichaHoja .fx-escudo{width:58px;height:58px;object-fit:contain;display:block}
#fichaHoja .fx-club{font-family:var(--display);font-size:24px;font-weight:700;letter-spacing:1px;color:var(--verde);line-height:1.1}
#fichaHoja .fx-sub{font-size:13px;color:#5A6472;margin-top:3px}
#fichaHoja .fx-titulo{font-family:var(--display);font-size:31px;font-weight:700;line-height:1.15;margin:22px 0 5px}
#fichaHoja .fx-meta{font-size:14px;color:#5A6472;margin-bottom:18px}
#fichaHoja .fx-img{border:1px solid #D8D2C4;border-radius:10px;overflow:hidden;margin-bottom:18px;background:#F2EFE6}
#fichaHoja .fx-img img{width:100%;display:block}
#fichaHoja .fx-sinImg{border:1px dashed #D8D2C4;border-radius:10px;padding:34px;text-align:center;color:#9A968C;font-size:13px;margin-bottom:18px}
#fichaHoja .fx-datos{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:20px}
#fichaHoja .fx-dato{background:#F5F2E9;border-radius:9px;padding:10px 11px}
#fichaHoja .fx-dato span{display:block;font-size:10.5px;letter-spacing:.9px;text-transform:uppercase;color:#7A756B;margin-bottom:3px}
#fichaHoja .fx-dato b{font-family:var(--display);font-size:19px;color:var(--verde)}
#fichaHoja .fx-bloque{margin-bottom:15px}
#fichaHoja .fx-h{font-family:var(--display);font-size:12.5px;letter-spacing:1.5px;text-transform:uppercase;color:var(--verde);
  border-bottom:1px solid #E2DDD0;padding-bottom:4px;margin-bottom:6px}
#fichaHoja .fx-txt{font-size:14px;line-height:1.55;white-space:pre-line}
#fichaHoja .fx-tags{font-size:12px;color:#7A756B;margin-top:14px}
#fichaHoja .fx-pie{position:absolute;left:52px;right:52px;bottom:34px;border-top:1px solid #E2DDD0;padding-top:11px;
  display:flex;align-items:center;justify-content:space-between;gap:12px;font-family:var(--ios)}
#fichaHoja .fx-pie span{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:600;color:#7A756B}
#fichaHoja .fx-pie img{height:18px;width:auto}
#fichaHoja .fx-pie b{font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#1F5F99}
.fichaBox{border:1.5px dashed var(--oro);border-radius:8px;padding:12px;margin-top:8px;background:#FFFDF6}
.fichaGrid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}
.fichaGrid4{grid-template-columns:repeat(4,1fr)}
.fichaGrid1{grid-template-columns:1fr}
.fichaGrid input,.fichaGrid select,.fichaGrid textarea{width:100%;border:1px solid var(--linea);border-radius:6px;padding:7px 8px;font-size:13px;font-family:var(--body);background:#fff}
.fichaGrid textarea{min-height:46px;resize:vertical}
.fichaCalc{background:#F2EEE0;border-radius:6px;padding:6px 8px;display:flex;flex-direction:column;justify-content:center}
.fichaCalc b{font-family:var(--display);font-size:16px;color:var(--verde)}
.fichaDescargar{width:100%;justify-content:center;font-weight:700}
.fichaCarga{background:var(--verde);color:#fff;border-radius:6px;padding:8px 10px;font-size:13px;margin-bottom:8px}
.fichaCarga b{color:var(--oro2)}
.chkLbl{display:flex!important;align-items:center;gap:6px;font-size:13px!important;margin-top:18px}
.chkLbl input{width:auto!important}
@media (max-width:480px){ .fichaGrid,.fichaGrid4{grid-template-columns:1fr 1fr} }
.cargaSugerida{font-size:11px;font-style:italic;color:var(--oro,#B77E2E);white-space:nowrap;cursor:help}

.btnP:active,.btnS:active,.btnGhostSm:active,.chipBtn:active,.pzRielBtn:active,.pzIco:active,.pzLineaBtn:active,.areaBtn:active,.temporadaBloque:active{transform:scale(.96);transition:transform .08s ease-out}

/* ---------- Rediseño iOS fase 2: tipografía San Francisco + base visual ----------
   Solo en la app (body.conBarra). Las imágenes exportadas, la tarjeta de vista
   previa, la ficha, la pizarra y el login conservan Barlow a propósito. */
body.conBarra{--display:var(--ios);--body:var(--ios);font-family:var(--body);color:#1C1C1E;-webkit-font-smoothing:antialiased}
body.conBarra :is(#expConv,#fichaHoja){
  --display:"Barlow Condensed","Arial Narrow",Arial,sans-serif;--body:"Barlow Semi Condensed",Arial,sans-serif;font-family:var(--body)}
body.conBarra :is(h2.mod,.editorAgenda h3,.meta label,.lblMini,.lblTipo,.hFr,.btnP,.btnS,.btnDia,.sBtn,table.ed th,.listaGrupo,
  .filaCampo>label:first-child,.tipoBloque h3,.gridFr label,.ctLbl,.sidePanelCitas h2,.sidePanelCitas .sField label,.acwrTxt b,
  .areaBtn b,.mnSec,.tlHead .hoyPill,.celda .fr,.badge,#popReloj .prTit,.temporadaBloque i,.mqHead h2,footer){text-transform:none;letter-spacing:normal}
body.conBarra h2.mod{font-size:34px;font-weight:700;letter-spacing:-.02em;line-height:1.1;color:#1C1C1E;margin:6px 0 4px}
body.conBarra p.ayuda{font-size:15px;color:var(--gris2);line-height:1.45}
body.conBarra :is(.meta label,.lblMini,.lblTipo,.gridFr label,.ctLbl){font-size:13px;font-weight:600;color:var(--gris2)}
body.conBarra :is(.editorAgenda h3,.hFr,.tipoBloque h3){font-size:20px;font-weight:700;letter-spacing:-.01em;color:#1C1C1E}
body.conBarra :is(.btnP,.btnS){min-height:44px;padding:0 20px;border-radius:22px;font-size:16px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:8px}
body.conBarra .btnS{background:rgba(0,27,57,.08);border:none;color:var(--verde)}
body.conBarra .btnS:hover{background:rgba(0,27,57,.13)}
body.conBarra .btnS.peligro{background:rgba(179,64,47,.08);color:var(--partidoB)}
body.conBarra main :is(input:not([type=checkbox]):not([type=radio]),select,textarea):not(#planCard *):focus-visible{outline:2px solid rgba(0,27,57,.45);outline-offset:1px}
body.conBarra table.ed th{font-size:13px;font-weight:600;color:var(--gris2)}
body.conBarra footer{font-size:12px;color:var(--gris2)}

/* ---------- Rediseño iOS fase 3: Plan del día (agenda + inspector, estilo Mac) ---------- */
.pdHead{display:flex;align-items:flex-end;justify-content:space-between;gap:12px 20px;flex-wrap:wrap;margin:4px 0 20px}
.pdTitulo h2.mod{margin:0}
.pdSubt{font-size:17px;color:var(--gris2);margin-top:4px}
.pdHerr{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.fechaNav.pdNav{margin:0;gap:2px;padding:3px;border-radius:12px;background:rgba(118,118,128,.12)}
.fechaNav.pdNav button{min-width:44px;min-height:40px;padding:0 12px;border:none;border-radius:9px;background:transparent;color:var(--verde);
  font-family:var(--ios);font-size:15px;font-weight:600;display:inline-flex;align-items:center;justify-content:center}
.fechaNav.pdNav button:hover{background:rgba(255,255,255,.7);color:var(--verde)}
.fechaNav.pdNav button:active{background:#fff}
.fechaNav.pdNav input[type=date]{min-height:40px;border:none;border-radius:9px;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.08);
  font-family:var(--ios);font-size:16px;font-weight:600;color:#1C1C1E;padding:0 10px}

.planWrap{display:flex;flex-direction:column;gap:22px;align-items:stretch}
.planColDer{display:contents}
.planColIzq{display:block;width:100%}
.pdSesion{order:1}.pdNoAptos{order:2}.planColIzq{order:3}.pdVista{order:4}.pdReusar{order:5}
.pdSec{display:flex;flex-direction:column;gap:7px;min-width:0}
.pdSecTit{padding:0 16px;font-size:13px;font-weight:600;color:var(--gris2)}
.pdGrupo{background:#fff;border-radius:14px;box-shadow:0 1px 2px rgba(0,0,0,.05);overflow:hidden}
.pdGrupoPad{padding:12px 16px}
.pdFila{display:flex;align-items:center;gap:12px;min-height:52px;padding:6px 16px;margin:0}
.pdFila+.pdFila{border-top:1px solid var(--sep)}
.pdFilaTxt{flex-grow:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.pdFilaTxt b{font-size:17px;font-weight:500;color:#1C1C1E}
.pdFilaTxt span{font-size:15px;color:var(--gris2)}
.pdFilaVal{font-size:15px;font-weight:600;flex:none}
.pdPunto{width:10px;height:10px;border-radius:5px;flex:none}
.pdPieSec{padding:0 16px;font-size:13px;line-height:1.45;color:var(--gris2)}
.pdSesion .selEnt,.pdSesion .selMd{min-height:40px;max-width:60%;border:none;border-radius:9px;background:rgba(118,118,128,.12);
  color:var(--verde);font-family:var(--ios);font-size:16px;font-weight:600;text-transform:none;letter-spacing:normal;padding:0 12px;text-align:right}
.pdVista #planCard{width:100%;max-width:440px;align-self:center;box-shadow:0 1px 2px rgba(0,0,0,.05);border:none;border-radius:14px}
.pdReusar .copiarRow{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.pdReusar input[type=date]{min-height:44px;border:1px solid rgba(60,60,67,.2);border-radius:10px;padding:0 10px;font-family:var(--ios);font-size:16px;background:#fff}
.pdLink{display:inline;border:none;background:none;padding:6px 0;margin-left:2px;color:var(--verde);font-family:var(--ios);font-size:13px;font-weight:600;cursor:pointer}
.pdLink:hover{text-decoration:underline}

.agendaEd .editorAgenda{width:100%;background:#fff;border:none;border-radius:14px;box-shadow:0 1px 2px rgba(0,0,0,.05);padding:0;overflow:hidden}
.agendaEd .filaAg{grid-template-columns:78px minmax(0,1fr) 44px;gap:14px;margin:0;padding:16px 12px 16px 16px;align-items:start}
.agendaEd .filaAg+.filaAg{border-top:1px solid var(--sep)}
.agendaEd .filaAg .horaCol{align-items:center;gap:8px}
.agendaEd .filaAg input.h{font-family:var(--ios);font-size:20px;font-weight:700;color:var(--verde);border:none;background:rgba(0,27,57,.07);
  border-radius:10px;min-height:44px;padding:0 4px;text-align:center;font-variant-numeric:tabular-nums;width:100%}
.agendaEd .filaAg .btnReloj{width:36px;height:36px;border:none;background:rgba(118,118,128,.12);color:var(--verde);border-radius:18px}
.agendaEd .filaAg .btnReloj:hover{background:var(--verde);color:#fff}
.agendaEd .filaAg .campos{gap:8px}
.agendaEd .filaAg input{font-family:var(--ios)}
.agendaEd .filaAg input.agAct{font-size:17px;font-weight:600;color:#1C1C1E;border:1px solid transparent;border-radius:10px;padding:8px 10px;min-height:44px;background:#F6F6F4}
.agendaEd .agSub{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.agendaEd .agSub input{font-size:16px;color:#1C1C1E;border:1px solid transparent;border-radius:10px;padding:8px 10px;min-height:42px;background:#F6F6F4}
.agendaEd .filaAg input:hover{border-color:rgba(60,60,67,.14)}
.agendaEd .filaAg input:focus{background:#fff;border-color:var(--verde);box-shadow:0 0 0 3px rgba(0,27,57,.12);outline:none}
.agendaEd .agCt{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.agendaEd .ctBox{flex:1 1 260px;border:none;background:#F6F6F4;border-radius:10px;min-height:44px;padding:6px 8px;gap:6px}
.agendaEd .ctLbl{font-size:13px;font-weight:600;color:var(--gris2)}
.agendaEd .ctChip{font-family:var(--ios);font-size:15px;font-weight:600;min-height:32px;padding:0 4px 0 12px;border-radius:16px}
.agendaEd .ctChip .qx{min-width:28px;min-height:28px;font-size:17px}
.agendaEd .ctAdd{font-family:var(--ios);font-size:15px;min-height:32px;border-radius:16px;padding:0 10px;background:#fff}
.agendaEd .selSes{flex:0 1 auto;min-height:44px;border:none;border-radius:10px;background:#F6F6F4;font-family:var(--ios);font-size:15px;padding:0 10px}
.agendaEd .imgRow{gap:8px;margin-top:2px}
.agendaEd .imgAdd{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:0 13px;border:none;border-radius:19px;
  background:rgba(0,27,57,.08);color:var(--verde);font-family:var(--ios);font-size:15px;font-weight:600}
.agendaEd .imgAdd:hover{background:rgba(0,27,57,.14)}
.agendaEd .imgAdd:active{transform:scale(.96)}
.agendaEd .imgThumb{width:56px;height:56px;border-radius:10px;border:none}
.agendaEd .filaAg .del{width:44px;height:44px;border:none;border-radius:22px;background:transparent;color:#B3402F;display:flex;align-items:center;justify-content:center}
.agendaEd .filaAg .del:hover{background:rgba(179,64,47,.08)}
.agendaEd .addRow{display:flex;align-items:center;gap:10px;width:100%;min-height:54px;padding:0 16px;border:none;border-top:1px solid var(--sep);border-radius:0;
  background:transparent;color:var(--verde);font-family:var(--ios);font-size:17px;font-weight:600;text-align:left}
.agendaEd .addRow:hover{background:rgba(0,27,57,.04)}
.agVacia{padding:22px 16px;font-size:16px;color:var(--gris2)}

@media (min-width:1200px){
  .planWrap{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:24px;align-items:start}
  .planColIzq{grid-column:1;grid-row:1}
  .planColDer{display:flex;flex-direction:column;align-items:stretch;gap:22px;grid-column:2;grid-row:1;position:sticky;top:16px;
    max-height:calc(100vh - 32px);overflow-y:auto;padding-bottom:8px;scrollbar-width:thin}
}
@media (max-width:640px){
  .agendaEd .filaAg{grid-template-columns:64px minmax(0,1fr);padding:14px 12px}
  .agendaEd .filaAg .del{grid-column:2;justify-self:end;margin-top:-6px}
  .agendaEd .agSub{grid-template-columns:1fr}
  .pdHerr{width:100%}
}

/* ---------- Rediseño iOS fase 4: Semana (vista semanal estilo Calendario) ---------- */
body.conBarra main>.pdSec+.pdSec{margin-top:24px}
.semNav.pdNav{margin:0;gap:2px;padding:3px;border-radius:12px;background:rgba(118,118,128,.12)}
.semNav.pdNav button{min-width:44px;min-height:40px;padding:0 12px;border:none;border-radius:9px;background:transparent;color:var(--verde);
  font-family:var(--ios);font-size:15px;font-weight:600;display:inline-flex;align-items:center;justify-content:center}
.semNav.pdNav button:hover{background:rgba(255,255,255,.7);color:var(--verde)}
.semNav.pdNav button:active{background:#fff}
.semPartido .meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:0;padding:0;margin:0;background:#fff;border:none;
  border-radius:14px;box-shadow:0 1px 2px rgba(0,0,0,.05);overflow:hidden}
.semPartido .meta label{display:flex;flex-direction:column;gap:4px;margin:0;padding:10px 14px;border-right:1px solid var(--sep);
  font-size:13px;font-weight:600;color:var(--gris2);text-transform:none;letter-spacing:normal}
.semPartido .meta label:last-child{border-right:none}
.semPartido .meta input,.semPartido .meta select{width:100%;min-height:40px;border:1px solid transparent;border-radius:9px;background:#F6F6F4;
  padding:0 10px;font-family:var(--ios);font-size:16px;font-weight:500;color:#1C1C1E}
.semPartido .meta select{border-left:4px solid}
.semPartido .meta input:focus,.semPartido .meta select:focus{background:#fff;border-color:var(--verde);box-shadow:0 0 0 3px rgba(0,27,57,.12);outline:none}

.semTablero .tablero{background:#fff;border-radius:14px;box-shadow:0 1px 2px rgba(0,0,0,.05);padding:10px;overflow-x:auto}
.semTablero .cols{grid-template-columns:repeat(7,minmax(132px,1fr));gap:8px;min-width:0}
.semTablero .dia{background:#FAFAF8;border:none;border-radius:12px;overflow:visible}
.semTablero .dia.libreCol{background:#F1F0EC}
.semTablero .dia .cab{background:transparent;color:#1C1C1E;display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 6px 6px;
  font-family:var(--ios);text-transform:none;letter-spacing:normal}
.semTablero .cabDia{font-size:13px;font-weight:600;color:var(--gris2)}
.semTablero .cabNum{font-size:22px;font-weight:600;line-height:1;width:40px;height:40px;border-radius:20px;display:flex;align-items:center;justify-content:center;font-variant-numeric:tabular-nums}
.semTablero .dia.esHoy .cabDia{color:var(--verde)}
.semTablero .dia.esHoy .cabNum{background:var(--verde);color:#fff}
.semTablero .dia .dualSel{display:flex;flex-direction:column;gap:6px;padding:4px 8px 0}
.semTablero .dia .selEnt,.semTablero .dia .selMd{width:100%;min-height:36px;border:none;border-radius:9px;background:rgba(118,118,128,.12);color:var(--verde);
  font-family:var(--ios);font-size:15px;font-weight:600;text-transform:none;letter-spacing:normal;padding:0 8px;text-align:center}
.semTablero .dia .tocado{font-size:12px;letter-spacing:normal;padding:6px 8px 0;text-align:center;color:var(--gris2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.semTablero .diaLista{padding:8px;gap:6px}
.semTablero .sesion{border:none;border-radius:9px;padding:8px 9px;font-family:var(--ios);font-size:15px;font-weight:500;line-height:1.35;color:#1C1C1E}
.semTablero .sesion .sh{font-family:var(--ios);font-size:13px;font-weight:700;color:var(--verde);margin-right:5px;font-variant-numeric:tabular-nums}
.semTablero .sesion .sct{font-family:var(--ios);font-size:12px;font-weight:600}
.semTablero .sesion .sdet{font-size:13px;font-weight:400;margin-top:2px}
.semTablero .sesion .sa{display:block;clear:both;padding-top:1px}
.semTablero .btnDia{margin:auto 8px 10px;min-height:40px;border:none;border-radius:10px;background:transparent;color:var(--verde);
  font-family:var(--ios);font-size:15px;font-weight:600}
.semTablero .btnDia:hover{background:rgba(0,27,57,.08);color:var(--verde)}
.semTablero .leyenda{padding:0 4px;gap:6px;margin-top:10px}
.semTablero .leyenda span{border:none;border-radius:8px;font-size:13px;padding:5px 10px}

.semCarga .cardT{background:#fff;border:none;border-radius:14px;box-shadow:0 1px 2px rgba(0,0,0,.05);padding:16px 18px;margin:0}
.semCargaTit{font-size:17px;font-weight:600;color:#1C1C1E}
.semCargaSep{border-top:1px solid var(--sep);margin:16px 0 12px}
.semCarga .acwrNum{font-family:var(--ios);font-variant-numeric:tabular-nums}
.semCarga .acwrTxt b{font-family:var(--ios);font-size:17px;text-transform:none;letter-spacing:normal}
.semCarga .acwrTxt p,.semCarga .acwrVacio{font-size:15px;color:var(--gris2)}

/* Colores de sesión "Apple afinado al club": fondo tenue + barra + texto en el tono oscuro. Solo pantalla; las imágenes exportadas no cambian. */
.semTablero .t-campo{--sc:#2E8B57;--st:#1F5E3B;background:rgba(46,139,87,0.16)}
.semTablero .t-gym{--sc:#C98A1B;--st:#123F66;background:rgba(201,138,27,0.16)}
.semTablero .t-video{--sc:#3D6A9E;--st:#2B4C72;background:rgba(61,106,158,0.16)}
.semTablero .t-tec{--sc:#7A5EA8;--st:#553F78;background:rgba(122,94,168,0.16)}
.semTablero .t-recu{--sc:#2F8A78;--st:#1F5E52;background:rgba(47,138,120,0.16)}
.semTablero .t-abp{--sc:#B8962E;--st:#123F66;background:rgba(184,150,46,0.16)}
.semTablero .t-libre{--sc:#8B8B84;--st:#55554F;background:rgba(139,139,132,0.16)}
.semTablero .t-partido{--sc:#B3402F;--st:#86281C;background:rgba(179,64,47,0.16)}
.semTablero .t-logi{--sc:#8B8B84;--st:#55554F;background:rgba(139,139,132,0.16)}
.semTablero .sesion{border-left:4px solid var(--sc,#8B8B84);padding-left:8px;color:var(--st,#1C1C1E);-webkit-hyphens:none;hyphens:none;overflow-wrap:break-word;word-break:normal}
.semTablero .sesion .sh,.semTablero .sesion .sct{color:var(--st,var(--verde))}
.semTablero .sesion .sa{font-weight:600}
.semTablero .sesion .sdet{color:var(--st,var(--gris2));opacity:.85}
.semTablero .leyenda span{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--st)}
.semTablero .leyenda span::before{content:"";width:8px;height:8px;border-radius:4px;background:var(--sc)}

/* ---------- Rediseño iOS fase 4: Citas (vista de día estilo Calendario de Mac) ---------- */
body.conBarra .segArea{display:flex;gap:2px;padding:3px;margin:0 0 22px;border-radius:12px;background:rgba(118,118,128,.12);flex-wrap:nowrap;overflow-x:auto}
body.conBarra .segArea .areaBtn{flex:1 1 0;min-width:0;min-height:44px;justify-content:center;gap:8px;padding:0 12px;border:none;border-radius:9px;
  background:transparent;box-shadow:none;white-space:nowrap}
body.conBarra .segArea .areaBtn b{font-family:var(--ios);font-size:16px;font-weight:500;color:#1C1C1E}
body.conBarra .segArea .areaBtn:hover{background:rgba(255,255,255,.55)}
body.conBarra .segArea .areaBtn.on{background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.10),0 0 0 .5px rgba(0,0,0,.04)}
body.conBarra .segArea .areaBtn.on b{color:#1C1C1E;font-weight:700}
.segArea .segN{min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:rgba(118,118,128,.16);color:var(--gris2);
  font-family:var(--ios);font-size:13px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}
.segArea .areaBtn.on .segN{background:rgba(0,27,57,.1);color:var(--verde)}

body.conBarra .citasGrid{grid-template-columns:minmax(0,1fr) 340px;gap:24px}
body.conBarra .tlCard{border:none;border-radius:14px;box-shadow:0 1px 2px rgba(0,0,0,.05);padding:18px 16px 18px 8px}
body.conBarra .timeline{margin-left:88px;border-left:1px solid var(--sep)}
body.conBarra .tick{border-bottom:1px solid var(--sep)}
body.conBarra .tick:last-child{border-bottom:none}
body.conBarra .tick .tHora{left:-96px;width:84px;top:-9px;white-space:nowrap;font-family:var(--ios);font-size:13px;font-weight:500;color:var(--gris2);font-variant-numeric:tabular-nums}
body.conBarra .tlOuter .nowLine{left:88px;border-top-color:#E0382B}
body.conBarra .tlOuter .nowLine::before{left:-5px;top:-5px;width:9px;height:9px;background:#E0382B}
body.conBarra .tlOuter .nowLbl{width:80px;white-space:nowrap;font-family:var(--ios);font-size:12px;font-weight:700;color:#E0382B;background:#fff;border-radius:6px}

body.conBarra .tBlock{border-radius:8px;box-shadow:none;padding:5px 30px 5px 9px;border-left:4px solid var(--ac,#8B8B84);background:var(--acbg,#EFEDE7);color:var(--act,#1C1C1E)}
.tBlock.a-nut{--ac:#2F8A78;--act:#1F5E52;--acbg:rgba(47,138,120,.16)}
.tBlock.a-med{--ac:#B3402F;--act:#86281C;--acbg:rgba(179,64,47,.14)}
.tBlock.a-psi{--ac:#7A5EA8;--act:#553F78;--acbg:rgba(122,94,168,.16)}
.tBlock.a-fis{--ac:#3D6A9E;--act:#2B4C72;--acbg:rgba(61,106,158,.16)}
body.conBarra .tBlock.other{--act:#55554F;background:repeating-linear-gradient(135deg,#F1F0EC 0 8px,#E9E8E3 8px 16px);border-left-color:#B8B4A8}
body.conBarra .tBlock .rango{font-family:var(--ios);font-size:13px;font-weight:700;color:var(--act)}
body.conBarra .tBlock .nm{font-family:var(--ios);font-size:15px;font-weight:600;color:var(--act)}
body.conBarra .tBlock .nt{font-family:var(--ios);font-size:13px;color:var(--act);opacity:.8}
body.conBarra .tBlock.corto{padding:2px 30px 2px 9px;gap:8px}
body.conBarra .tBlock.corto .nm{font-size:13px}
body.conBarra .tBlock .del{top:3px;right:3px;width:26px;height:26px;border-radius:13px;display:flex;align-items:center;justify-content:center;
  color:var(--act);opacity:.7;background:rgba(255,255,255,.5)}
body.conBarra .tBlock .del:hover{opacity:1;background:#fff}
body.conBarra .tBlock.corto .del{top:50%;transform:translateY(-50%)}

body.conBarra .sidePanelCitas{background:none;box-shadow:none;border-radius:0;padding:0;color:#1C1C1E;position:sticky;top:16px;gap:10px}
.citaForm{display:flex;flex-direction:column}
body.conBarra .sidePanelCitas .sField{display:flex;flex-direction:column;gap:6px;margin:0;padding:12px 16px}
body.conBarra .sidePanelCitas .sField+.sField{border-top:1px solid var(--sep)}
body.conBarra .sidePanelCitas .sField>span{font-size:13px;font-weight:600;color:var(--gris2)}
body.conBarra .sidePanelCitas select,body.conBarra .sidePanelCitas input{min-height:44px;padding:0 12px;border:1px solid transparent;border-radius:10px;
  background:#F6F6F4;color:#1C1C1E;font-family:var(--ios);font-size:16px}
body.conBarra .sidePanelCitas select:focus,body.conBarra .sidePanelCitas input:focus{background:#fff;border-color:var(--verde);box-shadow:0 0 0 3px rgba(0,27,57,.12);outline:none}
body.conBarra .sidePanelCitas .horaColCitas{flex-direction:row;align-items:center;gap:8px}
body.conBarra .sidePanelCitas .horaColCitas input.h{flex:1;background:#F6F6F4;color:var(--verde);border-color:transparent;font-family:var(--ios);font-size:17px;font-weight:700;text-align:left;font-variant-numeric:tabular-nums}
body.conBarra .sidePanelCitas .horaColCitas .btnReloj{flex:none;width:44px;height:44px;border:none;border-radius:22px;background:rgba(118,118,128,.12);color:var(--verde)}
body.conBarra .sidePanelCitas .horaColCitas .btnReloj:hover{background:var(--verde);color:#fff}
body.conBarra .durGrid{gap:6px}
body.conBarra .durGrid button{min-height:40px;padding:0;border:none;border-radius:9px;background:#F6F6F4;color:#1C1C1E;font-family:var(--ios);font-size:15px;font-weight:500}
body.conBarra .durGrid button:hover{background:#EDEDEA}
body.conBarra .durGrid button.on{background:var(--verde);color:#fff;font-weight:600}
body.conBarra .citaAviso{margin:0;padding:10px 14px;border-radius:12px;background:rgba(179,64,47,.1);color:#86281C;font-size:15px}
body.conBarra .sidePanelCitas .sBtn{width:100%;min-height:50px;border-radius:14px;font-size:17px}
body.conBarra .soloArea{display:flex;gap:8px;align-items:flex-start;margin:0;padding:0 16px;font-size:13px;color:var(--gris2)}
body.conBarra .soloArea svg{flex:none;margin-top:2px}
body.conBarra #btnPNGCitas:disabled{opacity:.45;cursor:not-allowed}
@media (max-width:1100px){ body.conBarra .citasGrid{grid-template-columns:1fr} body.conBarra .sidePanelCitas{position:static} }

/* ---------- Rediseño iOS fase 4: Carga y Convocatoria (listas estilo iOS) ---------- */
body.conBarra .pdGrupo table.ed{min-width:0;border-collapse:collapse}
body.conBarra .pdGrupo table.ed th{padding:10px 8px;font-size:13px;font-weight:600;color:var(--gris2);text-align:left;border-bottom:1px solid var(--sep);background:#FBFBFA}
body.conBarra .pdGrupo table.ed td{padding:6px 8px;border-bottom:1px solid var(--sep);vertical-align:middle;font-size:16px}
body.conBarra .pdGrupo table.ed tr:last-child td{border-bottom:none}
.cgBarra{height:8px;border-radius:4px;background:rgba(118,118,128,.14);overflow:hidden}
.cgBarra>div{height:100%;border-radius:4px;background:var(--verde);transition:width .3s ease}
.cgResumen{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-bottom:22px}
.cgProg{background:#fff;border-radius:14px;box-shadow:0 1px 2px rgba(0,0,0,.05);padding:14px 16px;display:flex;flex-direction:column;gap:10px}
.cgProgTop{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.cgProgTop span{font-size:15px;color:var(--gris2)}
.cgProgTop b{font-size:20px;font-weight:700;color:#1C1C1E;font-variant-numeric:tabular-nums}
body.conBarra .cgTabla{min-width:620px}
body.conBarra .cgTabla .cgGrupos th{background:#fff;border-bottom:none;padding-bottom:0;font-size:13px;text-align:center;color:var(--verde)}
body.conBarra .cgTabla th:not(:first-child){text-align:center}
body.conBarra .cgTabla .cgFin{border-right:1px solid var(--sep)}
.cgJug{display:flex;align-items:center;gap:12px;min-height:48px}
.cgDorsal{width:34px;height:34px;flex:none;border-radius:17px;background:rgba(0,27,57,.08);color:var(--verde);font-size:15px;font-weight:700;
  display:flex;align-items:center;justify-content:center;font-variant-numeric:tabular-nums}
.cgListo .cgDorsal{background:var(--verde);color:#fff}
.cgNombre{font-size:16px;font-weight:500;color:#1C1C1E}
body.conBarra .cgTabla td.cgNum{width:84px;text-align:center}
body.conBarra .cgTabla td.cgNum input{width:64px;min-height:40px;margin:0 auto;display:block;border:1px solid transparent;border-radius:10px;background:#F6F6F4;
  text-align:center;font-family:var(--ios);font-size:17px;font-weight:600;color:#1C1C1E;padding:0;-moz-appearance:textfield}
body.conBarra .cgTabla td.cgNum input::-webkit-outer-spin-button,body.conBarra .cgTabla td.cgNum input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
body.conBarra .cgTabla td.cgNum input:focus{background:#fff;border-color:var(--verde);box-shadow:0 0 0 3px rgba(0,27,57,.12);outline:none}
body.conBarra .cgTabla td.cgNum input::placeholder{color:#C4C4C7}

.cvContador{display:flex;align-items:center;gap:22px;background:#fff;border-radius:14px;box-shadow:0 1px 2px rgba(0,0,0,.05);padding:16px 20px;margin-bottom:22px}
.cvNum{display:flex;align-items:baseline;gap:6px;flex:none}
.cvNum b{font-size:44px;font-weight:700;letter-spacing:-.02em;line-height:1;color:#1C1C1E;font-variant-numeric:tabular-nums}
.cvNum span{font-size:20px;font-weight:600;color:var(--gris2)}
.cvBarraWrap{flex:1;display:flex;flex-direction:column;gap:8px}
.cvEstado{font-size:15px;font-weight:600;color:var(--gris2)}
.cv-ok .cvEstado{color:#1F5E3B}.cv-ok .cgBarra>div{background:#2E8B57}
.cv-pasa .cvEstado{color:#123F66}.cv-pasa .cgBarra>div{background:#C98A1B}
body.conBarra .cvTabla th:first-child,body.conBarra .cvTabla td.cvChk{width:56px;text-align:center}
body.conBarra .cvTabla td.cvDorsal{width:70px;font-weight:700;color:var(--verde);font-variant-numeric:tabular-nums}
body.conBarra .cvTabla td.cvPos{width:180px;color:var(--gris2);font-size:15px}
body.conBarra .cvTabla label{display:flex;align-items:center;gap:10px;min-height:44px;cursor:pointer}
body.conBarra .cvTabla tr.cvOn td{background:rgba(0,27,57,.04)}
.cvNombre{font-weight:500;color:#1C1C1E}
.cvBaja{font-size:13px;font-weight:700;color:#86281C;background:rgba(179,64,47,.12);border-radius:6px;padding:2px 7px}
body.conBarra .cvTabla .cvChk input{-webkit-appearance:none;padding:0;appearance:none;width:26px;height:26px;margin:0;border-radius:13px;border:2px solid #C4C4C7;background:#fff;cursor:pointer;
  display:inline-grid;place-content:center;vertical-align:middle}
body.conBarra .cvTabla .cvChk input:checked{background:var(--verde);border-color:var(--verde)}
body.conBarra .cvTabla .cvChk input:checked::after{content:"";width:6px;height:11px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:translateY(-1px) rotate(45deg)}
body.conBarra .cvTabla .cvChk input:focus-visible{outline:2px solid rgba(0,27,57,.45);outline-offset:2px}
.cvHist{width:100%;border:none;background:transparent;text-align:left;font-family:var(--ios);cursor:pointer;color:var(--gris2)}
.cvHist:hover{background:rgba(0,0,0,.025)}
.cvHist .pdFilaVal{color:var(--gris2);font-weight:500}
.cvHistSec{margin-top:24px}

/* ---------- Rediseño iOS fase 4: Plantel y Temporada ---------- */
body.conBarra .plTabla{min-width:900px}
body.conBarra .plTabla input{width:100%;min-height:40px;border:1px solid transparent;border-radius:10px;background:transparent;padding:0 10px;
  font-family:var(--ios);font-size:16px;color:#1C1C1E}
body.conBarra .plTabla input:hover{background:#F6F6F4}
body.conBarra .plTabla input:focus{background:#fff;border-color:var(--verde);box-shadow:0 0 0 3px rgba(0,27,57,.12);outline:none}
body.conBarra .plTabla td.plDorsal{width:64px}
body.conBarra .plTabla td.plDorsal input{width:44px;min-height:44px;padding:0;border-radius:22px;background:rgba(0,27,57,.08);color:var(--verde);
  text-align:center;font-weight:700;font-variant-numeric:tabular-nums}
body.conBarra .plTabla input.plNombre{font-weight:500}
body.conBarra .plTabla td.plPos{width:130px}
body.conBarra .plTabla td:nth-child(2){min-width:220px}
body.conBarra .plTabla td.plPos input,body.conBarra .plTabla td.plMotivo input{color:#3A3A3C}
body.conBarra .plTabla td.plEstado{width:118px}
body.conBarra .plTabla td.plPos input{min-width:124px}
body.conBarra .plTabla select.estadoJug{min-width:128px}
body.conBarra .plTabla select.estadoJug{width:100%;min-height:36px;border:1.5px solid;border-radius:18px;padding:0 30px 0 14px;cursor:pointer;
  -webkit-appearance:none;appearance:none;font-family:var(--ios);font-size:15px;text-align:left;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%233A3A3C' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 10l5 5 5-5'/%3E%3C/svg%3E") no-repeat right 12px center}
body.conBarra .plTabla td.plMotivo{width:170px}
body.conBarra .plTabla td.plRetorno{width:140px}
body.conBarra .plTabla td.plEval{width:120px}
.plLink{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 12px;border-radius:18px;background:rgba(0,27,57,.08);
  color:var(--verde);font-size:15px;font-weight:600;text-decoration:none;white-space:nowrap}
.plLink:hover{background:rgba(0,27,57,.14)}
body.conBarra .plTabla td.plDel{width:52px}
body.conBarra .plTabla .del{width:44px;height:44px;border:none;border-radius:22px;background:transparent;color:#B3402F;display:flex;align-items:center;justify-content:center;padding:0}
body.conBarra .plTabla .del:hover{background:rgba(179,64,47,.08)}
body.conBarra .plAdd{display:flex;align-items:center;gap:10px;width:100%;min-height:54px;padding:0 16px;margin:0;border:none;border-top:1px solid var(--sep);
  border-radius:0;background:transparent;color:var(--verde);font-family:var(--ios);font-size:17px;font-weight:600;text-align:left}
body.conBarra .plAdd:hover{background:rgba(0,27,57,.04)}

.tmGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}
body.conBarra .temporadaBloque{width:auto;min-height:112px;border:none;border-radius:14px;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.05);
  padding:14px 16px;gap:6px;font-family:var(--ios);position:relative;overflow:hidden}
body.conBarra .temporadaBloque::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--fc)}
body.conBarra .temporadaBloque:hover{transform:none;box-shadow:0 4px 14px rgba(0,0,0,.08)}
body.conBarra .temporadaBloque.on{box-shadow:0 0 0 2px var(--verde)}
.tmFecha{font-size:13px;font-weight:600;color:var(--gris2)}
.temporadaBloque.on .tmFecha{color:var(--verde)}
.tmTit{font-size:16px;font-weight:600;color:#1C1C1E;line-height:1.3}
.tmFase{display:flex;align-items:center;gap:7px;margin-top:auto;font-size:15px;font-weight:500;color:#3A3A3C}
.tmLeyenda{display:flex;flex-wrap:wrap;gap:8px 18px;padding:14px 16px 0}
.tmLeyenda>span{display:inline-flex;align-items:center;gap:7px;font-size:15px;color:#3A3A3C}

/* ---------- Rediseño iOS fase 4: Plantillas MD y Biblioteca ---------- */
.tplLista{display:flex;flex-direction:column;gap:28px}
body.conBarra .tipoBloque{background:none;border:none;padding:0;margin:0}
body.conBarra .tplHead{display:flex;align-items:center;gap:12px 18px;flex-wrap:wrap;margin:0 0 4px;padding:0 4px}
body.conBarra .tplHead input.tplNombre{flex:1 1 260px;min-height:44px;border:1px solid transparent;border-radius:10px;background:transparent;padding:0 10px;
  font-family:var(--ios);font-size:22px;font-weight:700;letter-spacing:-.01em;color:#1C1C1E;text-transform:none}
body.conBarra .tplHead input.tplNombre:hover{background:rgba(0,0,0,.03)}
body.conBarra .tplHead input.tplNombre:focus{background:#fff;border-color:var(--verde);box-shadow:0 0 0 3px rgba(0,27,57,.12);outline:none}
.tplCarga{display:flex;align-items:center;gap:8px;font-size:15px;color:var(--gris2);white-space:nowrap}
body.conBarra .tplCarga input.cargaEsperada{width:56px;min-height:40px;border:none;border-radius:10px;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.06);
  text-align:center;font-family:var(--ios);font-size:17px;font-weight:700;color:var(--verde)}
body.conBarra .cargaSugerida{font-size:13px;font-style:normal;font-weight:500;color:var(--gris2)}
.pdLink.tplKill{color:#B3402F;font-size:15px;padding:8px 10px;border-radius:8px}
.pdLink.tplKill:hover{background:rgba(179,64,47,.08);text-decoration:none}
.tplLista .filaAg .horaCol input.h{min-height:44px}

.bibBuscarWrap{display:flex;align-items:center;gap:10px;min-height:48px;padding:0 14px;margin:0 0 20px;border-radius:12px;background:rgba(118,118,128,.12);color:var(--gris2)}
body.conBarra .bibBuscarWrap input{flex:1;min-width:0;border:none;background:transparent;font-family:var(--ios);font-size:17px;color:#1C1C1E;outline:none;min-height:46px}
.bibBuscarWrap:focus-within{background:#fff;box-shadow:0 0 0 3px rgba(0,27,57,.14)}
.bibGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(420px,100%),1fr));gap:16px}
.bibCard{display:flex;flex-direction:column;gap:8px;background:#fff;border-radius:14px;box-shadow:0 1px 2px rgba(0,0,0,.05);padding:14px 16px 16px}
.bibCard[hidden]{display:none}
.bibCab{display:flex;align-items:center;gap:8px}
body.conBarra .bibCard input.bibNombre{flex:1;min-width:0;min-height:40px;border:1px solid transparent;border-radius:9px;background:transparent;padding:0 8px;margin-left:-8px;
  font-family:var(--ios);font-size:20px;font-weight:700;color:#1C1C1E}
.bibMeta{font-size:13px;color:var(--gris2)}
.bibCampos{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:4px}
.bibCampos label{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:600;color:var(--gris2)}
.bibCampos label.bibTags{grid-column:1/-1}
.bibCampos label:first-child{grid-column:1/-1}
body.conBarra .bibCampos input{min-height:40px;border:1px solid transparent;border-radius:9px;background:#F6F6F4;padding:0 10px;font-family:var(--ios);font-size:16px;font-weight:400;color:#1C1C1E}
body.conBarra .bibCard input:hover{border-color:rgba(60,60,67,.14)}
body.conBarra .bibCard input:focus{background:#fff;border-color:var(--verde);box-shadow:0 0 0 3px rgba(0,27,57,.12);outline:none}
body.conBarra .bibCard .del{flex:none;width:40px;height:40px;border:none;border-radius:20px;background:transparent;color:#B3402F;display:flex;align-items:center;justify-content:center;padding:0}
body.conBarra .bibCard .del:hover{background:rgba(179,64,47,.08)}

/* ---------- Rediseño iOS fase 4: Staff, Historial, Minutas y ficha del ejercicio ---------- */
body.conBarra .stFilaDT select{flex:none;max-width:48%;min-height:40px;border:none;border-radius:9px;background:rgba(118,118,128,.12);color:var(--verde);
  font-family:var(--ios);font-size:16px;font-weight:600;padding:0 12px}
.stFilaInfo{align-items:flex-start;padding-top:12px;padding-bottom:12px}
.stFilaInfo .pdFilaTxt span{line-height:1.45}
.stCandado{display:flex;align-items:flex-start;gap:7px}
.stCandado svg{flex:none;margin-top:2px}
.hsCuando{font-size:15px;font-weight:500;color:var(--gris2);white-space:nowrap}

body.conBarra .masterDetail{grid-template-columns:300px minmax(0,1fr);gap:20px}
body.conBarra .listaCard{border:none;border-radius:14px;box-shadow:0 1px 2px rgba(0,0,0,.05);padding:6px;font-family:var(--ios)}
body.conBarra .listaGrupo{font-family:var(--ios);font-size:13px;font-weight:600;color:var(--gris2);padding:14px 10px 6px}
body.conBarra .filaLista{min-height:56px;gap:12px;padding:8px 10px;border-radius:10px}
body.conBarra .filaLista:hover{background:rgba(0,0,0,.035)}
body.conBarra .filaLista.sel{background:var(--verde)}
body.conBarra .filaLista .ini{width:38px;height:38px;font-family:var(--ios);font-size:13px;font-weight:700;background:#E6EBF1;color:#001B39}
body.conBarra .filaLista.sel .ini{background:var(--oro);color:#FFFFFF}
body.conBarra .filaLista .info b{font-size:16px;font-weight:600}
body.conBarra .filaLista .info span{font-size:15px}
body.conBarra .listaCard .addRow{display:flex;align-items:center;gap:10px;width:100%;min-height:52px;margin:4px 0 0;padding:0 10px;border:none;border-top:1px solid var(--sep);
  border-radius:0;background:transparent;color:var(--verde);font-family:var(--ios);font-size:16px;font-weight:600;text-align:left}
body.conBarra .credCard{border:none;box-shadow:0 1px 2px rgba(0,0,0,.05)}
body.conBarra .credBanda .escudoMini{font-family:var(--ios);font-size:12px;font-weight:600;letter-spacing:.02em}
body.conBarra .credBanda .ini{font-family:var(--ios);font-weight:700}
body.conBarra .credInfo .nom{font-family:var(--ios);font-size:28px;font-weight:700;letter-spacing:-.02em}
body.conBarra .credInfo .rol{font-size:16px;color:var(--gris2)}
body.conBarra .badge{font-family:var(--ios);font-size:13px;font-weight:600;border-radius:8px;padding:3px 9px}
body.conBarra .filaCampo{grid-template-columns:170px 1fr;min-height:52px;padding:6px 0;border-bottom:1px solid var(--sep)}
body.conBarra .filaCampo>label:first-child{font-family:var(--ios);font-size:16px;font-weight:400;color:#1C1C1E}
body.conBarra .filaCampo input:not([type="checkbox"]),body.conBarra .filaCampo select{min-height:40px;font-family:var(--ios);font-size:16px;color:#3A3A3C}
body.conBarra .filaCampo input:not([type="checkbox"]):focus,body.conBarra .filaCampo select:focus{border-color:var(--verde);box-shadow:0 0 0 3px rgba(0,27,57,.12)}
body.conBarra .filaCampo input[type="checkbox"]{width:22px;height:22px;accent-color:var(--verde)}
body.conBarra .credAcciones{border-top:1px solid var(--sep);gap:10px}
body.conBarra .btnGhostSm{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:0 16px;border:none;border-radius:22px;
  background:rgba(118,118,128,.12);color:#1C1C1E;font-family:var(--ios);font-size:15px;font-weight:600}
body.conBarra .btnGhostSm.oro{background:#E6EBF1;color:#001B39}
body.conBarra .btnGhostSm.rojo{background:rgba(179,64,47,.1);color:#86281C}

body.conBarra .histRow{display:flex;grid-template-columns:none;font-size:inherit}
body.conBarra .histLista,body.conBarra .minLista{display:block;gap:0}
body.conBarra .minRow{border-bottom:none;justify-content:flex-start}
body.conBarra .pdGrupo>.pdFila.cvHist+.pdFila.cvHist{border-top:1px solid var(--sep)}

body.conBarra .fichaBox{border:none;border-radius:14px;background:#F6F6F4;padding:16px;margin-top:10px}
body.conBarra .fichaGrid{gap:12px}
body.conBarra .fichaGrid input,body.conBarra .fichaGrid select,body.conBarra .fichaGrid textarea{min-height:42px;border:1px solid transparent;border-radius:10px;background:#fff;
  font-family:var(--ios);font-size:16px;padding:8px 10px}
body.conBarra .fichaGrid input:focus,body.conBarra .fichaGrid select:focus,body.conBarra .fichaGrid textarea:focus{border-color:var(--verde);box-shadow:0 0 0 3px rgba(0,27,57,.12);outline:none}
body.conBarra .fichaCalc{background:#fff;border-radius:10px;padding:8px 12px}
body.conBarra .fichaCalc b{font-family:var(--ios);font-size:17px;font-variant-numeric:tabular-nums}
body.conBarra .fichaCarga{border-radius:10px;padding:10px 14px;font-size:15px}
body.conBarra .fichaDescargar{min-height:44px;border-radius:22px}
@media (max-width:820px){ body.conBarra .masterDetail{grid-template-columns:1fr} body.conBarra .stFilaDT{flex-wrap:wrap} body.conBarra .stFilaDT select{max-width:100%;width:100%} }

/* ---------- Staff estilo Contactos de Mac + registro plegado (últimas 2 + ver todo) ---------- */
body.conBarra .stFilaDT{margin:0 0 22px;min-height:56px}
body.conBarra .ctMD{grid-template-columns:300px minmax(0,1fr);gap:24px;align-items:start}
body.conBarra .ctMD .listaCard{position:sticky;top:16px;max-height:calc(100vh - 32px)}
.stBuscarWrap{display:flex;align-items:center;gap:8px;min-height:40px;padding:0 10px;margin:2px 2px 6px;border-radius:10px;background:rgba(118,118,128,.12);color:var(--gris2)}
body.conBarra .stBuscarWrap input{flex:1;min-width:0;border:none;background:transparent;font-family:var(--ios);font-size:16px;color:#1C1C1E;outline:none;min-height:38px}
.stBuscarWrap:focus-within{background:#fff;box-shadow:0 0 0 3px rgba(0,27,57,.14)}
.filaLista[hidden],.listaGrupo[hidden]{display:none}
.stSinRes{padding:10px;font-size:15px;color:var(--gris2)}
.stSinRes[hidden]{display:none}

.ctDetalle{display:flex;flex-direction:column;gap:22px;min-width:0}
.ctCab{display:flex;align-items:center;gap:20px;padding:4px 6px}
.ctAvatar{width:84px;height:84px;flex:none;border-radius:42px;background:var(--oro);color:#FFFFFF;display:flex;align-items:center;justify-content:center;
  font-size:28px;font-weight:700;letter-spacing:-.01em;box-shadow:0 2px 8px rgba(0,0,0,.08)}
.ctCabTxt{display:flex;flex-direction:column;gap:3px;min-width:0}
.ctNom{font-size:28px;font-weight:700;letter-spacing:-.02em;line-height:1.1;color:#1C1C1E}
.ctRol{font-size:17px;color:var(--gris2)}
.ctBadges{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.ctBadge{font-size:13px;font-weight:600;padding:3px 9px;border-radius:8px;background:rgba(118,118,128,.14);color:#3A3A3C}
.ctBadge.ok{background:rgba(46,139,87,.14);color:#1F5E3B}
body.conBarra .ctCampo input,body.conBarra .ctCampo select{flex:0 1 60%;min-width:0;min-height:40px;border:1px solid transparent;border-radius:9px;background:transparent;
  padding:0 10px;font-family:var(--ios);font-size:16px;color:#3A3A3C;text-align:right}
body.conBarra .ctCampo input:hover,body.conBarra .ctCampo select:hover{background:#F6F6F4}
body.conBarra .ctCampo input:focus,body.conBarra .ctCampo select:focus{background:#fff;border-color:var(--verde);box-shadow:0 0 0 3px rgba(0,27,57,.12);outline:none;text-align:left}
body.conBarra .ctCampo select{text-align-last:right;cursor:pointer}
.ctBoton{width:100%;border:none;background:transparent;font-family:var(--ios);text-align:left;cursor:pointer}
.ctBoton:hover{background:rgba(0,0,0,.025)}
.ctBoton svg{color:#C4C4C7;flex:none}
.ctBoton .pdFilaVal,.ctGris{color:var(--gris2);font-weight:400}
.ctEliminar{min-height:50px;border:none;border-radius:14px;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.05);color:#B3402F;font-family:var(--ios);font-size:17px;font-weight:600;cursor:pointer}
.ctEliminar:hover{background:rgba(179,64,47,.06)}

.iosSwitch{-webkit-appearance:none;appearance:none;flex:none;width:51px;height:31px;margin:0;border-radius:16px;background:rgba(120,120,128,.2);position:relative;cursor:pointer;transition:background .2s ease}
.iosSwitch::after{content:"";position:absolute;top:2px;left:2px;width:27px;height:27px;border-radius:14px;background:#fff;box-shadow:0 2px 4px rgba(0,0,0,.2);transition:transform .25s cubic-bezier(.2,.8,.2,1)}
.iosSwitch:checked{background:#2F7FC1}
.iosSwitch:checked::after{transform:translateX(20px)}
.iosSwitch:disabled{opacity:.45;cursor:not-allowed}
.iosSwitch:focus-visible{outline:2px solid rgba(0,27,57,.45);outline-offset:2px}

.audMas{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;min-height:48px;border:none;border-top:1px solid var(--sep);background:transparent;
  color:var(--verde);font-family:var(--ios);font-size:16px;font-weight:600;cursor:pointer}
.audMas:hover{background:rgba(0,27,57,.04)}
.audMas svg{transition:transform .2s ease}
@media (max-width:820px){ body.conBarra .ctMD{grid-template-columns:1fr} body.conBarra .ctMD .listaCard{position:static;max-height:none} .ctNom{font-size:22px} }

/* ---------- Historial (agrupado por día, filtro por persona) y Minutas (por mes, versiones) ---------- */
.hsChips{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 20px}
.hsChip{min-height:38px;padding:0 16px;border:none;border-radius:19px;background:rgba(118,118,128,.12);color:#1C1C1E;font-family:var(--ios);font-size:15px;font-weight:500;cursor:pointer}
.hsChip:hover{background:rgba(118,118,128,.2)}
.hsChip.on{background:var(--verde);color:#fff;font-weight:600}
.hsDia+.hsDia{margin-top:20px}
.hsDia[hidden],body.conBarra .histRow[hidden]{display:none}
.hsAvatar{position:relative;width:38px;height:38px;flex:none;border-radius:19px;background:#E6EBF1;color:#001B39;
  font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center}
.hsAvatar::after{content:"";position:absolute;right:-1px;bottom:-1px;width:12px;height:12px;border-radius:6px;border:2px solid #fff;background:#8B8B84}
.hsAvatar.t-add::after{background:#2E8B57}
.hsAvatar.t-del::after{background:#B3402F}
.hsAvatar.t-edit::after{background:#3D6A9E}
body.conBarra .histRow{min-height:60px;padding-top:8px;padding-bottom:8px;gap:14px}
.hsIr{width:100%;border:none;background:transparent;font-family:var(--ios);text-align:left;cursor:pointer}
.hsIr:hover{background:rgba(0,0,0,.025)}
.hsIr>svg{color:#C4C4C7;flex:none}
body.conBarra .histLista>.pdFila+.pdFila{border-top:1px solid var(--sep)}

.mnMes+.mnMes{margin-top:20px}
.minLista .mnFila+.mnFila{border-top:1px solid var(--sep)}
body.conBarra .minRow{min-height:72px;gap:14px;padding-top:10px;padding-bottom:10px}
.minRow>svg{color:#C4C4C7;flex:none}
.mnIcono{width:40px;height:40px;flex:none;border-radius:10px;background:rgba(0,27,57,.08);color:var(--verde);display:flex;align-items:center;justify-content:center}
.minRow .pdFilaTxt b{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.minRow .pdFilaTxt .mnDatos{font-size:13px;color:#8E8E93}
.mnVersiones{display:flex;align-items:center;flex-wrap:wrap;gap:4px 6px;padding:0 16px 12px 70px;margin-top:-4px;font-size:13px;color:var(--gris2)}
.mnVersion{border:none;background:rgba(118,118,128,.12);border-radius:8px;min-height:30px;padding:0 10px;font-family:var(--ios);font-size:13px;font-weight:600;color:var(--verde);cursor:pointer}
.mnVersion:hover{background:rgba(0,27,57,.12)}

/* ---------- Editor de agenda: valores de plantilla por completar se ven como texto guía ---------- */
body.conBarra .agendaEd .filaAg input.pend{color:#A1A1A6;font-weight:400}
body.conBarra .agendaEd .filaAg input.h.pend{color:#A1A1A6;font-weight:600}
body.conBarra .agendaEd .filaAg input.pend:focus{color:#1C1C1E}
/* Fondo de los campos del bloque = mismo gris verdoso del botón secundario (.btnS) */
body.conBarra .agendaEd .filaAg input.h,body.conBarra .agendaEd .filaAg input.agAct,body.conBarra .agendaEd .agSub input,body.conBarra .agendaEd .ctBox,body.conBarra .agendaEd .selSes,
body.conBarra .agendaEd .filaAg input.h{background:#E3E6E1;border-color:transparent}
body.conBarra .agendaEd .filaAg input.agAct:hover,body.conBarra .agendaEd .agSub input:hover,body.conBarra .agendaEd .selSes:hover{background:#DCE0DA;border-color:transparent}
body.conBarra .agendaEd .filaAg input:focus{background:#fff}
body.conBarra .agendaEd .ctAdd{background:#F4F5F2}
body.conBarra .agendaEd .filaAg input.pend,body.conBarra .agendaEd .filaAg input.h.pend{color:#868B87}

/* ---------- Imágenes para compartir · estilo "Apple Sports en claro" (Plan del día, Tecnificación, Citas, Semana) ----------
   Todo en em: 1em = 10px en la imagen de 540px. La vista previa usa la MISMA tarjeta y solo cambia el font-size. */
.spCard{font-family:var(--ios);-webkit-font-smoothing:antialiased;background:#F3F5F8;color:#111412;text-align:left;
  box-sizing:border-box;padding:4em 3em 3em;display:flex;flex-direction:column;gap:2.2em;overflow:hidden}
#expCard.spCard,#expTec.spCard,#expCitas.spCard,#expSem.spCard,#planCard.spCard{background:#F3F5F8;color:#111412;text-align:left;
  display:flex;flex-direction:column;align-items:stretch;padding:4em 3em 3em;font-family:var(--ios)}
#expCard.spCard,#expTec.spCard,#expCitas.spCard{width:540px;font-size:10px}
#expSem.spCard{width:1480px;font-size:10px;padding:3.4em 3.6em 2.6em;gap:2.4em}
.pdVista{container-type:inline-size}
.pdVista #planCard.spCard{width:100%;max-width:none;font-size:7px;font-size:calc(100cqw / 54);border:none;border-radius:1.6em;box-shadow:0 1px 2px rgba(0,0,0,.06)}
.spCab{display:flex;align-items:center;gap:1.8em}
.spEscudo{width:9.6em;height:auto;flex:none;display:block}
.spCabTxt{display:flex;flex-direction:column;gap:.4em;min-width:0}
.spEtiq{font-size:1.5em;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#1F5F99}
.spClub{font-size:2.8em;font-weight:800;letter-spacing:-.02em;line-height:1.05;color:#001B39}
.spCat{font-size:1.7em;font-weight:600;color:#5E6660}
.spFecha{display:flex;align-items:flex-end;justify-content:space-between;gap:1.6em}
.spFechaTxt{display:flex;flex-direction:column;min-width:0}
.spDia{font-size:2em;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#5E6660}
.spNum{font-size:9.6em;font-weight:900;letter-spacing:-.04em;line-height:.9;color:#111412;white-space:nowrap}
.spNum em{font-style:normal;color:#001B39}
.spChip{flex:none;padding:.56em .88em;border-radius:.75em;color:#fff;font-size:1.6em;font-weight:800;white-space:nowrap;margin-bottom:.4em}
.spSub{font-size:1.6em;font-weight:700;color:#001B39;margin-top:-.6em}
.spDatos{display:flex;gap:1.2em}
.spDato{flex:1;min-width:0;background:#fff;border-radius:1.8em;box-shadow:0 1px 3px rgba(0,0,0,.06);padding:1.4em 1.6em;display:flex;flex-direction:column;gap:.4em}
.spDato>span{font-size:1.3em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#5E6660}
.spDato>b{font-size:1.7em;font-weight:700;line-height:1.25;color:#111412}
body.conBarra .spDato input{width:100%;min-width:0;border:1px solid transparent;border-radius:.6em;background:transparent;padding:.1em .3em;margin:0 -.3em;
  font-family:var(--ios);font-size:1.7em;font-weight:700;color:#111412}
body.conBarra .spDato input:hover{background:#F3F5F8}
body.conBarra .spDato input:focus{background:#fff;border-color:var(--verde);box-shadow:0 0 0 3px rgba(0,27,57,.12);outline:none}
.spLista{background:#fff;border-radius:2em;box-shadow:0 1px 3px rgba(0,0,0,.06);overflow:hidden}
.spFila{display:flex;align-items:flex-start;gap:1.6em;padding:1.6em 1.8em}
.spFila+.spFila{border-top:1px solid rgba(0,0,0,.07)}
.spHora{width:2.9em;flex:none;font-size:2.2em;font-weight:900;letter-spacing:-.02em;line-height:1.15}
.spTxt{flex:1;min-width:0;display:flex;flex-direction:column;gap:.3em}
.spTxt b{font-size:1.9em;font-weight:700;line-height:1.25;color:#111412}
.spTxt>span{font-size:1.5em;color:#5E6660;line-height:1.3}
.spCt{flex:none;max-width:11em;text-align:right;font-size:1.4em;font-weight:800;color:#001B39;line-height:1.3}
.spVacio{font-size:1.7em;color:#5E6660}
.spJug{align-items:center;padding:1.4em 1.8em}
.spDorsal{width:2.45em;height:2.45em;flex:none;border-radius:50%;color:#fff;font-size:1.8em;font-weight:900;display:flex;align-items:center;justify-content:center}
.spPos{flex:none;font-size:1.5em;font-weight:600;color:#5E6660}
.spHoraCol{width:8.6em;flex:none;display:flex;flex-direction:column}
.spHoraCol .spHora{width:auto}
.spHasta{font-size:1.3em;font-weight:600;color:#5E6660;white-space:nowrap}
.spPie{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:1.2em;padding-top:1.4em;border-top:1px solid rgba(0,0,0,.08)}
.spPieClub{display:flex;align-items:center;gap:.55em;font-size:1.35em;font-weight:600;color:#5E6660;white-space:nowrap}
.spPieClub img{height:1.9em;width:auto;display:block}
.spPieMarca{font-size:1.25em;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#1F5F99;white-space:nowrap}

.ssHead{display:flex;align-items:center;gap:2.2em}
.ssHead .spEscudo{width:8.8em}
.ssHead .spClub{font-size:3.2em}
.ssDer{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:.4em;text-align:right}
.ssRango{font-size:5.2em;font-weight:900;letter-spacing:-.03em;line-height:1;color:#111412;white-space:nowrap}
.ssRango em{font-style:normal;color:#001B39}
.ssPartido{font-size:1.7em;font-weight:600;color:#5E6660}
.ssGrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1.2em;align-items:start}
.ssDia{background:#fff;border-radius:2em;box-shadow:0 1px 3px rgba(0,0,0,.06);padding:1.6em 1.2em;display:flex;flex-direction:column;gap:1em}
/* borde normal y no box-shadow inset: html2canvas pinta el inset como un bloque sólido */
.ssDia.partido{border:2px solid #B3402F;padding:calc(1.6em - 2px) calc(1.2em - 2px);box-shadow:none}
.ssCab{display:flex;flex-direction:column;align-items:center;text-align:center}
.ssCab span{font-size:1.4em;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#5E6660}
.ssCab b{font-size:4.4em;font-weight:900;letter-spacing:-.03em;line-height:1;color:#111412}
.ssCab em{font-style:normal;font-size:1.3em;font-weight:700;color:#001B39;margin-top:.3em}
.ssBloque{border-left:4px solid #8B8B84;border-radius:1.2em;background:#F3F5F8;padding:1em 1.2em;display:flex;flex-direction:column;gap:.2em}
.ssH{display:flex;justify-content:space-between;gap:.6em;font-size:1.5em;font-weight:900}
.ssH em{font-style:normal;font-size:.8em;font-weight:800;color:#001B39;text-align:right}
.ssBloque b{font-size:1.5em;font-weight:700;line-height:1.25;color:#111412}
.ssVacio{font-size:1.5em;font-weight:600;color:#5E6660;padding:1em .4em;text-align:center}

/* ---------- Selector de categoría estilo iOS + menú "Liquid Glass" claro ---------- */
body.conBarra .catBtn{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:44px;padding:0 12px 0 14px;border:none;border-radius:12px;
  background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.06),0 0 0 .5px rgba(0,0,0,.05);font-family:var(--ios);font-size:16px;font-weight:600;color:#1C1C1E;cursor:pointer;text-align:left}
body.conBarra .catBtn span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.conBarra .catBtn svg{flex:none;color:var(--gris2)}
body.conBarra .catBtn:hover{background:#FBFBFA}
body.conBarra .catBtn:active{transform:scale(.98)}
body.conBarra .catBtn:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(0,27,57,.18)}
body.conBarra .catBtn[aria-expanded="true"]{box-shadow:0 0 0 3px rgba(0,27,57,.14)}
#barraCategoria select[hidden]{display:none}

.glassMenu{position:fixed;z-index:95;overflow-y:auto;padding:6px;border-radius:16px;font-family:var(--ios);
  background:rgba(255,255,255,.62);-webkit-backdrop-filter:blur(28px) saturate(190%);backdrop-filter:blur(28px) saturate(190%);
  border:1px solid rgba(255,255,255,.75);
  box-shadow:0 18px 44px -10px rgba(0,0,0,.22),0 2px 8px rgba(0,0,0,.06),inset 0 1px 0 rgba(255,255,255,.9),inset 0 0 0 .5px rgba(0,0,0,.04);
  transform-origin:top center;animation:glassEntra .24s cubic-bezier(.2,.9,.25,1.05)}
.glassMenu[hidden]{display:none}
@keyframes glassEntra{from{opacity:0;transform:scale(.94) translateY(-6px);-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}}
.glassItem{display:flex;align-items:center;gap:8px;width:100%;min-height:44px;padding:0 12px 0 8px;border:none;border-radius:10px;background:transparent;
  font-family:var(--ios);font-size:16px;color:#1C1C1E;text-align:left;cursor:pointer}
.glassItem:hover,.glassItem:focus-visible{background:rgba(0,27,57,.09);outline:none}
.glassItem:active{background:rgba(0,27,57,.15)}
.glassItem.on{font-weight:600}
.glassCheck{width:20px;flex:none;display:flex;justify-content:center;color:var(--verde)}
.glassItem.crear{color:var(--verde);font-weight:600}
.glassSep{height:1px;margin:4px 10px;background:rgba(0,0,0,.08)}
@media (prefers-reduced-transparency:reduce){.glassMenu{background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none}}
@media (prefers-reduced-motion:reduce){.glassMenu{animation:none}}

/* Hoja desde abajo para elegir en celular (reemplaza la rueda nativa de iOS) */
#selHoja{position:fixed;inset:0;z-index:96;font-family:var(--ios);-webkit-font-smoothing:antialiased}
#selHoja[hidden]{display:none}
.selHojaFondo{position:absolute;inset:0;background:rgba(0,0,0,.28);touch-action:none;animation:hojaFondo .26s ease}
.selHojaPanel{position:absolute;left:8px;right:8px;bottom:8px;max-height:min(78vh,640px);display:flex;flex-direction:column;
  padding-bottom:env(safe-area-inset-bottom);border-radius:26px;
  background:rgba(255,255,255,.8);-webkit-backdrop-filter:blur(34px) saturate(190%);backdrop-filter:blur(34px) saturate(190%);
  border:1px solid rgba(255,255,255,.8);box-shadow:0 -10px 40px -8px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.95);
  transition:transform .3s cubic-bezier(.32,.72,0,1);animation:hojaSube .34s cubic-bezier(.32,.72,0,1)}
#selHoja.sale .selHojaFondo{opacity:0;transition:opacity .24s ease}
#selHoja.sale .selHojaPanel{transform:translateY(110%);transition:transform .26s cubic-bezier(.32,.72,0,1)}
@keyframes hojaSube{from{transform:translateY(100%)}}
@keyframes hojaFondo{from{opacity:0}}
.selHojaPanel:focus{outline:none}
.selHojaCab{position:relative;display:flex;align-items:center;justify-content:center;min-height:58px;padding:10px 16px 4px;touch-action:none;flex:none}
.selHojaAsa{position:absolute;top:7px;left:50%;width:38px;height:5px;margin-left:-19px;border-radius:3px;background:rgba(60,60,67,.3)}
.selHojaCab b{font-size:17px;font-weight:600;color:#1C1C1E;max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.selHojaListo{position:absolute;right:8px;top:12px;min-height:44px;padding:0 12px;border:none;background:none;
  font-family:var(--ios);font-size:17px;font-weight:600;color:var(--verde)}
.selHojaBuscar{display:flex;align-items:center;gap:8px;margin:4px 16px 8px;height:40px;padding:0 12px;border-radius:12px;
  background:rgba(118,118,128,.12);color:#6B6B70;flex:none}
.selHojaBuscar[hidden]{display:none}
.selHojaBuscar input{flex:1;min-width:0;border:none;background:none;outline:none;font-family:var(--ios);font-size:17px;color:#1C1C1E;-webkit-appearance:none;appearance:none}
.selHojaLista{overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:4px 10px 12px}
.selHojaLista .glassItem{min-height:52px;font-size:17px;padding:0 14px 0 8px;border-radius:12px}
.selHojaLista .glassItem[hidden]{display:none}
.selHojaLista .glassItem:hover{background:transparent}
.selHojaLista .glassItem:active{background:rgba(0,27,57,.12)}
.selHojaLista .selMenuGrupo[hidden],.selHojaLista .glassSep[hidden]{display:none}
html.hojaAbierta,html.hojaAbierta body{overflow:hidden}
@media (prefers-reduced-transparency:reduce){.selHojaPanel{background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none}}
@media (prefers-reduced-motion:reduce){.selHojaPanel,.selHojaFondo{animation:none}#selHoja.sale .selHojaPanel{transform:none}}

/* ---------- Ingreso estilo pantalla de bloqueo de iPhone (claro) ---------- */
#modalQuien{position:fixed;inset:0;z-index:70;display:block;padding:0;overflow:hidden;background:#F3F5F8;color:#1C1C1E;
  font-family:var(--ios);-webkit-font-smoothing:antialiased}
#modalQuien[hidden]{display:none}
#modalQuien::before{content:none}
#modalQuien.lgSale{opacity:0;transform:scale(1.06);pointer-events:none;transition:opacity .42s ease,transform .42s cubic-bezier(.32,.72,0,1)}
/* sin animación en #modalQuien: arranca visible y opaco a propósito para que nunca se asome la app detrás (se veía como un "latido");
   lo que entra suave es la primera pantalla (.lgPantalla.primera) */
.lgPantalla.primera{animation:lgContenido .5s cubic-bezier(.32,.72,0,1)}
@keyframes lgContenido{from{opacity:0;transform:translateY(10px)}}
.lgEscena{position:absolute;inset:0;overflow:hidden}
.lgPantalla{position:absolute;inset:0;box-sizing:border-box;overflow-y:auto;-webkit-overflow-scrolling:touch;background:#F3F5F8;
  display:flex;flex-direction:column;align-items:center;gap:26px;padding:40px 24px 32px;
  transition:transform .45s cubic-bezier(.32,.72,0,1),opacity .45s ease}
.lgPantalla.desdeDer{transform:translateX(100%);box-shadow:-12px 0 32px rgba(0,0,0,.08)}
.lgPantalla.desdeIzq{transform:translateX(-30%);opacity:.4}
.lgPantalla.haciaIzq{transform:translateX(-30%);opacity:.4}
.lgPantalla.haciaDer{transform:translateX(100%);z-index:2;box-shadow:-12px 0 32px rgba(0,0,0,.08)}
.lgMarca{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}
.lgMarca img{width:72px;height:auto;display:block;margin-bottom:4px}
.lgMarca b{font-size:22px;font-weight:700;letter-spacing:-.01em;color:#001B39}
.lgMarca span{font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#1F5F99}
.lgTitulo{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}
.lgTitulo h2{margin:0;font-size:34px;font-weight:800;letter-spacing:-.02em;color:#1C1C1E}
.lgTitulo span{font-size:17px;color:#6B6B70}
.lgGrupos{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:26px 44px;width:100%;max-width:1100px}
.lgGrupo{flex:0 1 auto;max-width:100%}
.lgGrupo h3{margin:0 0 12px;text-align:center;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#6B6B70}
.lgGente{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 16px}
.lgPersona{width:128px;display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 6px;border:none;border-radius:20px;background:transparent;
  font-family:var(--ios);text-align:center;cursor:pointer;touch-action:manipulation;transition:transform .18s cubic-bezier(.32,.72,0,1),background .15s}
.lgPersona:hover{background:rgba(0,0,0,.035)}
.lgPersona:active{transform:scale(.94)}
.lgPersona:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(0,27,57,.25)}
.lgPersona b{font-size:16px;font-weight:600;color:#1C1C1E;line-height:1.2}
.lgPersona>span:last-child{font-size:13px;color:#6B6B70;line-height:1.25;margin-top:-4px}
.lgAvatar{width:76px;height:76px;flex:none;border-radius:50%;background:#fff;color:#123F66;font-size:22px;font-weight:700;display:flex;align-items:center;justify-content:center;
  box-shadow:0 6px 18px rgba(0,0,0,.10),0 0 0 1px rgba(0,0,0,.04)}
.lgAvatar.lg{width:92px;height:92px;font-size:28px;background:#2F7FC1;color:#FFFFFF}
.lgAvatar.xl{width:132px;height:132px;font-size:42px;background:#2F7FC1;color:#FFFFFF}
.lgNota{margin:0;font-size:15px;color:#6B6B70;text-align:center}
.lgCentro{display:flex;flex-direction:column;align-items:center;gap:10px;margin:auto 0;text-align:center}
.lgHola{font-size:17px;color:#6B6B70;margin-top:10px}
.lgNombre{font-size:34px;font-weight:800;letter-spacing:-.02em;line-height:1.1;color:#1C1C1E}
.lgRol{font-size:17px;color:#6B6B70}
.lgBtn{margin-top:18px;width:320px;max-width:100%;min-height:54px;border:none;border-radius:27px;background:#001B39;color:#fff;
  font-family:var(--ios);font-size:17px;font-weight:600;cursor:pointer;touch-action:manipulation;transition:transform .15s}
.lgBtn:active{transform:scale(.97)}
.lgLink{min-height:44px;padding:0 14px;border:none;background:transparent;color:#001B39;font-family:var(--ios);font-size:16px;font-weight:600;cursor:pointer}
.lgVolver{position:absolute;left:14px;top:18px;display:flex;align-items:center;gap:2px;min-height:44px;padding:0 10px 0 4px;border:none;border-radius:12px;
  background:transparent;color:#001B39;font-family:var(--ios);font-size:17px;font-weight:600;cursor:pointer}
.lgVolver:active{background:rgba(0,27,57,.08)}
.lgClave{gap:8px}
.lgNombreChico{font-size:22px;font-weight:700;color:#1C1C1E;margin-top:6px}
.lgPide{font-size:17px;color:#6B6B70}
.lgAyuda{max-width:320px;font-size:15px;line-height:1.4;color:#6B6B70}
.lgPuntos{display:flex;gap:20px;margin:16px 0 2px}
.lgPuntos i{width:16px;height:16px;border-radius:50%;border:2px solid #001B39;box-sizing:border-box;transition:background .12s ease,transform .2s cubic-bezier(.32,.72,0,1)}
.lgPuntos i.on{background:#001B39}
.lgPuntos.ok i{background:#2E8B57;border-color:#2E8B57;transform:scale(1.15)}
.lgPuntos.sacude{animation:lgSacude .45s cubic-bezier(.36,.07,.19,.97)}
@keyframes lgSacude{10%,90%{transform:translateX(-2px)}20%,80%{transform:translateX(5px)}30%,50%,70%{transform:translateX(-12px)}40%,60%{transform:translateX(12px)}}
.lgMsg{min-height:22px;font-size:15px;font-weight:600;color:#B3402F}
.lgTeclado{display:grid;grid-template-columns:repeat(3,80px);gap:16px 26px;margin-top:4px}
.lgTecla{width:80px;height:80px;border:none;border-radius:50%;background:#fff;color:#1C1C1E;font-family:var(--ios);font-size:34px;font-weight:400;cursor:pointer;
  box-shadow:0 2px 8px rgba(0,0,0,.07),0 0 0 1px rgba(0,0,0,.03);touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:background .25s ease}
.lgTecla:active{background:#DCE0DA;transition:none}
.lgTecla:focus-visible,.lgTeclaTxt:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(0,27,57,.25)}
.lgTeclaTxt{width:80px;height:80px;border:none;border-radius:50%;background:transparent;color:#001B39;font-family:var(--ios);font-size:15px;font-weight:600;cursor:pointer;touch-action:manipulation}
.lgTeclaTxt:active{background:rgba(0,27,57,.08)}
@media (max-height:760px){.lgPantalla{gap:18px;padding-top:28px}.lgTeclado{grid-template-columns:repeat(3,70px);gap:12px 22px}.lgTecla,.lgTeclaTxt{width:70px;height:70px}.lgTecla{font-size:28px}.lgAvatar.lg{width:76px;height:76px;font-size:28px}}
@media (prefers-reduced-motion:reduce){.lgPantalla,.lgPantalla.primera,#modalQuien.lgSale{animation:none;transition:none}.lgPuntos.sacude{animation:none}}

/* ---------- Pizarra táctica · estilo iPad (Freeform/Keynote) en claro ----------
   Solo presentación: mismos botones y data-acc; el motor de dibujo no se toca. */
body.conBarra #modalPizarra{padding:0;background:#F3F5F8}
body.conBarra #modalPizarra .mBoxPizarra{width:100vw;max-width:100vw;height:100vh;max-height:100vh;border-radius:0;padding:0;background:#F3F5F8;
  font-family:var(--ios);-webkit-font-smoothing:antialiased;box-shadow:none}
body.conBarra #modalPizarra .pzTop{display:flex;align-items:center;gap:16px;min-height:64px;padding:8px 16px;border-bottom:1px solid rgba(60,60,67,.12);
  background:rgba(244,243,239,.88);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}
body.conBarra #modalPizarra .pzTop .pzColores{flex:1;min-width:0;gap:10px;flex-wrap:wrap}
body.conBarra #modalPizarra .pzBtnCancelar{flex:none;min-height:44px;padding:0 12px;border:none;border-radius:12px;background:transparent;color:var(--verde);
  font-family:var(--ios);font-size:17px;font-weight:600;cursor:pointer}
body.conBarra #modalPizarra .pzBtnCancelar:active{background:rgba(0,27,57,.08)}
body.conBarra #modalPizarra .pzBtnGuardar{flex:none;min-height:44px;padding:0 24px;border-radius:22px;font-size:16px;font-weight:600}
body.conBarra #modalPizarra .pzLbl{font-size:13px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--gris2)}
body.conBarra #modalPizarra .pzSwatch{width:30px;height:30px;border:none;box-shadow:0 0 0 1px rgba(0,0,0,.14)}
body.conBarra #modalPizarra .pzSwatch.on{box-shadow:0 0 0 3px #fff,0 0 0 5px var(--verde)}
body.conBarra #modalPizarra .pzSwatchLibre{font-size:0;background:conic-gradient(#e74c3c,#f1c40f,#2ecc71,#3498db,#9b59b6,#e74c3c)}
body.conBarra #modalPizarra .pzSep{width:1px;height:28px;background:rgba(60,60,67,.14)}
body.conBarra #modalPizarra .pzLineaBtn{min-height:36px;padding:0 14px;border:none;border-radius:18px;background:rgba(118,118,128,.12);color:#1C1C1E;
  font-family:var(--ios);font-size:15px;font-weight:500}
body.conBarra #modalPizarra .pzLineaBtn.on{background:#fff;color:#1C1C1E;font-weight:600;box-shadow:0 2px 6px rgba(0,0,0,.12),0 0 0 .5px rgba(0,0,0,.05)}
body.conBarra #modalPizarra .pzTop .pzLineaBtn.on{background:var(--verde);color:#fff}

/* escena: rieles como pastillas de vidrio flotantes */
body.conBarra #modalPizarra .pzEscena{background:#F3F5F8}
body.conBarra #modalPizarra .pzRiel{flex:0 0 auto;align-self:flex-start;margin:12px;padding:6px;gap:2px;max-height:calc(100% - 24px);border-radius:22px;
  background:rgba(255,255,255,.74);-webkit-backdrop-filter:blur(24px) saturate(180%);backdrop-filter:blur(24px) saturate(180%);border:none;
  box-shadow:0 10px 30px rgba(0,0,0,.10),inset 0 1px 0 rgba(255,255,255,.9),0 0 0 1px rgba(0,0,0,.05)}
body.conBarra #modalPizarra .pzRielBtn{width:66px;min-height:58px;border:none;border-radius:16px;background:transparent;color:var(--verde);gap:3px;padding:4px 2px}
body.conBarra #modalPizarra .pzRielBtn:hover{background:rgba(0,27,57,.07);transform:none}
body.conBarra #modalPizarra .pzRielBtn.on{background:var(--verde);color:#fff;box-shadow:none}
body.conBarra #modalPizarra .pzRielIco{display:flex;font-size:0}
body.conBarra #modalPizarra .pzRielTxt{font-size:12px;font-weight:600;letter-spacing:0}
body.conBarra #modalPizarra .pzRielBtn.pzAviso{animation:pzAvisoIos 1.4s ease-in-out infinite}
@keyframes pzAvisoIos{0%,100%{box-shadow:0 0 0 0 rgba(0,27,57,.35)}50%{box-shadow:0 0 0 6px rgba(0,27,57,0)}}
body.conBarra #modalPizarra .pzCancha{padding:12px 0}
body.conBarra #modalPizarra #pizarraLienzo{border:none;border-radius:18px;box-shadow:0 6px 24px rgba(0,0,0,.12)}

/* paneles como tarjetas de vidrio claro */
body.conBarra #modalPizarra .pzFlotante{top:12px;bottom:12px;width:320px;border:none;border-radius:20px;
  background:rgba(250,250,248,.94);-webkit-backdrop-filter:blur(28px) saturate(180%);backdrop-filter:blur(28px) saturate(180%);
  box-shadow:0 18px 44px -8px rgba(0,0,0,.20),inset 0 1px 0 rgba(255,255,255,.9),0 0 0 1px rgba(0,0,0,.05)}
body.conBarra #modalPizarra .pzFlotanteIzq{left:100px}
body.conBarra #modalPizarra .pzFlotanteDer{right:100px}
body.conBarra #modalPizarra .pzFlotanteDer.pzLadoIzq{left:100px;right:auto}
body.conBarra #modalPizarra .pzFlotanteCab{background:transparent;color:#1C1C1E;border-bottom:none;padding:16px 16px 6px}
body.conBarra #modalPizarra .pzFlotanteCab .ico{display:none}
body.conBarra #modalPizarra .pzFlotanteCab .tit{font-family:var(--ios);font-size:22px;font-weight:700;letter-spacing:-.01em;text-transform:none}
body.conBarra #modalPizarra .pzFlotanteCab .cerrar{width:30px;height:30px;border-radius:15px;background:rgba(118,118,128,.14);color:var(--gris2)}
body.conBarra #modalPizarra .pzFlotanteCab .cerrar:hover{background:rgba(118,118,128,.24)}
body.conBarra #modalPizarra .pzFlotanteCuerpo{padding:8px 16px 16px}
body.conBarra #modalPizarra .pzGrupoTit,body.conBarra #modalPizarra .pzBloqueTit,body.conBarra #modalPizarra .pzFlotante .pzCat .pzLbl{font-family:var(--ios);font-size:13px;font-weight:600;
  letter-spacing:0;text-transform:none;color:var(--gris2);opacity:1;margin:14px 0 7px}
body.conBarra #modalPizarra .pzGrupoTit:first-child{margin-top:4px}
body.conBarra #modalPizarra .pzFlotante .pzHerr button,body.conBarra #modalPizarra .pzRejilla button{min-height:44px;border:none;border-radius:12px;background:#fff;color:#1C1C1E;
  font-family:var(--ios);font-size:15px;font-weight:600;box-shadow:0 1px 2px rgba(0,0,0,.07),0 0 0 .5px rgba(0,0,0,.05);padding:8px 10px}
body.conBarra #modalPizarra .pzFlotante .pzHerr button:hover,body.conBarra #modalPizarra .pzRejilla button:hover{background:#EEF3EF;color:var(--verde);box-shadow:0 1px 2px rgba(0,0,0,.07)}
body.conBarra #modalPizarra .pzFlotante .pzHerr button.on{background:var(--verde);color:#fff}
body.conBarra #modalPizarra .pzFlotante .pzHerr select{min-height:44px;border:none;border-radius:12px;background:#fff;font-family:var(--ios);font-size:15px;font-weight:500;
  box-shadow:0 1px 2px rgba(0,0,0,.07),0 0 0 .5px rgba(0,0,0,.05)}
body.conBarra #modalPizarra .pzFlotante .pzAyuda{font-size:13px;color:var(--gris2);border-top:1px solid rgba(60,60,67,.1);padding:10px 16px 14px}
body.conBarra #modalPizarra .pzNotaRondo{font-size:13px;color:var(--gris2);opacity:1}
body.conBarra #modalPizarra .pzSel{border:none;border-radius:14px;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.07)}
body.conBarra #modalPizarra .pzSelTit{font-family:var(--ios);font-size:15px;font-weight:700;letter-spacing:0;text-transform:none;color:#1C1C1E}

/* barra inferior: dock de vidrio flotante */
body.conBarra #modalPizarra .pzBarraInf{align-self:center;width:auto;max-width:calc(100vw - 24px);margin:0 12px 12px;padding:6px 12px;gap:6px;border:none;border-radius:26px;
  background:rgba(255,255,255,.76);-webkit-backdrop-filter:blur(24px) saturate(180%);backdrop-filter:blur(24px) saturate(180%);
  box-shadow:0 10px 30px rgba(0,0,0,.12),inset 0 1px 0 rgba(255,255,255,.9),0 0 0 1px rgba(0,0,0,.05)}
body.conBarra #modalPizarra .pzSepIco{height:34px;background:rgba(60,60,67,.14)}
body.conBarra #modalPizarra .pzIco{min-width:62px;width:auto;min-height:54px;border:none;border-radius:14px;background:transparent;color:#1C1C1E;gap:3px;padding:4px 6px}
body.conBarra #modalPizarra .pzIco:hover{background:rgba(0,0,0,.04)}
body.conBarra #modalPizarra .pzIco.on{background:var(--verde);color:#fff;filter:none}
body.conBarra #modalPizarra .pzIco.on .pzIcoTxt{color:#fff}
body.conBarra #modalPizarra .pzIcoPeligro{color:#B3402F}
body.conBarra #modalPizarra .pzIcoIco{display:flex;font-size:0}
body.conBarra #modalPizarra .pzIcoTxt{font-size:11px;font-weight:600;color:inherit;letter-spacing:0}
body.conBarra #modalPizarra .pzPaso{width:40px;height:40px;border:none;border-radius:20px;background:rgba(0,27,57,.08);color:var(--verde);font-family:var(--ios);font-size:16px;font-weight:700}
body.conBarra #modalPizarra .pzPaso.on{background:var(--verde);color:#fff}
body.conBarra #modalPizarra .pzPasoMas{border:none;font-size:22px;font-weight:400}
body.conBarra #modalPizarra .pzPasoNom{margin-top:0;gap:6px}
body.conBarra #modalPizarra .pzPasoNom .pzLineaBtn{min-height:40px;border-radius:20px;background:rgba(0,27,57,.08);color:var(--verde);font-weight:600}
body.conBarra #modalPizarra .pzPasoNom .pzLineaBtn:disabled{opacity:.4}
body.conBarra #modalPizarra .pzPasoDur{font-size:13px;color:var(--gris2)}
body.conBarra #modalPizarra .pzPasoDur input{min-height:34px;border:none;border-radius:9px;background:rgba(118,118,128,.12);font-size:15px}
@media (max-width:834px){
  body.conBarra #modalPizarra .pzRiel{margin:8px;padding:4px}
  body.conBarra #modalPizarra .pzRielBtn{width:56px;min-height:52px}
  body.conBarra #modalPizarra .pzRielTxt{font-size:11px}
  body.conBarra #modalPizarra .pzFlotante{left:8px;right:8px;width:auto;top:auto;bottom:8px;max-height:46%}
  body.conBarra #modalPizarra .pzFlotanteDer.pzLadoIzq{left:8px;right:8px}
  body.conBarra #modalPizarra .pzTop{flex-wrap:wrap}
  /* una regla vieja de pantalla angosta (.pzCancha{order:1;width:100%}) mandaba la cancha al final y la desbordaba */
  body.conBarra #modalPizarra .pzCancha{order:0;width:auto;min-width:0}
}
body.conBarra #modalPizarra input[type=range]{accent-color:var(--verde)}
body.conBarra #modalPizarra .pzSelAcc{gap:5px}
body.conBarra #modalPizarra .pzSelAcc .pzLineaBtn{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:40px;padding:0 4px;white-space:nowrap;border-radius:12px;background:rgba(0,27,57,.08);color:var(--verde);font-size:15px;font-weight:600}
body.conBarra #modalPizarra .pzSelAcc .pzSelBorrar{background:rgba(179,64,47,.1);color:#B3402F}
body.conBarra #modalPizarra .pzRejilla2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
body.conBarra #modalPizarra .pzRejilla{gap:8px}
body.conBarra #modalPizarra .pzRejilla2 button,body.conBarra #modalPizarra .pzRejilla button{width:100%;line-height:1.25}

/* ---------- Pizarra · Liquid Glass (vidrio más real: más transparente, blur alto, filo de luz) ---------- */
body.conBarra #modalPizarra .pzFlotante,
body.conBarra #modalPizarra .pzRiel,
body.conBarra #modalPizarra .pzBarraInf{
  background:linear-gradient(145deg,rgba(255,255,255,.72) 0%,rgba(255,255,255,.56) 55%,rgba(255,255,255,.64) 100%);
  -webkit-backdrop-filter:blur(44px) saturate(125%) brightness(1.1);backdrop-filter:blur(44px) saturate(125%) brightness(1.1);
  border:1px solid rgba(255,255,255,.65);
  box-shadow:0 22px 50px -12px rgba(0,0,0,.28),0 2px 8px rgba(0,0,0,.06),
    inset 0 1px 0 rgba(255,255,255,.95),inset 1px 0 0 rgba(255,255,255,.55),inset 0 -1px 0 rgba(0,0,0,.05)}
body.conBarra #modalPizarra .pzFlotante::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:radial-gradient(120% 60% at 0% 0%,rgba(255,255,255,.45),transparent 55%)}
body.conBarra #modalPizarra .pzFlotanteCab,body.conBarra #modalPizarra .pzFlotanteCuerpo,body.conBarra #modalPizarra .pzFlotante .pzAyuda{position:relative}
/* botones de vidrio dentro del panel */
body.conBarra #modalPizarra .pzFlotante .pzHerr button,body.conBarra #modalPizarra .pzRejilla button,
body.conBarra #modalPizarra .pzFlotante .pzHerr select,body.conBarra #modalPizarra .pzFlotante .pzLineaBtn,body.conBarra #modalPizarra .pzSel{
  background:rgba(255,255,255,.58);border:1px solid rgba(255,255,255,.75);
  box-shadow:0 2px 6px rgba(0,0,0,.06),inset 0 1px 0 rgba(255,255,255,.9)}
body.conBarra #modalPizarra .pzFlotante .pzHerr button:hover,body.conBarra #modalPizarra .pzRejilla button:hover{background:rgba(255,255,255,.85);color:var(--verde)}
body.conBarra #modalPizarra .pzFlotante .pzHerr button:active,body.conBarra #modalPizarra .pzRejilla button:active{transform:scale(.97)}
body.conBarra #modalPizarra .pzFlotante .pzHerr button.on{background:var(--verde);color:#fff;border-color:transparent}
body.conBarra #modalPizarra .pzFlotanteCab .cerrar{background:rgba(255,255,255,.55);border:1px solid rgba(255,255,255,.7)}
body.conBarra #modalPizarra .pzFlotante .pzAyuda{border-top:1px solid rgba(255,255,255,.55)}
body.conBarra #modalPizarra .pzGrupoTit,body.conBarra #modalPizarra .pzBloqueTit{color:#4A4A4F}
body.conBarra #modalPizarra input[type=checkbox]{accent-color:var(--verde)}
@media (prefers-reduced-transparency:reduce){
  body.conBarra #modalPizarra .pzFlotante,body.conBarra #modalPizarra .pzRiel,body.conBarra #modalPizarra .pzBarraInf{background:#FAFAF8;-webkit-backdrop-filter:none;backdrop-filter:none}
  body.conBarra #modalPizarra .pzFlotante::before{display:none}
}


/* Editor de texto de la pizarra: se escribe sobre la cancha, con la forma de la etiqueta */
#pzEditorTexto{position:fixed;z-index:60;transform:translate(-50%,-50%);box-sizing:border-box;min-width:80px;
  padding:.45em .9em;border:1.5px solid #001B39;border-radius:12px;background:rgba(255,255,255,.97);
  font-family:var(--ios,-apple-system,BlinkMacSystemFont,'Helvetica Neue',Arial,sans-serif);font-weight:600;line-height:1.3;
  color:#1C1C1E;text-align:center;resize:none;overflow:hidden;outline:none;
  box-shadow:0 0 0 4px rgba(10,132,255,.25),0 8px 24px rgba(0,0,0,.22);caret-color:#0A84FF}
#pzEditorTexto::placeholder{color:#8E8E93;font-weight:500}
.glassItem.peligro,.glassItem.peligro .glassCheck{color:#C4392D}
.glassItem[data-acc] .glassCheck{color:var(--gris2)}
.glassItem.peligro .glassCheck{color:#C4392D}

/* ---------- Celular (≤700px): barra de pestañas abajo estilo iPhone, sin menú lateral ---------- */
#barraTabs,.bmCat,.bmAtras{display:none}
@media (max-width:700px){
  body.conBarra #barraLateral,body.conBarra #veloLat,body.conBarra .bmMenu,body.conBarra #pieApp{display:none}
  body.conBarra #barraMovil{justify-content:space-between;min-height:54px;padding:6px 12px 6px 14px}
  body.conBarra.enMas .bmEscudo,body.conBarra.enMas #bmClub{display:none}
  body.conBarra.enMas .bmAtras{display:flex}
  body.conBarra #bmClub{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .bmAtras{align-items:center;gap:0;min-height:44px;margin-left:-8px;padding:0 10px 0 2px;border:none;background:none;
    color:var(--verde);font-family:var(--ios);font-size:17px;flex:1;justify-content:flex-start}
  .bmCat{display:flex;align-items:center;gap:6px;min-height:40px;max-width:52%;padding:0 12px 0 14px;border:none;border-radius:20px;background:#fff;
    box-shadow:0 1px 2px rgba(0,0,0,.08);font-family:var(--ios);font-size:15px;font-weight:600;color:#1C1C1E;flex:none}
  .bmCat[hidden]{display:none}
  .bmCat span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .bmCat svg{color:var(--gris2);flex:none}
  body.conBarra main{padding-bottom:120px}
  #barraTabs{display:flex;gap:2px;position:fixed;left:12px;right:12px;bottom:calc(14px + env(safe-area-inset-bottom));z-index:38;padding:5px;border-radius:32px;
    background:linear-gradient(180deg,rgba(255,255,255,.84),rgba(255,255,255,.68));border:1px solid rgba(255,255,255,.9);
    box-shadow:0 12px 30px -8px rgba(0,0,0,.22),0 1px 3px rgba(0,0,0,.06),inset 0 1px 0 rgba(255,255,255,.95);
    -webkit-backdrop-filter:blur(30px) saturate(160%);backdrop-filter:blur(30px) saturate(160%);font-family:var(--ios)}
  #barraTabs button{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:54px;border:none;border-radius:27px;
    background:transparent;color:#3C3C43;font-family:inherit;font-size:11px;font-weight:500;transition:background .2s,color .2s}
  #barraTabs button[hidden]{display:none}
  #barraTabs button.on{background:rgba(0,27,57,.1);color:var(--verde);font-weight:600}
  #barraTabs button.on svg{stroke-width:2.1}
  #barraTabs button:active{transform:scale(.94)}
}
@media (max-width:700px) and (prefers-reduced-transparency:reduce){#barraTabs{background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none}}

/* Más (estilo Ajustes) y Pizarras del día */
.masFila,.pzdFila{display:flex;align-items:center;gap:12px;width:100%;min-height:50px;padding:0 14px;border:none;background:#fff;
  font-family:var(--ios);color:#1C1C1E;text-align:left;cursor:pointer;position:relative}
.masFila+.masFila::before,.pzdFila+.pzdFila::before{content:"";position:absolute;top:0;left:56px;right:0;height:1px;background:var(--sep)}
.pzdFila+.pzdFila::before{left:102px}
.masFila:active,.pzdFila:active{background:#EFEFF1}
.masIco{width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex:none;color:#fff}
.masIco svg{width:18px;height:18px;stroke-width:2}
.masTxt{flex:1;font-size:17px}
.masChev{color:#C4C4C7;flex:none}
.masCuenta{display:flex;align-items:center;gap:12px;padding:12px 14px}
.masAvatar{width:50px;height:50px;border-radius:25px;background:#2F7FC1;color:#FFFFFF;display:flex;align-items:center;justify-content:center;font-family:var(--ios);font-size:17px;font-weight:700;flex:none}
.masCuentaTxt{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px;font-family:var(--ios)}
.masCuentaTxt b{font-size:17px;font-weight:600}
.masCuentaTxt span{font-size:15px;color:var(--gris2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.masSalir{min-height:36px;padding:0 12px;border:none;border-radius:18px;background:rgba(179,64,47,.1);color:#B3402F;font-family:var(--ios);font-size:15px;font-weight:600;flex:none}
.pzdFila{min-height:76px;padding:10px 14px}
.pzdMini{width:76px;height:52px;border-radius:9px;object-fit:cover;background:#2C9256;flex:none}
.pzdTxt{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px;font-family:var(--ios)}
.pzdHora{font-size:13px;font-weight:600;color:var(--verde)}
.pzdTxt b{font-size:17px;font-weight:600}
.pzdTxt>span:last-child{font-size:15px;color:var(--gris2)}

/* ---------- Celular · Plan del día ---------- */
.pdAccCel,.tiraSem{display:none}
@media (max-width:700px){
  body.conBarra .pdHead{flex-wrap:nowrap;align-items:flex-start;margin:0 0 14px;position:relative}
  body.conBarra .pdHead:has(.pdAccCel) .pdHerr{display:none}
  body.conBarra .pdTitulo h2.mod{font-size:34px}
  body.conBarra .pdSubt{font-size:15px}
  .pdAccCel{display:flex;gap:8px;order:2;flex:none;padding-top:4px}
  .btnCirc{width:42px;height:42px;border:none;border-radius:21px;background:#fff;color:var(--verde);box-shadow:0 1px 3px rgba(0,0,0,.1);
    display:flex;align-items:center;justify-content:center;cursor:pointer}
  .btnCirc.lleno{background:var(--verde);color:#fff}
  .btnCirc:active{transform:scale(.92)}

  .tiraSem{display:block;margin:0 0 18px}
  .tsCab{display:flex;align-items:center;justify-content:space-between;padding:0 4px 8px 6px;font-family:var(--ios)}
  .tsCab b{font-size:17px;font-weight:700;color:#1C1C1E}
  .tsNav{display:flex;align-items:center;gap:2px}
  .tsNav button{min-width:40px;min-height:38px;border:none;border-radius:19px;background:transparent;color:var(--verde);
    font-family:var(--ios);font-size:15px;font-weight:600;display:flex;align-items:center;justify-content:center;padding:0 8px}
  .tsNav button:active{background:rgba(0,27,57,.1)}
  .tsDias{display:flex;gap:2px;padding:4px;border-radius:18px;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.05)}
  .tsDia{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:7px 0 7px;border:none;border-radius:14px;background:transparent;
    font-family:var(--ios);cursor:pointer;min-width:0}
  .tsDia span{font-size:12px;font-weight:600;color:var(--gris2)}
  .tsDia b{font-size:20px;font-weight:500;color:#1C1C1E;line-height:1.1}
  .tsDia i{width:5px;height:5px;border-radius:3px}
  .tsDia.hoy b{color:var(--verde);font-weight:700}
  .tsDia.on{background:var(--verde)}
  .tsDia.on span{color:rgba(255,255,255,.75)}
  .tsDia.on b{color:#fff;font-weight:700}
  .tsDia.on i{background:rgba(255,255,255,.7)!important}

  body.conBarra .planColIzq{order:1}
  body.conBarra .pdSesion{order:2}
  body.conBarra .pdNoAptos{order:3}
  body.conBarra .pdVista{order:4}
  body.conBarra .pdReusar{order:5}

  body.conBarra .agendaEd .filaAg{grid-template-columns:auto minmax(0,1fr) 44px;gap:10px 8px;padding:14px 12px 16px 14px}
  body.conBarra .agendaEd .filaAg .campos{display:contents}
  body.conBarra .agendaEd .filaAg .horaCol{grid-column:1;grid-row:1;flex-direction:row;align-items:center;gap:6px}
  body.conBarra .agendaEd .filaAg input.h{width:84px;min-height:40px;font-size:17px}
  body.conBarra .agendaEd .filaAg .btnReloj{width:40px;height:40px;border-radius:20px}
  body.conBarra .agendaEd .filaAg .del{grid-column:3;grid-row:1;justify-self:end;margin:0}
  body.conBarra .agendaEd .filaAg .agAct,body.conBarra .agendaEd .filaAg .agSub,
  body.conBarra .agendaEd .filaAg .agCt,body.conBarra .agendaEd .filaAg .imgRow,body.conBarra .agendaEd .filaAg .agCont{grid-column:1/-1}
  body.conBarra .agendaEd .agSub{grid-template-columns:1fr 1fr}
  body.conBarra .agendaEd .ctBox{flex:1 1 100%}
  body.conBarra .agendaEd .selSes{flex:1 1 100%}
  body.conBarra .agendaEd .imgRow{display:flex;flex-wrap:wrap}
  body.conBarra .agendaEd .imgAdd{flex:1 1 auto;justify-content:center}

  body.conBarra .pdSesion .pdFilaTxt b{white-space:nowrap;font-size:16px}
  body.conBarra .pdSesion .selEnt,body.conBarra .pdSesion .selMd{max-width:58%;font-size:15px}
  body.conBarra .pdPieSec{font-size:13px}
}

/* ---------- Celular · Semana ---------- */
.soloCel{display:none}
@media (max-width:700px){
  body.conBarra .soloCel{display:inline}
  body.conBarra .soloEsc{display:none}
  body.conBarra .semNavCel{margin-bottom:12px}
  body.conBarra .semNavCel .tsCab{padding-bottom:0}

  body.conBarra .semPartido .meta{display:flex;flex-direction:column;border-radius:14px}
  body.conBarra .semPartido .meta label{flex-direction:row;align-items:center;gap:12px;padding:6px 8px 6px 16px;border-right:none;min-height:52px}
  body.conBarra .semPartido .meta label+label{border-top:1px solid var(--sep)}
  body.conBarra .semPartido .meta label>span{flex:none;width:112px;font-size:15px;color:#1C1C1E;font-weight:500;text-transform:none;letter-spacing:normal}
  body.conBarra .semPartido .meta input,body.conBarra .semPartido .meta select{flex:1;min-width:0;font-size:16px}

  body.conBarra .semTablero .tablero{background:transparent;box-shadow:none;padding:0;overflow:visible}
  body.conBarra .semTablero .cols{display:flex;flex-direction:column;gap:10px;min-width:0}
  body.conBarra .semTablero .dia{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 12px;align-items:center;padding:12px;
    background:#fff;border-radius:16px;box-shadow:0 1px 2px rgba(0,0,0,.05)}
  body.conBarra .semTablero .dia.libreCol{background:#F7F6F2}
  body.conBarra .semTablero .dia.esHoy{box-shadow:0 0 0 2px var(--verde)}
  body.conBarra .semTablero .dia .cab{grid-column:1;grid-row:1;padding:0;width:52px;border:none}
  body.conBarra .semTablero .cabDia{font-size:12px;text-transform:uppercase}
  body.conBarra .semTablero .cabDia{max-width:52px;overflow:hidden;white-space:nowrap}
  body.conBarra .semTablero .dia .dualSel{grid-column:2;grid-row:1;flex-direction:row;padding:0}
  body.conBarra .semTablero .dia .selEnt{flex:1 1 auto;min-width:0}
  body.conBarra .semTablero .dia .selMd{flex:0 0 82px}
  body.conBarra .semTablero .dia .tocado{display:none}
  body.conBarra .semTablero .diaLista{grid-column:1/-1;padding:0;display:flex;flex-direction:column;gap:6px}
  body.conBarra .semTablero .sesion{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:baseline;gap:0 8px;font-size:15px;padding:8px 10px}
  body.conBarra .semTablero .sesion .sh{grid-column:1;grid-row:1;font-size:15px;margin:0}
  body.conBarra .semTablero .sesion .sa{grid-column:2;grid-row:1;padding:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  body.conBarra .semTablero .sesion .sct{grid-column:3;grid-row:1;font-size:12px;opacity:.85;max-width:84px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
  body.conBarra .semTablero .sesion .sdet{display:none}
  body.conBarra .semTablero .btnDia{grid-column:1/-1;justify-self:end;margin:0;min-height:38px;padding:0 12px}
  body.conBarra .semTablero .leyenda,body.conBarra .semTablero .pdPieSec{display:none}
}

/* ---------- Celular · pantallas con tabla (Plantel, Carga, Convocatoria, Tecnificación, Citas) ---------- */
@media (max-width:700px){
  body.conBarra .pdHead{flex-wrap:wrap}
  body.conBarra .plTabla td.plPos input,body.conBarra .plTabla select.estadoJug{min-width:0}
  body.conBarra .pdHead .pdHerr{width:100%;gap:8px}
  body.conBarra .pdHerr .fechaNav.pdNav{flex:1 1 100%;justify-content:space-between}
  body.conBarra .pdHerr .fechaNav.pdNav input[type=date]{flex:1;min-width:0}
  body.conBarra .pdHerr>.btnP,body.conBarra .pdHerr>.btnS{flex:1 1 0;min-height:44px;white-space:nowrap}
  body.conBarra .tScroll{overflow:visible}
  body.conBarra table.ed.plTabla,body.conBarra table.ed.cgTabla,body.conBarra table.ed.cvTabla{display:block;min-width:0;width:100%}
  body.conBarra .plTabla thead,body.conBarra .cgTabla thead,body.conBarra .cvTabla thead{display:none}
  body.conBarra .plTabla tbody,body.conBarra .cgTabla tbody,body.conBarra .cvTabla tbody{display:block}
  body.conBarra .plTabla td,body.conBarra .cgTabla td,body.conBarra .cvTabla td{display:block;padding:0!important;border:none!important;min-width:0;width:auto!important}

  /* Plantel: tarjeta por jugador */
  body.conBarra .plTabla tr{display:grid;grid-template-columns:44px minmax(0,1fr) minmax(0,1fr) 40px;gap:8px;align-items:center;padding:12px 10px 12px 12px}
  body.conBarra .plTabla tr+tr{border-top:1px solid var(--sep)}
  body.conBarra .plTabla .plDorsal{grid-column:1;grid-row:1}
  body.conBarra .plTabla td:nth-child(2){grid-column:2/4;grid-row:1}
  body.conBarra .plTabla .plDel{grid-column:4;grid-row:1}
  body.conBarra .plTabla .plPos{grid-column:2;grid-row:2}
  body.conBarra .plTabla .plEstado{grid-column:3;grid-row:2}
  body.conBarra .plTabla .plMotivo{grid-column:2;grid-row:3}
  body.conBarra .plTabla .plRetorno{grid-column:3;grid-row:3}
  body.conBarra .plTabla .plEval{grid-column:4;grid-row:2;justify-self:end}
  body.conBarra .plTabla .plEval .plLink{width:40px;height:40px;min-height:40px;padding:0;border-radius:20px;justify-content:center;font-size:0;gap:0}
  body.conBarra .plTabla .plEval .plLink svg{width:19px;height:19px}
  body.conBarra .plTabla tr:has(.plEstado option[value="apto"]:checked) .plMotivo,
  body.conBarra .plTabla tr:has(.plEstado option[value="apto"]:checked) .plRetorno{display:none}
  body.conBarra .plTabla input.plNombre{font-size:17px;font-weight:600}
  body.conBarra .plTabla input,body.conBarra .plTabla select{width:100%;min-height:40px;font-size:15px;background:#F6F6F4;border-radius:10px}
  body.conBarra .plTabla .plDorsal input{background:rgba(0,27,57,.08)}

  /* Carga: jugador arriba, los 5 números en fila con su nombre */
  body.conBarra .cgTabla tr{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;padding:12px}
  body.conBarra .cgTabla tr+tr{border-top:1px solid var(--sep)}
  body.conBarra .cgTabla td:first-child{grid-column:1/-1}
  body.conBarra .cgTabla td.cgNum{display:flex;flex-direction:column;align-items:stretch;gap:3px}
  body.conBarra .cgTabla td.cgNum::before{font-family:var(--ios);font-size:12px;font-weight:600;color:var(--gris2);text-align:center}
  body.conBarra .cgTabla td:nth-child(2)::before{content:"Sueño"}
  body.conBarra .cgTabla td:nth-child(3)::before{content:"Fatiga"}
  body.conBarra .cgTabla td:nth-child(4)::before{content:"Dolor"}
  body.conBarra .cgTabla td:nth-child(5)::before{content:"RPE"}
  body.conBarra .cgTabla td:nth-child(6)::before{content:"Min."}
  body.conBarra .cgTabla td.cgNum input{width:100%;min-width:0;min-height:44px;font-size:17px;padding:0}
  body.conBarra .cgTabla td.cgFin{border:none}

  /* Convocatoria y Tecnificación: fila tocable de una línea */
  body.conBarra .cvTabla tr{display:grid;grid-template-columns:40px 34px minmax(0,1fr) auto;align-items:center;gap:6px;min-height:52px;padding:0 14px 0 10px}
  body.conBarra .cvTabla tr+tr{border-top:1px solid var(--sep)}
  body.conBarra .cvTabla .cvNombre{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:16px}
  body.conBarra .cvTabla .cvPos label{font-size:15px;color:var(--gris2)}
  body.conBarra .cvTabla td label{display:block;padding:14px 0}
  body.conBarra .cvTabla tr.cvOn{background:rgba(0,27,57,.05)}
  body.conBarra .cvTabla tr.cvOn td{background:transparent}

  /* Citas: las 4 áreas en 2×2 */
  body.conBarra .segArea{display:grid;grid-template-columns:1fr 1fr;overflow:visible}
  body.conBarra .segArea .areaBtn b{font-size:15px}
  body.conBarra .citasGrid{display:flex;flex-direction:column;gap:22px}
  body.conBarra .citasGrid .sidePanelCitas{order:-1}
}

/* ---------- Celular · pizarra como visor (ver y reproducir; girando el celular vuelve el editor) ---------- */
#modalPizarra .pzVisorCab,#modalPizarra .pzVisorTitulo,#modalPizarra .pzVisorCtl{display:none}
@media (max-width:700px){
  body.conBarra #modalPizarra.pzVisor .pzTop,body.conBarra #modalPizarra.pzVisor .pzRiel,
  body.conBarra #modalPizarra.pzVisor .pzFlotante,body.conBarra #modalPizarra.pzVisor .pzBarraInf{display:none!important}
  body.conBarra #modalPizarra.pzVisor .mBoxPizarra{display:flex;flex-direction:column;overflow-y:auto}
  body.conBarra #modalPizarra.pzVisor .pzVisorCab{display:flex;align-items:center;justify-content:space-between;padding:calc(10px + env(safe-area-inset-top)) 12px 0}
  body.conBarra #modalPizarra.pzVisor .pzVisorCab .btnCirc[hidden]{display:none}
  .pzVisorAtras{display:flex;align-items:center;min-height:44px;padding:0 10px 0 0;border:none;background:none;color:var(--verde);font-family:var(--ios);font-size:17px}
  body.conBarra #modalPizarra.pzVisor .pzVisorTitulo{display:block;padding:6px 20px 16px;font-family:var(--ios)}
  #pzVisorTit{margin:0;font-size:28px;font-weight:700;letter-spacing:-.02em;line-height:1.1;color:#1C1C1E}
  #pzVisorSub{margin-top:3px;font-size:15px;color:var(--gris2)}
  body.conBarra #modalPizarra.pzVisor .pzEscena{flex:none;display:block}
  body.conBarra #modalPizarra.pzVisor .pzCancha{padding:0 16px;width:auto}
  body.conBarra #modalPizarra.pzVisor #pizarraLienzo{width:100%;height:auto;aspect-ratio:700/450;border-radius:16px}
  body.conBarra #modalPizarra.pzVisor #pizarraSVG{width:100%;height:100%;pointer-events:none}
  body.conBarra #modalPizarra.pzVisor .pzVisorCtl{display:block;padding:18px 16px 30px;font-family:var(--ios)}
  .pzvBarra{display:flex;align-items:center;gap:12px;padding:8px 14px 8px 8px;border-radius:30px;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.08)}
  .pzvPlay{width:46px;height:46px;flex:none;border:none;border-radius:23px;background:var(--verde);color:#fff;display:flex;align-items:center;justify-content:center}
  .pzvPlay:active{transform:scale(.92)}
  .pzvPasos{flex:1;display:flex;gap:6px;padding-left:6px}
  .pzvPaso{flex:1;height:22px;border:none;background:none;padding:8px 0;position:relative}
  .pzvPaso::before{content:"";position:absolute;left:0;right:0;top:8px;height:6px;border-radius:3px;background:rgba(118,118,128,.2)}
  .pzvPaso.on::before{background:var(--verde)}
  .pzvN{font-size:15px;font-weight:600;color:var(--gris2);white-space:nowrap}
  .pzvNombre{margin:12px 4px 0;font-size:17px;font-weight:600;color:#1C1C1E;text-align:center}
  .pzvAyuda{margin:10px 0 0;font-size:15px;color:var(--gris2);text-align:center}
}

/* ---------- Pizarra · editor en pantallas angostas (iPad vertical, ventana chica, celular acostado) ---------- */
/* la cancha siempre en su proporción real: sin franjas verdes de relleno arriba/abajo */
body.conBarra #modalPizarra:not(.pzVisor) .pzCancha{container-type:size}
body.conBarra #modalPizarra:not(.pzVisor) #pizarraLienzo{width:min(100cqw, 100cqh * 700 / 450);height:auto;aspect-ratio:700/450;flex:none;background:transparent}
body.conBarra #modalPizarra:not(.pzVisor) #pizarraSVG{width:100%;height:100%;display:block}
body.conBarra #modalPizarra .pzRiel{scrollbar-width:none}
body.conBarra #modalPizarra .pzRiel::-webkit-scrollbar{display:none}
@media (max-width:1023px){
  /* barra de arriba en UNA fila: Cancelar y Guardar fijos, colores y trazos se deslizan */
  body.conBarra #modalPizarra .pzTop{flex-wrap:nowrap;gap:10px;min-height:56px;padding:6px 10px}
  body.conBarra #modalPizarra .pzTop .pzColores{flex:1 1 auto;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;gap:8px;padding:4px 2px;
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 10px,#000 calc(100% - 18px),transparent);mask-image:linear-gradient(90deg,transparent,#000 10px,#000 calc(100% - 18px),transparent)}
  body.conBarra #modalPizarra .pzTop .pzColores::-webkit-scrollbar{display:none}
  body.conBarra #modalPizarra .pzTop .pzColores>*{flex:none}
  body.conBarra #modalPizarra .pzLineaBtn{white-space:nowrap}
  body.conBarra #modalPizarra .pzBtnGuardar{padding:0 18px}
  /* dock de UNA fila que se desliza */
  body.conBarra #modalPizarra .pzBarraInf{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;scrollbar-width:none;max-width:calc(100vw - 16px);margin:0 8px 8px}
  body.conBarra #modalPizarra .pzBarraInf::-webkit-scrollbar{display:none}
  body.conBarra #modalPizarra .pzBarraInf>*,body.conBarra #modalPizarra .pzFilaIconos>*,body.conBarra #modalPizarra .pzPasosCont>*{flex:none}
  body.conBarra #modalPizarra .pzFilaIconos,body.conBarra #modalPizarra .pzPasosFila,body.conBarra #modalPizarra .pzPasoNom{flex-wrap:nowrap}
  body.conBarra #modalPizarra .pzIco{min-width:56px;min-height:50px}
  body.conBarra #modalPizarra .pzCancha{padding:8px 0}
}
/* celular acostado / poca altura: todo más compacto para que la cancha tenga lugar */
@media (max-height:520px){
  body.conBarra #modalPizarra .pzTop{min-height:48px;padding:4px 10px}
  body.conBarra #modalPizarra .pzSwatch{width:26px;height:26px}
  body.conBarra #modalPizarra .pzLineaBtn{min-height:32px}
  body.conBarra #modalPizarra .pzBtnCancelar,body.conBarra #modalPizarra .pzBtnGuardar{min-height:38px}
  body.conBarra #modalPizarra .pzRiel{margin:6px;padding:3px}
  body.conBarra #modalPizarra .pzRielBtn{width:52px;min-height:44px}
  body.conBarra #modalPizarra .pzRielTxt{font-size:10px}
  body.conBarra #modalPizarra .pzBarraInf{padding:3px 8px;margin:0 8px 6px}
  body.conBarra #modalPizarra .pzIco{min-height:42px;padding:2px 4px}
  body.conBarra #modalPizarra .pzPaso{width:34px;height:34px}
  body.conBarra #modalPizarra .pzPasoNom .pzLineaBtn{min-height:34px}
  body.conBarra #modalPizarra .pzCancha{padding:4px 0}
}

/* ---------- Pizarra · panel con tiles iguales en todas las secciones (pieza real sobre césped + nombre) ---------- */
body.conBarra #modalPizarra .pzTiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%}
body.conBarra #modalPizarra .pzTiles.dos{grid-template-columns:repeat(2,minmax(0,1fr))}
body.conBarra #modalPizarra .pzFlotante .pzHerr button.pzTile{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:6px;
  min-height:0;padding:5px 5px 8px;border-radius:14px;font-family:var(--ios);font-size:13px;font-weight:600;line-height:1.2;text-align:center;white-space:normal}
body.conBarra #modalPizarra .pzMini{display:block;height:46px;border-radius:10px;overflow:hidden;
  background:linear-gradient(180deg,#34A262,#2A8C52);box-shadow:inset 0 0 0 1px rgba(0,0,0,.06)}
body.conBarra #modalPizarra .pzTiles.dos .pzMini{height:54px}
body.conBarra #modalPizarra .pzMini svg{display:block;width:100%;height:100%}
body.conBarra #modalPizarra .pzTileTxt{display:block;padding:0 2px}
body.conBarra #modalPizarra .pzFlotante .pzHerr button.pzTile.on{background:var(--verde);color:#fff}
body.conBarra #modalPizarra .pzFlotante .pzHerr button.pzTile.on .pzMini{box-shadow:inset 0 0 0 2px rgba(255,255,255,.85)}
body.conBarra #modalPizarra .pzHerr>.pzGrupoTit+.pzTiles,body.conBarra #modalPizarra .pzHerr>.pzAncho+.pzGrupoTit{margin-top:0}

/* fondo claro con manchas suaves del club, como un fondo de pantalla de iPadOS: le da al vidrio algo que refractar */
body.conBarra #modalPizarra:not(.pzVisor) .pzEscena{background:
  radial-gradient(55% 60% at 12% 28%, rgba(0,27,57,.10), transparent 72%),
  radial-gradient(50% 55% at 90% 80%, rgba(47,127,193,.18), transparent 70%),
  radial-gradient(40% 45% at 78% 12%, rgba(61,106,158,.14), transparent 70%),
  radial-gradient(45% 50% at 30% 95%, rgba(47,127,193,.10), transparent 70%),
  #F3F5F8}
body.conBarra #modalPizarra .pzFlotanteDer .pzLineaBtn{display:inline-flex;align-items:center;justify-content:center;gap:7px}
body.conBarra #modalPizarra .pzChevron{display:inline-flex;transition:transform .2s}
body.conBarra #modalPizarra .pzFlotanteDer select{width:100%;min-height:44px;border:1px solid rgba(255,255,255,.7);border-radius:12px;background:rgba(255,255,255,.58);
  font-family:var(--ios);font-size:15px;font-weight:500;color:#1C1C1E;padding:0 12px;text-align:left;text-align-last:left}
body.conBarra #modalPizarra .pzFlotanteDer .pzBloqueCuerpo{display:flex;flex-direction:column;gap:8px}
body.conBarra #modalPizarra .pzFlotanteDer .pzBloqueCuerpo[hidden]{display:none}
body.conBarra #modalPizarra .pzFlotanteDer .pzFila2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
/* Plantillas e Imagen: sin plegables (el título ya está en la cabecera), acción principal + lista / tarjetas de formato */
body.conBarra #modalPizarra .pzFlotanteDer .pzBloqueTit{display:none}
body.conBarra #modalPizarra .pzFlotanteDer .pzBloque{border:none;background:none;padding:0;margin:0}
body.conBarra #modalPizarra .pzBtnPrincipal{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:48px;border:none;border-radius:14px;
  background:var(--verde);color:#fff;font-family:var(--ios);font-size:16px;font-weight:600;cursor:pointer;box-shadow:0 4px 12px -4px rgba(0,27,57,.5)}
body.conBarra #modalPizarra .pzBtnPrincipal:active{transform:scale(.98)}
body.conBarra #modalPizarra .pzNotaPanel{margin:0;font-size:13px;line-height:1.4;color:#4A4A4F}
body.conBarra #modalPizarra .pzLista{display:flex;flex-direction:column;border-radius:14px;overflow:hidden;background:rgba(255,255,255,.62);border:1px solid rgba(255,255,255,.75)}
body.conBarra #modalPizarra .pzLista .pzNotaPanel{padding:12px 14px}
body.conBarra #modalPizarra .pzListaFila{display:flex;align-items:center}
body.conBarra #modalPizarra .pzListaFila+.pzListaFila{border-top:1px solid rgba(60,60,67,.1)}
body.conBarra #modalPizarra .pzFlotanteDer .pzListaAbrir{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:1px;min-height:54px;padding:8px 14px;
  border:none;background:transparent;box-shadow:none;border-radius:0;text-align:left;font-family:var(--ios);cursor:pointer}
body.conBarra #modalPizarra .pzListaAbrir b{font-size:16px;font-weight:600;color:#1C1C1E;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.conBarra #modalPizarra .pzListaAbrir span{font-size:13px;color:var(--gris2)}
body.conBarra #modalPizarra .pzListaAbrir:active{background:rgba(0,27,57,.08)}
body.conBarra #modalPizarra .pzFlotanteDer .pzListaBorrar{flex:none;width:44px;height:44px;margin-right:6px;border:none;border-radius:22px;background:transparent;box-shadow:none;color:#B3402F;
  display:flex;align-items:center;justify-content:center;cursor:pointer}
body.conBarra #modalPizarra .pzListaBorrar:active{background:rgba(179,64,47,.1)}
body.conBarra #modalPizarra .pzFormatos{display:grid;grid-template-columns:1fr 1fr;gap:8px}
body.conBarra #modalPizarra .pzFormato{position:relative;display:flex;flex-direction:column;gap:6px;padding:6px 6px 10px;border-radius:14px;cursor:pointer;
  background:rgba(255,255,255,.58);border:1px solid rgba(255,255,255,.7);font-family:var(--ios);font-size:15px;font-weight:600;color:#1C1C1E;text-align:center}
body.conBarra #modalPizarra .pzFormato input{position:absolute;opacity:0;pointer-events:none}
body.conBarra #modalPizarra .pzFormatoIco{display:block;height:64px;border-radius:10px;background:rgba(118,118,128,.1)}
body.conBarra #modalPizarra .pzFormatoIco svg{display:block;width:100%;height:100%}
body.conBarra #modalPizarra .pzFormato:has(input:checked){background:#fff;box-shadow:0 0 0 2px var(--verde)}
body.conBarra #modalPizarra .pzFormato:has(input:focus-visible){outline:2px solid var(--verde);outline-offset:2px}

/* Rondos: grupos desplegables (uno abierto a la vez, <details name>) con filas de texto: nombre + qué es */
body.conBarra #modalPizarra .pzCatRondos{display:flex;flex-direction:column;gap:8px}
body.conBarra #modalPizarra .pzRonGrupo{border-radius:14px;background:rgba(255,255,255,.58);border:1px solid rgba(255,255,255,.75);overflow:hidden}
body.conBarra #modalPizarra .pzRonGrupo summary{display:flex;align-items:center;gap:8px;min-height:50px;padding:0 14px;cursor:pointer;list-style:none;
  font-family:var(--ios);font-size:16px;font-weight:600;color:#1C1C1E}
body.conBarra #modalPizarra .pzRonGrupo summary::-webkit-details-marker{display:none}
body.conBarra #modalPizarra .pzRonGrupo summary span{flex:1}
body.conBarra #modalPizarra .pzRonGrupo summary em{font-style:normal;font-size:15px;font-weight:500;color:var(--gris2)}
body.conBarra #modalPizarra .pzRonChev{color:#A0A0A6;transition:transform .2s}
body.conBarra #modalPizarra .pzRonGrupo[open] .pzRonChev{transform:rotate(90deg)}
body.conBarra #modalPizarra .pzRonGrupo[open] summary{border-bottom:1px solid rgba(60,60,67,.1)}
body.conBarra #modalPizarra .pzRonLista{display:flex;flex-direction:column}
body.conBarra #modalPizarra .pzFlotante .pzHerr button.pzRonFila{display:flex;align-items:center;gap:10px;width:100%;min-height:58px;padding:8px 10px 8px 14px;
  border:none;border-radius:0;background:transparent;box-shadow:none;text-align:left;font-family:var(--ios)}
body.conBarra #modalPizarra .pzRonFila+.pzRonFila{border-top:1px solid rgba(60,60,67,.08)}
body.conBarra #modalPizarra .pzFlotante .pzHerr button.pzRonFila:hover{background:rgba(255,255,255,.6)}
body.conBarra #modalPizarra .pzFlotante .pzHerr button.pzRonFila:active{background:rgba(0,27,57,.08);transform:none}
body.conBarra #modalPizarra .pzRonTxt{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
body.conBarra #modalPizarra .pzRonTxt b{font-size:16px;font-weight:600;color:#1C1C1E}
body.conBarra #modalPizarra .pzRonTxt span{font-size:13px;line-height:1.3;color:var(--gris2);font-weight:400}
body.conBarra #modalPizarra .pzRonMas{width:30px;height:30px;flex:none;border-radius:15px;background:rgba(0,27,57,.1);color:var(--verde);display:flex;align-items:center;justify-content:center}
body.conBarra #modalPizarra .pzRonChk{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-top:1px solid rgba(60,60,67,.1);cursor:pointer;font-family:var(--ios)}
body.conBarra #modalPizarra .pzRonChk input{width:20px;height:20px;margin:1px 0 0;flex:none;accent-color:var(--verde)}
body.conBarra #modalPizarra .pzRonChk>span{display:flex;flex-direction:column;gap:2px}
body.conBarra #modalPizarra .pzRonChk b{font-size:15px;font-weight:600;color:#1C1C1E}
body.conBarra #modalPizarra .pzRonChk span span{font-size:13px;color:var(--gris2);line-height:1.3}
body.conBarra #modalPizarra .pzCatRondos .pzNotaRondo{margin:4px 2px 0;font-size:13px;line-height:1.4}

/* ---------- Pizarra · cancha a pantalla completa + barra flotante con popovers (etapa 1) ---------- */
body.conBarra #modalPizarra .pzTop{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:0;padding:10px 14px 4px;
  border:none;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;flex-wrap:nowrap}
body.conBarra #modalPizarra .pzTop .pzBtnCancelar,body.conBarra #modalPizarra .pzTopGrupo,body.conBarra #modalPizarra .pzTop #pzPasos,body.conBarra #modalPizarra .pzBarraFlot{
  background:linear-gradient(180deg,rgba(255,255,255,.86),rgba(255,255,255,.7));border:1px solid rgba(255,255,255,.92);
  box-shadow:0 10px 26px -8px rgba(0,0,0,.2),0 1px 3px rgba(0,0,0,.06);-webkit-backdrop-filter:blur(28px) saturate(140%);backdrop-filter:blur(28px) saturate(140%)}
body.conBarra #modalPizarra .pzTop .pzBtnCancelar{min-height:44px;padding:0 18px;border-radius:22px;font-size:17px;font-weight:600}
body.conBarra #modalPizarra .pzTop #pzPasos{display:flex;align-items:center;gap:8px;padding:4px 6px;border-radius:26px;min-width:0;overflow-x:auto;scrollbar-width:none}
body.conBarra #modalPizarra .pzTop #pzPasos::-webkit-scrollbar{display:none}
body.conBarra #modalPizarra .pzTop .pzPasosFila,body.conBarra #modalPizarra .pzTop .pzPasoNom{flex-wrap:nowrap;margin:0}
body.conBarra #modalPizarra .pzTop .pzPasosFila>*,body.conBarra #modalPizarra .pzTop .pzPasoNom>*{flex:none}
body.conBarra #modalPizarra .pzTopDer{display:flex;align-items:center;gap:10px;flex:none}
body.conBarra #modalPizarra .pzTopGrupo{display:flex;padding:3px;border-radius:24px}
body.conBarra #modalPizarra .pzTopIco{width:42px;height:40px;border:none;border-radius:20px;background:transparent;color:var(--verde);display:flex;align-items:center;justify-content:center;cursor:pointer}
body.conBarra #modalPizarra .pzTopIco:active{background:rgba(0,27,57,.1)}

body.conBarra #modalPizarra:not(.pzVisor) .pzEscena{position:relative}
body.conBarra #modalPizarra .pzBarraFlot{position:absolute;z-index:6;top:10px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:2px;
  padding:5px;border-radius:26px;max-width:calc(100% - 24px);overflow-x:auto;scrollbar-width:none}
body.conBarra #modalPizarra .pzBarraFlot::-webkit-scrollbar{display:none}
body.conBarra #modalPizarra .pzFlotBtn{flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-width:56px;height:54px;padding:0 4px;
  border:none;border-radius:20px;background:transparent;color:var(--verde);font-family:var(--ios);cursor:pointer}
body.conBarra #modalPizarra .pzFlotBtn:hover{background:rgba(0,27,57,.06)}
body.conBarra #modalPizarra .pzFlotBtn.on{background:var(--verde);color:#fff}
body.conBarra #modalPizarra .pzFlotBtn:disabled{opacity:.35}
body.conBarra #modalPizarra .pzFlotIco{display:flex;height:24px;align-items:center}
body.conBarra #modalPizarra .pzFlotTxt{font-size:11px;font-weight:600;letter-spacing:0}
body.conBarra #modalPizarra .pzFlotSep{flex:none;width:1px;height:30px;margin:0 4px;background:rgba(60,60,67,.14)}
body.conBarra #modalPizarra .pzColorActual{width:22px;height:22px;border-radius:11px;box-shadow:0 0 0 2px #fff,0 0 0 3px rgba(0,0,0,.18)}
body.conBarra #modalPizarra .pzZoomTxt{flex:none;min-width:44px;text-align:center;font-family:var(--ios);font-size:13px;font-weight:600;color:var(--gris2)}
body.conBarra #modalPizarra #pizarraSVG.pzMoviendo{cursor:grab}

/* la cancha deja lugar arriba para la barra flotante; el riel derecho flota en la esquina */
body.conBarra #modalPizarra:not(.pzVisor) .pzCancha{padding:78px 14px 14px}
body.conBarra #modalPizarra:not(.pzVisor) .pzRielDer{position:absolute;z-index:6;top:10px;right:12px;margin:0;max-height:none}
body.conBarra #modalPizarra:not(.pzVisor) .pzFlotanteDer{top:10px;right:96px;bottom:auto;max-height:calc(100% - 24px)}
/* el panel izquierdo pasa a ser un popover debajo del botón que lo abrió (left lo fija pzUbicarPopover) */
body.conBarra #modalPizarra:not(.pzVisor) .pzFlotanteIzq{top:76px;bottom:auto;width:360px;max-height:calc(100% - 90px);display:flex;flex-direction:column}
body.conBarra #modalPizarra:not(.pzVisor) .pzFlotanteIzq[hidden]{display:none}
body.conBarra #modalPizarra .pzFlotanteIzq .pzFlotanteCuerpo{overflow-y:auto;min-height:0}
body.conBarra #modalPizarra .pzAgrupado .pzCat[data-titulo]::before{content:attr(data-titulo);display:block;width:100%;margin:8px 2px 2px;
  font-family:var(--ios);font-size:13px;font-weight:600;color:#4A4A4F}
body.conBarra #modalPizarra .pzAgrupado .pzCat[data-titulo]:first-of-type::before{margin-top:0}
/* Color y trazo */
body.conBarra #modalPizarra .pzCat[data-cat="color"]{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
body.conBarra #modalPizarra .pzCat[data-cat="color"][hidden]{display:none}
body.conBarra #modalPizarra .pzCat[data-cat="color"] .pzSep{flex-basis:100%;width:100%;height:0;background:none}
body.conBarra #modalPizarra .pzCat[data-cat="color"] .pzLbl{flex-basis:100%}
body.conBarra #modalPizarra .pzCat[data-cat="color"] .pzSwatch{width:34px;height:34px}
/* Editar */
body.conBarra #modalPizarra .pzEditarGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%}
body.conBarra #modalPizarra .pzEditarGrid .pzIco{width:100%;min-width:0;min-height:64px;border-radius:14px;background:rgba(255,255,255,.58);border:1px solid rgba(255,255,255,.7)}
body.conBarra #modalPizarra .pzEditarGrid .pzIco .pzIcoTxt{font-size:13px}
body.conBarra #modalPizarra .pzEditarGrid .pzIco.on{background:var(--verde);color:#fff}
body.conBarra #modalPizarra.pzVisor .pzBarraFlot{display:none}
@media (max-width:1023px){
  body.conBarra #modalPizarra .pzTop .pzBtnCancelar{padding:0 14px}
  body.conBarra #modalPizarra .pzFlotBtn{min-width:50px}
  body.conBarra #modalPizarra:not(.pzVisor) .pzFlotanteIzq{width:320px}
}
@media (max-width:1100px){
  body.conBarra #modalPizarra:not(.pzVisor) .pzRielDer{top:76px}
  body.conBarra #modalPizarra:not(.pzVisor) .pzFlotanteDer{top:76px}
  body.conBarra #modalPizarra .pzFlotBtn{min-width:48px;padding:0 2px}
  body.conBarra #modalPizarra .pzFlotSep{margin:0 2px}
  body.conBarra #modalPizarra .pzZoomTxt{min-width:38px}
}
@media (max-height:520px){
  body.conBarra #modalPizarra .pzTop{padding:6px 10px 2px}
  body.conBarra #modalPizarra .pzBarraFlot{top:6px;padding:3px}
  body.conBarra #modalPizarra .pzFlotBtn{height:40px;min-width:42px}
  body.conBarra #modalPizarra .pzFlotTxt{display:none}
  body.conBarra #modalPizarra:not(.pzVisor) .pzCancha{padding:54px 10px 8px}
  body.conBarra #modalPizarra:not(.pzVisor) .pzRielDer{top:54px}
  body.conBarra #modalPizarra:not(.pzVisor) .pzFlotanteIzq{top:54px;max-height:calc(100% - 62px)}
}

/* ---------- Rondos · terminación fina: segmentado + filas con etiqueta + interruptor iOS ---------- */
body.conBarra #modalPizarra .pzCatRondos{display:flex;flex-direction:column;gap:10px}
body.conBarra #modalPizarra .pzCatRondos[hidden]{display:none}
body.conBarra #modalPizarra .pzRonAyuda{margin:-4px 2px 0;font-family:var(--ios);font-size:13px;color:var(--gris2)}
body.conBarra #modalPizarra .pzRonSeg{display:flex;padding:3px;border-radius:12px;background:rgba(118,118,128,.13)}
body.conBarra #modalPizarra .pzFlotante .pzHerr .pzRonSeg button{flex:1;min-height:34px;padding:0 4px;border:none;border-radius:9px;background:transparent;box-shadow:none;
  font-family:var(--ios);font-size:13px;font-weight:500;color:#1C1C1E}
body.conBarra #modalPizarra .pzFlotante .pzHerr .pzRonSeg button.on{background:#fff;font-weight:600;box-shadow:0 3px 8px rgba(0,0,0,.12),0 0 0 .5px rgba(0,0,0,.04)}
body.conBarra #modalPizarra .pzRonLista{display:flex;flex-direction:column;border-radius:16px;background:rgba(255,255,255,.55);border:1px solid rgba(255,255,255,.75);padding:4px}
body.conBarra #modalPizarra .pzRonLista[hidden]{display:none}
body.conBarra #modalPizarra .pzFlotante .pzHerr button.pzRonFila{position:relative;display:flex;align-items:center;gap:11px;width:100%;min-height:60px;padding:8px 10px 8px 8px;
  border:none;border-radius:12px;background:transparent;box-shadow:none;text-align:left;font-family:var(--ios);transition:background .15s}
body.conBarra #modalPizarra .pzRonFila+.pzRonFila::before{content:"";position:absolute;top:0;left:66px;right:10px;height:1px;background:rgba(60,60,67,.1)}
body.conBarra #modalPizarra .pzFlotante .pzHerr button.pzRonFila:hover{background:rgba(255,255,255,.7)}
body.conBarra #modalPizarra .pzFlotante .pzHerr button.pzRonFila:active{background:rgba(0,27,57,.08);transform:none}
body.conBarra #modalPizarra .pzRonFila:active .pzRonMas{background:var(--verde);color:#fff}
body.conBarra #modalPizarra .pzRonTag{width:48px;height:38px;flex:none;border-radius:11px;background:rgba(0,27,57,.08);color:var(--verde);display:flex;align-items:center;justify-content:center;
  font-size:15px;font-weight:800;letter-spacing:-.02em;white-space:nowrap}
body.conBarra #modalPizarra .pzRonTxt{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
body.conBarra #modalPizarra .pzRonTxt b{font-size:16px;font-weight:600;color:#1C1C1E}
body.conBarra #modalPizarra .pzRonTxt span{font-size:13px;line-height:1.3;color:var(--gris2);font-weight:400}
body.conBarra #modalPizarra .pzRonJug{flex:none;font-size:12px;font-weight:600;color:#8E8E93;white-space:nowrap}
body.conBarra #modalPizarra .pzRonMas{width:28px;height:28px;flex:none;border-radius:14px;background:rgba(0,27,57,.1);color:var(--verde);display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}
body.conBarra #modalPizarra .pzRonSwitch{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.7);cursor:pointer;font-family:var(--ios)}
body.conBarra #modalPizarra .pzRonSwitch[hidden]{display:none}
body.conBarra #modalPizarra .pzRonSwitch>span{flex:1;display:flex;flex-direction:column;gap:2px}
body.conBarra #modalPizarra .pzRonSwitch b{font-size:15px;font-weight:600;color:#1C1C1E}
body.conBarra #modalPizarra .pzRonSwitch>span>span{font-size:13px;line-height:1.3;color:var(--gris2)}
body.conBarra #modalPizarra .pzRonSwitch input{position:absolute;opacity:0;pointer-events:none}
body.conBarra #modalPizarra .pzRonSwitch i{position:relative;width:51px;height:31px;flex:none;border-radius:16px;background:rgba(120,120,128,.32);transition:background .2s}
body.conBarra #modalPizarra .pzRonSwitch i::after{content:"";position:absolute;left:2px;top:2px;width:27px;height:27px;border-radius:14px;background:#fff;box-shadow:0 2px 4px rgba(0,0,0,.2);transition:transform .2s cubic-bezier(.3,.7,.3,1)}
body.conBarra #modalPizarra .pzRonSwitch input:checked+i{background:#34C759}
body.conBarra #modalPizarra .pzRonSwitch input:checked+i::after{transform:translateX(20px)}
body.conBarra #modalPizarra .pzRonSwitch input:focus-visible+i{outline:2px solid var(--verde);outline-offset:2px}

/* aviso "agregado · Deshacer" */
body.conBarra #modalPizarra .pzToast{position:absolute;z-index:8;left:50%;bottom:24px;transform:translateX(-50%);display:flex;align-items:center;gap:10px;padding:8px 8px 8px 12px;border-radius:24px;
  background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(255,255,255,.8));border:1px solid rgba(255,255,255,.95);box-shadow:0 14px 34px -10px rgba(0,0,0,.3),0 1px 3px rgba(0,0,0,.08);
  -webkit-backdrop-filter:blur(26px);backdrop-filter:blur(26px);font-family:var(--ios);font-size:15px;font-weight:600;color:#1C1C1E;white-space:nowrap}
body.conBarra #modalPizarra .pzToast[hidden]{display:none}
body.conBarra #modalPizarra .pzToast.entra{animation:pzToastEntra .35s cubic-bezier(.2,.9,.25,1.1)}
@keyframes pzToastEntra{from{opacity:0;transform:translate(-50%,14px) scale(.96)}}
body.conBarra #modalPizarra .pzToastOk{width:24px;height:24px;border-radius:12px;background:#34C759;display:flex;align-items:center;justify-content:center}
body.conBarra #modalPizarra .pzToast button{min-height:34px;padding:0 14px;border:none;border-radius:17px;background:rgba(0,27,57,.1);color:var(--verde);font:inherit;font-size:15px;cursor:pointer}
@media (prefers-reduced-motion:reduce){body.conBarra #modalPizarra .pzToast.entra{animation:none}}

/* ---------- Propiedades / Plantillas / Imagen: desplegable "Más" en la barra de arriba (ya no tapa la cancha) ---------- */
body.conBarra #modalPizarra .pzMasCont{position:relative}
body.conBarra #modalPizarra .pzTopIco.pzMasBtn{width:auto;gap:6px;padding:0 12px 0 10px;font-family:var(--ios);font-size:15px;font-weight:600;
  background:linear-gradient(180deg,rgba(255,255,255,.86),rgba(255,255,255,.7));border:1px solid rgba(255,255,255,.92);border-radius:22px;height:44px;
  box-shadow:0 10px 26px -8px rgba(0,0,0,.2),0 1px 3px rgba(0,0,0,.06);-webkit-backdrop-filter:blur(28px);backdrop-filter:blur(28px)}
body.conBarra #modalPizarra .pzMasBtn[aria-expanded="true"] .pzMasChev{transform:rotate(180deg)}
body.conBarra #modalPizarra .pzMasChev{transition:transform .2s}
body.conBarra #modalPizarra .pzMasBtn.pzAtencion{animation:pzAvisoIos 1.4s ease-in-out infinite}
body.conBarra #modalPizarra .pzRielDer.pzMasMenu{position:absolute;z-index:20;top:calc(100% + 8px);right:0;left:auto;margin:0;flex-direction:row;gap:4px;padding:6px;max-height:none;
  animation:glassEntra .22s cubic-bezier(.2,.9,.25,1.05);transform-origin:top right}
body.conBarra #modalPizarra .pzRielDer.pzMasMenu[hidden]{display:none}
body.conBarra #modalPizarra:not(.pzVisor) .pzFlotanteDer{top:10px;right:12px;bottom:auto;height:auto;max-height:calc(100% - 24px);display:flex;flex-direction:column}
body.conBarra #modalPizarra:not(.pzVisor) .pzFlotanteDer[hidden]{display:none}
body.conBarra #modalPizarra:not(.pzVisor) .pzFlotanteDer.pzLadoIzq{left:12px;right:auto}
body.conBarra #modalPizarra .pzFlotanteDer .pzFlotanteCuerpo{overflow-y:auto;min-height:0}
@media (max-width:1100px){ body.conBarra #modalPizarra:not(.pzVisor) .pzFlotanteDer{top:76px} }
@media (max-height:520px){ body.conBarra #modalPizarra:not(.pzVisor) .pzFlotanteDer{top:54px} body.conBarra #modalPizarra .pzMasBtn span{display:none} }
body.conBarra #modalPizarra:not(.pzVisor) .pzFlotanteDer{top:76px;max-height:calc(100% - 90px)}
@media (max-height:520px){ body.conBarra #modalPizarra:not(.pzVisor) .pzFlotanteDer{top:54px;max-height:calc(100% - 62px)} }

/* ---------- Carga · Wellness v2: resumen, cuadro con semáforo, revisar hoy, gráficos ---------- */
.wlResumen{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 16px}
.wlRes{display:flex;flex-direction:column;gap:2px;padding:14px 16px;border-radius:16px;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.05);font-family:var(--ios)}
.wlRes span{font-size:13px;color:var(--gris2)}
.wlRes b{font-size:28px;font-weight:800;letter-spacing:-.01em;color:var(--verde)}
.wlRes b small{font-size:13px;color:var(--gris2);font-weight:600}
.wlRes em{font-style:normal;font-size:13px;color:var(--gris2)}
.wlBarraVista{display:flex;justify-content:flex-end;margin:0 0 12px}
.wlSeg{display:flex;padding:3px;border-radius:11px;background:rgba(118,118,128,.13)}
.wlSeg button{min-width:110px;min-height:36px;border:none;border-radius:9px;background:transparent;font-family:var(--ios);font-size:15px;font-weight:500;color:#1C1C1E;cursor:pointer}
.wlSeg button.on{background:#fff;font-weight:600;box-shadow:0 2px 6px rgba(0,0,0,.1)}
.wlCuadro{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;align-items:start}
body.conBarra .pdGrupo table.ed.wlTabla th{font-size:12px;font-weight:700;color:var(--gris2);text-transform:uppercase;letter-spacing:.02em;text-align:center;padding:10px 4px}
body.conBarra .pdGrupo table.ed.wlTabla th.wlThJug,body.conBarra .pdGrupo table.ed.wlTabla th.wlThMol{text-align:left;padding-left:14px}
body.conBarra .pdGrupo table.ed.wlTabla td{padding:6px 4px;vertical-align:middle}
.wlTabla tr.wlAlerta td.wlJug{box-shadow:inset 3px 0 0 #D9534F}
.wlJug{padding-left:14px!important;white-space:nowrap}
.wlDorsal{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;margin-right:10px;border-radius:14px;background:rgba(0,27,57,.08);color:var(--verde);font-size:13px;font-weight:800;vertical-align:middle}
.wlNombre{font-size:15px;font-weight:600;vertical-align:middle}
td.wlC{text-align:center;width:62px}
.wlIn{width:46px;height:34px;padding:0;border:none;border-radius:9px;background:#F2F2F0;font-family:var(--ios);font-size:15px;font-weight:800;text-align:center;color:#1C1C1E;-moz-appearance:textfield}
.wlIn::-webkit-outer-spin-button,.wlIn::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.wlIn::placeholder{color:#C4C4C7;font-weight:500}
.wlIn:focus{outline:none;box-shadow:0 0 0 3px rgba(0,27,57,.25)}
.wlIn.v1{background:#D9534F;color:#fff}.wlIn.v2{background:#EE9A3A;color:#fff}.wlIn.v3{background:#E3C343;color:#1C1C1E}.wlIn.v4{background:#7CBD6B;color:#1C1C1E}.wlIn.v5{background:#127A55;color:#fff}
.wlMinIn{width:54px}
td.wlTot{text-align:center;width:64px;font-family:var(--ios)}
td.wlTot b{font-size:16px;font-weight:800}
td.wlTot small{font-size:12px;color:var(--gris2)}
.wlSepar{border-left:1px solid var(--sep)}
td.wlMol{padding-left:14px!important;font-size:13px;color:#B3402F;min-width:160px}
td.wlMol span{color:#C4C4C7}
.wlEscala{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:0 6px;font-family:var(--ios);font-size:13px;color:var(--gris2)}
.wlEscala b{color:#1C1C1E}
.wlEscala span{display:inline-flex;align-items:center;gap:6px}
.wlEscala i{width:18px;height:18px;border-radius:9px;color:#fff;font-style:normal;font-size:11px;font-weight:800;display:inline-flex;align-items:center;justify-content:center}
.wlEscala em{font-style:normal;flex-basis:100%;font-size:13px}
.wlRevisar{position:sticky;top:16px}
.wlRevCab{display:flex;align-items:center;gap:8px;font-family:var(--ios);font-size:16px;font-weight:700}
.wlRevCab i{width:10px;height:10px;border-radius:5px;background:#D9534F}
.wlRevAyuda{margin:2px 0 8px;font-size:13px;color:var(--gris2)}
.wlRevFila{display:flex;flex-direction:column;gap:1px;padding:9px 0;border-top:1px solid var(--sep);font-family:var(--ios)}
.wlRevFila b{font-size:15px;font-weight:600}
.wlRevFila span{font-size:13px;color:#B3402F}
.wlRevVacio{margin:0;font-size:15px;color:var(--gris2)}
.wlGrafs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:14px}
.wlGrafs2{grid-template-columns:2fr 1fr}
.wlGraf{padding:16px;border-radius:16px;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.05);font-family:var(--ios);display:flex;flex-direction:column}
.wlGrafCab{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.wlGrafCab>b{font-size:16px}
.wlGrafCab span{font-size:13px;color:var(--gris2)}
.wlGrafCab span b{color:#1C1C1E}
.wlBarras{display:flex;align-items:flex-end;gap:6px;height:150px;margin-top:12px}
.wlBarra{flex:1;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:5px}
.wlBarra span{font-size:13px;font-weight:700}
.wlBarra i{display:block;width:70%;max-width:40px;min-height:3px;border-radius:7px 7px 3px 3px}
.wlBarra em{font-style:normal;font-size:12px;font-weight:700;color:var(--gris2)}
.wlBarra em.wlRpeN{width:28px;height:24px;border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800}
.wlRpe .wlBarras{height:190px}
.wlRpeLey{display:flex;justify-content:space-between;margin-top:8px;font-size:12px;font-weight:700;color:var(--gris2);letter-spacing:.02em}
.wlLeer{background:#EAF3EC}
.wlLeer p{margin:8px 0 0;font-size:15px;line-height:1.5;color:#3C3C43}
.wlUa .wlUaSub{font-size:13px;color:var(--gris2);margin-top:2px}
.wlUaNum{margin:14px 0 4px;font-size:40px;font-weight:800;color:var(--verde);letter-spacing:-.02em}
.wlUaNum small{font-size:15px;font-weight:600;color:var(--gris2)}
@media (max-width:1100px){ .wlCuadro{grid-template-columns:1fr} .wlRevisar{position:static;order:-1} .wlResumen{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:900px){ .wlGrafs{grid-template-columns:repeat(2,minmax(0,1fr))} .wlGrafs2{grid-template-columns:1fr} }
@media (max-width:700px){
  .wlGrafs{grid-template-columns:1fr}
  .wlBarraVista{justify-content:stretch}.wlSeg{flex:1}.wlSeg button{flex:1;min-width:0}
  body.conBarra table.ed.wlTabla{display:block;min-width:0;width:100%}
  body.conBarra .wlTabla thead{display:none}
  body.conBarra .wlTabla tbody{display:block}
  body.conBarra .wlTabla tr{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;padding:12px}
  body.conBarra .wlTabla tr+tr{border-top:1px solid var(--sep)}
  body.conBarra .wlTabla td{display:block;padding:0!important;border:none!important;width:auto!important;min-width:0}
  body.conBarra .wlTabla td.wlJug{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between}
  body.conBarra .wlTabla td.wlTot{grid-column:1/2;grid-row:3;text-align:left}
  body.conBarra .wlTabla td.wlC{display:flex;flex-direction:column;align-items:stretch;gap:3px}
  body.conBarra .wlTabla td.wlC::before{font-size:11px;font-weight:700;color:var(--gris2);text-align:center}
  body.conBarra .wlTabla td.wlC:nth-child(2)::before{content:"Fatiga"}
  body.conBarra .wlTabla td.wlC:nth-child(3)::before{content:"Dolor"}
  body.conBarra .wlTabla td.wlC:nth-child(4)::before{content:"Sueño"}
  body.conBarra .wlTabla td.wlC:nth-child(5)::before{content:"Estrés"}
  body.conBarra .wlTabla td.wlC:nth-child(6)::before{content:"Ánimo"}
  body.conBarra .wlTabla td.wlC:nth-child(8)::before{content:"RPE"}
  body.conBarra .wlTabla td.wlC:nth-child(9)::before{content:"Min."}
  body.conBarra .wlTabla .wlIn{width:100%}
  body.conBarra .wlTabla td.wlMol{grid-column:3/-1;grid-row:3;align-self:center}
  body.conBarra .wlTabla td.wlSepar{border:none!important}
}
@media (max-width:700px){
  body.conBarra .wlTabla td.wlC:nth-child(8){grid-row:3;grid-column:2}
  body.conBarra .wlTabla td.wlC:nth-child(9){grid-row:3;grid-column:3}
  body.conBarra .wlTabla td.wlMol{grid-column:4/-1}
}
@media (max-width:700px){ body.conBarra .wlTabla td.wlJug{justify-content:flex-start;gap:0} body.conBarra .wlTabla td.wlMol{font-size:13px} }

/* ---------- Contenido de cada bloque (categoría + tipo) y minutos por contenido en Semana ---------- */
.agendaEd .agCont{display:flex;flex-direction:column;gap:8px;padding:10px;border-radius:12px;background:#FAFAF8;border:1px solid rgba(60,60,67,.08)}
.agContCab{font-family:var(--ios);font-size:13px;font-weight:700;color:var(--gris2);text-transform:uppercase;letter-spacing:.03em}
.agContCab span{text-transform:none;letter-spacing:0;font-weight:600}
.agContSeg{display:flex;padding:3px;border-radius:11px;background:rgba(118,118,128,.13)}
.agContSeg button{flex:1;min-width:0;min-height:36px;border:none;border-radius:9px;background:transparent;font-family:var(--ios);font-size:15px;font-weight:500;color:#1C1C1E;
  display:flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;white-space:nowrap}
.agContSeg button i{width:8px;height:8px;border-radius:4px;flex:none}
.agContSeg button.on{background:#fff;font-weight:700;box-shadow:0 2px 6px rgba(0,0,0,.1)}
.agContGrupo{display:flex;flex-direction:column;gap:4px}
.agContGrupo small{font-family:var(--ios);font-size:13px;font-weight:600;color:#6B6B70;padding-left:2px}
.agContSeg button{min-height:44px}
.agContTipos{display:flex;flex-wrap:wrap;gap:6px}
.agContTipos button{min-height:34px;padding:0 12px;border:none;border-radius:17px;font-family:var(--ios);font-size:15px;font-weight:600;cursor:pointer;
  background:color-mix(in srgb,var(--cc) 12%,#fff);color:color-mix(in srgb,var(--cc) 75%,#000)}
.agContTipos button.on{background:var(--cc);color:#fff}
.semContenido .csFila{display:flex;flex-direction:column;gap:5px;padding:8px 0}
.semContenido .csFila+.csFila{border-top:1px solid var(--sep)}
.semContenido .csCab{display:flex;align-items:center;justify-content:space-between;font-family:var(--ios)}
.semContenido .csCab span{display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:600}
.semContenido .csCab i{width:10px;height:10px;border-radius:5px}
.semContenido .csCab b{font-size:15px;font-weight:700}
.semContenido .csBarra{height:10px;border-radius:5px;background:rgba(118,118,128,.12);overflow:hidden}
.semContenido .csBarra div{height:100%;border-radius:5px;min-width:0}
.semContenido .csDet{font-family:var(--ios);font-size:13px;color:var(--gris2)}
@media (max-width:700px){ .agContSeg button{font-size:13px;gap:4px} .agContSeg button i{display:none} }
/* Plan del día: el contenido va como etiqueta chica (se arma en Plantillas MD) */
.agendaEd .agContChip{align-self:flex-start;display:inline-flex;align-items:center;gap:7px;min-height:32px;padding:0 12px;border:none;border-radius:16px;
  background:rgba(118,118,128,.1);font-family:var(--ios);font-size:13px;font-weight:600;color:#1C1C1E;cursor:pointer}
.agendaEd .agContChip i{width:8px;height:8px;border-radius:4px;flex:none}
.agendaEd .agContChip.vacio{color:var(--gris2);font-weight:500}
.agendaEd .agContChip:hover{background:rgba(118,118,128,.18)}
.agContCab{display:flex;align-items:center;gap:6px}
.agContListo{margin-left:auto;min-height:30px;padding:0 12px;border:none;border-radius:15px;background:var(--verde);color:#fff;font-family:var(--ios);font-size:13px;font-weight:600;text-transform:none;letter-spacing:0;cursor:pointer}
.agendaEd .agContChip{justify-self:start;width:max-content;max-width:100%}

/* menú claro para todos los <select> (reemplaza el nativo oscuro de macOS) */
.selMenu{z-index:200;min-width:200px}
.selMenu .glassItem{min-height:38px;font-size:15px}
.selMenu .glassItem:disabled{opacity:.4;cursor:default}
.selMenuGrupo{padding:6px 12px 2px 36px;font-family:var(--ios);font-size:12px;font-weight:700;color:var(--gris2);text-transform:uppercase;letter-spacing:.03em}
body.conBarra select{cursor:pointer}
.glassMenu.selMenu{background:rgba(250,250,248,.96);-webkit-backdrop-filter:blur(30px) saturate(140%);backdrop-filter:blur(30px) saturate(140%)}

/* ---------- Semana: menos ruido abajo del tablero ---------- */
.semTablero .leyenda{gap:4px 14px;margin-top:12px;padding:0 6px}
.semTablero .leyenda span{background:none!important;padding:0!important;font-size:13px;font-weight:500;color:var(--gris2)!important}
.semTablero .leyenda span::before{width:8px;height:8px}
.semCargaCab{display:flex;justify-content:flex-end;gap:14px;margin-bottom:4px;font-family:var(--ios);font-size:13px;color:var(--gris2)}
.semCargaCab span{display:inline-flex;align-items:center;gap:6px}
.semCargaCab i{width:10px;height:10px;border-radius:3px}
.semCargaCab i.pl{background:#001B39;opacity:.55}.semCargaCab i.pe{background:#B3402F}.semCargaCab i.zs{background:#2F8A54;opacity:.3}
.acwrLinea{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;margin-top:10px;padding-top:10px;border-top:1px solid var(--sep);font-family:var(--ios);font-size:13px;color:var(--gris2)}
.acwrLinea i{width:8px;height:8px;border-radius:4px;background:#C4C4C7;flex:none}
.acwrLinea b{color:#1C1C1E;font-weight:700}
.acwrLinea.acwr-ok i{background:#2F8A54}.acwrLinea.acwr-media i{background:#E3A63A}.acwrLinea.acwr-alta i{background:#B3402F}

/* ---------- Selector de hora estilo iOS (ruedas) ---------- */
body.conBarra #popReloj{width:250px;padding:0 0 10px;border:1px solid rgba(255,255,255,.9);border-radius:18px;font-family:var(--ios);
  background:rgba(250,250,248,.96);-webkit-backdrop-filter:blur(30px) saturate(140%);backdrop-filter:blur(30px) saturate(140%);
  box-shadow:0 18px 44px -10px rgba(0,0,0,.28),0 2px 8px rgba(0,0,0,.08);animation:glassEntra .22s cubic-bezier(.2,.9,.25,1.05);z-index:210}
#popReloj .prCab{display:flex;align-items:center;justify-content:space-between;padding:10px 12px 6px 16px}
#popReloj .prCab span{font-size:15px;font-weight:600;color:#1C1C1E}
#popReloj #prListo{min-height:32px;padding:0 14px;border:none;border-radius:16px;background:var(--verde);color:#fff;font:inherit;font-size:15px;font-weight:600;cursor:pointer}
#popReloj .prRuedas{position:relative;display:flex;align-items:stretch;height:180px;margin:0 10px;
  -webkit-mask-image:linear-gradient(transparent,#000 28%,#000 72%,transparent);mask-image:linear-gradient(transparent,#000 28%,#000 72%,transparent)}
#popReloj .prBanda{position:absolute;left:0;right:0;top:72px;height:36px;border-radius:9px;background:rgba(118,118,128,.14);pointer-events:none}
#popReloj .prRueda{position:relative;flex:1;height:180px;overflow-y:scroll;scroll-snap-type:y mandatory;scrollbar-width:none;overscroll-behavior:contain}
#popReloj .prRueda::-webkit-scrollbar{display:none}
#popReloj .prPad{height:72px}
#popReloj .prItem{height:36px;display:flex;align-items:center;justify-content:center;scroll-snap-align:center;cursor:pointer;
  font-size:22px;font-weight:400;color:#8E8E93;font-variant-numeric:tabular-nums;border:none;background:none;padding:0;transition:color .12s,font-size .12s}
#popReloj .prItem.cerca{color:#48484A}
#popReloj .prItem.sel{color:#1C1C1E;font-weight:600;background:none}
#popReloj .prAmpm{flex:1.1}
#popReloj .prAmpm .prItem{font-size:17px}
#popReloj .prSep{display:flex;align-items:center;font-size:22px;font-weight:600;color:#1C1C1E;padding-bottom:2px}

/* ---------- Editor de bloques (Plan del día y Plantillas MD) a la misma escala que el resto de la app ---------- */
body.conBarra .agendaEd .filaAg{grid-template-columns:70px minmax(0,1fr) 36px;gap:12px;padding:12px 10px 12px 14px}
body.conBarra .agendaEd .filaAg .campos{gap:6px}
body.conBarra .agendaEd .filaAg input.h{font-size:16px;min-height:38px;border-radius:9px}
body.conBarra .agendaEd .filaAg .horaCol{gap:6px}
body.conBarra .agendaEd .filaAg .btnReloj{width:30px;height:30px;border-radius:15px}
body.conBarra .agendaEd .filaAg input.agAct{font-size:16px;min-height:38px;padding:6px 10px;border-radius:9px}
body.conBarra .agendaEd .agSub{gap:6px}
body.conBarra .agendaEd .agSub input{font-size:15px;min-height:34px;padding:5px 10px;border-radius:9px}
body.conBarra .agendaEd .agCt{gap:6px}
body.conBarra .agendaEd .ctBox{min-height:34px;padding:3px 8px;border-radius:9px}
body.conBarra .agendaEd .ctLbl{font-size:12px}
body.conBarra .agendaEd .ctChip{font-size:13px;min-height:26px}
body.conBarra .agendaEd .ctAdd{font-size:13px;min-height:26px}
body.conBarra .agendaEd .selSes{min-height:34px;font-size:15px;border-radius:9px}
body.conBarra .agendaEd .imgRow{gap:6px}
body.conBarra .agendaEd .imgAdd{min-height:30px;padding:0 11px;font-size:13px;gap:5px}
body.conBarra .agendaEd .imgAdd svg{width:15px;height:15px}
body.conBarra .agendaEd .agContChip{min-height:26px;font-size:13px;padding:0 10px}
body.conBarra .agendaEd .filaAg .del{width:36px;height:36px}
body.conBarra .agendaEd .addRow{min-height:46px;font-size:16px}
body.conBarra .agendaEd .addRow svg{width:20px;height:20px}
@media (max-width:700px){
  body.conBarra .agendaEd .filaAg{grid-template-columns:auto minmax(0,1fr) 36px}
  body.conBarra .agendaEd .filaAg input.h{width:76px}
}

/* ---------- Ayudas: ⓘ junto al título de sección + globo ---------- */
.pdSecTit{display:flex;align-items:center;gap:4px}
.pdInfo{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;margin:-6px 0;padding:0;border:none;border-radius:13px;background:transparent;color:#A0A0A6;cursor:pointer}
.pdInfo:hover{color:var(--verde);background:rgba(0,27,57,.07)}
.pdGlobo{z-index:220;padding:12px 14px;font-family:var(--ios);font-size:15px;line-height:1.45;color:#1C1C1E;background:rgba(250,250,248,.97)}
.pdAcciones{display:flex;flex-wrap:wrap;gap:4px 14px;padding:0 16px}
.pdAcciones .pdLink{padding:2px 0;margin:0}
.pdEstado{padding:0 16px;font-family:var(--ios);font-size:13px;color:var(--gris2)}
.pdEstado b{font-weight:600;color:#3C3C43}
.pdGlobo{white-space:pre-line}
h2.mod .pdInfo{vertical-align:middle;margin:-4px 0 0 4px;width:30px;height:30px}
h2.mod .pdInfo svg{width:18px;height:18px}

/* ---------- Pulido final: simetría y tamaños intermedios (iPad horizontal y vertical) ---------- */
/* Partido de la semana: 5 campos en una fila; si no entran, 3 + 2 parejos (nunca uno solo colgado) */
@media (min-width:701px){
  body.conBarra .semPartido .meta{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}
  body.conBarra .semPartido .meta label{border-right:1px solid var(--sep);border-bottom:none}
  body.conBarra .semPartido .meta label:last-child{border-right:none}
  body.conBarra .semPartido .meta select{width:100%;border-left:1px solid transparent;border-radius:9px}
}
@media (min-width:701px) and (max-width:1300px){
  body.conBarra .semPartido .meta{grid-template-columns:repeat(6,minmax(0,1fr))}
  body.conBarra .semPartido .meta label{grid-column:span 2}
  body.conBarra .semPartido .meta label:nth-child(n+4){grid-column:span 3;border-top:1px solid var(--sep)}
  body.conBarra .semPartido .meta label:nth-child(3){border-right:none}
}
/* Tablero semanal: los 7 días siempre entran (sin scroll de costado) */
@media (min-width:701px) and (max-width:1300px){
  body.conBarra .semTablero .tablero{overflow:visible;padding:8px}
  body.conBarra .semTablero .cols{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
  body.conBarra .semTablero .dia .dualSel{padding:4px 5px 0}
  body.conBarra .semTablero .dia .selEnt,body.conBarra .semTablero .dia .selMd{font-size:12px;padding:0 4px;min-height:32px}
  body.conBarra .semTablero .cabDia{font-size:12px}
  body.conBarra .semTablero .cabNum{font-size:20px;width:34px;height:34px}
  body.conBarra .semTablero .diaLista{padding:5px;gap:5px}
  body.conBarra .semTablero .sesion{font-size:13px;padding:6px 6px 6px 7px}
  body.conBarra .semTablero .sesion .sh{font-size:12px}
  body.conBarra .semTablero .sesion .sct{font-size:11px}
  body.conBarra .semTablero .sesion .sdet{font-size:11px}
  body.conBarra .semTablero .dia .tocado{font-size:11px;padding:4px 4px 0}
  body.conBarra .semTablero .btnDia{margin:auto 4px 6px;font-size:13px;min-height:34px}
}
/* Citas: en iPad horizontal, línea del día y "Nueva cita" lado a lado; más angosto, Nueva cita arriba */
@media (min-width:900px) and (max-width:1100px){
  body.conBarra .citasGrid{grid-template-columns:minmax(0,1fr) 290px;gap:16px}
  body.conBarra .sidePanelCitas{position:sticky;top:16px}
}
@media (min-width:701px) and (max-width:899px){ body.conBarra .citasGrid .sidePanelCitas{order:-1} body.conBarra .citasGrid{display:flex;flex-direction:column} }
/* Plantel en iPad: tarjetas en 2 columnas en vez de una tabla apretada */
@media (min-width:701px) and (max-width:1180px){
  body.conBarra .tScroll:has(.plTabla){overflow:visible}
  body.conBarra table.ed.plTabla{display:block;min-width:0;width:100%}
  body.conBarra .plTabla thead{display:none}
  body.conBarra .plTabla tbody{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  body.conBarra .plTabla td{display:block;padding:0!important;border:none!important;min-width:0;width:auto!important}
  body.conBarra .plTabla tr{display:grid;grid-template-columns:44px minmax(0,1fr) minmax(0,1fr) 40px;gap:8px;align-items:center;padding:12px;border-bottom:1px solid var(--sep)}
  body.conBarra .plTabla tr:nth-child(odd){border-right:1px solid var(--sep)}
  body.conBarra .plTabla .plDorsal{grid-column:1;grid-row:1}
  body.conBarra .plTabla td:nth-child(2){grid-column:2/4;grid-row:1}
  body.conBarra .plTabla .plDel{grid-column:4;grid-row:1}
  body.conBarra .plTabla .plPos{grid-column:2;grid-row:2}
  body.conBarra .plTabla .plEstado{grid-column:3;grid-row:2}
  body.conBarra .plTabla .plEval{grid-column:4;grid-row:2;justify-self:end}
  body.conBarra .plTabla .plMotivo{grid-column:2;grid-row:3}
  body.conBarra .plTabla .plRetorno{grid-column:3;grid-row:3}
  body.conBarra .plTabla tr:has(.plEstado option[value="apto"]:checked) .plMotivo,
  body.conBarra .plTabla tr:has(.plEstado option[value="apto"]:checked) .plRetorno{display:none}
  body.conBarra .plTabla input,body.conBarra .plTabla select{width:100%;min-height:38px;font-size:15px;background:#F6F6F4;border-radius:10px}
  body.conBarra .plTabla input.plNombre{font-size:16px;font-weight:600}
  body.conBarra .plTabla .plEval .plLink{width:40px;height:40px;min-height:40px;padding:0;border-radius:20px;justify-content:center;font-size:0;gap:0}
}
@media (min-width:701px) and (max-width:1300px){
  body.conBarra .pdGrupo table.ed.wlTabla td{padding:5px 2px}
  td.wlC{width:46px} .wlIn{width:40px;height:32px;font-size:15px} .wlMinIn{width:46px}
  td.wlTot{width:52px} td.wlTot small{display:none}
  td.wlMol{min-width:0;font-size:13px;padding-left:8px!important}
  .wlJug{padding-left:10px!important} .wlDorsal{width:24px;height:24px;margin-right:6px;font-size:12px} .wlNombre{font-size:15px}
  body.conBarra .pdGrupo table.ed.wlTabla th{font-size:11px;padding:8px 2px}
}
@media (max-width:1240px){ .wlCuadro{grid-template-columns:1fr} .wlRevisar{position:static;order:-1} }


/* ---------- Tipografía iOS: escala única (Large Title 34 · Title 28/22/20 · Headline/Body 17 · Callout 16 · Subhead 15 · Footnote 13 · Caption 12/11) ---------- */
/* controles sin tamaño propio: nunca el 13,33 px por defecto del navegador (especificidad 0: cualquier regla con clase gana) */
:where(body.conBarra) :where(button,input,select,textarea,option){font-size:15px;font-family:inherit}
.wlRes b{font-size:28px}
.wlRes b small{font-size:13px}

/* ---------- Celular · Liquid Glass ---------- */
@media (max-width:700px){
  body.conBarra{background:#F3F5F8}
  body.conBarra #barraMovil{background:linear-gradient(180deg,rgba(255,255,255,.62),rgba(255,255,255,.38));
    -webkit-backdrop-filter:blur(26px) saturate(170%);backdrop-filter:blur(26px) saturate(170%);
    border-bottom:1px solid rgba(255,255,255,.7);box-shadow:0 1px 0 rgba(0,0,0,.04)}
  body.conBarra .bmCat{background:rgba(255,255,255,.55);border:1px solid rgba(255,255,255,.85);box-shadow:0 4px 14px -6px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.9);
    -webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
  body.conBarra #barraTabs{background:linear-gradient(180deg,rgba(255,255,255,.58),rgba(255,255,255,.34));
    border:1px solid rgba(255,255,255,.8);
    box-shadow:0 18px 40px -12px rgba(0,0,0,.3),0 2px 6px rgba(0,0,0,.06),inset 0 1px 0 rgba(255,255,255,.95),inset 0 -1px 0 rgba(255,255,255,.35);
    -webkit-backdrop-filter:blur(30px) saturate(185%) brightness(1.06);backdrop-filter:blur(30px) saturate(185%) brightness(1.06)}
  body.conBarra #barraTabs::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
    background:radial-gradient(120% 90% at 30% -20%,rgba(255,255,255,.55),transparent 55%)}
  body.conBarra #barraTabs{position:fixed}
  body.conBarra #barraTabs button{position:relative}
  body.conBarra #barraTabs button.on{background:rgba(255,255,255,.72);box-shadow:0 2px 8px -2px rgba(0,0,0,.14),inset 0 1px 0 #fff}
  /* tarjetas de vidrio claro (el contenido se sigue leyendo perfecto) */
  body.conBarra .pdGrupo,body.conBarra .wlRes,body.conBarra .wlGraf,body.conBarra .tsDias,body.conBarra .semTablero .dia,
  body.conBarra .agendaEd .editorAgenda,body.conBarra .cvContador,body.conBarra .cardT{
    background:rgba(255,255,255,.66)!important;border:1px solid rgba(255,255,255,.8);
    box-shadow:0 6px 20px -10px rgba(0,0,0,.14),inset 0 1px 0 rgba(255,255,255,.9)!important;
    -webkit-backdrop-filter:blur(20px) saturate(160%);backdrop-filter:blur(20px) saturate(160%)}
  body.conBarra .btnCirc{background:rgba(255,255,255,.6);border:1px solid rgba(255,255,255,.85);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);
    box-shadow:0 4px 14px -6px rgba(0,0,0,.2),inset 0 1px 0 #fff}
  body.conBarra .btnCirc.lleno{background:var(--verde);border-color:transparent}
}
@media (max-width:700px) and (prefers-reduced-transparency:reduce){
  body.conBarra #barraMovil,body.conBarra #barraTabs,body.conBarra .pdGrupo{background:#fff!important;-webkit-backdrop-filter:none;backdrop-filter:none}
}

/* Celular: barra de arriba y de pestañas fijas (sin el rebote de Safari que las arrastraba) */
@media (max-width:700px){
  html,body.conBarra{overscroll-behavior:none}
  body.conBarra #barraMovil{position:fixed;top:0;left:0;right:0;z-index:40;padding-top:calc(6px + env(safe-area-inset-top))}
  body.conBarra main{padding-top:calc(66px + env(safe-area-inset-top))}
  body.conBarra #barraTabs{bottom:calc(10px + env(safe-area-inset-bottom))}
}

/* ---------- Barra lateral · Liquid Glass (flotante, estilo iPadOS) ---------- */
@media (min-width:701px){
  body.conBarra{background:#F3F5F8}
}
@media (min-width:1024px){
  body.conBarra #barraLateral{top:10px;bottom:10px;left:10px;width:calc(var(--latAncho) - 16px);border:1px solid rgba(255,255,255,.8);border-radius:26px;
    background:linear-gradient(180deg,rgba(255,255,255,.62),rgba(255,255,255,.42));
    -webkit-backdrop-filter:blur(34px) saturate(170%) brightness(1.04);backdrop-filter:blur(34px) saturate(170%) brightness(1.04);
    box-shadow:0 22px 50px -18px rgba(0,0,0,.25),0 2px 8px rgba(0,0,0,.05),inset 0 1px 0 rgba(255,255,255,.95),inset 0 0 0 1px rgba(255,255,255,.25);
    scrollbar-width:none}
  body.conBarra #barraLateral::-webkit-scrollbar{display:none}
}
@media (min-width:701px){
  body.conBarra #barraLateral nav.tabs button:hover{background:rgba(255,255,255,.55)}
  body.conBarra #barraLateral nav.tabs button.on{box-shadow:0 6px 16px -8px rgba(0,27,57,.6),inset 0 1px 0 rgba(255,255,255,.18)}
  body.conBarra #barraLateral .catBtn,body.conBarra #barraLateral .credBtn{background:rgba(255,255,255,.6);border:1px solid rgba(255,255,255,.85);
    box-shadow:0 4px 14px -8px rgba(0,0,0,.2),inset 0 1px 0 #fff;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
}
@media (min-width:701px) and (max-width:1023px){
  body.conBarra #barraLateral{background:linear-gradient(180deg,rgba(255,255,255,.78),rgba(255,255,255,.62));
    -webkit-backdrop-filter:blur(34px) saturate(170%);backdrop-filter:blur(34px) saturate(170%);border-right:1px solid rgba(255,255,255,.8)}
}
@media (prefers-reduced-transparency:reduce){ body.conBarra #barraLateral{background:#F3F5F8!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important} }
@media (min-width:701px){
  body.conBarra{background:#F3F5F8}
}
@media (min-width:1024px){
  body.conBarra #barraLateral{background:linear-gradient(180deg,rgba(255,255,255,.82),rgba(255,255,255,.7))}
}

/* ---------- Pie de página sutil ---------- */
body.conBarra #pieApp{padding:28px 16px 22px;text-align:center;font-family:var(--ios);background:none;border:none}
body.conBarra .pieFila{display:inline-flex;align-items:center;flex-wrap:wrap;justify-content:center;gap:6px 8px;font-size:12px;color:#8E8E93}
body.conBarra .pieEscudo{height:16px;width:auto;opacity:.75;filter:saturate(.8)}
body.conBarra #pieClub{font-size:12px;font-weight:500;color:#8E8E93}
body.conBarra .pieSep{width:3px;height:3px;border-radius:2px;background:#C7C7CC}
body.conBarra .pieSync{display:inline-flex;align-items:center;gap:5px}
body.conBarra .pieSync i{width:6px;height:6px;border-radius:3px;background:#34C759}
body.conBarra .pieMarca{margin-top:4px;font-size:11px;font-weight:500;letter-spacing:.04em;color:#C0BDB4}
body.conBarra .pieSync.off i{background:#FF9F0A}

/* ---------- Encabezado de la barra lateral: estilo app, centrado, el hub como protagonista ---------- */
body.conBarra .blMarca{flex-direction:column;align-items:center;gap:2px;padding:10px 4px 2px;text-align:center}
body.conBarra .blMarca .crest-lg{height:78px;margin-bottom:6px;filter:drop-shadow(0 6px 12px rgba(0,0,0,.18))}
body.conBarra .blMarca h1{margin:4px 0 0;font-size:22px;font-weight:800;letter-spacing:-.02em;line-height:1.05;color:#1C1C1E}
body.conBarra .blMarca .sub{margin:0;font-size:15px;font-weight:400;color:rgba(60,60,67,.6)}
body.conBarra .blMarca h1{font-size:22px;font-weight:700;letter-spacing:-.02em;color:var(--verde)}

/* ---------- Ingreso · Liquid Glass (todas las pantallas y tamaños) ---------- */
.lgPantalla{background:
  radial-gradient(55% 45% at 8% 12%, rgba(0,27,57,.10), transparent 70%),
  radial-gradient(50% 42% at 95% 30%, rgba(47,127,193,.18), transparent 70%),
  radial-gradient(55% 45% at 15% 92%, rgba(61,106,158,.14), transparent 70%),
  radial-gradient(50% 40% at 92% 95%, rgba(0,27,57,.08), transparent 70%),
  #F3F5F8}
.lgMarca b{font-size:26px;font-weight:800;letter-spacing:-.01em;color:#001B39}
.lgMarca span{font-size:13px;font-weight:600;letter-spacing:0;text-transform:none;color:#1F5F99}
.lgMarca img{filter:drop-shadow(0 6px 12px rgba(0,0,0,.18))}
.lgCentro{padding:30px 34px 22px;border-radius:32px;width:min(420px,calc(100vw - 32px));box-sizing:border-box;
  background:linear-gradient(180deg,rgba(255,255,255,.62),rgba(255,255,255,.38));border:1px solid rgba(255,255,255,.85);
  box-shadow:0 30px 60px -24px rgba(0,0,0,.28),0 2px 8px rgba(0,0,0,.05),inset 0 1px 0 rgba(255,255,255,.95);
  -webkit-backdrop-filter:blur(34px) saturate(170%);backdrop-filter:blur(34px) saturate(170%)}
.lgCentro .lgBtn{width:100%;box-shadow:0 12px 26px -12px rgba(0,27,57,.6),inset 0 1px 0 rgba(255,255,255,.16)}
.lgAvatar.xl,.lgAvatar.lg{box-shadow:0 12px 28px -10px rgba(122,82,16,.5),inset 0 2px 0 rgba(255,255,255,.35)}
.lgTecla{background:rgba(255,255,255,.55);border:1px solid rgba(255,255,255,.85);box-shadow:0 6px 16px -8px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.95);
  -webkit-backdrop-filter:blur(20px) saturate(160%);backdrop-filter:blur(20px) saturate(160%)}
.lgTecla:active{background:rgba(255,255,255,.9)}
.lgPersona{background:rgba(255,255,255,.4);border:1px solid rgba(255,255,255,.7);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}
.lgPersona:hover{background:rgba(255,255,255,.72)}
.lgAvatar{box-shadow:0 6px 16px -8px rgba(0,0,0,.2),inset 0 1px 0 #fff}
.lgVolver{background:rgba(255,255,255,.55);border:1px solid rgba(255,255,255,.85);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
@media (max-width:520px){ .lgCentro{padding:24px 18px 18px;border-radius:28px} .lgNombre{font-size:34px} }
@media (prefers-reduced-transparency:reduce){ .lgCentro,.lgTecla,.lgPersona{background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none} }
.lgCentro{width:100%;max-width:420px}
.lgPantalla{overflow-x:hidden}

/* ---------- Ingreso · pantalla de bloqueo (persona recordada) ---------- */
.lgBloq{position:relative;flex:1;width:100%;max-width:460px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px}
.lgSemana{width:100%;box-sizing:border-box;display:grid;grid-template-columns:repeat(7,1fr);padding:10px 8px;border-radius:22px;
  background:linear-gradient(180deg,rgba(255,255,255,.66),rgba(255,255,255,.4));border:1px solid rgba(255,255,255,.9);
  box-shadow:0 18px 40px -24px rgba(0,0,0,.28),inset 0 1px 0 #fff;-webkit-backdrop-filter:blur(30px) saturate(170%);backdrop-filter:blur(30px) saturate(170%)}
.lgSemD{display:flex;flex-direction:column;align-items:center;gap:3px}
.lgSemD i{font-style:normal;font-size:12px;font-weight:600;color:#8E8E93}
.lgSemD b{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:600;color:#1C1C1E}
.lgSemD.hoy b{background:#001B39;color:#fff;box-shadow:0 6px 14px -6px rgba(0,27,57,.6)}
.lgSemD.hoy i{color:#001B39}
.lgSemD em{width:6px;height:6px;border-radius:3px}
.lgAvisos:empty{display:none}
.lgMarcaMini{display:flex;align-items:center;gap:10px}
.lgMarcaMini img{height:38px;width:auto;filter:drop-shadow(0 4px 8px rgba(0,0,0,.18))}
.lgMarcaMini span{display:flex;flex-direction:column;line-height:1.15}
.lgMarcaMini b{font-size:17px;font-weight:700;letter-spacing:-.01em;color:#001B39}
.lgMarcaMini i{font-style:normal;font-size:13px;font-weight:400;color:rgba(60,60,67,.6)}
.lgBloqHora{display:flex;flex-direction:column;align-items:center;text-align:center}
.lgBloqFecha{font-size:20px;font-weight:600;color:#3A3A3C}
.lgBloqReloj{font-size:112px;font-weight:700;letter-spacing:-.045em;line-height:1;color:#001B39;font-variant-numeric:tabular-nums;text-shadow:0 10px 30px rgba(0,27,57,.12)}
.lgAvisos{width:100%;display:flex;flex-direction:column;gap:10px}
.lgNotiCab{align-self:flex-start;margin:2px 0 -2px 8px;font-size:15px;font-weight:600;color:rgba(60,60,67,.6)}
.lgAviso{display:flex;gap:11px;align-items:center;padding:12px 14px;border-radius:24px;
  background:rgba(252,252,250,.62);border:1px solid rgba(255,255,255,.75);
  box-shadow:0 10px 30px -18px rgba(0,0,0,.3);-webkit-backdrop-filter:blur(40px) saturate(180%);backdrop-filter:blur(40px) saturate(180%)}
.lgAvisoIc{width:38px;height:38px;flex:none;border-radius:9px;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 0 0 .5px rgba(0,0,0,.08)}
.lgAvisoTx{flex:1;display:flex;flex-direction:column;gap:1px;min-width:0;text-align:left}
.lgAvisoFila{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.lgAvisoFila b{font-size:15px;font-weight:600;color:#000;letter-spacing:-.01em}
.lgAvisoFila i{flex:none;font-style:normal;font-size:13px;color:rgba(60,60,67,.6)}
.lgAvisoTx>span:last-child{font-size:15px;line-height:1.3;color:#1C1C1E}
.lgDerechos{margin:auto 0 0;padding-top:6px;font-size:11px;font-weight:500;letter-spacing:.02em;color:#A09D95;text-align:center}
.lgBloq+.lgDerechos{margin-top:0}
.lgBloqPie{margin-top:8px;display:flex;flex-direction:column;align-items:center;gap:6px}
.lgBloqYo{display:flex;align-items:center;gap:12px;padding:8px;border-radius:40px;
  background:linear-gradient(180deg,rgba(255,255,255,.66),rgba(255,255,255,.4));border:1px solid rgba(255,255,255,.9);
  box-shadow:0 24px 50px -24px rgba(0,0,0,.3),inset 0 1px 0 #fff;-webkit-backdrop-filter:blur(30px) saturate(170%);backdrop-filter:blur(30px) saturate(170%)}
.lgBloqYo .lgAvatar{width:54px;height:54px;font-size:20px;background:linear-gradient(160deg,#6FA8DA,#2A72AD);color:#FFFFFF}
.lgBloqNom{display:flex;flex-direction:column;line-height:1.2;text-align:left;padding-right:4px}
.lgBloqNom span{font-size:13px;color:#6B6B70}
.lgBloqNom b{font-size:17px;font-weight:700;color:#1C1C1E}
.lgBloqYo .lgBtn{margin:0;width:auto;min-height:54px;padding:0 28px;box-shadow:0 12px 26px -12px rgba(0,27,57,.6),inset 0 1px 0 rgba(255,255,255,.16)}
@media (max-width:520px){ .lgBloqReloj{font-size:92px} .lgBloqYo .lgBtn{padding:0 20px} }
@media (max-height:760px){ .lgBloq{gap:12px} .lgSemD b{width:30px;height:30px;font-size:15px} .lgBloqReloj{font-size:84px} .lgAviso{padding:10px 14px} }
@media (prefers-reduced-transparency:reduce){ .lgAviso,.lgBloqYo{background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none} }
/* botones del ingreso con vidrio */
.lgBtn{position:relative;overflow:hidden;background:linear-gradient(180deg,rgba(10,50,96,.96),rgba(0,27,57,.96));border:1px solid rgba(255,255,255,.22);
  box-shadow:0 14px 28px -12px rgba(0,27,57,.65),inset 0 1px 0 rgba(255,255,255,.35),inset 0 -1px 0 rgba(0,0,0,.15)}
.lgBtn::before{content:"";position:absolute;left:8%;right:8%;top:1px;height:45%;border-radius:27px 27px 60% 60%/27px 27px 100% 100%;
  background:linear-gradient(180deg,rgba(255,255,255,.28),rgba(255,255,255,0));pointer-events:none}
.lgLink{min-height:40px;padding:0 18px;border-radius:20px;background:rgba(255,255,255,.5);border:1px solid rgba(255,255,255,.85);
  box-shadow:0 4px 12px -6px rgba(0,0,0,.15),inset 0 1px 0 #fff;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
.lgLink:active{background:rgba(255,255,255,.85)}
.lgTeclaTxt{background:rgba(255,255,255,.28);border:1px solid rgba(255,255,255,.6);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.lgTeclaTxt:active{background:rgba(255,255,255,.7)}
.lgBtn::before{background:linear-gradient(180deg,rgba(255,255,255,.17),rgba(255,255,255,0))}
/* hover de la barra lateral: nunca sobre la pestaña activa (quedaba texto blanco sobre blanco) */
body.conBarra #barraLateral nav.tabs button.on,
body.conBarra #barraLateral nav.tabs button.on:hover{background:var(--verde);color:#fff}
body.conBarra #barraLateral nav.tabs button.on:hover{background:#0A3260}
body.conBarra #barraLateral nav.tabs button:focus{outline:none}
body.conBarra #barraLateral nav.tabs button:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(0,27,57,.25)}
/* celdas del wellness: el color del valor se mantiene al pasar el cursor o al escribir (antes quedaba blanco sobre blanco) */
body.conBarra .wlTabla .wlIn:hover{filter:brightness(.97)}
body.conBarra .wlTabla .wlIn:focus{outline:none;box-shadow:0 0 0 3px rgba(0,27,57,.3)}
body.conBarra .wlTabla .wlIn.v1,body.conBarra .wlTabla .wlIn.v1:hover,body.conBarra .wlTabla .wlIn.v1:focus{background:#D9534F;color:#fff}
body.conBarra .wlTabla .wlIn.v2,body.conBarra .wlTabla .wlIn.v2:hover,body.conBarra .wlTabla .wlIn.v2:focus{background:#EE9A3A;color:#fff}
body.conBarra .wlTabla .wlIn.v3,body.conBarra .wlTabla .wlIn.v3:hover,body.conBarra .wlTabla .wlIn.v3:focus{background:#E3C343;color:#1C1C1E}
body.conBarra .wlTabla .wlIn.v4,body.conBarra .wlTabla .wlIn.v4:hover,body.conBarra .wlTabla .wlIn.v4:focus{background:#7CBD6B;color:#1C1C1E}
body.conBarra .wlTabla .wlIn.v5,body.conBarra .wlTabla .wlIn.v5:hover,body.conBarra .wlTabla .wlIn.v5:focus{background:#127A55;color:#fff}
body.conBarra .wlTabla .wlIn:not([class*=" v"]),body.conBarra .wlTabla .wlIn:not([class*=" v"]):hover,body.conBarra .wlTabla .wlIn:not([class*=" v"]):focus{background:#F2F2F0;color:#1C1C1E}
body.conBarra .wlTabla .wlIn,body.conBarra .wlTabla .wlIn:hover,body.conBarra .wlTabla .wlIn:focus{border:none}

/* ---------- Seleccionados: al pasar el cursor mantienen su color (generado desde cada regla .on) ---------- */
nav.tabs button.on:hover{background:var(--verde);color:#fff}
.areaBtn.on:hover{background:var(--verde)}
.durGrid button.on:hover{background:var(--oro2);color:var(--negro)}
.selDias button.on:hover{background:var(--verde);color:#fff}
.pzRielBtn.on:hover{background:var(--oro);color:#FFFFFF}
.pzMarcaBtn.on:hover{background:var(--verde);color:#fff}
.pzPaso.on:hover{background:var(--verde);color:#fff}
.pzIco.on:hover{background:var(--verde)}
.pzLineaBtn.on:hover{background:var(--verde);color:#fff}
.pzTab.on:hover{background:var(--verde);color:#fff}
.pzHerr button.on:hover{background:var(--verde);color:#fff}
body.conBarra .segArea .areaBtn.on:hover{background:#fff}
.segArea .areaBtn.on:hover .segN{background:rgba(0,27,57,.1);color:var(--verde)}
body.conBarra .durGrid button.on:hover{background:var(--verde);color:#fff}
.hsChip.on:hover{background:var(--verde);color:#fff}
.lgPuntos i.on:hover{background:#001B39}
body.conBarra #modalPizarra .pzLineaBtn.on:hover{background:#fff;color:#1C1C1E}
body.conBarra #modalPizarra .pzTop .pzLineaBtn.on:hover{background:var(--verde);color:#fff}
body.conBarra #modalPizarra .pzRielBtn.on:hover{background:var(--verde);color:#fff}
body.conBarra #modalPizarra .pzFlotante .pzHerr button.on:hover{background:var(--verde);color:#fff}
body.conBarra #modalPizarra .pzIco.on:hover{background:var(--verde);color:#fff}
body.conBarra #modalPizarra .pzPaso.on:hover{background:var(--verde);color:#fff}
#barraTabs button.on:hover{background:rgba(0,27,57,.1);color:var(--verde)}
.tsDia.on:hover{background:var(--verde)}
.tsDia.on:hover i{background:rgba(255,255,255,.7)!important}
.pzvPaso.on::before:hover{background:var(--verde)}
body.conBarra #modalPizarra .pzFlotante .pzHerr button.pzTile.on:hover{background:var(--verde);color:#fff}
body.conBarra #modalPizarra .pzFlotBtn.on:hover{background:var(--verde);color:#fff}
body.conBarra #modalPizarra .pzEditarGrid .pzIco.on:hover{background:var(--verde);color:#fff}
body.conBarra #modalPizarra .pzFlotante .pzHerr .pzRonSeg button.on:hover{background:#fff}
.wlSeg button.on:hover{background:#fff}
.agContSeg button.on:hover{background:#fff}
.agContTipos button.on:hover{background:var(--cc);color:#fff}
body.conBarra #barraTabs button.on:hover{background:rgba(255,255,255,.72)}
body.conBarra #modalPizarra .pzFlotante .pzHerr .pzRonSeg button.on:hover{background:#fff;color:#1C1C1E}

/* ---------- Pizarra: los paneles nunca tapan la cancha ----------
   el panel izquierdo (Jugadores, Objetos, Dibujo…) va pegado al costado y el derecho (Propiedades,
   Plantillas, Imagen) también; la cancha se corre y se achica para usar el espacio que queda */
body.conBarra #modalPizarra:not(.pzVisor) .pzFlotanteIzq{left:12px!important;right:auto;top:76px;width:340px;max-height:calc(100% - 90px)}
body.conBarra #modalPizarra:not(.pzVisor) .pzFlotanteDer,body.conBarra #modalPizarra:not(.pzVisor) .pzFlotanteDer.pzLadoIzq{right:12px;left:auto;width:320px}
body.conBarra #modalPizarra:not(.pzVisor) .pzCancha{transition:padding .28s cubic-bezier(.2,.8,.2,1)}
body.conBarra #modalPizarra:not(.pzVisor) .pzEscena:has(#pzPanelIzq:not([hidden])) .pzCancha{padding-left:364px}
body.conBarra #modalPizarra:not(.pzVisor) .pzEscena:has(#pzPanelDer:not([hidden])) .pzCancha{padding-right:344px}
body.conBarra #modalPizarra .pzFlotante{-webkit-user-select:none;user-select:none}
body.conBarra #modalPizarra .pzFlotante input,body.conBarra #modalPizarra .pzFlotante textarea{-webkit-user-select:text;user-select:text}
@media (max-width:1023px){
  body.conBarra #modalPizarra:not(.pzVisor) .pzFlotanteIzq{width:296px}
  body.conBarra #modalPizarra:not(.pzVisor) .pzFlotanteDer{width:290px}
  body.conBarra #modalPizarra:not(.pzVisor) .pzEscena:has(#pzPanelIzq:not([hidden])) .pzCancha{padding-left:320px}
  body.conBarra #modalPizarra:not(.pzVisor) .pzEscena:has(#pzPanelDer:not([hidden])) .pzCancha{padding-right:310px}
}
@media (max-height:520px){ body.conBarra #modalPizarra:not(.pzVisor) .pzFlotanteIzq{top:54px;max-height:calc(100% - 62px)} }
@media (prefers-reduced-motion:reduce){ body.conBarra #modalPizarra .pzCancha{transition:none} }
/* iPad vertical: el panel se abre abajo y la cancha se sube (mantiene todo el ancho) */
@media (max-width:1023px) and (orientation:portrait){
  body.conBarra #modalPizarra:not(.pzVisor) .pzFlotanteIzq,body.conBarra #modalPizarra:not(.pzVisor) .pzFlotanteDer{
    left:12px!important;right:12px!important;width:auto;top:auto!important;bottom:12px;max-height:46%}
  body.conBarra #modalPizarra:not(.pzVisor) .pzEscena:has(#pzPanelIzq:not([hidden])) .pzCancha,
  body.conBarra #modalPizarra:not(.pzVisor) .pzEscena:has(#pzPanelDer:not([hidden])) .pzCancha{padding-left:14px;padding-right:14px;padding-bottom:calc(46% + 24px)}
  body.conBarra #modalPizarra .pzFlotanteIzq .pzCat .pzTiles{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (max-width:1023px) and (orientation:portrait){
  body.conBarra #modalPizarra:not(.pzVisor) .pzEscena:has(#pzPanelIzq:not([hidden])) .pzCancha,
  body.conBarra #modalPizarra:not(.pzVisor) .pzEscena:has(#pzPanelDer:not([hidden])) .pzCancha{padding-top:78px;padding-bottom:calc(46% + 30px)}
}
/* el lienzo se mide contra el espacio LIBRE: .pzCancha pasa los paddings al contenedor de consulta
   (--pl/--pr/--pt/--pb) y el lienzo usa 100cqw/100cqh menos esos márgenes */
body.conBarra #modalPizarra:not(.pzVisor) .pzCancha{--pl:14px;--pr:14px;--pt:78px;--pb:14px;padding:0!important;container-type:size}
body.conBarra #modalPizarra:not(.pzVisor) .pzCancha > #pizarraLienzo{
  width:min(calc(100cqw - var(--pl) - var(--pr)), calc((100cqh - var(--pt) - var(--pb)) * 700 / 450));height:auto;aspect-ratio:700/450;
  margin-left:calc(var(--pl) - var(--pr));margin-top:calc(var(--pt) - var(--pb));transition:width .28s cubic-bezier(.2,.8,.2,1),margin .28s cubic-bezier(.2,.8,.2,1)}
body.conBarra #modalPizarra:not(.pzVisor) .pzEscena:has(#pzPanelIzq:not([hidden])) .pzCancha{--pl:364px}
body.conBarra #modalPizarra:not(.pzVisor) .pzEscena:has(#pzPanelDer:not([hidden])) .pzCancha{--pr:344px}
@media (max-width:1100px){
  body.conBarra #modalPizarra:not(.pzVisor) .pzEscena:has(#pzPanelIzq:not([hidden])) .pzCancha{--pl:320px}
  body.conBarra #modalPizarra:not(.pzVisor) .pzEscena:has(#pzPanelDer:not([hidden])) .pzCancha{--pr:310px}
}
@media (max-width:1023px) and (orientation:portrait){
  body.conBarra #modalPizarra:not(.pzVisor) .pzEscena:has(#pzPanelIzq:not([hidden])) .pzCancha,
  body.conBarra #modalPizarra:not(.pzVisor) .pzEscena:has(#pzPanelDer:not([hidden])) .pzCancha{--pl:14px;--pr:14px;--pb:calc(46cqh + 30px)}
}
@media (max-height:520px){ body.conBarra #modalPizarra:not(.pzVisor) .pzCancha{--pt:54px;--pb:8px} }
@media (prefers-reduced-motion:reduce){ body.conBarra #modalPizarra .pzCancha > #pizarraLienzo{transition:none} }
@media (max-width:1100px){ body.conBarra #modalPizarra:not(.pzVisor) .pzFlotanteIzq{width:296px} body.conBarra #modalPizarra:not(.pzVisor) .pzFlotanteDer{width:290px} }

/* ---------- Liquid Glass según Apple (2026-09-24): vidrio SOLO en navegación y controles;
   el contenido (tarjetas, campos, pastillas internas) va sólido ---------- */
@media (min-width:701px){
  body.conBarra main>.pdHead,body.conBarra main>*>.pdHead{position:sticky;top:0;z-index:30;margin:-16px -18px 20px;padding:16px 18px 12px;
    background:linear-gradient(180deg,rgba(244,243,239,.84),rgba(244,243,239,.5));
    -webkit-backdrop-filter:blur(16px) saturate(180%);backdrop-filter:blur(16px) saturate(180%)}
  body.conBarra :is(.planColDer,.sidePanelCitas,.ctMD .listaCard,.wlRevisar){top:104px}
  body.conBarra .ctMD .listaCard{max-height:calc(100vh - 120px)}
}
body.conBarra .pdHerr :is(.btnS,.btnCirc:not(.lleno)),body.conBarra .pdHerr .fechaNav.pdNav,body.conBarra .pdHerr .semNav.pdNav{
  background:linear-gradient(180deg,rgba(255,255,255,.82),rgba(255,255,255,.52));border:1px solid rgba(255,255,255,.95);color:var(--verde);
  box-shadow:0 10px 24px -12px rgba(0,0,0,.26),inset 0 1px 0 #fff,inset 0 -1px 0 rgba(0,0,0,.03);
  -webkit-backdrop-filter:blur(18px) saturate(180%);backdrop-filter:blur(18px) saturate(180%)}
body.conBarra .pdHerr .btnS:hover{background:linear-gradient(180deg,#fff,rgba(255,255,255,.7))}
body.conBarra .pdHerr :is(.fechaNav,.semNav).pdNav{border-radius:22px;padding:3px}
body.conBarra .pdHerr :is(.fechaNav,.semNav).pdNav button{border-radius:18px}
body.conBarra .pdHerr :is(.fechaNav,.semNav).pdNav input[type=date]{border-radius:18px;box-shadow:none;background:transparent}
body.conBarra .btnP{background:linear-gradient(180deg,#0A3260,#001B39);box-shadow:0 12px 24px -12px rgba(0,27,57,.6),inset 0 1px 0 rgba(255,255,255,.18)}
body.conBarra .pdGrupo{border-radius:18px;box-shadow:0 1px 2px rgba(0,0,0,.04),0 12px 32px -20px rgba(0,0,0,.2)}
body.conBarra .agendaEd .filaAg input.agAct,body.conBarra .agendaEd .agSub input,body.conBarra .agendaEd .ctBox,body.conBarra .agendaEd .selSes{background:#F2F2F7}
body.conBarra .agendaEd .imgAdd{background:#F2F2F7;color:var(--verde)}
body.conBarra .agendaEd .imgAdd:hover{background:#E5E5EA}
@media (max-width:700px){
  body.conBarra .pdGrupo,body.conBarra .wlRes,body.conBarra .wlGraf,body.conBarra .tsDias,body.conBarra .semTablero .dia,
  body.conBarra .agendaEd .editorAgenda,body.conBarra .cvContador,body.conBarra .cardT{
    background:#fff!important;border:none;box-shadow:0 1px 2px rgba(0,0,0,.04),0 10px 26px -18px rgba(0,0,0,.18)!important;
    -webkit-backdrop-filter:none;backdrop-filter:none}
}
@media (prefers-reduced-transparency:reduce){
  body.conBarra main .pdHead,body.conBarra .pdHerr :is(.btnS,.btnCirc,.fechaNav,.semNav){background:#F3F5F8!important;-webkit-backdrop-filter:none;backdrop-filter:none}
}

/* ---------- Celular · Hoy: la agenda se lee y cada bloque se edita en una hoja (2026-09-25) ---------- */
.hoyCel{display:none}
.delTxt{display:none}
@media (max-width:700px){
  body.conBarra .hoyCel{display:block;margin:0 0 22px;font-family:var(--ios)}
  body.conBarra .hcSesion{width:100%;border:none;text-align:left;background:#fff;border-radius:18px;padding:14px 16px;display:flex;flex-direction:column;gap:10px;
    box-shadow:0 1px 2px rgba(0,0,0,.05);font-family:var(--ios);color:#1C1C1E}
  body.conBarra .hcSesion:active{background:#F7F7F5}
  body.conBarra .hcSesCab{display:flex;align-items:center;gap:10px}
  body.conBarra .hcMd{color:#fff;font-size:13px;font-weight:700;padding:4px 10px;border-radius:8px}
  body.conBarra .hcSesCab b{font-size:17px;font-weight:600}
  body.conBarra .hcSesion .hcChev{margin-left:auto;color:#C7C7CC}
  body.conBarra .hcDatos{display:flex;gap:18px;font-size:15px;color:#3A3A3C}
  body.conBarra .hcDatos b{font-weight:600;color:#1C1C1E}
  body.conBarra .hcNoAptos{width:100%;margin-top:10px;border:none;border-radius:12px;min-height:44px;background:#FDF0EE;color:#B3402F;
    font-family:var(--ios);font-size:15px;font-weight:600;display:flex;align-items:center;gap:8px;padding:0 14px}
  body.conBarra .hcNoAptos i{width:8px;height:8px;border-radius:4px;background:#D9534F}
  body.conBarra .hcNoAptos span{margin-left:auto;font-weight:400}
  body.conBarra .hcTit{padding:20px 16px 6px;font-size:13px;font-weight:600;color:#6B6B70}
  body.conBarra .hcLista{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 1px 2px rgba(0,0,0,.05)}
  body.conBarra .hcBloque{position:relative;width:100%;border:none;background:transparent;text-align:left;display:flex;align-items:stretch;gap:12px;
    padding:11px 14px 11px 16px;min-height:64px;font-family:var(--ios);color:#1C1C1E}
  body.conBarra .hcBloque:active{background:#F4F4F2}
  body.conBarra .hcBloque+.hcBloque::before,body.conBarra .hcAhora+.hcBloque::before{content:"";position:absolute;top:0;left:90px;right:0;height:1px;background:var(--sep)}
  body.conBarra .hcAhora+.hcBloque::before{display:none}
  body.conBarra .hcBarra{width:4px;border-radius:2px;background:var(--bc);flex:none}
  body.conBarra .hcHora{width:56px;flex:none;font-size:16px;font-weight:600;color:var(--bc);line-height:1.15;padding-top:1px}
  body.conBarra .hcHora small{display:block;font-size:11px;font-weight:500;opacity:.8}
  body.conBarra .hcTxt{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
  body.conBarra .hcTxt b{font-size:17px;font-weight:600;line-height:1.25}
  body.conBarra .hcTxt span{font-size:13px;color:#6B6B70}
  body.conBarra .hcPz{align-self:center;flex:none;color:#8E8E93}
  body.conBarra .hcBloque .hcChev{align-self:center;flex:none;color:#C7C7CC}
  body.conBarra .hcAhora{display:flex;align-items:center;gap:6px;padding:0 16px;height:16px}
  body.conBarra .hcAhora span{font-size:11px;font-weight:700;color:#FF383C;letter-spacing:.02em}
  body.conBarra .hcAhora i{flex:1;height:2px;border-radius:1px;background:#FF383C}
  body.conBarra .hcVacia{padding:24px 16px;text-align:center;color:#6B6B70;font-size:15px;display:flex;flex-direction:column;align-items:center;gap:12px}

  /* el editor queda escondido: solo se ve el bloque abierto, como hoja */
  body.conBarra .planColIzq .pdSecTit,body.conBarra .planColIzq .pdPieSec,body.conBarra .planColIzq .pdAcciones,
  body.conBarra .agendaEd .addRow,body.conBarra .planColIzq .agVacia,body.conBarra .planColIzq .filaAg:not(.abierto),
  body.conBarra .pdSesion:not(.abierto),body.conBarra .pdNoAptos{display:none}
  body.conBarra .planColIzq .editorAgenda{background:none;box-shadow:none;overflow:visible}
  body.conBarra .planColIzq>.pdSec{margin:0}

  body.conBarra .hojaFondo{position:fixed;inset:0;z-index:91;background:rgba(0,0,0,.28);animation:hojaFondo .26s ease;touch-action:none}
  body.conBarra .planColIzq .filaAg.abierto,body.conBarra .pdSesion.abierto{position:fixed;left:0;right:0;bottom:0;z-index:92;display:flex;flex-direction:column;gap:14px;
    max-height:calc(100dvh - 40px);overflow-y:auto;overscroll-behavior:contain;margin:0;padding:0 16px calc(28px + env(safe-area-inset-bottom));
    background:#F2F2F7;border:none;border-radius:14px 14px 0 0;box-shadow:0 -8px 30px rgba(0,0,0,.18);font-family:var(--ios);align-items:stretch}
  body.conBarra .planColIzq .filaAg.abierto.entra,body.conBarra .pdSesion.abierto{animation:hojaSube .34s cubic-bezier(.32,.72,0,1)}
  body.conBarra .hojaCab{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:center;min-height:54px;margin:0 -16px;padding:10px 16px 0;background:#F2F2F7}
  body.conBarra .hojaAsa{position:absolute;top:6px;left:50%;width:38px;height:5px;margin-left:-19px;border-radius:3px;background:rgba(60,60,67,.3)}
  body.conBarra .hojaCab b{font-size:17px;font-weight:600;color:#1C1C1E}
  body.conBarra .hojaListo{position:absolute;right:4px;top:8px;min-height:44px;padding:0 12px;border:none;background:none;font-family:var(--ios);font-size:17px;font-weight:600;color:var(--verde)}
  body.conBarra .agendaEd .filaAg.abierto .horaCol{display:flex;flex-direction:row;align-items:center;gap:10px;background:#fff;border-radius:12px;padding:8px 10px 8px 16px}
  body.conBarra .agendaEd .filaAg.abierto .horaCol::before{content:"Hora";flex:1;font-size:17px;color:#1C1C1E}
  body.conBarra .agendaEd .filaAg.abierto input.h{width:110px;background:#EEEEF0}
  body.conBarra .agendaEd .filaAg.abierto .campos{display:flex;flex-direction:column;gap:14px}
  body.conBarra .agendaEd .filaAg.abierto input.agAct{background:#fff;min-height:50px;font-size:17px;border-radius:12px}
  body.conBarra .agendaEd .filaAg.abierto .agSub{grid-template-columns:1fr 1fr;gap:10px}
  body.conBarra .agendaEd .filaAg.abierto .agSub input{background:#fff;min-height:48px;border-radius:12px}
  body.conBarra .agendaEd .filaAg.abierto .agCt{flex-direction:column;align-items:stretch;gap:14px}
  body.conBarra .agendaEd .filaAg.abierto .ctBox{background:#fff;border-radius:12px;min-height:50px;padding:8px 10px}
  body.conBarra .agendaEd .filaAg.abierto .selSes{background:#fff;min-height:50px;width:100%;border-radius:12px;padding:0 14px;font-size:17px}
  body.conBarra .agendaEd .filaAg.abierto .agContChip{background:#fff;min-height:48px;border-radius:12px}
  body.conBarra .agendaEd .filaAg.abierto .agCont{background:#fff;border-radius:12px}
  body.conBarra .agendaEd .filaAg.abierto .imgAdd{background:#fff;min-height:48px;flex:1;justify-content:center;border-radius:12px}
  body.conBarra .agendaEd .filaAg.abierto .del{width:100%;height:50px;border-radius:12px;background:#fff;gap:8px;margin:6px 0 0}
  body.conBarra .agendaEd .filaAg.abierto .agContChip{width:100%;justify-content:flex-start;padding:0 14px;font-size:16px}
  body.conBarra .agendaEd .filaAg.abierto .ctAdd{border:none;background:#EEF1EC;color:var(--verde);font-weight:600;min-height:34px}
  body.conBarra .agendaEd .filaAg.abierto .imgRow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  body.conBarra .agendaEd .filaAg.abierto .delTxt{display:inline;font-size:17px;font-family:var(--ios)}
  body.conBarra .pdSesion.abierto .pdSecTit,body.conBarra .pdSesion.abierto .pdInfo{display:none}
  body.conBarra .pdSesion.abierto .pdGrupo{background:#fff}
  body.conBarra #popReloj{z-index:97}
}
@media (max-width:700px) and (prefers-reduced-motion:reduce){
  body.conBarra .planColIzq .filaAg.abierto.entra,body.conBarra .pdSesion.abierto,body.conBarra .hojaFondo{animation:none}
}
html.hojaPlan,html.hojaPlan body{overflow:hidden}

/* ---------- Celular · Semana: tarjeta del partido + lista de días (2026-09-25) ---------- */
.semCel{display:none}
@media (max-width:700px){
  body.conBarra .semCel{display:block;margin:0 0 22px;font-family:var(--ios)}
  body.conBarra .semTablero,body.conBarra .semPartido:not(.abierto){display:none}
  body.conBarra .scPartido{background:var(--verde);color:#fff;border-radius:18px;padding:16px 18px;display:flex;flex-direction:column;gap:12px}
  body.conBarra .scPartidoTxt{border:none;background:none;color:#fff;text-align:left;padding:0;display:flex;flex-direction:column;gap:4px;font-family:var(--ios)}
  body.conBarra .scEyebrow{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:700;color:#2F7FC1;letter-spacing:.02em}
  body.conBarra .scEditar{font-weight:400;color:rgba(255,255,255,.75);font-size:15px;letter-spacing:0}
  body.conBarra .scPartidoTxt b{font-size:28px;font-weight:700;letter-spacing:-.01em;line-height:1.15}
  body.conBarra .scDet{font-size:15px;color:rgba(255,255,255,.82)}
  body.conBarra .scFase{display:flex;align-items:center;gap:6px;font-size:13px;color:rgba(255,255,255,.85);margin-top:2px}
  body.conBarra .scFase i{width:9px;height:9px;border-radius:3px}
  body.conBarra .scSeg{align-self:flex-start;display:flex;background:rgba(255,255,255,.14);border-radius:10px;padding:2px}
  body.conBarra .scSeg button{border:none;background:none;min-height:36px;padding:0 16px;border-radius:8px;color:rgba(255,255,255,.85);font-family:var(--ios);font-size:15px}
  body.conBarra .scSeg button.on{background:#fff;color:var(--verde);font-weight:600}
  body.conBarra .scLista{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 1px 2px rgba(0,0,0,.05)}
  body.conBarra .scDia{position:relative;width:100%;border:none;background:transparent;text-align:left;display:flex;align-items:center;gap:14px;
    padding:0 14px 0 12px;min-height:62px;font-family:var(--ios);color:#1C1C1E}
  body.conBarra .scDia:active{background:#F4F4F2}
  body.conBarra .scDia+.scDia::before{content:"";position:absolute;top:0;left:70px;right:0;height:1px;background:var(--sep)}
  body.conBarra .scFecha{width:44px;height:44px;flex:none;border-radius:22px;background:#F2F2F7;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}
  body.conBarra .scFecha small{font-size:11px;font-weight:700}
  body.conBarra .scFecha b{font-size:17px;font-weight:600}
  body.conBarra .scDia.hoy .scFecha{background:var(--verde);color:#fff}
  body.conBarra .scTxt{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}
  body.conBarra .scFila{display:flex;align-items:center;gap:8px;min-width:0}
  body.conBarra .scFila b{font-size:17px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  body.conBarra .scChip{flex:none;font-size:13px;font-weight:700;padding:2px 8px;border-radius:6px}
  body.conBarra .scChip.md{background:#E3EFE4;color:#2E6B3A}
  body.conBarra .scChip.libre{background:#EEEEF0;color:#6B6B70}
  body.conBarra .scChip.par{background:#F7E1DD;color:#A8372A}
  body.conBarra .scMeta{font-size:13px;color:#6B6B70}
  body.conBarra .scDia .hcChev{flex:none;color:#C7C7CC}
  /* hoja del partido */
  body.conBarra .semPartido.abierto{position:fixed;left:0;right:0;bottom:0;z-index:92;display:flex;flex-direction:column;gap:14px;max-height:calc(100dvh - 40px);
    overflow-y:auto;overscroll-behavior:contain;margin:0;padding:0 16px calc(28px + env(safe-area-inset-bottom));background:#F2F2F7;border-radius:14px 14px 0 0;
    box-shadow:0 -8px 30px rgba(0,0,0,.18);font-family:var(--ios);animation:hojaSube .34s cubic-bezier(.32,.72,0,1)}
  body.conBarra .semPartido.abierto>.pdSecTit,body.conBarra .semPartido.abierto .pdInfo{display:none}
  body.conBarra .semPartido.abierto .meta{display:flex;flex-direction:column;background:#fff;border-radius:12px;overflow:hidden}
  body.conBarra .semPartido.abierto .meta label{border-right:none;border-bottom:1px solid var(--sep);padding:10px 16px}
  body.conBarra .semPartido.abierto .meta label:last-child{border-bottom:none}
  body.conBarra .semPartido.abierto .meta input,body.conBarra .semPartido.abierto .meta select{min-height:44px;font-size:17px}
}
@media (max-width:700px) and (prefers-reduced-motion:reduce){body.conBarra .semPartido.abierto{animation:none}}
.semPartido .meta select[data-sem="condicion"]{border-left:1px solid transparent}
@media (max-width:700px){
  body.conBarra .semPartido.abierto .meta label{display:flex;flex-direction:column;align-items:stretch;gap:6px}
  body.conBarra .semPartido.abierto .meta label>span{font-size:13px;color:#6B6B70}
}

/* ---------- Celular · Plantel estilo Contactos + hoja del jugador (2026-09-25) ---------- */
.plantelCel{display:none}
.pcFila[hidden],.pcGrupo[hidden]{display:none}
@media (max-width:700px){
  body.conBarra .plantelCel{display:block;margin:0 0 22px;font-family:var(--ios)}
  body.conBarra .plSec .plTabla tr:not(.abierto),body.conBarra .plSec .plAdd,body.conBarra .plSec .pdPieSec,body.conBarra .plSec .pdInfo{display:none}
  body.conBarra .plSec .pdGrupo{background:none;box-shadow:none}
  body.conBarra .pcBuscar{display:flex;align-items:center;gap:8px;height:40px;padding:0 12px;border-radius:12px;background:rgba(118,118,128,.12);color:#6B6B70}
  body.conBarra .pcBuscar input{flex:1;min-width:0;border:none;background:none;outline:none;font-family:var(--ios);font-size:17px;color:#1C1C1E;-webkit-appearance:none;appearance:none}
  body.conBarra .pcSeg{margin-top:12px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:#E3E3E8;border-radius:10px;padding:2px}
  body.conBarra .pcSeg button{border:none;background:none;min-height:34px;border-radius:8px;font-family:var(--ios);font-size:15px;color:#1C1C1E;white-space:nowrap}
  body.conBarra .pcSeg button.on{background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.1);font-weight:600}
  body.conBarra .pcLista{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 1px 2px rgba(0,0,0,.05)}
  body.conBarra .pcFila{position:relative;width:100%;border:none;background:transparent;text-align:left;display:flex;align-items:center;gap:12px;
    padding:0 14px;min-height:60px;font-family:var(--ios);color:#1C1C1E}
  body.conBarra .pcFila:active{background:#F4F4F2}
  body.conBarra .pcFila+.pcFila::before{content:"";position:absolute;top:0;left:62px;right:0;height:1px;background:var(--sep)}
  body.conBarra .pcDorsal{width:36px;height:36px;flex:none;border-radius:18px;background:#EEF1EC;color:var(--verde);font-size:15px;font-weight:700;display:flex;align-items:center;justify-content:center}
  body.conBarra .pcTxt{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0}
  body.conBarra .pcTxt b{font-size:17px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  body.conBarra .pcTxt span{font-size:13px;color:#6B6B70;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  body.conBarra .pcEstado{flex:none;display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--ec);
    background:color-mix(in srgb,var(--ec) 12%,#fff);padding:4px 9px;border-radius:10px}
  body.conBarra .pcEstado i{width:7px;height:7px;border-radius:4px;background:var(--ec)}
  /* hoja del jugador = su fila de la tabla */
  body.conBarra .plSec .plTabla tr.abierto{position:fixed;left:0;right:0;bottom:0;z-index:92;display:flex;flex-direction:column;align-items:stretch;gap:12px;
    max-height:calc(100dvh - 40px);overflow-y:auto;overscroll-behavior:contain;padding:0 16px calc(28px + env(safe-area-inset-bottom));background:#F2F2F7;
    border-radius:14px 14px 0 0;box-shadow:0 -8px 30px rgba(0,0,0,.18);font-family:var(--ios);animation:hojaSube .34s cubic-bezier(.32,.72,0,1);border-top:none}
  body.conBarra .plSec .plTabla tr.abierto td{display:flex;flex-direction:column;gap:6px}
  body.conBarra .plSec .plTabla tr.abierto td.plHojaCab{display:block}
  body.conBarra .plSec .plTabla tr.abierto td:not(.plHojaCab):not(.plEval):not(.plDel)::before{font-size:13px;color:#6B6B70;padding-left:4px}
  body.conBarra .plSec .plTabla tr.abierto td.plDorsal::before{content:"Dorsal"}
  body.conBarra .plSec .plTabla tr.abierto td:nth-child(3)::before{content:"Nombre"}
  body.conBarra .plSec .plTabla tr.abierto td.plPos::before{content:"Puesto"}
  body.conBarra .plSec .plTabla tr.abierto td.plEstado::before{content:"Estado"}
  body.conBarra .plSec .plTabla tr.abierto td.plMotivo::before{content:"Motivo"}
  body.conBarra .plSec .plTabla tr.abierto td.plRetorno::before{content:"Retorno estimado"}
  body.conBarra .plSec .plTabla tr.abierto input{background:#fff;min-height:48px;border-radius:12px;font-size:17px;width:100%}
  body.conBarra .plSec .plTabla tr.abierto td.plDorsal input{width:100%;border-radius:12px;background:#fff;text-align:left;padding:0 14px}
  body.conBarra .plSec .plTabla tr.abierto select.estadoJug{min-height:48px;border-radius:12px;background:#fff;font-size:17px}
  body.conBarra .plSec .plTabla tr.abierto .plLink{justify-content:center;min-height:48px;border-radius:12px;background:#fff;font-size:17px}
  body.conBarra .plSec .plTabla tr.abierto .del{width:100%;height:50px;border-radius:12px;background:#fff;gap:8px}
  body.conBarra .plSec .plTabla tr.abierto .delTxt{display:inline;font-size:17px;font-family:var(--ios)}
}
@media (max-width:700px) and (prefers-reduced-motion:reduce){body.conBarra .plSec .plTabla tr.abierto{animation:none}}
@media (max-width:700px){
  body.conBarra .pdHead:has(.pdAccCel){flex-wrap:nowrap}
  body.conBarra .pdHead:has(.pdAccCel) .pdTitulo{flex:1;min-width:0}
}
@media (max-width:700px){
  body.conBarra .plSec .plTabla tr.abierto td.plEval .plLink{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:8px;width:100%;
    min-height:50px;height:auto;border-radius:12px;background:#fff;color:var(--verde);font-size:17px;font-weight:600;text-decoration:none;padding:0}
}

/* ---------- Celular · Carga: listas + hoja del jugador (2026-09-25) ---------- */
.cargaCel{display:none}
@media (max-width:700px){
  body.conBarra .cargaCel{display:block;margin:0 0 22px;font-family:var(--ios)}
  body.conBarra .wlCuadro .wlRevisar,body.conBarra .wlCuadro .wlEscala,body.conBarra .wlCuadro .wlTabla tr:not(.abierto){display:none}
  body.conBarra .wlCuadro .pdGrupo{background:none;box-shadow:none}
  body.conBarra .ccTitAlerta{display:flex;align-items:center;gap:6px;color:#B3342A}
  body.conBarra .ccTitAlerta i{width:8px;height:8px;border-radius:4px;background:#D9534F}
  body.conBarra .ccFila{position:relative;width:100%;border:none;background:transparent;text-align:left;display:flex;align-items:center;gap:10px;
    padding:0 12px;min-height:64px;font-family:var(--ios);color:#1C1C1E}
  body.conBarra .ccFila:active{background:#F4F4F2}
  body.conBarra .ccFila+.ccFila::before{content:"";position:absolute;top:0;left:58px;right:0;height:1px;background:var(--sep)}
  body.conBarra .ccFila .pcDorsal{width:32px;height:32px;font-size:15px}
  body.conBarra .ccFila .pcTxt b{font-size:16px}
  body.conBarra .ccFila .pcTxt span{font-size:12px}
  body.conBarra .ccAlerta{color:#B3342A!important}
  body.conBarra .ccCuadros{display:flex;gap:3px;flex:none}
  body.conBarra .ccCuadros i{width:15px;height:15px;border-radius:4px}
  body.conBarra .ccTot{flex:none;min-width:34px;text-align:center;font-size:15px;font-weight:700;padding:4px 6px;border-radius:8px;color:#8E8E93;background:#F2F2F7}
  body.conBarra .ccFaltan{background:#fff;border-radius:18px;padding:12px;display:flex;flex-wrap:wrap;gap:8px;box-shadow:0 1px 2px rgba(0,0,0,.05)}
  body.conBarra .ccFaltan button{border:none;background:#F2F2F7;border-radius:16px;min-height:36px;padding:0 12px;font-family:var(--ios);font-size:15px;color:#1C1C1E}
  /* hoja */
  body.conBarra .wlCuadro .wlTabla tr.abierto{position:fixed;left:0;right:0;bottom:0;z-index:92;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px 8px;
    max-height:calc(100dvh - 40px);overflow-y:auto;overscroll-behavior:contain;padding:0 16px calc(28px + env(safe-area-inset-bottom));background:#F2F2F7;
    border-radius:14px 14px 0 0;box-shadow:0 -8px 30px rgba(0,0,0,.18);border-top:none;animation:hojaSube .34s cubic-bezier(.32,.72,0,1);font-family:var(--ios)}
  body.conBarra .wlTabla tr.abierto td.wlHojaCab{grid-column:1/-1}
  body.conBarra .wlTabla tr.abierto td.wlJug{display:none}
  body.conBarra .wlTabla tr.abierto td.wlC::before{content:attr(data-l);font-size:12px;color:#6B6B70;font-weight:600}
  body.conBarra .wlTabla tr.abierto .wlIn{min-height:52px;font-size:20px;border-radius:12px}
  body.conBarra .wlTabla tr.abierto td.wlTot{grid-column:1/-1;grid-row:auto;background:#fff;border-radius:12px;padding:12px 16px!important;font-size:17px}
  body.conBarra .wlTabla tr.abierto td.wlTot::before{content:"Total wellness  ";color:#6B6B70;font-size:15px}
  body.conBarra .wlTabla tr.abierto td.wlSepar{grid-column:1/3}
  body.conBarra .wlTabla tr.abierto td.wlMinIn,body.conBarra .wlTabla tr.abierto td.wlC:has(.wlMinIn){grid-column:3/-1}
  body.conBarra .wlTabla tr.abierto td.wlMol{grid-column:1/-1;grid-row:auto;background:#fff;border-radius:12px;padding:12px 16px!important;font-size:15px}
  body.conBarra .wlTabla tr.abierto td.wlMol::before{content:"Molestia: ";color:#6B6B70}
}
@media (max-width:700px) and (prefers-reduced-motion:reduce){body.conBarra .wlCuadro .wlTabla tr.abierto{animation:none}}
@media (max-width:700px){
  body.conBarra .wlCuadro .wlTabla tr.abierto td{order:2}
  body.conBarra .wlCuadro .wlTabla tr.abierto td.wlHojaCab{order:0}
  body.conBarra .wlCuadro .wlTabla tr.abierto td.wlC:not(.wlSepar):not(:has(.wlMinIn)){order:1}
  body.conBarra .wlCuadro .wlTabla tr.abierto td.wlTot{order:3}
  body.conBarra .wlCuadro .wlTabla tr.abierto td.wlSepar,body.conBarra .wlCuadro .wlTabla tr.abierto td.wlC:has(.wlMinIn){order:4;grid-row:auto}
  body.conBarra .wlCuadro .wlTabla tr.abierto td.wlMol{order:5}
  body.conBarra .wlCuadro .wlTabla tr.abierto .wlRpeIn:placeholder-shown,body.conBarra .wlCuadro .wlTabla tr.abierto .wlMinIn:placeholder-shown{background:#fff}
}

/* ---------- Celular · Más con pendientes a la vista + Citas con hoja de nueva cita (2026-09-25) ---------- */
.masVal{font-family:var(--ios);font-size:15px;color:#8E8E93;flex:none;padding:2px 8px;border-radius:10px}
.masVal.alerta{color:#B3342A;background:#FBE6E3;font-weight:600}
.masSalirFila{width:100%;min-height:50px;border:none;background:#fff;font-family:var(--ios);font-size:17px;color:#D9342B;cursor:pointer}
.masSalirFila:active{background:#EFEFF1}
.citasTira{display:none}
@media (max-width:700px){
  body.conBarra .masCuenta .masSalir{display:none}
  body.conBarra .citasTira{display:block}
  body.conBarra .citasGrid .sidePanelCitas:not(.abierto){display:none}
  body.conBarra .citasGrid .sidePanelCitas.abierto{position:fixed;left:0;right:0;bottom:0;top:auto;z-index:92;display:flex;flex-direction:column;gap:12px;order:0;
    max-height:calc(100dvh - 40px);overflow-y:auto;overscroll-behavior:contain;margin:0;padding:0 16px calc(28px + env(safe-area-inset-bottom));background:#F2F2F7;
    border-radius:14px 14px 0 0;box-shadow:0 -8px 30px rgba(0,0,0,.18);font-family:var(--ios);animation:hojaSube .34s cubic-bezier(.32,.72,0,1)}
  body.conBarra .sidePanelCitas.abierto .hojaListo{color:#6B6B70;font-weight:400}
  body.conBarra .sidePanelCitas.abierto>.pdSecTit{display:block;padding:0 4px;font-size:13px;color:#6B6B70}
  body.conBarra .sidePanelCitas.abierto .citaForm{background:#fff}
  body.conBarra .sidePanelCitas.abierto .btnP{min-height:50px;font-size:17px}
}
@media (max-width:700px) and (prefers-reduced-motion:reduce){body.conBarra .citasGrid .sidePanelCitas.abierto{animation:none}}
@media (max-width:700px){ body.conBarra .citasGrid{display:block} body.conBarra .citasGrid>.pdSec{width:100%} }

/* ---------- Celular · Convocatoria (anillo con cupo 21/22) y Tecnificación (marcados arriba) (2026-09-25) ---------- */
.cvCel,.cvAvisoBaja,.tecTira,.tecCel{display:none}
@media (max-width:700px){
  body.conBarra .cvContador{display:none}
  body.conBarra .cvCel{display:flex;align-items:center;gap:16px;background:#fff;border-radius:18px;padding:16px;margin:0 0 10px;font-family:var(--ios);box-shadow:0 1px 2px rgba(0,0,0,.05)}
  body.conBarra .cvAnillo{--c:#2E6B3A;width:78px;height:78px;flex:none;border-radius:39px;background:conic-gradient(var(--c) calc(var(--p)*1%),#E5E5EA 0);display:flex;align-items:center;justify-content:center}
  body.conBarra .cv-pasa .cvAnillo{--c:#C98A1B}
  body.conBarra .cvAnillo>span{width:64px;height:64px;border-radius:32px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}
  body.conBarra .cvAnillo b{font-size:22px;font-weight:700}
  body.conBarra .cvAnillo small{font-size:12px;color:#8E8E93}
  body.conBarra .cvCelTxt{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}
  body.conBarra .cvCelTxt b{font-size:17px;font-weight:600}
  body.conBarra .cvCelTxt small{font-size:13px;color:#6B6B70}
  body.conBarra .cvCelTxt .btnP{margin-top:6px;min-height:42px;border-radius:21px}
  body.conBarra .cvAvisoBaja{display:flex;align-items:center;gap:8px;background:#FBE6E3;color:#8E2A21;border-radius:12px;padding:10px 14px;margin:0 0 14px;font-family:var(--ios);font-size:15px}
  body.conBarra .cvAvisoBaja svg{color:#B3342A;flex:none}
  body.conBarra .cvTabla tr.cvGrupoFila{display:block;min-height:0;padding:0;background:#F3F5F8}
  body.conBarra .cvTabla tr.cvGrupoFila td{display:flex;justify-content:space-between;padding:16px 14px 6px!important;font-family:var(--ios);font-size:13px;font-weight:600;color:#6B6B70}
  body.conBarra .cvTabla tr.cvGrupoFila+tr{border-top:none}
  body.conBarra .cvSec>.pdSecTit,body.conBarra .cvSec .pdGrupo+.pdPieSec{display:none}
  /* Tecnificación */
  body.conBarra .tecTira{display:block}
  body.conBarra .tecTira .tsDia em{font-style:normal;font-size:11px;font-weight:700;color:#7A5EA8;min-height:12px}
  body.conBarra .tecTira .tsDia.on em{color:#2F7FC1}
  body.conBarra .tecCel{display:block;margin:0 0 14px;font-family:var(--ios)}
  body.conBarra .tecChips{background:#fff;border-radius:18px;padding:12px;display:flex;flex-wrap:wrap;gap:8px;box-shadow:0 1px 2px rgba(0,0,0,.05)}
  body.conBarra .tecChip{display:flex;align-items:center;gap:8px;background:#EFEAF6;color:#4E3A75;border-radius:18px;padding:4px 4px 4px 4px;font-size:15px;font-weight:600}
  body.conBarra .tecChip b{width:28px;height:28px;border-radius:14px;background:#7A5EA8;color:#fff;font-size:13px;display:flex;align-items:center;justify-content:center}
  body.conBarra .tecChip button{width:32px;height:32px;border:none;border-radius:16px;background:rgba(78,58,117,.12);color:#4E3A75;display:flex;align-items:center;justify-content:center}
  body.conBarra .tecVacio{font-size:15px;color:#6B6B70;padding:4px}
}
@media (max-width:700px){ body.conBarra #btnPNGConv{display:none} }

/* ---------- Celular · Temporada: tira de fases + lista por mes (2026-09-25) ---------- */
.tempCel{display:none}
@media (max-width:700px){
  body.conBarra .tempCel{display:block;margin:0 0 22px;font-family:var(--ios)}
  body.conBarra .tmSec{display:none}
  body.conBarra .tcCard{background:#fff;border-radius:18px;padding:16px;display:flex;flex-direction:column;gap:10px;box-shadow:0 1px 2px rgba(0,0,0,.05)}
  body.conBarra .tcTira{display:flex;gap:4px;height:36px}
  body.conBarra .tcSeg{flex:1;min-width:6px;border:none;border-radius:6px;padding:0}
  body.conBarra .tcSeg.on{outline:2px solid var(--verde);outline-offset:2px}
  body.conBarra .tcExtremos{display:flex;justify-content:space-between;font-size:12px;color:#8E8E93}
  body.conBarra .tcLeyenda{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13px;color:#3A3A3C}
  body.conBarra .tcLeyenda span{display:flex;align-items:center;gap:6px}
  body.conBarra .tcLeyenda i{width:10px;height:10px;border-radius:3px}
  body.conBarra .tcFila{position:relative;width:100%;border:none;background:transparent;text-align:left;display:flex;align-items:center;gap:12px;padding:0 14px;min-height:62px;font-family:var(--ios);color:#1C1C1E}
  body.conBarra .tcFila.on{background:#F1F5EF}
  body.conBarra .tcFila:active{background:#F4F4F2}
  body.conBarra .tcFila+.tcFila::before{content:"";position:absolute;top:0;left:32px;right:0;height:1px;background:var(--sep)}
  body.conBarra .tcBarra{width:6px;height:38px;border-radius:3px;flex:none}
  body.conBarra .tcFase{flex:none;font-size:13px;font-weight:600;max-width:110px;text-align:right}
  body.conBarra .tcFila .hcChev{flex:none;color:#C7C7CC}
}

/* ---------- Celular · Plantillas (lista de tipos) y Biblioteca (lista + hoja) (2026-09-25) ---------- */
.tplCel,.bibCel{display:none}
.bibFila[hidden]{display:none}
@media (max-width:700px){
  body.conBarra .tplCel{display:block;margin:0 0 16px;font-family:var(--ios)}
  body.conBarra .tplLista .tipoBloque{display:none}
  body.conBarra .tplLista.conAbierto .tipoBloque.abierto{display:block}
  body.conBarra .tplFila{position:relative;width:100%;border:none;background:transparent;text-align:left;display:flex;align-items:center;gap:12px;padding:0 14px;min-height:62px;font-family:var(--ios);color:#1C1C1E}
  body.conBarra .tplFila:active{background:#F4F4F2}
  body.conBarra .tplFila+.tplFila::before{content:"";position:absolute;top:0;left:14px;right:0;height:1px;background:var(--sep)}
  body.conBarra .tplCargaMini{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex:none}
  body.conBarra .tplCargaMini small{font-size:12px;color:#8E8E93}
  body.conBarra .tplCargaMini i{width:56px;height:5px;border-radius:3px;background:#EEEEF0;display:flex;overflow:hidden}
  body.conBarra .tplCargaMini em{height:100%;border-radius:3px}
  body.conBarra .tplFila .hcChev{flex:none;color:#C7C7CC}
  body.conBarra .tplNota{padding:8px 16px 0;font-size:13px;color:#6B6B70}
  body.conBarra .tplVolver{border:none;background:none;display:flex;align-items:center;gap:4px;min-height:44px;padding:0 4px;font-family:var(--ios);font-size:17px;color:var(--verde)}
  body.conBarra .bibCel{display:block;margin:12px 0 22px}
  body.conBarra .bibGrid .bibCard:not(.abierto){display:none}
  body.conBarra .bibFila{position:relative;width:100%;border:none;background:transparent;text-align:left;display:flex;align-items:center;gap:12px;padding:0 14px;min-height:62px;font-family:var(--ios);color:#1C1C1E}
  body.conBarra .bibFila:active{background:#F4F4F2}
  body.conBarra .bibFila+.bibFila::before{content:"";position:absolute;top:0;left:62px;right:0;height:1px;background:var(--sep)}
  body.conBarra .bibIco{width:36px;height:36px;flex:none;border-radius:9px;background:#4B9440;color:#fff;display:flex;align-items:center;justify-content:center}
  body.conBarra .bibFila .hcChev{flex:none;color:#C7C7CC}
  body.conBarra .bibGrid .bibCard.abierto{position:fixed;left:0;right:0;bottom:0;z-index:92;display:flex;flex-direction:column;gap:12px;max-height:calc(100dvh - 40px);
    overflow-y:auto;overscroll-behavior:contain;margin:0;padding:0 16px calc(28px + env(safe-area-inset-bottom));background:#F2F2F7;border:none;border-radius:14px 14px 0 0;
    box-shadow:0 -8px 30px rgba(0,0,0,.18);font-family:var(--ios);animation:hojaSube .34s cubic-bezier(.32,.72,0,1)}
  body.conBarra .bibCard.abierto .bibCampos{display:flex;flex-direction:column;gap:10px}
  body.conBarra .bibCard.abierto input{background:#fff;min-height:46px;border-radius:12px;font-size:17px}
}
@media (max-width:700px){
  body.conBarra .hsChips{flex-wrap:nowrap;overflow-x:auto;margin:0 -18px 18px;padding:0 18px 2px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  body.conBarra .hsChips::-webkit-scrollbar{display:none}
  body.conBarra .hsChip{flex:none}
}

/* ---------- Partido · antes del partido (fase 1) ---------- */
.ptGuia{display:flex;flex-direction:column;gap:6px;align-items:flex-start;background:#fff;border:1px solid var(--oro);border-radius:14px;padding:16px 18px;font-family:var(--ios)}
.ptGuia b{font-size:17px}
.ptGuia span{font-size:15px;color:var(--gris2)}
.ptVolver{display:inline-flex;align-items:center;gap:2px;min-height:44px;margin:0 0 2px -8px;padding:0 8px;border:none;background:none;color:var(--verde);font-family:var(--ios);font-size:17px}
.ptMeta{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));background:#fff;border-radius:14px;box-shadow:0 1px 2px rgba(0,0,0,.05);overflow:hidden}
.ptMeta label{display:flex;flex-direction:column;gap:4px;margin:0;padding:10px 14px;border-right:1px solid var(--sep);font-size:13px;font-weight:600;color:var(--gris2)}
.ptMeta label:last-child{border-right:none}
.ptMeta input{width:100%;min-height:44px;border:1px solid transparent;border-radius:9px;background:#F6F6F4;padding:0 10px;font-family:var(--ios);font-size:16px;font-weight:500;color:#1C1C1E}
.ptMeta input:focus{background:#fff;border-color:var(--verde);box-shadow:0 0 0 3px rgba(0,27,57,.12);outline:none}
.ptFilaSeg{display:flex;gap:14px 28px;flex-wrap:wrap;margin-top:8px}
.ptFilaSeg>div{display:flex;flex-direction:column;gap:6px;min-width:260px}
.ptEtq{padding:0 4px;font-size:13px;font-weight:600;color:var(--gris2)}
.ptNota{padding:0 4px;font-size:13px;color:var(--gris2)}
.ptSeg{display:flex;gap:2px;background:#E6E4DC;border-radius:12px;padding:3px}
.ptSeg button{flex:1;min-height:44px;border:none;border-radius:10px;background:transparent;font-family:var(--ios);font-size:15px;font-weight:600;color:#3C3C43;padding:0 10px}
.ptSeg button.on{background:#fff;color:var(--verde);font-weight:700;box-shadow:0 1px 3px rgba(0,0,0,.12)}
.ptFormLibre{display:flex;flex-direction:column;gap:4px;font-family:var(--ios)}
.ptFormLibre>span{padding:0 4px;font-size:13px;font-weight:600;color:var(--gris2)}
.ptFormLibre input{min-height:48px;border:1px solid transparent;border-radius:12px;background:#fff;padding:0 14px;font-family:var(--ios);font-size:20px;font-weight:700;letter-spacing:.04em;color:var(--verde)}
.ptFormLibre input:focus{border-color:var(--verde);box-shadow:0 0 0 3px rgba(0,27,57,.12);outline:none}
.ptFormLibre small{padding:0 4px;font-size:13px;color:var(--gris2)}
.ptFormLibre small.error{color:var(--partidoB);font-weight:600}
.ptArmado{display:grid;grid-template-columns:minmax(260px,420px) minmax(0,1fr);gap:20px;align-items:start}
.ptArmado.ptBloq{pointer-events:none;opacity:.6}
.ptBloqAviso{display:flex;align-items:center;gap:10px;margin:0 0 14px;padding:12px 16px;border-radius:14px;background:rgba(0,27,57,.07);color:var(--verde);font-family:var(--ios);font-size:15px;line-height:1.35}
.ptBloqAviso svg{flex:none}
.ptBloqAviso span{color:#1C1C1E}
.ptBloqAviso b{color:var(--verde);font-weight:600}
.ptCanchaCol{display:flex;flex-direction:column;gap:12px}
.ptCancha{position:relative;width:100%;aspect-ratio:68/100;border-radius:18px;overflow:hidden;
  background:repeating-linear-gradient(0deg,#5F9C6D 0,#5F9C6D 8.33%,#57936A 8.33%,#57936A 16.66%)}
.ptL{position:absolute;border:2px solid rgba(255,255,255,.8);pointer-events:none}
.ptBorde{inset:10px;border-radius:3px}
.ptMedio{left:10px;right:10px;top:50%;height:0;border-width:2px 0 0}
.ptCirc{left:50%;top:50%;width:26%;aspect-ratio:1;border-radius:50%;transform:translate(-50%,-50%)}
.ptAreaA{left:22%;right:22%;top:10px;height:15%;border-top:none}
.ptAreaB{left:22%;right:22%;bottom:10px;height:15%;border-bottom:none}
.ptFicha{position:absolute;transform:translate(-50%,-50%);width:70px;min-height:58px;padding:4px;border:none;border-radius:16px;
  background:rgba(255,255,255,.96);color:var(--verde);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
  font-family:var(--ios);box-shadow:0 3px 10px rgba(0,0,0,.2);-webkit-tap-highlight-color:transparent}
.ptFicha b{font-size:22px;font-weight:800;line-height:1}
.ptFicha span{font-size:12px;font-weight:600;max-width:64px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ptFicha:not(.lleno){background:rgba(255,255,255,.3);color:#fff;border:2px dashed rgba(255,255,255,.95);box-shadow:none}
.ptFicha.sel{outline:4px solid var(--oro);outline-offset:2px}
.ptFicha:active{transform:translate(-50%,-50%) scale(.95)}
.ptAcciones{display:flex;gap:10px;flex-wrap:wrap}
.pdGrupo .ptAcciones{padding:12px 16px}
.ptPool{max-height:720px;overflow-y:auto}
.ptPoolCab{position:sticky;top:0;z-index:1;display:flex;flex-direction:column;gap:2px;padding:12px 16px;background:rgba(255,255,255,.95);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--sep);font-family:var(--ios);font-size:13px;font-weight:600;color:var(--gris2)}
.ptPoolCab span{font-size:16px;font-weight:500;color:#1C1C1E}
.ptGrupoTit{padding:8px 16px;background:#FAF9F6;font-family:var(--ios);font-size:12px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--gris2)}
.ptJug{display:flex;align-items:center;gap:12px;width:100%;min-height:56px;padding:6px 16px;border:none;border-top:1px solid var(--sep);background:#fff;text-align:left;font-family:var(--ios)}
.ptGrupoTit+.ptJug{border-top:none}
.ptDorsal{flex:none;width:38px;height:38px;border-radius:19px;background:#EEEDE7;color:var(--verde);font-size:16px;font-weight:800;display:flex;align-items:center;justify-content:center}
.ptJug.tit .ptDorsal{background:var(--verde);color:#fff}
.ptJugTxt{flex:1;min-width:0;display:flex;flex-direction:column}
.ptJugTxt b{font-size:16px;font-weight:600;color:#1C1C1E}
.ptJugTxt span{font-size:13px;color:var(--gris2)}
.ptChip{flex:none;padding:3px 8px;border-radius:8px;background:#E7F0EA;color:var(--verde);font-size:13px;font-weight:700}
@media (max-width:900px){
  .ptArmado{gap:14px}
  .ptSeg button{padding:0 4px;font-size:13px}
  }
@media (max-width:700px){
  .ptArmado{grid-template-columns:1fr}
  .ptPool{max-height:none}
  .ptMeta{display:flex;flex-direction:column}
  .ptMeta label{flex-direction:row;align-items:center;gap:12px;padding:6px 8px 6px 16px;border-right:none;min-height:52px}
  .ptMeta label+label{border-top:1px solid var(--sep)}
  .ptMeta label>span{flex:none;width:112px;font-size:15px;color:#1C1C1E;font-weight:500}
  .ptFilaSeg>div{min-width:0;width:100%}
  .ptFicha{width:58px;min-height:50px}
  .ptFicha b{font-size:20px}
  .ptFicha span{font-size:11px;max-width:54px}
}
.ptSegForm{flex-wrap:wrap}
.ptSegForm button{flex:1 0 auto;white-space:nowrap;padding:0 8px}

/* ---------- Partido · tablero en vivo (fase 2; diseño de prototipos/partido-vivo.html). Vidrio solo en barra y dock ---------- */
#tbPartido{position:fixed;inset:0;z-index:90;font-family:var(--ios);color:#1C1C1E;-webkit-font-smoothing:antialiased;overflow:hidden;
  background:radial-gradient(60% 50% at 8% 0%,rgba(0,27,57,.10),transparent 70%),radial-gradient(50% 45% at 100% 10%,rgba(47,127,193,.14),transparent 70%),
  radial-gradient(60% 50% at 70% 100%,rgba(0,27,57,.06),transparent 70%),#F3F5F8}
#tbPartido[hidden]{display:none}
html.tbAbierto,html.tbAbierto body{overflow:hidden}
#tbPartido button{font-family:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}
#tbPartido button:active{transform:scale(.96);transition:transform .08s ease-out}
#tbPartido button:focus{outline:none}
#tbPartido button:focus-visible{outline:3px solid rgba(47,127,193,.9);outline-offset:2px}
#tbPartido .tbCargando{display:flex;align-items:center;justify-content:center;height:100%;font-size:17px;color:var(--gris2)}
#tbPartido .tbApp{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:12px;padding:max(12px,env(safe-area-inset-top)) 14px max(14px,env(safe-area-inset-bottom))}
#tbPartido .tbVidrio{background:linear-gradient(180deg,rgba(255,255,255,.86),rgba(255,255,255,.62));border:1px solid rgba(255,255,255,.95);
  box-shadow:0 10px 26px -8px rgba(0,0,0,.2),0 1px 3px rgba(0,0,0,.06),inset 0 1px 0 #fff;-webkit-backdrop-filter:blur(28px) saturate(140%);backdrop-filter:blur(28px) saturate(140%)}
@media (prefers-reduced-transparency:reduce){#tbPartido .tbVidrio{background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none}}
#tbPartido .tbI{color:var(--verde)}
#tbPartido .tbR{color:#C8352A}
#tbPartido .tbGu{color:#C7C7CC}
#tbPartido .tbBarra{display:flex;align-items:center;justify-content:space-between;gap:12px}
#tbPartido .tbCapsula{display:flex;align-items:center;gap:12px;min-height:60px;padding:6px 8px 6px 10px;border-radius:30px}
#tbPartido .tbSalir{width:44px;height:44px;border:none;border-radius:22px;background:rgba(0,27,57,.08);color:var(--verde);display:flex;align-items:center;justify-content:center}
#tbPartido .tbSub{font-size:12px;font-weight:600;color:var(--gris2)}
#tbPartido .tbMarc{display:flex;align-items:baseline;gap:10px;font-weight:800;letter-spacing:-.02em;padding-right:10px}
#tbPartido .tbEq{font-size:15px}
#tbPartido .tbNum{font-size:28px;font-variant-numeric:tabular-nums}
#tbPartido .tbReloj{padding-left:18px}
#tbPartido .tbPer{font-size:15px;font-weight:700;color:var(--gris2)}
#tbPartido .tbTiempo{font-size:28px;font-weight:700;font-variant-numeric:tabular-nums;min-width:92px;text-align:center}
#tbPartido .tbCirc{width:48px;height:48px;border-radius:24px;border:none;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(180deg,#0A3260,#001B39);color:#fff;box-shadow:0 10px 20px -10px rgba(0,27,57,.7),inset 0 1px 0 rgba(255,255,255,.2)}
#tbPartido .tbBtnV{min-height:48px;padding:0 18px;border:none;border-radius:24px;background:transparent;color:var(--verde);font-size:16px;font-weight:600}
#tbPartido .tbBtnV.p{background:linear-gradient(180deg,#0A3260,#001B39);color:#fff;box-shadow:0 10px 20px -10px rgba(0,27,57,.7),inset 0 1px 0 rgba(255,255,255,.2)}
#tbPartido .tbFinTxt{padding:0 14px;font-size:16px;font-weight:700;color:var(--verde)}
#tbPartido .tbCentro{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;min-height:0}
#tbPartido .tbCanchaCaja{position:relative;height:100%;aspect-ratio:450/700;border-radius:22px;overflow:hidden;box-shadow:0 18px 40px -22px rgba(0,0,0,.45);min-height:0}
#tbPartido .tbCanchaCaja svg{position:absolute;inset:0;width:100%;height:100%}
#tbPartido .tbAtaca{position:absolute;left:12px;top:12px;padding:6px 12px;border-radius:14px;font-size:13px;font-weight:700;color:var(--verde)}
#tbPartido .tbFicha{position:absolute;transform:translate(-50%,-50%);border:none;background:none;padding:0;display:flex;flex-direction:column;align-items:center;gap:3px}
#tbPartido .tbFicha{touch-action:none;-webkit-user-select:none;user-select:none}
#tbPartido .tbFicha.arrastrando{z-index:20;transition:none;filter:drop-shadow(0 10px 14px rgba(0,0,0,.35))}
#tbPartido .tbFicha:active{transform:translate(-50%,-50%) scale(.95)}
#tbPartido .tbFicha:focus-visible{outline:none}
#tbPartido .tbFicha:focus-visible .tbBola{box-shadow:0 0 0 3px #fff,0 0 0 6px var(--oro),0 4px 10px rgba(0,0,0,.35)}
#tbPartido .tbBola{position:relative;width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.6),rgba(255,255,255,0) 42%),radial-gradient(circle at 50% 50%,#1B4F85,#0A3260 62%,#001B39);
  border:3px solid #fff;color:#fff;font-size:20px;font-weight:800;letter-spacing:-.02em;box-shadow:0 4px 10px rgba(0,0,0,.35)}
#tbPartido .tbNom{padding:2px 8px;border-radius:9px;background:rgba(255,255,255,.96);font-size:11px;font-weight:800;letter-spacing:.04em;color:#1C1C1E;box-shadow:0 1px 3px rgba(0,0,0,.2);max-width:92px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#tbPartido .tbBadge{position:absolute;top:-6px;right:-8px;min-width:22px;height:22px;padding:0 5px;border-radius:11px;background:#001B39;color:#fff;font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center;border:2px solid #fff}
#tbPartido .tbTarj{position:absolute;bottom:-3px;right:-5px;width:11px;height:15px;border-radius:2px;border:1.5px solid #fff}
#tbPartido .tbFicha.sel .tbBola{background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.45),rgba(255,255,255,0) 42%),radial-gradient(circle at 50% 50%,#5A9BD5,#2F7FC1 70%);border-color:#fff;color:#fff;box-shadow:0 0 0 6px rgba(47,127,193,.5),0 4px 10px rgba(0,0,0,.35)}
#tbPartido .tbFicha.sel .tbBadge{background:#fff;color:#001B39}
#tbPartido .tbFicha.espera .tbBola{animation:tbPulso 1.1s ease-in-out infinite}
@keyframes tbPulso{50%{box-shadow:0 0 0 7px rgba(47,127,193,.75),0 4px 10px rgba(0,0,0,.35)}}
#tbPartido .tbLado{display:flex;gap:14px;min-height:0;min-width:0}
#tbPartido .tbTarjeta{background:#fff;border-radius:20px;box-shadow:0 1px 2px rgba(0,0,0,.04),0 12px 32px -20px rgba(0,0,0,.2)}
#tbPartido .tbVivo{flex:1;min-width:0;padding:16px 20px;display:flex;flex-direction:column;gap:9px;overflow:auto}
#tbPartido .tbTit{display:flex;justify-content:space-between;align-items:baseline}
#tbPartido .tbTit b{font-size:20px;font-weight:800}
#tbPartido .tbLey{font-size:13px;font-weight:700}
#tbPartido .tbFila{display:flex;flex-direction:column;gap:4px}
#tbPartido .tbN{display:flex;justify-content:space-between;font-size:16px}
#tbPartido .tbA{font-weight:800;color:var(--verde);width:34px;font-variant-numeric:tabular-nums}
#tbPartido .tbB{font-weight:800;color:#C8352A;width:34px;text-align:right;font-variant-numeric:tabular-nums}
#tbPartido .tbL{font-weight:600;color:#3C3C43}
#tbPartido .tbBarras{display:flex;gap:3px;height:6px}
#tbPartido .tbBarras i{display:block;border-radius:3px;transition:width .35s cubic-bezier(.2,.8,.2,1)}
#tbPartido .tbTiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding-top:4px}
#tbPartido .tbTile{padding:8px 10px;border-radius:14px;background:#F2F2F7;display:flex;flex-direction:column}
#tbPartido .tbTile b{font-size:20px;font-weight:800;color:var(--verde);font-variant-numeric:tabular-nums;white-space:nowrap}
#tbPartido .tbTile span{font-size:12px;font-weight:600;color:var(--gris2)}
#tbPartido .tbSecTit{font-size:12px;font-weight:700;color:var(--gris2);letter-spacing:.03em}
#tbPartido .tbFl{display:flex;justify-content:space-between;align-items:center;gap:10px}
#tbPartido .tbAnotar{margin-top:auto;display:flex;flex-direction:column;gap:8px;padding-top:10px;border-top:1px solid var(--sep)}
#tbPartido .tbRapidas{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
#tbPartido .tbRapidas button{height:54px;border:none;border-radius:16px;background:#F2F2F7;color:var(--verde);font-size:16px;font-weight:700}
#tbPartido .tbRapidas button.rem{background:#E7F0EA}
#tbPartido .tbRapidas button.on{background:var(--verde);color:#fff}
#tbPartido .tbCres button{background:#fff;border:1.5px solid #E5E5EA}
#tbPartido .tbCres button.rem{background:#E7F0EA;border-color:transparent}
#tbPartido .tbCres button.gol{background:var(--oro);border-color:transparent;color:#fff;font-weight:800}
#tbPartido .tbQuien{display:flex;align-items:center;gap:10px;min-height:40px;padding:2px 4px 2px 12px;border-radius:14px;background:rgba(47,127,193,.18)}
#tbPartido .tbQuien b{font-size:17px;font-weight:800;color:var(--verde)}
#tbPartido .tbQuien span{flex:1;font-size:15px;color:#3C3C43}
#tbPartido .tbQuien button{min-height:40px;padding:0 14px;border:none;border-radius:20px;background:rgba(0,27,57,.08);color:var(--verde);font-size:15px;font-weight:700}
#tbPartido .tbBanco{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}
#tbPartido .tbBanco button{display:flex;align-items:center;gap:10px;min-height:54px;padding:0 12px;border:none;border-radius:16px;background:#F2F2F7;color:#1C1C1E;font-size:15px;font-weight:600;text-align:left}
#tbPartido .tbBD{flex:none;width:34px;height:34px;border-radius:17px;background:var(--verde);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center}
#tbPartido .tbVacio{font-size:15px;color:var(--gris2)}
#tbPartido .tbRival{width:270px;flex:none;padding:16px;display:flex;flex-direction:column;gap:10px}
#tbPartido .tbRival h3{margin:0;font-size:17px;font-weight:800;color:#C8352A;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#tbPartido .tbRival small{font-size:13px;color:var(--gris2)}
#tbPartido .tbCont{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
#tbPartido .tbCont button{height:74px;border:none;border-radius:16px;background:#F8E6E4;color:#C8352A;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}
#tbPartido .tbCont button b{font-size:22px;font-weight:800;line-height:1;font-variant-numeric:tabular-nums}
#tbPartido .tbCont button span{font-size:13px;font-weight:700}
#tbPartido .tbGolRival{height:60px;border:none;border-radius:16px;background:#C8352A;color:#fff;font-size:17px;font-weight:800}
#tbPartido .tbColPanel{flex:1;display:flex;flex-direction:column;gap:14px;min-width:0}
#tbPartido .tbPanel{flex:1;min-width:0;padding:14px 18px;display:flex;flex-direction:column;gap:8px;overflow:auto;animation:tbSube .28s cubic-bezier(.2,.8,.2,1)}
@keyframes tbSube{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
#tbPartido .tbPCab{display:flex;align-items:center;gap:14px}
#tbPartido .tbPDorsal{flex:none;width:50px;height:50px;border-radius:25px;background:var(--oro);color:#fff;font-size:22px;font-weight:800;display:flex;align-items:center;justify-content:center}
#tbPartido .tbPT{flex:1;min-width:0;display:flex;flex-direction:column}
#tbPartido .tbPT b{font-size:22px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#tbPartido .tbPT span{font-size:15px;color:var(--gris2)}
#tbPartido .tbCerrarP{height:44px;padding:0 16px;border:none;border-radius:22px;background:#F2F2F7;color:var(--verde);font-size:15px;font-weight:700}
#tbPartido .tbPenal{flex:none;min-height:34px;padding:0 14px;border:none;border-radius:17px;background:rgba(179,64,47,.1);color:var(--partidoB);font-size:13px;font-weight:800;letter-spacing:.04em}
#tbPartido .tbRemate{display:flex;gap:10px}
#tbPartido .tbMini{width:340px;height:170px;flex:none;border-radius:16px;overflow:hidden;cursor:crosshair;touch-action:none}
#tbPartido .tbMini svg{display:block;width:100%;height:100%}
#tbPartido .tbRes{flex:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
#tbPartido .tbRes button,#tbPartido .tbAcc button{border:none;border-radius:16px;background:#F2F2F7;color:var(--verde);font-size:17px;font-weight:700}
#tbPartido .tbRes button.gol{background:var(--oro);color:#fff;font-weight:800}
#tbPartido .tbAcc{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
#tbPartido .tbAcc button{height:50px;font-size:16px}
#tbPartido .tbAcc.tbMas button{background:#fff;border:1.5px solid #E5E5EA}
#tbPartido .tbExtra{display:flex;gap:8px}
#tbPartido .tbExtra button{flex:1;height:46px;border:1.5px solid #E5E5EA;border-radius:16px;background:#fff;font-size:15px;font-weight:700;color:#1C1C1E;display:flex;align-items:center;justify-content:center;gap:8px}
#tbPartido .tbCarta{width:13px;height:18px;border-radius:3px}
#tbPartido .tbMasBtn{flex:none;min-height:44px;border:none;border-radius:14px;background:transparent;color:var(--verde);font-size:15px;font-weight:700}
#tbPartido .tbTira{height:62px;flex:none;display:flex;align-items:center;padding:0 8px}
#tbPartido .tbTira>div{flex:1;display:flex;flex-direction:column;align-items:center;border-right:1px solid var(--sep)}
#tbPartido .tbTira>div:last-child{border-right:none}
#tbPartido .tbTira b{font-size:20px;font-weight:800;font-variant-numeric:tabular-nums}
#tbPartido .tbTira>div>span{font-size:12px;font-weight:600;color:var(--gris2)}
#tbPartido .tbDock{display:flex;align-items:center;gap:6px;padding:6px;border-radius:32px}
#tbPartido .tbDb{min-height:58px;padding:0 20px;border:none;border-radius:26px;background:transparent;color:var(--verde);font-size:17px;font-weight:700}
#tbPartido .tbDb.on{background:rgba(0,27,57,.1)}
#tbPartido .tbDb.gol{background:linear-gradient(180deg,#1B4F85,#001B39);color:#fff;font-weight:800;padding:0 26px;box-shadow:inset 0 1px 0 rgba(255,255,255,.5)}
#tbPartido .tbSepV{width:1px;height:34px;background:var(--sep);margin:0 6px}
#tbPartido .tbUltima{flex:1;min-width:0;display:flex;align-items:center;gap:10px;padding:0 6px 0 10px}
#tbPartido .tbTx{flex:1;min-width:0;display:flex;flex-direction:column}
#tbPartido .tbTx small{font-size:11px;font-weight:700;color:var(--gris2);letter-spacing:.04em}
#tbPartido .tbTx span{font-size:15px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#tbPartido .tbDeshacer{min-height:48px;padding:0 16px;border:none;border-radius:24px;background:rgba(179,64,47,.1);color:var(--partidoB);font-size:15px;font-weight:700}
#tbPartido .tbPopCorner{position:fixed;left:14px;bottom:92px;z-index:5;display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:24px;animation:tbSube .22s cubic-bezier(.2,.8,.2,1)}
#tbPartido .tbPopCorner>span{padding:0 6px;font-size:13px;font-weight:700;color:var(--gris2)}
#tbPartido .tbPopCorner>div{display:flex;gap:8px}
#tbPartido .tbPopCorner button{min-width:150px;height:64px;border:none;border-radius:18px;background:linear-gradient(180deg,#0A3260,#001B39);color:#fff;font-size:17px;font-weight:800}
#tbPartido .tbAviso{position:fixed;left:26px;top:82px;z-index:6;padding:10px 18px;border-radius:22px;font-size:15px;font-weight:600;color:var(--verde);opacity:0;pointer-events:none;transition:opacity .2s}
#tbPartido .tbAviso.on{opacity:1}
@media (prefers-reduced-motion:reduce){#tbPartido .tbPanel,#tbPartido .tbPopCorner{animation:none}#tbPartido .tbFicha.espera .tbBola{animation:none;box-shadow:0 0 0 5px rgba(47,127,193,.75)}}
@media (max-width:1100px){
  #tbPartido .tbRival{width:200px}
  #tbPartido .tbMini{width:240px;height:120px}
  #tbPartido .tbDb{padding:0 12px;font-size:15px}
}
@media (max-width:820px){
  #tbPartido{overflow:auto}
  #tbPartido .tbApp{height:auto;min-height:100%}
  #tbPartido .tbCentro{grid-template-columns:1fr}
  #tbPartido .tbCanchaCaja{height:auto;width:100%;max-width:460px;margin:0 auto}
  #tbPartido .tbLado{flex-direction:column}
  #tbPartido .tbRival{width:auto}
  #tbPartido .tbBarra{flex-wrap:wrap}
  #tbPartido .tbDock{flex-wrap:wrap;border-radius:24px}
  #tbPartido .tbRemate{flex-direction:column}
}
/* Partido · pedido de Jean (2026-09-25): MÁS Liquid Glass también en el contenido del tablero (excepción a la regla
   "vidrio solo en controles" del resto de la app — no revertir). Fondo con manchas más marcadas para que se note. */
#tbPartido{background:radial-gradient(55% 45% at 6% 0%,rgba(0,27,57,.22),transparent 70%),radial-gradient(45% 40% at 100% 8%,rgba(47,127,193,.28),transparent 70%),
  radial-gradient(55% 45% at 72% 100%,rgba(0,27,57,.08),transparent 70%),radial-gradient(35% 30% at 30% 70%,rgba(52,199,89,.10),transparent 70%),#F1F0EB}
#tbPartido .tbTarjeta{background:linear-gradient(180deg,rgba(255,255,255,.78),rgba(255,255,255,.56));border:1px solid rgba(255,255,255,.92);
  box-shadow:0 14px 34px -18px rgba(0,0,0,.28),0 1px 2px rgba(0,0,0,.04),inset 0 1px 0 #fff;-webkit-backdrop-filter:blur(30px) saturate(160%);backdrop-filter:blur(30px) saturate(160%)}
#tbPartido .tbRapidas button,#tbPartido .tbAcc button,#tbPartido .tbRes button,#tbPartido .tbTile,#tbPartido .tbBanco button,#tbPartido .tbCerrarP{
  background:rgba(255,255,255,.62);border:1px solid rgba(255,255,255,.95);box-shadow:0 4px 12px -8px rgba(0,0,0,.25),inset 0 1px 0 #fff}
#tbPartido .tbRapidas button.rem{background:rgba(231,240,234,.85)}
#tbPartido .tbRapidas button.on{background:var(--verde);border-color:var(--verde)}
#tbPartido .tbRes button.gol,#tbPartido .tbCres button.gol{background:linear-gradient(180deg,#6FA8DA,var(--oro));border-color:rgba(255,255,255,.6)}
#tbPartido .tbCont button{background:rgba(232,238,245,.8);border:1px solid rgba(255,255,255,.95);box-shadow:inset 0 1px 0 #fff}
@media (prefers-reduced-transparency:reduce){#tbPartido .tbTarjeta{background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none}}
html.tbAbierto #modalCompartir{z-index:100}
#tbPartido .tbPopTl button{min-width:170px}
#tbPartido .tbHoy{display:flex;flex-wrap:wrap;gap:6px}
#tbPartido .tbHoy span{padding:4px 10px;border-radius:12px;background:rgba(231,240,234,.9);font-size:13px;color:var(--verde)}
#tbPartido .tbHoy b{font-weight:800}
#tbPartido .tbHojaFondo{position:fixed;inset:0;z-index:7;background:rgba(20,24,22,.18)}
#tbPartido .tbHoja{position:fixed;z-index:8;left:50%;top:50%;transform:translate(-50%,-50%);width:min(1040px,calc(100% - 28px));max-height:calc(100% - 40px);
  display:flex;flex-direction:column;gap:10px;padding:16px 18px;border-radius:28px;animation:tbSube .24s cubic-bezier(.2,.8,.2,1)}
#tbPartido .tbHojaCab{display:flex;align-items:center;gap:14px}
#tbPartido .tbHojaCab b{font-size:20px;font-weight:800;white-space:nowrap}
#tbPartido .tbHojaCab span{flex:1;font-size:13px;color:var(--gris2)}
#tbPartido .tbHojaCab button{min-height:44px;padding:0 16px;border:none;border-radius:22px;background:rgba(0,27,57,.08);color:var(--verde);font-size:15px;font-weight:700}
#tbPartido .tbTablaWrap{overflow:auto;border-radius:18px;background:rgba(255,255,255,.7)}
#tbPartido .tbTabla{width:100%;border-collapse:collapse;font-size:15px;font-variant-numeric:tabular-nums}
#tbPartido .tbTabla th{position:sticky;top:0;background:rgba(248,248,246,.96);padding:10px 8px;font-size:12px;font-weight:700;color:var(--gris2);text-align:center;white-space:nowrap}
#tbPartido .tbTabla td{padding:9px 8px;text-align:center;border-top:1px solid var(--sep);font-weight:700;color:var(--verde)}
#tbPartido .tbTabla td.cero{color:#C7C7CC;font-weight:500}
#tbPartido .tbTabla .tbTD{font-weight:800}
#tbPartido .tbTabla .tbTN{text-align:left;color:#1C1C1E;font-weight:600;white-space:nowrap}
#tbPartido .tbTabla th:nth-child(2){text-align:left}
/* iPad vertical: cancha + rival arriba, en vivo/panel abajo, sin tener que desplazarse */
@media (orientation:portrait) and (min-width:700px){
  #tbPartido{overflow:hidden}
  #tbPartido .tbApp{height:100%}
  #tbPartido .tbCentro{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}
  #tbPartido .tbCanchaCaja{grid-column:1;grid-row:1;height:min(46vh,560px);width:auto;justify-self:center;max-width:none;margin:0}
  #tbPartido .tbLado{display:contents}
  #tbPartido .tbRival{grid-column:2;grid-row:1;width:auto;align-self:stretch}
  #tbPartido .tbVivo,#tbPartido .tbColPanel{grid-column:1/-1;grid-row:2;min-height:0}
  #tbPartido .tbBarra{flex-wrap:nowrap}
  #tbPartido .tbDock{flex-wrap:nowrap;border-radius:32px}
  #tbPartido .tbRemate{flex-direction:row}
  #tbPartido .tbMini{width:280px;height:140px}
  #tbPartido .tbDb{padding:0 10px;font-size:15px}
  #tbPartido .tbCapsula .tbBtnV{padding:0 12px;font-size:15px}
}
@media (max-height:860px) and (orientation:landscape){
  #tbPartido .tbMini{width:260px;height:130px}
  #tbPartido .tbAcc button{height:44px}
  #tbPartido .tbExtra button{height:42px}
  #tbPartido .tbPanel{gap:6px;padding:12px 16px}
  #tbPartido .tbTira{height:56px}
}
#tbPartido .tbHoja{background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(255,255,255,.84))}
@media (max-width:1200px){ #tbPartido .tbRival{width:210px} #tbPartido .tbCont button{height:64px} }
@media (max-height:900px) and (orientation:landscape){
  #tbPartido .tbVivo{gap:6px;padding:12px 16px}
  #tbPartido .tbTit b{font-size:17px}
  #tbPartido .tbN{font-size:15px}
  #tbPartido .tbBarras{height:5px}
  #tbPartido .tbTile{padding:6px 8px}
  #tbPartido .tbTile b{font-size:17px}
  #tbPartido .tbTile span{font-size:11px;line-height:1.15}
  #tbPartido .tbAnotar{gap:6px;padding-top:8px}
  #tbPartido .tbRapidas{gap:6px}
  #tbPartido .tbRapidas button{height:46px;font-size:15px;line-height:1.1;padding:0 4px}
  #tbPartido .tbRival{padding:12px;gap:8px}
  #tbPartido .tbGolRival{height:52px}
}
@media (orientation:portrait) and (min-width:700px){
  #tbPartido .tbCanchaCaja{height:min(42vh,540px)}
  #tbPartido .tbSub{display:none}
  #tbPartido .tbMarc{white-space:nowrap;padding-right:4px}
  #tbPartido .tbNum{font-size:28px}
  #tbPartido .tbTiempo{font-size:28px;min-width:78px}
  #tbPartido .tbCapsula{gap:8px;min-height:56px}
  #tbPartido .tbCapsula .tbBtnV{white-space:nowrap;padding:0 10px;font-size:15px;min-height:44px}
  #tbPartido .tbVivo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);column-gap:16px;row-gap:6px;align-content:start;overflow:hidden}
  #tbPartido .tbVivo>*{grid-column:1}
  #tbPartido .tbVivo>.tbAnotar{grid-column:2;grid-row:1/span 9;margin-top:0;border-top:none;border-left:1px solid var(--sep);padding:0 0 0 14px;align-self:stretch}
  #tbPartido .tbTiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  #tbPartido .tbRapidas{grid-template-columns:repeat(3,minmax(0,1fr))}
  #tbPartido .tbRapidas button{height:52px;font-size:15px}
  #tbPartido .tbDock .tbDb{padding:0 8px;font-size:15px;min-height:52px}
  #tbPartido .tbUltima .tbTx span{font-size:13px}
}
@media (orientation:portrait) and (min-width:700px){
  #tbPartido .tbColPanel{display:contents}
  #tbPartido .tbColPanel>.tbPanel{grid-column:1/-1;grid-row:2;min-height:0}
  #tbPartido .tbColPanel>.tbTira{grid-column:2;grid-row:1;height:auto;flex-direction:column;justify-content:space-around;align-self:stretch;padding:12px}
  #tbPartido .tbColPanel>.tbTira>div{border-right:none;border-bottom:1px solid var(--sep);width:100%;padding:8px 0}
  #tbPartido .tbColPanel>.tbTira>div:last-child{border-bottom:none}
  #tbPartido .tbColPanel>.tbTira b{font-size:28px}
  #tbPartido .tbAcc button{height:48px}
}
#tbPartido .tbHojaEsp{width:min(620px,calc(100% - 28px));gap:14px}
#tbPartido .tbEspOpc{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
#tbPartido .tbEspBig{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-height:88px;padding:14px 16px;border:1px solid rgba(255,255,255,.95);border-radius:20px;
  background:rgba(255,255,255,.7);box-shadow:0 6px 16px -10px rgba(0,0,0,.3),inset 0 1px 0 #fff;text-align:left;text-decoration:none;color:#1C1C1E;font-family:var(--ios)}
#tbPartido .tbEspBig:first-child{background:linear-gradient(180deg,#0A3260,#001B39);color:#fff;border-color:transparent}
#tbPartido .tbEspBig b{font-size:17px;font-weight:800}
#tbPartido .tbEspBig span{font-size:13px;opacity:.8}
#tbPartido .tbEspLink{display:flex;flex-direction:column;gap:6px}
#tbPartido .tbEspLink>span{font-size:13px;color:var(--gris2)}
#tbPartido .tbEspLink>div{display:flex;gap:8px}
#tbPartido .tbEspLink input{flex:1;min-width:0;min-height:44px;border:1px solid rgba(60,60,67,.14);border-radius:12px;padding:0 12px;font-family:var(--ios);font-size:15px;color:#3C3C43;background:rgba(255,255,255,.85)}
#tbPartido .tbEspLink button{min-height:44px;padding:0 18px;border:none;border-radius:22px;background:var(--verde);color:#fff;font-size:15px;font-weight:700}
#tbPartido .tbEspejoAqui{position:fixed;inset:0;z-index:20;background:#F1F0EB}
#tbPartido .tbEspejoAqui iframe{width:100%;height:100%;border:0;display:block}
#tbPartido .tbVolverEsp{position:fixed;left:18px;bottom:max(14px,env(safe-area-inset-bottom));transform:none;z-index:21;min-height:52px;padding:0 22px;border-radius:26px;color:var(--verde);font-size:16px;font-weight:700}
@media (max-width:560px){ #tbPartido .tbEspOpc{grid-template-columns:1fr} }
/* Partido · tablero en celular (se usa poco, pero que no se vea roto) */
@media (max-width:699px){
  #tbPartido .tbApp{gap:10px;padding:max(10px,env(safe-area-inset-top)) 10px 10px}
  #tbPartido .tbBarra{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
  #tbPartido .tbBarra>.tbCapsula:last-child{grid-column:1/-1;justify-content:space-between}
  #tbPartido .tbCapsula{min-height:52px;gap:8px}
  #tbPartido .tbSub{display:none}
  #tbPartido .tbNum{font-size:22px}
  #tbPartido .tbTiempo{font-size:22px;min-width:70px}
  #tbPartido .tbReloj{padding-left:12px}
  #tbPartido .tbCirc{width:44px;height:44px}
  #tbPartido .tbBtnV{white-space:nowrap;padding:0 12px;font-size:15px}
  #tbPartido .tbRapidas,#tbPartido .tbAcc{grid-template-columns:repeat(3,minmax(0,1fr))}
  #tbPartido .tbRapidas button,#tbPartido .tbAcc button{font-size:15px;line-height:1.1;padding:0 4px}
  #tbPartido .tbTiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  #tbPartido .tbMini{width:100%;height:auto;aspect-ratio:2/1}
  #tbPartido .tbRes{grid-template-rows:56px 56px}
  #tbPartido .tbDock{position:sticky;bottom:8px;z-index:4;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;border-radius:24px}
  #tbPartido .tbDb{min-height:48px;padding:0 6px;font-size:15px}
  #tbPartido .tbSepV{display:none}
  #tbPartido .tbUltima{grid-column:1/-1;padding:4px 4px 0 8px}
  #tbPartido .tbPopCorner{left:10px;right:10px;bottom:170px}
  #tbPartido .tbPopCorner>div{flex-direction:column}
  #tbPartido .tbPopCorner button{min-width:0;width:100%;height:56px}
  #tbPartido .tbHoja{width:calc(100% - 16px);padding:12px;border-radius:22px}
  #tbPartido .tbHojaCab{flex-wrap:wrap}
}
@media (max-width:699px){
  #tbPartido .tbMarc{white-space:nowrap;gap:6px;padding-right:4px}
  #tbPartido .tbEq{font-size:13px}
  #tbPartido .tbBarra>.tbCapsula:first-child{min-width:0}
}
/* Partido · Liquid Glass más marcado (pedido de Jean, 2026-09-25): cápsulas de vidrio con brillo arriba y filo de luz;
   tarjetas más transparentes para que el vidrio de los botones se lea sobre el fondo */
#tbPartido .tbTarjeta{background:linear-gradient(180deg,rgba(255,255,255,.58),rgba(255,255,255,.34))}
#tbPartido .tbRapidas button,#tbPartido .tbAcc button,#tbPartido .tbRes button,#tbPartido .tbBanco button,#tbPartido .tbTile,#tbPartido .tbCerrarP,
#tbPartido .tbExtra button,#tbPartido .tbAcc.tbMas button,#tbPartido .tbCres button{
  background:linear-gradient(180deg,rgba(255,255,255,.9) 0%,rgba(255,255,255,.55) 46%,rgba(255,255,255,.28) 54%,rgba(255,255,255,.42) 100%);
  border:1px solid rgba(255,255,255,.9);
  box-shadow:inset 0 1.5px 0 #fff,inset 0 -1px 0 rgba(255,255,255,.6),inset 0 -10px 18px -12px rgba(0,27,57,.14),0 1px 1px rgba(0,0,0,.04),0 10px 20px -12px rgba(0,0,0,.3);
  -webkit-backdrop-filter:blur(14px) saturate(190%);backdrop-filter:blur(14px) saturate(190%)}
#tbPartido .tbRapidas button.rem,#tbPartido .tbCres button.rem{background:linear-gradient(180deg,rgba(236,247,240,.95) 0%,rgba(214,236,222,.7) 46%,rgba(190,224,203,.5) 54%,rgba(214,236,222,.65) 100%)}
#tbPartido .tbRapidas button.on{background:linear-gradient(180deg,#1B4F85 0%,#0A3260 46%,#001B39 54%,#06284D 100%);border-color:rgba(255,255,255,.35);color:#fff;
  box-shadow:inset 0 1.5px 0 rgba(255,255,255,.35),0 10px 22px -10px rgba(0,27,57,.7)}
#tbPartido .tbRes button.gol,#tbPartido .tbCres button.gol,#tbPartido .tbDb.gol{
  background:linear-gradient(180deg,#2A5A8F 0%,#0F3563 46%,#001B39 54%,#0A2A4E 100%);
  border:1px solid rgba(255,255,255,.35);color:#fff;box-shadow:inset 0 1.5px 0 rgba(255,255,255,.35),0 10px 22px -10px rgba(0,27,57,.6)}
#tbPartido .tbCont button{background:linear-gradient(180deg,rgba(240,245,251,.95) 0%,rgba(222,232,244,.72) 46%,rgba(204,220,238,.52) 54%,rgba(220,231,244,.68) 100%);
  border:1px solid rgba(255,255,255,.9);box-shadow:inset 0 1.5px 0 #fff,0 10px 20px -12px rgba(200,53,42,.35)}
#tbPartido .tbGolRival{background:linear-gradient(180deg,#E06B5F 0%,#D04A3E 46%,#C8352A 54%,#B92F25 100%);border:1px solid rgba(255,255,255,.35);box-shadow:inset 0 1.5px 0 rgba(255,255,255,.35),0 10px 22px -10px rgba(200,53,42,.7)}
#tbPartido .tbDock,#tbPartido .tbBarra .tbCapsula{background:linear-gradient(180deg,rgba(255,255,255,.66),rgba(255,255,255,.3));border:1px solid rgba(255,255,255,.95);
  box-shadow:inset 0 1.5px 0 #fff,inset 0 -1px 0 rgba(255,255,255,.5),0 14px 30px -12px rgba(0,0,0,.28),0 1px 2px rgba(0,0,0,.05);
  -webkit-backdrop-filter:blur(36px) saturate(200%);backdrop-filter:blur(36px) saturate(200%)}
#tbPartido .tbDb:not(.gol){background:linear-gradient(180deg,rgba(255,255,255,.7) 0%,rgba(255,255,255,.34) 50%,rgba(255,255,255,.18) 52%,rgba(255,255,255,.3) 100%);
  border:1px solid rgba(255,255,255,.75);box-shadow:inset 0 1px 0 #fff,0 6px 14px -10px rgba(0,0,0,.3)}
#tbPartido .tbDb.on{background:linear-gradient(180deg,rgba(214,236,222,.95),rgba(190,224,203,.6))}
#tbPartido .tbDeshacer{background:linear-gradient(180deg,rgba(255,236,232,.95) 0%,rgba(248,214,207,.7) 50%,rgba(240,196,188,.55) 52%,rgba(246,210,202,.7) 100%);
  border:1px solid rgba(255,255,255,.85);box-shadow:inset 0 1px 0 #fff,0 6px 14px -10px rgba(179,64,47,.45)}
@media (prefers-reduced-transparency:reduce){#tbPartido .tbDock,#tbPartido .tbBarra .tbCapsula{background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none}}
/* Partido · encabezado estilo Apple Sports (nombres largos se recortan con …, reloj con punto "en vivo") */
#tbPartido .tbBarra{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center}
#tbPartido .tbIzq{padding-right:14px}
#tbPartido .tbMeta{display:flex;flex-direction:column;min-width:0}
#tbPartido .tbMeta b{font-size:15px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:170px}
#tbPartido .tbMeta span{font-size:12px;font-weight:500;color:var(--gris2);white-space:nowrap}
#tbPartido .tbMarcador{justify-self:center;width:min(100%,760px);min-width:0;display:flex;align-items:center;gap:12px;padding:6px 8px 6px 14px}
#tbPartido .tbEquipo{flex:1 1 0;min-width:0;display:flex;align-items:center;gap:10px}
#tbPartido .tbEquipo.der{justify-content:flex-end;text-align:right}
#tbPartido .tbNomEq{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:17px;font-weight:700;letter-spacing:-.01em}
#tbPartido .tbEsc{flex:none;width:36px;height:36px;border-radius:18px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;letter-spacing:.02em;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 4px 10px -4px rgba(0,0,0,.35)}
#tbPartido .tbEscI{background:radial-gradient(circle at 35% 30%,#1B4F85,#001B39);color:#fff}
#tbPartido .tbEscR{background:radial-gradient(circle at 35% 30%,#D9574B,#C8352A);color:#fff}
#tbPartido .tbScore{flex:none;display:flex;align-items:center;gap:8px;font-size:34px;font-weight:800;letter-spacing:-.03em;font-variant-numeric:tabular-nums;line-height:1}
#tbPartido .tbScore i{font-style:normal;color:#C7C7CC;font-weight:600}
#tbPartido .tbScore .gana{color:var(--verde)}
#tbPartido .tbScore .ganaR{color:#C8352A}
#tbPartido .tbMarcador .tbSepV{margin:0 2px}
#tbPartido .tbRelojBox{flex:none;display:flex;flex-direction:column;align-items:center;line-height:1.05;min-width:92px}
#tbPartido .tbEstado{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:800;letter-spacing:.07em;color:var(--gris2);white-space:nowrap}
#tbPartido .tbEstado.vivo{color:#1B7F3B}
#tbPartido .tbEstado.vivo::before{content:"";width:7px;height:7px;border-radius:4px;background:#34C759;animation:tbLate 1.6s ease-in-out infinite}
@keyframes tbLate{50%{opacity:.3}}
#tbPartido .tbRelojBox .tbTiempo{font-size:28px;min-width:0}
#tbPartido .tbDer{padding:6px}
#tbPartido .tbIco{display:flex;align-items:center;gap:6px}
@media (prefers-reduced-motion:reduce){#tbPartido .tbEstado.vivo::before{animation:none}}
@media (max-width:1320px){
  #tbPartido .tbMeta{display:none}
  #tbPartido .tbIzq{padding-right:8px}
  #tbPartido .tbIco{padding:0 12px}
}
/* etiquetas de los botones del encabezado: solo en pantallas anchas (en 11" apretaban el marcador) */
@media (max-width:1320px){
  #tbPartido .tbIco span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
}
@media (max-width:1000px){ #tbPartido .tbNomEq{font-size:15px} #tbPartido .tbScore{font-size:28px} }
@media (orientation:portrait) and (min-width:700px){
  #tbPartido .tbBarra{grid-template-columns:auto minmax(0,1fr) auto}
  #tbPartido .tbNomEq{display:none}
  #tbPartido .tbEquipo{flex:0 0 auto}
  #tbPartido .tbMarcador{justify-content:center}
}
@media (max-width:699px){
  #tbPartido .tbBarra{grid-template-columns:auto minmax(0,1fr)}
  #tbPartido .tbMarcador{grid-column:1/-1;order:-1;width:100%;justify-content:space-between;gap:8px;padding:6px 6px 6px 10px}
  #tbPartido .tbNomEq{display:none}
  #tbPartido .tbEquipo{flex:0 0 auto}
  #tbPartido .tbScore{font-size:28px}
  #tbPartido .tbRelojBox{min-width:0}
  #tbPartido .tbRelojBox .tbTiempo{font-size:22px}
  #tbPartido .tbDer{justify-self:end}
}
@media (max-width:699px){ #tbPartido .tbDer{grid-column:auto} }
/* Partido · estadísticas en la pantalla del partido */
.ptEstad .pdGrupoPad{display:flex;flex-direction:column;gap:12px}
.ptKpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px}
.ptKpis div{padding:10px 12px;border-radius:14px;background:#F2F2F7;display:flex;flex-direction:column;font-family:var(--ios)}
.ptKpis b{font-size:22px;font-weight:800;color:var(--verde);font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.ptKpis span{font-size:13px;font-weight:600;color:var(--gris2)}
.ptEstadTit{font-family:var(--ios);font-size:13px;font-weight:700;color:var(--gris2);letter-spacing:.03em;text-transform:uppercase}
.ptEstad .tbTablaWrap{overflow:auto;border-radius:14px;border:1px solid var(--sep)}
.ptEstad .tbTabla{width:100%;border-collapse:collapse;font-family:var(--ios);font-size:15px;font-variant-numeric:tabular-nums}
.ptEstad .tbTabla th{position:sticky;top:0;background:#F8F8F6;padding:10px 8px;font-size:12px;font-weight:700;color:var(--gris2);text-align:center;white-space:nowrap}
.ptEstad .tbTabla th:nth-child(2){text-align:left}
.ptEstad .tbTabla td{padding:9px 8px;text-align:center;border-top:1px solid var(--sep);font-weight:700;color:var(--verde)}
.ptEstad .tbTabla td.cero{color:#C7C7CC;font-weight:500}
.ptEstad .tbTabla .tbTD{font-weight:800}
.ptEstad .tbTabla .tbTN{text-align:left;color:#1C1C1E;font-weight:600;white-space:nowrap}
.ptNotaEst{margin:0;font-family:var(--ios);font-size:13px;color:var(--gris2)}
#tbPartido .tbUltimas{margin-top:auto;display:flex;flex-direction:column;gap:2px;min-height:0;overflow:hidden;padding-top:8px;border-top:1px solid var(--sep)}
#tbPartido .tbUlt{display:flex;align-items:center;gap:8px;padding:5px 0;font-size:13px;color:#3C3C43;min-width:0}
#tbPartido .tbUlt span:last-child{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#tbPartido .tbUltM{flex:none;width:28px;font-weight:700;color:var(--gris2);font-variant-numeric:tabular-nums}
#tbPartido .tbUlt i{flex:none;width:8px;height:8px;border-radius:4px;background:var(--verde)}
#tbPartido .tbUlt i.r{background:#C8352A}
@media (max-height:900px) and (orientation:landscape){ #tbPartido .tbFila{gap:2px} #tbPartido .tbVivo{gap:5px} }
@media (orientation:portrait) and (min-width:700px){
  #tbPartido .tbVivo{row-gap:4px;padding:12px 16px}
  #tbPartido .tbFila{gap:2px}
  #tbPartido .tbN{font-size:15px}
  #tbPartido .tbBarras{height:5px}
  #tbPartido .tbTile{padding:5px 8px;flex-direction:row;align-items:baseline;gap:6px}
  #tbPartido .tbTile b{font-size:16px}
  #tbPartido .tbTile span{font-size:11px}
}
/* Partido · ANOTAR en su propia tarjeta (horizontal: debajo de "En vivo"; vertical: junto a la cancha) */
#tbPartido .tbColIzq{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;gap:14px}
#tbPartido .tbColIzq>.tbVivo{flex:1 1 auto;min-height:0}
#tbPartido .tbAnotarCard{flex:none;padding:14px 16px}
#tbPartido .tbAnotarCard .tbAnotar{margin-top:0;padding-top:0;border-top:none}

/* Partido · iPad vertical (rediseño 2026-09-25): arriba cancha + ANOTAR; abajo En vivo + rival.
   Con jugador tocado: panel en toda la columna derecha y la tira de números debajo de la cancha. */
@media (orientation:portrait) and (min-width:700px){
  #tbPartido .tbCentro{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);
    grid-template-areas:"cancha derecha" "abajoI abajoD";gap:12px}
  #tbPartido .tbCanchaCaja{grid-area:cancha;height:min(56vh,660px);width:auto;max-width:none;margin:0;justify-self:start}
  #tbPartido .tbLado,#tbPartido .tbColIzq,#tbPartido .tbColPanel{display:contents}
  #tbPartido .tbAnotarCard{grid-area:derecha;display:flex;flex-direction:column;min-height:0;padding:14px}
  #tbPartido .tbAnotarCard .tbAnotar{flex:1;display:flex;flex-direction:column;gap:8px;min-height:0}
  #tbPartido .tbAnotarCard .tbRapidas{flex:1;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(0,1fr)}
  #tbPartido .tbAnotarCard .tbRapidas button{height:auto;min-height:48px;font-size:16px}
  #tbPartido .tbAnotarCard .tbBanco{grid-template-columns:1fr}
  #tbPartido .tbVivo{grid-area:abajoI;display:flex;flex-direction:column;gap:4px;overflow:hidden;padding:12px 16px}
  #tbPartido .tbVivo>*{grid-column:auto}
  #tbPartido .tbVivo .tbTiles{display:none}
  #tbPartido .tbRival{grid-area:abajoD;width:auto;align-self:stretch;padding:12px 14px;gap:8px}
  #tbPartido .tbRival .tbCont{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
  #tbPartido .tbRival .tbCont button{height:62px}
  #tbPartido .tbRival .tbCont button span{font-size:11px;line-height:1.1;text-align:center}
  #tbPartido .tbRival .tbUltimas{display:none}
  #tbPartido .tbRival .tbGolRival{height:50px}
  /* panel del jugador */
  #tbPartido .tbColPanel>.tbPanel{grid-area:auto;grid-column:2;grid-row:1/3;min-height:0}
  #tbPartido .tbColPanel>.tbTira{grid-area:auto;grid-column:1;grid-row:2;height:auto;flex-direction:row;flex-wrap:wrap;align-self:stretch;align-content:center;padding:10px}
  #tbPartido .tbColPanel>.tbTira>div{width:50%;flex:none;border-right:none;border-bottom:none;padding:10px 0}
  #tbPartido .tbColPanel>.tbTira b{font-size:28px}
  #tbPartido .tbPanel .tbRemate{flex-direction:column}
  #tbPartido .tbPanel .tbMini{width:100%;height:auto;aspect-ratio:2/1}
  #tbPartido .tbPanel .tbRes{grid-template-rows:56px 56px}
  #tbPartido .tbPanel .tbAcc{grid-template-columns:repeat(2,minmax(0,1fr))}
  #tbPartido .tbPanel .tbAcc button{height:50px}
  #tbPartido .tbPanel .tbExtra{flex-wrap:wrap}
  #tbPartido .tbPanel .tbExtra button{flex:1 1 40%}
}
@media (orientation:portrait) and (min-width:700px){
  #tbPartido .tbRival{display:flex;flex-direction:column}
  #tbPartido .tbRival .tbCont{flex:1;grid-auto-rows:minmax(0,1fr)}
  #tbPartido .tbRival .tbCont button{height:auto;min-height:56px}
}
@media (orientation:portrait) and (min-width:700px){
  #tbPartido .tbPT b{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:17px;line-height:1.15}
}
/* Partido · secciones desplegables estilo iOS (el orden depende de si el partido ya empezó) */
.ptDesp{margin:0 0 14px;background:#fff;border-radius:18px;box-shadow:0 1px 2px rgba(0,0,0,.04),0 12px 32px -20px rgba(0,0,0,.2);overflow:hidden;font-family:var(--ios)}
.ptDesp>summary{list-style:none;display:flex;align-items:center;gap:12px;min-height:62px;padding:12px 18px;cursor:pointer;-webkit-tap-highlight-color:transparent}
.ptDesp>summary::-webkit-details-marker{display:none}
.ptDesp>summary:active{background:rgba(0,0,0,.03)}
.ptDesp>summary:focus-visible{outline:2px solid var(--oro);outline-offset:-2px}
.ptDespTxt{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.ptDespTxt b{font-size:20px;font-weight:700;letter-spacing:-.01em;color:#1C1C1E}
.ptDespTxt span{font-size:15px;color:var(--gris2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ptDespChev{flex:none;color:#C7C7CC;transition:transform .25s cubic-bezier(.2,.8,.2,1)}
.ptDesp[open]>summary .ptDespChev{transform:rotate(90deg);color:var(--verde)}
.ptDespCuerpo{padding:2px 18px 18px;display:flex;flex-direction:column;gap:12px}
.ptDesp[open]>summary{border-bottom:1px solid var(--sep);margin-bottom:12px}
.ptDesp .ptMeta{box-shadow:none;border:1px solid var(--sep)}
.ptDesp.ptSub{margin:0;background:#F7F7F5;box-shadow:none;border-radius:14px}
.ptDesp.ptSub>summary{min-height:52px;padding:10px 14px}
.ptDesp.ptSub .ptDespTxt b{font-size:16px}
.ptDesp.ptSub .ptDespTxt span{font-size:13px}
.ptDesp.ptSub .ptDespCuerpo{padding:0 14px 14px}
.ptDesp.ptSub[open]>summary{margin-bottom:8px}
.ptDesp.ptSub .tbTablaWrap{background:#fff}
.ptEstad .ptKpis div{background:#F2F2F7}
.ptAbpFila{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border-radius:12px;background:#fff}
.ptAbpFila b{font-size:16px;color:var(--verde)}
.ptAbpFila>span{font-size:13px;color:var(--gris2)}
.ptAbpChips{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.ptAbpFila.riv b{color:#C8352A}
.ptAbpF{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-top:1px solid var(--sep);font-size:14px} .ptAbpF b{font-size:14px;color:#1C1C1E}
.ptAbpTabla{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:6px 8px;margin-top:6px;font-size:14px}
.ptAbpTabla span{text-align:center;font-variant-numeric:tabular-nums} .ptAbpTabla span:nth-child(4n+1){text-align:left}
.ptAbpTabla .h{font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--gris2)}
.ptAbpDano{display:flex;flex-direction:column;gap:3px;margin-top:6px;padding:10px 12px;border-radius:12px;background:#EEF3F8}
.ptAbpDano small{font-size:11px;font-weight:800;letter-spacing:.06em;color:#C8352A} .ptAbpDano span{font-size:14px;line-height:1.4}
.ptAbpChips span{padding:4px 10px;border-radius:10px;background:#E7F0EA;color:var(--verde);font-size:13px;font-weight:600}
.ptMinFila{display:flex;align-items:center;gap:10px;padding:7px 4px;border-bottom:1px solid var(--sep);font-size:15px}
.ptMinFila:last-child{border-bottom:none}
.ptMinFila .m{flex:none;width:52px;font-weight:700;color:var(--gris2);font-variant-numeric:tabular-nums}
.ptMinFila i{flex:none;width:8px;height:8px;border-radius:4px;background:var(--verde)}
.ptMinFila i.r{background:#C8352A}
.ptSecBorrar{margin-top:8px}
.ptBorrarFila{width:100%;min-height:52px;border:none;background:#fff;color:var(--partidoB);font-family:var(--ios);font-size:17px;font-weight:500;cursor:pointer}
.ptBorrarFila:active{background:rgba(179,64,47,.06)}
@media (prefers-reduced-motion:reduce){.ptDespChev{transition:none}}
/* "Remate" igual que las demás acciones (pedido de Jean) */
#tbPartido .tbRapidas button.rem,#tbPartido .tbCres button.rem{background:linear-gradient(180deg,rgba(255,255,255,.9) 0%,rgba(255,255,255,.55) 46%,rgba(255,255,255,.28) 54%,rgba(255,255,255,.42) 100%)}
/* botones centrados con translate: el efecto de presión no puede pisar el translate (si no, "saltan" y el toque no llega) */
#tbPartido .tbVolverEsp:active{transform:scale(.96)}
.ptKpis{grid-template-columns:repeat(auto-fit,minmax(112px,1fr))}
@keyframes tbSubeC{from{opacity:0;transform:translate(-50%,-46%)}to{opacity:1;transform:translate(-50%,-50%)}}
#tbPartido .tbHoja{animation:tbSubeC .24s cubic-bezier(.2,.8,.2,1)}
@media (prefers-reduced-motion:reduce){#tbPartido .tbHoja{animation:none}}
.ptMeta .ptMetaCel{display:flex;flex-direction:column;gap:4px;margin:0;padding:10px 14px;font-size:13px;font-weight:600;color:var(--gris2)}
.ptMeta .ptMetaCel .ptSeg{padding:2px}
.ptMeta .ptMetaCel .ptSeg button{min-height:40px;font-size:15px}
@media (max-width:700px){
  .ptMeta .ptMetaCel{flex-direction:row;align-items:center;gap:12px;padding:6px 8px 6px 16px;min-height:52px;border-top:1px solid var(--sep)}
  .ptMeta .ptMetaCel>span{flex:none;width:112px;font-size:15px;color:#1C1C1E;font-weight:500}
  .ptMeta .ptMetaCel .ptSeg{flex:1}
}
.ptMeta{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.ptMeta .ptMetaCel .ptSeg button{padding:0 6px}
/* el botón elegido siempre verde, también "Remate" (la regla que lo igualó al resto le pisaba el verde) */
#tbPartido .tbRapidas button.on,#tbPartido .tbRapidas button.rem.on{background:linear-gradient(180deg,#1B4F85 0%,#0A3260 46%,#001B39 54%,#06284D 100%);
  border-color:rgba(255,255,255,.35);color:#fff;box-shadow:inset 0 1.5px 0 rgba(255,255,255,.35),0 10px 22px -10px rgba(0,27,57,.7)}
/* banco de suplentes: el nombre nunca se sale de su botón */
#tbPartido .tbBanco{grid-template-columns:repeat(auto-fill,minmax(168px,1fr))}
#tbPartido .tbBanco button{min-width:0;overflow:hidden}
#tbPartido .tbBanco button>span:last-child{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* menú del espejo: lista simple estilo iOS */
#tbPartido .tbHojaEsp{width:min(420px,calc(100% - 28px));gap:10px;padding:14px}
#tbPartido .tbEspCab{display:flex;align-items:center;justify-content:space-between;padding:2px 4px 2px 8px}
#tbPartido .tbEspCab b{font-size:20px;font-weight:700}
#tbPartido .tbEspCab button{min-height:40px;padding:0 12px;border:none;background:none;color:var(--verde);font-size:17px;font-weight:600}
#tbPartido .tbEspLista{display:flex;flex-direction:column;border-radius:16px;overflow:hidden;background:rgba(255,255,255,.8)}
#tbPartido .tbEspLista>*{display:flex;align-items:center;gap:12px;min-height:56px;padding:0 14px;border:none;background:none;color:#1C1C1E;font-family:var(--ios);font-size:17px;text-align:left;text-decoration:none}
#tbPartido .tbEspLista>*+*{border-top:1px solid var(--sep)}
#tbPartido .tbEspLista>*:active{background:rgba(0,0,0,.05)}
#tbPartido .tbEspLista>*>span:nth-child(2){flex:1}
#tbPartido .tbEspIco{flex:none;width:34px;height:34px;border-radius:9px;background:var(--verde);color:#fff;display:flex;align-items:center;justify-content:center}
#tbPartido .tbEspIco svg{width:19px;height:19px}
#tbPartido .tbEspChev{color:#C7C7CC}
#tbPartido .tbOculto{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
/* hoja del banco: 10-11 suplentes en 4 columnas */
#tbPartido .tbHojaBanco{width:min(760px,calc(100% - 28px));gap:12px;padding:16px}
#tbPartido .tbBancoTit{display:flex;flex-direction:column;min-width:0}
#tbPartido .tbBancoTit b{font-size:20px;font-weight:700}
#tbPartido .tbBancoTit span{font-size:15px;color:var(--gris2)}
#tbPartido .tbHojaBanco .tbBanco{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
#tbPartido .tbHojaBanco .tbBanco button{min-height:64px;padding:0 10px}
#tbPartido .tbBN{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start}
#tbPartido .tbBN b{max-width:100%;font-size:15px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#tbPartido .tbBN small{max-width:100%;font-size:11px;color:var(--gris2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-transform:lowercase}
@media (max-width:699px){ #tbPartido .tbHojaBanco .tbBanco{grid-template-columns:repeat(2,minmax(0,1fr))} }
/* barras de comparación con los colores del club: Inter verde, rival dorado (pedido de Jean) */
#tbPartido .tbBarras i:first-child{background:linear-gradient(90deg,#001B39,#1B4F85)!important}
#tbPartido .tbBarras i:last-child{background:linear-gradient(90deg,#E08A80,#C8352A)!important}
#tbPartido .tbB{color:#1F5F99}
#tbPartido .tbVivo .tbLey .tbR,#tbPartido .tbTira .tbR{color:#1F5F99}
/* números de las estadísticas en negro (los colores quedan solo en las barras) */
#tbPartido .tbA,#tbPartido .tbB,#tbPartido .tbTira .tbI,#tbPartido .tbTira .tbR{color:#1C1C1E}
#tbPartido .tbCanchaCaja{background:var(--tbCancha) center/100% 100% no-repeat,#4B9440}
/* ---------- Alerta estilo iOS (alertaIOS): claro, vidrio, botones separados por un filo ---------- */
.alertaIOS{position:fixed;inset:0;z-index:130;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(20,24,22,.28);
  font-family:var(--ios);-webkit-font-smoothing:antialiased;animation:aiFondo .18s ease-out}
.alertaIOS .aiCaja{width:min(300px,100%);border-radius:18px;overflow:hidden;text-align:center;
  background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(248,248,246,.86));border:1px solid rgba(255,255,255,.9);
  box-shadow:0 30px 60px -20px rgba(0,0,0,.4),inset 0 1px 0 #fff;-webkit-backdrop-filter:blur(30px) saturate(180%);backdrop-filter:blur(30px) saturate(180%);
  animation:aiEntra .22s cubic-bezier(.2,.9,.3,1.15)}
.alertaIOS .aiTxt{padding:20px 18px 18px;display:flex;flex-direction:column;gap:6px}
.alertaIOS .aiTxt b{font-size:17px;font-weight:600;color:#1C1C1E;line-height:1.25}
.alertaIOS .aiTxt p{margin:0;font-size:13px;line-height:1.35;color:#3C3C43}
.alertaIOS .aiBotones{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(60,60,67,.18)}
.alertaIOS .aiBotones button{min-height:48px;border:none;background:transparent;font-family:var(--ios);font-size:17px;color:var(--verde);cursor:pointer}
.alertaIOS .aiBotones button+button{border-left:1px solid rgba(60,60,67,.18)}
.alertaIOS .aiBotones button:active{background:rgba(0,0,0,.06)}
.alertaIOS .aiBotones button:focus{outline:none}
.alertaIOS .aiBotones button:focus-visible{background:rgba(47,127,193,.18)}
.alertaIOS .aiBotones .fuerte{font-weight:600}
.alertaIOS .aiBotones .peligro{font-weight:600;color:#FF383C}
.alertaIOS.sale{animation:aiSale .16s ease-in forwards}
@keyframes aiFondo{from{background:rgba(20,24,22,0)}}
@keyframes aiEntra{from{opacity:0;transform:scale(1.12)}to{opacity:1;transform:scale(1)}}
@keyframes aiSale{to{opacity:0}}
@media (prefers-reduced-motion:reduce){.alertaIOS,.alertaIOS .aiCaja{animation:none}}
@media (prefers-reduced-transparency:reduce){.alertaIOS .aiCaja{background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none}}
/* ---------- Partido · modo Duelos (9 zonas, vista "barra"; prototipos/partido-duelos.html) ---------- */
#tbPartido .tbModo{display:flex;padding:3px;border-radius:21px;background:rgba(118,118,128,.14)}
#tbPartido .tbModo button{min-height:40px;padding:0 14px;border:none;border-radius:18px;background:transparent;font-size:15px;font-weight:600;color:#3C3C43}
#tbPartido .tbModo button.on{background:#fff;color:var(--verde);box-shadow:0 2px 8px -2px rgba(0,0,0,.2)}
#tbPartido .tbSync{width:9px;height:9px;border-radius:5px;background:#C7C7CC;margin:0 6px 0 2px;flex:none}
#tbPartido .tbSync.on{background:#34C759;box-shadow:0 0 0 3px rgba(52,199,89,.2)}
#tbPartido .duCentro{grid-template-columns:minmax(300px,38%) minmax(0,1fr)}
#tbPartido .duCol{display:flex;flex-direction:column;gap:8px;min-height:0}
#tbPartido .duTipos{display:flex;gap:4px;padding:4px;border-radius:18px}
#tbPartido .duTipos button{flex:1;min-height:40px;border:none;border-radius:14px;background:transparent;font-size:15px;font-weight:600;color:#3C3C43;white-space:nowrap;padding:0 6px}
#tbPartido .duTipos button.on{background:#fff;color:var(--verde);box-shadow:0 2px 8px -2px rgba(0,0,0,.2)}
#tbPartido .duTipos .duInfoBtn{flex:none;width:40px;font-size:17px;color:var(--verde)}
#tbPartido .duCancha{flex:1;height:auto;width:100%;aspect-ratio:auto;min-height:0}
#tbPartido .duGrid{position:absolute;inset:8px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));gap:6px}
#tbPartido .duZona{position:relative;display:grid;grid-template-rows:1fr 1fr;border-radius:16px;overflow:hidden;border:1.5px solid rgba(255,255,255,.55);background:rgba(255,255,255,.08)}
#tbPartido .duZona.flashG{animation:duFg .5s} #tbPartido .duZona.flashP{animation:duFp .5s}
@keyframes duFg{30%{box-shadow:inset 0 0 0 4px #34C759}} @keyframes duFp{30%{box-shadow:inset 0 0 0 4px var(--oro)}}
#tbPartido .duNom{position:absolute;left:8px;top:6px;z-index:3;font-size:11px;font-weight:800;letter-spacing:.05em;color:rgba(255,255,255,.92);text-transform:uppercase;pointer-events:none;text-shadow:0 1px 2px rgba(0,0,0,.45)}
#tbPartido .duZona button{position:relative;z-index:1;border:none;background:transparent;color:rgba(255,255,255,.96);font-size:13px;font-weight:800;display:flex;justify-content:center;text-shadow:0 1px 3px rgba(0,0,0,.45)}
#tbPartido .duZona button:active{transform:none}
#tbPartido .duZona button.g{align-items:flex-start;padding-top:22px;border-bottom:1px dashed rgba(255,255,255,.35)}
#tbPartido .duZona button.p{align-items:flex-end;padding-bottom:10px}
#tbPartido .duZona button.g:active{background:rgba(0,27,57,.3)} #tbPartido .duZona button.p:active{background:rgba(200,53,42,.35)}
#tbPartido .duBarra{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;pointer-events:none;display:flex;flex-direction:column;align-items:center;gap:4px;
  padding:6px 10px;border-radius:14px;background:rgba(255,255,255,.94);box-shadow:0 3px 10px rgba(0,0,0,.2);min-width:74px}
#tbPartido .duNums{display:flex;align-items:baseline;gap:5px;font-variant-numeric:tabular-nums}
#tbPartido .duNums b{font-size:20px;font-weight:800} #tbPartido .duNums b.g{color:#001B39} #tbPartido .duNums b.p{color:#B3402F} #tbPartido .duNums span{color:#C7C7CC}
#tbPartido .duPista{display:flex;width:60px;height:6px;border-radius:3px;overflow:hidden;background:#E5E5EA}
#tbPartido .duPista i.g{background:linear-gradient(90deg,#001B39,#1B4F85)} #tbPartido .duPista i.p{background:linear-gradient(90deg,#E08A80,#C8352A)}
#tbPartido .duPie{align-self:flex-start;padding:6px 14px;border-radius:14px;font-size:13px;font-weight:800;color:var(--verde)}
#tbPartido .duLado{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:14px;min-height:0}
#tbPartido .duParte{padding:16px 18px;display:flex;flex-direction:column;gap:14px;min-height:0;overflow:auto}
#tbPartido .duTit{display:flex;justify-content:space-between;align-items:center;gap:10px}
#tbPartido .duTit b{font-size:20px;font-weight:800}
#tbPartido .duTit .opc{font-weight:500;color:var(--gris2);font-size:15px}
#tbPartido .duPill{padding:5px 10px;border-radius:12px;font-size:13px;font-weight:700;background:rgba(47,127,193,.18);color:#123F66;white-space:nowrap}
#tbPartido .duPill.ya{background:#FF383C;color:#fff}
#tbPartido .duResumen{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
#tbPartido .duResumen b{font-size:28px;font-weight:800;font-variant-numeric:tabular-nums}
#tbPartido .duResumen span{font-size:13px;color:var(--gris2)}
#tbPartido .duResumen .tbSepV{height:20px;margin:0 6px;align-self:center}
#tbPartido .duCarriles{display:flex;flex-direction:column;gap:14px}
#tbPartido .duCarril{position:relative;display:grid;grid-template-columns:130px minmax(0,1fr) 44px;align-items:center;gap:10px}
#tbPartido .duCarril .nm{font-size:16px;font-weight:600}
#tbPartido .duCarril .v{font-size:22px;font-weight:800;text-align:right;font-variant-numeric:tabular-nums}
#tbPartido .duCarril .pocos{position:absolute;left:130px;top:-15px;font-size:11px;font-weight:600;color:var(--gris2)}
#tbPartido .duMedidor{position:relative;height:14px;border-radius:7px;background:linear-gradient(90deg,rgba(200,53,42,.35),rgba(255,255,255,.6) 50%,rgba(0,27,57,.3))}
#tbPartido .duMedidor::after{content:"";position:absolute;left:50%;top:-3px;bottom:-3px;width:1.5px;background:rgba(60,60,67,.35)}
#tbPartido .duMedidor i{position:absolute;top:50%;width:20px;height:20px;border-radius:10px;border:3px solid #fff;transform:translate(-50%,-50%);box-shadow:0 2px 6px rgba(0,0,0,.3);transition:left .4s cubic-bezier(.2,.8,.2,1)}
#tbPartido .duLectura{display:flex;flex-direction:column;gap:6px;padding:14px 16px;border-radius:16px;background:rgba(255,255,255,.7)}
#tbPartido .duLectura>div{display:flex;align-items:center;gap:8px;font-size:16px}
#tbPartido .duLectura .ico{width:26px;height:26px;border-radius:8px;flex:none;display:flex;align-items:center;justify-content:center;color:#fff;font-size:15px;font-weight:800}
#tbPartido .duLectura .gris{color:var(--gris2)}
#tbPartido .duEnviar{min-height:50px;border:none;border-radius:16px;background:linear-gradient(180deg,#1B4F85,#001B39);color:#fff;font-size:16px;font-weight:700;box-shadow:inset 0 1.5px 0 rgba(255,255,255,.3),0 10px 20px -10px rgba(0,27,57,.7)}
#tbPartido .duJugCard{padding:14px 16px;display:flex;flex-direction:column;gap:8px;min-height:0;overflow:auto;transition:box-shadow .2s}
#tbPartido .duJugCard.espera{box-shadow:0 0 0 3px var(--oro),0 14px 34px -18px rgba(0,0,0,.28)}
#tbPartido .duAyuda{margin:0;font-size:13px;line-height:1.35;color:#3C3C43}
#tbPartido .duJugGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
#tbPartido .duJb{display:grid;grid-template-columns:34px minmax(0,1fr);grid-template-rows:auto auto;column-gap:8px;align-items:center;text-align:left;padding:6px 8px;border-radius:14px;
  border:1px solid rgba(255,255,255,.9);background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(255,255,255,.5));box-shadow:inset 0 1px 0 #fff,0 6px 14px -10px rgba(0,0,0,.3)}
#tbPartido .duJb b{grid-row:1/3;width:34px;height:34px;border-radius:17px;background:linear-gradient(180deg,#0A3260,#001B39);color:#fff;font-size:15px;font-weight:800;display:flex;align-items:center;justify-content:center}
#tbPartido .duJb span{font-size:15px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-transform:capitalize}
#tbPartido .duJb small{font-size:11px;font-weight:700;color:var(--gris2)}
#tbPartido .duJb.on{background:linear-gradient(180deg,#F6D6A0,#2F7FC1);border-color:rgba(255,255,255,.6)}
#tbPartido .duJb.on b{background:#fff;color:var(--verde)}
#tbPartido .duJugCard.espera .duJb b{animation:duPulso 1.1s ease-in-out infinite}
@keyframes duPulso{50%{box-shadow:0 0 0 5px rgba(47,127,193,.55)}}
#tbPartido .duInfo{width:min(460px,calc(100% - 28px));gap:8px;padding:16px 18px}
#tbPartido .duInfo p{margin:0;font-size:15px;line-height:1.35;color:#3C3C43}
@media (max-width:1250px){ #tbPartido .duLado{grid-template-columns:minmax(0,1fr) 250px} #tbPartido .duJugGrid{grid-template-columns:1fr} }
@media (orientation:portrait) and (min-width:700px){
  #tbPartido .duCentro{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto}
  #tbPartido .duCol{min-height:0}
  #tbPartido .duLado{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);height:430px}
  #tbPartido .duJugGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:699px){
  #tbPartido .duCentro{grid-template-columns:1fr}
  #tbPartido .duCancha{aspect-ratio:68/100;flex:none}
  #tbPartido .duLado{grid-template-columns:1fr}
  #tbPartido .duTipos{overflow-x:auto}
}
@media (prefers-reduced-motion:reduce){ #tbPartido .duJugCard.espera .duJb b{animation:none} }
/* Partido · estadísticas: duelos por zona */
.ptDuelos{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;font-family:var(--ios)}
.ptDuMapa{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:26px 8px 8px;border-radius:16px;
  background:repeating-linear-gradient(0deg,#4B9440 0,#4B9440 8.33%,#55A044 8.33%,#55A044 16.66%)}
.ptDuAtq{position:absolute;left:10px;top:6px;font-size:11px;font-weight:800;color:#fff}
.ptDz{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;border-radius:12px;background:rgba(255,255,255,.92)}
.ptDz span{font-size:11px;font-weight:800;color:var(--gris2);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}
.ptDz b{font-size:17px;font-weight:800;font-variant-numeric:tabular-nums;color:#C7C7CC}
.ptDz b i{font-style:normal} .ptDz i.g{color:#001B39} .ptDz i.p{color:#B3402F}
.ptDzP{display:flex;width:56px;height:5px;border-radius:3px;overflow:hidden;background:#E5E5EA}
.ptDzP i.g{background:linear-gradient(90deg,#001B39,#1B4F85)} .ptDzP i.p{background:linear-gradient(90deg,#E08A80,#C8352A)}
.ptDuCarr{display:flex;flex-direction:column;gap:10px}
.ptDc{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;column-gap:10px;padding:8px 12px;border-radius:12px;background:#fff}
.ptDc span{font-size:15px;font-weight:600} .ptDc b{font-size:22px;font-weight:800;font-variant-numeric:tabular-nums} .ptDc small{grid-column:1/-1;font-size:12px;color:var(--gris2)}
.ptDuCarr p{margin:0;font-size:15px}
@media (max-width:700px){ .ptDuelos{grid-template-columns:1fr} }
/* Partido · subidas de laterales */
#tbPartido .tbPopSub button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:190px}
#tbPartido .tbPopSub button small{font-size:12px;font-weight:600;opacity:.8}
#tbPartido .tbSub button.ok{background:linear-gradient(180deg,rgba(236,247,240,.95),rgba(214,236,222,.7))!important;border-color:rgba(46,139,87,.35)!important}
#tbPartido .tbSub button.mal{background:linear-gradient(180deg,rgba(255,244,228,.95),rgba(246,224,190,.7))!important;border-color:rgba(47,127,193,.45)!important}
#tbPartido .tbSub button.neutro{color:var(--gris2)}
.ptSubs{display:flex;flex-direction:column;gap:8px;font-family:var(--ios)}
.ptSubF{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border-radius:12px;background:#fff}
.ptSubCab{display:flex;align-items:center;gap:8px}
.ptSubD{width:30px;height:30px;border-radius:15px;background:var(--verde);color:#fff;font-weight:800;font-size:13px;display:flex;align-items:center;justify-content:center;flex:none}
.ptSubCab b{font-size:16px} .ptSubCab small{font-size:13px;color:var(--gris2);flex:1}
.ptSubPct{font-size:22px;font-weight:800;color:var(--verde);font-variant-numeric:tabular-nums}
.ptSubTxt{font-size:13px;color:#3C3C43}
/* ---------- Partido · cancha horizontal (orientación elegida en cada iPad) ---------- */
#tbPartido .tbPopOrient{position:fixed;right:14px;top:84px;z-index:6;width:300px;display:flex;flex-direction:column;gap:6px;padding:12px;border-radius:22px;animation:tbSube .22s cubic-bezier(.2,.8,.2,1)}
#tbPartido .tbPopOrient>span{padding:0 6px 2px;font-size:13px;font-weight:700;color:var(--gris2)}
#tbPartido .tbPopOrient button{display:flex;flex-direction:column;align-items:flex-start;gap:1px;min-height:54px;padding:6px 14px;border:none;border-radius:14px;background:rgba(255,255,255,.6);text-align:left}
#tbPartido .tbPopOrient button b{font-size:16px;color:#1C1C1E} #tbPartido .tbPopOrient button small{font-size:12px;color:var(--gris2)}
#tbPartido .tbPopOrient button.on{background:linear-gradient(180deg,#1B4F85,#001B39)} #tbPartido .tbPopOrient button.on b,#tbPartido .tbPopOrient button.on small{color:#fff}
#tbPartido .tbPopOrient p{margin:4px 6px 0;font-size:12px;color:var(--gris2)}
/* Acciones en horizontal: cancha arriba a la izquierda, rival (o la tira) debajo; En vivo y ANOTAR a la derecha */
#tbPartido .tbHoriz .tbCentro:not(.duCentro){grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}
#tbPartido .tbHoriz .tbCentro:not(.duCentro) .tbCanchaCaja{grid-column:1;grid-row:1;height:auto;width:100%;aspect-ratio:700/450;background:var(--tbCanchaH) center/100% 100% no-repeat,#4B9440}
#tbPartido .tbHoriz .tbLado,#tbPartido .tbHoriz .tbColIzq,#tbPartido .tbHoriz .tbColPanel{display:contents}
#tbPartido .tbHoriz .tbVivo{grid-column:2;grid-row:1;min-height:0}
#tbPartido .tbHoriz .tbAnotarCard{grid-column:2;grid-row:2;min-height:0;overflow:auto}
#tbPartido .tbHoriz .tbRival{grid-column:1;grid-row:2;width:auto;min-height:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px}
#tbPartido .tbHoriz .tbRival .tbCont{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
#tbPartido .tbHoriz .tbRival .tbCont button{height:58px}
#tbPartido .tbHoriz .tbRival .tbCont button span{font-size:11px;line-height:1.1;text-align:center}
#tbPartido .tbHoriz .tbRival .tbGolRival{height:100%;min-height:58px;padding:0 16px}
#tbPartido .tbHoriz .tbRival .tbUltimas{display:none}
#tbPartido .tbHoriz .tbPanel{grid-column:2;grid-row:1/3;min-height:0}
#tbPartido .tbHoriz .tbTira{grid-column:1;grid-row:2;height:auto;align-self:stretch}
/* Duelos en horizontal */
#tbPartido .tbHoriz .duCentro{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}
#tbPartido .tbHoriz .duCancha{flex:none;height:auto;width:100%;aspect-ratio:700/450;background:var(--tbCanchaH) center/100% 100% no-repeat,#4B9440}
#tbPartido .tbHoriz .duLado{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto}
#tbPartido .tbHoriz .duJugGrid{grid-template-columns:repeat(3,minmax(0,1fr))}
#tbPartido .tbHoriz .duZona button.g{padding-top:18px}
@media (orientation:portrait) and (min-width:700px){
  #tbPartido .tbHoriz .tbCentro:not(.duCentro){grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr);grid-template-areas:none}
  #tbPartido .tbHoriz .tbCentro:not(.duCentro) .tbCanchaCaja{grid-area:auto;grid-column:1/-1;grid-row:1;justify-self:stretch;height:auto;width:100%;max-width:none}
  #tbPartido .tbHoriz .tbAnotarCard{grid-area:auto;grid-column:1;grid-row:2;}
  #tbPartido .tbHoriz .tbRival{grid-area:auto;grid-column:2;grid-row:2;display:flex}
  #tbPartido .tbHoriz .tbRival .tbCont{grid-template-columns:repeat(4,minmax(0,1fr))}
  #tbPartido .tbHoriz .tbVivo{grid-area:auto;grid-column:1/-1;grid-row:3;}
  #tbPartido .tbHoriz .tbColPanel>.tbPanel{grid-area:auto;grid-column:1/-1;grid-row:2/4;}
  #tbPartido .tbHoriz .tbColPanel>.tbTira{display:none}
  #tbPartido .tbHoriz .duCentro{grid-template-columns:1fr}
}
/* Duelos en horizontal: jugador debajo de la cancha, parte a la derecha a todo lo alto */
#tbPartido .tbHoriz .duCentro{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}
#tbPartido .tbHoriz .duLado{display:contents}
#tbPartido .tbHoriz .duCol{grid-column:1;grid-row:1}
#tbPartido .tbHoriz .duParte{grid-column:2;grid-row:1/3;min-height:0}
#tbPartido .tbHoriz .duJugCard{grid-column:1;grid-row:2;min-height:0}
#tbPartido .tbHoriz .duJugGrid{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (orientation:portrait) and (min-width:700px){
  #tbPartido .tbHoriz .duCentro{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}
  #tbPartido .tbHoriz .duCol{grid-column:1/-1;grid-row:1}
  #tbPartido .tbHoriz .duParte{grid-column:1;grid-row:2}
  #tbPartido .tbHoriz .duJugCard{grid-column:2;grid-row:2}
  #tbPartido .tbHoriz .duJugGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
#tbPartido .tbHoriz .duJugCard{padding:10px 12px;gap:6px}
#tbPartido .tbHoriz .duJugCard .duTit b{font-size:16px}
#tbPartido .tbHoriz .duJugCard:not(.espera) .duAyuda{display:none}
#tbPartido .tbHoriz .duJugGrid{grid-template-columns:repeat(6,minmax(0,1fr));gap:5px}
#tbPartido .tbHoriz .duJb{grid-template-columns:28px minmax(0,1fr);column-gap:6px;padding:4px 6px;border-radius:12px}
#tbPartido .tbHoriz .duJb b{width:28px;height:28px;font-size:13px}
#tbPartido .tbHoriz .duJb span{font-size:12px}
#tbPartido .tbHoriz .duJb small{font-size:11px}
@media (orientation:portrait) and (min-width:700px){ #tbPartido .tbHoriz .duJugGrid{grid-template-columns:repeat(3,minmax(0,1fr))} }
/* tiempo agregado: el estado se marca y "Terminar" late en dorado para acordarse de cerrar el tiempo */
#tbPartido .tbEstado.agr{color:#1F5F99}
#tbPartido .tbEstado.agr::before{background:var(--oro)}
#tbPartido .tbPulsa{animation:tbPulsaFin 1.4s ease-in-out infinite}
@keyframes tbPulsaFin{50%{box-shadow:0 0 0 6px rgba(47,127,193,.55),0 10px 20px -10px rgba(0,27,57,.7)}}
@media (prefers-reduced-motion:reduce){#tbPartido .tbPulsa{animation:none;box-shadow:0 0 0 4px rgba(47,127,193,.55)}}
/* ---------- iPad vertical (13" y 11"): acomodos finales ---------- */
@media (orientation:portrait) and (min-width:700px){
  /* Duelos con cancha vertical: cancha alta a la izquierda; parte y jugador apilados a la derecha */
  #tbPartido .tbApp:not(.tbHoriz) .duCentro{grid-template-areas:none;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr)}
  #tbPartido .tbApp:not(.tbHoriz) .duCol{grid-column:1;grid-row:1}
  #tbPartido .tbApp:not(.tbHoriz) .duLado{grid-column:2;grid-row:1;height:auto;grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto}
  #tbPartido .tbApp:not(.tbHoriz) .duJugGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  #tbPartido .tbApp:not(.tbHoriz) .duTipos button{font-size:13px;padding:0 4px}
  /* Acciones con cancha horizontal: cancha acotada arriba; ANOTAR y En vivo a la izquierda, rival a la derecha */
  #tbPartido .tbHoriz .tbCentro:not(.duCentro){grid-template-rows:auto auto minmax(0,1fr)}
  #tbPartido .tbHoriz .tbCentro:not(.duCentro) .tbCanchaCaja{width:auto;height:min(40vh,560px);justify-self:center}
  #tbPartido .tbHoriz .tbRival{grid-area:auto;grid-column:2;grid-row:2/4;display:flex;flex-direction:column}
  #tbPartido .tbHoriz .tbRival .tbCont{grid-template-columns:repeat(2,minmax(0,1fr))}
  #tbPartido .tbHoriz .tbAnotarCard{grid-area:auto;grid-column:1;grid-row:2}
  #tbPartido .tbHoriz .tbVivo{grid-area:auto;grid-column:1;grid-row:3;overflow:auto}
  #tbPartido .tbHoriz .tbVivo .tbTiles{display:none}
  #tbPartido .tbHoriz .tbColPanel>.tbPanel{grid-area:auto;grid-column:1/-1;grid-row:2/4;overflow:auto}
  #tbPartido .tbHoriz .tbAnotarCard .tbRapidas{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (orientation:portrait) and (min-width:700px){
  /* panel del jugador a lo ancho (cancha horizontal): la cancha chica del remate vuelve a su tamaño y las acciones en 4 columnas */
  #tbPartido .tbHoriz .tbPanel .tbRemate{flex-direction:row}
  #tbPartido .tbHoriz .tbPanel .tbMini{width:320px;height:160px;aspect-ratio:auto}
  #tbPartido .tbHoriz .tbPanel .tbAcc{grid-template-columns:repeat(4,minmax(0,1fr))}
  #tbPartido .tbHoriz .tbPanel .tbAcc button{height:46px}
}
/* con alto de sobra (iPad 13"), el panel de jugador de Duelos en horizontal no necesita achicarse */
@media (min-height:901px){
  #tbPartido .tbHoriz .duJb{grid-template-columns:34px minmax(0,1fr);padding:6px 8px}
  #tbPartido .tbHoriz .duJb b{width:34px;height:34px;font-size:15px}
  #tbPartido .tbHoriz .duJb span{font-size:15px}
  #tbPartido .tbHoriz .duJb small{font-size:11px}
  #tbPartido .tbHoriz .duJugCard:not(.espera) .duAyuda{display:block}
}
/* ---------- iPad 11": ajustes por espacio ---------- */
@media (max-width:1250px) and (orientation:landscape){
  /* Duelos (cancha vertical): jugadores en 2 columnas compactas para que entren los 11 */
  #tbPartido .tbApp:not(.tbHoriz) .duJugGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
  #tbPartido .tbApp:not(.tbHoriz) .duJb{grid-template-columns:28px minmax(0,1fr);column-gap:6px;padding:4px 6px}
  #tbPartido .tbApp:not(.tbHoriz) .duJb b{width:28px;height:28px;font-size:13px}
  #tbPartido .tbApp:not(.tbHoriz) .duJb span{font-size:12px}
  #tbPartido .tbApp:not(.tbHoriz) .duJugCard:not(.espera) .duAyuda{display:none}
}
@media (max-height:800px) and (orientation:landscape){
  #tbPartido .tbVivo .tbFila{gap:1px}
  #tbPartido .tbN{font-size:15px}
  #tbPartido .tbTile{padding:4px 8px}
  #tbPartido .tbRapidas button{height:42px}
  #tbPartido .tbAnotarCard{padding:10px 14px}
  #tbPartido .tbHoriz .duCancha{width:auto;height:min(424px,calc(100vh - 360px));align-self:center}
  #tbPartido .duParte{gap:10px;padding:14px 16px}
  #tbPartido .duCarriles{gap:10px}
}
@media (orientation:portrait) and (min-width:700px) and (max-height:1250px){
  #tbPartido .tbHoriz .tbCentro:not(.duCentro) .tbCanchaCaja{height:min(35vh,440px)}
  #tbPartido .tbHoriz .duCancha{width:auto;height:min(36vh,450px);align-self:center}
  #tbPartido .tbHoriz .tbPanel .tbMini{width:260px;height:130px}
}
/* Encabezado en vertical (iPad 11" y 13"): dos filas, el marcador completo a lo ancho */
@media (orientation:portrait) and (min-width:700px){
  #tbPartido .tbBarra{grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:auto auto;row-gap:10px}
  #tbPartido .tbBarra>.tbIzq{grid-column:1;grid-row:1}
  #tbPartido .tbBarra>.tbDer{grid-column:3;grid-row:1}
  #tbPartido .tbBarra>.tbMarcador{grid-column:1/-1;grid-row:2;width:100%;justify-self:stretch;justify-content:space-between;padding:8px 10px 8px 16px}
  #tbPartido .tbMarcador .tbEquipo{flex:1 1 0;min-width:0}
  #tbPartido .tbMarcador .tbNomEq{display:block;font-size:17px}
  #tbPartido .tbMarcador .tbScore{font-size:34px}
  #tbPartido .tbMarcador .tbRelojBox .tbTiempo{font-size:28px}
  #tbPartido .tbModo button{min-height:42px;padding:0 16px}
  #tbPartido .tbDer .tbIco{min-height:44px;min-width:44px;padding:0 10px}
}
.ptDz{background:rgba(255,255,255,.14)!important;border:1.5px solid rgba(255,255,255,.55)}
.ptDz span{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.4)}
.ptDzPct{font-size:20px;font-weight:800;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.35);font-variant-numeric:tabular-nums}
.ptDz b{padding:1px 8px;border-radius:8px;background:rgba(255,255,255,.92);font-size:15px}

/* ---------- Partido · informe para compartir (fase 4). Todo en em sobre font-size:10px, igual que .sp* ---------- */
#expPartido.spCard{width:540px;font-size:10px;gap:1.8em}
.infMarc{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1.4em;background:#fff;border-radius:2em;box-shadow:0 1px 3px rgba(0,0,0,.06);padding:1.8em 2em}
.infEq{display:flex;flex-direction:column;gap:.4em;min-width:0}
.infEq.der{text-align:right}
.infEq b{font-size:1.9em;font-weight:800;line-height:1.1;color:#111412}
.infEq small{font-size:1.2em;font-weight:600;color:#5E6660;line-height:1.3}
.infRes{display:flex;align-items:center;gap:.25em;font-size:5.4em;font-weight:900;letter-spacing:-.03em;line-height:1;color:#111412}
.infRes i{font-style:normal;color:#C7C7CC;font-weight:700}
.infDatos{margin-top:-.8em;text-align:center;font-size:1.4em;font-weight:700;color:#001B39}
.infBloque{background:#fff;border-radius:2em;box-shadow:0 1px 3px rgba(0,0,0,.06);padding:1.6em 1.8em;display:flex;flex-direction:column;gap:.9em;min-width:0}
.infTit{display:flex;justify-content:space-between;align-items:baseline;gap:1em;font-size:1.6em;font-weight:800;color:#111412}
.infTit span{font-size:.72em;font-weight:700;color:#5E6660;text-align:right}
.infTit em{font-style:normal} .infTit em.v{color:#001B39} .infTit em.o{color:#1F5F99}
.infFila{display:grid;grid-template-columns:2.6em 1fr 11em 1fr 2.6em;align-items:center;gap:.8em}
.infFila b{font-size:1.7em;font-weight:800;color:#111412;text-align:left}
.infFila b:last-child{text-align:right}
.infFila b.menos{color:#8E8E93}
.infLb{font-size:1.3em;font-weight:600;color:#3C3C43;text-align:center;white-space:nowrap}
.infPista{height:.8em;border-radius:.4em;background:#EFEFF4;display:flex;overflow:hidden}
.infPista.izq{justify-content:flex-end}
.infPista.izq i{background:#0A3260} .infPista i{display:block;height:100%;border-radius:.4em;background:#C8352A}
.infSolo{display:flex;gap:.8em;margin-top:.4em}
.infSolo div{flex:1;min-width:0;background:#F3F5F8;border-radius:1.2em;padding:.9em 1em;display:flex;flex-direction:column;gap:.2em}
.infSolo b{font-size:1.9em;font-weight:800;color:#001B39;line-height:1}
.infSolo span{font-size:1.1em;font-weight:600;color:#5E6660}
.infDos{display:flex;gap:1.2em;align-items:stretch}
.infDos>.infBloque{flex:1}
.infDos svg{display:block;width:100%;height:auto;border-radius:1em}
.infZonas{display:grid;grid-template-columns:auto repeat(3,1fr);gap:.4em;align-items:center}
.infEje{font-size:1em;font-weight:800;color:#5E6660;text-align:center;text-transform:uppercase;letter-spacing:.04em}
.infEje.v{text-align:right;font-size:.9em}
.infDos .infTit{flex-direction:column;align-items:flex-start;gap:.2em}
.infDos .infTit span{text-align:left}
.infZ{border-radius:.8em;border:1px solid rgba(255,255,255,.6);padding:.7em .4em .8em;display:flex;flex-direction:column;align-items:center;gap:.1em;color:#fff}
.infZ span{font-size:.85em;font-weight:800;text-transform:uppercase;letter-spacing:.04em;opacity:.95}
.infZ b{font-size:1.9em;font-weight:900;line-height:1.05}
.infZ small{font-size:1.05em;font-weight:700;opacity:.95}
.infExtra{display:flex;flex-direction:column;gap:.5em;background:#fff;border-radius:2em;box-shadow:0 1px 3px rgba(0,0,0,.06);padding:1.3em 1.8em;font-size:1.35em;color:#3C3C43}
.infExtra b{color:#001B39}
.infTabla{width:100%;border-collapse:collapse;font-size:1.3em}
.infTabla th{font-size:.85em;font-weight:700;color:#5E6660;text-align:center;padding:0 .2em .5em;text-transform:uppercase;letter-spacing:.03em}
.infTabla th.n{text-align:left}
.infTabla td{text-align:center;padding:.45em .2em;border-top:1px solid rgba(0,0,0,.07);font-weight:700;color:#111412}
.infTabla td.d{color:#001B39;font-weight:800;width:2.2em}
.infTabla td.n{text-align:left;font-weight:600}
.infTabla td.c{color:#C7C7CC;font-weight:600}
/* botones del informe en la pantalla del partido */
.ptInfBtns{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.ptInfBtns button{min-height:44px}

/* ---------- Fase 5: partidos en Plantel, Temporada y Semana ---------- */
.tmRes{display:inline-flex;align-items:center;justify-content:center;min-width:44px;padding:3px 9px;border-radius:9px;font-size:13px;font-weight:800;color:#fff;background:#8E8E93;white-space:nowrap}
.tmRes.G{background:#0A3260} .tmRes.P{background:#C8352A} .tmRes.E{background:#8E8E93}
.temporadaBloque .tmRes{align-self:flex-start;margin-top:4px;color:#fff}
.tmResumen{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;padding:14px}
.tmResumen div{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:14px;background:#F2F2F7}
.tmResumen b{font-size:22px;font-weight:800;color:#001B39;line-height:1.1}
.tmResumen span{font-size:13px;font-weight:600;color:#6B6B70}
@media (max-width:700px){ .tmResumen{grid-template-columns:repeat(3,minmax(0,1fr))} }
.semRes{display:flex;align-items:center;gap:10px;width:100%;min-height:48px;margin:0 0 12px;padding:8px 14px;border:0;border-radius:14px;background:#F2F2F7;font:inherit;font-size:15px;font-weight:600;color:#1C1C1E;text-align:left;cursor:pointer}
.semRes .semResVer{margin-left:auto;color:#001B39;font-weight:700}
.semCel .semRes{margin:10px 0 0;background:#fff}
button.plLink{border:0;font:inherit;font-size:15px;font-weight:600;color:#001B39;cursor:pointer}
.plEval{white-space:nowrap} .plEval .plLink+.plLink{margin-left:6px}
.plStFondo{position:fixed;inset:0;z-index:95;background:rgba(0,0,0,.34)}
.plStats{position:fixed;z-index:96;left:50%;top:50%;transform:translate(-50%,-50%);width:min(560px,calc(100vw - 32px));max-height:calc(100vh - 48px);overflow:auto;
  background:#fff;border-radius:22px;box-shadow:0 30px 60px -20px rgba(0,0,0,.35);padding:18px 20px 20px;display:flex;flex-direction:column;gap:14px}
.plStCab{display:flex;align-items:center;gap:12px}
.plStD{flex:none;width:44px;height:44px;border-radius:22px;background:#001B39;color:#fff;display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:800}
.plStNom{display:flex;flex-direction:column;min-width:0;flex:1}
.plStNom b{font-size:20px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.plStNom small{font-size:13px;color:#6B6B70;font-weight:600}
.plStKpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.plStKpis div{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:14px;background:#F2F2F7;min-width:0}
.plStKpis b{font-size:17px;font-weight:800;color:#001B39}
.plStKpis span{font-size:13px;font-weight:600;color:#6B6B70}
.plStTit{font-size:13px;font-weight:700;color:#6B6B70;text-transform:uppercase;letter-spacing:.04em}
.plStLista{display:flex;flex-direction:column;border-radius:14px;background:#F2F2F7;overflow:hidden}
.plStFila{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-height:56px;padding:8px 14px;border:0;background:none;font:inherit;text-align:left;cursor:pointer}
.plStFila+.plStFila{border-top:1px solid rgba(60,60,67,.12)}
.plStTxt{display:flex;flex-direction:column;min-width:0}
.plStTxt b{font-size:15px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.plStTxt small{font-size:13px;color:#6B6B70}
.plStNums{font-size:13px;font-weight:600;color:#3C3C43;text-align:right}
@media (max-width:700px){
  .plStats{left:0;right:0;top:auto;bottom:0;transform:none;width:auto;max-height:88vh;border-radius:22px 22px 0 0;padding-bottom:max(20px,env(safe-area-inset-bottom))}
  .plStKpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .plStFila{grid-template-columns:auto minmax(0,1fr)} .plStNums{grid-column:2;text-align:left}
}

/* Escudos del marcador: siglas y color editables en "Datos del partido" */
.ptEscudos{display:flex;flex-direction:column;gap:10px;margin-top:14px}
.ptEscFila{display:grid;grid-template-columns:auto 140px minmax(0,1fr);align-items:center;gap:14px;padding:10px 12px;border-radius:14px;background:#F2F2F7}
.ptEscPrev{width:48px;height:48px;border-radius:24px;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:800;letter-spacing:.02em}
.ptEscFila label{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:600;color:#6B6B70}
.ptEscFila input{min-height:40px;border-radius:10px;border:1px solid rgba(60,60,67,.18);background:#fff;padding:0 10px;font-size:17px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;width:100%}
.ptColores{display:flex;flex-wrap:wrap;gap:8px}
.ptColores button{width:32px;height:32px;border-radius:16px;border:1px solid rgba(0,0,0,.12);cursor:pointer;padding:0}
.ptColores button.on{box-shadow:0 0 0 2px #fff,0 0 0 4px #001B39}
@media (max-width:700px){ .ptEscFila{grid-template-columns:auto minmax(0,1fr)} .ptColores{grid-column:1/-1} }
/* informe: círculos en el marcador */
.infEq{align-items:flex-start} .infEq.der{align-items:flex-end}
.infEsc{width:5.2em;height:5.2em;border-radius:2.6em;display:flex;align-items:center;justify-content:center;font-size:1.5em;font-weight:900;letter-spacing:.02em}
.plStRes{display:inline-flex;align-items:center;justify-content:center;min-width:46px;padding:4px 8px;border-radius:9px;font-size:14px;font-weight:800;color:#fff;background:#8E8E93}
.plStRes.G{background:#0A3260} .plStRes.P{background:#C8352A}
.plStats .hojaListo{flex:none;min-height:40px;padding:0 16px;border:0;border-radius:20px;background:rgba(0,27,57,.1);color:#001B39;font:inherit;font-size:15px;font-weight:700;cursor:pointer}
/* marcador sin nombres: círculos pegados al resultado */
#tbPartido .tbMarcador{justify-content:center}
#tbPartido .tbMarcador .tbEquipo{flex:0 0 auto;min-width:0}
#tbPartido .tbMarcador .tbScore{flex:0 0 auto;margin:0 6px}
#tbPartido .tbEsc{width:40px;height:40px;border-radius:20px;font-size:12px}

/* Ingreso en celular (reportado en iPhone): "Volver" no se monta sobre la tarjeta y las teclas de texto van sin círculo, como en iOS */
.lgPantalla:has(> .lgVolver){padding-top:max(76px, calc(env(safe-area-inset-top) + 64px))}
.lgVolver{top:max(14px, env(safe-area-inset-top))}
.lgTeclaTxt{background:transparent;border:none;-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:14px;white-space:nowrap;overflow:visible;font-size:15px}
.lgTeclaTxt:active{background:rgba(0,27,57,.08)}
@media (max-width:420px){
  .lgTeclado{grid-template-columns:repeat(3,72px);gap:14px 24px}
  .lgTecla,.lgTeclaTxt{width:72px;height:72px}
  .lgTecla{font-size:28px}
  .lgTeclaTxt{font-size:14px;margin:0 -8px;width:88px}
}
@media (max-width:420px) and (max-height:720px){
  .lgPantalla:has(> .lgVolver){padding-top:66px;padding-bottom:16px}
  .lgCentro{padding:16px 16px 14px;gap:6px}
  .lgAvatar.lg{width:60px;height:60px;font-size:22px}
  .lgTeclado{grid-template-columns:repeat(3,64px);gap:10px 22px;margin-top:0}
  .lgTecla,.lgTeclaTxt{width:64px;height:64px}
  .lgTecla{font-size:28px}
  .lgTeclaTxt{width:84px;margin:0 -10px}
}

/* Componente + fase del juego (documento "Organización de los componentes") */
.agContSel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.agContCampo{display:flex;flex-direction:column;gap:4px;min-width:0;font-size:13px;font-weight:600;color:#6B6B70}
.agendaEd .agContCampo select,.agContCampo select{width:100%;min-height:40px;padding:0 34px 0 12px;border:none;border-radius:10px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236B6B70' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center;
  -webkit-appearance:none;appearance:none;font-family:var(--ios);font-size:15px;font-weight:600;color:#1C1C1E;box-shadow:0 0 0 1px rgba(60,60,67,.12);cursor:pointer;text-overflow:ellipsis}
.agContCampo select:disabled{color:#AEAEB2;cursor:default}
.agContSel>.agContCampo:only-child{grid-column:1/-1}
@media (max-width:700px){ .agContSeg{flex-wrap:wrap;gap:2px} .agContSeg button{flex:1 1 30%} .agContSel{grid-template-columns:1fr} .agContCab span{display:block;margin-top:2px} }

/* Plan del día · no disponibles: fichas compactas (dorsal en el color del estado + nombre corto) */
.ndLista{display:flex;flex-wrap:wrap;gap:8px;padding:12px}
.ndChip{display:inline-flex;align-items:center;gap:8px;min-height:40px;max-width:100%;padding:4px 12px 4px 4px;border:0;border-radius:20px;background:#F2F2F7;font:inherit;font-size:15px;font-weight:600;color:#1C1C1E;cursor:pointer}
.ndChip:active{background:#E5E5EA}
.ndChip i{flex:none;width:32px;height:32px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-style:normal;font-size:13px;font-weight:800;color:#fff}
.ndChip span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* guía de estado vacío del partido: estilo iOS (sin borde dorado). Dentro de una tarjeta va plana, sin caja propia */
.ptGuia{border:none;border-radius:18px;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.06)}
.pdGrupo .ptGuia{border-radius:0;background:transparent;box-shadow:none;padding:18px 20px 20px}

/* "Inter ataca →" es un selector: tocarlo cambia de lado (y el espejo con él) */
#tbPartido .tbLadoBtn{display:inline-flex;align-items:center;gap:8px;min-height:40px;border:none;font-family:var(--ios);font-size:15px;font-weight:800;color:var(--verde);cursor:pointer}
#tbPartido .tbLadoBtn:active{transform:scale(.96)}
#tbPartido .tbLadoIco{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:12px;background:rgba(0,27,57,.1);font-size:13px}

/* Rival: encabezado con el escudo, casillas parejas y "Gol rival" del alto exacto de la grilla */
#tbPartido .tbRivCab{display:flex;flex-direction:column;align-items:center;gap:6px}
#tbPartido .tbRivCab h3{font-size:15px}
#tbPartido .tbRival .tbCont button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:0 4px}
#tbPartido .tbRival .tbCont button span{font-size:12px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
#tbPartido .tbHoriz .tbRival{align-items:stretch}
#tbPartido .tbHoriz .tbRival .tbRivCab,#tbPartido .tbHoriz .tbRival .tbCont{align-self:center}
#tbPartido .tbHoriz .tbRival .tbCont button{height:58px}
#tbPartido .tbHoriz .tbRival .tbGolRival{align-self:stretch;height:auto;min-height:0;width:108px;padding:0 10px;border-radius:16px;font-size:17px}
/* % de la zona también en el tablero (igual que el espejo) */
#tbPartido .duNums .duPct{font-style:normal;font-size:13px;font-weight:800;color:#1C1C1E;margin-left:6px;padding-left:6px;border-left:1px solid rgba(60,60,67,.2)}

/* Gol rival compacto bajo el escudo; "Inter ataca" abajo al centro de la cancha (no tapa fichas) */
#tbPartido .tbHoriz .tbRival{grid-template-columns:auto minmax(0,1fr)}
#tbPartido .tbRival .tbRivCab .tbGolRival,#tbPartido .tbHoriz .tbRival .tbGolRival{align-self:auto;width:auto;height:40px;min-height:40px;padding:0 14px;border-radius:20px;font-size:15px;white-space:nowrap}
#tbPartido .tbAtaca.tbLadoBtn{left:50%;top:auto;bottom:10px;transform:translateX(-50%)}
#tbPartido .tbAtaca.tbLadoBtn:active{transform:translateX(-50%) scale(.96)}

/* Zonas de duelo: Ganamos a la izquierda y Perdimos a la derecha, a todo el alto (botones más grandes);
   el marcador de la zona va en una pastilla chica arriba al centro */
#tbPartido .duZona,#tbPartido .tbHoriz .duZona{grid-template-rows:1fr;grid-template-columns:1fr 1fr}
#tbPartido .duZona button.g,#tbPartido .duZona button.p,#tbPartido .tbHoriz .duZona button.g{flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:30px 2px 6px;font-size:13px}
#tbPartido .duZona button.g{border-bottom:none;border-right:1px dashed rgba(255,255,255,.35)}
#tbPartido .duZona .duIco{font-size:17px;line-height:1}
#tbPartido .duBarra{top:6px;transform:translateX(-50%);gap:2px;padding:3px 8px;border-radius:10px}
#tbPartido .duBarra .duPista{display:none}
#tbPartido .duZona button.g{background:rgba(52,199,89,.12)} #tbPartido .duZona button.p{background:rgba(47,127,193,.14)}
/* solo flechas: verde = ganamos, roja = perdimos (el texto queda en el aria-label) */
#tbPartido .duZona button.g,#tbPartido .duZona button.p{background:transparent}
#tbPartido .duZona button .duIco{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:20px;background:rgba(255,255,255,.94);font-size:18px;text-shadow:none;box-shadow:0 3px 8px rgba(0,0,0,.22)}
#tbPartido .duZona button.g .duIco{color:#001B39} #tbPartido .duZona button.p .duIco{color:#D0342C}
#tbPartido .duZona button.g:active .duIco{background:#001B39;color:#fff} #tbPartido .duZona button.p:active .duIco{background:#D0342C;color:#fff}

/* Tablero · Duelos: "Momento del partido" donde estaba Jugador; Jugador pasa a la columna derecha */
#tbPartido .duMom{padding:10px 14px 8px;display:flex;flex-direction:column;gap:4px;min-height:0}
#tbPartido .duMom .duTit{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
#tbPartido .duMom .duTit b{font-size:15px}
#tbPartido .tmLey{font-size:12px;font-weight:600;color:var(--gris2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#tbPartido .tmBarras{flex:1;min-height:56px;display:flex;gap:4px;position:relative}
#tbPartido .tmBarras::before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:rgba(60,60,67,.18)}
#tbPartido .tmC{flex:1;display:flex;flex-direction:column;position:relative;border-radius:6px}
#tbPartido .tmC.ahora{background:rgba(47,127,193,.16)}
#tbPartido .tmU,#tbPartido .tmD{flex:1;display:flex;justify-content:center;padding:0 2px}
#tbPartido .tmU{align-items:flex-end} #tbPartido .tmD{align-items:flex-start}
#tbPartido .tmU i,#tbPartido .tmD i{display:block;width:100%;max-width:26px;transition:height .3s}
#tbPartido .tmU i{background:linear-gradient(0deg,#001B39,#1B4F85);border-radius:4px 4px 0 0}
#tbPartido .tmD i{background:linear-gradient(180deg,#C8352A,#E08A80);border-radius:0 0 4px 4px}
#tbPartido .tmGol{position:absolute;left:50%;transform:translateX(-50%);width:11px;height:11px;border-radius:6px;border:2px solid #fff;box-shadow:0 1px 3px rgba(0,0,0,.3)}
#tbPartido .tmGol.i{top:1px;background:#001B39} #tbPartido .tmGol.r{bottom:1px;background:#C8352A}
#tbPartido .tmEje{display:flex;gap:4px}
#tbPartido .tmEje span{flex:1;text-align:center;font-size:11px;font-weight:600;color:#AEAEB2}
/* iPad acostado: cancha y debajo el momento a la izquierda; Parte (a su alto) y Jugador (el resto) a la derecha */
@media (orientation:landscape){
  #tbPartido .tbHoriz .duCentro{grid-template-rows:auto auto minmax(0,1fr)}
  #tbPartido .tbHoriz .duCol{grid-column:1;grid-row:1/3}
  #tbPartido .tbHoriz .duMom{grid-column:1;grid-row:3}
  #tbPartido .tbHoriz .duParte{grid-column:2;grid-row:1;align-self:start;overflow:auto}
  #tbPartido .tbHoriz .duJugCard{grid-column:2;grid-row:2/4;overflow:auto}
  #tbPartido .tbHoriz .duJugGrid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
/* iPad vertical: el momento va abajo a todo el ancho, con alto fijo */
@media (orientation:portrait){
  #tbPartido .tbHoriz .duCentro{grid-template-rows:auto minmax(0,1fr) auto}
  #tbPartido .tbHoriz .duMom{grid-column:1/-1;grid-row:3;height:120px}
}

/* "Inter ataca" dentro del encabezado del Momento (libera la fila bajo la cancha para el gráfico) */
#tbPartido .duMom .duTit{align-items:center}
#tbPartido .duMom .tmLey{flex:1;min-width:0}
#tbPartido .duMom .duPie{flex:none;min-height:34px;padding:0 10px;border-radius:17px;background:rgba(0,27,57,.08);font-size:13px}
#tbPartido .duMom{padding-bottom:12px} #tbPartido .tmBarras{min-height:44px}
/* ---------- Acomodo B (iPad acostado y compu, clase .tbAncha puesta por tbAncho()): cancha grande, acciones sobre la cancha ---------- */
#tbPartido .tbAncha .tbCentro:not(.duCentro){grid-template-columns:minmax(0,1fr) clamp(270px,24vw,380px);grid-template-rows:minmax(0,1fr);grid-template-areas:none}
#tbPartido .tbAncha .tbCentro:not(.duCentro) .tbCanchaCaja{grid-area:auto;grid-column:1;grid-row:1;width:100%;height:100%;aspect-ratio:auto;max-width:none;justify-self:stretch;margin:0;background:var(--tbCanchaA,var(--tbCanchaH)) center/100% 100% no-repeat,#4B9440}
#tbPartido .tbAncha .tbColB{grid-column:2;grid-row:1;display:flex;flex-direction:column;gap:10px;min-height:0}
#tbPartido .tbAncha .tbAvisoB{flex:none;padding:12px 14px}
#tbPartido .tbAncha .tbAvisoB .tbAnotar{margin:0;padding:0;border:none}
#tbPartido .tbAncha .tbAvisoB .tbQuien{flex-wrap:wrap}
#tbPartido .tbAncha .tbAvisoB .tbRapidas{grid-template-columns:repeat(2,minmax(0,1fr))}
#tbPartido .tbAncha .tbVivoB{display:flex;flex:none;flex-direction:column;gap:0;padding:12px 14px;overflow:visible}
#tbPartido .tbAncha .tbVivoB .tbTit{align-items:center;margin-bottom:4px}
#tbPartido .tbAncha .tbVivoB .tbGolRival{height:40px;padding:0 16px;font-size:15px;border-radius:20px}
#tbPartido .tbAncha .tbVbF{display:grid;grid-template-columns:34px minmax(0,1fr) 64px;align-items:center;gap:8px;padding:3px 0;border-top:1px solid var(--sep)}
#tbPartido .tbAncha .tbVbCab{border-top:none;padding:0 0 2px;font-size:11px;font-weight:800;letter-spacing:.05em}
#tbPartido .tbAncha .tbVbCab .tbI{color:var(--verde);text-align:center} #tbPartido .tbAncha .tbVbCab .tbR{color:#C8352A;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#tbPartido .tbAncha .tbVbF .tbA{font-size:19px;font-weight:800;color:var(--verde);text-align:center;font-variant-numeric:tabular-nums}
#tbPartido .tbAncha .tbVbL{display:flex;flex-direction:column;gap:4px;font-size:15px;font-weight:600;min-width:0}
#tbPartido .tbAncha .tbVbL .tbBarras{height:5px}
#tbPartido .tbAncha .tbVbF>button{position:relative;height:clamp(38px,4.8vh,50px);border:1px solid rgba(255,255,255,.95);border-radius:14px;background:linear-gradient(180deg,#EEF3F8,#DCE5EF);color:#C8352A;font-size:19px;font-weight:800;font-variant-numeric:tabular-nums;box-shadow:0 2px 6px rgba(200,53,42,.15),inset 0 1px 0 #fff}
#tbPartido .tbAncha .tbVbF>button::after{content:"+";position:absolute;right:7px;top:3px;font-size:12px;opacity:.55}
#tbPartido .tbAncha .tbVivoB .tbTiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding-top:8px}
/* capa de acciones sobre la cancha */
#tbPartido .tbAncha .tbCanchaCaja.tbFoco::before{content:"";position:absolute;inset:0;background:rgba(11,40,24,.28);pointer-events:none}
#tbPartido .tbAncha .tbCapa{position:absolute;inset:0;padding:14px;display:flex;flex-direction:column;gap:9px;animation:tbSube .22s cubic-bezier(.2,.8,.2,1)}
#tbPartido .tbAncha .tbCapaSolo{bottom:auto;pointer-events:none}
#tbPartido .tbAncha .tbCapaSolo .tbCapaCab{pointer-events:auto;align-self:flex-start}
#tbPartido .tbAncha .tbCapaCab{display:flex;align-items:center;gap:10px}
#tbPartido .tbAncha .tbAtras{height:48px;padding:0 18px;border-radius:24px;font-size:16px;font-weight:700;color:var(--verde)}
#tbPartido .tbAncha .tbQuienB{display:flex;align-items:center;gap:10px;padding:4px 16px 4px 4px;border-radius:28px;min-width:0}
#tbPartido .tbAncha .tbQuienB .tbPDorsal{width:40px;height:40px;font-size:18px;border:2px solid #fff}
#tbPartido .tbAncha .tbQuienB b{font-size:17px;white-space:nowrap}
#tbPartido .tbAncha .tbQuienB span:last-child{font-size:13px;color:var(--gris2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#tbPartido .tbAncha .tbCapaTit{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.4);margin:2px 0 -3px}
#tbPartido .tbAncha .tbCapaG{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
#tbPartido .tbAncha .tbCapaG button{display:flex;align-items:center;justify-content:center;gap:8px;padding:0 6px;border-radius:16px;color:var(--verde);font-weight:700;line-height:1.1;
  background:linear-gradient(180deg,rgba(255,255,255,.97),rgba(255,255,255,.86));border:1px solid rgba(255,255,255,.95);box-shadow:0 8px 18px -8px rgba(0,0,0,.4),inset 0 1px 0 #fff}
#tbPartido .tbAncha .tbCapaPuesto button{height:clamp(52px,8.2vh,92px);font-size:clamp(15px,2vh,20px)}
#tbPartido .tbAncha .tbCapaMas button{height:clamp(42px,6vh,72px);font-size:clamp(14px,1.8vh,18px);background:linear-gradient(180deg,rgba(255,255,255,.84),rgba(255,255,255,.72))}
#tbPartido .tbAncha .tbCapaG button.rem{background:linear-gradient(180deg,#8DBDE6,var(--oro));color:#fff;border-color:rgba(255,255,255,.6)}
/* remate en la cancha grande */
#tbPartido .tbAncha .tbRemZona{position:absolute;top:0;bottom:0;left:50%;right:0;border-left:2px dashed rgba(255,255,255,.85);background:rgba(255,255,255,.1);cursor:crosshair;touch-action:none}
#tbPartido .tbAncha .tbRemZona.izq{left:0;right:50%;border-left:none;border-right:2px dashed rgba(255,255,255,.85)}
#tbPartido .tbAncha .tbCanchaCaja.tbFoco:has(.tbRemZona)::before{background:rgba(11,40,24,.12)}
#tbPartido .tbAncha .tbRemGuia{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:80%;text-align:center;color:#fff;font-size:21px;font-weight:800;text-shadow:0 1px 3px rgba(0,0,0,.45);pointer-events:none}
#tbPartido .tbAncha .tbRemGuia small{display:block;margin-top:4px;font-size:14px;font-weight:600;opacity:.92}
#tbPartido .tbAncha .tbPenalB{position:absolute;right:12px;bottom:12px;z-index:2;height:44px;padding:0 18px;border:none;border-radius:22px;background:#fff;color:var(--rojo);font-size:14px;font-weight:800;letter-spacing:.06em;box-shadow:0 4px 12px rgba(0,0,0,.25)}
#tbPartido .tbAncha .tbRemZona.izq~.tbPenalB{right:auto;left:12px}
#tbPartido .tbAncha .tbPunto{position:absolute;z-index:3;width:26px;height:26px;margin:-13px 0 0 -13px;border-radius:50%;background:var(--oro);border:3px solid #fff;box-shadow:0 0 0 6px rgba(47,127,193,.45);pointer-events:none}
#tbPartido .tbAncha .tbResPop{position:absolute;z-index:4;width:300px;padding:12px;border-radius:22px;display:flex;flex-direction:column;gap:8px;animation:tbSube .2s cubic-bezier(.2,.8,.2,1)}
#tbPartido .tbAncha .tbResPop p{margin:0 4px 2px;font-size:15px;font-weight:800;color:var(--verde)}
#tbPartido .tbAncha .tbResPop p span{font-weight:600;color:var(--gris2)}
#tbPartido .tbAncha .tbResG{display:grid;grid-template-columns:1fr 1fr;gap:8px}
#tbPartido .tbAncha .tbResG button{height:60px;border:1px solid rgba(0,0,0,.06);border-radius:16px;background:#fff;color:var(--verde);font-size:17px;font-weight:700}
#tbPartido .tbAncha .tbResG button.gol{background:linear-gradient(180deg,#6FA8DA,var(--oro));color:#fff;border-color:rgba(255,255,255,.6)}
@media (prefers-reduced-motion:reduce){#tbPartido .tbAncha .tbCapa,#tbPartido .tbAncha .tbResPop{animation:none}}
#tbPartido .tbAncha .tbColB{overflow-y:auto;overscroll-behavior:contain}
#tbPartido .tbAncha .tbAvisoB .tbQuien{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:8px;row-gap:2px;padding:8px 8px 8px 12px;text-align:left}
#tbPartido .tbAncha .tbAvisoB .tbQuien b{grid-column:1;font-size:16px}
#tbPartido .tbAncha .tbAvisoB .tbQuien span{grid-column:1;font-size:13px;line-height:1.25}
#tbPartido .tbAncha .tbAvisoB .tbQuien button{grid-column:2;grid-row:1/span 2}
#tbPartido .tbAncha .tbAvisoB .tbQuien button+button{grid-row:auto}
#tbPartido .tbAncha .tbAvisoB .tbRapidas{gap:6px}
#tbPartido .tbAncha .tbAvisoB .tbRapidas button{height:44px;font-size:14px;line-height:1.1;padding:0 6px}
/* las grillas se reparten el alto de la cancha: siempre entran, en cualquier pantalla */
#tbPartido .tbAncha .tbCapaPuesto{flex:4 1 0;min-height:0;grid-auto-rows:minmax(0,1fr)}
#tbPartido .tbAncha .tbCapaMas{flex:2 1 0;min-height:0;grid-auto-rows:minmax(0,1fr)}
#tbPartido .tbAncha .tbCapaPuesto button,#tbPartido .tbAncha .tbCapaMas button{height:auto;min-height:0}
#tbPartido .tbAncha .tbCapaGK{flex:0 1 auto;grid-template-columns:repeat(5,minmax(0,1fr));grid-auto-rows:clamp(64px,13vh,130px)}
/* En vivo ocupa toda la columna y sus filas se achican para que siempre se vea completo (también con un aviso arriba) */
#tbPartido .tbAncha .tbColB{overflow:hidden}
#tbPartido .tbAncha .tbVivoB{flex:1 1 auto;min-height:0;overflow:hidden}
#tbPartido .tbAncha .tbVbF:not(.tbVbCab){flex:1 1 0;min-height:0;max-height:64px}
#tbPartido .tbAncha .tbVbF>button{height:auto;align-self:stretch;min-height:0;max-height:50px;margin:2px 0}
#tbPartido .tbAncha .tbVivoB .tbTiles{flex:none}
/* pestañas En vivo / Estadísticas de la columna */
#tbPartido .tbAncha .tbColTabs{flex:none;display:flex;padding:3px;border-radius:14px;background:rgba(0,27,57,.08)}
#tbPartido .tbAncha .tbColTabs button{flex:1;height:40px;border:none;border-radius:11px;background:none;color:var(--verde);font-size:15px;font-weight:700}
#tbPartido .tbAncha .tbColTabs button.on{background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.12)}
#tbPartido .tbAncha .tbEstCol{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:12px 14px;display:flex;flex-direction:column;gap:8px;text-align:left}
#tbPartido .tbAncha .tbEstF{display:flex;flex-direction:column;gap:3px}
#tbPartido .tbAncha .tbEstF .tbN{font-size:15px}
#tbPartido .tbAncha .tbEstF .tbA,#tbPartido .tbAncha .tbEstF .tbB{font-weight:800;font-variant-numeric:tabular-nums}
#tbPartido .tbAncha .tbEstF .tbA{color:var(--verde)} #tbPartido .tbAncha .tbEstF .tbB{color:#C8352A}
#tbPartido .tbAncha .tbEstF .tbBarras{height:5px}
#tbPartido .tbAncha .tbEstCol .tbSecTit{margin-top:6px}
/* el tablero es solo horizontal: con el iPad vertical se pide girarlo */
#tbPartido .tbGirar{display:none}
@media (orientation:portrait) and (min-width:700px){
  #tbPartido .tbGirar{position:fixed;inset:0;z-index:50;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:32px;text-align:center;
    background:radial-gradient(55% 45% at 50% 30%,rgba(47,127,193,.22),transparent 70%),#F3F5F8;color:var(--verde)}
  #tbPartido .tbGirar b{font-size:30px;letter-spacing:-.01em}
  #tbPartido .tbGirar span{font-size:18px;color:var(--gris2);max-width:420px}
  #tbPartido .tbGirar button{margin-top:18px;height:52px;padding:0 26px;border:none;border-radius:26px;background:rgba(0,27,57,.08);color:var(--verde);font-size:17px;font-weight:700}
  #tbPartido .tbGirarIco{animation:tbGira 2.4s ease-in-out infinite}
}
@keyframes tbGira{0%,25%{transform:rotate(0)}55%,85%{transform:rotate(-90deg)}100%{transform:rotate(0)}}
@media (prefers-reduced-motion:reduce){#tbPartido .tbGirarIco{animation:none}}
#tbPartido .tbAncha .tbVivoB .tbTit b{display:none}
#tbPartido .tbAncha .tbVivoB .tbGolRival{width:100%}
/* Estadísticas sin scroll: filas compactas que se reparten el alto */
#tbPartido .tbAncha .tbEstCol{gap:0;overflow-y:auto;padding:10px 14px 12px}
#tbPartido .tbAncha .tbEstCol .tbVbCab{padding-bottom:4px}
#tbPartido .tbAncha .tbEstF{flex:1 1 0;min-height:30px;max-height:44px;justify-content:center;gap:2px}
#tbPartido .tbAncha .tbEstF .tbN{font-size:14px;line-height:1.2}
#tbPartido .tbAncha .tbEstF .tbBarras{height:4px}
#tbPartido .tbAncha .tbEstCol .tbSecTit{flex:none;margin:8px 0 4px;font-size:11px;letter-spacing:.06em}
#tbPartido .tbAncha .tbEstMini{flex:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 10px}
#tbPartido .tbAncha .tbEstMini div{display:flex;align-items:baseline;gap:6px;min-width:0;padding:3px 0;border-top:1px solid var(--sep)}
#tbPartido .tbAncha .tbEstMini b{flex:none;font-size:16px;color:var(--verde);font-variant-numeric:tabular-nums}
#tbPartido .tbAncha .tbEstMini span{font-size:12.5px;color:var(--gris2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#tbPartido .tbAncha .tbEstAbp{flex:none;display:flex;align-items:baseline;gap:6px;padding:4px 0;border-top:1px solid var(--sep);white-space:nowrap;min-width:0}
#tbPartido .tbAncha .tbEstAbp b{font-size:16px;color:var(--verde)}
#tbPartido .tbAncha .tbEstAbp span{font-size:14px;font-weight:600}
#tbPartido .tbAncha .tbEstAbp small{font-size:12.5px;color:var(--gris2);overflow:hidden;text-overflow:ellipsis}
#tbPartido .tbAncha .tbEstMini{column-gap:8px}
#tbPartido .tbAncha .tbEstMini div{gap:5px}
#tbPartido .tbAncha .tbEstMini b{font-size:15px}
#tbPartido .tbAncha .tbEstMini span{font-size:12px;letter-spacing:-.01em}
/* Duelos: después de la flecha se pide el jugador (queda esperando hasta que se toque uno o "Sin jugador") */
#tbPartido .duTit .duSinJug{height:36px;padding:0 14px;border:none;border-radius:18px;background:rgba(0,27,57,.08);color:var(--verde);font-size:14px;font-weight:700}
#tbPartido .duJugCard.espera .duAyuda{display:block!important;font-size:15px;color:#123F66}
#tbPartido .tbAncha .duJugCard .duAyuda{margin:0 0 2px}
/* Jugador en Duelos (acomodo ancho): tarjetas que llenan el alto, con su contador ganados–perdidos y barra */
#tbPartido .duJb .duJc,#tbPartido .duJb .duJbar{display:none}
/* Duelos (acomodo ancho): Parte a su alto arriba a la derecha y Jugador llena el resto */
#tbPartido .tbAncha .duJugCard{overflow:hidden;display:flex;flex-direction:column}
#tbPartido .tbAncha .duJugGrid{flex:1;min-height:0}
#tbPartido .tbAncha .duJugGrid{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(0,1fr);gap:8px}
#tbPartido .tbAncha .duJb{position:relative;overflow:hidden;grid-template-columns:32px minmax(0,1fr);grid-template-rows:auto auto;column-gap:8px;row-gap:1px;align-content:center;padding:6px 8px 8px;border-radius:14px}
#tbPartido .tbAncha .duJb b{grid-column:1;grid-row:1/3;width:32px;height:32px;font-size:15px}
#tbPartido .tbAncha .duJb span{grid-column:2;grid-row:1;font-size:14px;font-weight:700;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#tbPartido .tbAncha .duJb small{display:none}
#tbPartido .tbAncha .duJb .duJc{grid-column:2;grid-row:2;display:flex;align-items:baseline;gap:3px;font-style:normal;font-variant-numeric:tabular-nums;line-height:1.1}
#tbPartido .tbAncha .duJc i{font-style:normal;font-weight:800;font-size:16px}
#tbPartido .tbAncha .duJc .g{color:#0A3260} #tbPartido .tbAncha .duJc .p{color:#2A72AD}
#tbPartido .tbAncha .duJc .s{color:#AEAEB2;font-weight:600;font-size:12px}
#tbPartido .tbAncha .duJc .pc{margin-left:auto;font-size:12px;font-weight:700;color:var(--gris2)}
#tbPartido .tbAncha .duJb .duJbar{position:absolute;left:0;right:0;bottom:0;display:flex;height:4px;background:rgba(120,120,128,.12)}
#tbPartido .tbAncha .duJbar i{display:block;height:100%}
#tbPartido .tbAncha .duJbar .g{background:#0A3260} #tbPartido .tbAncha .duJbar .p{background:#2A72AD}
#tbPartido .tbAncha .duJb.on .duJc .g,#tbPartido .tbAncha .duJb.on .duJc .p{color:inherit}
#tbPartido .tbAncha .duJc i{white-space:nowrap}
@media (max-width:1250px){
  #tbPartido .tbAncha .duJugGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  #tbPartido .tbAncha .duJb{padding:4px 8px 6px}
  #tbPartido .tbAncha .duJc i{font-size:15px}
}
/* solo números: dorsal + ganados–perdidos (sin nombre ni textos) */
#tbPartido .tbAncha .duJb span:not(.duJbar){display:none}
#tbPartido .tbAncha .duJb{grid-template-columns:auto auto;grid-template-rows:1fr;justify-content:center;align-items:center;column-gap:10px;padding:6px 8px 8px}
#tbPartido .tbAncha .duJb b{grid-row:1;width:34px;height:34px;font-size:16px}
#tbPartido .tbAncha .duJb .duJc{grid-column:2;grid-row:1;gap:4px}
#tbPartido .tbAncha .duJc i{font-size:20px}
#tbPartido .tbAncha .duJc .s{font-size:16px}
@media (max-width:1250px){ #tbPartido .tbAncha .duJugGrid{grid-template-columns:repeat(4,minmax(0,1fr))} #tbPartido .tbAncha .duJc i{font-size:18px} }
/* con nombre: dorsal a la izquierda, nombre arriba y ganados–perdidos abajo */
#tbPartido .tbAncha .duJb span:not(.duJbar){display:block;grid-column:2;grid-row:1;font-size:14px;font-weight:700;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#tbPartido .tbAncha .duJb{grid-template-columns:34px minmax(0,1fr);grid-template-rows:auto auto;justify-content:stretch;align-content:center;column-gap:8px;row-gap:0}
#tbPartido .tbAncha .duJb b{grid-row:1/3}
#tbPartido .tbAncha .duJb .duJc{grid-column:2;grid-row:2}
#tbPartido .tbAncha .duJc i{font-size:17px}
#tbPartido .tbAncha .duJc .s{font-size:14px}
#tbPartido .tbAncha .duJugGrid{grid-template-columns:repeat(4,minmax(0,1fr))}
#tbPartido .tbAncha .duJb{padding:6px 6px 8px;column-gap:6px}
@media (max-width:1400px){
  #tbPartido .tbAncha .duJugGrid{gap:5px}
  #tbPartido .tbAncha .duJb{grid-template-columns:28px minmax(0,1fr);padding:5px 5px 7px;column-gap:5px}
  #tbPartido .tbAncha .duJb b{width:28px;height:28px;font-size:13px}
  #tbPartido .tbAncha .duJb span:not(.duJbar){font-size:13px;letter-spacing:-.02em}
}
/* Entrar a un tablero: pide la clave con el mismo teclado del ingreso */
#tbClave{position:fixed;inset:0;z-index:95;display:flex;align-items:center;justify-content:center;padding:24px;overflow:auto;
  background:radial-gradient(60% 50% at 10% 0%,rgba(0,27,57,.12),transparent 70%),radial-gradient(50% 45% at 100% 10%,rgba(47,127,193,.18),transparent 70%),#F3F5F8}
#tbClave[hidden]{display:none}
#tbClave .lgMsg{max-width:340px;line-height:1.3;text-align:center}
/* el tablero dice fijo en qué modo está y quién lo opera (ya no se cambia desde adentro) */
#tbPartido .tbModoFijo{display:flex;flex-direction:column;justify-content:center;line-height:1.15;padding:0 12px 0 4px}
#tbPartido .tbModoFijo b{font-size:16px;color:var(--verde)}
#tbPartido .tbModoFijo span{font-size:12.5px;color:var(--gris2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}
/* pantalla del partido: quién opera cada tablero */
.pdOperan{display:flex;flex-wrap:wrap;gap:6px 18px;margin:-4px 0 12px;font-size:14px;color:var(--gris2)}
.pdOperan b{color:#1C1C1E;font-weight:700}
.pdOperan .vivo::before{content:"";display:inline-block;width:8px;height:8px;border-radius:4px;background:#34C759;margin-right:6px;vertical-align:1px}
/* ---------- ABP en la cancha grande (mockup "ABP en vivo"): banderines, envío, lugar del tiro libre y tarjetas de la columna ---------- */
#tbPartido .tbAncha .tbAbpFlag{--anillo:0,27,57;position:absolute;z-index:6;width:64px;height:64px;padding:0;border:none;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;
  box-shadow:0 0 0 5px rgb(var(--anillo)),0 8px 18px rgba(0,0,0,.35);animation:tbFlagHalo 1.4s ease-out infinite}
#tbPartido .tbAncha .tbAbpFlag.riv{--anillo:47,127,193}
#tbPartido .tbAncha .tbAbpFlag svg{position:static;inset:auto;width:34px;height:34px;margin-left:2px}
#tbPartido .tbAncha .tbAbpFlag.der{right:20px} #tbPartido .tbAncha .tbAbpFlag.izq{left:20px}
#tbPartido .tbAncha .tbAbpFlag.arriba{top:20px} #tbPartido .tbAncha .tbAbpFlag.abajo{bottom:20px}
#tbPartido .tbAncha .tbAbpFlag:active{transform:scale(.92)}
@keyframes tbFlagHalo{0%{box-shadow:0 0 0 5px rgb(var(--anillo)),0 0 0 5px rgba(var(--anillo),.7),0 8px 18px rgba(0,0,0,.35)}100%{box-shadow:0 0 0 5px rgb(var(--anillo)),0 0 0 26px rgba(var(--anillo),0),0 8px 18px rgba(0,0,0,.35)}}
#tbPartido .tbAncha .tbAbpGuia{position:absolute;z-index:6;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 22px;border-radius:20px;background:rgba(11,40,24,.42);color:#fff;pointer-events:none;white-space:nowrap}
#tbPartido .tbAncha .tbAbpGuia b{font-size:22px;font-weight:800}
#tbPartido .tbAncha .tbAbpGuia span{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:700}
#tbPartido .tbAncha .tbAbpGuia i{width:12px;height:12px;border-radius:6px;margin-left:8px} #tbPartido .tbAncha .tbAbpGuia i:first-child{margin-left:0}
#tbPartido .tbAncha .tbAbpGuia i.oro{background:#001B39} #tbPartido .tbAncha .tbAbpGuia i.azul{background:#2F7FC1}
#tbPartido .tbAncha .tbTlZona{position:absolute;z-index:7;top:0;bottom:0;left:50%;right:0;cursor:crosshair;touch-action:none;background:rgba(255,255,255,.08)}
#tbPartido .tbAncha .tbTlZona.izq{left:0;right:50%}
#tbPartido .tbAncha .tbEnvZ,#tbPartido .tbAncha .tbTlZ{position:absolute;z-index:6;box-sizing:border-box;padding:2px;border:2px solid rgba(255,255,255,.9);border-radius:12px;background:rgba(255,255,255,.14);
  display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;line-height:1.1;text-align:center;
  text-shadow:0 1px 2px rgba(0,0,0,.35);animation:tbZonaLate 1.6s ease-in-out infinite}
#tbPartido .tbAncha .tbEnvZ.corto{border-radius:50%}
#tbPartido .tbAncha .tbEnvZ:active{transform:scale(.95)}
#tbPartido .tbAncha .tbEnvZ.on{animation:none;background:var(--oro);border:3px solid #fff;color:#fff;text-shadow:none;box-shadow:0 0 0 5px rgba(47,127,193,.4)}
#tbPartido .tbAncha .tbEnvZ.riv.on{background:#C8352A;color:#fff;box-shadow:0 0 0 5px rgba(200,53,42,.4)}
#tbPartido .tbAncha .tbTlZ{z-index:8;pointer-events:none;align-items:flex-start;justify-content:flex-start;padding:8px 10px;border-radius:10px}
@keyframes tbZonaLate{50%{border-color:rgba(255,255,255,.45);background:rgba(255,255,255,.24)}}
@media (prefers-reduced-motion:reduce){#tbPartido .tbAncha .tbEnvZ,#tbPartido .tbAncha .tbTlZ{animation:none}}
@media (prefers-reduced-motion:reduce){#tbPartido .tbAncha .tbAbpFlag{animation:none}}
#tbPartido .tbAncha .tbAbpCard,#tbPartido .tbAncha .tbRivAbp{flex:none;display:flex;flex-direction:column;gap:10px;padding:14px}
#tbPartido .tbAncha .tbAbpTit{margin:0;font-size:12px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--gris2)}
#tbPartido .tbAncha .tbAbpQ{font-size:21px;color:var(--verde)}
#tbPartido .tbAncha .tbAbpTx{font-size:14px;line-height:1.4;color:var(--gris2)}
#tbPartido .tbAncha .tbAbpFila{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
#tbPartido .tbAncha .tbAbpFila .tbAbpTx{flex:1;min-width:0}
#tbPartido .tbAncha .tbAbpChip,#tbPartido .tbAncha .tbAbpListo{height:44px;padding:0 16px;border-radius:22px;border:1.5px solid #D2D6CE;background:#fff;font-size:15px;font-weight:700;color:var(--verde)}
#tbPartido .tbAncha .tbAbpListo{margin-left:auto}
#tbPartido .tbAncha .tbAbpPat{display:flex;align-items:center;gap:10px}
#tbPartido .tbAncha .tbAbpPat>span:nth-child(2){display:flex;flex-direction:column;flex:1;min-width:0}
#tbPartido .tbAncha .tbAbpPat b{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis} #tbPartido .tbAncha .tbAbpPat small{font-size:13px;color:var(--gris2)}
#tbPartido .tbAncha .tbAbpPat .tbPDorsal{width:40px;height:40px;font-size:17px;flex:none}
#tbPartido .tbAncha .tbAbpPat .tbPDorsal.vacio{background:#EEEFEA;color:var(--gris2)}
#tbPartido .tbAncha .tbAbpLink{flex:none;min-height:44px;padding:0 6px;border:none;background:none;font-size:15px;font-weight:700;color:var(--verde);text-decoration:underline}
#tbPartido .tbAncha .tbAbpEnv{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:12px;background:#F6F1E6;font-size:15px}
#tbPartido .tbAncha .tbAbpEnv span{color:var(--gris2)} #tbPartido .tbAncha .tbAbpEnv b{color:#1F5F99}
#tbPartido .tbAncha .tbSegTipo{display:flex;gap:4px;padding:4px;border-radius:14px;background:#EEEFEA}
#tbPartido .tbAncha .tbSegTipo button{flex:1;height:44px;border:none;border-radius:11px;background:transparent;font-size:15px;font-weight:600;color:var(--verde)}
#tbPartido .tbAncha .tbSegTipo button.on{background:#fff;font-weight:800;box-shadow:0 2px 6px rgba(0,0,0,.14)}
#tbPartido .tbAncha .tbAbpRes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
#tbPartido .tbAncha .tbAbpRes.tres{grid-template-columns:repeat(3,minmax(0,1fr))}
#tbPartido .tbAncha .tbAbpRes button{min-height:clamp(50px,6.6vh,62px);padding:4px 6px;border-radius:14px;border:1px solid #DCE0D8;background:#fff;font-size:15px;font-weight:700;line-height:1.15;color:var(--verde)}
#tbPartido .tbAncha .tbAbpRes button.gol{background:var(--oro);border-color:var(--oro);color:#fff}
#tbPartido .tbAncha .tbAbpRes button.on{background:var(--verde);border-color:var(--verde);color:#fff}
#tbPartido .tbAncha .tbRivAbp{border:2px solid #C8352A}
#tbPartido .tbAncha .tbRivAbpCab{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
#tbPartido .tbAncha .tbRivAbpCab b{font-size:14px;font-weight:800;color:#C8352A} #tbPartido .tbAncha .tbRivAbpCab small{flex:none;font-size:12px;color:var(--gris2)}
#tbPartido .tbAncha .tbRivBarra{height:4px;border-radius:2px;background:#E4EAF1;overflow:hidden}
#tbPartido .tbAncha .tbRivBarra i{display:block;height:4px;background:#C8352A;animation:tbRivCorre linear forwards}
@keyframes tbRivCorre{from{width:100%}to{width:0}}
#tbPartido .tbAncha .tbRivAbp .tbAbpRes button{border-color:#D5DEE8;color:#1F4468;min-height:50px}
#tbPartido .tbAncha .tbRivAbp .tbAbpRes button.mal{background:#C8352A;border-color:#C8352A;color:#fff}
#tbPartido .tbAncha .tbRivEnv{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
#tbPartido .tbAncha .tbRivEnv small{width:100%;font-size:11px;font-weight:800;letter-spacing:.06em;color:var(--gris2)}
#tbPartido .tbAncha .tbRivEnv button{height:40px;padding:0 12px;border-radius:20px;border:1.5px solid #D5DEE8;background:#fff;font-size:14px;font-weight:600;color:#1F4468}
#tbPartido .tbAncha .tbRivEnv button.on{background:#C8352A;border-color:#C8352A;color:#fff}
@media (prefers-reduced-motion:reduce){#tbPartido .tbAncha .tbRivBarra i{animation:none}}
/* ---------- Estadísticas por jugador (mockup "Estadísticas de jugadores"): por partido, temporada y ficha ---------- */
.estBloque{display:flex;flex-direction:column;gap:12px}
.estSeg{display:inline-flex;flex-wrap:wrap;gap:4px;padding:4px;border-radius:14px;background:#ECEDE8;align-self:flex-start}
.estSeg button{min-height:40px;padding:0 14px;border:none;border-radius:11px;background:transparent;font-family:var(--ios);font-size:15px;font-weight:600;color:var(--verde)}
.estSeg button.on{background:#fff;font-weight:800;box-shadow:0 2px 6px rgba(0,0,0,.12)}
.estWrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.estTabla{width:100%;border-collapse:collapse;font-size:15px;font-variant-numeric:tabular-nums}
.estTabla th{font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--gris2);text-align:center;padding:0 5px 8px;white-space:nowrap}
.estTabla td{text-align:center;padding:0 5px;height:38px;border-top:1px solid var(--sep);white-space:nowrap}
.estTabla .l{text-align:left}
.estTabla td.d{width:34px;color:var(--verde);font-weight:800}
.estTabla td.n{font-weight:600}
.estTabla td.p{color:var(--gris2);font-size:13px}
.estTabla td.cero{color:#C7C7CC}
.estTabla td.mejor{font-weight:800;color:var(--verde)}
.estTabla tr.sub td{background:#FAFAF7}
.estOrd{border:none;background:none;padding:6px 2px;font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer}
.estOrd.on{color:var(--verde)}
.estJug{border:none;background:none;padding:6px 0;font:inherit;font-weight:600;color:#1C1C1E;text-align:left;cursor:pointer}
.estJug:hover{color:var(--verde);text-decoration:underline}
.estPzGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.estPz{display:flex;flex-direction:column;gap:6px;padding:14px 16px;border-radius:16px;background:#F8F8F5;min-width:0}
.estPz.ancho{grid-column:1/-1}
.estPz h4{margin:0;font-size:12px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--verde)}
.estPz .estTabla{font-size:14px} .estPz .estTabla td{height:34px}
.estPz .estTabla th{white-space:normal;line-height:1.15;vertical-align:bottom;min-width:40px;padding:0 3px 6px}
.estPz .estTabla td{padding:0 3px}
.estPz .estTabla th.l{min-width:0}
.estNota{margin:0;font-size:13px;color:var(--gris2)}
.estTemp{display:flex;flex-direction:column;gap:14px}
.estCard{display:flex;flex-direction:column;gap:12px;padding:16px 18px}
#tbPartido .tbHoja .estTabla td.n{max-width:180px;overflow:hidden;text-overflow:ellipsis}
@media (max-width:900px){ .estPzGrid{grid-template-columns:minmax(0,1fr)} }
/* ficha del jugador más ancha: dos columnas (acciones | partido a partido) */
@media (min-width:900px){ .plStats{width:min(900px,calc(100vw - 48px))} .plStKpis{grid-template-columns:repeat(6,minmax(0,1fr))} }
.plStDos{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:24px}
.plStDos>div{display:flex;flex-direction:column;gap:2px;min-width:0}
.plStDos .plStTit{margin-top:12px} .plStDos .plStTit:first-child{margin-top:0}
.plStAcc{display:grid;grid-template-columns:minmax(0,150px) minmax(0,1fr) auto;align-items:center;gap:12px;padding:6px 0;border-top:1px solid var(--sep);font-size:15px}
.plStAcc b{text-align:right;font-variant-numeric:tabular-nums}
.plStBar{height:8px;border-radius:4px;background:#EEF0EA;overflow:hidden;display:flex}
.plStBar i{display:block;height:8px}
.plStLey{font-size:12px;color:var(--gris2);margin-top:4px}
@media (max-width:899px){ .plStDos{grid-template-columns:minmax(0,1fr)} }
/* reloj parado: el ▶ late en dorado hasta que se arranque (sin reloj no se anota nada, tbRelojBloquea) */
#tbPartido .tbCirc.late{animation:tbPlayLate 1.3s ease-out infinite}
@keyframes tbPlayLate{0%{box-shadow:0 0 0 0 rgba(47,127,193,.85)}100%{box-shadow:0 0 0 16px rgba(47,127,193,0)}}
#tbPartido .tbCirc.sacude{animation:tbPlaySacude .45s ease-in-out 2,tbPlayLate 1.3s ease-out infinite}
@keyframes tbPlaySacude{25%{transform:translateX(-5px) scale(1.12)}75%{transform:translateX(5px) scale(1.12)}}
@media (prefers-reduced-motion:reduce){#tbPartido .tbCirc.late,#tbPartido .tbCirc.sacude{animation:none;box-shadow:0 0 0 4px rgba(47,127,193,.85)}}
/* Duelos: 3 s para elegir quién fue; titilan los jugadores que juegan cerca de la zona tocada (duCercanos) */
#tbPartido .duJb.cerca{border-color:var(--oro);background:linear-gradient(180deg,#E3EFF9,#B9D7F0);animation:duTitila .5s ease-in-out 6 alternate}
#tbPartido .duJb.cerca b{background:linear-gradient(180deg,#0A3260,#001B39);animation:none}
#tbPartido .duJb.lejos{opacity:.38}
#tbPartido .duJugCard.espera .duJb.lejos b{animation:none}
@keyframes duTitila{from{box-shadow:0 0 0 0 rgba(47,127,193,0)}to{box-shadow:0 0 0 4px rgba(47,127,193,.85);transform:scale(1.04)}}
#tbPartido .duCuenta{height:4px;border-radius:2px;background:#EEE6D6;overflow:hidden}
#tbPartido .duCuenta i{display:block;height:4px;background:var(--oro);animation:duCuentaCorre linear forwards}
@keyframes duCuentaCorre{from{width:100%}to{width:0}}
@media (prefers-reduced-motion:reduce){#tbPartido .duJb.cerca{animation:none;box-shadow:0 0 0 4px rgba(47,127,193,.85)}#tbPartido .duCuenta i{animation:none}}
/* Duelos · tarjetas de jugador rediseñadas (Jean: "tanto blanco y desacomodado"): tinte cálido, dorsal como las fichas, sin huecos */
#tbPartido .tbAncha .duJugCard .duJugGrid{gap:8px}
#tbPartido .tbAncha .duJugCard .duJb{position:relative;display:grid;grid-template-columns:38px minmax(0,1fr);grid-template-rows:auto auto;align-content:center;column-gap:10px;row-gap:2px;
  padding:8px 10px 12px;border:1px solid transparent;border-radius:14px;background:#F3F2EC;box-shadow:none;text-align:left;color:#1C1C1E}
#tbPartido .tbAncha .duJugCard .duJb b{grid-row:1/3;width:38px;height:38px;border-radius:50%;box-sizing:border-box;border:0;
  background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.55),rgba(255,255,255,0) 45%),radial-gradient(circle at 50% 50%,#1B4F85,#0A3260 62%,#001B39);color:#fff;font-size:15px}
#tbPartido .tbAncha .duJugCard .duJb span:not(.duJbar){grid-column:2;grid-row:1;display:block;font-size:14px;font-weight:700;color:#1C1C1E;letter-spacing:0}
#tbPartido .tbAncha .duJugCard .duJb .duJc{grid-column:2;grid-row:2;display:flex;align-items:baseline;gap:4px}
#tbPartido .tbAncha .duJugCard .duJc i{font-size:16px}
#tbPartido .tbAncha .duJugCard .duJc .s{font-size:13px}
#tbPartido .tbAncha .duJugCard .duJc .pc{margin-left:auto;font-size:12px;font-weight:700;color:var(--gris2)}
#tbPartido .tbAncha .duJugCard .duJb .duJbar{left:0;right:0;bottom:0;height:4px;border-radius:0;background:rgba(0,27,57,.08)}
#tbPartido .tbAncha .duJugCard .duJb{overflow:hidden}
#tbPartido .tbAncha .duJugCard .duJb:active{transform:scale(.97)}
#tbPartido .tbAncha .duJugCard .duJb.on{background:#001B39;border-color:#001B39}
#tbPartido .tbAncha .duJugCard .duJb.on span:not(.duJbar){color:#fff}
#tbPartido .tbAncha .duJugCard .duJb.on .duJc .g,#tbPartido .tbAncha .duJugCard .duJb.on .duJc .p,#tbPartido .tbAncha .duJugCard .duJb.on .duJc .pc{color:#B9D7F0}
#tbPartido .tbAncha .duJugCard .duJb.cerca{background:#E3EFF9;border-color:var(--oro)}
#tbPartido .tbAncha .duJugCard .duJb.cerca b{background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.55),rgba(255,255,255,0) 45%),radial-gradient(circle at 50% 50%,#1B4F85,#0A3260 62%,#001B39)}
#tbPartido .tbAncha .duJugCard .duJb.lejos{opacity:.35}
#tbPartido .tbAncha .duJugCard .duNadie{display:flex;align-items:center;justify-content:center;padding:8px;background:transparent;border:1.5px dashed #CFCFC6}
#tbPartido .tbAncha .duJugCard .duNadie span{font-size:14px;font-weight:700;color:var(--verde)}
#tbPartido .tbAncha .duJugCard .duNadie:disabled{opacity:.45}
#tbPartido .tbAncha .duJugCard.espera .duNadie{border-color:var(--oro);background:#fff}
#tbPartido .tbAncha .duJugCard .duJb{grid-template-columns:32px minmax(0,1fr);column-gap:8px;padding:8px 8px 12px}
#tbPartido .tbAncha .duJugCard .duJb b{width:32px;height:32px;font-size:14px;border-width:2px}
#tbPartido .tbAncha .duJugCard .duJb span:not(.duJbar){text-transform:none;letter-spacing:-.01em}
#tbPartido .tbAncha .duJugCard .duJc.vacio i{color:#B8B8B0}
#tbPartido .tbAncha .duJugCard .duJb .duJbar:empty{display:none}
#tbPartido .tbAncha .duJugCard .duNadie span{text-transform:none}
/* "pocos datos" en el lugar del número (antes flotaba entre filas y se encimaba) */
#tbPartido .duCarril{grid-template-columns:130px minmax(0,1fr) 62px}
#tbPartido .duCarril .v.pocos{position:static;font-size:11px;font-weight:700;line-height:1.1;color:#AEAEB2;text-align:right}
/* iPad 11": número a la izquierda y, a su lado, apellido arriba y ganados–perdidos abajo (entra "Casanova" en 111 px) */
@media (max-width:1320px){
  #tbPartido .tbAncha .duJugCard .duJb{grid-template-columns:26px minmax(0,1fr);grid-template-rows:auto auto;column-gap:7px;row-gap:0;padding:5px 7px 7px}
  #tbPartido .tbAncha .duJugCard .duJb b{grid-row:1/3;grid-column:1;width:26px;height:26px;font-size:12px;border-width:2px}
  #tbPartido .tbAncha .duJugCard .duJb span:not(.duJbar){grid-row:1;grid-column:2;font-size:13px;line-height:1.15}
  #tbPartido .tbAncha .duJugCard .duJb .duJc{grid-row:2;grid-column:2;justify-content:flex-start}
  #tbPartido .tbAncha .duJugCard .duJc i{font-size:14px} #tbPartido .tbAncha .duJugCard .duJc .s{font-size:11px}
  #tbPartido .tbAncha .duJugCard .duJb .duJbar{height:3px}
}
/* titileo sobrio estilo iOS: solo tinte, sin escala ni anillo que se salga; 3 pulsos de 1 s = los 3 s para elegir */
#tbPartido .tbAncha .duJugCard .duJb.cerca{background:#F3F2EC;border-color:rgba(47,127,193,.55);box-shadow:none;transform:none;animation:duTinte 1s ease-in-out 5}
#tbPartido .tbAncha .duJugCard .duJb.cerca b{animation:none}
@keyframes duTinte{50%{background:#F8E6C4}}
#tbPartido .duJugCard.espera{box-shadow:0 0 0 1.5px rgba(47,127,193,.7),0 14px 34px -18px rgba(0,0,0,.28)}
@media (prefers-reduced-motion:reduce){#tbPartido .tbAncha .duJugCard .duJb.cerca{animation:none;background:#F8E6C4}}
/* ---------- Imagen automática de medio tiempo y final (#expTiempo, opción A aprobada) · 1600×900, se exporta ×2 ---------- */
html.tbAbierto #modalImg{z-index:125}
#modalImg .mTit{margin:0 0 10px;font-family:var(--ios);font-size:17px;font-weight:700;color:var(--verde);text-align:center}
#expTiempo{--c:"Barlow Condensed",-apple-system,sans-serif;width:1600px;height:900px;box-sizing:border-box;background:#F6F5F0;display:flex;flex-direction:column;
  font-family:-apple-system,"SF Pro Text","Helvetica Neue",sans-serif;color:#141414;overflow:hidden}
#expTiempo .itCab{position:relative;flex:none;height:170px;margin:34px 44px 0;border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 16px 40px -24px rgba(0,0,0,.35);display:flex}
#expTiempo .itEqI,#expTiempo .itEqR{flex:1;display:flex;align-items:center;gap:22px;padding:0 30px}
#expTiempo .itEqI{background:#E3EEE7;color:#001B39;border-left:10px solid #001B39}
#expTiempo .itEqR{justify-content:flex-end;background:#F8E6E4;color:#7A1F17;border-right:10px solid #C8352A}
#expTiempo .itCorte{position:absolute;left:50%;top:-10px;bottom:-10px;width:470px;margin-left:-235px;background:#fff;transform:skewX(-16deg)}
#expTiempo .itMarc{position:absolute;left:50%;top:0;bottom:0;width:420px;margin-left:-210px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}
#expTiempo .itFase{font-family:var(--c);font-size:18px;font-weight:800;letter-spacing:.22em;color:#8A5A12;white-space:nowrap}
#expTiempo .itMarc b{font-family:var(--c);font-size:116px;font-weight:800;line-height:.9;letter-spacing:.02em}
#expTiempo .itGuion{color:#C7C2B4;padding:0 16px}
#expTiempo .itEsc{flex:none;width:92px;height:92px;border-radius:50%;box-sizing:border-box;display:flex;align-items:center;justify-content:center;font-family:var(--c);font-size:34px;font-weight:800}
#expTiempo .itEqT{display:flex;flex-direction:column;min-width:0;max-width:330px}
#expTiempo .itEqT.r{align-items:flex-end;text-align:right}
#expTiempo .itEqT b{font-family:var(--c);font-size:40px;font-weight:800;letter-spacing:.02em;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
#expTiempo .itEqI small{font-size:17px;font-weight:700;color:#8A5A12}
#expTiempo .itEqR small{font-size:17px;font-weight:600;color:#4A6E93}
#expTiempo .itCuerpo{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 560px;gap:36px;padding:22px 44px 0}
#expTiempo .itStats{display:flex;flex-direction:column}
#expTiempo .itSt{flex:1;min-height:0;display:grid;grid-template-columns:110px minmax(0,1fr) 150px minmax(0,1fr) 110px;align-items:center;gap:16px;border-bottom:1px solid #E7E5DD}
#expTiempo .itSt:last-child{border-bottom:none}
#expTiempo .itV{font-family:var(--c);font-size:46px;font-weight:800;line-height:1}
#expTiempo .itLab{font-family:var(--c);font-size:21px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;text-align:center;color:#3A3A3C}
#expTiempo .itBi,#expTiempo .itBd{height:12px;display:flex}
#expTiempo .itBi{justify-content:flex-end}
#expTiempo .itBi i,#expTiempo .itBd i{display:block;height:12px}
#expTiempo .itBi i{background:linear-gradient(90deg,#1B4F85,#001B39);border-radius:6px 0 0 6px}
#expTiempo .itBd i{background:linear-gradient(90deg,#C8352A,#E6A198);border-radius:0 6px 6px 0}
#expTiempo .itDu{display:flex;flex-direction:column;gap:12px;min-height:0}
#expTiempo .itDuCab{display:flex;align-items:baseline;justify-content:space-between}
#expTiempo .itDuCab span{font-family:var(--c);font-size:24px;font-weight:800;letter-spacing:.14em}
#expTiempo .itDuCab small{font-family:var(--c);font-size:20px;font-weight:700;letter-spacing:.08em;color:#6B6B70}
#expTiempo .itCancha{position:relative;flex:none;height:296px;border-radius:14px;overflow:hidden;background:#4B9440}
#expTiempo .itCancha svg{position:absolute;left:0;top:0;width:100%;height:100%}
#expTiempo .itGrid{position:absolute;left:8px;right:8px;top:8px;bottom:8px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));gap:6px}
#expTiempo .itZ{display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:6px}
#expTiempo .itZ b{font-family:var(--c);font-size:36px;font-weight:800;line-height:1}
#expTiempo .itZ small{font-size:15px;font-weight:700}
#expTiempo .itLects{display:flex;flex-direction:column;gap:10px}
#expTiempo .itLect{display:flex;align-items:center;gap:16px;padding:12px 18px;border-radius:16px}
#expTiempo .itLect.g{background:#E3EEE7;border:1px solid rgba(0,27,57,.18)}
#expTiempo .itLect.o{background:#F8EBD3;border:1px solid rgba(47,127,193,.45)}
#expTiempo .itLect.n{background:#fff;border:1px solid #E7E5DD}
#expTiempo .itIco{flex:none;width:44px;height:44px;border-radius:22px;display:flex;align-items:center;justify-content:center}
#expTiempo .itLect.g .itIco{background:#001B39} #expTiempo .itLect.o .itIco{background:#2F7FC1}
#expTiempo .itLectT{flex:1;display:flex;flex-direction:column;line-height:1.05}
#expTiempo .itLectT small{font-family:var(--c);font-size:15px;font-weight:700;letter-spacing:.16em}
#expTiempo .itLectT b{font-family:var(--c);font-size:28px;font-weight:800;letter-spacing:.02em}
#expTiempo .itLectN{display:flex;flex-direction:column;align-items:flex-end;line-height:1.05}
#expTiempo .itLectN b{font-family:var(--c);font-size:32px;font-weight:800}
#expTiempo .itLectN small{font-size:13px;font-weight:700}
#expTiempo .itLect.g small{color:#0A3260} #expTiempo .itLect.g b{color:#001B39}
#expTiempo .itLect.o small{color:#1F5F99} #expTiempo .itLect.o b{color:#123F66}
#expTiempo .itLect.n small{color:#6B6B70} #expTiempo .itLect.n b{color:#3A3A3C}
#expTiempo .itTira{flex:none;display:flex;align-items:center;margin:18px 44px 0;padding:18px 28px;border-radius:18px;background:#fff}
#expTiempo .itKpi{display:flex;flex-direction:column;padding:0 26px;border-left:1px solid #E1DED4}
#expTiempo .itKpi:first-child{border-left:none;padding-left:0}
#expTiempo .itKpi b{font-family:var(--c);font-size:48px;font-weight:800;line-height:1;color:#001B39}
#expTiempo .itKpi span{font-family:var(--c);font-size:18px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#6B6B70}
#expTiempo .itKpi.itAbp b{font-size:30px;line-height:1.2}
#expTiempo .itDstTit{font-family:var(--c);font-size:18px;font-weight:800;letter-spacing:.14em;color:#8A5A12;margin-right:22px}
#expTiempo .itDst{display:flex;align-items:center;gap:12px;padding:0 22px;border-left:1px solid #E1DED4}
#expTiempo .itD{width:50px;height:50px;border-radius:25px;box-sizing:border-box;border:0;background:#001B39;color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--c);font-size:24px;font-weight:800}
#expTiempo .itDst b{font-family:var(--c);font-size:24px;font-weight:800;letter-spacing:.02em;display:block}
#expTiempo .itDst small{display:block;font-family:var(--c);font-size:16px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#6B6B70}
#expTiempo .itDst em{font-style:normal;font-family:var(--c);font-size:34px;font-weight:800;color:#001B39;margin-left:6px}
#expTiempo .itPie{flex:none;display:flex;justify-content:space-between;margin:10px 44px 16px;font-size:14px;color:#8E8E93}
#expTiempo .itPie b{color:#001B39}
/* ---------- Pulida final (2026-09-26) ---------- */
/* Plantel en iPad: Evaluación y Partidos como botones redondos con ícono (el texto queda para lectores de pantalla) */
@media (min-width:701px) and (max-width:1500px){
  body.conBarra .plTabla .plLink{width:44px;height:44px;min-height:44px;padding:0;justify-content:center;border-radius:22px}
  body.conBarra .plTabla .plLink .plLinkTx{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  body.conBarra .plTabla td.plEval{width:104px;white-space:nowrap}
  body.conBarra .plTabla td.plRetorno{width:136px}
  body.conBarra .plTabla td.plMotivo{width:auto;min-width:72px}
  body.conBarra .plTabla td:nth-child(2){min-width:280px}
  body.conBarra .plTabla td.plPos input{min-width:156px}
  body.conBarra .plTabla td.plRetorno{width:118px}
  body.conBarra .plTabla td.plRetorno input{padding:0 4px}
}
/* Citas: la hora de "ahora" va encima de la hora fija y centrada en la línea (como el Calendario de iOS) */
body.conBarra .tlOuter .nowLbl{z-index:6;transform:translateY(-50%);padding:2px 4px;line-height:1.2;box-shadow:0 0 0 3px #fff}
/* Temporada · estadísticas con el mismo formato que las otras secciones */
.estBarra{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.estBarra .estExcel{margin-left:auto}
.estVacio{margin:4px 2px;font-size:15px;color:var(--gris2)}
.semTablero .sesion .saVacia{color:var(--gris2);font-weight:500}
/* Semana: cada bloque en 2 renglones como máximo; al tocarlo se abre la información completa (alerta iOS) */
.semTablero .sesion[data-acc="semBloque"]{cursor:pointer}
.semTablero .sesion .sa{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.semTablero .sesion .sdet{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.semTablero .sesion[data-acc="semBloque"]:active{transform:scale(.98)}
.alertaIOS .aiTxt p{white-space:pre-line}
/* imagen de la semana: "+N más" */
.ssMas{font-size:1.4em;font-weight:600;color:#5E6660;padding:.2em .4em}
/* Semana en celular: tarjeta del partido clara (HUB ISC nunca lleva fondos oscuros) */
@media (max-width:700px){
  body.conBarra .scPartido{background:#fff;color:#1C1C1E;box-shadow:0 1px 3px rgba(0,0,0,.06)}
  body.conBarra .scPartidoTxt{color:#1C1C1E}
  body.conBarra .scEyebrow{color:var(--verde)}
  body.conBarra .scEditar{color:var(--verde);font-weight:600}
  body.conBarra .scDet{color:var(--gris2)}
  body.conBarra .scFase{color:var(--gris2)}
  body.conBarra .scSeg{background:#EEEFEA}
  body.conBarra .scSeg button{color:var(--verde)}
  body.conBarra .scSeg button.on{background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.12)}
}
/* ---------- Imágenes · sistema iOS aprobado (lienzo "Imágenes HUB ISC · estilo iOS") · base 10px = 1em ---------- */
#expCard.spCard,#expTec.spCard,#expCitas.spCard,#expSem.spCard,#planCard.spCard,#expPartido.spCard{padding:3.2em 2.8em 2.2em;gap:1.8em}
.spCab{display:flex;align-items:center;gap:1.2em}
.spEscudo{width:4.8em;height:4.8em;object-fit:contain;flex:none}
.spCabTxt{flex:1;min-width:0;gap:.2em}
.spTit{font-size:2.8em;font-weight:700;letter-spacing:-.02em;line-height:1.05;color:#1C1C1E}
.spCabSub{font-size:1.4em;color:#6B6B70;line-height:1.3}
.spPill{flex:none;padding:.4em .8em;border-radius:1em;font-size:1.3em;font-weight:700;white-space:nowrap}
.spSub{margin:-.8em 0 0;font-size:1.3em;font-weight:600;color:#001B39}
.spSecTit{margin:0 0 .5em 1.4em;font-size:1.2em;font-weight:600;color:#6B6B70}
.spLista{background:#fff;border-radius:1.4em;box-shadow:none;overflow:hidden}
.spFila{display:flex;align-items:flex-start;gap:1em;padding:1.1em 1.4em}
.spFila+.spFila{border-top:none;background:linear-gradient(#E7E5DF,#E7E5DF) right top/calc(100% - 1.4em) 1px no-repeat}
.spHora{width:4.6em;flex:none;display:flex;flex-direction:column;line-height:1.05;font-size:1em}
.spHora b{font-size:1.6em;font-weight:700;color:#001B39;letter-spacing:0}
.spHora small{font-size:1em;font-weight:600;color:#6B6B70}
.spTxt{gap:.2em}
.spTxt b{font-size:1.4em;font-weight:600;line-height:1.25;color:#1C1C1E}
.spTxt>span{font-size:1.15em;color:#6B6B70;line-height:1.3}
.spCt{font-size:1.1em;font-weight:600;color:#6B6B70}
.spVacio{font-size:1.4em;color:#6B6B70}
.spDatos{display:block;gap:0}
.spDato{flex:none;background:none;border-radius:0;box-shadow:none;padding:1.2em 1.4em;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:1.2em}
.spDato+.spDato{background:linear-gradient(#E7E5DF,#E7E5DF) right top/calc(100% - 1.4em) 1px no-repeat}
.spDato>span{font-size:1.4em;font-weight:400;letter-spacing:0;text-transform:none;color:#6B6B70;flex:none}
.spDato>b{font-size:1.4em;font-weight:500;color:#1C1C1E;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
body.conBarra .spDato input{font-size:1.4em;font-weight:500;text-align:right}
.spJug,.spCita{align-items:center}
.spDorsal{width:3em;height:3em;flex:none;border-radius:50%;box-sizing:border-box;border:0;background:#001B39;color:#fff;font-size:1em;display:flex;align-items:center;justify-content:center}
.spDorsal{font-weight:800}
.spJug .spDorsal,.spCita .spDorsal{font-size:1.2em;width:2.5em;height:2.5em}
.spJug .spTxt b,.spCita .spTxt b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.spPos{font-size:1.15em;font-weight:400;color:#6B6B70;white-space:nowrap}
.spJug+.spJug{background:linear-gradient(#E7E5DF,#E7E5DF) right top/calc(100% - 5.6em) 1px no-repeat}
.spPie{margin-top:auto;padding-top:0;border-top:none;display:flex;justify-content:space-between;font-size:1.1em;color:#8E8E93}
/* semana: días más sobrios (sin mayúsculas espaciadas) */
.ssCab span{font-size:1.4em;font-weight:600;letter-spacing:0;text-transform:none;color:#6B6B70}
.ssCab b{font-size:3.6em;font-weight:700}
.spHora{width:5.6em}
#expSem .spEscudo{width:6.8em;height:6.8em}
#expSem .spTit{font-size:4em}
#expSem .spCabSub{font-size:2em}
#expSem .spPie{font-size:1.5em}

/* Staff · uso de la app (solo Jean) */
.usoCab{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:0 0 10px}
.usoSeg{display:flex;gap:2px;padding:3px;border-radius:12px;background:rgba(118,118,128,.12)}
.usoSeg button{min-height:40px;padding:0 16px;border:none;border-radius:9px;background:transparent;font-family:var(--ios);font-size:15px;font-weight:500;color:#1C1C1E;cursor:pointer}
.usoSeg button.on{background:#fff;font-weight:700;box-shadow:0 2px 6px rgba(0,0,0,.10),0 0 0 .5px rgba(0,0,0,.04)}
.usoNav{display:flex;align-items:center;gap:6px;font-family:var(--ios)}
.usoNav b{font-size:16px;font-weight:600;min-width:130px;text-align:center}
.usoNav button{width:44px;height:44px;border:none;border-radius:22px;background:rgba(118,118,128,.12);font-size:22px;color:var(--verde);cursor:pointer}
.usoBloq{display:flex;flex-direction:column;align-items:flex-start;gap:10px;font-family:var(--ios);font-size:16px}
.usoBloq p{margin:0}
.usoErr{color:#C4392D;font-weight:600}
.usoFila .ini{flex:none;width:40px;height:40px;border-radius:20px;background:rgba(0,27,57,.08);color:var(--verde);font-weight:700;font-size:14px;display:flex;align-items:center;justify-content:center}
.usoFila .pdFilaVal{display:flex;flex-direction:column;align-items:flex-end;text-align:right}
.usoFila .pdFilaVal b{font-size:17px;color:#1C1C1E}
.usoFila .pdFilaVal small{font-size:13px;color:var(--gris2)}
.usoBarra{display:block;height:6px;border-radius:3px;background:rgba(118,118,128,.12);overflow:hidden;margin-top:5px}
.usoBarra i{display:block;height:100%;border-radius:3px;background:var(--verde)}

/* ---------- Mejoras de planificación (2026-09-27): duración, menú del bloque, avisos por MD, morfociclo, Mes, biblioteca, modelo ---------- */
.agendaEd .minPaso{flex:none;display:inline-flex;align-items:center;min-height:44px;border-radius:10px;background:#F2F2F7;overflow:hidden}
.agendaEd .minPaso button{width:40px;min-height:44px;border:none;background:transparent;color:var(--verde);font-family:var(--ios);font-size:20px;font-weight:600;cursor:pointer}
.agendaEd .minPaso button:disabled{color:#C7C7CC;cursor:default}
.agendaEd .minPaso b{min-width:74px;text-align:center;font-family:var(--ios);font-size:15px;font-weight:600;color:#1C1C1E}
.agendaEd .agMas{flex:none;width:44px;height:44px;border:none;border-radius:22px;cursor:pointer;color:var(--verde);display:inline-flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.7);box-shadow:inset 0 1px 0 #fff,0 0 0 1px rgba(60,60,67,.12),0 3px 10px -6px rgba(0,0,0,.2);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
.agendaEd .agMas:active{transform:scale(.94)}
body.conBarra .agendaEd .minPaso{min-height:34px;border-radius:9px}
body.conBarra .agendaEd .minPaso button{min-height:34px}
body.conBarra .agendaEd .agMas{width:36px;height:36px}
@media (max-width:700px){
  body.conBarra .agendaEd .minPaso,body.conBarra .agendaEd .minPaso button{min-height:44px}
  body.conBarra .agendaEd .minPaso{flex:1 1 auto;justify-content:space-between}
  body.conBarra .agendaEd .agMas{width:44px;height:44px}
}
.agContSel>.agContPrin{grid-column:1/-1}
.filaAg.destello{animation:destello 1.6s ease}
@keyframes destello{0%,60%{box-shadow:0 0 0 3px rgba(255,141,40,.55)}100%{box-shadow:0 0 0 3px rgba(255,141,40,0)}}
.csExactos{margin-top:6px}

.mdAvisos{display:flex;flex-direction:column;gap:10px}
.mdAviso{display:grid;grid-template-columns:38px 1fr;gap:12px;background:#fff;border-radius:18px;padding:14px;box-shadow:0 1px 3px rgba(0,0,0,.06);font-family:var(--ios)}
.mdAvIco{width:38px;height:38px;border-radius:9px;background:#FF8D28;display:flex;align-items:center;justify-content:center}
.mdAvTxt b{display:block;font-size:17px;font-weight:600;color:#1C1C1E}
.mdAvTxt p{margin:2px 0 0;font-size:15px;color:#3A3A3C;line-height:1.35}
.mdAvAcc{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.mdAvAcc .btnS{min-height:40px}
.mdAvAcc .mdAvOk{color:var(--gris2)}
body.conBarra .hcRevisar{align-self:flex-start;margin-top:4px;font-style:normal;font-size:12px;font-weight:600;color:#B35A00;background:#FFF1E5;border-radius:10px;padding:2px 8px}

.semVista{display:flex;justify-content:flex-start;margin:0 0 14px}
@media (max-width:700px){ .semVista .usoSeg{flex:1} .semVista .usoSeg button{flex:1} }
.mfSemana{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.mfDia{display:flex;flex-direction:column;align-items:center;gap:5px;min-height:132px;padding:10px 6px;border:none;border-radius:16px;background:#fff;
  box-shadow:0 1px 3px rgba(0,0,0,.06);font-family:var(--ios);text-align:center;cursor:pointer}
.mfDia.hoy{box-shadow:0 0 0 2px var(--verde)}
.mfDia.alerta{box-shadow:0 0 0 2px #FF8D28}
.mfDiaN{font-size:12px;font-weight:600;color:var(--gris2);text-transform:capitalize}
.mfMd{font-size:12px;font-weight:700;color:#fff;border-radius:7px;padding:2px 8px}
.mfDia b{font-size:13px;font-weight:600;line-height:1.2;color:#1C1C1E}
.mfDia small{font-size:12px;color:var(--gris2);line-height:1.25}
.mfEst{margin-top:auto;width:24px;height:24px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:#fff;background:#C7C7CC}
.mfEst.ok{background:#2E8B57}
.mfEst.alerta{background:#FF8D28}
@media (max-width:1023px){ .mfSemana{gap:6px} .mfDia{padding:8px 4px;min-height:120px} .mfDia small{display:none} }
@media (max-width:700px){
  .mfSemana{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding:3px 3px 6px;margin:0 -3px;scrollbar-width:none}
  .mfSemana::-webkit-scrollbar{display:none}
  .mfDia{flex:0 0 104px;scroll-snap-align:start}
  .mfDia small{display:block}
}
.mfCfgGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr))}
.mfCfgGrid .pdFila{border-top:none!important}
.mfCfgFila select{min-height:40px;border:none;border-radius:10px;background:#F2F2F7;font-family:var(--ios);font-size:15px;font-weight:600;color:var(--verde);padding:0 30px 0 10px;max-width:none;flex:none;min-width:170px}

.mesKpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 18px}
.mesKpis div{background:#fff;border-radius:18px;padding:14px 16px;box-shadow:0 1px 3px rgba(0,0,0,.05);font-family:var(--ios)}
.mesKpis b{display:block;font-size:28px;font-weight:700;letter-spacing:-.02em;color:#1C1C1E}
.mesKpis span{font-size:13px;color:var(--gris2)}
.mesGrid{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:18px;align-items:start}
.mesFase .csCab b em{font-style:normal;font-size:13px;font-weight:600;margin-left:6px}
.mesFase .csCab b em.mas{color:#2E8B57}
.mesFase .csCab b em.menos{color:#C4392D}
.mesPrin{display:flex;flex-direction:column;margin-top:4px;padding-left:10px;border-left:2px solid rgba(0,27,57,.12)}
.mesPrinF{display:flex;justify-content:space-between;gap:10px;font-family:var(--ios);font-size:15px;padding:4px 0}
.mesPrinF b{font-weight:600;white-space:nowrap}
.mesPrinF b.cero{color:#C4392D}
.mesAvisoFase{color:#B35A00}
@media (max-width:1100px){ .mesGrid{grid-template-columns:1fr} }
@media (max-width:700px){ .mesKpis{grid-template-columns:1fr 1fr} .mesKpis b{font-size:22px} }

.bibSeg{margin:0 0 14px;overflow-x:auto;flex-wrap:nowrap;max-width:100%}
.bibSeg button{white-space:nowrap}
.bibComp{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.bibCampos label{min-width:0}
body.conBarra .bibCampos input{width:100%;min-width:0}
.bibComp label{display:flex;flex-direction:column;gap:4px;min-width:0;font-family:var(--ios);font-size:13px;font-weight:600;color:#6B6B70}
.bibComp select{min-height:40px;border:none;border-radius:10px;background:#F2F2F7;font-family:var(--ios);font-size:15px;font-weight:600;color:#1C1C1E;padding:0 10px;width:100%}
.bibComp select:disabled{color:#AEAEB2}
.bibUsoFila{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.bibUso{font-family:var(--ios);font-size:13px;color:var(--gris2)}
@media (max-width:700px){ .bibUsoFila .btnP{flex:1 1 100%} }

.mjGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:30px 22px;margin-top:8px}
.mjGrid>.pdSec{gap:10px}
.mjGrid .pdSecTit{padding:0 6px;font-family:var(--ios);font-size:20px;font-weight:700;letter-spacing:-.3px;color:#1C1C1E}
.mjLista{padding:6px 0}
.mjFila{display:flex;align-items:center;gap:10px;padding:4px 12px}
.mjN{flex:none;width:26px;height:26px;border-radius:13px;background:rgba(0,27,57,.08);color:var(--verde);font-family:var(--ios);font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center}
.mjIn{flex:1;min-width:0;min-height:44px;border:none;border-radius:10px;background:#F2F2F7;padding:0 12px;font-family:var(--ios);font-size:16px;color:#1C1C1E}
.mjDel{flex:none;width:44px;height:44px;border:none;border-radius:22px;background:transparent;color:#C4392D;cursor:pointer;display:flex;align-items:center;justify-content:center}
.mjAdd{display:flex;align-items:center;gap:8px;margin:4px 12px 6px;min-height:44px;border:none;background:none;color:var(--verde);font-family:var(--ios);font-size:16px;font-weight:600;cursor:pointer}
.mjVacio{margin:4px 16px 8px;font-family:var(--ios);font-size:15px;color:var(--gris2)}
@media (max-width:700px){ .mjGrid{grid-template-columns:1fr} }
.ptGolFase select{min-height:40px;border:none;border-radius:10px;background:#F2F2F7;font-family:var(--ios);font-size:15px;font-weight:600;color:var(--verde);padding:0 10px}
@media (max-width:700px){
  .mdAviso{padding:12px;gap:10px;grid-template-columns:32px 1fr}
  .mdAvIco{width:32px;height:32px;border-radius:8px}
  .mdAvTxt b{font-size:16px}
  .mdAvAcc{flex-wrap:nowrap}
  .mdAvAcc .btnS{flex:1 1 0;min-width:0;padding:0 10px;white-space:nowrap}
}
@media (max-width:700px){
  body.conBarra .agendaEd .filaAg.abierto .agCt{flex-direction:row;flex-wrap:wrap;align-items:center;gap:12px}
  body.conBarra .agendaEd .filaAg.abierto .ctBox{flex:1 1 100%}
  body.conBarra .agendaEd .filaAg.abierto .minPaso{flex:1 1 auto;background:#fff;border-radius:12px;min-height:50px}
  body.conBarra .agendaEd .filaAg.abierto .minPaso button{min-height:50px;width:52px}
  body.conBarra .agendaEd .filaAg.abierto .agMas{width:50px;height:50px}
}

/* ---------- Pulida visual (2026-09-27, auditoría medida en 1280 / iPad 1180×820 y 820×1180 / celular 390) ---------- */
/* el selector de componente no empuja el bloque: en columnas angostas las pestañas van en dos renglones */
.filaAg .campos{min-width:0}
.agendaEd .agCont{container-type:inline-size}
@container (max-width:540px){
  .agContSeg{flex-wrap:wrap;gap:2px}
  .agContSeg button{flex:1 1 30%;font-size:15px}
}
@container (max-width:380px){ .agContSeg button i{display:none} .agContSel{grid-template-columns:1fr} }
/* Staff en celular: la etiqueta mantiene su ancho y el campo se achica */
.ctCampo .pdFilaTxt{flex:none;max-width:55%}
.ctCampo input{flex:1;min-width:0}
/* avisos del MD: una sola tarjeta agrupada estilo iOS, acciones a la derecha */
.mdAvisos{gap:0}
.mdAvGrupo{background:#fff;border-radius:18px;box-shadow:0 1px 3px rgba(0,0,0,.06);overflow:hidden}
.mdAvGrupo .mdAviso{background:none;box-shadow:none;border-radius:0;grid-template-columns:32px minmax(0,1fr);padding:12px 16px}
.mdAvGrupo .mdAviso+.mdAviso{border-top:1px solid var(--sep)}
.mdAvGrupo .mdAvIco{width:32px;height:32px;border-radius:8px}
.mdAvGrupo .mdAvTxt{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:14px;align-items:center}
.mdAvGrupo .mdAvTxt b{grid-column:1}
.mdAvGrupo .mdAvTxt p{grid-column:1}
.mdAvGrupo .mdAvAcc{grid-column:2;grid-row:1/3;margin:0;flex-wrap:nowrap}
.mdAvGrupo .mdAvAcc .btnS{min-height:36px;padding:0 14px;white-space:nowrap}
@media (max-width:900px){
  .mdAvGrupo .mdAvTxt{display:block}
  .mdAvGrupo .mdAvAcc{margin-top:10px}
}
/* "Componente" en formato oración, como el resto de las etiquetas iOS de la app */
.agContCab{text-transform:none;letter-spacing:0;font-size:13px;font-weight:600;color:#6B6B70}
.agContCab span{font-weight:600}
.mdAvisos{margin-bottom:22px}
.mdAvSum{display:none}
@media (max-width:700px){
  .mdAvTit{display:none}
  .mdAvSum{display:flex;align-items:center;gap:10px;list-style:none;cursor:pointer;background:#fff;border-radius:16px;padding:10px 14px;min-height:52px;
    box-shadow:0 1px 3px rgba(0,0,0,.06);font-family:var(--ios)}
  .mdAvSum::-webkit-details-marker{display:none}
  .mdAvSum b{flex:1;font-size:16px;font-weight:600;color:#1C1C1E}
  .mdAvVer{font-size:15px;font-weight:600;color:var(--verde)}
  .mdAvDet[open] .mdAvSum{border-radius:16px 16px 0 0;box-shadow:none;border-bottom:1px solid var(--sep)}
  .mdAvDet[open] .mdAvGrupo{border-radius:0 0 16px 16px}
  .mdAvGrupo .mdAvIco{display:none}
  .mdAvGrupo .mdAviso{grid-template-columns:1fr}
}
.bibSeg{scrollbar-width:none}
.bibSeg::-webkit-scrollbar{display:none}
/* Plantel entre 1181 y 1500 px: la tabla entraba 70 px más ancha que su tarjeta (Motivo en 72 px, borrar cortado) */
@media (min-width:1181px) and (max-width:1500px){
  body.conBarra .plTabla{min-width:0;width:100%}
  body.conBarra .plTabla td:nth-child(2){min-width:170px}
  body.conBarra .plTabla td.plPos{width:118px}
  body.conBarra .plTabla td.plPos input{min-width:0}
  body.conBarra .plTabla td.plEstado{width:120px}
  body.conBarra .plTabla select.estadoJug{min-width:0}
  body.conBarra .plTabla td.plMotivo{width:auto;min-width:110px}
  body.conBarra .plTabla td.plRetorno{width:148px}
  body.conBarra .plTabla td.plRetorno input{min-width:0;padding:0 6px}
  body.conBarra .plTabla td.plEval{width:100px}
  body.conBarra .plTabla td.plDel{width:52px}
}
/* Plantel en tarjetas (701–1180): el mínimo de 156 px de Posición es para la vista de tabla; acá desbordaba la celda */
@media (min-width:701px) and (max-width:1180px){
  body.conBarra .plTabla td.plPos input,body.conBarra .plTabla select.estadoJug{min-width:0}
}

/* Teclado de clave: la tecla tocada se ve (verde del club con número blanco), en ingreso y tablero */
.lgTecla{transition:background .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease}
.lgTecla.tocada,.lgTecla:active{background:#001B39!important;color:#fff!important;border-color:#001B39!important;transform:scale(.93);
  box-shadow:0 0 0 4px rgba(0,27,57,.14),0 6px 14px -6px rgba(0,27,57,.55)!important;transition:none}
.lgTeclaTxt.tocada{color:#001B39;background:rgba(0,27,57,.1);border-radius:40px;transition:none}

/* Duelos · tarjetas de jugador más llamativas para iPad (2026-09-27, pedido de Jean: "muy pálido y blanco").
   Siguen en claro: verde suave del club, dorsal dorado grande, ganados/perdidos grandes. Si la tarjeta es alta, todo va centrado. */
#tbPartido .tbAncha .duJugCard .duJb{background:linear-gradient(180deg,#F4F6F9,#E6EBF1);border:1.5px solid rgba(0,27,57,.2);
  box-shadow:0 1px 0 #fff inset,0 6px 14px -8px rgba(0,27,57,.45)}
#tbPartido .tbAncha .duJugCard .duJb span:not(.duJbar){color:#001B39;font-weight:800}
#tbPartido .tbAncha .duJugCard .duJc .g{color:#001B39} #tbPartido .tbAncha .duJugCard .duJc .p{color:#C8352A}
#tbPartido .tbAncha .duJugCard .duJb .duJbar{height:6px;background:rgba(0,27,57,.12)}
#tbPartido .tbAncha .duJugCard .duJb .duJbar:empty{display:block}
#tbPartido .tbAncha .duJugCard .duNadie{background:rgba(255,255,255,.55);border:2px dashed rgba(0,27,57,.35)}
#tbPartido .tbAncha .duJugCard .duNadie span{font-size:16px;font-weight:800}
/* pantallas grandes acostadas (iPad 13", compu): las tarjetas son altas → contenido centrado y grande */
@media (orientation:landscape) and (min-width:1280px) and (min-height:900px){
  #tbPartido .tbAncha .duJugCard .duJb{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;padding:10px 8px 16px}
  #tbPartido .tbAncha .duJugCard .duJb b{width:58px;height:58px;font-size:24px;border-width:3px;box-shadow:0 4px 10px -4px rgba(0,27,57,.5)}
  #tbPartido .tbAncha .duJugCard .duJb span:not(.duJbar){font-size:18px;line-height:1.15;max-width:100%}
  #tbPartido .tbAncha .duJugCard .duJb .duJc{justify-content:center;gap:6px}
  #tbPartido .tbAncha .duJugCard .duJc i{font-size:24px}
  #tbPartido .tbAncha .duJugCard .duJc .s{font-size:16px}
}
#tbPartido .tbAncha .duJugCard .duJb.on{background:#001B39;border-color:#001B39;box-shadow:0 8px 18px -8px rgba(0,27,57,.7)}
#tbPartido .tbAncha .duJugCard .duJb.on span:not(.duJbar){color:#fff}
#tbPartido .tbAncha .duJugCard .duJb.cerca{background:linear-gradient(180deg,#E3EFF9,#B9D7F0);border-color:var(--oro)}

/* Celular: barra de abajo que se esconde al bajar y vuelve al subir */
@media (max-width:700px){
  body.conBarra #barraTabs{transition:transform .32s cubic-bezier(.32,.72,0,1),opacity .25s ease}
  body.conBarra.barraOculta #barraTabs{transform:translateY(calc(100% + 30px + env(safe-area-inset-bottom)));opacity:0;pointer-events:none}
}
@media (max-width:700px) and (prefers-reduced-motion:reduce){ body.conBarra #barraTabs{transition:none} }

/* Duelos por zona (Estadísticas del partido): misma cancha horizontal de la pizarra, Inter ataca a la derecha */
.ptDuMapa{aspect-ratio:700/450;align-self:start;grid-template-rows:repeat(3,minmax(0,1fr));gap:6px;padding:7% 5% 5%;
  background:var(--tbCanchaH) center/100% 100% no-repeat,#4B9440}
.ptDuelos{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}
.ptDuAtq{left:50%;right:auto;top:auto;bottom:3.5%;transform:translateX(-50%);z-index:1;padding:3px 10px;border-radius:999px;
  background:rgba(255,255,255,.92);color:#001B39;font-size:12px;font-weight:800;white-space:nowrap;box-shadow:0 1px 4px rgba(0,0,0,.18)}
.ptDuMapa{padding:5% 5% 10%}
.ptDz{justify-content:center;padding:4px;min-width:0;background:rgba(255,255,255,.08)!important}
.ptDz span,.ptDz .ptDzP{display:none}
@media (max-width:700px){ .ptDuelos{grid-template-columns:1fr} }

/* iPad acostado: la columna derecha del tablero necesita más aire (en 11" cortaba textos y pedía scroll) */
@media (orientation:landscape) and (max-width:1439px){
  #tbPartido .tbAncha .tbCentro:not(.duCentro){grid-template-columns:minmax(0,1fr) clamp(320px,29vw,400px)}
  #tbPartido .tbAncha .tbEstCol{padding:8px 14px 8px}
  #tbPartido .tbAncha .tbEstCol .tbSecTit{margin:6px 0 2px}
}

/* Estadísticas del tablero: lo de Inter y el balón parado con el mismo ritmo de filas que las comparaciones */
#tbPartido .tbAncha .tbEstMini{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}
#tbPartido .tbAncha .tbEstMini div{flex-direction:row-reverse;justify-content:space-between;align-items:baseline;gap:8px;padding:5px 0;border-top:1px solid var(--sep)}
#tbPartido .tbAncha .tbEstMini b{font-size:15px;font-weight:800;color:var(--verde);font-variant-numeric:tabular-nums}
#tbPartido .tbAncha .tbEstMini span{font-size:13px;color:#3A3A3C;letter-spacing:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#tbPartido .tbAncha .tbEstAbpG{flex:none;display:flex;flex-direction:column}
#tbPartido .tbAncha .tbEstAbp{display:flex;align-items:baseline;gap:8px;padding:5px 0;border-top:1px solid var(--sep);min-width:0}
#tbPartido .tbAncha .tbEstAbp span{order:1;font-size:13px;font-weight:600;color:#3A3A3C}
#tbPartido .tbAncha .tbEstAbp small{order:2;flex:1;text-align:right;font-size:12px;color:var(--gris2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#tbPartido .tbAncha .tbEstAbp b{order:3;min-width:18px;text-align:right;font-size:15px;font-weight:800;color:var(--verde);font-variant-numeric:tabular-nums}

/* Capa de acciones del jugador: velo claro sobre la cancha, títulos legibles, negativas en rojo y sin huecos en la última fila */
#tbPartido .tbAncha .tbCapa{background:rgba(244,243,239,.62);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
#tbPartido .tbAncha .tbCapaTit{color:#3A3A3C;text-shadow:none;font-size:12px;letter-spacing:.06em;margin:4px 2px -2px}
#tbPartido .tbAncha .tbCapaG button{background:#fff;border:1px solid rgba(0,27,57,.12);box-shadow:0 1px 3px rgba(0,0,0,.08)}
#tbPartido .tbAncha .tbCapaG button.neg{color:#B3402F}
#tbPartido .tbAncha .tbCapaG button.rem{background:linear-gradient(180deg,#8DBDE6,var(--oro));color:#fff;border-color:rgba(168,120,47,.4)}
#tbPartido .tbAncha .tbCapaMas{display:flex;flex-wrap:wrap;align-content:stretch;gap:9px}
#tbPartido .tbAncha .tbCapaMas button{flex:1 1 calc((100% - (var(--cols,4) - 1) * 9px) / var(--cols,4));background:#EEF6F0;border-color:rgba(0,27,57,.18)}
@media (prefers-reduced-transparency:reduce){ #tbPartido .tbAncha .tbCapa{background:rgba(244,243,239,.94);backdrop-filter:none;-webkit-backdrop-filter:none} }
#tbPartido .tbAncha .tbEstMini{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);column-gap:14px}
#tbPartido .tbAncha .tbCapa{background:rgba(244,243,239,.5);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
@media (orientation:landscape) and (max-width:1250px){
  #tbPartido .tbAncha .duJugCard .duJugGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  #tbPartido .tbAncha .duJugCard .duJb span{font-size:13px}
}
/* 13" con la barra de Safari (~960 px de alto): la tarjeta grande no entra, se achica el dorsal para que se lea el apellido */
@media (orientation:landscape) and (min-width:1280px) and (min-height:900px) and (max-height:1010px){
  #tbPartido .tbAncha .duJugCard .duJb{gap:3px;padding:6px 6px 12px}
  #tbPartido .tbAncha .duJugCard .duJb b{width:40px;height:40px;font-size:17px;border-width:2.5px}
  #tbPartido .tbAncha .duJugCard .duJb span:not(.duJbar){font-size:15px}
  #tbPartido .tbAncha .duJugCard .duJc i{font-size:20px}
  #tbPartido .tbAncha .duJugCard .duJc .s{font-size:15px}
}

/* Duelos en iPad acostado (pedido de Jean): cancha grande arriba a la izquierda, Parte y Momento a la derecha,
   jugadores abajo a todo el ancho en 2 filas de 6. --duJug = alto de la franja de jugadores */
@media (orientation:landscape){
  #tbPartido .tbAncha.tbHoriz .duCentro{--duJug:150px;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) var(--duJug)}
  #tbPartido .tbAncha.tbHoriz .duCol{grid-column:1;grid-row:1/3;min-height:0;display:flex;align-items:flex-start;justify-content:center}
  #tbPartido .tbAncha.tbHoriz .duCol .duCancha{flex:none;width:auto;height:100%;max-width:100%;aspect-ratio:700/450;margin:0}
  #tbPartido .tbAncha.tbHoriz .duParte{grid-column:2;grid-row:1;align-self:stretch;overflow:hidden}
  #tbPartido .tbAncha.tbHoriz .duMom{grid-column:2;grid-row:2;height:auto;min-height:0}
  #tbPartido .tbAncha.tbHoriz .duJugCard{grid-column:1/-1;grid-row:3;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr);
    column-gap:12px;row-gap:4px;padding:8px 12px 10px;overflow:hidden}
  #tbPartido .tbAncha.tbHoriz .duJugCard .duTit{grid-column:1;grid-row:1;margin:0}
  #tbPartido .tbAncha.tbHoriz .duJugCard .duAyuda{grid-column:2;grid-row:1;display:block;margin:0;align-self:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  #tbPartido .tbAncha.tbHoriz .duJugCard .duCuenta{grid-column:1/-1;grid-row:2}
  #tbPartido .tbAncha.tbHoriz .duJugCard .duJugGrid{grid-column:1/-1;grid-row:3;min-height:0;grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:minmax(0,1fr);gap:6px}
  #tbPartido .tbAncha.tbHoriz .duJugCard .duJb{min-height:0}
}
/* 13": franja de jugadores más alta, tarjeta centrada con dorsal grande */
@media (orientation:landscape) and (min-width:1280px) and (min-height:900px){
  #tbPartido .tbAncha.tbHoriz .duCentro{--duJug:236px}
}
@media (orientation:landscape){
  #tbPartido .tbAncha.tbHoriz .duJugCard .duJb{display:grid;grid-template-columns:34px minmax(0,1fr);grid-template-rows:auto auto;align-content:center;justify-content:stretch;
    column-gap:9px;row-gap:1px;text-align:left;padding:5px 9px 9px}
  #tbPartido .tbAncha.tbHoriz .duJugCard .duJb b{grid-row:1/3;grid-column:1;width:34px;height:34px;font-size:15px;border-width:2.5px}
  #tbPartido .tbAncha.tbHoriz .duJugCard .duJb span:not(.duJbar){grid-row:1;grid-column:2;font-size:15px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  #tbPartido .tbAncha.tbHoriz .duJugCard .duJb .duJc{grid-row:2;grid-column:2;justify-content:flex-start;gap:4px}
  #tbPartido .tbAncha.tbHoriz .duJugCard .duJc i{font-size:17px} #tbPartido .tbAncha.tbHoriz .duJugCard .duJc .s{font-size:13px}
  #tbPartido .tbAncha.tbHoriz .duJugCard .duJb .duJbar{height:5px}
}
@media (orientation:landscape) and (min-width:1280px) and (min-height:900px){
  #tbPartido .tbAncha.tbHoriz .duJugCard .duJb{grid-template-columns:46px minmax(0,1fr);column-gap:12px;padding:6px 12px 10px}
  #tbPartido .tbAncha.tbHoriz .duJugCard .duJb b{width:46px;height:46px;font-size:20px;border-width:3px}
  #tbPartido .tbAncha.tbHoriz .duJugCard .duJb span:not(.duJbar){font-size:17px}
  #tbPartido .tbAncha.tbHoriz .duJugCard .duJc i{font-size:22px} #tbPartido .tbAncha.tbHoriz .duJugCard .duJc .s{font-size:15px}
}
/* 11": Parte más compacto para que el Momento tenga alto */
@media (orientation:landscape) and (max-height:860px){
  #tbPartido .tbAncha.tbHoriz .duParte{gap:6px;padding:10px 14px}
  #tbPartido .tbAncha.tbHoriz .duResumen b{font-size:22px}
  #tbPartido .tbAncha.tbHoriz .duCarriles{gap:6px}
  #tbPartido .tbAncha.tbHoriz .duCarril .nm{font-size:15px}
  #tbPartido .tbAncha.tbHoriz .duCarril .v{font-size:20px}
  #tbPartido .tbAncha.tbHoriz .duLectura{padding:7px 12px;gap:4px}
  #tbPartido .tbAncha.tbHoriz .duLectura>div{font-size:15px}
  #tbPartido .tbAncha.tbHoriz .duLectura .ico{width:22px;height:22px;font-size:13px}
}

/* ---------- Departamento médico y pasaporte clínico (medico.js) ----------
   Prefijo cl* (clínico): la app ya usa md* para los avisos del MD (match day). Mismos tokens que el resto:
   tarjeta = .pdGrupo (blanco, radio 18, sombra suave), padding 16, 12 entre tarjetas, 24 entre secciones,
   títulos de sección = .pdSecTit, solo tamaños de la escala iOS (34·28·22·20·17·15·13·12·11). */
body.conBarra{--clCard:0 1px 2px rgba(0,0,0,.04),0 12px 32px -20px rgba(0,0,0,.2)}
#mdClave{position:fixed;inset:0;z-index:95;display:flex;align-items:center;justify-content:center;padding:24px;overflow:auto;
  background:radial-gradient(60% 50% at 10% 0%,rgba(0,27,57,.12),transparent 70%),radial-gradient(50% 45% at 100% 10%,rgba(47,127,193,.18),transparent 70%),#F3F5F8}
#mdClave[hidden]{display:none}
#mdClave .lgMsg{max-width:340px;line-height:1.3;text-align:center}

/* piezas comunes */
.clSec{display:flex;flex-direction:column;gap:8px}
.clSec+.clSec,.clSec+.clTablero,.clAlertasSec+.clSec{margin-top:24px}
.clPunto{width:10px;height:10px;border-radius:50%;flex:none;display:inline-block}
.clDorsal{width:36px;height:36px;flex:none;border-radius:50%;box-sizing:border-box;border:0;background:#001B39;color:#fff;
  display:inline-flex;align-items:center;justify-content:center;font-size:15px;font-weight:800;font-variant-numeric:tabular-nums;line-height:1}
.clDorsal.grande{width:64px;height:64px;border-width:3px;font-size:28px}
.clAviso{margin:0 0 16px;padding:12px 16px;border-radius:14px;background:#E3EFF9;color:#8A5A12;font-size:15px;line-height:1.35}
.clCargando{padding:48px 16px;text-align:center;font-size:15px;color:var(--gris2)}
.clVacioCol{margin:4px 0;font-size:13px;color:var(--gris2)}
.clAyuda{margin:0 0 16px;padding:0 16px;font-size:13px;line-height:1.4;color:var(--gris2)}
.clLinkBtn{min-height:44px;padding:0 12px;border:0;background:none;font:inherit;font-size:15px;font-weight:600;color:var(--verde)}
.clTop{display:flex;align-items:center;gap:10px;margin-bottom:16px;flex-wrap:wrap}
.clEsp{flex:1}
.clVolver{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border:0;border-radius:22px;background:#fff;box-shadow:var(--clCard);font:inherit;font-size:15px;font-weight:600;color:var(--verde)}
.clPeligro{color:#B3402F!important}
.clBtnGrande{min-height:50px;padding:0 28px;font-size:17px}

/* pantalla de bloqueo */
.clBloqueo{max-width:480px;margin:32px auto;padding:32px 28px;border-radius:18px;background:#fff;box-shadow:var(--clCard);display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}
.clBloqueo h3{margin:4px 0 0;font-size:22px;font-weight:700}
.clBloqueo p{margin:0;font-size:15px;line-height:1.45;color:#3A3A3C}
.clBloqueo small{font-size:13px;line-height:1.4;color:var(--gris2)}
.clBloqueo .clBtnGrande{margin:8px 0 4px}
.clBloqueo .clAviso{margin:0}
.clCandado{width:64px;height:64px;border-radius:18px;background:#EEF6F0;color:#001B39;display:flex;align-items:center;justify-content:center}

/* encabezado del departamento */
.clSesion{display:flex;align-items:center;gap:4px}
.clAreaPill{display:inline-flex;align-items:center;min-height:26px;padding:0 10px;border-radius:13px;font-size:13px;font-weight:700;color:var(--ac);background:#fff;box-shadow:inset 0 0 0 1.5px var(--ac)}

/* alertas: una tarjeta agrupada */
.clAlertasSec{margin-bottom:0}
.clAlertas{display:flex;flex-direction:column}
.clAlerta{display:flex;align-items:center;gap:12px;min-height:56px;padding:8px 16px;border:0;background:none;font:inherit;font-size:15px;text-align:left;color:#1C1C1E;width:100%}
.clAlerta+.clAlerta{border-top:1px solid var(--sep)}
.clAlerta>span:nth-child(2){flex:1;min-width:0;line-height:1.35}
.clAlerta em{font-style:normal;font-size:15px;font-weight:600;color:var(--verde)}
.clAlertaIco{width:30px;height:30px;flex:none;border-radius:8px;background:#E3EFF9;color:#B8661C;display:flex;align-items:center;justify-content:center}
.clAlertaIco.r{background:#F8E1DD;color:#B3402F}

/* tablero (C) */
.clCol{display:flex;flex-direction:column;gap:10px;padding:16px;border-radius:18px;background:#fff;box-shadow:var(--clCard)}
.clColCab{display:flex;align-items:center;gap:8px;min-height:28px}
.clColCab b{flex:1;font-size:17px;font-weight:700}
.clColCab em{font-style:normal;font-size:20px;font-weight:800;font-variant-numeric:tabular-nums}
.clDisp{margin:0}
.clSubt{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.clChipsJug{display:flex;flex-wrap:wrap;gap:8px}
.clJugChip{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px 0 6px;border:0;border-radius:22px;background:#F2F2F7;font:inherit;font-size:15px;font-weight:600;color:#1C1C1E}
.clJugChip b{min-width:32px;height:32px;padding:0 4px;box-sizing:border-box;border-radius:16px;background:#fff;color:#001B39;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;font-variant-numeric:tabular-nums}
.clJugChip.alergia{box-shadow:inset 0 0 0 1.5px #E7A69C}
.clTablero{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:stretch}
.clCard{display:flex;flex-direction:column;gap:8px;padding:12px;border:0;border-radius:14px;background:#F7F7F4;font:inherit;text-align:left;color:#1C1C1E;width:100%;box-sizing:border-box}
.clCardCab{display:flex;align-items:center;gap:10px}
.clCardNom{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.clCardNom b{display:flex;align-items:center;gap:6px;font-size:15px;font-weight:700}
.clCardNom small,.clCardPie{font-size:12px;color:var(--gris2)}
.clCardRes{font-size:13px;font-weight:600;line-height:1.3}
.clAlergiaDot{width:8px;height:8px;border-radius:50%;background:#B3402F;flex:none}
.clFases{display:flex;gap:3px}
.clFases i{flex:1;height:5px;border-radius:3px;background:#E5E5EA}
.clFases i.on{background:#001B39}

/* pasaporte (A) */
.clJugHead{display:flex;align-items:center;gap:16px;margin-bottom:16px}
.clJugTxt{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.clJugTxt h2{margin:0;font-size:28px;font-weight:700;letter-spacing:-.01em;line-height:1.15}
.clJugTxt span{font-size:15px;color:var(--gris2)}
.clEstado{display:inline-flex;align-items:center;min-height:36px;padding:0 16px;border-radius:18px;font-size:15px;font-weight:700;white-space:nowrap}
.clEstado.ok{background:#E3F1E8;color:#0A3260}
.clResumen{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.clKpi{display:flex;flex-direction:column;gap:6px;padding:16px;border-radius:18px;background:#fff;box-shadow:var(--clCard);min-width:0}
.clKpiTit{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--gris2)}
.clKpi b{font-size:17px;font-weight:700;line-height:1.25;overflow-wrap:anywhere}
.clKpi small{margin-top:auto;font-size:13px;line-height:1.35;color:var(--gris2)}
.clKpi .rojo,.clKpiTit.rojo{color:#B3402F}
.clBarra{height:6px;border-radius:3px;background:#E5E5EA;overflow:hidden}
.clBarra i{display:block;height:100%;border-radius:3px;background:#001B39}
.clTel{display:inline-flex;align-items:center;gap:6px;min-height:32px;margin-top:auto;font-size:15px;font-weight:600;color:var(--verde);text-decoration:none}
body.conBarra .segArea.clSeg{margin:24px 0 16px}
.clAreas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.clArea{display:flex;flex-direction:column;gap:8px;padding:16px;border-radius:18px;background:#fff;box-shadow:var(--clCard);min-width:0}
.clAreaCab{display:flex;align-items:center;gap:10px;min-height:30px}
.clAreaCab b{flex:1;font-size:17px;font-weight:700}
.clAreaCab>span:last-child{font-size:13px;color:var(--gris2)}
.clAreaIco{width:30px;height:30px;flex:none;border-radius:8px;display:flex;align-items:center;justify-content:center}
.clAreaTxt{margin:0;font-size:15px;line-height:1.35}
.clAreaTxt b{font-weight:600}
.clAreaSub{margin:0;font-size:13px;line-height:1.4;color:var(--gris2)}
.clPriv{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:600;color:var(--gris2)}
.clEva{display:flex;align-items:flex-end;gap:6px;height:72px}
.clEva span{flex:1;max-width:44px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px;height:100%}
.clEva i{width:100%;border-radius:5px}
.clEva small{font-size:11px;font-weight:600;color:var(--gris2)}
.clMini{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.clMini>span{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:12px;background:#F2F2F7}
.clMini b{font-size:20px;font-weight:700;font-variant-numeric:tabular-nums}
.clMini small{font-size:12px;color:var(--gris2)}
.clMini .oro{background:#E3EFF9;color:#8A5A12}

/* historia y cuerpo (B) */
.clHistoria{display:grid;grid-template-columns:380px minmax(0,1fr);gap:12px;align-items:start}
.clCuerpo,.clLinea{padding:16px;border-radius:18px;background:#fff;box-shadow:var(--clCard);display:flex;flex-direction:column;gap:12px;min-width:0}
.clSecCab b{font-size:17px;font-weight:700}
.clFiguras{display:flex;justify-content:space-around;gap:8px}
.clCuerpoFig{display:flex;flex-direction:column;align-items:center;gap:4px}
.clCuerpoFig>span{font-size:13px;font-weight:600;color:var(--gris2)}
.clSil{fill:#EEF6F0;stroke:#9DB8A6;stroke-width:2}
.clZ{fill:rgba(255,255,255,.9);stroke:#9DB8A6;stroke-width:1.5;cursor:pointer}
.clZ:hover{fill:#E3EFF9;stroke:#2F7FC1}
.clZ.on{fill:#B3402F;stroke:#fff;stroke-width:3}
.clZ:focus-visible{outline:none;stroke:#001B39;stroke-width:3}
.clLeyenda{display:flex;justify-content:center;gap:16px;font-size:13px;color:#3A3A3C}
.clLeyenda span{display:flex;align-items:center;gap:6px}
.clLeyenda i{width:10px;height:10px;border-radius:50%}
.clFiltros{display:flex;flex-wrap:wrap;gap:8px}
.clFiltros button{min-height:36px;padding:0 14px;border:0;border-radius:18px;background:#F2F2F7;font:inherit;font-size:13px;font-weight:600;color:#1C1C1E}
.clFiltros button.on{background:#001B39;color:#fff}
.clMes{margin:12px 0 4px;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#8E8E93}
.clMes:first-child{margin-top:0}
.clItem{display:grid;grid-template-columns:52px 14px minmax(0,1fr);column-gap:10px;align-items:start;padding:6px 0}
.clItemF{font-size:13px;color:var(--gris2);padding-top:2px;font-variant-numeric:tabular-nums}
.clItemP{width:12px;height:12px;border-radius:50%;margin-top:4px}
.clItemTxt{display:flex;flex-direction:column;gap:2px;padding:0;border:0;background:none;font:inherit;text-align:left;color:#1C1C1E;min-width:0}
button.clItemTxt{min-height:40px}
.clItemTxt b{font-size:15px;font-weight:600}
.clItemTxt small{font-size:13px;line-height:1.35;color:var(--gris2)}

/* consultas y listas */
.clConsultas{display:flex;flex-direction:column;gap:12px}
.clNuevas{display:flex;flex-wrap:wrap;gap:8px}
.clLista{display:flex;flex-direction:column}
.clFila{display:flex;align-items:center;gap:12px;min-height:56px;padding:8px 16px;border:0;background:none;font:inherit;text-align:left;color:#1C1C1E;width:100%;box-sizing:border-box}
.clFila+.clFila{border-top:1px solid var(--sep)}
.clFila>span:not(.clAreaIco):not(.lgAvatar){flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.clFila b{font-size:15px;font-weight:600}
.clFila small{font-size:13px;line-height:1.35;color:var(--gris2)}
.clFila em{font-style:normal;font-size:20px;color:#C7C7CC}
.clFila select{min-height:40px;border-radius:10px;border:0;background:#F2F2F7;font:inherit;font-size:15px;padding:0 12px}
.clFila .lgAvatar{width:36px;height:36px;font-size:13px;flex:none}
.clAccArea{font-weight:600;color:var(--gris2)}
.clAccF{font-size:13px!important;color:var(--gris2)!important;white-space:nowrap}

/* formularios */
.clFormCab{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.clFormCab h2{margin:0;font-size:22px;font-weight:700}
.clFormCab span{font-size:13px;color:var(--gris2)}
.clSecForm{display:flex;flex-direction:column;gap:8px;margin-bottom:24px}
.clFormIn>.clSecForm:last-child{margin-bottom:16px}
.clGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;padding:16px;border-radius:18px;background:#fff;box-shadow:var(--clCard)}
.clCampo{display:flex;flex-direction:column;gap:6px;min-width:0}
.clCampo.ancho{grid-column:1/-1}
.clCampo[hidden]{display:none}
.clCampo>span:first-child{font-size:13px;font-weight:600;color:#3A3A3C;line-height:1.3}
.clSub>span:first-child{color:var(--gris2)}
.clCampo.alerta>span:first-child{color:#B3402F}
.clCampo.compartido>span:first-child::after{content:" · lo ven las otras áreas";font-weight:500;color:#0A3260}
.clIn{display:flex;align-items:center;gap:8px;min-height:44px;padding:0 12px;border-radius:12px;background:#F2F2F7}
.clIn input{flex:1;min-width:0;border:0;background:none;font:inherit;font-size:15px;color:#1C1C1E;min-height:42px;outline:none}
.clIn em{font-style:normal;font-size:13px;color:var(--gris2)}
.clCampo.alerta .clIn{background:#F8E1DD}
.clCampo textarea{min-height:64px;padding:11px 12px;border:0;border-radius:12px;background:#F2F2F7;font:inherit;font-size:15px;line-height:1.4;color:#1C1C1E;resize:vertical;outline:none}
.clIn:focus-within,.clCampo textarea:focus{box-shadow:0 0 0 2px rgba(0,27,57,.35)}
.clChips{display:flex;flex-wrap:wrap;gap:8px}
.clChip{min-height:40px;padding:0 14px;border:0;border-radius:20px;background:#F2F2F7;font:inherit;font-size:15px;font-weight:600;color:#1C1C1E}
.clChip.on{background:#001B39;color:#fff}
.clChip:disabled{opacity:.75}
.clEvaSel{display:grid;grid-template-columns:repeat(11,minmax(0,1fr));gap:6px}
.clEvaN{padding:0;min-height:44px;font-variant-numeric:tabular-nums}
.clEvaN.on{background:var(--ev);color:#fff}
.clFicha{display:flex;flex-wrap:wrap;margin-bottom:24px;border-radius:18px;overflow:hidden;background:#fff;box-shadow:var(--clCard)}
.clFicha>div{flex:1 1 150px;display:flex;flex-direction:column;gap:2px;padding:12px 16px;min-width:0;box-shadow:inset -1px 0 var(--sep),inset 0 -1px var(--sep)}
.clFicha span{font-size:12px;font-weight:600;color:var(--gris2)}
.clFicha b{font-size:15px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.clAuto{min-height:44px;display:flex;align-items:center;padding:0 12px;border-radius:12px;background:#EEF6F0;font-size:15px;color:#001B39}
.clAncho{grid-column:1/-1;margin:0;padding:0}
.clHist{margin-top:4px}
.clTabla{display:flex;flex-direction:column;gap:6px}
.clTablaFila{display:grid;grid-template-columns:110px repeat(calc(var(--cols) - 1),minmax(0,1fr));gap:6px}
.clTablaFila.cab span{font-size:12px;font-weight:600;color:var(--gris2);padding:0 4px}
.clTablaFila input{min-height:44px;min-width:0;padding:0 12px;border:0;border-radius:12px;background:#F2F2F7;font:inherit;font-size:15px;color:#1C1C1E;outline:none}
.clTablaFila input:focus{box-shadow:0 0 0 2px rgba(0,27,57,.35)}
.clAgregarFila{align-self:flex-start;padding-left:4px}
.clGuardarBar{position:sticky;bottom:16px;z-index:5;display:flex;justify-content:flex-end;padding-top:8px}
.clGuardarBar .btnP{box-shadow:0 8px 20px -8px rgba(0,27,57,.6)}
.clElegirZona{padding:16px;border-radius:18px;background:#fff;box-shadow:var(--clCard);display:flex;flex-direction:column;align-items:center;gap:8px}
.clElegirZona .clFiguras{width:100%;max-width:420px}
.clZonaTxt{margin:0;min-height:24px;font-size:15px;color:var(--gris2)}
.clZonaTxt b{color:#B3402F;font-size:17px}
.clExpTit{margin:1.6em 0 .4em;font-size:1.5em;font-weight:800}
#tbPartido .tbLesionB{margin-left:auto;min-height:44px;padding:0 16px;border-radius:22px;font-size:15px;font-weight:700;color:#B3402F}

/* tamaños intermedios y celular */
@media (max-width:1100px){ .clResumen{grid-template-columns:repeat(2,minmax(0,1fr))} .clHistoria{grid-template-columns:1fr} }
@media (max-width:900px){ .clTablero{grid-template-columns:1fr} }
@media (max-width:700px){
  .clAreas,.clGrid{grid-template-columns:1fr}
  .clResumen{gap:8px} .clKpi{padding:12px} .clKpi b{font-size:15px}
  .clJugHead{flex-wrap:wrap;gap:4px 12px} .clJugTxt{flex:1 1 220px} .clJugTxt h2{font-size:22px} .clDorsal.grande{width:52px;height:52px;font-size:22px}
  .clJugHead .clEstado{margin-left:64px;min-height:32px;padding:0 12px;font-size:13px}
  .clTel{font-size:13px}
  .clEvaSel{grid-template-columns:repeat(6,minmax(0,1fr))}
  .clGuardarBar{bottom:calc(92px + env(safe-area-inset-bottom))}
  .clTablaFila{grid-template-columns:1fr 1fr} .clTablaFila.cab{display:none}
  .clFicha>div{flex-basis:40%}
  .clBloqueo{margin:16px auto;padding:24px 20px}
}

/* Mosaicos de jugador (jugTileHTML): grilla de celdas iguales, simétrica, para Carga y Departamento médico */
.jugTiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:8px}
.jugTile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:76px;min-width:0;padding:10px 6px;
  border:0;border-radius:14px;background:#F2F2F7;font:inherit;color:#1C1C1E;text-align:center}
.jugTile:active{transform:scale(.97)}
.jugTileN{width:32px;height:32px;flex:none;border-radius:50%;box-sizing:border-box;border:0;background:#001B39;color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;font-variant-numeric:tabular-nums;line-height:1}
.jugTileAp{max-width:100%;font-size:15px;font-weight:600;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.jugTile.alergia{box-shadow:inset 0 0 0 1.5px #E7A69C}
body.conBarra .ccFaltan.jugTiles{display:grid;padding:12px}
body.conBarra .ccFaltan.jugTiles button{min-height:76px;padding:10px 6px;border-radius:14px;font-size:inherit}
@media (max-width:700px){ .jugTiles{grid-template-columns:repeat(3,minmax(0,1fr))} }

/* ===== Ingreso con correo (fase 2 multi-club) ===== */
.lgForm{gap:12px;align-items:stretch;text-align:left}
.lgForm .lgTitulo{margin-bottom:6px}
.lgForm .lgTitulo h2{font-size:28px}
.lgForm .lgTitulo span{font-size:15px;line-height:1.4}
.lgCampo{display:flex;flex-direction:column;gap:6px}
.lgCampo span{font-size:13px;font-weight:600;color:#6B6B70;padding-left:4px}
.lgCampo input{min-height:50px;padding:0 16px;border:1px solid rgba(60,60,67,.18);border-radius:14px;background:rgba(255,255,255,.85);
  font-family:var(--ios);font-size:17px;color:#1C1C1E;box-sizing:border-box;width:100%}
.lgCampo input:focus{outline:none;border-color:#001B39;box-shadow:0 0 0 3px rgba(0,27,57,.15)}
.lgForm .lgMsg{min-height:20px;text-align:center}
.lgForm .lgBtn{margin-top:4px}
.lgForm .lgBtn:disabled{opacity:.7}
.lgForm .lgLink{align-self:center}
/* campo de texto dentro de la alerta iOS (reemplaza al prompt() del navegador) */
.alertaIOS .aiCampo{margin-top:10px;width:100%;box-sizing:border-box;min-height:40px;padding:0 12px;border:1px solid rgba(60,60,67,.2);border-radius:10px;
  background:#fff;font-family:var(--ios);font-size:16px;color:#1C1C1E;text-align:left}
.alertaIOS .aiCampo:focus{outline:none;border-color:#2F7FC1;box-shadow:0 0 0 3px rgba(47,127,193,.18)}
.alertaIOS .aiBotones.uno{grid-template-columns:1fr}
/* imágenes exportadas: html2canvas no aplica tabular-nums pero sí reserva su ancho → huecos ("10 :00"). Regla ya anotada en CLAUDE.md */
#expWrap *,#expCard *,#expSem *,#expTec *,#expCitas *,#expConv *,#expPartido *,#expTiempo *,#expMed *,#fichaHoja *{font-variant-numeric:normal!important}

/* ===== Botones planos estilo iOS (pedido de Jean 2026-09-27): sin franja de brillo, sin degradé cortado a la mitad,
   sin reflejo interno. Principal = navy sólido; secundario = blanco con borde fino; link = solo texto. Manda sobre lo anterior. ===== */
.lgBtn,body.conBarra .lgBtn,.lgCentro .lgBtn{background:#001B39;border:none;box-shadow:none}
.lgBtn::before,.lgBtn::after{display:none!important}
.lgBtn:active{background:#0A3260}
.lgLink,.lgForm .lgLink{background:transparent;border:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;color:#2F7FC1;padding:0 8px}
body.conBarra .btnP{background:#001B39;box-shadow:none}
body.conBarra .btnP:hover{background:#0A3260}
body.conBarra .pdHerr :is(.btnS,.btnCirc:not(.lleno)),body.conBarra .pdHerr .fechaNav.pdNav,body.conBarra .pdHerr .semNav.pdNav{
  background:#fff;border:1px solid rgba(60,60,67,.14);box-shadow:0 1px 2px rgba(0,0,0,.04);-webkit-backdrop-filter:none;backdrop-filter:none}
body.conBarra .pdHerr .btnS:hover{background:#F2F2F7}
body.conBarra .btnCirc{background:#fff;border:1px solid rgba(60,60,67,.14);box-shadow:0 1px 2px rgba(0,0,0,.04);-webkit-backdrop-filter:none;backdrop-filter:none}
.clGuardarBar .btnP{box-shadow:none}
#tbPartido .tbRes button.gol,#tbPartido .tbCres button.gol,#tbPartido .tbDb.gol,#tbPartido .tbAncha .tbResG button.gol{background:#001B39;border:none;box-shadow:none;color:#fff}
#tbPartido .tbGolRival{background:#C8352A;border:none;box-shadow:none;color:#fff}
#tbPartido .tbRapidas button.on,#tbPartido .tbRapidas button.rem.on{background:#001B39;border-color:#001B39;box-shadow:none;color:#fff}
#tbPartido .tbRapidas button,#tbPartido .tbRapidas button.rem,#tbPartido .tbCres button.rem{background:#fff;border:1px solid rgba(60,60,67,.14);box-shadow:none}
#tbPartido .tbCont button{background:#fff;border:1px solid rgba(200,53,42,.25);box-shadow:none}
#tbPartido .duEnviar{background:#001B39;box-shadow:none}
.credPlat{display:block;padding:10px 14px;border-radius:10px;color:#001B39;font-family:var(--ios);font-size:15px;font-weight:600;text-decoration:none}
.credPlat:hover{background:#F2F2F7}
.credPlat[hidden]{display:none}
/* Staff · campos estilo Ajustes/Contactos de iOS: dato a la derecha y se edita en el mismo lugar (sin caja ni salto) */
body.conBarra .ctCampo .pdFilaTxt{flex:none;width:150px;max-width:45%}
body.conBarra .ctCampo input,body.conBarra .ctCampo select{flex:1 1 auto;min-width:0;min-height:40px;padding:0 2px;border:0;border-radius:0;
  background:transparent;box-shadow:none;text-align:right;text-align-last:right;color:#3A3A3C;font-size:16px}
body.conBarra .ctCampo input:hover,body.conBarra .ctCampo select:hover{background:transparent}
body.conBarra .ctCampo input:focus,body.conBarra .ctCampo select:focus{background:transparent;border:0;box-shadow:none;outline:none;text-align:right;color:#001B39}
body.conBarra .ctCampo:focus-within{background:rgba(47,127,193,.06)}
body.conBarra .ctCampo input::placeholder{color:#C7C7CC}
