.cash-history { padding: 0; overflow: hidden; }
.cash-history-heading,.cash-session-header,.cash-session-footer { display:flex; justify-content:space-between; gap:1rem; align-items:flex-start; flex-wrap:wrap; }
.cash-history-heading { padding:.75rem 1rem; border-bottom:1px solid var(--border); }
.cash-history-heading h5 { margin:0; }
.cash-history-heading p,.cash-session-header p,.cash-help { color:var(--text-muted); font-size:.82rem; margin:.35rem 0 0; line-height:1.5; }
.cash-history-list { list-style:none; padding:0; margin:0; }
.cash-session { padding:.8rem 1rem; border-bottom:1px solid var(--border); }
.cash-session:last-child { border-bottom:0; }
.cash-session-header strong { margin-right:.5rem; }
.cash-session-actions { display:flex; flex-wrap:wrap; gap:.5rem; }
.cash-session-values { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.65rem; margin:.65rem 0; }
.cash-session-values>div { min-width:0; padding:.55rem .65rem; background:var(--surface); border:1px solid var(--border); border-radius:.6rem; }
.cash-session-values dt { color:var(--text-muted); font-size:.73rem; }
.cash-session-values dd { margin:.2rem 0; font-weight:700; font-size:.95rem; overflow-wrap:anywhere; font-variant-numeric:tabular-nums; }
.cash-session-values small { color:var(--text-muted); font-size:.7rem; line-height:1.3; display:block; }
.cash-session-footer { align-items:center; font-size:.78rem; }
.cash-payment-methods { display:flex; flex-wrap:wrap; gap:.6rem 1.2rem; color:var(--text-muted); }
.cash-payment-methods b { color:var(--text); margin-left:.25rem; font-variant-numeric:tabular-nums; }
.cash-schedule-section { border:0; padding:0; margin:0; min-width:0; }
.cash-schedule-section legend { font-size:.9rem; font-weight:700; margin-bottom:.75rem; }
.cash-automation-option { padding:.85rem; display:flex; align-items:center; gap:.7rem; cursor:pointer; }
.cash-automation-option small { display:block; color:var(--text-muted); font-weight:400; margin-top:.25rem; }
.cash-schedule-summary { border-left:3px solid var(--primary); background:var(--surface); padding:.75rem 1rem; border-radius:.3rem; font-size:.85rem; line-height:1.5; margin:0; }
.cfg-week-row,.cfg-week-heading { display:grid; grid-template-columns:120px 106px 106px; max-width:100%; gap:.5rem; align-items:end; }
.cfg-week-row>label { display:flex; gap:.5rem; align-items:center; align-self:center; }
.cfg-week-row .form-label { font-size:.73rem; }
.cash-arqueo-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-bottom:1rem; }
@media(max-width:900px) { .cash-session-values { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:540px) { .cash-session,.cash-history-heading { padding:.75rem; } .cash-session-values { gap:.5rem; } .cash-session-values>div { padding:.5rem; } .cash-session-values dd { font-size:.92rem; } .cash-session-actions { width:100%; } .cfg-week-row { grid-template-columns:1fr 1fr; } .cfg-week-row>label { grid-column:1/-1; } .cash-arqueo-grid { grid-template-columns:1fr; } }

.cash-history-filters { display:flex; flex-wrap:wrap; align-items:end; gap:.5rem; padding:.65rem 1rem; border-bottom:1px solid var(--border); color-scheme:light; }
.cash-filter-field { min-width:0; width:128px; max-width:100%; }
.cash-filter-q { width:104px; }
.cash-filter-fecha { width:94px; }
.cash-filter-desde,.cash-filter-hasta { width:126px; }
.cash-filter-estado { width:154px; }
.cash-filter-cierre { width:132px; }
.cash-history-filters .form-control { width:100%; min-width:0; height:30px; padding:.25rem .4rem; font-size:.75rem; }
.cash-history-filters .form-label { font-size:.7rem; margin-bottom:.2rem; }
.cash-history-filters .btn-sm { min-height:30px; padding:.25rem .5rem; font-size:.75rem; }
.cash-filter-actions { display:flex; flex-wrap:wrap; gap:.4rem; align-items:end; }
.cash-filter-error { color:var(--danger,#dc3545); font-size:.8rem; margin:.3rem 0 0; }
.cash-history-pagination { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:1rem; padding:.75rem; border-top:1px solid var(--border); font-size:.8rem; }
html[data-theme="dark"] .cash-history-filters { color-scheme:dark; }
.cash-history-filters option { background-color:var(--content-bg); color:var(--content-text); }
@media(max-width:640px) { .cash-history-filters { padding:.65rem .75rem; } }

/* Native scrolling follows the current panel theme instead of a white track. */
html, body, #hx-area, .cash-history { scrollbar-width:thin; scrollbar-color:var(--text-muted) var(--surface); }
html::-webkit-scrollbar, body::-webkit-scrollbar, #hx-area::-webkit-scrollbar { width:8px; height:8px; }
html::-webkit-scrollbar-track, body::-webkit-scrollbar-track, #hx-area::-webkit-scrollbar-track { background:var(--surface); }
html::-webkit-scrollbar-thumb, body::-webkit-scrollbar-thumb, #hx-area::-webkit-scrollbar-thumb { background:var(--text-muted); border-radius:6px; }

/* Programming uses content-sized controls rather than stretched columns. */
#caja-config-form { color-scheme:light; }
html[data-theme="dark"] #caja-config-form { color-scheme:dark; }
#caja-config-form option { background-color:var(--content-bg); color:var(--content-text); }
#caja-config-form .card-header { padding:.75rem 1rem; }
#caja-config-form .p-4 { padding:1rem !important; }
#caja-config-form .uix-grid-auto-xs { display:flex; flex-wrap:wrap; align-items:flex-start; gap:.65rem; }
#caja-config-form .uix-grid-auto-xs>div { flex:0 1 220px; min-width:0; max-width:100%; }
#caja-config-form .cash-automation-option { flex:0 1 250px; max-width:100%; padding:.6rem .75rem; font-size:.82rem; }
#caja-config-form .form-label { font-size:.75rem; margin-bottom:.25rem; }
#caja-config-form .form-input:not([type="checkbox"]) { max-width:100%; min-width:0; height:32px; padding:.3rem .5rem; font-size:.78rem; }
#caja-config-form input[type="time"] { width:106px; }
#cfgGeneralHours>div { flex:0 1 106px !important; }
#caja-config-form input[type="date"] { width:130px; }
#caja-config-form input[type="number"] { width:126px; }
#caja-config-form #cfgGraciaCierre { width:82px; }
#caja-config-form #cfgFechaWrap { flex-basis:130px; }
#caja-config-form #cfgSemanaWrap { width:380px; max-width:100%; padding:.65rem .75rem !important; }
#caja-config-form .cash-help { font-size:.74rem; margin-top:.25rem; max-width:65ch; }
#caja-config-form .cash-schedule-summary { padding:.55rem .75rem; font-size:.78rem; }
#caja-config-form .cash-schedule-section legend { font-size:.82rem; margin-bottom:.5rem; }
#caja-config-form #cfgGuardarBtn { min-height:34px; padding:.4rem .75rem; font-size:.8rem; }
@media(max-width:540px) {
  #caja-config-form .p-4 { padding:.75rem !important; }
  .cfg-week-row { grid-template-columns:repeat(2,minmax(0,106px)); gap:.35rem .5rem; }
}

.cfg-week-heading { font-size:.72rem; color:var(--text-muted); margin-top:.6rem; }
#cfgCanalReporte { width:150px; }
#cfgReporteWa { width:170px; }
@media(max-width:540px) { .cfg-week-heading { grid-template-columns:repeat(2,minmax(0,106px)); gap:.35rem .5rem; } .cfg-week-heading>span:first-child { display:none; } }
@media(min-width:1200px) {
  #caja-config-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:1rem; }
  #caja-config-form>.card { margin-bottom:0 !important; min-width:0; }
}

.cash-schedule-secondary { display:flex; flex-direction:column; gap:1rem; min-width:0; }
#caja-config-form .cash-schedule-secondary>.card { margin-bottom:0 !important; }

/* Arqueo: formulario desplazable y acciones accesibles en pantallas bajas. */
.cash-arqueo-modal > .modal-box {
  max-height: calc(100vh - 2rem);
  max-height: calc(100dvh - 2rem);
  min-height: 0;
}
.cash-arqueo-modal .modal-header,
.cash-arqueo-modal .modal-footer { flex: 0 0 auto; }
.cash-arqueo-modal .modal-title { min-width: 0; overflow-wrap: anywhere; }
.cash-arqueo-modal .btn-close { flex-shrink: 0; min-width: 44px; min-height: 44px; }
.cash-arqueo-modal .modal-body {
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior-y: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  scrollbar-color: var(--text-muted) var(--surface);
}
.cash-arqueo-modal .modal-footer > button { min-height: 44px; }
@media (max-width: 520px) {
  .cash-arqueo-modal .modal-header,
  .cash-arqueo-modal .modal-body,
  .cash-arqueo-modal .modal-footer { padding: .75rem; }
}
