/* Layout: cabecera tinta con "tres puertas" por público; debajo, herramientas como fichas de expediente.
   Bodoni = la vieja escuela; Instrument Sans + mono = lo nuevo. */
/* Layout: barra y portada en azul marino CIBERLEX; herramientas como fichas sobre fondo frío.
   Bodoni = la tradición del Derecho; la marca y el azul eléctrico = la tecnología. */
:root{
  --ink:#041a35;        /* azul marino del logotipo (C) */
  --navy:#0b3563;       /* azul acero */
  --paper:#e3e9f0; --surface:#f2f5f9; --text:#081322; --muted:#33445a; --line:#c3cedb; --field:#9fb0c3;
  --seal:#0a7fd6;       /* azul de acción (botones, acentos sobre claro) */
  --seal-soft:#e4f1fc;
  --glow:#1ab0ff;       /* azul eléctrico de "LEX" (acentos sobre oscuro) */
  --slate:#3a4a5d;      /* gris pizarra de la X */
  --go:#1f7a5a; --go-soft:#dcefe6; --stop:#b23a2e; --stop-soft:#f6e1de;
  --on-ink:#e8f0f8;
  --display:"Bodoni Moda","Didot",Georgia,serif;
  --body:"Instrument Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --ink:#020f22;--navy:#0b2a4f;--paper:#071426;--surface:#0d1e35;--text:#e3ecf6;--muted:#97a8bd;--line:#1f3350;--field:#2e4868;
  --seal:#2b8fe0;--seal-soft:#0f2a48;--glow:#3cc2ff;--slate:#8a9bb0;
  --go:#5cc79b;--go-soft:#163328;--stop:#e9796b;--stop-soft:#3a1e1a;--on-ink:#e3ecf6;color-scheme:dark}}
:root[data-theme="dark"]{
  --ink:#020f22;--navy:#0b2a4f;--paper:#071426;--surface:#0d1e35;--text:#e3ecf6;--muted:#97a8bd;--line:#1f3350;--field:#2e4868;
  --seal:#2b8fe0;--seal-soft:#0f2a48;--glow:#3cc2ff;--slate:#8a9bb0;
  --go:#5cc79b;--go-soft:#163328;--stop:#e9796b;--stop-soft:#3a1e1a;--on-ink:#e3ecf6;color-scheme:dark}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0}
img{max-width:100%}
[hidden]{display:none!important}
body{background:var(--paper);color:var(--text);font:400 1rem/1.6 var(--body)}
.wrap{max-width:1140px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
h1,h2,h3{font-family:var(--display);font-weight:500;text-wrap:balance;margin:0;letter-spacing:-.01em}
a{color:inherit}
.label{font:500 .72rem/1.2 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--seal)}
:focus-visible{outline:2px solid var(--seal);outline-offset:3px}
button{font:inherit;cursor:pointer}
.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 18px;font:600 .92rem/1 var(--body);text-decoration:none;border:1px solid var(--seal);background:var(--seal);color:#fff;border-radius:999px;transition:transform .15s}
.btn:hover{transform:translateY(-1px)}
.btn.ghost{background:transparent;color:inherit}
.small{font-size:.82rem;color:var(--muted)}
.top .small{color:inherit;opacity:.7}

/* cabecera */
.top{background:var(--ink);color:var(--on-ink)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:18px;flex-wrap:wrap}
.brand{display:flex;align-items:baseline;gap:10px;text-decoration:none}
.brand b{font:700 1.5rem/1 var(--display);letter-spacing:.02em}
.brand span{font:500 .7rem/1 var(--mono);letter-spacing:.2em;text-transform:uppercase;opacity:.7}
.navphone{font:500 .95rem/1 var(--mono);user-select:all}
.hero{padding-block:44px 56px;display:grid;gap:30px}
.hero h1{font-size:clamp(2.2rem,5.2vw,3.9rem);line-height:1.05;max-width:18ch}
.hero h1 em{color:var(--seal);font-style:italic}
.doors{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.door{text-align:left;background:transparent;color:inherit;border:1px solid color-mix(in srgb,var(--on-ink) 25%,transparent);border-radius:14px;padding:18px;display:grid;gap:6px;transition:background .2s,border-color .2s}
.door b{font:500 1.35rem/1.15 var(--display)}
.door span{font-size:.88rem;opacity:.75}
.door .label{color:var(--seal)}
.door:hover{border-color:var(--seal)}
.door[aria-pressed="true"]{background:var(--seal);border-color:var(--seal);color:#fff}
.door[aria-pressed="true"] .label{color:#fff;opacity:.85}
.pitch{min-height:3.2em;max-width:62ch;font-size:1.06rem;opacity:.9;margin:0}

/* tira de herramientas */
.chips{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:var(--paper);border-bottom:1px solid var(--line)}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--paper)}
.chips .wrap{display:flex;gap:8px;overflow-x:auto;padding-block:12px;scrollbar-width:none}
.chip{flex:none;text-decoration:none;font:500 .85rem/1 var(--body);padding:9px 14px;border:1px solid var(--line);border-radius:999px;background:var(--surface);transition:all .2s}
.chip.hot{border-color:var(--seal);background:var(--seal-soft);color:var(--text)}

section{padding-block:64px;scroll-margin-top:60px}
.head{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap;margin-bottom:28px}
.head h2{font-size:clamp(1.8rem,3.6vw,2.6rem);max-width:22ch}
.head p{max-width:46ch;color:var(--muted);margin:0}
.for{display:inline-flex;gap:6px;margin-bottom:10px;flex-wrap:wrap}
.for i{font:500 .68rem/1 var(--mono);font-style:normal;letter-spacing:.1em;text-transform:uppercase;padding:5px 8px;border-radius:999px;border:1px solid var(--line);color:var(--muted)}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:clamp(18px,3vw,32px)}
.alt{background:var(--surface);border-block:1px solid var(--line)}
.alt .panel{background:var(--paper)}

/* calculadora */
.calc{display:grid;grid-template-columns:1fr 1.1fr;gap:32px}
.calc>*{min-width:0}
form{display:grid;gap:14px}
label{font-weight:600;font-size:.9rem;display:grid;gap:6px}
select,input,textarea{font:inherit;padding:11px 12px;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:10px;width:100%}
.alt select,.alt input,.alt textarea{background:var(--surface)}
textarea{min-height:84px;resize:vertical}
.out{display:grid;gap:12px;align-content:start}
.big{font:500 clamp(1.8rem,4vw,2.6rem)/1.1 var(--display)}
.bar{height:10px;background:var(--line);border-radius:99px;overflow:hidden}
.bar i{display:block;height:100%;background:var(--go);border-radius:99px;transition:width .5s}
.state{display:inline-flex;font:600 .78rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:7px 10px;border-radius:999px;justify-self:start}
.ok{background:var(--go-soft);color:var(--go)} .warn{background:var(--seal-soft);color:var(--seal)} .bad{background:var(--stop-soft);color:var(--stop)}
.ref{font:400 .78rem/1.5 var(--mono);background:var(--seal-soft);padding:10px 12px;border-left:2px solid var(--seal);border-radius:0 8px 8px 0}

/* mitos */
.quiz{display:grid;grid-template-columns:1.3fr 1fr;gap:32px;align-items:start}
.quiz>*{min-width:0}
.card{background:var(--ink);color:var(--on-ink);border-radius:18px;padding:28px;display:grid;gap:18px;min-height:250px}
.card q{font:500 clamp(1.4rem,3vw,1.9rem)/1.25 var(--display);quotes:"«" "»"}
.answers{display:flex;gap:10px;flex-wrap:wrap}
.answers button{flex:1;min-width:120px;padding:14px;border-radius:12px;border:1px solid color-mix(in srgb,var(--on-ink) 30%,transparent);background:transparent;color:inherit;font-weight:700;letter-spacing:.04em}
.answers button:hover{border-color:var(--seal)}
.answers button.right{background:var(--go);border-color:var(--go);color:#fff}
.answers button.wrong{background:var(--stop);border-color:var(--stop);color:#fff}
.expl{font-size:.95rem;opacity:.9;margin:0}
.score{display:grid;gap:12px}
.dots{display:flex;gap:6px;flex-wrap:wrap}
.dots i{width:14px;height:14px;border-radius:50%;background:var(--line)}
.dots i.r{background:var(--go)} .dots i.w{background:var(--stop)}

/* glosario */
.latin{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.flip{perspective:900px;background:none;border:0;padding:0;height:170px;text-align:left;color:inherit}
.flip .in{position:relative;width:100%;height:100%;transition:transform .5s;transform-style:preserve-3d}
.flip.on .in{transform:rotateY(180deg)}
.face{position:absolute;inset:0;backface-visibility:hidden;border-radius:14px;padding:18px;display:grid;align-content:space-between;border:1px solid var(--line);background:var(--surface)}
.face b{font:500 italic 1.3rem/1.2 var(--display)}
.back{transform:rotateY(180deg);background:var(--seal-soft);border-color:var(--seal)}
.back p{margin:0;font-size:.92rem}

/* comunidad */
.comm{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.comm .panel{display:grid;gap:10px;align-content:start}
.comm h3{font-size:1.35rem}
.comm p{margin:0;color:var(--muted)}
.soon{font:500 .68rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--go)}

/* materias */
.areas{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.area{border-top:2px solid var(--text);padding-top:12px}
.area h3{font-size:1.25rem;margin-bottom:6px}
.area p{margin:0;font-size:.9rem;color:var(--muted)}

/* diagnóstico */
.diag{display:grid;grid-template-columns:1fr 1.2fr;gap:40px}
.diag>*{min-width:0}
.result{border:1px solid var(--seal);background:var(--seal-soft);padding:18px;display:grid;gap:10px;border-radius:12px}
.msg{font:400 .85rem/1.5 var(--mono);white-space:pre-wrap;background:var(--surface);border:1px dashed var(--line);padding:10px;border-radius:8px;user-select:all}

/* planes */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:stretch}
.plan{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:26px;display:grid;gap:14px;align-content:start;position:relative}
.plan.feat{background:var(--ink);color:var(--on-ink);border-color:var(--ink)}
.plan.feat .small,.plan.feat li{color:inherit;opacity:.85}
.price{font:500 2.6rem/1 var(--display);font-variant-numeric:tabular-nums}
.price small{font:500 .85rem/1 var(--body);opacity:.7;margin-left:4px}
.plan ul{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:.92rem}
.plan li{display:grid;grid-template-columns:18px 1fr;gap:8px;color:var(--text)}
.plan li::before{content:"✓";color:var(--go);font-weight:700}
.plan li.no{color:var(--muted)} .plan li.no::before{content:"–";color:var(--muted)}
.plan.feat li::before{color:var(--seal)}
.tag{position:absolute;top:-11px;right:22px;background:var(--seal);color:#fff;font:600 .7rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;padding:6px 10px;border-radius:999px}
.amts{display:flex;gap:8px;flex-wrap:wrap}
.amts button{padding:10px 14px;border-radius:999px;border:1px solid var(--line);background:var(--paper);color:var(--text);font:600 .9rem/1 var(--mono)}
.amts button[aria-pressed="true"]{background:var(--seal);border-color:var(--seal);color:#fff}
.note{border:1px solid var(--go);background:var(--go-soft);color:var(--text);padding:12px 14px;border-radius:10px;font-size:.88rem}
.lock{font:500 .68rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--seal)}

/* trueque */
.swap{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.swap>*{min-width:0}
.books{display:grid;gap:10px}
.book{display:grid;grid-template-columns:44px 1fr auto;gap:14px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.book .spine{height:58px;border-radius:3px 6px 6px 3px;background:var(--ink);border-left:5px solid var(--seal)}
.book b{font:500 1.05rem/1.2 var(--display);display:block}
.book button{padding:9px 12px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--muted);font-weight:600;font-size:.82rem}
.book button:not(:disabled){border-color:var(--seal);color:var(--text);background:var(--seal-soft)}
.book button:disabled{cursor:not-allowed}
@media (max-width:900px){.plans,.swap{grid-template-columns:1fr}}

footer{background:var(--ink);color:var(--on-ink);padding-block:40px}
.foot{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;font-size:.88rem;opacity:.85}
.foot div{display:grid;gap:4px}
.ph{background:color-mix(in srgb,var(--seal) 25%,transparent);padding:0 4px;border-radius:3px}

@media (max-width:900px){
  .calc,.quiz,.diag{grid-template-columns:1fr}
  .latin{grid-template-columns:repeat(2,1fr)}
  .comm{grid-template-columns:1fr}
  .areas{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:620px){
  .doors{grid-template-columns:1fr}
  .latin{grid-template-columns:1fr}
  .areas{grid-template-columns:1fr}
  .navphone{display:none}
  section{padding-block:48px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* ===== Añadidos para la plataforma ===== */
.navright{display:flex;align-items:center;gap:16px}
.btn.sm{padding:9px 14px;font-size:.85rem}
.top .btn.ghost{border-color:color-mix(in srgb,var(--on-ink) 40%,transparent)}
.link{font-weight:600;color:var(--seal);text-decoration:none}
.link:hover{text-decoration:underline}
.center{text-align:center;margin-top:18px}
.lead{color:var(--muted);font-size:1.02rem;max-width:44ch}
.callbox{margin-top:20px;display:grid;gap:8px}
.bigphone{font:500 1.6rem/1.1 var(--mono);text-decoration:none;user-select:all}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.check{display:flex;gap:10px;align-items:flex-start;font-weight:500}
.check input{width:auto;margin-top:4px}
.btnrow{display:flex;gap:8px;flex-wrap:wrap}
.note-error{border-color:var(--stop)!important;background:var(--stop-soft)!important}
.fname{font-family:var(--display);font-size:1.3rem}
footer a{text-decoration:none;opacity:.9}
footer a:hover{text-decoration:underline}
label.light{font-weight:500}
.plan .small{margin:0}
.plan>.btn{justify-self:start}
.card .btn,.score .btn,form>.btn{justify-self:start}
.diag h2{font-size:clamp(1.8rem,3.6vw,2.5rem)}
.result h3{font-size:1.3rem}.result p{margin:0}
.fund{margin-top:20px;display:grid;gap:16px}
.fund h3{font-size:1.4rem;margin-top:6px}
.fundgrid{display:grid;grid-template-columns:1.2fr 1.4fr 1fr auto;gap:12px;align-items:end}
.steps3{display:grid;gap:14px;align-content:start}
.steps3>div:not(.ref){display:grid;grid-template-columns:40px 1fr;column-gap:12px}
.steps3 b{grid-row:span 2;font:500 1.8rem/1 var(--display);color:var(--seal)}
.steps3 h3{font-size:1.2rem}
.steps3 p{margin:0;color:var(--muted);font-size:.92rem}
.books .book{grid-template-columns:44px 1fr}
@media (max-width:900px){.fundgrid{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.row2,.fundgrid{grid-template-columns:1fr}.navright .navphone{display:none}}

/* ===== Páginas internas (entrar, panel, admin) ===== */
.bar-top{background:var(--ink);color:var(--on-ink)}
.authbox{max-width:440px;margin:48px auto;display:grid;gap:18px}
.authbox h1{font-size:2.2rem}
.tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}
.tabs button{flex:none;background:none;border:0;border-bottom:2px solid transparent;padding:12px 14px;color:var(--muted);font-weight:600}
.tabs button[aria-selected="true"]{color:var(--text);border-color:var(--seal)}
.view{padding-block:28px}
.grid2{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.item{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px;display:grid;gap:8px;align-content:start}
.item h3{font-size:1.15rem}
.item p{margin:0;color:var(--muted);font-size:.9rem}
.item .btn{justify-self:start}
.pill{display:inline-flex;font:500 .68rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:5px 8px;border-radius:999px;border:1px solid var(--line);color:var(--muted);justify-self:start}
.pill.ok{border-color:var(--go);color:var(--go);background:var(--go-soft)}
.pill.warn{border-color:var(--seal);color:var(--seal);background:var(--seal-soft)}
.pill.bad{border-color:var(--stop);color:var(--stop);background:var(--stop-soft)}
.stat{display:flex;gap:24px;flex-wrap:wrap}
.stat div{display:grid;gap:2px}
.stat b{font:500 2rem/1 var(--display);font-variant-numeric:tabular-nums}
.tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
table{border-collapse:collapse;width:100%;font-size:.9rem}
th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}
th{font:500 .7rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
td button{padding:6px 10px;border-radius:999px;border:1px solid var(--line);background:var(--paper);color:var(--text);font-size:.8rem;font-weight:600}
.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.filters button{padding:8px 12px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--text);font-size:.85rem}
.filters button[aria-pressed="true"]{background:var(--ink);color:var(--on-ink);border-color:var(--ink)}
.empty{padding:28px;text-align:center;color:var(--muted);border:1.5px dashed var(--line);border-radius:14px}
.legal{max-width:760px;margin:0 auto;padding-block:40px}
.legal h1{font-size:2.4rem;margin-bottom:16px}
.legal h2{font-size:1.4rem;margin:28px 0 8px}
.legal p,.legal li{color:var(--text);max-width:68ch}
.draft{background:var(--seal-soft);border-left:3px solid var(--seal);padding:12px 14px;border-radius:0 8px 8px 0}
h1,h2,h3{line-height:1.12}
.btn{gap:0}
.steps3 .btn{justify-self:start}
.fname .byline{font:500 .75rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;opacity:.7;margin-left:6px}

/* ===== Identidad CIBERLEX ===== */
.top{background:radial-gradient(1100px 520px at 85% 35%,color-mix(in srgb,var(--glow) 22%,transparent),transparent 65%),linear-gradient(160deg,var(--ink) 0%,var(--navy) 120%)}
.bar-top,footer{background:var(--ink)}
.brand{align-items:center;gap:10px}
.brand .b-ic{height:38px;width:auto}
.brand .b-wm{height:17px;width:auto}
.brand span{align-self:center}
.top .label,.top .door .label,.hero h1 em{color:var(--glow)}
.door[aria-pressed="true"]{background:var(--seal);border-color:var(--seal)}
.door:hover{border-color:var(--glow)}
.hero-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:center}
.hero-grid>*{min-width:0}
.hero-logo{max-width:100%;height:auto;filter:drop-shadow(0 18px 40px color-mix(in srgb,var(--glow) 25%,transparent))}
.btn{background:var(--seal);border-color:var(--seal)}
.top .btn.ghost{color:var(--on-ink)}
.chip.hot{border-color:var(--seal);background:var(--seal-soft)}
.card{background:linear-gradient(160deg,var(--ink),var(--navy))}
.book .spine{background:linear-gradient(180deg,var(--navy),var(--ink));border-left-color:var(--glow)}
.foot .flogo{height:22px;width:auto;margin-bottom:6px}
.authlogo{width:200px;height:auto}
@media (max-width:900px){.hero-grid{grid-template-columns:1fr}.hero-logo{max-width:260px}}
@media (max-width:620px){.brand span{display:none}.hero-logo{display:none}}
.top .door[aria-pressed="true"] .label{color:#fff;opacity:.85}

/* ===== Simulador de rentabilidad (admin) ===== */
.sim{display:grid;gap:18px}
.sim-bar{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}
.sim-h{font-size:clamp(1.6rem,3vw,2.2rem);margin-top:4px}
.sim-bar p{margin:6px 0 0;max-width:60ch}
.sim-acc{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.sim-acc .filters{margin:0}
.sim-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.sim-k{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 16px;display:grid;gap:4px}
.sim-k b{font:500 1.7rem/1.1 var(--display);font-variant-numeric:tabular-nums}
.sim-k.pos b{color:var(--go)} .sim-k.neg b{color:var(--stop)}
.sim-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:18px;align-items:start}
.sim-col{display:grid;gap:12px;min-width:0}
.sim-out{position:sticky;top:12px}
.sim-box{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 16px;display:grid;gap:10px;min-width:0}
.sim-box>summary{cursor:pointer;font-weight:600;list-style:none;display:flex;justify-content:space-between}
.sim-box>summary::after{content:"+";color:var(--seal);font-family:var(--mono)}
.sim-box[open]>summary::after{content:"–"}
.sim-t{font-size:.86rem}
.sim-t td,.sim-t th{padding:7px 8px}
.sim-t .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.sim-t tr.pos td,.sim-t td.pos{color:var(--go)} .sim-t tr.neg td,.sim-t td.neg{color:var(--stop)}
.sim-in{width:96px;padding:6px 8px;border-radius:8px;font-variant-numeric:tabular-nums}
.sim-txt{width:100%;min-width:150px}
select.sim-in{width:auto}
.sim-u{margin-left:4px;color:var(--muted);font-size:.8rem}
.sim-n{font-size:.74rem;color:var(--muted);margin-top:2px;max-width:42ch}
.sim-f{font:500 .68rem/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;padding:5px 6px;border-radius:999px;border:1px solid var(--line);width:auto;background:var(--paper);color:var(--text)}
.sim-f-supuesto{border-color:var(--seal);background:var(--seal-soft)}
.sim-f-verificado{border-color:var(--go);background:var(--go-soft)}
.sim-f-real{border-color:var(--glow);background:var(--ink);color:var(--on-ink)}
.sim-x{background:none;border:0;color:var(--stop);font-size:.8rem;font-weight:600}
.sim-be .bar{margin:4px 0}
.sim-eq{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.sim-eq b{font:500 2.6rem/1 var(--display);color:var(--seal)}
.sim-eq span{color:var(--muted);max-width:32ch}
.sim-bad{color:var(--stop);margin:0}
.sim-svg{width:100%;height:auto;display:block}
.sim-svg text{font:11px var(--body);fill:var(--muted)}
.sim-svg .lab{fill:var(--text);font-weight:600}
.sim-svg .g{stroke:var(--line);stroke-width:1}
.sim-svg .z{stroke:var(--muted);stroke-width:1;stroke-dasharray:4 4}
.sim-svg .l{stroke:var(--seal);stroke-width:2.5;fill:none}
.sim-svg .e{stroke:var(--go);stroke-width:1.5;stroke-dasharray:3 3}
.sim-svg .d{fill:var(--glow);stroke:var(--surface);stroke-width:2}
#sim-json{width:100%;font:.78rem var(--mono)}
@media (max-width:1000px){.sim-grid{grid-template-columns:1fr}.sim-out{position:static}.sim-kpis{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.sim-kpis{grid-template-columns:1fr}}
.sim-box>*{min-width:0}.sim-box>summary{gap:12px}
@media (max-width:1000px){.sim-grid{grid-template-columns:minmax(0,1fr)}}
.sim-box{grid-template-columns:minmax(0,1fr)}
.sim-row2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:12px}
.sim-grid{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}
@media (max-width:1000px){.sim-row2{grid-template-columns:minmax(0,1fr)}}
@media (max-width:1000px){.sim-grid{grid-template-columns:minmax(0,1fr)}}
#sim-planes th:not(:first-child),#sim-er th:not(:first-child){text-align:right}
/* Botones con texto y precio: conservar espacios y no estirarse a todo lo ancho */
.btn{display:inline-block;text-align:center;line-height:1.2}
#upsell .btn,.plan .btn{justify-self:start}

/* Enlaces visibles dentro del texto (aviso de privacidad, términos, etc.) */
main a:not(.btn):not(.chip):not(.link):not(.brand),.check a,footer a{color:var(--seal);text-decoration:underline;text-underline-offset:2px;font-weight:600}
footer a{color:var(--glow)}
/* Campos de formulario con borde más visible sobre el fondo suave */
input,select,textarea{border-color:var(--field)}
