/* Alta de usuario (Usuarios y accesos): secciones numeradas en una columna, con el lenguaje visual del Centro de Comando Ejecutivo. */
.admin-user-form.cg-uf { display:flex; flex-direction:column; gap:14px; margin:16px 0; padding:20px; border:1px solid #dbe4f0; border-radius:16px; background:#f8fafc; box-shadow:0 10px 30px rgba(15,23,42,.06); }
.admin-user-form.cg-uf[hidden] { display:none!important; }
.cg-uf-head { display:grid; gap:4px; padding:2px 4px 6px; }
.cg-uf-head .eyebrow { color:#1d4ed8; font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.cg-uf-head h3 { margin:0; color:#0f172a; font-size:20px; line-height:1.25; }
.cg-uf-head p { margin:0; font-size:13px; }

.cg-uf-section { display:grid; grid-template-columns:minmax(200px,260px) minmax(0,1fr); gap:16px 28px; margin:0; padding:18px 20px; border:1px solid #e2e8f0; border-radius:14px; background:#fff; min-inline-size:0; }
.cg-uf-section-head { display:flex; align-items:flex-start; gap:12px; }
.cg-uf-section-head h4 { margin:2px 0 4px; color:#0f172a; font-size:15px; line-height:1.3; }
.cg-uf-section-head p { margin:0; color:#475569; font-size:12.5px; line-height:1.45; }
.cg-uf-step { flex:0 0 auto; display:inline-grid; place-items:center; width:28px; height:28px; border-radius:999px; background:linear-gradient(135deg,#1e3a8a,#4f46e5); color:#fff; font-size:13px; font-weight:800; }

.cg-uf-fields { display:flex; flex-direction:column; gap:12px; max-width:620px; min-width:0; }
.cg-uf-fields > label,
.cg-uf-pass > label,
.cg-uf-pair > label { display:block; color:#1e293b; font-size:13px; font-weight:700; }
.cg-uf-fields > label > :is(input,select,textarea),
.cg-uf-pass > label > :is(input,select,textarea),
.cg-uf-pair > label > :is(input,select,textarea) { display:block; margin-top:6px; }
.cg-uf-fields > label > .password-field-wrap,
.cg-uf-pass > label > .password-field-wrap { display:flex; margin-top:6px; }
.admin-user-form.cg-uf input:not([type="checkbox"]):not([type="radio"]),
.admin-user-form.cg-uf select,
.admin-user-form.cg-uf textarea { width:100%; min-height:40px; box-sizing:border-box; font-weight:500; }
.admin-user-form.cg-uf textarea { min-height:84px; resize:vertical; }
.cg-uf-help { margin-top:-6px; color:#64748b; font-size:12px; line-height:1.4; }
.cg-uf-fields > .wide > b { display:block; margin-bottom:6px; color:#1e293b; font-size:13px; }
.cg-uf-fields > .wide > small { display:block; margin-top:6px; line-height:1.4; }

.cg-uf-option { padding:12px 14px; border:1px solid #dbeafe; border-radius:12px; background:#f8fbff; }
.cg-uf-option .role-checkbox-row { font-weight:700; color:#1e293b; }
.cg-uf-option p { margin:6px 0 0 26px; font-size:12px; line-height:1.4; }

.cg-uf-choice { margin:0; padding:0; border:0; min-inline-size:0; }
.cg-uf-choice legend { margin-bottom:8px; padding:0; color:#1e293b; font-size:13px; font-weight:700; }
.cg-uf-choice-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.cg-uf-choice-option { display:flex; align-items:flex-start; gap:10px; padding:12px 14px; border:1px solid #cbd5e1; border-radius:12px; background:#fff; cursor:pointer; transition:border-color .15s ease, box-shadow .15s ease; }
.cg-uf-choice-option input { width:auto; margin-top:3px; accent-color:#2563eb; }
.cg-uf-choice-option span { display:grid; gap:2px; }
.cg-uf-choice-option b { color:#0f172a; font-size:13px; }
.cg-uf-choice-option small { color:#64748b; font-size:12px; line-height:1.35; }
.cg-uf-choice-option:has(input:checked) { border-color:#2563eb; box-shadow:0 0 0 3px rgba(37,99,235,.14); background:#f5f9ff; }
.cg-uf-choice-option:focus-within { outline:2px solid #2563eb; outline-offset:2px; }
.cg-uf-choice > p { margin:8px 0 0; font-size:12px; line-height:1.4; }

.cg-uf-pass { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 14px; }
.cg-uf-pass:not(:has(label:not([hidden]))) { display:none; }
.cg-uf-pass > .cg-password-guidance { grid-column:1/-1; margin:0; }

.admin-user-form.cg-uf .corporate-membership-fieldset { margin:0; padding:12px 14px; border:1px solid #dbeafe; border-radius:12px; background:#f8fbff; min-inline-size:0; }
.admin-user-form.cg-uf .corporate-membership-fieldset legend { padding:0 6px; color:#1e293b; font-size:13px; font-weight:700; }

/* Sección 4: gobierno del acceso privilegiado, con el mismo formato de sección. La leyenda flota para que no
   se monte sobre el borde del fieldset; el texto introductorio ocupa la columna izquierda y los campos la derecha. */
.admin-user-form.cg-uf .governance-fieldset { display:block; border-color:#fde68a; background:#fffdf5; }
.cg-uf-gov-legend { float:left; width:100%; display:flex; align-items:center; gap:12px; margin:0 0 6px; padding:0; color:#0f172a; font-size:15px; font-weight:800; }
.cg-uf-gov-grid { clear:left; display:grid; grid-template-columns:minmax(200px,260px) minmax(0,1fr); gap:16px 28px; }
.cg-uf-gov-intro { margin:0 0 0 40px; color:#475569; font-size:12.5px; line-height:1.45; }
.admin-user-form.cg-uf .governance-fieldset label { display:block; color:#1e293b; font-size:13px; font-weight:700; }
.admin-user-form.cg-uf .governance-fieldset label > :is(input,select,textarea) { display:block; margin-top:6px; }
.cg-uf-pair { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 14px; }

.admin-user-form.cg-uf .form-status { margin:0; }
.cg-uf-actions { position:sticky; bottom:0; z-index:2; display:flex; justify-content:flex-end; gap:10px; margin:0 -20px -20px; padding:14px 20px; border-top:1px solid #e2e8f0; border-radius:0 0 16px 16px; background:#f8fafc; box-shadow:0 -8px 16px rgba(15,23,42,.05); }
.cg-uf-actions .btn { min-height:40px; padding-inline:18px; }

@media (max-width:900px) {
  .cg-uf-section { grid-template-columns:1fr; gap:12px; padding:16px; }
  .admin-user-form.cg-uf .governance-fieldset { padding:16px; }
  .cg-uf-gov-grid { grid-template-columns:1fr; gap:12px; }
  .cg-uf-gov-intro { margin:0; }
  .cg-uf-fields { max-width:none; }
}
@media (max-width:560px) {
  .admin-user-form.cg-uf { padding:14px; }
  .cg-uf-choice-row,
  .cg-uf-pass,
  .cg-uf-pair { grid-template-columns:1fr; }
  .cg-uf-actions { margin:0 -14px -14px; padding:12px 14px; flex-direction:column-reverse; }
  .cg-uf-actions .btn { width:100%; }
}
@media (prefers-reduced-motion:reduce) { .cg-uf-choice-option { transition:none; } }
