/* Editor de preparación. Estilos aislados del seguimiento LB/REAL. */
#modelo-plan { font-family:"Segoe UI",Arial,sans-serif;color:#29384a;background:#f3f5f8;font-synthesis:none }
#modelo-plan * { box-sizing:border-box }
#modelo-plan { margin:0 }
#modelo-plan button, #modelo-plan input, #modelo-plan select { font:inherit }
#modelo-plan button { cursor:pointer }
#modelo-plan button:disabled { cursor:default;opacity:.48 }
#modelo-plan button:focus-visible, #modelo-plan input:focus-visible, #modelo-plan select:focus-visible, #modelo-plan summary:focus-visible { outline:2px solid #236ba1;outline-offset:3px }
#modelo-plan button, #modelo-plan input, #modelo-plan select { border-radius:6px }
#modelo-plan button { font-size:12px;font-weight:600;padding:9px 12px;border:1px solid transparent;white-space:nowrap }
#modelo-plan input, #modelo-plan select { background:#fff;border:1px solid #cbd5e1;color:#29384a;padding:9px 10px;width:100%;min-width:0;font-size:13px }
#modelo-plan input:disabled { background:#f1f4f7;color:#7a8795 }
#modelo-plan label { display:flex;flex-direction:column;gap:6px;font-size:12px;color:#4d5b6d }
#modelo-plan small { font-size:11px;color:#697789 }
#modelo-plan h1, #modelo-plan h2, #modelo-plan h3, #modelo-plan p { margin:0 }
#modelo-plan .primario { color:white;background:#255780;border-color:#255780 }
#modelo-plan .primario:hover { background:#1b4365 }
#modelo-plan .secundario { color:#496075;background:#fff;border-color:#d5dee7 }
#modelo-plan .secundario:hover { background:#f3f7fa }
#modelo-plan .texto { padding:3px 0;background:transparent;color:#255780 }
#modelo-plan .peligro { background:transparent;color:#9b4352;padding:8px 4px }
#modelo-plan .sobre { font-size:10px;letter-spacing:.11em;color:#718095;font-weight:650 }
#modelo-plan .cabecera { display:flex;align-items:center;gap:20px;background:#fff;border-bottom:1px solid #dfe5ec;padding:16px 30px;min-height:66px }
#modelo-plan .marca { font-weight:750;font-size:22px;letter-spacing:-1px;color:#244d70 }
#modelo-plan .marca span { font-size:10px;letter-spacing:1px;margin-left:5px;font-weight:500 }
#modelo-plan .seccion { font-size:13px;border-left:1px solid #dbe3eb;padding-left:20px;color:#55667a }
#modelo-plan .entorno { font-size:10px;letter-spacing:.035em;padding:5px 8px;background:#edf2f6;border:1px solid #e0e7ef;color:#53687d;border-radius:4px }
#modelo-plan .prueba { margin-left:auto;font-size:11px;color:#697789 }
#modelo-plan .titulo { display:flex;align-items:center;justify-content:space-between;padding:25px 30px 19px;gap:16px }
#modelo-plan .titulo h1 { font-size:23px;font-weight:600;margin:5px 0 7px;letter-spacing:-.45px }
#modelo-plan .titulo p { font-size:12px;color:#67788b }
#modelo-plan .titulo p span { padding:0 8px;color:#a0aab6 }
#modelo-plan .barra-plan { margin:0 30px 18px;background:#fff;border:1px solid #e0e6ed;border-radius:8px;display:flex;align-items:center;gap:30px;padding:12px 18px }
#modelo-plan .barra-plan label { font-size:11px;flex-direction:row;align-items:center;gap:12px }
#modelo-plan .barra-plan input { width:145px;padding:6px 8px;font-size:12px }
#modelo-plan .fin { font-size:11px;display:flex;align-items:center;gap:12px;border-left:1px solid #e0e6ed;padding-left:25px;color:#627286 }
#modelo-plan .fin strong { color:#314b65;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums }
#modelo-plan .calendario { margin-left:auto;color:#66768a;font-size:11px;display:flex;align-items:center;gap:7px }
#modelo-plan .punto { width:5px;height:5px;background:#7990a2;border-radius:50%;flex-shrink:0 }
#modelo-plan .espacio { display:grid;grid-template-columns:330px minmax(0,1fr);gap:18px;padding:0 30px;align-items:start }
#modelo-plan .editor { background:#fff;border:1px solid #dce4ec;border-radius:9px;overflow:hidden }
#modelo-plan .editor-titulo { display:flex;align-items:center;justify-content:space-between;padding:17px 18px;border-bottom:1px solid #e5ebf1;gap:12px }
#modelo-plan .editor-titulo h2 { font-size:15px;margin-top:6px;font-weight:600;overflow-wrap:anywhere }
#modelo-plan .orden { font-variant-numeric:tabular-nums;font-size:12px;background:#f0f4f8;border-radius:5px;padding:6px 8px;color:#687b8e }
#modelo-plan .editor form { padding:16px 18px;display:grid;gap:14px }
#modelo-plan .dos { display:grid;grid-template-columns:1fr 1fr;gap:12px }
#modelo-plan .subcabecera { display:flex;justify-content:space-between;align-items:center;gap:12px }
#modelo-plan .subcabecera h3 { font-size:12px;font-weight:600 }
#modelo-plan .dependencias { border-top:1px solid #e5ebf1;padding-top:14px }
#modelo-plan .relacion { padding-top:11px }
#modelo-plan .relacion-cabecera { display:grid;grid-template-columns:minmax(0,1fr) 24px;gap:5px }
#modelo-plan .quitar-relacion { font-size:18px;color:#7f8d9c;background:transparent;padding:0 }
#modelo-plan .relacion-parametros { display:grid;grid-template-columns:minmax(0,1fr) 70px;gap:8px;margin-top:8px }
#modelo-plan .relacion label { font-size:11px }
#modelo-plan .relacion select, #modelo-plan .relacion input { font-size:12px;padding:7px 8px }
#modelo-plan .sin-relaciones { font-size:11px;color:#728296;padding:12px 0 0;line-height:1.5 }
#modelo-plan .opcional { font-size:11px;border-top:1px solid #e5ebf1;padding-top:12px }
#modelo-plan .opcional summary { cursor:pointer;color:#4d6075 }
#modelo-plan .opcional summary span { float:right;color:#8793a0 }
#modelo-plan .opcional label { margin-top:11px;font-size:11px }
#modelo-plan .opcional select { font-size:12px }
#modelo-plan .fechas-tarea { font-size:11px;line-height:1.8;background:#f4f7fa;border-radius:6px;padding:10px 12px;color:#53697e }
#modelo-plan .fechas-tarea strong { font-weight:600 }
#modelo-plan .fechas-tarea .es-critica { color:#9b4150 }
#modelo-plan .fechas-tarea .fila-fechas { display:flex;justify-content:space-between;gap:10px }
#modelo-plan .acciones-editor { display:flex;align-items:center;gap:8px;flex-wrap:wrap }
#modelo-plan .acciones-editor .peligro { margin-left:auto }
#modelo-plan .error { font-size:12px;line-height:1.5;border-left:3px solid #ad4757;background:#fff3f4;padding:10px;color:#933546 }
#modelo-plan .error[hidden] { display:none }
#modelo-plan .cronograma { background:#fff;border:1px solid #dce4ec;border-radius:9px;min-width:0;overflow:hidden }
#modelo-plan .cronograma-titulo { display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 20px 12px }
#modelo-plan .cronograma h2 { font-size:15px;font-weight:600;display:flex;gap:10px;align-items:center }
#modelo-plan .cronograma h2 span { font-size:11px;color:#78889a;font-weight:400 }
#modelo-plan .cronograma-titulo p { font-size:11px;color:#6d8190;margin-top:6px;min-height:15px }
#modelo-plan .cronograma-titulo .secundario { font-size:11px;padding:7px 9px }
#modelo-plan .leyenda { display:flex;gap:18px;flex-wrap:wrap;font-size:10px;color:#65768a;padding:0 20px 18px }
#modelo-plan .leyenda span { display:flex;align-items:center;gap:6px }
#modelo-plan .leyenda i { width:15px;height:7px;border-radius:2px;display:inline-block }
#modelo-plan .leyenda .critica { background:#af5867 }
#modelo-plan .leyenda .normal { background:#6f8fa8 }
#modelo-plan .leyenda .margen { background:repeating-linear-gradient(135deg,#b2beca 0 2px,#f1f4f7 2px 4px) }
#modelo-plan .gantt-scroll { overflow:auto;max-height:600px;border-top:1px solid #e5ebf1 }
#modelo-plan .gantt { --nombres:175px;position:relative;min-width:660px }
#modelo-plan .gantt-head, #modelo-plan .gantt-row { display:grid;grid-template-columns:var(--nombres) minmax(0,1fr) }
#modelo-plan .gantt-head { height:60px;background:#f8fafc;position:sticky;top:0;z-index:8;border-bottom:1px solid #dfe6ee }
#modelo-plan .gantt-head>span { font-size:10px;text-transform:uppercase;letter-spacing:.08em;display:flex;align-items:end;padding:0 16px 12px;color:#8291a2;position:sticky;left:0;background:#f8fafc;z-index:2 }
#modelo-plan .eje { position:relative;font-size:10px;color:#65778b;margin-right:18px }
#modelo-plan .eje .mes { position:absolute;top:10px;font-size:11px;font-weight:600;text-transform:capitalize;white-space:nowrap }
#modelo-plan .eje .tick { position:absolute;bottom:10px;transform:translateX(-50%);white-space:nowrap;font-variant-numeric:tabular-nums }
#modelo-plan .eje .tick:first-of-type { transform:none }
#modelo-plan .gantt-row { height:53px;border-bottom:1px solid #edf1f5;position:relative }
#modelo-plan .gantt-row.seleccionada { background:#f0f5fa }
#modelo-plan .nombre-tarea { display:flex;gap:9px;align-items:center;border:0;border-right:1px solid #e8edf2;background:#fff;text-align:left;padding:0 13px;border-radius:0;position:sticky;left:0;z-index:5;min-width:0;font-size:11px;font-weight:500;white-space:normal;line-height:1.4 }
#modelo-plan .nombre-tarea .numero { font-size:10px;color:#8b9bae;font-weight:400;font-variant-numeric:tabular-nums }
#modelo-plan .nombre-tarea .texto-nombre { min-width:0;overflow-wrap:anywhere }
#modelo-plan .nombre-tarea .indicador { font-size:9px;color:#a14959;display:block;line-height:1.25;margin-top:2px }
#modelo-plan .gantt-row.seleccionada .nombre-tarea { background:#e9f1f8;box-shadow:inset 3px 0 #316185 }
#modelo-plan .track { position:relative;margin-right:18px;min-width:0 }
#modelo-plan .no-laboral, #modelo-plan .division { position:absolute;top:0;bottom:0;pointer-events:none }
#modelo-plan .no-laboral { background:#e9eef363 }
#modelo-plan .division { border-left:1px solid #e6ebf1 }
#modelo-plan .tarea-barra { position:absolute;height:22px;top:15px;padding:0;border-radius:4px;background:#7795ad;border:1px solid #68889f;color:#fff;min-width:3px;overflow:hidden;z-index:3;transition:left .18s ease,width .18s ease }
#modelo-plan .tarea-barra.critica { background:#b46776;border-color:#a45162 }
#modelo-plan .seleccionada .tarea-barra { outline:2px solid #315e80;outline-offset:3px }
#modelo-plan .tarea-barra:hover { filter:brightness(.92) }
#modelo-plan .tarea-barra .duracion { font-size:10px;line-height:20px;font-weight:500;white-space:nowrap }
#modelo-plan .tarea-barra .contingencia { position:absolute;top:0;bottom:0;right:0;border-left:1px solid #ffffff90;background:repeating-linear-gradient(135deg,#ffffff60 0 2px,#ffffff00 2px 5px);pointer-events:none }
#modelo-plan .tarea-barra.hito { width:10px!important;height:10px;top:20px;transform:translateX(-50%) rotate(45deg);border-radius:1px;overflow:visible }
#modelo-plan .tarea-barra.hito .duracion { display:none }
#modelo-plan .tarea-barra.previsualizando { border-style:dashed }
#modelo-plan .conexiones { position:absolute;left:175px;top:60px;width:calc(100% - 193px);height:calc(100% - 60px);pointer-events:none;z-index:2;overflow:visible }
#modelo-plan .conexiones path { stroke:#8497ac;stroke-width:1.3;fill:none }
#modelo-plan .conexiones path.critica { stroke:#ae6170;stroke-width:1.7 }
#modelo-plan .hoy { position:absolute;top:0;bottom:0;width:1px;background:#99794190;pointer-events:none;z-index:4 }
#modelo-plan .hoy span { position:absolute;top:3px;left:0;transform:translateX(-50%);font-size:9px;letter-spacing:.03em;color:#806538;background:#fff8e8;padding:2px 4px }
#modelo-plan .pie-cronograma { padding:12px 18px;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;font-size:10px;color:#748497 }
#modelo-plan .pie-cronograma span:last-child { color:#8f5061 }
#modelo-plan .nota-modelo { margin:16px 30px 24px;font-size:11px;color:#77889b }
#modelo-plan .espacio.plegado { grid-template-columns:minmax(0,1fr) }
#modelo-plan .espacio.plegado .editor { display:none }
#modelo-plan.cronograma-ampliado .barra-plan,#modelo-plan.cronograma-ampliado .modelo-guardado { display:none }
#modelo-plan.cronograma-ampliado .gantt-scroll { max-height:calc(100vh - 172px) }
#modelo-plan.cronograma-ampliado .cronograma { border-radius:6px }
.plan-panel:has(#modelo-plan.cronograma-ampliado) { padding:12px }
.plan-panel:has(#modelo-plan.cronograma-ampliado)>.plan-cabecera { display:none }
.plan-panel:has(#modelo-plan.cronograma-ampliado) .plan-detalle-cabecera { margin-bottom:8px;padding-bottom:8px }
#modelo-plan .vacio { padding:70px 25px;text-align:center;color:#77899b;font-size:13px }
#modelo-plan .obsoleto .gantt-row { opacity:.45 }
#modelo-plan dialog { border:1px solid #dce4ec;border-radius:10px;padding:24px;max-width:430px;color:#29384a;box-shadow:0 14px 80px #172b4540 }
#modelo-plan dialog::backdrop { background:#17283d55 }
#modelo-plan dialog h2 { font-size:18px;margin-bottom:12px }
#modelo-plan dialog p { font-size:13px;line-height:1.65;color:#5a6c80 }
#modelo-plan .confirmacion-acciones { display:flex;justify-content:flex-end;gap:8px;margin-top:22px }
@media(min-width:1600px) {
#modelo-plan .espacio { grid-template-columns:355px minmax(0,1fr) }
#modelo-plan .gantt { --nombres:210px }
#modelo-plan .conexiones { left:210px;width:calc(100% - 228px) }
}
@media(max-width:1100px) {
#modelo-plan .espacio { grid-template-columns:300px minmax(0,1fr);gap:12px;padding:0 18px }
#modelo-plan .cabecera { padding:14px 18px }
#modelo-plan .titulo { padding:20px 18px }
#modelo-plan .barra-plan { margin:0 18px 16px;gap:16px;flex-wrap:wrap }
#modelo-plan .calendario { margin-left:0 }
#modelo-plan .editor form { padding:14px }
#modelo-plan .cronograma-titulo { padding:16px 14px 12px;flex-wrap:wrap }
#modelo-plan .leyenda { padding-left:14px;padding-right:14px }
#modelo-plan .nota-modelo { margin-left:18px }
#modelo-plan .fin { padding-left:16px }
#modelo-plan .prueba { display:none }
}
@media(max-width:780px) {
#modelo-plan .espacio { grid-template-columns:minmax(0,1fr) }
#modelo-plan .editor form { grid-template-columns:1fr 1fr }
#modelo-plan .editor form>.dependencias, #modelo-plan .editor form>.opcional, #modelo-plan .editor form>.acciones-editor, #modelo-plan .editor form>.error, #modelo-plan .editor form>.fechas-tarea { grid-column:1/-1 }
#modelo-plan .editor form>.dos { grid-column:1/-1 }
#modelo-plan .gantt-scroll { max-height:500px }
#modelo-plan .titulo h1 { font-size:20px }
#modelo-plan .cabecera { gap:12px }
#modelo-plan .seccion { padding-left:12px }
#modelo-plan .barra-plan .calendario { width:100%;line-height:1.5 }
#modelo-plan .fin { border-left:0;padding-left:0 }
#modelo-plan .editor-titulo { padding:14px }
#modelo-plan .titulo { align-items:start }
#modelo-plan .entorno { margin-left:auto }
#modelo-plan .cronograma-titulo .secundario { display:none }
}
@media(max-width:420px) {
#modelo-plan .titulo { flex-wrap:wrap }
#modelo-plan .titulo .primario { width:100% }
#modelo-plan .editor form { grid-template-columns:minmax(0,1fr) }
#modelo-plan .editor form>* { grid-column:1/-1 }
#modelo-plan .seccion { display:none }
#modelo-plan .barra-plan { padding:12px;gap:12px }
#modelo-plan .barra-plan label { flex-wrap:wrap }
#modelo-plan .entorno { font-size:9px }
#modelo-plan .nota-modelo { line-height:1.5 }
}
@media(prefers-reduced-motion:reduce) {
#modelo-plan .tarea-barra { transition:none }
}
#modelo-plan .tres { display:grid;grid-template-columns:1fr 1fr 1fr;gap:9px }
#modelo-plan .tres label { font-size:11px }
#modelo-plan .tres input, #modelo-plan .tres select { padding:8px }
#modelo-plan .cabecera { min-height:54px;padding-top:10px;padding-bottom:10px }
#modelo-plan .titulo { padding-top:18px;padding-bottom:16px }
#modelo-plan .editor-titulo { padding-top:14px;padding-bottom:14px }
#modelo-plan .editor form { gap:12px }
#modelo-plan .dependencias { padding-top:12px }
#modelo-plan .barra-plan { padding-top:10px;padding-bottom:10px;margin-bottom:16px }
@media(max-width:780px) {
#modelo-plan .editor form { grid-template-columns:minmax(0,1fr) }
#modelo-plan .editor form>.tres { grid-column:1/-1 }
#modelo-plan .relacion { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:end }
#modelo-plan .relacion-parametros { margin-top:0 }
#modelo-plan .editor form { gap:10px }
#modelo-plan .editor-titulo { padding-top:11px;padding-bottom:11px }
#modelo-plan .fechas-tarea { padding:7px 10px }
#modelo-plan .opcional { padding-top:10px }
#modelo-plan .titulo { padding-top:14px;padding-bottom:14px }
}
@media(max-width:420px) {
#modelo-plan .relacion { grid-template-columns:minmax(0,1fr);gap:8px }
}
#modelo-plan { background:transparent; }
#modelo-plan input[name=nombre] { min-width:0; }
#modelo-plan input[type=number], #modelo-plan select { width:100%; }
#modelo-plan .barra-plan { margin:0 0 16px; padding:12px 16px; }
#modelo-plan .barra-plan>.primario { margin-left:auto; }
#modelo-plan .crud-tareas { display:flex; align-items:center; gap:5px; margin-left:auto; padding:4px; background:#eef3f7; border:1px solid #d9e2ea; border-radius:8px; }
#modelo-plan .crud-tareas[hidden] { display:none; }
#modelo-plan .plan-editor-comentario { display:grid; gap:7px; margin-top:16px; color:#31455e; font-size:12px; font-weight:600; }
#modelo-plan .plan-editor-comentario textarea { box-sizing:border-box; width:100%; min-height:60px; padding:10px 12px; border:1px solid #ccd8e3; border-radius:8px; color:#24364b; font:inherit; font-weight:400; resize:vertical; }
#modelo-plan.cronograma-ampliado .plan-editor-comentario { display:none; }
#modelo-plan .crud-tareas button,#modelo-plan .icono-inline { width:32px; height:32px; display:grid; place-items:center; padding:0; color:#355a79; background:#fff; border:1px solid #ccd8e3; border-radius:6px; }
#modelo-plan .crud-tareas button:hover,#modelo-plan .icono-inline:hover { background:#e6eef5; border-color:#8fa7ba; }
#modelo-plan .editor-acciones { display:flex; align-items:center; gap:8px; flex-shrink:0; }
#modelo-plan .editor-acciones button[data-modelo-eliminar] { color:#9b4352; }
#modelo-plan .crud-tareas svg,#modelo-plan .icono-inline svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
#modelo-plan .tipo-tarea { margin:0; padding:0; border:0; min-width:0; }
#modelo-plan .tipo-tarea legend { margin-bottom:7px; font-size:11px; color:#4d5b6d; }
#modelo-plan .tipo-tarea label { display:inline-flex; flex-direction:row; align-items:center; gap:5px; margin:0 8px 0 0; color:#29384a; }
#modelo-plan .tipo-tarea input[type=radio] { width:14px; height:14px; margin:0; padding:0; accent-color:#255780; }
#modelo-plan .espacio { padding:0; grid-template-columns:310px minmax(0,1fr); }
#modelo-plan .espacio.plegado { grid-template-columns:minmax(0,1fr); }
#modelo-plan .orden-editor { display:flex; gap:14px; border-top:1px solid #e5ebf1; padding-top:8px; }
#modelo-plan .modelo-guardado { display:flex; gap:12px; align-items:center; flex-wrap:wrap; margin-top:16px; }
#modelo-plan .modelo-guardado>div { flex:1; min-width:230px; font-size:12px; }
#modelo-plan .modelo-guardado small { display:block; margin-top:5px; }
#modelo-plan [data-base][hidden] { display:none; }
#modelo-plan .tarea-barra { padding:0; }
@media(max-width:1000px) { #modelo-plan .espacio { grid-template-columns:270px minmax(0,1fr); } }
@media(max-width:800px) { #modelo-plan .espacio { grid-template-columns:minmax(0,1fr); } }
#modelo-plan .cronograma-titulo [data-modelo-plegar] { display:block; }
