/* ===== MOVIMIENTOS DE CAJA ===== */
.mov-hdr { display:flex; align-items:center; padding:16px 24px; border-bottom:1px solid var(--gray-d); gap:12px; flex-shrink:0; background:#fff; }
.mov-total-banner { font-size:16px; font-weight:700; color:var(--ink); background:#f8f9fa; padding:8px 20px; border-radius:5px; border:1px solid var(--gray-d); box-shadow:inset 0 1px 2px rgba(0,0,0,.03); }
#mov-total-val { color:var(--blue); margin-left:6px; }

.mov-btn-search { padding:8px 20px; border:none; border-radius:6px; background:var(--blue); color:#fff; font-size:13px; font-weight:700; cursor:pointer; font-family:inherit; transition:background .15s; }
.mov-btn-search:hover { background:var(--blue-h); }
.mov-btn-receipts { padding:8px 18px; border:none; border-radius:6px; background:#28a745; color:#fff; font-size:13px; font-weight:700; cursor:pointer; font-family:inherit; }
.mov-btn-receipts:hover { background:#218838; }

.mov-page { flex:1; display:flex; flex-direction:column; overflow-y:auto; background:#fff; }
.mov-filters { padding:20px 24px; border-bottom:1px solid var(--gray-d); background:#fbfcfe; }
.mov-filter-row { display:flex; gap:16px; margin-bottom:12px; align-items:flex-end; flex-wrap:wrap; }
.mov-filter-group { display:flex; flex-direction:column; gap:4px; flex:1; min-width:160px; }
@media (max-width: 1024px) {
  .mov-filter-group { min-width: calc(33.33% - 16px); }
}
@media (max-width: 768px) {
  .mov-filter-group { min-width: calc(50% - 16px); }
  .mov-filters { padding: 16px; }
}
@media (max-width: 480px) {
  .mov-filter-group { min-width: 100%; }
}
.mov-filter-group label { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--ink-m); }
.mov-filter-group input[type=text], .mov-filter-group input[type=number], .mov-filter-group input[type=date], .mov-filter-group select { padding:7px 10px; border:1.5px solid var(--gray-d); border-radius:6px; font-size:13px; font-family:inherit; color:var(--ink); outline:none; background:#fff; }
.mov-filter-group input:focus, .mov-filter-group select:focus { border-color:var(--blue); }

/* Multiselect Custom */
.res-ms-container { position:relative; }
.res-ms-btn { width:100%; text-align:left; padding:7px 12px; border:1.5px solid var(--gray-d); border-radius:6px; background:#fff; font-size:12.5px; font-family:inherit; color:var(--ink-m); cursor:pointer; }
.res-ms-btn:hover { border-color:var(--blue); }
.res-ms-dropdown { display:none; position:absolute; top:calc(100% + 4px); left:0; width:220px; background:#fff; border:1px solid var(--gray-d); border-radius:8px; box-shadow:0 4px 16px rgba(0,0,0,.15); z-index:300; max-height:280px; overflow-y:auto; padding:8px 0; }
.res-ms-item { display:flex; align-items:center; gap:10px; padding:8px 16px; font-size:13px; color:var(--ink); cursor:pointer; transition:background .1s; }
.res-ms-item:hover { background:var(--blue-l); }
.res-ms-item input { cursor:pointer; width:15px; height:15px; }

.mov-table-actions { padding:10px 24px; border-bottom:1px solid var(--gray-d); display:flex; align-items:center; justify-content:flex-end; background:#fafbfc; }
.res-limit-select { padding:4px 8px; border:1.5px solid var(--gray-d); border-radius:6px; font-size:12px; font-family:inherit; color:var(--ink); background:#fff; outline:none; cursor:pointer; min-width:60px; }
.res-limit-select:focus { border-color:var(--blue); }
.mov-excel-btn { padding:6px 14px; background:#fff; border:1px solid var(--gray-d); border-radius:5px; font-size:12px; font-weight:700; color:var(--ink-m); cursor:pointer; transition:background .15s; }
.mov-excel-btn:hover { background:var(--gray-b); color:var(--blue); border-color:var(--blue); }

.mov-table-wrap { width: 100%; }
.mov-tbl { width:100%; border-collapse:collapse; font-size:13px; table-layout:fixed; }
.mov-tbl th { text-align:left; padding:6px 16px; background:var(--gray-b); font-size:10.5px; font-weight:700; text-transform:uppercase; color:var(--ink-m); border-bottom:1px solid var(--gray-d); position:sticky; top:0; z-index:10; }
.mov-tbl td { padding:4px 16px; border-bottom:1px solid var(--gray-d); vertical-align:middle; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.mov-tbl tr:hover td { background:#f8faff; }

.res-row-btn { width:28px; height:28px; border:1px solid var(--gray-d); border-radius:5px; background:#fff; cursor:pointer; margin-left:4px; font-size:13px; display:inline-flex; align-items:center; justify-content:center; }
.res-row-btn:hover { background:var(--blue-l); border-color:var(--blue); }

.mov-footer { padding:14px 24px; border-top:1px solid var(--gray-d); display:flex; align-items:center; justify-content:space-between; font-size:12.5px; color:var(--ink-m); background:#fff; }
.mov-pag { display:flex; gap:5px; align-items:center; }
.res-pag-btn { padding:5px 12px; border:1.5px solid var(--gray-d); border-radius:6px; background:#fff; font-size:12.5px; cursor:pointer; color:var(--ink-m); transition:all .15s; font-family:inherit; font-weight:600; }
.res-pag-btn:hover:not(:disabled) { background:var(--blue-l); border-color:var(--blue); color:var(--blue); }
.res-pag-btn.active { background:var(--blue); border-color:var(--blue); color:#fff; font-weight:700; pointer-events:none; }
.res-pag-btn:disabled { opacity:.35; cursor:not-allowed; }
.res-pag-info { font-size:13px; color:var(--ink-m); font-weight:600; font-family:inherit; }

/* Modal Fields */
.res-modal-field { display:flex; flex-direction:column; gap:6px; margin-bottom:14px; }
.res-modal-field label { font-size:12px; font-weight:600; color:var(--ink-m); }
.res-modal-field select, .res-modal-field input { padding:8px 12px; border:1.5px solid var(--gray-d); border-radius:6px; font-family:inherit; font-size:13.5px; outline:none; }
.res-modal-field select:focus, .res-modal-field input:focus { border-color:var(--blue); }
