/* POS web: estilos del módulo caja (ventana Caja, apertura, cierre, corte, diario, conteo de billetes y monedas) */
.v-caja .cj-ayuda { margin: 0 0 8px; color: var(--suave); font-size: 13px; }

/* banda de estado (Banda de CajaWindow / CorteWindow): relleno suave, sin franja de color */
.cj-banda { display: flex; flex-direction: column; gap: 2px; padding: 8px 12px; margin-bottom: 8px; border-radius: 7px; background: var(--superficie2); }
.cj-banda b { font-size: 16px; }
.cj-banda span { font-size: 12.5px; color: var(--suave); }
.cj-banda.bien { background: var(--exito-suave); } .cj-banda.bien b { color: var(--exito); }
.cj-banda.mal { background: color-mix(in srgb, var(--peligro) 18%, var(--superficie)); } .cj-banda.mal b { color: var(--peligro); }
.cj-abrir { margin-bottom: 8px; } .cj-abrir .btn { min-height: 44px; min-width: 180px; font-size: 15px; }

/* botones de acción de la ventana Caja */
.cj-acc { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 6px; margin-bottom: 8px; }
.cj-acc .btn { width: 100%; min-height: 40px; padding: 0 8px; }
.cj-sub { margin: 10px 0 2px; font-size: 12px; font-weight: 800; color: var(--primario); letter-spacing: .3px; }

/* renglón de movimiento: hora · qué es · importe */
.cj-fila { display: grid; grid-template-columns: 46px minmax(0, 1fr) auto; align-items: center; gap: 8px; min-height: 32px; border-bottom: 1px solid var(--borde); }
.cj-fila .h { color: var(--suave); font-size: 12.5px; }
.cj-fila .t { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cj-fila .pos { color: var(--exito); font-weight: 700; } .cj-fila .neg { color: var(--peligro); font-weight: 700; }

/* ingreso, gasto y retiro */
.cj-importe { font-size: 24px; font-weight: 700; min-height: 48px; text-align: right; }
.cj-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.cj-chips .btn { min-height: 34px; padding: 0 12px; font-weight: 500; }

/* apertura con fondo sugerido */
.cj-sug { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding: 8px 12px; margin-bottom: 8px; border-radius: 7px; background: var(--exito-suave); font-size: 13px; }
.cj-sug span { flex: 1 1 200px; } .cj-sug .btn { min-height: 44px; }

/* conteo de billetes y monedas (ConteoEfectivo): cada valor con su − y su + del tamaño de un dedo; la cantidad también se escribe */
.cnt { display: grid; grid-template-columns: 1fr 1fr; gap: 4px 22px; }
.cnt h4 { margin: 0 0 4px; font-size: 12px; color: var(--suave); }
.cnt-f { display: grid; grid-template-columns: 56px auto minmax(0, 1fr); align-items: center; gap: 8px; margin-bottom: 5px; }
.cnt-f[hidden] { display: none; }
.cnt-e { font-weight: 700; font-size: 15px; }
.cnt-cap { display: flex; height: 38px; border: 1px solid var(--btn); border-radius: 19px; background: var(--superficie2); overflow: hidden; }
.cnt-cap button { width: 40px; font-size: 20px; font-weight: 700; background: none; border: 0; color: var(--suave); padding: 0; }
.cnt-cap button:active { background: var(--borde); }
.cnt-cap input { width: 54px; min-width: 0; text-align: center; border: 0; border-left: 1px solid var(--btn); border-right: 1px solid var(--btn); background: transparent; font-weight: 700; font-size: 16px; padding: 0; }
.cnt-cap input:focus { outline: none; background: color-mix(in srgb, var(--primario) 22%, transparent); }
.cnt-s { text-align: right; font-size: 12.5px; color: var(--suave); white-space: nowrap; }
.cnt-chk { display: flex; align-items: center; gap: 8px; margin: 6px 0 0; font-size: 12.5px; color: var(--suave); min-height: 30px; }
.cnt-chk input { width: 18px; height: 18px; }
#pc-total { margin-top: 6px; font-size: 20px; font-weight: 700; text-align: right; }
.cnt-total { display: flex; justify-content: space-between; align-items: baseline; margin-top: 8px; padding: 8px 12px; border-radius: 7px; background: var(--superficie2); font-weight: 700; }
.cnt-total b { font-size: 24px; color: var(--primario); }

/* resumen dentro del cierre */
.cj-turno { font-weight: 700; margin-bottom: 4px; }
.cj-res { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1px 14px; padding: 6px 12px; border-radius: 7px; background: var(--superficie2); font-size: 13.5px; white-space: pre; }
.cj-res .neg { color: var(--peligro); }
.cj-esperado { margin: 8px 0; font-size: 17px; font-weight: 800; }
.cj-dif { min-height: 24px; margin: 6px 0 2px; font-size: 16px; font-weight: 800; }
.cj-dif.bien { color: var(--ok, #1f7a4f); }
.cj-dif.mal { color: var(--peligro); }

/* diario y corte del día */
.cj-filtros { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; margin-bottom: 6px; }
.cj-filtros .campo { width: auto; min-width: 180px; }
.cj-chk { display: flex; align-items: center; gap: 8px; font-weight: 600; min-height: 38px; }
.cj-chk input { width: 18px; height: 18px; }
.cj-dia { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0 12px; width: 100%; text-align: left; align-items: center; padding: 6px 10px; border: 0; border-bottom: 1px solid var(--borde); background: none; color: var(--texto); min-height: 46px; }
button.cj-dia:hover, button.cj-dia:focus-visible { background: var(--superficie2); }
.cj-dia .a { grid-column: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cj-dia .b { grid-column: 1; font-size: 12px; color: var(--suave); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cj-dia .d { grid-column: 2; grid-row: 1 / span 2; font-weight: 700; white-space: nowrap; }
.cj-dia .d.bien { color: var(--exito); } .cj-dia .d.mal { color: var(--aviso); }
.cj-tot { margin-top: 8px; font-weight: 700; color: var(--suave); text-align: right; }
.cj-nav { display: flex; gap: 6px; align-items: center; margin-bottom: 6px; }
.cj-nav .campo { flex: 1; min-width: 0; text-align: center; font-weight: 700; }
.cj-nav .btn { min-width: 44px; padding: 0 10px; }

/* el corte como papel */
.papel.corte { margin-top: 0; }

/* impresión del corte: solo el papel de la ventana del corte (las demás ventanas abiertas no salen) */
@media print {
  body.imp-corte .capa:not(.imp-esta) { display: none !important; }
  .imp-esta .cuerpo-v > :not(.papel) { display: none !important; }
}

/* celular (reglas de Android): una columna, renglones del diario en dos líneas, papel más angosto */
@media (max-width: 520px) { .cnt { grid-template-columns: 1fr; } }
.celular .cj-acc { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.celular .papel.corte { font-size: 11px; padding: 10px 8px; }
.celular .cj-res { font-size: 12.5px; padding: 6px 8px; }
.celular .cj-filtros .campo { width: 100%; }
@media (max-width: 300px) { .cnt-s { display: none; } .cnt-f { grid-template-columns: 46px auto; } .cj-acc { grid-template-columns: minmax(0, 1fr); } .cj-fila { grid-template-columns: minmax(0, 1fr) auto; } .cj-fila .h { display: none; } }
.cnt-grande { font-size: 28px; font-weight: 800; text-align: right; height: 58px; margin: 6px 0; }
