/* ============================================================
   mlsuite — sitio público (portada, funciones, guías, calculadora, precios).
   Paleta oscura de la landing: lima y cian viven SOLO en el sitio público.
   La app logueada usa v2.css; no mezclar.
   ============================================================ */
:root{
  --bg:#0B0B14; --surface:#14141F; --surface-2:#1A1A28; --panel:#12121C;
  --border:#262637; --border-2:#2E2E44; --line:#1D1D2E;
  --text:#F4F4F8; --text-2:#8E8CA3; --text-3:#6F6C85; --text-soft:#C9C7D6; --text-link:#A9A7BD;
  --indigo:#6366F1; --indigo-soft:#221F45;
  --lime:#A3E635; --lime-hover:#B9F056; --cyan:#22D3EE;
  --profit:#34D399; --loss:#F87171; --warn:#FBBF24;
  --profit-bg:#0B2A20; --profit-bd:#14532D; --loss-bg:#2C1315; --loss-bd:#7F1D1D;
  --warn-bg:#2A1F0C; --warn-bd:#78350F;
  --r-card:14px; --r-panel:20px; --r-ctrl:10px;
  --f-ui:Inter, system-ui, sans-serif; --f-display:'Space Grotesk', sans-serif;
  --f-mono:'JetBrains Mono', monospace;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0; background:var(--bg); color:var(--text); font-family:var(--f-ui);
  -webkit-font-smoothing:antialiased; overflow-x:hidden}
a{color:var(--lime); text-decoration:none}
a:hover{color:var(--lime-hover)}
::selection{background:rgba(163,230,53,.28)}
h1,h2,h3{margin:0}
button{font-family:inherit; cursor:pointer}
.wrap{max-width:1180px; margin:0 auto; padding:0 24px}
.wrap-texto{max-width:780px; margin:0 auto; padding:0 24px}
.mono{font-family:var(--f-mono)}
.tnum{font-variant-numeric:tabular-nums}
.eyebrow{font:600 11px var(--f-mono); letter-spacing:.12em; color:var(--cyan); text-transform:uppercase}

/* ---- Botones ---- */
.btn{height:46px; padding:0 22px; border-radius:var(--r-ctrl); border:1px solid transparent;
  font:600 14.5px var(--f-ui); display:inline-flex; align-items:center; justify-content:center; gap:8px; transition:background .15s}
.btn-lime{background:var(--lime); color:#0B0B14}
.btn-lime:hover{background:var(--lime-hover); color:#0B0B14}
.btn-ghost{background:transparent; color:var(--text); border-color:var(--border-2)}
.btn-ghost:hover{background:var(--surface); color:var(--text)}
.btn-sm{height:36px; padding:0 16px; font-size:13px}

/* ---- Nav ---- */
.nav{position:sticky; top:0; z-index:100; background:rgba(11,11,20,.74);
  backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); border-bottom:1px solid var(--line)}
.nav-inner{height:64px; display:flex; align-items:center; gap:24px}
.logo{display:flex; align-items:center; gap:10px}
.logo .iso{width:26px; height:26px; position:relative; display:inline-block}
.logo .iso b{position:absolute; border-radius:5px; box-sizing:border-box}
.logo .iso .back{top:1px; left:1px; width:15px; height:15px; border:2px solid var(--text)}
.logo .iso .front{bottom:1px; right:1px; width:15px; height:15px; background:var(--indigo)}
.logo .word{font:600 17px var(--f-display); letter-spacing:-.02em; color:var(--text)}
.logo .word span{font-weight:500; color:var(--text-2)}
.nav-links{display:flex; gap:22px; margin-left:8px}
.nav-links a{font:500 13px var(--f-ui); color:var(--text-link)}
.nav-links a:hover, .nav-links a[aria-current="page"]{color:var(--text)}
.nav-cta{margin-left:auto; display:flex; gap:10px}
@media (max-width:860px){ .nav-links{display:none} }
@media (max-width:420px){ .nav-cta .btn-ghost{display:none} }

/* ---- Cabecera de página interna ---- */
.page-head{padding:64px 0 36px}
.page-head h1{font:600 clamp(32px,4.6vw,50px)/1.1 var(--f-display); letter-spacing:-.025em; margin-top:14px; text-wrap:balance}
.page-head .bajada{font:400 clamp(15px,1.6vw,17.5px)/1.65 var(--f-ui); color:var(--text-2); margin:18px 0 0; max-width:640px}
.page-head .acciones{display:flex; flex-wrap:wrap; gap:12px; margin-top:26px}
.page-head .meta{font:500 11px var(--f-mono); letter-spacing:.06em; color:var(--text-3); margin-top:16px}
.crumbs{font:500 12px var(--f-ui); color:var(--text-3); display:flex; flex-wrap:wrap; gap:6px}
.crumbs a{color:var(--text-2)}
.crumbs a:hover{color:var(--text)}

/* ---- Secciones y tarjetas ---- */
.seccion{padding-top:56px}
.seccion > h2, .h2{font:600 clamp(24px,3vw,34px)/1.2 var(--f-display); letter-spacing:-.02em; text-wrap:balance}
.seccion > p.sub{font:400 15px/1.6 var(--f-ui); color:var(--text-2); margin:10px 0 0; max-width:620px}
.grid-cards{display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:14px; margin-top:24px}
.card{background:var(--panel); border:1px solid var(--border); border-radius:var(--r-card); padding:20px 22px}
.card h3{font:600 16.5px var(--f-display); letter-spacing:-.01em}
.card p{font:400 14px/1.6 var(--f-ui); color:var(--text-2); margin:8px 0 0}
a.card{display:block; color:inherit; transition:border-color .15s}
a.card:hover{border-color:var(--border-2); color:inherit}
a.card .ir{font:600 12.5px var(--f-ui); color:var(--lime); margin-top:12px; display:inline-block}
.badge{display:inline-flex; align-items:center; height:20px; padding:0 8px; border-radius:6px;
  font:600 10px var(--f-mono); letter-spacing:.06em; background:var(--indigo-soft); border:1px solid #3730A3; color:#A9A2FA}
.pasos{counter-reset:paso; list-style:none; padding:0; margin:22px 0 0; display:flex; flex-direction:column; gap:12px}
.pasos li{counter-increment:paso; display:flex; gap:14px; align-items:flex-start; font:400 15px/1.6 var(--f-ui); color:var(--text-soft)}
.pasos li::before{content:counter(paso); flex:none; width:30px; height:30px; border-radius:99px; border:1.5px solid var(--lime);
  display:grid; place-items:center; font:600 13px var(--f-display); color:var(--lime)}
.lista-check{list-style:none; padding:0; margin:18px 0 0; display:flex; flex-direction:column; gap:10px}
.lista-check li{display:flex; gap:10px; font:400 15px/1.6 var(--f-ui); color:var(--text-soft)}
.lista-check li::before{content:""; flex:none; width:7px; height:7px; border-radius:99px; background:var(--warn); margin-top:10px}
.nota-plan{display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-top:22px; padding:14px 16px;
  border:1px solid var(--border); border-radius:var(--r-ctrl); background:var(--surface); font:500 14px var(--f-ui)}

/* ---- Texto largo (guías) ---- */
.prosa{font:400 16.5px/1.75 var(--f-ui); color:var(--text-soft)}
.prosa h2{font:600 clamp(22px,2.6vw,28px)/1.25 var(--f-display); letter-spacing:-.015em; color:var(--text); margin:44px 0 0}
.prosa h3{font:600 18px var(--f-display); color:var(--text); margin:30px 0 0}
.prosa p{margin:16px 0 0}
.prosa ul, .prosa ol{margin:16px 0 0; padding-left:22px}
.prosa li{margin:6px 0}
.prosa strong{color:var(--text)}
.prosa .destacado{border-left:3px solid var(--lime); background:var(--surface); padding:14px 18px; border-radius:0 var(--r-ctrl) var(--r-ctrl) 0; margin:22px 0 0}
.tabla-wrap{overflow-x:auto; margin:20px 0 0; border:1px solid var(--border); border-radius:var(--r-card)}
.tabla{width:100%; border-collapse:collapse; font:400 14.5px var(--f-ui)}
.tabla th{font:600 11px var(--f-mono); letter-spacing:.06em; color:var(--text-3); text-align:left; background:var(--surface-2); padding:10px 14px; text-transform:uppercase}
.tabla td{padding:11px 14px; border-top:1px solid var(--line); color:var(--text-soft)}
.tabla td.num, .tabla th.num{text-align:right; font-variant-numeric:tabular-nums}
.tabla tr.total td{color:var(--text); font-weight:600}
.fuente{font:400 12.5px/1.6 var(--f-ui); color:var(--text-3); margin-top:10px}

/* ---- Preguntas frecuentes ---- */
.faq-lista{margin-top:20px; border-top:1px solid var(--line)}
.faq-lista details{border-bottom:1px solid var(--line)}
.faq-lista summary{cursor:pointer; list-style:none; padding:18px 4px; font:600 15.5px var(--f-ui); display:flex; justify-content:space-between; gap:14px}
.faq-lista summary::-webkit-details-marker{display:none}
.faq-lista summary::after{content:"+"; color:var(--text-2); font:400 20px var(--f-ui); line-height:1}
.faq-lista details[open] summary::after{content:"−"}
.faq-lista details p{font:400 14.5px/1.65 var(--f-ui); color:var(--text-2); margin:0 4px 18px; max-width:680px}

/* ---- Banda de cierre ---- */
.cta-banda{margin-top:72px; border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  background:radial-gradient(ellipse at center, rgba(163,230,53,.08) 0%, rgba(11,11,20,0) 70%); padding:64px 24px; text-align:center}
.cta-banda h2{font:600 clamp(26px,3.4vw,38px)/1.15 var(--f-display); letter-spacing:-.02em; text-wrap:balance}
.cta-banda p{font:400 15px/1.6 var(--f-ui); color:var(--text-2); margin:12px auto 0; max-width:460px}
.cta-banda .btn{margin-top:24px}
.cta-banda .fine{font:500 10.5px var(--f-mono); letter-spacing:.08em; color:var(--text-3); margin-top:14px}

/* ---- Planes (compartido por la portada y /precios) ---- */
.plans{display:flex; flex-wrap:wrap; gap:16px; justify-content:center; align-items:stretch}
.plan{flex:1 1 300px; min-width:260px; max-width:360px; background:var(--panel); border:1px solid var(--border);
  border-radius:var(--r-panel); padding:30px; display:flex; flex-direction:column; position:relative}
.plan.feat{border-color:var(--lime); box-shadow:0 0 0 1px rgba(163,230,53,.25), 0 24px 70px rgba(163,230,53,.07)}
.plan .tag{position:absolute; top:-11px; left:50%; transform:translateX(-50%); height:22px; display:inline-flex; align-items:center;
  padding:0 10px; border-radius:99px; background:var(--lime); color:#0B0B14; font:600 10px var(--f-mono); letter-spacing:.08em; white-space:nowrap}
.plan .kick{font:600 11px var(--f-mono); letter-spacing:.1em; color:var(--text-2)}
.plan.feat .kick{color:var(--lime)}
.plan .price{display:flex; align-items:baseline; gap:6px; margin-top:14px}
.plan .price b{font:600 38px var(--f-display); letter-spacing:-.02em}
.plan .price span{font:400 13px var(--f-ui); color:var(--text-3)}
/* Res. SIC 4/2025: neto sin IVA, en caracteres menores que el precio final (y legibles). */
.plan .sin-imp{font:500 11px var(--f-ui); letter-spacing:.02em; color:var(--text-3); margin-top:4px}
.plan .sub{font:400 13px/1.5 var(--f-ui); color:var(--text-2); margin-top:8px}
.plan ul{list-style:none; padding:0; margin:22px 0 26px; display:flex; flex-direction:column; gap:10px}
.plan li{display:flex; align-items:flex-start; gap:9px; font:400 13.5px/1.45 var(--f-ui); color:var(--text-soft)}
.plan li svg{flex:none; margin-top:2px}
.plan .btn{margin-top:auto; width:100%; height:42px; font-size:13.5px}
.planes-nota{text-align:center; font:400 13px/1.6 var(--f-ui); color:var(--text-2); margin:18px 0 0}

/* ---- Calculadora ---- */
.calc{display:flex; flex-wrap:wrap; gap:24px; align-items:flex-start}
.calc-form{flex:1 1 420px; min-width:0; background:var(--panel); border:1px solid var(--border); border-radius:var(--r-panel); padding:clamp(20px,3vw,32px)}
.calc-res{flex:1 1 340px; min-width:0; background:#0F0F1A; border:1px solid var(--border); border-radius:var(--r-panel); padding:clamp(20px,3vw,28px); position:sticky; top:84px}
.campo{display:flex; flex-direction:column; gap:6px; margin-bottom:18px}
.campo label{font:600 13.5px var(--f-ui); color:var(--text)}
.campo .ayuda{font:400 12.5px/1.5 var(--f-ui); color:var(--text-3)}
.campo input, .campo select{height:44px; background:var(--surface); border:1px solid var(--border-2); border-radius:var(--r-ctrl);
  color:var(--text); font:500 15px var(--f-ui); padding:0 12px; width:100%}
.campo input:focus, .campo select:focus{outline:2px solid rgba(163,230,53,.5); outline-offset:1px; border-color:var(--lime)}
.campos-2{display:grid; grid-template-columns:1fr 1fr; gap:0 14px}
@media (max-width:520px){ .campos-2{grid-template-columns:1fr} .calc-res{position:static} }
.res-neto{font:600 clamp(34px,4vw,46px) var(--f-display); letter-spacing:-.02em; margin-top:6px}
.res-fila{display:flex; justify-content:space-between; gap:12px; padding:9px 0; border-bottom:1px solid var(--line); font:400 13.5px var(--f-ui); color:var(--text-2)}
.res-fila span:last-child{font-variant-numeric:tabular-nums; color:var(--text-soft)}
.res-fila.total{border-bottom:0; color:var(--text); font-weight:600}
.sem{display:flex; gap:9px; margin-top:14px; padding:11px 13px; border-radius:var(--r-ctrl); border:1px solid; font:500 13px/1.5 var(--f-ui)}
.sem.sano{background:var(--profit-bg); border-color:var(--profit-bd); color:var(--profit)}
.sem.ajustado{background:var(--warn-bg); border-color:var(--warn-bd); color:var(--warn)}
.sem.perdida{background:var(--loss-bg); border-color:var(--loss-bd); color:var(--loss)}
.c-sano{color:var(--profit)} .c-ajustado{color:var(--warn)} .c-perdida{color:var(--loss)}
.aviso{font:400 12.5px/1.55 var(--f-ui); color:var(--warn); margin-top:10px}

/* ---- Footer ---- */
.footer{border-top:1px solid var(--line); margin-top:80px}
.footer-inner{padding:48px 24px 40px; display:flex; flex-wrap:wrap; gap:44px}
.footer .col-brand{flex:2 1 260px; min-width:240px}
.footer .col-brand p{font:400 13px/1.6 var(--f-ui); color:var(--text-3); margin:12px 0 0; max-width:280px}
.footer .col{flex:1 1 160px; min-width:150px}
.footer .col h5{font:600 10.5px var(--f-mono); letter-spacing:.08em; color:var(--text-3); margin:0 0 12px}
.footer .col a, .footer .col span{display:block; font:400 13px var(--f-ui); color:var(--text-link); margin-bottom:9px}
.footer .col a:hover{color:var(--text)}
.copyright{padding:0 24px 28px; font:400 11.5px var(--f-mono); color:#4A485C}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{animation:none !important; transition:none !important}
}

/* ---- Capturas de la app en las guías del manual ---- */
.captura{margin:22px 0 0; border:1px solid var(--border-2); border-radius:var(--r-card); overflow:hidden; background:var(--panel)}
.captura img{display:block; width:100%; height:auto}
.captura figcaption{font:400 13px/1.5 var(--f-ui); color:var(--text-2); padding:10px 14px; border-top:1px solid var(--line)}
.prosa ol.pasos-manual{padding-left:0; list-style:none; counter-reset:paso}
.prosa ol.pasos-manual > li{counter-increment:paso; position:relative; padding-left:42px; margin:18px 0 0}
.prosa ol.pasos-manual > li::before{content:counter(paso); position:absolute; left:0; top:1px; width:28px; height:28px; border-radius:99px;
  border:1.5px solid var(--lime); display:grid; place-items:center; font:600 13px var(--f-display); color:var(--lime)}
.boton-app{display:inline-block; padding:1px 8px; border-radius:6px; background:var(--surface-2); border:1px solid var(--border-2);
  font:600 13.5px var(--f-ui); color:var(--text); white-space:nowrap}
