:root{
  --azul-950:#0b1c33; --azul-900:#102a4c; --azul-800:#163a68; --azul-700:#1d4b86;
  --verde:#1f9d55; --verde-suave:#e6f7ec; --ambar:#c8850a; --ambar-suave:#fdf3e0;
  --rojo:#c0392b; --rojo-suave:#fbe9e7; --gris-50:#f7f8fa; --gris-100:#eef1f5;
  --gris-200:#e1e6ec; --gris-400:#9aa5b1; --gris-600:#5b6675; --gris-800:#2b3440;
  --texto:#1b232d; --borde:#dfe4ea; --blanco:#fff; --radio:10px;
  --sombra:0 1px 2px rgba(20,30,50,.06),0 4px 14px rgba(20,30,50,.06);
}
*{box-sizing:border-box}
body{margin:0;font-family:-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--texto);background:var(--gris-50);font-size:14.5px;line-height:1.5}
a{color:var(--azul-700);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3,h4{margin:0 0 .5em;font-weight:650;color:var(--gris-800)}
.layout{display:flex;min-height:100vh}
.sidebar{width:250px;flex:0 0 250px;background:linear-gradient(180deg,var(--azul-950),var(--azul-900));color:#dfe8f5;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}
.marca{padding:20px 18px 14px;border-bottom:1px solid rgba(255,255,255,.08)}
.marca-titulo{font-weight:750;font-size:16px;color:#fff;line-height:1.25}
.marca-sub{font-size:11.5px;color:#9fb3cc;margin-top:2px}
.nav{flex:1;padding:10px;overflow-y:auto}
.nav a{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:8px;color:#cfe0f4;font-size:13.6px;margin-bottom:2px}
.nav a:hover{background:rgba(255,255,255,.07);text-decoration:none}
.nav a.activo{background:var(--verde);color:#fff;font-weight:600}
.nav .icono{font-size:15px;width:18px;text-align:center}
.pie-sidebar{padding:12px 16px;border-top:1px solid rgba(255,255,255,.08);font-size:11.2px;color:#8ea3bd}
.contenido{flex:1;min-width:0;display:flex;flex-direction:column}
.topbar{background:#fff;border-bottom:1px solid var(--borde);padding:12px 24px;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:5}
.topbar .entidad{font-weight:650;font-size:14.5px}
.topbar .vigencia{color:var(--gris-600);font-size:12.5px}
.topbar form{display:inline}
.btn-salir{background:none;border:1px solid var(--borde);border-radius:8px;padding:6px 12px;font-size:12.8px;color:var(--gris-600);cursor:pointer}
.btn-salir:hover{background:var(--gris-100)}
.main{padding:22px 26px 60px;max-width:1320px;width:100%;margin:0 auto}
.migas{font-size:12.5px;color:var(--gris-600);margin-bottom:14px}

.tarjeta{background:#fff;border:1px solid var(--borde);border-radius:var(--radio);padding:18px 20px;box-shadow:var(--sombra)}
.rejilla{display:grid;gap:16px}
.rejilla-4{grid-template-columns:repeat(4,1fr)}
.rejilla-3{grid-template-columns:repeat(3,1fr)}
.rejilla-2{grid-template-columns:repeat(2,1fr)}
@media(max-width:1000px){.rejilla-4,.rejilla-3,.rejilla-2{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.rejilla-4,.rejilla-3,.rejilla-2{grid-template-columns:1fr}}

.kpi{background:#fff;border:1px solid var(--borde);border-radius:var(--radio);padding:16px 18px;box-shadow:var(--sombra)}
.kpi .valor{font-size:28px;font-weight:750;color:var(--azul-900)}
.kpi .etiqueta{font-size:12.2px;color:var(--gris-600);margin-top:2px}

.chip{display:inline-block;padding:3px 10px;border-radius:999px;font-size:11.8px;font-weight:600}
.chip-ok{background:var(--verde-suave);color:var(--verde)}
.chip-aviso{background:var(--ambar-suave);color:var(--ambar)}
.chip-mal{background:var(--rojo-suave);color:var(--rojo)}
.chip-gris{background:var(--gris-100);color:var(--gris-600)}

table.datos{width:100%;border-collapse:collapse;font-size:13.2px}
table.datos th{background:var(--gris-100);text-align:left;padding:9px 10px;font-weight:650;color:var(--gris-800);border-bottom:1px solid var(--borde);white-space:nowrap}
table.datos td{padding:8px 10px;border-bottom:1px solid var(--gris-100);vertical-align:top}
table.datos tr:hover td{background:var(--gris-50)}
.tabla-envoltura{overflow-x:auto;border:1px solid var(--borde);border-radius:var(--radio);background:#fff}

.grupo-planes{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;margin-bottom:26px}
.tarjeta-tabla{display:block;background:#fff;border:1px solid var(--borde);border-radius:var(--radio);padding:14px 16px;box-shadow:var(--sombra)}
.tarjeta-tabla:hover{border-color:var(--azul-700);text-decoration:none}
.tarjeta-tabla .t{font-weight:650;font-size:13.6px;color:var(--gris-800)}
.tarjeta-tabla .n{font-size:11.8px;color:var(--gris-600);margin-top:2px}

form.forma{display:grid;grid-template-columns:repeat(2,1fr);gap:12px 16px}
form.forma .campo-ancho{grid-column:1/-1}
@media(max-width:760px){form.forma{grid-template-columns:1fr}}
.campo label{display:block;font-size:12.4px;font-weight:600;color:var(--gris-600);margin-bottom:4px}
.campo input[type=text],.campo input[type=number],.campo input[type=date],.campo input[type=email],.campo input[type=password],.campo select,.campo textarea{
  width:100%;padding:8px 10px;border:1px solid var(--borde);border-radius:8px;font-size:13.4px;font-family:inherit;background:#fff}
.campo textarea{min-height:64px;resize:vertical}
.campo .error{color:var(--rojo);font-size:11.6px;margin-top:3px}
.campo-check{display:flex;align-items:center;gap:8px;margin-top:22px}

.btn{display:inline-block;background:var(--azul-800);color:#fff;border:none;border-radius:8px;padding:9px 16px;font-size:13.4px;font-weight:600;cursor:pointer}
.btn:hover{background:var(--azul-700);text-decoration:none;color:#fff}
.btn-verde{background:var(--verde)}
.btn-verde:hover{background:#188049}
.btn-rojo{background:var(--rojo)}
.btn-rojo:hover{background:#a4291c}
.btn-tenue{background:#fff;color:var(--gris-800);border:1px solid var(--borde)}
.btn-tenue:hover{background:var(--gris-100);color:var(--gris-800)}
.btn-mini{padding:4px 9px;font-size:11.8px;border-radius:6px}

.alerta{border-radius:8px;padding:10px 14px;font-size:13px;margin-bottom:16px}
.alerta-ok{background:var(--verde-suave);color:#146538}
.alerta-error{background:var(--rojo-suave);color:#8f2a1f}

.pantalla-acceso{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,var(--azul-950),var(--azul-800));padding:24px}
.caja-acceso{background:#fff;border-radius:14px;padding:34px 32px;width:100%;max-width:400px;box-shadow:0 20px 50px rgba(0,0,0,.3)}
.caja-acceso h1{font-size:19px;margin-bottom:2px}
.caja-acceso .sub{font-size:12.6px;color:var(--gris-600);margin-bottom:22px}
.caja-acceso .campo{margin-bottom:14px}
.derechos-acceso{text-align:center;color:#bcd0ec;font-size:11.3px;margin-top:18px}

.seccion{margin-bottom:30px}
.seccion h2{font-size:16px;border-left:4px solid var(--azul-700);padding-left:10px}
.seccion .seccion-sub{color:var(--gris-600);font-size:12.6px;margin:-4px 0 14px 14px}
.medidor{width:100%;height:8px;background:var(--gris-100);border-radius:99px;overflow:hidden}
.medidor > span{display:block;height:100%;border-radius:99px}

/* --- Hero / estado general --- */
.hero{background:linear-gradient(120deg,var(--azul-950),var(--azul-800));border-radius:14px;padding:22px 26px;color:#fff;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:26px;box-shadow:var(--sombra)}
.hero-titulo{font-size:19px;font-weight:700}
.hero-sub{font-size:12.8px;color:#b9cbe6;margin-top:3px}
.hero-estado{display:flex;gap:22px;flex-wrap:wrap}
.hero-pastilla{text-align:center;background:rgba(255,255,255,.08);border-radius:10px;padding:10px 18px;min-width:82px}
.hero-pastilla .n{font-size:22px;font-weight:750;line-height:1}
.hero-pastilla .t{font-size:10.8px;color:#c7d7ee;margin-top:4px;text-transform:uppercase;letter-spacing:.03em}
.hero-pastilla.v .n{color:#6be79a}
.hero-pastilla.a .n{color:#ffcf6b}
.hero-pastilla.r .n{color:#ff8f7d}

/* --- KPI con icono y barra --- */
.kpi-ico{background:#fff;border:1px solid var(--borde);border-radius:var(--radio);padding:16px 18px;box-shadow:var(--sombra);display:flex;gap:14px;align-items:flex-start}
.kpi-ico .bicho{width:40px;height:40px;flex:0 0 40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:19px;background:var(--azul-950)10}
.kpi-ico .bicho.b-azul{background:#e7eefb;color:var(--azul-800)}
.kpi-ico .bicho.b-verde{background:var(--verde-suave);color:var(--verde)}
.kpi-ico .bicho.b-ambar{background:var(--ambar-suave);color:var(--ambar)}
.kpi-ico .bicho.b-rojo{background:var(--rojo-suave);color:var(--rojo)}
.kpi-ico .cuerpo{flex:1;min-width:0}
.kpi-ico .valor{font-size:23px;font-weight:750;color:var(--azul-900);line-height:1.1}
.kpi-ico .etiqueta{font-size:11.8px;color:var(--gris-600);margin-top:2px}
.kpi-ico .barra-mini{margin-top:8px}

.barra-horizontal{width:100%;height:7px;background:var(--gris-100);border-radius:99px;overflow:hidden}
.barra-horizontal > span{display:block;height:100%;border-radius:99px;transition:width .3s}
.bh-ok{background:var(--verde)} .bh-aviso{background:var(--ambar)} .bh-mal{background:var(--rojo)} .bh-gris{background:var(--gris-400)}
.barra-nota{font-size:10.6px;color:var(--gris-600);margin-top:4px;display:flex;justify-content:space-between}

/* --- Tarjetas de los 5 planes --- */
.planes-rejilla{display:grid;grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:14px}
.plan-card{background:#fff;border:1px solid var(--borde);border-radius:var(--radio);padding:16px 16px 14px;box-shadow:var(--sombra);border-left:5px solid var(--gris-400);position:relative;transition:transform .12s}
.plan-card:hover{transform:translateY(-2px)}
.plan-card.pc-ok{border-left-color:var(--verde)}
.plan-card.pc-aviso{border-left-color:var(--ambar)}
.plan-card.pc-mal{border-left-color:var(--rojo)}
.plan-card .pc-cabeza{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.plan-card .pc-icono{width:34px;height:34px;border-radius:9px;background:var(--gris-100);display:flex;align-items:center;justify-content:center;font-size:16px;flex:0 0 34px}
.plan-card .pc-codigo{font-size:11px;color:var(--gris-600);font-weight:700;letter-spacing:.03em}
.plan-card .pc-vigencia{font-size:10.6px;color:var(--gris-400)}
.plan-card .pc-nombre{font-weight:650;font-size:13.6px;margin-bottom:10px;color:var(--gris-800);line-height:1.3}
.plan-card .pc-pie{display:flex;justify-content:space-between;align-items:center;font-size:11.4px;color:var(--gris-600);border-top:1px solid var(--gris-100);padding-top:8px;margin-top:2px}
.plan-card .pc-estado{font-weight:600}

/* --- Medidor semicircular (gauge SVG) --- */
.gauge-envoltura{display:flex;flex-direction:column;align-items:center;padding-top:4px}
.gauge-cifra{font-size:26px;font-weight:750;margin-top:-38px;color:var(--gris-800)}
.gauge-meta{font-size:11px;color:var(--gris-600);margin-top:2px}

/* --- Tarjetas de resumen por plan (rediseñadas) --- */
.resumen-rejilla{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}
.resumen-card{background:#fff;border:1px solid var(--borde);border-radius:var(--radio);box-shadow:var(--sombra);overflow:hidden}
.resumen-card .rc-cab{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--gris-100)}
.resumen-card .rc-cab .pc-icono{background:var(--azul-950);color:#fff}
.resumen-card .rc-titulo{font-weight:700;font-size:13.6px;color:var(--gris-800)}
.resumen-card .rc-sub{font-size:10.8px;color:var(--gris-600)}
.resumen-card .rc-cuerpo{padding:14px 16px}
.rc-fila{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:9px;font-size:12.6px;color:var(--gris-600)}
.rc-fila:last-child{margin-bottom:0}
.rc-fila .rc-num{font-weight:700;color:var(--gris-800);font-size:14px}
.rc-destacado{display:flex;align-items:baseline;gap:8px;margin-bottom:10px}
.rc-destacado .num-grande{font-size:26px;font-weight:750;color:var(--azul-900)}
.rc-destacado .num-sub{font-size:11.6px;color:var(--gris-600)}

.grafico-caja{background:#fff;border:1px solid var(--borde);border-radius:var(--radio);box-shadow:var(--sombra);padding:16px 18px}
.grafico-caja h3{font-size:13.4px;margin-bottom:12px;color:var(--gris-800)}
.grafico-alto{position:relative;height:260px}

@media(max-width:900px){.hero{flex-direction:column;align-items:flex-start}}

/* ===== Captura de Datos (editor generico) ===== */
.pagina-cab{background:#fff;border:1px solid var(--borde);border-radius:14px;padding:20px 24px;box-shadow:var(--sombra);margin-bottom:22px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.pagina-cab h1{font-size:19px;margin-bottom:4px}
.pagina-cab .sub{color:var(--gris-600);font-size:12.8px;max-width:640px}
.pagina-cab .stats{display:flex;gap:10px;flex-wrap:wrap}
.pagina-cab .stat{text-align:center;background:var(--gris-50);border:1px solid var(--borde);border-radius:10px;padding:8px 16px;min-width:76px}
.pagina-cab .stat .n{font-size:19px;font-weight:750;color:var(--azul-900)}
.pagina-cab .stat .t{font-size:10.4px;color:var(--gris-600);text-transform:uppercase;letter-spacing:.03em}

.grupo-seccion{background:#fff;border:1px solid var(--borde);border-radius:14px;box-shadow:var(--sombra);margin-bottom:20px;overflow:hidden}
.grupo-cab{display:flex;align-items:center;gap:12px;padding:16px 20px;background:var(--gris-50);border-bottom:1px solid var(--borde)}
.grupo-cab .bicho-grupo{width:38px;height:38px;border-radius:10px;background:var(--azul-950);color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;flex:0 0 38px}
.grupo-cab .titulo{font-weight:700;font-size:14.6px;color:var(--gris-800)}
.grupo-cab .desc{font-size:11.8px;color:var(--gris-600);margin-top:1px}
.grupo-cuerpo{padding:16px 20px}
.grupo-planes{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}

.tarjeta-tabla{display:flex;gap:12px;align-items:center;background:#fff;border:1px solid var(--borde);border-radius:11px;padding:13px 15px;box-shadow:var(--sombra);transition:transform .12s,border-color .12s}
.tarjeta-tabla:hover{border-color:var(--azul-700);text-decoration:none;transform:translateY(-2px)}
.tarjeta-tabla .icono-tabla{width:36px;height:36px;border-radius:9px;background:var(--gris-100);display:flex;align-items:center;justify-content:center;font-size:16px;flex:0 0 36px}
.tarjeta-tabla .cuerpo-tabla{flex:1;min-width:0}
.tarjeta-tabla .t{font-weight:650;font-size:13.2px;color:var(--gris-800);line-height:1.25}
.tarjeta-tabla .n{font-size:11.2px;color:var(--gris-600);margin-top:3px;display:flex;gap:8px;align-items:center}
.tarjeta-tabla .n .conteo{font-weight:700;color:var(--azul-800)}
.tarjeta-tabla .flecha{color:var(--gris-400);font-size:16px}

/* --- Subpagina de una tabla --- */
.tabla-cab{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap;margin-bottom:18px}
.tabla-cab .tit{display:flex;align-items:center;gap:12px}
.tabla-cab .icono-grande{width:46px;height:46px;border-radius:12px;background:var(--azul-950);color:#fff;display:flex;align-items:center;justify-content:center;font-size:21px;flex:0 0 46px}
.tabla-cab h2{margin:0;border:none;padding:0;font-size:18px}
.tabla-cab .desc{color:var(--gris-600);font-size:12.4px;margin-top:2px}

.banner-edicion{display:none;background:var(--ambar-suave);color:#7a5205;border:1px solid #f0d6a0;border-radius:9px;padding:10px 14px;font-size:12.8px;margin-bottom:14px;align-items:center;justify-content:space-between}
.banner-edicion.activo{display:flex}
.banner-edicion strong{font-weight:700}

fieldset.ff{border:1px solid var(--borde);border-radius:10px;padding:16px 18px 6px;margin:0}
fieldset.ff legend{font-size:12px;font-weight:700;color:var(--azul-800);text-transform:uppercase;letter-spacing:.03em;padding:0 6px}

.barra-tabla{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;flex-wrap:wrap}
.barra-tabla .chip{font-size:12px}
.filtro-tabla{position:relative}
.filtro-tabla input{padding:7px 12px 7px 30px;border:1px solid var(--borde);border-radius:8px;font-size:12.8px;width:220px;background:#fff url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" fill="none" stroke="%239aa5b1" stroke-width="2"><circle cx="6" cy="6" r="5"/><line x1="10" y1="10" x2="13.5" y2="13.5"/></svg>') no-repeat 9px center}

table.cat-grid{width:100%}
table.cat-grid tbody tr:nth-child(even) td{background:#fafbfc}
table.cat-grid tbody tr.fila-editando td{background:var(--ambar-suave)!important}
table.cat-grid td.col-vacio{color:var(--gris-400);text-align:center;padding:22px}
.chip-si{background:var(--verde-suave);color:var(--verde)}
.chip-no{background:var(--gris-100);color:var(--gris-600)}
.celda-texto{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block;vertical-align:bottom}

.campo-req{color:var(--rojo)}
.campo small.ayuda{display:block;color:var(--gris-400);font-size:10.8px;margin-top:3px}

/* ===== Encuesta de Clima Organizacional ===== */
.clima-dim-seccion{background:#fff;border:1px solid var(--borde);border-radius:14px;box-shadow:var(--sombra);margin-bottom:18px;overflow:hidden}
.clima-dim-cab{display:flex;align-items:center;gap:10px;padding:14px 18px;background:var(--azul-950);color:#fff}
.clima-dim-cab .n{font-weight:700;font-size:14.5px}
.clima-dim-cab .c{margin-left:auto;font-size:11.5px;background:rgba(255,255,255,.15);padding:3px 10px;border-radius:99px}
.clima-item{padding:14px 18px;border-bottom:1px solid var(--gris-100);display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}
.clima-item:last-child{border-bottom:none}
.clima-item .txt{flex:1;min-width:200px;font-size:13.4px;color:var(--gris-800)}
.clima-item .num{color:var(--gris-400);font-weight:700;margin-right:6px}
.clima-opciones{display:flex;gap:8px;flex:0 0 auto}
.clima-opciones label{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--borde);border-radius:8px;padding:6px 14px;font-size:12.6px;cursor:pointer;user-select:none}
.clima-opciones input{accent-color:var(--azul-800)}
.clima-opciones label:has(input:checked){border-color:var(--azul-700);background:#eef4fc;font-weight:600}
.clima-progreso{position:sticky;top:0;background:var(--gris-50);padding:8px 0;z-index:3;font-size:12px;color:var(--gris-600);text-align:center}
.clima-gauge-fila{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
@media(max-width:820px){.clima-gauge-fila{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.clima-gauge-fila{grid-template-columns:1fr}.clima-item{flex-direction:column;align-items:flex-start}}
.clima-cierre-info{background:#fff;border:1px dashed var(--borde);border-radius:12px;padding:20px;text-align:center;color:var(--gris-600)}

/* ===== PETH · Plan de Acción ===== */
.pa-filtros{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:16px;background:#fff;border:1px solid var(--borde);border-radius:10px;padding:12px 14px}
.pa-filtros select,.pa-filtros input[type=search]{padding:7px 10px;border:1px solid var(--borde);border-radius:8px;font-size:12.6px;background:#fff}
.pa-filtros .pa-contador{margin-left:auto;font-size:12px;color:var(--gris-600)}
.pa-ruta-seccion{margin-bottom:16px}
.pa-variable-grupo{margin-bottom:4px}
.pa-variable-titulo{display:flex;align-items:center;gap:8px;padding:10px 20px;background:#fbfbfc;border-bottom:1px solid var(--gris-100);font-size:12.4px;font-weight:700;color:var(--gris-600);text-transform:uppercase;letter-spacing:.02em}
.pa-variable-titulo .n{font-weight:600;text-transform:none;letter-spacing:0;color:var(--gris-400);margin-left:auto}
.pa-actividad-card{padding:16px 20px;border-bottom:1px solid var(--gris-100);display:grid;grid-template-columns:1fr 220px;gap:16px}
.pa-actividad-card:last-child{border-bottom:none}
.pa-actividad-card:hover{background:var(--gris-50)}
.pa-actividad-texto{font-size:13.6px;color:var(--gris-800);font-weight:600;margin-bottom:8px;line-height:1.4}
.pa-chip-fila{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}
.pa-chip{font-size:10.8px;padding:2px 9px;border-radius:99px;background:var(--gris-100);color:var(--gris-600);white-space:nowrap}
.pa-chip.pa-chip-ciclo{background:#e7eefb;color:var(--azul-800)}
.pa-meta{font-size:11.6px;color:var(--gris-400)}
.pa-lateral{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;gap:8px}
.pa-avance{width:100%;text-align:right}
.pa-avance .pct{font-size:18px;font-weight:750;color:var(--gris-800)}
.pa-avance .sin{font-size:11.6px;color:var(--gris-400);font-style:italic}
.pa-acciones{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.pa-form-fieldsets{display:grid;grid-template-columns:1fr 1fr;gap:14px;grid-column:1/-1}
@media(max-width:760px){.pa-actividad-card{grid-template-columns:1fr}.pa-lateral{align-items:flex-start}.pa-avance{text-align:left}.pa-acciones{justify-content:flex-start}.pa-form-fieldsets{grid-template-columns:1fr}}

/* ===== PETH · Seguimiento Trimestral (linea de tiempo por actividad) ===== */
.qt-actividad{padding:14px 20px;border-bottom:1px solid var(--gris-100);display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.qt-actividad:last-child{border-bottom:none}
.qt-actividad:hover{background:var(--gris-50)}
.qt-texto{flex:1;min-width:220px;font-size:13.2px;font-weight:600;color:var(--gris-800)}
.qt-fila{display:flex;gap:8px;flex:0 0 auto}
.qt-caja{width:64px;height:52px;border-radius:9px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;border:1px solid transparent;transition:transform .1s}
.qt-caja:hover{transform:translateY(-2px)}
.qt-caja .t{font-size:9.5px;text-transform:uppercase;letter-spacing:.03em;opacity:.75}
.qt-caja .p{font-size:13px;font-weight:750}
.qt-caja.qt-ok{background:var(--verde-suave);color:var(--verde)}
.qt-caja.qt-aviso{background:var(--ambar-suave);color:var(--ambar)}
.qt-caja.qt-mal{background:var(--rojo-suave);color:var(--rojo)}
.qt-caja.qt-vacio{background:var(--gris-50);color:var(--gris-400);border:1px dashed var(--gris-200)}
.qt-caja.qt-vacio .p{font-size:16px}

/* ===== PETH · Diagnostico (MGETH + FURAG) ===== */
.diag-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:22px}
@media(max-width:820px){.diag-grid{grid-template-columns:1fr}}
.diag-card{background:#fff;border:1px solid var(--borde);border-radius:14px;box-shadow:var(--sombra);overflow:hidden}
.diag-cab{padding:16px 20px;background:var(--gris-50);border-bottom:1px solid var(--borde);font-weight:700;font-size:13.6px;color:var(--gris-800);display:flex;align-items:center;gap:10px}
.diag-cuerpo{padding:18px 20px}
.diag-historial{padding:0 20px 18px}
.diag-historial table{width:100%;font-size:12.4px}
.diag-historial th{text-align:left;color:var(--gris-600);font-weight:600;padding:6px 8px;border-bottom:1px solid var(--gris-100)}
.diag-historial td{padding:7px 8px;border-bottom:1px solid var(--gris-100)}

/* ===== PETH · KPI trimestral (agrupado por ruta) ===== */
.kpi-ruta-fila{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px 20px;border-bottom:1px solid var(--gris-100);flex-wrap:wrap}
.kpi-ruta-fila:last-child{border-bottom:none}
.kpi-ruta-fila:hover{background:var(--gris-50)}
.kpi-ruta-info{flex:1;min-width:220px}
.kpi-ruta-nombre{font-weight:650;font-size:13.2px;color:var(--gris-800)}
.kpi-ruta-formula{font-size:11.2px;color:var(--gris-400);margin-top:2px}
.kpi-ruta-cifras{display:flex;align-items:center;gap:16px;flex:0 0 auto}
.kpi-ruta-cifras .par{text-align:center}
.kpi-ruta-cifras .par .n{font-size:15px;font-weight:750;color:var(--gris-800)}
.kpi-ruta-cifras .par .t{font-size:9.6px;color:var(--gris-400);text-transform:uppercase}
.kpi-ruta-barra{width:110px}

/* ===== Tarjeta de registro generica (PAV/PPRH/PIC/PBI) ===== */
.reg-seccion{margin-bottom:22px}
.reg-lista{background:#fff;border:1px solid var(--borde);border-radius:14px;box-shadow:var(--sombra);overflow:hidden}
.reg-card{padding:14px 20px;border-bottom:1px solid var(--gris-100);display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.reg-card:last-child{border-bottom:none}
.reg-card:hover{background:var(--gris-50)}
.reg-card .info{flex:1;min-width:220px}
.reg-card .titulo{font-weight:650;font-size:13.4px;color:var(--gris-800);margin-bottom:4px}
.reg-card .detalle{font-size:11.8px;color:var(--gris-600)}
.reg-card .chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.reg-card .lateral{display:flex;align-items:center;gap:14px;flex:0 0 auto}
.reg-card .cifra{text-align:center}
.reg-card .cifra .n{font-size:19px;font-weight:750;color:var(--gris-800)}
.reg-card .cifra .t{font-size:9.6px;color:var(--gris-400);text-transform:uppercase}
.reg-card .nido{margin-top:8px;padding:8px 12px;background:var(--gris-50);border-radius:8px;font-size:11.8px;color:var(--gris-600);border-left:3px solid var(--azul-700)}
.reg-card .acciones{display:flex;gap:6px}
.reg-vacio{padding:26px;text-align:center;color:var(--gris-400);font-size:12.8px}
.reg-forms{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:22px}
@media(max-width:900px){.reg-forms{grid-template-columns:1fr}}
.reg-forms.reg-forms-1{grid-template-columns:1fr}
.reg-form-card{background:#fff;border:1px solid var(--borde);border-radius:14px;box-shadow:var(--sombra);overflow:hidden}
.reg-form-cab{padding:14px 20px;background:var(--gris-50);border-bottom:1px solid var(--borde);font-weight:700;font-size:13.2px;color:var(--gris-800)}

/* ===== Informes y Reportes (informe imprimible por plan) ===== */
.informe-hoja{background:#fff;border:1px solid var(--borde);border-radius:14px;box-shadow:var(--sombra);padding:28px 32px;max-width:920px;margin:0 auto}
.informe-encabezado{text-align:center;border-bottom:2px solid var(--azul-900);padding-bottom:16px;margin-bottom:20px}
.informe-entidad{font-size:12.6px;text-transform:uppercase;letter-spacing:.04em;color:var(--gris-600);margin-bottom:4px}
.informe-titulo{font-size:19px;font-weight:750;color:var(--azul-900)}
.informe-meta{font-size:11.8px;color:var(--gris-600);margin-top:4px}
.informe-seccion{margin-bottom:24px}
.informe-seccion h3{font-size:14px;color:var(--gris-800);border-left:4px solid var(--azul-700);padding-left:10px;margin-bottom:12px}
.informe-datos{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px 20px;margin-bottom:14px}
.informe-datos div{display:flex;flex-direction:column;gap:2px;font-size:12.6px}
.informe-datos span{color:var(--gris-600);font-size:10.8px;text-transform:uppercase;letter-spacing:.03em}
.informe-objetivo span{display:block;color:var(--gris-600);font-size:10.8px;text-transform:uppercase;letter-spacing:.03em;margin-bottom:4px}
.informe-objetivo p{font-size:12.8px;color:var(--gris-800)}
.informe-aviso{color:var(--gris-600);font-size:12.8px;font-style:italic}
.informe-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:16px}
.informe-kpi{background:var(--gris-50);border:1px solid var(--borde);border-radius:10px;padding:12px 14px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:4px}
.informe-kpi .v{font-size:20px;font-weight:750;color:var(--azul-900)}
.informe-kpi .t{font-size:10.6px;color:var(--gris-600)}

@media print{
  .sidebar,.topbar,.no-imprimir,.pie-sidebar{display:none!important}
  .layout,.contenido,.main{margin:0!important;padding:0!important;display:block!important}
  body{background:#fff!important}
  .informe-hoja{box-shadow:none;border:none;max-width:100%;padding:0}
  .alerta{display:none!important}
}
.reg-form-cuerpo{padding:16px 20px}
