/* SIGDA V92 · /grupos single visual owner. */
/* Runtime structural contract: current DOM names, current tokens. */
.sg-modal .sg-dialog{width:min(900px,100%);max-height:94vh;overflow:auto;border:1px solid var(--sg-border);border-radius:var(--sg-radius-lg);background:var(--sg-surface);box-shadow:var(--sg-shadow-lg)}
.sg-modal .sg-dialog.wide{width:min(1040px,100%)}
.sg-modal .sg-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sg-4);padding:var(--sg-5);border-bottom:1px solid var(--sg-border)}
.sg-modal .sg-kicker{color:var(--sg-text-faint);font-size:var(--sg-fs-xs);font-weight:var(--sg-fw-black);letter-spacing:var(--sg-ls-caps);text-transform:uppercase}
.sg-modal .sg-head h2{margin:var(--sg-1) 0 0;color:var(--sg-text);font-size:var(--sg-fs-2xl);line-height:1.2}.sg-modal .sg-subtitle{margin-top:var(--sg-1);color:var(--sg-text-muted);font-size:var(--sg-fs-sm)}.sg-modal .sg-body{padding:var(--sg-5)}
.sg-modal .sg-close,.sg-modal .sg-secondary,.sg-modal .sg-primary{min-height:var(--sg-control-sm);padding:0 var(--sg-3);border-radius:var(--sg-radius);font:700 var(--sg-fs-sm) var(--sg-font);cursor:pointer}.sg-modal .sg-close,.sg-modal .sg-secondary{border:1px solid var(--sg-border-control);background:var(--sg-surface);color:var(--sg-navy-800)}.sg-modal .sg-primary{border:1px solid var(--sg-accent);background:var(--sg-accent);color:var(--sg-text-invert)}.sg-modal .sg-primary[disabled],.sg-modal .sg-secondary[disabled]{opacity:.55;cursor:not-allowed}
.sg-modal .sg-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sg-3)}.sg-modal .sg-field.full{grid-column:1/-1}.sg-modal .sg-form .sg-field input:not([type="checkbox"]):not([type="radio"]),.sg-modal .sg-form .sg-field select,.sg-modal .sg-form .sg-field textarea{width:100%;min-height:var(--sg-control);padding:var(--sg-2) var(--sg-3);border:1px solid var(--sg-border-control);border-radius:var(--sg-radius);background:var(--sg-surface);color:var(--sg-text);font:var(--sg-fs-md) var(--sg-font)}.sg-modal .sg-form .sg-field textarea{min-height:88px;resize:vertical}
.sg-modal .sg-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:var(--sg-2);padding-top:var(--sg-3);border-top:1px solid var(--sg-rule)}.sg-modal .sg-status{grid-column:1/-1;min-height:20px;color:var(--sg-text-muted);font-size:var(--sg-fs-sm)}.sg-modal .sg-state{display:inline-flex;align-items:center;min-height:28px;padding:0 var(--sg-3);border-radius:var(--sg-radius-pill);background:var(--sg-surface-alt);color:var(--sg-text-muted);font-size:var(--sg-fs-xs);font-weight:var(--sg-fw-black)}
.sg-modal .sg-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sg-3);margin-top:var(--sg-3)}.sg-modal .sg-details .sg-card h3{margin:0 0 var(--sg-2);color:var(--sg-text-muted);font-size:var(--sg-fs-xs);text-transform:uppercase}.sg-modal .sg-details .sg-card>div{color:var(--sg-text-muted);font-size:var(--sg-fs-md);line-height:1.65}
.sg-modal .sg-history{margin-top:var(--sg-3)}.sg-modal .sg-history-row{padding:var(--sg-3) 0;border-bottom:1px solid var(--sg-rule);color:var(--sg-text-muted);font-size:var(--sg-fs-sm)}.sg-modal .sg-history-row:last-child{border-bottom:0}.sg-modal .sg-history-meta{margin-top:var(--sg-1);color:var(--sg-text-faint);font-size:var(--sg-fs-xs)}.sg-modal .sg-manage-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:var(--sg-2);margin-top:var(--sg-4);padding-top:var(--sg-3);border-top:1px solid var(--sg-rule)}.sg-modal .sg-loading{padding:var(--sg-7);color:var(--sg-text-muted);font-size:var(--sg-fs-md);text-align:center}
.sg-modal .sg-instructor-box{overflow:hidden;border:1px solid var(--sg-border);border-radius:var(--sg-radius)}.sg-modal .sg-field .sg-instructor-search{width:100%;min-height:var(--sg-control);border:0;border-bottom:1px solid var(--sg-rule);border-radius:0}.sg-modal .sg-instructor-list{max-height:240px;overflow:auto}.sg-modal .sg-instructor-row{display:flex;gap:var(--sg-2);padding:var(--sg-2);cursor:pointer}.sg-modal .sg-instructor-row:hover{background:var(--sg-surface-alt)}.sg-modal .sg-instructor-name{color:var(--sg-text);font-size:var(--sg-fs-md);font-weight:700}.sg-modal .sg-instructor-meta,.sg-modal .sg-instructor-count,.sg-modal .sg-instructor-empty{color:var(--sg-text-muted);font-size:var(--sg-fs-xs)}.sg-modal .sg-instructor-count{padding:var(--sg-2);border-top:1px solid var(--sg-rule)}.sg-modal .sg-instructor-empty{padding:var(--sg-4);text-align:center}
.sg-modal .sg-plan-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sg-3)}.sg-modal .sg-plan-summary,.sg-modal .sg-session-summary{margin:var(--sg-3) 0;padding:var(--sg-3);border:1px solid var(--sg-border);border-radius:var(--sg-radius);background:var(--sg-surface-alt)}.sg-modal .sg-module-list,.sg-modal .sg-session-list{display:grid;gap:var(--sg-2)}.sg-modal .sg-module-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:var(--sg-3);align-items:center;padding:var(--sg-3);border:1px solid var(--sg-border);border-radius:var(--sg-radius)}.sg-modal .sg-module-order{display:grid;place-items:center;width:36px;height:36px;border-radius:var(--sg-radius-sm);background:var(--sg-surface-alt)}.sg-modal .sg-module-name,.sg-modal .sg-session-date{color:var(--sg-text);font-size:var(--sg-fs-sm);font-weight:700}.sg-modal .sg-module-meta,.sg-modal .sg-session-meta,.sg-modal .sg-session-main{color:var(--sg-text-muted);font-size:var(--sg-fs-xs)}.sg-modal .sg-module-empty,.sg-modal .sg-session-empty{padding:var(--sg-4);border:1px dashed var(--sg-border-control);border-radius:var(--sg-radius);color:var(--sg-text-muted);font-size:var(--sg-fs-sm);text-align:center}.sg-modal .sg-module-edit{min-height:var(--sg-control-sm);padding:0 var(--sg-3);border:1px solid var(--sg-border-control);border-radius:var(--sg-radius);background:var(--sg-surface);color:var(--sg-accent-strong)}.sg-modal .sg-module-actions{display:flex;gap:var(--sg-2)}.sg-modal .sg-session-row{display:grid;grid-template-columns:110px minmax(0,1fr) auto;gap:var(--sg-3);align-items:center;padding:var(--sg-3);border:1px solid var(--sg-border);border-radius:var(--sg-radius)}.sg-modal .sg-session-badge{display:inline-flex;padding:3px var(--sg-2);border-radius:var(--sg-radius-pill);background:var(--sg-surface-alt);font-size:var(--sg-fs-xs)}
/* Agenda owns instructor assignment elsewhere; duplicate selectors remain hidden. */
#sigdaSessionEditorModal .sg-field:has(#sigdaSessionInstructor),#sigdaSessionEditorModal label:has(#sigdaSessionInstructor),#sigdaRecurrenceModal .sg-field:has(select[id^="sigdaV60Instructor"]),#sigdaRecurrenceModal label:has(select[id^="sigdaV60Instructor"]),#sigdaVariableAgendaModalV637D3 .sg-field:has([data-variable-field="instructorId"]),#sigdaVariableAgendaModalV637D3 label:has([data-variable-field="instructorId"]){display:none}
/* Current create flow. */
.sigda-flow-v639{display:flex;align-items:center;width:100%;margin:0 0 var(--sg-4);padding:var(--sg-1);border:1px solid var(--sg-border);border-radius:var(--sg-radius);background:var(--sg-surface-alt);overflow-x:auto}.sigda-flow-step-v639{flex:1 0 auto;min-width:110px;display:flex;align-items:center;justify-content:center;gap:var(--sg-2);padding:var(--sg-2);border-radius:var(--sg-radius-sm);color:var(--sg-text-muted);font-size:var(--sg-fs-xs);font-weight:600}.sigda-flow-step-v639.done{color:var(--sg-ok)}.sigda-flow-step-v639.active{background:var(--sg-navy-900);color:var(--sg-text-invert)}.sigda-flow-num-v639{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--sg-surface);font-size:var(--sg-fs-xs);font-weight:800}.sg-stepper-v742-list{display:flex;align-items:flex-start;gap:var(--sg-2);margin:0;padding:0;list-style:none}
/* Board fallback contracts, without any retired owner flag. */
#groupsCenter .sg-v723-op-kicker{color:var(--sg-text-muted);font-size:var(--sg-fs-sm);font-weight:700}#groupsCenter .sg-v723-op-description{color:var(--sg-text-muted);font-size:var(--sg-fs-sm)}#groupsCenter .sg-v723-op-section{margin-top:var(--sg-4);border:1px solid var(--sg-border);border-radius:var(--sg-radius);background:var(--sg-surface)}#groupsCenter .sg-v723-op-summary{display:flex;align-items:center;justify-content:space-between;gap:var(--sg-3);padding:var(--sg-3)}#groupsCenter .sg-v723-op-count{font-size:var(--sg-fs-xs);font-weight:700}#groupsCenter .sg-v723-group-meta{display:flex;flex-wrap:wrap;gap:var(--sg-2);color:var(--sg-text-muted);font-size:var(--sg-fs-xs)}#groupsCenter .sg-v723-draft-card{display:flex;align-items:center;justify-content:space-between;gap:var(--sg-3)}#groupsCenter .sg-v723-draft-title{color:var(--sg-text);font-size:var(--sg-fs-md);font-weight:700}#groupsCenter .sg-v723-draft-description,#groupsCenter .sg-v723-draft-meta{color:var(--sg-text-muted);font-size:var(--sg-fs-xs)}#groupsCenter .sg-v723-draft-resume{flex:0 0 auto}
/* Operational navigation. */

/* Recurrence + session editor. */
.sg-v60-rules{display:grid;gap:9px;margin-top:12px}.sg-v60-rule{display:grid;grid-template-columns:120px 125px 125px;gap:8px;align-items:end;padding:11px;border:1px solid var(--sg-border);border-radius:var(--sg-radius-lg)}.sg-v60-day{display:flex;align-items:center;gap:7px;min-height:38px;font-size:var(--sg-fs-xs);font-weight:700}.sg-v60-mini{display:grid;gap:4px;color:var(--sg-text-muted);font-size:var(--sg-fs-xs)}.sg-v60-preview{margin-top:14px;border:1px solid var(--sg-border);border-radius:var(--sg-radius-lg);overflow:hidden}.sg-v60-preview-head,.sg-v60-preview-row{padding:10px 12px}.sg-v60-preview-head{background:var(--sg-surface-alt);border-bottom:1px solid var(--sg-border)}.sg-v60-preview-list{max-height:260px;overflow:auto}.sg-v60-preview-row{display:grid;grid-template-columns:125px 1fr auto;gap:10px;border-bottom:1px solid var(--sg-border);color:var(--sg-text-muted);font-size:var(--sg-fs-xs)}.sg-v637e-recurrence-advanced{display:none}.sg-v60-rules.sg-v637e-show-advanced .sg-v637e-recurrence-advanced{display:grid}.sg-v637e-recurrence-toggle{margin-top:10px;border:0;background:transparent;color:var(--sg-accent);font-size:var(--sg-fs-xs)}.sg-v637e2b-days{display:flex;flex-wrap:wrap;gap:9px;margin:12px 0}.sg-v637e2b-chip{width:46px;height:46px;border:1px solid var(--sg-border-control);border-radius:50%;background:var(--sg-surface);font-size:var(--sg-fs-xs)}.sg-v637e2b-chip.active{background:var(--sg-text);color:var(--sg-surface);border-color:var(--sg-text)}#sigdaV637ERecurrenceRules .sg-v60-rule[hidden],#sigdaV637ERecurrenceRules .sg-v60-day input[type="checkbox"]{display:none}
#sigdaSessionEditorModal .sg-dialog{max-width:920px}#sigdaSessionForm.sg-v637e1-session{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}#sigdaSessionForm.sg-v637e1-session>.full,#sigdaSessionForm.sg-v637e1-session>details,#sigdaSessionForm.sg-v637e1-session>.sg-actions,#sigdaSessionForm.sg-v637e1-session>.sg-status{grid-column:1/-1}#sigdaSessionCalculatedHours{width:max-content;padding:7px 11px;border-radius:var(--sg-radius-pill);background:var(--sg-surface-alt);font-size:var(--sg-fs-xs)}
@media(max-width:900px){.sg-v60-rule{grid-template-columns:1fr 1fr}.sg-v60-day{grid-column:1/-1}}@media(max-width:760px){#sigdaSessionForm.sg-v637e1-session{grid-template-columns:1fr}}@media(max-width:700px){.sg-modal .sg-form,.sg-modal .sg-details{grid-template-columns:1fr}.sg-modal .sg-module-row{grid-template-columns:36px 1fr}.sg-modal .sg-session-row{grid-template-columns:1fr}.sg-modal .sg-head,.sg-modal .sg-body{padding:var(--sg-4)}}

/* Alta de grupo · V91. El asistente traia 6.8 KB de CSS inyectados desde el runtime, con */

.sg-alta-panel {
  position: fixed;
  inset: 0;
  z-index: 120;
  display: none;
  overflow: auto;
  background: rgba(8, 31, 60, .55);
}
.sg-alta-panel.show { display: block; }

.sg-alta-wrap { max-width: 760px; margin: 0 auto; padding: var(--sg-8) var(--sg-4) var(--sg-10); }
.sg-alta-card {
  overflow: hidden;
  border-radius: var(--sg-radius-lg);
  background: var(--sg-surface);
  box-shadow: var(--sg-shadow-lg);
}
.sg-alta-head {
  display: flex;
  align-items: flex-start;
  gap: var(--sg-3);
  padding: var(--sg-5) var(--sg-5) var(--sg-4);
  border-bottom: 1px solid var(--sg-border);
}
.sg-alta-kicker {
  font-size: var(--sg-fs-2xs);
  font-weight: var(--sg-fw-black);
  letter-spacing: var(--sg-ls-caps);
  text-transform: uppercase;
  color: var(--sg-text-faint);
}
.sg-alta-title { margin-top: 2px; font-size: var(--sg-fs-2xl); font-weight: var(--sg-fw-black); line-height: 1.25; color: var(--sg-text); }
.sg-alta-sub { margin-top: var(--sg-1); font-size: var(--sg-fs-md); color: var(--sg-text-muted); }
.sg-alta-x {
  flex: 0 0 auto;
  width: 34px;
  height: 34px;
  margin-left: auto;
  border: 1px solid var(--sg-border);
  border-radius: var(--sg-radius-sm);
  background: var(--sg-surface);
  color: var(--sg-text-muted);
  cursor: pointer;
}
.sg-alta-x:hover { background: var(--sg-surface-alt); }
.sg-alta-body { padding: var(--sg-5); }

/* Formulario */

.sg-alta-grid { display: grid; gap: var(--sg-3); }
@media (min-width: 620px) { .sg-alta-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.sg-alta-f { display: block; }
.sg-alta-lbl {
  display: block;
  margin-bottom: var(--sg-1);
  font-size: var(--sg-fs-md);
  font-weight: var(--sg-fw-bold);
  color: var(--sg-text-muted);
}
.sg-alta-in {
  width: 100%;
  padding: var(--sg-3);
  border: 1px solid var(--sg-border);
  border-radius: var(--sg-radius-sm);
  background: var(--sg-surface);
  color: var(--sg-text);
  font: inherit;
  font-weight: var(--sg-fw-bold);
}
.sg-alta-in:focus { outline: none; border-color: var(--sg-accent); box-shadow: var(--sg-focus-ring); }
.sg-alta-in[aria-invalid="true"] { border-color: var(--sg-danger); background: var(--sg-danger-soft); }
.sg-alta-hint { margin-top: var(--sg-1); font-size: var(--sg-fs-2xs); color: var(--sg-text-faint); }
.sg-alta-err { margin-top: var(--sg-1); font-size: var(--sg-fs-2xs); font-weight: var(--sg-fw-bold); color: var(--sg-danger); }

.sg-alta-cta { display: flex; align-items: center; flex-wrap: wrap; gap: var(--sg-2); margin-top: var(--sg-5); }
.sg-alta-b1 {
  flex: 1 1 220px;
  min-height: 46px;
  padding: 0 var(--sg-5);
  border: 0;
  border-radius: var(--sg-radius-sm);
  background: var(--sg-accent);
  color: var(--sg-text-invert);
  font: inherit;
  font-weight: var(--sg-fw-black);
  cursor: pointer;
}
.sg-alta-b1:hover { background: var(--sg-accent-strong); }
.sg-alta-b1[disabled] { background: var(--sg-border-strong); cursor: default; }
.sg-alta-b2 {
  min-height: 46px;
  padding: 0 var(--sg-4);
  border: 1px solid var(--sg-border);
  border-radius: var(--sg-radius-sm);
  background: var(--sg-surface);
  color: var(--sg-text-muted);
  font: inherit;
  font-weight: var(--sg-fw-bold);
  cursor: pointer;
}
.sg-alta-b2:hover { background: var(--sg-surface-alt); }

.sg-alta-msg {
  margin-top: var(--sg-3);
  padding: var(--sg-3);
  border-radius: var(--sg-radius-sm);
  font-size: var(--sg-fs-md);
  font-weight: var(--sg-fw-bold);
  line-height: 1.5;
}
.sg-alta-msg.info { background: var(--sg-info-soft); color: var(--sg-info); }
.sg-alta-msg.mal { background: var(--sg-danger-soft); color: var(--sg-danger); }
.sg-alta-msg.bien { background: var(--sg-ok-soft); color: var(--sg-ok); }

/* Pasos */

.sg-alta-pasos {
  display: flex;
  overflow: hidden;
  margin-bottom: var(--sg-5);
  border: 1px solid var(--sg-border);
  border-radius: var(--sg-radius-sm);
}
.sg-alta-paso {
  flex: 1;
  padding: var(--sg-3);
  border-right: 1px solid var(--sg-border);
  background: var(--sg-surface-alt);
  color: var(--sg-text-faint);
  font-size: var(--sg-fs-2xs);
  font-weight: var(--sg-fw-black);
  text-align: center;
}
.sg-alta-paso:last-child { border-right: 0; }
.sg-alta-paso.on { background: var(--sg-surface); color: var(--sg-accent-strong); }
.sg-alta-paso.ok { background: var(--sg-surface); color: var(--sg-ok); }

/* Requisitos de la alta */

.sg-alta-lista { display: grid; gap: var(--sg-2); margin-top: var(--sg-1); }
.sg-alta-item {
  display: flex;
  align-items: center;
  gap: var(--sg-3);
  padding: var(--sg-3);
  border: 1px solid var(--sg-border);
  border-radius: var(--sg-radius-lg);
  background: var(--sg-surface);
}
/* Lo que falta y lo que ya esta no pueden verse igual. */
.sg-alta-item.pend { border-color: var(--sg-warn); background: var(--sg-warn-soft); }
.sg-alta-item.ok { border-color: var(--sg-ok); background: var(--sg-ok-soft); }
.sg-alta-ic {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  font-size: var(--sg-fs-md);
  font-weight: var(--sg-fw-black);
}
.sg-alta-ic.ok { background: var(--sg-ok-soft); color: var(--sg-ok); }
.sg-alta-ic.pend { background: var(--sg-warn-soft); color: var(--sg-warn); }
.sg-alta-it { flex: 1; min-width: 0; }
.sg-alta-it b { display: block; font-size: var(--sg-fs-md); font-weight: var(--sg-fw-bold); color: var(--sg-text); }
.sg-alta-it span { display: block; margin-top: 2px; font-size: var(--sg-fs-2xs); color: var(--sg-text-muted); }
.sg-alta-tag { flex: 0 0 auto; font-size: var(--sg-fs-md); font-weight: var(--sg-fw-black); color: var(--sg-text-muted); }

/* Sesiones */

.sg-alta-ses { display: grid; gap: var(--sg-2); margin-top: var(--sg-3); }
.sg-alta-fila {
  display: flex;
  align-items: center;
  gap: var(--sg-2);
  padding: var(--sg-3);
  border: 1px solid var(--sg-border);
  border-radius: var(--sg-radius-sm);
}
/* Una sesion sin documento asignado es trabajo pendiente, y se ve. */
.sg-alta-fila.sin { border-color: var(--sg-warn); background: var(--sg-warn-soft); }
.sg-alta-fecha { flex: 0 0 auto; font-size: var(--sg-fs-md); font-weight: var(--sg-fw-black); color: var(--sg-text); }
.sg-alta-horario { flex: 0 0 auto; font-size: var(--sg-fs-md); font-weight: var(--sg-fw-bold); color: var(--sg-text-muted); }
.sg-alta-dur { flex: 0 0 auto; font-size: var(--sg-fs-md); font-weight: var(--sg-fw-black); color: var(--sg-accent-strong); }
.sg-alta-doc {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  font-size: var(--sg-fs-md);
  color: var(--sg-text-muted);
  text-overflow: ellipsis;
  white-space: nowrap;
}
.sg-alta-doc.sin { color: var(--sg-warn); font-weight: var(--sg-fw-bold); }
.sg-alta-sel {
  flex: 0 0 auto;
  max-width: 210px;
  padding: var(--sg-2);
  border: 1px solid var(--sg-border);
  border-radius: var(--sg-radius-sm);
  background: var(--sg-surface);
  color: var(--sg-text);
  font: inherit;
  font-size: var(--sg-fs-md);
  font-weight: var(--sg-fw-bold);
}
.sg-alta-mini {
  flex: 0 0 auto;
  padding: var(--sg-1) var(--sg-2);
  border: 1px solid var(--sg-border);
  border-radius: var(--sg-radius-sm);
  background: var(--sg-surface);
  color: var(--sg-danger);
  font: inherit;
  font-size: var(--sg-fs-2xs);
  font-weight: var(--sg-fw-bold);
  cursor: pointer;
}
.sg-alta-mini:hover { background: var(--sg-danger-soft); }

/* Medidor de avance */

.sg-alta-medidor {
  margin-top: var(--sg-4);
  padding: var(--sg-4);
  border: 1px solid var(--sg-border);
  border-radius: var(--sg-radius-lg);
  background: var(--sg-surface-alt);
}
.sg-alta-medidor-top { display: flex; align-items: baseline; gap: var(--sg-2); }
.sg-alta-medidor-n { font-size: var(--sg-fs-xl); font-weight: var(--sg-fw-black); font-variant-numeric: tabular-nums; color: var(--sg-text); }
.sg-alta-medidor-t { font-size: var(--sg-fs-md); font-weight: var(--sg-fw-bold); color: var(--sg-text-muted); }
.sg-alta-barra {
  height: 7px;
  overflow: hidden;
  margin-top: var(--sg-2);
  border-radius: var(--sg-radius-pill);
  background: var(--sg-border);
}
.sg-alta-barra i {
  display: block;
  height: 100%;
  border-radius: var(--sg-radius-pill);
  background: var(--sg-accent);
  transition: width .25s ease;
}
.sg-alta-barra i.ok { background: var(--sg-ok); }
.sg-alta-barra i.mal { background: var(--sg-danger); }
@media (prefers-reduced-motion: reduce) {
  .sg-alta-barra i { transition: none; }
}

/* Resumen y confirmacion */

.sg-alta-resumen {
  display: grid;
  gap: var(--sg-2);
  margin-top: var(--sg-1);
  padding: var(--sg-4);
  border: 1px solid var(--sg-border);
  border-radius: var(--sg-radius-lg);
  background: var(--sg-surface-alt);
}
.sg-alta-rl { display: flex; gap: var(--sg-3); font-size: var(--sg-fs-md); }
.sg-alta-rl b { flex: 0 0 128px; font-weight: var(--sg-fw-bold); color: var(--sg-text-muted); }
.sg-alta-rl span { font-weight: var(--sg-fw-bold); color: var(--sg-text); }

/* Descartar no compite con la accion principal: vive aparte, debajo de
   una linea, y solo se vuelve rojo cuando ya se pidio confirmacion. */
.sg-alta-secundarias {
  display: flex;
  justify-content: flex-end;
  margin-top: var(--sg-4);
  padding-top: var(--sg-3);
  border-top: 1px solid var(--sg-border);
}
.sg-alta-desechar {
  padding: var(--sg-2) var(--sg-3);
  border: 1px solid var(--sg-border);
  border-radius: var(--sg-radius-sm);
  background: var(--sg-surface);
  color: var(--sg-danger);
  font: inherit;
  font-size: var(--sg-fs-md);
  font-weight: var(--sg-fw-bold);
  cursor: pointer;
}
.sg-alta-desechar:hover { background: var(--sg-danger-soft); }
.sg-alta-desechar.fuerte { border-color: var(--sg-danger); background: var(--sg-danger); color: var(--sg-text-invert); }
.sg-alta-desechar[disabled] { opacity: .6; cursor: default; }
.sg-alta-confirmar {
  margin-top: var(--sg-4);
  padding: var(--sg-4);
  border: 1px solid var(--sg-danger);
  border-radius: var(--sg-radius-lg);
  background: var(--sg-danger-soft);
}
.sg-alta-confirmar > b { display: block; margin-bottom: var(--sg-3); font-size: var(--sg-fs-lg); font-weight: var(--sg-fw-black); color: var(--sg-danger); }
.sg-alta-confirmar-datos { display: grid; gap: var(--sg-1); margin-bottom: var(--sg-3); }
.sg-alta-confirmar-cta { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: var(--sg-2); }

/* SIGDA Smart Group 05 · crear capacitación para humanos con prisa */
.sg-smart95-main-input{min-height:52px;font-size:16px}
.sg-smart95-advanced{margin-top:2px;padding:10px 12px;border:1px dashed var(--sg-border);border-radius:10px;background:#fbfcfe}
.sg-smart95-advanced summary{cursor:pointer;color:var(--sg-text-muted);font-size:11px;font-weight:800}
.sg-smart95-advanced[open] summary{margin-bottom:12px}
.sg-smart95-primary-actions .sg-alta-b1{min-height:50px;font-size:14px}
/* El panel de instructor conserva su envoltorio: al retirar la propuesta
   se fueron con ella las reglas que ambos compartian. */
.sg-smart95-instructor{margin-top:16px;padding:18px;border:1px solid var(--sg-border);border-radius:14px;background:var(--sg-surface-alt);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:end}
.sg-smart95-instructor h3{margin:4px 0;color:var(--sg-navy-900);font-size:var(--sg-fs-2xl)}
.sg-smart95-instructor p{margin:0;color:var(--sg-text-muted);font-size:var(--sg-fs-sm);line-height:1.5}
.sg-smart95-instructor>div>span{display:block;color:var(--sg-accent-strong);font-size:var(--sg-fs-xs);font-weight:900;letter-spacing:.06em}
.sg-smart95-instructor-action{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:8px;min-width:min(420px,100%)}
.sg-smart95-instructor-action .sg-alta-b1{min-width:160px}

/* SMART GROUP 16 · el ritmo: dias y horario, y debajo su consecuencia. */
.sg-ritmo{display:grid;gap:var(--sg-2);padding:var(--sg-3);border:1px solid var(--sg-border);border-radius:var(--sg-radius);background:var(--sg-surface-alt)}
.sg-ritmo-controls{display:flex;align-items:center;gap:var(--sg-3);flex-wrap:wrap}
.sg-ritmo-dias{display:flex;gap:4px}
.sg-ritmo-dia{min-width:38px;min-height:38px;padding:0;border:1px solid var(--sg-border-control);border-radius:6px;background:var(--sg-surface);color:var(--sg-text-muted);font:800 var(--sg-fs-md)/1 var(--sg-font);cursor:pointer}
.sg-ritmo-dia.on{border-color:var(--sg-accent);background:var(--sg-accent);color:#fff}
.sg-ritmo-dia:focus-visible{outline:2px solid var(--sg-accent);outline-offset:2px}
.sg-ritmo-horas{display:flex;align-items:center;gap:6px}
.sg-ritmo-horas .sg-alta-in{width:auto;min-width:104px}
.sg-ritmo-horas span{color:var(--sg-text-faint);font-size:var(--sg-fs-sm)}
.sg-ritmo-resultado{color:var(--sg-navy-900);font-size:var(--sg-fs-md)}
.sg-ritmo-nota{color:var(--sg-text-muted);font-size:var(--sg-fs-sm)}
.sg-ritmo-nota.warn{color:var(--sg-warn);font-weight:700}
@media(max-width:720px){.sg-ritmo-dias{width:100%;justify-content:space-between}.sg-ritmo-dia{flex:1 1 0;min-width:0}.sg-ritmo-horas{width:100%}.sg-ritmo-horas .sg-alta-in{flex:1 1 0;min-width:0}}

/* SG17 · objetivo tactil de 44 px en movil para los controles de
   Grupos y del alta. Solo alto minimo y solo aqui: el bundle global no
   lo paga, y en escritorio RC4 queda intacto. */
@media(max-width:720px){
  #groupsCenter .sg-btn,#groupsCenter .sg-primary,#groupsCenter .sg-secondary,
  #groupsCenter .sg91-card-action,#groupsCenter [data-groups-state-filter],
  .sg-alta-panel .sg-alta-b1,.sg-alta-panel .sg-alta-b2,
  .sg-alta-panel .sg-alta-in,.sg-alta-panel .sg-alta-sel{min-height:44px}
  #groupsCenter .groups-toolbar{flex-wrap:wrap}
  #groupsCenter .groups-tools-left,#groupsCenter #groupsStateTabsV92{flex:1 1 100%;min-width:0}
  #groupsCenter #groupsStateTabsV92{flex-wrap:wrap;overflow-x:visible}
  #groupsCenter .sg91-groups-state-tabs button{min-height:44px}
  #groupsCenter .sg-v723-draft-card{flex-wrap:wrap}
  #groupsCenter .sg-v723-draft-main{flex:1 1 100%}
  #groupsCenter .sg-v723-draft-resume{width:100%;height:44px}
}
.sg-roster-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--sg-3);margin-bottom:var(--sg-3)}
.sg-roster-count{display:block;font-size:var(--sg-fs-lg)}
.sg-roster-caption,.sg-roster-contact{color:var(--sg-text-muted);font-size:var(--sg-fs-sm)}
.sg-roster-actions,.sg-roster-edit-actions{display:flex;flex-wrap:wrap;gap:var(--sg-2)}
.sg-roster-list{margin-top:var(--sg-3);border:1px solid var(--sg-border);border-radius:var(--sg-radius-lg)}
.sg-roster-row{display:grid;grid-template-columns:28px minmax(0,1.4fr) minmax(0,1.2fr) minmax(0,.9fr) minmax(0,1fr);gap:var(--sg-3);align-items:center;padding:var(--sg-3);border-bottom:1px solid var(--sg-rule)}
.sg-roster-row:last-child{border-bottom:0}
.sg-roster-num{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--sg-surface-alt)}
.sg-roster-num,.sg-roster-id,.sg-roster-muted,.sg-roster-badge,.sg-roster-folio,.sg-roster-edit-status{font-size:var(--sg-fs-xs)}
.sg-roster-num,.sg-roster-id,.sg-roster-muted,.sg-roster-contact[data-empty="1"]{color:var(--sg-text-faint)}
.sg-roster-person{display:grid;justify-items:start;gap:2px;min-width:0}
.sg-roster-name{font-size:var(--sg-fs-md);font-weight:700;overflow-wrap:anywhere}
.sg-roster-contact{min-width:0;overflow-wrap:anywhere}
.sg-roster-state{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sg-1) var(--sg-2)}
.sg-roster-badge{padding:2px var(--sg-2);border-radius:var(--sg-radius);background:var(--sg-surface-alt);color:var(--sg-text-muted);font-weight:700}
.sg-roster-badge[data-tone="ok"]{background:var(--sg-ok-soft);color:var(--sg-ok)}
.sg-roster-badge[data-tone="warn"]{background:var(--sg-warn-soft);color:var(--sg-warn)}
.sg-roster-folio,.sg-roster-edit{color:var(--sg-accent);font-weight:700}
.sg-roster-muted[data-tone="danger"],.sg-roster-edit-status{color:var(--sg-danger)}
.sg-roster-edit{min-height:28px;padding:0;border:0;background:none;font-size:var(--sg-fs-sm);text-decoration:underline;cursor:pointer}
.sg-roster-edit-form{display:grid;gap:var(--sg-2);width:100%;max-width:320px}
.sg-roster-edit-form input{min-height:var(--sg-control-sm);padding:0 var(--sg-2);border:1px solid var(--sg-border-control);border-radius:var(--sg-radius);font-size:var(--sg-fs-sm)}
.sg-roster-empty{padding:var(--sg-6);color:var(--sg-text-muted);font-size:var(--sg-fs-sm);text-align:center}
@media(max-width:720px){.sg-roster-row{grid-template-columns:28px minmax(0,1fr);grid-template-areas:"num person" ". state" ". correo" ". curp";row-gap:var(--sg-1);align-items:start}.sg-roster-num{grid-area:num}.sg-roster-person{grid-area:person}.sg-roster-state{grid-area:state}.sg-roster-row>:nth-child(3){grid-area:correo}.sg-roster-row>:nth-child(4){grid-area:curp}.sg-roster-actions{width:100%}.sg-modal .sg-roster-actions>button{flex:1 1 auto;min-height:44px}.sg-roster-edit,.sg-modal .sg-roster-edit-actions>button,.sg-roster-edit-form input{min-height:44px}}
