/* ===== CuotaJusta — Estilos globales ===== */

:root {
  --cj-primary: #3b82f6;
  --cj-success: #22c55e;
  --cj-danger:  #ef4444;
  --cj-warning: #f59e0b;
}

body {
  font-size: 0.9rem;
}

/* Navbar */
.navbar-brand {
  font-size: 1.2rem;
}

/* Cards */
.card {
  border-radius: 0.75rem;
}

/* Saldo — colores dinámicos */
.saldo-positivo { color: var(--cj-danger);  }  /* debe dinero */
.saldo-negativo { color: var(--cj-success); }  /* le deben */
.saldo-cero     { color: #6b7280; }

/* Tablas */
.table th {
  font-size: 0.8rem;
  font-weight: 600;
  text-transform: uppercase;
  color: #6b7280;
}

/* Badge de tipo de gasto */
.badge-recurrente {
  background: #dbeafe;
  color: #1d4ed8;
  font-size: 0.7rem;
  padding: 0.2em 0.6em;
  border-radius: 999px;
}
.badge-unico {
  background: #f3f4f6;
  color: #374151;
  font-size: 0.7rem;
  padding: 0.2em 0.6em;
  border-radius: 999px;
}

/* PIN input */
input[type="password"].letter-spacing-3 {
  letter-spacing: 0.5rem;
  font-family: monospace;
}

/* Spinner overlay */
.loading-overlay {
  position: fixed;
  inset: 0;
  background: rgba(255,255,255,0.7);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
}

/* Responsive tables */
@media (max-width: 576px) {
  .table-sm td, .table-sm th {
    font-size: 0.78rem;
  }
}
