/* =============================================================================
 * MÓDULO PROYECTOS — estilos propios del modal de proyecto (modulos/proyectos/js/proyectoDetalle.js): botón dividido
 * "Portal del cliente" + menú, e Informe IA. Se incluye solo si el módulo está activo (header: nx_modulos_css()).
 * El armazón .pd-* (cabecera, pestañas, KPIs) se queda en css/app.css [§44]: lo reutilizan Cliente 360, tareas y cotizaciones.
 * Solo tokens de :root. Origen: [§44].
 * ===========================================================================*/
/* Split "Portal del cliente" + menú */
.pd-split{position:relative;display:inline-flex}
.pd-split > .btn:first-child{border-top-right-radius:0;border-bottom-right-radius:0}
.pd-split .pd-split-car{border-top-left-radius:0;border-bottom-left-radius:0;border-left-width:0;padding:0 10px}
.pd-menu{position:absolute;top:calc(100% + 4px);right:0;min-width:215px;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-sm);box-shadow:var(--shadow-2);padding:4px;z-index:6;display:flex;flex-direction:column}
.pd-menu[hidden]{display:none}
.pd-menu a,.pd-menu button{display:flex;align-items:center;gap:8px;padding:9px 11px;border-radius:var(--radius-sm);color:var(--text);background:none;border:0;text-align:left;font-size:var(--fs-cell);text-decoration:none;cursor:pointer}
.pd-menu a:hover,.pd-menu button:hover,.pd-menu a:focus-visible,.pd-menu button:focus-visible{background:var(--surface);outline:none;color:var(--text)}
.pd-menu .fa{color:var(--text-muted);width:14px;text-align:center}
/* Informe IA */
.pd-informe{margin-top:12px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface-2);padding:12px 14px;max-height:min(260px, 34vh);overflow:auto}
.pd-informe[hidden]{display:none}
.pd-informe-cab{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}
.pd-informe-cab strong{font-family:var(--font-display);font-size:var(--fs-base)}
.pd-informe-ia{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--secondary);border:1px solid color-mix(in srgb, var(--secondary) 50%, transparent);border-radius:var(--radius-full);padding:.1em .6em}
.pd-informe-acc{margin-left:auto;display:flex;gap:6px;flex-wrap:wrap}
.pd-informe-texto{font-size:var(--fs-base);line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}
.pd-informe-texto a{color:var(--primary);text-decoration:underline}
.pd-informe-carga{display:flex;align-items:center;gap:10px;color:var(--text-muted);font-size:var(--fs-cell);padding:6px 0}
.pd-informe-err{margin:0 0 8px;color:var(--critical);font-size:var(--fs-cell)}

@media (max-width:640px){
  .pd-split .pd-split-car{padding:0 8px}
  .pd-informe{max-height:30vh}
}

/* =============================================================================
 * [Aplicar plantilla] Modal «Aplicar plantilla» de la pestaña Tareas (proyectoDetalle.js, plantillaProyecto/modalPlantilla)
 * ===========================================================================*/
.pd-pl{width:min(560px, 92vw);display:flex;flex-direction:column;gap:var(--sp-4)}
.pd-pl-titulo{margin:0;padding-right:44px;font-family:var(--font-display);font-size:var(--fs-xl);font-weight:600}
.pd-pl-desc{margin:var(--sp-2) 0 0;color:var(--text-muted);font-size:var(--fs-cell);line-height:1.5}
.pd-pl-desc[hidden]{display:none}
.pd-pl-fecha input{max-width:200px}
.pd-pl-opc{margin:0;padding:var(--sp-3);border:1px solid var(--border);border-radius:var(--radius);display:flex;flex-direction:column;gap:var(--sp-2);min-width:0}
.pd-pl-leg{float:none;width:auto;margin:0 0 var(--sp-1);padding:0;font-size:var(--fs-sm);font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}
.pd-pl-chk{display:flex;align-items:center;gap:var(--sp-2);margin:0;font-size:var(--fs-base);color:var(--text);cursor:pointer;min-height:28px}
.pd-pl-chk input{accent-color:var(--primary);width:16px;height:16px;flex:none}
.pd-pl-resumen{display:flex;align-items:flex-start;gap:var(--sp-2);padding:var(--sp-3);border-radius:var(--radius);background:color-mix(in srgb, var(--primary) 12%, transparent);border:1px solid color-mix(in srgb, var(--primary) 35%, transparent);color:var(--text);font-size:var(--fs-cell);line-height:1.45}
.pd-pl-resumen .fa{margin-top:2px;color:var(--primary)}
.pd-pl-resumen--vacio{background:var(--surface-2);border-color:var(--border);color:var(--text-muted)}
.pd-pl-resumen--vacio .fa{color:var(--text-muted)}
.pd-pl-lista{list-style:none;margin:0;padding:0;max-height:min(220px, 28vh);overflow:auto;border:1px solid var(--border);border-radius:var(--radius)}
.pd-pl-fila{display:flex;justify-content:space-between;gap:var(--sp-3);padding:6px var(--sp-3);font-size:var(--fs-cell);border-bottom:1px solid var(--border)}
.pd-pl-fila:last-child{border-bottom:0}
.pd-pl-fila-t{min-width:0;overflow-wrap:anywhere}
.pd-pl-fila-d{flex:none;color:var(--text-muted);font-family:var(--font-mono);font-size:var(--fs-xs);white-space:nowrap;padding-top:2px}
.pd-pl-fila--off .pd-pl-fila-t{color:var(--text-muted);text-decoration:line-through}
.pd-plantilla-abrir{white-space:nowrap}
@media (max-width:640px){
  .pd-pl-fila{flex-direction:column;gap:2px}
}

/* =============================================================================
 * [Editor de plantilla] Editor de plantillas de proyecto con sus tareas (plantilla_editor.php, js/plantillaEditor.js)
 * ===========================================================================*/
.pe-raiz{width:min(920px, 94vw)}
.pe-form{display:flex;flex-direction:column;gap:var(--sp-4)}
.pe-titulo{margin:0;padding-right:44px;font-family:var(--font-display);font-size:var(--fs-xl);font-weight:600}
.pe-cab{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--sp-4);align-items:start}
.pe-desc{grid-column:1 / -1}
.pe-activa{padding-top:26px}
.pe-tareas-sec{display:flex;flex-direction:column;gap:var(--sp-3);border-top:1px solid var(--border);padding-top:var(--sp-4)}
.pe-tareas-cab h4{margin:0;font-family:var(--font-display);font-size:var(--fs-lg);font-weight:600}
.pe-cuenta{color:var(--text-muted);font-weight:400;font-size:var(--fs-base)}
.pe-tareas-cab .nx-ayuda{margin:var(--sp-1) 0 0}
.pe-lista{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--sp-2)}
.pe-vacio[hidden]{display:none}
.pe-tarea{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);transition:border-color var(--dur-fast) var(--ease-standard)}
.pe-tarea:focus-within,.pe-tarea--abierta{border-color:var(--border-strong)}
.pe-tarea-cab{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3)}
.pe-num{flex:none;width:24px;height:24px;border-radius:var(--radius-full);display:inline-flex;align-items:center;justify-content:center;background:var(--surface);border:1px solid var(--border-strong);color:var(--text-muted);font-family:var(--font-mono);font-size:var(--fs-xs)}
.pe-t{flex:1 1 auto;min-width:0}
.pe-resumen{flex:none;color:var(--text-muted);font-family:var(--font-mono);font-size:var(--fs-xs);white-space:nowrap}
.pe-acciones{flex:none;display:flex;gap:2px}
.pe-tarea-cuerpo{padding:var(--sp-1) var(--sp-3) var(--sp-3);display:flex;flex-direction:column;gap:var(--sp-3);border-top:1px solid var(--border)}
.pe-tarea-cuerpo[hidden],.pe-etq[hidden]{display:none}
.pe-fila-num{display:grid;grid-template-columns:130px 130px minmax(0,1fr);gap:var(--sp-3);align-items:end;padding-top:var(--sp-3)}
.pe-checks{display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-4);padding-bottom:6px}
.pe-checks .form-check{margin:0}
.pe-fila-txt{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-3)}
.pe-agregar{align-self:flex-start}
@media (max-width:720px){
  .pe-cab{grid-template-columns:1fr}
  .pe-activa{padding-top:0}
  .pe-resumen{display:none}
  .pe-fila-num{grid-template-columns:1fr 1fr}
  .pe-checks{grid-column:1 / -1}
  .pe-fila-txt{grid-template-columns:1fr}
  .pe-tarea-cab{flex-wrap:wrap}
  .pe-t{flex-basis:calc(100% - 40px)}
  .pe-acciones{margin-left:auto}
}
