
/* Layout: asistente guiado. Una pregunta por pantalla con botones grandes; luego "Tu plan" con tarjetas cortas
   y detalle plegado; un buscador siempre arriba. Tipografía grande para gente mayor. */
:root{
  --bg:#f3f5f8; --paper:#ffffff; --ink:#15202e; --ink-2:#4e5d70; --line:#d5dde7;
  --azul:#1a4d8f; --azul-ink:#ffffff; --celeste:#e2eefa;
  --rojo:#b1382c; --rojo-bg:#fbe8e5; --verde:#1d7549; --verde-bg:#e2f3e9; --ambar:#8f6300; --ambar-bg:#fff2cc;
  --foro:#56478a; --foro-bg:#eeeaf8;
  --display:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --body:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){
  --bg:#0f141b; --paper:#182029; --ink:#e9eef4; --ink-2:#aab6c5; --line:#2b3643;
  --azul:#8fb9ec; --azul-ink:#0f141b; --celeste:#1b2b41;
  --rojo:#f08b7f; --rojo-bg:#3a1f1b; --verde:#7fd4a5; --verde-bg:#153120; --ambar:#f1c45c; --ambar-bg:#3a2e0d;
  --foro:#c5b6f1; --foro-bg:#2a2441; color-scheme:dark }}
:root[data-theme="dark"]{
  --bg:#0f141b; --paper:#182029; --ink:#e9eef4; --ink-2:#aab6c5; --line:#2b3643;
  --azul:#8fb9ec; --azul-ink:#0f141b; --celeste:#1b2b41;
  --rojo:#f08b7f; --rojo-bg:#3a1f1b; --verde:#7fd4a5; --verde-bg:#153120; --ambar:#f1c45c; --ambar-bg:#3a2e0d;
  --foro:#c5b6f1; --foro-bg:#2a2441; color-scheme:dark }
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:19px;line-height:1.55}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--paper)}
a{color:var(--azul)}
h1,h2,h3,h4{font-family:var(--display);line-height:1.15;text-wrap:balance;margin:0}
h1{font-size:clamp(1.9rem,5vw,2.8rem);font-weight:800;letter-spacing:-.02em}
h2{font-size:clamp(1.45rem,3.5vw,1.9rem);font-weight:800}
h3{font-size:1.2rem;font-weight:800}
h4{font-size:1.05rem;font-weight:800}
p{margin:0 0 .8rem}
ul,ol{padding-left:1.3rem;margin:0 0 .8rem}
li{margin-bottom:.35rem}
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:9;background:var(--paper);border-bottom:1px solid var(--line);
  padding-block:.6rem;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.top .in{max-width:860px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr);gap:.6rem}
.top .in>*{min-width:0}
.search input{width:100%}
.row{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;justify-content:space-between}
.brand{font-family:var(--display);font-weight:800;font-size:1.05rem;text-decoration:none;color:var(--ink);border:0;background:none;cursor:pointer;padding:0}
.homebtn{display:inline-flex;align-items:center;gap:.4rem;border:2px solid var(--azul);background:var(--paper);color:var(--azul);font:inherit;font-weight:700;font-size:1rem;border-radius:12px;padding:.5rem .9rem;cursor:pointer;margin:0 0 1rem}
.stamp{font-size:.85rem;color:var(--ink-2)}
.stamp b{color:var(--verde);font-weight:600}
.search{display:flex;gap:.5rem;align-items:center;background:var(--bg);border:2px solid var(--line);border-radius:14px;padding:.3rem .5rem .3rem .9rem}
.search:focus-within{border-color:var(--azul)}
.search input{flex:1;min-width:0;border:0;background:transparent;color:var(--ink);font:inherit;font-size:1.05rem;padding:.5rem 0;outline:none}
.search button{border:0;background:var(--azul);color:var(--azul-ink);font:inherit;font-weight:700;border-radius:10px;padding:.5rem .9rem;cursor:pointer}
.search .x{background:transparent;color:var(--ink-2);font-size:1.3rem;padding:.2rem .5rem}
.wrap{max-width:860px;margin:0 auto;padding-block:1.2rem 5rem;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));min-width:0}
.view{display:none;min-width:0}
.view.on{display:block}
.lead{font-size:1.15rem;color:var(--ink-2);max-width:60ch}
.bigbtns{display:grid;gap:.8rem;margin:1.2rem 0}
.bigbtns.grid2{grid-template-columns:repeat(auto-fill,minmax(min(100%,15rem),1fr));gap:.6rem}
.bigbtns.grid2 .bigbtn:first-child{grid-column:1/-1}
.bigbtn{display:block;width:100%;text-align:left;border:2px solid var(--line);background:var(--paper);color:var(--ink);border-radius:16px;padding:1rem 1.2rem;font:inherit;font-size:1.1rem;cursor:pointer;min-height:64px}
.bigbtn b{display:block;font-family:var(--display);font-weight:800;font-size:1.2rem}
.bigbtn small{display:block;color:var(--ink-2);font-size:.95rem;margin-top:.15rem}
.bigbtn:hover,.bigbtn:focus-visible{border-color:var(--azul);background:var(--celeste)}
.bigbtn.primary{background:var(--azul);color:var(--azul-ink);border-color:var(--azul)}
.bigbtn.primary small{color:var(--azul-ink);opacity:.85}
.bigbtn.primary:hover{filter:brightness(1.08)}
.card{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:1rem 1.2rem;margin-bottom:.8rem;min-width:0}
.badge{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:.15rem .5rem;border-radius:5px;vertical-align:middle;white-space:nowrap}
.b-of{background:var(--verde-bg);color:var(--verde)}
.b-foro{background:var(--foro-bg);color:var(--foro)}
.b-nc{background:var(--ambar-bg);color:var(--ambar)}
.b-cerr{background:var(--rojo-bg);color:var(--rojo)}
.src{font-size:.85rem;color:var(--ink-2)}
.src a{color:var(--azul);text-decoration:none;border-bottom:1px dotted var(--azul)}
.num{font-variant-numeric:tabular-nums;white-space:nowrap}
.note{border-left:5px solid var(--azul);background:var(--celeste);padding:.7rem .9rem;border-radius:0 10px 10px 0;margin:0 0 .8rem}
.warn{border-left:5px solid var(--rojo);background:var(--rojo-bg);padding:.7rem .9rem;border-radius:0 10px 10px 0;margin:0 0 .8rem}
.foro{border-left:5px solid var(--foro);background:var(--foro-bg);padding:.7rem .9rem;border-radius:0 10px 10px 0;margin:.6rem 0 .8rem;font-size:.97rem}
.foro .badge{margin-right:.4rem}
/* wizard */
.prog{font-size:.9rem;color:var(--ink-2);margin-bottom:.5rem}
.bar{height:8px;background:var(--line);border-radius:99px;overflow:hidden;margin-bottom:1.2rem}
.bar i{display:block;height:100%;background:var(--azul);width:0;transition:width .3s}
.q h2{margin-bottom:.4rem}
.q .lead{margin-bottom:1rem}
.wtop{display:flex;justify-content:space-between;align-items:center;gap:.6rem;flex-wrap:wrap;margin-bottom:.5rem}.wtop .prog{margin:0}.wprev{border:2px solid var(--azul);background:var(--paper);color:var(--azul);font:inherit;font-weight:700;font-size:1rem;border-radius:10px;padding:.45rem .8rem;cursor:pointer}
.back{border:0;background:none;color:var(--azul);font:inherit;font-size:1rem;cursor:pointer;padding:.4rem 0;text-decoration:underline}
/* plan */
.summary{background:var(--celeste);border-radius:16px;padding:1rem 1.2rem;margin-bottom:1.2rem}
.summary ul{margin:.4rem 0 .6rem}
.summary .acts{display:flex;gap:.6rem;flex-wrap:wrap}
.btn{border:2px solid var(--azul);background:var(--paper);color:var(--azul);font:inherit;font-weight:700;border-radius:12px;padding:.55rem 1rem;cursor:pointer;font-size:1rem;text-decoration:none;display:inline-block}
.btn.solid{background:var(--azul);color:var(--azul-ink)}
.phase{margin:1.6rem 0 .7rem;display:flex;align-items:baseline;gap:.7rem}
.phase .n{font-family:var(--display);font-weight:800;font-size:1.6rem;color:var(--azul)}
.phase p{margin:0;color:var(--ink-2);font-size:1rem}
details.item{background:var(--paper);border:1px solid var(--line);border-radius:14px;margin-bottom:.7rem;min-width:0}
details.item>summary{cursor:pointer;list-style:none;padding:.9rem 1.1rem;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.2rem .8rem;align-items:center}
details.item>summary::-webkit-details-marker{display:none}
details.item>summary .t{font-family:var(--display);font-weight:800;font-size:1.15rem}
details.item>summary .s{grid-column:1;color:var(--ink-2);font-size:1rem}
details.item>summary .more{grid-column:2;grid-row:1/span 2;color:var(--azul);font-weight:700;font-size:.95rem;white-space:nowrap;border:2px solid var(--azul);border-radius:10px;padding:.35rem .7rem}
details.item[open]>summary .more::after{content:"menos"}
details.item:not([open])>summary .more::after{content:"más"}
details.item>.body{padding:.2rem 1.1rem 1rem;border-top:1px solid var(--line);padding-top:.8rem;overflow-wrap:break-word}
.pasos+.src,.pasos~h4{display:block;margin-top:.6rem}
.kv{display:grid;grid-template-columns:1fr;gap:.2rem .9rem;margin:0 0 .8rem}
.kv dt{color:var(--ink-2);font-weight:700;margin-top:.5rem;font-size:.95rem;text-transform:uppercase;letter-spacing:.04em}
.kv dd{margin:0;min-width:0}
.tbl{overflow-x:auto;margin:0 0 .8rem}
table{border-collapse:collapse;width:100%;font-size:.95rem;min-width:480px}
th,td{text-align:left;padding:.45rem .6rem;border-bottom:1px solid var(--line);vertical-align:top}
th{font-size:.82rem;color:var(--ink-2);text-transform:uppercase;letter-spacing:.05em}
td.num,th.num{text-align:right}
.steps{counter-reset:s;list-style:none;padding:0;display:grid;gap:.5rem}
.steps li{counter-increment:s;display:grid;grid-template-columns:2rem minmax(0,1fr);gap:.5rem;align-items:start}
.steps li::before{content:counter(s);font-family:var(--display);font-weight:800;font-size:1.25rem;color:var(--azul);line-height:1.3}
.steps li>*{grid-column:2;min-width:0}
.check{list-style:none;padding:0}
.check li{display:grid;grid-template-columns:1.5rem minmax(0,1fr);gap:.4rem}
.check li::before{content:"☐";color:var(--azul)}
mark{background:var(--ambar-bg);color:inherit;padding:0 .1em;border-radius:3px}
.empty{color:var(--ink-2);padding:1rem;text-align:center}
.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin:.8rem 0 1rem}
.chip{border:2px solid var(--line);background:var(--paper);color:var(--ink);border-radius:999px;padding:.45rem .9rem;font:inherit;font-size:.95rem;cursor:pointer}
.chip.on{background:var(--celeste);border-color:var(--azul)}
.legend{display:grid;gap:.4rem;font-size:.95rem;margin-top:.6rem}
.legend div{display:flex;gap:.6rem;align-items:flex-start}
.legend .badge{margin-top:.3rem}
.small{font-size:.92rem;color:var(--ink-2)}
.changelog .d{font-weight:700;color:var(--azul);margin-right:.4rem}
.pasos{background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:.8rem 1rem;margin:.2rem 0 1rem}
.pasos h4{margin-bottom:.6rem;color:var(--azul)}
.pasos .steps li p{margin:0}
.cardlink{display:inline-block;border:2px solid var(--azul);background:var(--paper);color:var(--azul);font:inherit;font-weight:700;font-size:.95rem;border-radius:10px;padding:.3rem .7rem;margin:.2rem .2rem .2rem 0;cursor:pointer;text-align:left}
.cardlink:hover{background:var(--celeste)}
.dg{margin:.4rem 0 1rem;padding:0}
.dg svg{width:100%;max-width:420px;height:auto;display:block;margin:0 auto;color:var(--ink)}
.dg figcaption{font-size:.92rem;color:var(--ink-2);text-align:center;max-width:46ch;margin:.5rem auto 0}
.dg .b{fill:var(--paper);stroke:var(--line);stroke-width:1.5}
.dg .k{fill:var(--celeste);stroke:var(--azul);stroke-width:2}
.dg .l{fill:none;stroke:currentColor;stroke-width:1.5}
.dg .t{font-size:14px;font-weight:700;text-anchor:middle;fill:currentColor}
.dg .s{font-size:11.5px;text-anchor:middle;fill:var(--ink-2)}
.dg .st{text-anchor:start}
.dg .en{text-anchor:end}
.dg .lab{font-size:11px;fill:var(--azul);font-weight:700}
.dg.big{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:1rem .6rem}
.legalbox{border:2px solid var(--ambar);background:var(--ambar-bg);border-radius:14px;padding:.9rem 1.1rem;margin:1rem 0}
.legalbox b{display:block;font-family:var(--display);font-size:1.05rem;margin-bottom:.2rem}
.legalbox p{margin:0;font-size:1rem}
.foot{margin-top:2.5rem;padding-top:1rem;border-top:1px solid var(--line);font-size:.92rem;color:var(--ink-2)}
.gl{font:inherit;color:inherit;background:none;border:0;padding:0;margin:0;cursor:help;text-decoration:underline dotted;text-decoration-thickness:2px;text-underline-offset:3px;text-decoration-color:var(--azul)}
.glpop{position:fixed;left:0;right:0;bottom:0;z-index:30;padding:0 16px calc(16px + env(safe-area-inset-bottom,0px))}
.glpop .in{max-width:560px;margin:0 auto;background:var(--paper);color:var(--ink);border:2px solid var(--line);border-radius:16px;padding:1rem 1.1rem;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.glpop .gt{display:block;font-size:1.15rem;margin-bottom:.3rem}.glpop p{margin:.2rem 0 .8rem;font-size:1.05rem;line-height:1.5}
.toast{position:fixed;left:50%;bottom:calc(1rem + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:.6rem 1rem;border-radius:10px;font-size:.95rem;z-index:20}
:focus-visible{outline:3px solid var(--azul);outline-offset:2px}
@media (max-width:600px){ body{font-size:18px} details.item>summary{grid-template-columns:1fr} details.item>summary .more{grid-column:1;grid-row:auto;justify-self:start;margin-top:.3rem} }
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
#budget{margin-top:2rem}.bbanner{border:3px solid var(--ambar);background:var(--ambar-bg);border-radius:14px;padding:1rem 1.1rem;margin:0 0 1rem;font-size:1.05rem;line-height:1.5}.bbanner b{display:block;font-family:var(--display);font-size:1.2rem;margin-bottom:.3rem}#budget h2{margin-bottom:.6rem}#budget h4{margin:1.2rem 0 .4rem;color:var(--azul)}
.bctls{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,14rem),1fr));gap:.6rem;margin:.8rem 0}
.bctl{display:flex;flex-direction:column;gap:.2rem;font-size:.95rem;font-weight:600}.bctl select{font:inherit;font-weight:400;padding:.45rem .5rem;border:2px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink)}
.bchks{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;margin:.2rem 0 1rem;font-size:.95rem}.bchk{display:flex;gap:.4rem;align-items:center}.bchk input{width:1.15rem;height:1.15rem}
#budget td .src{margin-top:.2rem}
#budget table{min-width:0;table-layout:auto}#budget td.num,#budget th.num{white-space:nowrap;font-weight:700;vertical-align:top}#budget td{font-size:.95rem}#budget th.num{text-transform:none;letter-spacing:0;font-size:1.05rem}
@media (max-width:600px){#budget table,#budget tbody,#budget tr,#budget td,#budget th{display:block;width:100%}#budget tr{border-bottom:1px solid var(--line);padding:.5rem 0}#budget td,#budget th{border:0;padding:.15rem 0}#budget td.num,#budget th.num{text-align:left;font-size:1.05rem;color:var(--azul)}#budget tr:first-child{display:none}}
@media print{.noprint,.bctls,.bchks,.top,.search,.homebtn,.back,.cardlink,.btn,.chips,#legal-open,.glpop,.toast{display:none!important}body{background:#fff;color:#000;font-size:12pt}.wrap{max-width:none;padding:0}details.item{break-inside:avoid;border:1px solid #999}details.item>summary .more{display:none}details.item>.body{display:block!important}details.item:not([open])>.body{display:block!important}a{color:#000;text-decoration:underline}.src a::after{content:" (" attr(href) ")";font-size:8pt;word-break:break-all}}

/* Páginas por ficha (generado) */
.pagina-ficha .brand{text-decoration:none;color:var(--on-night)}
.pagina-ficha .wrap{max-width:860px}
.pagina-ficha .miga{font-size:.9rem;color:var(--ink-2);margin:1.2rem 0 .4rem}
.pagina-ficha .miga a{color:inherit}
.pagina-ficha h1{font-family:var(--display);font-size:clamp(1.6rem,4.5vw,2.3rem);line-height:1.15;margin:.2rem 0 .6rem;overflow-wrap:anywhere}
.pagina-ficha .resumen{font-size:1.12rem;margin:0 0 1rem}
.pagina-ficha .ficha-cuerpo{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:1rem 1.2rem;min-width:0;overflow-wrap:anywhere}
.pagina-ficha .ficha-cuerpo img,.pagina-ficha .ficha-cuerpo svg{max-width:100%;height:auto}
.pagina-ficha .ficha-cuerpo table{display:block;max-width:100%;overflow-x:auto}
.pagina-ficha .acciones{display:flex;flex-wrap:wrap;gap:.6rem;margin:1.4rem 0}
.pagina-ficha .acciones a{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.6rem 1.1rem;border-radius:999px;font-weight:700;text-decoration:none;border:1.5px solid currentColor;color:var(--ink)}
.pagina-ficha .acciones a.pri{background:var(--flap,#ff8a6b);border-color:var(--flap,#ff8a6b);color:#0b1733}
.pagina-ficha .rel h2{font-family:var(--display);font-size:1.25rem;margin:2rem 0 .6rem}
.pagina-ficha .rel ul{padding-left:1.2rem;margin:0}
.pagina-ficha .rel li{margin:.35rem 0}
