/* Identidad centralizada: el nombre funciona por sí solo cuando no hay logotipo. */
.institution-brand-logo { display: block; width: 7rem; height: 5rem; max-width: 100%; object-fit: contain; flex: 0 0 auto; }
.login-title .institution-brand.has-logo { gap: .875rem; }
.sidebar-brand .institution-brand.has-logo { display: grid; grid-template-columns: 2.625rem minmax(0, 1fr); align-items: center; gap: .625rem; }
.sidebar-brand .institution-brand.has-logo .institution-brand-logo { width: 2.625rem; height: 3rem; }
.sidebar-brand .institution-brand.has-logo .institution-name { min-width: 0; font-size: 1.125rem; overflow-wrap: anywhere; }
.sidebar-brand .institution-brand.has-logo::after { grid-column: 2; }
.institution-document-heading { display: flex; flex-direction: column; align-items: center; gap: .5rem; padding-bottom: 1.25rem; margin-bottom: 1.5rem; text-align: center; border-bottom: 2px solid #101E3B; break-inside: avoid; }
.institution-document-logo { display: block; width: 7rem; height: 5rem; max-width: 100%; object-fit: contain; }
.institution-document-heading .institution-document-name { margin: 0; color: #101E3B; font-size: 1.5rem; font-weight: 600; line-height: 1.3; overflow-wrap: anywhere; }
.institution-document-subtitle { margin: 0; color: #444444; font-size: .875rem; font-weight: 400; line-height: 1.5; }
.institution-document-reference { max-width: 100%; color: #444444; }
.institution-document-period { text-align: center; color: #444444; margin: -.75rem 0 1.5rem; font-size: .875rem; }
.identity-settings { max-width: 42rem; }
.identity-settings-heading h2 { margin: 0 0 1.5rem; color: #101E3B; font-size: 1.5rem; font-weight: 600; }
.identity-settings-current { margin-bottom: 1.5rem; padding-bottom: 1.5rem; border-bottom: 1px solid var(--csa-border); }
.identity-settings-current h3 { margin: 0 0 1rem; font-size: 1rem; font-weight: 600; }
.identity-settings-current .institution-brand { align-items: flex-start; gap: .75rem; }
.identity-settings-current .institution-name { font-size: 1.25rem; }
.identity-settings-form { display: grid; justify-items: start; gap: 1.25rem; }
.identity-settings-form .form-field { width: 100%; }
.identity-settings-form input[type="file"] { max-width: 100%; min-height: 3rem; }
.identity-help { margin: .5rem 0 0; color: var(--csa-muted); font-size: .875rem; }
.identity-confirmation { display: flex; align-items: flex-start; gap: .75rem; }
.identity-confirmation input { width: 1.125rem; height: 1.125rem; flex: 0 0 auto; margin-top: .1875rem; accent-color: #101E3B; }
.identity-confirmation label { font-size: .9375rem; }
.identity-preview { display: grid; justify-items: start; gap: .75rem; max-width: 100%; margin: 0; }
.identity-preview[hidden] { display: none; }
.identity-preview figcaption { font-size: .875rem; color: #444444; }
.identity-preview img { display: block; width: 12rem; height: 8rem; max-width: 100%; object-fit: contain; }
.identity-form-error { margin: 0; color: var(--csa-error); font-size: .875rem; overflow-wrap: anywhere; }
.identity-form-error[hidden] { display: none; }
.identity-form-error ul { margin: 0; padding-left: 1.25rem; }
@media print {
  @page { size: letter; margin: 18mm; }
  .institution-document-heading { padding-bottom: .75rem; margin-bottom: 1rem; }
  .institution-document-logo { width: 28mm; height: 20mm; object-fit: contain; }
}
