/* pages/login.css */
.login-section { padding-block: var(--space-8, 6rem); }

.login-header .section-title { margin: 0 0 var(--space-2, .75rem); }
.login-header .section-subtitle { opacity: .85; }

.login-card {
  margin-top: var(--space-5, 2rem);
  padding: var(--space-6, 2rem);
  border-radius: var(--radius-2xl, 20px);
  background: var(--surface, #fff);
  box-shadow: var(--shadow-md, 0 8px 30px rgba(0,0,0,.08));
  max-width: 520px;
  margin-inline: auto;
}

.form .field { margin-bottom: var(--space-4, 1.25rem); }
.form-label { display:block; font-weight:600; margin-bottom:.5rem; }

.label-row {
  display:flex; align-items:center; justify-content:space-between;
}

.form-control {
  width: 100%; border: 1px solid var(--border, #e5e7eb);
  border-radius: var(--radius-lg, 12px);
  padding: .85rem 1rem; background: #fff;
}

.actions { margin-top: var(--space-4, 1.25rem); }
.btn.btn--primary { width: 100%; }

.link { background:none; border:0; cursor:pointer; font:inherit; }
.link--muted { color:#6b7280; }
.link--muted:hover { text-decoration: underline; }

/* Alerts compatibles con tu sistema */
.alert {
  padding: var(--space-3, 1rem) var(--space-4, 1.25rem);
  border-radius: var(--radius-lg, 12px);
  margin: var(--space-4, 1.25rem) 0;
  font-weight: 500;
}
.alert--danger { background:#ffe6e6; border:1px solid #ffd1d1; }
.alert--success { background:#e9f8ee; border:1px solid #c8f0d6; }

/* Errores en campos */
.field-error{color:#b42318;font-size:.9rem;margin-top:.35rem}
.is-invalid{border-color:#b42318 !important; outline: none}
/* Fondo blanco solo para esta página */
body {
  background: #fff !important;
  color: #111; /* asegura contraste en textos */
}
