/* =========================================================================
   Herramientas para familias (/herramientas/*) · clases h-*
   Usa los tokens de psi.css (--tinta, --lila, --rosa, --menta, --mante, --cielo, --borde, --pega).
   Responsive hasta 375 px, prefers-reduced-motion y @media print (rutinas, plan de pantallas, registro y primera consulta).
   ========================================================================= */
.h-sec{padding:44px 0 0}
.h-sec-cta{padding:56px 0 30px}
.h-tool{margin-top:26px}
.h-ayuda{color:var(--tinta-2);font-size:.98rem;margin:-6px 0 16px;max-width:62ch}

/* Aviso de cabecera (orientativo, privacidad) */
.h-aviso{position:relative;z-index:2;display:flex;gap:12px;align-items:flex-start;margin:-26px 0 0;padding:14px 18px;background:#fff;border:var(--borde);
    border-radius:var(--r-s);box-shadow:var(--pega-s);color:var(--tinta-2);font-size:.95rem}
.h-aviso p{margin:0}
.h-aviso b{color:var(--tinta)}
.h-aviso .ph-duotone{flex:none;color:var(--lila-4);font-size:1.5rem}

/* Encabezado de cada paso con su número tipo pegatina */
.h-paso{display:flex;align-items:center;gap:12px;margin:34px 0 16px}
.h-paso h2{margin:0;font-size:clamp(1.3rem,2.4vw,1.7rem)}
.h-paso-n{flex:none;width:44px;height:44px;border-radius:14px;border:var(--borde);display:grid;place-items:center;font-family:var(--fh);font-weight:800;font-size:1.3rem;
    background:var(--mante);transform:rotate(-6deg);box-shadow:var(--pega-s)}
.h-paso-n .ph-duotone{vertical-align:0}

.h-acciones{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}

/* ---- Índice ---- */
.h-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-bottom:10px}
.h-card{position:relative;display:flex;flex-direction:column;gap:10px;padding:24px 22px 22px;border:var(--borde);border-radius:var(--r);box-shadow:var(--pega);color:var(--tinta);
    background:#fff;transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.h-card:hover{transform:translate(-3px,-3px) rotate(-.8deg);box-shadow:var(--pega-l);color:var(--tinta)}
.h-card.a1{background:var(--rosa-3)}.h-card.a2{background:var(--mante-2)}.h-card.a3{background:var(--menta-2)}.h-card.a4{background:var(--cielo-2)}
.h-card-ic{width:64px;height:64px;border-radius:18px;background:#fff;border:var(--borde);display:grid;place-items:center;box-shadow:var(--pega-s);transform:rotate(-4deg)}
.h-card-ic .ph-duotone{vertical-align:0;color:var(--tinta)}
.h-card:hover .h-card-ic{animation:boing .7s}
.h-card b{font-family:var(--fh);font-weight:800;font-size:1.3rem;line-height:1.15}
.h-card-tx{color:var(--tinta-2);font-size:.97rem;flex:1}
.h-card .p-link{align-self:flex-start}
@media(max-width:900px){.h-cards{grid-template-columns:1fr}}

/* ---- 1) Test: etapas ---- */
.h-etapas{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.h-etapa{position:relative;display:flex;flex-direction:column;gap:2px;padding:16px 16px 14px;border:var(--borde);border-radius:var(--r);background:#fff;cursor:pointer;
    box-shadow:var(--pega-s);transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .2s}
.h-etapa:hover{transform:translate(-2px,-2px);box-shadow:var(--pega)}
.h-etapa input{position:absolute;opacity:0;pointer-events:none}
.h-etapa:has(input:focus-visible){outline:3px solid var(--rosa);outline-offset:3px}
.h-etapa-ic{width:48px;height:48px;border-radius:14px;border:var(--borde);display:grid;place-items:center;background:var(--lila);margin-bottom:8px}
.h-etapa-ic .ph-duotone{vertical-align:0}
.h-etapa.a1 .h-etapa-ic{background:var(--rosa-2)}.h-etapa.a2 .h-etapa-ic{background:var(--mante)}.h-etapa.a3 .h-etapa-ic{background:var(--menta)}.h-etapa.a4 .h-etapa-ic{background:var(--cielo)}
.h-etapa b{font-family:var(--fh);font-weight:800;font-size:1.08rem;line-height:1.15}
.h-etapa small{font-weight:700;font-size:.86rem;color:var(--tinta-3)}
.h-etapa.on,.h-etapa:has(input:checked){background:var(--tinta);color:#fff;transform:translate(-2px,-2px);box-shadow:var(--pega)}
.h-etapa.on small,.h-etapa:has(input:checked) small{color:var(--lila-2)}
.h-etapa.on .h-etapa-ic,.h-etapa:has(input:checked) .h-etapa-ic{color:var(--tinta)}
.h-etapa.on::after,.h-etapa:has(input:checked)::after{content:"";position:absolute;top:12px;right:12px;width:22px;height:22px;border-radius:50%;background:var(--menta);border:2px solid #fff}
@media(max-width:820px){.h-etapas{grid-template-columns:repeat(2,1fr)}}
@media(max-width:420px){.h-etapas{gap:10px}.h-etapa{padding:12px}.h-etapa b{font-size:.98rem}.h-etapa-ic{width:42px;height:42px}}

.h-pista{display:flex;align-items:center;gap:8px;margin:18px 0 0;font-weight:700;color:var(--tinta-2)}
.h-pista .ph-duotone{color:var(--rosa-4)}
.h-aviso-pulso{animation:boing .6s}

/* Casillas */
.h-grupo{border:0;margin:0;padding:0;min-width:0}
.h-checks{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.h-check{position:relative;display:flex;gap:12px;align-items:flex-start;padding:13px 14px;background:#fff;border:2px solid var(--linea);border-radius:var(--r-s);cursor:pointer;
    font-size:.98rem;line-height:1.45;transition:border-color .2s,background .2s,transform .25s var(--ease)}
.h-check:hover{border-color:var(--tinta)}
.h-check input{position:absolute;opacity:0;pointer-events:none}
.h-check-box{flex:none;width:26px;height:26px;border-radius:8px;border:var(--borde);background:#fff;display:grid;place-items:center;margin-top:-1px;transition:background .2s,transform .25s var(--ease)}
.h-check-box .ph-duotone{vertical-align:0;opacity:0;transform:scale(.4);transition:opacity .2s,transform .25s var(--ease)}
.h-check input:checked + .h-check-box{background:var(--menta)}
.h-check input:checked + .h-check-box .ph-duotone{opacity:1;transform:none}
.h-check:has(input:checked){border-color:var(--tinta);background:var(--menta-2)}
.h-check input:focus-visible + .h-check-box{outline:3px solid var(--rosa);outline-offset:2px}
.h-mods .h-check{background:var(--mante-2)}
.h-mods .h-check:has(input:checked){background:var(--mante)}
@media(max-width:700px){.h-checks{grid-template-columns:1fr}}

/* Con JS: solo la etapa elegida (sin JS se ve todo) */
.h-js .h-cuerpo{display:none}
.h-js .h-cuerpo.on{display:block;animation:h-entra .45s var(--ease-s)}
.h-js .h-grupo[data-etapa]{display:none}
.h-js .h-grupo[data-etapa].on{display:block}
.h-pista{display:none}
.h-js .h-pista{display:flex}
.h-js .h-pista[hidden]{display:none}

/* Resultado */
.h-resultado{margin-top:30px;scroll-margin-top:100px;outline:none}
.h-res{position:relative;border:var(--borde);border-radius:var(--r);box-shadow:var(--pega-l);padding:26px 28px 24px;background:#fff}
.h-res-menta{background:var(--menta-2)}.h-res-mante{background:var(--mante-2)}.h-res-rosa{background:var(--rosa-3)}
.h-res-head{display:flex;gap:16px;align-items:center;margin-bottom:14px}
.h-res-head small{display:block;font-weight:800;font-size:.86rem;color:var(--tinta-3)}
.h-res-head h2{margin:2px 0 0;font-size:clamp(1.4rem,3vw,2rem)}
.h-res-ic{flex:none;width:64px;height:64px;border-radius:20px;border:var(--borde);background:#fff;display:grid;place-items:center;font-size:2rem;box-shadow:var(--pega-s);transform:rotate(-5deg)}
.h-res-ic .ph-duotone{vertical-align:0}
.h-res-menta .h-res-ic{color:var(--menta-4)}.h-res-mante .h-res-ic{color:var(--mante-4)}.h-res-rosa .h-res-ic{color:var(--rosa-4)}
.h-res-tx{font-size:1.07rem;color:var(--tinta);max-width:70ch}
.h-res-nota{font-size:.95rem;color:var(--tinta-2);font-style:italic}
.h-res h3{font-size:1.1rem;margin:22px 0 10px}
.h-res-consejos{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.h-res-consejos li{display:flex;gap:10px;align-items:flex-start;color:var(--tinta-2)}
.h-res-consejos .ph-duotone{flex:none;margin-top:4px;color:var(--menta-4)}
.h-res-acts{display:flex;flex-wrap:wrap;gap:10px}
.h-res .p-tags a{background:#fff}
.h-res-aviso{display:flex;gap:10px;align-items:flex-start;margin:24px 0 16px;padding-top:16px;border-top:2px dashed rgba(46,42,91,.18);font-size:.9rem;color:var(--tinta-2)}
.h-res-aviso .ph-duotone{flex:none;font-size:1.3rem;color:var(--lila-4)}
.h-pop{animation:h-pop .55s var(--ease)}
@keyframes h-pop{0%{opacity:0;transform:translateY(16px) scale(.97)}100%{opacity:1;transform:none}}
@keyframes h-entra{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* Teléfonos de ayuda */
.h-sos{background:#fff;border:2px solid var(--rosa-4);border-radius:var(--r-s);padding:16px 18px;margin:0 0 16px}
.h-sos-tit{display:flex;gap:8px;align-items:flex-start;font-weight:800;color:var(--rosa-4);margin:0 0 10px}
.h-sos-tit .ph-duotone{flex:none;font-size:1.4rem}
.h-tels{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.h-tels li{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;font-size:.95rem;color:var(--tinta-2)}
.h-tel{display:inline-flex;align-items:center;gap:8px;min-width:170px;padding:8px 14px;border-radius:12px;border:var(--borde);background:var(--rosa);color:var(--tinta);
    font-family:var(--fh);font-size:1.12rem;box-shadow:var(--pega-s);transition:transform .25s var(--ease),box-shadow .25s}
.h-tel:hover{transform:translate(-2px,-2px);box-shadow:var(--pega);color:var(--tinta)}
.h-tel b{font-weight:800}
.h-tels li span{flex:1 1 220px}

/* FAQ (sobre .p-faq de psi.css) */
.h-faq{margin-top:56px}

/* ---- 2) Hitos ---- */
.h-edades{display:flex;flex-wrap:wrap;gap:8px}
.h-edades [role="tab"]{font-family:var(--fh);font-weight:700;font-size:1rem;padding:9px 16px;border-radius:999px;border:var(--borde);background:#fff;color:var(--tinta);cursor:pointer;
    transition:transform .25s var(--ease),background .2s,box-shadow .25s}
.h-edades [role="tab"]:hover{transform:translateY(-2px);background:var(--mante-2)}
.h-edades [role="tab"][aria-selected="true"]{background:var(--tinta);color:#fff;box-shadow:var(--pega-s);transform:rotate(-2deg)}
.h-edades{display:none}
.h-js .h-edades{display:flex}
@media(max-width:700px){
    .h-js .h-edades{flex-wrap:nowrap;overflow-x:auto;padding:4px 4px 10px;margin:0 -4px;scrollbar-width:none;
        -webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);mask-image:linear-gradient(90deg,#000 88%,transparent)}
    .h-edades::-webkit-scrollbar{display:none}
    .h-edades [role="tab"]{flex:0 0 auto}
}
.h-panel{margin-top:28px;outline:none}
.h-js .h-panel{display:none}
.h-js .h-panel.on{display:block}
.h-panel-tit{font-size:clamp(1.4rem,2.8vw,1.9rem);margin-bottom:.2em}
.h-areas{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.h-area{background:#fff;border:var(--borde);border-radius:var(--r);box-shadow:var(--pega-s);padding:18px 20px}
.h-area h3{display:flex;align-items:center;gap:10px;font-size:1.12rem;margin-bottom:12px}
.h-area-ic{flex:none;width:42px;height:42px;border-radius:12px;border:var(--borde);display:grid;place-items:center;background:var(--lila)}
.h-area-ic .ph-duotone{vertical-align:0}
.h-area-movimiento .h-area-ic{background:var(--cielo)}.h-area-lenguaje .h-area-ic{background:var(--mante)}
.h-area-social .h-area-ic{background:var(--rosa-2)}.h-area-juego .h-area-ic{background:var(--menta)}
.h-lista{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.h-lista li{display:flex;gap:10px;align-items:flex-start;color:var(--tinta-2);font-size:.98rem;line-height:1.45}
.h-lista .ph-duotone{flex:none;margin-top:3px;color:var(--menta-4)}
.h-consultar{margin-top:20px;background:var(--rosa-3);border:var(--borde);border-radius:var(--r);padding:18px 22px;box-shadow:var(--pega-s)}
.h-consultar h3{display:flex;align-items:center;gap:10px;font-size:1.15rem}
.h-consultar h3 .ph-duotone{color:var(--rosa-4)}
.h-consultar p{margin:0 0 8px;color:var(--tinta-2)}
.h-consultar ul{margin:0 0 10px;padding-left:1.2em;color:var(--tinta-2)}
.h-consultar li{margin:.25em 0}
.h-consultar li::marker{color:var(--rosa-4)}
.h-consultar-pie{font-weight:700;color:var(--tinta)!important;margin:0!important}
@media(max-width:760px){.h-areas{grid-template-columns:1fr}}
.h-enlaces a{background:#fff}

/* ---- 3) Rutinas ---- */
.h-rutinas{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:34px;align-items:start}
.h-vista{position:sticky;top:96px;padding-top:34px}
.h-vista-tit{display:flex;align-items:center;gap:8px;font-family:var(--fh);font-weight:700;margin:0 0 12px;color:var(--tinta-2)}
.h-vista-tit .ph-duotone{color:var(--rosa-4)}
@media(max-width:980px){.h-rutinas{grid-template-columns:1fr;gap:10px}.h-vista{position:static;padding-top:10px}}

.h-seg{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;background:#fff;border:var(--borde);border-radius:18px;padding:5px;box-shadow:var(--pega-s)}
.h-seg-op{position:relative;cursor:pointer}
.h-seg-op input{position:absolute;opacity:0;pointer-events:none}
.h-seg-op span{display:flex;align-items:center;justify-content:center;gap:7px;padding:10px 8px;border-radius:13px;font-family:var(--fh);font-weight:700;font-size:1rem;transition:background .2s}
.h-seg-op span .ph-duotone{color:var(--lila-4)}
.h-seg-op:hover span{background:var(--lila)}
.h-seg-op input:checked + span{background:var(--mante)}
.h-seg-op input:focus-visible + span{outline:3px solid var(--rosa);outline-offset:2px}
@media(max-width:420px){.h-seg-op span{flex-direction:column;gap:2px;font-size:.9rem;padding:8px 4px}}

.h-input{width:100%;font:inherit;font-size:1.02rem;font-weight:600;padding:12px 14px;border-radius:14px;border:var(--borde);background:#fff;color:var(--tinta)}
.h-input:focus{outline:3px solid var(--rosa);outline-offset:2px}
.h-input::placeholder{color:var(--tinta-3);font-weight:500}

.h-sugeridas{display:flex;flex-wrap:wrap;gap:8px}
.h-chip{display:inline-flex;align-items:center;gap:7px;font:inherit;font-weight:700;font-size:.93rem;padding:7px 10px 7px 12px;border-radius:999px;border:2px solid var(--tinta);
    background:#fff;color:var(--tinta);cursor:pointer;transition:transform .25s var(--ease),background .2s}
.h-chip:hover{transform:translateY(-2px);background:var(--mante-2)}
.h-chip .ph-duotone{font-size:1.2rem;color:var(--lila-4)}
.h-chip .h-chip-m{font-size:.95rem;color:var(--tinta-3)}
.h-chip[aria-pressed="true"]{background:var(--menta)}
.h-chip[aria-pressed="true"] .h-chip-m{color:var(--menta-4)}
.h-propia{display:flex;gap:8px;margin-top:14px}
.h-propia .h-input{flex:1;min-width:0}
.h-propia .p-btn{flex:none}

.h-tareas{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;counter-reset:tarea}
.h-tarea{display:flex;align-items:center;gap:8px;padding:8px 8px 8px 10px;background:#fff;border:2px solid var(--tinta);border-radius:var(--r-s);counter-increment:tarea}
.h-tarea::before{content:counter(tarea);flex:none;width:24px;font-family:var(--fh);font-weight:800;color:var(--tinta-3);text-align:center}
.h-t-ic{flex:none;width:34px;height:34px;border-radius:10px;border:2px solid var(--tinta);display:grid;place-items:center;background:var(--lila);font-size:1.2rem}
.h-t-ic .ph-duotone{vertical-align:0}
.h-tarea:nth-child(4n+1) .h-t-ic{background:var(--mante)}.h-tarea:nth-child(4n+2) .h-t-ic{background:var(--menta)}
.h-tarea:nth-child(4n+3) .h-t-ic{background:var(--rosa-2)}.h-tarea:nth-child(4n+4) .h-t-ic{background:var(--cielo)}
.h-t-tx{flex:1;min-width:0;font-weight:700;overflow-wrap:anywhere}
.h-mini{flex:none;width:36px;height:36px;border-radius:10px;border:2px solid var(--tinta);background:#fff;color:var(--tinta);display:grid;place-items:center;cursor:pointer;font-size:1.1rem;
    transition:background .2s,transform .2s var(--ease)}
.h-mini .ph-duotone{vertical-align:0}
.h-mini:hover:not(:disabled){background:var(--mante);transform:translateY(-1px)}
.h-mini:disabled{opacity:.3;cursor:default}
.h-vacio{color:var(--tinta-3);font-style:italic;margin:4px 0 0}
.h-estado{min-height:1.5em;margin:12px 0 0;font-weight:700;color:var(--menta-4)}

/* La hoja (vista previa y lo que se imprime) */
.h-hoja{background:#fff;border:var(--borde);border-radius:var(--r);box-shadow:var(--pega);padding:20px 20px 14px;overflow:hidden}
.h-hoja-head{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.h-hoja-ic{flex:none;width:58px;height:58px;border-radius:18px;border:var(--borde);display:grid;place-items:center;font-size:2rem;background:var(--mante);transform:rotate(-5deg)}
.h-hoja-ic .ph-duotone{vertical-align:0}
.h-hoja-tarde .h-hoja-ic{background:var(--cielo)}.h-hoja-noche .h-hoja-ic{background:var(--lila-2)}
.h-hoja-head small{display:block;font-weight:800;color:var(--tinta-3);font-size:.9rem}
.h-hoja-head h2{margin:0;font-size:clamp(1.4rem,3vw,2rem);overflow-wrap:anywhere}
.h-tabla{width:100%;border-collapse:separate;border-spacing:0 6px;table-layout:fixed}
.h-tabla th,.h-tabla td{padding:0;text-align:center;vertical-align:middle}
.h-tabla thead th{font-family:var(--fh);font-weight:800;font-size:.85rem;color:var(--tinta-2);padding-bottom:2px;width:8.8%}
.h-tabla thead th.h-tabla-t{width:auto;text-align:left;padding-left:6px}
.h-tabla abbr{text-decoration:none;border:0;cursor:default}
.h-d-c{display:none}
.h-tabla tbody th{text-align:left;font-weight:700;font-size:.95rem;padding:6px 6px 6px 8px;border-radius:12px 0 0 12px}
.h-tabla tbody td{padding:6px 0}
.h-tabla tbody td:last-child{border-radius:0 12px 12px 0}
.h-tabla tbody tr:nth-child(5n+1) > *{background:var(--mante-2)}.h-tabla tbody tr:nth-child(5n+2) > *{background:var(--menta-2)}
.h-tabla tbody tr:nth-child(5n+3) > *{background:var(--rosa-3)}.h-tabla tbody tr:nth-child(5n+4) > *{background:var(--cielo-2)}.h-tabla tbody tr:nth-child(5n+5) > *{background:var(--lila)}
.h-celda{display:flex;align-items:center;gap:8px;min-width:0}
.h-celda > span:last-child{min-width:0;overflow-wrap:break-word;hyphens:auto;-webkit-hyphens:auto;line-height:1.25}
.h-celda .h-t-ic{background:#fff;width:32px;height:32px}
.h-casilla{display:inline-block;width:24px;height:24px;border-radius:8px;border:2px solid var(--tinta);background:#fff}
.h-tabla-vacia{padding:22px 10px!important;color:var(--tinta-3);font-style:italic;background:var(--lila);border-radius:12px}
.h-hoja-pie{margin:10px 0 0;text-align:center;font-size:.82rem;font-weight:700;color:var(--tinta-3)}
@media(max-width:560px){
    .h-hoja{padding:14px 10px 10px}
    .h-d-l{display:none}.h-d-c{display:inline}
    .h-tabla thead th{width:8.6%}
    .h-tabla tbody th{font-size:.86rem;padding:5px 4px 5px 6px}
    .h-celda{gap:6px}
    .h-celda .h-t-ic{width:26px;height:26px;font-size:1rem;border-radius:8px}
    .h-casilla{width:19px;height:19px;border-radius:6px}
    .h-hoja-ic{width:48px;height:48px;font-size:1.6rem}
}
@media(max-width:420px){
    .h-tarea{gap:6px;padding:6px}
    .h-tarea::before{width:18px;font-size:.85rem}
    .h-mini{width:32px;height:32px}
    .h-t-ic{width:30px;height:30px}
}

/* ---- Piezas comunes de las herramientas 4, 5 y 6 ---- */
.h-campos{display:grid;gap:14px}
.h-campos-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.h-campo{display:flex;flex-direction:column;gap:6px;min-width:0}
.h-campo > span{font-family:var(--fh);font-weight:700;font-size:.98rem;color:var(--tinta)}
.h-campo > span i{font-family:var(--ff);font-style:normal;font-weight:500;color:var(--tinta-3);font-size:.9rem}
.h-campo-full{grid-column:1 / -1}
textarea.h-input{resize:vertical;min-height:3.2em;line-height:1.45}
select.h-input{appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:40px;
    background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1.5 1.5 7 7l5.5-5.5' fill='none' stroke='%232E2A5B' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 14px center}
.h-input[aria-invalid="true"]{border-color:var(--rosa-4);background-color:var(--rosa-3)}
input[type="date"].h-input,input[type="time"].h-input{min-height:50px}
.h-checks-1{grid-template-columns:1fr}
.h-linea{display:block;height:1.6em;border-bottom:2px dotted rgba(46,42,91,.35)}
.h-hoja-h3{display:flex;align-items:center;gap:8px;font-size:1.08rem;margin:18px 0 10px}
.h-vista-pie{margin:12px 0 0;font-size:.9rem;color:var(--tinta-3)}
.h-error{margin:16px 0 0;padding:10px 14px;border-radius:var(--r-s);background:var(--rosa-3);border:2px solid var(--rosa-4);color:var(--rosa-4);font-weight:700}
.h-legend{display:flex;align-items:center;gap:6px;padding:0;margin:0 0 10px;font-family:var(--fh);font-weight:700;font-size:.95rem;color:var(--tinta-2)}
.h-legend .ph-duotone{color:var(--menta-4)}
@media(max-width:600px){.h-campos-2{grid-template-columns:1fr}}

/* ---- 4) Plan de pantallas ---- */
.h-etapas-5{grid-template-columns:repeat(5,1fr)}
@media(max-width:900px){.h-etapas-5{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.h-etapas-5{grid-template-columns:repeat(2,1fr)}.h-etapas-5 .h-etapa:last-child:nth-child(odd){grid-column:1 / -1}}
.h-reco{margin-top:24px;border:var(--borde);border-radius:var(--r);box-shadow:var(--pega);padding:20px 22px;background:var(--lila)}
.h-reco-a1{background:var(--rosa-3)}.h-reco-a2{background:var(--mante-2)}.h-reco-a3{background:var(--menta-2)}.h-reco-a4{background:var(--cielo-2)}
.h-js .h-reco{display:none}
.h-js .h-reco.on{display:block}
.h-reco-head{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.h-reco-head small{display:block;font-weight:800;font-size:.88rem;color:var(--tinta-3)}
.h-reco-head h3{margin:2px 0 0;font-size:clamp(1.15rem,2.2vw,1.4rem)}
.h-reco-ic{flex:none;width:56px;height:56px;border-radius:18px;border:var(--borde);background:#fff;display:grid;place-items:center;box-shadow:var(--pega-s);transform:rotate(-5deg)}
.h-reco-ic .ph-duotone{vertical-align:0}
.h-reco .h-lista li{color:var(--tinta)}

.h-plan{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:34px;align-items:start}
@media(max-width:980px){.h-plan{grid-template-columns:1fr;gap:10px}}
.h-propias{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.h-propias[hidden]{display:none}
.h-propia-item{display:flex;align-items:center;gap:10px;padding:8px 8px 8px 12px;background:var(--menta-2);border:2px solid var(--tinta);border-radius:var(--r-s);font-weight:700}
.h-propia-item > .ph-duotone{flex:none;color:var(--mante-4);font-size:1.2rem}
.h-propia-item span{flex:1;min-width:0;overflow-wrap:anywhere}
.h-nota-edad{margin:12px 0 0;padding:10px 14px;border-radius:var(--r-s);background:var(--mante-2);border:2px solid var(--mante);color:var(--mante-4);font-weight:700;font-size:.95rem}
.h-nota-edad[hidden]{display:none}

.h-hoja-plan .h-hoja-ic{background:var(--cielo)}
.h-plan-tiempos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.h-plan-t{display:flex;align-items:center;gap:10px;padding:10px 12px;border:2px solid var(--tinta);border-radius:var(--r-s);background:var(--mante-2)}
.h-plan-t + .h-plan-t{background:var(--menta-2)}
.h-plan-t .h-t-ic{background:#fff}
.h-plan-t small{display:block;font-weight:700;font-size:.8rem;color:var(--tinta-3);line-height:1.2}
.h-plan-t b{display:block;font-family:var(--fh);font-weight:800;font-size:1rem;line-height:1.2}
.h-plan-normas{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.h-plan-normas li{display:flex;align-items:center;gap:10px;padding:6px 10px 6px 6px;border-radius:12px;font-weight:700;font-size:.95rem;line-height:1.3}
.h-plan-normas li:nth-child(4n+1){background:var(--lila)}.h-plan-normas li:nth-child(4n+2){background:var(--menta-2)}
.h-plan-normas li:nth-child(4n+3){background:var(--mante-2)}.h-plan-normas li:nth-child(4n+4){background:var(--rosa-3)}
.h-plan-normas .h-t-ic{background:#fff;width:32px;height:32px}
.h-plan-normas li span:last-child{min-width:0;overflow-wrap:anywhere}
.h-plan-normas .h-plan-vacia{background:none!important;color:var(--tinta-3);font-style:italic;font-weight:500}
.h-plan-reco{display:flex;gap:8px;align-items:flex-start;margin:16px 0 0;padding:10px 12px;border:2px dashed rgba(46,42,91,.3);border-radius:var(--r-s);font-size:.92rem;color:var(--tinta-2)}
.h-plan-reco .ph-duotone{flex:none;font-size:1.3rem;color:var(--mante-4)}
.h-firmas{margin-top:18px}
.h-firmas p{margin:0 0 4px;font-weight:700;font-size:.92rem}
.h-firmas-l{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.h-firmas-l .h-linea{height:2.4em}
.h-firmas-f{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:10px}
.h-firmas-f small{display:block;font-weight:700;font-size:.8rem;color:var(--tinta-3)}
@media(max-width:420px){.h-plan-tiempos{grid-template-columns:1fr}.h-firmas-l{gap:10px}}

/* ---- 5) Registro de conductas ---- */
.h-form{background:#fff;border:var(--borde);border-radius:var(--r);box-shadow:var(--pega);padding:4px 24px 22px}
.h-form .h-paso{margin-top:22px}
.h-reg-barra{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:18px}
.h-reg-barra .h-campo{flex:1 1 280px;max-width:420px}
.h-reg-barra .h-acciones{margin:0}
.h-hoja-reg .h-hoja-ic{background:var(--rosa-2)}
.h-hoja-meta{margin:4px 0 0;font-weight:700;font-size:.92rem;color:var(--tinta-2)}
.h-resumen{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}
.h-resumen[hidden]{display:none}
.h-res-card{border:2px solid var(--tinta);border-radius:var(--r-s);padding:12px 14px;background:var(--lila)}
.h-res-card:nth-child(2){background:var(--cielo-2)}.h-res-card:nth-child(3){background:var(--mante-2)}
.h-res-card h3{display:flex;align-items:center;gap:8px;font-size:1rem;margin:0 0 10px}
.h-res-card h3 .ph-duotone{color:var(--lila-4);font-size:1.25rem}
.h-barras{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px}
.h-barras li{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr) 2ch;align-items:center;gap:8px;font-size:.86rem;line-height:1.2}
.h-barra-l{min-width:0;overflow-wrap:anywhere;color:var(--tinta-2)}
.h-barra-v{height:12px;border-radius:99px;background:#fff;border:1.5px solid var(--tinta);overflow:hidden}
.h-barra-v i{display:block;height:100%;background:var(--lila-3);border-radius:99px}
.h-barras b{text-align:right;font-family:var(--fh)}
.h-barra-max .h-barra-l{color:var(--tinta);font-weight:800}
.h-barra-max .h-barra-v i{background:var(--rosa)}
.h-res-sub{margin:0 0 4px;font-size:.84rem;font-weight:700;color:var(--tinta-3)}
.h-top{margin:0 0 10px;padding-left:1.3em;font-size:.9rem}
.h-top li{margin:2px 0}
.h-top li b{margin-left:6px;font-weight:800;color:var(--tinta-2);white-space:nowrap}
.h-res-dl{margin:0;font-size:.88rem}
.h-res-dl dt{font-weight:700;color:var(--tinta-3);font-size:.82rem}
.h-res-dl dd{margin:0 0 6px;font-weight:700}
@media(max-width:900px){.h-resumen{grid-template-columns:1fr}}

.h-tabla-wrap{overflow-x:auto}
.h-reg-tabla{width:100%;border-collapse:collapse;font-size:.9rem;line-height:1.35}
.h-reg-tabla th,.h-reg-tabla td{border:1.5px solid rgba(46,42,91,.25);padding:8px 9px;text-align:left;vertical-align:top}
.h-reg-tabla thead th{background:var(--tinta);color:#fff;font-family:var(--fh);font-weight:700;font-size:.86rem;border-color:var(--tinta)}
.h-reg-tabla tbody tr:nth-child(even) td{background:var(--lila)}
.h-reg-tabla td b,.h-reg-tabla td span{display:block}
.h-reg-tabla td span{color:var(--tinta-2)}
.h-reg-fecha{white-space:nowrap}
.h-reg-tabla .h-reg-acc{width:52px;text-align:center;vertical-align:middle}
.h-reg-tabla thead th:last-child{width:52px}
.h-fila-msg td{padding:18px 14px;text-align:center;color:var(--tinta-3);font-style:italic;background:var(--rosa-3)!important}
.h-fila-blanco td{height:44px;background:#fff!important}
@media screen and (max-width:700px){
    .h-form{padding:2px 14px 16px}
    .h-fila-blanco{display:none}
    .h-reg-tabla,.h-reg-tabla tbody,.h-reg-tabla tr,.h-reg-tabla td{display:block;width:100%}
    .h-reg-tabla thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
    .h-reg-tabla tbody tr{position:relative;border:2px solid var(--tinta);border-radius:var(--r-s);margin-bottom:10px;overflow:hidden;background:#fff}
    .h-reg-tabla tbody tr:nth-child(even) td{background:none}
    .h-reg-tabla td{border:0;border-bottom:1px dashed rgba(46,42,91,.2);padding:7px 12px}
    .h-reg-tabla td:last-child{border-bottom:0}
    .h-reg-tabla td[data-l]::before{content:attr(data-l);display:block;font-family:var(--fh);font-weight:700;font-size:.78rem;color:var(--tinta-3)}
    .h-reg-tabla td.h-reg-fecha{background:var(--lila)!important;padding-right:56px}
    .h-reg-tabla td.h-reg-fecha b,.h-reg-tabla td.h-reg-fecha span{display:inline;margin-right:8px}
    .h-reg-tabla .h-reg-acc{position:absolute;top:6px;right:6px;width:auto;padding:0;border:0}
    .h-reg-barra .h-acciones .p-btn{flex:1 1 100%}
}

/* ---- 6) Primera consulta ---- */
.h-pasos{list-style:none;margin:0;padding:0;display:flex;gap:8px;flex-wrap:wrap;counter-reset:none}
.h-pasos li{flex:1 1 0;min-width:0}
.h-pasos button{width:100%;display:flex;align-items:center;gap:8px;padding:7px 10px 7px 7px;border-radius:14px;border:2px solid var(--tinta);background:#fff;color:var(--tinta);
    font:inherit;cursor:pointer;transition:background .2s,transform .25s var(--ease)}
.h-pasos button:hover{background:var(--mante-2);transform:translateY(-2px)}
.h-pasos button span{flex:none;width:30px;height:30px;border-radius:10px;border:2px solid var(--tinta);display:grid;place-items:center;font-family:var(--fh);font-weight:800;font-size:.95rem;background:var(--lila)}
.h-pasos button b{font-family:var(--fh);font-weight:700;font-size:.92rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.h-pasos button.ok span{background:var(--menta)}
.h-pasos button[aria-current="step"]{background:var(--tinta);color:#fff;box-shadow:var(--pega-s)}
.h-pasos button[aria-current="step"] span{background:var(--mante);color:var(--tinta)}
.h-progreso{height:8px;margin:14px 0 0;border-radius:99px;background:var(--lila-2);overflow:hidden}
.h-progreso span{display:block;height:100%;width:0;background:var(--rosa);border-radius:99px;transition:width .5s var(--ease-s)}
.h-pasos,.h-progreso,.h-nav-pasos{display:none}
.h-js .h-pasos,.h-js .h-nav-pasos{display:flex}
.h-js .h-progreso{display:block}
.h-js .h-c-paso{display:none}
.h-js .h-c-paso.on{display:block}
.h-c-paso h2{scroll-margin-top:110px;outline:none}
.h-c-paso + .h-c-paso{margin-top:20px}
.h-js .h-c-paso + .h-c-paso{margin-top:0}
.h-cuenta{margin:10px 0 0;font-weight:700;font-size:.9rem;color:var(--menta-4)}
.h-tip{display:flex;gap:10px;align-items:flex-start;margin:16px 0 0;padding:12px 14px;border-radius:var(--r-s);background:var(--cielo-2);border:2px solid var(--cielo);font-size:.95rem;color:var(--tinta-2)}
.h-tip .ph-duotone{flex:none;color:var(--cielo-4);font-size:1.3rem}
.h-tip a{font-weight:700}
.h-js .h-explica{display:none}
.h-js .h-explica.on{display:block;animation:h-entra .4s var(--ease-s)}
.h-explica{margin-top:16px;background:#fff;border:var(--borde);border-radius:var(--r);box-shadow:var(--pega-s);padding:16px 18px}
.h-campo-nota{margin-top:20px}
.h-nav-pasos{align-items:center;justify-content:space-between;gap:12px;margin-top:28px;padding-top:18px;border-top:2px dashed rgba(46,42,91,.18)}
.h-nav-pasos[hidden]{display:none}
.h-nav-pasos .p-btn[hidden]{display:none}
.h-nav-pasos .p-btn:disabled{opacity:.35;cursor:default;transform:none;box-shadow:var(--pega-s)}
.h-nav-n{font-family:var(--fh);font-weight:700;color:var(--tinta-3);font-size:.95rem}
.h-vista-consulta{display:none;margin-top:22px}
.h-js .h-en-hoja .h-vista-consulta{display:block}
.h-hoja-consulta .h-hoja-ic{background:var(--menta)}
.h-hoja-consulta{padding:22px 24px 16px}
.h-hoja-datos{display:grid;grid-template-columns:1.3fr 1.3fr .8fr;gap:10px;margin:0 0 4px}
.h-hoja-datos > div{border:2px solid var(--tinta);border-radius:var(--r-s);padding:8px 12px;background:var(--lila);min-width:0}
.h-hoja-datos dt{font-weight:700;font-size:.8rem;color:var(--tinta-3)}
.h-hoja-datos dd{margin:0;font-weight:800;overflow-wrap:anywhere}
.h-hoja-datos .h-linea{height:1.3em}
.h-ck{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 16px}
.h-ck li{display:flex;gap:8px;align-items:flex-start;font-size:.92rem;line-height:1.35;color:var(--tinta-2)}
.h-ck li.si{color:var(--tinta)}
.h-ck-box{flex:none;width:20px;height:20px;border-radius:6px;border:2px solid var(--tinta);background:#fff;display:grid;place-items:center;font-size:.8rem;margin-top:1px}
.h-ck li.si .h-ck-box{background:var(--menta)}
.h-ck-box .ph-duotone{vertical-align:0}
.h-preg{margin:0;padding-left:1.4em;display:flex;flex-direction:column;gap:10px}
.h-preg li{font-weight:700;font-size:.95rem;line-height:1.35}
.h-preg li::marker{color:var(--rosa-4);font-family:var(--fh)}
.h-preg .h-linea{margin-top:4px}
.h-huecos{display:flex;flex-direction:column;gap:4px}
.h-hoja-nota{padding:10px 14px;border-radius:var(--r-s);background:var(--mante-2);font-size:.95rem}
.h-hoja-nota p{margin:0 0 .4em;overflow-wrap:anywhere}
.h-hoja-nota p:last-child{margin:0}
.h-hoja-vacio{margin:0 0 4px;color:var(--tinta-3);font-style:italic;font-size:.92rem}
@media(max-width:760px){.h-ck{grid-template-columns:1fr}.h-hoja-datos{grid-template-columns:1fr}}
@media(max-width:600px){
    .h-pasos{gap:6px;flex-wrap:nowrap}
    .h-pasos button{justify-content:center;padding:6px 4px}
    .h-pasos button b{display:none}
    .h-hoja-consulta{padding:14px 12px 10px}
    .h-nav-pasos .p-btn{padding:.65em 1em}
}

/* ---- Móvil general ---- */
@media(max-width:600px){
    .h-aviso{margin-top:-20px;font-size:.9rem;padding:12px 14px}
    .h-paso{margin:28px 0 12px}
    .h-paso-n{width:38px;height:38px;font-size:1.1rem}
    .h-res{padding:20px 16px 18px}
    .h-res-head{gap:12px}
    .h-res-ic{width:52px;height:52px;font-size:1.6rem}
    .h-res-acts .p-btn{width:100%}
    .h-acciones .p-btn{flex:1 1 100%}
    .h-tel{min-width:0}
}

/* ---- Movimiento reducido ---- */
@media(prefers-reduced-motion:reduce){
    .h-card,.h-etapa,.h-check,.h-check-box,.h-check-box .ph-duotone,.h-chip,.h-mini,.h-tel,.h-edades [role="tab"]{transition:none!important}
    .h-pop,.h-aviso-pulso,.h-js .h-cuerpo.on,.h-card:hover .h-card-ic{animation:none!important}
    .h-card:hover,.h-etapa:hover,.h-chip:hover,.h-edades [role="tab"]:hover{transform:none}
    .h-pasos button,.h-progreso span{transition:none!important}
    .h-js .h-explica.on{animation:none!important}
    .h-pasos button:hover{transform:none}
}

/* ---- Impresión de la rutina: solo la hoja, a página completa ---- */
@media print{
    .h-pag-rutinas body{background:#fff;padding:0!important}
    .h-pag-rutinas body > *:not(.p-main){display:none!important}
    .h-pag-rutinas .h-noprint,.h-pag-rutinas noscript,.h-pag-rutinas .ad-slot{display:none!important}
    .h-pag-rutinas .p-main{min-height:0}
    .h-pag-rutinas .p-wrap{max-width:none;padding:0}
    .h-pag-rutinas .h-tool{margin:0}
    .h-pag-rutinas .h-rutinas{display:block}
    .h-pag-rutinas .h-vista{position:static;padding:0}
    .h-hoja{box-shadow:none;border:2px solid #2E2A5B;border-radius:18px;padding:8mm 8mm 5mm;-webkit-print-color-adjust:exact;print-color-adjust:exact;break-inside:avoid}
    .h-hoja *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
    .h-hoja-head{margin-bottom:5mm}
    .h-hoja-head h2{font-size:26pt}
    .h-hoja-head small{font-size:12pt}
    .h-hoja-ic{width:20mm;height:20mm;font-size:30pt}
    .h-d-l{display:inline!important}.h-d-c{display:none!important}
    .h-tabla{border-spacing:0 2.2mm}
    .h-tabla thead th{font-size:12pt;width:8.4%}
    .h-tabla tbody th{font-size:14pt;padding:2.5mm 2mm 2.5mm 3mm}
    .h-tabla tbody td{padding:2.5mm 0}
    .h-celda{gap:3mm}
    .h-celda .h-t-ic{width:11mm;height:11mm;font-size:17pt;border-radius:3mm}
    .h-casilla{width:9mm;height:9mm;border-radius:2.5mm}
    .h-hoja-pie{font-size:9pt;margin-top:3mm}
    @page{size:A4 portrait;margin:10mm}
}

/* ---- Impresión del plan de pantallas, el registro y la primera consulta: solo la hoja ---- */
@media print{
    .h-pag-print body{background:#fff;padding:0!important}
    .h-pag-print body > *:not(.p-main){display:none!important}
    .h-pag-print .h-noprint,.h-pag-print noscript,.h-pag-print .ad-slot{display:none!important}
    .h-pag-print .p-main{min-height:0}
    .h-pag-print .p-wrap{max-width:none;padding:0}
    .h-pag-print .h-tool{margin:0}
    .h-pag-print .h-plan{display:block}
    .h-pag-print .h-cuerpo{display:block!important;animation:none!important}
    .h-pag-print .h-vista{position:static;padding:0;margin:0;display:block!important}
    .h-pag-print .h-hoja-reg,.h-pag-print .h-hoja-consulta{break-inside:auto;padding:6mm 6mm 4mm}
    .h-pag-print .h-hoja-reg .h-hoja-head h2,.h-pag-print .h-hoja-consulta .h-hoja-head h2{font-size:20pt}
    .h-pag-print .h-hoja-reg .h-hoja-ic,.h-pag-print .h-hoja-consulta .h-hoja-ic{width:15mm;height:15mm;font-size:22pt}
    .h-pag-print .h-hoja-h3{font-size:12.5pt;margin:4mm 0 2mm;break-after:avoid}
    /* Plan de pantallas */
    .h-pag-print .h-plan-t b{font-size:13pt}
    .h-pag-print .h-plan-normas li{font-size:12pt;padding:1.6mm 3mm 1.6mm 1.6mm}
    .h-pag-print .h-plan-normas .h-t-ic{width:9mm;height:9mm;font-size:14pt}
    .h-pag-print .h-firmas-l .h-linea{height:12mm}
    /* Registro */
    .h-pag-print .h-resumen{display:grid;grid-template-columns:repeat(3,1fr);gap:3mm}
    .h-pag-print .h-resumen[hidden]{display:none}
    .h-pag-print .h-res-card{break-inside:avoid;padding:2.5mm 3mm}
    .h-pag-print .h-barras li{font-size:8.5pt}
    .h-pag-print .h-tabla-wrap{overflow:visible}
    .h-pag-print .h-reg-tabla{font-size:9pt}
    .h-pag-print .h-reg-tabla thead{display:table-header-group}
    .h-pag-print .h-reg-tabla th,.h-pag-print .h-reg-tabla td{padding:1.8mm 2mm}
    .h-pag-print .h-reg-tabla tr{break-inside:avoid}
    .h-pag-print .h-fila-blanco{display:table-row!important}
    .h-pag-print .h-fila-blanco td{height:14mm}
    /* Primera consulta */
    .h-pag-print .h-vista-consulta{display:block!important}
    .h-pag-print .h-hoja-datos{grid-template-columns:1.3fr 1.3fr .8fr}
    .h-pag-print .h-ck{grid-template-columns:repeat(2,1fr)}
    .h-pag-print .h-ck li,.h-pag-print .h-preg li{font-size:10.5pt;break-inside:avoid}
    .h-pag-print .h-hoja-nota{font-size:10.5pt}
    .h-pag-print .h-linea{height:7mm}
}
