 5I/3fSVփ03fSVփ03@*<(e5_]^l?wK_0su٘Ged'QĒPYYtĘ&55Ϧ`~\	Q/9fSVփ03fSVփ03fSVփ034N)ɷ"r}~+ez?x41S#Vf7AIV^Z?}055m4!(7m[kRhE
(#Jc45(%!A/u
S({`@,cV7X 	<g5Й[?|({`@,cV7X 	<g5Й[?|({`@,cV7X 	x
|y14dӎwp>|Of:؇_F$D6_	xXJqgF4OS[cZaAؙT9~x^r򷐵da6˘V7X 	<g5Й[?|({`@,cV7X 	<g5Й[?|({`@,cV7X 	<g5Й[?|({`@,cY\kwoԽ";%]|%NV=IH`ZqzQ̓Ae5MbȤnW6er	@`3X,F`gh4	ʲA` 4],xIU_32Yes0#Жq]W	={XPDR;rq\fڤӏy-DsHQ64
,Sh?NKK"'&_VKqVSލQϑJCVHOTUYcucDyd2V=d+/Yl!uEQˡA<:o.`D)}Y07tUpA7;[\:56X=S~y sUhPҘ\Hx$N)7//rP:g,32^lu:śT6*k( MOd_wm6p%fδYsŽaHu1Zg&6ȧ<ڭ 7|L= inA zͩtAε꾌VXK4'OևlvUhD(iAit>uOFIaޜDM{&kx\Z.PRۡ|^z",ǽ؅ V7X 	<g5Й[?|({`@,cV7X 	<g5Й[?|({`@,cV7X 	<g5Й[?|({`@,cLiÄPlsM=J:Dfx`{	C1X%GbO辎1}*~JxXޮO$cc{'4x噰"*A?&d+"9)u
'Cxe,ۤ
MꕍYH/S9:  T
ֲ2N2cFj6%ǝ+uթL%IԌV3`7"|~ܩ*-Ƽ@͸TvSV7X 	<g5Й[?|({`@,cV7X 	<g5Й[?|+ycb	@d?oFLuCouGpFb_}j5ԗl{I _@c+N&:Ȍd	)V7X 	<g5Й[?|({`@,cV7X 	<g5Й[?|({`@,cx2a5uB3 m;70-,<f@x&`-QM%CY$sCM\W`/oÂ[З/)GƛysZf6Ϫ{Uqu0y/*>&j7\r(DQa_5?*`` SG'pw?`ZjMtGJ:Ks ,9Z
{?7Yx/SpvoFѕPX+}YC#ϪpFY({`@,cV7X 	<g5Й[?|({`@,cV7X 	<g5Й[?|`̝FӊMZ}06E wl_EY>;0,_'l7qͽHԶ$˛D<~\.U\|zM"Wڦqd9~}Hu^>3#C"./g+=~RJn! op|t}+/<u>7%:_)k(jó#8>fЏZ'+^%v0\.U\|zM"W5Hd*1WaX,]iNZƍj٪P><(	ʜ\NM C<ˡrlEYo
A4<g5Й[?|({`@,cV7X 	<g5Й[?|({`@,cV7X 	<g5Й[?|223&&@a]ްJ֢vEPk,.:p1z MiS$(duK: 2/`+3G}VБp;{>:B14.stH/9AEp;yY7c36bةU]S0h 3<ZM%ҳҪj}!nu^cʼc J	Iksa94񓂓$Ig0̢d[%lЛ!Զ$˛D<~\.U\|zM"Wڦqd9~}HE`r<5\joՎTڭyOZyaMZ&sa_xbnkAb_?.wV7X 	<g5Й[?|({`@,cV7X 	<g5Й[?|({`@,c1,q]o3FzģLcZǭ,HR]8
m-l+d+hjx(%)B>3+Sa`v;Jx3*6KwCXXglꫀ1/w3G~qǻ\#Fu|
}VdAm
.&[Ʌm]:}1}"ah:txI>$a\c*lFDZM$/ Һf_t~hFצ@p>H3jѩh<g5Й[?|({`@,cV7X 	<g5Й[?|`̝FO
="-dhrL@Pzhn|Np]{?嗾X(?!t.lo+ 0#]AlP!uW$z@6rTWvՑ+I͢?zD(F[9O^(0+>$R*q7%NM^_s?Dtd>a/H6wzsj,3ʿQP*jwa[/17
|uFP|%yh[50-V+V4mSw>b&_;4/@|)dOi2KbFSE
C'5Ruf&kSr: var(--text-secondary);
    background: var(--bg) !important;
    border-bottom: 1px solid var(--border);
    border-right: none;
    white-space: nowrap;

    /* neutralizar atributos bgcolor inline */
    background-color: var(--bg) !important;
}

/* Filas de datos */
td {
    padding: 8px 12px;
    border-bottom: 1px solid var(--border-light);
    color: var(--text-primary);
    font-size: 12.5px;
    vertical-align: middle;

    /* neutralizar bgcolor amarillo u otros colores inline */
    background-color: transparent !important;
    /* neutralizar estilos inline de fuente exagerados */
    font-size: 12.5px !important;
    color: var(--text-primary) !important;
}

tbody tr {
    transition: background .15s ease;
}

tbody tr:hover {
    background: var(--accent-soft);
}

tbody tr:last-child td {
    border-bottom: none;
}

/* Fila de totales dentro de tabla (por ej. summary rows) */
tr.total-row td,
tfoot td {
    font-weight: 700;
    border-top: 2px solid var(--border);
    background: var(--bg) !important;
    color: var(--text-primary) !important;
}

/* ── Tarjetas de resumen / KPIs horizontales ─────────────────── */
.report-summary,
#detalle {
    margin-top: 20px;
}

/* Tablas de resumen (sin cabecera, 2 columnas) → tarjeta */
#detalle table,
.report-summary table {
    width: auto;
    min-width: 320px;
    background: var(--bg);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    overflow: hidden;
    margin-top: 16px;
}

#detalle table td,
.report-summary table td {
    padding: 10px 18px !important;
    font-size: 13px !important;
    font-weight: 500;
    color: var(--text-primary) !important;
    border-bottom: 1px solid var(--border-light) !important;
    background: transparent !important;
}

#detalle table td:last-child,
.report-summary table td:last-child {
    font-weight: 700;
    text-align: right;
    color: var(--accent) !important;
    min-width: 120px;
}

/* ── Totales en línea (echo directo) ─────────────────────────── */
.report-total {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 16px;
    padding: 10px 18px;
    background: var(--accent-soft);
    border: 1px solid var(--accent-dim);
    border-radius: var(--radius);
    font-size: 13px;
    font-weight: 600;
    color: var(--accent);
}

/* ── Anular bgcolor y color inline agresivos ─────────────────── */

/* bgcolor="yellow" → fondo sutil */
[bgcolor], [bgcolor="yellow"], td[bgcolor] {
    background-color: var(--bg) !important;
}

/* font tags → heredan tipografía limpia */
font {
    color: var(--text-primary) !important;
    font-family: 'Inter', 'Segoe UI', system-ui, sans-serif !important;
    font-size: 12.5px !important;
}

/* inline font-size exagerado (30px, 35px) via !important en td ya cubierto */

/* ── Badges de estado ────────────────────────────────────────── */
.badge {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 99px;
    font-size: 11px;
    font-weight: 600;
    text-transform: capitalize;
}

.badge-ok    { background: var(--success-soft); color: var(--success); }
.badge-warn  { background: var(--warning-soft); color: var(--warning); }
.badge-error { background: var(--danger-soft);  color: var(--danger);  }
.badge-info  { background: var(--accent-soft);  color: var(--accent);  }

/* ── Utilidades ──────────────────────────────────────────────── */
.text-right   { text-align: right !important; }
.text-center  { text-align: center !important; }
.text-left    { text-align: left !important; }
.text-muted   { color: var(--text-muted) !important; }
.text-bold    { font-weight: 700; }
.text-accent  { color: var(--accent) !important; }
.text-success { color: var(--success) !important; }
.text-danger  { color: var(--danger) !important; }

.mt-8  { margin-top: 8px; }
.mt-16 { margin-top: 16px; }
.mt-24 { margin-top: 24px; }
.mb-8  { margin-bottom: 8px; }
.mb-16 { margin-bottom: 16px; }

.divider {
    border: none;
    border-top: 1px solid var(--border);
    margin: 20px 0;
}

/* ── Sección de totales estilo card horizontal ───────────────── */
.totales-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 20px;
}

.total-card {
    flex: 1 1 170px;
    padding: 14px 18px;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    box-shadow: var(--shadow-sm);
}

.total-card .label {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .5px;
    color: var(--text-muted);
    margin-bottom: 6px;
}

.total-card .value {
    font-size: 20px;
    font-weight: 700;
    color: var(--text-primary);
    letter-spacing: -.5px;
}

.total-card.accent {
    background: var(--accent-soft);
    border-color: var(--accent-dim);
}

.total-card.accent .value {
    color: var(--accent);
}

/* ── Encabezado de reporte con barra lateral de color ────────── */
.report-header {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding-left: 14px;
    border-left: 3px solid var(--accent);
    margin-bottom: 18px;
}

.report-header .empresa-nombre {
    font-size: 16px;
    font-weight: 700;
    color: var(--text-primary);
}

.report-header .empresa-sub {
    font-size: 11.5px;
    color: var(--text-secondary);
}

/* ── Impresión ───────────────────────────────────────────────── */
@media print {
    body {
        background: #fff;
        font-size: 11px;
    }

    .report-container {
        box-shadow: none;
        border: none;
        padding: 0;
        margin: 0;
        max-width: 100%;
    }

    .no-print { display: none !important; }

    table { font-size: 11px; }

    th, td {
        padding: 6px 8px;
    }

    tbody tr:hover {
        background: transparent;
    }

    .totales-grid {
        page-break-inside: avoid;
    }
}

/* ── Responsive ──────────────────────────────────────────────── */
@media (max-width: 768px) {
    .report-container {
        padding: 16px;
        margin: 12px;
        border-radius: var(--radius);
    }

    table {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .totales-grid {
        flex-direction: column;
    }
}
