/* Bloque turnos: vistas de impresión (cuadrante A4 apaisado y mes de una persona).
   El resto de estilos del cuadrante están en la hoja base (app.css). */
.impr-barra { display: flex; gap: .6rem; align-items: center; flex-wrap: wrap; padding: .8rem 1rem; background: var(--superficie); border-bottom: 1px solid var(--linea); position: sticky; top: 0; z-index: 5; }
.hoja-a4 { background: #fff; max-width: 210mm; margin: 1rem auto; padding: 10mm; box-shadow: var(--sombra); font-size: 11px; }
.hoja-a4.apaisada { max-width: 297mm; }
.impr-cab h1 { font-size: 16px; margin: 0 0 2px; }
.impr-cab p { margin: 0 0 6px; color: var(--tinta-2); }
.impr-cuadrante { border-collapse: collapse; width: 100%; table-layout: fixed; font-size: 8.5px; }
.impr-cuadrante th, .impr-cuadrante td { border: 1px solid #C9D3CF; padding: 1px; text-align: center; background: none; }
.impr-cuadrante th.n { width: 110px; text-align: left; padding-left: 3px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 9px; color: var(--tinta); }
.impr-cuadrante thead th { font-size: 8px; color: var(--tinta-2); }
.impr-cuadrante .finde { background: #EEF2F1; }
.impr-cuadrante .festivo { background: #FBE7E5; }
.impr-cuadrante td.num { text-align: right; padding-right: 3px; width: 34px; }
.impr-cuadrante tr.cob td { font-weight: 700; }
.impr-cuadrante td.falta { background: #FAD4D1; color: #B42318; }
.impr-cuadrante th:nth-last-child(-n+3) { width: 34px; }
.impr-leyenda { display: flex; flex-wrap: wrap; gap: 4px 12px; margin-top: 6px; font-size: 9px; }
.impr-leyenda .ficha { font-size: 9px; }
.impr-mes { width: 100%; border-collapse: collapse; font-size: 11px; }
.impr-mes th, .impr-mes td { border-bottom: 1px solid #DDE4E1; padding: 3px 4px; }
.impr-mes tr.finde td { background: #F3F6F5; }
.impr-mes tr.festivo td { background: #FBEDEB; }
.impr-totales { margin-top: 8px; font-size: 12px; }
body.impresion { background: #E9EDEB; }
@media print {
  body.impresion { background: #fff; }
  .impr-barra { display: none !important; }
  .hoja-a4 { box-shadow: none; margin: 0; padding: 0; max-width: none; }
  * { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}
@page { margin: 8mm; }
