.kpis {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px,1fr));
  gap: 15px;
  margin-bottom: 20px;
}

.kpi {
  padding: 15px;
  border-radius: var(--border-radius);
  text-align: center;
}

.kpi.ingreso { background: #d4edda; }
.kpi.gasto { background: #f8d7da; }
.kpi.saldo { background: #cce5ff; }

.tabla-caja {
  width: 100%;
  border-collapse: collapse;
}

.tabla-caja th,
.tabla-caja td {
  padding: 10px;
  border-bottom: 1px solid var(--color-gray-light);
}

.ingreso-text { color: green; }
.gasto-text { color: red; }

.movimiento-form {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 16px;
  margin-top: 10px;
}

.movimiento-form .campo {
  display: flex;
  flex-direction: column;
}

.movimiento-form label {
  font-size: 0.85rem;
  margin-bottom: 6px;
  color: var(--color-text-muted);
}

.movimiento-form input,
.movimiento-form select {
  padding: 12px;
  border-radius: var(--border-radius);
  border: 1px solid var(--color-gray);
  font-size: 1rem;
}

.movimiento-form input:focus,
.movimiento-form select:focus {
  outline: none;
  border-color: var(--color-primary);
}

.acciones-form {
  grid-column: 1 / -1;
  display: flex;
  justify-content: flex-end;
  margin-top: 10px;
}
