/* Shared factory chrome. Baseline: approved Paso 5, 1774 × 887. */
#fabrica-cursos.fs-mounted,#fabrica-cursos.fs-mounted *{font-family:Arial,Helvetica,sans-serif!important}
#fabrica-cursos.fs-mounted>.fv-title h1{font-size:27px!important;color:var(--fs-ink)!important}
#factoryShell .fs-assistant h2{font-size:20px!important;color:var(--fs-ink)!important}
#fabrica-cursos.fs-mounted .fv-step b{color:var(--fs-ink)!important}
#fabrica-cursos.fs-mounted .fv-step.active .fv-step-icon{background:var(--fs-blue)}
#factoryShell .fs-sidebar{background:var(--fs-navy)!important;color:#fff!important;border:0!important;box-shadow:none!important;height:100vh}
#factoryShell .fs-nav button{color:#fff!important;font-weight:400!important;padding:0 17px!important;min-height:48px!important;margin:0!important;border-radius:7px!important}
#factoryShell .fs-nav button:hover{background:#164461!important;color:#fff!important}
#factoryShell .fs-nav button[aria-current=page]{background:var(--fs-blue)!important}
#factoryShell .fs-assistant{height:auto;box-shadow:none!important;color:var(--fs-ink)!important}
@media(max-width:760px){#factoryShell .fs-sidebar.fs-open{display:flex!important}}
body.factory-focus{--fs-navy:#092239;--fs-blue:#0065ff;--fs-purple:#803fff;--fs-ink:#101052;--fs-line:#e4ebf7;font-family:Arial,Helvetica,sans-serif!important}
#fabrica-cursos.fs-mounted{padding:84px 369px 90px 263px;min-height:100vh;border-radius:0;font-family:Arial,Helvetica,sans-serif;color:var(--fs-ink)}
#factoryShell *{box-sizing:border-box;font-family:Arial,Helvetica,sans-serif}
#factoryShell button{font:inherit;cursor:pointer}
#factoryShell button:focus-visible{outline:3px solid #aa83ff;outline-offset:3px}
#factoryShell .fs-icon{width:24px;height:24px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
#factoryShell .fs-sidebar{position:fixed;inset:0 auto 0 0;width:243px;padding:0 9px;background:var(--fs-navy);color:#fff;z-index:110;display:flex;flex-direction:column;border:0;overflow-y:auto}
#factoryShell .fs-logo{height:64px;min-height:64px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid #17374e;margin:0 -9px 14px}
#factoryShell .fs-logo img{width:193px;height:49px;object-fit:contain}
#factoryShell .fs-nav{display:flex;flex-direction:column;gap:3px}
#factoryShell .fs-nav button,#factoryShell .fs-settings{width:100%;height:48px;min-height:48px;display:flex;align-items:center;gap:19px;padding:0 17px;border:0;border-radius:7px;background:transparent;color:#fff;text-align:left;font-size:14px;font-weight:400;white-space:nowrap}
#factoryShell .fs-nav button[aria-current=page]{background:var(--fs-blue)}
#factoryShell .fs-nav button:hover,#factoryShell .fs-settings:hover{background:#164461}
#factoryShell .fs-nav button[data-destination=asistente] .fs-icon{color:#ac65ff;fill:#ac65ff;stroke-width:0}
#factoryShell .fs-settings{margin-top:auto;border-top:1px solid #17374e;border-radius:0;min-height:88px}
#factoryShell .fs-topbar{position:fixed;left:243px;right:0;top:0;height:64px;padding:0 23px;display:flex;align-items:center;gap:23px;background:linear-gradient(110deg,#f5faff,#fff);border-bottom:1px solid var(--fs-line);box-shadow:0 2px 6px #10245f08;z-index:105;color:#354e9d}
#factoryShell .fs-topbar button{border:0;background:transparent;color:inherit;padding:0;display:flex;align-items:center;gap:8px}
#factoryShell .fs-breadcrumb{display:flex;align-items:center;gap:12px;font-size:13px;flex:1;min-width:0;white-space:nowrap;overflow:hidden}
#factoryShell .fs-breadcrumb strong{overflow:hidden;text-overflow:ellipsis;color:#152674}
#factoryShell .fs-search{width:286px;height:39px;border:1px solid #d8e2f4!important;border-radius:9px;padding:0 15px!important;font-size:13px!important;text-align:left}
#factoryShell .fs-profile{max-width:225px;border-left:1px solid var(--fs-line);padding-left:20px;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#factoryShell .fs-assistant{position:fixed;right:0;top:64px;bottom:73px;width:354px;padding:20px 15px 8px;border-left:1px solid var(--fs-line);background:#fff;overflow:auto;z-index:100;color:var(--fs-ink)}
#factoryShell .fs-assistant h2{font-size:20px;display:flex;align-items:center;gap:12px;margin:0;padding:12px 10px 22px;background:#f5f9ff;border-radius:14px 14px 0 0}
#factoryShell .fs-tabs{display:flex;background:#f8faff}
#factoryShell .fs-tabs button{flex:1;border:0;border-bottom:2px solid transparent;background:transparent;color:#40599d;font-size:12px;padding:12px 5px}
#factoryShell .fs-tabs button[aria-pressed=true]{border-color:var(--fs-blue);color:var(--fs-blue);background:#fff}
#factoryShell .fs-assistant-content{padding-top:9px}
#factoryShell .fs-assistant-content .fv-panel{border:1px solid #f0e5ff;background:#fcf5ff;border-radius:10px;margin-bottom:7px}
#factoryShell .fs-assistant-content .fv-panel-h{background:transparent;border:0;font-size:16px;padding:12px;color:var(--fs-ink)}
#factoryShell .fs-assistant-content .fv-panel-b{padding:0 14px 12px;color:#354e9d;font-size:13px;line-height:1.55}
#factoryShell .fs-assistant-content li{font-size:13px;margin:5px 0}
#factoryShell .fs-footer{position:fixed;bottom:0;left:243px;right:0;min-height:73px;display:flex;align-items:center;gap:23px;padding:8px 23px 12px 20px;background:#fffffffa;border-top:1px solid var(--fs-line);z-index:106}
#factoryShell .fs-footer button{height:43px;border:1px solid #b4ceff;border-radius:8px;color:var(--fs-blue);background:#f7faff;min-width:216px;padding:0 24px;display:flex;align-items:center;justify-content:center;gap:16px;font-size:14px}
#factoryShell .fs-footer .fs-save{margin-left:auto;min-width:240px}
#factoryShell .fs-footer .fs-next{background:var(--fs-blue);color:#fff;min-width:244px}
#factoryShell button:disabled{opacity:.45;cursor:not-allowed}
#fabrica-cursos.fs-mounted>.fv-footer{display:none}
#fabrica-cursos.fs-mounted>.fv-title h1{font-size:27px;line-height:1.15;letter-spacing:-.6px}
#fabrica-cursos.fs-mounted>.fv-title p{font-size:14px;line-height:1.5}
#fabrica-cursos.fs-mounted>.fv-title .fv-brand{display:none}
#fabrica-cursos.fs-mounted>.fv-layout{grid-template-columns:240px minmax(0,1fr)}
#fabrica-cursos.fs-mounted .fv-ai-all,#fabrica-cursos.fs-mounted .fv-ai-btn{background:var(--fs-purple)!important;color:white!important;border-color:var(--fs-purple)!important}
#fabrica-cursos.fs-mounted .fv-next{background:var(--fs-blue)!important;border-color:var(--fs-blue)!important}
#fabrica-cursos.fs-mounted .fv-flow{gap:12px;grid-template-columns:1.15fr 1fr 1fr 1.5fr .8fr .7fr}
#fabrica-cursos.fs-mounted .fv-step{padding:8px;gap:8px;min-height:54px}
#fabrica-cursos.fs-mounted .fv-step b{font-size:12px}
#fabrica-cursos.fs-mounted .fv-step small{font-size:10px}
#fabrica-cursos.fs-mounted .fv-step-icon{width:34px;height:34px;flex-basis:34px;font-size:16px}
#fabrica-cursos.fs-mounted .fv-step:not(:last-child)::after{font-size:20px;right:-14px;top:17px}
#fabrica-cursos.fs-mounted[data-shell-step]:not([data-shell-step="1"])>.fv-layout{display:none}
#fabrica-cursos.fs-mounted>.fs-inactive-panel{display:none!important}
@media(max-width:1400px){#fabrica-cursos.fs-mounted{padding-right:309px}#factoryShell .fs-assistant{width:294px}#factoryShell .fs-search{width:190px}#factoryShell .fs-profile{display:none}#factoryShell .fs-topbar{gap:15px}}
@media(max-width:1100px){#fabrica-cursos.fs-mounted{padding-right:20px}#factoryShell .fs-assistant{display:none}#factoryShell .fs-search{display:none}}
@media(max-width:760px){#fabrica-cursos.fs-mounted{padding:78px 12px 136px}#factoryShell .fs-sidebar{display:none}#factoryShell .fs-sidebar.fs-open{display:flex;width:243px;box-shadow:10px 0 50px #0004}#factoryShell .fs-topbar,#factoryShell .fs-footer{left:0}#factoryShell .fs-topbar{padding:0 12px}#factoryShell .fs-breadcrumb{font-size:11px;gap:6px}#factoryShell .fs-breadcrumb .fs-crumb-home,#factoryShell .fs-breadcrumb .fs-group{display:none}#factoryShell .fs-footer{gap:8px;padding:8px 12px;flex-wrap:wrap}#factoryShell .fs-footer button,#factoryShell .fs-footer .fs-save,#factoryShell .fs-footer .fs-next{min-width:0;flex:1;padding:0 10px;font-size:12px}#fabrica-cursos.fs-mounted>.fv-layout{grid-template-columns:1fr}#fabrica-cursos.fs-mounted .fv-flow{overflow:auto;display:flex}#fabrica-cursos.fs-mounted .fv-step{min-width:150px}#fabrica-cursos.fs-mounted>.fv-title h1{font-size:23px}}
#fabrica-cursos.fs-mounted[data-shell-step="5"]>.fv-flow,#fabrica-cursos.fs-mounted[data-shell-step="6"]>.fv-flow{grid-template-columns:repeat(6,1fr);gap:0;margin:25px 0 18px}
#fabrica-cursos.fs-mounted[data-shell-step="5"] .fv-step,#fabrica-cursos.fs-mounted[data-shell-step="6"] .fv-step{border:0;background:transparent;flex-direction:column;text-align:center;position:relative;gap:9px}
#fabrica-cursos.fs-mounted[data-shell-step="5"] .fv-step::after,#fabrica-cursos.fs-mounted[data-shell-step="6"] .fv-step::after{content:none}
#fabrica-cursos.fs-mounted[data-shell-step="5"] .fv-step::before,#fabrica-cursos.fs-mounted[data-shell-step="6"] .fv-step::before{content:'';position:absolute;top:27px;left:0;right:0;height:2px;background:#dce3f5}
#fabrica-cursos.fs-mounted[data-shell-step="5"] .fv-step-icon,#fabrica-cursos.fs-mounted[data-shell-step="6"] .fv-step-icon{position:relative;width:40px;height:40px;flex-basis:40px;border-radius:50%;background:#e8ecf8;color:transparent;border:2px solid white;z-index:1}
#fabrica-cursos.fs-mounted[data-shell-step="5"] .fv-step-icon::after,#fabrica-cursos.fs-mounted[data-shell-step="6"] .fv-step-icon::after{content:attr(data-number);position:absolute;inset:0;display:grid;place-items:center;color:var(--fs-ink);font-size:16px}
#fabrica-cursos.fs-mounted[data-shell-step="5"] .fv-step.active .fv-step-icon,#fabrica-cursos.fs-mounted[data-shell-step="6"] .fv-step.active .fv-step-icon{background:var(--fs-blue)}
#fabrica-cursos.fs-mounted[data-shell-step="5"] .fv-step.active .fv-step-icon::after,#fabrica-cursos.fs-mounted[data-shell-step="6"] .fv-step.active .fv-step-icon::after{color:white}


/* PR #79 — Factory shell must reuse the approved InstruLab Master Sidebar.
   This block is authoritative over the former duplicated .fs-sidebar chrome. */
#factoryShell > .il-master-sidebar{
  position:fixed!important;
  inset:0 auto 0 0!important;
  width:var(--il-sidebar-width)!important;
  min-width:var(--il-sidebar-width)!important;
  max-width:var(--il-sidebar-width)!important;
  height:100vh!important;
  z-index:110!important;
}
#factoryShell > .il-master-sidebar.is-mini{
  width:var(--il-sidebar-mini-width)!important;
  min-width:var(--il-sidebar-mini-width)!important;
  max-width:var(--il-sidebar-mini-width)!important;
}
#factoryShell .fs-topbar,
#factoryShell .fs-footer{left:var(--il-sidebar-width)!important}
#factoryShell.il-sidebar-mini .fs-topbar,
#factoryShell.il-sidebar-mini .fs-footer{left:var(--il-sidebar-mini-width)!important}
#fabrica-cursos.fs-mounted{padding-left:calc(var(--il-sidebar-width) + 20px)!important}
#fabrica-cursos.fs-mounted:has(#factoryShell.il-sidebar-mini){
  padding-left:calc(var(--il-sidebar-mini-width) + 20px)!important;
}
@media(max-width:900px){
  #fabrica-cursos.fs-mounted{padding-left:12px!important}
  #factoryShell .fs-topbar,
  #factoryShell .fs-footer{left:0!important}
  #factoryShell > .il-master-sidebar,
  #factoryShell > .il-master-sidebar.is-mini{
    position:fixed!important;
    width:var(--il-sidebar-width)!important;
    min-width:var(--il-sidebar-width)!important;
    max-width:var(--il-sidebar-width)!important;
    transform:translateX(-105%)!important;
    transition:transform .2s ease!important;
  }
  #factoryShell > .il-master-sidebar.is-open,
  #factoryShell > .il-master-sidebar.is-mini.is-open{
    transform:translateX(0)!important;
  }
}


/* Mobile drawer must cover the full viewport and block Factory footer actions while open. */
@media(max-width:900px){
  #factoryShell > .il-master-sidebar{
    top:0!important;
    bottom:0!important;
    height:100dvh!important;
    min-height:100dvh!important;
    max-height:100dvh!important;
    z-index:10001!important;
  }
  body.il-sidebar-mobile-open #factoryShell .fs-footer{
    pointer-events:none!important;
    z-index:1!important;
  }
  body.il-sidebar-mobile-open #factoryShell .fs-topbar{
    z-index:1!important;
  }
}


#factoryShell .fs-mobile-overlay{
  display:none;
  position:fixed;
  inset:0;
  z-index:10000;
  border:0;
  padding:0;
  background:rgba(6,20,34,.48);
}
@media(max-width:900px){
  body.il-sidebar-mobile-open #factoryShell .fs-mobile-overlay{
    display:block;
  }
}
