@import url('./factory-approved-ui-base.css');

/* FOCUSED_DENSITY_CORRECTION_V1 — AG-03 + AG-04 + AG-05
   Scope: Steps 2–5 only. Shared shell intentionally untouched. */
@media (min-width:1201px){
  /* Paso 2 — recuperar altura útil y respiración del editor */
  #fabrica-cursos[data-factory-step="2"] #factoryStep2Courses,
  #fabrica-cursos[data-factory-step="2"] .fa-step2-editor{
    min-height:515px!important;
  }
  #fabrica-cursos[data-factory-step="2"] #factoryStep2Body{
    min-height:292px!important;
    padding:14px 16px 12px!important;
  }
  #fabrica-cursos[data-factory-step="2"] .fa-s2-general-grid{
    gap:12px 14px!important;
  }
  #fabrica-cursos[data-factory-step="2"] .fa-s2-general-grid input,
  #fabrica-cursos[data-factory-step="2"] .fa-s2-general-grid select{
    min-height:40px!important;
    padding:8px 10px!important;
  }
  #fabrica-cursos[data-factory-step="2"] .fa-s2-competency textarea{
    min-height:100px!important;
  }
  #fabrica-cursos[data-factory-step="2"] .fa-s2-description textarea{
    min-height:94px!important;
  }
  #fabrica-cursos[data-factory-step="2"] .fa-step2-ai-card{
    min-height:84px!important;
    margin-top:10px!important;
    padding:12px 14px!important;
  }

  /* Paso 3 — aumentar jerarquía y legibilidad sin perder las 5 observaciones */
  #fabrica-cursos[data-factory-step="3"] .fa-validation-card{
    min-height:104px!important;
    grid-template-columns:92px minmax(0,1fr) auto!important;
    padding:9px 12px!important;
    gap:12px!important;
  }
  #fabrica-cursos[data-factory-step="3"] .fa-score-ring{
    width:78px!important;
    height:78px!important;
  }
  #fabrica-cursos[data-factory-step="3"] .fa-score-ring b{
    font-size:22px!important;
  }
  #fabrica-cursos[data-factory-step="3"] .fa-validation-stats>span{
    min-height:32px!important;
    padding:5px 7px!important;
  }
  #fabrica-cursos[data-factory-step="3"] .fa-validation-stats b{
    font-size:16px!important;
  }
  #fabrica-cursos[data-factory-step="3"] .fa-ref-table-title{
    min-height:30px!important;
    padding:6px 10px!important;
    font-size:11.5px!important;
  }
  #fabrica-cursos[data-factory-step="3"] .fa-reference-step table{
    font-size:10.2px!important;
  }
  #fabrica-cursos[data-factory-step="3"] .fa-reference-step th{
    height:24px!important;
    padding:5px 7px!important;
    font-size:9.6px!important;
    line-height:1.15!important;
  }
  #fabrica-cursos[data-factory-step="3"] .fa-reference-step td{
    height:26px!important;
    padding:4px 7px!important;
    font-size:10px!important;
    line-height:1.15!important;
  }
  #fabrica-cursos[data-factory-step="3"] .fa-ref-table-card.compact{
    margin-top:7px!important;
  }

  /* Paso 4 — producción y bitácora con densidad equivalente al baseline */
  #fabrica-cursos[data-factory-step="4"] .fa-production-table th{
    height:28px!important;
    padding:6px 8px!important;
    font-size:9.8px!important;
  }
  #fabrica-cursos[data-factory-step="4"] .fa-production-table td{
    height:50px!important;
    padding:9px 8px!important;
    font-size:10.6px!important;
    line-height:1.2!important;
  }
  #fabrica-cursos[data-factory-step="4"] .fa-production-table td b{
    font-size:10.9px!important;
  }
  #fabrica-cursos[data-factory-step="4"] .fa-ref-table-card.compact{
    margin-top:10px!important;
  }
  #fabrica-cursos[data-factory-step="4"] .fa-ref-table-card.compact th{
    height:27px!important;
    padding:5px 8px!important;
    font-size:9.4px!important;
  }
  #fabrica-cursos[data-factory-step="4"] .fa-ref-table-card.compact td{
    height:36px!important;
    padding:7px 8px!important;
    font-size:10px!important;
    line-height:1.2!important;
  }

  /* Paso 5 — tabla, Formatos y Licencias a escala de referencia */
  #fabrica-cursos[data-factory-step="5"] .fa-reference-step th{
    height:28px!important;
    padding:6px 8px!important;
    font-size:9.8px!important;
  }
  #fabrica-cursos[data-factory-step="5"] .fa-reference-step td{
    height:46px!important;
    padding:9px 8px!important;
    font-size:10.6px!important;
    line-height:1.2!important;
  }
  #fabrica-cursos[data-factory-step="5"] .fa-reference-step td b{
    font-size:10.9px!important;
  }
  #fabrica-cursos[data-factory-step="5"] .fa-s5-box{
    min-height:216px!important;
    padding-bottom:10px!important;
  }
  #fabrica-cursos[data-factory-step="5"] .fa-format-row{
    min-height:58px!important;
    padding:9px 5px!important;
  }
  #fabrica-cursos[data-factory-step="5"] .fa-format-icon{
    width:32px!important;
    height:36px!important;
  }
  #fabrica-cursos[data-factory-step="5"] .fa-format-row b{
    font-size:10.5px!important;
  }
  #fabrica-cursos[data-factory-step="5"] .fa-format-row small,
  #fabrica-cursos[data-factory-step="5"] .fa-format-row label{
    font-size:9.2px!important;
  }
  #fabrica-cursos[data-factory-step="5"] .fa-license-grid{
    gap:10px 12px!important;
  }
  #fabrica-cursos[data-factory-step="5"] .fa-license-grid select,
  #fabrica-cursos[data-factory-step="5"] .fa-license-grid input{
    min-height:36px!important;
    padding:7px 9px!important;
    font-size:10px!important;
  }
  #fabrica-cursos[data-factory-step="5"] .fa-license-foot{
    padding:9px 12px 12px!important;
  }
}


/* STEP6_APPROVED_BASELINE_V1 — visual contract from Paso 6 Ok */
#fabrica-cursos[data-factory-step="6"] .fa-step6-hidden-shell,
#fabrica-cursos[data-factory-step="6"] .fa-step6-footer-hidden{
  display:none!important
}
#fabrica-cursos[data-factory-step="6"] #factoryStep6Panel{
  display:block!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important
}
#fabrica-cursos[data-factory-step="6"] #factoryStep6Panel > :not(.fa-reference-step6){
  display:none!important
}
#fabrica-cursos[data-factory-step="6"] .factory-approved-workspace{
  padding-top:16px!important;
  padding-bottom:18px!important
}
#fabrica-cursos[data-factory-step="6"] .factory-approved-body{
  grid-template-columns:minmax(0,1fr) 315px!important;
  gap:14px!important
}
#fabrica-cursos[data-factory-step="6"] .factory-approved-context{
  top:72px!important
}
#fabrica-cursos[data-factory-step="6"] .fa-reference-step6{
  background:transparent!important;color:#10245f!important
}
#fabrica-cursos[data-factory-step="6"] .fa-s6-hero{
  display:grid;grid-template-columns:210px minmax(0,1fr) 370px;gap:16px;align-items:center
}
#fabrica-cursos[data-factory-step="6"] .fa-s6-cover{
  height:132px;border:1px solid #cfddeb;border-radius:9px;background:#fff;padding:0;overflow:hidden
}
#fabrica-cursos[data-factory-step="6"] .fa-s6-cover-visual{
  width:100%;height:100%;display:grid;place-items:center;
  background:
    linear-gradient(135deg,rgba(13,82,125,.20),rgba(15,48,72,.15)),
    repeating-linear-gradient(90deg,#c7d3db 0 14px,#9cafba 14px 27px,#e0e7eb 27px 38px);
  color:#fff;text-shadow:0 2px 6px rgba(0,0,0,.35);font:800 34px Arial
}
#fabrica-cursos[data-factory-step="6"] .fa-s6-status{
  display:inline-block;padding:4px 9px;border-radius:999px;background:#daf8e8;color:#098348;font:700 11px Arial
}
#fabrica-cursos[data-factory-step="6"] .fa-s6-course-head h2{
  margin:8px 0 5px!important;color:#0d2162!important;font:700 23px Arial!important
}
#fabrica-cursos[data-factory-step="6"] .fa-s6-course-head p{
  margin:0 0 10px;color:#526d98;font:12px Arial
}
#fabrica-cursos[data-factory-step="6"] .fa-s6-tags{
  display:flex;gap:7px;flex-wrap:wrap
}
#fabrica-cursos[data-factory-step="6"] .fa-s6-tags span{
  padding:5px 9px;border-radius:6px;background:#f3f7fc;color:#233f73;font:700 10px Arial
}
#fabrica-cursos[data-factory-step="6"] .fa-s6-delivered{
  min-height:110px;display:flex;flex-direction:column;justify-content:center;
  padding:16px 18px;border:1px solid #bfe9dd;border-radius:9px;background:linear-gradient(135deg,#effff8,#f9fffc)
}
#fabrica-cursos[data-factory-step="6"] .fa-s6-delivered b{
  color:#078544;font:700 17px Arial
}
#fabrica-cursos[data-factory-step="6"] .fa-s6-delivered span{
  margin-top:7px;color:#294a78;font:11px/1.45 Arial
}

#fabrica-cursos[data-factory-step="6"] .fa-s6-rail{
  margin:12px 0 10px;padding:13px 16px;display:grid;grid-template-columns:repeat(6,1fr);
  border:1px solid #dfe8f3;border-radius:8px;background:#f8fbff
}
#fabrica-cursos[data-factory-step="6"] .fa-s6-rail span{
  position:relative;display:grid;grid-template-columns:38px 1fr;grid-template-rows:auto auto;align-items:center
}
#fabrica-cursos[data-factory-step="6"] .fa-s6-rail span:not(:last-child)::after{
  content:"›";position:absolute;right:8px;top:12px;color:#6d86ae;font-size:22px
}
#fabrica-cursos[data-factory-step="6"] .fa-s6-rail i{
  grid-row:1/3;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#18b96f;color:#fff;font:700 13px Arial;font-style:normal
}
#fabrica-cursos[data-factory-step="6"] .fa-s6-rail .active i{background:#0b7cf6}
#fabrica-cursos[data-factory-step="6"] .fa-s6-rail .license i{background:#dce7f6;color:#30486f}
#fabrica-cursos[data-factory-step="6"] .fa-s6-rail b{font:700 11px Arial;color:#10245f}
#fabrica-cursos[data-factory-step="6"] .fa-s6-rail small{font:10px Arial;color:#139a59}
#fabrica-cursos[data-factory-step="6"] .fa-s6-rail .license small{color:#365b8d}

#fabrica-cursos[data-factory-step="6"] .fa-s6-tabs{
  display:flex;gap:0;border-bottom:1px solid #dfe8f3;margin-bottom:10px
}
#fabrica-cursos[data-factory-step="6"] .fa-s6-tabs button{
  min-height:40px;padding:9px 18px;border:0;background:transparent;color:#284b83;font:600 10px Arial
}
#fabrica-cursos[data-factory-step="6"] .fa-s6-tabs button.active{
  color:#0b6ff0;border-bottom:2px solid #0b6ff0;font-weight:700
}

#fabrica-cursos[data-factory-step="6"] .fa-s6-main-grid{
  display:grid;grid-template-columns:1.15fr .95fr .62fr;gap:12px
}
#fabrica-cursos[data-factory-step="6"] .fa-s6-summary-card,
#fabrica-cursos[data-factory-step="6"] .fa-s6-success-card,
#fabrica-cursos[data-factory-step="6"] .fa-s6-actions-card,
#fabrica-cursos[data-factory-step="6"] .fa-s6-modules,
#fabrica-cursos[data-factory-step="6"] .fa-s6-license{
  border:1px solid #dfe8f3;border-radius:8px;background:#fff
}
#fabrica-cursos[data-factory-step="6"] .fa-s6-summary-card{padding:10px 14px}
#fabrica-cursos[data-factory-step="6"] .fa-s6-summary-card h3,
#fabrica-cursos[data-factory-step="6"] .fa-s6-actions-card h3,
#fabrica-cursos[data-factory-step="6"] .fa-s6-modules h3,
#fabrica-cursos[data-factory-step="6"] .fa-s6-license h3{
  margin:0 0 8px!important;color:#10245f!important;font:700 13px Arial!important
}
#fabrica-cursos[data-factory-step="6"] .fa-s6-summary-card dl{
  display:grid;grid-template-columns:170px 1fr;gap:7px 10px;margin:0;font:10.5px Arial
}
#fabrica-cursos[data-factory-step="6"] .fa-s6-summary-card dt{color:#46628d}
#fabrica-cursos[data-factory-step="6"] .fa-s6-summary-card dd{margin:0;color:#10245f;font-weight:600}
#fabrica-cursos[data-factory-step="6"] .fa-s6-okpill{
  display:inline-block;padding:3px 8px;border-radius:999px;background:#daf8e8;color:#078544;font-size:9px
}
#fabrica-cursos[data-factory-step="6"] .fa-s6-success-card{
  padding:18px 20px;text-align:center;background:linear-gradient(135deg,#edfff6,#f8fffc)
}
#fabrica-cursos[data-factory-step="6"] .fa-s6-trophy{font-size:38px}
#fabrica-cursos[data-factory-step="6"] .fa-s6-success-card h3{
  margin:5px 0 8px!important;color:#078544!important;font:800 18px Arial!important
}
#fabrica-cursos[data-factory-step="6"] .fa-s6-success-card p{
  margin:0 0 14px;color:#385582;font:10.5px/1.4 Arial
}
#fabrica-cursos[data-factory-step="6"] .fa-s6-success-card button{
  width:100%;min-height:36px;border:0;border-radius:6px;background:#0b7cf6;color:#fff;font:700 11px Arial
}
#fabrica-cursos[data-factory-step="6"] .fa-s6-actions-card{padding:10px}
#fabrica-cursos[data-factory-step="6"] .fa-s6-actions-card button{
  width:100%;min-height:42px;margin:0 0 7px;padding:7px 10px;border:1px solid #8ebbf4;border-radius:6px;background:#fff;color:#133b77;text-align:left;font:10px Arial
}
#fabrica-cursos[data-factory-step="6"] .fa-s6-actions-card button.primary{background:#0b7cf6;color:#fff;border-color:#0b7cf6}
#fabrica-cursos[data-factory-step="6"] .fa-s6-actions-card b{display:block;font-size:10px}
#fabrica-cursos[data-factory-step="6"] .fa-s6-actions-card small{display:block;margin-top:2px;font-size:8.5px;font-weight:400}

#fabrica-cursos[data-factory-step="6"] .fa-s6-lower-grid{
  display:grid;grid-template-columns:minmax(0,1fr) 245px;gap:12px;margin-top:10px
}
#fabrica-cursos[data-factory-step="6"] .fa-s6-modules{padding:10px}
#fabrica-cursos[data-factory-step="6"] .fa-s6-module-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
#fabrica-cursos[data-factory-step="6"] .fa-s6-module-grid article{
  position:relative;padding:9px;border:1px solid #dfe8f3;border-radius:7px;background:#fff
}
#fabrica-cursos[data-factory-step="6"] .fa-s6-module-grid .n{
  display:inline-grid;place-items:center;min-width:32px;height:24px;border-radius:5px;color:#fff;font:700 10px Arial;margin-right:6px
}
#fabrica-cursos[data-factory-step="6"] .fa-s6-module-grid .one{background:#0b7cf6}
#fabrica-cursos[data-factory-step="6"] .fa-s6-module-grid .two{background:#7b38f5}
#fabrica-cursos[data-factory-step="6"] .fa-s6-module-grid .three{background:#18b96f}
#fabrica-cursos[data-factory-step="6"] .fa-s6-module-grid .four{background:#f59a17}
#fabrica-cursos[data-factory-step="6"] .fa-s6-module-grid article>b{font:700 10px Arial;color:#10245f}
#fabrica-cursos[data-factory-step="6"] .fa-s6-module-grid .thumb{
  height:48px;margin:7px 0 6px;display:grid;place-items:center;border-radius:5px;font:800 18px Arial;color:#173a78
}
#fabrica-cursos[data-factory-step="6"] .fa-s6-module-grid .t1{background:linear-gradient(135deg,#cdd8e3,#f3f7fb)}
#fabrica-cursos[data-factory-step="6"] .fa-s6-module-grid .t2{background:linear-gradient(135deg,#e6e0d1,#f8f7ef)}
#fabrica-cursos[data-factory-step="6"] .fa-s6-module-grid .t3{background:#eef3f6;color:#ef7c00;font-size:30px}
#fabrica-cursos[data-factory-step="6"] .fa-s6-module-grid .t4{background:#edf1f4;color:#253344;font-size:12px}
#fabrica-cursos[data-factory-step="6"] .fa-s6-module-grid .done{
  display:inline-block;padding:3px 7px;border-radius:999px;background:#daf8e8;color:#078544;font:9px Arial
}
#fabrica-cursos[data-factory-step="6"] .fa-s6-module-grid article button{
  width:100%;min-height:28px;margin-top:5px;border:1px solid #93bdf3;border-radius:5px;background:#fff;color:#0b6ff0;font:600 9px Arial
}
#fabrica-cursos[data-factory-step="6"] .fa-s6-license{
  padding:10px;background:linear-gradient(135deg,#f4fffa,#fff)
}
#fabrica-cursos[data-factory-step="6"] .fa-s6-license p{
  margin:0 0 8px;color:#078544;font:10px Arial
}
#fabrica-cursos[data-factory-step="6"] .fa-s6-license dl{
  display:grid;grid-template-columns:82px 1fr;gap:5px;margin:0 0 10px;font:9.5px Arial;color:#31517f
}
#fabrica-cursos[data-factory-step="6"] .fa-s6-license dd{margin:0;color:#10245f}
#fabrica-cursos[data-factory-step="6"] .fa-s6-license button{
  width:100%;min-height:30px;border:1px solid #8ebbf4;border-radius:6px;background:#fff;color:#0b6ff0;font:600 9px Arial
}
@media(max-width:1250px){
  #fabrica-cursos[data-factory-step="6"] .fa-s6-hero{grid-template-columns:170px minmax(0,1fr)}
  #fabrica-cursos[data-factory-step="6"] .fa-s6-delivered{grid-column:1/-1}
  #fabrica-cursos[data-factory-step="6"] .fa-s6-main-grid{grid-template-columns:1fr 1fr}
  #fabrica-cursos[data-factory-step="6"] .fa-s6-actions-card{grid-column:1/-1}
}


/* AG11_STEP3_VISIBILITY_V1 — keep all five observations above fixed footer */
@media(min-width:1201px){
  #fabrica-cursos[data-factory-step="3"] .fa-validation-card{
    min-height:92px!important;
    padding:7px 10px!important
  }
  #fabrica-cursos[data-factory-step="3"] .fa-score-ring{
    width:72px!important;height:72px!important
  }
  #fabrica-cursos[data-factory-step="3"] .fa-validation-stats>span{
    min-height:27px!important;padding:3px 5px!important
  }
  #fabrica-cursos[data-factory-step="3"] .fa-ref-table-title{
    min-height:25px!important;padding:4px 8px!important;font-size:10.5px!important
  }
  #fabrica-cursos[data-factory-step="3"] .fa-reference-step th{
    height:19px!important;padding:3px 6px!important;font-size:8.8px!important
  }
  #fabrica-cursos[data-factory-step="3"] .fa-reference-step td{
    height:21px!important;padding:3px 6px!important;font-size:9.1px!important;line-height:1.08!important
  }
  #fabrica-cursos[data-factory-step="3"] .fa-ref-table-card.compact{
    margin-top:4px!important
  }
}


/* STEP6_VISIBILITY_FIX_V2 — show only approved Project Finalizado composition */
#fabrica-cursos[data-factory-step="6"] .fv-layout,
#fabrica-cursos[data-factory-step="6"] #factoryStep2Panel,
#fabrica-cursos[data-factory-step="6"] #factoryStep3Panel,
#fabrica-cursos[data-factory-step="6"] #factoryStep4Panel,
#fabrica-cursos[data-factory-step="6"] #factoryStep5Panel{
  display:none!important;
}
#fabrica-cursos[data-factory-step="6"] #factoryStep6Panel{
  display:block!important;
  margin:0!important;
}
#fabrica-cursos[data-factory-step="6"] .factory-approved-primary{
  min-width:0!important;
}


/* PROMPT_MAESTRO_VISUAL_2026_10_04
   Approved contract: one shared shell + Course list + AI Factory modal. */
body.factory-focus .app,
html body.factory-focus > div.app{
  grid-template-columns:var(--il-sidebar-width) minmax(0,1fr)!important;
}
body.factory-focus .app.il-sidebar-mini,
html body.factory-focus > div.app.il-sidebar-mini{
  grid-template-columns:var(--il-sidebar-mini-width) minmax(0,1fr)!important;
}
body.factory-focus .app>aside:first-of-type.il-master-sidebar,
html body.factory-focus > div.app>aside:first-of-type.il-master-sidebar{
  display:flex!important;
}
body.factory-focus main{padding:0!important}
#fabrica-cursos .factory-approved-frame{
  grid-template-columns:minmax(0,1fr)!important;
}
#fabrica-cursos .factory-approved-frame>.il-master-sidebar{display:none!important}

/* Official topbar */
.factory-master-topbar{
  min-height:70px!important;
  gap:18px!important;
  padding:10px 22px!important;
}
.factory-global-search{
  display:flex;
  align-items:center;
  gap:8px;
  flex:1 1 560px;
  max-width:760px;
}
.factory-global-search input{
  flex:1;
  min-width:260px;
  height:42px;
  border:1px solid #d6e1ef;
  border-radius:9px;
  padding:0 14px;
  font:14px Arial,Helvetica,sans-serif;
  color:#173a78;
  background:#fff;
}
.factory-global-search button,
.factory-btn.primary{
  height:42px;
  border:0;
  border-radius:9px;
  padding:0 18px;
  background:#0b7cf6;
  color:#fff;
  font:700 13px Arial,Helvetica,sans-serif;
  cursor:pointer;
}
.factory-quick-actions{gap:8px!important}
.fa-pill{
  border:0;
  border-radius:999px;
  padding:9px 13px;
  white-space:nowrap;
  color:#fff;
  font:700 12px Arial,Helvetica,sans-serif;
  cursor:pointer;
}
.fa-pill.policy{background:#22a9d6}
.fa-pill.support{background:#e99a19}
.fa-pill.ai{background:#7b38f5}
.fa-pill.license{background:#16a66a}

/* Landing — Lista de Cursos */
.factory-list-view{
  padding:24px 24px 40px;
  font-family:Arial,Helvetica,sans-serif;
  color:#10245f;
}
.factory-list-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:24px;
  margin-bottom:20px;
}
.factory-list-heading h1{
  margin:0 0 7px;
  font:700 30px/1.15 Arial,Helvetica,sans-serif;
  color:#10245f;
}
.factory-list-heading p{
  margin:0;
  font:400 15px/1.4 Arial,Helvetica,sans-serif;
  color:#58729c;
}
.factory-list-actions{display:flex;gap:10px;align-items:center}
.factory-import-export,
.factory-btn.secondary,
.factory-table-tools button,
.factory-course-table button{
  border:1px solid #cbd9ea;
  border-radius:8px;
  background:#fff;
  color:#174278;
  padding:9px 13px;
  font:700 12px Arial,Helvetica,sans-serif;
  cursor:pointer;
}
.factory-primary-ai{
  border:0;
  border-radius:9px;
  background:#7b38f5;
  color:#fff;
  box-shadow:0 7px 18px rgba(123,56,245,.18);
  padding:11px 17px;
  font:700 13px Arial,Helvetica,sans-serif;
  cursor:pointer;
}
.factory-primary-ai:disabled{opacity:.65;cursor:wait}

.factory-filter-card,
.factory-table-card{
  background:#fff;
  border:1px solid #dce8f5;
  border-radius:12px;
  box-shadow:0 2px 8px rgba(31,73,125,.05);
}
.factory-filter-card{padding:18px;margin-bottom:18px}
.factory-filter-card h2,
.factory-table-card h2{
  margin:0;
  color:#10245f;
  font:700 18px Arial,Helvetica,sans-serif;
}
.factory-filter-grid{
  display:grid;
  grid-template-columns:repeat(7,minmax(140px,1fr));
  gap:12px;
  margin-top:15px;
}
.factory-filter-grid label,
.factory-modal-course-row label{
  display:flex;
  flex-direction:column;
  gap:6px;
  color:#294f86;
  font:700 11px Arial,Helvetica,sans-serif;
}
.factory-filter-grid input,
.factory-filter-grid select,
.factory-modal-course-row input{
  height:38px;
  border:1px solid #cedceb;
  border-radius:8px;
  background:#fff;
  color:#173a78;
  padding:0 10px;
  font:400 12px Arial,Helvetica,sans-serif;
}
.factory-filter-footer{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-top:15px;
  padding-top:14px;
  border-top:1px solid #e8eef6;
}
.factory-check{font:400 12px Arial,Helvetica,sans-serif;color:#45669a}
.factory-filter-footer>div{display:flex;gap:8px}

.factory-table-card{overflow:hidden}
.factory-table-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  padding:16px 18px;
  border-bottom:1px solid #e7eef7;
}
.factory-table-head p{margin:4px 0 0;color:#6a7fa3;font:12px Arial,Helvetica,sans-serif}
.factory-table-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:#58729c;font:11px Arial,Helvetica,sans-serif}
.factory-table-tools label{display:flex;align-items:center;gap:6px}
.factory-table-tools select{height:32px;border:1px solid #d4e0ee;border-radius:7px}
.factory-table-tools button.danger{color:#b92b3a;border-color:#efc5ca}
.factory-table-scroll{overflow:auto}
.factory-course-table{
  width:100%;
  min-width:1450px;
  border-collapse:collapse;
  table-layout:auto;
}
.factory-course-table th{
  background:#f5f9fe;
  color:#375b8e;
  border-bottom:1px solid #dfe8f4;
  padding:11px 9px;
  text-align:left;
  white-space:nowrap;
  font:700 11px Arial,Helvetica,sans-serif;
}
.factory-course-table td{
  border-bottom:1px solid #e7eef7;
  padding:11px 9px;
  vertical-align:top;
  color:#294f86;
  font:400 11.5px/1.35 Arial,Helvetica,sans-serif;
}
.factory-course-table td strong{font-size:12.5px;color:#10245f}
.factory-course-meta{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}
.factory-course-meta span{
  display:inline-flex;
  padding:3px 6px;
  border-radius:999px;
  background:#eef4fb;
  color:#49688f;
  font-size:9.5px;
}
.factory-status{display:inline-flex;padding:4px 8px;border-radius:999px;font-weight:700}
.factory-status.draft{background:#edf1f5;color:#66778c}
.factory-status.review{background:#fff3cd;color:#8b6713}
.factory-status.progress{background:#e8f2ff;color:#0b65c8}
.factory-status.done{background:#e3f8ef;color:#0d8b58}
.factory-backup{color:#66778c}
.factory-empty{text-align:center!important;padding:26px!important;color:#6a7fa3!important}

/* AI Factory modal */
.factory-modal-open{overflow:hidden!important}
.factory-ai-modal-overlay{
  position:fixed;
  inset:0;
  z-index:30000;
  display:grid;
  place-items:center;
  padding:28px;
  background:rgba(10,25,45,.58);
  font-family:Arial,Helvetica,sans-serif;
}
.factory-ai-modal-overlay.hidden{display:none!important}
.factory-ai-modal{
  width:min(1420px,96vw);
  max-height:92vh;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  background:#fff;
  border-radius:16px;
  box-shadow:0 24px 80px rgba(0,0,0,.25);
}
.factory-ai-modal>header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  padding:20px 24px;
  border-bottom:1px solid #e7eef7;
}
.factory-modal-title{display:flex;align-items:flex-start;gap:12px}
.factory-modal-ai-icon{
  width:38px;height:38px;border-radius:10px;display:grid;place-items:center;
  background:#f0e8ff;color:#7b38f5;font-size:20px;font-weight:800;
}
.factory-modal-title h2{margin:0;color:#10245f;font:700 25px Arial,Helvetica,sans-serif}
.factory-modal-title p{margin:5px 0 0;color:#6078a0;font:13px Arial,Helvetica,sans-serif}
.factory-modal-close{
  border:0;background:transparent;color:#6078a0;font-size:28px;cursor:pointer;line-height:1;
}
.factory-modal-body{overflow:auto;padding:20px 24px 6px}
.factory-modal-step{padding:0 0 20px;margin-bottom:20px;border-bottom:1px solid #e7eef7}
.factory-modal-step:last-child{border-bottom:0}
.factory-modal-step h3{margin:0 0 8px;color:#173a78;font:700 16px Arial,Helvetica,sans-serif}
.factory-modal-step>p{margin:0 0 13px;color:#6078a0;font:12px Arial,Helvetica,sans-serif}
.factory-modal-step-head{display:grid;grid-template-columns:1fr minmax(330px,.8fr);gap:22px;align-items:start}
.factory-sipfor-note{
  border:1px solid #b9d8ff;
  border-radius:9px;
  background:#eef7ff;
  color:#285f9f;
  padding:11px 13px;
  font:12px/1.4 Arial,Helvetica,sans-serif;
}
.factory-quantity-selector{display:flex;gap:8px;margin-top:12px}
.factory-quantity-selector button{
  min-width:92px;
  height:38px;
  border:1px solid #cbd9ea;
  border-radius:8px;
  background:#fff;
  color:#365a8e;
  font:700 12px Arial,Helvetica,sans-serif;
  cursor:pointer;
}
.factory-quantity-selector button.active{background:#0b7cf6;border-color:#0b7cf6;color:#fff}
.factory-modal-course-row{
  display:grid;
  grid-template-columns:90px minmax(260px,1fr) minmax(320px,1fr);
  gap:12px;
  align-items:end;
  padding:11px 0;
  border-bottom:1px solid #eef3f8;
}
.factory-course-index{font:700 13px Arial,Helvetica,sans-serif;color:#173a78;padding-bottom:11px}
.factory-sipfor-suggestion{
  min-height:58px;
  display:grid;
  grid-template-columns:1fr auto;
  column-gap:10px;
  align-items:center;
  padding:9px 11px;
  border:1px solid #d9e7f6;
  border-radius:9px;
  background:#f8fbff;
}
.factory-sipfor-suggestion small{grid-column:1/3;color:#6078a0;font-size:10px}
.factory-sipfor-suggestion b{color:#173a78;font-size:11px}
.factory-sipfor-suggestion span{grid-column:1/2;color:#7a8da9;font-size:10px}
.factory-sipfor-suggestion button{
  grid-row:2/4;grid-column:2;
  border:1px solid #c9d8ea;border-radius:7px;background:#fff;color:#174278;
  padding:6px 9px;font:700 10px Arial,Helvetica,sans-serif;cursor:pointer;
}
.factory-sipfor-detail-panel{
  grid-column:2/4;
  margin-top:2px;
  padding:14px 16px;
  border:1px solid #cfe0f3;
  border-radius:10px;
  background:#fff;
  box-shadow:0 8px 24px rgba(31,74,125,.08);
}
.factory-sipfor-detail-panel.hidden{display:none!important}
.factory-sipfor-detail-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
  color:#173a78;
  font:700 13px Arial,Helvetica,sans-serif;
}
.factory-sipfor-detail-head button{
  border:0;
  background:transparent;
  color:#6078a0;
  font-size:20px;
  cursor:pointer;
}
.factory-sipfor-detail-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.factory-sipfor-detail-grid>div{
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:9px 10px;
  border:1px solid #e3edf7;
  border-radius:8px;
  background:#f8fbff;
}
.factory-sipfor-detail-grid small,
.factory-sipfor-detail-modules>small{
  color:#6078a0;
  font:11px Arial,Helvetica,sans-serif;
}
.factory-sipfor-detail-grid b{
  color:#173a78;
  font:700 12px Arial,Helvetica,sans-serif;
}
.factory-sipfor-detail-grid b.ok{color:#168454}
.factory-sipfor-detail-grid b.warn{color:#a86900}
.factory-sipfor-detail-modules{margin-top:12px}
.factory-sipfor-detail-modules ol{
  margin:7px 0 0;
  padding-left:20px;
  color:#294f86;
}
.factory-sipfor-detail-modules li{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:5px 0;
  font:12px Arial,Helvetica,sans-serif;
}
.factory-sipfor-detail-note,
.factory-sipfor-detail-warning,
.factory-sipfor-approved-note{
  margin:11px 0 0;
  padding:9px 11px;
  border-radius:8px;
  font:11px/1.4 Arial,Helvetica,sans-serif;
}
.factory-sipfor-detail-note{background:#f5f8fc;color:#526b8f}
.factory-sipfor-detail-warning{background:#fff6e8;color:#8a5a00;border:1px solid #f0d39b}
.factory-sipfor-approved-note{background:#edf9f3;color:#176a48;border:1px solid #bfe7d4}
.factory-sipfor-review-actions{
  display:flex;
  justify-content:flex-end;
  gap:8px;
  margin-top:12px;
}
.factory-sipfor-review-actions button:disabled{opacity:.45;cursor:not-allowed}

.factory-generation-pipeline{
  display:flex;
  align-items:stretch;
  gap:7px;
  overflow:auto;
  padding:8px 0 2px;
}
.factory-generation-pipeline i{display:grid;place-items:center;color:#8aa0be;font-style:normal;font-size:20px}
.factory-pipeline-node{
  flex:1 0 145px;
  min-height:72px;
  display:grid;
  place-items:center;
  text-align:center;
  border:1px solid #dbe7f4;
  border-radius:10px;
  background:#fff;
  color:#294f86;
  padding:10px;
  font:700 10.5px/1.35 Arial,Helvetica,sans-serif;
}
.factory-ai-modal>footer{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  padding:15px 24px;
  border-top:1px solid #e7eef7;
  background:#fafcff;
}

@media(max-width:1350px){
  .factory-filter-grid{grid-template-columns:repeat(4,minmax(150px,1fr))}
  .factory-quick-actions .fa-pill{padding:8px 10px;font-size:10.5px}
}
@media(max-width:900px){
  body.factory-focus .app,
  html body.factory-focus > div.app,
  body.factory-focus .app.il-sidebar-mini,
  html body.factory-focus > div.app.il-sidebar-mini{grid-template-columns:1fr!important}
  .factory-master-topbar{padding-left:62px!important;flex-wrap:wrap}
  .factory-global-search{order:2;flex-basis:100%;max-width:none}
  .factory-quick-actions{width:100%;overflow:auto}
  .factory-list-heading{flex-direction:column}
  .factory-filter-grid{grid-template-columns:repeat(2,minmax(140px,1fr))}
  .factory-modal-step-head{grid-template-columns:1fr}
  .factory-modal-course-row{grid-template-columns:1fr}
  .factory-course-index{padding-bottom:0}
  .factory-sipfor-detail-panel{grid-column:1}
  .factory-sipfor-detail-grid{grid-template-columns:1fr}
}
@media(max-width:600px){
  .factory-list-view{padding:18px 12px 32px}
  .factory-filter-grid{grid-template-columns:1fr}
  .factory-list-actions{width:100%;flex-direction:column;align-items:stretch}
  .factory-ai-modal-overlay{padding:8px}
  .factory-ai-modal{width:100%;max-height:97vh}
  .factory-generation-pipeline{padding-bottom:8px}
}


/* FACTORY_FINAL_VISUAL_POLISH_2026_10_05
   Human-audit corrections: checkbox sizing, quick-action colors and table toolbar density. */
#fabrica-cursos .factory-master-topbar .fa-pill{
  border:0!important;
  color:#fff!important;
  font:700 11px/1 Arial,Helvetica,sans-serif!important;
  min-height:30px!important;
  padding:8px 12px!important;
}
#fabrica-cursos .factory-master-topbar .fa-pill.policy{background:#22a9d6!important}
#fabrica-cursos .factory-master-topbar .fa-pill.support{background:#e99a19!important}
#fabrica-cursos .factory-master-topbar .fa-pill.ai{background:#7b38f5!important}
#fabrica-cursos .factory-master-topbar .fa-pill.license{background:#16a66a!important}

#fabrica-cursos .factory-check{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  margin:0!important;
}
#fabrica-cursos .factory-check input[type="checkbox"],
#fabrica-cursos .factory-course-table input[type="checkbox"]{
  appearance:auto!important;
  -webkit-appearance:auto!important;
  width:16px!important;
  height:16px!important;
  min-width:16px!important;
  min-height:16px!important;
  padding:0!important;
  margin:0!important;
  border:1px solid #b9cbe0!important;
  border-radius:3px!important;
  background:#fff!important;
  color-scheme:light!important;
  accent-color:#0b7cf6!important;
  box-shadow:none!important;
}

#fabrica-cursos .factory-table-tools{
  flex-wrap:nowrap!important;
  white-space:nowrap!important;
}
#fabrica-cursos .factory-table-tools label{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  margin:0!important;
  white-space:nowrap!important;
}
#fabrica-cursos .factory-table-tools select{
  min-width:74px!important;
  width:74px!important;
  min-height:34px!important;
  height:34px!important;
  padding:0 8px!important;
  background:#fff!important;
  color:#173a78!important;
}
#fabrica-cursos .factory-table-tools [data-total-label]{
  color:#375b8e!important;
  font-weight:700!important;
  min-width:max-content!important;
}


/* FACTORY_TOP_ANCHOR_FIX_2026_10_05
   Human audit: Factory shell must start at viewport top with no legacy space above. */
html body.factory-focus > div.app > main{
  display:block!important;
  position:relative!important;
  width:100%!important;
  max-width:none!important;
  min-height:100vh!important;
  margin:0!important;
  padding:0!important;
}
html body.factory-focus > div.app > main > :not(#fabrica-cursos){
  display:none!important;
}
html body.factory-focus > div.app > main > #fabrica-cursos{
  display:block!important;
  position:relative!important;
  inset:auto!important;
  top:0!important;
  margin:0!important;
  padding:0!important;
  width:100%!important;
  max-width:none!important;
  min-height:100vh!important;
  transform:none!important;
}
html body.factory-focus #fabrica-cursos .factory-approved-frame,
html body.factory-focus #fabrica-cursos .factory-approved-main{
  margin:0!important;
  padding-top:0!important;
  top:0!important;
  transform:none!important;
}
html body.factory-focus #fabrica-cursos .factory-approved-topbar{
  margin-top:0!important;
  top:0!important;
}


/* FACTORY_MODAL_VISIBILITY_FIX_2026_10_05
   Legacy show() hides all main section elements. Modal steps must remain visible. */
.factory-ai-modal .factory-modal-step.hidden{
  display:block!important;
}
.factory-ai-modal .factory-modal-step[hidden]{
  display:block!important;
}


/* STEP6_MOBILE_RESPONSIVE_FIX_2026_10_06
   Post-production human visual audit: keep the approved Step 6 composition
   inside the viewport without altering desktop. */
@media(max-width:900px){
  #fabrica-cursos[data-factory-step="6"] .factory-approved-body{
    grid-template-columns:minmax(0,1fr)!important;
    gap:10px!important;
  }
  #fabrica-cursos[data-factory-step="6"] .factory-approved-primary,
  #fabrica-cursos[data-factory-step="6"] #factoryStep6Panel,
  #fabrica-cursos[data-factory-step="6"] .fa-reference-step6{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  #fabrica-cursos[data-factory-step="6"] .factory-approved-context{
    position:static!important;
    top:auto!important;
  }
  #fabrica-cursos[data-factory-step="6"] .fa-s6-hero{
    grid-template-columns:minmax(0,1fr)!important;
    gap:10px!important;
  }
  #fabrica-cursos[data-factory-step="6"] .fa-s6-cover{
    height:150px!important;
  }
  #fabrica-cursos[data-factory-step="6"] .fa-s6-delivered{
    grid-column:auto!important;
  }
  #fabrica-cursos[data-factory-step="6"] .fa-s6-rail{
    grid-template-columns:repeat(3,minmax(150px,1fr))!important;
    gap:8px!important;
    overflow-x:auto!important;
    padding:10px!important;
  }
  #fabrica-cursos[data-factory-step="6"] .fa-s6-rail span:not(:last-child)::after{
    display:none!important;
  }
  #fabrica-cursos[data-factory-step="6"] .fa-s6-tabs{
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch;
  }
  #fabrica-cursos[data-factory-step="6"] .fa-s6-tabs button{
    flex:0 0 auto!important;
    white-space:nowrap!important;
    padding:9px 12px!important;
  }
  #fabrica-cursos[data-factory-step="6"] .fa-s6-main-grid,
  #fabrica-cursos[data-factory-step="6"] .fa-s6-lower-grid{
    grid-template-columns:minmax(0,1fr)!important;
  }
  #fabrica-cursos[data-factory-step="6"] .fa-s6-actions-card{
    grid-column:auto!important;
  }
  #fabrica-cursos[data-factory-step="6"] .fa-s6-summary-card dl{
    grid-template-columns:minmax(110px,.8fr) minmax(0,1.2fr)!important;
  }
  #fabrica-cursos[data-factory-step="6"] .fa-s6-module-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:520px){
  #fabrica-cursos[data-factory-step="6"] .fa-s6-rail{
    grid-template-columns:repeat(6,minmax(132px,1fr))!important;
  }
  #fabrica-cursos[data-factory-step="6"] .fa-s6-summary-card dl{
    grid-template-columns:1fr!important;
  }
  #fabrica-cursos[data-factory-step="6"] .fa-s6-summary-card dd{
    margin:0 0 4px!important;
  }
  #fabrica-cursos[data-factory-step="6"] .fa-s6-module-grid{
    grid-template-columns:minmax(0,1fr)!important;
  }
}


/* FACTORY_PROGRESSIVE_CLIENT_UX
   La máquina de estados interna se conserva, pero el cliente no ve el mapa
   metodológico completo ni la secuencia interna de etapas. */
#fabrica-cursos.factory-approved-shell .fv-flow{
  display:none!important;
}


/* FACTORY_MOBILE_SHELL_FINAL
   Un solo control de menú y buscador contenido dentro de 390px. */
@media(max-width:900px){
  #fabrica-cursos .instrulab-topbar-menu{
    display:none!important;
  }
}
@media(max-width:600px){
  #fabrica-cursos .factory-master-topbar{
    padding:8px 10px 8px 62px!important;
    gap:8px!important;
    flex-wrap:wrap!important;
  }
  #fabrica-cursos .factory-global-search{
    order:2!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    flex:1 1 100%!important;
    gap:6px!important;
  }
  #fabrica-cursos .factory-global-search input{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }
  #fabrica-cursos .factory-global-search button{
    width:auto!important;
    min-width:0!important;
    padding:0 12px!important;
    white-space:nowrap!important;
  }
}
