:root{--bg:#f3f6f4;--card:#fff;--ink:#16241f;--mute:#5b6b65;--line:#d5ddd9;--board:#1d4a3f;--compra:#e8730c;
--L:#c2571a;--S:#1f7a52;--E:#6a4bb0;--H:#1b6fa8;
--display:"Bricolage Grotesque",system-ui,sans-serif;--body:"Atkinson Hyperlegible",system-ui,sans-serif}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 var(--body)}
h1,h2,h3{font-family:var(--display);line-height:1.15;margin:0;text-wrap:balance}
h1{font-size:1.9rem}h2{font-size:1.35rem}h3{font-size:1.05rem}
a{color:var(--board)}
.top{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--card);border-bottom:1px solid var(--line)}
.marca{display:flex;align-items:center;gap:8px;text-decoration:none;font:700 1.25rem var(--display);color:var(--ink)}
.top nav{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center}
.top nav a{text-decoration:none;font-weight:700}
.wrap{max-width:1040px;margin:0 auto;padding:22px 16px 48px;display:flex;flex-direction:column;gap:20px}
.btn,button{font:700 1rem var(--body);background:var(--board);color:#fff;border:0;border-radius:9px;padding:10px 16px;cursor:pointer;text-decoration:none;display:inline-block}
.btn.compra,button.compra{background:var(--compra)}
.btn.sec,button.sec{background:var(--card);color:var(--ink);border:1px solid var(--line)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--compra);outline-offset:2px}
.aviso{background:#fff4d6;border:1px solid #e6c46a;border-radius:9px;padding:10px 14px;margin:0}
.error{background:#fde3e0;border:1px solid #e39a92;border-radius:9px;padding:10px 14px;margin:0}
.hero{background:var(--board);color:#eef6f2;border-radius:16px;padding:28px 22px;display:flex;flex-direction:column;gap:12px}
.hero p{margin:0;max-width:58ch;font-size:1.08rem}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(240px,100%),1fr));gap:12px}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:8px;min-width:0}
.card.off{opacity:.75}
.card .acc{margin-top:auto;display:flex;flex-wrap:wrap;gap:8px;padding-top:6px}
.proy{border-left:6px solid var(--c)}
.tag{align-self:flex-start;font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:3px 9px;border-radius:99px;color:#fff;background:var(--c)}
.mute{color:var(--mute);font-size:.9rem;margin:0}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{background:var(--card);color:var(--ink);border:2px solid var(--c,var(--line));border-radius:99px;padding:6px 13px;font-size:.9rem}
.chip[aria-pressed="true"]{background:var(--c,var(--board));color:#fff;border-color:var(--c,var(--board))}
form.f{display:flex;flex-direction:column;gap:12px;max-width:460px}
form.f label{display:flex;flex-direction:column;gap:4px;font-weight:700;font-size:.9rem}
form.f label.ck{flex-direction:row;align-items:flex-start;gap:8px;font-weight:400}
input[type=text],input[type=email],input[type=password],input[type=tel],select{font:inherit;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);width:100%}
input[type=checkbox]{width:18px;height:18px;flex:none;margin-top:3px;accent-color:var(--board)}
.hoja{background-color:#fff;border:1px solid var(--line);border-radius:8px;padding:28px 24px;display:flex;flex-direction:column;gap:16px;user-select:none;-webkit-user-select:none}
.meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(190px,100%),1fr));gap:10px;margin:0}
.meta dt,.clase dt{font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--mute)}
.meta dd,.clase dd{margin:0}
.dia{border:1px solid var(--line);border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:8px;break-inside:avoid;background:rgba(255,255,255,.7)}
.dia header{display:flex;justify-content:space-between;gap:10px;align-items:baseline}
.dia header b{font:700 1.1rem var(--display)}
.clase{margin:0;display:grid;grid-template-columns:6.2em 1fr;gap:6px 10px;font-size:.94rem}
.clase.prod{border-top:1px dashed var(--line);padding-top:8px}
.anexo{border:1px solid var(--ink);padding:16px;break-inside:avoid;display:flex;flex-direction:column;gap:10px;background:rgba(255,255,255,.7)}
.tw{overflow-x:auto}
table{border-collapse:collapse;width:100%;font-size:.92rem}
th,td{border:1px solid var(--mute);padding:8px;text-align:left;vertical-align:top}
td.vacio{height:2.4em}
.lin{border-bottom:1px solid var(--mute);height:2em}
ul.l,ol.l{margin:0;padding-left:1.3em;display:flex;flex-direction:column;gap:5px}
ol.ex{margin:0;padding-left:1.6em;display:flex;flex-direction:column;gap:12px}
ol.ex ol{list-style:lower-alpha;margin-top:4px}
.apoyos{border:2px solid var(--compra)}
.ap2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:12px}
.apx{background:#fff7ea;border-radius:8px;padding:12px}
.apx p{margin:6px 0 0}
.ap3{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));gap:16px;margin-top:12px}
.apoyos summary{cursor:pointer;font-weight:700;color:var(--board)}
html{scroll-behavior:smooth}
.licencia{font-size:.75rem;color:var(--mute);border-top:1px solid var(--line);padding-top:8px;margin:0}
.precio{font:700 1.5rem var(--display)}
.pie{max-width:1040px;margin:0 auto;padding:16px;font-size:.8rem;color:var(--mute)}
.lam{border:1px solid var(--line);border-radius:10px;padding:22px;break-inside:avoid;background:rgba(255,255,255,.7);display:flex;flex-direction:column;gap:10px}
.lam h2{color:var(--board)}
@media print{
  .no-print{display:none!important}
  body{background:#fff}
  .wrap{padding:0;max-width:none}
  .hoja{border:0;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  body:not(.autorizado) .hoja{display:none}
  body:not(.autorizado) .wrap::after{content:"Para imprimir usa el botón Imprimir de la página."}
  .salto{break-before:page}
}

/* ===== Hojas divertidas ===== */
.fun{--k:#e8508b;--kp:#ffe1ec;position:relative;border:3px solid var(--ink);border-radius:22px;padding:20px 20px 16px;background:#fff;display:flex;flex-direction:column;gap:14px;break-inside:avoid;box-shadow:inset 0 0 0 6px #fff,inset 0 0 0 8px var(--k)}
.fun.t1{--k:#f0a400;--kp:#fff2c4}.fun.t2{--k:#12a594;--kp:#d3f4ee}.fun.t3{--k:#7a5af5;--kp:#e8e1ff}.fun.t4{--k:#f2682a;--kp:#ffe3d3}.fun.t5{--k:#2f8fe0;--kp:#d9ecff}
.fun h2,.fun th,.fx-tab,.fun .bt{font-family:"Fredoka",var(--display)}
.dibu .f1{fill:var(--kp)}.dibu .f2{fill:var(--k)}.dibu .ch{fill:#ff9db5}
.dibu{flex:none}
.fx-top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.fx-tab{background:var(--ink);color:#fff;font-weight:700;padding:4px 18px 4px 12px;border-radius:8px 22px 22px 8px;font-size:.95rem}
.fx-pie{font-size:.75rem;color:var(--mute);text-align:right}
.fx-tit{display:flex;align-items:center;gap:10px}
.fx-tit h2{font-size:1.6rem;box-shadow:inset 0 -.5em 0 var(--kp);padding:0 6px}
.fx-st{display:flex;align-items:flex-start;gap:2px}
.fx-nom{display:flex;gap:10px;flex-wrap:wrap;font-weight:700}
.fx-nom span{flex:3 1 220px;display:flex;align-items:flex-end;gap:8px;border:2px solid var(--ink);border-radius:99px;padding:6px 16px;background:#fff}
.fx-nom span.c{flex:1 1 150px}
.fx-nom i{flex:1;border-bottom:2px dotted var(--ink);height:1.1em}
.fx-ins{display:flex;align-items:center;gap:14px}
.fx-ins p{margin:0;position:relative;flex:1;background:var(--kp);border:2.5px solid var(--ink);border-radius:18px;padding:12px 16px;font-weight:700;font-size:1.05rem}
.fx-ins p::before{content:"";position:absolute;left:-11px;top:50%;width:18px;height:18px;margin-top:-9px;background:var(--kp);border-left:2.5px solid var(--ink);border-bottom:2.5px solid var(--ink);transform:rotate(45deg)}
.fx-auto{display:flex;justify-content:flex-end;align-items:center;gap:12px;border-top:2.5px dashed var(--k);padding-top:10px;margin-top:auto;font-size:.9rem}
.fx-auto span{display:flex;gap:8px}
.fun table{border-collapse:separate;border-spacing:0;border:2.5px solid var(--ink);border-radius:14px;overflow:hidden}
.fun th{background:var(--k);color:#fff;border:0;border-right:2px solid var(--ink);border-bottom:2.5px solid var(--ink);text-align:center;font-size:1.05rem;padding:9px}
.fun td{border:0;border-right:2px solid var(--ink);border-bottom:2px dotted var(--mute)}
.fun th:last-child,.fun td:last-child{border-right:0}.fun tr:last-child td{border-bottom:0}
.fun tr:nth-child(odd) td{background:color-mix(in srgb,var(--kp) 45%,#fff)}
.fun td.vacio{height:3em}
.fun .lin{border-bottom:2px dotted var(--ink);height:2.3em}
.fx-ren{border:2.5px solid var(--ink);border-radius:16px;padding:4px 16px 14px;background:#fff}
.fun .banco{border:2.5px dashed var(--k);background:var(--kp);border-radius:16px;padding:12px 14px;display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center}
.fun .banco span,.fun .cajas span{background:#fff;border:2px solid var(--ink);border-radius:99px;padding:4px 14px;font-weight:700}
.fun .banco .bt{flex-basis:100%;border:0;background:none;padding:0;display:flex;align-items:center;gap:6px}
.fun .cajas{display:flex;flex-wrap:wrap;gap:8px}
.fun .cajas span:nth-child(3n+1){background:var(--kp)}
.fun .rel{display:grid;grid-template-columns:1fr 70px 1fr;gap:12px 0;align-items:center}
.fun .rel span{border:2.5px solid var(--ink);border-radius:14px;padding:9px 12px;background:var(--kp);position:relative}
.fun .rel span.d{background:#fff;border-style:dashed}
.fun .rel span::after{content:"";position:absolute;top:50%;right:-9px;width:12px;height:12px;margin-top:-8px;border-radius:50%;background:var(--k);border:2px solid var(--ink)}
.fun .rel span.d::after{right:auto;left:-9px;background:#fff}
.fun .ord{margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.fun .ord li{list-style:none;display:grid;grid-template-columns:48px 1fr;gap:12px;align-items:center;margin:0}
.fun .ord i{width:46px;height:46px;border:2.5px solid var(--ink);border-radius:50%;background:var(--kp);display:block}
.fun .ord li span{border:2px solid var(--ink);border-radius:14px;padding:9px 12px}
.fun .sopa{margin:0 auto;width:auto;border-width:3px}
.fun .sopa td{width:2.05em;height:2.05em;text-align:center;font:700 1.05rem "Fredoka",ui-monospace,monospace;padding:0;border:1px solid var(--mute);background:#fff}
.fun .sopa tr:nth-child(odd) td:nth-child(even),.fun .sopa tr:nth-child(even) td:nth-child(odd){background:color-mix(in srgb,var(--kp) 55%,#fff)}
.fun ol.pre{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px;counter-reset:q}
.fun ol.pre li{counter-increment:q;position:relative;border:2.5px solid var(--ink);border-radius:16px;padding:10px 14px 12px 54px;font-weight:700}
.fun ol.pre li::before{content:counter(q);position:absolute;left:10px;top:8px;width:34px;height:34px;border-radius:50%;background:var(--k);color:#fff;border:2px solid var(--ink);display:grid;place-items:center;font-family:"Fredoka",var(--display)}
.fun ol.comp{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px;counter-reset:q}
.fun ol.comp li{counter-increment:q;position:relative;padding:6px 0 6px 46px;line-height:1.9}
.fun ol.comp li::before{content:counter(q);position:absolute;left:0;top:6px;width:32px;height:32px;border-radius:50%;background:var(--k);color:#fff;border:2px solid var(--ink);display:grid;place-items:center;font:700 1rem "Fredoka",var(--display)}
.fun .hueco{display:inline-block;min-width:8em;border-bottom:2.5px solid var(--ink);background:var(--kp);border-radius:6px 6px 0 0}
.fun .dib{border:2.5px dashed var(--ink);border-radius:18px;height:190px;background:#fff;position:relative}
.fun .dib::after{content:"🖍 Mi dibujo";position:absolute;top:-13px;left:18px;background:var(--k);color:#fff;border:2px solid var(--ink);border-radius:99px;padding:1px 12px;font:700 .85rem "Fredoka",var(--display)}
.fun td.alto{height:10em}
.fun.clave{--k:#16241f;--kp:#eef1ef}
/* Para colorear: sin tinta de color */
.bn .fun{--k:#fff!important;--kp:#fff!important;box-shadow:inset 0 0 0 6px #fff,inset 0 0 0 8px var(--ink)}
.bn .fun th,.bn .fun ol.pre li::before,.bn .fun ol.comp li::before,.bn .fun .dib::after{color:var(--ink)}
.bn .dibu .ch{fill:#fff}
@media print{.fun{min-height:245mm;box-shadow:inset 0 0 0 5px #fff,inset 0 0 0 7px var(--k)}.fun.clave{min-height:0}}
@media (max-width:560px){.fx-tit h2{font-size:1.25rem}.fx-ins .dibu{width:64px;height:64px}.fun{padding:16px 14px}.fun .rel{grid-template-columns:1fr 26px 1fr}.fun .sopa td{width:1.6em;height:1.6em;font-size:.9rem}}
.bn .fun .banco,.bn .fx-auto{border-color:var(--ink)}

/* v9: dibujos del tema y actividades nuevas */
img.mj{flex:none;display:block}
.fx-tit{justify-content:space-between}.fx-st{align-items:center;gap:4px}
.fx-auto{justify-content:flex-end}.fx-deco{display:flex;gap:6px;margin-right:auto}
.fun .nq{flex:none;width:34px;height:34px;border-radius:50%;background:var(--k);color:#fff;border:2px solid var(--ink);display:grid;place-items:center;font-family:"Fredoka",var(--display)}
.fun .cruci{border:0;border-radius:0;margin:0 auto;width:auto;border-collapse:collapse;overflow:visible}
.fun .cruci td{width:2.15em;height:2.15em;padding:0;border:2px solid var(--ink);background:#fff!important;position:relative}
.fun .cruci td.x{border:0;background:none!important}
.fun .cruci sup{position:absolute;top:1px;left:3px;font:700 .62rem var(--body)}
.pistas{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:12px}
.pistas>div{border:2.5px solid var(--ink);border-radius:16px;padding:10px 14px;background:var(--kp)}
.pistas ul{margin:6px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:5px;font-size:.95rem}
.fun .vf{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}
.fun .vf li{display:grid;grid-template-columns:34px 1fr 46px 46px;gap:10px;align-items:center;border:2.5px solid var(--ink);border-radius:16px;padding:9px 12px}
.fun .vf li:nth-child(odd){background:var(--kp)}
.fun .vf i{width:44px;height:44px;border:2.5px solid var(--ink);border-radius:50%;background:#fff;display:grid;place-items:center;font:700 1.15rem "Fredoka",var(--display);font-style:normal}
.fun .ops{display:flex;flex-direction:column;gap:6px;margin-top:8px;font-weight:400}
.fun .ops span{display:flex;align-items:center;gap:10px}
.fun .ops i{flex:none;width:28px;height:28px;border:2px solid var(--ink);border-radius:50%;display:grid;place-items:center;font:700 .9rem "Fredoka",var(--display);font-style:normal;background:var(--kp)}
.mapa{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:14px}
.mapa .rama{border:2.5px solid var(--ink);border-radius:18px;min-height:190px;padding:10px;background:#fff}
.mapa .rama:nth-child(4n+1),.mapa .rama:nth-child(4n+4){background:var(--kp)}
.mapa .rama .bt{display:inline-block;background:var(--k);color:#fff;border:2px solid var(--ink);border-radius:99px;padding:2px 14px}
.mapa .rama:nth-child(even){text-align:right}
.mapa .rama:nth-child(n+3){display:flex;flex-direction:column;justify-content:flex-end}.mapa .rama:nth-child(n+3):nth-child(odd){align-items:flex-start}.mapa .rama:nth-child(n+3):nth-child(even){align-items:flex-end}
.mapa .centro{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:168px;height:168px;border-radius:50%;background:#fff;border:3px solid var(--ink);box-shadow:0 0 0 6px var(--k),0 0 0 9px var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:10px;line-height:1.15}
.comic{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.comic .cuadro{position:relative;border:3px solid var(--ink);border-radius:6px 18px 6px 18px;padding:10px 12px;display:flex;flex-direction:column;gap:6px;background:#fff}
.comic .cuadro p{margin:0 0 0 42px;font-weight:700;font-size:.92rem;min-height:34px;background:var(--kp);border:2px solid var(--ink);border-radius:12px;padding:5px 10px}
.comic .cuadro .nq{position:absolute;left:8px;top:8px}
.comic .esp{height:150px}
.fun .rev{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:12px}
.fun .rev li{display:flex;gap:10px;border:2.5px solid var(--ink);border-radius:16px;padding:10px 12px}
.fun .rev li>div{display:flex;flex-direction:column;gap:7px;min-width:0}
.fichas,.casillas{display:flex;flex-wrap:wrap;gap:4px}
.fichas i{width:30px;height:32px;border:2px solid var(--ink);border-radius:7px;background:var(--kp);display:grid;place-items:center;font:700 1.05rem "Fredoka",var(--display);font-style:normal;transform:rotate(-4deg)}
.fichas i:nth-child(even){transform:rotate(5deg)}
.casillas i{width:30px;height:32px;border-bottom:3px solid var(--ink)}
.tij{margin:0;font-weight:700}
.memo{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.memo>div{border:2px dashed var(--ink);margin:-1px;min-height:112px;padding:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;background:#fff}
.memo .con{background:var(--kp);font:700 1.1rem "Fredoka",var(--display)}
.bn .fun .nq,.bn .mapa .rama .bt{color:var(--ink)}
.bn .mapa .centro{box-shadow:none}
@media (max-width:560px){.comic,.mapa{grid-template-columns:1fr}.mapa .centro{position:static;transform:none;margin:0 auto;grid-row:1}.memo{grid-template-columns:1fr 1fr}.fx-st img{width:40px;height:40px}.fun .cruci td{width:1.6em;height:1.6em}}
@media print{.comic .esp{height:62mm}.mapa .rama{min-height:88mm}.memo>div{min-height:44mm}}

/* v10: venta por selección, encabezado con datos del maestro, recorta y pega */
.sello{margin:0;font:700 .78rem var(--body);letter-spacing:.02em;border:1.5px solid var(--ink);border-radius:8px;padding:3px 10px;background:#fff;text-align:center}
.elige{display:flex;align-items:center;gap:8px;font-weight:700;cursor:pointer;border:2px solid var(--line);border-radius:9px;padding:8px 14px}
.elige input{width:22px;height:22px;margin:0}
.proy.sel-on{outline:3px solid var(--compra);outline-offset:-1px}.proy.sel-on .elige{border-color:var(--compra);background:#fff4e8}
.proy.mio{background:#f1faf5}
.carro{position:sticky;bottom:10px;display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:var(--board);color:#fff;border-radius:14px;padding:12px 16px;font-weight:700;box-shadow:0 6px 24px rgba(0,0,0,.25);z-index:5}
.pr3{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(140px,100%),1fr));gap:10px}
.pr3>div{border:1px solid var(--line);border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:2px}
.pr3 small{color:var(--mute)}
.pega{display:grid;gap:12px}
.pega>div{border:2.5px solid var(--ink);border-radius:18px;min-height:230px;padding:10px;background:#fff;display:flex;flex-direction:column;gap:4px}
.pega>div:nth-child(odd){background:var(--kp)}
.pega .bt{display:flex;align-items:center;gap:8px;font-size:1.1rem}
.pega small,.pasos span{color:var(--mute);font-size:.8rem}
.recorta{display:grid;grid-template-columns:repeat(3,1fr)}
.recorta span{border:2px dashed var(--ink);margin:-1px;padding:12px 10px;min-height:64px;display:grid;place-items:center;text-align:center;font-weight:700;background:#fff}
.recorta.tiras{grid-template-columns:1fr}.recorta.tiras span{min-height:46px;place-items:center start;text-align:left}
.fun .pasos{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}
.fun .pasos li{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:center}
.fun .pasos li span{border:2.5px solid var(--ink);border-radius:12px;min-height:48px;padding:6px 12px;background:var(--kp);display:flex;align-items:center}
@media (max-width:560px){.recorta{grid-template-columns:1fr 1fr}}
@media print{.pega>div{min-height:70mm}}

/* v11: laberinto, mensaje secreto, colorea */
.labw{display:grid;grid-template-columns:90px minmax(0,440px) 90px;gap:10px;justify-content:center;align-items:start}
.labw span{display:flex;flex-direction:column;align-items:center;gap:4px}.labw span:last-child{align-self:end}
.lab{width:100%;height:auto;background:#fff}
.secreto{display:flex;flex-wrap:wrap;gap:14px 28px;justify-content:center}
.secreto span{display:flex;gap:5px}
.secreto i{font-style:normal;display:flex;flex-direction:column;align-items:center;gap:3px;font:700 .95rem "Fredoka",var(--display)}
.secreto b{display:block;width:38px;height:44px;border:2.5px solid var(--ink);border-radius:9px;background:var(--kp)}
.colo{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.colo>div{border:2.5px solid var(--ink);border-radius:18px;padding:12px;display:flex;flex-direction:column;align-items:center}
.colo .lin{align-self:stretch}
@media (max-width:560px){.labw{grid-template-columns:1fr}.labw span{flex-direction:row}.secreto b{width:28px;height:34px}}

/* v13 */
.como{background:#fff4d6;border:2px solid #e6c46a;border-radius:12px;padding:14px 18px}
.como ol{margin:6px 0 8px;padding-left:1.3em;display:flex;flex-direction:column;gap:3px}.como p{margin:0;font-weight:700}

/* v22: paquete del mes, dosificador, evaluación */
.mesbox{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;background:var(--board);color:#fff;border-radius:14px;padding:14px 18px}
.mesbox b{display:block;font:700 1.15rem var(--display)}.mesbox span{opacity:.9}.mesbox .acc{padding:0}
.mesbox .btn.sec{background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}
.dosi th{background:var(--c,#16241f);color:#fff;font-size:.85rem}
.dosi td{font-size:.86rem;min-width:140px}.dosi td:first-child{min-width:120px}
.cotejo th,.cotejo td{text-align:center;padding:4px;font-size:.8rem}.cotejo .nom{text-align:left;min-width:190px}.cotejo td{height:1.9em}
.rub th,.rub td{font-size:.82rem}.rub tr th:first-child{background:#f1f5f3;color:var(--ink);width:15%}
.ev ol.ind{font-size:.92rem}
.semana-t{font-size:1.1rem;margin:22px 0 8px;padding-left:10px;border-left:5px solid #f59e0b}
.semana-t .mute{font-weight:400}
.meses{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}
.meses .chip{white-space:nowrap}
/* v24: hojas de cuadernillo */
.fx-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.fx-ref{background:#fff7d1;border:2px dashed #f0a400;border-radius:12px;padding:6px 12px;font-size:.95rem}
.fun .lect{border:2.5px solid var(--ink);border-radius:16px;padding:12px 18px;background:color-mix(in srgb,var(--kp) 40%,#fff);font-size:1.12rem;line-height:1.6}
.fun .lect p{margin:.3em 0}
.fun .opers{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(240px,100%),1fr));gap:12px}.fun .opers span{white-space:nowrap}
.fun .opers div{display:flex;align-items:center;gap:8px;border:2.5px solid var(--ink);border-radius:14px;padding:10px 12px;background:#fff;font-size:1.35rem;font-weight:700;font-family:"Fredoka",var(--display)}
.fun .opers div:nth-child(odd){background:var(--kp)}
.fun .opers i{flex:1;min-width:60px;height:1.4em;border-bottom:3px dotted var(--ink)}
.fun .probs{margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.fun .probs li{list-style:none;display:grid;grid-template-columns:40px 1fr;gap:10px}
.fun .probs p{margin:0 0 6px;font-size:1.08rem}
.fun .probs .cuenta{border:2px dashed var(--k);border-radius:12px;height:90px;padding:4px 10px;background:#fff}
.fun .probs .cuenta small{background:#fff;padding:0 4px;font-weight:700}
.fun .probs .resp{display:flex;gap:8px;font-weight:700}.fun .probs .resp i{flex:1;border-bottom:2px dotted var(--ink)}
.fun .trazos{display:flex;flex-direction:column;gap:10px}
.fun .tz{border:2.5px solid var(--ink);border-radius:14px;padding:6px 10px;background:#fff}
.fun .tz svg{display:block;width:100%;height:62px}
.fun .tz .g1{stroke:#e8508b;stroke-width:1.5}.fun .tz .g2{stroke:#7cb7ef;stroke-width:1.2;stroke-dasharray:5 5}
.fun .tz text{font-family:"Fredoka",Arial,sans-serif;font-size:48px;letter-spacing:6px}
.fun .tz .mod{fill:var(--k);stroke:none}
.fun .tz .pun{fill:none;stroke:#8a8a8a;stroke-width:1.6;stroke-dasharray:3 3.5}
.fun .tz .libre{height:46px;border-top:1.5px solid #e8508b;border-bottom:1.5px solid #e8508b;margin-top:4px;position:relative}.fun .tz .libre::after{content:"";position:absolute;left:0;right:0;top:50%;border-top:1.5px dashed #9cc4ee}
/* v24: página de paquetes */
.pq-hero{position:relative;overflow:hidden;border-radius:26px;padding:30px 24px 26px;color:#2a1650;
  background:radial-gradient(circle at 12% 20%,#ffd1e6 0 9%,transparent 10%),radial-gradient(circle at 88% 14%,#c9f2ff 0 8%,transparent 9%),radial-gradient(circle at 78% 88%,#fff0a8 0 10%,transparent 11%),radial-gradient(circle at 6% 92%,#d8ffd8 0 9%,transparent 10%),linear-gradient(135deg,#fff3fa,#f0ecff 45%,#e6fbff);
  border:3px solid #2a1650;box-shadow:6px 6px 0 #2a1650;display:flex;flex-direction:column;gap:10px}
.pq-hero h1{font-family:"Fredoka",var(--display);font-size:clamp(1.7rem,4.6vw,2.6rem);max-width:20ch;position:relative}
.pq-hero h1 span{background:linear-gradient(transparent 55%,#ffd23f 55%);padding:0 4px;border-radius:4px}
.pq-hero h1 span+span{background:linear-gradient(transparent 55%,#7ee8c9 55%)}
.pq-hola{margin:0;font:700 1.15rem "Fredoka",var(--display);color:#e8508b;position:relative}
.pq-sub{margin:0;max-width:52ch;font-size:1.05rem;position:relative}
.pq-moji{position:absolute;inset:0;pointer-events:none;opacity:.9}
.pq-moji span{position:absolute;right:calc(2% + (var(--i) * 7%));top:calc(8% + var(--i) * 17%);transform:rotate(calc(var(--i) * 17deg - 30deg));animation:pqflota 5s ease-in-out infinite;animation-delay:calc(var(--i) * -.6s)}
.pq-moji span:nth-child(n+5){right:calc(4% + (var(--i) - 4) * 9%);top:auto;bottom:6%}
@media (max-width:700px){.pq-moji{display:none}}
@keyframes pqflota{50%{translate:0 -8px}}
@media (prefers-reduced-motion:reduce){.pq-moji span{animation:none}}
.pq-pre{position:relative;align-self:flex-start;background:#ff5a5f;color:#fff;text-decoration:none;border-radius:14px;padding:10px 16px;border:2.5px solid #2a1650;box-shadow:3px 3px 0 #2a1650;font-weight:700}
.pq-cuenta{margin:0;background:#fff4d6;border:2px dashed #f0a400;border-radius:14px;padding:10px 14px}
.pq-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(270px,100%),1fr));gap:18px;align-items:stretch}
.pq-card{--k:#7a5af5;--kp:#efeaff;position:relative;background:#fff;border:3px solid #2a1650;border-radius:24px;padding:0 0 18px;display:flex;flex-direction:column;box-shadow:5px 5px 0 var(--k);overflow:visible}
.pq-card.pq-mes{--k:#e8508b;--kp:#ffe1ec}.pq-card.pq-mesp{--k:#12a594;--kp:#d3f4ee}.pq-card.pq-cuad{--k:#f0a400;--kp:#fff2c4}
.pq-card.star{transform:translateY(-6px);box-shadow:7px 9px 0 var(--k)}
.pq-card header{background:var(--kp);border-bottom:3px dashed var(--k);border-radius:21px 21px 0 0;padding:22px 18px 14px;text-align:center}
.pq-card header h2{font-family:"Fredoka",var(--display);font-size:1.55rem}
.pq-card header p{margin:4px 0 0;color:#4b3d6b}
.pq-ico{display:inline-grid;place-items:center;width:62px;height:62px;border-radius:50%;background:#fff;border:3px solid #2a1650;font-size:2rem;margin-bottom:6px}
.pq-sticker{position:absolute;top:-14px;left:50%;transform:translateX(-50%) rotate(-3deg);background:#ffd23f;color:#2a1650;border:2.5px solid #2a1650;border-radius:99px;padding:4px 14px;font:700 .85rem "Fredoka",var(--display);white-space:nowrap;z-index:2}
.pq-precio{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:4px 10px;padding:14px 16px 6px}
.pq-precio b{font:700 2.8rem "Fredoka",var(--display);color:#2a1650;line-height:1}
.pq-precio s{color:#8a7fa6;font-size:1.2rem;font-weight:700}
.pq-precio small{flex-basis:100%;text-align:center;color:var(--mute)}
.pq-badge{background:#ff5a5f;color:#fff;border-radius:8px;padding:2px 8px;font-weight:700;font-size:.8rem;align-self:center}
.pq-card ul{list-style:none;margin:6px 0 0;padding:0 18px;display:flex;flex-direction:column;gap:7px;flex:1}
.pq-card li{background:color-mix(in srgb,var(--kp) 55%,#fff);border-radius:12px;padding:7px 10px;font-size:.96rem}
.pq-cta{display:flex;flex-direction:column;gap:8px;align-items:center;padding:16px 18px 0}
.pq-cta .btn{width:100%;text-align:center;font-size:1.1rem;padding:13px 16px;border-radius:14px;border:2.5px solid #2a1650;box-shadow:3px 3px 0 #2a1650}
.pq-cta .btn.compra{background:var(--k)}
.pq-mini{font-size:.9rem;font-weight:700;color:#2a1650}
.pq-anual{position:relative;display:grid;grid-template-columns:1.6fr 1fr;gap:18px;align-items:center;border-radius:26px;padding:26px 22px;border:3px solid #2a1650;box-shadow:6px 6px 0 #2a1650;
  background:linear-gradient(#fff,#fff) padding-box,linear-gradient(90deg,#e8508b,#f0a400,#12a594,#2f8fe0,#7a5af5) border-box;border-color:transparent}
.pq-anual .pq-sticker{left:24px;transform:rotate(-3deg)}
.pq-anual h2{font-family:"Fredoka",var(--display);font-size:1.8rem}
.pq-anual p{margin:6px 0}
.pq-chips{list-style:none;padding:0;margin:8px 0 0;display:flex;flex-wrap:wrap;gap:8px}
.pq-chips li{background:#f0ecff;border:2px solid #2a1650;border-radius:99px;padding:4px 12px;font-weight:700;font-size:.9rem}
.pq-a2{display:flex;flex-direction:column;align-items:center;gap:8px;background:#fff8e1;border:2.5px dashed #f0a400;border-radius:20px;padding:16px}
.pq-a2 .btn{width:100%;text-align:center;font-size:1.1rem;padding:13px;border-radius:14px;border:2.5px solid #2a1650;box-shadow:3px 3px 0 #2a1650}
.pq-msi{text-align:center;margin:0}
@media (max-width:700px){.pq-anual{grid-template-columns:1fr}.pq-card.star{transform:none}}
.pq-dos{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:16px}
.pq-chica{background:#fff;border:3px solid #2a1650;border-radius:22px;padding:18px;display:flex;flex-direction:column;gap:6px;box-shadow:4px 4px 0 #12a594}
.pq-chica.pq-ex{box-shadow:4px 4px 0 #2f8fe0}
.pq-chica h3{font-family:"Fredoka",var(--display);font-size:1.25rem}.pq-chica p{margin:0}
.pq-chica .btn{align-self:flex-start;margin-top:auto}
.pq-tres{display:flex;flex-wrap:wrap;gap:8px}.pq-tres span{background:#e6fbff;border:2px solid #2a1650;border-radius:12px;padding:4px 10px}
.pq-solo{background:#2a1650;color:#fff;border-radius:24px;padding:22px}
.pq-solo h2{font-family:"Fredoka",var(--display);font-size:1.5rem;margin-bottom:12px}
.pq-badges{display:flex;flex-wrap:wrap;gap:10px}
.pq-badges span{background:#fff;color:#2a1650;border-radius:14px;padding:8px 12px;font-weight:700;font-size:.95rem}
.pq-badges span:nth-child(4n+1){background:#ffe1ec}.pq-badges span:nth-child(4n+2){background:#d3f4ee}.pq-badges span:nth-child(4n+3){background:#fff2c4}.pq-badges span:nth-child(4n){background:#d9ecff}
.pq-pagos{margin:16px 0 0;font-weight:700}.pq-pagos span{display:block;font-weight:400;opacity:.8;font-size:.9rem}
/* v24: cuadernillos */
.cz-tabs{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.cz-tab{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;text-decoration:none;color:#2a1650;background:#fff;border:3px solid #2a1650;border-radius:18px;padding:10px 14px}
.cz-tab span{grid-row:span 2;font-size:2rem}.cz-tab b{font:700 1.15rem "Fredoka",var(--display)}.cz-tab small{color:var(--mute)}
.cz-tab.on.cz-ns{background:#d3f4ee;box-shadow:4px 4px 0 #12a594}.cz-tab.on.cz-ml{background:#e8e1ff;box-shadow:4px 4px 0 #7a5af5}
.cz-lock{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center;background:#fff2c4;border:3px solid #2a1650;border-radius:20px;padding:16px 18px;box-shadow:4px 4px 0 #f0a400}
.cz-lock p{margin:4px 0 0}.cz-lock .acc{display:flex;flex-wrap:wrap;gap:8px}
.cz-portada{text-align:center;align-items:center;justify-content:center;gap:12px}
.cz-portada h1{font:700 clamp(2.2rem,7vw,3.6rem) "Fredoka",var(--display);color:var(--k);-webkit-text-stroke:1.5px var(--ink);text-shadow:4px 4px 0 var(--kp)}
.cz-p-k{margin:0;font:700 1.2rem "Fredoka",var(--display);letter-spacing:.2em;text-transform:uppercase}
.cz-p-m{margin:0;font:700 1.4rem "Fredoka",var(--display);background:var(--kp);border:2.5px solid var(--ink);border-radius:99px;padding:6px 20px}
.cz-p-d{margin:0;max-width:44ch}
.cz-p-top{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}
.cz-portada .fx-nom{width:100%}
.hoja.muestra .fun:not(.cz-portada){position:relative}
.hoja.muestra .fun:not(.cz-portada)::after{content:"MUESTRA";position:absolute;inset:auto 0 40% 0;text-align:center;font:700 4rem "Fredoka",sans-serif;color:rgba(232,80,139,.18);transform:rotate(-18deg);pointer-events:none}
@media print{.cz-portada{min-height:245mm}}
/* v26: proyecto por secciones */
.pn{--c:#7a5af5;background:linear-gradient(135deg,#fff3fa,#f0ecff 50%,#e6fbff);border:3px solid #2a1650;border-radius:24px;padding:16px 18px;box-shadow:5px 5px 0 #2a1650;display:flex;flex-direction:column;gap:8px;min-width:0}
.pn-top{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.pn-back{font-weight:700;text-decoration:none;color:#2a1650}
.pn-t{font:700 clamp(1.4rem,4.5vw,2rem) "Fredoka",var(--display);color:#2a1650}
.pn-s{margin:0;color:#4b3d6b;font-size:.95rem}.pn-s a{color:#2a1650;font-weight:700}
.pn-tabs{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 8px;margin:0 -2px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
.pn-tab{--k:#e8508b;flex:0 0 auto;display:flex;align-items:center;gap:6px;text-decoration:none;color:#2a1650;background:#fff;border:2.5px solid #2a1650;border-radius:14px;padding:7px 12px;font:700 .98rem "Fredoka",var(--display);box-shadow:2px 2px 0 var(--k)}
.pn-tab span{font-size:1.15rem}
.pn-tab.k1{--k:#f0a400}.pn-tab.k2{--k:#12a594}.pn-tab.k3{--k:#7a5af5}.pn-tab.k4{--k:#f2682a}.pn-tab.k5{--k:#2f8fe0}
.pn-tab.on{background:var(--k);color:#fff;box-shadow:2px 2px 0 #2a1650}
.pn-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.pn-bar .imp-btn{border:2.5px solid #2a1650;box-shadow:2px 2px 0 #2a1650;border-radius:12px}
.pl-t{font:700 1.7rem "Fredoka",var(--display)}
.pl-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));gap:10px}
.pl-meta div{background:var(--kp);border:2px solid var(--ink);border-radius:14px;padding:8px 12px;display:flex;flex-direction:column}
.pl-meta b{font:700 .85rem "Fredoka",var(--display)}
.pl-prop{margin:0}.pl-preg{margin:0;background:#fff7d1;border:2px dashed #f0a400;border-radius:14px;padding:10px 14px;font-size:1.05rem}
.pl-dia{--k:#e8508b;--kp:#ffe1ec;border:3px solid var(--ink);border-radius:22px;padding:14px 16px;background:#fff;display:flex;flex-direction:column;gap:10px;box-shadow:4px 4px 0 var(--k);break-inside:avoid}
.pl-dia.t1{--k:#f0a400;--kp:#fff2c4}.pl-dia.t2{--k:#12a594;--kp:#d3f4ee}.pl-dia.t3{--k:#7a5af5;--kp:#e8e1ff}.pl-dia.t4{--k:#f2682a;--kp:#ffe3d3}.pl-dia.t5{--k:#2f8fe0;--kp:#d9ecff}
.pl-dia header{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}
.pl-d{background:var(--k);color:#fff;font:700 1.05rem "Fredoka",var(--display);border-radius:99px;padding:3px 14px;border:2px solid var(--ink)}
.pl-dia header b{font:700 1.15rem "Fredoka",var(--display)}.pl-dia header small{color:var(--mute);margin-left:auto}
.pl-mom{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.pl-mom div{border:2px solid var(--ink);border-radius:14px;padding:8px 12px;background:#fff}
.pl-mom .m1{background:#fff7d1}.pl-mom .m2{background:var(--kp)}.pl-mom .m3{background:#e6fbff}
.pl-mom b{font:700 .95rem "Fredoka",var(--display)}.pl-mom p{margin:4px 0 0;font-size:.95rem}
.pl-chips{display:flex;flex-wrap:wrap;gap:8px}
.pl-chips span{background:color-mix(in srgb,var(--kp) 60%,#fff);border:1.5px solid var(--ink);border-radius:12px;padding:5px 10px;font-size:.9rem;flex:1 1 220px}
.pl-mat{margin:0;padding-left:20px;columns:2 220px}
.pl-sig{display:flex;flex-wrap:wrap;gap:10px}.pl-sig a{font-weight:700;color:#2a1650;background:#fff;border:2px solid #2a1650;border-radius:12px;padding:8px 12px;text-decoration:none}
@media (max-width:700px){.pl-mom{grid-template-columns:1fr}}
.ap-duo{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:14px}
.ap-c{border:3px solid var(--ink);border-radius:20px;padding:14px 16px;position:relative}
.ap-c.tea{background:#d9ecff}.ap-c.tdah{background:#fff2c4}
.ap-c h3{font:700 1.3rem "Fredoka",var(--display)}.ap-c p{margin:6px 0 0;font-size:1.05rem}
.ap-ico{font-size:2rem}
.ap-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:12px}
.ap-grid div{border:2.5px solid var(--ink);border-radius:16px;padding:10px 12px;background:#fff}
.ap-grid div:nth-child(odd){background:var(--kp)}
.ap-grid span{font-size:1.6rem;display:block}.ap-grid b{font:700 1.05rem "Fredoka",var(--display)}.ap-grid p{margin:4px 0 0}
.ap-pasos{margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.ap-pasos li{list-style:none;display:grid;grid-template-columns:40px 1fr;gap:10px;align-items:center;border:2.5px solid var(--ink);border-radius:14px;padding:8px 12px;background:var(--kp);font-size:1.05rem}
.fun.pp{text-align:left}
.pp-top{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}
.pp-k{margin:0;text-align:center;font:700 1.1rem "Fredoka",var(--display);letter-spacing:.15em;text-transform:uppercase;color:var(--k)}
.pp-t{text-align:center;font:700 clamp(1.8rem,5vw,2.6rem) "Fredoka",var(--display)}
.pp-l{margin:0;font-size:1.15rem;line-height:1.55}
.pp-fin{margin:0;background:var(--kp);border:2.5px solid var(--ink);border-radius:16px;padding:12px 16px;font-size:1.15rem}
.pp-h{font:700 1.8rem "Fredoka",var(--display);box-shadow:inset 0 -.5em 0 var(--kp);align-self:flex-start;padding:0 6px}
.pp-li{margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.pp-li li{list-style:none;border:2.5px solid var(--ink);border-radius:16px;padding:10px 14px 10px 44px;background:#fff;position:relative;font-size:1.12rem}
.pp-li li:nth-child(odd){background:var(--kp)}
.pp-li li::before{content:"★";position:absolute;left:14px;top:9px;color:var(--k);font-size:1.2rem}
.pp-firma{margin:12px 0 0;font-size:1.1rem}.pp-firma i{display:inline-block;width:260px;max-width:60%;border-bottom:2px dotted var(--ink)}
.ev-al{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.ev-al input{width:70px}
.ev-ind{margin:0;padding-left:0;display:flex;flex-direction:column;gap:6px;counter-reset:i}
.ev-ind li{list-style:none;counter-increment:i;display:grid;grid-template-columns:34px 1fr;gap:8px;align-items:center}
.ev-ind li::before{content:counter(i);display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--k);color:#fff;font:700 .95rem "Fredoka",sans-serif;border:2px solid var(--ink)}
.ev-form td:first-child{min-width:200px}.ev-form td{height:2.4em}
.rub th{color:#fff}.rub tr th:first-child{background:var(--kp);color:var(--ink)}
.rub-c{display:none;flex-direction:column;gap:12px}
.rc{border:2.5px solid var(--ink);border-radius:16px;padding:10px 12px;background:#fff;display:flex;flex-direction:column;gap:6px}
.rc>b{font:700 1.05rem "Fredoka",var(--display)}
.rc p{margin:0;border-left:5px solid var(--n);padding-left:8px}.rc i{display:block;font-style:normal;font-weight:700;color:var(--n);font-size:.85rem}
.ev-pda{margin:0;padding-left:20px}
@media (max-width:700px){.rub-t{display:none}.rub-c{display:flex}}
@media print{.rub-t{display:block!important}.rub-c{display:none!important}}
.dz-hero{border-radius:24px;padding:20px;border:3px solid #2a1650;box-shadow:5px 5px 0 #2a1650;background:linear-gradient(135deg,#e6fbff,#fff3fa);display:flex;flex-direction:column;gap:6px}
.dz-hero h1{font:700 clamp(1.5rem,4.5vw,2.2rem) "Fredoka",var(--display);color:#2a1650}
.dz-hero h1 span{background:linear-gradient(transparent 55%,#ffd23f 55%);padding:0 4px}
.dosi .dz-s{background:var(--kp);min-width:110px}
.dosi td{vertical-align:top;border-top:3px solid var(--c,transparent)}
.dz-p{display:flex;flex-direction:column;margin-bottom:6px}.dz-p small{color:var(--mute)}
.dz-nota{background:#fff7d1;font-weight:700;text-align:center}
.dz-c{display:none;flex-direction:column;gap:12px}
.dz-w{border:2.5px solid var(--ink);border-radius:16px;padding:10px 12px;background:#fff;display:flex;flex-direction:column;gap:8px}
.dz-w h3{font:700 1.15rem "Fredoka",var(--display)}.dz-w h3 small{font-weight:400;color:var(--mute);font-size:.85rem}
.dz-cm{border-left:6px solid var(--c);padding:2px 0 2px 10px;display:flex;flex-direction:column}
.dz-cm span{font-size:.72rem;font-weight:700;text-transform:uppercase;color:var(--c)}
.dz-w p.dz-nota{margin:0;border-radius:10px;padding:6px}
@media (max-width:700px){.dz-t{display:none}.dz-c{display:flex}}
@media print{.dz-t{display:block!important}.dz-c{display:none!important}}
/* menú arriba en celular: una sola línea que se desliza */

.colo{grid-template-columns:repeat(auto-fit,minmax(min(130px,100%),1fr))!important}.colo>div{min-width:0}.colo img{max-width:100%;height:auto}
.fun{max-width:100%;min-width:0}.fx-st{flex-shrink:0}
.fx-auto{flex-wrap:wrap}
.cz-tab{min-width:0}.cz-tab b{overflow-wrap:anywhere}
@media (max-width:480px){.cz-tab{padding:8px 10px;column-gap:6px}.cz-tab span{font-size:1.5rem}.cz-tab b{font-size:1rem}}
.fun .rev .fichas,.fun .rev .casillas{flex-wrap:wrap}.fun .rev li>div{min-width:0}
@media (max-width:480px){.fun .rev .fichas i,.fun .rev .casillas i{width:26px;height:30px;font-size:1rem}}
.fun{overflow-wrap:break-word}.fun .pega>div,.fun .rel>span,.fun .rel>i,.fun .recorta>span,.fun .memo>div{min-width:0}
.tag{white-space:nowrap;overflow-wrap:normal}
.fun th{overflow-wrap:normal;word-break:normal}
@media (max-width:560px){.hoja{padding:10px 6px;border:0}.fun{padding:14px 12px}.pl-dia{padding:12px}.pn{padding:14px}}
.fun .pega .bt{flex-wrap:wrap;white-space:normal;overflow-wrap:anywhere}
@media (max-width:560px){.fun .pega{grid-template-columns:1fr!important}}
.fun .secreto span{flex-wrap:wrap;max-width:100%}
@media (max-width:480px){.fun .secreto i{width:26px}.fun .secreto b{width:24px;height:30px}}

/* v27: botones siempre a la vista, en renglones */
.pn-tabs{position:sticky;top:0;z-index:30;display:grid;grid-template-columns:repeat(6,1fr);gap:8px;overflow:visible;margin:0;padding:10px 0;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(6px)}
.pn-tab{justify-content:center;text-align:center}
@media (max-width:860px){.pn-tabs{grid-template-columns:repeat(3,1fr)}}
@media (max-width:700px){
  .pn-tab{flex-direction:column;gap:0;padding:6px 4px;font-size:.86rem;line-height:1.15;border-radius:12px}
  .pn-tab span{font-size:1.25rem}
  .top{gap:8px}
}
.fx-meta>*{min-width:0}.fx-ref{overflow-wrap:anywhere}
@media (max-width:380px){.fun .opers span{white-space:normal}.fun .opers div{font-size:1.15rem}}
/* v27: WhatsApp y soporte */
.wa-flota{position:fixed;right:14px;bottom:14px;z-index:60;display:flex;align-items:center;gap:6px;background:#25d366;color:#fff;text-decoration:none;font-weight:700;border-radius:99px;padding:10px 16px 10px 12px;box-shadow:0 4px 14px rgba(0,0,0,.25);border:2px solid #128c4a}
.wa-flota:hover{background:#1ebe5a}
@media (max-width:560px){.wa-flota{padding:10px}.wa-flota span{display:none}.pie{padding-bottom:70px}}
.sp-bus{display:flex;gap:8px}.sp-bus input{flex:1;min-width:0;font-size:1.05rem;padding:10px 12px;border:2px solid #2a1650;border-radius:10px}
.sp-cab{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;align-items:flex-start}
.sp-acc{display:flex;flex-wrap:wrap;gap:8px}
.sp-f{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:10px;align-items:end}
.sp-f label{display:flex;flex-direction:column;gap:4px;font-weight:700;font-size:.9rem}
.sp-f input,.sp-f select,.sp-of input{padding:8px;border:1px solid var(--line);border-radius:8px;font:inherit;min-width:0}
.sp-o{border:2px solid var(--line);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:8px}
.sp-o.est-pagado{border-color:#12a594;background:#f1fbf8}.sp-o.est-pendiente{border-color:#f0a400;background:#fffaf0}.sp-o.est-reembolso{border-color:#e8508b}
.sp-of{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.sp-of input{flex:1 1 180px}
.sp-chip{display:inline-block;background:#f0ecff;border-radius:8px;padding:2px 8px;margin:2px;font-size:.85rem}
.pn-err{font-size:.8rem;color:#4b3d6b;align-self:flex-start}
/* v29: etiquetas largas (Ética, naturaleza y sociedades) no se salen */
.tag{white-space:normal;max-width:100%;overflow-wrap:break-word}
.fx-top,.pn-top{flex-wrap:wrap}
.fx-top .tag,.pn-top .tag{flex:0 1 auto}
@media (max-width:560px){.fx-tab{font-size:.85rem}.tag{font-size:.66rem;letter-spacing:.03em}}
@media (max-width:380px){
  .fun .vf li{grid-template-columns:30px 1fr 30px 30px!important;gap:6px}.fun .vf li i{width:28px;height:28px}
  .memo{grid-template-columns:1fr 1fr!important}.memo>div{min-width:0;overflow-wrap:anywhere}
  .fx-ins{gap:8px}.fx-ins .dibu,.fx-ins svg{width:52px;height:52px;flex-shrink:0}.fx-ins p{min-width:0}
}
.fun .vf li>span{min-width:0;overflow-wrap:break-word}
/* v30: página de inicio con videos */
.ix-hero{display:grid;grid-template-columns:1.25fr .75fr;gap:22px;align-items:center}
.ix-h1{display:flex;flex-direction:column;gap:12px;position:relative}
.ix-hero h1{font:700 clamp(2rem,6vw,3.2rem) "Fredoka",var(--display);color:#2a1650;max-width:16ch}
.ix-hero h1 span{background:linear-gradient(transparent 55%,#ffd23f 55%);padding:0 4px}
.ix-cta{display:flex;flex-wrap:wrap;gap:10px}
.ix-cta .btn{font-size:1.1rem;padding:13px 20px;border-radius:14px;border:2.5px solid #2a1650;box-shadow:3px 3px 0 #2a1650}
.ix-tel{background:#2a1650;border-radius:34px;padding:10px;box-shadow:6px 6px 0 #e8508b;max-width:290px;width:100%;justify-self:center}
.ix-tel video{display:block;width:100%;aspect-ratio:540/1008;border-radius:26px;background:#f3f6f4;object-fit:cover}
.ix-tel.chico{max-width:250px;box-shadow:5px 5px 0 var(--k,#12a594)}
.ix-sec{display:flex;flex-direction:column;gap:14px}
.ix-sec>h2{font:700 clamp(1.6rem,4.5vw,2.3rem) "Fredoka",var(--display);color:#2a1650}
.ix-intro{margin:0;color:var(--mute);font-size:1.05rem}
.ix-vids{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;max-width:760px;margin:0 auto;width:100%}
.ix-v{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px}
.ix-v.k0{--k:#e8508b}.ix-v.k1{--k:#f0a400}.ix-v.k2{--k:#12a594}
.ix-v h3{font:700 1.15rem "Fredoka",var(--display);color:#2a1650}.ix-v p{margin:0;color:var(--mute);max-width:32ch}
.ix-pasos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.ix-pasos li{display:flex;gap:12px;align-items:flex-start;background:#fff;border:3px solid #2a1650;border-radius:20px;padding:14px;box-shadow:4px 4px 0 #7a5af5}
.ix-pasos li:nth-child(2){box-shadow:4px 4px 0 #f0a400}.ix-pasos li:nth-child(3){box-shadow:4px 4px 0 #12a594}
.ix-pasos b{flex:0 0 auto;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#ffd23f;border:2.5px solid #2a1650;font:700 1.3rem "Fredoka",sans-serif}
.ix-pasos h3{font:700 1.1rem "Fredoka",var(--display)}.ix-pasos p{margin:2px 0 0;color:var(--mute)}
.faq details{background:var(--card);border:2px solid #2a1650;border-radius:14px;padding:12px 16px}
.faq summary{font-weight:700;cursor:pointer}.faq p{margin:10px 0 0;color:var(--mute)}
.ix-fin{background:linear-gradient(135deg,#e8508b,#7a5af5);color:#fff;border-radius:24px;padding:32px 20px;text-align:center;display:flex;flex-direction:column;gap:14px;align-items:center;border:3px solid #2a1650;box-shadow:6px 6px 0 #2a1650}
.ix-fin h2{font:700 clamp(1.6rem,4.5vw,2.3rem) "Fredoka",var(--display)}
.ix-fin .btn{font-size:1.15rem;padding:14px 24px;border-radius:14px;border:2.5px solid #2a1650}
@media (max-width:820px){.ix-hero{grid-template-columns:1fr}.ix-vids{grid-template-columns:1fr}.ix-pasos{grid-template-columns:1fr}.ix-tel{max-width:260px}}
/* v31: nombre del maestro grande y a prueba de corrector */
.sello{font-size:1.02rem;padding:5px 12px;border-width:2px;letter-spacing:.01em}
.hoja .fun,.hoja .pl-dia{position:relative}
.hoja .fun::before,.hoja .pl-dia::before{content:"";position:absolute;inset:0;background-image:var(--marca);background-size:980px 360px;pointer-events:none;border-radius:inherit;z-index:4}
@media print{.sello{font-size:12pt}}
/* v31: proyecto de regalo */
.rg-hero{display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:center;border-radius:26px;padding:26px 22px;border:3px solid #2a1650;box-shadow:6px 6px 0 #2a1650;
  background:radial-gradient(circle at 90% 20%,#fff0a8 0 12%,transparent 13%),radial-gradient(circle at 8% 85%,#ffd1e6 0 12%,transparent 13%),linear-gradient(135deg,#d3f4ee,#e8e1ff)}
.rg-caja{font-size:clamp(4rem,14vw,7.5rem);line-height:1;animation:rgsalta 2.4s ease-in-out infinite;filter:drop-shadow(4px 6px 0 rgba(42,22,80,.25))}
@keyframes rgsalta{0%,100%{transform:rotate(-6deg)}50%{transform:rotate(6deg) translateY(-8px)}}
@media (prefers-reduced-motion:reduce){.rg-caja{animation:none}}
.rg-txt{display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.rg-k{margin:0;font:700 1.15rem "Fredoka",var(--display);color:#e8508b;letter-spacing:.04em}
.rg-hero h2{font:700 clamp(1.7rem,5vw,2.6rem) "Fredoka",var(--display);color:#2a1650;max-width:20ch;line-height:1.1}
.rg-hero h2 span{background:linear-gradient(transparent 55%,#ffd23f 55%);padding:0 4px}
.rg-txt p{margin:0;font-size:1.08rem;max-width:56ch}
.rg-lis{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}
.rg-lis li{background:#fff;border:2px solid #2a1650;border-radius:99px;padding:4px 12px;font-weight:700;font-size:.92rem}
.rg-txt .btn,.rg-cta{font-size:1.15rem;padding:14px 22px;border-radius:14px;border:2.5px solid #2a1650;box-shadow:3px 3px 0 #2a1650;background:#12a594!important;color:#fff}
.rg-txt small{color:#4b3d6b}
@media (max-width:640px){.rg-hero{grid-template-columns:1fr;text-align:left}.rg-caja{justify-self:center}}
.rg-banner{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;text-decoration:none;color:#2a1650;background:linear-gradient(135deg,#d3f4ee,#fff2c4);border:3px solid #2a1650;border-radius:18px;padding:12px 16px;box-shadow:4px 4px 0 #12a594;margin:0}
.rg-banner .rg-ico{font-size:2.2rem;animation:rgsalta 2.4s ease-in-out infinite}
.rg-banner>span:nth-child(2){flex:1 1 240px}.rg-banner b{display:block;font:700 1.1rem "Fredoka",var(--display)}
.rg-go{font-weight:700;background:#12a594;color:#fff;border-radius:10px;padding:6px 12px}
.rg-f{display:contents}
.rg-btn{background:#12a594;color:#fff;border:2px solid #2a1650;border-radius:10px;font-weight:700;padding:8px 12px;box-shadow:2px 2px 0 #2a1650}
/* v32: impresión en hoja carta (y A4) sin cortes */
@page{size:letter portrait;margin:8mm}
@media print{
  html,body{width:auto}
  .fun{min-height:250mm;break-inside:auto;padding:12px 14px 10px;gap:9px}
  .fun.clave,.hoja.ev .fun{min-height:0}
  .cz-portada{min-height:250mm}
  .pl-dia{break-inside:avoid}
}
@media print{
  .hoja{zoom:.8}
  .fun{min-height:316mm}
  .cz-portada{min-height:316mm}
  .fun.clave,.hoja.ev .fun{min-height:0}
  .fun .tz svg{height:52px}.fun .tz .libre{height:40px}
  .fun tr{break-inside:avoid}
}
@media print{
  .fun ol.pre{gap:6px}.fun ol.pre li{padding-top:6px;padding-bottom:6px}
  .fun .ops{gap:4px 10px}.fun .ops span{padding:2px 8px}
  .fun .lect{font-size:.98rem;line-height:1.42;padding:8px 14px}
  .fun .tz svg{height:44px}.fun .tz .libre{height:32px}.fun .trazos{gap:6px}
  .fun .opers span{white-space:normal}
  .fx-tit h2{font-size:1.4rem}.fx-ins p{padding:8px 12px;font-size:.98rem}.fx-ins .dibu{width:60px;height:60px}
}
@media print{
  .a-lectura .ops{flex-direction:row;flex-wrap:wrap;gap:4px 14px;margin-top:4px}
  .a-lectura ol.pre li{padding-top:4px;padding-bottom:5px}
  .cotejo td{height:1.55em}.cotejo th,.cotejo td{padding:2px 4px}
  .ev-ind{gap:3px}
}
/* v33: exámenes solo con lo aplicado */
.ex-lista{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:8px}
.ex-p{display:flex;gap:10px;align-items:flex-start;border:2px solid #2a1650;border-left:7px solid var(--c);border-radius:12px;padding:8px 10px;background:#fff;cursor:pointer}
.ex-p:has(input:checked){background:#f1fbf8}
.ex-p input{margin-top:4px;width:20px;height:20px;flex-shrink:0}
.ex-p span{display:flex;flex-direction:column}.ex-p small{color:var(--mute)}
.ex-mas summary{cursor:pointer;font-weight:700;color:#2a1650;margin:6px 0}
.ex-mes{grid-column:1/-1;margin:8px 0 0;font:700 1.1rem "Fredoka",var(--display);color:#2a1650}
.ex-aun{font-style:normal;font-size:.75rem;font-weight:700;color:#b25b00;background:#fff2c4;border-radius:6px;padding:1px 6px;align-self:flex-start;margin-top:3px}
/* v37: mis pagos en tarjetas */
.pg-lista{display:flex;flex-direction:column;gap:8px}
.pg{display:grid;grid-template-columns:1fr auto;gap:2px 10px;align-items:center;background:#fff;border:2px solid #2a1650;border-left:7px solid #12a594;border-radius:12px;padding:10px 12px}
.pg.est-pendiente{border-left-color:#f0a400}.pg.est-cancelado{border-left-color:#c9c3d6;opacity:.75}.pg.est-reembolso{border-left-color:#e8508b}
.pg b{font:700 1.05rem "Fredoka",var(--display);color:#2a1650}
.pg-m{font:700 1.1rem "Fredoka",var(--display);text-align:right}
.pg-e{grid-column:1/-1;font-size:.9rem;color:var(--mute)}

/* v38: impresión que cabe también en iPhone/iPad (Safari pone márgenes grandes) */
@media print{
  .hoja{zoom:.72}
  /* v39: sin altura forzada. Safari (iPhone/iPad) no escala igual las alturas y la hoja se pasaba a la siguiente página.
     Cada hoja empieza en página nueva (.salto) y mide lo que mide su contenido: cabe en carta y en A4. */
  .fun,.cz-portada,.fun.clave,.hoja.ev .fun{min-height:0!important;height:auto!important}
  .fun.salto,.cz-portada.salto{break-before:page;page-break-before:always}
  .comic .esp{height:52mm}.mapa .rama{min-height:70mm}.memo>div{min-height:38mm}.pega>div{min-height:58mm}
}

/* v40: Safari (iPhone/iPad/Mac) ignora los saltos de página dentro de contenedores flex.
   Por eso las hojas no empezaban en página nueva y los días de la planeación se partían.
   Al imprimir, los contenedores pasan a bloque normal y los saltos sí se respetan. */
@media print{
  .wrap,.hoja{display:block!important}
  .hoja>*{margin:0 0 5mm}
  .hoja>*:last-child{margin-bottom:0}
  .fun,.pl-dia,.cz-portada{break-inside:avoid;page-break-inside:avoid}
  .salto{break-before:page!important;page-break-before:always!important}
  .pl-dia header,.pl-mom,.pl-mom div,.fun tr,.fun h2{break-inside:avoid;page-break-inside:avoid}
  .fun .fx-top,.fun h2,.pl-dia header{break-after:avoid;page-break-after:avoid}
}

/* v41: hojas largas se encogen solas para caber en una página (ver script en pie()) */
@media print{
  .fun.larga{zoom:var(--fz,1)}
  .fun.parte{break-inside:auto;page-break-inside:auto}
}

/* v42: planeación, apoyos, papás, evaluación y examen van corridos para ahorrar papel.
   Un bloque que no cabe se pasa completo a la siguiente página. */
@media print{
  .hoja.flujo .fun.salto{break-before:auto!important;page-break-before:auto!important}
  .hoja.flujo .fun{break-inside:avoid;page-break-inside:avoid}
  .hoja.flujo .fun.parte{break-inside:auto;page-break-inside:auto}
}
.imp-nota{flex-basis:100%;margin:6px 0 0;font-size:.85rem;color:#5b4a7a;background:#fff7d1;border:1.5px dashed #f0a400;border-radius:10px;padding:6px 10px}

/* ===== v45: Matemáticas diarias ===== */
.mt-hero{background:linear-gradient(135deg,#d9ecff,#ffe1ec 55%,#fff2c4);border:3px solid #2a1650;border-radius:26px;padding:22px;box-shadow:6px 6px 0 #2a1650;display:flex;flex-direction:column;gap:12px}
.mt-hero h1{font:700 2rem "Fredoka",var(--display);margin:0;color:#2a1650}.mt-hero h1 span{color:#2f8fe0}.mt-hero p{margin:0}
.mt-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.mt-chips li{background:#fff;border:2px solid #2a1650;border-radius:12px;padding:5px 10px;font-weight:700;font-size:.9rem}
.mt-sems{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(150px,100%),1fr));gap:8px;margin-top:10px}
.mt-sem{display:flex;flex-direction:column;border:2px solid #2a1650;border-radius:14px;padding:8px 12px;background:#fff;color:#2a1650;text-decoration:none}
.mt-sem b{font:700 1rem "Fredoka",var(--display)}.mt-sem small{color:var(--mute)}.mt-sem.on{background:#2f8fe0;color:#fff;box-shadow:3px 3px 0 #2a1650}.mt-sem.on small{color:#eaf3ff}
.fun.mt{gap:10px}
.mt-cab{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.mt-cab h2{font:700 1.9rem "Fredoka",var(--display);margin:0;box-shadow:inset 0 -.5em 0 var(--kp);padding:0 6px}.mt-cab .fx-nom{flex:1 1 300px}
.mt-g{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.mt-b{border:2.5px solid var(--ink);border-radius:18px;padding:10px 12px;background:#fff;break-inside:avoid}
.mt-b.w{grid-column:1/-1}
.mt-b h3{margin:0 0 6px;font:700 1.12rem "Fredoka",var(--display)}.mt-b h3 small{display:block;font:500 .78rem var(--body);color:var(--mute)}
.mt-b.b1{background:#ffe1ec}.mt-b.b2{background:#fff2c4}.mt-b.b3{background:#d3f4ee}.mt-b.b4{background:#e8e1ff}
.mt-b ol{margin:0;padding-left:26px;display:flex;flex-direction:column;gap:7px;font-weight:700}
.mt-b ol li i{display:block;height:1.55em;background:#fff;border:1.5px solid #2a1650;border-radius:8px}
.mt-ops{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.mt-op{background:#fff;border:1.5px solid #2a1650;border-radius:12px;padding:6px 8px 8px;min-height:120px;position:relative}
.mt-on{font:700 .85rem "Fredoka",var(--display);color:#12a594}
.mt-v{display:flex;flex-direction:column;align-items:flex-end;font:700 1.25rem/1.25 ui-monospace,Menlo,Consolas,monospace;letter-spacing:.06em;margin-top:2px}
.mt-v span:nth-child(2){border-bottom:2.5px solid #2a1650;padding-left:6px}.mt-v b{margin-right:6px}
.mt-v i{display:block;height:1.4em}
.mt-div{display:flex;align-items:flex-start;font:700 1.2rem ui-monospace,Menlo,Consolas,monospace;margin-top:14px;justify-content:center}
.mt-div .dvs{padding:4px 6px 0 0}.mt-div .dvd{border-top:2.5px solid #2a1650;border-left:2.5px solid #2a1650;border-top-left-radius:8px;padding:4px 6px 0 8px}
.mt-fr{font:700 1.15rem ui-monospace,Menlo,Consolas,monospace;margin-top:10px;text-align:center}
.mt-op.fr i{display:block;margin:10px auto 0;width:80%;height:1.6em;border-bottom:2px dashed #2a1650}
.mt-pt{margin:0 0 8px;font-size:1.05rem;font-weight:600}
.mt-pr{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:8px}
.mt-pr div{background:#fff;border:1.5px solid #2a1650;border-radius:12px;min-height:105px;padding:6px 8px}.mt-pr b{font:700 .9rem "Fredoka",var(--display);color:#7a5af5}
.mt-k .mt-kg{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.mt-kd{border:2px solid var(--ink);border-radius:14px;padding:8px 12px;font-size:.88rem}.mt-kd h3{margin:0;font:700 1.1rem "Fredoka",var(--display)}
.mt-kd p{margin:6px 0 2px}.mt-kd ol{margin:0;padding-left:20px}
.pq-mt{background:#d9ecff}
.bn .mt-b{background:#fff!important}
@media (max-width:640px){.mt-g,.mt-k .mt-kg{grid-template-columns:1fr}.mt-ops{grid-template-columns:repeat(2,minmax(0,1fr))}.mt-pr{grid-template-columns:1fr}.mt-hero h1{font-size:1.5rem}}
@media print{.fun.mt{gap:14px}.mt-g{gap:14px}.mt-b{padding:12px 14px}.mt-b h3{font-size:1.35rem}.mt-b ol{gap:13px;font-size:1.15rem}.mt-b ol li i{height:2.3em}.mt-op{min-height:80mm}.mt-v,.mt-div,.mt-fr{font-size:1.55rem}.mt-pt{font-size:1.25rem}.mt-pr div{min-height:52mm}.mt-ops{grid-template-columns:repeat(5,minmax(0,1fr))!important}.mt-g{grid-template-columns:1fr 1fr!important}.mt-pr{grid-template-columns:1fr 1.3fr 1fr!important}}
/* v46: herramientas, partes alumno/maestro */
.mt-b ol li.lg i{height:3.1em}
.mt-k .mt-kd{background:#fff}.mt-k .k1{background:#ffe1ec}.mt-k .k2{background:#fff2c4}.mt-k .k3{background:#d3f4ee}.mt-k .k4{background:#e8e1ff}
.mt-k .mt-kd li{margin:3px 0}.mt-k .dt{font:600 1.08rem "Fredoka",var(--display)}.mt-k .rs{font-weight:700;color:#12a594}
.mt-k h2{font:700 1.6rem "Fredoka",var(--display);margin:0}
.mt-partes{margin-top:10px}
@media print{.mt-b ol li.lg i{height:3.4em}.mt-k .mt-kd{font-size:1rem}}
/* v46: escena del salón en inicio */
.ix-aula{display:grid;grid-template-columns:1.25fr 1fr;gap:26px;align-items:center;background:#fff;border:3px solid #2a1650;border-radius:28px;padding:18px;box-shadow:6px 6px 0 #2a1650}
.au-svg{display:block;width:100%;height:auto;border-radius:22px}
.au-txt h2{font:700 2rem/1.1 "Fredoka",var(--display);color:#2a1650;margin:6px 0 10px}.au-txt h2 span{color:#e8508b}
.au-txt p{margin:0 0 12px}
@media (max-width:820px){.ix-aula{grid-template-columns:1fr}.au-txt h2{font-size:1.5rem}}

/* ===== v47: CTE · presentaciones ===== */
.cte-hero h1 span{color:#7a5af5}
.cte-ls{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:14px;margin-top:14px}
.cte-card{background:#fff;border:3px solid #2a1650;border-radius:20px;padding:16px;box-shadow:4px 4px 0 #7a5af5;display:flex;flex-direction:column;gap:8px}
.cte-card h3{margin:0;font:700 1.2rem "Fredoka",var(--display)}.cte-card p{margin:0}.cte-card.prox{opacity:.7;box-shadow:none;border-style:dashed}
.pq-cte{background:#e8e1ff}
.cte-bar{display:flex;flex-direction:column;gap:8px}.cte-bar h1{margin:0;font:700 1.7rem "Fredoka",var(--display)}.cte-bar h1 small{color:var(--mute);font-size:1rem}
.cte-deck{padding:0!important;border:0!important;background:transparent!important;position:relative}
.cte-deck .sl{display:none;aspect-ratio:16/9;width:100%;box-sizing:border-box;background:linear-gradient(135deg,#fff,color-mix(in srgb,var(--c) 14%,#fff));border:4px solid #2a1650;border-radius:24px;padding:3.2% 4%;position:relative;overflow:hidden;font-size:clamp(11px,1.45vw,21px);color:#2a1650;flex-direction:column;gap:2%;box-shadow:8px 8px 0 var(--c)}
.cte-deck .sl.on{display:flex}
.cte-deck .sl::after{content:"";position:absolute;right:-6%;top:-12%;width:28%;aspect-ratio:1;border-radius:50%;background:var(--c);opacity:.14}
.sl h1{font:700 2.9em/1.05 "Fredoka",var(--display);margin:.2em 0}.sl h2{font:700 2.05em/1.1 "Fredoka",var(--display);margin:0;box-shadow:inset 0 -.38em 0 color-mix(in srgb,var(--c) 30%,#fff);align-self:flex-start;padding:0 .2em}
.sl-k{margin:0;font-weight:700;color:var(--c);font-size:1.05em;text-transform:uppercase;letter-spacing:.04em}
.sl-sub{font-size:1.2em;margin:0}.sl-f,.sl-esc{margin:.3em 0 0;font:700 1.15em "Fredoka",var(--display)}
.sl-pt{position:relative;z-index:1;max-width:72%;margin:auto 0}
.sl-deco{position:absolute;right:5%;bottom:10%;display:grid;grid-template-columns:1fr 1fr;gap:.4em;font-size:3.6em}
.sl-fr{margin:auto;text-align:center;max-width:80%;display:flex;flex-direction:column;align-items:center;gap:.4em}.sl-fr h2{align-self:center}.sl-fr p{font-size:1.35em;margin:0}.sl-big{font-size:4em}
.sl-ls{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55em}
.sl-ls li{display:flex;gap:.7em;align-items:center;background:#fff;border:2.5px solid #2a1650;border-left:.55em solid var(--c);border-radius:.8em;padding:.45em .8em}
.sl-ls b{font:700 1.15em "Fredoka",var(--display)}.sl-ls p{margin:0}.ic{font-size:1.8em;line-height:1}
.sl-rj{display:grid;grid-template-columns:repeat(4,1fr);gap:.6em;flex:1;align-content:center}
.sl-rj div{background:#fff;border:2.5px solid #2a1650;border-top:.45em solid var(--c);border-radius:.8em;padding:.5em .6em;display:flex;flex-direction:column;gap:.2em}
.sl-rj b{font:700 1.02em "Fredoka",var(--display)}.sl-rj p{margin:0;font-size:.86em}
.sl-pq{display:grid;grid-template-columns:1fr 1fr;gap:.6em;flex:1;align-content:center}
.sl-pq div{background:#fff;border:2.5px solid #2a1650;border-radius:.8em;padding:.6em .8em;border-left:.5em solid var(--c)}
.sl-pq .q{margin:0 0 .35em;font:700 1.02em "Fredoka",var(--display)}.sl-pq .a{margin:0;font-size:.88em;background:color-mix(in srgb,var(--c) 12%,#fff);border-radius:.5em;padding:.35em .5em}
.sl-ck{list-style:none;padding:0;margin:auto 0;display:flex;flex-direction:column;gap:.6em;font-size:1.25em}.sl-ck li{background:#fff;border:2.5px solid #2a1650;border-radius:.8em;padding:.5em .8em}
.sl-fs{display:flex;gap:.5em;margin:auto 0;flex-wrap:wrap}
.sl-fs div{flex:1 1 0;min-width:6em;background:#fff;border:3px solid #2a1650;border-radius:.9em;padding:.8em .5em;text-align:center;display:flex;flex-direction:column;gap:.3em;align-items:center}
.sl-fs span{width:2em;height:2em;border-radius:50%;background:var(--c);color:#fff;display:grid;place-items:center;font:700 1.1em "Fredoka",var(--display)}
.sl-fs b{font:700 1.05em "Fredoka",var(--display)}.sl-fs .on{background:color-mix(in srgb,var(--c) 22%,#fff);transform:translateY(-6%);box-shadow:4px 4px 0 #2a1650}.sl-fs small{font-weight:700;color:var(--c)}
.sl-tw{overflow:auto;flex:1;display:flex;align-items:center}
.sl table{width:100%;border-collapse:separate;border-spacing:0;font-size:.86em;background:#fff;border:2.5px solid #2a1650;border-radius:.8em;overflow:hidden}
.sl th{color:#fff;font:700 1.05em "Fredoka",var(--display);padding:.4em .5em;text-align:left}.sl td{border-top:1.5px solid #d9d2e6;padding:.4em .5em;vertical-align:top}
.sl-ln{list-style:none;padding:0;margin:auto 0;display:grid;grid-template-columns:repeat(4,1fr);gap:.5em}
.sl-ln li{background:#fff;border:2.5px solid #2a1650;border-radius:.8em;padding:.45em .55em;border-top:.45em solid var(--c)}
.sl-ln .f{display:inline-block;background:var(--c);color:#fff;border-radius:99px;padding:0 .5em;font:700 .9em "Fredoka",var(--display)}
.sl-ln b{display:block;font:700 1em "Fredoka",var(--display);margin-top:.2em}.sl-ln p{margin:0;font-size:.82em}
.sl-ac td{height:2.1em}.sl-ac th:first-child,.sl-ac td:first-child{width:2.5em;text-align:center}
.sl-ac th{background:#7a5af5}
.sl-n{position:absolute;right:1.4em;bottom:.7em;font-size:.75em;color:#8a7fa6;font-weight:700}
.sl-nav{display:flex;justify-content:center;align-items:center;gap:14px;margin-top:14px}
.sl-nav button{font:700 1.4rem "Fredoka",var(--display);border:3px solid #2a1650;background:#fff;border-radius:14px;padding:4px 20px;cursor:pointer;box-shadow:3px 3px 0 #2a1650}
.sl-nav span{font-weight:700}
.cte-deck:fullscreen{background:#2a1650!important;display:flex;align-items:center;justify-content:center;padding:2vh 2vw!important}
.cte-deck:fullscreen .sl.on{width:min(96vw,calc(92vh*16/9));font-size:min(1.45vw,2.6vh)}
.cte-deck:fullscreen .sl-nav{position:fixed;bottom:12px;left:0;right:0;opacity:.25}.cte-deck:fullscreen .sl-nav:hover{opacity:1}
@media (max-width:700px){.cte-deck .sl{font-size:9px}.sl-rj{grid-template-columns:1fr 1fr}.sl-ln{grid-template-columns:1fr 1fr}.sl-pq{grid-template-columns:1fr}}
@media print{
  @page cte{size:letter landscape;margin:8mm}
  .cte-deck{page:cte;zoom:1!important}
  .cte-deck .sl{display:flex!important;width:100%;font-size:19px;break-after:page;page-break-after:always;box-shadow:none;aspect-ratio:auto;height:185mm}
  .cte-deck .sl:last-of-type{break-after:auto}
}

/* v48: flechas junto al número de diapositiva */
.sl-n{display:flex;align-items:center;gap:8px}
.sl-a{font:700 1.5em/1 "Fredoka",var(--display);width:1.6em;height:1.6em;border:2px solid #2a1650;border-radius:50%;background:#fff;color:#2a1650;cursor:pointer;display:grid;place-items:center;padding:0;box-shadow:2px 2px 0 #2a1650}
.sl-a:hover{background:#ffe9a8}
@media print{.sl-a{display:none!important}}

/* v49: landing nueva */
.lx-hero{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;padding:8px 0 4px}
.lx-k{margin:0;font:700 1rem "Fredoka",var(--display);color:#fff;background:#1d4a3f;padding:6px 16px;border-radius:999px}
.lx-hero h1{font:700 clamp(2rem,6.4vw,3.6rem)/1.08 "Fredoka",var(--display);color:#2a1650;max-width:18ch;margin:0}
.lx-hero h1 span{background:linear-gradient(transparent 58%,#ffd23f 58%);padding:0 6px;border-radius:4px}
.lx-sub{margin:0;font-size:1.15rem;max-width:44ch;color:#3b3355}
.lx-cta{display:flex;flex-direction:column;align-items:center;gap:8px}
.lx-btn{font-size:1.25rem;padding:16px 30px;border-radius:18px;box-shadow:4px 4px 0 #2a1650}
.lx-cta small{color:var(--mute)}
.lx-foto{width:100%;margin-top:6px;border-radius:26px;overflow:hidden;border:4px solid #2a1650;box-shadow:6px 6px 0 #2a1650;background:#f6e9cf}
.lx-foto img{display:block;width:100%;height:auto}
.lx-foto svg{display:block;width:100%;height:auto}
.lx-todo h2 span{background:linear-gradient(transparent 58%,#7ee8c9 58%);padding:0 4px}
.lx-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:6px}
.lx-grid article{background:#fff;border:3px solid #2a1650;border-radius:18px;padding:16px 14px;box-shadow:4px 4px 0 var(--c);display:flex;flex-direction:column;gap:6px}
.lx-grid span{font-size:2rem;line-height:1}
.lx-grid h3{font:700 1.08rem "Fredoka",var(--display);color:#2a1650}
.lx-grid p{margin:0;font-size:.93rem;color:#4a4560}
@media (max-width:860px){.lx-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:420px){.lx-grid{gap:10px}.lx-grid article{padding:12px 10px}.lx-hero h1{font-size:2rem}.lx-sub{font-size:1.02rem}}

/* v51: menú desplegable */
.top{position:relative;flex-wrap:nowrap}
.mn-pub{display:flex;gap:10px;align-items:center}
.mn-pub a.btn{padding:8px 14px}
.mn{position:relative}
.mn summary{list-style:none;display:flex;align-items:center;gap:10px;cursor:pointer;user-select:none;font:700 1.05rem "Fredoka",var(--display);color:#fff;background:#2a1650;padding:9px 16px 9px 13px;border-radius:14px;box-shadow:3px 3px 0 #ffd23f;transition:transform .12s}
.mn summary::-webkit-details-marker{display:none}
.mn summary:hover{transform:translateY(-1px)}
.mn[open] summary{background:#e8508b;box-shadow:3px 3px 0 #2a1650}
.mn-i{display:grid;gap:4px;width:20px}
.mn-i i{display:block;height:3px;border-radius:3px;background:#fff;transition:transform .2s,opacity .2s}
.mn[open] .mn-i i:nth-child(1){transform:translateY(7px) rotate(45deg)}
.mn[open] .mn-i i:nth-child(2){opacity:0}
.mn[open] .mn-i i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mn nav{position:absolute;right:0;top:calc(100% + 10px);z-index:60;width:min(330px,calc(100vw - 32px));display:grid!important;grid-template-columns:1fr 1fr;gap:8px;padding:14px;background:#fff;border:3px solid #2a1650;border-radius:20px;box-shadow:6px 6px 0 #2a1650;animation:mnIn .16s ease-out}
@keyframes mnIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.mn nav a{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-decoration:none;font-weight:700;font-size:.93rem;line-height:1.15;color:#2a1650;background:#f6f3ff;border:2px solid #e2dcf5;border-radius:12px;padding:9px 10px}
.mn nav a span{font-size:1.35rem;line-height:1}
.mn nav a:hover,.mn nav a.on{background:#fff6d6;border-color:#2a1650}
.mn-t{grid-column:1/-1;margin:6px 0 0;font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--mute)}
.mn nav a.mn-salir{grid-column:1/-1;flex-direction:row;align-items:center;gap:8px;background:#fff;border-style:dashed}
.mn nav a.mn-salir span{font-size:1.1rem}
.lx-gancho{margin:0;font:600 1.3rem/1.3 "Fredoka",var(--display);color:#2a1650;background:#fff6d6;border:2px dashed #f0a400;border-radius:14px;padding:10px 16px}
.lx-gancho b{color:#e8508b}
a.lx-foto{display:block}
@media (max-width:420px){.lx-gancho{font-size:1.08rem}}

/* v51b: orden dolor → lo que vendemos → regalo */
.lx-regalo{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center}
.lx-regalo .lx-foto{margin-top:0}
@media (max-width:600px){
  .lx-grid{gap:8px}
  .lx-grid article{flex-direction:row;align-items:center;gap:8px;padding:10px;border-width:2px;box-shadow:3px 3px 0 var(--c);border-radius:14px}
  .lx-grid article p{display:none}
  .lx-grid span{font-size:1.5rem}
  .lx-grid h3{font-size:.95rem;line-height:1.15}
  .lx-todo .ix-intro{font-size:.95rem}
}
/* v52: página de proyectos con vida */
.gp-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:auto 1fr;gap:6px 18px;align-items:center;padding:22px 22px 18px;border-radius:26px;border:3px solid #2a1650;box-shadow:6px 6px 0 #2a1650;
  background:radial-gradient(circle at 92% 10%,#ffe08a 0 70px,transparent 71px),radial-gradient(circle at 78% 120%,#ffc4dc 0 110px,transparent 111px),linear-gradient(135deg,#e9fbf6,#f3eeff)}
.gp-grado{grid-row:1/3;display:grid;place-items:center;width:84px;height:84px;border-radius:24px;background:#e8508b;color:#fff;font:700 2.6rem "Fredoka",var(--display);border:3px solid #2a1650;box-shadow:4px 4px 0 #2a1650;transform:rotate(-4deg)}
.gp-k{margin:0;font:700 1rem "Fredoka",var(--display);color:#e8508b}
.gp-hero h1{font:700 clamp(1.6rem,4.5vw,2.4rem) "Fredoka",var(--display);color:#2a1650;margin:0}
.gp-meses{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.gp-meses a{text-decoration:none;font-weight:700;color:#2a1650;background:#fff;border:2px solid #2a1650;border-radius:999px;padding:6px 14px}
.gp-meses a[aria-pressed=true]{background:#2a1650;color:#fff;box-shadow:3px 3px 0 #ffd23f}
.gp-acc{grid-column:2;display:flex;flex-wrap:wrap;gap:8px}
.gp-acc a{text-decoration:none;font-weight:700;font-size:.92rem;color:#2a1650;background:rgba(255,255,255,.75);border:2px dashed #2a1650;border-radius:12px;padding:6px 12px}
.gp-acc a:hover{background:#fff6d6}
.gp-regalo{display:flex;flex-direction:column;gap:14px}
.gp-regalo img{display:block;width:100%;height:auto;border-radius:24px;border:4px solid #2a1650;box-shadow:6px 6px 0 #2a1650}
.gp-regalo .rg-banner .btn{flex:0 0 auto}
.gp-precios{display:flex;align-items:center;gap:16px;text-decoration:none;color:#2a1650;background:linear-gradient(135deg,#fff3c4,#ffd9e8);border:3px solid #2a1650;border-radius:22px;padding:12px 18px 12px 12px;box-shadow:5px 5px 0 #f0a400;transition:transform .12s}
.gp-precios:hover{transform:translate(-1px,-2px)}
.gp-precios img{width:96px;height:96px;object-fit:cover;border-radius:16px;border:2px solid #2a1650;flex:0 0 auto}
.gp-pi{position:relative;display:grid;place-items:center;width:84px;height:84px;flex:0 0 auto;border-radius:18px;background:#fff;border:2px solid #2a1650;font-size:2.8rem;animation:rgsalta 2.4s ease-in-out infinite}
.gp-pi i{position:absolute;right:-8px;bottom:-8px;font-style:normal;font-size:1.6rem}
.gp-precios>span:not(.gp-pi){flex:1;display:flex;flex-direction:column}
.gp-precios b{font:700 1.3rem "Fredoka",var(--display)}
.gp-precios small{color:#5a4a70}
.gp-precios em{font-style:normal;font-weight:700;color:#fff;background:#e8730c;border:2px solid #2a1650;border-radius:12px;padding:8px 14px;box-shadow:3px 3px 0 #2a1650;white-space:nowrap}
.gp-sem{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;border:0;padding:0;margin:28px 0 12px}
.gp-sn{font:700 1.15rem "Fredoka",var(--display);color:#fff;background:var(--c);border:2px solid #2a1650;border-radius:12px;padding:5px 14px;box-shadow:3px 3px 0 #2a1650;transform:rotate(-1.5deg)}
.gp-sf{font-weight:700;color:#5a4a70;font-size:.95rem}
.gp-p{position:relative;border:3px solid #2a1650;border-radius:20px;box-shadow:5px 5px 0 var(--c);padding:0 16px 14px;overflow:hidden;display:flex;flex-direction:column;gap:8px;background:#fff;transition:transform .12s}
.gp-p:hover{transform:translateY(-2px)}
.gp-campo{display:block;margin:0 -16px 4px;padding:8px 16px;background:var(--c);color:#fff;font-weight:700;font-size:.82rem;letter-spacing:.02em}
.gp-p h3{font:700 1.15rem/1.2 "Fredoka",var(--display);color:#2a1650}
.gp-meta{display:flex;flex-wrap:wrap;gap:6px;margin:0}
.gp-meta span{font-size:.8rem;font-weight:700;color:#4a4560;background:#f4f1fb;border-radius:8px;padding:3px 8px}
.gp-p .acc{margin-top:auto;padding:0}
.gp-p.mio{background:#f1fbf6}
.gp-tuyo{align-self:flex-start;font-weight:700;font-size:.85rem;color:#12805f}
.gp-abrir{background:#12a594;border-color:#2a1650}
.gp-p .rg-btn{font-size:1rem;padding:10px 14px;animation:gpPulso 1.8s ease-in-out infinite}
@keyframes gpPulso{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}
@media (max-width:600px){
  .gp-hero{grid-template-columns:auto 1fr;padding:16px}
  .gp-grado{width:60px;height:60px;font-size:1.9rem;border-radius:18px;grid-row:1}
  .gp-acc{grid-column:1/-1}
  .gp-precios{flex-wrap:wrap}.gp-precios em{width:100%;text-align:center}
  .gp-precios img{width:72px;height:72px}
}
/* ===== v56 · Administrador con menú propio ===== */
.wrap:has(>.ad){max-width:1340px}
.ad{display:grid;grid-template-columns:230px minmax(0,1fr);gap:22px;align-items:start}
.ad-nav{position:sticky;top:12px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:2px}
.ad-home{font:700 1.05rem var(--display);color:var(--ink);text-decoration:none;padding:6px 10px 10px;border-bottom:1px solid var(--line);margin-bottom:4px}
.ad-t{margin:12px 10px 4px;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}
.ad-nav a:not(.ad-home){display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:9px;text-decoration:none;color:var(--ink);font-weight:700;font-size:.95rem}
.ad-nav a span{width:22px;text-align:center}
.ad-nav a:hover{background:var(--bg)}
.ad-nav a.on{background:var(--board);color:#fff}
.ad-b{margin-left:auto;background:var(--compra);color:#fff;border-radius:99px;font-size:.75rem;padding:1px 8px;min-width:22px;text-align:center}
.ad-b.nv{background:#1f7a52}
.ad-sitio{margin-top:10px;border-top:1px solid var(--line);border-radius:0!important;padding-top:12px!important;color:var(--mute)!important;font-weight:400!important}
.ad-main{display:flex;flex-direction:column;gap:16px;min-width:0}
.ad-cab{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 16px}
.ad-sh{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap}
.ad-sh a{font-weight:700;text-decoration:none}
.ad-k{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(200px,100%),1fr));gap:12px}
.ad-k a.card{text-decoration:none;color:inherit;gap:2px;transition:border-color .15s}
.ad-k a.card:hover{border-color:var(--board)}
.ad-ki{font-size:.85rem;color:var(--mute)}
.ad-k b{font:700 1.8rem var(--display)}
.ad-k small{color:var(--mute)}
.ad-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr));gap:16px}
.ad-l{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.ad-l li{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;padding:8px 0;border-bottom:1px solid var(--line)}
.ad-l li:last-child{border:0}
.ad-l li small{margin-left:auto;color:var(--mute)}
.ad-bars{display:grid;grid-template-columns:repeat(14,1fr);gap:6px;height:170px;align-items:end;padding-top:8px}
.ad-bars>div{position:relative;height:100%;display:flex;align-items:flex-end;justify-content:center;gap:2px;padding-bottom:20px}
.ad-bars span{width:42%;border-radius:4px 4px 0 0;min-height:2px;font-size:.7rem;color:#fff;text-align:center;line-height:1.4}
.ad-bars .r{background:var(--board)}
.ad-bars .v{background:var(--compra)}
.ad-bars small{position:absolute;bottom:0;left:0;right:0;text-align:center;font-size:.72rem;color:var(--mute)}
.ad-lg{display:inline-block;width:10px;height:10px;border-radius:2px;vertical-align:middle}
.ad-lg.r{background:var(--board)}.ad-lg.v{background:var(--compra)}
.ad-fil{flex-direction:row;flex-wrap:wrap;align-items:flex-end;gap:10px}
.ad-fil input[type=search]{flex:1 1 260px;font:inherit;padding:10px;border:1px solid var(--line);border-radius:8px}
.ad-fil select{width:auto;flex:0 1 auto}
.ad-fil label{display:flex;flex-direction:column;font-size:.75rem;font-weight:700;color:var(--mute);gap:2px}
.ad-fil input[type=date]{font:inherit;padding:8px;border:1px solid var(--line);border-radius:8px}
.ad-fil .ad-ck2{flex-direction:row;align-items:center;gap:6px;font-size:.88rem;color:var(--ink);font-weight:400}
.ad-fil .ad-ck2 input{margin:0}
.ad-fb{display:flex;gap:8px;margin-left:auto}
.ad-tabs{display:flex;flex-wrap:wrap;gap:6px}
.ad-tabs a{padding:8px 14px;border-radius:99px;border:1px solid var(--line);background:var(--card);text-decoration:none;color:var(--ink);font-weight:700;font-size:.92rem}
.ad-tabs a b{background:var(--bg);border-radius:99px;padding:0 7px;margin-left:4px;font-size:.8rem}
.ad-tabs a.on{background:var(--board);color:#fff;border-color:var(--board)}
.ad-tabs a.on b{background:rgba(255,255,255,.2)}
.ad-lista{display:flex;flex-direction:column;gap:10px}
.ad-bar{position:sticky;top:8px;z-index:5;flex-direction:row;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 14px;border-style:dashed}
.ad-bar.on{border:2px solid var(--board);border-style:solid;box-shadow:0 6px 18px rgba(0,0,0,.08)}
.ad-bar #ad-cnt{font-weight:700;min-width:130px}
.ad-bar select,.ad-bar input[type=text]{width:auto;flex:0 1 240px}
.ad-todos{display:flex;align-items:center;gap:6px;font-size:.9rem}
.ad-todos input{margin:0}
.ad-tbw{padding:0}
.ad-tb th{position:sticky;top:0;background:#eef3f0;text-align:left;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--mute);padding:9px 10px;white-space:nowrap}
.ad-tb td{padding:9px 10px;border-top:1px solid var(--line);vertical-align:top}
.ad-tbw .ad-tb td:first-child,.ad-tbw .ad-tb th:first-child{width:36px}
.ad-tb tbody tr:hover{background:#f7faf8}
.ad-tb tbody tr:has(.ad-ck:checked){background:#e7f2ec}
.ad-tb a{text-decoration:none}
.ad-tb input[type=checkbox]{margin:0}
.ad-est{white-space:nowrap;font-size:.85rem}
tr.est-pendiente .ad-est{color:#b25b00;font-weight:700}
tr.est-pagado .ad-est{color:#1f7a52;font-weight:700}
.ad-pag{display:flex;justify-content:center;align-items:center;gap:16px}
.ad-pag a{font-weight:700;text-decoration:none}
.ad-rl{display:flex;flex-direction:column}
.ad-rl>div{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}
.ad-rl>div>div{flex:1;display:flex;flex-direction:column}
.ad-n{font:700 1.3rem var(--display);min-width:60px;text-align:right}
.ad-hb{display:flex;flex-direction:column;gap:6px}
.ad-hb>div{display:grid;grid-template-columns:32px 1fr 44px;align-items:center;gap:8px}
.ad-hb i{display:block;height:14px;background:var(--board);border-radius:4px;min-width:2px}
.ad-hb b{text-align:right}
@media (max-width:860px){
  .ad{grid-template-columns:1fr;gap:14px}
  .ad-nav{position:static;flex-direction:row;overflow-x:auto;padding:8px;gap:4px;scrollbar-width:none}
  .ad-nav .ad-t,.ad-home,.ad-sitio{display:none}
  .ad-nav a:not(.ad-home){white-space:nowrap;flex:none;font-size:.88rem;padding:7px 10px}
  .ad-fb{margin-left:0}
  .ad-fil select,.ad-fil label{flex:1 1 45%}
  .ad-bars{height:130px;gap:3px}
  .ad-bars span{font-size:0}
}
.ad-fd>summary{display:none}
@media (max-width:860px){.ad-fd>summary{display:block;cursor:pointer;font-weight:700;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 14px}.ad-fd[open]>summary{margin-bottom:8px}}
