/* CobraX · Portal del deudor · tokens heredados de web/index.html */
:root{
  --paper:#EDF1EE; --paper-2:#E2E9E4; --card:#F8FAF8;
  --ink:#0E2329; --ink-2:#3F585E; --ink-3:#5F767B;
  --rule:#C8D4CE; --guil:#8FB0A3;
  --sign:#2B3FD6; --sign-soft:#DCE0FB;
  --ochre:#B5761A; --ochre-soft:#F3E6D0; --ochre-ink:#7A4E0F;
  --ok:#1F7A5C; --ok-soft:#DDEFE6;
  --deep:#0A1C21; --deep-2:#122B32; --deep-rule:#24414A;
  --r:16px; --r-sm:8px;
  --display:"Archivo",ui-sans-serif,system-ui,sans-serif;
  --body:"Instrument Sans",ui-sans-serif,system-ui,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,monospace;
  --s1:#1F7A5C; --s2:#C9A04A; --s3:#B5761A; --s4:#8A5410; --s5:#0E2329;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased;min-height:100vh;display:flex;flex-direction:column}
a{color:inherit;text-underline-offset:3px}
a:hover{color:var(--sign)}
img,svg{display:block}
p{margin:0}
:focus-visible{outline:2px solid var(--sign);outline-offset:3px;border-radius:4px}
.wrap{max-width:1180px;margin:0 auto;padding:0 28px;width:100%}
@media(max-width:640px){.wrap{padding:0 16px}}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:#fff;padding:10px 14px;border-radius:8px;z-index:100}
.skip:focus{left:12px}

h1,h2,h3{font-family:var(--display);font-stretch:118%;font-weight:760;letter-spacing:-.025em;line-height:1.05;margin:0;text-wrap:balance}
h1{font-size:clamp(32px,4vw,50px)}
h2{font-size:clamp(24px,2.4vw,32px);font-weight:720}
h3{font-size:20px;font-stretch:108%;font-weight:700;letter-spacing:-.01em;line-height:1.2}
.h-md{font-size:22px;font-stretch:110%;margin:6px 0 12px}
.h-sm{font-size:18px;font-stretch:108%;margin-bottom:8px}
h1 em,h2 em{font-style:normal;color:var(--sign)}
.mono{font-family:var(--mono);font-feature-settings:"tnum"}
.eyebrow{font-family:var(--body);font-weight:600;font-size:12.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-2)}
.lede{font-size:clamp(17px,1.4vw,19.5px);color:var(--ink-2);max-width:62ch;margin-top:14px}
.muted{color:var(--ink-2)}
.small{font-size:13.5px}
.note{font-size:14px;color:var(--ink-2);margin-top:14px}
.ok{color:var(--ok)} .warn{color:var(--ochre-ink)} .sign{color:var(--sign)}
.strong{font-weight:600}
small{font-size:.62em;color:var(--ink-3);font-weight:500;letter-spacing:.02em}

/* ── botones ─────────────────────────────── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--body);font-weight:600;font-size:15.5px;padding:13px 20px;border-radius:999px;text-decoration:none;border:1.5px solid var(--ink);cursor:pointer;transition:transform .15s ease,background .15s ease,color .15s ease;line-height:1.2;text-align:center}
.btn:hover{transform:translateY(-1px)}
.btn-ink{background:var(--ink);color:var(--paper)}
.btn-ink:hover{background:var(--ink-2);border-color:var(--ink-2);color:#fff}
.btn-line{background:transparent;color:var(--ink)}
.btn-line:hover{background:var(--ink);color:var(--paper)}
.btn-sign{background:var(--sign);border-color:var(--sign);color:#fff}
.btn-sign:hover{background:#1F30B4;border-color:#1F30B4;color:#fff}
.btn-sm{padding:9px 15px;font-size:14px}
.btn-block{width:100%}
.btn[disabled]{opacity:.45;cursor:not-allowed;transform:none}
.arrow{font-family:var(--mono)}
.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.inline{display:inline}

/* ── barra demo y cabecera ───────────────── */
.demo-bar{background:var(--deep);color:#C9D6D2;font-size:12.5px;font-family:var(--mono)}
.demo-bar .wrap{padding-top:7px;padding-bottom:7px}
.top{position:sticky;top:0;z-index:40;background:rgba(237,241,238,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--rule)}
.top-in{display:flex;align-items:center;gap:22px;height:68px}
.logo{display:flex;align-items:center;text-decoration:none;font-family:var(--display);font-stretch:125%;font-weight:850;font-size:22px;letter-spacing:-.01em;line-height:1;color:var(--ink);flex:0 0 auto}
.logo:hover{color:var(--ink)}
.logo svg{width:20px;height:20px;margin-left:1px;overflow:visible}
.logo path{stroke-dasharray:30;stroke-dashoffset:30;animation:draw 1.1s .2s cubic-bezier(.6,.05,.3,1) forwards}
.logo path+path{animation-delay:.55s}
@keyframes draw{to{stroke-dashoffset:0}}
.logo-tag{font-family:var(--body);font-stretch:100%;font-weight:600;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);margin-left:12px;padding:4px 8px;border:1px solid var(--rule);border-radius:999px}
.nav-main{display:flex;gap:2px;margin-left:4px;flex:1 1 auto;flex-wrap:nowrap}
.nav-main a{text-decoration:none;color:var(--ink-2);font-size:14.5px;padding:8px 11px;border-radius:999px;white-space:nowrap}
.nav-main a:hover{color:var(--ink);background:var(--paper-2)}
.nav-main a[aria-current="page"]{color:var(--ink);background:var(--card);box-shadow:inset 0 0 0 1px var(--rule);font-weight:600}
.top-user{display:flex;align-items:center;gap:12px;margin-left:auto;flex:0 0 auto}
.top-user .btn{white-space:nowrap}
.hello{font-size:14px;color:var(--ink-2);white-space:nowrap}
.nav-public{display:flex;gap:20px;margin-left:auto;font-size:14.5px}
.nav-public a{color:var(--ink-2);text-decoration:none}
.nav-public a:hover{color:var(--ink)}
.nav-mobile{display:none;margin-left:auto;position:relative}
.nav-mobile summary{list-style:none;cursor:pointer;font-weight:600;font-size:14.5px;padding:9px 15px;border:1.5px solid var(--ink);border-radius:999px}
.nav-mobile summary::-webkit-details-marker{display:none}
.nav-mobile[open] summary{background:var(--ink);color:var(--paper)}
.nav-mobile nav{position:absolute;right:0;top:calc(100% + 10px);width:min(86vw,320px);background:var(--card);border:1px solid var(--rule);border-radius:var(--r);box-shadow:0 30px 60px -30px rgba(14,35,41,.45);padding:10px;display:flex;flex-direction:column}
.nav-mobile nav a{text-decoration:none;padding:12px 12px;border-radius:10px;font-size:16px}
.nav-mobile nav a[aria-current="page"]{background:var(--paper-2);font-weight:600}
.nav-mobile nav form{padding:10px 4px 4px}
.nav-mobile nav .btn{width:100%}
@media(max-width:1340px){.hello{display:none}}
@media(max-width:1180px){.top .logo-tag{display:none}.nav-main a{padding:8px 8px;font-size:14px}}
@media(max-width:960px){.nav-main,.top-user{display:none}.nav-mobile{display:block}}
@media(max-width:560px){.nav-public a:last-child{display:none}.logo-tag{display:none}.nav-public{font-size:13.5px}}

.main{flex:1 0 auto;padding-top:36px;padding-bottom:80px}
.crumbs{margin-bottom:18px;font-size:14.5px}
.crumbs a{color:var(--ink-2);text-decoration:none}
.crumbs a:hover{color:var(--ink)}

/* ── tarjetas, secciones ─────────────────── */
.card{background:var(--card);border:1px solid var(--rule);border-radius:var(--r);padding:26px}
@media(max-width:640px){.card{padding:20px}}
.narrow{max-width:680px;margin:0 auto}
.sec{margin-top:44px}
.sec-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:12px 40px;align-items:end;margin-bottom:20px}
@media(max-width:820px){.sec-row{grid-template-columns:1fr}}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
@media(max-width:900px){.grid-2,.grid-3{grid-template-columns:1fr}}
.stack{display:grid;gap:18px;align-content:start}
.page-head{margin-bottom:8px}
.page-head .lede{margin-top:12px}

.flash{margin:0 0 20px;padding:14px 18px;border-radius:12px;font-size:15.5px}
.flash-ok{background:var(--ok-soft);color:#14523D;border:1px solid #B9DCCB}
.notice{margin:14px 0;padding:13px 16px;border-radius:12px;font-size:15px;background:var(--paper-2);border-left:3px solid var(--ink-3)}
.notice p+p{margin-top:4px}
.notice-warn{background:var(--ochre-soft);border-left-color:var(--ochre);color:#4E3309}
.notice-ok{background:var(--ok-soft);border-left-color:var(--ok);color:#14523D}
.demo-box{margin-top:18px;padding:16px 18px;border:1.5px dashed var(--sign);border-radius:12px;background:var(--sign-soft)}
.demo-box p+p{margin-top:8px}
.tag{display:inline-block;font-family:var(--mono);font-size:11px;letter-spacing:.04em;padding:3px 7px;border-radius:6px;background:var(--paper-2);color:var(--ink-2);margin-right:4px;vertical-align:1px}

/* ── formularios ─────────────────────────── */
.form{display:grid;gap:16px}
.f{display:grid;gap:6px;margin:0;border:0;padding:0;min-width:0;align-content:start}
.f label,.f legend{font-size:14px;font-weight:600}
.f legend{padding:0;margin-bottom:6px}
.opt{font-weight:400;color:var(--ink-3)}
.f input,.f select,.f textarea{width:100%;font:inherit;font-size:16px;padding:12px 14px;border:1px solid #AFC0B8;border-radius:var(--r-sm);background:#fff;color:var(--ink);min-height:48px}
.f input.mono,.f select.mono{font-family:var(--mono)}
.f textarea{resize:vertical;min-height:96px}
.f input:focus,.f select:focus,.f textarea:focus{outline:2px solid var(--sign);outline-offset:1px;border-color:transparent}
.f [aria-invalid="true"]{border-color:var(--ochre)}
.help{font-size:13.5px;color:var(--ink-3)}
.field-error{font-size:13.5px;color:#8A4F0C;font-weight:600}
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.f-row.three{grid-template-columns:repeat(3,1fr)}
@media(max-width:640px){.f-row,.f-row.three{grid-template-columns:1fr}}
.pw{position:relative}
.pw input{padding-right:92px}
.pw-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);font:inherit;font-size:13.5px;font-weight:600;background:var(--paper-2);border:0;border-radius:8px;padding:8px 10px;cursor:pointer;color:var(--ink)}
.check,.radio{display:flex;gap:12px;align-items:flex-start;font-size:15px;cursor:pointer;line-height:1.4}
.f .check,.f .radio{font-weight:400;font-size:15px}
.f input[type=radio],.f input[type=checkbox],.check input,.radio input{min-height:0;padding:0;border:0;width:20px;height:20px;margin:1px 0 0;flex:0 0 auto;accent-color:var(--sign)}
.motivos{display:grid;gap:10px}
.pills{display:flex;flex-wrap:wrap;gap:8px}
.pill{position:relative}
.pill input{position:absolute;opacity:0;inset:0;cursor:pointer}
.pill span{display:block;padding:9px 15px;border:1px solid var(--rule);border-radius:999px;font-size:14.5px;font-weight:600;color:var(--ink-2);background:#fff}
.pill input:checked+span{background:var(--ink);color:#fff;border-color:var(--ink)}
.pill input:focus-visible+span{outline:2px solid var(--sign);outline-offset:2px}

/* ── consentimiento ──────────────────────── */
.consent{border:1px solid var(--rule);border-radius:12px;padding:16px;margin:4px 0 0;background:#fff;display:grid;gap:12px;min-width:0}
.consent.has-error{border-color:var(--ochre);box-shadow:0 0 0 3px var(--ochre-soft)}
.consent legend{font-weight:700;font-size:14px;padding:0 6px;font-family:var(--display);font-stretch:110%}
.consent-intro{font-size:14px;color:var(--ink-2)}
.consent .check{font-size:14.5px}
.consent-sum{max-height:230px;overflow:auto;border-top:1px dashed var(--rule);padding-top:12px;font-size:13.5px;color:var(--ink-2);scrollbar-width:thin}
.consent-sum:focus-visible{outline-offset:2px}
.consent-sum-h{font-weight:700;color:var(--ink);font-size:13.5px;margin-bottom:6px}
.consent-sum ol{margin:0;padding-left:20px;display:grid;gap:7px}
.consent-sum b{color:var(--ink)}
.consent-links{margin-top:10px;font-weight:600}
.consent-links a{color:var(--sign)}
.consent-no{font-size:13.5px}
.consent-no a{color:var(--ink-2)}
.consent-hint{font-size:13px;color:var(--ink-3);text-align:center;margin-top:-6px;min-height:1em}

/* ── autenticación ───────────────────────── */
.auth{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,480px);gap:56px;align-items:start}
.auth-intro{padding-top:30px;position:sticky;top:110px}
.auth-intro h1{margin:14px 0 4px;max-width:14ch}
.ticks{list-style:none;padding:0;margin:26px 0 0;display:grid;gap:10px;max-width:52ch}
.ticks li{position:relative;padding-left:28px;color:var(--ink-2)}
.ticks li::before{content:"";position:absolute;left:0;top:.42em;width:14px;height:14px;background:linear-gradient(45deg,transparent 41%,var(--sign) 41% 59%,transparent 59%),linear-gradient(-45deg,transparent 41%,var(--ink) 41% 59%,transparent 59%)}
.small-ticks{margin-top:18px;font-size:14.5px}
.auth-safe{margin-top:26px;padding:14px 16px;border-radius:12px;background:var(--paper-2);font-size:14.5px;max-width:52ch}
.auth-card h2{font-size:26px;margin-bottom:16px}
.auth-links{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:18px;font-size:14.5px}
.auth-links a{color:var(--sign)}
@media(max-width:960px){.auth{grid-template-columns:1fr;gap:26px}.auth-intro{position:static;padding-top:0}.auth-intro .ticks,.auth-intro .auth-safe{display:none}}

/* ── resumen inicio ──────────────────────── */
.summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:26px;background:var(--card);border:1px solid var(--rule);border-radius:var(--r);overflow:hidden}
.sum-cell{padding:18px 20px;border-right:1px solid var(--rule);display:flex;flex-direction:column;gap:2px;min-width:0}
.sum-cell:last-child{border-right:0}
.sum-l{font-size:12.5px;color:var(--ink-3);font-weight:600;letter-spacing:.03em}
.sum-v{font-size:24px;font-weight:600;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sum-n{font-size:12.5px;color:var(--ink-3)}
@media(max-width:820px){.summary{grid-template-columns:1fr 1fr}.sum-cell:nth-child(2){border-right:0}.sum-cell:nth-child(-n+2){border-bottom:1px solid var(--rule)}.sum-v{font-size:20px}}
@media(max-width:480px){.sum-cell{padding:14px}.sum-v{font-size:17px;white-space:normal;overflow:visible}}

/* ── tarjetas de deuda ───────────────────── */
.debt-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
@media(max-width:900px){.debt-grid{grid-template-columns:1fr}}
.debt{display:flex;flex-direction:column;gap:16px;position:relative;overflow:hidden}
.debt::before,.detail-head::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--stage,var(--ink-3))}
.etapa-preventiva{--stage:var(--s1)} .etapa-temprana{--stage:var(--s2)} .etapa-mora{--stage:var(--s3)} .etapa-castigada{--stage:var(--s4)} .etapa-judicial{--stage:var(--s5)}
.debt.is-pagada{--stage:var(--ok)} .debt.is-en_acuerdo{--stage:var(--sign)}
.debt-top{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}
.debt-inst{font-size:13.5px;font-weight:600;color:var(--ink-2)}
.debt-top h3{margin-top:3px}
.debt-op{font-size:12px;color:var(--ink-3);margin-top:3px}
.debt-dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0}
.debt-dl div{min-width:0}
.debt-dl dt,.dh-figs dt,.offer-dl dt,.causa-meta dt,.gw-dl dt,.doc-dl dt,.mini-dl dt,.channels dt{font-size:12px;color:var(--ink-3);font-weight:600;letter-spacing:.02em}
.debt-dl dd,.dh-figs dd{margin:2px 0 0;font-size:15.5px}
@media(max-width:560px){.debt-dl{grid-template-columns:1fr 1fr;row-gap:14px}}
.dd-sub{display:block;font-size:12px;color:var(--ink-3)}
.debt-simple{font-size:15px;color:var(--ink-2)}
.debt-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:auto;padding-top:14px;border-top:1px solid var(--rule)}
.save{font-size:14px;color:var(--ok);font-weight:600}

/* chips */
.chip{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;padding:5px 10px;border-radius:999px;background:var(--paper-2);color:var(--ink);white-space:nowrap}
.chip i{width:8px;height:8px;border-radius:50%;background:currentColor}
.chip-preventiva{background:var(--ok-soft);color:#14523D}
.chip-temprana{background:#F6EED8;color:#6E5212}
.chip-mora{background:var(--ochre-soft);color:var(--ochre-ink)}
.chip-castigada{background:#EAD9C2;color:#5E3906}
.chip-judicial{background:var(--ink);color:#fff}
.chip-pagada{background:var(--ok-soft);color:#14523D}
.chip-acuerdo{background:var(--sign-soft);color:#1B2A9E}
.chip-neutral{background:var(--paper-2);color:var(--ink-2)}
.chip-co-recibida,.chip-co-en_revision{background:var(--sign-soft);color:#1B2A9E}
.chip-co-aceptada{background:var(--ok-soft);color:#14523D}
.chip-co-rechazada{background:var(--paper-2);color:var(--ink-2)}
.chip-co-contrapropuesta{background:var(--ochre-soft);color:var(--ochre-ink)}

/* semáforo */
.semaforo{display:grid;grid-template-columns:repeat(5,1fr);gap:4px}
.semaforo span{height:8px;border-radius:4px;background:var(--paper-2);position:relative}
.semaforo .on.sem-preventiva{background:var(--s1)} .semaforo .on.sem-temprana{background:var(--s2)} .semaforo .on.sem-mora{background:var(--s3)} .semaforo .on.sem-castigada{background:var(--s4)} .semaforo .on.sem-judicial{background:var(--s5)}
.semaforo .cur{box-shadow:0 0 0 2px var(--card),0 0 0 3.5px var(--stage,var(--ink))}
.semaforo-lbl span{height:10px}
.semaforo-lbl em{position:absolute;top:16px;left:0;font-style:normal;font-size:12px;color:var(--ink-3);white-space:nowrap}
.semaforo-lbl .cur em{color:var(--ink);font-weight:700}
.semaforo-lbl{padding-bottom:26px}
@media(max-width:640px){.semaforo-lbl em{display:none}.semaforo-lbl .cur em{display:block}.semaforo-lbl .sem-castigada.cur em,.semaforo-lbl .sem-judicial.cur em{left:auto;right:0}}

.legend-stages{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;border-top:2px solid var(--ink)}
.ls{display:flex;gap:10px;padding:18px 16px 0 0}
.ls+.ls{padding-left:16px;border-left:1px solid var(--rule)}
.ls-dot{width:12px;height:12px;border-radius:50%;flex:0 0 auto;margin-top:5px;background:var(--dot)}
.ls-preventiva{--dot:var(--s1)} .ls-temprana{--dot:var(--s2)} .ls-mora{--dot:var(--s3)} .ls-castigada{--dot:var(--s4)} .ls-judicial{--dot:var(--s5)}
.ls b{font-family:var(--display);font-stretch:110%;font-size:16px}
.ls-n{display:block;font-size:11.5px;color:var(--ink-3);margin:2px 0 6px}
.ls p{font-size:14px;color:var(--ink-2)}
@media(max-width:1000px){.legend-stages{grid-template-columns:1fr;border-top:0}.ls,.ls+.ls{padding:14px 0;border-left:0;border-top:1px solid var(--rule)}}

.help-band{margin-top:48px;display:grid;grid-template-columns:1.3fr 1fr;gap:24px;align-items:center;background:var(--ink);color:#DCE6E2;border-radius:var(--r);padding:32px}
.help-band h2{color:#fff;margin-bottom:8px}
.help-band p{color:#A9BDB7}
.help-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}
.help-band .btn-ink{background:#fff;color:var(--ink);border-color:#fff}
.help-band .btn-ink:hover{background:var(--sign);border-color:var(--sign);color:#fff}
.help-band .btn-line{color:#fff;border-color:#57737B}
.help-band a:hover{color:#fff}
@media(max-width:820px){.help-band{grid-template-columns:1fr;padding:24px}.help-actions{justify-content:flex-start}}

/* ── detalle ─────────────────────────────── */
.detail-head{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:20px 40px;align-items:start}
.dh-main h1{font-size:clamp(28px,3.2vw,40px);margin:4px 0 12px}
.dh-chips{display:flex;gap:8px;flex-wrap:wrap}
.dh-figs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px;margin:0}
.big-num{font-size:clamp(24px,2.6vw,32px)!important;font-weight:600;letter-spacing:-.02em;white-space:nowrap}
.dh-sem{grid-column:1/-1}
@media(max-width:820px){.detail-head{grid-template-columns:1fr}}
@media(max-width:480px){.dh-figs>div:first-child{grid-column:1/-1}.big-num{font-size:28px!important}}
.breakdown{width:100%;border-collapse:collapse;margin-top:10px;font-size:15.5px}
.breakdown th{text-align:left;font-weight:500;color:var(--ink-2);padding:10px 0;border-bottom:1px solid var(--rule)}
.breakdown td{text-align:right;padding:10px 0;border-bottom:1px solid var(--rule);white-space:nowrap}
.breakdown tr.total th,.breakdown tr.total td{font-weight:700;color:var(--ink);border-bottom:0;padding-top:14px}
.whatif .wi{border-left:4px solid var(--rule)}
.wi-nada{border-left-color:var(--ochre)!important}
.wi-dia{border-left-color:var(--ok)!important}
.wi p:not(.eyebrow){margin-top:8px}

/* línea de tiempo judicial */
.causa-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 24px;margin:0 0 26px;padding-bottom:20px;border-bottom:1px solid var(--rule)}
.causa-meta dd{margin:3px 0 0;font-size:15px}
@media(max-width:820px){.causa-meta{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.causa-meta{grid-template-columns:1fr}}
.jt-strip{list-style:none;margin:0 0 28px;padding:0;display:grid;grid-template-columns:repeat(7,1fr);position:relative}
.jt-strip::before{content:"";position:absolute;left:7px;right:7px;top:7px;height:2px;background:var(--rule)}
.jt-strip li{position:relative;padding-right:8px}
.jt-dot{display:block;width:16px;height:16px;border-radius:50%;background:var(--card);border:2px solid var(--rule);position:relative}
.jt-strip .done .jt-dot{background:var(--ink);border-color:var(--ink)}
.jt-strip .cur .jt-dot{background:var(--sign);border-color:var(--sign);box-shadow:0 0 0 5px var(--sign-soft)}
.jt-strip li.done::after{content:"";position:absolute;left:7px;right:-7px;top:7px;height:2px;background:var(--ink)}
.jt-strip li.done .jt-dot{z-index:1}
.jt-lbl{display:block;font-size:12.5px;margin-top:10px;color:var(--ink-3);line-height:1.3}
.jt-strip .done .jt-lbl{color:var(--ink-2)}
.jt-strip .cur .jt-lbl{color:var(--sign);font-weight:700}
@media(max-width:820px){.jt-strip{display:none}}
.jt{list-style:none;margin:0;padding:0 0 0 26px;border-left:2px solid var(--rule);display:grid;gap:0}
.jt-step{position:relative;padding:0 0 22px 8px}
.jt-step::before{content:"";position:absolute;left:-35px;top:3px;width:16px;height:16px;border-radius:50%;background:var(--card);border:2px solid var(--rule)}
.jt-step.done::before{background:var(--ink);border-color:var(--ink)}
.jt-step.cur::before{background:var(--sign);border-color:var(--sign);box-shadow:0 0 0 5px var(--sign-soft)}
.jt-step.cur{background:linear-gradient(90deg,rgba(43,63,214,.06),transparent 75%);border-radius:12px;padding:14px 16px 16px;margin:0 0 18px -8px}
.jt-step.cur::before{left:-27px;top:17px}
.jt-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:baseline;gap:4px 10px}
.jt-num{font-size:12px;color:var(--ink-3)}
.jt-head h3{font-size:18px}
.jt-step.next .jt-head h3{color:var(--ink-2)}
.jt-date{font-size:13px;color:var(--ink-2);grid-column:4;text-align:right;white-space:nowrap}
.here{grid-column:3}
.here{font-size:12px;font-weight:700;color:#fff;background:var(--sign);padding:3px 9px;border-radius:999px;letter-spacing:.02em}
.jt-que,.jt-op{font-size:14.5px;color:var(--ink-2);margin-top:6px;max-width:80ch}
.jt-op b{color:var(--ok)}
.jt-step.next .jt-que{color:var(--ink-3)}
@media(max-width:560px){.jt-head{grid-template-columns:auto minmax(0,1fr) auto}.jt-date{grid-column:2/-1;grid-row:2;text-align:left}}
.aviso{margin-top:8px;padding:14px 16px;border-radius:12px;background:var(--paper-2);font-size:14px;color:var(--ink-2);border-left:3px solid var(--ink-3)}

/* ofertas */
.offers{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.offer{display:flex;flex-direction:column;gap:12px}
.offer-best{border-color:var(--sign);box-shadow:0 0 0 1px var(--sign) inset,0 30px 60px -40px rgba(43,63,214,.6)}
.offer-type{font-size:12.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--sign)}
.offer-main{font-size:30px;font-weight:600;letter-spacing:-.03em;line-height:1.1}
.offer-main small{font-size:14px;margin-left:6px}
.offer-dl{margin:0;display:grid;gap:0;border-top:1px solid var(--rule)}
.offer-dl div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--rule)}
.offer-dl dd{margin:0;font-size:14.5px;text-align:right}
.offer .btn{margin-top:auto}

.sim{margin-top:18px;display:grid;grid-template-columns:1.2fr 1fr;gap:24px;align-items:center}
.sim h3{margin:4px 0 14px}
.sim-lbl{display:flex;justify-content:space-between;font-weight:600;font-size:15px;margin-bottom:8px}
.sim-lbl output{color:var(--sign);font-weight:600}
input[type=range]{width:100%;accent-color:var(--sign);height:28px}
.sim-out{background:var(--ink);color:#DCE6E2;border-radius:12px;padding:20px 22px;display:grid;gap:4px}
.sim-out .sum-l{color:#8FB0A3}
.sim-big{display:block;font-size:30px;font-weight:600;letter-spacing:-.03em;color:#fff;line-height:1.15;margin-bottom:8px}
.sim-row{display:flex;justify-content:space-between;gap:10px;border-top:1px solid #27444C;padding-top:9px;margin-top:4px;font-size:14.5px}
.sim-row b{color:#fff}
@media(max-width:820px){.sim{grid-template-columns:1fr}}

/* listas */
.list-rows{list-style:none;margin:10px 0 0;padding:0}
.row-item{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:12px 0;border-bottom:1px solid var(--rule);font-size:15px}
.row-item:last-child{border-bottom:0}
.row-item p{margin-top:2px}

/* pago */
.steps{list-style:none;margin:18px 0 22px;padding:0;display:flex;gap:8px;flex-wrap:wrap;counter-reset:s}
.steps li{counter-increment:s;font-size:13.5px;color:var(--ink-3);padding:7px 12px 7px 8px;border-radius:999px;background:var(--paper-2);display:flex;align-items:center;gap:8px}
.steps li::before{content:counter(s);font-family:var(--mono);font-size:12px;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:var(--card);color:var(--ink-2)}
.steps .done{color:var(--ink-2)} .steps .done::before{content:"✓";background:var(--ok);color:#fff}
.steps .cur{background:var(--ink);color:#fff} .steps .cur::before{background:var(--sign);color:#fff}
.pay-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:18px;align-items:start}
@media(max-width:900px){.pay-grid{grid-template-columns:1fr}}
.methods{border:0;margin:0 0 16px;padding:0;display:grid;gap:10px}
.methods legend{margin-bottom:10px}
.method{display:flex;gap:12px;align-items:center;padding:14px 16px;border:1px solid var(--rule);border-radius:12px;background:#fff;cursor:pointer}
.method input{width:20px;height:20px;accent-color:var(--sign);flex:0 0 auto}
.method:has(input:checked){border-color:var(--sign);box-shadow:0 0 0 1px var(--sign) inset}
.method.is-off{opacity:.6;cursor:not-allowed;background:var(--paper)}
.method em{font-style:normal;font-size:13.5px}
.pay-grid .check{margin:4px 0 16px}
.gw{text-align:left}
.gw-dl,.doc-dl,.mini-dl,.channels{margin:20px 0 0;display:grid;border-top:1px solid var(--rule)}
.gw-dl div,.doc-dl div,.mini-dl div,.channels div{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid var(--rule);align-items:baseline}
.gw-dl dd,.doc-dl dd,.mini-dl dd,.channels dd{margin:0;text-align:right}
.gw-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.result{position:relative}
.result-ico{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--ok);color:#fff;font-size:26px;margin-bottom:16px}
.ok-result{border-color:#B9DCCB}
.result h1{font-size:clamp(28px,3.4vw,40px);margin-top:6px}

/* contraoferta */
.co-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:18px;align-items:start}
.co-grid>.card{display:grid;gap:18px}
.co-ref{position:sticky;top:96px}
.co-fig{margin:6px 0 10px}
.co-fig .sim-big{color:var(--ink)}
.meter{position:relative;height:12px;border-radius:6px;background:var(--paper-2);overflow:visible;margin:6px 0 14px}
.meter span{display:block;height:100%;width:0;border-radius:6px;background:var(--ink-3);transition:width .3s ease}
.co-ok .meter span{background:var(--ok)}
.co-low .meter span{background:var(--ochre)}
.meter-mark{position:absolute;top:-4px;bottom:-4px;width:2px;background:var(--ink)}
.co-verdict{font-size:15px;font-weight:600;min-height:3em}
.co-ok .co-verdict{color:var(--ok)}
.co-low .co-verdict{color:var(--ochre-ink)}
.co-ref .offer-dl{margin-top:14px}
@media(max-width:900px){.co-grid{grid-template-columns:1fr}.co-ref{position:static;order:-1}}

/* documentos imprimibles */
.doc{max-width:760px;margin:0 auto;background:#fff;border:1px solid var(--rule);border-radius:var(--r);padding:40px}
.doc-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding-bottom:20px;border-bottom:2px solid var(--ink);margin-bottom:20px}
.doc-title{text-align:right}
.doc-title .mono{font-size:14px;margin-top:4px}
.doc>p{margin-top:10px}
.doc-foot{font-size:12.5px;color:var(--ink-3);margin-top:24px;padding-top:14px;border-top:1px dashed var(--rule)}
.page-doc .actions{justify-content:center}
@media(max-width:640px){.doc{padding:22px}.doc-head{flex-direction:column}.doc-title{text-align:left}.doc-dl div{flex-direction:column;gap:2px}.doc-dl dd{text-align:left}}

/* derechos / contacto / legal */
.rights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:28px}
@media(max-width:900px){.rights{grid-template-columns:1fr}}
.rights p{color:var(--ink-2);font-size:15.5px}
.orgs p:not(.eyebrow){margin-top:8px;color:var(--ink-2);font-size:15px}
.way{text-decoration:none;display:flex;flex-direction:column;gap:6px;transition:border-color .15s,transform .15s}
a.way:hover{border-color:var(--ink);transform:translateY(-2px);color:var(--ink)}
.way-v{font-size:20px;font-weight:600}
.verify-row{display:flex;gap:10px;flex-wrap:wrap}
.verify-row input{flex:1 1 220px;font:inherit;font-family:var(--mono);padding:12px 14px;border:1px solid #AFC0B8;border-radius:var(--r-sm);background:#fff;min-height:48px}
.channels dd{font-size:15px}
.mini-dl{margin:0 0 4px}
.mini-hist{margin-top:10px;font-size:14px}
.mini-hist summary{cursor:pointer;font-weight:600;color:var(--ink-2)}
.legal{max-width:860px;margin:0 auto;padding:40px}
.legal h1{margin:10px 0 8px}
.legal-ver{font-size:13.5px;color:var(--ink-2)}
.legal h2{font-size:21px;font-stretch:110%;margin:30px 0 10px}
.legal p,.legal li{color:var(--ink-2);font-size:16px}
.legal p+p{margin-top:10px}
.legal ul,.legal ol{padding-left:22px;display:grid;gap:6px;margin:8px 0}
.legal b{color:var(--ink)}
.legal-sum{background:var(--paper);border-radius:12px;padding:16px 16px 16px 36px!important}
.legal-table{width:100%;border-collapse:collapse;font-size:15px;margin-top:8px}
.legal-table th,.legal-table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--rule);vertical-align:top}
.legal-table th{font-family:var(--mono);font-weight:500;font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);background:var(--paper)}
@media(max-width:640px){.legal{padding:20px}.legal-table,.legal-table tbody,.legal-table tr,.legal-table td{display:block}.legal-table thead{display:none}.legal-table tr{border-bottom:1px solid var(--rule);padding:8px 0}.legal-table td{border:0;padding:4px 0}.legal-table td+td{color:var(--ink-3);font-size:14px}}

/* pie */
.foot{background:var(--deep);color:#8FA6A0;font-size:14px;margin-top:auto}
.foot-in{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:32px;padding-top:44px;padding-bottom:32px}
.foot .logo{color:#fff}
.foot-promise{margin-top:14px;max-width:34ch;color:#C9D6D2}
.foot-h{font-family:var(--body);font-stretch:100%;font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:#C9D6D2;font-weight:600;margin:0 0 12px}
.foot-list{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.foot-list .mono{color:#DCE6E2}
.foot a{text-decoration:none}
.foot a:hover{color:#fff}
.foot-legal{border-top:1px solid #1F3940}
.foot-legal .wrap{padding-top:16px;padding-bottom:22px;font-size:12.5px}
@media(max-width:820px){.foot-in{grid-template-columns:1fr;gap:24px}}

/* movimiento reducido */
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.logo path{stroke-dashoffset:0}}

/* impresión */
@media print{
  body{background:#fff;font-size:12pt}
  .top,.foot,.demo-bar,.no-print,.skip,.crumbs{display:none!important}
  .main{padding:0}
  .doc,.legal{border:0;padding:0;max-width:none}
  .logo path{stroke-dashoffset:0;animation:none}
  a{text-decoration:none}
}
