/* Planificador v13 · Fenax Sport — estilos (panel oscuro §5.2 con --mod cyan de Sport; público claro). v13: bloque "pulido" al final. */
:root{
  --bg:#0f1117; --sf:#161b24; --sf2:#1c2333; --sf3:#212840; --line:#2a3042; --ink:#e8ecf4; --soft:#7a8299;
  --ok:#22c55e; --warn:#f59e0b; --bad:#ef4444; --info:#60a5fa;
  --mod:#06b6d4; --mod-on:#042f38; --mod-tx:#22d3ee; --mod-soft:rgba(6,182,212,.16);
  --r:14px; --rs:10px; --tap:44px;
  --font:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,Menlo,Consolas,monospace;
  --shadow:0 10px 30px rgba(0,0,0,.35);
  color-scheme:dark;
}
[data-theme="light"]{
  --bg:#f6f7fb; --sf:#ffffff; --sf2:#f1f3f8; --sf3:#e8ebf3; --line:#e2e6ef; --ink:#121826; --soft:#5b6478;
  --ok:#15803d; --warn:#b45309; --bad:#b91c1c; --info:#1d4ed8;
  --mod:#0e7490; --mod-on:#ffffff; --mod-tx:#0e7490; --mod-soft:rgba(14,116,144,.12);
  --shadow:0 10px 30px rgba(18,24,38,.12);
  color-scheme:light;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;max-width:100%;overflow-x:hidden}
body{margin:0;background:var(--bg);color:var(--ink);font:400 15px/1.5 var(--font);max-width:100%;overflow-x:hidden;
  overflow-wrap:anywhere;-webkit-tap-highlight-color:transparent}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3{margin:0;line-height:1.25;letter-spacing:-.01em}
a{color:var(--mod-tx)}
[hidden]{display:none!important}
.mono{font-family:var(--mono)}
.soft{color:var(--soft)}
.sm{font-size:13px}
.xs{font-size:12px}
.b{font-weight:700}
.mt8{margin-top:8px}.mt12{margin-top:12px}.mt16{margin-top:16px}.mb8{margin-bottom:8px}
.row{display:flex;align-items:center;gap:8px}
.row.wrap{flex-wrap:wrap}
.grow{flex:1;min-width:0}
.ell{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* ---------- arranque y pantallas completas ---------- */
.pl-boot,.pl-full{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px 16px;text-align:center}
.pl-full .box{max-width:420px}
.pl-full h2{font-size:19px;margin-bottom:8px}
.pl-full p{color:var(--soft);margin:0 0 16px}

/* ---------- skeleton ---------- */
.pl-sk{background:linear-gradient(90deg,var(--sf2) 25%,var(--sf3) 50%,var(--sf2) 75%);background-size:200% 100%;
  animation:plsk 1.2s linear infinite;border-radius:8px}
.pl-sk.card{height:84px;border-radius:var(--r);margin-bottom:10px}
@keyframes plsk{0%{background-position:200% 0}100%{background-position:-200% 0}}

/* ---------- botones ---------- */
.pl-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:var(--tap);padding:0 16px;
  border-radius:var(--rs);border:1px solid var(--line);background:var(--sf2);color:var(--ink);font-weight:700;font-size:15px;
  cursor:pointer;text-decoration:none;transition:filter .15s,background .15s;user-select:none}
.pl-btn:hover{filter:brightness(1.08)}
.pl-btn:active{transform:translateY(1px)}
.pl-btn:disabled,.pl-btn[aria-disabled="true"]{opacity:.45;cursor:not-allowed;filter:none}
.pl-btn.pri{background:var(--mod);border-color:var(--mod);color:var(--mod-on)}
.pl-btn.ok{background:var(--ok);border-color:var(--ok);color:#fff}
.pl-btn.bad{background:transparent;border-color:var(--bad);color:var(--bad)}
.pl-btn.gho{background:transparent}
.pl-btn.sm{min-height:36px;padding:0 12px;font-size:13.5px}
.pl-btn.blk{width:100%}
.pl-btn.on{background:var(--mod-soft);border-color:var(--mod);color:var(--mod-tx)}
.pl-btn svg,.pl-ico svg{width:18px;height:18px;flex:none}
.pl-ico{display:inline-flex;align-items:center;justify-content:center;width:var(--tap);height:var(--tap);border-radius:var(--rs);
  border:1px solid var(--line);background:var(--sf2);cursor:pointer;color:var(--ink);flex:none;text-decoration:none}
.pl-ico.sm{width:36px;height:36px}
.pl-link{background:none;border:0;padding:6px 2px;color:var(--mod-tx);font-weight:700;cursor:pointer;font-size:14px}

/* ---------- campos ---------- */
.pl-f{display:block;margin-bottom:12px}
.pl-f>span{display:block;font-size:13px;font-weight:700;color:var(--soft);margin-bottom:5px}
.pl-in,.pl-sel,textarea.pl-in{width:100%;min-height:var(--tap);padding:10px 12px;border-radius:var(--rs);border:1px solid var(--line);
  background:var(--sf);color:var(--ink);font-size:16px;outline:none}
textarea.pl-in{min-height:84px;resize:vertical}
.pl-in:focus,.pl-sel:focus{border-color:var(--mod);box-shadow:0 0 0 3px var(--mod-soft)}
.pl-in.err{border-color:var(--bad)}
.pl-2c{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pb-quien{grid-template-columns:1fr 1.3fr}
.pl-3c{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:8px}
.pl-pre{display:flex;align-items:stretch}
.pl-pre b{white-space:nowrap;display:flex;align-items:center;padding:0 10px;border:1px solid var(--line);border-right:0;border-radius:var(--rs) 0 0 var(--rs);
  background:var(--sf2);font-family:var(--mono);font-size:15px}
.pl-pre .pl-in{border-radius:0 var(--rs) var(--rs) 0}
.pl-chk{display:flex;gap:10px;align-items:flex-start;padding:8px 0;cursor:pointer;font-size:14px}
.pl-chk input{width:20px;height:20px;margin:1px 0 0;accent-color:var(--mod);flex:none}
.pl-trampa{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.pl-err{color:var(--bad);font-size:13px;margin-top:4px}

/* ---------- control segmentado y chips ---------- */
.pl-seg{display:flex;gap:4px;padding:4px;border-radius:12px;background:var(--sf2);border:1px solid var(--line)}
.pl-seg button{flex:1;white-space:nowrap;min-height:38px;border:0;border-radius:9px;background:transparent;color:var(--soft);font-weight:700;cursor:pointer;font-size:14px;padding:0 8px}
.pl-seg button.on{background:var(--mod);color:var(--mod-on)}
.pl-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:700;
  background:var(--sf3);color:var(--soft);white-space:nowrap;line-height:1.6}
.pl-chip.mod{background:var(--mod-soft);color:var(--mod-tx)}
.pl-chip.ok{background:rgba(34,197,94,.15);color:var(--ok)}
.pl-chip.warn{background:rgba(245,158,11,.16);color:var(--warn)}
.pl-chip.bad{background:rgba(239,68,68,.15);color:var(--bad)}
.pl-chip.info{background:rgba(96,165,250,.15);color:var(--info)}
.pl-chip.tach{text-decoration:line-through}
.pl-chips{display:flex;flex-wrap:wrap;gap:6px}
.pl-fchips{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}
.pl-fchips::-webkit-scrollbar{display:none}
.pl-fchip{flex:none;min-height:38px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:var(--sf);color:var(--ink);
  font-weight:700;font-size:14px;cursor:pointer}
.pl-fchip.on{background:var(--mod);border-color:var(--mod);color:var(--mod-on)}

/* ---------- tarjetas y listas ---------- */
.pl-card{background:var(--sf);border:1px solid var(--line);border-radius:var(--r);padding:14px}
.pl-card+.pl-card{margin-top:10px}
.pl-card.tap{cursor:pointer;transition:border-color .15s}
.pl-card.tap:hover{border-color:var(--mod)}
.pl-card.off{opacity:.6}
.pl-h{font-size:16px;font-weight:800}
.pl-sub{font-size:13px;color:var(--soft)}
.pl-hr{height:1px;background:var(--line);margin:12px 0;border:0}
.pl-vacio{text-align:center;padding:28px 12px;color:var(--soft)}
.pl-vacio b{display:block;color:var(--ink);font-size:15px;margin-bottom:4px}
.pl-aviso{display:flex;gap:8px;align-items:flex-start;padding:10px 12px;border-radius:var(--rs);background:rgba(245,158,11,.12);
  border:1px solid rgba(245,158,11,.35);font-size:13.5px;margin-bottom:10px}
.pl-aviso.info{background:var(--mod-soft);border-color:var(--mod)}
.pl-aviso.bad{background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.4)}

/* ---------- toasts ---------- */
.pl-toasts{position:fixed;left:12px;right:12px;top:calc(10px + env(safe-area-inset-top));z-index:90;display:flex;flex-direction:column;gap:8px;pointer-events:none}
.pl-toast{pointer-events:auto;align-self:center;max-width:440px;width:100%;padding:12px 14px;border-radius:12px;background:var(--sf3);color:var(--ink);
  border:1px solid var(--line);box-shadow:var(--shadow);font-weight:600;font-size:14px;cursor:pointer;animation:pltin .18s ease-out}
.pl-toast.ok{border-left:4px solid var(--ok)}
.pl-toast.err{border-left:4px solid var(--bad)}
.pl-toast.warn{border-left:4px solid var(--warn)}
@keyframes pltin{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

/* ---------- modal (hoja desde abajo en celular) ---------- */
.pl-mo{position:fixed;inset:0;z-index:70;display:flex;align-items:flex-end;justify-content:center;background:rgba(5,8,14,.55);
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:plfade .18s ease-out}
.pl-mo .pl-hoja{width:100%;max-width:560px;max-height:92vh;display:flex;flex-direction:column;background:var(--sf);color:var(--ink);
  border:1px solid var(--line);border-bottom:0;border-radius:18px 18px 0 0;box-shadow:var(--shadow);animation:plup .18s ease-out}
.pl-hoja>header{display:flex;align-items:center;gap:8px;padding:12px 12px 10px 16px;border-bottom:1px solid var(--line)}
.pl-hoja>header h3{flex:1;font-size:16.5px;font-weight:800;min-width:0}
.pl-hoja .cuerpo{padding:14px 16px;overflow-y:auto;-webkit-overflow-scrolling:touch}
.pl-hoja>footer{display:flex;gap:8px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line)}
.pl-hoja>footer .pl-btn{flex:1}
.pl-opc{display:flex;flex-direction:column;gap:8px}
.pl-opc button{text-align:left;justify-content:flex-start;padding:10px 14px;min-height:48px;flex-direction:column;align-items:flex-start;gap:0}
.pl-opc button small{font-weight:500;color:var(--soft);font-size:12.5px}
@keyframes plfade{from{opacity:0}to{opacity:1}}
@keyframes plup{from{transform:translateY(24px);opacity:.6}to{transform:none;opacity:1}}
@media(min-width:700px){
  .pl-mo{align-items:center;padding:20px}
  .pl-mo .pl-hoja{border-radius:18px;border-bottom:1px solid var(--line);max-height:88vh}
}

/* ================= PANEL DE LA ESCUELA ================= */
.pl-top{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:10px;padding:10px 16px;background:var(--bg);
  border-bottom:1px solid var(--line)}
.pl-logo{width:38px;height:38px;border-radius:10px;background:var(--mod-soft);color:var(--mod-tx);display:flex;align-items:center;justify-content:center;
  font-weight:800;font-size:14px;flex:none;overflow:hidden}
.pl-logo img{width:100%;height:100%;object-fit:contain;background:#fff}
.pl-top .tit{min-width:0;flex:1}
.pl-top .tit b{display:block;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pl-top .tit span{font-size:12px;color:var(--soft)}
.pl-ver{font-family:var(--mono);font-size:11.5px;color:var(--soft)}
.pl-main{max-width:1100px;margin:0 auto;padding:14px 16px calc(92px + env(safe-area-inset-bottom))}
.pl-nav{position:fixed;left:0;right:0;bottom:0;z-index:45;display:flex;background:var(--sf);border-top:1px solid var(--line);
  padding-bottom:env(safe-area-inset-bottom)}
.pl-nav button{flex:1;min-height:60px;border:0;background:none;color:var(--soft);display:flex;flex-direction:column;align-items:center;
  justify-content:center;gap:2px;font-size:12px;font-weight:700;cursor:pointer;position:relative}
.pl-nav button svg{width:22px;height:22px}
.pl-nav button.on{color:var(--mod-tx)}
.pl-nav .badge{position:absolute;top:6px;left:calc(50% + 6px);min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--mod);
  color:var(--mod-on);font-size:11px;line-height:18px}
.pl-banner{max-width:1100px;margin:10px auto 0;padding:0 16px}
.pl-lg{display:none}
@media(min-width:520px){.pl-lg{display:inline}}
@media(min-width:900px){
  .pl-top{position:static}
  .pl-nav{position:sticky;top:0;bottom:auto;z-index:39;justify-content:center;border-top:0;border-bottom:1px solid var(--line);background:var(--bg)}
  .pl-nav button{flex:none;flex-direction:row;min-height:46px;padding:0 22px;font-size:14px;gap:8px;border-bottom:2px solid transparent}
  .pl-nav button.on{border-bottom-color:var(--mod)}
  .pl-nav .badge{position:static}
  .pl-main{padding-bottom:40px}
}

/* agenda */
.pl-semhd{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.pl-semhd h2{flex:1;font-size:16px;font-weight:800;text-align:center}
.pl-dias{display:grid;grid-template-columns:repeat(var(--n,7),1fr);gap:4px;margin-bottom:12px}
.pl-dia{min-height:56px;border:1px solid var(--line);border-radius:12px;background:var(--sf);color:var(--ink);cursor:pointer;
  display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4px 0;font-weight:700;position:relative}
.pl-dia small{font-size:11px;color:var(--soft);font-weight:700;text-transform:capitalize}
.pl-dia b{font-size:17px;font-family:var(--mono)}
.pl-dia.hoy{border-color:var(--mod)}
.pl-dia.sel{background:var(--mod);border-color:var(--mod);color:var(--mod-on)}
.pl-dia.sel small{color:var(--mod-on)}
.pl-dia i{position:absolute;bottom:5px;width:5px;height:5px;border-radius:50%;background:var(--mod)}
.pl-dia.sel i{background:var(--mod-on)}
.pl-dia.cerr i{background:var(--bad)}
.pl-sem{display:block}
.pl-dcol{display:none}
.pl-dcol.sel{display:block}
.pl-dcol>h3{display:none}
.pl-blq{display:block;width:100%;text-align:left;background:var(--sf);border:1px solid var(--line);border-left:4px solid var(--mod);
  border-radius:var(--r);padding:11px 12px;margin-bottom:8px;cursor:pointer;color:var(--ink)}
.pl-blq:hover{border-color:var(--mod)}
.pl-blq.susp{border-left-color:var(--bad);opacity:.85}
.pl-blq.lleno{border-left-color:var(--warn)}
.pl-blq.inact{border-left-color:var(--soft);opacity:.7}
.pl-blq .hh{font-family:var(--mono);font-weight:600;font-size:15px}
.pl-blq .gg{font-weight:800}
.pl-blq .ll{font-size:12.5px;color:var(--soft);margin:1px 0 6px}
@media(min-width:900px){
  .pl-sem{display:grid;grid-template-columns:repeat(var(--n,7),minmax(0,1fr));gap:8px;align-items:start}
  .pl-dcol{display:block;min-width:0}
  .pl-dcol>h3{display:block;font-size:12.5px;color:var(--soft);font-weight:800;text-transform:capitalize;margin:0 0 6px;text-align:center}
  .pl-dcol.hoy>h3{color:var(--mod-tx)}
  .pl-blq{padding:9px 9px}
  .pl-blq .row{flex-wrap:wrap;gap:0 6px}
  .pl-blq .gg{flex-basis:100%}
  .pl-blq .hh{font-size:13.5px}
  .pl-blq .gg{font-size:13.5px}
  .pl-blq .pl-chip{font-size:11px;padding:1px 6px}
  .pl-dcol .pl-vacio{padding:14px 4px;font-size:12px}
  .pl-dias{display:none}
  .pl-dtit{display:none}
}

/* hoja de sesión */
.pl-ins{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}
.pl-ins>.grow{min-width:150px}
.pl-ins>.pl-insr{display:flex;gap:6px;align-items:center;margin-left:auto}
.pl-ins:first-child{border-top:0}
.pl-ins .nn{font-weight:700}
.pl-ins.off .nn{text-decoration:line-through;color:var(--soft)}
.pl-asis{display:flex;gap:6px;flex:none}
.pl-asis button{min-height:36px;padding:0 10px;border-radius:9px;border:1px solid var(--line);background:var(--sf2);color:var(--soft);font-weight:700;
  font-size:13px;cursor:pointer}
.pl-asis button.si{background:rgba(34,197,94,.18);border-color:var(--ok);color:var(--ok)}
.pl-asis button.no{background:rgba(239,68,68,.15);border-color:var(--bad);color:var(--bad)}
.pl-asis button:disabled{opacity:.4;cursor:not-allowed}
.pl-acc{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.pl-acc .pl-btn{padding:0 10px;font-size:14px}

/* pruebas */
.pl-emb{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:14px}
.pl-emb b{font-family:var(--mono);font-size:20px}
.pl-emb .fl{color:var(--soft)}

/* configurar */
details.pl-sec{background:var(--sf);border:1px solid var(--line);border-radius:var(--r);margin-bottom:10px}
details.pl-sec>summary{list-style:none;cursor:pointer;padding:14px 16px;font-weight:800;font-size:15.5px;display:flex;align-items:center;gap:8px}
details.pl-sec>summary::-webkit-details-marker{display:none}
details.pl-sec>summary::after{content:'';margin-left:auto;width:9px;height:9px;border-right:2px solid var(--soft);border-bottom:2px solid var(--soft);
  transform:rotate(45deg);transition:transform .15s}
details.pl-sec[open]>summary::after{transform:rotate(-135deg)}
details.pl-sec>.in{padding:0 16px 16px}
.pl-grp{border:1px solid var(--line);border-radius:12px;padding:12px;margin-bottom:10px;background:var(--sf2)}
.pl-grp.off{opacity:.65}
.pl-bl{display:flex;gap:8px;align-items:center;padding:9px 10px;border-radius:10px;background:var(--sf);border:1px solid var(--line);margin-top:6px;
  cursor:pointer;width:100%;text-align:left;color:var(--ink)}
.pl-bl.off{opacity:.55}
.pl-bl .d{font-weight:800;width:34px;flex:none}
.pl-bl .hh{font-family:var(--mono);font-size:14px;flex:none}
.pl-reg{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--line)}
.pl-reg:first-of-type{border-top:0}
.pl-reg>span{flex:1;font-size:14px}
.pl-reg .pl-sel,.pl-reg .pl-in{width:auto;min-width:120px;max-width:190px}
.pl-sw{position:relative;width:46px;height:28px;flex:none}
.pl-sw input{opacity:0;width:100%;height:100%;margin:0;position:absolute;cursor:pointer;z-index:1}
.pl-sw i{position:absolute;inset:0;border-radius:14px;background:var(--sf3);border:1px solid var(--line);transition:background .15s}
.pl-sw i::after{content:'';position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:var(--soft);transition:transform .15s,background .15s}
.pl-sw input:checked+i{background:var(--mod)}
.pl-sw input:checked+i::after{transform:translateX(18px);background:#fff}
.pl-plan{padding:10px 0;border-top:1px solid var(--line)}
.pl-plan:first-child{border-top:0}
.pl-url{font-family:var(--mono);font-size:13px;padding:10px 12px;border-radius:var(--rs);background:var(--sf2);border:1px solid var(--line);word-break:break-all}
.pl-qr{display:flex;justify-content:center;padding:14px;background:#fff;border-radius:12px}
.pl-qr img,.pl-qr canvas{max-width:220px;height:auto}
.pl-cats{display:flex;flex-direction:column;gap:2px;max-height:280px;overflow-y:auto}
.pl-portada{width:100%;max-height:160px;object-fit:cover;border-radius:12px;display:block;margin-bottom:10px}

/* ================= PÁGINA PÚBLICA ================= */
.pb{max-width:560px;margin:0 auto;padding:0 16px calc(28px + env(safe-area-inset-bottom))}
.pb-hero{position:relative;margin:0 -16px;padding:22px 16px 18px;background:var(--sf);border-bottom:1px solid var(--line);text-align:center}
.pb-hero.foto{color:#fff;border-bottom:0;background:#0b1220 center/cover no-repeat;min-height:170px;display:flex;flex-direction:column;
  align-items:center;justify-content:flex-end}
.pb-hero.foto::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.65))}
.pb-hero>*{position:relative}
.pb-logo{width:64px;height:64px;border-radius:16px;margin:0 auto 8px;background:var(--mod);color:var(--mod-on);display:flex;align-items:center;
  justify-content:center;font-weight:800;font-size:22px;overflow:hidden;box-shadow:var(--shadow)}
.pb-logo img{width:100%;height:100%;object-fit:contain;background:#fff}
.pb-hero h1{font-size:20px;font-weight:800}
.pb-hero p{margin:2px 0 0;font-size:13px;opacity:.85}
.pb-mini{display:flex;align-items:center;gap:10px;padding:12px 0}
.pb-mini .pb-logo{width:36px;height:36px;border-radius:10px;font-size:13px;margin:0;box-shadow:none}
.pb-mini b{flex:1;font-size:14.5px;min-width:0}
.pb-big{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:18px;border-radius:16px;border:1px solid var(--line);
  background:var(--sf);color:var(--ink);cursor:pointer;text-align:left;margin-top:12px;box-shadow:0 2px 8px rgba(18,24,38,.05)}
.pb-big b{font-size:17px}
.pb-big span{color:var(--soft);font-size:14px}
.pb-big.pri{background:var(--mod);border-color:var(--mod);color:var(--mod-on)}
.pb-big.pri span{color:var(--mod-on);opacity:.85}
.pb h2{font-size:19px;font-weight:800;margin:14px 0 4px}
.pb-paso{font-size:12px;font-weight:800;color:var(--mod-tx);text-transform:uppercase;letter-spacing:.06em}
.pb-dchips{display:flex;gap:6px;overflow-x:auto;padding:2px 0 6px;scrollbar-width:none}
.pb-dchips::-webkit-scrollbar{display:none}
.pb-dchip{flex:none;min-width:60px;min-height:52px;border-radius:12px;border:1px solid var(--line);background:var(--sf);cursor:pointer;
  display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:700;color:var(--ink);padding:4px 8px}
.pb-dchip small{font-size:11.5px;color:var(--soft);text-transform:capitalize}
.pb-dchip.on{background:var(--mod);border-color:var(--mod);color:var(--mod-on)}
.pb-dchip.on small{color:var(--mod-on)}
.pb-blq{display:flex;align-items:center;gap:10px;width:100%;padding:13px 14px;border-radius:14px;border:1px solid var(--line);background:var(--sf);
  margin-top:8px;text-align:left;color:var(--ink);cursor:pointer}
.pb-blq:disabled{cursor:default;opacity:.6}
.pb-blq .hh{font-family:var(--mono);font-weight:600;font-size:16px}
.pb-blq .meta{font-size:13px;color:var(--soft)}
.pb-blq .der{flex:none;text-align:right}
.pb-resumen{border:1px solid var(--line);border-radius:14px;background:var(--sf);overflow:hidden;margin-top:10px}
.pb-resumen div{display:flex;justify-content:space-between;gap:12px;padding:9px 14px;border-top:1px solid var(--line);font-size:14px}
.pb-resumen div:first-child{border-top:0}
.pb-resumen div span{color:var(--soft)}
.pb-resumen div b{text-align:right}
.pb-folio{font-family:var(--mono);font-size:34px;font-weight:600;letter-spacing:.04em;color:var(--mod-tx);text-align:center;margin:6px 0}
.pb-ok{width:64px;height:64px;border-radius:50%;background:rgba(21,128,61,.12);color:var(--ok);display:flex;align-items:center;justify-content:center;margin:18px auto 6px}
.pb-ok svg{width:34px;height:34px}
.pb-pie{text-align:center;font-size:12px;color:var(--soft);margin-top:26px}
.pb-pie .mono{font-size:11px}
.pb-hola{display:flex;align-items:center;gap:10px;margin-top:12px}
.pb-hola h2{margin:0;flex:1}
.pb-rutchips{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.pb-rutchip{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;background:var(--sf);overflow:hidden}
.pb-rutchip button{border:0;background:none;cursor:pointer;color:var(--ink);font-weight:700;min-height:40px;padding:0 12px;font-size:14px}
.pb-rutchip button+button{border-left:1px solid var(--line);color:var(--soft);padding:0 11px;font-weight:600}
.pb-res{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--line)}
.pb-res:first-child{border-top:0}

/* ================= v13 · PULIDO (06-10-2026) =================
   Celular 384x700 primero: zonas táctiles de 44 px, texto de 13 px o más, contraste AA. PC: ancho bien usado,
   columnas, sin estirar. Son overrides: las reglas de arriba quedan como estaban. */
/* overflow-x:hidden en html/body hacía de body un contenedor de scroll y los "sticky" no pegaban (barra de Agendar,
   cabecera del panel): clip recorta igual sin crear contenedor. Navegadores sin clip se quedan con hidden. */
html,body{overflow-x:clip}
:root{--soft-hi:#a3abc0;--ancho:1100px}
[data-theme="light"]{--soft-hi:#4b5468}
@media(min-width:1400px){:root{--ancho:1240px}}

/* --- zonas táctiles (44 px) --- */
.pl-btn.sm{min-height:var(--tap)}
.pl-ico.sm{width:var(--tap);height:var(--tap)}
.pl-link{display:inline-flex;align-items:center;min-height:var(--tap);padding:0 4px}
.pl-seg button{min-height:var(--tap);color:var(--soft-hi)}
.pl-seg button.on{color:var(--mod-on)}
.pl-fchip{min-height:var(--tap)}
.pl-chk{min-height:var(--tap);align-items:center;padding:4px 0}
.pl-chk input{margin:0}
.pl-sw{width:52px;height:var(--tap)}
.pl-sw i{inset:8px 3px}
.pl-reg{min-height:52px}
.pl-asis button{min-height:var(--tap);font-size:14px;display:inline-flex;align-items:center;justify-content:center;gap:6px;color:var(--soft-hi)}
.pl-asis button svg{width:16px;height:16px;flex:none}
.pl-bl{min-height:52px}

/* --- contraste (AA) --- */
.pl-chip{color:var(--soft-hi)}
.pl-dia small{color:var(--soft-hi)}
.pl-grp .soft{color:var(--soft-hi)}
.pb-big.pri span{opacity:1}
[data-theme="dark"] .pl-btn.ok{color:#052e16}
[data-theme="light"] .pl-chip.ok{color:#166534;background:#dcfce7}
[data-theme="light"] .pl-chip.warn{color:#92400e;background:#fef3c7}
[data-theme="light"] .pl-chip.bad{color:#991b1b;background:#fee2e2}
[data-theme="light"] .pl-chip.mod{color:#155e75;background:#e0f2f7}
.pl-blq.inact{opacity:1;border-left-color:var(--soft)}
.pl-grp.off{opacity:1}
.pl-grp.off>.row b{color:var(--soft-hi)}
.pl-ins.off .nn{color:var(--soft-hi)}

/* --- texto de 13 px o más en celular --- */
@media(max-width:699px){
  .xs,.pl-chip,.pl-top .tit span,.pl-ver,.pl-nav button,.pl-dia small,.pb-dchip small,.pb-paso,.pb-pie,.pb-pie .mono,
  .pl-blq .ll,.pl-opc button small,.pl-dcol .pl-vacio{font-size:13px}
}

/* --- avisos: en celular abajo (sobre las pestañas o la barra de Agendar), 1 a la vez; con una hoja abierta, arriba --- */
@media(max-width:699px){
  .pl-toasts{top:auto;bottom:calc(16px + env(safe-area-inset-bottom))}
  body:has(.pl-nav) .pl-toasts{bottom:calc(72px + env(safe-area-inset-bottom))}
  body:has(.pb-barra) .pl-toasts{bottom:calc(160px + env(safe-area-inset-bottom))}
  body.pl-con-modal .pl-toasts{top:calc(10px + env(safe-area-inset-top));bottom:auto}
}

/* --- hojas: alto real visible (el teclado achica la página: interactive-widget=resizes-content) --- */
.pl-mo .pl-hoja{max-height:92vh;max-height:92dvh}
.pl-mo .pl-hoja.alto{height:92vh;height:92dvh}
.pl-hoja>footer:empty{display:none}
@media(min-width:700px){
  .pl-mo .pl-hoja{max-height:88vh;max-height:88dvh}
  .pl-mo .pl-hoja.alto{height:min(640px,88dvh)}
}

/* --- plegables (canceladas, inactivos, más opciones) --- */
details.pl-canc,details.pl-inact,details.pl-mas{margin-top:8px}
details.pl-canc{border-top:1px solid var(--line)}
details.pl-canc>summary,details.pl-inact>summary,details.pl-mas>summary{list-style:none;cursor:pointer;min-height:var(--tap);display:flex;align-items:center;
  gap:10px;font-weight:700;font-size:14px;color:var(--soft-hi)}
details.pl-canc>summary::-webkit-details-marker,details.pl-inact>summary::-webkit-details-marker,details.pl-mas>summary::-webkit-details-marker{display:none}
details.pl-canc>summary::before,details.pl-inact>summary::before,details.pl-mas>summary::before{content:"";width:7px;height:7px;flex:none;
  border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);transition:transform .15s}
details.pl-canc[open]>summary::before,details.pl-inact[open]>summary::before,details.pl-mas[open]>summary::before{transform:rotate(45deg)}
details.pl-mas{border:1px solid var(--line);border-radius:var(--rs);padding:0 12px;margin:4px 0 10px}
details.pl-mas[open]{padding-bottom:6px}

/* ================= PANEL ================= */
@media(min-width:900px){
  .pl-top{padding-left:max(16px,calc((100% - var(--ancho)) / 2 + 16px));padding-right:max(16px,calc((100% - var(--ancho)) / 2 + 16px))}
  .pl-main,.pl-banner{max-width:var(--ancho)}
}
/* contadores en una línea: "Alumnos 3/10 · Pruebas 1/2 · Quedan 6" */
.pl-st{display:flex;flex-wrap:wrap;gap:2px 14px;font-size:13.5px;color:var(--soft-hi)}
.pl-st span{white-space:nowrap}
.pl-st b{font-family:var(--mono);font-weight:600}
.pl-st .a b{color:var(--mod-tx)}
.pl-st .p b{color:var(--info)}
.pl-st .q.ok b{color:var(--ok)}
.pl-st .q.warn b{color:var(--warn)}
@media(min-width:900px){
  /* columna angosta: tablita de 2 columnas (rótulo | número) en vez de chips apilados */
  .pl-blq .pl-st{display:grid;grid-template-columns:1fr auto;column-gap:6px;font-size:12.5px;line-height:1.5}
  .pl-blq .pl-st span{display:contents}
}
/* días pasados: apagados sin perder contraste */
.pl-dia.pas:not(.sel){background:var(--bg)}
.pl-dia.pas:not(.sel) b{color:var(--soft-hi)}
.pl-dcol.pas .pl-blq{background:var(--bg);border-left-color:var(--line)}
.pl-dcol.pas>h3{color:var(--soft)}
/* día vacío con salida al próximo bloque (solo celular) */
.pl-vdia b{font-size:15px}
.pl-prox{margin-top:6px;color:var(--soft-hi)}
@media(min-width:900px){.pl-prox{display:none}.pl-vdia b{font-size:13px;font-weight:600;color:var(--soft)}}
/* hoja del bloque: nombre + menú, y debajo Asistió | No llegó a todo el ancho */
.pl-ins.fila{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"n m" "a a";gap:8px;align-items:center}
.pl-ins.fila>.nm{grid-area:n;min-width:0}
.pl-ins.fila>.mm{grid-area:m}
.pl-ins.fila>.pl-asis,.pl-ins.fila>.pl-asis-est{grid-area:a}
.pl-ins.fila .pl-asis{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.pl-lista>.pl-ins:first-child{border-top:0}
@media(min-width:700px){
  .pl-ins.fila{grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"n a m"}
  .pl-ins.fila .pl-asis{display:flex}
  .pl-ins.fila .pl-asis button{min-width:104px}
}
/* pruebas */
.pl-fgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}
.pl-fgrid .pl-fchip{min-width:0;padding:0 2px;font-size:13px;letter-spacing:-.01em;white-space:nowrap;overflow-wrap:normal}
/* botones de las hojas: el texto no se parte a la mitad de la palabra (body tiene overflow-wrap:anywhere) */
.pl-hoja>footer .pl-btn{padding:0 8px;font-size:14.5px;white-space:nowrap;min-width:0;overflow-wrap:normal}
.pl-btn{overflow-wrap:normal}
.pl-pracc{display:flex;align-items:center;gap:8px}
.pl-pracc .pl-asis{display:flex;gap:8px}
.pl-pracc .pl-asis button{padding:0 14px}
@media(min-width:700px){
  .pl-fgrid{display:flex;flex-wrap:wrap}
  .pl-fgrid .pl-fchip{padding:0 16px;font-size:14px}
}
@media(min-width:900px){
  #ePrL{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:start}
  #ePrL>.pl-card+.pl-card{margin-top:0}
  #ePrL>:not(.pl-card){grid-column:1/-1}
}
/* configurar */
.pl-bl{align-items:center}
.pl-bl>.grow{display:flex;flex-direction:column;gap:1px}
.pl-bl .det{font-size:13px;color:var(--soft-hi);line-height:1.35}
.pl-bl>svg{width:16px;height:16px;flex:none;color:var(--soft)}
.pl-bl.off{opacity:1;background:transparent;border-style:dashed}
.pl-bl.off .d,.pl-bl.off .hh{color:var(--soft-hi)}
.pl-reg>span small{display:block;font-size:12.5px;font-weight:500;color:var(--soft-hi);line-height:1.3}
.pl-reg .pl-sel,.pl-reg .pl-in{width:48%;min-width:0;max-width:200px}
.pl-guardar{margin-top:12px}
.pl-guardar .pl-aviso{margin-bottom:8px}
.pl-guardar.sucio .pl-aviso{padding:6px 10px;margin-bottom:6px}
.pl-guardar.sucio{position:sticky;bottom:calc(68px + env(safe-area-inset-bottom));z-index:5;background:var(--sf);padding:10px 0 4px}
.pl-cats{max-height:none;overflow:visible}
.pl-dsel button{padding:0;min-width:0}
@media(max-width:699px){.pl-reg>span small{font-size:13px}}
@media(min-width:900px){
  .pl-guardar.sucio{bottom:0}
  .pl-cfg{column-count:2;column-gap:12px}
  .pl-cfg>details.pl-sec{break-inside:avoid;display:block;margin:0 0 12px}
}

/* ================= PÚBLICA ================= */
.pb-top{padding:0 16px}
.pb-top .pb-mini{max-width:528px;margin:0 auto}
.pb-hero{margin:0}
.pb-hero-in{max-width:528px;margin:0 auto;position:relative}
.pb-opciones{display:grid;gap:12px;margin-top:14px}
.pb-opciones .pb-big{margin-top:0}
.pb h2.pb-h3{font-size:16px;margin:16px 0 6px}
.pb-quien{display:grid;grid-template-columns:1fr;gap:0}
.pb-anios{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.pb-achip{min-height:48px;border-radius:12px;border:1px solid var(--line);background:var(--sf);color:var(--ink);font:600 17px var(--mono);cursor:pointer;
  display:flex;align-items:center;justify-content:center;text-decoration:none;padding:0 6px}
.pb-achip.on{background:var(--mod);border-color:var(--mod);color:var(--mod-on)}
.pb-achip.otro{font:700 14px var(--font);color:var(--mod-tx)}
.pb-sem{display:block}
.pb-dcol{display:none}
.pb-dcol.sel{display:block}
.pb-dcol>h3{font-size:14px;font-weight:600;color:var(--soft);margin:4px 0 0}
.pb-nota{font-size:13px;color:var(--warn);margin-top:6px;line-height:1.35}
.pb-der{display:flex;flex-direction:column;align-items:flex-end;gap:2px}
.pb-der .pb-nota{margin:0;text-align:right}
.pb-fgrid .col{min-width:0}
.pb-barra{position:sticky;bottom:0;z-index:20;margin:12px -16px 0;padding:10px 16px calc(12px + env(safe-area-inset-bottom));background:var(--bg);
  border-top:1px solid var(--line);box-shadow:0 -6px 16px rgba(18,24,38,.06)}
.pb-legal{font-size:13px;color:var(--soft);margin:0 0 8px;line-height:1.4}
.pb-barra .pl-err{margin:0 0 6px;font-weight:600;font-size:14px}
.pb-barra .pl-err:empty{display:none}
.pb-ruts{display:flex;flex-direction:column;gap:8px}
.pb-rutsav{display:flex;align-items:center;gap:6px}
.pb-rutsav .pb-big{margin-top:0;flex:1;min-width:0;padding:14px 16px}
.pb-rutin{display:flex;gap:8px}
.pb-rutin .pl-in{flex:1;min-width:0}
.pb-rutin .pl-btn{width:56px;flex:none;padding:0;font-family:var(--mono);font-size:18px}
.pb-big.cargando{opacity:.7;cursor:progress}
.pl-err .pl-btn{color:var(--ink)}
@media(min-width:900px){
  .pb{max-width:1040px;padding:18px 24px 40px}
  .pb.pb-angosto{max-width:600px}
  .pb-top{background:var(--sf);border-bottom:1px solid var(--line);padding:0 24px}
  .pb-top .pb-mini{max-width:992px}
  .pb-hero{padding:36px 24px 30px}
  .pb-hero.foto{min-height:240px}
  .pb-hero-in{max-width:992px}
  .pb-opciones{grid-template-columns:1fr 1fr;max-width:760px;margin:24px auto 0}
  .pb-opciones~.pl-btn{max-width:760px;margin-left:auto;margin-right:auto;display:flex}
  .pb-quien{grid-template-columns:minmax(0,1fr) 320px;gap:28px;align-items:start}
  .pb-anios{grid-template-columns:repeat(auto-fill,minmax(92px,1fr))}
  .pb-dchips{display:none}
  .pb-sem{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;align-items:start;margin-top:12px}
  .pb-dcol{display:block}
  .pb-dcol>h3{color:var(--ink);font-weight:800;font-size:14.5px}
  .pb-fgrid{display:grid;grid-template-columns:1fr 1fr;gap:0 32px}
  .pb-barra{margin:16px 0 0;padding:12px 0;display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:4px 24px;align-items:center;box-shadow:none;border-top:1px solid var(--line)}
  .pb-barra .pl-err{grid-column:1/-1}
  .pb-barra .pb-legal{margin:0}
}

/* ================= v15: botón "Manual" en la cabecera del panel ================= */
.pl-top .pl-manual{text-decoration:none;color:var(--ink)}
@media(max-width:420px){
  .pl-top{gap:8px;padding-left:12px;padding-right:12px}
  .pl-top .pl-logo{width:34px;height:34px}
  .pl-top .pl-btn.sm{padding:0 9px;gap:5px}
  .pl-top .tit span{white-space:nowrap}
}
@media(max-width:374px){.pl-top .pl-logo{display:none}}


/* ===================== v16 (06-10-2026) - rediseño ===================== */
/* Pruebas: cinco indicadores con icono; los cuatro primeros son los filtros de la lista. */
.pl-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.pl-kpi{display:flex;align-items:center;gap:12px;padding:14px;border-radius:16px;border:1px solid var(--line);background:var(--sf);
  color:var(--ink);text-align:left;font:inherit;min-width:0}
button.pl-kpi{cursor:pointer;transition:border-color .15s,background .15s}
button.pl-kpi:hover{border-color:var(--kc)}
.pl-kpi.on{border-color:var(--kc);background:color-mix(in srgb,var(--kc) 12%,var(--sf));box-shadow:inset 0 0 0 1px var(--kc)}
.pl-kpi .ic{flex:none;width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:color-mix(in srgb,var(--kc) 22%,transparent);color:var(--kc)}
.pl-kpi .ic svg{width:22px;height:22px}
.pl-kpi .tx{display:flex;flex-direction:column;min-width:0;line-height:1.2}
.pl-kpi .tx b{font-family:var(--mono);font-size:22px;font-weight:600}
.pl-kpi .tx span{font-size:13px;color:var(--soft-hi,var(--soft))}
.pl-kpi .tx small{font-size:11px;color:var(--soft);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.k-mor{--kc:#a78bfa}.k-azu{--kc:#818cf8}.k-ama{--kc:#f59e0b}.k-roj{--kc:#f43f5e}.k-ver{--kc:#22c55e}
.pl-kpi-sk{height:76px;border-radius:16px}
.pl-kpi-nota{display:flex;gap:8px;align-items:flex-start;margin-top:10px;font-size:12px;color:var(--soft);line-height:1.45}
.pl-kpi-nota svg{flex:none;width:16px;height:16px;margin-top:1px}
.pl-kpi-nota .warn{color:var(--warn)}
.pl-buscar{position:relative}
.pl-buscar>svg{position:absolute;left:13px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--soft);pointer-events:none}
.pl-buscar .pl-in{padding-left:42px;margin:0}
.pl-vacio-ic{border:1px dashed var(--line);border-radius:16px;padding:30px 16px}
.pl-vacio-ic>svg{display:block;width:34px;height:34px;margin:0 auto 10px;color:var(--soft)}
@media (max-width:760px){
  .pl-kpis{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:8px;padding-bottom:4px;scrollbar-width:none}
  .pl-kpis::-webkit-scrollbar{display:none}
  .pl-kpi{flex:0 0 136px;scroll-snap-align:start;padding:10px;gap:9px;border-radius:14px}
  .pl-kpi .ic{width:34px;height:34px}
  .pl-kpi .ic svg{width:17px;height:17px}
  .pl-kpi .tx b{font-size:18px}
  .pl-kpi .tx span{font-size:12px}
  .pl-kpi-sk{flex:0 0 136px;height:60px}
}

/* Portada publica: logo en circulo, fondo ondulado y opciones con icono y flecha. */
.pb-hero:not(.foto){padding:30px 16px 34px;border-bottom:0;
  background:radial-gradient(120% 90% at 50% -20%,color-mix(in srgb,var(--mod) 12%,transparent),transparent 60%),
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 120' preserveAspectRatio='none'><path d='M0 70 C 240 130 480 10 720 60 S 1200 120 1440 50 V120 H0Z' fill='%23ffffff' fill-opacity='.55'/></svg>") bottom center/100% 70px no-repeat,
    color-mix(in srgb,#8b5cf6 6%,var(--bg))}
.pb-hero:not(.foto) .pb-logo{width:96px;height:96px;border-radius:50%;margin-bottom:12px;overflow:hidden;
  box-shadow:0 0 0 4px #fff,0 12px 30px rgba(76,29,149,.18)}
.pb-hero:not(.foto) .pb-logo img{border-radius:50%}
.pb-hero:not(.foto) h1{font-size:26px;letter-spacing:-.01em}
.pb-big{flex-direction:row;align-items:center;gap:14px;min-height:88px;box-shadow:0 4px 18px rgba(15,23,42,.06)}
.pb-big .ic{flex:none;width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:color-mix(in srgb,#8b5cf6 14%,transparent);color:#6d28d9}
.pb-big .ic svg{width:26px;height:26px}
.pb-big .tx{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;text-align:left}
.pb-big .tx{color:var(--ink)}
.pb-big .tx>span{color:var(--soft)}
.pb-big.pri .tx{color:var(--mod-on)}
.pb-big.pri .tx>span{color:var(--mod-on);opacity:.85}
.pb-big .fle{flex:none;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:color-mix(in srgb,var(--ink) 6%,transparent);color:var(--ink)}
.pb-big .fle svg{width:18px;height:18px}
.pb-big.pri{background:linear-gradient(135deg,var(--mod),color-mix(in srgb,var(--mod) 65%,#062a33));
  box-shadow:0 10px 26px color-mix(in srgb,var(--mod) 28%,transparent)}
.pb-big.pri .ic{background:rgba(255,255,255,.18);color:#fff}
.pb-big.pri .fle{background:rgba(0,0,0,.22);color:#fff}
.pb-wa{display:flex;align-items:center;gap:12px;margin-top:12px;padding:14px 18px;border-radius:14px;border:1px solid var(--line);
  background:var(--sf);color:var(--ink);text-decoration:none;font-weight:700}
.pb-wa:hover{border-color:var(--mod)}
.pb-wa .wa{display:flex;color:#22c55e}
.pb-wa .wa svg{width:24px;height:24px}
.pb-wa b{flex:1;text-align:center}
.pb-wa .fle{display:flex;color:var(--soft)}
.pb-wa .fle svg{width:18px;height:18px}
@media (min-width:761px){ .pb-wa{max-width:760px;margin:12px auto 0} }


/* ===================== v17 (06-10-2026) - portada publica: PC y celular 384x700 ===================== */
.pb-hero:not(.foto){padding:28px 16px 40px;
  background:
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 140' preserveAspectRatio='none'><path d='M0 60 C 260 140 520 0 760 60 S 1220 130 1440 40 V140 H0Z' fill='%23f6f7fb' fill-opacity='.5'/><path d='M0 95 C 300 40 560 140 820 90 S 1260 60 1440 100 V140 H0Z' fill='%23f6f7fb'/></svg>") bottom center/100% 90px no-repeat,
    radial-gradient(120% 90% at 50% -20%,color-mix(in srgb,#8b5cf6 14%,transparent),transparent 62%),
    color-mix(in srgb,#8b5cf6 7%,var(--bg))}
.pb-hero:not(.foto) .pb-logo{width:88px;height:88px;
  box-shadow:0 0 0 4px #fff,0 0 0 7px color-mix(in srgb,#7c3aed 28%,transparent),0 14px 32px rgba(76,29,149,.20)}
.pb-hero:not(.foto) h1{font-size:24px;line-height:1.15}
.pb-hero:not(.foto) p{font-size:14px;color:var(--soft)}
.pb-opciones{gap:10px;margin-top:6px}
.pb-big{position:relative;overflow:hidden;min-height:84px;padding:16px;border-radius:18px}
.pb-big .ic{width:48px;height:48px}
.pb-big .ic svg{width:24px;height:24px}
.pb-big .tx b{font-size:17px}
.pb-big .tx>span{font-size:14px}
/* onda decorativa dentro de la tarjeta principal (no tapa el texto: va detras) */
.pb-big.pri::after{content:'';position:absolute;inset:auto 0 0 0;height:60%;pointer-events:none;
  background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 80' preserveAspectRatio='none'><path d='M0 40 C 80 10 160 70 240 40 S 360 20 400 45 V80 H0Z' fill='%23ffffff' fill-opacity='.05'/><path d='M0 60 C 100 35 190 85 280 58 S 370 50 400 62 V80 H0Z' fill='%23ffffff' fill-opacity='.04'/></svg>") bottom/100% 100% no-repeat}
.pb-big>*{position:relative;z-index:1}
.pb-wa{min-height:56px;border-radius:16px}
.pb-wa .wa svg{width:26px;height:26px}
@media (min-width:761px){
  .pb-hero:not(.foto){padding:40px 24px 64px}
  .pb-hero:not(.foto) .pb-logo{width:112px;height:112px;margin-bottom:14px}
  .pb-hero:not(.foto) h1{font-size:34px}
  .pb-hero:not(.foto) p{font-size:16px}
  .pb-opciones{max-width:1100px;gap:16px;margin:0 auto}
  .pb-big{min-height:128px;padding:24px 26px;gap:20px;border-radius:20px}
  .pb-big .ic{width:64px;height:64px}
  .pb-big .ic svg{width:30px;height:30px}
  .pb-big .tx b{font-size:22px}
  .pb-big .tx>span{font-size:16px}
  .pb-big .fle{width:44px;height:44px}
  .pb-wa{max-width:1100px;margin:16px auto 0;min-height:64px;font-size:17px;padding:16px 24px}
  .pb-wa .wa svg{width:28px;height:28px}
  .pb-pie{margin-top:32px}
}


/* ===================== v18 (06-10-2026) - paso 1 de la prueba como planificador semanal ===================== */
.pb-semh{display:flex;align-items:center;gap:12px;margin:18px 0 10px;flex-wrap:wrap}
.pb-semh .ic{flex:none;width:44px;height:44px;border-radius:50%;background:var(--mod-soft);color:var(--mod-tx);display:flex;align-items:center;justify-content:center}
.pb-semh .ic svg{width:22px;height:22px}
.pb-semh .tt{flex:1;min-width:0}
.pb-semh h2{font-size:18px;margin:0;line-height:1.2}
.pb-semh p{margin:2px 0 0;color:var(--soft);font-size:13px}
.pb-semh .nav{display:flex;align-items:center;gap:8px;width:100%}
.pb-semh .rng{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 12px;border:1px solid var(--line);
  border-radius:12px;background:var(--sf);font-size:13px;font-weight:600;white-space:nowrap}
.pb-semh .rng svg{width:16px;height:16px;color:var(--soft)}
.pb-semh .pl-ico:disabled{opacity:.35;cursor:default}
.pb-dchips7{display:grid;grid-template-columns:repeat(var(--n,7),minmax(0,1fr));gap:5px;overflow:visible}
.pb-dchips7 .pb-dchip{min-width:0;min-height:50px;padding:0}
.pb-dchip.vacio{opacity:.4}
.pb-grid7{margin-top:8px}
.pb-col{display:none}
.pb-col.sel{display:block}
.pb-colh{display:none}
.pb-colb{display:flex;flex-direction:column;gap:8px}
.pb-slot{display:block;width:100%;text-align:left;padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:var(--sf);cursor:pointer;
  font:inherit;color:var(--ink);box-shadow:0 2px 8px rgba(15,23,42,.04);transition:border-color .15s,box-shadow .15s}
.pb-slot:hover:not(:disabled){border-color:var(--mod)}
.pb-slot .hh{font-family:var(--mono);font-weight:700;font-size:16px}
.pb-slot .meta{font-size:12.5px;color:var(--soft);margin-top:2px;line-height:1.35}
.pb-slot .chs{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}
.pb-slot:disabled{opacity:.55;cursor:default}
.pb-slot.on{border-color:var(--mod);box-shadow:inset 0 0 0 2px var(--mod);background:color-mix(in srgb,var(--mod) 8%,var(--sf))}
.pb-sinh{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:4px;padding:22px 10px;border-radius:14px;
  background:color-mix(in srgb,var(--ink) 3%,transparent);color:var(--soft);font-size:12.5px;line-height:1.35}
.pb-sinh svg{width:22px;height:22px;padding:9px;border-radius:50%;background:color-mix(in srgb,var(--ink) 6%,transparent);box-sizing:content-box}
.pb-sinh b{color:var(--ink);font-size:13.5px}
.pb-cont{position:sticky;bottom:0;z-index:5;margin-top:10px;padding:10px 0 calc(10px + env(safe-area-inset-bottom));
  background:linear-gradient(to bottom,transparent,var(--bg) 35%)}
@media (max-width:899px){
  .pb-semh{margin:14px 0 8px;gap:8px}
  .pb-semh .ic,.pb-semh p{display:none}
  .pb-semh h2{font-size:17px}
}
@media (min-width:900px){
  .pb.pb-ancho{max-width:1160px}
  .pb.pb-ancho>h2{font-size:32px;letter-spacing:-.01em}
  .pb-semh{flex-wrap:nowrap;gap:14px;margin:26px 0 14px}
  .pb-semh .ic{width:52px;height:52px}
  .pb-semh h2{font-size:24px}
  .pb-semh p{font-size:14.5px}
  .pb-semh .nav{width:auto}
  .pb-semh .rng{flex:none;padding:0 16px;min-height:44px;font-size:13.5px}
  .pb-dchips7{display:none}
  .pb-grid7{display:grid;grid-template-columns:repeat(var(--n,7),minmax(0,1fr));gap:10px;align-items:stretch;margin-top:0}
  .pb-col,.pb-col.sel{display:flex;flex-direction:column;background:var(--sf);border:1px solid var(--line);border-radius:16px;padding:10px;min-height:280px}
  .pb-colh{display:block;padding:4px 4px 10px}
  .pb-colh b{display:block;font-size:15px}
  .pb-colh span{font-size:12.5px;color:var(--soft)}
  .pb-colb{flex:1}
  .pb-col .pb-sinh{flex:1}
  .pb-slot{padding:10px}
  .pb-slot .hh{font-size:14px}
  .pb-cont{position:static;background:none;padding:14px 0 0}
}

/* v19 - formulario de la clase de prueba en una ventana (#685) */
.pb-mres{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:var(--sf2)}
.pb-mres>svg{width:22px;height:22px;flex:none;color:var(--mod)}
.pb-mres .grow{min-width:0;flex:1}
.pb-anio-fijo{display:flex;align-items:center;justify-content:center;font-weight:700;background:var(--sf2);color:var(--soft)}
.pl-hoja>footer .pb-mpie{flex:1;display:flex;flex-direction:column;gap:6px;min-width:0}
.pb-mpie .pl-err{margin:0;font-weight:600;font-size:14px}
.pb-mpie .pl-err:empty{display:none}
.pb-mpie .pl-btn{width:100%}
@media(min-width:900px){.pl-mo .pl-hoja:has(#pForm){max-width:620px}}

/* ---------------- v22 (07-10-2026): página pública según el diseño del usuario ----------------
   Vinotinto en toda la página pública, encabezado con la escuela y el dibujo de su deporte, tarjeta del paso 1 con
   progreso, secciones con icono, sexo con iconos, flechas a los lados de los días y tarjeta del horario con reloj. */
[data-vista="publica"]{--mod:#7a1235;--mod-on:#ffffff;--mod-tx:#7a1235;--mod-soft:rgba(122,18,53,.08);--pb2-borde:#e9e3e6}
[data-vista="publica"] .pl-chip.mod{color:#7a1235;background:#f6e8ed}
.pb2-hd{position:relative;overflow:hidden;color:#fff;padding:18px 16px 34px;
  background:radial-gradient(120% 140% at 85% 20%,#a3194a 0%,rgba(163,25,74,0) 55%),linear-gradient(115deg,#3d0716 0%,#6b0f2c 55%,#8d1539 100%)}
.pb2-hd::before{content:'';position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(118deg,rgba(255,255,255,0) 0 46px,rgba(255,255,255,.06) 46px 48px,rgba(255,255,255,0) 48px 92px)}
.pb2-hd-in{position:relative;z-index:1;display:flex;align-items:center;gap:14px;max-width:528px;margin:0 auto}
.pb2-hd-logo{flex:none;width:58px;height:58px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;
  box-shadow:0 0 0 3px rgba(255,255,255,.25);color:#7a1235;font-weight:800}
.pb2-hd-logo img{width:100%;height:100%;object-fit:contain}
.pb2-hd-tx{min-width:0;display:flex;flex-direction:column;line-height:1.1;text-transform:uppercase}
.pb2-hd-tx small{font-size:12.5px;font-weight:500;letter-spacing:.02em;opacity:.95}
.pb2-hd-tx b{font-size:22px;font-weight:800;letter-spacing:.01em;overflow-wrap:anywhere}
.pb2-hd-dep{position:absolute;right:-26px;top:50%;transform:translateY(-50%) rotate(-12deg);width:128px;height:128px;color:#fff;opacity:.16;z-index:0}
.pb2-hd-dep svg{width:100%;height:100%}
.pb.pb2{margin-top:-20px;position:relative;z-index:2}
.pb2-card{background:var(--sf);border-radius:22px;padding:16px 16px 18px;box-shadow:0 8px 28px rgba(18,24,38,.10)}
.pb2-paso{display:flex;align-items:center;gap:12px}
.pb2-atras{flex:none;width:44px;height:44px;border-radius:12px;border:1px solid var(--line);background:var(--sf2);color:var(--ink);display:flex;
  align-items:center;justify-content:center;cursor:pointer}
.pb2-atras svg{width:20px;height:20px}
.pb2-pasotx{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.pb2-pasotx b{font-size:12.5px;font-weight:800;color:var(--mod-tx);text-transform:uppercase;letter-spacing:.05em}
.pb2-pasotx span{font-size:11.5px;color:var(--soft);text-transform:uppercase;letter-spacing:.04em}
.pb2-pasotx .pb2-barra{display:block;height:5px;border-radius:99px;background:var(--sf3);margin-top:6px;overflow:hidden}
.pb2-barra i{display:block;width:40%;height:100%;border-radius:99px;background:var(--mod)}
.pb2-tit,.pb2-semh{display:flex;align-items:center;gap:12px;margin:18px 0 12px}
.pb2-ic{flex:none;width:44px;height:44px;border-radius:12px;background:var(--mod-soft);color:var(--mod);display:flex;align-items:center;justify-content:center}
.pb2-ic svg{width:22px;height:22px}
.pb2-tit h2,.pb2-semh h2{font-size:19px;font-weight:800;margin:0;line-height:1.2}
.pb2-tit p,.pb2-semh p{margin:2px 0 0;font-size:13px;color:var(--soft);line-height:1.35}
.pb2-semh .tt{flex:1;min-width:0}
.pb2 .pl-f>span,.pb2 .pl-f>label{font-weight:700;color:var(--ink);font-size:13.5px}
.pb2-selw{position:relative;display:block}
.pb2-selw>svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:20px;height:20px;color:var(--soft);pointer-events:none}
.pb2-selw .pl-sel{padding-left:44px;min-height:48px;border-radius:12px;font-size:16px;font-weight:600}
.pb2-info{display:flex;align-items:center;gap:10px;margin-top:8px;padding:10px 12px;border-radius:12px;background:var(--mod-soft);color:var(--mod-tx);
  text-decoration:none;font-size:13.5px;font-weight:600}
.pb2-info svg{flex:none;width:20px;height:20px}
.pb2-sexo{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pb2-sx{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;border-radius:12px;border:1px solid var(--line);background:var(--sf2);
  color:var(--ink);font-weight:700;font-size:15px;cursor:pointer}
.pb2-sx svg{width:20px;height:20px;color:var(--soft)}
.pb2-sx.on{background:var(--mod);border-color:var(--mod);color:var(--mod-on);box-shadow:0 6px 16px rgba(122,18,53,.25)}
.pb2-sx.on svg{color:var(--mod-on)}
.pb2-navpc{display:none}
.pb2-dias{display:flex;align-items:stretch;gap:5px}
.pb2-dias .pb-dchips7{flex:1;min-width:0;padding:0}
.pb2-flecha{flex:none;width:28px;border-radius:12px;border:1px solid var(--line);background:var(--sf2);color:var(--ink);display:flex;align-items:center;
  justify-content:center;cursor:pointer;padding:0}
.pb2-flecha svg{width:18px;height:18px}
.pb2-flecha:disabled{opacity:.35;cursor:default}
.pb2 .pb-dchips7{gap:4px}
.pb2 .pb-dchips7 .pb-dchip{border-radius:12px;border:1px solid var(--line);background:var(--sf);font-size:15px}
.pb2 .pb-dchips7 .pb-dchip small{font-size:11.5px;white-space:nowrap}
.pb2 .pb-dchips7 .pb-dchip.on{background:var(--mod);border-color:var(--mod);color:var(--mod-on);box-shadow:0 6px 16px rgba(122,18,53,.25)}
.pb2 .pb-grid7{margin-top:12px}
.pb2-slot{display:flex;align-items:center;gap:12px;position:relative;overflow:hidden;padding:14px 12px 14px 16px;border-radius:14px}
.pb2-slot::before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--mod)}
.pb2-slot:disabled::before{background:var(--line)}
.pb2-reloj{flex:none;width:42px;height:42px;border-radius:50%;background:var(--mod-soft);color:var(--mod);display:flex;align-items:center;justify-content:center}
.pb2-reloj svg{width:22px;height:22px}
.pb2-sltx{flex:1;min-width:0;display:flex;flex-direction:column}
.pb2-slot .hh{font-family:var(--font);font-weight:800;font-size:17px;letter-spacing:-.01em;white-space:nowrap}
.pb2-slot .meta{margin-top:1px}
.pb2-slot .chs{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:4px;margin:6px 0 0}
.pb2-slot .pl-chip{font-size:12.5px;padding:3px 9px}
.pb2-slot .pl-chip svg{width:14px;height:14px;margin-right:4px;vertical-align:-2px}
.pb2-fle{flex:none;color:var(--soft);display:flex}
.pb2-fle svg{width:18px;height:18px}
.pb2 .pb-cont .pl-btn svg{width:18px;height:18px;margin-left:6px}
.pb-pie .pb-fx{display:inline-block;height:15px;width:auto;vertical-align:-1px;margin:0 2px}
@media(max-width:380px){
  .pb2-hd-tx b{font-size:19px}
  .pb2-flecha{width:26px}
  .pb2-slot .hh{font-size:16px}
}
@media(min-width:900px){
  .pb2-hd{padding:26px 24px 44px}
  .pb2-hd-in{max-width:1160px}
  .pb2-hd-logo{width:72px;height:72px}
  .pb2-hd-tx small{font-size:14px}
  .pb2-hd-tx b{font-size:30px}
  .pb2-hd-dep{width:180px;height:180px;right:6%}
  .pb2-card{padding:22px 24px 24px}
  .pb2-dias{display:none}
  .pb2-navpc{display:flex;gap:8px}
  .pb2-navpc .pb2-flecha{width:44px;height:44px}
  .pb2-slot{flex-direction:column;align-items:flex-start;gap:6px;padding:12px 10px 12px 14px}
  .pb2-reloj,.pb2-fle{display:none}
  .pb2-slot .hh{font-size:15px}
}

/* ---------------- v23 (07-10-2026): "Agendar clase de prueba" sin scroll (celular 380x700 y PC) ---------------- */
.pl-mo .pb2-hoja{max-height:100dvh}
.pb2-hoja>header{padding:10px 10px 8px 16px}
.pb2-hoja>header h3{font-size:16px}
.pb2-hoja .cuerpo{padding:10px 16px 4px}
.pb2-hoja>footer{padding:10px 16px calc(10px + env(safe-area-inset-bottom))}
.pb2-hoja .pb-mres{padding:8px 10px;border-radius:12px;gap:8px}
.pb2-hoja .pb-mres b{font-size:14px}
.pb2-hoja .pb-mres .sm{font-size:12.5px;line-height:1.3}
.pb2-sec{font-size:11.5px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--mod-tx);margin:10px 0 6px}
.pb2-sec:empty{display:none}
.pb2-form .pl-f{margin-bottom:8px}
.pb2-form .pl-f>span{font-size:12px;font-weight:700;color:var(--ink);margin-bottom:3px}
.pb2-form .pl-f>span small{font-weight:500;color:var(--soft);font-size:11.5px}
.pb2-form .pl-in,.pb2-form .pl-sel{min-height:40px;padding:7px 10px;font-size:15px}
.pb2-form .pl-2c{gap:8px}
.pb2-form .pl-3c{gap:6px}
.pb2-lblrow{display:flex!important;justify-content:space-between;align-items:baseline;gap:8px}
.pb2-lblrow .pl-link{font-size:12px;font-weight:700;padding:0;min-height:0;border:0;background:none;color:var(--mod-tx);cursor:pointer;text-decoration:underline}
.pb2-contacto{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:8px}
.pb2-contacto .pl-pre b{padding:0 7px;font-size:13px}
.pb2-contacto .pl-pre .pl-in{min-width:0}
.pb2-inline{display:flex;align-items:center;gap:10px}
.pb2-inline>span{flex:1;min-width:0;margin:0!important}
.pb2-inline .pl-sel{width:auto;flex:0 0 140px}
.pb2-form .pl-chk{min-height:0;padding:3px 0;font-size:12.5px;line-height:1.35;align-items:flex-start;gap:8px}
.pb2-form .pl-chk input{width:18px;height:18px;margin:1px 0 0}
.pb2-hoja .pb-mpie .pl-btn{min-height:46px}
@media(min-width:700px){
  .pl-mo .pb2-hoja{max-height:94dvh}
  .pb2-hoja .cuerpo{padding:14px 20px 6px}
  .pb2-hoja>footer{padding:12px 20px}
}

/* v24 (07-10-2026): logo FENAX arriba a la derecha del encabezado, en proporción al logo de la escuela. */
.pb2-hd-fx{margin-left:auto;flex:none;display:flex;align-items:center;padding-left:8px}
.pb2-hd-fx img{display:block;height:24px;width:auto}
@media(max-width:340px){.pb2-hd-fx img{height:19px}}
@media(min-width:700px){.pb2-hd-fx img{height:30px}}
@media(min-width:900px){.pb2-hd-fx img{height:50px}}

/* v25 (07-10-2026): en el enlace, logo FENAX más grande y nombre de la escuela más chico, para que destaque la marca. */
.pb2-hd-tx small{font-size:11px}
.pb2-hd-tx b{font-size:18px}
.pb2-hd-fx img{height:30px}
@media(max-width:340px){.pb2-hd-fx img{height:24px}.pb2-hd-tx b{font-size:16px}}
@media(min-width:700px){.pb2-hd-fx img{height:40px}}
@media(min-width:900px){.pb2-hd-tx small{font-size:12.5px}.pb2-hd-tx b{font-size:24px}.pb2-hd-fx img{height:62px}}
/* v25: botón "Ir" junto a Compartir en la cabecera del panel; en celular "Manual" queda solo con el ícono. */
.pl-top .pl-ir{flex:none}
@media(max-width:560px){
  .pl-top .pl-mtxt{display:none}
  .pl-top .pl-manual{min-width:44px;padding:0;justify-content:center}
}
/* v25: cabecera del panel en dos zonas: identidad (escuela + logo FENAX) y acciones (Compartir, Ir, Manual). */
.pl-top-id{display:flex;align-items:center;gap:10px;min-width:0;flex:1}
.pl-top-acc{display:flex;align-items:center;gap:8px;flex:none}
.pl-top-fx{margin-left:auto;flex:none;display:flex;align-items:center;padding-left:6px}
.pl-top-fx img{display:block;height:30px;width:auto}
@media(max-width:699px){
  .pl-top{flex-wrap:wrap;row-gap:8px}
  .pl-top-id{flex:1 1 100%}
  .pl-top .pl-logo{display:flex;width:38px;height:38px}
  .pl-top .tit b{white-space:normal;font-size:14px;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .pl-top-fx img{height:24px}
  .pl-top-acc{flex:1 1 100%}
  .pl-top-acc .pl-btn{flex:1 1 0;min-width:0;justify-content:center}
  .pl-top .pl-mtxt{display:inline}
  .pl-top .pl-manual{min-width:0;padding:0 9px}
}
/* v26: cabecera del panel sin la línea de versión, nombre más chico y logo FENAX más grande; versión al pie. */
.pl-top .tit b{font-size:14px}
.pl-top-fx img{height:40px}
.pl-main[data-ver]::after{content:attr(data-ver);display:block;text-align:center;margin-top:28px;font-family:var(--mono);font-size:11.5px;color:var(--soft)}
@media(max-width:699px){
  .pl-top .tit b{font-size:12.5px;line-height:1.25}
  .pl-top-fx img{height:32px}
}

/* v28 (08-10-2026): "Mi clase de prueba" (fenax.cl/pr/<codigo>), 380x700 sin scroll. */
.pb2-mi .pb2-tit{margin-top:4px}
.pb2-mi-lista{border:1px solid var(--line);border-radius:14px;overflow:hidden}
.pb2-mi-f{display:flex;align-items:center;gap:10px;padding:10px 12px;border-top:1px solid var(--line);font-size:14px}
.pb2-mi-f:first-child{border-top:0}
.pb2-mi-f>svg{flex:none;width:18px;height:18px;color:var(--mod)}
.pb2-mi-f .k{flex:none;width:86px;color:var(--soft);font-size:12.5px}
.pb2-mi-f b{flex:1;min-width:0;font-weight:700}
.pb2-mi-mapa{display:inline-block;margin-left:4px;font-size:12.5px;font-weight:700;color:var(--mod-tx)}
.pb2-mi-preg{font-size:16px;font-weight:800;margin:16px 0 10px;text-align:center}
.pb2-mi-bts{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pb2-mi-bts .pl-btn{min-height:52px;font-size:15px;justify-content:center}
.pb2-mi-bts .pl-btn svg{width:18px;height:18px;margin-right:6px}
.pb2-mi-no{background:var(--sf2);border:1px solid var(--line);color:var(--ink)}
.pb2-mi-est{display:flex;align-items:flex-start;gap:10px;margin-top:14px;padding:12px 14px;border-radius:14px;background:var(--sf2);font-size:14px}
.pb2-mi-est>svg{flex:none;width:22px;height:22px;margin-top:1px}
.pb2-mi-est b{display:block;font-size:15px}
.pb2-mi-est span{display:block;color:var(--soft);font-size:13px;margin-top:2px}
.pb2-mi-est:not(:has(>svg)){flex-direction:column;gap:2px}
.pb2-mi-est.ok{background:#dcfce7;color:#166534}
.pb2-mi-est.bad{background:#fee2e2;color:#991b1b}
.pb2-mi-est.ok span,.pb2-mi-est.bad span{color:inherit;opacity:.85}
.pb2-mi-cambiar{display:block;margin:10px auto 0;font-size:13px;font-weight:700;background:none;border:0;color:var(--mod-tx);text-decoration:underline;cursor:pointer}
.pb2-mi-wa svg{width:18px;height:18px;margin-right:6px}
.pb2-mi .pb2-tit{margin:2px 0 10px}
.pb2-mi-f{padding:9px 12px;font-size:13.5px}
.pb2-mi-f .k{width:76px}
.pb2-mi-est{margin-top:12px;padding:10px 12px}
.pb2-mi-est b{font-size:14.5px}
.pb2-mi-cambiar{margin-top:8px}
.pb2-mi-wa{margin-top:10px}
.pb2-mi-preg{margin:14px 0 10px}


/* ===================== v29 (08-10-2026): diseño azul marino con amarillo (mockups del usuario) =====================
   - data-vista="publica": toda la página de las familias (portada, prueba, formulario, listo, alumno, Mi clase de prueba).
   - data-vista="fx": panel de la escuela abierto FUERA de Fenax Sport. Dentro de Sport el panel conserva los colores
     de Sport (sin data-vista) y solo toma la estructura nueva de la tarjeta del bloque. */
[data-vista="fx"],[data-vista="publica"]{
  --bg:#060d1a; --sf:#0e1729; --sf2:#132036; --sf3:#1a2843; --line:#233452; --ink:#f2f5fb; --soft:#93a3c0; --soft-hi:#b8c4da;
  --ok:#22c55e; --warn:#f59e0b; --bad:#f87171; --info:#7cb2ff;
  --mod:#facc15; --mod-on:#111827; --mod-tx:#facc15; --mod-soft:rgba(250,204,21,.12);
  --fx-borde:rgba(78,132,214,.42); --fx-campo:rgba(8,19,38,.72);
  --fx-vidrio:linear-gradient(180deg,rgba(18,38,70,.80),rgba(9,21,42,.88));
  --shadow:0 14px 36px rgba(0,0,0,.5); color-scheme:dark;
}
[data-vista="fx"] body,[data-vista="publica"] body{
  background:radial-gradient(90% 55% at 100% 0%,rgba(37,99,235,.20),transparent 62%),
    radial-gradient(70% 45% at 0% 100%,rgba(37,99,235,.08),transparent 60%),var(--bg) fixed}
[data-vista="publica"] .pl-chip.mod{color:var(--mod-tx);background:var(--mod-soft)}
[data-vista="fx"] .pl-mo .pl-hoja,[data-vista="publica"] .pl-mo .pl-hoja{background:#0c1628;border-color:var(--fx-borde)}

/* ---------- página pública: encabezado ---------- */
[data-vista="publica"] .pb2-hd{background:transparent;padding:20px 16px 22px}
[data-vista="publica"] .pb2-hd::before{display:none}
[data-vista="publica"] .pb2-hd-in{gap:12px}
[data-vista="publica"] .pb2-hd-logo{width:66px;height:66px;box-shadow:0 0 0 3px rgba(255,255,255,.92),0 10px 24px rgba(0,0,0,.5)}
[data-vista="publica"] .pb2-hd-tx small{font-size:12px;font-weight:500;color:#c9d4e8;letter-spacing:.03em;opacity:1}
[data-vista="publica"] .pb2-hd-tx b{font-size:23px;font-weight:800;color:#fff;letter-spacing:.01em;line-height:1.05}
.pb2-hd-sep{flex:none;width:1px;align-self:stretch;margin:8px 0 8px auto;background:rgba(255,255,255,.26)}
[data-vista="publica"] .pb2-hd-sep+.pb2-hd-fx{margin-left:0;padding-left:12px}
[data-vista="publica"] .pb2-hd-fx img{height:24px}
/* dibujo del deporte de la escuela: grande, arriba a la derecha, detrás del logo FENAX */
[data-vista="publica"] .pb2-hd-dep{top:-38px;right:-48px;transform:rotate(-14deg);width:196px;height:196px;color:#6f9fe6;opacity:.15}
[data-vista="publica"] .pb2-hd-dep svg{stroke-width:2.4}
@media(max-width:360px){
  [data-vista="publica"] .pb2-hd-logo{width:54px;height:54px}
  [data-vista="publica"] .pb2-hd-tx b{font-size:19px}
  [data-vista="publica"] .pb2-hd-fx img{height:20px}
}

/* ---------- página pública: tarjeta del paso ---------- */
[data-vista="publica"] .pb.pb2{margin-top:0}
[data-vista="publica"] .pb2-card{background:var(--fx-vidrio);border:1px solid var(--fx-borde);border-radius:22px;padding:16px 16px 20px;
  box-shadow:0 18px 44px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.05)}
[data-vista="publica"] .pb2-atras{width:48px;height:48px;border-radius:12px;border:1px solid var(--fx-borde);background:var(--fx-campo);color:#fff}
[data-vista="publica"] .pb2-pasotx b{font-size:15px;color:#fff;letter-spacing:.03em}
[data-vista="publica"] .pb2-pasotx span{font-size:13px;color:#9fb3d6}
[data-vista="publica"] .pb2-pasotx .pb2-barra{height:7px;background:#1b2b47;margin-top:8px}
[data-vista="publica"] .pb2-barra i{width:45%;background:var(--mod);box-shadow:0 0 12px rgba(250,204,21,.45)}
[data-vista="publica"] .pb2-ic{width:52px;height:52px;border-radius:12px;border:1px solid rgba(250,204,21,.75);background:rgba(250,204,21,.05);color:var(--mod)}
[data-vista="publica"] .pb2-ic svg{width:26px;height:26px}
[data-vista="publica"] .pb2-tit{margin:18px 0 16px}
[data-vista="publica"] .pb2-tit h2,[data-vista="publica"] .pb2-semh h2{font-size:22px;color:#fff;letter-spacing:-.01em}
[data-vista="publica"] .pb2-semh h2{font-size:19px}
[data-vista="publica"] .pb2-tit p,[data-vista="publica"] .pb2-semh p{font-size:14px;color:#9fb0cc}
[data-vista="publica"] .pb2 .pl-f>span,[data-vista="publica"] .pb2 .pl-f>label{font-size:15px;color:#fff;margin-bottom:8px}
[data-vista="publica"] .pb2-selw .pl-sel{min-height:56px;border-radius:14px;background-color:var(--fx-campo);border:1px solid var(--fx-borde);color:#fff;
  font-size:17px;font-weight:700;padding-left:52px;padding-right:46px;-webkit-appearance:none;appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e8ecf4' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='m6 9 6 6 6-6'/></svg>");
  background-repeat:no-repeat;background-position:right 16px center;background-size:20px}
[data-vista="publica"] .pb2-selw .pl-sel option{background:#0c1628;color:#fff}
[data-vista="publica"] .pb2-selw>svg{left:16px;width:24px;height:24px;color:var(--mod)}
[data-vista="publica"] .pb2-info{min-height:52px;margin-top:12px;padding:10px 14px;border-radius:14px;background:rgba(20,38,68,.55);
  border:1px solid rgba(78,132,214,.32);color:var(--mod);font-weight:600;font-size:14.5px}
[data-vista="publica"] .pb2-info svg{width:24px;height:24px}
[data-vista="publica"] .pb2-sx{min-height:56px;border-radius:14px;background:var(--fx-campo);border:1px solid var(--fx-borde);color:#fff;font-size:16px;font-weight:700;gap:10px}
[data-vista="publica"] .pb2-sx svg{width:24px;height:24px;color:var(--mod)}
[data-vista="publica"] .pb2-sx.on{background:var(--mod);border-color:var(--mod);color:var(--mod-on);box-shadow:0 8px 22px rgba(250,204,21,.22)}
[data-vista="publica"] .pb2-sx.on svg{color:var(--mod-on)}
[data-vista="publica"] .pb-achip{background:var(--fx-campo);border-color:var(--fx-borde)}
[data-vista="publica"] .pb-achip.on{background:var(--mod);border-color:var(--mod);color:var(--mod-on)}
.pb2-hint{display:flex;align-items:center;gap:12px;margin:16px 2px 2px;color:var(--soft);font-size:14px;line-height:1.4}
.pb2-hint svg{flex:none;width:26px;height:26px;color:#8ea3c8}
/* semana y horarios del paso 1 */
[data-vista="publica"] .pb2-flecha{border-color:var(--fx-borde);background:var(--fx-campo);color:#fff}
[data-vista="publica"] .pb2 .pb-dchips7 .pb-dchip{background:var(--fx-campo);border-color:var(--fx-borde)}
[data-vista="publica"] .pb2 .pb-dchips7 .pb-dchip.on{background:var(--mod);border-color:var(--mod);color:var(--mod-on);box-shadow:0 6px 16px rgba(250,204,21,.22)}
[data-vista="publica"] .pb-slot{background:var(--fx-campo);border-color:var(--fx-borde);box-shadow:none}
[data-vista="publica"] .pb-slot.on{background:rgba(250,204,21,.08);border-color:var(--mod);box-shadow:inset 0 0 0 2px var(--mod)}
[data-vista="publica"] .pb-sinh{background:var(--fx-campo);border:1px solid var(--fx-borde)}
[data-vista="publica"] .pb-barra{background:#08111f;border-top-color:var(--fx-borde);box-shadow:0 -10px 24px rgba(0,0,0,.35)}
[data-vista="publica"] .pb-pie{color:var(--soft)}
@media(min-width:900px){
  [data-vista="publica"] .pb2-hd{padding:30px 24px 30px}
  [data-vista="publica"] .pb2-hd-logo{width:84px;height:84px}
  [data-vista="publica"] .pb2-hd-tx small{font-size:14px}
  [data-vista="publica"] .pb2-hd-tx b{font-size:32px}
  [data-vista="publica"] .pb2-hd-fx img{height:50px}
  [data-vista="publica"] .pb2-hd-sep{margin-top:10px;margin-bottom:10px}
  [data-vista="publica"] .pb2-hd-dep{top:-60px;right:3%;width:280px;height:280px}
  [data-vista="publica"] .pb2-card{padding:24px 26px 26px}
  [data-vista="publica"] .pb-barra{background:transparent;box-shadow:none}
}

/* ---------- página pública: portada ---------- */
[data-vista="publica"] .pb-hero:not(.foto){padding:30px 16px 26px;
  background:radial-gradient(80% 75% at 50% 0%,rgba(37,99,235,.24),transparent 72%)}
[data-vista="publica"] .pb-hero:not(.foto) .pb-logo{background:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.92),0 16px 34px rgba(0,0,0,.5)}
[data-vista="publica"] .pb-hero:not(.foto) h1{color:#fff}
[data-vista="publica"] .pb-hero:not(.foto) p{color:var(--soft)}
[data-vista="publica"] .pb-big{background:var(--fx-vidrio);border:1px solid var(--fx-borde);box-shadow:0 12px 30px rgba(0,0,0,.35)}
[data-vista="publica"] .pb-big .ic{border-radius:14px;background:rgba(250,204,21,.06);border:1px solid rgba(250,204,21,.6);color:var(--mod)}
[data-vista="publica"] .pb-big .tx,[data-vista="publica"] .pb-big.pri .tx{color:#fff}
[data-vista="publica"] .pb-big .tx>span,[data-vista="publica"] .pb-big.pri .tx>span{color:var(--soft);opacity:1}
[data-vista="publica"] .pb-big .fle{background:rgba(255,255,255,.07);color:#fff}
[data-vista="publica"] .pb-big.pri{background:var(--fx-vidrio);border-color:rgba(250,204,21,.7);
  box-shadow:0 0 0 1px rgba(250,204,21,.18),0 14px 34px rgba(0,0,0,.42)}
[data-vista="publica"] .pb-big.pri .ic{background:var(--mod);border-color:var(--mod);color:var(--mod-on)}
[data-vista="publica"] .pb-big.pri .fle{background:var(--mod);color:var(--mod-on)}
[data-vista="publica"] .pb-big.pri::after{display:none}
[data-vista="publica"] .pb-wa{background:var(--fx-vidrio);border-color:var(--fx-borde)}
[data-vista="publica"] .pb-top{background:transparent}
/* listo, alumno y Mi clase de prueba sobre fondo oscuro */
[data-vista="publica"] .pb-resumen,[data-vista="publica"] .pb2-mi-lista{border-color:var(--fx-borde);background:var(--fx-campo)}
[data-vista="publica"] .pb-ok{background:rgba(34,197,94,.14)}
[data-vista="publica"] .pb2-mi-est.ok{background:rgba(34,197,94,.13);color:#86efac;border:1px solid rgba(34,197,94,.35)}
[data-vista="publica"] .pb2-mi-est.bad{background:rgba(239,68,68,.12);color:#fca5a5;border:1px solid rgba(239,68,68,.35)}
[data-vista="publica"] .pb2-mi-no{background:var(--fx-campo);border-color:var(--fx-borde);color:#fff}

/* ---------- panel: tarjeta del bloque (estructura nueva, con los colores de cada contexto) ---------- */
.pl-blq-hd{display:flex;align-items:center;gap:12px}
.pl-blq-ic{flex:none;width:46px;height:46px;border-radius:50%;background:var(--mod-soft);color:var(--mod);display:flex;align-items:center;justify-content:center}
.pl-blq-ic svg{width:24px;height:24px}
.pl-blq-tx{flex:1;min-width:0;display:flex;flex-direction:column}
.pl-blq .pl-blq-tx .hh{font-family:var(--font);font-weight:800;font-size:20px;letter-spacing:-.01em;white-space:nowrap}
.pl-blq .pl-blq-tx .gg{font-weight:500;font-size:15px;color:var(--soft-hi);flex-basis:auto}
.pl-blq .pl-blq-tx .ll{margin:1px 0 0}
.pl-blq-fle{flex:none;width:40px;height:40px;border-radius:10px;background:var(--sf2);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--ink)}
.pl-blq-fle svg{width:18px;height:18px}
.pl-st.pl-st3{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:12px;font-size:inherit;color:inherit}
.pl-blq .pl-st.pl-st3{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.pl-st3>span{position:relative;display:flex;align-items:center;gap:7px;min-width:0;padding:8px 8px;border-radius:12px;background:var(--sf2)}
.pl-st3>span+span::before{content:'';position:absolute;left:-7px;top:22%;bottom:22%;width:1px;background:var(--line)}
.pl-st-ic{flex:none;display:flex;color:var(--soft-hi)}
.pl-st-ic svg{width:21px;height:21px}
.pl-st-tx{display:flex;flex-direction:column;min-width:0;line-height:1.15}
.pl-st-tx small{font-size:12px;color:var(--soft);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pl-st3 .pl-st-tx b{font-family:var(--font);font-size:19px;font-weight:700;color:var(--ink);white-space:nowrap}
.pl-st3 .pl-st-tx b em{font-style:normal;color:var(--mod-tx)}
.pl-st3 .q.ok .pl-st-tx b{color:var(--mod-tx)}
.pl-st3 .q.warn .pl-st-tx b{color:var(--warn)}
@media(max-width:360px){.pl-st-ic{display:none}.pl-st3>span{padding:8px 6px}}
@media(min-width:900px){
  /* columnas angostas de la semana: sin reloj ni flecha, indicadores como tablita (rótulo | número) */
  .pl-blq-ic,.pl-blq-fle{display:none}
  .pl-blq .pl-blq-tx .hh{font-size:14.5px}
  .pl-blq .pl-blq-tx .gg{font-size:13px}
  .pl-blq .pl-st.pl-st3{display:grid;grid-auto-flow:row;grid-template-columns:1fr;gap:2px;margin-top:8px;padding-top:8px}
  .pl-blq .pl-st3>span{display:flex;padding:0;background:none}
  .pl-blq .pl-st3>span::before{display:none}
  .pl-blq .pl-st3 .pl-st-ic{display:none}
  .pl-blq .pl-st3 .pl-st-tx{display:flex;flex-direction:row;justify-content:space-between;align-items:baseline;width:100%;gap:6px}
  .pl-blq .pl-st3 .pl-st-tx small{font-size:12.5px;color:var(--soft-hi)}
  .pl-blq .pl-st3 .pl-st-tx b{font-size:13.5px}
}
.pl-hoytx{color:var(--mod-tx);font-weight:800}
.pl-dia.pr:not(.sel):not(.cerr) i{background:var(--mod)}
.pl-top .tit small{display:block;font-size:11px;font-weight:500;letter-spacing:.03em;text-transform:uppercase;color:var(--soft-hi);line-height:1.2}

/* ---------- panel fuera de Sport: cabecera, semana, día, bloques y barra inferior ---------- */
[data-vista="fx"] .pl-top{background:rgba(6,13,26,.94);border-bottom:0;padding-top:14px;padding-bottom:12px;row-gap:12px}
[data-vista="fx"] .pl-top .pl-logo{width:60px;height:60px;border-radius:50%;background:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.9),0 8px 20px rgba(0,0,0,.45)}
[data-vista="fx"] .pl-top .pl-logo img{border-radius:50%}
[data-vista="fx"] .pl-top-id{gap:12px}
[data-vista="fx"] .pl-top .tit small{color:#c9d4e8;font-size:11.5px}
[data-vista="fx"] .pl-top .tit b{font-size:21px;font-weight:800;text-transform:uppercase;letter-spacing:.01em;line-height:1.08;color:#fff}
.pl-top-sep{flex:none;width:1px;align-self:stretch;margin:8px 0 8px auto;background:rgba(255,255,255,.24)}
.pl-top-sep+.pl-top-fx{margin-left:0;padding-left:12px}
[data-vista="fx"] .pl-top-fx img{height:30px}
[data-vista="fx"] .pl-top-acc{gap:10px}
[data-vista="fx"] .pl-top-acc .pl-btn{min-height:46px;border-radius:12px;background:var(--sf);border:1px solid var(--line);color:#fff;font-weight:600;font-size:15px;gap:9px}
[data-vista="fx"] .pl-top-acc .pl-btn svg{width:21px;height:21px}
[data-vista="fx"] .pl-semhd{background:var(--sf);border:1px solid var(--line);border-radius:18px;padding:12px;gap:8px;margin-bottom:8px}
[data-vista="fx"] .pl-semhd:has(+#eAg>.pl-dias:first-child){border-bottom:0;border-radius:18px 18px 0 0;padding-bottom:6px;margin-bottom:0}
[data-vista="fx"] .pl-semhd .pl-ico{width:46px;height:42px;border-radius:12px;background:var(--sf2);border-color:var(--line)}
[data-vista="fx"] .pl-semhd h2{font-size:19px;color:#fff}
[data-vista="fx"] .pl-semhd .pl-hoy{min-height:42px;padding:0 16px;border-radius:12px;border:1.5px solid var(--mod);color:var(--mod);background:transparent;font-weight:700}
[data-vista="fx"] .pl-dias{background:var(--sf);border:1px solid var(--line);border-radius:18px;padding:8px 12px 14px;margin-bottom:18px;gap:6px}
[data-vista="fx"] .pl-semhd:has(+#eAg>.pl-dias:first-child)+#eAg>.pl-dias:first-child{border-top:0;border-radius:0 0 18px 18px}
[data-vista="fx"] .pl-dia{min-height:66px;border-radius:14px;background:var(--sf2);border-color:var(--line);gap:1px}
[data-vista="fx"] .pl-dia small{font-size:13px;font-weight:500;color:var(--soft-hi)}
[data-vista="fx"] .pl-dia b{font-family:var(--font);font-size:20px;font-weight:700}
[data-vista="fx"] .pl-dia.hoy:not(.sel){border-color:rgba(250,204,21,.55)}
[data-vista="fx"] .pl-dia.sel{background:var(--mod);border-color:var(--mod);color:var(--mod-on);box-shadow:0 6px 18px rgba(250,204,21,.22)}
[data-vista="fx"] .pl-dia.sel small{color:var(--mod-on);font-weight:700}
[data-vista="fx"] .pl-dia i{bottom:7px;width:6px;height:6px;background:#5d6d89}
[data-vista="fx"] .pl-dia.pr i{background:var(--mod)}
[data-vista="fx"] .pl-dia.cerr i{background:var(--bad)}
[data-vista="fx"] .pl-dia.sel i{background:var(--mod-on)}
[data-vista="fx"] .pl-dtit{font-size:16px;color:#e6ebf5;margin:2px 2px 12px}
[data-vista="fx"] .pl-blq{border-radius:18px;border-left-width:5px;padding:14px 14px 14px 16px;margin-bottom:14px;background:var(--sf)}
[data-vista="fx"] .pl-blq-ic{background:rgba(250,204,21,.07);border:1px solid rgba(250,204,21,.18)}
[data-vista="fx"] .pl-nav{background:#0c1424;border-top:1px solid var(--line);border-radius:18px 18px 0 0}
[data-vista="fx"] .pl-nav button{font-size:13px;font-weight:600;gap:4px}
[data-vista="fx"] .pl-nav button.on{color:var(--mod)}
@media(max-width:899px){
  [data-vista="fx"] .pl-nav button.on::after{content:'';position:absolute;left:24%;right:24%;bottom:5px;height:3px;border-radius:3px;background:var(--mod)}
}
@media(max-width:699px){
  [data-vista="fx"] .pl-top .pl-logo{width:56px;height:56px}
  [data-vista="fx"] .pl-top .tit b{font-size:20px;-webkit-line-clamp:2}
  [data-vista="fx"] .pl-top-fx img{height:28px}
}
@media(max-width:360px){
  [data-vista="fx"] .pl-top .pl-logo{width:46px;height:46px}
  [data-vista="fx"] .pl-top .tit b{font-size:17px}
  [data-vista="fx"] .pl-top-fx img{height:22px}
  [data-vista="fx"] .pl-top-acc .pl-btn{font-size:14px;gap:6px;padding:0 6px}
}
@media(min-width:900px){
  [data-vista="fx"] .pl-top{background:transparent}
  [data-vista="fx"] .pl-top .pl-logo{width:64px;height:64px}
  [data-vista="fx"] .pl-top .tit small{font-size:12.5px}
  [data-vista="fx"] .pl-top .tit b{font-size:24px}
  [data-vista="fx"] .pl-top-fx img{height:44px}
  [data-vista="fx"] .pl-top-id{flex:1}
  [data-vista="fx"] .pl-top-acc{margin-left:18px}
  [data-vista="fx"] .pl-nav{border-radius:0;background:var(--bg)}
  [data-vista="fx"] .pl-semhd{margin-bottom:14px}
  [data-vista="fx"] .pl-blq{border-radius:14px;padding:10px 10px 10px 12px;margin-bottom:8px}
}
/* v29: el punto del día va bajo el número (no encima) y el título de la semana en una línea en celular. */
[data-vista="fx"] .pl-dia{justify-content:flex-start;padding:9px 0 17px}
@media(max-width:699px){
  [data-vista="fx"] .pl-semhd .pl-ico{width:40px}
  [data-vista="fx"] .pl-semhd .pl-hoy{padding:0 12px}
  [data-vista="fx"] .pl-semhd h2{font-size:clamp(15px,4.4vw,19px);white-space:nowrap;letter-spacing:-.01em;min-width:0}
}
[data-vista="publica"] .pb-achip:not(.otro){font:700 17px var(--font)}

/* v29: ajustes de la revisión (fondo sin cortes, estados distinguibles, contraste, tipografía pareja) */
[data-vista="publica"] body{min-height:100vh;min-height:100dvh;background-repeat:no-repeat;background-attachment:fixed}
[data-vista="fx"] body{background:var(--bg)}
[data-vista="fx"],[data-vista="publica"]{--warn:#fb923c}
[data-vista="fx"] .pl-chip.warn,[data-vista="publica"] .pl-chip.warn{background:rgba(251,146,60,.16)}
[data-vista="fx"] .pl-aviso,[data-vista="publica"] .pl-aviso{background:rgba(251,146,60,.12);border-color:rgba(251,146,60,.38)}
[data-vista="fx"] .pl-aviso.info,[data-vista="publica"] .pl-aviso.info{background:var(--mod-soft);border-color:var(--mod)}
[data-vista="fx"] .pl-aviso.bad,[data-vista="publica"] .pl-aviso.bad{background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.4)}
[data-vista="fx"] .k-mor{--kc:var(--mod)}
[data-vista="fx"] .k-azu{--kc:var(--info)}
[data-vista="fx"] .k-ama{--kc:var(--warn)}
[data-vista="fx"] .pl-sw input:checked+i::after{background:var(--mod-on)}
[data-vista="fx"] .pl-main[data-ver]::after{font-family:var(--font);font-size:13px;font-weight:500;letter-spacing:.01em;color:var(--soft)}
[data-vista="fx"] .pl-bl .hh,[data-vista="fx"] .pl-kpi .tx b{font-family:var(--font);font-weight:800;letter-spacing:-.01em}
[data-vista="fx"] .pl-bl .hh{font-size:15px}
.pl-grp .nw{white-space:nowrap}
[data-vista="fx"] .pl-dia.pas:not(.sel){background:var(--sf2)}
[data-vista="fx"] .pl-dia.pas:not(.sel) b{color:var(--ink)}
[data-vista="fx"] .pl-top .pl-logo,[data-vista="publica"] .pb2-hd-logo{color:#0b1b36}
@media(min-width:900px){
  [data-vista="fx"] .pl-semhd:has(+#eAg>.pl-dias:first-child){border-bottom:1px solid var(--line);border-radius:18px;padding-bottom:12px;margin-bottom:14px}
}
@media(max-width:699px){[data-vista="fx"] .pl-top-fx img{height:34px}}
@media(max-width:360px){[data-vista="fx"] .pl-top-fx img{height:26px}}
@media(min-width:361px) and (max-width:699px){
  [data-vista="fx"] .pl-top-acc .pl-btn{font-size:14.5px;gap:7px;padding:0 8px}
  [data-vista="fx"] .pl-top-acc [data-act="eCompartir"]{flex-grow:1.35}
  [data-vista="fx"] .pl-top-acc .pl-ir{flex-grow:.75}
}
/* indicadores del bloque: solo la cifra en negrita, rótulo legible, sin desbordar con dos dígitos */
.pl-st3 .pl-st-tx b{font-weight:500}
.pl-st3 .pl-st-tx b em,.pl-st3 .q .pl-st-tx b{font-weight:800}
.pl-st-tx small{color:var(--soft-hi)}
@media(max-width:420px){.pl-st3 .pl-st-tx b{font-size:17px}.pl-st3>span{padding:8px 6px;gap:6px}}
.pl-blq.susp .pl-blq-ic,.pl-blq.inact .pl-blq-ic,.pl-dcol.pas .pl-blq-ic{background:var(--sf2);color:var(--soft);border-color:var(--line)}
.pl-blq.susp .pl-st3 .q .pl-st-tx b,.pl-blq.inact .pl-st3 .q .pl-st-tx b{color:var(--soft-hi)}
@media(max-width:760px){.pl-kpis{margin-left:-16px;margin-right:-16px;padding-left:16px;padding-right:16px;scroll-padding-inline:16px}}
/* página pública */
[data-vista="publica"] .pb2-hd-dep{opacity:.11;-webkit-mask-image:linear-gradient(to bottom,#000 40%,transparent 82%);mask-image:linear-gradient(to bottom,#000 40%,transparent 82%)}
[data-vista="publica"] .pb2-hd-dep svg circle[r="52"]{fill:currentColor;fill-opacity:.22}
[data-vista="publica"] .pb-hero:not(.foto){position:relative;overflow:hidden}
[data-vista="publica"] .pb-hero .pb-hero-in{z-index:1}
@media(max-width:899px){[data-vista="publica"] .pb-cont{background:linear-gradient(to bottom,rgba(9,21,42,0),#09152a 35%)}}
[data-vista="publica"] .pb-cont .pl-btn.pri:disabled{opacity:1;background:var(--sf3);border-color:var(--fx-borde);color:var(--soft-hi)}
[data-vista="publica"] .pb2-ic,[data-vista="publica"] .pb-big:not(.pri) .ic{background:rgba(37,99,235,.10)}
[data-vista="publica"] .pb-pie b{font-weight:500}
[data-vista="publica"] .pb-big.pri{color:#fff}
[data-vista="publica"] .pb-rutsav .pb-big{flex-direction:column;align-items:flex-start;justify-content:center;gap:2px}
[data-vista="publica"] .pb-rutsav .pb-big>span{color:var(--soft);opacity:1}
[data-vista="publica"] .pb-mini .pb-logo{border-radius:50%;background:#fff;color:#0b1b36}
[data-vista="publica"] .pb .pl-f>span,[data-vista="publica"] .pb .pl-f>label{color:#fff}
[data-vista="publica"] .pl-chk input{-webkit-appearance:none;appearance:none;display:grid;place-content:center;border:1.5px solid var(--fx-borde);border-radius:5px;background:var(--fx-campo);cursor:pointer}
[data-vista="publica"] .pl-chk input:checked{background:var(--mod);border-color:var(--mod)}
[data-vista="publica"] .pl-chk input:checked::before{content:'';width:9px;height:5px;border-left:2.5px solid var(--mod-on);border-bottom:2.5px solid var(--mod-on);transform:translateY(-1px) rotate(-45deg)}
@media(max-width:699px){[data-vista="publica"] .pb2-semh h2{font-size:17px;letter-spacing:-.015em;text-wrap:balance}}
@media(min-width:900px){
  [data-vista="publica"] .pb-achip{min-height:56px;border-radius:14px}
  [data-vista="publica"] .pb2-hd-in{max-width:1112px}
}

/* ===================== v30 (08-10-2026): reporte de la semana (botón en la Agenda + ventana con Excel y PDF) ===================== */
.pl-repbar{display:flex;margin:-6px 0 14px}
.pl-rep{flex:1;min-height:44px;gap:8px;border-radius:12px;background:var(--sf);border:1px solid var(--line);color:var(--ink);font-weight:700}
.pl-rep svg{color:var(--mod)}
@media(min-width:900px){.pl-repbar{justify-content:flex-end;margin:-4px 0 12px}.pl-rep{flex:none;padding:0 18px}}
.pl-mo .pl-hoja.pl-hoja-rep{max-width:860px}
.pl-rep-res{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:12px;background:var(--sf2);border:1px solid var(--line);margin-bottom:6px}
.pl-rep-res b{font-size:15px}
.pl-rep-res span{font-size:13px;color:var(--soft-hi)}
.pl-rep-dia{font-size:14px;font-weight:800;margin:14px 2px 6px;text-transform:none;color:var(--ink)}
.pl-rep-blq{border:1px solid var(--line);border-left:4px solid var(--mod);border-radius:12px;padding:9px 11px;margin-bottom:8px;background:var(--sf)}
.pl-rep-blq.off{border-left-color:var(--soft)}
.pl-rep-bh{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px}
.pl-rep-bh .hh{font-weight:800;font-size:15px;white-space:nowrap}
.pl-rep-bh .gg{font-weight:700;color:var(--soft-hi);flex:1;min-width:0}
.pl-rep-bh .cnt{font-size:12.5px;color:var(--soft-hi);white-space:nowrap}
.pl-rep-inf{font-size:12.5px;color:var(--soft);margin-top:1px}
.pl-rep-nota{font-size:12.5px;color:var(--warn);margin-top:2px;font-weight:600}
.pl-rep-vacio{font-size:13px;color:var(--soft);padding:6px 0 1px}
.pl-rep-p{display:flex;align-items:center;gap:8px;padding:7px 0;border-top:1px solid var(--line);margin-top:6px}
.pl-rep-p+.pl-rep-p{margin-top:0}
.pl-rep-p .nm{flex:1;min-width:0;display:flex;flex-direction:column}
.pl-rep-p .nm b{font-size:14px}
.pl-rep-p .nm span{font-size:12.5px;color:var(--soft-hi);line-height:1.35}
.pl-hoja-rep>footer .pl-btn svg{width:18px;height:18px}
/* v30: el nombre del grupo no se parte letra a letra; los cupos van en su propia línea en celular. */
.pl-rep-bh .gg{flex:0 1 auto;min-width:0}
.pl-rep-bh .cnt{width:100%}
@media(min-width:700px){.pl-rep-bh .cnt{width:auto;margin-left:auto}}

/* v32 (08-10-2026): paso de la sede en la clase de prueba (varias sedes) y línea de la sede en el paso año/sexo. */
.pb2-sedes{display:grid;gap:10px}
.pb2-sede{border:1px solid var(--line);border-radius:16px;background:var(--sf2);overflow:hidden;transition:border-color .15s}
.pb2-sede.on{border-color:var(--mod);box-shadow:inset 0 0 0 1px var(--mod)}
.pb2-sede-btn{display:flex;align-items:center;gap:12px;width:100%;min-height:76px;padding:14px;border:0;background:none;color:var(--ink);font:inherit;text-align:left;cursor:pointer}
.pb2-sede-btn:has(+.pb2-sede-mapa){padding-bottom:4px}
.pb2-sede-btn:focus-visible{outline:2px solid var(--mod);outline-offset:-2px;border-radius:16px}
.pb2-sede-btn .ic{flex:none;width:44px;height:44px;border-radius:12px;background:var(--mod-soft);color:var(--mod);display:flex;align-items:center;justify-content:center}
.pb2-sede-btn .ic svg{width:22px;height:22px}
.pb2-sede-btn .tx{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.pb2-sede-btn .tx b{font-size:17px;font-weight:800;line-height:1.2;overflow-wrap:anywhere}
.pb2-sede-btn .tx span{font-size:13.5px;color:var(--soft);line-height:1.35}
.pb2-sede-btn .fle{flex:none;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--sf3);color:var(--ink)}
.pb2-sede-btn .fle svg{width:18px;height:18px}
.pb2-sede-mapa{display:inline-flex;align-items:center;min-height:32px;margin:0 0 6px 70px;font-size:13px;font-weight:700;color:var(--mod-tx);text-decoration:underline;text-underline-offset:2px}
.pb2-sedeln{display:flex;align-items:center;gap:8px;margin:-4px 0 12px;padding:6px 6px 6px 12px;min-height:44px;border-radius:12px;border:1px solid var(--line);background:var(--sf2);font-size:14px}
.pb2-sedeln>svg{flex:none;width:18px;height:18px;color:var(--mod)}
.pb2-sedeln>span{flex:1;min-width:0;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pb2-sedeln .pl-link{flex:none;min-height:32px;padding:0 8px;font-size:13px;text-decoration:underline;text-underline-offset:2px}
@media(min-width:900px){
  .pb2-sedes{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}
  .pb2-sedeln{max-width:520px}
}
[data-vista="publica"] .pb2-sede{background:var(--fx-campo);border-color:var(--fx-borde)}
[data-vista="publica"] .pb2-sede.on{border-color:var(--mod);box-shadow:inset 0 0 0 2px var(--mod);background:rgba(250,204,21,.06)}
[data-vista="publica"] .pb2-sede-btn{color:#fff}
[data-vista="publica"] .pb2-sede-btn .ic{border:1px solid rgba(250,204,21,.6);background:rgba(37,99,235,.10)}
[data-vista="publica"] .pb2-sede-btn .tx span{color:#9fb0cc}
[data-vista="publica"] .pb2-sede-btn .fle{background:rgba(255,255,255,.07);color:#fff}
[data-vista="publica"] .pb2-sede.on .fle{background:var(--mod);color:var(--mod-on)}
[data-vista="publica"] .pb2-sedeln{background:rgba(20,38,68,.55);border-color:var(--fx-borde);color:#fff}
@media(hover:hover){.pb2-sede:hover,[data-vista="publica"] .pb2-sede:hover{border-color:var(--mod)}}

/* v32 (08-10-2026): varias sedes en el panel de la escuela */
.pl-sedef{margin:-4px 0 14px}
#ePrSede .pl-sedef{margin:12px 0 0}
.pl-sedef .pl-fchip{font-size:13.5px}
.pl-sedel{display:flex;align-items:center;gap:5px;min-width:0;margin-top:3px;font-size:12.5px;font-weight:600;color:var(--soft-hi)}
.pl-sedel svg{flex:none;width:14px;height:14px;color:var(--mod)}
.pl-sedel>span{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.pl-sedeh .pl-sedel{font-size:14px;margin-top:0}
.pl-sedeh .pl-sedel svg{width:16px;height:16px}
.pl-fg-sede{margin:0 0 6px;padding:8px 10px;border-radius:10px;background:var(--mod-soft);color:var(--ink);font-size:12.5px;font-weight:600}
.pl-chk.pl-chk-off{opacity:.45;cursor:not-allowed}
.pl-sedenl-tit{margin:16px 0 6px;font-size:13px;font-weight:800;color:var(--soft)}
.pl-sedenl{padding:10px 0;border-top:1px solid var(--line)}
.pl-sedenl .row{gap:8px;align-items:center}
.pl-sedenl .pl-url{margin-top:6px;font-size:12.5px}
[data-vista="fx"] .pl-sedef .pl-fchip{background:var(--sf2);border-color:var(--line);color:var(--ink)}
[data-vista="fx"] .pl-sedef .pl-fchip.on{background:var(--mod);border-color:var(--mod);color:var(--mod-on);box-shadow:0 6px 18px rgba(250,204,21,.22)}
@media(min-width:900px){.pl-sedef{margin:0 0 10px}}

/* ===================== v39 (20-10-2026): franja de cupos (semana y período), tope al mes, clase suelta y clase fija =====================
   Una franja compacta con barras finas (usadas = color lleno, agendadas = el mismo color más suave), la misma en la página
   del alumno, en la hoja del alumno del panel y en «Sin clases disponibles». Sin íconos de ticket. */
.pl-cupo{display:grid;gap:9px;padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:var(--sf)}
.pl-cupo-t{font-size:12px;font-weight:800;color:var(--soft);letter-spacing:.02em;margin-bottom:-3px}
.pl-cupo-f .l1{display:grid;grid-template-columns:104px 1fr auto;align-items:center;gap:10px}
.pl-cupo-f .l1 b{font-size:13px;font-weight:800;white-space:nowrap}
.pl-cupo-f .n{font:600 13px/1 var(--mono);white-space:nowrap}
.pl-cupo-f .l2{margin-top:3px;font-size:11.5px;line-height:1.35;color:var(--soft)}
.pl-cupo-f.lleno .n{color:var(--bad)}
.pl-cb{display:flex;height:6px;min-width:48px;border-radius:999px;background:var(--sf3);overflow:hidden}
.pl-cb i{display:block;height:100%;flex:none}
.pl-cb .u{background:var(--mod)}
.pl-cb .a{background:repeating-linear-gradient(90deg,var(--mod) 0 7px,transparent 7px 9px);opacity:.6}
.pl-cupo-mas{margin:6px 2px 0;font-size:12px;color:var(--soft)}
[data-vista="publica"] .pl-cupo{background:rgba(14,28,52,.72);border-color:var(--fx-borde)}
[data-vista="publica"] .pl-cb{background:rgba(255,255,255,.10)}
[data-vista="publica"] .pl-cupo-f .l2,[data-vista="publica"] .pl-cupo-mas{color:#a9b8d3}
@media(min-width:900px){.pl-cupo-f .l1{grid-template-columns:112px 1fr auto}}
/* Tope por plan: «Por semana» y «Al mes» */
.pl-tp2{display:flex;gap:8px;flex:none}
.pl-tp2 label{display:flex;flex-direction:column;align-items:center;gap:3px}
.pl-tp2 small{font-size:11px;font-weight:700;color:var(--soft);white-space:nowrap}
.pl-tp2 .pl-in{width:64px;min-height:40px;padding:8px 6px;text-align:center}
/* Página del alumno: clase suelta y «Repetir todas las semanas» */
.pb-blq .pb-suelta{min-height:36px}
.pb-blq .pb-fijab{display:inline-block;margin-top:4px;padding:4px 0;font-size:13px;text-decoration:underline;text-underline-offset:2px}
.pb-blq .pb-fijab{text-align:left}
.pb-blq .pl-chips .pl-chip{white-space:normal}
@media(min-width:760px){.pl-cupo{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));column-gap:28px}.pl-cupo-t{grid-column:1/-1}}
.pl-hoja .pl-cupo{grid-template-columns:1fr}
/* Revisión 20-10: con «Clase suelta» o «Repetir todas las semanas», el motivo y la acción van en una fila de ancho completo
   bajo la hora (en PC la tarjeta es angosta y partía la hora y el botón en tres líneas). La hora no se parte. */
.pb-blq.con-pie{flex-wrap:wrap}
.pb-blq.con-pie .grow{flex:1 1 0;min-width:0}
.pb-blq .pb-blq-pie{flex:1 0 100%;min-width:0;margin:0;text-align:left;font-size:inherit;color:inherit}   /* .pb-pie ya era el pie de la pagina */
.pb-blq .pb-blq-pie .pb-nota{margin-top:0}
.pb-blq .pb-blq-pie .pb-suelta{width:100%}
.pb-blq.con-pie .hh{white-space:nowrap}

/* ===================== v39 (20-10-2026, pedido del usuario): «Soy alumno» por semana y RUT sin tecla K =====================
   ‹ Semana del 19 al 25 de octubre › (flechas de 44 px), la franja de cupos de ESA semana, sus días (los sin clases atenuados,
   como en la prueba) y las clases del día elegido. PC: una columna por día de la semana elegida (la tarjeta va en columna). */
.pb-alnav{display:flex;align-items:center;gap:8px;margin:16px 0 0}
.pb-alnav h2{flex:1;min-width:0;margin:0;text-align:center;font-size:16px;line-height:1.25;letter-spacing:-.01em;text-wrap:balance;outline:none}
.pb-alnav .pb2-flecha{width:44px;height:44px;flex:none}
.pb-alnav .pb2-flecha svg{width:20px;height:20px}
.pb-aldias{margin-top:12px;padding:0}
.pb-aldias .pb-dchip{border-radius:12px;font-size:15px}
.pb-aldias .pb-dchip small{white-space:nowrap}
.pb-sem7 .pb-dcol>h3{margin-top:12px}
.pb-sem7 .pb-sinh{margin-top:8px}
.pb-rutnota{margin:6px 2px 0;font-size:12.5px;line-height:1.35;color:var(--soft)}
@media(min-width:900px){
  .pb-alnav{margin:22px 0 0;gap:12px}
  .pb-alnav h2{font-size:22px}
  .pb-sem.pb-sem7{grid-template-columns:repeat(var(--n,7),minmax(0,1fr));gap:10px;align-items:stretch;margin-top:14px}
  .pb-sem7 .pb-dcol{display:flex;flex-direction:column;min-width:0}
  .pb-sem7 .pb-dcol>h3{margin:0 0 2px;font-size:14px;line-height:1.25}
  .pb-sem7 .pb-dcol>h3 span{display:block;font-size:12.5px;font-weight:600;color:var(--soft)}
  .pb-sem7 .pb-sinh{flex:1;min-height:120px;padding:16px 8px}
  .pb-sem7 .pb-blq,.pb-sem7 .pb-blq.con-pie{flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:8px;padding:10px}
  .pb-sem7 .pb-blq .grow,.pb-sem7 .pb-blq.con-pie .grow,.pb-sem7 .pb-blq .pb-blq-pie{flex:none}
  .pb-sem7 .pb-blq .hh{font-size:14px}
  .pb-sem7 .pb-blq>.der{align-items:flex-start!important}
  .pb-sem7 .pb-blq>.der .pl-btn{width:100%}
}

/* ===================== v40 (21-10-2026, diseño del usuario): Configurar =====================
   Ícono en cada sección, Horarios en su columna (PC: izquierda), grupo con el dibujo de su deporte y «Editar» con lápiz,
   bloques con el día en una pastilla y chevron del color del módulo, y en Tope por plan cada plan en su tarjeta con la banda
   «Reserva solo en el grupo de su clase» y el botón «Grupos extra». Usa var(--mod): amarillo fuera de Sport, cyan dentro. */
.pl-cfg-col{min-width:0}
details.pl-sec>summary{gap:14px;padding:12px 16px;font-size:17px}
.pl-sec-ic{flex:none;width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--sf2);border:1px solid var(--line);color:var(--mod)}
.pl-sec-ic svg{width:22px;height:22px}
.pl-sec-t{flex:1;min-width:0}
details.pl-sec>summary::after{width:10px;height:10px;border-color:var(--mod);border-width:0 2.5px 2.5px 0;margin-right:6px}
.pl-cfg .pl-grp{border-radius:16px;padding:14px;margin-bottom:12px}
.pl-grp-hd{align-items:flex-start;gap:12px}
.pl-grp-ic{flex:none;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--sf3);color:var(--mod)}
.pl-grp-ic svg{width:28px;height:28px}
.pl-grp-n{font-size:17px;letter-spacing:-.01em}
.pl-grp-cats{margin-top:3px;font-size:13px;line-height:1.4}
.pl-grp-hd .pl-sedel{font-size:13px;color:var(--ink);font-weight:500}
.pl-btn-mod{border-color:var(--mod);color:var(--mod);font-weight:700}
.pl-btn-mod svg{width:16px;height:16px;flex:none}
.pl-btn.pl-btn-mod:not(.sm){min-height:var(--tap)}
.pl-cfg .pl-bl{gap:12px;padding:8px 12px 8px 8px;border-radius:12px;margin-top:8px;min-height:60px}
.pl-cfg .pl-bl .d{width:auto;min-width:56px;height:40px;padding:0 10px;border-radius:9px;display:grid;place-items:center;background:var(--sf3);font-size:14px}
.pl-cfg .pl-bl .hh{font-size:16px;font-family:var(--font);font-weight:800;letter-spacing:-.01em}
.pl-plan .nw{white-space:nowrap}
.pl-cfg .pl-bl .det{font-size:13px}
.pl-cfg .pl-bl>svg{width:20px;height:20px;color:var(--mod)}
.pl-cfg .pl-bl.off .d{background:transparent;border:1px dashed var(--line)}
.pl-cfg .pl-plan{border:1px solid var(--line);border-radius:14px;background:var(--sf2);padding:14px;margin-top:10px}
.pl-cfg .pl-plan:first-child{border-top:1px solid var(--line)}
.pl-cfg .pl-plan>.row{align-items:flex-start;gap:12px}
.pl-cfg .pl-plan>.row b{font-size:16px}
.pl-cfg .pl-tp2{gap:10px}
.pl-cfg .pl-tp2 label{gap:5px}
.pl-cfg .pl-tp2 small{font-size:12.5px;font-weight:600;color:var(--soft-hi)}
.pl-cfg .pl-tp2 .pl-in{width:84px;min-height:44px;font-size:17px;font-weight:700}
.pl-gx{display:flex;align-items:stretch;gap:10px}
.pl-gx-tx{flex:1;min-width:0;display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;background:var(--sf);border:1px solid var(--line);font-size:13.5px;color:var(--soft-hi)}
.pl-gx-tx svg{flex:none;width:20px;height:20px;color:var(--info)}
.pl-gx .pl-btn{flex:none;min-height:44px;align-self:center}
[data-vista="fx"] details.pl-sec{background:var(--fx-vidrio);border-color:var(--fx-borde);border-radius:18px}
[data-vista="fx"] .pl-sec-ic{background:var(--fx-campo);border-color:var(--fx-borde)}
[data-vista="fx"] .pl-cfg .pl-grp,[data-vista="fx"] .pl-cfg .pl-plan{background:rgba(14,28,52,.55);border-color:var(--fx-borde)}
[data-vista="fx"] .pl-grp-ic{background:var(--fx-campo);border:1px solid var(--fx-borde)}
[data-vista="fx"] .pl-cfg .pl-bl{background:rgba(8,19,38,.55);border-color:rgba(78,132,214,.28)}
[data-vista="fx"] .pl-cfg .pl-bl .d{background:#16294a;color:#fff}
[data-vista="fx"] .pl-grp-cats{color:#9fb8e0}
[data-vista="fx"] .pl-gx-tx{background:rgba(8,19,38,.6);border-color:rgba(78,132,214,.28)}
[data-vista="fx"] .pl-cfg .pl-tp2 .pl-in{background:var(--fx-campo);border-color:var(--fx-borde)}
@media(max-width:560px){
  .pl-grp-hd{gap:10px}
  .pl-grp-acc{flex-direction:column;align-items:stretch}
  .pl-grp-acc .pl-btn{padding:0 10px}
  .pl-grp-ic{width:42px;height:42px}
  .pl-grp-ic svg{width:24px;height:24px}
  .pl-cfg .pl-plan>.row{flex-wrap:wrap}
  .pl-cfg .pl-plan>.row>.grow{flex:1 1 100%}
  .pl-gx{flex-direction:column}
  .pl-gx .pl-btn{align-self:flex-start}
}
@media(min-width:900px){
  .pl-cfg{column-count:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}
  .pl-cfg>.pl-cfg-col>details.pl-sec{margin:0 0 14px}
}

/* ===================== v40 (21-10-2026, diseño del usuario): Agenda =====================
   Tarjeta del bloque igual en PC y en celular (380x700): hora en el color del módulo, grupo en negrita, ubicación con su
   ícono, tres puntos arriba a la derecha, línea y tres filas con ícono (Alumnos, Pruebas, Quedan) con la cifra a la derecha.
   PC: semana sin caja, «Hoy» neutro, sedes y reporte en una fila, una columna con marco por día y la de hoy destacada. */
:root{--ag-val:var(--mod-tx)}
[data-vista="fx"]{--ag-val:#3fd8f5}
.pl-blq .pl-blq-ic{display:none}
.pl-blq .pl-blq-hd{align-items:flex-start;gap:6px}
.pl-blq .pl-blq-tx .hh{color:var(--mod-tx);font-family:var(--font);font-weight:800;font-size:19px;letter-spacing:-.01em}
.pl-blq .pl-blq-tx .gg{color:var(--ink);font-weight:800;font-size:17px;margin-top:1px}
.pl-blq .pl-blq-donde{margin-top:6px;font-size:14.5px;font-weight:500;color:var(--soft-hi)}
.pl-blq .pl-blq-donde svg{width:17px;height:17px;color:var(--soft-hi)}
.pl-blq .pl-blq-tx .ll{font-size:13px;color:var(--soft-hi);margin:3px 0 0}
.pl-blq .pl-blq-fle{display:flex;width:28px;height:30px;margin:-2px -6px 0 0;background:none;border:0;color:var(--soft-hi)}
.pl-blq .pl-blq-fle svg{width:18px;height:18px}
.pl-blq .pl-st.pl-st3{display:grid;grid-auto-flow:row;grid-template-columns:1fr;gap:5px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.pl-blq .pl-st3>span{display:flex;align-items:center;gap:10px;padding:0;background:none;border-radius:0}
.pl-blq .pl-st3>span::before{display:none}
.pl-blq .pl-st3 .pl-st-ic{display:flex;color:var(--soft-hi)}
.pl-blq .pl-st3 .pl-st-ic svg{width:18px;height:18px}
.pl-blq .pl-st3 .pl-st-tx{flex:1;display:flex;flex-direction:row;justify-content:space-between;align-items:baseline;gap:8px;width:auto}
.pl-blq .pl-st3 .pl-st-tx small{font-size:14.5px;font-weight:500;color:var(--soft-hi)}
.pl-blq .pl-st3 .pl-st-tx b,.pl-blq .pl-st3 .pl-st-tx b em,.pl-blq .pl-st3 .q.ok .pl-st-tx b{font-size:16px;font-weight:800;color:var(--ag-val)}
.pl-blq .pl-st3 .q.warn .pl-st-tx b{color:var(--warn)}
.pl-blq.susp .pl-blq-tx .hh,.pl-blq.inact .pl-blq-tx .hh{color:var(--soft-hi)}
.pl-blq .pl-chip.pl-chip-ic{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:999px;font-weight:700;font-size:13.5px}
.pl-chip-ic svg{width:16px;height:16px;flex:none}
[data-vista="fx"] .pl-blq .pl-chip.warn.pl-chip-ic{background:rgba(234,179,8,.24);color:#fde047}
[data-vista="fx"] .pl-blq{background:linear-gradient(180deg,rgba(22,38,66,.92),rgba(14,26,48,.92))}
[data-vista="fx"] .pl-semhd .pl-hoy{border:1px solid var(--line);color:#fff;background:var(--sf2)}
.pl-agbar .pl-repbar{margin-top:0}
@media(max-width:899px){.pl-agbar .pl-sedef{margin-bottom:12px}}
@media(min-width:900px){
  .pl-semhd,[data-vista="fx"] .pl-semhd,[data-vista="fx"] .pl-semhd:has(+#eAg>.pl-dias:first-child){background:none;border:0;padding:0;margin-bottom:18px}
  .pl-semhd h2,[data-vista="fx"] .pl-semhd h2{font-size:24px}
  .pl-semhd .pl-ico,[data-vista="fx"] .pl-semhd .pl-ico{width:56px;height:52px;border-radius:12px}
  .pl-semhd .pl-hoy,[data-vista="fx"] .pl-semhd .pl-hoy{min-height:52px;padding:0 22px;font-size:16px}
  .pl-agbar{display:flex;align-items:center;gap:12px;margin-bottom:18px}
  .pl-agbar .pl-sedef{flex:1;min-width:0;margin:0}
  .pl-agbar .pl-repbar{flex:none;margin:0 0 0 auto}
  .pl-agbar .pl-rep{min-height:48px;padding:0 20px;font-size:15px}
  .pl-sem{gap:14px;align-items:stretch}
  .pl-dcol{display:flex;flex-direction:column;background:var(--sf);border:1px solid var(--line);border-radius:14px;padding:0 10px 12px;min-height:200px}
  [data-vista="fx"] .pl-dcol{background:rgba(12,24,44,.7);border-color:var(--fx-borde)}
  .pl-dcol>h3{margin:0 -10px 10px;padding:12px 6px;border-radius:13px 13px 0 0;border-bottom:1px solid var(--line);background:rgba(255,255,255,.03);
    font-size:17px;font-weight:700;color:var(--soft-hi);text-transform:none}
  .pl-dcol>h3 b{color:var(--mod-tx);font-weight:800;margin-left:3px}
  .pl-dcol.hoy{border-color:var(--mod);box-shadow:0 0 0 1px var(--mod),0 0 26px var(--mod-soft)}
  [data-vista="fx"] .pl-dcol.hoy{border-color:var(--mod)}
  .pl-dcol.hoy>h3{background:var(--mod);color:var(--mod-on);border-bottom-color:var(--mod)}
  .pl-dcol.hoy>h3 b{color:var(--mod-on)}
  .pl-dcol.pas>h3{color:var(--soft-hi)}
  .pl-dcol .pl-blq,.pl-dcol.pas .pl-blq{padding:12px 12px 12px 14px;margin-bottom:10px;border-radius:12px;border-left:4px solid var(--mod)}
  .pl-dcol.pas .pl-blq{background:var(--sf2)}
  .pl-dcol .pl-blq.susp{border-left-color:var(--bad)}
  .pl-dcol .pl-blq.inact{border-left-color:var(--soft)}
  .pl-dcol .pl-blq .pl-blq-tx .hh{font-size:17px}
  .pl-dcol .pl-blq .pl-blq-tx .gg{font-size:16px}
  .pl-dcol .pl-blq .pl-blq-donde{font-size:14px}
  .pl-dcol .pl-blq .pl-st3 .pl-st-tx small{font-size:13.5px}
  .pl-dcol .pl-blq .pl-st3 .pl-st-tx b,.pl-dcol .pl-blq .pl-st3 .pl-st-tx b em{font-size:15px}
  .pl-dcol .pl-vacio{margin:auto 0;padding:20px 4px}
}
/* v40: en PC el panel usa casi todo el ancho (la semana de la imagen ocupa la pantalla); tope 1320 px. */
@media(min-width:1200px){:root{--ancho:min(1320px,calc(100vw - 64px))}}
/* v40: la tarjeta se ajusta al ancho de SU columna (6 o 7 días hábiles dejan columnas angostas). */
@media(min-width:900px){
  .pl-dcol{container-type:inline-size}
  .pl-dcol .pl-blq .pl-blq-tx{min-width:0}
  .pl-dcol .pl-blq .pl-blq-tx .hh{white-space:nowrap}
  .pl-dcol .pl-chips{flex-wrap:wrap}
}
@container (max-width:200px){
  .pl-blq .pl-blq-tx .hh{font-size:14.5px!important}
  .pl-blq .pl-blq-tx .gg{font-size:14px!important}
  .pl-blq .pl-blq-donde{font-size:12.5px!important}
  .pl-blq .pl-blq-fle{width:18px;margin-right:-8px}
  .pl-blq .pl-blq-fle svg{width:15px;height:15px}
  .pl-blq .pl-st3 .pl-st-ic{display:none!important}
  .pl-blq .pl-st3 .pl-st-tx small{font-size:12.5px!important}
  .pl-blq .pl-st3 .pl-st-tx b,.pl-blq .pl-st3 .pl-st-tx b em{font-size:13.5px!important}
  .pl-blq .pl-chip.pl-chip-ic{font-size:12px;padding:3px 8px;gap:4px}
  .pl-blq .pl-chip.pl-chip-ic svg{width:13px;height:13px}
}
@container (max-width:150px){
  .pl-blq .pl-blq-tx .hh{font-size:13px!important}
  .pl-blq .pl-blq-fle{display:none!important}
}
/* v41 (21-10-2026): igual a las imágenes del usuario también dentro de Sport (data-vista="fx" siempre en el panel). */
[data-vista="fx"] .pl-gx-tx svg{color:#4c8dff}
[data-vista="fx"] .pl-dcol>h3{color:#dbe6f7}
[data-vista="fx"] .pl-blq .pl-blq-donde svg{color:#9fb8e0}
[data-vista="fx"] .pl-blq .pl-st3 .pl-st-ic{color:#c9d6ec}
@media(min-width:900px){
  [data-vista="fx"] .pl-nav{border-bottom:1px solid rgba(250,204,21,.28);box-shadow:0 1px 14px rgba(250,204,21,.06)}
  [data-vista="fx"] .pl-dcol.hoy>h3{background:linear-gradient(180deg,#fde047,#facc15);color:#111827}
  [data-vista="fx"] .pl-dcol.hoy{background:linear-gradient(180deg,rgba(250,204,21,.07),rgba(12,24,44,.7) 40%);box-shadow:0 0 0 1px var(--mod),0 0 28px rgba(250,204,21,.22)}
}
@media(max-width:899px){[data-vista="fx"] .pl-top{background:#060d1a}}   /* v41: sin transparencia al pasar la semana por debajo */
