/* Expediente full length · Revenue Audit M1 · sistema DealTunnel (brand/DESIGN.md v1.3 §8B) */

/* 1 · fuentes autoalojadas */
@font-face{font-family:Geist;src:url(../audit/fonts/geist-latin.woff2)format("woff2");font-weight:100 900;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215}
@font-face{font-family:Geist;src:url(../audit/fonts/geist-latin-ext.woff2)format("woff2");font-weight:100 900;font-display:swap;unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Geist Mono";src:url(../audit/fonts/geist-mono-latin.woff2)format("woff2");font-weight:100 900;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+2074,U+20AC,U+2122,U+2212}
@font-face{font-family:"Geist Mono";src:url(../audit/fonts/geist-mono-latin-ext.woff2)format("woff2");font-weight:100 900;font-display:swap;unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+2113,U+2C60-2C7F}

/* 2 · tokens */
:root{
 --canvas:#FFFFFF;--surface:#F6F7F5;--text:#101112;--grey:#6B6F6B;
 --hairline:rgba(16,17,18,.14);--hairline-soft:rgba(16,17,18,.07);
 --acc-text:#067647;--acc-fill:#05DF72;--hl-bg:#05DF72;--hl-text:#101112;--dot-off:#E1E4E1;
 --sans:Geist,-apple-system,"Helvetica Neue",Arial,sans-serif;
 --mono:"Geist Mono","SF Mono",ui-monospace,Menlo,monospace;
 /* rampa de marca de huge.x, solo para la seccion 6A */
 --hx-500:#ab63ff;--hx-600:#944fe0;--hx-700:#7a3bc2;--hx-900:#452070;--hx-100:#f0e0ff;--hx-50:#faf5ff;
 /* escala de siete, razon 1.25 */
 --f-d1:clamp(38px,6.2vw,68px);--f-h1:clamp(28px,3.4vw,40px);--f-n1:25px;--f-h2:20px;--f-b1:16px;--f-m1:13px;--f-l1:10px;
 --e1:8px;--e2:16px;--e3:24px;--e4:32px;--e5:48px;--e6:64px;--e7:96px;
 --grid:1180px;--prosa:720px;--chrome:52px;--ritmo:var(--e7);--margen:var(--e5);
}
html[data-theme=dark]{
 --canvas:#0C0C0E;--surface:#131316;--text:#E8E4DC;--grey:#9A9690;
 --hairline:rgba(232,228,220,.14);--hairline-soft:rgba(232,228,220,.08);
 --acc-text:#05DF72;--hl-bg:transparent;--hl-text:#05DF72;--dot-off:#222228;
}
@media(prefers-color-scheme:dark){html:not([data-theme=light]){--canvas:#0C0C0E;--surface:#131316;--text:#E8E4DC;--grey:#9A9690;--hairline:rgba(232,228,220,.14);--hairline-soft:rgba(232,228,220,.08);--acc-text:#05DF72;--hl-bg:transparent;--hl-text:#05DF72;--dot-off:#222228}}

/* 3 · base */
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{background:var(--canvas);color:var(--text);font-family:var(--sans);font-size:var(--f-b1);line-height:24px;
 -webkit-font-smoothing:antialiased;overflow-x:hidden}
body::after{content:'';position:fixed;inset:0;pointer-events:none;z-index:999;opacity:.03;
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}
a{color:var(--acc-text);text-decoration:none}
a:hover{text-decoration:underline}
:focus-visible{outline:2px solid var(--acc-text);outline-offset:3px}

/* 4 · tipografia */
.d1{font-size:var(--f-d1);font-weight:600;letter-spacing:-.035em;line-height:1.02}
.h1{font-size:var(--f-h1);font-weight:600;letter-spacing:-.03em;line-height:1.1}
.h2{font-size:var(--f-h2);font-weight:600;letter-spacing:-.02em;line-height:28px}
.n1{font-family:var(--mono);font-size:var(--f-n1);font-weight:500;line-height:32px;letter-spacing:-.02em}
.b1{font-size:var(--f-b1);line-height:26px}
.m1{font-family:var(--mono);font-size:var(--f-m1);line-height:20px}
.l1{font-family:var(--mono);font-size:var(--f-l1);font-weight:500;text-transform:uppercase;letter-spacing:.15em;color:var(--grey)}
.hl{background:var(--hl-bg);color:var(--hl-text);padding:0 .16em}
.dim{color:var(--grey)}
.mono{font-family:var(--mono)}
.verde{color:var(--acc-text)}

/* 5 · chrome */
.chrome{position:sticky;top:0;z-index:60;height:var(--chrome);display:flex;align-items:center;gap:var(--e3);
 padding:0 var(--margen);background:color-mix(in srgb,var(--canvas) 92%,transparent);
 backdrop-filter:blur(10px);border-bottom:1px solid var(--hairline)}
.chrome-id{flex:0 0 auto}
.chrome-pos{flex:1;text-align:center;color:var(--acc-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chrome-ctrl{flex:0 0 auto;display:flex;gap:var(--e1)}
.ctrl{font-family:var(--mono);font-size:var(--f-l1);font-weight:500;text-transform:uppercase;letter-spacing:.12em;
 background:none;border:1px solid var(--hairline);color:var(--text);padding:6px 10px;cursor:pointer}
.ctrl[aria-pressed=true]{border-color:var(--acc-text);color:var(--acc-text)}
.progreso{position:fixed;top:var(--chrome);left:0;height:2px;background:var(--acc-fill);z-index:61;width:0;transition:width .1s linear}

/* 6 · layout */
.wrap{max-width:var(--grid);margin:0 auto;padding:0 var(--margen)}
.prosa{max-width:var(--prosa)}
.paso{padding-block:var(--ritmo);border-top:1px solid var(--hairline);scroll-margin-top:calc(var(--chrome) + 8px)}
.paso:first-of-type{border-top:0}
.scan{width:60px;height:2px;background:var(--acc-fill);margin:var(--e2) 0 var(--e4)}
.sub{margin-top:var(--e6)}
.sub-cab{display:flex;align-items:baseline;gap:var(--e2);margin-bottom:var(--e3);flex-wrap:wrap}

/* 7 · portada */
.portada{padding-block:var(--e7) var(--e6)}
.portada .d1{margin:var(--e3) 0}
.portada-meta{display:flex;gap:var(--e4);flex-wrap:wrap;margin-top:var(--e4);padding-top:var(--e3);border-top:1px solid var(--hairline)}
.portada-meta div{min-width:120px}

/* 8 · numeral gigante de paso */
.paso-num{font-family:var(--mono);font-size:clamp(64px,11vw,132px);font-weight:500;line-height:.86;
 color:var(--dot-off);letter-spacing:-.05em;user-select:none}
.paso-cab{display:grid;grid-template-columns:auto 1fr;gap:var(--e4);align-items:start}
@media(max-width:700px){.paso-cab{grid-template-columns:1fr;gap:var(--e2)}.paso-num{font-size:56px}}

/* 9 · iconos origami */
.ico{width:22px;height:22px;flex:0 0 22px;stroke:currentColor;fill:none;stroke-width:1.4;stroke-linejoin:round;stroke-linecap:round}
.ico-l{width:32px;height:32px;flex:0 0 32px}

/* 10 · paneles y tarjetas */
.panel{background:var(--surface);border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);
 padding:var(--e5) 0;margin:var(--e5) 0}
.tarjetas{display:grid;gap:1px;background:var(--hairline);border:1px solid var(--hairline);margin:var(--e4) 0}
.tarjetas[data-c="2"]{grid-template-columns:repeat(2,1fr)}
.tarjetas[data-c="3"]{grid-template-columns:repeat(3,1fr)}
.tarjetas[data-c="4"]{grid-template-columns:repeat(4,1fr)}
.tarjeta{background:var(--canvas);padding:var(--e3)}
.tarjeta .l1{display:block;margin-bottom:var(--e1)}
.tarjeta .n1{display:block;color:var(--text)}
.tarjeta p{margin-top:var(--e1);color:var(--grey);font-size:var(--f-m1);line-height:20px}
@media(max-width:900px){.tarjetas[data-c="4"]{grid-template-columns:repeat(2,1fr)}.tarjetas[data-c="3"]{grid-template-columns:1fr}}
@media(max-width:600px){.tarjetas[data-c="2"],.tarjetas[data-c="4"]{grid-template-columns:1fr}}

/* 11 · cifra trazada */
.cifras{display:grid;gap:var(--e4)}
.cifras[data-c="2"]{grid-template-columns:repeat(2,1fr)}
.cifras[data-c="3"]{grid-template-columns:repeat(3,1fr)}
@media(max-width:820px){.cifras[data-c="3"]{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.cifras[data-c="2"],.cifras[data-c="3"]{grid-template-columns:1fr}}
.cifra{border-top:1px solid var(--hairline);padding-top:var(--e2)}
.cifra[data-eje=sin-dato]{border-top-style:dashed}
.cifra-n{display:block;font-family:var(--mono);font-size:var(--f-n1);font-weight:500;line-height:32px;color:var(--text)}
.cifra[data-eje=estimada] .cifra-n{color:var(--grey)}
.cifra[data-eje=sin-dato] .cifra-n{font-size:var(--f-m1);line-height:20px;color:var(--grey);text-transform:uppercase;letter-spacing:.12em}
.cifra-q{display:block;margin-top:4px;font-size:var(--f-b1);line-height:24px}
.cifra-f{display:block;margin-top:var(--e1);font-family:var(--mono);font-size:var(--f-l1);font-weight:500;
 text-transform:uppercase;letter-spacing:.13em;color:var(--grey)}
.cifra-s{display:block;margin-top:6px;font-family:var(--mono);font-size:var(--f-m1);line-height:18px;color:var(--grey)}
.conector{color:var(--grey);font-family:var(--sans);font-weight:400}

/* 12 · filas de registro */
.fila{display:grid;align-items:center;gap:var(--e2);padding:14px 0;border-bottom:1px solid var(--hairline)}
.fila[data-cols=idx]{grid-template-columns:34px 1fr auto}
.fila[data-cols=rol]{grid-template-columns:96px 1fr}
.fila-i{font-family:var(--mono);font-size:var(--f-m1);color:var(--acc-text)}
.fila-t{font-weight:600}
.fila-m{font-family:var(--mono);font-size:var(--f-m1);color:var(--grey)}
.fila-sub{grid-column:2/-1;font-family:var(--mono);font-size:var(--f-m1);color:var(--grey);margin-top:2px}
@media(max-width:640px){.fila[data-cols=idx],.fila[data-cols=rol]{grid-template-columns:34px 1fr}.fila-m{grid-column:2/-1}}

/* 13 · tablas */
.tabla-w{overflow-x:auto;border:1px solid var(--hairline);margin:var(--e3) 0}
table{border-collapse:collapse;width:100%;font-size:var(--f-m1);font-family:var(--mono)}
th{position:sticky;top:var(--chrome);background:var(--canvas);text-align:left;font-weight:500;font-size:var(--f-l1);
 text-transform:uppercase;letter-spacing:.13em;color:var(--grey);padding:10px 12px;border-bottom:1px solid var(--hairline);white-space:nowrap}
td{padding:9px 12px;border-bottom:1px solid var(--hairline-soft);vertical-align:top}
tr:last-child td{border-bottom:0}
td.der{text-align:right}
td.nom{font-family:var(--sans);font-size:14px;min-width:230px}
tbody tr:hover{background:var(--surface)}

/* 14 · graficas */
.graf{margin:var(--e4) 0}
.barra{display:grid;grid-template-columns:130px 1fr 62px;gap:var(--e2);align-items:center;padding:7px 0}
.barra-l{font-family:var(--mono);font-size:var(--f-m1);color:var(--grey);text-align:right}
.barra-t{height:14px;background:var(--dot-off);position:relative;overflow:hidden}
.barra-f{height:100%;background:var(--acc-fill);width:0;transition:width .9s cubic-bezier(.2,.7,.2,1)}
.barra-f[data-alt]{background:var(--text)}
.barra-v{font-family:var(--mono);font-size:var(--f-m1);color:var(--text)}
.embudo{display:flex;flex-direction:column;gap:2px;margin:var(--e3) 0}
.embudo-p{border:1px solid var(--hairline);padding:var(--e2);display:flex;justify-content:space-between;align-items:baseline;gap:var(--e2);
 background:var(--canvas);transition:transform .5s ease,opacity .5s ease}
.embudo-p .n1{color:var(--text)}
.embudo-p[data-x] .n1{color:var(--acc-text)}
.leyenda{display:flex;gap:var(--e3);flex-wrap:wrap;margin-top:var(--e2)}
.leyenda span{display:flex;align-items:center;gap:6px;font-family:var(--mono);font-size:var(--f-l1);
 text-transform:uppercase;letter-spacing:.12em;color:var(--grey)}
.sw{width:10px;height:10px;flex:0 0 10px}

/* 15 · seccion de marca (6A) · unica que muestra la paleta de huge.x */
.paleta{display:grid;grid-template-columns:repeat(10,1fr);border:1px solid var(--hairline);margin:var(--e3) 0}
.paleta div{aspect-ratio:1/1.5;display:flex;align-items:flex-end;justify-content:center;padding-bottom:6px;
 font-family:var(--mono);font-size:9px;letter-spacing:.06em}
@media(max-width:700px){.paleta{grid-template-columns:repeat(5,1fr)}}
.tono{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--hairline);border:1px solid var(--hairline);margin:var(--e3) 0}
.tono>div{background:var(--canvas);padding:var(--e2) var(--e3)}
.tono .l1{display:block;margin-bottom:6px}
.tono-si{border-left:2px solid var(--acc-text)}
.tono-no{border-left:2px solid var(--dot-off);color:var(--grey)}
@media(max-width:640px){.tono{grid-template-columns:1fr}}
.banco{display:flex;flex-wrap:wrap;gap:var(--e1);margin:var(--e2) 0}
.chip{border:1px solid var(--hairline);padding:5px 10px;font-family:var(--mono);font-size:var(--f-l1);
 text-transform:uppercase;letter-spacing:.12em;color:var(--grey)}
.chip[data-x=si]{border-color:var(--acc-text);color:var(--acc-text)}
.chip[data-x=no]{text-decoration:line-through;opacity:.6}
.manifiesto{border-left:2px solid var(--acc-fill);padding-left:var(--e3);margin:var(--e4) 0}
.manifiesto p{font-size:19px;line-height:30px;margin-bottom:10px;max-width:640px}

/* 16 · ficha */
.ficha{border:1px solid var(--hairline);padding:var(--e3);background:var(--canvas)}
.ficha-k{display:grid;grid-template-columns:150px 1fr;gap:var(--e2);padding:8px 0;
 border-bottom:1px dashed var(--hairline);font-family:var(--mono);font-size:var(--f-m1)}
.ficha-k:last-child{border-bottom:0}
.ficha-k b{color:var(--grey);font-weight:500;text-transform:uppercase;font-size:var(--f-l1);letter-spacing:.13em}
@media(max-width:600px){.ficha-k{grid-template-columns:1fr;gap:2px}}

/* 17 · cita */
.cita{border-left:2px solid var(--hairline);padding-left:var(--e3);margin:var(--e3) 0;color:var(--grey);
 font-size:var(--f-b1);line-height:26px}

/* 18 · indice lateral */
.idx{position:fixed;left:var(--e2);top:50%;transform:translateY(-50%);z-index:50;display:flex;flex-direction:column;gap:6px}
.idx a{width:22px;height:3px;background:var(--dot-off);display:block;transition:background .25s,width .25s}
.idx a[aria-current=true]{background:var(--acc-fill);width:34px}
@media(max-width:1420px){.idx{display:none}}

/* 19 · motion: solo fade, nunca rebote */
[data-rev]{opacity:0;transform:translateY(10px);transition:opacity .55s ease,transform .55s ease}
[data-rev].on{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){[data-rev]{opacity:1;transform:none;transition:none}.barra-f{transition:none}}

/* 20 · pie */
.emision{border-top:1px solid var(--hairline);padding-block:var(--e5);margin-top:var(--e7)}
.firmas{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--e5);margin-top:var(--e4);max-width:620px}
.firma{border-bottom:1px solid var(--text);padding-bottom:6px}
@media(max-width:600px){.firmas{grid-template-columns:1fr}}


/* 22 · chrome y tablas en movil */
@media (max-width:859px){
  .chrome{gap:10px}
  .chrome-pos{display:none}
  .chrome-id{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .chrome-ctrl{flex:0 0 auto;gap:6px}
  .ctrl{padding:5px 8px;letter-spacing:.08em}
}
@media (max-width:479px){
  :root{--margen:16px}
  .ctrl{padding:5px 6px;font-size:9px}
  .paso-num{font-size:44px}
  .cifra-n{font-size:21px;line-height:28px}
}
.tabla-w{max-width:100%}

/* 21 · impresion */
@media print{
 html{--canvas:#fff;--surface:#fff;--text:#000;--grey:#333;--hairline:rgba(0,0,0,.3);--dot-off:#ddd}
 body::after{display:none}
 .chrome,.idx,.progreso,.ctrl{display:none}
 .paso{break-inside:avoid;page-break-inside:avoid}
 [data-rev]{opacity:1;transform:none}
 a[href^=http]::after{content:" (" attr(href) ")";font-family:var(--mono);font-size:9px;color:#555}
}
