/* Central Gestão — Caixa por Operador: extensão visual pontual, sem afetar outros módulos. */
.cash-op-page {
  --cash-op-navy:var(--navy-blue,#1e3a8a);
  --cash-op-edge:#cfdaea;
  --cash-op-muted:#526781;
  width:100%;max-width:100%;min-width:0;box-sizing:border-box;
  color:var(--text-main,#1e293b);
}
.cash-op-page *, .cash-op-transfer-modal * {box-sizing:border-box}
.cash-op-page .cash-op-header {
  display:flex;align-items:flex-start;justify-content:space-between;
  flex-wrap:wrap;gap:14px;margin-bottom:18px;min-width:0;
  border-bottom:1px solid #d5e1ef;padding-bottom:14px;
}
.cash-op-page .cash-op-heading {min-width:0;flex:1 1 350px}
.cash-op-page .page-title {font-weight:750;font-size:1.38rem;line-height:1.25;color:var(--navy-dark,#0f172a)}
.cash-op-page .page-subtitle {margin:5px 0 0;color:var(--text-muted,#64748b);font-size:.84rem}
.cash-op-page .cash-op-header-actions {
  display:flex;align-items:center;justify-content:flex-end;
  flex-wrap:wrap;gap:8px;flex:0 1 auto;
}
.cash-op-page .cash-op-header-actions .btn,
.cash-op-page .cash-op-clear-filter {
  min-height:38px;display:inline-flex;align-items:center;justify-content:center;
  padding:8px 13px;font-size:.82rem;font-weight:650;white-space:nowrap;
  border-radius:6px;
}
.cash-op-page .cash-op-header-actions .btn:disabled {opacity:.6;cursor:not-allowed}
.cash-op-page .cash-op-filter-panel,
.cash-op-page .cash-op-card {
  background:var(--card-bg,#fff);
  border:1px solid var(--cash-op-edge);
  border-radius:9px;
  box-shadow:0 2px 6px rgba(25,49,93,.05);
  min-width:0;max-width:100%;overflow:hidden;margin:0 0 16px;
}
.cash-op-page .card-header {
  min-height:46px;
  padding:11px 16px;
  font-size:.94rem;
  color:#17396c;
  font-weight:730;
  background:linear-gradient(90deg,#e8f0fb 0%,#f4f7fc 100%);
  border-bottom:1px solid #d4e0ee;
  border-left:4px solid var(--cash-op-navy);
  display:flex;align-items:center;justify-content:space-between;gap:10px;
}
.cash-op-page .cash-op-filter-panel .card-body {
  padding:15px 16px 16px;
  background:#f8fafd;
}
.cash-op-page .cash-op-filters {
  display:grid;
  grid-template-columns:minmax(240px,2.2fr) minmax(165px,.8fr) auto;
  gap:12px;align-items:end;min-width:0;
}
.cash-op-page .cash-op-field {
  display:flex;flex-direction:column;gap:6px;min-width:0;margin:0;
}
.cash-op-page .cash-op-field>span {
  font-size:.75rem;font-weight:700;color:#254b7d;
}
.cash-op-page .cash-op-field .form-control {
  width:100%;max-width:100%;min-width:0;min-height:40px;height:40px;
  padding:8px 11px;
  border:1px solid #b9cbe2;border-radius:6px;
  background:#fff;color:#19324f;font-size:.85rem;box-shadow:none;
}
.cash-op-page .cash-op-field .form-control:focus {
  border-color:var(--primary-blue,#2563eb);
  outline:none;box-shadow:0 0 0 2px rgba(37,99,235,.14);
}
.cash-op-page .cash-op-card-title {display:flex;align-items:center;gap:10px;min-width:0}
.cash-op-page .cash-op-card-icon {
  display:inline-flex;align-items:center;justify-content:center;
  width:28px;height:28px;flex:0 0 28px;
  color:#1e478d;background:#d9e7f9;border:1px solid #c5d8f0;
  border-radius:6px;font-weight:750;font-size:1rem;
}
.cash-op-page .cash-op-card-meta {
  background:#edf3fb;color:#355c8c;border:1px solid #d6e1f0;
  padding:4px 9px;border-radius:5px;font-size:.7rem;font-weight:650;
  white-space:nowrap;
}
.cash-op-page .cash-op-card .card-body {padding:0;min-width:0}
.cash-op-page .cash-op-table-scroll {
  overflow-x:auto;max-width:100%;width:100%;min-width:0;
  border:0;border-radius:0;background:var(--card-bg,#fff);
}
.cash-op-page .cash-op-table-scroll .data-table {
  min-width:670px;width:100%;font-size:.83rem;
  border-spacing:0;border-collapse:collapse;
}
.cash-op-page .cash-op-table-scroll .data-table th {
  background:#edf3fa;color:#244b77;font-weight:720;font-size:.77rem;
  padding:11px 13px;border-bottom:1px solid #cfdcec;
}
.cash-op-page .cash-op-table-scroll .data-table td {
  padding:11px 13px;border-bottom:1px solid #e6edf5;color:#263e5c;
  line-height:1.4;
}
.cash-op-page .cash-op-table-scroll .data-table tbody tr:nth-child(even) td {background:#f8fafd}
.cash-op-page .cash-op-table-scroll .data-table tbody tr:hover td {background:#eef5fe}
.cash-op-page .cash-op-movement-card .data-table th:nth-last-child(-n+2),
.cash-op-page .cash-op-movement-card .data-table td:nth-last-child(-n+2),
.cash-op-page .cash-op-history-card .data-table th:nth-child(2),
.cash-op-page .cash-op-history-card .data-table td:nth-child(2) {
  text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;
}
.cash-op-page .cash-op-empty {
  display:flex;justify-content:center;align-items:center;
  min-height:78px;padding:16px;text-align:center;
  color:#64748b;font-size:.82rem;background:#f7fafe;
  border-radius:5px;
}
.cash-op-page .cash-op-summary {
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:stretch;gap:10px;padding:14px 16px;
  background:#f0f5fc;border-top:1px solid #d6e3f0;
}
.cash-op-page .cash-op-total {
  min-width:0;display:flex;flex-direction:column;gap:6px;
  padding:12px 14px;background:#fff;border:1px solid #d8e4f1;
  border-radius:7px;font-variant-numeric:tabular-nums;
}
.cash-op-page .cash-op-total span {font-size:.76rem;font-weight:700;color:#536984}
.cash-op-page .cash-op-total strong {font-size:1.08rem;font-weight:800;color:#173c75;overflow-wrap:anywhere}
.cash-op-page .cash-op-total-in {border-left:3px solid #059669}
.cash-op-page .cash-op-total-in strong {color:#047857}
.cash-op-page .cash-op-total-out {border-left:3px solid #dc2626}
.cash-op-page .cash-op-total-out strong {color:#b91c1c}
.cash-op-page .cash-op-total-net {background:#e8f0fc;border-color:#c7d9f0;border-left:3px solid #2559a9}
.cash-op-page .cash-op-note {
  color:#596f8d;font-size:.78rem;line-height:1.45;margin:0;
  padding:9px 16px 12px;background:#f8fafd;
  border-top:1px solid #e2eaf4;
}
.cash-op-transfer-modal .cash-op-transfer-grid {
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:end;gap:12px;min-width:0;
}
.cash-op-transfer-modal .cash-op-transfer-grid label {
  min-width:0;display:flex;flex-direction:column;gap:6px;
  color:#254b7d;font-size:.8rem;font-weight:650;
}
.cash-op-transfer-modal .cash-op-transfer-grid .form-control {
  min-width:0;max-width:100%;width:100%;min-height:39px;height:39px;
  padding:8px 10px;font-size:.84rem;background:#fff;
}
.cash-op-transfer-modal .erp-modal-footer {display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.cash-op-transfer-modal p {color:#64748b;font-size:.8rem;margin:12px 0 0}
@media (max-width:850px){
  .cash-op-page .cash-op-filters {grid-template-columns:minmax(0,1fr) minmax(150px,.48fr)}
  .cash-op-page .cash-op-clear-filter {grid-column:1/-1;justify-self:start}
}
@media (max-width:620px){
  .cash-op-page .cash-op-header-actions {justify-content:flex-start;width:100%}
  .cash-op-page .cash-op-header-actions .btn {flex:1 1 155px}
  .cash-op-page .cash-op-filters {grid-template-columns:minmax(0,1fr)}
  .cash-op-page .cash-op-clear-filter {grid-column:auto;width:100%}
  .cash-op-page .cash-op-summary {grid-template-columns:minmax(0,1fr)}
  .cash-op-page .cash-op-card-meta {display:none}
  .cash-op-page .cash-op-card .card-header {padding:10px 12px}
  .cash-op-transfer-modal .cash-op-transfer-grid {grid-template-columns:minmax(0,1fr)}
}
@media print{
  .cash-op-page .cash-op-header-actions,
  .cash-op-page .cash-op-filter-panel {display:none!important}
  .cash-op-page .cash-op-card {break-inside:avoid}
}
