/* Pantallas del administrador: reportes, cierre de caja, usuarios (+ nota y cierre impresos).
   Usa SOLO los tokens de DESIGN.md (definidos en app.css). Nada de hex sueltos.
   Prefijos: adm-* (piezas compartidas de estas pantallas), reportes-*, caja-*, usuarios-*, adm-impreso-*. */

:root {
  --adm-cond: 'Barlow Semi Condensed', 'Barlow', system-ui, sans-serif;
  --adm-base: 'Barlow', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --adm-eje: 48px; /* ancho de la columna de números del gráfico */
}

/* ═════════════ Piezas compartidas ═════════════ */

.adm-titulo {
  margin: 0;
  font-family: var(--adm-cond);
  font-weight: 700;
  font-size: 1.35rem;
  line-height: 1.15;
  color: var(--azul);
}

.adm-flecha-der { display: inline-flex; transform: scaleX(-1); }

/* Monto héroe: "Bs" más chico y en gris, número semicondensado */
.adm-monto { font-variant-numeric: tabular-nums; white-space: nowrap; }
.adm-monto .dinero-bs,
.adm-monto-bs {
  font-size: .55em;
  font-weight: 700;
  color: var(--gris);
  margin-right: .1em;
  letter-spacing: 0;
}

/* KPIs */
.adm-kpis {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
@media (max-width: 719px) {
  /* En 2 columnas, la última tarjeta sola dejaba media fila vacía */
  .adm-kpis > :last-child:nth-child(odd) { grid-column: 1 / -1; }
}
@media (min-width: 720px) {
  .adm-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 960px) {
  .adm-kpis { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
/* 8 indicadores: 4 + 4 desde tablet (con 3 columnas quedaba un hueco) */
@media (min-width: 720px) {
  .adm-kpis.adm-kpis-8 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* Banda ámbar "N productos para reponer o corregir" (pestaña Stock).
   Todo en --aviso sobre --aviso-suave; --error solo para el texto "N en negativo". */
.adm-banda-aviso {
  display: flex;
  align-items: center;
  gap: 14px;
  min-height: 64px;
  padding: var(--e-3) var(--e-4);
  border: 1px solid var(--aviso-borde);
  border-left: 5px solid var(--aviso);
  border-radius: var(--r-tarjeta);
  background: var(--aviso-suave);
}
.adm-banda-icono { flex: none; display: grid; place-items: center; color: var(--aviso); }
.adm-banda-textos { display: flex; flex-direction: column; gap: 2px; min-width: 0; color: var(--tinta); }
.adm-banda-textos strong { font-weight: 700; font-size: var(--t-17); }
.adm-banda-textos > span { font-size: var(--t-15); color: var(--gris); }
.adm-banda-negativos { color: var(--error); font-weight: 700; }
.adm-kpi {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
  container-type: inline-size;
  padding: 16px;
  background: var(--blanco);
  border: 1px solid var(--linea);
  border-radius: 14px;
  box-shadow: var(--sombra-1);
}
.adm-kpi-label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: .88rem; /* 15px */
  font-weight: 600;
  color: var(--gris);
}
.adm-kpi-label .icono { color: var(--azul); }
.adm-kpi-valor {
  font-family: var(--adm-cond);
  font-weight: 700;
  font-size: clamp(1.45rem, 5.4vw, 1.9rem); /* 25–32px */
  font-size: clamp(1.2rem, 15.5cqi, 1.9rem); /* se ajusta al ancho de la tarjeta: "Bs 177.076,00" entra en una línea */
  line-height: 1.1;
  color: var(--azul-noche);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.adm-kpi-nota { font-size: .82rem; line-height: 1.35; color: var(--gris); } /* 14px */
.adm-kpi-ok .adm-kpi-valor { color: var(--ok); }
.adm-kpi-aviso .adm-kpi-valor { color: var(--aviso); }
.adm-kpi-error .adm-kpi-valor { color: var(--error); }
.adm-kpi-principal { border-top: 4px solid var(--rojo); }

/* Avisos en banda (info / ok / aviso / error): siempre ícono + texto */
.adm-aviso {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid var(--linea);
  background: var(--blanco);
  color: var(--tinta);
  font-size: 1rem;
  line-height: 1.4;
}
.adm-aviso > .icono { margin-top: 1px; }
.adm-aviso-info { background: var(--azul-suave); border-color: var(--azul-suave); }
.adm-aviso-info > .icono { color: var(--azul); }
.adm-aviso-ok { background: var(--ok-suave); border-color: var(--ok-suave); }
.adm-aviso-ok > .icono { color: var(--ok); }
.adm-aviso-aviso { background: var(--aviso-suave); border-color: var(--aviso-suave); }
.adm-aviso-aviso > .icono { color: var(--aviso); }
.adm-aviso-error { background: var(--error-suave); border-color: var(--error-suave); }
.adm-aviso-error > .icono { color: var(--error); }

/* Avatar circular con inicial (color por rol, como en la barra superior) */
.adm-avatar {
  flex: none;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: inline-grid;
  place-items: center;
  background: var(--azul-noche);
  color: var(--blanco);
  font-family: var(--adm-cond);
  font-weight: 700;
  font-size: 1.1rem;
  line-height: 1;
}
.adm-avatar-chico { width: 34px; height: 34px; font-size: .85rem; letter-spacing: -.02em; }
.adm-avatar-grande { width: 56px; height: 56px; font-size: 1.6rem; }
.adm-avatar-admin { background: var(--rojo); }
.adm-avatar-inventario { background: var(--azul); }
.adm-avatar-vendedor { background: var(--azul-noche); }

.adm-persona { display: inline-flex; align-items: center; gap: 10px; font-weight: 600; }

/* Pastilla de forma de pago */
.adm-pago {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 9px;
  border-radius: 999px;
  font-size: .78rem; /* 13px */
  font-weight: 600;
  white-space: nowrap;
  background: var(--papel);
  color: var(--gris);
}
.adm-pago-efectivo { background: var(--ok-suave); color: var(--ok); }
.adm-pago-qr, .adm-pago-mixto { background: var(--azul-suave); color: var(--azul); }

/* Medidor (barra de porcentaje dentro de tablas) */
.adm-medidor { display: flex; align-items: center; gap: 10px; min-width: 130px; }
.adm-medidor-pista { flex: 1; height: 10px; border-radius: 999px; background: var(--azul-suave); overflow: hidden; }
.adm-medidor-barra { height: 100%; border-radius: 999px; background: var(--azul); }
.adm-medidor-pct {
  min-width: 3.1em;
  text-align: right;
  font-family: var(--adm-cond);
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

/* Listas dentro de tarjetas: sin doble borde ni doble sombra */
.card .lista { box-shadow: none; }

/* ═════════════ Reportes ═════════════ */

.reportes-fechas { display: flex; flex-direction: column; gap: 12px; }
.reportes-fechas-titulo {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: var(--adm-cond);
  font-weight: 700;
  font-size: 1.2rem;
  color: var(--azul-noche);
}
.reportes-fechas-titulo .icono { color: var(--azul); }

/* Las dos respuestas grandes (lo que hay para reponer está en la pestaña Stock) */
.reportes-hero { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; align-items: start; }
@media (min-width: 720px) {
  .reportes-hero { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.reportes-hero-card {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
  padding: 16px 18px 18px;
  background: var(--blanco);
  border: 1px solid var(--linea);
  border-radius: 14px;
  box-shadow: var(--sombra-1);
}
.reportes-hero-vendido { border-top: 4px solid var(--rojo); }
.reportes-hero-caja { border-top: 4px solid var(--azul-noche); }
.reportes-hero-cab { display: flex; align-items: center; gap: 10px; }
.reportes-hero-icono {
  flex: none;
  width: 44px;
  height: 44px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: var(--azul-suave);
  color: var(--azul);
}
.reportes-hero-vendido .reportes-hero-icono { background: var(--rojo-suave); color: var(--rojo); }
.reportes-hero-pregunta { font-size: 1.05rem; font-weight: 600; color: var(--tinta); }
.reportes-hero-valor {
  font-family: var(--adm-cond);
  font-weight: 800;
  font-size: clamp(2.1rem, 8.5vw, 2.4rem); /* 36–41px */
  line-height: 1.05;
  color: var(--azul-noche);
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}
@media (min-width: 720px) and (max-width: 1040px) {
  .reportes-hero-valor { font-size: 1.95rem; }
}
.reportes-hero-unidad { font-size: .5em; font-weight: 700; color: var(--gris); }
.reportes-hero-espera {
  font-family: var(--adm-base);
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--gris);
}
.reportes-hero-nota { font-size: .88rem; color: var(--gris); line-height: 1.35; }
.reportes-hero-btn { align-self: flex-start; margin-top: 6px; }


/* Pestañas grandes (control segmentado) */
.reportes-tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  padding: 6px;
  background: var(--blanco);
  border: 1px solid var(--linea);
  border-radius: 16px;
  box-shadow: var(--sombra-1);
}
.reportes-tab {
  min-width: 0;
  min-height: 60px;
  padding: 8px 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 0;
  border-radius: 12px;
  background: transparent;
  color: var(--gris);
  font-family: var(--adm-cond);
  font-weight: 700;
  font-size: 1.12rem;
  line-height: 1.1;
  text-align: center;
  cursor: pointer;
  touch-action: manipulation;
  transition: background-color .15s, color .15s, transform .15s;
}
@media (hover: hover) { .reportes-tab:hover { background: var(--azul-suave); color: var(--azul); } }
.reportes-tab:active { transform: scale(.98); }
.reportes-tab.activo { background: var(--azul); color: var(--blanco); }
.reportes-tab:focus-visible { outline: 3px solid var(--azul); outline-offset: 2px; }
@media (max-width: 559px) {
  .reportes-tab { flex-direction: column; gap: 4px; min-height: 68px; font-size: .95rem; padding: 8px 4px; }
}

.reportes-panel:focus { outline: none; }

/* Secciones */
.reportes-seccion { min-width: 0; }
.reportes-seccion-cab { display: flex; flex-direction: column; gap: 2px; }
.reportes-seccion-ayuda { margin: 0; font-size: .88rem; color: var(--gris); }
.reportes-dos { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; align-items: start; }
@media (min-width: 960px) {
  .reportes-dos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.reportes-descarga { gap: 10px; text-decoration: none; }

/* Gráfico de ventas por día */
.reportes-grafico-resumen {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 8px;
}
@media (max-width: 559px) {
  .reportes-grafico-resumen { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .reportes-grafico-resumen > :last-child:nth-child(odd) { grid-column: 1 / -1; }
}
.reportes-grafico-dato {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
  padding: 10px 12px;
  border-radius: 10px;
  background: var(--papel);
}
.reportes-grafico-dato-label { font-size: .82rem; font-weight: 600; color: var(--gris); }
.reportes-grafico-dato strong {
  font-family: var(--adm-cond);
  font-weight: 700;
  font-size: 1.2rem;
  color: var(--tinta);
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}
.reportes-grafico-dato-nota { font-size: .78rem; color: var(--gris); }

.reportes-grafico { position: relative; margin: 4px 0 0; min-width: 0; }
.reportes-grafico-unidad {
  width: var(--adm-eje);
  padding-right: 8px;
  margin-bottom: 6px;
  text-align: right;
  font-size: .78rem;
  font-weight: 600;
  color: var(--gris);
}
.reportes-grafico-area {
  position: relative;
  height: 220px;
  margin-left: var(--adm-eje);
}
@media (max-width: 559px) {
  .reportes-grafico-area { height: 180px; }
}
.reportes-grafico-lineas { position: absolute; inset: 0; pointer-events: none; }
.reportes-grafico-linea {
  position: absolute;
  left: 0;
  right: 0;
  height: 0;
  border-top: 1px dashed var(--linea);
}
.reportes-grafico-linea.base { border-top: 2px solid var(--linea); }
.reportes-grafico-eje {
  position: absolute;
  right: 100%;
  top: 0;
  transform: translateY(-50%);
  padding-right: 8px;
  font-size: .78rem;
  color: var(--gris);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.reportes-grafico-barras,
.reportes-grafico-etiquetas { display: flex; gap: 4px; }
.reportes-grafico-barras.densas,
.reportes-grafico-etiquetas.densas { gap: 2px; }
.reportes-grafico-barras { position: absolute; inset: 0; align-items: flex-end; }
.reportes-grafico-col {
  flex: 1 1 0;
  min-width: 0;
  height: 100%;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  border-radius: 6px 6px 0 0;
  cursor: pointer;
  transition: background-color .15s;
}
.reportes-grafico-col.marcada { background: var(--azul-suave); }
@media (hover: hover) { .reportes-grafico-col:hover { background: var(--azul-suave); } }
.reportes-grafico-barra {
  width: min(100%, 44px);
  border-radius: 4px 4px 0 0;
  background: var(--azul);
  transition: background-color .15s;
}
.reportes-grafico-col.marcada .reportes-grafico-barra { background: var(--azul-noche); }
@media (hover: hover) { .reportes-grafico-col:hover .reportes-grafico-barra { background: var(--azul-noche); } }
.reportes-grafico-col.hoy .reportes-grafico-barra { background: var(--rojo); }
.reportes-grafico-col.hoy.marcada .reportes-grafico-barra { background: var(--rojo-hover); }
@media (hover: hover) { .reportes-grafico-col.hoy:hover .reportes-grafico-barra { background: var(--rojo-hover); } }
.reportes-grafico-etiquetas { margin: 6px 0 0 var(--adm-eje); }
.reportes-grafico-etiquetas span {
  flex: 1 1 0;
  min-width: 0;
  text-align: center;
  font-size: .78rem;
  color: var(--gris);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  overflow: visible;
}
.reportes-grafico-etiquetas span.oculta { visibility: hidden; }
.reportes-grafico-etiquetas span.hoy { color: var(--rojo); font-weight: 700; }
.reportes-grafico-tip {
  position: absolute;
  top: 0;
  z-index: 2;
  min-width: 150px;
  display: flex;
  flex-direction: column;
  gap: 1px;
  padding: 8px 12px;
  border-radius: 10px;
  background: var(--tinta);
  color: var(--blanco);
  box-shadow: var(--sombra-2);
  pointer-events: none;
}
.reportes-grafico-tip-fecha { font-size: .82rem; opacity: .8; }
.reportes-grafico-tip-valor {
  font-family: var(--adm-cond);
  font-weight: 700;
  font-size: 1.2rem;
  font-variant-numeric: tabular-nums;
}
.reportes-grafico-tip-n { font-size: .82rem; opacity: .8; }

/* Por vendedor / lo más vendido */
.reportes-col-parte { width: 38%; }
@media (max-width: 559px) {
  /* En celular la barrita no entra: la tabla se salía de la tarjeta y había que deslizar */
  .reportes-col-parte { display: none; }
}
.reportes-puesto {
  display: inline-grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--papel);
  color: var(--gris);
  font-family: var(--adm-cond);
  font-weight: 700;
  font-size: .9rem;
}
.reportes-puesto-top { background: var(--azul-suave); color: var(--azul); }
.reportes-prod-celda { font-weight: 600; }

/* Lo más vendido: lista en celular, tabla en pantallas anchas */
.reportes-top-lista { display: none; list-style: none; margin: 0; padding: 0; }
.reportes-top-item {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 60px;
  padding: 10px 0;
  border-top: 1px solid var(--linea);
}
.reportes-top-item:first-child { border-top: 0; }
.reportes-top-item .reportes-puesto { flex: none; }
.reportes-top-textos { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.reportes-top-nombre { font-weight: 600; line-height: 1.3; overflow-wrap: anywhere; }
.reportes-top-datos { font-size: var(--t-15); color: var(--gris); font-variant-numeric: tabular-nums; }
@media (max-width: 559px) {
  .reportes-top-tabla { display: none; }
  .reportes-top-lista { display: block; }
}

/* Barras horizontales por categoría */
.reportes-cats { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.reportes-cat-cab { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; margin-bottom: 6px; }
.reportes-cat-nombre { font-weight: 600; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.reportes-cat-monto {
  flex: none;
  font-family: var(--adm-cond);
  font-weight: 700;
  font-size: 1.1rem;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.reportes-cat-pct {
  margin-left: 8px;
  font-family: var(--adm-base);
  font-weight: 600;
  font-size: .82rem;
  color: var(--gris);
}
.reportes-cat-pista { height: 12px; border-radius: 999px; background: var(--azul-suave); overflow: hidden; }
.reportes-cat-barra { height: 100%; min-width: 2px; border-radius: 999px; background: var(--azul); }

/* Fila de venta (lista) */
.reportes-venta { min-height: 64px; gap: 14px; align-items: center; font: inherit; color: inherit; }
.reportes-venta-num { flex: none; width: 84px; display: flex; flex-direction: column; gap: 1px; }
.reportes-venta-n {
  font-family: var(--adm-cond);
  font-weight: 700;
  font-size: 1.1rem;
  color: var(--tinta);
  font-variant-numeric: tabular-nums;
}
.reportes-venta-hora { font-size: .82rem; color: var(--gris); font-variant-numeric: tabular-nums; }
.reportes-venta-info { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.reportes-venta-items {
  font-weight: 500;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow-wrap: anywhere;
}
.reportes-venta-quien { font-size: .82rem; color: var(--gris); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.reportes-venta-monto { flex: none; display: flex; flex-direction: column; align-items: flex-end; gap: 4px; text-align: right; }
.reportes-venta-total {
  font-family: var(--adm-cond);
  font-weight: 700;
  font-size: 1.2rem;
  color: var(--tinta);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.reportes-venta-anulada .reportes-venta-num,
.reportes-venta-anulada .reportes-venta-info { opacity: .6; }
@media (max-width: 420px) {
  .reportes-venta { gap: 10px; }
  .reportes-venta-num { width: 64px; }
}

/* Detalle de venta (modal) */
.reportes-detalle-datos { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 8px; }
.reportes-detalle-dato { display: flex; flex-direction: column; padding: 8px 12px; border-radius: 10px; background: var(--papel); min-width: 0; }
.reportes-detalle-etiqueta { font-size: .82rem; color: var(--gris); }
.reportes-detalle-valor { font-weight: 600; overflow-wrap: anywhere; }
.reportes-codigo { font-size: .82rem; }
.reportes-detalle-pie {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-end;
  gap: 8px 16px;
  padding-top: 12px;
  border-top: 2px solid var(--linea);
}
.reportes-detalle-total {
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin-left: auto;
  font-family: var(--adm-cond);
  font-weight: 800;
  font-size: 1.75rem;
  color: var(--tinta);
  font-variant-numeric: tabular-nums;
}
.reportes-detalle-total-texto { font-family: var(--adm-base); font-weight: 600; font-size: 1rem; color: var(--gris); }

/* Pestaña Stock: grupos de productos */
.reportes-grupo-cab { display: flex; align-items: flex-start; gap: 12px; }
.reportes-grupo-icono {
  flex: none;
  width: 44px;
  height: 44px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: var(--papel);
  color: var(--gris);
}
.reportes-grupo-error .reportes-grupo-icono { background: var(--error-suave); color: var(--error); }
.reportes-grupo-aviso .reportes-grupo-icono { background: var(--aviso-suave); color: var(--aviso); }
.reportes-grupo-error { border-top: 4px solid var(--error); }
.reportes-grupo-aviso { border-top: 4px solid var(--aviso); }
.reportes-grupo-textos { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.reportes-grupo-textos .adm-titulo { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.reportes-grupo-n {
  display: inline-grid;
  place-items: center;
  min-width: 32px;
  height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  background: var(--papel);
  color: var(--gris);
  font-size: 1rem;
  font-variant-numeric: tabular-nums;
}
.reportes-grupo-error .reportes-grupo-n { background: var(--error); color: var(--blanco); }
.reportes-grupo-aviso .reportes-grupo-n { background: var(--aviso); color: var(--blanco); }

.reportes-prod { min-height: 64px; gap: 12px; }
.reportes-prod-info { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.reportes-prod-nombre { font-weight: 600; overflow-wrap: anywhere; }
.reportes-prod-meta { font-size: .88rem; color: var(--gris); overflow-wrap: anywhere; }
.reportes-prod-stock {
  flex: none;
  min-width: 76px;
  padding: 6px 8px;
  border-radius: 10px;
  text-align: center;
  background: var(--papel);
  color: var(--tinta);
}
.reportes-prod-stock-error { background: var(--error-suave); color: var(--error); }
.reportes-prod-stock-aviso { background: var(--aviso-suave); color: var(--aviso); }
.reportes-prod-num {
  font-family: var(--adm-cond);
  font-weight: 800;
  font-size: 1.6rem;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
.reportes-prod-hay { margin-top: 2px; font-size: .78rem; font-weight: 700; }
.reportes-prod-stock-neutro .reportes-prod-hay { color: var(--gris); font-weight: 600; }
.reportes-corregir { flex: none; min-height: 52px; }
@media (max-width: 559px) {
  .reportes-prod { flex-wrap: wrap; }
  .reportes-corregir { flex-basis: 100%; }
}

/* Pestaña Lista de ventas */
.reportes-filtros { gap: 16px; }
.reportes-filtro { display: flex; flex-direction: column; gap: 8px; }
.reportes-filtro-label { font-family: var(--adm-cond); font-weight: 700; font-size: 1.1rem; color: var(--tinta); }
.reportes-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.reportes-lista-ventas { display: flex; flex-direction: column; gap: 8px; }
.reportes-lista-ayuda { margin: 0; font-size: .88rem; color: var(--gris); }

/* ═════════════ Cierre de caja ═════════════ */

.caja-nav { display: flex; flex-direction: column; gap: 16px; }
.caja-nav-cab { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.caja-nav-textos { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.caja-nav-label { font-size: .88rem; font-weight: 600; color: var(--gris); }
.caja-fecha-titulo {
  margin: 0;
  font-family: var(--adm-cond);
  font-weight: 700;
  font-size: clamp(1.4rem, 5.5vw, 1.75rem);
  line-height: 1.15;
  color: var(--azul-noche);
}
.caja-nav-acciones { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
/* Una sola fila: [←] [fecha] [→] */
.caja-nav-fila {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr) 52px;
  grid-template-areas: "texto texto texto" "ant fecha sig";
  gap: 4px 8px;
  align-items: center;
}
.caja-nav-anterior { grid-area: ant; }
.caja-nav-siguiente { grid-area: sig; }
.caja-nav-btn { min-height: 52px; height: 52px; gap: 8px; padding: 0; }
.caja-nav-btn-texto { display: none; }
.caja-nav-elegir { display: contents; }
.caja-nav-elegir-texto { grid-area: texto; font-size: var(--t-14); font-weight: 600; color: var(--gris); }
.caja-nav-fecha { grid-area: fecha; }
@media (min-width: 720px) {
  .caja-nav-fila {
    grid-template-columns: auto minmax(220px, 300px) auto;
    justify-content: start;
    gap: 4px 12px;
  }
  .caja-nav-btn { padding: 0 var(--e-4); }
  .caja-nav-btn-texto { display: inline; }
}
/* Imprimir: arriba en escritorio, fijo al pie en celular */
.caja-imprimir-arriba { display: none; }
@media (min-width: 900px) {
  .caja-imprimir-arriba { display: inline-flex; }
  .caja-pie { display: none; }
}
.caja-nav-fecha {
  width: 100%;
  min-height: 52px;
  padding: 0 14px;
  border: 2px solid var(--linea);
  border-radius: 10px;
  background: var(--blanco);
  color: var(--tinta);
  font-family: inherit;
  font-size: 1.06rem;
  font-variant-numeric: tabular-nums;
}
.caja-nav-fecha:focus { border-color: var(--azul); outline: 3px solid var(--azul); outline-offset: 2px; }

.caja-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; align-items: start; }
@media (min-width: 960px) {
  .caja-grid { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); }
}

/* La hoja de balance */
.caja-hoja { display: flex; flex-direction: column; gap: 16px; padding: 20px; }
.caja-hoja-cab { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }

.caja-bloque { display: flex; flex-direction: column; }
.caja-bloque-titulo {
  display: flex;
  align-items: center;
  gap: 8px;
  padding-bottom: 6px;
  border-bottom: 2px solid var(--linea);
  font-size: .88rem;
  font-weight: 700;
  color: var(--gris);
}
.caja-bloque-titulo::before { content: ""; width: 10px; height: 10px; border-radius: 50%; background: currentColor; }
.caja-bloque-entro::before { background: var(--ok); }
.caja-bloque-salio::before { background: var(--error); }
.caja-fila {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 12px 0;
  border-bottom: 1px solid var(--linea);
  font-size: 1rem;
}
.caja-fila:last-child { border-bottom: 0; }
.caja-fila-icono { display: flex; color: var(--azul); }
.caja-fila-texto { display: flex; flex-direction: column; min-width: 0; }
.caja-fila-nota { font-size: .82rem; color: var(--gris); }
.caja-fila-valor {
  font-family: var(--adm-cond);
  font-weight: 700;
  font-size: 1.25rem;
  color: var(--tinta);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.caja-fila-total { border-top: 2px solid var(--tinta); border-bottom: 0; }
.caja-fila-total .caja-fila-texto { font-weight: 700; }
.caja-fila-total .caja-fila-valor { font-weight: 800; font-size: 1.45rem; }
.caja-fila-menos .caja-fila-valor { color: var(--error); }
.caja-fila-menos .caja-fila-icono { color: var(--error); }
.caja-fila-cero .caja-fila-valor,
.caja-fila-cero .caja-fila-icono { color: var(--gris); }

/* El número que importa */
.caja-resultado {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  padding: 20px 16px;
  border-radius: 14px;
  background: var(--azul-noche);
  color: var(--blanco);
  text-align: center;
}
.caja-resultado-texto { display: flex; align-items: center; gap: 8px; font-size: 1.05rem; font-weight: 600; }
.caja-resultado-valor {
  font-family: var(--adm-cond);
  font-weight: 800;
  font-size: clamp(2.6rem, 12vw, 3.3rem); /* 44–56px */
  line-height: 1;
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}
.caja-resultado .dinero-bs,
.caja-resultado .adm-monto-bs { color: inherit; opacity: .75; }
.caja-resultado-cuenta { font-size: .82rem; opacity: .85; line-height: 1.35; }
@media (min-width: 720px) {
  /* A ancho completo: el texto a la izquierda, el monto grande a la derecha */
  .caja-resultado {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas: "texto valor" "cuenta valor";
    align-items: center;
    gap: 4px 24px;
    padding: 20px 28px;
    text-align: left;
  }
  .caja-resultado-texto { grid-area: texto; font-size: var(--t-20); }
  .caja-resultado-valor { grid-area: valor; font-size: var(--t-56); }
  .caja-resultado-cuenta { grid-area: cuenta; font-size: var(--t-15); }
}
.caja-resultado-negativo { background: var(--error); }

.caja-anuladas { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; font-size: .88rem; color: var(--gris); }

/* Por vendedor */
.caja-vendedores header { display: flex; flex-direction: column; gap: 2px; }
.caja-ayuda { margin: 0; font-size: .88rem; color: var(--gris); }
.caja-vend-lista { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 12px; }
.caja-vend {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 14px 16px;
  border: 1px solid var(--linea);
  border-radius: 14px;
  background: var(--blanco);
}
.caja-vend-cab { display: flex; align-items: center; gap: 12px; }
.caja-vend-textos { display: flex; flex-direction: column; min-width: 0; }
.caja-vend-nombre { font-weight: 700; font-size: 1.06rem; overflow-wrap: anywhere; }
.caja-vend-n { font-size: .82rem; color: var(--gris); }
.caja-vend-datos { margin: 0; display: flex; flex-direction: column; gap: 6px; }
.caja-vend-datos div { display: flex; justify-content: space-between; gap: 12px; }
.caja-vend-datos dt { color: var(--gris); font-size: .94rem; }
.caja-vend-datos dd { margin: 0; font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap; }
.caja-vend-entrega {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  border-radius: 10px;
  background: var(--azul-suave);
  color: var(--azul-noche);
}
.caja-vend-entrega span { font-weight: 700; }
.caja-vend-entrega strong {
  font-family: var(--adm-cond);
  font-weight: 800;
  font-size: 1.45rem;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.caja-vend-entrega.negativo { background: var(--error-suave); color: var(--error); }

/* Listas del día */
.caja-seccion { min-width: 0; }
.caja-seccion-cab { display: flex; align-items: center; gap: 10px; }
.caja-contador {
  display: inline-grid;
  place-items: center;
  min-width: 32px;
  height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  background: var(--azul-suave);
  color: var(--azul);
  font-family: var(--adm-cond);
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.caja-gasto { min-height: 64px; gap: 12px; }
.caja-gasto-icono {
  flex: none;
  width: 40px;
  height: 40px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  background: var(--papel);
  color: var(--gris);
}
.caja-gasto-info { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.caja-gasto-desc { font-weight: 600; overflow-wrap: anywhere; }
.caja-gasto-meta { font-size: .82rem; color: var(--gris); }
.caja-gasto-lado { flex: none; display: flex; flex-direction: column; align-items: flex-end; gap: 4px; }
.caja-gasto-monto {
  font-family: var(--adm-cond);
  font-weight: 700;
  font-size: 1.2rem;
  color: var(--error);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.caja-gasto-anulado .caja-gasto-info,
.caja-gasto-anulado .caja-gasto-icono { opacity: .6; }
.caja-gasto-anulado .caja-gasto-monto { color: var(--gris); }

.caja-imprimir { gap: 10px; }

/* ═════════════ Usuarios ═════════════ */

.usuarios-cab { display: flex; flex-direction: column; gap: 12px; margin-bottom: 8px; }
@media (min-width: 720px) {
  .usuarios-cab { flex-direction: row; align-items: flex-end; justify-content: space-between; }
}
.usuarios-cab-textos { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.usuarios-cab-ayuda { margin: 0; color: var(--gris); }
.usuarios-nuevo { width: 100%; gap: 10px; }
@media (min-width: 720px) {
  .usuarios-nuevo { width: auto; min-width: 240px; flex: none; }
}

.usuarios-lista { gap: 24px; }
.usuarios-grupo { display: flex; flex-direction: column; gap: 10px; }
.usuarios-grupo-titulo {
  margin: 0;
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: var(--adm-cond);
  font-weight: 700;
  font-size: 1.2rem;
  color: var(--tinta);
}
.usuarios-grupo-n {
  display: inline-grid;
  place-items: center;
  min-width: 28px;
  height: 26px;
  padding: 0 8px;
  border-radius: 999px;
  background: var(--papel);
  border: 1px solid var(--linea);
  color: var(--gris);
  font-size: .9rem;
}
.usuarios-grupo-ayuda { margin: 0; font-size: .88rem; color: var(--gris); }
.usuarios-grilla { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; }
@media (min-width: 640px) {
  .usuarios-grilla { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1000px) {
  .usuarios-grilla { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* Tarjeta de persona */
.usuarios-card {
  display: flex;
  flex-direction: column;
  gap: 14px;
  width: 100%;
  min-width: 0;
  padding: 16px;
  border: 1px solid var(--linea);
  border-radius: 14px;
  background: var(--blanco);
  box-shadow: var(--sombra-1);
  color: var(--tinta);
  font: inherit;
  text-align: left;
  cursor: pointer;
  touch-action: manipulation;
  transition: border-color .15s, background-color .15s, transform .15s;
}
@media (hover: hover) { .usuarios-card:hover { border-color: var(--azul); } }
.usuarios-card:active { transform: scale(.98); }
.usuarios-card:focus-visible { outline: 3px solid var(--azul); outline-offset: 2px; }
.usuarios-card-cab { display: flex; align-items: center; gap: 12px; }
.usuarios-card-textos { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.usuarios-nombre {
  font-family: var(--adm-cond);
  font-weight: 700;
  font-size: 1.3rem;
  line-height: 1.15;
  overflow-wrap: anywhere;
}
.usuarios-usuario { font-size: .88rem; color: var(--gris); overflow-wrap: anywhere; }
.usuarios-yo {
  align-self: flex-start;
  margin-top: 4px;
  padding: 1px 10px;
  border-radius: 999px;
  background: var(--azul-suave);
  color: var(--azul);
  font-size: .78rem;
  font-weight: 700;
}
.usuarios-card-editar {
  flex: none;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--papel);
  color: var(--azul);
  transition: background-color .15s;
}
@media (hover: hover) { .usuarios-card:hover .usuarios-card-editar { background: var(--azul-suave); } }
.usuarios-card-rol {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 10px;
  background: var(--papel);
}
.usuarios-card-rol-icono {
  flex: none;
  width: 38px;
  height: 38px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  background: var(--blanco);
  color: var(--azul);
}
.usuarios-card-rol-admin .usuarios-card-rol-icono { color: var(--rojo); }
.usuarios-card-rol-textos { display: flex; flex-direction: column; min-width: 0; }
.usuarios-card-rol-nombre { font-weight: 700; }
.usuarios-card-rol-ayuda { font-size: .82rem; color: var(--gris); line-height: 1.35; }
.usuarios-card-pie { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; margin-top: auto; } /* pie alineado entre tarjetas de la misma fila */
.usuarios-card-clave { font-size: .82rem; color: var(--gris); }
.usuarios-inactivo { background: var(--papel); border-style: dashed; box-shadow: none; }
.usuarios-inactivo .adm-avatar,
.usuarios-inactivo .usuarios-card-textos,
.usuarios-inactivo .usuarios-card-rol { opacity: .55; }

/* Formulario: elegir rol (3 opciones grandes) */
.usuarios-roles { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; }
.usuarios-rol {
  position: relative;
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  align-items: center;
  gap: 14px;
  min-height: 84px;
  width: 100%;
  padding: 14px 52px 14px 14px;
  border: 2px solid var(--linea);
  border-radius: 14px;
  background: var(--blanco);
  color: var(--tinta);
  font: inherit;
  text-align: left;
  cursor: pointer;
  touch-action: manipulation;
  transition: border-color .15s, background-color .15s, transform .15s;
}
@media (hover: hover) { .usuarios-rol:hover { border-color: var(--azul); } }
.usuarios-rol:active { transform: scale(.98); }
.usuarios-rol:focus-visible { outline: 3px solid var(--azul); outline-offset: 2px; }
.usuarios-rol-icono {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: var(--azul-suave);
  color: var(--azul);
}
.usuarios-rol-admin .usuarios-rol-icono { background: var(--rojo-suave); color: var(--rojo); }
.usuarios-rol-textos { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.usuarios-rol-nombre { font-family: var(--adm-cond); font-weight: 700; font-size: 1.2rem; line-height: 1.15; }
.usuarios-rol-ayuda { font-size: .88rem; color: var(--gris); line-height: 1.35; }
.usuarios-rol-clave { font-size: .82rem; font-weight: 600; color: var(--azul-noche); }
.usuarios-rol-marca {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  border: 2px solid var(--linea);
  background: var(--blanco);
  color: transparent;
}
.usuarios-rol.activo {
  border-color: var(--azul);
  background: var(--azul-suave);
  box-shadow: inset 0 0 0 1px var(--azul);
}
.usuarios-rol.activo .usuarios-rol-icono { background: var(--blanco); }
.usuarios-rol.activo .usuarios-rol-nombre { color: var(--azul); }
.usuarios-rol.activo .usuarios-rol-marca { border-color: var(--azul); background: var(--azul); color: var(--blanco); }

.usuarios-ayuda-campo,
.usuarios-ayuda-clave { font-size: .88rem; color: var(--gris); }
.usuarios-clave-input.es-pin {
  font-family: var(--adm-cond);
  font-weight: 700;
  font-size: 1.6rem;
  letter-spacing: .3em;
  font-variant-numeric: tabular-nums;
}
.usuarios-clave-input.es-pin::placeholder { letter-spacing: normal; font-weight: 500; font-size: 1.1rem; }
.usuarios-clave-ayuda { gap: 8px; }
.usuarios-azar { align-self: flex-start; gap: 8px; }
.usuarios-zona-clave { gap: 12px; }
.usuarios-error {
  padding: 10px 12px;
  border-radius: 10px;
  background: var(--error-suave);
  color: var(--error);
  font-weight: 600;
}
.usuarios-error:empty { display: none; }

/* ═════════════ Movimiento reducido ═════════════ */

@media (prefers-reduced-motion: reduce) {
  .reportes-tab, .usuarios-card, .usuarios-rol, .reportes-grafico-col, .reportes-grafico-barra { transition: none; }
  .reportes-tab:active, .usuarios-card:active, .usuarios-rol:active { transform: none; }
}

/* ═════════════ Impresos: nota de venta y cierre de caja ═════════════
   Van dentro de #print-area (oculto en pantalla). Fluido: sirve para A4 y para térmica de 80 mm. */

#print-area .adm-impreso {
  width: 100%;
  max-width: 190mm;
  margin: 0 auto;
  font-family: var(--adm-base);
  font-size: 10.5pt;
  line-height: 1.35;
  color: var(--tinta);
}
#print-area .adm-nota { max-width: 140mm; }
#print-area .adm-impreso-cab {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 8px 16px;
  padding-bottom: 8px;
  margin-bottom: 6px;
  border-bottom: 2px solid var(--tinta);
}
#print-area .adm-impreso-logo { display: block; height: 56px; width: auto; max-width: 62%; }
#print-area .adm-impreso-doc { text-align: right; font-size: 9.5pt; }
#print-area .adm-impreso-doc-tipo { font-family: var(--adm-cond); font-weight: 700; font-size: 13pt; }
#print-area .adm-impreso-doc-num {
  font-family: var(--adm-cond);
  font-weight: 800;
  font-size: 17pt;
  line-height: 1.1;
  font-variant-numeric: tabular-nums;
}
#print-area .adm-impreso-empresa { margin-bottom: 8px; font-size: 9pt; color: var(--gris); }
#print-area .adm-impreso-datos { display: flex; flex-wrap: wrap; gap: 2px 24px; margin: 4px 0 8px; }
#print-area .adm-impreso-datos span { font-size: 8.5pt; font-weight: 600; color: var(--gris); margin-right: 4px; }
#print-area .adm-impreso-anulada {
  margin: 8px 0;
  padding: 6px;
  border: 2px solid var(--tinta);
  text-align: center;
  font-weight: 700;
}
#print-area .adm-impreso-h2 {
  margin: 12px 0 2px;
  font-family: var(--adm-cond);
  font-weight: 700;
  font-size: 12pt;
  break-after: avoid;
  page-break-after: avoid;
}
#print-area .adm-impreso-tabla { width: 100%; border-collapse: collapse; margin: 4px 0 8px; font-size: 9.5pt; }
#print-area .adm-impreso-tabla th {
  padding: 4px 5px;
  border-bottom: 1px solid var(--gris);
  font-size: 8.5pt;
  font-weight: 600;
  text-align: left;
  color: var(--gris);
}
#print-area .adm-impreso-tabla td {
  padding: 4px 5px;
  border-bottom: 1px solid var(--linea);
  vertical-align: top;
}
#print-area .adm-impreso-tabla td small { display: block; font-size: 8pt; color: var(--gris); }
#print-area .adm-impreso-tabla .der { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
#print-area .adm-impreso-tabla tr.an td { text-decoration: line-through; }
/* Nombres cortos ("Vendedor 2", horas, forma de pago) en una línea; el detalle es lo único que se parte. */
@media print and (min-width: 100mm) {
  #print-area .adm-impreso-tabla:has(th:nth-child(6)) td:nth-child(-n+3) { white-space: nowrap; }
}
#print-area .adm-impreso-balance td { font-size: 10.5pt; padding: 5px; }
#print-area .adm-impreso-balance tr.tot td { font-weight: 700; border-top: 1.5px solid var(--tinta); }
#print-area .adm-impreso-total {
  display: flex;
  justify-content: flex-end;
  align-items: baseline;
  gap: 12px;
  margin-top: 4px;
}
#print-area .adm-impreso-total span { font-weight: 600; }
#print-area .adm-impreso-total b {
  font-family: var(--adm-cond);
  font-weight: 800;
  font-size: 18pt;
  font-variant-numeric: tabular-nums;
}
#print-area .adm-impreso-pago { text-align: right; font-size: 9.5pt; }
#print-area .adm-impreso-gracias { margin-top: 14px; text-align: center; font-weight: 600; }
#print-area .adm-impreso-resultado {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px 12px;
  margin: 4px 0 10px;
  padding: 8px 12px;
  border: 2px solid var(--tinta);
  border-radius: 6px;
  break-inside: avoid;
}
#print-area .adm-impreso-resultado span { font-weight: 700; font-size: 11pt; }
#print-area .adm-impreso-resultado b {
  font-family: var(--adm-cond);
  font-weight: 800;
  font-size: 19pt;
  font-variant-numeric: tabular-nums;
}
#print-area .adm-impreso-contado { display: flex; flex-wrap: wrap; gap: 10px 24px; margin: 8px 0 4px; }
#print-area .adm-impreso-contado div { flex: 1 1 200px; display: flex; align-items: flex-end; gap: 8px; }
#print-area .adm-impreso-contado span { white-space: nowrap; }
#print-area .adm-impreso-contado i { flex: 1; display: block; height: 18px; border-bottom: 1px solid var(--tinta); }
#print-area .adm-impreso-nada { margin: 2px 0 6px; color: var(--gris); }
#print-area .adm-impreso-firmas {
  display: flex;
  gap: 32px;
  margin-top: 56px;
  break-inside: avoid;
  page-break-inside: avoid;
}
#print-area .adm-impreso-firma { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 1px; text-align: center; }
#print-area .adm-impreso-firma i { display: block; width: 100%; height: 0; margin-bottom: 4px; border-top: 1px solid var(--tinta); }
#print-area .adm-impreso-firma span { font-weight: 600; }
#print-area .adm-impreso-firma small { font-size: 8pt; color: var(--gris); }
#print-area .adm-impreso-pie { margin-top: 14px; font-size: 8pt; color: var(--gris); }

/* Impresora térmica (papel angosto) */
@media print and (max-width: 100mm) {
  #print-area .adm-impreso { font-size: 9pt; }
  #print-area .adm-impreso-cab { flex-direction: column; }
  #print-area .adm-impreso-logo { height: 44px; max-width: 100%; }
  #print-area .adm-impreso-doc { text-align: left; }
  #print-area .adm-impreso-tabla { font-size: 8pt; }
  #print-area .adm-impreso-tabla th, #print-area .adm-impreso-tabla td { padding: 3px 2px; }
  #print-area .adm-impreso-firmas { flex-direction: column; gap: 40px; }
}

@media print {
  .reportes, .caja, .usuarios { display: none !important; }
}
