/* Estilos del host: páginas de cuenta (Identity) y estados de validación. Las comunes viven en Inscripciones.UI. */
h1:focus { outline: none; }
a { color: var(--gvx-primario, #1b5e9e); }

.valid.modified:not([type=checkbox]) { outline: 1px solid #26b050; }
.invalid { outline: 1px solid #e50000; }

.gvx-manage { display: grid; gap: 1.5rem; grid-template-columns: 1fr; }
@media (min-width: 768px) { .gvx-manage { grid-template-columns: 220px 1fr; } }
.gvx-manage-nav { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.5rem; }
.gvx-manage-nav a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 0.9rem; border-radius: 6px; text-decoration: none; }
.gvx-manage-nav a.active { background: var(--gvx-primario, #1b5e9e); color: #fff; }

/* Clases tipo Bootstrap que usan las páginas de gestión de cuenta de la plantilla */
.form-floating { display: flex; flex-direction: column-reverse; margin-bottom: 1rem; }
.form-floating label { font-weight: 500; margin-bottom: 0.25rem; }
.form-control { width: 100%; box-sizing: border-box; min-height: 44px; padding: 0.5rem 0.75rem; border: 1px solid #bbb; border-radius: 6px; font: inherit; }
.form-floating .form-control::placeholder { color: transparent; }
.btn { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 1.25rem; border-radius: 6px; border: 1px solid transparent; font: inherit; cursor: pointer; text-decoration: none; }
.btn-primary { background: var(--gvx-primario, #1b5e9e); color: #fff; }
.btn-danger { background: #b00020; color: #fff; }
.btn-lg { font-size: 1.05rem; }
.w-100 { width: 100%; }
.mb-3 { margin-bottom: 1rem; }
.alert { padding: 0.75rem 1rem; border-radius: 8px; margin-bottom: 1rem; }
.alert-success { background: #e6f4ea; border: 1px solid #a8d5b5; }
.alert-danger { background: #fdecea; border: 1px solid #f1a9a0; }
.alert-warning { background: #fff7e0; border: 1px solid #f0d27a; }
.row { display: block; }
.col-lg-6, .col-md-6, .col-xl-6 { max-width: 520px; }
