@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fuentes/inter-latin.woff2) format('woff2')}
/* Valores neutros por defecto; cada perfil los sustituye en /tema.css */
:root{color-scheme:light;--fondo:#f4f4f5;--tarjeta:#ffffff;--elevado:#f0f0f1;--tinta:#18181b;--suave:#71717a;--borde:#e4e4e7;--acento:#3f3f46;--acento-2:#52525b;--sobre-acento:#ffffff;--ok:#15803d;--revisar:#b45309;--excluye:#c2410c;--bloquea:#b91c1c;--sombra:0 1px 2px rgba(0,0,0,.06),0 8px 22px rgba(0,0,0,.08);--radio:16px}

*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{scroll-behavior:smooth}
body{margin:0;background:var(--fondo);color:var(--tinta);font:16px/1.45 Inter,system-ui,-apple-system,"Segoe UI",sans-serif;padding-bottom:calc(84px + env(safe-area-inset-bottom));-webkit-font-smoothing:antialiased}

body::before{content:"";position:fixed;right:-70px;top:60px;width:300px;height:240px;background:center/contain no-repeat;opacity:.05;pointer-events:none;z-index:0}
main,header,.tabs{position:relative;z-index:1}
/* Cabecera */
header{padding:calc(12px + env(safe-area-inset-top)) 18px 12px;background:color-mix(in srgb,var(--fondo) 92%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--borde);position:sticky;top:0;z-index:5;box-shadow:0 1px 0 color-mix(in srgb,var(--acento) 25%,transparent)}
.marca img{display:block;height:22px;width:auto}
.marca .nombre{font-weight:800;font-size:17px;letter-spacing:-.01em;color:var(--acento)}
.aviso-iva{margin:12px 0 0;padding:10px 12px;border-radius:12px;font-size:13px;color:var(--tinta);background:color-mix(in srgb,var(--revisar) 14%,transparent);border-left:4px solid var(--revisar)}
.aviso-iva[hidden]{display:none}
header{display:flex;align-items:center;justify-content:space-between;gap:12px}
h1{font-size:15px;margin:0;letter-spacing:-.01em;font-weight:700;text-align:right;line-height:1.2}
h1 small{display:block;font-size:11.5px;font-weight:400;color:var(--suave);margin-top:2px}
main{max-width:640px;margin:0 auto;padding:6px 16px 16px}
section{animation:entra .28s ease both}
@keyframes entra{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* Respuesta al tacto, común a todo lo pulsable */
button,.subir,.tipo span{transition:transform .14s cubic-bezier(.3,1.4,.5,1),box-shadow .14s,filter .14s,background-color .2s,border-color .2s,opacity .2s;touch-action:manipulation;user-select:none;-webkit-user-select:none}
button{font:inherit;position:relative;overflow:hidden;cursor:pointer}
button:active:not(:disabled),.subir:active,.tipo label:active span{transform:scale(.95);filter:brightness(.93)}
button:focus-visible,.subir:focus-within,.tipo input:focus-visible+span,input:focus-visible{outline:3px solid color-mix(in srgb,var(--acento) 45%,transparent);outline-offset:2px}
.onda{position:absolute;border-radius:50%;background:currentColor;opacity:.22;transform:scale(0);animation:onda .55s ease-out forwards;pointer-events:none}
@keyframes onda{to{transform:scale(1);opacity:0}}

/* Tipo de documento */
.tipo{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}
.tipo label{display:block}
.tipo input{position:absolute;opacity:0}
.tipo span{display:flex;flex-direction:column;gap:2px;height:100%;border:1.5px solid var(--borde);background:var(--tarjeta);border-radius:var(--radio);padding:12px 14px;box-shadow:var(--sombra);font-weight:600}
.tipo span small{font-weight:400;color:var(--suave);font-size:12.5px}
.tipo input:checked+span{border-color:var(--acento);background:color-mix(in srgb,var(--acento) 10%,var(--tarjeta));box-shadow:0 0 0 1px var(--acento) inset,var(--sombra)}

/* Pantalla de subida: centrada en la pantalla, con la zona de subir como acción principal */
#vista-subir[hidden]{display:none}
#vista-subir{min-height:calc(100vh - 190px);min-height:calc(100dvh - 190px);display:flex;flex-direction:column;justify-content:center}
#paso-subir{display:flex;flex-direction:column;gap:16px}
#paso-subir .tipo,#paso-subir .miniaturas{margin:0}
#paso-subir .principal{margin-top:0}
.miniaturas:empty{display:none}
#paso-subir .subir{padding:44px 16px}
#paso-subir .subir svg{width:58px;height:58px}
#paso-subir .subir strong{font-size:18px}
/* Zona de subida */
.subir{display:flex;flex-direction:column;align-items:center;gap:6px;border:2px dashed color-mix(in srgb,var(--acento) 45%,var(--borde));border-radius:20px;padding:26px 16px;text-align:center;background:var(--tarjeta);cursor:pointer;box-shadow:var(--sombra)}
.subir input{display:none}
.subir svg{width:38px;height:38px;color:var(--acento)}
.subir strong{font-size:17px}
.subir small{color:var(--suave)}
.miniaturas{list-style:none;display:flex;gap:10px;flex-wrap:wrap;padding:0;margin:14px 0 4px}
.miniaturas li{animation:entra .25s ease both;font-size:13px;color:var(--suave)}
.miniaturas img{height:76px;border-radius:10px;border:1px solid var(--borde);box-shadow:var(--sombra)}

#modo-varios[hidden]{display:none}
#modo-varios{margin:0}
/* Lista de documentos que se leen en segundo plano */
#paso-cola[hidden]{display:none}
#paso-cola{display:flex;flex-direction:column;gap:12px}
.cola-cab{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.cola-cab h2{margin:0;font-size:20px;letter-spacing:-.01em}
#cola-resumen{color:var(--suave);font-size:13px}
.cola{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.cola li{display:flex;align-items:center;gap:12px;background:var(--tarjeta);border:1px solid var(--borde);border-radius:var(--radio);padding:10px 12px;box-shadow:var(--sombra);animation:entra .25s ease both}
.cola .mini{flex:none;width:48px;height:48px;border-radius:10px;overflow:hidden;background:var(--elevado);display:grid;place-items:center;font-size:11px;font-weight:700;color:var(--suave)}
.cola .mini img{width:100%;height:100%;object-fit:cover}
.cola .info{flex:1;min-width:0}
.cola .info b{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cola .info span{display:block;font-size:12.5px;color:var(--suave)}
.cola .info span.revisar{color:var(--revisar)}
.cola .info span.error{color:var(--bloquea)}
.cola .info span.listo{color:var(--ok)}
.cola li.hecho{opacity:.55}
.cola li button{flex:none;width:auto;margin:0;padding:9px 16px;border-radius:12px;font-weight:600;font-size:14px;box-shadow:none}
.cola .leyendo .mini::after{content:"";width:18px;height:18px;border-radius:50%;border:2.5px solid color-mix(in srgb,var(--acento) 30%,transparent);border-top-color:var(--acento);animation:gira .8s linear infinite;position:absolute}
@keyframes gira{to{transform:rotate(360deg)}}
.cola .mini{position:relative}

.resumen-estado{margin:10px 0 0;font-size:13px;color:var(--suave)}
.resumen-estado:empty{display:none}

/* Pantalla de inicio */
#vista-inicio[hidden]{display:none}
#vista-inicio{display:flex;flex-direction:column;gap:14px}
.inicio-hero{display:flex;flex-direction:column;align-items:center;gap:6px;padding:18px 12px 6px;text-align:center}
.inicio-logo:empty{display:none}
.inicio-logo{width:100%;text-align:center}
.inicio-logo img{display:inline-block;vertical-align:top;height:78px;width:auto}
.inicio-hero h2{margin:0;font-size:22px;letter-spacing:-.01em}
.saludo{margin:0;color:var(--suave);font-size:14px}
.inicio-acciones{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.inicio-boton{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:16px 14px;border:1.5px solid var(--borde);background:var(--tarjeta);color:var(--tinta);border-radius:var(--radio);box-shadow:var(--sombra);text-align:left}
.inicio-boton svg{width:30px;height:30px;color:var(--acento);margin-bottom:6px}
.inicio-boton b{font-size:16px}
.inicio-boton small{color:var(--suave);font-size:12.5px}
.inicio-tarjeta{background:var(--tarjeta);border:1px solid var(--borde);border-radius:var(--radio);padding:14px;box-shadow:var(--sombra);display:flex;flex-direction:column;gap:10px}
.inicio-tarjeta h3,.inicio-titulo{margin:0;font-size:14.5px}
.inicio-titulo{margin-top:4px}
.inicio-aviso{margin:0;padding:8px 10px;border-radius:10px;font-size:13px;background:color-mix(in srgb,var(--revisar) 14%,transparent);border-left:4px solid var(--revisar)}
.inicio-lista{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.inicio-lista li{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--tarjeta);border:1px solid var(--borde);border-radius:14px;padding:10px 12px}
.inicio-lista li.vacio{color:var(--suave);justify-content:center}
.inicio-lista .info{min-width:0}
.inicio-lista .info b{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.inicio-lista .info span{display:block;font-size:12.5px;color:var(--suave)}
.inicio-lista .info span.revisar{color:var(--revisar)}
.inicio-lista strong{white-space:nowrap;font-size:14px}

/* Pantalla de entrada */
.intro{position:fixed;inset:0;z-index:100;background:var(--fondo);display:flex;flex-direction:column;align-items:center;justify-content:center;transition:opacity .5s ease,transform .5s ease}
.intro.sale{opacity:0;transform:scale(1.03);pointer-events:none}
.intro-centro{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding:0 24px;opacity:0;transform:translateY(10px) scale(.97);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.9,.3,1)}
.intro.lista .intro-centro{opacity:1;transform:none}
.intro-logo:empty{display:none}
.intro-logo img{display:block;height:96px;width:auto}
.intro h1{margin:0;font-size:24px;letter-spacing:-.01em;text-align:center}
.intro p{margin:0;color:var(--suave);font-size:14px}
.intro-barra{position:absolute;left:50%;bottom:calc(64px + env(safe-area-inset-bottom));width:120px;height:3px;margin-left:-60px;border-radius:3px;background:color-mix(in srgb,var(--acento) 22%,transparent);overflow:hidden}
.intro-barra i{display:block;height:100%;width:100%;background:var(--acento);transform-origin:left;transform:scaleX(0);animation:carga 1.4s ease-out forwards}
@keyframes carga{to{transform:scaleX(1)}}
@media (prefers-reduced-motion:reduce){.intro,.intro-centro{transition:none}.intro-barra i{animation:none;transform:none}}

/* Botones */
button.principal{width:100%;border:0;background:linear-gradient(180deg,var(--acento-2),var(--acento));color:var(--sobre-acento);border-radius:14px;padding:15px;font-weight:700;font-size:16.5px;margin-top:10px;box-shadow:0 3px 0 color-mix(in srgb,var(--acento) 68%,#000),0 8px 22px color-mix(in srgb,var(--acento) 28%,transparent)}
button.principal:active:not(:disabled){transform:translateY(3px) scale(.99);box-shadow:0 0 0 color-mix(in srgb,var(--acento) 68%,#000),0 2px 8px color-mix(in srgb,var(--acento) 28%,transparent)}
button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}
button.secundario,.acciones button:not(.principal){border:1.5px solid var(--borde);background:var(--tarjeta);color:var(--tinta);border-radius:14px;padding:13px;font-weight:600}

/* Cargando: texto + indicador giratorio, el botón queda bloqueado */
button.cargando{pointer-events:none;opacity:.9}
button.cargando::after{content:"";display:inline-block;width:1em;height:1em;margin-left:.6em;vertical-align:-.15em;border:2.5px solid color-mix(in srgb,var(--sobre-acento) 30%,transparent);border-top-color:var(--sobre-acento);border-radius:50%;animation:gira .7s linear infinite}
button.secundario.cargando::after,.acciones button:not(.principal).cargando::after{border-color:color-mix(in srgb,var(--tinta) 25%,transparent);border-top-color:var(--tinta)}
@keyframes gira{to{transform:rotate(360deg)}}
button.hecho{animation:salto .35s ease}
@keyframes salto{40%{transform:scale(1.05)}}

/* Estado y avisos */
#estado{min-height:1.4em;color:var(--suave);margin:10px 2px 0;font-size:14.5px}
#estado.error{color:var(--bloquea)}
#aviso{position:fixed;left:50%;bottom:calc(92px + env(safe-area-inset-bottom));transform:translate(-50%,20px);max-width:min(92vw,420px);background:var(--elevado);color:var(--tinta);border:1px solid var(--borde);border-left:4px solid var(--acento);padding:11px 16px;border-radius:12px;font-size:14.5px;box-shadow:0 10px 28px rgba(0,0,0,.35);opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;z-index:20;text-align:left}
#aviso.visible{opacity:1;transform:translate(-50%,0)}
#aviso.ok{border-left-color:var(--ok)}#aviso.error{border-left-color:var(--bloquea)}

/* Ficha de revisión */
#ficha{background:var(--tarjeta);border:1px solid var(--borde);border-radius:20px;padding:16px;margin-top:16px;box-shadow:var(--sombra);animation:entra .3s ease both}
#ficha[hidden]{display:none}
#ficha{scroll-margin-top:84px}
#ficha h2{margin:0}
.ficha-cab{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:12px;margin-bottom:6px}
#ficha h2{text-align:right;font-size:14.5px;color:var(--suave);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ficha-resumen{text-align:center;padding:4px 0 14px}
.ficha-resumen .miniaturas{justify-content:center;margin:6px 0 10px}
.ficha-total{font-size:30px;font-weight:800;letter-spacing:-.02em;line-height:1.1;color:var(--tinta)}
.ficha-sub{margin-top:4px;color:var(--suave);font-size:14.5px}
.mas-datos{margin-top:14px;border:1px solid var(--borde);border-radius:14px;padding:10px 12px;background:color-mix(in srgb,var(--elevado) 55%,transparent)}
.mas-datos summary{font-weight:600;cursor:pointer;color:var(--suave)}
.mas-datos .campos{margin-top:10px}
/* Modo revisión: sin barra de pestañas y con los botones siempre a mano */
body.revisando .tabs{display:none}
body.revisando{padding-bottom:calc(120px + env(safe-area-inset-bottom))}
#ficha{max-width:520px;margin-inline:auto}
#barra-ficha{position:fixed;left:0;right:0;bottom:0;z-index:12;margin:0;padding:10px 16px calc(10px + env(safe-area-inset-bottom));grid-template-columns:1fr 2fr;background:color-mix(in srgb,var(--tarjeta) 94%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--borde)}
#barra-ficha button{margin-top:0}
#barra-ficha .principal{order:2}
.acciones[hidden]{display:none}
.ficha-cab button{padding:9px 14px;border-radius:12px;white-space:nowrap}
#paso-subir[hidden]{display:none}
.miniaturas a{display:block}
#alertas{list-style:none;padding:0;margin:0 0 14px;display:grid;gap:8px}
#alertas li{border-left:4px solid;padding:8px 12px;border-radius:6px;background:color-mix(in srgb,var(--fondo) 80%,var(--tarjeta));font-size:14px;animation:entra .25s ease both}
#alertas .ok{border-color:var(--ok)}#alertas .revisar{border-color:var(--revisar)}#alertas .excluye{border-color:var(--excluye)}#alertas .bloquea{border-color:var(--bloquea)}
.campos{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.campos label{display:grid;gap:3px;font-size:12.5px;color:var(--suave)}
.campos label.completo{grid-column:1/-1}
.campos input{font:16px inherit;padding:11px 12px;border:1.5px solid var(--borde);border-radius:11px;background:var(--elevado);color:var(--tinta);width:100%;transition:border-color .2s,box-shadow .2s}
.campos input:focus{border-color:var(--acento);outline:0;box-shadow:0 0 0 3px color-mix(in srgb,var(--acento) 25%,transparent)}
.confirmar[hidden]{display:none}
.confirmar{display:flex;gap:10px;align-items:flex-start;margin-top:14px;font-size:14.5px;padding:10px 12px;border-radius:12px;background:color-mix(in srgb,var(--revisar) 12%,transparent)}
.confirmar input{width:20px;height:20px;accent-color:var(--acento);margin-top:1px}
.acciones{display:grid;gap:8px;margin-top:14px}

/* Acceso */
.acceso{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:20px;background:color-mix(in srgb,var(--fondo) 88%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.acceso[hidden]{display:none}
.acceso-tarjeta{width:min(100%,380px);background:var(--tarjeta);border:1px solid var(--borde);border-radius:20px;padding:20px;box-shadow:var(--sombra);animation:entra .25s ease both}
.acceso-tarjeta h2{margin:0 0 4px;font-size:20px}
.acceso-tarjeta p{margin:0 0 14px;color:var(--suave);font-size:14px}
.acceso-tarjeta p.error{color:var(--bloquea);font-weight:600}
.clave-campo{display:flex;gap:8px}
.clave-campo input{flex:1;min-width:0;font:17px inherit;padding:13px 12px;border:1.5px solid var(--borde);border-radius:12px;background:var(--elevado);color:var(--tinta)}
.clave-campo input:focus{border-color:var(--acento);outline:0;box-shadow:0 0 0 3px color-mix(in srgb,var(--acento) 25%,transparent)}
.clave-campo button{padding:0 14px;border-radius:12px}
/* Resumen */
#anio{width:120px;font:600 17px inherit;padding:9px 10px;margin-left:8px;border:1.5px solid var(--borde);border-radius:11px;background:var(--tarjeta);color:var(--tinta)}
.anio-campo{display:flex;align-items:center;font-weight:600}
.tarjetas{display:grid;gap:12px;margin:14px 0}
.trimestre{background:var(--tarjeta);border:1px solid var(--borde);border-radius:var(--radio);padding:14px 16px;box-shadow:var(--sombra);animation:entra .3s ease both}
.trimestre h3{display:flex;justify-content:space-between;align-items:center;margin:0 0 10px;font-size:16px}
.pendientes{font-size:12px;font-weight:600;color:var(--revisar);background:color-mix(in srgb,var(--revisar) 14%,transparent);padding:3px 9px;border-radius:999px}
.clave.una{grid-template-columns:1fr}
.clave{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}
.clave div{background:color-mix(in srgb,var(--acento) 9%,var(--tarjeta));border-radius:12px;padding:10px 12px}
.clave span{display:block;font-size:12px;color:var(--suave)}
.clave b{display:block;font-size:20px;letter-spacing:-.01em;margin-top:2px}
.detalle{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px;font-size:13.5px}
.detalle div{display:flex;justify-content:space-between;gap:8px;border-bottom:1px dashed var(--borde);padding-bottom:4px}
.detalle span{color:var(--suave)}
#pagos130{background:var(--tarjeta);border:1px solid var(--borde);border-radius:var(--radio);padding:10px 14px;margin:12px 0;box-shadow:var(--sombra)}
#pagos130 summary{font-weight:600;cursor:pointer}
#pagos130 p{color:var(--suave);font-size:13px;margin:8px 0}
.pagos{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.pagos label{display:grid;gap:3px;font-size:12.5px;color:var(--suave)}
.pagos input{font:16px inherit;padding:9px 10px;border:1.5px solid var(--borde);border-radius:10px;background:var(--fondo);color:var(--tinta);width:100%}
.ver-informe{width:100%;margin-top:12px}
.peligro{margin:18px 0 8px;border:1px solid color-mix(in srgb,var(--bloquea) 40%,var(--borde));border-radius:var(--radio);padding:10px 14px}
.peligro summary{font-weight:600;color:var(--bloquea);cursor:pointer}
.peligro p{color:var(--suave);font-size:13px}
.peligro button{width:100%;border-color:color-mix(in srgb,var(--bloquea) 50%,var(--borde));color:var(--bloquea)}
#informe-volver{margin-bottom:12px;padding:10px 14px}
#informe{background:var(--tarjeta);border:1px solid var(--borde);border-radius:var(--radio);padding:16px;box-shadow:var(--sombra)}
#informe h2{margin:0;font-size:20px}
.inf-marca{display:none}
.sub{color:var(--suave);font-size:13px;margin:2px 0 14px}
.inf-bloque{margin:0 0 16px}
.inf-bloque h3{font-size:14.5px;margin:0 0 8px;padding-bottom:5px;border-bottom:2px solid color-mix(in srgb,var(--acento) 35%,var(--borde))}
.tipos{font-size:12.5px;color:var(--suave);margin:8px 0 0}
.vacio{color:var(--suave);font-size:13.5px;margin:0}
.tabla-informe{overflow-x:auto;-webkit-overflow-scrolling:touch}
.tabla-informe table{border-collapse:collapse;width:100%;font-size:13px}
.tabla-informe th,.tabla-informe td{padding:6px 8px;border-bottom:1px solid var(--borde);text-align:left;vertical-align:top}
.tabla-informe th{color:var(--suave);font-size:12px;font-weight:600;white-space:nowrap}
.tabla-informe td.num{text-align:right;white-space:nowrap}
.tabla-informe tr.nota td{color:var(--revisar);font-size:12px;border-bottom:1px solid var(--borde);padding-top:0}
.tabla-informe a{color:var(--acento);font-weight:600}
.inf-avisos{margin:12px 0 0;padding-left:18px;color:var(--suave);font-size:12.5px}
.aviso{color:var(--suave);font-size:13px}

/* Barra inferior (al alcance del pulgar) */
.tabs{position:fixed;left:0;right:0;bottom:0;z-index:10;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:6px;padding:8px 14px calc(8px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--tarjeta) 92%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--borde)}
.tabs button{display:flex;flex-direction:column;align-items:center;gap:3px;border:0;background:transparent;color:var(--suave);padding:8px 4px;border-radius:14px;font-size:12.5px;font-weight:600}
.tabs button svg{width:24px;height:24px;transition:transform .2s cubic-bezier(.3,1.5,.5,1)}
.tabs button.activa{color:var(--acento);background:color-mix(in srgb,var(--acento) 13%,transparent);box-shadow:0 -2px 0 var(--acento) inset}
.tabs button.activa svg{transform:translateY(-1px) scale(1.12)}

@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}

@media screen and (max-width:560px){
  .tabla-informe table,.tabla-informe tbody{display:block}
  .tabla-informe tr.cabecera{display:none}
  .tabla-informe tr{display:grid;grid-template-columns:1fr 1fr 1fr;grid-template-areas:"fecha fecha ver" "contra contra contra" "numero numero numero" "base iva total";gap:2px 10px;padding:9px 0;border-bottom:1px solid var(--borde)}
  .tabla-informe td{display:block;border:0;padding:0;text-align:left}
  .tabla-informe td.c-fecha{grid-area:fecha;font-weight:700}
  .tabla-informe td.c-contra{grid-area:contra}
  .tabla-informe td.c-numero{grid-area:numero;color:var(--suave);font-size:12px}
  .tabla-informe td.c-numero::before{content:attr(data-etiqueta)}
  .tabla-informe td.c-base{grid-area:base}.tabla-informe td.c-iva{grid-area:iva}.tabla-informe td.c-total{grid-area:total;font-weight:700}
  .tabla-informe td.num{text-align:left;white-space:normal;font-size:13px}
  .tabla-informe td.num::before{content:attr(data-etiqueta);color:var(--suave);font-weight:400;font-size:11.5px;display:block}
  .tabla-informe td.c-ver{grid-area:ver;text-align:right}
  .tabla-informe tr.nota{display:block;padding:0 0 8px;border-bottom:1px solid var(--borde);margin-top:-6px}
  .tabla-informe tr.nota td{display:block}
}
@media print{
  @page{margin:16mm 14mm}
  :root{color-scheme:light!important;--fondo:#fff!important;--tarjeta:#fff!important;--elevado:#fff!important;--tinta:#27272a!important;--suave:#6b6b73!important;--borde:#e4e0d8!important;--acento:#b45309!important;--revisar:#92400e!important;--excluye:#9a3412!important;--bloquea:#b91c1c!important}   /* !important: el tema de la marca (oscuro) se carga después y no debe llegar al papel */
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  html,body{background:#fff!important}
  body::before{display:none}
  header,.tabs,.intro,#aviso,.acciones,#informe-volver,#vista-inicio,#vista-subir,#vista-resumen,.peligro{display:none!important}
  body{background:#fff;color:var(--tinta);padding:0;font-size:12px}
  main{max-width:none;padding:0}
  #vista-informe{display:block!important}
  #informe{border:0;box-shadow:none;padding:0}
  .inf-marca{display:block;font-size:11px;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:var(--acento);border-bottom:2px solid #f5b84a;padding-bottom:6px;margin-bottom:12px}
  .inf-marca img{display:block;height:34px;width:auto}
  #informe h2{font-size:22px;font-weight:700;letter-spacing:-.01em;color:#18181b;margin:0 0 2px}
  #informe .sub{color:var(--suave);margin:0 0 16px}
  .inf-bloque{break-inside:avoid;margin-bottom:18px}
  .inf-bloque h3{color:var(--acento);font-size:13px;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid #f5d9a8}
  .detalle div{border-bottom:1px solid var(--borde)}
  .detalle div:last-child{background:#fdf3e1;border:0;border-radius:6px;padding:5px 8px;font-weight:700}
  .tabla-informe{overflow:visible}
  .tabla-informe th{background:#fdf3e1;color:#7a4a0b;font-weight:700;border-bottom:1px solid #f5d9a8}
  .tabla-informe th,.tabla-informe td{border-bottom:1px solid var(--borde)}
  .tabla-informe tr{break-inside:avoid}
  .tabla-informe tr:nth-child(even) td{background:#fbfaf7}
  .tabla-informe tr.nota td{background:#fff}
  .tabla-informe a{color:var(--acento);text-decoration:none}
}
