/* Progreso visual por sección y asistentes flotantes — SESIONES_REGULARES_3.3 */
:root{
  --progress-data:#1775d1;
  --progress-curriculum:#7040d4;
  --progress-transversal:#ce367c;
  --progress-location:#078b7e;
  --progress-context:#d27508;
}

.section-tabs button[data-tab]{
  position:relative;
  display:grid;
  grid-template-columns:auto 1fr;
  grid-template-rows:auto 6px;
  align-items:center;
  column-gap:7px;
  row-gap:7px;
  min-width:142px;
  overflow:hidden;
}
.section-tabs button[data-tab] > svg{grid-row:1;grid-column:1}
.section-tabs button[data-tab] > .section-tab-label{grid-row:1;grid-column:2;text-align:left}
.section-progress-value{display:none!important}
.section-progress-track{
  grid-row:2;
  grid-column:1/-1;
  width:100%;
  height:6px;
  overflow:hidden;
  border-radius:999px;
  background:color-mix(in srgb,var(--section-tone,#64748b) 22%,white);
}
.section-progress-fill{
  display:block;
  width:var(--section-complete,0%);
  height:100%;
  border-radius:inherit;
  background:var(--section-tone,#64748b);
  transition:width .28s ease;
}
.section-tabs button[data-tab="curriculo"]{--section-tone:var(--progress-curriculum)}
.section-tabs button[data-tab="transversal"]{--section-tone:var(--progress-transversal)}
.section-tabs button[data-tab="ubicacion"]{--section-tone:var(--progress-location)}
.section-tabs button[data-tab="contexto"]{--section-tone:var(--progress-context)}
.section-tabs button[data-tab].section-complete::after{display:none!important}

[data-progress-section]{position:relative}
.block-progress{display:block;margin:-2px 46px 14px 0}
.block-progress-head{display:none!important}
.block-progress-track{
  display:block;
  height:7px;
  overflow:hidden;
  border-radius:999px;
  background:color-mix(in srgb,var(--progress-color,var(--progress-data)) 22%,white);
}
.block-progress-fill{
  display:block;
  width:var(--section-complete,0%);
  height:100%;
  border-radius:inherit;
  background:var(--progress-color,var(--progress-data));
  transition:width .28s ease;
}
[data-progress-section="datos"]{--progress-color:var(--progress-data)}
[data-progress-section="curriculo"]{--progress-color:var(--progress-curriculum)}
[data-progress-section="transversal"]{--progress-color:var(--progress-transversal)}
[data-progress-section="ubicacion"]{--progress-color:var(--progress-location)}
[data-progress-section="contexto"]{--progress-color:var(--progress-context)}

.section-missing-fab{
  position:absolute;
  z-index:8;
  top:12px;
  right:12px;
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border:1px solid color-mix(in srgb,var(--progress-color,var(--brand-cyan)) 45%,#d8e5ed);
  border-radius:50%;
  background:#fff;
  color:var(--progress-color,var(--brand-cyan));
  box-shadow:0 8px 20px rgba(36,58,133,.12);
  cursor:pointer;
  transition:transform .16s ease,box-shadow .16s ease,background .16s ease;
}
.section-missing-fab:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(36,58,133,.17);background:color-mix(in srgb,var(--progress-color,var(--brand-cyan)) 6%,white)}
.section-missing-fab svg{width:17px;height:17px}
.section-missing-fab .missing-count{position:absolute;top:-5px;right:-5px;display:grid;place-items:center;min-width:18px;height:18px;padding:0 4px;border:2px solid #fff;border-radius:999px;background:#ef8f19;color:#fff;font-size:.6rem;font-weight:950}
.section-missing-fab.is-ready{border-color:#9ed9bb;color:#087443;background:#edfbf4}
.section-missing-fab.is-ready .missing-count{background:#159a5d}
.section-missing-fab.is-ready svg{display:none}
.section-missing-fab.is-ready::before{content:'✓';font-weight:950}
.module-panel > .block > .section-missing-fab{top:12px}

.context-master-toggle{display:flex;align-items:center;gap:12px;padding:13px 14px;border:1px solid #efca88;border-radius:16px;background:linear-gradient(180deg,#fffdf8,#fff8ea);cursor:pointer}
.context-master-toggle input{width:20px;height:20px;accent-color:var(--progress-context);flex:0 0 auto}
.context-master-toggle span{display:grid;gap:2px}
.context-master-toggle strong{color:#78500f}
.context-master-toggle small{color:#7b6a4e;line-height:1.35}
.context-settings{display:grid;gap:13px;margin-top:13px}
.context-settings[hidden]{display:none!important}

@media(max-width:760px){
  .section-tabs button[data-tab]{min-width:0;grid-template-columns:auto minmax(0,1fr);padding:9px 10px}
  .section-tab-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .block-progress{margin-right:42px}
  .section-missing-fab{top:10px;right:10px;width:34px;height:34px}
}
