/* Plan Personal de 30 dias V1 — identidad alineada con el Mapa (deep / gold / cyan). Mobile-first. Sin fuentes externas. */
:root { --deep:#0d1126; --panel:rgba(20,26,58,.78); --line:rgba(255,255,255,.14); --gold:#ffd700; --gold-deep:#e0a800; --cyan:#00cfff; --azul:#7fb8ff; --texto:#eef1fb; --tenue:#a7add0; --ok:#43d9a0;
  --font:"Poppins","Montserrat","Segoe UI",system-ui,-apple-system,Roboto,sans-serif; }
* { box-sizing:border-box; }
html, body { max-width:100%; overflow-x:hidden; }
body { margin:0; font-family:var(--font); color:var(--texto); background:var(--deep); line-height:1.55; font-size:16px; }
.fondo { position:fixed; inset:0; z-index:-1; background:radial-gradient(60vw 40vh at 85% -5%,rgba(138,43,226,.28),transparent 70%),radial-gradient(60vw 40vh at 0% 100%,rgba(0,207,255,.18),transparent 70%),var(--deep); }
a { color:var(--cyan); } :focus-visible { outline:2px solid var(--cyan); outline-offset:3px; } [hidden] { display:none !important; }
.cab { padding:14px 16px; } .marca { text-decoration:none; font-weight:800; }
.marca-nombre { background:linear-gradient(90deg,var(--gold),var(--cyan)); -webkit-background-clip:text; background-clip:text; color:transparent; }
main { max-width:760px; margin:0 auto; padding:8px 16px 40px; }
.sobretitulo { margin:8px 0 4px; color:var(--gold); font-weight:700; font-size:.85rem; letter-spacing:.06em; text-transform:uppercase; }
h1 { font-size:clamp(1.6rem,6.2vw,2.3rem); line-height:1.15; margin:4px 0 12px; }
.grad { background:linear-gradient(90deg,var(--gold),var(--cyan)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.lead { color:var(--azul); font-size:1.05rem; }
.centro { text-align:center; } .nota { color:var(--tenue); font-size:.92rem; }
.tarjeta { background:var(--panel); border:1px solid var(--line); border-radius:16px; padding:16px; margin:12px 0; }
.etq { display:block; font-weight:600; margin-bottom:6px; }
input[type=text], textarea { width:100%; padding:13px; font:inherit; color:var(--texto); background:rgba(255,255,255,.06); border:1px solid var(--line); border-radius:12px; margin-bottom:12px; }
textarea { min-height:84px; resize:vertical; }
.btn { display:inline-block; padding:13px 20px; border-radius:999px; border:0; font:inherit; font-weight:700; cursor:pointer; text-decoration:none; text-align:center; min-height:48px; }
.btn-pri { width:100%; color:#14161f; background:linear-gradient(90deg,var(--gold),var(--gold-deep)); }
.btn-sec { color:var(--texto); background:transparent; border:1px solid var(--cyan); }
.btn-link { background:none; color:var(--tenue); text-decoration:underline; }
.btn:disabled { opacity:.5; cursor:not-allowed; }
.msg { min-height:1.4em; margin:8px 0 0; font-size:.92rem; color:var(--tenue); } .msg.err { color:#ff8a5c; }
.aviso { margin-top:18px; padding:12px 14px; border-left:3px solid var(--gold); background:rgba(255,255,255,.04); border-radius:8px; font-size:.88rem; color:var(--tenue); } .aviso p { margin:6px 0; }
.bloque-titulo { font-size:1.2rem; margin:28px 0 10px; padding-bottom:8px; border-bottom:1px solid var(--line); }
.acciones { display:grid; gap:10px; }

/* resumen */
.resumen h2 { margin:0 0 6px; font-size:1.05rem; }
.barra { height:10px; border-radius:999px; background:rgba(255,255,255,.12); overflow:hidden; margin:8px 0; }
.barra > div { height:100%; background:linear-gradient(90deg,var(--cyan),var(--gold)); }
.chips { display:flex; flex-wrap:wrap; gap:6px; margin-top:6px; }
.chip { padding:3px 10px; border-radius:999px; border:1.5px solid var(--cyan); font-size:.8rem; font-weight:700; color:#e8fbff; }
.chip.cero { border-color:var(--line); color:var(--tenue); }

/* hoy */
.hoy { border:2px solid var(--gold); border-radius:20px; padding:16px; background:linear-gradient(160deg,rgba(255,215,0,.13),rgba(20,26,58,.86)); margin:12px 0; }
.hoy-etq { margin:0; color:var(--gold); font-weight:800; letter-spacing:.08em; text-transform:uppercase; font-size:.8rem; }
.hoy h2 { margin:4px 0 4px; font-size:1.35rem; line-height:1.2; }
.hoy-meta { display:flex; flex-wrap:wrap; gap:8px; margin:6px 0 10px; }
.pill { padding:3px 10px; border-radius:999px; background:rgba(255,255,255,.08); font-size:.82rem; font-weight:700; }
.campo { margin:10px 0; } .campo b { display:block; color:var(--gold); font-size:.82rem; letter-spacing:.04em; text-transform:uppercase; }
.campo p { margin:2px 0 0; }
.accion-txt { font-size:1.08rem; font-weight:600; }
.tipbox { padding:10px 12px; border-radius:12px; background:rgba(0,207,255,.09); border:1px solid rgba(0,207,255,.3); font-size:.92rem; }
.check { display:flex; align-items:center; gap:12px; margin:14px 0 4px; padding:12px 14px; border-radius:14px; border:1.5px solid var(--gold); background:rgba(13,17,38,.6); cursor:pointer; font-weight:700; }
.check input { width:26px; height:26px; accent-color:var(--gold); flex:none; }
.check.hecho { border-color:var(--ok); }
.sig { margin-top:10px; color:var(--tenue); font-size:.92rem; } .sig strong { color:var(--texto); }

/* lista de dias */
.semana { margin:14px 0; } .semana h3 { margin:0 0 4px; font-size:1.02rem; } .semana p { margin:0 0 8px; color:var(--tenue); font-size:.9rem; }
.dias { display:grid; grid-template-columns:repeat(7,1fr); gap:6px; }
.dia { min-height:52px; padding:4px 2px; border-radius:12px; border:1px solid var(--line); background:var(--panel); color:var(--texto); font:inherit; font-weight:700; cursor:pointer; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; }
.dia small { font-size:.62rem; font-weight:600; color:var(--tenue); }
.dia.hecho { border-color:var(--ok); color:var(--ok); } .dia.sel { border-color:var(--gold); box-shadow:0 0 0 2px rgba(255,215,0,.35); }
.dia.rev { border-style:dashed; }
.pie { text-align:center; padding:20px 16px 36px; color:var(--tenue); font-size:.9rem; } .pie a { color:var(--tenue); }
@media (min-width:640px) { .btn-pri { width:auto; min-width:260px; } .acciones { grid-template-columns:repeat(2,1fr); } .dia { min-height:60px; } }
@media print { body { background:#fff; color:#111; } .fondo,.cab,.pie,.acciones,.btn { display:none !important; } }

/* ---- Mi Plan V1.1 ---- */
.cab { display:flex; justify-content:space-between; align-items:center; }
input[type=email] { width:100%; padding:13px; font:inherit; color:var(--texto); background:rgba(255,255,255,.06); border:1px solid var(--line); border-radius:12px; margin-bottom:12px; }
#lg-codigo { letter-spacing:.35em; font-size:1.4rem; text-align:center; }
.pregunta { font-size:1.15rem; margin:6px 0 12px; }
.opciones { display:grid; gap:10px; }
.opciones.num { grid-template-columns:repeat(6,1fr); gap:8px; }
.opciones.num .opcion { text-align:center; padding:14px 0; font-weight:700; }
.opciones.num .extremos { grid-column:1 / -1; margin:0 0 4px; }
.opcion { text-align:left; padding:14px; font:inherit; color:var(--texto); background:rgba(255,255,255,.05); border:1px solid var(--line); border-radius:12px; cursor:pointer; min-height:48px; }
.opcion:hover, .opcion.sel { border-color:var(--gold); background:rgba(255,215,0,.08); }
.checkin fieldset { border:1px solid var(--line); border-radius:12px; margin:10px 0; padding:8px 12px; }
.checkin legend { font-weight:600; padding:0 6px; }
.ck-o { display:block; padding:6px 0; }
.ck.num { display:flex; flex-wrap:wrap; gap:6px 14px; }
.ck.num legend { width:100%; }
.ck.num .ck-o { display:inline-block; }
.tipbox.hito { border-color:var(--gold); }
.porque summary { cursor:pointer; font-weight:600; } .porque ul { padding-left:20px; color:var(--tenue); }
.recursos { display:grid; gap:10px; } .recurso h3 { margin:0 0 4px; font-size:1.05rem; } .recurso .btn { margin-top:6px; }
#rc-cuerpo h3 { margin:16px 0 6px; color:var(--gold); font-size:1rem; }
@media print { .fondo, .cab, .pie, #hoy, #checkin, .acciones, #recursos, #comunidad, .bloque-titulo:not(:first-of-type) { display:none !important; } body { background:#fff; color:#000; } }

.guia-banner{border-left:4px solid #f5b942}.recomendado .btn{margin-left:6px}
@media print{.cab,.pie,#rc-volver,#rc-imprimir,#btn-salir-cab{display:none!important}body{background:#fff}#rc-cuerpo{border:0;box-shadow:none}}

.biblioteca .btn{margin:6px 6px 6px 0}.biblioteca input{width:100%;max-width:420px}.otro-correo{margin:10px 0}

/* Login: reenviar codigo / otro correo */
.lg-acc { display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin:12px 0 4px; }
.btn-sec { border:1.5px solid var(--cyan,#00cfff); background:transparent; color:var(--texto,#eef1fb); padding:10px 16px; border-radius:12px; font:inherit; font-weight:700; cursor:pointer; min-height:44px; }
.btn-sec:disabled { opacity:.55; cursor:not-allowed; }
.msg-dest { color:var(--tenue,#a7add0); font-size:.9rem; margin:4px 0 0; }

.chk-titular { display:flex; gap:8px; align-items:flex-start; margin:12px 0; font-size:.92rem; color:var(--texto,#eef1fb); }
.chk-titular input { width:auto; margin-top:4px; }
#p-recuperar input:not([type=checkbox]) { width:100%; padding:13px; font:inherit; color:var(--texto); background:rgba(255,255,255,.06); border:1px solid var(--line); border-radius:12px; margin-bottom:12px; }
#p-recuperar #rec-wa { display:inline-block; text-decoration:none; text-align:center; }

/* ===== Sprint B (2026-10-17): experiencia simple del comprador — MI PLAN · MI BIBLIOTECA · AYUDA ===== */
.nav-comprador { display:flex; gap:6px; max-width:760px; margin:6px auto 0; padding:6px 16px 0; position:sticky; top:0; z-index:20; background:linear-gradient(180deg,var(--deep) 70%,transparent); }
.nav-tab { flex:1 1 0; min-height:46px; padding:8px 6px; border-radius:14px; border:1px solid var(--line); background:var(--panel); color:var(--texto); font:inherit; font-weight:700; font-size:.92rem; cursor:pointer; }
.nav-tab.on { border-color:var(--gold); color:var(--gold); box-shadow:0 0 0 2px rgba(255,215,0,.25); }
.hoy-area { font-weight:700; font-size:1.2rem; }
.hoy .campo p.accion-txt { font-size:1.12rem; font-weight:600; }
.hoy-recurso { margin:14px 0 6px; padding:12px 14px; border-radius:14px; background:rgba(13,17,38,.55); border:1px solid rgba(0,207,255,.3); }
.hoy-recurso-etq { display:block; color:var(--cyan); font-size:.78rem; letter-spacing:.06em; text-transform:uppercase; }
.hoy-recurso-tit { margin:4px 0 10px; font-weight:700; }
.hoy .btn { width:100%; margin-top:8px; }
.hoy .btn-link { width:auto; }
.hecho-txt { margin:12px 0 0; color:var(--ok); font-weight:700; }
.hoy-detalle, .mas-detalle { margin-top:12px; }
.hoy-detalle summary, .mas-detalle summary, .nivel summary, #cal-box summary, #prio-box summary, #p-ayuda summary { cursor:pointer; font-weight:700; min-height:44px; display:flex; align-items:center; }
.resumen-prio { margin:0 0 4px; font-weight:700; }
.nivel { padding:6px 16px; }
.sem-nav { display:flex; justify-content:space-between; margin:6px 0; }
.sem-nav .btn { min-height:44px; }
.sem-dia { display:grid; grid-template-columns:auto 1fr auto; gap:4px 10px; align-items:center; width:100%; min-height:52px; margin:6px 0; padding:8px 12px; text-align:left; border-radius:12px; border:1px solid var(--line); background:var(--panel); color:var(--texto); font:inherit; cursor:pointer; }
.sem-dia.hecho { border-color:var(--ok); } .sem-dia.sel { border-color:var(--gold); box-shadow:0 0 0 2px rgba(255,215,0,.3); }
.sem-n { font-weight:800; color:var(--gold); } .sem-acc { font-size:.9rem; } .sem-est { font-size:.78rem; color:var(--tenue); white-space:nowrap; } .sem-dia.hecho .sem-est { color:var(--ok); }
#p-biblioteca .bloque-titulo { font-size:1.1rem; }
@media (max-width:420px) { .sem-dia { grid-template-columns:1fr auto; } .sem-acc { grid-column:1 / -1; order:3; } }

/* POST-LANDING EXPERIENCE V2: Mi Biblioteca visual + acceso */
.lg-revisa { margin: 0 0 10px; }
.bib-tiles { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin: 6px 0 14px; }
@media (min-width: 720px) { .bib-tiles { grid-template-columns: repeat(4, 1fr); } }
.bib-tile { display: flex; flex-direction: column; align-items: center; gap: 2px; min-height: 96px; padding: 14px 8px; border-radius: 16px; border: 1px solid var(--line); color: var(--texto); font: inherit; cursor: pointer; background: linear-gradient(150deg, rgba(138,43,226,.38), rgba(20,26,58,.85)); }
.bib-libro { background: linear-gradient(150deg, rgba(255,215,0,.26), rgba(20,26,58,.85)); }
.bib-audio { background: linear-gradient(150deg, rgba(0,207,255,.30), rgba(20,26,58,.85)); }
.bib-rec { background: linear-gradient(150deg, rgba(67,217,160,.28), rgba(20,26,58,.85)); }
.bib-tile-ico { font-size: 1.9rem; line-height: 1.1; }
.bib-tile strong { font-size: .95rem; text-align: center; }
.bib-tile-n { font-size: .78rem; color: var(--tenue); text-align: center; }
.rec-fila { display: flex; gap: 10px; align-items: flex-start; }
.rec-fila .rec-ico { font-size: 1.6rem; line-height: 1.2; }
.rec-fila h3 { margin: 0 0 2px; }

/* CEO VISUAL FIX V1: acciones en lineas cortas, amplitud del catalogo en Mi Biblioteca, guias plegadas */
.accion-txt .lin { margin: 0 0 4px; }
.accion-txt .lin-sec, .dia-extra, .inicio-txt .lin-sec { color: var(--tenue); font-size: .92rem; }
.bib-amplitud { margin: 4px 0 12px; padding: 14px 12px; border-radius: 16px; border: 1px solid rgba(255,215,0,.4); background: linear-gradient(150deg, rgba(138,43,226,.30), rgba(20,26,58,.88)); }
.bib-amp-etq { margin: 0 0 8px; text-align: center; color: var(--gold); font-weight: 800; letter-spacing: .06em; font-size: .78rem; }
.bib-cifras { list-style: none; display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 0 0 8px; padding: 0; }
.bib-cifras li { text-align: center; padding: 8px 4px; border-radius: 12px; background: rgba(255,255,255,.06); border: 1px solid var(--line); }
.bib-cifras strong { display: block; font-size: clamp(1.15rem, 5vw, 1.7rem); line-height: 1.1; color: var(--gold); }
.bib-cifras span { font-size: .68rem; font-weight: 700; letter-spacing: .04em; color: var(--texto); }
.guias-box summary { cursor: pointer; font-weight: 700; }

/* MI BIBLIOTECA V2: Biblioteca Completa (boton grande) + Desarrollo Personal (accesos y buscador al catalogo unico) */
a.bib-tile { text-decoration: none; }
.biblioteca { text-align: center; padding: 18px 16px 16px; border: 1px solid rgba(255,215,0,.45); background: linear-gradient(160deg, rgba(138,43,226,.32), rgba(20,26,58,.92)); box-shadow: 0 14px 40px rgba(255,215,0,.12); }
.bib-grande { width: 100%; min-height: 68px; padding: 18px 16px; font-size: 1.1rem; letter-spacing: .03em; display: flex; align-items: center; justify-content: center; box-sizing: border-box; box-shadow: 0 12px 34px rgba(255,215,0,.35); }
.bib-grande:hover, .bib-grande:focus-visible { transform: translateY(-1px); box-shadow: 0 16px 40px rgba(255,215,0,.5); }
.bib-tile { transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease; }
.bib-tile:hover, .bib-tile:focus-visible { transform: translateY(-2px); border-color: var(--gold); box-shadow: 0 10px 26px rgba(0,0,0,.4); }
.bib-tile:active { transform: scale(.98); }
@media (max-width: 420px) { .bib-buscar-fila .btn-pri { flex: 1 1 100%; } }
@media (min-width: 640px) { .btn-pri.bib-grande { width: 100%; } }
.bib-sec-txt { margin: 8px 0 0; text-align: center; }
.bib-buscar-fila { display: flex; gap: 10px; flex-wrap: wrap; }
.bib-buscar-fila input { flex: 1 1 220px; min-height: 48px; box-sizing: border-box; }
.bib-buscar-fila .btn-pri { flex: 0 0 auto; width: auto; min-width: 140px; }
.bib-buscar-fila input { background: rgba(255,255,255,.07); color: var(--texto); border: 1px solid var(--line); border-radius: 12px; padding: 0 14px; font: inherit; }
.bib-buscar-fila input::placeholder { color: var(--tenue); }
.bib-buscar-fila input:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
