:root{--tinta:#16181d;--tenue:#6b7280;--linea:#e4e6eb;--fondo:#fbfbfc;--panel:#fff;--acento:#1f4fd8;--alerta:#c62828;--alerta-fondo:#fdeaea;--ok:#1b7f4b}*{box-sizing:border-box}html,body{margin:0;padding:0}body{color:var(--tinta);background:var(--fondo);font:14px/1.5 ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}a{color:var(--acento)}h1{margin:0 0 .25rem;font-size:1.35rem}h2{margin:2rem 0 .75rem;font-size:1rem;font-weight:600}.envoltura{max-width:1180px;margin:0 auto;padding:1.25rem 1.5rem 4rem}nav{border-bottom:1px solid var(--linea);background:var(--panel);z-index:10;position:sticky;top:0}nav .interior{align-items:baseline;gap:1.25rem;max-width:1180px;margin:0 auto;padding:.6rem 1.5rem;display:flex}nav strong{font-size:.95rem}nav a{color:var(--tenue);font-size:.9rem;text-decoration:none}nav a:hover,nav a.activo{color:var(--tinta)}nav form{margin-left:auto}nav button{color:var(--tenue);cursor:pointer;font:inherit;background:0 0;border:0}.tarjetas{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;display:grid}.tarjeta{background:var(--panel);border:1px solid var(--linea);border-radius:6px;padding:.8rem .9rem}.tarjeta .cifra{font-variant-numeric:tabular-nums;font-size:1.55rem;font-weight:600}.tarjeta .rotulo{color:var(--tenue);text-transform:uppercase;letter-spacing:.03em;font-size:.78rem}.tarjeta .nota{color:var(--tenue);margin-top:.15rem;font-size:.78rem}table{border-collapse:collapse;background:var(--panel);width:100%;font-size:.875rem}th,td{text-align:left;border-bottom:1px solid var(--linea);padding:.42rem .6rem}th{color:var(--tenue);text-transform:uppercase;letter-spacing:.03em;font-size:.78rem;font-weight:600}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}tbody tr:hover{background:#f7f8fa}.envolver-tabla{border:1px solid var(--linea);border-radius:6px;overflow:hidden}.barra{background:var(--linea);border-radius:3px;min-width:90px;height:7px;overflow:hidden}.barra>i{background:var(--acento);height:100%;display:block}.barra>i.saturada{background:var(--alerta)}.etiqueta{border:1px solid var(--linea);color:var(--tenue);border-radius:3px;padding:.1rem .4rem;font-size:.74rem}.etiqueta.riesgo{color:var(--alerta);background:var(--alerta-fondo);border-color:#f3c9c9}.etiqueta.bien{color:var(--ok);background:#eef7f2;border-color:#cfe6da}.tenue{color:var(--tenue)}.aviso{background:var(--alerta-fondo);color:#8f2020;border:1px solid #f3c9c9;border-radius:6px;padding:.7rem .9rem;font-size:.86rem}.acceso{max-width:340px;margin:12vh auto;padding:0 1.5rem}.acceso label{color:var(--tenue);margin:.8rem 0 .2rem;font-size:.8rem;display:block}.acceso input{border:1px solid var(--linea);width:100%;font:inherit;background:var(--panel);border-radius:5px;padding:.5rem .6rem}.acceso button{background:var(--acento);color:#fff;width:100%;font:inherit;cursor:pointer;border:0;border-radius:5px;margin-top:1.1rem;padding:.55rem;font-weight:500}.acceso .error{color:var(--alerta);margin-top:.8rem;font-size:.85rem}.encabezado{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.miga{color:var(--tenue);margin:0 0 .2rem;font-size:.82rem}.miga a{color:var(--tenue)}.boton{border:1px solid var(--linea);background:var(--panel);color:var(--tinta);cursor:pointer;border-radius:5px;padding:.42rem .8rem;font-family:inherit;font-size:.875rem;text-decoration:none;display:inline-block}.boton:hover{background:#f4f5f7}.boton.primario,button.primario{background:var(--acento);border-color:var(--acento);color:#fff;cursor:pointer;border-style:solid;border-width:1px;border-radius:5px;padding:.42rem .9rem;font-family:inherit;font-size:.875rem}button.primario:disabled{opacity:.6;cursor:default}button.peligro{background:var(--panel);color:var(--alerta);cursor:pointer;border:1px solid #e0b4b4;border-radius:5px;margin-left:auto;padding:.42rem .8rem;font-family:inherit;font-size:.875rem}button.peligro:hover{background:var(--alerta-fondo)}.filtros{flex-wrap:wrap;align-items:center;gap:.4rem;margin:1rem 0 .75rem;display:flex}.chip{border:1px solid var(--linea);color:var(--tenue);background:var(--panel);border-radius:999px;padding:.22rem .6rem;font-size:.8rem;text-decoration:none}.chip:hover{color:var(--tinta)}.chip.activo{background:var(--tinta);border-color:var(--tinta);color:#fff}.buscador{margin-left:auto}.buscador input{border:1px solid var(--linea);font:inherit;background:var(--panel);border-radius:5px;min-width:230px;padding:.3rem .6rem;font-size:.85rem}.truncar{text-overflow:ellipsis;white-space:nowrap;max-width:260px;font-size:.8rem;overflow:hidden}.vacio{text-align:center;color:var(--tenue);padding:2rem}.formulario{max-width:720px;margin-top:1.25rem}.rejilla{grid-template-columns:1fr 1fr;gap:.9rem 1rem;display:grid}.campo.ancho{grid-column:1/-1}.campo label{margin-bottom:.25rem;font-size:.82rem;font-weight:500;display:block}.campo input,.campo select{border:1px solid var(--linea);width:100%;font:inherit;background:var(--panel);border-radius:5px;padding:.45rem .6rem;font-size:.9rem}.campo input:focus,.campo select:focus{outline-offset:-1px;border-color:var(--acento);outline:2px solid #c7d4f7}.campo small{color:var(--tenue);margin-top:.22rem;font-size:.76rem;line-height:1.35;display:block}.acciones{align-items:center;gap:.6rem;margin-top:1.4rem;display:flex}.aviso.ok{color:#16603c;background:#eef7f2;border-color:#cfe6da}table.semana td.celda{padding:.3rem .35rem}table.semana tr.inactiva td{opacity:.45}.bloque{color:#24408f;cursor:pointer;background:#eef2fd;border:1px solid #c7d4f7;border-radius:3px;margin:.1rem .12rem 0 0;padding:.12rem .38rem;font-family:ui-monospace,monospace;font-size:.74rem;display:inline-block}.bloque:hover{background:var(--alerta-fondo);color:var(--alerta);border-color:#f3c9c9}.formulario.linea{background:var(--panel);border:1px solid var(--linea);border-radius:6px;flex-wrap:wrap;align-items:flex-end;gap:.7rem;max-width:none;padding:.85rem .95rem;display:flex}.formulario.linea .campo,.formulario.linea .campo input,.formulario.linea .campo select{min-width:150px}.dias{flex-wrap:wrap;gap:.5rem;padding-top:.25rem;display:flex}.dia{align-items:center;gap:.25rem;font-size:.82rem;font-weight:400;display:inline-flex}.dia input{width:auto}button.enlace{color:var(--acento);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:.85rem;text-decoration:underline}button.enlace.peligroso{color:var(--alerta)}.chip{cursor:pointer;font-family:inherit}.dos-columnas{grid-template-columns:230px 1fr;align-items:start;gap:1.5rem;display:grid}.dos-columnas aside{position:sticky;top:3.4rem}.buscar-lateral{border:1px solid var(--linea);width:100%;font:inherit;background:var(--panel);border-radius:5px;margin-bottom:.5rem;padding:.35rem .55rem;font-size:.85rem}.lista-lateral{border:1px solid var(--linea);background:var(--panel);border-radius:6px;max-height:72vh;margin:0;padding:0;list-style:none;overflow-y:auto}.lista-lateral li+li{border-top:1px solid var(--linea)}.lista-lateral button{text-align:left;width:100%;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:.45rem;padding:.4rem .55rem;font-size:.82rem;display:flex}.lista-lateral button:hover{background:#f4f5f7}.lista-lateral button.activo{background:#eef2fd;font-weight:600}.lista-lateral .codigo{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.lista-lateral .cuenta{color:var(--tenue);font-variant-numeric:tabular-nums;font-size:.75rem}.punto{border-radius:50%;flex:none;width:7px;height:7px}.punto.ok{background:var(--ok)}.punto.mal{background:var(--alerta)}.bloque.estatico{cursor:default}.bloque.estatico:hover{color:#24408f;background:#eef2fd;border-color:#c7d4f7}.panel-form{border:1px solid var(--linea);background:var(--panel);border-radius:6px;margin-top:.8rem;padding:1rem 1.1rem}.panel-form h3{margin:0 0 .6rem;font-size:.95rem}.panel-form .formulario,.panel-form form{max-width:none;margin:0}.casillas{flex-wrap:wrap;gap:.55rem;padding-top:.25rem;display:flex}@media (max-width:860px){.dos-columnas{grid-template-columns:1fr}.dos-columnas aside{position:static}}.gantt{border:1px solid var(--linea);background:var(--panel);border-radius:6px;margin-top:.9rem;display:flex;overflow:hidden}.gantt.ocupado{opacity:.55;pointer-events:none}.gantt-etiquetas{border-right:1px solid var(--linea);background:var(--panel);z-index:2;flex:none}.gantt-cabecera.doble{border-bottom:1px solid var(--linea);background:#fafbfc;height:36px;position:relative}.gantt-bandas,.gantt-ticks{height:18px;position:absolute;left:0;right:0}.gantt-bandas{top:0}.gantt-ticks{border-top:1px solid #eceef2;top:18px}.gantt-banda{height:18px;color:var(--tinta);border-left:1px solid var(--linea);white-space:nowrap;padding-left:4px;font-size:.7rem;font-weight:600;line-height:18px;position:absolute;top:0;overflow:hidden}.gantt-tick{height:18px;color:var(--tenue);white-space:nowrap;font-variant-numeric:tabular-nums;padding-left:3px;font-size:.68rem;line-height:18px;position:absolute;top:0}.gantt-tick.fuerte{color:var(--tinta);font-weight:600}.gantt-maquina{border-bottom:1px solid #f0f1f4;align-items:center;padding:0 .5rem;font-size:.78rem;font-weight:600;display:flex}.gantt-maquina.recibe{color:var(--ok);background:#eaf6ef}.gantt-maquina.prohibida{opacity:.35}.gantt-scroll{flex:1;position:relative;overflow:auto hidden}.gantt-cuerpo{position:relative}.gantt-linea{background:#f2f3f6;width:1px;position:absolute;top:0;bottom:0}.gantt-linea.fuerte{background:var(--linea)}.gantt-ahora{background:var(--alerta);z-index:3;width:2px;position:absolute;top:0;bottom:0}.gantt-fila{border-bottom:1px solid #f0f1f4;position:absolute;left:0}.gantt-fila.recibe{outline:1px dashed var(--ok);outline-offset:-2px;background:#f2fbf6}.gantt-fila.prohibida{background:repeating-linear-gradient(45deg,#0000,#0000 6px,#f6f7f9 6px 12px)}.gantt-barra{color:#1c336f;cursor:grab;height:18px;font:inherit;white-space:nowrap;text-align:left;background:#dbe4fb;border:1px solid #a9bcef;border-radius:3px;padding:0 3px;font-size:.68rem;line-height:16px;position:absolute;top:5px;overflow:hidden}.gantt-barra:active{cursor:grabbing}.gantt-barra:hover{background:#c6d4f8}.gantt-barra.tarde{color:#8f2020;background:#fbdcdc;border-color:#eaa9a9}.gantt-barra.tarde:hover{background:#f7c9c9}.gantt-barra.fijada{border-style:dashed;border-width:2px;border-color:var(--tinta)}.gantt-barra.apagada{opacity:.18}.gantt-barra.resaltada{outline:2px solid var(--tinta);outline-offset:-1px;z-index:4}.gantt-barra.activa{outline:2px solid var(--acento);outline-offset:-1px;z-index:5}.detalle-barra{border:1px solid var(--linea);background:var(--panel);border-radius:6px;flex-direction:column;align-items:flex-start;gap:.3rem;margin-top:.8rem;padding:.7rem .9rem;font-size:.86rem;display:flex}.conmutador{border:1px solid var(--linea);background:var(--panel);border-radius:6px;margin-top:.9rem;display:inline-flex;overflow:hidden}.conmutador button{font:inherit;color:var(--tenue);cursor:pointer;background:0 0;border:0;padding:.35rem .9rem;font-size:.86rem}.conmutador button+button{border-left:1px solid var(--linea)}.conmutador button.activo{background:var(--tinta);color:#fff;font-weight:500}table.cola td.mono{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.82rem}table.cola tr.fila-tarde td:first-child{box-shadow:inset 3px 0 0 var(--alerta)}table.cola td .etiqueta{margin-left:.3rem}.paginacion{align-items:center;gap:.8rem;margin-top:.7rem;font-size:.85rem;display:flex}.paginacion .boton:disabled{opacity:.45;cursor:default}table.delta{background:0 0;width:auto;margin-top:.4rem;font-size:.84rem}table.delta td{border:0;padding:.1rem .6rem .1rem 0}table.delta td.mejora{color:var(--ok);font-weight:600}table.delta td.empeora{color:var(--alerta);font-weight:600}.panel-form.hoja{z-index:20;border-bottom:0;border-left:0;border-right:0;border-radius:0;margin:0;padding:.9rem clamp(1rem,6vw,4rem) 1.1rem;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 24px #0f172a21}.panel-form.hoja h3{margin-top:0}.gantt-ventana{z-index:0;pointer-events:none;background:#16a34a1f;border-left:1px solid #16a34a47;position:absolute;top:1px;bottom:1px}.gantt-barra{z-index:1}.gantt-fila.recibe .gantt-ventana{background:#16a34a33}.gantt-pausa{pointer-events:none;background:repeating-linear-gradient(-45deg,#ffffffdb 0 3px,#94a3b86b 3px 5px);position:absolute;top:0;bottom:0}.leyenda{color:var(--tenue);margin-top:1rem;font-size:.82rem}.leyenda p{margin:.3rem 0}.leyenda strong{color:var(--texto)}.muestra{vertical-align:-1px;border:1px solid var(--linea);border-radius:2px;width:22px;height:11px;display:inline-block}.muestra.horario{background:#16a34a38;border-color:#16a34a73}.muestra.pausa{background:repeating-linear-gradient(-45deg,#ffffffdb 0 3px,#94a3b88c 3px 5px)}table.turno td{vertical-align:middle}table.turno tr.reportada{background:#f8fafc}table.turno tr.reportada td:first-child{box-shadow:inset 3px 0 0 var(--ok)}table.turno td.acciones-fila{white-space:nowrap;text-align:right}table.turno td.acciones-fila .enlace{margin-left:.6rem}.etiqueta.terminada{color:#166534;background:#dcfce7}.etiqueta.en_ejecucion{color:#1e40af;background:#dbeafe}.etiqueta.no_se_hizo{color:#991b1b;background:#fee2e2}.boton.chico,.primario.chico{padding:.2rem .6rem;font-size:.8rem}.excepciones{border-top:1px solid var(--linea);margin-top:2rem;padding-top:1rem}.encabezado-seccion{align-items:center;gap:1rem;display:flex}.encabezado-seccion h2{margin:0;font-size:1rem}.lista-excepciones{margin:.6rem 0 0;padding:0;list-style:none}.lista-excepciones li{border-bottom:1px solid var(--linea);align-items:center;gap:.6rem;padding:.4rem 0;font-size:.86rem;display:flex}.lista-excepciones li .tenue{flex:1}.gantt-montaje{z-index:0;background:#f5b027;border-right:1px solid #b97e0a;border-radius:2px 0 0 2px;position:absolute;top:0;bottom:0;left:0}.muestra.montaje{background:#f5b027;border-color:#b97e0a}td.lote{white-space:nowrap;font-size:.8rem}td.lote .etiqueta{color:#3730a3;background:#eef2ff}.montaje-min{color:#92610a;font-weight:600}.gantt-barra>span{z-index:3;position:relative}.reloj{color:var(--tenue);font-variant-numeric:tabular-nums;border:1px dashed var(--linea);border-radius:999px;padding:.22rem .5rem;font-size:.82rem}.reloj:before{content:"●";color:var(--alerta);vertical-align:middle;margin-right:.35rem;font-size:.6em;animation:2s ease-in-out infinite latido}@keyframes latido{0%,to{opacity:1}50%{opacity:.25}}.impedimentos{margin:.6rem 0 0;padding:0;list-style:none}.impedimentos li{border-top:1px solid #991b1b2e;flex-direction:column;gap:.15rem;padding:.45rem 0;display:flex}.impedimentos strong{font-size:.85rem}.impedimentos span{font-size:.82rem;line-height:1.45}.etiqueta.inamovible{color:#fff;background:#1e293b;font-weight:600}.lista-festivos{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.25rem .8rem;margin:.4rem 0 0;padding:0;font-size:.86rem;list-style:none;display:grid}.lista-festivos .mono{color:var(--tenue);margin-right:.4rem}.gantt-barra.inamovible{border-width:2px;border-color:#1e293b}.gantt-barra{cursor:pointer}.entrega{flex-direction:column;gap:.1rem;line-height:1.25;display:flex}.entrega small{font-size:.74rem}.riesgo-texto{color:var(--alerta)}.confirmacion{border:1px solid var(--linea);background:var(--panel);border-radius:6px;max-width:560px;padding:.6rem .8rem;font-size:.86rem}.confirmacion p{margin:.3rem 0 .5rem}.confirmacion .acciones{gap:.5rem;margin:0;display:flex}.planes{margin-top:1rem;font-size:.86rem}.planes tr.vigente td{background:#f0fdf4}nav .interior{align-items:center;gap:.15rem;display:flex}nav .interior>a,nav .grupo>button{font:inherit;color:var(--tenue);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:.35rem .6rem;font-size:.9rem;text-decoration:none}nav .interior>a:hover,nav .grupo>button:hover{color:var(--texto);background:#0f172a0f}nav .interior>a.activo,nav .grupo.activo>button{color:var(--texto);font-weight:600}nav .grupo{position:relative}nav .grupo .flecha{opacity:.6;font-size:.7em}nav .desplegable{z-index:30;background:var(--panel);border:1px solid var(--linea);border-radius:8px;min-width:200px;padding:.3rem;display:none;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 8px 24px #0f172a1f}nav .grupo.abierto .desplegable{flex-direction:column;display:flex}nav .desplegable a{color:var(--texto);border-radius:5px;padding:.45rem .7rem;font-size:.9rem;text-decoration:none}nav .desplegable a:hover{background:#0f172a0f}nav .desplegable a.activo{background:#0f172a0d;font-weight:600}nav .espacio{flex:1}nav .quien{color:var(--tenue);white-space:nowrap;font-size:.82rem}nav .quien .etiqueta{margin-left:.3rem}.barra-escenario{flex-wrap:wrap;align-items:center;gap:.8rem;padding:.45rem clamp(1rem,6vw,4rem);font-size:.86rem;display:flex}.barra-escenario.cerrada{background:0 0;justify-content:flex-end}.barra-escenario.abierta{color:#451a03;background:repeating-linear-gradient(-45deg,#fde68a 0 14px,#fcd34d 14px 28px);border-bottom:2px solid #b45309}.barra-escenario .texto{flex:1;min-width:280px}.barra-escenario .botones{gap:.5rem;display:flex}.barra-escenario .pregunta{background:var(--panel);border:1px solid var(--linea);border-radius:6px;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.5rem .7rem;display:flex}.barra-escenario .pregunta input{min-width:240px}.barra-escenario .error{color:var(--alerta);font-weight:600}.envoltura.en-escenario{outline-offset:-3px;outline:3px dashed #d97706}.peligro.chico{padding:.2rem .6rem;font-size:.8rem}.exportar{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:1rem;font-size:.86rem;display:flex}.exportar input,.exportar select{font:inherit;padding:.25rem .45rem;font-size:.84rem}table.revision tr.con-error td{background:#fff7f7}table.revision td:last-child{font-size:.82rem}.ayuda{grid-template-columns:240px 1fr;align-items:start;gap:2rem;display:grid}.ayuda .indice{flex-direction:column;gap:.15rem;font-size:.86rem;display:flex;position:sticky;top:1rem}.ayuda .indice strong{margin-bottom:.4rem}.ayuda .indice a{color:var(--tenue);border-radius:5px;padding:.25rem .5rem;text-decoration:none}.ayuda .indice a.activo{color:var(--texto);background:#0f172a0f;font-weight:600}.ayuda .contenido{max-width:760px;line-height:1.55}.ayuda section{margin-top:2.2rem;scroll-margin-top:1rem}.ayuda section h2{border-bottom:1px solid var(--linea);padding-bottom:.3rem}.ayuda section h3{margin:1.1rem 0 .3rem;font-size:1rem}.ayuda section.no-aplica{opacity:.8}.ayuda li{margin:.3rem 0}@media (max-width:800px){.ayuda{grid-template-columns:1fr}.ayuda .indice{position:static}}
