
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url("data:font/woff2;base64,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") format("woff2")}
/* ============================================================
   SEUS · Sistema de diseño  ("meta" + "reta")
   Marca base Dropi (naranja) · tokens claros/oscuros
   ============================================================ */
:root{
  /* --- marca --- */
  --naranja:#EA5A0B; --naranja-texto:#B94709; --sobre-naranja:#2A1206; --naranja-2:#FB8B3C; --naranja-3:#FFF1E6; --rojo-teja:#C6470F; --rojo-texto:#9A2D06;
  /* Naranja para texto sobre BLANCO fijo. NO swapea en oscuro (a diferencia de
     --naranja-texto, que se aclara a #FF7A2E para fondos oscuros): el CTA del hero
     lleva fondo #fff en ambos temas, así que su texto debe seguir oscuro. 5.31:1. */
  --naranja-sobre-blanco:#B94709;
  --kobj:#7c5cd6; --kobj-soft:#7c5cd614; /* acento de CONVERSACIÓN (F1.a), distinto del naranja de marca (de-dup E1↔E3 hecho al integrar E1 sobre main) */
  --brand-a:#FF7A18; --brand-b:#EA5A0B; --brand-c:#C6470F; /* gradiente cálido */
  --verde:#12A150; --verde-soft:#E6F6ED;
  --amarillo:#E08A00; --amarillo-soft:#FCF1DA;
  --rojo:#E23B3B; --rojo-soft:#FCE9E9;
  --azul:#2563EB; --azul-soft:#E8F0FE;
  /* --- neutros (escala) CÁLIDOS: misma familia que el peach/taupe del cromo (armonizado 2026-07) --- */
  --n900:#1C1917; --n800:#292423; --n700:#443E39; --n600:#57504A;
  --n500:#7A7168; --n400:#A2988D; --n300:#D3CCC4; --n200:#EAE4DD; --n100:#F3EFEA; --n50:#FAF7F4;
  /* --- roles semánticos (claro) --- */
  --tinta:var(--n900); --tinta-2:var(--n700); --gris:var(--n500); --gris-2:var(--n400);
  /* `--muted` se usaba 153 veces y NO estaba definido en NINGUNA parte: solo existe en
     `okreta-web/src/estilos/tokens.css`, que la carcasa no carga (`okreta.html` enlaza
     únicamente `/okreta.css`). Un `var()` sin resolver deja la declaración inválida en
     tiempo de valor calculado ⇒ `color` cae a `inherit` y el texto secundario se pinta
     como principal, perdiendo la jerarquía. Llevaba vivo en producción sin verse porque
     existe además la CLASE `.muted`, que sí funciona: quien busca «muted» la encuentra
     y concluye que está definido — y acierta, sobre otra cosa.
     Se DEFINE, no se renombran los 153 a `--gris`: si algún día quiso ser un gris
     distinto, renombrar congelaría una decisión que nadie tomó. Alias mientras tanto.
     Basta AQUÍ para los dos temas: `var(--gris)` se resuelve donde se usa, así que el
     bloque oscuro (`:root[data-theme="dark"]`, que redefine `--gris`) lo hereda solo.
     Medido por PD sobre los bytes de prod (`74f45a4`); confirmado aquí. */
  --muted:var(--gris);
  --linea:var(--n200); --linea-2:var(--n100);
  --fondo:#FFFBF7; --fondo-2:#FDF6EF; /* fondo general peach muy suave; tarjetas en blanco encima */
  --panel:#FFFFFF; --panel-2:#F8F5F1; --panel-hover:#F2EEE8;
  --entrada:#FFFFFF;
  /* --- sombras (base cálida, acorde a los neutros) --- */
  --sombra:0 1px 2px rgba(52,42,32,.06), 0 1px 3px rgba(52,42,32,.05);
  --sombra-2:0 10px 30px -8px rgba(52,42,32,.18), 0 4px 10px -4px rgba(52,42,32,.10);
  --sombra-brand:0 6px 18px -4px rgba(234,90,11,.45);
  --ring:0 0 0 3px rgba(234,90,11,.22);
  /* --- cromo (header + riel): sigue el tema (claro en claro, oscuro en oscuro);
         el naranja se reserva para acento/estado activo. Rediseño 2026-07. --- */
  --chrome:var(--panel); --chrome-2:var(--panel-2); --chrome-ink:var(--tinta); --chrome-ink-soft:var(--gris);
  --chrome-hover:var(--panel-hover); --chrome-line:var(--linea);
  /* Riel: MISMA familia de neutros cálidos que el resto (ya no taupe aparte). En oscuro se restauran. */
  --rail-ink:var(--tinta); --rail-ico-c:var(--gris); --rail-sec-c:var(--gris-2); --rail-active:var(--naranja-3);
  --card-bg:var(--panel); /* tarjetas en blanco; el peach va al fondo general (--fondo) */
  /* --- estado (semántico): fijo, separado del naranja de marca --- */
  --sem-ok:var(--verde); --sem-ok-soft:var(--verde-soft);
  --sem-warn:var(--amarillo); --sem-warn-soft:var(--amarillo-soft);
  --sem-bad:var(--rojo); --sem-bad-soft:var(--rojo-soft);
  /* --- forma / movimiento --- */
  --r:14px; --r-sm:10px; --r-xs:7px; --r-pill:999px;
  --t:.18s cubic-bezier(.4,0,.2,1);
  --fuente:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  color-scheme:light;
}
/* .dv-wrap va en la MISMA lista a propósito: Dropiverso es un lienzo espacial y se
   queda oscuro aunque el resto de la app esté en claro. Declarando aquí las
   variables, todo lo de dentro (que ya usa var(--panel), var(--tinta)…) se
   resuelve oscuro sin duplicar una sola regla — y no se desincroniza si el tema
   oscuro cambia. Fuera del contenedor NO afecta: riel y cabecera siguen claros. */
:root[data-theme="dark"],
.dv-wrap{
  --naranja:#FF7A2E; --naranja-texto:#FF7A2E; --sobre-naranja:#2A1206; --naranja-2:#FF9552; --naranja-3:#33231A; --rojo-teja:#FF6A1F; --rojo-texto:#FF6A1F;
  --kobj:#a98cf0; --kobj-soft:#a98cf01e; /* acento de conversación (F1.a) en oscuro */
  --verde:#34C77B; --verde-soft:#12271C;
  --amarillo:#F0A83A; --amarillo-soft:#2B2214;
  --rojo:#FF5E5E; --rojo-soft:#2C1719;
  --azul:#5B8CFF; --azul-soft:#16203A;
  --tinta:#EDEFF4; --tinta-2:#C4CAD6; --gris:#9098A9; --gris-2:#697084;
  --linea:#2A2F3B; --linea-2:#232833;
  --fondo:#0F1116; --fondo-2:#0B0D12;
  --panel:#171A21; --panel-2:#1C2028; --panel-hover:#222732;
  --entrada:#1C2028;
  --sombra:0 1px 2px rgba(0,0,0,.4);
  --sombra-2:0 14px 40px -10px rgba(0,0,0,.6);
  --sombra-brand:0 6px 18px -4px rgba(255,122,46,.35);
  --ring:0 0 0 3px rgba(255,122,46,.28);
  --rail-ink:var(--tinta); --rail-ico-c:var(--gris); --rail-sec-c:var(--gris); --rail-active:var(--naranja-3);
  --card-bg:var(--panel); /* en oscuro las tarjetas quedan neutras (el peach solo en claro) */
  color-scheme:dark;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:var(--fuente);
  background:var(--fondo); color:var(--tinta); font-size:14px; line-height:1.5;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  transition:background var(--t),color var(--t);
}
h1,h2,h3,h4{margin:0}
button{font-family:inherit;cursor:pointer}
input,select,textarea{font-family:inherit;font-size:13px}
a{color:var(--naranja-texto);text-decoration:none}
.hidden{display:none !important}

/* ---------- Header ---------- */
header#top{
  position:sticky;top:0;z-index:40;background:var(--chrome);
  color:var(--chrome-ink);box-shadow:var(--sombra);border-bottom:1px solid var(--chrome-line);
}
.top-row{display:flex;align-items:center;gap:12px;padding:8px 16px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:9px;font-weight:800;font-size:18px;letter-spacing:.3px}
.brand .logo{width:30px;height:30px;border-radius:8px;background:#fff;color:var(--naranja-texto);
  display:grid;place-items:center;font-weight:900;font-size:17px}
.brand small{font-weight:600;opacity:.85;font-size:11px}
.top-spacer{flex:1}
.search{display:flex;align-items:center;gap:6px;background:rgba(255,255,255,.18);
  border-radius:20px;padding:5px 12px;min-width:180px}
.search input{background:transparent;border:none;color:var(--chrome-ink);outline:none;width:100%}
.search input::placeholder{color:var(--chrome-ink-soft)}
.search .search-ic{display:inline-flex;align-items:center;color:var(--chrome-ink-soft);flex:0 0 auto}
.search .search-ic svg{width:16px;height:16px;display:block}
.search-k{margin-left:auto;font-family:var(--fuente);font-size:10.5px;font-weight:600;color:var(--chrome-ink-soft);background:rgba(255,255,255,.10);border:1px solid var(--chrome-line);border-radius:5px;padding:1px 6px;cursor:pointer;flex:0 0 auto}
.search-k:hover{color:var(--chrome-ink);background:rgba(255,255,255,.18)}
.gbtn{background:rgba(255,255,255,.16);border:none;color:#fff;border-radius:8px;
  padding:7px 11px;font-weight:600;font-size:13px;display:inline-flex;align-items:center;gap:6px}
.gbtn:hover{background:rgba(255,255,255,.28)}
.hamb{display:none;font-size:17px;line-height:1;padding:7px 12px}
#navback{display:none}
#bnav{display:none}
.msub{display:none}
.bell{position:relative}
.bell .badge{position:absolute;top:-6px;right:-6px;background:var(--rojo);color:#fff;
  border-radius:20px;min-width:17px;height:17px;font-size:10px;font-weight:800;
  display:grid;place-items:center;padding:0 4px;border:2px solid var(--naranja)}

/* período */
.periodo-bar{display:flex;align-items:center;gap:6px;padding:0 16px 9px;flex-wrap:wrap}
.pchip{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.25);color:#fff;
  border-radius:20px;padding:5px 13px;font-weight:700;font-size:12px}
.pchip.on{background:#fff;color:var(--naranja-texto);border-color:#fff}
.periodo-bar .lbl{font-size:12px;font-weight:600;opacity:.9;margin-right:2px}

/* ---------- Layout: rail que se expande al hover + segundo panel (estilo Intercom) ---------- */
.shell{display:flex;align-items:flex-start;min-height:100vh;padding-left:var(--rail-w,206px)}
/* Rail principal: EXPANDIDO por defecto (224px, con nombres · auditoría H2). El botón «
   lo contrae a 62px (solo iconos); contraído, el hover lo expande temporalmente. */
#rail{position:fixed;left:0;top:0;height:100vh;width:var(--rail-w,206px);z-index:60;overflow:hidden;
  background:var(--chrome);box-shadow:2px 0 14px -6px rgba(0,0,0,.35);border-right:1px solid var(--chrome-line);
  display:flex;flex-direction:column;gap:2px;padding:8px 8px 12px;transition:width .17s ease,box-shadow .17s ease}
body.rail-collapsed{--rail-w:58px}
body.rail-collapsed #rail:hover,body.menu-open #rail{width:206px;box-shadow:6px 0 26px -6px rgba(0,0,0,.4)}
.rail-brand{display:flex;align-items:center;gap:10px;height:36px;padding:0 2px;margin-bottom:4px;color:var(--chrome-ink);font-weight:800;font-size:15.5px;flex:0 0 auto}
.rail-brand .logo-w{width:33px;height:33px;border-radius:10px;background:var(--naranja);display:grid;place-items:center;flex:0 0 auto;overflow:hidden;color:var(--sobre-naranja)}
.rail-brand .logo-w svg{width:100%;height:100%;display:block}
.rail-ico{display:flex;align-items:center;gap:11px;width:100%;height:38px;padding:0 8px;border-radius:10px;border:none;
  background:transparent;color:var(--chrome-ink);cursor:pointer;transition:background var(--t),color var(--t);flex:0 0 auto;position:relative}
/* Badge de no-leídos del Inbox: naranja de MARCA (no el rojo de la campana — el
   Inbox es «tu equipo», no una alerta). pointer-events:none para no robar el clic.
   POSICIÓN: pegado al label («Inbox ③») por defecto —fluye como item flex tras el
   texto, con el gap recortado a ~7px—; NO al borde derecho (quedaba huérfano en el
   sidebar ancho). En COLAPSADO sin hover no hay label al que pegarse y el estático
   quedaría clipado por el overflow:hidden del rail → pasa a burbuja en la esquina
   superior del icono (patrón notificación). El hover, que expande el rail y muestra
   el label, recupera el hug por sí solo (de ahí `:not(:hover)`). */
.rail-badge{position:static;margin-left:-4px;flex:0 0 auto;background:var(--naranja);color:var(--sobre-naranja);
  border-radius:20px;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:800;
  line-height:16px;display:grid;place-items:center;pointer-events:none}
body.rail-collapsed #rail:not(:hover) .rail-badge{position:absolute;top:2px;left:22px;margin:0}
.rail-ico .ic-e{width:23px;min-width:23px;display:inline-flex;align-items:center;justify-content:center;font-size:17px;line-height:1;color:var(--chrome-ink-soft)}
.rail-ico .ic-e svg{width:18px;height:18px;display:block}
.rail-ico .rlabel{white-space:nowrap;font-size:13.5px;font-weight:500;letter-spacing:.01em;opacity:1;transition:opacity .1s ease}
body.rail-collapsed #rail .rail-ico .rlabel,body.rail-collapsed #rail .rail-brand .rlabel{opacity:0}
body.rail-collapsed #rail:hover .rail-ico .rlabel,body.rail-collapsed #rail:hover .rail-brand .rlabel{opacity:1}
/* Con un menú abierto el rail se ensancha a 206px (arriba), así que las etiquetas
   TIENEN que verse. Esta regla vivía antes que la de rail-collapsed y, con la
   misma especificidad, perdía: el rail quedaba ancho y sin nombres. Va aquí. */
body.menu-open #rail .rail-ico .rlabel,body.menu-open #rail .rail-brand .rlabel{opacity:1}
.rail-ico:hover{background:var(--chrome-hover)}
.rail-ico:hover .ic-e{color:var(--chrome-ink)}
/* activo: píldora naranja suave + barra lateral + icono/texto naranja (se lee sin depender solo del color) */
.rail-ico.on{background:var(--naranja-3);color:var(--naranja-texto);font-weight:700;box-shadow:inset 3px 0 0 0 var(--naranja)}
.rail-ico.on .ic-e{color:var(--naranja-texto)}
.rail-ico.on:hover{background:var(--naranja-3)}
.rail-brand .rlabel{opacity:1;transition:opacity .1s ease;white-space:nowrap}
.rail-cuenta{color:var(--chrome-ink-soft);font-size:12px;font-weight:600;opacity:.9;transition:opacity .1s ease;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;padding:0 4px;margin:-2px 0 6px;text-align:center}
body.rail-collapsed #rail .rail-cuenta{opacity:0}
body.rail-collapsed #rail:hover .rail-cuenta,body.menu-open #rail .rail-cuenta{opacity:.9}
/* botón contraer/expandir el riel */
.rail-toggle{margin-left:auto;background:transparent;border:none;color:var(--chrome-ink-soft);cursor:pointer;font-size:15px;line-height:1;padding:4px;border-radius:8px;flex:0 0 auto}
.rail-toggle:hover{background:var(--chrome-hover);color:var(--chrome-ink)}
body.rail-collapsed .rail-toggle{transform:rotate(180deg)}
.rail-sep{height:1px;background:var(--chrome-line);margin:0 4px 10px;flex:0 0 auto;border-radius:1px}
.rail-sep-foot{margin:2px 6px 8px}
/* Encabezados de sección del riel (Planear · Ejecutar · Organizar · Expandir) */
.rail-sec{padding:11px 12px 3px;font-size:10px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--chrome-ink-soft);white-space:nowrap;overflow:hidden;flex:0 0 auto}
body.rail-collapsed #rail .rail-sec{font-size:0;padding:0;height:1px;background:var(--chrome-line);margin:8px 12px;color:transparent}
body.rail-collapsed #rail:hover .rail-sec,body.menu-open #rail .rail-sec{font-size:10.5px;padding:15px 12px 5px;height:auto;background:transparent;margin:0;color:var(--rail-sec-c)}
/* Colores del riel igualados al mockup: grises cálidos, texto taupe, activo melocotón */
.rail-ico{color:var(--rail-ink)}
.rail-ico .ic-e{color:var(--rail-ico-c)}
.rail-ico:hover .ic-e{color:var(--rail-ink)}
.rail-brand{color:var(--rail-ink)}
.rail-cuenta{color:var(--rail-sec-c)}
.rail-sec{color:var(--rail-sec-c)}
.rail-ico.on{background:var(--rail-active);color:var(--naranja-texto)}
.rail-ico.on .ic-e{color:var(--naranja-texto)}
.rail-ico.on:hover{background:var(--rail-active)}
.rail-brand .logo-w{background:linear-gradient(140deg,var(--naranja-2),var(--naranja))}
.rail-avatar{width:25px;min-width:25px;height:25px;border-radius:50%;background:var(--naranja);color:var(--sobre-naranja);display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;letter-spacing:.02em;flex:0 0 auto}
/* Paleta de comandos ⌘K (auditoría H9) */
.cmdk-ov{position:fixed;inset:0;z-index:120;background:rgba(10,10,14,.45);display:flex;align-items:flex-start;justify-content:center;padding:12vh 16px 16px;animation:cmdkIn .12s ease}
@keyframes cmdkIn{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.cmdk-ov{animation:none}}
.cmdk{width:min(600px,100%);height:max-content;background:var(--panel);border:1px solid var(--linea);border-radius:14px;box-shadow:var(--sombra-2);overflow:hidden}
.cmdk-in{display:flex;align-items:center;gap:10px;padding:13px 16px;border-bottom:1px solid var(--linea)}
.cmdk-in .ci{width:20px;height:20px;color:var(--gris);flex:0 0 auto}
.cmdk-in .ci svg{width:20px;height:20px}
.cmdk-in input{flex:1;border:none;background:transparent;font-size:16px;color:var(--tinta);outline:none}
.cmdk-list{max-height:min(52vh,430px);overflow:auto;padding:6px}
.cmdk-grp{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gris);padding:11px 12px 4px}
.cmdk-it{display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:9px;cursor:pointer;color:var(--tinta);font-size:14px}
.cmdk-it .ci{width:20px;height:20px;color:var(--gris);flex:0 0 auto}
.cmdk-it .ci svg{width:20px;height:20px}
.cmdk-it small{margin-left:auto;color:var(--gris);font-size:11px}
.cmdk-it.sel{background:var(--panel-hover)}
.cmdk-it.sel .ci{color:var(--naranja-texto)}
.cmdk-empty{padding:26px;text-align:center;color:var(--gris);font-size:13px}
.cmdk-foot{display:flex;gap:16px;padding:9px 15px;border-top:1px solid var(--linea);color:var(--gris);font-size:11px}
.cmdk-foot kbd{background:var(--panel-2);border:1px solid var(--linea);border-radius:4px;padding:1px 5px;font-size:10px;font-family:var(--fuente)}
/* Glosario de entidades (auditoría H1) */
.glo-chain{background:var(--panel-2);border:1px solid var(--linea);border-radius:10px;padding:11px 14px;font-weight:700;color:var(--tinta);font-size:13.5px;margin-bottom:14px;text-align:center;letter-spacing:.01em}
.glo-tbl{border:1px solid var(--linea);border-radius:10px;overflow:hidden}
.glo-row{display:grid;grid-template-columns:150px 1fr 180px;gap:12px;padding:10px 14px;border-top:1px solid var(--linea);font-size:13px;align-items:baseline}
.glo-row:first-child{border-top:none}
.glo-head{background:var(--panel-2);font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--gris)}
.glo-n{font-weight:700;color:var(--tinta)}
.glo-d{color:var(--tinta-2)}
.glo-w{color:var(--naranja-texto);font-size:12px;font-weight:600}
@media(max-width:620px){.glo-row{grid-template-columns:1fr}.glo-w{color:var(--gris)}}
.rail-spacer{flex:1}
.rail-acc{background:rgba(255,255,255,.14)}
/* Nombre · rol. Van al lado si caben; si no, el rol baja a una segunda línea
   antes que recortar el nombre (con "Colaborador" no caben los dos en 150 px). */
.rail-acc{height:auto;min-height:38px;padding-top:5px;padding-bottom:5px}
.rlabel-acc{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 5px;min-width:0;overflow:hidden;line-height:1.25}
.rlabel-acc .ra-nom{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%}
.rlabel-acc .ra-rol{flex:0 0 auto;font-size:11px;font-weight:600;opacity:.62;white-space:nowrap}
.rlabel-acc .ra-rol:not(:empty)::before{content:"· "}
/* Segundo panel (subitems del grupo activo) */
#subnav{flex:0 0 auto;width:224px;align-self:stretch;position:sticky;top:0;height:100vh;overflow-y:auto;z-index:41;
  background:var(--panel,#fff);border-right:1px solid var(--linea);display:flex;flex-direction:column;gap:2px;padding:12px 10px 16px}
#subnav.oculto{display:none}
.sub-head{display:flex;align-items:center;justify-content:space-between;padding:4px 8px 10px;margin-bottom:8px;border-bottom:1px solid var(--linea)}
.sub-title{display:flex;align-items:center;gap:9px;font-weight:800;font-size:16px;color:var(--tinta)}
.sub-title .sic{font-size:18px;display:inline-flex;align-items:center;color:var(--naranja-texto)}
.sub-title .sic svg{width:19px;height:19px;display:block}
.sub-tog{background:none;border:none;color:var(--gris);font-size:16px;cursor:pointer;border-radius:8px;padding:2px 6px;line-height:1}
.sub-tog:hover{background:var(--panel-2);color:var(--tinta)}
#subnav nav{display:flex;flex-direction:column;gap:3px}
#subnav nav button{display:flex;align-items:center;gap:11px;background:transparent;border:none;color:var(--tinta);
  padding:9px 11px;font-weight:500;font-size:13.5px;letter-spacing:.01em;border-radius:10px;white-space:nowrap;cursor:pointer;text-align:left;width:100%}
#subnav nav button .ic{font-size:16px;flex:0 0 auto;width:23px;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:var(--rail-ico-c)}
#subnav nav button .ic svg{width:18px;height:18px;display:block}
#subnav nav button.on .ic{color:var(--naranja-texto)}
/* Icono vectorial en títulos de vista (reemplaza el emoji de interfaz) */
.vh-ico{display:inline-flex;align-items:center;vertical-align:-.18em;margin-right:8px;color:var(--gris)}
.vh-ico svg{width:1.15em;height:1.15em}
/* Icono vectorial dentro de botones (reemplaza emoji de interfaz) */
.btn-i{display:inline-flex;align-items:center;vertical-align:-.16em}
.btn-i svg{width:15px;height:15px;display:block}
#subnav nav button:hover{background:var(--panel-2)}
#subnav nav button.on{background:var(--panel-2);color:var(--tinta);font-weight:700;box-shadow:inset 0 0 0 1px var(--linea)}
#subnav nav button .badge-n{margin-left:auto;background:var(--naranja);color:var(--sobre-naranja);border-radius:20px;font-size:11px;font-weight:800;padding:0 6px;min-width:18px;text-align:center}
.side-bottom{margin-top:auto;padding-top:10px;border-top:1px solid var(--linea);display:flex;flex-direction:column;gap:4px}
.side-nav-btn{display:flex;align-items:center;gap:10px;background:none;border:none;color:var(--tinta-2);border-radius:11px;padding:9px 11px;cursor:pointer;width:100%;text-align:left;font-size:14px;font-weight:600}
.side-nav-btn:hover{background:var(--panel-2)}
.side-nav-btn .ic{width:28px;text-align:center;flex:0 0 auto;font-size:15px}
.side-account{display:flex;align-items:center;gap:10px;background:var(--panel-2);border:none;color:var(--tinta);border-radius:11px;padding:9px 11px;cursor:pointer;width:100%;text-align:left}
.side-account:hover{background:var(--linea)}
.side-account .ava{width:28px;height:28px;border-radius:50%;background:var(--naranja);color:var(--sobre-naranja);display:grid;place-items:center;flex:0 0 auto;font-size:15px}
.side-account .lbl{display:flex;flex-direction:column;line-height:1.15;min-width:0;flex:1}
.side-account .lbl b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.side-account .lbl small{font-size:10.5px;color:var(--gris)}
.content{flex:1;min-width:0;display:flex;flex-direction:column}
main{max-width:1180px;margin:0 auto;padding:18px 16px 80px;width:100%}
/* ---------- Móvil: rail + subnav como drawer deslizable (hamburguesa) ---------- */
@media(max-width:720px){
  .shell{padding-left:0}
  main{padding:14px 12px 96px}
  /* barra de navegación inferior (estilo app móvil) */
  #bnav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:45;background:var(--panel);
    border-top:1px solid var(--linea);box-shadow:0 -3px 14px rgba(0,0,0,.09);
    padding:6px 4px calc(6px + env(safe-area-inset-bottom,0px))}
  .bn-i{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;background:none;border:0;
    color:var(--gris);font-weight:600;padding:4px 2px;min-width:0;cursor:pointer}
  .bn-i span{font-size:20px;line-height:1;display:inline-flex;align-items:center;justify-content:center}
  .bn-i span svg{width:23px;height:23px;display:block}
  .bn-i small{font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
  .bn-i.on{color:var(--naranja-texto)}
  /* sub-tabs horizontales del grupo activo */
  .msub{display:flex;gap:6px;overflow-x:auto;padding:8px 12px;background:var(--fondo);
    border-bottom:1px solid var(--linea);-webkit-overflow-scrolling:touch}
  .msub::-webkit-scrollbar{display:none}
  .msub-i{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;background:var(--panel);border:1px solid var(--linea);border-radius:999px;
    padding:6px 13px;font-size:12.5px;font-weight:700;color:inherit}
  .msub-ic{display:inline-flex;align-items:center;color:var(--gris)}
  .msub-ic svg{width:15px;height:15px;display:block}
  .msub-i.on{background:var(--naranja);color:var(--sobre-naranja);border-color:var(--naranja)}
  .msub-i.on .msub-ic{color:#fff}
  /* En móvil no cabe junto al buscador: baja a su propia línea. */
  .top-row:has(.banner-imp){flex-wrap:wrap}
  .top-spacer:has(.banner-imp){order:9;flex-basis:100%;margin:6px 0 0}
  /* menú de cuenta y submenús como hojas inferiores (bottom sheet) */
  .am-menu,.submenu{left:0!important;right:0!important;bottom:0!important;top:auto!important;
    width:100%!important;max-width:100%!important;border-radius:16px 16px 0 0!important;
    max-height:82vh!important;overflow-y:auto!important;box-shadow:0 -6px 26px rgba(0,0,0,.24)!important}
  .submenu{z-index:80!important}
  .menu .sm-back{display:flex!important}
  .ws-list{max-height:46vh}
  /* rail y subnav ocultos fuera de pantalla; entran juntos con body.nav-open */
  #rail{transform:translateX(-100%);transition:transform .24s ease;width:224px}  /* drawer con nombres en táctil */
  body.nav-open #rail{transform:none;box-shadow:6px 0 26px -6px rgba(0,0,0,.45)}
  .rail-toggle{display:none}                       /* en móvil el riel es un drawer, no se contrae */
  #subnav{position:fixed;left:62px;top:0;height:100vh;z-index:59;
    width:min(240px,calc(100vw - 62px));
    transform:translateX(calc(-100% - 62px));transition:transform .24s ease}
  body.nav-open #subnav{transform:none;box-shadow:8px 0 24px -8px rgba(0,0,0,.4)}
  #navback{display:block;position:fixed;inset:0;z-index:55;background:rgba(0,0,0,.42);
    opacity:0;pointer-events:none;transition:opacity .22s}
  body.nav-open #navback{opacity:1;pointer-events:auto}
  /* barra superior compacta */
  .top-row{padding:8px 12px;gap:8px;flex-wrap:nowrap}
  .top-spacer{display:none}
  .search{min-width:0;flex:1 1 auto}
  .search input{min-width:0}
  .gbtn{padding:7px 10px;flex:0 0 auto}
  .periodo-bar{flex-wrap:wrap;overflow:visible;padding:0 12px 9px;gap:7px}
  .periodo-bar .lbl{display:none}
  .periodo-bar .seg{display:flex;width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;background:rgba(255,255,255,.16)}
  .periodo-bar .seg::-webkit-scrollbar{display:none}
  .periodo-bar .seg .pchip{flex:1 1 auto;text-align:center;justify-content:center;padding:6px 8px}
  .periodo-info{flex:1 1 100%;justify-content:center;text-align:center;white-space:normal;margin-top:0;font-size:12px;padding:7px 12px;background:rgba(255,255,255,.16);opacity:1}
}
.view{animation:fade .18s ease}
@keyframes fade{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}

/* barra de enfoques */
.enfoque-bar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.enfoque-pill{background:var(--panel);border:1px solid var(--linea);border-radius:20px;
  padding:7px 14px;font-weight:600;font-size:13px;color:var(--tinta-2);box-shadow:var(--sombra)}
.enfoque-pill.on{background:var(--tinta);color:#fff;border-color:var(--tinta)}
.enfoque-pill.todos.on{background:var(--naranja);border-color:var(--naranja)}
/* Permisos F3: chip que indica el ámbito visible del usuario (rol con áreas o lector) */
.ambito-chip{display:inline-flex;align-items:center;gap:5px;align-self:center;font-size:11.5px;font-weight:600;color:var(--gris);background:var(--panel-2);border:1px dashed var(--linea);border-radius:20px;padding:5px 11px;white-space:nowrap}
/* Aviso de "sin ámbito asignado" (permisos: denegar por omisión) */
.sin-ambito{display:flex;gap:10px;align-items:flex-start;background:var(--naranja-3);border:1px solid var(--naranja);color:var(--tinta);border-radius:var(--r);padding:12px 15px;margin:0 0 14px;font-size:13px;line-height:1.5}
/* ⛔ MISMA CAJA, OTRA FAMILIA. Los tres avisos de `.sin-ambito` comparten UNA regla
   —fondo naranja, borde naranja— y lo ÚNICO que los distinguía era el emoji. El
   naranja significa «hay algo que resolver» ANTES de que nadie lea una palabra, así
   que el aviso de menú-reducido-por-cambio-de-espacio decía «no hace falta que pidas
   nada a nadie» DENTRO del contenedor que anuncia una carencia. El texto negaba lo
   que la caja afirmaba, y gana la caja.
   Lo midió PD sobre `okreta.css:355`, y aplica mi propio listón: si el mensaje no
   consigue en pantalla que la persona deje de pedir lo que ya tiene, el arreglo no
   sirve aunque el código esté bien.
   ⇒ se cambia el COLOR, no la forma: naranja = «resuélvelo», neutro = «espera un
   momento». Un emoji de 13 px no puede cargar solo con una distinción que el resto
   del contenedor está negando. */
.sin-ambito.transitorio{background:var(--panel-2);border-color:var(--linea)}

/* global progress */
.global-box{display:flex;align-items:center;gap:18px;background:var(--panel);border:1px solid var(--linea);
  border-radius:var(--r);padding:14px 18px;margin-bottom:16px;box-shadow:var(--sombra);flex-wrap:wrap}
.donut{--p:0;width:74px;height:74px;border-radius:50%;flex:0 0 auto;
  background:conic-gradient(var(--verde) calc(var(--p)*1%), var(--linea) 0);
  display:grid;place-items:center;position:relative}
.donut::before{content:"";position:absolute;inset:8px;background:var(--panel);border-radius:50%}
.donut b{position:relative;font-size:17px;font-weight:800}
/* pantalla de Inicio (saludo + resumen) */
.inicio-hero{display:flex;align-items:center;gap:18px;background:linear-gradient(120deg,var(--brand-a,#e8590c),var(--brand-c,#c6470f));
  color:#fff;border-radius:18px;padding:22px 24px;box-shadow:var(--sombra)}
.inicio-hero .ih-txt{flex:1;min-width:0}
.inicio-hero h2,.inicio-hero h1{font-size:22px;font-weight:800;margin:0;letter-spacing:-.3px}
.inicio-hero p{margin:7px 0 0;font-size:14px;opacity:.96;max-width:640px;line-height:1.45}
/* T2 · Héroe KR-first briefing: la tesis del día (lo urgente de los KRs) + un
   botón real «Revisar lo urgente». Sobre el mismo gradiente de marca. */
.inicio-hero .ih-brief{margin:8px 0 0;font-size:15px;opacity:.97;line-height:1.4;max-width:560px}
.inicio-hero .ih-cta{margin-top:14px;background:#fff;color:var(--naranja-sobre-blanco);border:none;font-weight:700;box-shadow:var(--sombra)}
/* El hover REDECLARA fondo y texto: sin esto, `.btn:hover{background:rojo-teja}`
   (genérico, más abajo en el fuente y misma especificidad que el reposo #fff) se
   colaba y dejaba texto naranja sobre rojo-teja = contraste ~1:1. Blanco + texto
   naranja mantiene el ratio del reposo (~5.2:1 en claro); el realce es el lift. */
.inicio-hero .ih-cta:hover{background:#fff;color:var(--naranja-sobre-blanco);transform:translateY(-1px);box-shadow:var(--sombra-2)}
/* Aro de foco BICOLOR (spec PD): blanco 2px dentro + --sobre-naranja 2px fuera.
   El aro blanco solo (rgba .6) daba 1.78–2.69:1 sobre el gradiente naranja del hero
   (< 3:1, y ni blanco sólido pasa). El anillo OSCURO exterior da ≥3.57:1 sobre
   cualquier naranja; el blanco interior lo separa si el fondo fuera oscuro. */
.inicio-hero .ih-cta:focus-visible{outline:none;box-shadow:0 0 0 2px #fff, 0 0 0 4px var(--sobre-naranja)}
/* T2 · Tarjeta SECUNDARIA del Inbox del equipo (chat interno). */
.inbox-card .ic-top h3{margin:0}
.ic-badge{font-size:11.5px;font-weight:700;color:var(--naranja-texto);background:var(--naranja-3);border-radius:var(--r-pill);padding:2px 9px;margin-left:6px}
.ic-ultimo{margin:10px 0 0;font-size:13.5px;color:var(--tinta-2);line-height:1.4;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
/* El avatar de la cabecera de Inicio. Sustituye a `.ih-donut`, que era un aro de
   progreso con la foto ENCIMA: el relleno seguía ahí, sin cifra ni rótulo, y el
   significado vivía solo en un `title=` —que en táctil no existe—.
     Un indicador que no se puede leer no es un indicador discreto: es decoración
     que finge medir.
   Sin `conic-gradient` y sin `--p` a propósito: un anillo de color alrededor de tu
   cara sigue leyéndose como un dato tuyo aunque ya no lo sea. El avance global vive
   en la tarjeta «Avance», con su número y su etiqueta.
   ⚠️ `.donut` NO se toca: lo usan Estrategia y otra vista del núcleo. */
.ih-ava{width:92px;height:92px;border-radius:50%;flex:0 0 auto;overflow:hidden;
  display:grid;place-items:center;cursor:pointer;font-size:34px;
  background:rgba(255,255,255,.16);border:2px solid rgba(255,255,255,.35)}
.ih-donut{width:92px;height:92px;background:conic-gradient(#fff calc(var(--p,0)*1%),rgba(255,255,255,.3) 0)}
.ih-donut::before{inset:9px;background:rgba(255,255,255,.16)}
.ih-donut b{color:#fff;font-size:20px}
.ih-donut{cursor:pointer}
.ih-donut .ih-foto{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:74px;height:74px;border-radius:50%;object-fit:cover;z-index:1}
.inicio-norte{margin-top:16px}
.inicio-norte .in-lbl{font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--gris)}
.inicio-norte p{margin:6px 0 0;font-size:14px;color:var(--tinta-2);line-height:1.5}
.in-vals{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:11px}
.in-vlbl{font-size:11.5px;font-weight:700;color:var(--gris);margin-right:2px}
.in-chip{font-size:11.5px;font-weight:700;padding:4px 11px;border-radius:14px;background:var(--panel-2);color:var(--tinta-2)}
/* T4 · Cinta de valores + filosofía tras ⓘ (<details> nativo). */
.in-cinta{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.in-info{margin-left:auto}
.in-info .in-i{list-style:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;
  width:24px;height:24px;border-radius:var(--r-pill);background:var(--panel-2);color:var(--gris);
  font-size:13px;font-weight:700;user-select:none;transition:background var(--t),color var(--t)}
.in-info .in-i::-webkit-details-marker{display:none}
.in-info[open] .in-i,.in-info .in-i:hover{background:var(--naranja-3);color:var(--naranja-texto)}
.in-info .in-i:focus-visible{outline:none;box-shadow:var(--ring)}
/* T7/T8 · el círculo se ve de 24px, pero el área de TOQUE llega a 44px en
   punteros gruesos (móvil/tablet). */
@media(pointer:coarse){.in-info .in-i{width:44px;height:44px}}
.in-info-pop{margin-top:12px;display:flex;flex-direction:column;gap:12px;border-top:1px solid var(--linea);padding-top:12px}
.in-info-row .in-lbl{font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--gris)}
.in-info-row p{margin:4px 0 0;font-size:14px;color:var(--tinta-2);line-height:1.5}
/* T5 · «Resumen de hoy»: 2×2 de tiles accionables. */
.hoy-head h3{margin:0}
.hoy-avance{background:none;border:0;cursor:pointer;font-size:13px;padding:2px 4px;border-radius:var(--r-xs)}
.hoy-avance b{font-size:16px;font-weight:800}
.hoy-avance:focus-visible{outline:none;box-shadow:var(--ring)}
.hoy-tiles{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
.hoy-tile{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;
  background:var(--card-bg);border:1px solid var(--linea);border-radius:var(--r);padding:14px 16px;cursor:pointer;
  min-height:44px;transition:transform var(--t),box-shadow var(--t),border-color var(--t)}
.hoy-tile:hover{transform:translateY(-2px);box-shadow:var(--sombra)}
.hoy-tile:focus-visible{outline:none;box-shadow:var(--ring);border-color:var(--naranja-2)}
.ht-k{font-size:12px;font-weight:700;color:var(--gris)}
.ht-v{font-size:26px;font-weight:800;line-height:1.05;letter-spacing:-.02em}
.ht-s{font-size:11.5px;color:var(--gris-2)}
.hoy-tile.sindato{opacity:.72}
@media(max-width:460px){.hoy-tiles{grid-template-columns:1fr}}
.in-bar{height:8px;border-radius:6px;background:var(--panel-2);overflow:hidden;margin-top:5px}
.in-bar span{display:block;height:100%;border-radius:6px}
/* Utilidad: cifras que se leen en columna sin bailar de ancho. */
.tnum{font-variant-numeric:tabular-nums}
/* Enfoques (Inicio, T6): la etiqueta de estado es TEXTO — el color no es el
   único portador del ritmo (a11y). */
.enf-meta{display:inline-flex;align-items:center;gap:8px}
.enf-est{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em}
.global-box .meta{flex:1;min-width:180px}
.global-box .meta h3{font-size:15px}
.global-box .meta p{margin:2px 0 0;color:var(--gris);font-size:12px}

/* KR card */
.kr{background:var(--panel);border:1px solid var(--linea);border-radius:var(--r);
  margin-bottom:12px;box-shadow:var(--sombra);overflow:hidden}
.kr-head{display:flex;align-items:center;gap:12px;padding:13px 15px;cursor:pointer}
.kr-head:hover{background:var(--panel-2)}
.chev{flex:0 0 auto;width:16px;transition:transform .15s;color:var(--gris);font-size:11px}
.kr.open>.kr-head .chev{transform:rotate(90deg)}
.kr-title{flex:1;min-width:0}
.kr-title h4{font-size:14.5px;font-weight:700;overflow:hidden;text-overflow:ellipsis}
.kr-title .sub{color:var(--gris);font-size:11.5px;margin-top:2px}
.kr-mini{--p:0;position:relative;width:44px;height:44px;border-radius:50%;flex:0 0 auto;
  background:conic-gradient(var(--c,var(--verde)) calc(var(--p)*1%),var(--linea) 0);display:grid;place-items:center}
.kr-mini::before{content:"";position:absolute;inset:5px;background:var(--panel);border-radius:50%}
.kr-mini b{position:relative;font-size:12px;font-weight:800}

.chips{display:flex;gap:5px;flex-wrap:wrap;align-items:center}
.chip{border-radius:16px;padding:3px 9px;font-size:11px;font-weight:700;background:var(--fondo);
  color:var(--tinta-2);border:1px solid var(--linea);white-space:nowrap}
.chip.k{background:#eef6ff;color:#1d4ed8;border-color:#dbeafe}
.chip.g{background:#eaf7ee;color:var(--verde);border-color:#cdeed6}
.chip.y{background:#fff6e5;color:var(--amarillo);border-color:#fde9c2}
.chip.r{background:#fdecec;color:var(--rojo);border-color:#f9d3d3}
.chip.lock{background:var(--tinta);color:#fff;border-color:var(--tinta)}
.chip.warn{background:#fdecec;color:var(--rojo);border-color:#f9d3d3}

.kr-body{border-top:1px solid var(--linea);padding:0;display:none}
.kr.open>.kr-body{display:block}

/* subtabs */
.subtabs{display:flex;gap:4px;padding:10px 14px 0;background:var(--panel-2)}
.subtabs button{background:transparent;border:1px solid transparent;border-bottom:none;
  padding:7px 13px;font-weight:600;font-size:12.5px;color:var(--gris);border-radius:8px 8px 0 0}
.subtabs button.on{background:var(--panel);color:var(--naranja-texto);border-color:var(--linea)}
.subpane{padding:14px;border-top:1px solid var(--linea)}

/* registro row */
.reg-row{display:flex;gap:8px;flex-wrap:wrap;align-items:end;margin-bottom:12px}
.field{display:flex;flex-direction:column;gap:3px}
.field label{font-size:11px;font-weight:700;color:var(--gris)}
.field input,.field select,.field textarea{border:1px solid var(--linea);border-radius:8px;
  padding:7px 9px;background:var(--entrada);color:var(--tinta)}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--naranja-2);border-color:var(--naranja)}
.btn{background:var(--naranja);color:var(--sobre-naranja);border:none;border-radius:8px;padding:8px 14px;font-weight:700;font-size:13px}
.btn:hover{background:var(--rojo-teja)}
.btn.sec{background:var(--fondo);color:var(--tinta-2);border:1px solid var(--linea)}
.btn.sec:hover{background:#eceef3}
.btn.sm{padding:5px 10px;font-size:12px}
.btn.gh{background:transparent;color:var(--gris);border:1px solid var(--linea)}
.btn.dgr{background:transparent;color:var(--rojo);border:1px solid #f3caca}

/* metric strip */
.mstrip{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0;justify-content:center}
/* leyenda del gráfico de medición */
.chart-leg{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;margin:8px 0 2px;font-size:11.5px;color:var(--gris)}
.chart-leg .cl{display:inline-flex;align-items:center;gap:6px}
.chart-leg i{width:20px;height:0;border-top:2.4px solid var(--c,var(--naranja));display:inline-block;flex:0 0 auto}
.chart-leg i.ls-dot{border-top-style:dotted}
.chart-leg i.ls-dash{border-top-style:dashed}
.chart-leg i.ls-v{width:0;height:13px;border-top:0;border-left:2px solid var(--rojo)}
.chart-leg i.ls-sol{position:relative}
.chart-leg i.ls-sol::after{content:"";position:absolute;left:6px;top:-4px;width:7px;height:7px;border-radius:50%;background:var(--naranja)}
.mcard{background:var(--panel-2);border:1px solid var(--linea);border-radius:10px;padding:9px 13px;min-width:92px}
.mcard .v{font-size:18px;font-weight:800}
.mcard .l{font-size:10.5px;color:var(--gris);font-weight:600;text-transform:uppercase;letter-spacing:.4px}
/* banner de proyección / predicción de meta */
.pjn{border:1px solid var(--linea);border-left-width:3px;border-radius:10px;padding:9px 12px;margin:10px 0;font-size:12.5px;line-height:1.5;background:var(--panel-2)}
.pjn-h{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.pjn-h b{font-size:13px;color:var(--tinta)}
.pjn-tag{color:var(--gris);font-size:11.5px;margin-left:auto}
.pjn-tag b{color:var(--tinta-2)}
.pjn-b{color:var(--tinta-2);margin-top:3px}
.pjn.pjn-ok{border-left-color:var(--verde)}
.pjn.pjn-warn{border-left-color:var(--amarillo)}
.pjn.pjn-bad{border-left-color:var(--rojo)}
.pjn.pjn-info{border-left-color:var(--gris-2);color:var(--gris)}

/* chart */
.chart-wrap{background:var(--panel-2);border:1px solid var(--linea);border-radius:10px;padding:10px;overflow-x:auto}
svg.chart text{font-size:10px;fill:var(--gris)}

/* bitácora */
.bitacora{margin-top:12px;border-top:1px dashed var(--linea);padding-top:10px}
.bitacora h5{font-size:12px;color:var(--gris);margin-bottom:6px;text-transform:uppercase;letter-spacing:.4px}
.log-item{font-size:12.5px;padding:5px 0;border-bottom:1px solid var(--linea)}
.log-item .who{font-weight:700}
.log-item .when{color:var(--gris-2);font-size:11px}

/* táctica / acción rows */
.trow{border:1px solid var(--linea);border-radius:10px;margin-bottom:7px;background:var(--panel);overflow:hidden}
.trow-head{display:flex;align-items:center;gap:9px;padding:9px 12px;cursor:pointer}
.trow-head:hover{background:var(--panel-2)}
.trow.open .chev{transform:rotate(90deg)}
.trow-body{display:none;padding:11px 12px;border-top:1px solid var(--linea);background:var(--panel-2)}
.trow.open .trow-body{display:block}
.tname{flex:1;font-weight:600;font-size:13px}
.dot{width:9px;height:9px;border-radius:50%;flex:0 0 auto}
.dot.pend{background:var(--gris-2)} .dot.curso{background:var(--amarillo)} .dot.comp{background:var(--verde)}

.acc-item{display:flex;align-items:center;gap:9px;padding:7px 4px;border-bottom:1px solid var(--linea);flex-wrap:wrap}
.acc-item:last-child{border-bottom:none}
.acc-item input[type=checkbox]{width:17px;height:17px;accent-color:var(--verde);flex:0 0 auto}
.acc-txt{flex:1;min-width:140px;font-size:13px}
.acc-txt.done{text-decoration:line-through;color:var(--gris-2)}
.acc-meta{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.mini{border:1px solid var(--linea);border-radius:7px;padding:4px 6px;font-size:11.5px;background:var(--entrada)}
.mini.warn{border-color:var(--rojo);background:var(--rojo-soft);color:var(--rojo)}

.grp{border:1px solid var(--linea);border-radius:10px;margin-bottom:8px;overflow:hidden}
.grp-head{display:flex;align-items:center;gap:9px;padding:9px 12px;cursor:pointer;background:var(--panel-2)}
.grp.open .chev{transform:rotate(90deg)}
.grp-body{display:none;padding:6px 12px}
.grp.open .grp-body{display:block}
.grp-count{font-size:11px;font-weight:700;color:var(--gris)}

/* ===== Árbol conectado: Táctica → Acción → Tarea → Subtarea ===== */
.tree-kids{margin-left:18px;border-left:1.5px solid var(--linea);padding:1px 0}
.tree-row{display:flex;align-items:center;gap:8px;padding:6px 8px 6px 14px;position:relative;border-radius:8px;min-height:34px}
.tree-row:hover{background:var(--panel-2)}
.tree-row::before{content:"";position:absolute;left:0;top:50%;width:11px;height:1.5px;background:var(--linea)}
.tree-row .chev{cursor:pointer;flex:0 0 auto}
.tree-row input[type=checkbox]{width:16px;height:16px;accent-color:var(--verde);flex:0 0 auto}
.tw-spacer{width:14px;flex:0 0 auto}
.lvl{font-size:9.5px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;padding:2px 7px;border-radius:5px;flex:0 0 auto;white-space:nowrap}
.lvl-tac{color:var(--rojo-teja);background:var(--naranja-3)}
.lvl-acc{color:var(--azul);background:var(--azul-soft)}
.lvl-tar{color:var(--verde);background:var(--verde-soft)}
.lvl-sub{color:var(--gris);background:var(--panel-hover)}
.lvl-micro{color:var(--azul);background:var(--azul-soft)}
.tw-name{flex:1;min-width:110px;font-size:13px}
.tw-name.done{text-decoration:line-through;color:var(--gris-2)}
span.tw-name{cursor:text}
input.tw-name{border:1px solid transparent;border-radius:6px;padding:4px 7px;background:transparent;color:inherit}
input.tw-name:hover{border-color:var(--linea)}
input.tw-name:focus{border-color:var(--naranja);background:var(--entrada)}
.tw-resp{font-size:11px;color:var(--tinta-2);background:var(--panel-2);border:1px solid var(--linea);padding:2px 8px;border-radius:12px;white-space:nowrap;flex:0 0 auto}
/* Heredado de la tarea, no elegido aquí: se lee más apagado y con el borde
   punteado para que no se confunda con un campo que se puede tocar. */
.tw-heredado{border-style:dashed;opacity:.72;font-style:italic}
.tw-date{font-size:11px;color:var(--gris);white-space:nowrap;flex:0 0 auto}
.tw-date.warn{color:var(--rojo);font-weight:600}
.tw-prog{font-size:11px;font-weight:700;padding:2px 8px;border-radius:12px;background:var(--fondo);border:1px solid var(--linea);color:var(--gris);flex:0 0 auto;white-space:nowrap}
.tw-prog.full{color:var(--verde);background:var(--verde-soft);border-color:transparent}
.tw-empty{font-size:11.5px;color:var(--gris);padding:5px 10px 5px 14px}
.tw-add{padding:3px 8px 5px 30px}
.tw-tools{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-bottom:10px}
.tw-fbtn{font-size:12px;font-weight:600;padding:5px 12px;border-radius:var(--r-pill);border:1px solid var(--linea);background:var(--panel);color:var(--tinta-2);cursor:pointer}
.tw-fbtn.on{background:var(--naranja);border-color:var(--naranja);color:var(--sobre-naranja)}

/* generic panels */
.panel{background:var(--card-bg);border:1px solid var(--linea);border-radius:var(--r);padding:16px;margin-bottom:14px;box-shadow:var(--sombra)}
.panel h3{font-size:15px;margin-bottom:4px}
.panel .hint{color:var(--gris);font-size:12px;margin-bottom:10px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:720px){.grid2{grid-template-columns:1fr}}

/* ===== Filosofía: fichas tipo tarjeta (lápiz por ficha) ===== */
.fil-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:720px){.fil-grid{grid-template-columns:1fr}}
.fil-ficha{background:var(--panel);border:1px solid var(--linea);border-radius:12px;padding:13px 15px;transition:border-color .15s,box-shadow .15s}
.fil-ficha:hover{border-color:color-mix(in srgb,var(--tinta) 22%,var(--linea))}
.fil-ficha.editando{border-color:var(--naranja);box-shadow:0 0 0 3px color-mix(in srgb,var(--naranja) 20%,transparent)}
.fil-ficha.bloqueada{background:color-mix(in srgb,var(--amarillo) 10%,var(--panel));border-color:color-mix(in srgb,var(--amarillo) 55%,var(--linea))}
.fil-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:9px;min-height:26px}
.fil-head .fil-label{font-size:11px;font-weight:700;color:var(--gris);text-transform:uppercase;letter-spacing:.03em}
.fil-body{font-size:14px;line-height:1.55;color:var(--tinta);white-space:pre-wrap;word-break:break-word}
.fil-body.vacio{color:var(--gris);font-style:italic}
.fil-ficha textarea,.fil-ficha input{width:100%}
.fil-chip{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;padding:3px 10px;border-radius:20px;border:1px solid transparent;white-space:nowrap;line-height:1.4}
.fil-chip.mio{background:color-mix(in srgb,var(--azul) 15%,var(--panel));color:var(--azul)}
.fil-chip.otro{background:color-mix(in srgb,var(--amarillo) 16%,var(--panel));color:var(--amarillo);border-color:color-mix(in srgb,var(--amarillo) 45%,transparent)}
.fil-vivo{font-size:12px;color:var(--gris);font-weight:600}
/* Modo lectura del "candado que bloquea": los campos de datos quedan inertes
   hasta pulsar Editar (la navegación —pestañas, desplegar— sigue funcionando). */
[data-fi-ro="1"] input,[data-fi-ro="1"] textarea,[data-fi-ro="1"] select{pointer-events:none;cursor:default;background:color-mix(in srgb,var(--tinta) 4%,var(--panel));border-color:color-mix(in srgb,var(--tinta) 9%,var(--linea));opacity:.94}
[data-fi-ro="1"] [data-act^="add"],[data-fi-ro="1"] [data-act^="del"],[data-fi-ro="1"] [data-act^="rm"],[data-fi-ro="1"] input[type=checkbox]{pointer-events:none;opacity:.5}
/* El responsable es un <button>, no un input: la regla de arriba no lo alcanzaba
   y se podía cambiar (y guardar) con el enfoque en lectura. */
[data-fi-ro="1"] .rc-btn{pointer-events:none;opacity:.6}
/* Otros controles que cambian data por CLIC (no por teclado), y por eso se
   colaban en modo lectura: medidores/score y contenteditable. La navegación
   (abrir, pestañas, filtros) NO se toca. */
[data-fi-ro="1"] [data-act="scoreResp"],[data-fi-ro="1"] [data-act="expToScore"],[data-fi-ro="1"] [data-act="dvScore"],[data-fi-ro="1"] [contenteditable]{pointer-events:none;opacity:.6}
.fi-editando{outline:2px solid color-mix(in srgb,var(--naranja) 55%,transparent);outline-offset:4px;border-radius:12px}
/* textarea dentro de la ficha: edición normal y LECTURA (readonly) con el mismo
   alto (rows) + barra de scroll, sin estirar la tarjeta. */
.fil-ficha textarea{width:100%;box-sizing:border-box;border:1px solid var(--linea);border-radius:8px;padding:8px 10px;font-family:inherit;font-size:13.5px;line-height:1.5;background:var(--entrada);color:var(--tinta);resize:vertical}
.fil-ficha textarea:focus{outline:none;border-color:var(--naranja);box-shadow:0 0 0 2px color-mix(in srgb,var(--naranja) 22%,transparent)}
.fil-ficha textarea[readonly]{resize:none;cursor:default;background:color-mix(in srgb,var(--tinta) 4%,var(--panel));border-color:color-mix(in srgb,var(--tinta) 10%,var(--linea))}
/* ---- Lectura de fichas de Filosofía: completa, o con "Ver más" ----
   Sustituye al textarea readonly de alto fijo, que cortaba el texto a media
   línea sin avisar. El colapso deja ~7 líneas; si sobra texto aparece el
   degradado y el botón (postRender mide el desborde real y añade .hay-mas). */
.fil-lee{position:relative}
.fil-lectura{font-size:13.5px;line-height:1.55;color:var(--tinta);white-space:pre-wrap;
  word-break:break-word;max-height:10.85em;overflow:hidden;
  background:color-mix(in srgb,var(--tinta) 4%,var(--panel));
  border:1px solid color-mix(in srgb,var(--tinta) 10%,var(--linea));
  border-radius:8px;padding:8px 10px;transition:max-height .18s ease}
.fil-lectura.vacio{color:var(--gris);font-style:italic}
.fil-lee.abierta .fil-lectura{max-height:none}
/* Degradado: solo cuando hay texto oculto (y no cuando está abierta). */
.fil-lee.hay-mas:not(.abierta)::after{content:"";position:absolute;left:1px;right:1px;
  bottom:calc(1.9em + 1px);height:2.6em;pointer-events:none;border-radius:0 0 8px 8px;
  background:linear-gradient(to bottom,transparent,color-mix(in srgb,var(--tinta) 4%,var(--panel)) 85%)}
.fil-mas{display:none;margin-top:4px;padding:2px 8px;font:600 12px/1.6 inherit;
  color:var(--naranja-texto);background:none;border:0;border-radius:6px;cursor:pointer}
.fil-lee.hay-mas .fil-mas{display:inline-block}
.fil-mas:hover{background:color-mix(in srgb,var(--naranja) 12%,transparent)}
.fil-mas:focus-visible{outline:2px solid var(--naranja);outline-offset:1px}
.fil-mas .v-menos{display:none}
.fil-lee.abierta .fil-mas .v-mas{display:none}
.fil-lee.abierta .fil-mas .v-menos{display:inline}
@media(prefers-reduced-motion:reduce){ .fil-lectura{transition:none} }
/* Campos editables que crecen con su contenido (acta de misión): sin barra de
   scroll interna de tres líneas — se ve todo lo que se escribe. */
textarea[data-crece]{overflow-y:hidden;resize:vertical;min-height:4.6em}
/* Acentos de color por cuadrante (DOFA) */
.fil-ficha.acc-verde{border-top:3px solid var(--verde)} .fil-ficha.acc-verde .fil-label{color:var(--verde)}
.fil-ficha.acc-azul{border-top:3px solid var(--azul)} .fil-ficha.acc-azul .fil-label{color:var(--azul)}
.fil-ficha.acc-amber{border-top:3px solid #d99e00} .fil-ficha.acc-amber .fil-label{color:#c48f00}
.fil-ficha.acc-rojo{border-top:3px solid var(--rojo)} .fil-ficha.acc-rojo .fil-label{color:var(--rojo)}
.fil-ficha.acc-naranja{border-top:3px solid var(--naranja)} .fil-ficha.acc-naranja .fil-label{color:var(--naranja-texto)}
textarea{width:100%;min-height:70px;resize:vertical}

/* kanban */
.kboard{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
@media(max-width:820px){.kboard{grid-template-columns:1fr 1fr}}
.kcol{background:var(--panel-2);border:1px solid var(--linea);border-radius:10px;padding:8px;min-height:120px}
.kcol h4{font-size:12px;text-transform:uppercase;letter-spacing:.4px;color:var(--gris);margin-bottom:8px;display:flex;justify-content:space-between}
.kcard{background:var(--entrada);border:1px solid var(--linea);border-radius:9px;padding:8px 10px;margin-bottom:7px;box-shadow:var(--sombra);cursor:grab;font-size:12.5px}
.kcard.drag{opacity:.4}
/* Carriles por KR en el Kanban (auditoría H5) */
.klane{border:1px solid var(--linea);border-radius:12px;margin-bottom:10px;overflow:hidden;background:var(--panel)}
.klane-head{display:flex;align-items:center;gap:11px;padding:10px 14px;cursor:pointer;user-select:none}
.klane-head:hover{background:var(--panel-hover)}
.klane .chev{transition:transform .15s;color:var(--gris);font-size:11px;transform:rotate(90deg);flex:0 0 auto}
.klane.col .chev{transform:none}
.klane-name{font-weight:700;font-size:14px;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--tinta)}
.klane-counts{display:flex;gap:5px;flex:0 0 auto}
.klane-counts .klc{min-width:22px;text-align:center;font-size:11px;font-weight:700;color:var(--gris);background:var(--panel-2);border:1px solid var(--linea);border-radius:6px;padding:1px 6px;font-variant-numeric:tabular-nums}
.klane-counts .klc.wip{color:var(--amarillo);border-color:var(--amarillo);background:var(--amarillo-soft)}
.klane-board{padding:2px 12px 12px}
.kcol h4 span.wip{color:var(--amarillo)}
@media(max-width:620px){.klane-name{font-size:13px}.klane-counts{display:none}}
/* Barra de lienzo unificada (auditoría H7) */
.cv-tb{display:inline-flex;align-items:center;gap:3px;flex-wrap:wrap;background:var(--panel-2);border:1px solid var(--linea);border-radius:12px;padding:4px}
.cv-tb .cvb{padding:5px 7px;display:inline-flex;align-items:center;justify-content:center;line-height:0}
.cv-tb .cvb.off{opacity:.38;pointer-events:none}
.cv-sep{width:1px;align-self:stretch;background:var(--linea);margin:3px 3px}
.cv-zoom{font-size:12px;font-weight:700;min-width:44px;text-align:center;color:var(--tinta);font-variant-numeric:tabular-nums}
.kcard .who{color:var(--gris);font-size:11px;margin-top:4px;display:flex;gap:8px;flex-wrap:wrap}
.kcol.over{outline:2px dashed var(--naranja)}

/* gantt */
.gantt{overflow-x:auto}
.gantt table{border-collapse:collapse;width:100%;min-width:640px}
.gantt th,.gantt td{border:1px solid var(--linea);padding:6px 8px;font-size:12px;text-align:left}
.gantt th{background:var(--panel-2);color:var(--gris);font-weight:700}
.bar{height:14px;border-radius:7px;background:var(--naranja);opacity:.85}

/* mind map */
.mm ul{list-style:none;margin:0;padding-left:18px;border-left:2px solid var(--linea)}
.mm>ul{border-left:none;padding-left:0}
.mm li{margin:3px 0}
.mm .node{display:inline-flex;align-items:center;gap:7px;padding:5px 10px;border:1px solid var(--linea);
  border-radius:20px;background:var(--panel);font-size:12.5px;cursor:pointer;box-shadow:var(--sombra)}
.mm .node.area{background:#0f172a;color:#fff;border-color:#0f172a;font-weight:800}
.mm .node.area.sinp{background:#64748b;border-color:#64748b}
.mm .node.pilar{background:#334155;color:#fff;border-color:#334155;font-weight:700}
.mm .node.pilar.sinp{background:#94a3b8;border-color:#94a3b8}
.mm .node.enf{background:var(--naranja);color:var(--sobre-naranja);border-color:var(--naranja);font-weight:700}
.mm .node.kr{background:#eef6ff;border-color:#dbeafe;font-weight:600}
.mm .node.tac{background:var(--panel-2)}
.mm .node.acc{background:var(--panel);color:var(--gris)}
.mm .node.nodo{background:var(--panel);color:var(--gris);font-size:12px}
:root[data-theme="dark"] .mm .node.kr{background:#1e293b;border-color:#334155;color:#dbeafe}

/* ---------- organigrama (mapa mental tipo árbol) ---------- */
/* organigrama HORIZONTAL (izquierda → derecha) con zoom */
/* touch-action: sin declararlo, el navegador aplica su gesto por defecto sobre el
   lienzo y el pellizco amplía LA PÁGINA ENTERA en vez del diagrama. No es que el gesto
   esté mal implementado: es que no estaba declarado. `pan-x pan-y` —el mismo valor que
   ya usa Diagramas— deja que un dedo desplace el lienzo, que es lo que estos dos
   contenedores ya saben hacer por ser `overflow:auto`, y quita el secuestro del zoom.
   El zoom sigue en los botones de la barra: aquí no hay manejadores táctiles (0 en todo
   el núcleo), y declarar el contrato es barato mientras implementar el pellizco no. */
.org{overflow:auto;height:72vh;padding:10px 8px 16px;background:var(--panel-2);border:1px solid var(--linea);border-radius:12px;display:flex;position:relative;touch-action:pan-x pan-y}
.org-canvas{position:relative;flex:0 0 auto;margin:auto 0}
/* Mapa mental a pantalla completa (sin encuadre, todo el ancho y alto) */
body.mapa-view main{max-width:none;padding:8px 10px 10px}
body.mapa-view .mapa-panel{border:0;border-radius:0;box-shadow:none;background:transparent;padding:0;margin:0}
body.mapa-view .org{height:calc(100vh - 210px);min-height:460px;margin-top:6px;border-radius:10px}
.org-inner{width:max-content;transform-origin:top left}
.mapa-panel:fullscreen,.mapa-panel:-webkit-full-screen{background:var(--panel);padding:16px 18px;overflow:auto;border-radius:0}
.mapa-panel:fullscreen .org{height:calc(100vh - 118px)}
.mapa-panel:-webkit-full-screen .org{height:calc(100vh - 118px)}
.org ul{list-style:none;margin:0;padding:0}
.org li{list-style:none;display:flex;align-items:center;position:relative}
.org>ul>li{padding-left:0}
.org li>.onode{margin:5px 0;flex:0 0 auto}
.org li>ul{margin-left:36px;display:flex;flex-direction:column;justify-content:center;position:relative}
.org li>ul::before{content:'';position:absolute;left:-36px;top:50%;width:36px;border-top:2px solid var(--gris-2)}
.org li>ul>li{padding-left:36px}
.org li>ul>li::before{content:'';position:absolute;left:0;top:50%;width:36px;border-top:2px solid var(--gris-2)}
.org li>ul>li::after{content:'';position:absolute;left:0;top:0;height:100%;border-left:2px solid var(--gris-2)}
.org li>ul>li:first-child::after{top:50%;height:50%}
.org li>ul>li:last-child::after{top:0;height:50%}
.org li>ul>li:only-child::after{display:none}
.org .onode .otxt b,.org .onode .otxt small{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.onode{display:inline-flex;align-items:center;gap:8px;padding:8px 13px;border:1px solid var(--linea);border-radius:13px;
  background:var(--panel);box-shadow:var(--sombra);white-space:nowrap;position:relative;transition:transform var(--t),box-shadow var(--t)}
.onode.has{cursor:pointer}
.onode.has:hover{transform:translateY(-1px);box-shadow:var(--sombra-2)}
.onode .oico{font-size:16px;flex:0 0 auto}
.onode .otxt{display:flex;flex-direction:column;line-height:1.15;text-align:left}
.onode .otxt b{font-size:13px;font-weight:700}
.onode .otxt small{font-size:11px;color:var(--gris)}
.onode .ochev{width:12px;flex:0 0 auto;font-size:9px;color:var(--gris)}
.onode .ochev::before{content:'▸'}
.onode.open>.ochev::before,.onode.open .ochev::before{content:'▾'}
.onode .ochev.leaf::before{content:''}
.onode.n-root{background:linear-gradient(120deg,#7c3aed,#c026d3);color:#fff;border-color:transparent;padding:11px 18px}
.onode.n-root .otxt b{font-size:16px}
.onode.n-norte{background:#0284c7;color:#fff;border-color:transparent}
.onode.n-area{background:#0f172a;color:#fff;border-color:transparent}
.onode.n-area.sinp{background:#64748b}
.onode.n-pil{background:#334155;color:#fff;border-color:transparent}
.onode.n-enf{background:var(--naranja);color:var(--sobre-naranja);border-color:transparent}
.onode.n-obj{background:#fff7ed;border-color:#fed7aa;color:#9a3412}
.onode.n-kr{background:#eef6ff;border-color:#dbeafe}
.onode.n-tac{background:var(--panel-2)}
.onode.n-acc{background:var(--panel)}
.onode.n-tar{background:var(--panel);color:var(--gris);font-size:12px}
.onode.n-met{align-items:flex-start;background:var(--panel);border-color:var(--linea);padding:9px 12px;min-width:230px}
.onode.n-met .oico{font-size:15px;margin-top:1px}
.onode.n-met .mtx{display:flex;flex-direction:column;gap:4px;font-size:12px;text-align:left;flex:1}
.onode.n-met .mrow{display:flex;gap:6px;align-items:center;white-space:nowrap}
.onode.n-met .mrow b{font-weight:800;color:var(--tinta)}
.onode.n-met .mrow span{color:var(--gris)}
.onode.n-met .msem{margin-left:auto;color:var(--tinta);font-weight:700}
.onode.n-met{cursor:pointer}
.onode.n-met:hover{box-shadow:var(--sombra-2);border-color:var(--naranja)}
.onode.n-met .met-link{margin-top:2px;padding-top:5px;border-top:1px dashed var(--linea)}
.onode.n-met .met-link span{color:var(--naranja-texto);font-weight:700}
/* organigrama de personas/cargos (top-down) */
.oc{overflow:auto;height:60vh;background:var(--panel-2,var(--fondo));border:1px solid var(--linea);border-radius:12px;padding:10px;margin-top:10px;position:relative;background-image:radial-gradient(var(--linea) 0.6px,transparent 0.6px);background-size:22px 22px;touch-action:pan-x pan-y}
.oc-canvas{position:relative;margin:0 auto}
.oc-inner{width:max-content;transform-origin:top left}
.org-panel:fullscreen,.org-panel:-webkit-full-screen{background:var(--panel);padding:16px 18px;overflow:auto;border-radius:0}
.org-panel:fullscreen .oc{height:calc(100vh - 92px)}
.org-panel:-webkit-full-screen .oc{height:calc(100vh - 92px)}
/* Organigrama a pantalla completa (sin encuadre, todo el ancho y alto) */
body.og-view main{max-width:none;padding:8px 10px 10px}
body.og-view .org-panel{border:0;border-radius:0;box-shadow:none;background:transparent;padding:0;margin:0}
body.og-view .oc{height:calc(100vh - 168px);min-height:460px;margin-top:8px;border-radius:10px}
body.og-view .org-panel>.row{padding:0 2px}
.orgchart{padding:8px 4px 16px}
.orgchart ul{display:flex;justify-content:center;padding-top:20px;padding-left:0;padding-right:0;position:relative;margin:0;list-style:none}
.orgchart>ul{padding-top:4px}
.orgchart li{list-style:none;text-align:center;position:relative;padding:20px 8px 0}
.orgchart li::before,.orgchart li::after{content:'';position:absolute;top:0;right:50%;border-top:2px solid var(--gris-2);width:50%;height:20px}
.orgchart li::after{right:auto;left:50%;border-left:2px solid var(--gris-2)}
.orgchart li:only-child::before{display:none}
.orgchart>ul>li:only-child::after{display:none}
.orgchart ul ul:has(>li:only-child)::before{display:none}
.orgchart ul ul li:only-child::after{display:block;top:-20px;left:50%;right:auto;width:0;height:40px;border:0;border-left:2px solid var(--gris-2);border-radius:0}
.orgchart li:only-child{padding-top:20px}
.orgchart li:first-child::before,.orgchart li:last-child::after{border:0}
.orgchart li:last-child::before{border-right:2px solid var(--gris-2);border-radius:0 7px 0 0}
.orgchart li:first-child::after{border-radius:7px 0 0 0}
.orgchart ul ul::before{content:'';position:absolute;top:0;left:50%;border-left:2px solid var(--gris-2);width:0;height:20px}
.ocn-wrap{position:relative;display:inline-block}
.ocn{display:flex;flex-direction:column;align-items:center;gap:7px;width:150px;padding:13px 11px 15px;border:1px solid var(--linea);border-radius:14px;background:var(--panel);box-shadow:var(--sombra);transition:box-shadow .15s,transform .15s,border-color .15s,opacity .15s}
.ocn:hover{border-color:var(--naranja);box-shadow:0 5px 16px rgba(0,0,0,.14);transform:translateY(-1px)}
.ocn.raiz{border-color:var(--naranja)}
.ocn.raiz .ocn-ic{background:linear-gradient(135deg,#ff8a3d,var(--naranja))}
.ocn.empresa{border-style:dashed}
.ocn.empresa .ocn-ic{background:#e8edf4;color:#5a6b82}
.ocn.match{border-color:var(--naranja);box-shadow:0 0 0 2px color-mix(in srgb,var(--naranja) 45%,transparent),var(--sombra)}
.ocn.dim{opacity:.32}
.ocn-ic{width:54px;height:54px;border-radius:50%;background:var(--naranja);color:var(--sobre-naranja);display:grid;place-items:center;font-size:17px;font-weight:800;letter-spacing:.3px;flex:0 0 auto;overflow:hidden}
.ocn-ic img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.ocn-t{display:flex;flex-direction:column;align-items:center;gap:2px;line-height:1.22;text-align:center}
.ocn-t .nm{font-size:12.5px;font-weight:700}
.ocn-t .cg{font-size:11px;font-weight:700}
.ocn-t .ar{font-size:9.5px;letter-spacing:.5px;text-transform:uppercase;color:var(--gris)}
.og-nocargo{color:var(--gris);opacity:.7;font-style:italic;font-weight:400}
/* organigrama potenciado: tarjetas amplias, + direccionales, selección, panel */
.ocn{cursor:pointer;width:168px}
.ocn .ocn-t .nm{font-size:13.5px}
.ocn .ocn-t .cg{font-size:11.5px}
.ocn.sel{border-color:var(--naranja);box-shadow:0 0 0 2px var(--naranja),var(--sombra-2)}
/* Marcada para borrar en bloque. Se distingue de .sel (que abre la ficha) con
   otro color y un ✓, para que no haya duda de cuál está a punto de irse. */
.ocn.msel{border-color:var(--rojo);box-shadow:0 0 0 2px var(--rojo),var(--sombra-2)}
.ocn.msel::after{content:"✓";position:absolute;top:-7px;right:-7px;width:20px;height:20px;
  display:grid;place-items:center;border-radius:50%;background:var(--rojo);color:#fff;
  font-size:12px;font-weight:700;box-shadow:var(--sombra)}
.ocn.msel{position:relative}
.og-selbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px;
  padding:9px 12px;border:1px solid var(--rojo);border-radius:10px;
  background:color-mix(in srgb,var(--rojo) 8%,var(--panel));font-size:13px}
.og-selbar .muted{font-size:11.5px}
@media(max-width:640px){ .og-selkeys{display:none} }
.ocn-box{position:relative;display:inline-block}
.ocn-add{position:absolute;width:24px;height:24px;border-radius:50%;border:1px solid var(--linea);background:var(--panel);color:var(--naranja-texto);font-size:17px;font-weight:700;line-height:1;cursor:pointer;display:grid;place-items:center;box-shadow:var(--sombra);opacity:0;transition:opacity .12s,background .12s,color .12s;z-index:3}
.ocn-box:hover .ocn-add,.ocn-add:focus{opacity:1}
.ocn-add:hover{background:var(--naranja);color:var(--sobre-naranja)}
.ocn-add.up{top:-13px;left:50%;transform:translateX(-50%)}
.ocn-add.down{bottom:-13px;left:50%;transform:translateX(-50%)}
.ocn-box.haskids .ocn-add.down{bottom:-34px}
.ocn-add.left{left:-13px;top:50%;transform:translateY(-50%)}
.ocn-add.right{right:-13px;top:50%;transform:translateY(-50%)}
/* más aire entre tarjetas */
.orgchart ul{padding-top:30px}
.orgchart>ul{padding-top:4px}
.orgchart li{padding:30px 16px 0}
.orgchart li::before,.orgchart li::after{height:30px}
.orgchart ul ul li:only-child::after{top:-30px;height:60px}
.orgchart li:only-child{padding-top:30px}
.orgchart ul ul::before{height:30px}
/* panel/drawer de ficha del empleado (derecha) */
.og-drawer{position:fixed;top:var(--top-h,0px);right:0;height:calc(100vh - var(--top-h,0px));width:344px;max-width:90vw;background:var(--panel);border-left:1px solid var(--linea);box-shadow:-10px 0 40px rgba(0,0,0,.16);z-index:39;display:flex;flex-direction:column}
.ogd-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--linea);flex:0 0 auto}
.ogd-head b{font-size:15px}
.ogd-head .ogd-x{background:none;border:0;font-size:19px;cursor:pointer;color:var(--gris);line-height:1}
.ogd-body{padding:16px;overflow:auto;display:flex;flex-direction:column;gap:12px}
.ogd-av{display:flex;flex-direction:column;align-items:center;gap:8px;margin-bottom:4px}
.ogd-av .og-fotoav{width:96px;height:96px;font-size:30px}
.ogd-body .field label{display:block;font-size:11.5px;font-weight:700;color:var(--gris);margin-bottom:4px}
.ogd-body .field input{width:100%}
.ogd-body .det-h5{margin-top:4px}
.ogd-sec{border-top:1px solid var(--linea);padding-top:12px;margin-top:4px}
.ogd-rd{margin-top:8px}
.ogd-rd-l{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--gris)}
.ogd-rd-v{font-size:13px;line-height:1.42;white-space:pre-wrap;margin-top:1px}
.ogd-fn{font-size:13px;padding-left:19px;margin:6px 0 0;display:flex;flex-direction:column;gap:5px}
.ogd-fn li{margin:0;line-height:1.35}
.ogd-empty{font-size:12.5px;color:var(--gris);margin:4px 0 0}
.ogd-cargoref{font-size:11px;color:var(--gris);border-top:1px dashed var(--linea);padding-top:10px;margin-top:4px;line-height:1.5}
.ogd-body .det-h5 .ng-n{background:var(--naranja);color:var(--sobre-naranja);border-radius:999px;font-size:10px;padding:1px 7px;font-weight:800;margin-left:4px}
@media(max-width:640px){ .og-drawer{width:100vw;max-width:100vw} }
/* el lienzo deja espacio al panel (no queda debajo), estilo Lucidchart */
@media(min-width:641px){ body.og-drawer-open main{margin-right:344px;transition:margin-right .18s} }

/* Drawer de «Comentar»: OVERLAY a la derecha de la ficha. A diferencia de og-drawer, NO
   empuja el contenido (nada de `main{margin-right}`) — la ficha queda LEGIBLE a la izquierda,
   sin scrim; el punto es leer y conversar a la vez. Reusa la mecánica visual (fixed, sombra,
   slide-in) sin el push. El slide-in solo corre con .ib-drawer-enter (primer pintado). */
.ib-drawer{position:fixed;top:var(--top-h,0px);right:0;height:calc(100vh - var(--top-h,0px));width:404px;max-width:92vw;background:var(--panel);border-left:1px solid var(--linea);box-shadow:-14px 0 48px rgba(0,0,0,.20);z-index:42;display:flex;flex-direction:column}
.ib-drawer.ib-drawer-enter{animation:ibDrawerIn .24s cubic-bezier(.22,.7,.2,1)}
@keyframes ibDrawerIn{from{transform:translateX(100%)}to{transform:translateX(0)}}
@media(prefers-reduced-motion:reduce){ .ib-drawer.ib-drawer-enter{animation:none} }
.ib-drawer-top{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-bottom:1px solid var(--linea);flex:0 0 auto}
.ib-drawer-inbox{font-size:12px;color:var(--gris)}
.ib-drawer-x{font-size:16px;line-height:1}
.ib-drawer-cuerpo{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}
@media(max-width:640px){ .ib-drawer{width:100vw;max-width:100vw} }
.pers-wrap{overflow-x:auto;margin-top:10px;-webkit-overflow-scrolling:touch}
.pers-tbl{width:100%;border-collapse:collapse;font-size:13px;min-width:660px}
.pers-tbl th,.pers-tbl td{border-bottom:1px solid var(--linea);padding:8px 10px;text-align:left;vertical-align:middle}
.pers-tbl th{font-size:10.5px;text-transform:uppercase;letter-spacing:.03em;color:var(--gris);font-weight:800}
.pers-tbl tbody tr:hover{background:color-mix(in srgb,var(--naranja) 6%,transparent)}
.pers-tbl td input,.pers-tbl td select{width:100%;min-width:96px}
.pers-tbl a{color:var(--naranja-texto);text-decoration:none}
.org-card.clickable{cursor:pointer;transition:border-color .15s,box-shadow .15s}
.org-card.clickable:hover{border-color:var(--naranja);box-shadow:0 3px 12px rgba(0,0,0,.08)}
.org-card.clickable .oc-ver{display:inline-block;margin-top:8px;font-size:11.5px;font-weight:700;color:var(--naranja-texto)}
.pop-personas{display:flex;flex-direction:column;gap:2px}
.pop-persona{display:flex;align-items:center;gap:10px;padding:7px 2px;border-bottom:1px solid var(--linea)}
.pop-persona:last-child{border-bottom:0}
.nodos-grp{border:1px solid var(--linea);border-radius:10px;margin-top:8px;overflow:hidden}
.nodos-grp>summary{cursor:pointer;list-style:none;padding:9px 12px;font-weight:700;font-size:13px;display:flex;align-items:center;gap:8px;background:var(--panel-2,var(--fondo))}
.nodos-grp>summary::-webkit-details-marker{display:none}
.nodos-grp>summary::after{content:"⌄";margin-left:auto;color:var(--gris);transition:transform .18s}
.nodos-grp[open]>summary::after{transform:rotate(180deg)}
.nodos-grp .ng-n{background:var(--naranja);color:var(--sobre-naranja);border-radius:999px;font-size:11px;padding:1px 8px;font-weight:800}
.nodos-grp .row{padding:0 10px}
.nodos-grp .row:last-of-type{margin-bottom:10px}
/* combobox de responsable con buscador */
.rcombo{position:relative;display:inline-block;vertical-align:middle}
.rcombo.full{display:block;width:100%}
.rcombo.mini{width:130px}
.rcombo.flex{flex:1 1 120px;min-width:120px}
.rcombo.mid{width:160px}
.rc-create{color:var(--naranja-texto);font-weight:600;border-top:1px solid var(--linea)}
.rc-btn{width:100%;display:flex;align-items:center;gap:6px;text-align:left;background:var(--panel);border:1px solid var(--linea);border-radius:9px;padding:7px 10px;font:inherit;font-size:13px;color:inherit;cursor:pointer;min-width:0}
.rcombo.mini .rc-btn{padding:5px 8px;font-size:12px}
.rc-btn:hover{border-color:var(--naranja)}
.rc-btn .rc-lbl{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rc-lbl.rc-ph{color:var(--gris)}
.rc-caret{margin-left:auto;color:var(--gris);font-size:10px;flex:0 0 auto}
.rc-pop{position:fixed;z-index:200;width:260px;max-width:92vw;background:var(--panel);border:1px solid var(--linea);border-radius:12px;box-shadow:0 10px 30px -6px rgba(0,0,0,.3);padding:0;overflow:hidden}
.rc-search-row{display:flex;align-items:center;gap:6px;padding:9px 11px;border-bottom:1px solid var(--linea)}
.rc-search{border:0;background:transparent;outline:none;flex:1;font-size:13px;color:inherit;min-width:0}
.rc-list{max-height:280px;overflow-y:auto;padding:4px 0}
.rc-grp{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--gris);padding:8px 12px 3px}
.rc-i{display:flex;align-items:center;gap:6px;width:100%;background:none;border:0;text-align:left;padding:7px 12px;font-size:13.5px;color:inherit;cursor:pointer}
.rc-i:hover{background:color-mix(in srgb,var(--naranja) 10%,transparent)}
.rc-i.on{color:var(--naranja-texto);font-weight:700}
.rc-tag{margin-left:6px;font-size:10px;font-weight:700;color:var(--gris);border:1px solid var(--linea);border-radius:6px;padding:0 5px}
.rc-tag.ok{color:var(--sem-ok);border-color:var(--sem-ok)}          /* persona vinculada a un usuario real */
.rc-tag.tu{color:var(--naranja-texto);border-color:var(--naranja)}        /* la persona del usuario que está viendo */
/* ---------- Panel de Usuarios (rediseño 2026-08) ---------- */
.modal-xl{max-width:780px}
.usr-tabs{display:flex;gap:6px;margin:0 0 12px;flex-wrap:wrap}
.usr-tab{border:1px solid var(--linea);background:var(--panel);border-radius:999px;padding:6px 14px;font-size:12.5px;font-weight:600;color:var(--tinta-2);cursor:pointer}
.usr-tab.on{background:var(--naranja-3);border-color:var(--naranja);color:var(--rojo-teja)}
.usr-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0 0 10px}
.usr-search{flex:1;min-width:170px;display:flex;align-items:center;gap:7px;border:1px solid var(--linea);border-radius:10px;padding:6px 10px;background:var(--entrada);color:var(--gris)}
.usr-search input{border:none;outline:none;background:transparent;font-size:13px;width:100%;color:var(--tinta)}
.usr-search svg{width:15px;height:15px;flex:0 0 auto}
.usr-row{display:flex;gap:10px;align-items:center;padding:10px 4px;border-top:1px solid var(--linea);flex-wrap:wrap}
.usr-av{width:34px;min-width:34px;height:34px;border-radius:50%;background:var(--naranja-3);color:var(--rojo-teja);display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;letter-spacing:.02em}
.usr-main{flex:1;min-width:200px}
.usr-nm{font-weight:600;font-size:13.5px;display:flex;align-items:center;gap:6px;flex-wrap:wrap;color:var(--tinta)}
.usr-meta{display:flex;gap:5px;flex-wrap:wrap;margin-top:4px}
.usr-acts{display:flex;gap:6px;align-items:center;flex:0 0 auto}
.usr-acts select{font-size:12.5px}
.uchip{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;font-weight:600;border:1px solid var(--linea);border-radius:999px;padding:1.5px 8px;color:var(--gris);background:var(--panel-2);white-space:nowrap}
.uchip.ok{color:var(--sem-ok);background:var(--sem-ok-soft);border-color:transparent}
.uchip.warn{color:var(--sem-warn);background:var(--sem-warn-soft);border-color:transparent}
.uchip.adm{color:var(--rojo-teja);background:var(--naranja-3);border-color:transparent}
.usr-more{border:1px solid var(--linea);background:var(--panel);border-radius:9px;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--gris);font-weight:800;letter-spacing:1px}
.usr-more:hover{background:var(--panel-hover);color:var(--tinta)}
.usr-resumen{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 10px}
@media(max-width:720px){ .rc-pop{left:0!important;right:0!important;bottom:0!important;top:auto!important;width:100%!important;max-width:100%!important;border-radius:16px 16px 0 0;max-height:80vh} .rc-list{max-height:60vh} }
.ocp{position:absolute;left:50%;bottom:-11px;transform:translateX(-50%);z-index:2;display:inline-flex;align-items:center;gap:3px;font-size:10.5px;font-weight:800;background:var(--panel);border:1px solid var(--linea);border-radius:999px;padding:2px 9px;cursor:pointer;box-shadow:0 1px 5px rgba(0,0,0,.14);color:inherit;line-height:1}
.ocp:hover{border-color:var(--naranja);color:var(--naranja-texto)}
.ocp span{font-size:8px}
.og-fotobtn{cursor:pointer;flex:0 0 auto}
.og-fotoav{width:34px;height:34px;border-radius:50%;background:var(--naranja);color:var(--sobre-naranja);display:grid;place-items:center;font-size:12px;font-weight:800;overflow:hidden;border:2px solid var(--linea)}
.og-fotobtn:hover .og-fotoav{border-color:var(--naranja)}
.og-fotoav img{width:100%;height:100%;object-fit:cover;border-radius:50%}
/* Panel de Agencia */
.ag-stats{display:flex;gap:10px;margin:12px 0 4px;flex-wrap:wrap}
.ag-stat{background:var(--panel-2,var(--fondo));border:1px solid var(--linea);border-radius:10px;padding:8px 16px;text-align:center;min-width:72px}
.ag-stat b{display:block;font-size:19px;line-height:1.1}
.ag-stat span{font-size:11px;color:var(--gris)}
.ag-cuenta{border:1px solid var(--linea);border-radius:12px;padding:12px 14px;margin-top:10px;background:var(--panel)}
.ag-cuenta.inactiva{opacity:.75;background:var(--panel-2,var(--fondo))}
.ag-c-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;flex-wrap:wrap}
.ag-c-nom{font-weight:700;font-size:14px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.ag-c-sub{font-size:12px;color:var(--gris);margin-top:3px}
.ag-c-acc{display:flex;gap:6px;flex-wrap:wrap}
.ag-badge{font-size:10px;font-weight:700;border-radius:999px;padding:2px 7px}
.ag-badge.off{background:#fdecec;color:var(--rojo)}
.ag-users{margin-top:10px;border-top:1px dashed var(--linea);padding-top:8px}
.ag-user{display:flex;align-items:center;gap:9px;padding:7px 4px;border-bottom:1px solid var(--linea)}
.ag-user:last-of-type{border-bottom:0}
.ag-user.inact{opacity:.6}
.ag-u-av{width:30px;height:30px;border-radius:50%;background:var(--naranja);color:var(--sobre-naranja);display:grid;place-items:center;font-size:11px;font-weight:800;flex:0 0 auto}
.ag-u-t{flex:1;font-size:13px;line-height:1.3;min-width:0}
.ag-u-acc{display:flex;gap:4px;flex:0 0 auto}
.ag-rol{font-size:10px;text-transform:uppercase;letter-spacing:.4px;color:var(--gris);border:1px solid var(--linea);border-radius:6px;padding:0 5px;vertical-align:middle}
.ag-rol.adm{color:var(--naranja-texto);border-color:var(--naranja)}
.ag-rol.dir{color:var(--sem-ok);border-color:var(--sem-ok)}   /* Dirección: ve todo pero no administra */
/* Aviso de impersonación, en el hueco del header. Es un elemento PERMANENTE
   mientras dure la sesión prestada, así que pesa lo justo: fondo suave y una
   franja de acento a la izquierda, en vez del borde naranja completo que
   competía con el buscador. */
.banner-imp{display:flex;align-items:center;gap:9px;flex:1;min-width:0;
  background:var(--naranja-3,#fff1e6);border-radius:10px;
  border-left:3px solid var(--naranja,#e2681e);padding:5px 6px 5px 10px}
.bi-ic{display:flex;align-items:center;color:var(--naranja,#e2681e);flex:none}
.bi-ic svg{width:16px;height:16px}
.bi-ava{width:22px;height:22px;border-radius:50%;flex:none;color:#fff;font-size:9.5px;
  font-weight:700;display:flex;align-items:center;justify-content:center}
/* El texto cede espacio antes que los botones: lo que no puede desaparecer es
   la salida. */
/* gap NO es 0: al blockificarse los hijos flex, el espacio final del "Dentro de "
   y el inicial del " · modo" se recortan → texto pegado ("deDropi", "Colombia·").
   El gap separa por caja, no por whitespace de contenido, así que aguanta. */
.bi-txt{font-size:12.5px;color:var(--tinta,#222);flex:1;min-width:0;
  display:flex;align-items:baseline;gap:.25em;white-space:nowrap;overflow:hidden}
.bi-modo{color:var(--tenue,#777);overflow:hidden;text-overflow:ellipsis}
/* El NOMBRE DE LA CUENTA es lo último que se recorta: es el dato por el que
   existe el aviso. Antes se cortaba él primero ("Dentro de Dro…") mientras
   sobrevivían el prefijo y el modo, que no dicen nada. */
.bi-cta{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}
.bi-pre{flex:none}
.banner-imp .btn{flex:none}
.top-spacer:has(.banner-imp){flex:1;display:flex;align-items:center;margin:0 12px;min-width:0}
/* Al estrechar caen por orden de lo que menos aporta: primero el modo, luego
   el "Dentro de". El nombre y la salida se quedan siempre. */
@media (max-width:1250px){ .banner-imp .bi-modo{display:none} }
@media (max-width:1000px){ .banner-imp .bi-pre{display:none} }
/* Los botones del banner usan las variantes normales (.btn y .btn.gh). Aquí
   había un `#impbar .btn{background:naranja}` de cuando el banner era una
   píldora OSCURA y sus botones tenían que resaltar sobre negro. Al mudarlo al
   header ese resto seguía ganando por especificidad de id y pintaba sólidos
   los dos, así que no había jerarquía posible. Solo se ajusta el tamaño. */
#impbar .btn{padding:5px 11px;font-size:12px}
/* Centro de ayuda */
.help-panel{max-width:840px}
.help-hero{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.help-hero .hh-ic{width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,#ff8a3d,var(--naranja));color:#fff;display:grid;place-items:center;font-size:24px;flex:0 0 auto}
.help-search{display:flex;align-items:center;gap:8px;border:1px solid var(--linea);border-radius:10px;padding:9px 12px;background:var(--panel-2,var(--fondo));margin-bottom:12px}
.help-search input{border:0;background:transparent;outline:none;flex:1;font-size:14px;color:inherit}
.help-list{display:flex;flex-direction:column;gap:8px}
/* Centro de ayuda estilo hub (hero + grid de categorías) */
.hc{max-width:1040px;margin:0 auto}
.hc-hero{border-radius:18px;padding:44px 24px 36px;text-align:center;border:1px solid var(--linea);
  background:radial-gradient(120% 140% at 50% -20%, var(--naranja-3) 0%, var(--panel-2) 60%);margin-bottom:26px}
.hc-title{font-size:27px;font-weight:800;margin:0 0 6px;color:var(--tinta);letter-spacing:-.4px}
.hc-sub{color:var(--gris);margin:0 auto 20px;font-size:14.5px;max-width:520px;line-height:1.5}
.hc-search{display:flex;align-items:center;gap:10px;max-width:560px;margin:0 auto;background:var(--panel);
  border:1px solid var(--linea);border-radius:var(--r-pill);padding:13px 20px;box-shadow:var(--sombra)}
.hc-search span{font-size:16px;opacity:.7}
.hc-search input{border:0;background:transparent;outline:none;flex:1;font-size:15px;color:inherit}
.hc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:14px}
.hc-card{display:flex;flex-direction:column;align-items:flex-start;gap:5px;text-align:left;background:var(--panel);
  border:1px solid var(--linea);border-radius:14px;padding:18px;cursor:pointer;font:inherit;color:inherit;
  transition:border-color var(--t),transform var(--t),box-shadow var(--t)}
.hc-card:hover{border-color:var(--naranja);transform:translateY(-2px);box-shadow:var(--sombra)}
.hc-card-ic{width:46px;height:46px;border-radius:13px;background:var(--naranja-3);display:grid;place-items:center;font-size:23px;margin-bottom:8px}
.hc-card-t{font-size:15px;font-weight:800;color:var(--tinta)}
.hc-card-d{font-size:12.5px;color:var(--gris);line-height:1.45}
.hc-card-n{font-size:11.5px;color:var(--naranja-texto);font-weight:800;margin-top:6px}
.hc-cat{margin-top:32px;scroll-margin-top:16px}
.hc-cat-head{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.hc-cat-head .hc-cic{width:40px;height:40px;border-radius:12px;background:var(--naranja-3);display:grid;place-items:center;font-size:21px;flex:0 0 auto}
.hc-cat-head h2{margin:0;font-size:18px}
.hc-cat-head .hc-cd{font-size:12.5px;color:var(--gris);margin:2px 0 0}
.hc-reslabel{font-size:12.5px;color:var(--gris);margin:2px 2px 12px}
/* navegación categoría → artículo */
.hc-crumb{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--gris);margin:2px 2px 16px;flex-wrap:wrap}
.hc-crumb a{color:var(--naranja-texto);cursor:pointer;font-weight:600}
.hc-crumb a:hover{text-decoration:underline}
.hc-cathero{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.hc-cathero .hc-cic{width:52px;height:52px;border-radius:15px;background:var(--naranja-3);display:grid;place-items:center;font-size:27px;flex:0 0 auto}
.hc-cathero h1{margin:0;font-size:23px}
.hc-cathero p{margin:3px 0 0;font-size:13.5px;color:var(--gris)}
.hc-artlist{display:flex;flex-direction:column;gap:10px}
.hc-artcard{display:flex;align-items:center;gap:12px;background:var(--panel);border:1px solid var(--linea);border-radius:12px;
  padding:15px 16px;cursor:pointer;font:inherit;color:inherit;text-align:left;width:100%;transition:border-color var(--t),transform var(--t)}
.hc-artcard:hover{border-color:var(--naranja);transform:translateX(2px)}
.hc-artcard .ac-ic{font-size:19px;flex:0 0 auto}
.hc-artcard .ac-main{flex:1;min-width:0}
.hc-artcard .ac-t{display:block;font-size:14.5px;font-weight:700;color:var(--tinta)}
.hc-artcard .ac-x{display:block;font-size:12px;color:var(--gris);margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hc-artcard .ac-arrow{color:var(--gris);font-size:16px;flex:0 0 auto}
.hc-article{max-width:760px;margin:0 auto}
.hc-article h1{font-size:24px;margin:0 0 4px}
.hc-article .hc-artmeta{font-size:12.5px;color:var(--gris);margin-bottom:16px}
.hc-article .hs-body{font-size:14.5px;line-height:1.65}
.hc-article .hs-body ul{padding-left:20px}
/* flex-shrink:0: en el widget de soporte el artículo vive en un flex-column de
   alto fijo (.sop-doc); sin esto el navegador ENCOGÍA la figura a solo el padding
   (~30px) y `overflow:hidden` recortaba el SVG → "recuadro vacío". Que no encoja:
   conserva su alto natural y el contenedor scrollea. Inocuo fuera de un flex. */
.hc-fig{border:1px solid var(--linea);border-radius:12px;overflow:hidden;background:var(--panel-2);margin:14px 0 18px;padding:14px;flex-shrink:0}
.hc-fig svg{display:block;width:100%;height:auto}
.hc-fig .figcap{font-size:11.5px;color:var(--gris);text-align:center;margin-top:8px}
.hc-artnav{display:flex;justify-content:space-between;gap:10px;margin-top:26px;border-top:1px solid var(--linea);padding-top:16px}
.help-sec{border:1px solid var(--linea);border-radius:12px;background:var(--panel);overflow:hidden}
.help-sec>summary{cursor:pointer;list-style:none;padding:12px 14px;font-weight:700;font-size:14px;display:flex;align-items:center;gap:10px}
.help-sec>summary::-webkit-details-marker{display:none}
.help-sec>summary::after{content:"⌄";margin-left:auto;color:var(--gris);transition:transform .18s}
.help-sec[open]>summary::after{transform:rotate(180deg)}
.help-sec .hs-ic{font-size:16px}
.help-sec .hs-body{padding:0 16px 14px 44px;font-size:13.5px;line-height:1.55}
.help-sec .hs-body ul{margin:6px 0;padding-left:18px}
.help-sec .hs-body li{margin:4px 0}
.help-sec .hs-body p{margin:6px 0}
.rail-ayuda .ic-e{font-size:18px}
.rail-kb .ic-e{font-size:18px}
.kb-group{font-size:11.5px;font-weight:800;letter-spacing:.7px;text-transform:uppercase;color:var(--naranja-texto);margin:18px 4px 4px;padding-top:6px;border-top:1px solid var(--linea)}
.kb-group:first-of-type{border-top:0;padding-top:0;margin-top:6px}
.help-sec .hs-body .ej{background:var(--panel-2,var(--fondo));border-left:3px solid var(--naranja);border-radius:0 8px 8px 0;padding:8px 12px;margin:8px 0;font-size:13px}
.help-sec .hs-body .ej b{color:var(--naranja-texto)}
.help-sec .hs-body .cadena{background:var(--panel-2,var(--fondo));border:1px solid var(--linea);border-radius:8px;padding:10px 12px;margin:8px 0;font-size:12.5px;line-height:1.9}
.help-sec .hs-body table.kbt{width:100%;border-collapse:collapse;margin:8px 0;font-size:12.5px}
.help-sec .hs-body table.kbt th,.help-sec .hs-body table.kbt td{border:1px solid var(--linea);padding:6px 9px;text-align:left;vertical-align:top}
.help-sec .hs-body table.kbt th{background:var(--panel-2,var(--fondo));font-weight:700}
/* --- Documentos legales (Términos / Políticas) --- */
.legal-doc{max-width:860px}
.legal-meta{font-size:12.5px;color:var(--muted);margin:2px 0 12px}
.legal-note{background:var(--panel-2,var(--fondo));border:1px solid var(--linea);border-left:3px solid var(--amarillo);border-radius:0 9px 9px 0;padding:10px 13px;font-size:12.5px;line-height:1.55;margin-bottom:16px}
.legal-toc{background:var(--panel-2,var(--fondo));border:1px solid var(--linea);border-radius:11px;padding:12px 16px;margin-bottom:18px}
.legal-toc .lt-h{font-size:11.5px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--naranja-texto);margin-bottom:6px}
.legal-toc ol{margin:0;padding-left:20px;columns:2;column-gap:26px}
.legal-toc li{margin:3px 0;font-size:13px;break-inside:avoid}
.legal-toc a{color:var(--tinta);text-decoration:none}
.legal-toc a:hover{color:var(--naranja-texto);text-decoration:underline}
.legal-sec{padding:14px 0;border-top:1px solid var(--linea);scroll-margin-top:16px}
.legal-sec:first-child{border-top:0}
.legal-sec h2{font-size:16px;margin:0 0 8px;display:flex;gap:8px;align-items:baseline}
.legal-sec h2 .ls-n{color:var(--naranja-texto);font-weight:800}
.legal-sec p,.legal-sec li{font-size:14px;line-height:1.65}
.legal-sec ul{margin:6px 0;padding-left:20px}
.legal-sec li{margin:4px 0}
.legal-sec a[data-act]{color:var(--naranja-texto);cursor:pointer;text-decoration:underline}
.legal-foot{margin-top:22px;padding-top:14px;border-top:1px solid var(--linea);font-size:12.5px;color:var(--muted)}
@media(max-width:640px){.legal-toc ol{columns:1}}
.org-card{border:1px solid var(--linea);border-radius:10px;padding:10px 12px;margin-top:8px}
.onode.n-root .otxt small,.onode.n-norte .otxt small,.onode.n-area .otxt small,.onode.n-pil .otxt small,.onode.n-enf .otxt small,
.onode.n-root .ochev,.onode.n-norte .ochev,.onode.n-area .ochev,.onode.n-pil .ochev,.onode.n-enf .ochev{color:rgba(255,255,255,.85)}
:root[data-theme="dark"] .onode.n-kr{background:#1e293b;border-color:#334155;color:#dbeafe}

/* métricas dashboard */
.dash{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.dcard{background:var(--panel);border:1px solid var(--linea);border-radius:12px;padding:14px;box-shadow:var(--sombra);cursor:pointer}
.dcard:hover{box-shadow:var(--sombra-2)}
.dcard .big{font-size:26px;font-weight:800}
.dcard .cap{font-size:12px;color:var(--gris);font-weight:600}
.scorecard table{border-collapse:collapse;width:100%}
.scorecard td,.scorecard th{border-bottom:1px solid var(--linea);padding:7px 6px;text-align:left;font-size:13px}
.scorecard tr{cursor:pointer}
.scorecard tr:hover{background:var(--panel-2)}

/* agenda */
.ag-group h4{font-size:13px;margin:12px 0 6px;color:var(--tinta-2)}
.ag-item{display:flex;gap:10px;align-items:center;padding:8px 10px;border:1px solid var(--linea);
  border-radius:9px;margin-bottom:6px;background:var(--panel);font-size:13px}
.ag-item .tag{font-size:11px;font-weight:700;padding:2px 8px;border-radius:12px}

/* modal / popup */
.overlay{position:fixed;inset:0;background:rgba(20,25,40,.45);z-index:80;display:grid;place-items:center;padding:16px}
.modal{background:var(--panel);border-radius:14px;max-width:560px;width:100%;max-height:88vh;overflow:auto;box-shadow:var(--sombra-2)}
.modal-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--linea);position:sticky;top:0;background:var(--panel)}
.modal-head h3{font-size:16px}
.modal-body{padding:16px 18px}
/* pickers (responsable/área/autocomplete) SIEMPRE por encima del modal */
.rc-pop.menu{z-index:210}
/* bloquear el scroll del fondo mientras hay un overlay/menu abierto */
html.ov-open,html.ov-open body{overflow:hidden}
.modal,.modal-body,.rc-list,.menu,.rc-pop{overscroll-behavior:contain}
.x{background:none;border:none;font-size:20px;color:var(--gris);line-height:1}

/* menu dropdown (estilo Intercom: cabecera de usuario + secciones) */
.menu{position:fixed;left:16px;bottom:16px;background:var(--panel,#fff);border:1px solid var(--linea);border-radius:14px;
  box-shadow:var(--sombra-2);z-index:60;min-width:252px;max-height:82vh;overflow:auto;padding:6px}
.menu .mtitle{font-size:13px;font-weight:800;color:var(--tinta);padding:8px 12px 10px;margin-bottom:4px;border-bottom:1px solid var(--linea)}
.pf-head{display:flex;align-items:center;gap:13px;padding:2px 0 13px;border-bottom:1px solid var(--linea);margin-bottom:13px}
.pf-ava{width:48px;height:48px;border-radius:50%;background:var(--naranja);color:var(--sobre-naranja);display:grid;place-items:center;font-size:23px;flex:0 0 auto;overflow:hidden}
.pf-ava.sm{width:44px;height:44px;font-size:20px}
.pf-esp{display:flex;flex-direction:column;gap:6px}
.pf-esp-i{display:flex;align-items:center;gap:10px;padding:8px 11px;border:1px solid var(--linea);border-radius:10px;background:var(--panel);text-align:left;cursor:pointer;width:100%;color:inherit;font:inherit}
.pf-esp-i.on{border-color:var(--naranja);background:color-mix(in srgb,var(--naranja) 9%,var(--panel));cursor:default}
.pf-esp-i:not(.on):hover{border-color:var(--naranja)}
.pf-esp-ic{width:30px;height:30px;border-radius:8px;background:var(--naranja);color:var(--sobre-naranja);display:grid;place-items:center;font-weight:800;flex:0 0 auto}
.pf-esp-t{display:flex;flex-direction:column;line-height:1.2;flex:1;min-width:0}
.pf-esp-t b{font-size:13.5px}
.pf-esp-t small{font-size:11px;color:var(--gris);text-transform:uppercase;letter-spacing:.3px}
.pf-esp-chk{color:var(--naranja-texto);font-weight:800;font-size:15px}
.pf-esp-go{color:var(--naranja-texto);font-weight:700;font-size:12px;white-space:nowrap}
/* menú de cuenta (Perfil) + submenús estilo Intercom */
.menu .mchev{margin-left:auto;color:var(--gris);font-size:15px;flex:0 0 auto}
.menu .ai-lbl{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.am-menu{min-width:250px;max-width:300px}
.am-logout{color:var(--rojo)}
.submenu{min-width:200px}
.ws-submenu{min-width:240px;max-width:290px}
.ws-search{display:flex;align-items:center;gap:6px;padding:9px 11px;border-bottom:1px solid var(--linea);margin-bottom:4px}
.ws-search input{border:0;background:transparent;outline:none;flex:1;font-size:13px;color:inherit;min-width:0}
.ws-list{max-height:270px;overflow-y:auto}
.ws-i{display:flex;align-items:center;width:100%;background:none;border:0;text-align:left;padding:8px 12px;font-size:13.5px;color:inherit;cursor:pointer}
.ws-i:hover{background:color-mix(in srgb,var(--naranja) 10%,transparent)}
.ws-i.on{color:var(--naranja-texto);font-weight:700}
.ws-chk{margin-left:auto;color:var(--naranja-texto);font-weight:800}
.ws-add{color:var(--naranja-texto);font-weight:600}
.wz-steps{font-size:11px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:var(--naranja-texto);margin-bottom:10px}
.menu .sm-back{display:none;align-items:center;gap:6px;width:100%;background:none;border:0;border-bottom:1px solid var(--linea);padding:11px 12px;font-weight:700;font-size:14px;color:var(--naranja-texto);cursor:pointer;margin-bottom:4px}
/* place-self:stretch es lo que hace que la foto LLENE el círculo. Los
   contenedores son grid con place-items:center, y ahí el hijo no se estira: el
   height:100% no resolvía y la imagen tomaba su alto natural (una foto 900x1200
   salía 48x64 en una caja de 48x48). En .pf-ava el overflow lo disimulaba; en
   .mava no había overflow y la foto tapaba el menú entero. */
.pf-ava img,.ava-img{width:100%;height:100%;place-self:stretch;object-fit:cover;display:block}
.pf-name{font-size:16px;font-weight:800}
.pf-rol{font-size:12.5px;color:var(--gris)}
.rail-foto{width:26px;height:26px;border-radius:50%;object-fit:cover;flex:0 0 auto}
.menu .muser{display:flex;align-items:center;gap:11px;padding:9px 10px 11px;margin-bottom:4px;border-bottom:1px solid var(--linea)}
.menu .muser .mava{width:36px;height:36px;border-radius:50%;background:var(--naranja);color:var(--sobre-naranja);display:grid;place-items:center;font-size:17px;flex:0 0 auto;overflow:hidden}
.menu .muser .mu-meta{display:flex;flex-direction:column;line-height:1.25;min-width:0}
.menu .muser .mu-meta b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.menu .muser .mu-meta small{font-size:11.5px;color:var(--gris)}
.menu .mhdr{font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--gris);padding:9px 12px 3px}
.menu button{display:flex;width:100%;gap:10px;align-items:center;background:none;border:none;text-align:left;
  padding:8px 12px;font-size:13.5px;color:var(--tinta);border-radius:9px;cursor:pointer}
.menu button .mi{width:20px;text-align:center;flex:0 0 auto}
.menu button:hover{background:var(--panel-2)}
.menu button[data-menu="logout"]{color:var(--rojo)}
.menu .sep{height:1px;background:var(--linea);margin:4px 0}

/* toast */
#toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:var(--tinta);color:#fff;
  padding:11px 18px;border-radius:10px;font-size:13px;font-weight:600;z-index:99;box-shadow:var(--sombra-2);opacity:0;
  transition:opacity .2s,transform .2s;pointer-events:none}
#toast.show{opacity:1;transform:translateX(-50%) translateY(-4px)}
/* Con acción el toast SÍ recibe el ratón: sin esto el botón se ve y el clic lo
   atraviesa. Solo cuando hay botón, para que el resto siga sin tapar nada. */
#toast.con-accion{pointer-events:auto;display:inline-flex;align-items:center;gap:14px;padding-right:8px}
#toast .toast-do{background:none;border:0;color:inherit;font:inherit;font-weight:700;cursor:pointer;
  text-decoration:underline;text-underline-offset:3px;padding:4px 8px;border-radius:6px}
#toast .toast-do:hover{background:rgba(255,255,255,.16)}
#toast .toast-do:focus-visible{outline:2px solid currentColor;outline-offset:1px}
:root[data-theme="dark"] #toast .toast-do:hover{background:rgba(0,0,0,.12)}

/* presentación */
body.present main{max-width:100%}
.present-slide{min-height:70vh;display:grid;place-items:center;text-align:center}

.inline-ed{border:1px dashed transparent;border-radius:6px;padding:1px 4px;cursor:text}
.inline-ed:hover{border-color:var(--linea);background:var(--panel-2)}
.muted{color:var(--gris)}
.rite{margin-left:auto}
.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.pill-sm{font-size:11px;padding:2px 8px;border-radius:12px;background:var(--fondo);border:1px solid var(--linea);font-weight:700}

/* ============================================================
   CAPA DE REFINAMIENTO UI/UX  (overrides · gana por cascada)
   ============================================================ */
::selection{background:var(--naranja-2);color:#fff}
*{scrollbar-width:thin;scrollbar-color:var(--n300) transparent}
*::-webkit-scrollbar{width:10px;height:10px}
*::-webkit-scrollbar-thumb{background:var(--n300);border-radius:20px;border:3px solid transparent;background-clip:content-box}
*::-webkit-scrollbar-thumb:hover{background:var(--n400);background-clip:content-box}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* ============================================================
   REFINAMIENTO v3 · accesibilidad de teclado + feedback táctil
   Aplica a TODA la app vía primitivas compartidas, sin tocar el
   marcado ni la lógica de ninguna vista.
   ============================================================ */
/* 1) Foco visible por teclado (antes: 0 en toda la app).
   Solo aparece al navegar con teclado, no al hacer clic. */
*:focus-visible{outline:2.5px solid var(--naranja);outline-offset:2px;border-radius:var(--r-xs)}
/* Sobre el rail y el header (fondo naranja) el anillo va en blanco */
/* Mismo aro bicolor que el CTA del hero: rail y cabecera van sobre naranja, así que
   el aro blanco base no daba 3:1. Blanco 2px dentro + --sobre-naranja 2px fuera. */
#rail :focus-visible,header#top :focus-visible,.rail-ico:focus-visible{outline:none;box-shadow:0 0 0 2px #fff, 0 0 0 4px var(--sobre-naranja)}
/* Inputs con anillo propio: no dupliques con outline dura */
.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible,
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none}

/* 2) Feedback táctil consistente al presionar (toda la app) */
.btn,.rail-ico,#subnav nav button,.pmb-tab,.mis-card,.kpi-card,.enfoque-pill,
[data-act],[data-tab]{transition:transform var(--t),box-shadow var(--t),
  background var(--t),border-color var(--t),color var(--t)}
.btn:active{transform:translateY(1px)}
.rail-ico:active,#subnav nav button:active,.pmb-tab:active,.enfoque-pill:active{transform:translateY(1px)}
.btn:disabled,.btn[disabled]{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}

/* 3) Pulido de las fichas KPI planas (Analítica, Actividad, Misiones…) */
.ana-kpi{transition:transform var(--t),border-color var(--t),box-shadow var(--t)}
.ana-kpi:hover{border-color:var(--n300);box-shadow:var(--sombra)}
.ana-kpi span{letter-spacing:-.5px}

/* 4) Estados vacíos: un punto de vida sin ruido */
.exp-empty{transition:border-color var(--t),background var(--t)}
.exp-empty:hover{border-color:var(--n300)}
.exp-empty-ic{filter:saturate(.92)}

/* ---------- header con glass + gradiente de marca ---------- */
header#top{background:var(--chrome);
  box-shadow:0 1px 0 0 var(--chrome-line);backdrop-filter:saturate(1.2)}
.top-row{padding:11px 20px;gap:14px}
.brand{gap:11px;font-size:19px;letter-spacing:-.2px}
.brand .logo{width:36px;height:36px;border-radius:10px;background:rgba(255,255,255,.16);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.28);backdrop-filter:blur(4px);overflow:hidden;padding:0}
.brand .logo svg{width:100%;height:100%;display:block}
.brand b{font-weight:800}
.brand small{font-weight:500;opacity:.9;letter-spacing:.02em}
.search{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.18);border-radius:var(--r-pill);
  padding:7px 14px;transition:background var(--t),border-color var(--t)}
.search:focus-within{background:rgba(255,255,255,.24);border-color:rgba(255,255,255,.5)}
.gbtn{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.14);border-radius:var(--r-sm);
  padding:8px 12px;transition:background var(--t),transform var(--t)}
.gbtn:hover{background:rgba(255,255,255,.28);transform:translateY(-1px)}
.gbtn:active{transform:translateY(0)}
.bell .badge{border:2px solid var(--fondo);box-shadow:none}

/* ---------- período: segmented pills ---------- */
.periodo-bar{padding:0 20px 11px;gap:5px}
.pchip{border-radius:var(--r-pill);padding:5px 15px;font-size:12px;font-weight:700;letter-spacing:.01em;
  background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.14);transition:all var(--t)}
.pchip:hover{background:rgba(255,255,255,.24)}
.pchip.on{background:#fff;color:var(--rojo-teja);border-color:#fff;box-shadow:0 3px 10px -2px rgba(0,0,0,.25)}

main{padding:22px 20px 96px;animation:none}
.view{animation:fade .22s ease}

/* ---------- enfoque pills ---------- */
.enfoque-bar{gap:8px;margin-bottom:18px}
.enfoque-pill{border-radius:var(--r-pill);padding:8px 15px;transition:all var(--t);box-shadow:none;border:1px solid var(--linea)}
.enfoque-pill:hover{border-color:var(--n300);background:var(--panel-hover);transform:translateY(-1px)}
.enfoque-pill.on{background:var(--n900);color:#fff;border-color:var(--n900);box-shadow:var(--sombra-2)}
:root[data-theme="dark"] .enfoque-pill.on{background:#fff;color:var(--n900)}
.enfoque-pill.todos.on{background:var(--naranja);border-color:var(--naranja);color:var(--sobre-naranja);box-shadow:var(--sombra-brand)}

/* ---------- global box con acento ---------- */
.global-box{border-radius:18px;padding:18px 22px;gap:22px;position:relative;overflow:hidden;
  background:linear-gradient(180deg,var(--panel),var(--panel-2))}
.global-box::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;
  background:linear-gradient(180deg,var(--brand-a),var(--brand-c))}
.global-box .meta h3{font-size:17px;letter-spacing:-.2px}
.donut::before{background:var(--panel)}
.donut b{font-size:18px;letter-spacing:-.3px}

/* ---------- KR cards ---------- */
.kr{border-radius:16px;transition:box-shadow var(--t),border-color var(--t),transform var(--t)}
.kr:hover{box-shadow:var(--sombra-2);border-color:var(--n300)}
.kr.open{box-shadow:var(--sombra-2)}
.kr-head{padding:15px 17px;gap:14px}
.kr-head:hover{background:var(--panel-hover)}
.kr-title h4{font-size:15px;letter-spacing:-.15px;line-height:1.3}
.kr-mini::before{background:var(--panel)}
.kr-mini b{font-size:12.5px;letter-spacing:-.3px}
.chev{transition:transform var(--t)}

/* ---------- chips ---------- */
.chip{border-radius:var(--r-pill);padding:3.5px 10px;font-size:11px;font-weight:600;letter-spacing:.01em;
  background:var(--panel-2);border:1px solid var(--linea);color:var(--tinta-2)}
.chip.k{background:var(--azul-soft);color:var(--azul);border-color:transparent}
.chip.g{background:var(--verde-soft);color:var(--verde);border-color:transparent}
.chip.y{background:var(--amarillo-soft);color:var(--amarillo);border-color:transparent}
.chip.r,.chip.warn{background:var(--rojo-soft);color:var(--rojo);border-color:transparent}
.chip.lock{background:var(--n900);color:#fff;border-color:transparent}
:root[data-theme="dark"] .chip.lock{background:#fff;color:var(--n900)}
/* select que lleva el color de la casa según su valor (data-chip).
   Peso alto a propósito: .proc-tbl select:focus (0,2,1) le ganaría al color del chip. */
.chip.chip-sel,.chip.chip-sel:focus,.chip.chip-sel:hover{appearance:none;-webkit-appearance:none;
  cursor:pointer;line-height:1.35;width:auto;border:1px solid transparent;padding:3.5px 22px 3.5px 10px;
  background-repeat:no-repeat;background-position:right 7px center;background-size:9px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='currentColor' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E")}
.chip.chip-sel.k,.chip.chip-sel.k:focus{background-color:var(--azul-soft);color:var(--azul)}
.chip.chip-sel.g,.chip.chip-sel.g:focus{background-color:var(--verde-soft);color:var(--verde)}
.chip.chip-sel.y,.chip.chip-sel.y:focus{background-color:var(--amarillo-soft);color:var(--amarillo)}
.chip.chip-sel.r,.chip.chip-sel.r:focus{background-color:var(--rojo-soft);color:var(--rojo)}
.chip.chip-sel:focus-visible{outline:2px solid var(--naranja);outline-offset:1px}

/* ---------- subtabs ---------- */
.subtabs{background:var(--panel-2);padding:12px 16px 0;gap:6px}
.subtabs button{border-radius:10px 10px 0 0;padding:9px 15px;transition:all var(--t)}
.subtabs button.on{box-shadow:0 -2px 0 var(--naranja) inset}
.subpane{padding:18px 16px}

/* ---------- botones ---------- */
.btn{border-radius:var(--r-sm);padding:9px 16px;font-weight:600;letter-spacing:.01em;
  box-shadow:var(--sombra-brand);transition:transform var(--t),box-shadow var(--t),background var(--t)}
.btn:hover{transform:translateY(-1px);box-shadow:0 8px 22px -6px rgba(234,90,11,.55)}
.btn:active{transform:translateY(0)}
.btn.sec,.btn.gh,.btn.dgr{box-shadow:none}
.btn.sec{background:var(--panel-2);border:1px solid var(--linea);color:var(--tinta-2)}
.btn.sec:hover{background:var(--panel-hover);border-color:var(--n300)}
.btn.gh:hover{background:var(--panel-2)}
.btn.dgr:hover{background:var(--rojo-soft)}
.btn.sm{padding:6px 11px;font-size:12px}

/* ---------- inputs ---------- */
.field label{font-size:11px;letter-spacing:.02em;text-transform:none}
.field input,.field select,.field textarea,.mini{background:var(--entrada);border:1px solid var(--linea);
  border-radius:var(--r-xs);transition:border-color var(--t),box-shadow var(--t)}
.field input:focus,.field select:focus,.field textarea:focus,.mini:focus{outline:none;border-color:var(--naranja);box-shadow:var(--ring)}
input,select,textarea{color:var(--tinta)}
/* Un campo bloqueado tiene que PARECERLO: si no, se escribe en él, no pasa nada
   y parece que la app está rota. */
.field input:disabled,.field select:disabled,.field textarea:disabled,.mini:disabled{
  background:var(--panel-2);color:var(--gris);cursor:not-allowed}

/* ---------- metric strip ---------- */
.mstrip{gap:12px}
.mcard{border-radius:12px;padding:11px 15px;background:var(--panel-2);transition:transform var(--t)}
.mcard:hover{transform:translateY(-2px)}
.mcard .v{font-size:19px;letter-spacing:-.4px}
.mcard .l{font-size:10px;letter-spacing:.05em}

/* ---------- táctica / acción / grupos ---------- */
.trow,.grp{border-radius:12px;transition:border-color var(--t)}
.trow:hover,.grp:hover{border-color:var(--n300)}
.trow-head,.grp-head{padding:11px 13px}
.acc-item{padding:9px 6px;transition:background var(--t);border-radius:8px}
.acc-item:hover{background:var(--panel-2)}
.dot{box-shadow:0 0 0 3px var(--panel)}

/* ---------- kanban ---------- */
.kcol{border-radius:14px;background:var(--panel-2)}
.kcol h4{letter-spacing:.05em}
.kcard{border-radius:11px;transition:box-shadow var(--t),transform var(--t)}
.kcard:hover{box-shadow:var(--sombra-2);transform:translateY(-2px)}
.kcard.drag{transform:rotate(1.5deg) scale(.98)}
.kcol.over{outline:2px dashed var(--naranja);outline-offset:-4px;background:var(--naranja-3)}

/* ---------- dashboard métricas ---------- */
.dcard{border-radius:16px;transition:transform var(--t),box-shadow var(--t)}
.dcard:hover{transform:translateY(-3px);box-shadow:var(--sombra-2)}
.dcard .big{letter-spacing:-1px}

/* ---------- panels / modales / menú ---------- */
.panel{border-radius:16px;padding:20px}
.modal{border-radius:20px}
.menu{border-radius:14px;overflow:auto;animation:pop .16s ease}
.menu button{transition:background var(--t)}
.overlay{backdrop-filter:blur(3px);animation:fade .16s ease}
@keyframes pop{from{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:none}}

/* ---------- toast ---------- */
#toast{border-radius:12px;box-shadow:var(--sombra-2);padding:12px 20px;background:var(--n900)}
:root[data-theme="dark"] #toast{background:#fff;color:var(--n900)}

/* ---------- toolbar superior: iconos redondos + segmented período ---------- */
.gbtn.theme,.gbtn.bell{width:40px;height:40px;padding:0;border-radius:50%;display:grid;place-items:center;font-size:17px;line-height:1}
/* T1 · la pastilla de búsqueda se acota: no se come el top bar en pantallas anchas. */
.search{flex:1 1 auto;max-width:min(40%,380px);min-width:200px}
@media(max-width:900px){.search{max-width:240px;min-width:0}}
/* Móvil: colapsa a solo-lupa (tap → paleta ⌘K); el input y el atajo se ocultan. */
@media(max-width:640px){
  .search{flex:0 0 auto;max-width:none;min-width:0;padding:9px;cursor:pointer}
  .search input,.search .search-k{display:none}
  .search .search-ic{cursor:pointer;color:var(--tinta)}
}
.periodo-bar .seg{display:inline-flex;align-items:center;background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.16);border-radius:var(--r-pill);padding:3px;gap:2px}
.periodo-bar .seg .pchip{border:none;background:transparent;box-shadow:none;padding:5px 15px}
.periodo-bar .seg .pchip:hover{background:rgba(255,255,255,.16)}
.periodo-bar .seg .pchip.on{background:#fff;color:var(--rojo-teja);box-shadow:0 2px 7px -1px rgba(0,0,0,.22)}
/* ===== Header claro (rediseño 2026-07): combina con el riel claro. Sustituye los
   estilos que asumían un header oscuro (blanco translúcido / texto blanco) por
   tokens temáticos. Va al final para ganar la cascada. ===== */
.search{background:var(--panel-2);border:1px solid var(--linea)}
.search:focus-within{background:var(--panel);border-color:var(--naranja)}
.search input{color:var(--tinta)}
.search input::placeholder{color:var(--gris)}
.search .search-ic{color:var(--gris)}
.search-k{background:var(--panel);border-color:var(--linea);color:var(--gris)}
.search-k:hover{background:var(--panel-hover);color:var(--tinta)}
.gbtn{background:var(--panel-2);border:1px solid var(--linea);color:var(--gris)}
.gbtn:hover{background:var(--linea);color:var(--tinta)}
.periodo-bar .lbl{color:var(--gris);opacity:1}
.periodo-info{color:var(--gris);background:transparent;opacity:1}
.pchip{background:var(--panel-2);border:1px solid var(--linea);color:var(--tinta-2)}
.pchip:hover{background:var(--panel-hover)}
.pchip.on{background:var(--naranja-3);color:var(--naranja-texto);border-color:var(--naranja);box-shadow:none}
.periodo-bar .seg{background:var(--panel-2);border:1px solid var(--linea)}
.periodo-bar .seg .pchip{color:var(--tinta-2)}
.periodo-bar .seg .pchip:hover{background:var(--panel-hover)}
.periodo-bar .seg .pchip.on{background:var(--naranja-3);color:var(--naranja-texto);box-shadow:none}

/* ---------- empty state ---------- */
.empty{text-align:center;padding:48px 20px;color:var(--gris)}
.empty .ico{font-size:40px;opacity:.55;margin-bottom:10px}
.empty h4{font-size:15px;color:var(--tinta-2);margin-bottom:4px}
.empty p{font-size:13px;max-width:340px;margin:0 auto}

/* mapa mental dark */
:root[data-theme="dark"] .mm .node.kr{background:var(--azul-soft);border-color:transparent}

/* ---------- dashboard KPI strip (Vista lista) ---------- */
.kpi-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:18px}
@media(max-width:1040px){.kpi-strip{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.kpi-strip{grid-template-columns:repeat(2,1fr)}}
@media(max-width:460px){.kpi-strip{grid-template-columns:1fr}}
.kpi-card{background:var(--card-bg);border:1px solid var(--linea);border-radius:16px;padding:17px 18px 15px;
  box-shadow:var(--sombra);position:relative;overflow:hidden;transition:transform var(--t),box-shadow var(--t)}
.kpi-card:hover{transform:translateY(-2px);box-shadow:var(--sombra-2)}
/* Sin barra naranja en las tarjetas de dato: el estado lo comunican el valor y los
   colores semánticos (verde/ámbar/rojo). El naranja se reserva para acento/activo. */
.kpi-card::before{content:none}
/* Estados vacíos (auditoría H6) */
.empty-state{background:var(--panel);border:1px dashed var(--linea);border-radius:16px;padding:30px 24px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:11px;margin-top:16px}
.empty-state .es-ic{width:46px;height:46px;border-radius:13px;background:var(--panel-2);display:grid;place-items:center;color:var(--naranja-texto)}
.empty-state .es-ic svg{width:24px;height:24px}
.empty-state h4{margin:0;font-size:16.5px;color:var(--tinta);font-weight:800}
.empty-state p{margin:0;font-size:13.5px;color:var(--gris);max-width:54ch;line-height:1.5}
.empty-state .es-act{display:flex;gap:9px;flex-wrap:wrap;justify-content:center;margin-top:5px}
.kpi-card.sindato{opacity:.72}
.kpi-card .kv.mut{color:var(--gris-2)}
.kpi-card .kv-sub{font-size:11px;color:var(--naranja-texto);font-weight:700;margin-top:5px}
.es-inline{display:flex;align-items:center;gap:12px;justify-content:space-between;flex-wrap:wrap}
.es-inline span{font-size:13px;color:var(--gris)}
.kpi-card .kl{font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--gris)}
.kpi-card .kv{font-size:33px;font-weight:800;letter-spacing:-1.2px;line-height:1.08;margin:7px 0 5px;color:var(--tinta)}
.kpi-card .kv small{font-size:20px;font-weight:800;color:var(--gris-2);letter-spacing:-.5px}
.kpi-card .ks{font-size:12px;color:var(--gris);line-height:1.35}
/* pop-up de resultados de una tarjeta del resumen */
.dp-list{display:flex;flex-direction:column;gap:7px;max-height:60vh;overflow:auto;margin-top:4px}
.dp-row{display:flex;align-items:center;gap:11px;width:100%;text-align:left;background:var(--panel);border:1px solid var(--linea);
  border-radius:11px;padding:10px 12px;cursor:pointer;font:inherit;color:inherit;transition:border-color var(--t),transform var(--t)}
.dp-row:hover{border-color:var(--naranja);transform:translateX(2px)}
.dp-row .dp-pct{font-size:15px;font-weight:800;min-width:46px;flex:0 0 auto}
.dp-row .dp-ic{font-size:16px;flex:0 0 auto}
.dp-row .dp-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.dp-row .dp-t{font-size:13.5px;font-weight:700;color:var(--tinta)}
.dp-row .dp-sub{font-size:11.5px;color:var(--gris)}
.dp-row .dp-go{color:var(--gris-2);font-size:17px;flex:0 0 auto}
/* módulo presupuesto */
.pres-total{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;border:1px solid var(--linea);border-radius:12px;padding:14px 18px;margin:12px 0 8px;background:radial-gradient(120% 160% at 100% 0%, var(--naranja-3) 0%, var(--panel-2) 60%)}
.pres-total .pt-lbl{font-size:13px;font-weight:700;color:var(--tinta-2)}
.pres-total .pt-val{font-size:24px;font-weight:800;color:var(--naranja-texto);letter-spacing:-.5px}
.pres-head{display:flex;align-items:center;gap:8px;padding:6px 10px 4px;font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--gris);border-bottom:1px solid var(--linea)}
.pres-head span:nth-child(1){flex:1}
.pres-head span:nth-child(2){width:150px;text-align:right}
.pres-head span:nth-child(3){width:130px;text-align:right}
.pres-row{display:flex;align-items:center;gap:8px;padding:6px 10px;border-bottom:1px solid var(--linea-2);min-height:38px}
.pres-row:hover{background:var(--panel-2)}
.pres-chev{background:none;border:0;cursor:pointer;color:var(--gris);font-size:11px;width:16px;flex:0 0 auto;transition:transform .15s;padding:0}
.pres-chev.op{transform:rotate(90deg)}
.pres-sp{width:16px;flex:0 0 auto}
.pres-ic{flex:0 0 auto;font-size:13.5px}
.pres-nom{flex:1;min-width:0;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pres-row.lv-0{background:var(--panel-2)}
.pres-row.lv-0 .pres-nom{font-weight:800;font-size:13.5px}
.pres-row.lv-1 .pres-nom{font-weight:700}
.pres-edit,.pres-edit-x{width:150px;flex:0 0 auto}
.pres-edit{display:flex;align-items:center;gap:4px;justify-content:flex-end;font-size:12px;color:var(--gris)}
.pres-edit .pe-sym{flex:0 0 auto}
.pres-edit input{width:108px;text-align:right;border:1px solid var(--linea);border-radius:7px;padding:4px 8px;font-size:13px;background:var(--entrada);color:var(--tinta)}
.pres-edit input:focus{border-color:var(--naranja);outline:none}
.pres-tot{width:130px;flex:0 0 auto;text-align:right;font-size:13px;font-weight:800;color:var(--tinta)}
.pres-row.lv-0 .pres-tot{color:var(--naranja-texto)}
@media(max-width:640px){ .pres-head span:nth-child(2),.pres-edit,.pres-edit-x{width:120px} .pres-edit input{width:82px} .pres-head span:nth-child(3),.pres-tot{width:96px} }
.periodo-info{display:inline-flex;align-items:center;gap:8px;font-size:11.5px;font-weight:600;
  background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.16);border-radius:var(--r-pill);padding:4px 12px}
.periodo-info b{font-weight:800}
.kpi-card{cursor:pointer}
.kpi-card::after{content:"›";position:absolute;top:12px;right:14px;font-size:18px;color:var(--gris-2);
  opacity:0;transition:opacity var(--t),transform var(--t)}
.kpi-card:hover::after{opacity:1;transform:translateX(2px)}

/* ---------- pop-up de detalle (fichas del dashboard) ---------- */
.det-note{background:var(--naranja-3);color:var(--rojo-teja);border-radius:12px;padding:12px 14px;
  font-size:13px;line-height:1.4;margin-bottom:16px}
:root[data-theme="dark"] .det-note{color:var(--naranja-2)}
.dstats{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}
.dstats>div{flex:1;min-width:84px}
.dstats b{display:block;font-size:25px;font-weight:800;letter-spacing:-.6px;line-height:1.1}
.dstats span{font-size:9.5px;font-weight:700;letter-spacing:.06em;color:var(--gris);text-transform:uppercase}
.det-h5{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--gris);margin:4px 0 8px}
.dlist .row2{display:flex;align-items:center;gap:10px;padding:9px 2px;border-bottom:1px solid var(--linea);font-size:13px}
.dlist .row2:last-child{border-bottom:none}
.dlist .row2 .nm{flex:1;min-width:0}
.dlist .row2 .pct{font-weight:800;letter-spacing:-.3px}

/* ---------- chips de filtro multi-selección (Kanban) ---------- */
.filtro-resp{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:14px}
.chip-toggle{background:var(--panel-2);border:1px solid var(--linea);border-radius:var(--r-pill);
  padding:6px 13px;font-size:12.5px;font-weight:600;color:var(--tinta-2);transition:all var(--t);display:inline-flex;align-items:center;gap:5px}
.chip-toggle:hover{border-color:var(--n300);background:var(--panel-hover)}
.chip-toggle.on{background:var(--naranja);border-color:var(--naranja);color:var(--sobre-naranja);box-shadow:var(--sombra-brand)}
.chip-toggle.on::before{content:"✓";font-size:11px;font-weight:900}

/* ---------- selector de áreas (formulario de enfoque / repetir) ---------- */
.enf-areas{display:flex;flex-wrap:wrap;gap:6px;max-height:190px;overflow:auto;padding:2px 0}
.enf-area-chk{display:inline-flex;align-items:center;gap:6px;font-size:13px;background:var(--panel-2);
  border:1px solid var(--linea);border-radius:8px;padding:6px 11px;cursor:pointer;transition:border-color var(--t),background var(--t)}
.enf-area-chk:hover{border-color:var(--n300)}
.enf-area-chk:has(input:checked){background:var(--naranja-3);border-color:var(--naranja);color:var(--rojo-teja);font-weight:600}
.enf-area-chk input{accent-color:var(--naranja);margin:0}

/* ---------- permisos por módulo (menú) → submódulos ---------- */
.mod-grp{border:1px solid var(--linea);border-radius:11px;margin-bottom:8px;overflow:hidden;background:var(--panel-2)}
.mod-grp-head{display:flex;align-items:center;gap:9px;padding:10px 12px;cursor:pointer;font-size:14px;background:var(--panel)}
.mod-grp-head .mod-grp-ic{font-size:16px}
.mod-grp-head .mod-grp-n{margin-left:auto;font-size:11.5px;font-weight:500}
.mod-grp-head input{accent-color:var(--naranja);width:16px;height:16px;margin:0}
.mod-subs{display:flex;flex-direction:column;gap:2px;padding:6px 12px 10px 40px}
.mod-sub{display:flex;align-items:center;gap:8px;padding:5px 2px;font-size:13.5px;cursor:pointer}
.mod-sub input{accent-color:var(--naranja);width:15px;height:15px;margin:0}
/* Ámbito por país dentro del grupo Expansión: es otra cosa que un submódulo
   (no es "qué pantalla ve" sino "qué datos"), así que va visualmente separado. */
.mod-paises{margin-top:8px;padding-top:8px;border-top:1px dashed var(--linea)}
.mod-paises-t{font-size:12px;font-weight:600;color:var(--muted);margin-bottom:4px}
/* ---------- enfoque (plan estratégico): tarjeta diferenciada ---------- */
.estr-enf{margin:12px 0;border:1px solid var(--linea);border-left:4px solid var(--naranja);border-radius:12px;background:var(--panel);overflow:hidden;box-shadow:var(--sombra)}
.estr-enf-head{display:flex;gap:6px;align-items:center;flex-wrap:wrap;padding:9px 11px;background:var(--naranja-3)}
:root[data-theme="dark"] .estr-enf-head{background:rgba(234,90,11,.14)}
.estr-enf-badge{font-size:9.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--sobre-naranja);background:var(--naranja);border-radius:6px;padding:3px 8px;flex:0 0 auto;box-shadow:var(--sombra-brand)}
.estr-enf-area{font-size:11px;font-weight:700;color:var(--rojo-teja);background:var(--panel);border:1px solid var(--naranja);border-radius:999px;padding:2px 9px;flex:0 0 auto;white-space:nowrap}
.estr-enf-body{padding:9px 11px 6px 11px}
.estr-okr-head{display:flex;align-items:center;gap:8px;margin:10px 0 6px;font-size:11px;font-weight:800;letter-spacing:.04em;color:var(--rojo-teja);text-transform:uppercase}
.estr-okr-head::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--naranja),transparent)}
.estr-okr-n{font-size:10px;font-weight:800;color:#fff;background:var(--rojo-teja);border-radius:999px;padding:1px 7px}
/* ---------- catálogo de enfoques (configuración) ---------- */
.ecat-row{display:flex;gap:6px;align-items:center;margin-bottom:6px}
.ecat-row .ecat-nom{flex:0 0 40%;min-width:0;border:1px solid var(--linea);border-radius:8px;padding:6px 9px;font-size:13px;font-weight:600;background:var(--panel-2);color:var(--tinta)}
.ecat-row .ecat-obj{flex:1;min-width:0;border:1px solid var(--linea);border-radius:8px;padding:6px 9px;font-size:13px;background:var(--panel-2);color:var(--tinta)}
.ecat-row input:focus{outline:none;border-color:var(--naranja);background:var(--panel)}

/* ---------- Gantt (timeline) ---------- */
.gtl{min-width:660px}
.gtl-head,.gtl-row{display:flex;align-items:stretch;border-bottom:1px solid var(--linea)}
.gtl-row:hover{background:var(--panel-2)}
.gtl-head{position:sticky;top:0;background:var(--panel);z-index:1}
.gtl-name{flex:0 0 300px;max-width:44%;padding:9px 12px;border-right:1px solid var(--linea);min-width:0}
.gtl-head .gtl-name{font-weight:700;color:var(--gris);font-size:12px;display:flex;align-items:center}
.gn-txt{font-size:13px;line-height:1.3}
.gtl-track{flex:1;position:relative;min-height:42px;display:flex}
.gtl-head .gtl-track{min-height:32px}
.gq{flex:1;text-align:center;font-size:11px;font-weight:700;color:var(--gris);border-left:1px solid var(--linea);display:flex;align-items:center;justify-content:center}
.gq-line{position:absolute;top:0;bottom:0;width:1px;background:var(--linea)}
.gbar{position:absolute;top:50%;transform:translateY(-50%);height:16px;border-radius:8px;min-width:7px;box-shadow:var(--sombra)}
.gms{position:absolute;top:50%;width:13px;height:13px;transform:translate(-50%,-50%) rotate(45deg);border-radius:2px;box-shadow:var(--sombra)}
.gnow{position:absolute;top:0;bottom:0;width:2px;background:var(--rojo);opacity:.55}
.gl-dot{display:inline-block;width:9px;height:9px;border-radius:50%;vertical-align:middle;margin-right:3px}

/* ruedita de editar KR */
.kr-gear{flex:0 0 auto;align-self:flex-start;background:none;border:none;color:var(--gris-2);font-size:16px;
  padding:5px 7px;border-radius:8px;opacity:.55;transition:opacity var(--t),background var(--t),color var(--t)}
.kr-gear:hover{opacity:1;background:var(--panel-2);color:var(--naranja-texto)}

/* tooltip interactivo del gráfico */
.chart-pt{cursor:pointer;transition:r .08s ease}
.chart-pt:hover{r:6.5}
.chart-tip{position:fixed;z-index:95;background:var(--n900);color:#fff;padding:7px 11px;border-radius:9px;
  font-size:12.5px;font-weight:600;line-height:1.35;box-shadow:var(--sombra-2);pointer-events:none;display:none;max-width:260px}
.chart-tip .tt-fecha{font-weight:500;opacity:.75;font-size:11px}
.chart-tip .tt-l{display:flex;align-items:center;gap:7px;margin-top:5px;font-weight:500;white-space:nowrap}
.chart-tip .tt-l b{margin-left:auto;padding-left:14px;font-weight:700}
.chart-tip .tt-l i{width:8px;height:8px;border-radius:2px;flex:0 0 8px}
.chart-tip .tt-gap{margin-top:7px;padding-top:6px;border-top:1px solid rgba(255,255,255,.18);opacity:.85}
:root[data-theme="dark"] .chart-tip .tt-gap{border-top-color:var(--linea)}
:root[data-theme="dark"] .chart-tip{background:#fff;color:var(--n900)}

/* ---------- Módulo Procesos (ISO 9001) ---------- */
.proc-tier{background:var(--panel-2);border:1px solid var(--linea);border-radius:12px;padding:12px 14px;margin-bottom:14px}
.proc-tier-h{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.proc-tier-ic{width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:17px;flex:0 0 auto}
/* miIco devuelve 13px, chico para una insignia de 34: aquí manda la insignia. */
.proc-tier-ic svg{width:18px;height:18px}
.proc-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px}
.proc-card{text-align:left;background:var(--panel);border:1px solid var(--linea);border-radius:10px;padding:11px 12px;display:flex;flex-direction:column;gap:4px;cursor:pointer;transition:box-shadow var(--t),transform var(--t),border-color var(--t)}
.proc-card:hover{box-shadow:var(--sombra-2);transform:translateY(-2px);border-color:var(--n300)}
.proc-card .pc-cod{font-size:11px;font-weight:800;letter-spacing:.03em;color:var(--gris)}
.proc-card .pc-nom{font-size:13.5px;font-weight:700;line-height:1.25;color:var(--tinta)}
.proc-card .pc-meta{font-size:11px;color:var(--gris)}
.proc-badge{padding:4px 10px;border-radius:var(--r-pill);font-size:12px;font-weight:700}
.proc-doc{background:var(--panel);border:1px solid var(--linea);border-radius:12px;padding:16px}
.proc-doc-head{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:center;font-size:12px;color:var(--gris);border-bottom:1px dashed var(--linea);padding-bottom:10px}
.proc-doc-head input{border:1px solid var(--linea);border-radius:6px;padding:3px 6px;font-size:12px;background:var(--panel-2);color:var(--tinta)}
.proc-doc .field label{font-size:11.5px;font-weight:700;color:var(--gris);display:block;margin-bottom:3px}
.proc-doc .field input,.proc-doc .field textarea{width:100%;border:1px solid var(--linea);border-radius:8px;padding:7px 9px;font-size:13px;background:var(--panel-2);color:var(--tinta);font-family:inherit;resize:vertical}
.proc-doc .field input:focus,.proc-doc .field textarea:focus{outline:none;border-color:var(--naranja);background:var(--panel)}
.proc-sipoc{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
@media(max-width:900px){.proc-sipoc{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.proc-sipoc{grid-template-columns:1fr}}
/* sub-pestañas dentro de la caracterización (Gestión Directiva) */
.proc-subtabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px;border-bottom:1px solid var(--linea);padding-bottom:2px}
.proc-subtabs button{background:transparent;border:1px solid transparent;border-bottom:none;border-radius:9px 9px 0 0;padding:8px 13px;font-size:12.5px;font-weight:600;color:var(--tinta-2);transition:all var(--t)}
.proc-subtabs button:hover{background:var(--panel-2)}
.proc-subtabs button.on{background:var(--panel);color:var(--naranja-texto);border-color:var(--linea);box-shadow:0 -2px 0 var(--naranja) inset}
.proc-subgrp{border:1px solid var(--linea);border-radius:11px;padding:10px 12px;margin-bottom:10px;background:var(--panel-2)}
.proc-subgrp-h{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.proc-subgrp-nom{flex:1;font-weight:700;font-size:13.5px;border:1px solid transparent;border-radius:7px;padding:4px 6px;background:transparent;color:var(--tinta)}
.proc-subgrp-nom:focus{outline:none;border-color:var(--naranja);background:var(--panel)}
/* sub-pestañas de procedimientos + tarjeta de objetivo */
.pproc-tabs{display:flex;flex-wrap:wrap;gap:5px;align-items:center;border-bottom:1px solid var(--linea);padding-bottom:8px}
.pproc-area{font-size:9.5px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:var(--gris);margin-left:6px}
.pproc-area:first-child{margin-left:0}
.pproc-chip{background:var(--panel-2);border:1px solid var(--linea);border-radius:8px;padding:5px 10px;font-size:11.5px;font-weight:700;color:var(--tinta-2);transition:all var(--t)}
.pproc-chip:hover{border-color:var(--n300)}
.pproc-chip.on{background:var(--naranja);border-color:var(--naranja);color:var(--sobre-naranja)}
.pobj-grupo{font-size:13px;font-weight:800;color:var(--rojo-teja);background:var(--naranja-3);border:1px solid var(--naranja);border-radius:9px;padding:8px 12px;margin:14px 0 8px;line-height:1.35}
.pobj-card{border:1px solid var(--linea);border-left:3px solid var(--naranja);border-radius:11px;padding:10px 12px;margin-bottom:10px;background:var(--panel-2)}
.pobj-n{min-width:22px;height:22px;padding:0 6px;flex:0 0 auto;border-radius:11px;background:var(--naranja);color:var(--sobre-naranja);font-size:11px;font-weight:800;display:grid;place-items:center;white-space:nowrap}
.pobj-desc{width:100%;border:1px dashed var(--linea);border-radius:8px;padding:6px 9px;font-size:12px;background:var(--panel);color:var(--muted);font-family:inherit;resize:vertical;line-height:1.45;font-style:italic}
.pobj-desc:focus{outline:none;border-color:var(--naranja);font-style:normal;color:var(--tinta)}
/* ===== Expansión de países ===== */
.exp-wrap{max-width:1080px;margin:0 auto}
.exp-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.exp-head-t h2{margin:0;font-size:21px;font-weight:800;color:var(--tinta);letter-spacing:-.2px}
.exp-head-t p{margin:4px 0 0;font-size:13px;color:var(--muted)}
.exp-empty{border:1px dashed var(--linea);border-radius:14px;padding:34px 26px;text-align:center;color:var(--muted);background:var(--panel-2)}
.exp-empty-ic{font-size:34px;margin-bottom:8px}
/* empty-state de Misiones: ícono vector grande (héroe), muted, sin emoji */
.pmb-empty-ic{display:flex;justify-content:center;margin-bottom:10px}
.pmb-empty-ic svg{width:52px;height:52px;color:var(--gris)}
.exp-empty>b{display:block;font-size:15px;color:var(--tinta);margin-bottom:4px}
.exp-empty p b{color:var(--tinta)} /* negritas del párrafo: en línea (no rompen la frase) */
/* ===== DROPIVERSO (tema cósmico propio, igual en día y noche) ===== */
.dv-wrap{display:flex;flex-direction:column;border:1px solid #1C1C2E;border-radius:14px;overflow:hidden;background:#08080F;color:#fff;height:calc(100vh - 22px);min-height:560px}
.dv-salir{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border:1px solid #1C1C2E;border-radius:9px;background:transparent;color:#9B9BB0;font-size:10px;font-weight:700;cursor:pointer;font-family:inherit}
.dv-salir:hover{border-color:#F09038;color:#F09038}
.dv-head{display:flex;align-items:center;gap:9px;padding:8px 14px;background:rgba(13,13,24,0.97);border-bottom:1px solid #1C1C2E;flex:0 0 auto}
.dv-glow{width:7px;height:7px;border-radius:50%;background:#F09038;box-shadow:0 0 7px #F09038}
.dv-brand{color:#F09038;font-weight:800;font-size:14px;letter-spacing:4px}
.dv-mut{color:#757576;font-size:8.5px;font-weight:700;letter-spacing:.6px}
.dv-body{display:grid;grid-template-columns:54% 46%;flex:1;min-height:0}
.dv-map{display:flex;flex-direction:column;min-height:0;min-width:0}
/* Visor público de un diagrama (/d/{token}): sin rail, sin menús, solo lectura */
body.pub-view #rail,body.pub-view #subnav,body.pub-view #top,body.pub-view #bnav,body.pub-view #impbar{display:none!important}
body.pub-view .shell{padding-left:0}
body.pub-view main{max-width:none;padding:0}
.pub-wrap{display:flex;flex-direction:column;height:100vh;height:100dvh;background:var(--fondo)}
.pub-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 16px;border-bottom:1px solid var(--linea);background:var(--panel)}
.pub-tit{font-size:15px}
.pub-sub{color:var(--gris);font-size:13px}
.pub-acc{margin-left:auto;display:flex;align-items:center;gap:5px}
.pub-z{font-size:12px;color:var(--gris);min-width:42px;text-align:center}
.pub-tabs{display:flex;gap:5px;flex-wrap:wrap;padding:7px 16px;border-bottom:1px solid var(--linea);background:var(--panel-2);overflow-x:auto}
.pub-tab{border:1px solid var(--linea);background:var(--panel);color:var(--tinta-2);border-radius:9px;padding:4px 12px;cursor:pointer;font-size:12.5px;font-weight:600;white-space:nowrap}
.pub-tab.on{border-color:var(--naranja);color:var(--tinta);box-shadow:0 2px 0 var(--naranja) inset}
.pub-canvas{flex:1;min-height:0;overflow:auto;background:var(--panel);padding:12px}
.pub-inner svg{width:100%;height:auto;display:block}
.pub-foot{padding:7px 16px;border-top:1px solid var(--linea);background:var(--panel-2);color:var(--gris);font-size:11.5px;text-align:center}
.pub-msg{margin:auto;padding:40px;color:var(--gris);font-size:14px;text-align:center}
.dv3d-stage{position:relative;flex:1;min-height:0;overflow:hidden}
.dv3d-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;cursor:grab}
.dv3d-canvas.drag{cursor:grabbing}
.dv3d-bc{position:absolute;top:8px;left:10px;right:10px;display:flex;align-items:center;gap:5px;z-index:3;flex-wrap:wrap;pointer-events:none}
.dv3d-bc .dv3d-chip{pointer-events:auto}
.dv3d-chip{border:1px solid #2A2A44;background:rgba(10,10,22,0.74);color:#C9C9DC;border-radius:999px;padding:4px 11px;font-size:10.5px;font-weight:700;cursor:pointer}
.dv3d-chip:hover{border-color:#F09038;color:#fff}
.dv3d-chip.on{color:#fff;border-color:#3A3A5E;cursor:default;pointer-events:none}
.dv3d-sep{color:#4A4A6A;font-size:11px}
.dv3d-ctl{position:absolute;right:10px;bottom:10px;display:flex;gap:5px;z-index:3}
.dv3d-hint{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);background:rgba(10,10,22,0.78);border:1px solid #2A2A44;border-radius:999px;color:#9B9BB0;font-size:10px;padding:5px 14px;z-index:2;pointer-events:none;white-space:nowrap;max-width:72%;overflow:hidden;text-overflow:ellipsis;animation:dv3dHint 10s forwards}
@keyframes dv3dHint{0%,80%{opacity:1}100%{opacity:0;visibility:hidden}}
/* La pista se ocultaba SOLO con esa animación, y el interruptor global de
   `prefers-reduced-motion` (arriba) la apaga con `animation:none!important`.
   Sin estado de partida, el resultado era una pista permanente encima del
   lienzo — el daño AL REVÉS del que espera quien pide menos movimiento: asume
   que dejarán de aparecer cosas y le aparece una fija. Y una preferencia de
   accesibilidad que empeora la pantalla enseña a desactivarla, con lo que se
   pierde también donde sí ayudaba.
   Se oculta entera en vez de dejarla en opacity:0: quien pide menos movimiento
   tampoco quiere una pista temporizada, y así no queda un elemento invisible
   ocupando sitio. REGLA: una animación puede ser lo que MUEVE algo, nunca lo
   que lo ESCONDE — si el estado final importa, tiene que existir sin ella. */
@media (prefers-reduced-motion:reduce){ .dv3d-hint{display:none} }
.dv-legend{display:flex;gap:10px;align-items:center;padding:5px 10px;border-top:1px solid #1C1C2E;flex-wrap:wrap}
.dv-dot{display:inline-block;width:6px;height:6px;border-radius:50%}
.dv-click{cursor:pointer}
.dv-panel{display:flex;flex-direction:column;background:#0D0D18;border-left:1px solid #1C1C2E;min-height:0}
.dv-tabs{display:flex;background:rgba(8,8,15,0.6);border-bottom:1px solid #1C1C2E;flex:0 0 auto}
.dv-tabbtn{flex:1;padding:9px 2px;background:transparent;border:none;border-bottom:2px solid transparent;color:#757576;font-size:9.5px;font-weight:700;cursor:pointer;letter-spacing:.5px;font-family:inherit}
.dv-tabbtn.on{color:#F09038;border-bottom-color:#F09038;font-size:10px}
.dv-pbody{flex:1;overflow-y:auto;padding:11px;scrollbar-width:thin;scrollbar-color:#1C1C2E transparent}
.dv-hcard{background:#111120;border:1px solid #1C1C2E;border-left:3px solid;border-radius:9px;padding:10px 12px;margin-bottom:9px}
.dv-hrow{display:flex;align-items:center;gap:8px;margin-bottom:7px;line-height:1.25}
.dv-hbadge{padding:2px 7px;border-radius:5px;border:1px solid transparent;font-weight:800;font-size:10px}
.dv-hbadge.sm{padding:1px 5px;font-size:8px;border:none}
.dv-hpct{margin-left:auto;text-align:right;font-weight:800;font-size:17px;line-height:1.1}
.dv-hstats{display:flex;gap:12px;align-items:flex-start;margin-bottom:5px;line-height:1.3}
.dv-big{color:#fff;font-weight:800;font-size:19px}
.dv-lead{flex:1;min-width:0}
.dv-hfoot{display:flex;gap:12px;margin-top:6px;padding-top:6px;border-top:1px solid #1C1C2E;font-size:9px;align-items:center}
.dv-total{background:rgba(240,144,56,0.08);border:1px solid rgba(240,144,56,0.22);border-radius:9px;padding:10px 13px;display:flex;justify-content:space-between;line-height:1.25}
.dv-in{width:100%;background:rgba(255,255,255,0.05);border:1px solid #1C1C2E;border-radius:6px;color:#fff;font-size:10.5px;padding:5px 8px;font-family:inherit;outline:none;box-sizing:border-box;margin-bottom:6px;resize:vertical}
.dv-in:focus{border-color:#F09038}
/* El selector de personas dentro del panel oscuro: mismo aspecto que .dv-in,
   para que no parezca un control de otra pantalla pegado aquí. */
.dv-lead-combo{width:100%;display:block}
.dv-lead-combo .rc-btn{background:rgba(255,255,255,0.05);border:1px solid #1C1C2E;border-radius:6px;
  color:#fff;font-size:10.5px;padding:5px 8px;gap:4px}
.dv-lead-combo .rc-btn:hover{border-color:#F09038}
.dv-lead-combo .rc-ph{color:#6E6E86}
.dv-lead-combo .rc-caret{opacity:.6;font-size:9px}
.dv-in option{background:#0D0D18;color:#fff}
.dv-in::placeholder{color:#4A4A60}
.dv-lbl{color:#757576;font-size:8px;font-weight:700;letter-spacing:1px;margin:4px 0 3px}
.dv-grid2{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.dv-grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;align-items:end}
.dv-chips{display:flex;flex-wrap:wrap;gap:3px;margin-top:3px}
.dv-chip{display:inline-flex;align-items:center;gap:3px;padding:1px 7px;border-radius:10px;font-size:8.5px;font-weight:600;border:1px solid transparent}
.dv-fil{padding:2px 9px;background:transparent;border:1px solid #1C1C2E;border-radius:11px;color:#757576;font-size:9px;font-weight:700;cursor:pointer;font-family:inherit}
.dv-fil.on{background:rgba(240,144,56,0.1);border-color:#F09038;color:#F09038}
.dv-fil-sm{font-size:8px;padding:1px 7px}
.dv-mcard{border:1px solid;border-left:3px solid;border-radius:7px;padding:8px 10px;margin-bottom:6px;background:#111120}
.dv-mrow{display:flex;align-items:center;gap:5px;margin-bottom:3px}
/* el nombre es la acción PRIMARIA de la tarjeta (seleccionar) = <button> real → operable por teclado */
.dv-mname{color:#fff;font-weight:600;font-size:11px;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  font-family:inherit;background:none;border:none;padding:0;margin:0;cursor:pointer;text-align:left;display:block}
.dv-mname:hover{color:var(--naranja-texto,#F09038)}
.dv-mname:focus-visible{outline:2px solid #F09038;outline-offset:2px;border-radius:3px}
.dv-meta{display:flex;gap:8px;flex-wrap:wrap;font-size:9px;color:#9B9BB0;margin-bottom:2px;align-items:center}
.dv-ico{background:transparent;border:none;color:#757576;cursor:pointer;font-size:11px;padding:0 2px;font-family:inherit;line-height:1}
.dv-ico.red{color:#E05555}
.dv-add{padding:5px 10px;background:rgba(240,144,56,0.13);border:1px solid rgba(240,144,56,0.31);border-radius:6px;color:#F09038;cursor:pointer;font-size:10px;font-weight:700;font-family:inherit;margin-bottom:6px}
.dv-edit{margin-top:8px;padding-top:8px;border-top:1px solid #1C1C2E;cursor:default}
.dv-notes{color:#9B9BB0;font-size:9.5px;margin-top:4px;padding-top:4px;border-top:1px solid #1C1C2E}
.dv-skrow{display:flex;align-items:center;gap:5px;margin-bottom:3px;font-size:9.5px}
.dv-critbox{margin-bottom:6px;padding:8px 10px;background:rgba(255,255,255,0.03);border-radius:6px;border:1px solid #1C1C2E}
.dv-critrow{display:flex;align-items:center;gap:6px;margin-bottom:5px}
.dv-critname{flex:1;color:#9B9BB0;font-size:9.5px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dv-stars{display:inline-flex;gap:2px}
.dv-star{display:inline-block;width:14px;height:14px;border-radius:3px;cursor:pointer;background:rgba(255,255,255,0.08);border:1px solid #1C1C2E;transition:all .1s}
.dv-score{display:inline-flex;align-items:center;gap:4px;font-size:9px;font-weight:700}
.dv-score-bar{display:inline-block;width:28px;height:4px;border-radius:2px;background:rgba(255,255,255,0.1);overflow:hidden}
.dv-score-bar i{display:block;height:100%;border-radius:2px}
.dv-cfgrow{display:flex;align-items:center;gap:5px;margin-bottom:6px;padding:6px 8px;background:#111120;border-radius:6px;border:1px solid #1C1C2E;font-size:10px;color:#fff}
.dv-cfgrow .dv-in{margin-bottom:0}
.dv-hint{margin-top:10px;padding:8px;background:rgba(240,144,56,0.05);border-radius:6px;border:1px solid rgba(240,144,56,0.15);font-size:9px;color:#757576;line-height:1.5}
.dv-empty{text-align:center;color:#757576;padding:28px 16px;font-size:11px}
.dv-cta{margin-top:9px;padding:6px 14px;background:linear-gradient(135deg,#F4973C,#EF782F);border:none;border-radius:7px;color:#fff;font-weight:700;font-size:10px;cursor:pointer;font-family:inherit}
.dv-cta.big{width:100%;padding:10px;font-size:11px;font-weight:800;letter-spacing:1px;border-radius:8px;margin-top:4px}
.dv-cta.gh{background:none;border:1px solid #2A2A3E;color:#B8B8C8}
/* Estado vacío del universo: sustituye al cuadro de mando en ceros. */
.dv-vacio{text-align:center;padding:26px 18px;color:#9B9BB0;font-size:11px;line-height:1.6}
.dv-vacio-ic{font-size:34px;margin-bottom:8px}
.dv-vacio b{display:block;color:#fff;font-size:13px;margin-bottom:8px}
.dv-vacio p{margin:0 0 14px;color:#9B9BB0}
.dv-vacio-btns{display:flex;flex-direction:column;gap:7px;align-items:stretch;margin-bottom:12px}
.dv-vacio small{color:#757576;font-size:9.5px}
/* Misiones que no puntúan porque su horizonte no tiene criterios definidos.
   Antes desaparecían del recuento y el pie mostraba tres ceros. */
.dv-sinprio{margin-left:auto;padding:1px 7px;font:inherit;font-size:9px;cursor:pointer;
  background:rgba(155,155,176,.14);border:1px solid rgba(155,155,176,.3);
  border-radius:20px;color:#B8B8C8}
.dv-sinprio:hover{border-color:#F09038;color:#F09038}
/* Señal de cumplimiento junto al % del horizonte. */
.dv-meta{display:inline-block;margin-top:3px;padding:1px 6px;border-radius:20px;
  font-size:8.5px;font-weight:700;letter-spacing:.03em}
.dv-meta.ok{background:rgba(18,161,80,.16);color:#4ED08A}
.dv-meta.off{background:rgba(240,144,56,.16);color:#F0A860}
.dv-title{color:#F09038;font-weight:800;font-size:12px;margin-bottom:10px;letter-spacing:1px}
.dv-pbody::-webkit-scrollbar{width:4px}
.dv-pbody::-webkit-scrollbar-thumb{background:#1C1C2E;border-radius:2px}
/* panel contraíble + tooltip de planeta */
.dv-body.pcol{grid-template-columns:1fr}
.dv-body.pcol .dv-panel{display:none}
/* el lienzo entero es cosmos: mismo color base que el borde del gradiente del SVG
   + campo de estrellas CSS en mosaico, así en monitores anchos no quedan bandas vacías */
.dv-map{position:relative;background:#04040C;
  background-image:
    radial-gradient(1px 1px at 22px 34px, rgba(255,255,255,.34), transparent 55%),
    radial-gradient(1px 1px at 118px 96px, rgba(255,255,255,.22), transparent 55%),
    radial-gradient(1.4px 1.4px at 76px 150px, rgba(255,255,255,.28), transparent 55%),
    radial-gradient(1px 1px at 173px 58px, rgba(255,255,255,.18), transparent 55%),
    radial-gradient(1.2px 1.2px at 210px 190px, rgba(255,255,255,.26), transparent 55%);
  background-size:243px 227px,271px 253px,257px 241px,283px 263px,301px 287px}
.dv-ptog{flex:0 0 auto;width:26px;background:transparent;border:none;border-right:1px solid #1C1C2E;color:#757576;font-size:12px;font-weight:800;cursor:pointer;font-family:inherit}
.dv-ptog:hover{color:#F09038}
.dv-ptog.float{position:absolute;right:10px;top:10px;z-index:5;width:28px;height:28px;border:1px solid #1C1C2E;border-radius:8px;background:rgba(13,13,24,0.92);box-shadow:0 2px 10px rgba(0,0,0,.4)}
.dv-tip{position:fixed;z-index:9999;pointer-events:none;max-width:270px;background:rgba(10,10,20,0.97);border:1px solid #2A2A44;border-radius:10px;padding:9px 11px;color:#fff;font-size:10.5px;box-shadow:0 6px 22px rgba(0,0,0,.55);line-height:1.45}
.dv-tip-h{display:flex;align-items:center;gap:6px;font-size:11.5px;margin-bottom:4px}
.dv-tip-row{display:flex;gap:10px;flex-wrap:wrap;color:#C9C9D8;margin-bottom:2px}
.dv-tip-row.muted{color:#9B9BB0;font-size:9.5px}
.dv-tip-notes{color:#9B9BB0;font-size:9.5px;margin-top:3px;padding-top:3px;border-top:1px solid #1C1C2E}
.dv-tip-cta{color:#F09038;font-size:8.5px;font-weight:700;letter-spacing:.5px;margin-top:4px}
/* puente Misiones ↔ Dropiverso */
.dv-improw{display:flex;align-items:center;gap:6px;padding:6px 8px;background:#111120;border:1px solid #1C1C2E;border-radius:7px;margin-bottom:5px}
.dv-impname{flex:1;min-width:0;color:#fff;font-size:10.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dv-impbtns{display:inline-flex;gap:3px;flex:0 0 auto}
.mis-dropi{flex:0 0 auto;font-size:13px;line-height:1;cursor:pointer;opacity:.35;filter:grayscale(1);transition:all .15s;padding:1px}
.mis-dropi:hover{opacity:1;filter:none;transform:scale(1.15)}
.mis-dropi.on{opacity:1;filter:none}
@media(max-width:900px){.dv-body{grid-template-columns:1fr;overflow-y:auto}.dv-map{min-height:380px}.dv-panel{border-left:none;border-top:1px solid #1C1C2E}.dv-wrap{height:auto}.dv-pbody{overflow:visible}}
.exp-empty p{font-size:13px;margin:0;max-width:420px;margin-inline:auto;line-height:1.5}
.exp-linkbtn{background:none;border:none;color:var(--naranja-texto);font-weight:700;cursor:pointer;font-size:inherit;padding:0}
/* selector de país (pills) */
.exp-switch{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.exp-pill{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--linea);background:var(--panel);color:var(--tinta);border-radius:999px;padding:6px 13px 6px 9px;cursor:pointer;font-size:13px;font-weight:600;transition:border-color .15s,background .15s}
.exp-pill:hover{border-color:var(--naranja)}
.exp-pill.on{border-color:var(--naranja);background:var(--naranja-3)}
.exp-pill em{font-style:normal;font-size:11.5px;font-weight:800;color:var(--naranja-texto)}
.exp-pill-dot{width:16px;height:16px;border-radius:50%;flex:0 0 auto;background:conic-gradient(var(--naranja) calc(var(--v)*1%),var(--linea) 0);position:relative}
.exp-pill-dot::after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--panel)}
.exp-pill.on .exp-pill-dot::after{background:var(--naranja-3)}
/* hero */
.exp-hero{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:center;border:1px solid var(--linea);border-radius:16px;background:linear-gradient(135deg,var(--panel),var(--panel-2));padding:16px 18px;box-shadow:0 1px 3px rgba(0,0,0,.04)}
.exp-hero-l{display:flex;gap:14px;align-items:center;flex:1;min-width:240px}
.exp-hero-flag{width:52px;height:52px;flex:0 0 auto;border-radius:14px;background:var(--naranja-3);border:1px solid var(--naranja);display:grid;place-items:center;font-size:26px}
.exp-hero-meta{flex:1;min-width:0}
.exp-hero-r{display:flex;align-items:center;gap:10px}
.exp-name{font-size:22px;font-weight:800;border:1px solid transparent;background:transparent;color:var(--tinta);width:100%;padding:2px 6px;margin-left:-6px;border-radius:8px;letter-spacing:-.3px}
.exp-name:hover{border-color:var(--linea)}
.exp-name:focus{outline:none;border-color:var(--naranja);background:var(--panel)}
.exp-meta-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:7px}
.exp-meta-row label{font-size:12px;color:var(--muted);display:inline-flex;align-items:center;gap:4px;background:var(--panel);border:1px solid var(--linea);border-radius:8px;padding:3px 8px}
.exp-meta-row input{border:none;background:transparent;padding:1px 2px;font-size:12.5px;color:var(--tinta);width:150px}
.exp-ringbox{display:flex;align-items:center;gap:12px}
.exp-ring .rbg{fill:none;stroke:var(--linea);stroke-width:7}
.exp-ring .rfg{fill:none;stroke:var(--naranja);stroke-width:7;stroke-linecap:round;transform:rotate(-90deg);transform-origin:32px 32px;transition:stroke-dashoffset .5s}
.exp-ring .rtx{font-size:15px;font-weight:800;fill:var(--tinta)}
.exp-ringlbl{font-size:12px;color:var(--muted);line-height:1.4}
.exp-ringlbl b{color:var(--tinta)}
/* KPIs */
.exp-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin:14px 0}
.exp-stat{display:flex;align-items:center;gap:11px;border:1px solid var(--linea);border-radius:13px;padding:11px 13px;background:var(--panel)}
.exp-stat-ic{width:34px;height:34px;flex:0 0 auto;border-radius:9px;display:grid;place-items:center;font-size:17px;background:var(--panel-2)}
.exp-stat b{display:block;font-size:21px;font-weight:800;line-height:1;color:var(--tinta)}
.exp-stat span{font-size:11px;color:var(--muted)}
.exp-stat.ok{border-color:#8fd6a8}.exp-stat.ok b{color:var(--verde)}.exp-stat.ok .exp-stat-ic{background:var(--verde-soft)}
.exp-stat.prog{border-color:#f0c674}.exp-stat.prog b{color:#c98a15}.exp-stat.prog .exp-stat-ic{background:#fdf3dd}
.exp-stat.none .exp-stat-ic{background:var(--panel-2)}.exp-stat.none b{color:var(--gris)}
.exp-stat.crit{border-color:#e8a3a3}.exp-stat.crit b{color:#d14343}.exp-stat.crit .exp-stat-ic{background:#fde2e2}
/* Las cuatro fichas filtran el checklist, así que se ven y se comportan como
   botones. El icono ya no es emoji sino el glifo de estado del propio módulo
   (EXP_EST_META), de modo que hereda el color del estado en vez de traer el
   suyo: el rojo del emoji chocaba con el punto rojo de "no iniciado". */
.exp-stat{width:100%;text-align:left;font:inherit;cursor:pointer;
  transition:border-color .12s,box-shadow .12s,transform .12s}
.exp-stat:hover{box-shadow:0 2px 10px rgba(0,0,0,.08);transform:translateY(-1px)}
.exp-stat:focus-visible{outline:2px solid var(--naranja);outline-offset:2px}
.exp-stat .exp-stat-ic{color:var(--gris);font-size:19px;line-height:1}
.exp-stat.ok .exp-stat-ic{color:var(--verde)}
/* #c98a15 sobre la chapa #fdf3dd se queda en 2,67:1 y el glifo no llega al
   mínimo de 3:1. Este ámbar da 3,38:1 sin salirse del tono. */
.exp-stat.prog .exp-stat-ic{color:#B07A10}
.exp-stat.crit .exp-stat-ic{color:#d14343}
.exp-ringlbl-2{color:var(--gris)}
/* bloques */
.exp-block{border:1px solid var(--linea);border-radius:14px;background:var(--panel);padding:14px 16px;margin-top:14px}
.exp-block-h{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:12px}
.exp-block-h span{font-size:14px;font-weight:800;color:var(--tinta)}
.exp-block-h small{font-size:11.5px;color:var(--muted)}
.exp-allgood{font-size:13px;color:var(--tinta);background:var(--verde-soft);border-color:#8fd6a8}
/* timeline de fases */
.exp-timeline{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}
.exp-tl-step{position:relative;display:flex;gap:11px;text-align:left;border:1px solid var(--linea);border-radius:12px;padding:11px 12px;background:var(--panel-2);cursor:pointer;transition:border-color .15s,box-shadow .15s}
.exp-tl-step:hover{border-color:var(--naranja);box-shadow:0 2px 8px rgba(0,0,0,.06)}
.exp-tl-node{width:28px;height:28px;flex:0 0 auto;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:800;background:var(--panel);border:2px solid var(--linea);color:var(--muted)}
.exp-tl-step.done .exp-tl-node{background:var(--verde);border-color:var(--verde);color:#fff}
.exp-tl-step.prog .exp-tl-node{background:#fdf3dd;border-color:#e6b34d;color:#c98a15}
.exp-tl-body{flex:1;min-width:0}
.exp-tl-top{display:flex;justify-content:space-between;gap:6px;align-items:baseline;margin-bottom:6px}
.exp-tl-top b{font-size:12.5px;font-weight:700;color:var(--tinta);line-height:1.25}
.exp-tl-top em{font-style:normal;font-size:12px;font-weight:800;color:var(--naranja-texto)}
.exp-tl-body small{font-size:11px;color:var(--muted);display:block;margin-top:5px}
/* foco pendientes */
.exp-focus{display:grid;gap:8px}
.exp-focus-it{display:flex;align-items:center;gap:11px;text-align:left;border:1px solid var(--linea);border-radius:11px;padding:9px 12px;background:var(--panel-2);cursor:pointer;transition:border-color .15s}
.exp-focus-it:hover{border-color:var(--naranja)}
.exp-focus-dot{width:9px;height:9px;flex:0 0 auto;border-radius:50%;background:var(--gris)}
.exp-focus-dot.prog{background:#e6b34d}.exp-focus-dot.none{background:var(--gris-2)}
.exp-focus-txt{flex:1;min-width:0}
.exp-focus-txt b{display:block;font-size:13px;font-weight:600;color:var(--tinta);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.exp-focus-txt small{font-size:11px;color:var(--muted)}
.exp-links{display:flex;gap:8px;margin-top:16px;flex-wrap:wrap}
/* barras */
.exp-bar{height:8px;border-radius:99px;background:var(--linea);overflow:hidden}
.exp-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--naranja),var(--naranja-2));border-radius:99px;transition:width .5s}
.exp-bar.sm{height:5px}
/* pestañas de fase */
.exp-fasetabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.exp-fasetab{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--linea);background:var(--panel);color:var(--tinta-2);border-radius:10px;padding:7px 13px;cursor:pointer;font-size:12.5px;font-weight:600}
.exp-fasetab em{font-style:normal;font-size:11px;font-weight:800;color:var(--muted)}
.exp-fasetab.on{background:var(--naranja);border-color:var(--naranja);color:var(--sobre-naranja)}
.exp-fasetab.on em{color:#fff;opacity:.9}
.exp-faseprog{border:1px solid var(--linea);border-radius:12px;background:var(--panel);padding:11px 14px;margin-bottom:14px}
.exp-faseprog-t{display:flex;justify-content:space-between;gap:10px;margin-bottom:8px}
.exp-faseprog-t b{font-size:13.5px;color:var(--tinta)}
.exp-faseprog-t span{font-size:12px;color:var(--muted);font-weight:700}
/* toolbar */
.exp-toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:14px;position:sticky;top:calc(var(--top-h,60px) - 2px);z-index:5;background:var(--fondo);padding:6px 0}
.exp-search{display:flex;align-items:center;gap:7px;border:1px solid var(--linea);border-radius:10px;background:var(--panel);padding:0 11px;flex:1;min-width:200px}
.exp-search span{color:var(--muted);font-size:13px}
.exp-search input{flex:1;border:none;background:transparent;padding:9px 0;font-size:13px;color:var(--tinta)}
.exp-search input:focus{outline:none}
.exp-filts{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.exp-filt-grp{display:inline-flex;border:1px solid var(--linea);border-radius:9px;overflow:hidden;background:var(--panel)}
.exp-filt{border:none;border-right:1px solid var(--linea);background:transparent;color:var(--tinta-2);padding:7px 11px;cursor:pointer;font-size:12px;font-weight:600}
.exp-filt:last-child{border-right:none}
.exp-filt:hover{background:var(--panel-2)}
.exp-filt.on{background:var(--naranja);color:var(--sobre-naranja)}
.exp-filt.clear{border:1px solid var(--linea);border-radius:9px;color:var(--rojo-teja)}
/* secciones */
.exp-sec-h{font-size:12.5px;font-weight:800;color:var(--rojo-teja);background:var(--naranja-3);border:1px solid var(--naranja);border-radius:10px;padding:8px 12px;margin:16px 0 9px;display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;user-select:none}
.exp-sec-tw{display:inline-flex;align-items:center;gap:8px}
.exp-caret{font-size:11px;transition:transform .15s;display:inline-block}
.exp-sec-h.col .exp-caret{transform:rotate(-90deg)}
.exp-sec-prog{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:700;color:var(--muted);flex:0 0 auto}
.exp-sec-prog .exp-bar{width:70px}
.exp-sec-pct{font-weight:800}
.exp-p-ok,.exp-pok{color:var(--verde)}.exp-pmid{color:#c98a15}.exp-plow{color:#c0653a}.exp-pnone{color:var(--gris)}
/* items */
.exp-item{border:1px solid var(--linea);border-left:3px solid var(--gris);border-radius:12px;padding:11px 13px;margin-bottom:8px;background:var(--panel);transition:box-shadow .15s}
.exp-item:hover{box-shadow:0 2px 8px rgba(0,0,0,.05)}
.exp-item.ok{border-left-color:var(--verde)}.exp-item.prog{border-left-color:#c98a15}.exp-item.none{border-left-color:var(--linea)}
.exp-item-main{display:flex;gap:10px;align-items:flex-start}
.exp-num{min-width:32px;height:21px;flex:0 0 auto;border-radius:6px;background:var(--panel-2);border:1px solid var(--linea);color:var(--muted);font-size:11px;font-weight:800;display:grid;place-items:center}
.exp-item-txt{flex:1;min-width:0}
.exp-item-act{font-size:13.5px;font-weight:700;color:var(--tinta);line-height:1.4}
.exp-item-det{font-size:12px;color:var(--muted);margin-top:3px;line-height:1.45}
.exp-badge{font-size:10px;font-weight:800;padding:1px 7px;border-radius:99px;vertical-align:middle;white-space:nowrap}
.exp-badge.crit{background:#fde2e2;color:#c0392b}.exp-badge.alto{background:#fff0d6;color:#b8791a}.exp-badge.medio{background:var(--panel-2);color:var(--gris);border:1px solid var(--linea)}
.exp-area{font-size:10.5px;color:var(--muted);font-weight:600}
.exp-item-ctl{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;align-items:center}
/* control segmentado de estatus */
.exp-seg{display:inline-flex;border:1px solid var(--linea);border-radius:9px;overflow:hidden;flex:0 0 auto}
.exp-seg-b{display:inline-flex;align-items:center;gap:5px;border:none;border-right:1px solid var(--linea);background:var(--panel);color:var(--muted);padding:5px 10px;cursor:pointer;font-size:11.5px;font-weight:700}
.exp-seg-b:last-child{border-right:none}
.exp-seg-ic{font-size:11px}
.exp-seg-b:hover{background:var(--panel-2)}
.exp-seg-b.on.ok{background:var(--verde-soft);color:var(--verde)}
.exp-seg-b.on.prog{background:#fdf3dd;color:#c98a15}
.exp-seg-b.on.block{background:var(--rojo-soft);color:var(--rojo)}
.exp-seg-b.on.none{background:var(--panel-hover);color:var(--tinta)}
@media(max-width:520px){.exp-seg-lbl{display:none}.exp-seg-b{padding:6px 11px}}
.exp-resp{flex:1;min-width:150px;border:1px solid var(--linea);border-radius:8px;padding:6px 10px;font-size:12.5px;background:var(--panel);color:var(--tinta)}
.exp-obs{width:100%;margin-top:8px;border:1px dashed var(--linea);border-radius:9px;padding:7px 10px;font-size:12px;background:var(--panel-2);color:var(--tinta);font-family:inherit;resize:vertical;line-height:1.45}
.exp-obs:focus,.exp-resp:focus,.exp-meta-row input:focus{outline:none;border-color:var(--naranja)}
/* adjuntos por actividad */
.exp-adj{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:8px}
.exp-adj-chip{display:inline-flex;align-items:center;border:1px solid var(--linea);border-radius:99px;background:var(--panel);overflow:hidden;max-width:100%}
.exp-adj-open{border:none;background:transparent;color:var(--tinta);font-size:11.5px;font-weight:600;padding:4px 4px 4px 10px;cursor:pointer;white-space:nowrap;max-width:220px;overflow:hidden;text-overflow:ellipsis}
.exp-adj-open:hover{color:var(--naranja-texto)}
.exp-adj-x{border:none;background:transparent;color:var(--muted);font-size:10px;cursor:pointer;padding:4px 8px 4px 4px}
.exp-adj-x:hover{color:#c0392b}
.exp-adj-add{display:inline-flex;align-items:center;gap:4px;border:1px dashed var(--linea);border-radius:99px;background:transparent;color:var(--muted);font-size:11.5px;font-weight:700;padding:4px 11px;cursor:pointer}
.exp-adj-add:hover{border-color:var(--naranja);color:var(--naranja-texto)}
/* scorecard */
.exp-scg{border:1px solid var(--linea);border-radius:13px;background:var(--panel);padding:6px 14px 12px;margin-bottom:14px}
.exp-scg-h{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:11px 0 8px;border-bottom:1px solid var(--linea);margin-bottom:4px}
.exp-scg-h span{font-size:13.5px;font-weight:800;color:var(--tinta)}
.exp-scg-h small{font-size:11px;color:var(--muted);font-weight:700}
.exp-sc{display:grid;grid-template-columns:1.7fr .8fr .8fr .55fr 1.5fr;gap:9px;align-items:center;padding:6px 0;border-bottom:1px solid var(--linea-2)}
.exp-sc:last-child{border-bottom:none}
.exp-sc-head{border-bottom:1px solid var(--linea)}
.exp-sc-head span{font-size:10.5px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.4px}
.exp-sc.has .exp-sc-v{border-color:#8fd6a8;background:var(--verde-soft)}
.exp-sc-m{font-size:12.5px;font-weight:600;color:var(--tinta)}
.exp-sc input,.exp-sc select,.exp-mac input{border:1px solid var(--linea);border-radius:8px;padding:6px 9px;font-size:12px;background:var(--panel);color:var(--tinta)}
.exp-sc input:focus,.exp-sc select:focus,.exp-mac input:focus{outline:none;border-color:var(--naranja)}
.exp-sc-tr{text-align:center;font-weight:800}
.exp-sc-tr.up{color:var(--verde);border-color:#8fd6a8}.exp-sc-tr.down{color:#d14343;border-color:#e8a3a3}.exp-sc-tr.flat{color:var(--muted)}
.exp-mac{display:grid;grid-template-columns:1.2fr .8fr 1.7fr 1fr;gap:9px;align-items:center;padding:6px 0;border-bottom:1px solid var(--linea-2)}
.exp-mac:last-child{border-bottom:none}
.exp-mac-head{border-bottom:1px solid var(--linea)}
.exp-mac-head span{font-size:10.5px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.4px}
.exp-mac-v{font-size:12.5px;font-weight:600;color:var(--tinta)}
/* informe */
.exp-inf-agg{display:flex;gap:16px;align-items:center;flex-wrap:wrap;border:1px solid var(--linea);border-radius:16px;padding:16px;background:linear-gradient(135deg,var(--panel),var(--panel-2));margin-bottom:14px}
.exp-inf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.exp-inf-card{border:1px solid var(--linea);border-radius:13px;padding:13px 15px;background:var(--panel);cursor:pointer;transition:border-color .15s,box-shadow .15s}
.exp-inf-card:hover{border-color:var(--naranja);box-shadow:0 3px 10px rgba(0,0,0,.07)}
.exp-inf-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.exp-inf-top b{font-size:14px;color:var(--tinta)}
.exp-inf-pct{font-size:15px;font-weight:800;color:var(--naranja-texto)}
.exp-inf-fases{display:flex;gap:6px;margin:10px 0 8px}
.exp-inf-f{flex:1;text-align:center}
.exp-inf-f small{font-size:9px;color:var(--muted);display:block;margin-bottom:3px;font-weight:700}
.exp-inf-f em{font-size:9.5px;color:var(--muted);font-style:normal;display:block;margin-top:2px}
.exp-inf-foot{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin-top:7px;padding-top:8px;border-top:1px solid var(--linea-2)}
.exp-inf-pend{color:#d14343;font-weight:700}
/* alertas de fechas */
.exp-alert{display:flex;align-items:center;gap:14px;flex-wrap:wrap;border:1px solid #e8a3a3;background:#fde2e2;border-radius:12px;padding:10px 14px;margin:14px 0;cursor:pointer;font-size:12.5px;color:#a13c34}
:root[data-theme="dark"] .exp-alert{background:#2b1a1a;border-color:#5a2f2f;color:#ffb3a8}
.exp-alert b{font-weight:800}
.exp-alert-p{color:#b8791a}:root[data-theme="dark"] .exp-alert-p{color:#e6b34d}
.exp-alert-go{margin-left:auto;font-weight:800;color:var(--rojo-teja)}
/* chip de fecha en actividad */
.exp-fchip{font-size:10px;font-weight:800;padding:1px 7px;border-radius:99px;background:var(--panel-2);color:var(--muted);border:1px solid var(--linea);white-space:nowrap;vertical-align:middle}
.exp-fchip.venc{background:#fde2e2;color:#c0392b;border-color:#e8a3a3}
.exp-fchip.prox{background:#fff0d6;color:#b8791a;border-color:#f0c674}
.exp-fchip.done{background:var(--verde-soft);color:var(--verde);border-color:#8fd6a8}
.exp-item.venc{border-left-color:#d14343}
.exp-focus-it.venc{border-color:#e8a3a3;background:#fde2e2}
:root[data-theme="dark"] .exp-focus-it.venc{background:#2b1a1a;border-color:#5a2f2f}
/* fecha objetivo en item */
.exp-date{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--muted);border:1px solid var(--linea);border-radius:8px;padding:3px 9px;background:var(--panel)}
.exp-date input{border:none;background:transparent;color:var(--tinta);font-size:12px;font-family:inherit}
.exp-date input:focus{outline:none}
/* avance por responsable */
.exp-resps{display:grid;gap:9px}
.exp-resp-row{display:grid;grid-template-columns:minmax(90px,1.3fr) 2fr auto 44px;gap:11px;align-items:center}
.exp-resp-name{font-size:12.5px;font-weight:600;color:var(--tinta);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.exp-resp-bar .exp-bar{height:7px}
.exp-resp-n{font-size:11px;color:var(--muted);font-weight:700;text-align:right}
.exp-resp-pct{font-size:12.5px;font-weight:800;color:var(--naranja-texto);text-align:right}
/* botón editar + hint */
.exp-editbtn{border:1px solid var(--linea);background:var(--panel);color:var(--tinta-2);border-radius:9px;padding:7px 13px;cursor:pointer;font-size:12.5px;font-weight:700;white-space:nowrap}
.exp-editbtn:hover{border-color:var(--naranja)}
.exp-editbtn.on{background:var(--verde);border-color:var(--verde);color:#fff}
.exp-edithint{flex:1;min-width:200px;font-size:12px;color:var(--tinta-2);background:var(--naranja-3);border:1px solid var(--naranja);border-radius:10px;padding:8px 12px;line-height:1.4}
/* edición: sección */
.exp-sec-h.edit{cursor:default;background:var(--panel-2);border-color:var(--linea);color:var(--tinta)}
.exp-sec-h.edit .exp-sec-tw{flex:1}
.exp-sec-ren{flex:1;border:1px solid var(--linea);border-radius:7px;padding:5px 9px;font-size:12.5px;font-weight:700;background:var(--panel);color:var(--tinta);min-width:120px}
.exp-sec-ren:focus{outline:none;border-color:var(--naranja)}
/* edición: item */
.exp-item.edit{border-left-color:var(--naranja);background:var(--panel-2)}
.exp-ie-row{display:flex;gap:8px;align-items:center;margin-bottom:8px}
.exp-ie-row:last-child{margin-bottom:0}
.exp-ie-row input,.exp-ie-row select{border:1px solid var(--linea);border-radius:8px;padding:6px 9px;font-size:12.5px;background:var(--panel);color:var(--tinta)}
.exp-ie-row input:focus,.exp-ie-row select:focus{outline:none;border-color:var(--naranja)}
.exp-ie-n{width:52px;flex:0 0 auto;text-align:center;font-weight:700}
.exp-ie-act{flex:1;font-weight:700}
.exp-ie-prio{flex:0 0 auto}
.exp-ie-del{flex:0 0 auto;border:1px solid var(--linea);background:var(--panel);border-radius:8px;padding:6px 9px;cursor:pointer;font-size:13px}
.exp-ie-del:hover{border-color:#e8a3a3;background:#fde2e2}
.exp-ie-area{flex:0 0 200px}
.exp-ie-det{flex:1}
/* botón agregar */
.exp-add{width:100%;border:1px dashed var(--linea);background:var(--panel-2);color:var(--tinta-2);border-radius:10px;padding:9px;cursor:pointer;font-size:12.5px;font-weight:700;margin:2px 0 10px}
.exp-add:hover{border-color:var(--naranja);color:var(--naranja-texto)}
.exp-add.sec{border-style:solid;border-color:var(--naranja);color:var(--naranja-texto);margin-top:8px}
@media(max-width:640px){.exp-sc,.exp-mac{grid-template-columns:1fr 1fr;gap:7px}.exp-sc-head,.exp-mac-head{display:none}.exp-item-ctl{flex-direction:column;align-items:stretch}.exp-toolbar{position:static}.exp-ie-row{flex-wrap:wrap}.exp-ie-area{flex:1}.exp-resp-row{grid-template-columns:1fr auto auto;gap:8px}.exp-resp-bar{grid-column:1/-1;order:3}}
/* ===== Proyectos ===== */
.pmb-procbar{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}
.pmb-field{display:flex;flex-direction:column;gap:3px;font-size:11px;color:var(--muted);font-weight:700}
.pmb-field select,.pmb-field input{border:1px solid var(--linea);border-radius:8px;padding:6px 9px;font-size:12.5px;background:var(--panel);color:var(--tinta);font-weight:600}
.pmb-field select:focus,.pmb-field input:focus{outline:none;border-color:var(--naranja)}
/* acta / charter */
.pmb-charter{border:1px solid var(--linea);border-radius:14px;background:var(--panel);padding:16px}
.pmb-charter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:11px;margin-bottom:14px}
.pmb-charter-cell{display:flex;flex-direction:column;gap:4px}
.pmb-charter-cell label{font-size:11px;font-weight:700;color:var(--muted)}
.pmb-charter-cell input{border:1px solid var(--linea);border-radius:8px;padding:7px 9px;font-size:13px;background:var(--panel);color:var(--tinta)}
.pmb-charter-f{margin-bottom:13px}
.pmb-charter-f>label{display:block;font-size:12.5px;font-weight:800;color:var(--tinta);margin-bottom:6px}
.pmb-charter-f textarea{width:100%;border:1px solid var(--linea);border-radius:9px;padding:8px 10px;font-size:12.5px;background:var(--panel-2);color:var(--tinta);font-family:inherit;line-height:1.5;resize:vertical;
  field-sizing:content;min-height:64px;max-height:340px}
.pmb-charter-cell input:focus,.pmb-charter-f textarea:focus{outline:none;border-color:var(--naranja)}
.pmb-charter-f.verm{position:relative}
.pmb-charter-f .verm-tog{position:absolute;width:1px;height:1px;opacity:0;margin:0;pointer-events:none}
.pmb-charter-f .verm-box{position:relative;max-height:118px;overflow:hidden;transition:max-height .28s ease}
.pmb-charter-f .verm-tog:checked~.verm-box,.pmb-charter-f .verm-box:focus-within{max-height:380px}
.pmb-charter-f .verm-box::after{content:"";position:absolute;left:0;right:0;bottom:0;height:42px;background:linear-gradient(transparent,var(--panel-2));pointer-events:none;transition:opacity .2s}
.pmb-charter-f .verm-tog:checked~.verm-box::after,.pmb-charter-f .verm-box:focus-within::after{opacity:0}
.pmb-charter-f>label.verm-lbl{display:inline-block;width:auto;margin:7px 0 0;font-size:11.5px;font-weight:700;color:var(--naranja-texto);cursor:pointer;user-select:none}
.pmb-charter-f>label.verm-lbl::after{content:"Ver más ▾"}
.pmb-charter-f .verm-tog:checked~label.verm-lbl::after{content:"Ver menos ▴"}
.pmb-charter-f>label.verm-lbl:hover{text-decoration:underline}
.pmb-charter-f .verm-tog:focus-visible~label.verm-lbl{outline:2px solid var(--naranja);outline-offset:2px;border-radius:4px}
.pmb-charter-2col{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.pmb-hitos{display:flex;flex-direction:column;gap:7px}
.pmb-hito-row{display:flex;gap:8px;align-items:center}
.pmb-hito-row input{border:1px solid var(--linea);border-radius:8px;padding:6px 9px;font-size:12.5px;background:var(--panel);color:var(--tinta)}
.pmb-hito-row input:first-child{flex:1}
.pmb-hito-row input:focus{outline:none;border-color:var(--naranja)}
.pmb-ord{display:inline-flex;flex-direction:column;gap:2px;flex:0 0 auto}
.pmb-ord-b{width:24px;height:15px;display:grid;place-items:center;padding:0;line-height:1;
  font-size:9px;color:var(--gris);background:var(--panel);border:1px solid var(--linea);
  border-radius:5px;cursor:pointer}
.pmb-ord-b:hover:not(:disabled){border-color:var(--naranja);color:var(--naranja-texto)}
.pmb-ord-b:disabled{opacity:.32;cursor:default}
/* tareas EDT */
.pmb-task{border:1px solid var(--linea);border-left:3px solid var(--gris);border-radius:11px;padding:10px 12px;margin-bottom:8px;background:var(--panel)}
.pmb-task.ok{border-left-color:var(--verde)}.pmb-task.prog{border-left-color:#c98a15}.pmb-task.none{border-left-color:var(--linea)}.pmb-task.block{border-left-color:var(--rojo)}
.pmb-task.venc{border-left-color:#d14343}
.pmb-task-top{display:flex;align-items:center;gap:8px;margin-bottom:9px}
.pmb-task-name{font-size:13.5px;font-weight:700;color:var(--tinta)}
.pmb-task-ctl{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.pmb-task.edit{border-left-color:var(--naranja);background:var(--panel-2)}
.pmb-task.edit .pmb-task-top{margin-bottom:9px}
.pmb-task.edit input.pmb-task-name{flex:1}
.pmb-task input.pmb-task-name{border:1px solid var(--linea);border-radius:8px;padding:6px 9px;font-size:13px;background:var(--panel);color:var(--tinta);font-weight:700}
.pmb-task input.pmb-task-name:focus{outline:none;border-color:var(--naranja)}
/* EDT · reordenar tareas arrastrando (grip + estados de drag/drop) */
.pmb-grip{flex:none;cursor:grab;color:var(--gris);font-size:14px;line-height:1;user-select:none;letter-spacing:-1px}
.pmb-grip:active{cursor:grabbing}
.pmb-task.drag{opacity:.45}
.pmb-task.drop-before{box-shadow:0 -2px 0 0 var(--naranja)}
.pmb-task.drop-after{box-shadow:0 2px 0 0 var(--naranja)}
/* Bitácora · registro automático de actividad */
.pmb-bit-n{font-size:11.5px;font-weight:700;color:var(--gris)}
.pmb-bit{display:flex;flex-direction:column;gap:8px;padding:4px 2px}
.pmb-bit-row{border:1px solid var(--linea);border-left:3px solid var(--gris);border-radius:11px;padding:9px 12px;background:var(--panel);display:flex;flex-direction:column;gap:4px}
.pmb-bit-line{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.pmb-bit-tx{font-size:13px;color:var(--tinta)}
.pmb-bit-meta{display:flex;gap:12px;flex-wrap:wrap;font-size:11.5px;color:var(--gris)}
.pmb-bit-who{font-weight:700}
/* Chip "Creada por" en la cabecera de todas las pestañas de la misión */
.pmb-cred{font-size:11.5px;color:var(--gris);margin-bottom:6px}
.pmb-cred b{color:var(--tinta);font-weight:700}
/* matriz de riesgo */
.pmb-riskwrap{display:flex;gap:26px;flex-wrap:wrap;align-items:center;justify-content:center}
.pmb-matrix{display:flex;align-items:stretch;gap:8px}
.pmb-mx-yl{writing-mode:vertical-rl;transform:rotate(180deg);text-align:center;font-size:12px;font-weight:800;color:var(--muted);padding:4px 0}
.pmb-mx-tbl{display:inline-block}
.pmb-mx{border-collapse:separate;border-spacing:4px}
.pmb-mx th{width:22px;font-size:12px;color:var(--muted);font-weight:800}
.pmb-mx-c{width:62px;height:54px;border-radius:10px;text-align:center;vertical-align:middle;position:relative;border:1px solid rgba(0,0,0,.04)}
.pmb-mx-c.bajo{background:#e7f7ee}.pmb-mx-c.medio{background:#fdf3dd}.pmb-mx-c.alto{background:#ffe2cf}.pmb-mx-c.crit{background:#fde2e2}
:root[data-theme="dark"] .pmb-mx-c{border-color:rgba(255,255,255,.05)}
:root[data-theme="dark"] .pmb-mx-c.bajo{background:#16301f}:root[data-theme="dark"] .pmb-mx-c.medio{background:#332a15}:root[data-theme="dark"] .pmb-mx-c.alto{background:#3a2418}:root[data-theme="dark"] .pmb-mx-c.crit{background:#3a1c1c}
.pmb-mx-n{display:inline-grid;place-items:center;min-width:26px;height:26px;padding:0 6px;border-radius:99px;background:var(--tinta);color:var(--panel);font-size:13px;font-weight:800}
.pmb-mx-sc{font-size:11px;font-weight:700;color:var(--muted);opacity:.55}
.pmb-mx-xh{font-size:12px;color:var(--muted);font-weight:800;text-align:center;padding-top:2px}
.pmb-mx-xl{text-align:center;font-size:12px;font-weight:800;color:var(--muted);margin-top:6px;padding-left:30px}
/* leyenda de la matriz */
.pmb-mx-legend{min-width:210px;max-width:280px;border:1px solid var(--linea);border-radius:12px;background:var(--panel-2);padding:12px 14px}
.pmb-mx-leg-t{font-size:12.5px;font-weight:800;color:var(--tinta);margin-bottom:9px}
.pmb-mx-leg-row{display:flex;align-items:center;gap:9px;padding:4px 0;font-size:12.5px}
.pmb-mx-sw{width:15px;height:15px;border-radius:4px;flex:0 0 auto}
.pmb-mx-sw.bajo{background:#7dcfa0}.pmb-mx-sw.medio{background:#eaca6a}.pmb-mx-sw.alto{background:#eda06a}.pmb-mx-sw.crit{background:#e07a72}
.pmb-mx-leg-l{font-weight:700;color:var(--tinta)}
.pmb-mx-leg-r{color:var(--muted);font-size:11.5px}
.pmb-mx-leg-n{margin-left:auto;min-width:24px;text-align:center;font-weight:800;color:var(--tinta);background:var(--panel);border:1px solid var(--linea);border-radius:99px;padding:1px 8px;font-size:12px}
.pmb-mx-leg-note{font-size:11.5px;color:var(--muted);line-height:1.5;margin:10px 0 0;border-top:1px solid var(--linea);padding-top:9px}
/* badges de nivel de riesgo */
.pmb-rbadge{font-size:10.5px;font-weight:800;padding:2px 9px;border-radius:99px;white-space:nowrap;flex:0 0 auto}
.pmb-rbadge.bajo{background:#e7f7ee;color:#1f9d55}.pmb-rbadge.medio{background:#fdf3dd;color:#c98a15}.pmb-rbadge.alto{background:#ffe2cf;color:#c0653a}.pmb-rbadge.crit{background:#fde2e2;color:#c0392b}
/* registro de riesgos */
.pmb-riesgos{display:flex;flex-direction:column;gap:10px}
.pmb-riesgo{border:1px solid var(--linea);border-left:3px solid var(--gris);border-radius:11px;padding:11px 12px;background:var(--panel)}
.pmb-riesgo.bajo{border-left-color:#1f9d55}.pmb-riesgo.medio{border-left-color:#c98a15}.pmb-riesgo.alto{border-left-color:#c0653a}.pmb-riesgo.crit{border-left-color:#d14343}
.pmb-riesgo-top{display:flex;align-items:center;gap:9px;margin-bottom:9px}
.pmb-riesgo-desc{flex:1;border:1px solid var(--linea);border-radius:8px;padding:6px 10px;font-size:13px;font-weight:600;background:var(--panel);color:var(--tinta)}
.pmb-riesgo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;margin-bottom:8px}
.pmb-riesgo-grid label{display:flex;flex-direction:column;gap:3px;font-size:10.5px;font-weight:700;color:var(--muted)}
.pmb-riesgo-grid select,.pmb-riesgo-grid input{border:1px solid var(--linea);border-radius:7px;padding:5px 8px;font-size:12px;background:var(--panel);color:var(--tinta)}
.pmb-riesgo-plan{width:100%;border:1px dashed var(--linea);border-radius:8px;padding:7px 10px;font-size:12px;background:var(--panel-2);color:var(--tinta);
  font-family:inherit;line-height:1.5;resize:vertical;min-height:40px;max-height:340px;field-sizing:content}
.pmb-riesgo-desc:focus,.pmb-riesgo-plan:focus,.pmb-riesgo-grid select:focus,.pmb-riesgo-grid input:focus{outline:none;border-color:var(--naranja)}
/* matriz poder/interés */
.pmb-pi{display:grid;grid-template-columns:20px 1fr;grid-template-areas:"yl grid" ". xl";gap:6px}
.pmb-pi-yl{grid-area:yl;writing-mode:vertical-rl;transform:rotate(180deg);text-align:center;font-size:11px;font-weight:800;color:var(--muted)}
.pmb-pi-grid{grid-area:grid;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.pmb-pi-xl{grid-area:xl;text-align:center;font-size:11px;font-weight:800;color:var(--muted)}
.pmb-pi-q{border:1px solid var(--linea);border-radius:11px;padding:11px;min-height:96px;display:flex;flex-direction:column;gap:6px;align-content:flex-start}
.pmb-pi-q.g1{background:#fff1e6;border-color:var(--naranja)}.pmb-pi-q.g2{background:#eef3fb;border-color:#9bbbe0}.pmb-pi-q.g3{background:#e7f7ee;border-color:#8fd6a8}.pmb-pi-q.g4{background:var(--panel-2)}
:root[data-theme="dark"] .pmb-pi-q.g1{background:#33231a}:root[data-theme="dark"] .pmb-pi-q.g2{background:#1a2433}:root[data-theme="dark"] .pmb-pi-q.g3{background:#16301f}
.pmb-pi-qh{display:flex;flex-direction:column}.pmb-pi-qh b{font-size:12.5px;color:var(--tinta)}.pmb-pi-qh small{font-size:10px;color:var(--muted)}
.pmb-pi-chip{display:inline-block;background:var(--panel);border:1px solid var(--linea);border-radius:99px;padding:3px 10px;font-size:11.5px;font-weight:600;color:var(--tinta);margin-right:5px}
.pmb-pi-empty{color:var(--muted);font-size:12px}
/* registro de interesados */
.pmb-ints{display:flex;flex-direction:column;gap:9px}
.pmb-int{border:1px solid var(--linea);border-radius:11px;padding:11px 12px;background:var(--panel)}
.pmb-int-top{display:flex;gap:8px;align-items:center;margin-bottom:8px;flex-wrap:wrap}
.pmb-int-name{flex:1;min-width:120px;border:1px solid var(--linea);border-radius:8px;padding:6px 10px;font-size:13px;font-weight:700;background:var(--panel);color:var(--tinta)}
.pmb-int-rol{flex:1;min-width:100px;border:1px solid var(--linea);border-radius:8px;padding:6px 10px;font-size:12.5px;background:var(--panel);color:var(--tinta)}
.pmb-int-cuad{font-size:10.5px;font-weight:800;padding:3px 9px;border-radius:99px;white-space:nowrap;flex:0 0 auto}
.pmb-int-cuad.g1{background:#fff1e6;color:var(--rojo-teja)}.pmb-int-cuad.g2{background:#eef3fb;color:#2f6fb0}.pmb-int-cuad.g3{background:#e7f7ee;color:#1f9d55}.pmb-int-cuad.g4{background:var(--panel-2);color:var(--muted)}
.pmb-int-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}
.pmb-int-grid label{display:flex;flex-direction:column;gap:3px;font-size:10.5px;font-weight:700;color:var(--muted)}
.pmb-int-grid select,.pmb-int-grid input{border:1px solid var(--linea);border-radius:7px;padding:5px 8px;font-size:12px;background:var(--panel);color:var(--tinta)}
.pmb-int-name:focus,.pmb-int-rol:focus,.pmb-int-grid select:focus,.pmb-int-grid input:focus{outline:none;border-color:var(--naranja)}
/* Expectativas y Estrategia: texto largo que antes se truncaba en una línea.
   Ocupan el ancho completo y crecen con el contenido. */
.pmb-int-long{grid-column:1/-1}
.pmb-int-grid textarea{width:100%;border:1px solid var(--linea);border-radius:7px;padding:6px 9px;
  font-family:inherit;font-size:12px;line-height:1.5;background:var(--panel);color:var(--tinta);
  resize:vertical;min-height:42px;max-height:340px;field-sizing:content}
.pmb-int-grid textarea:focus{outline:none;border-color:var(--naranja)}
/* costos */
.pmb-costos{display:flex;flex-direction:column;gap:6px}
.pmb-costo{display:grid;grid-template-columns:1.6fr 1fr .9fr .9fr .9fr 34px;gap:8px;align-items:center}
.pmb-costo input{border:1px solid var(--linea);border-radius:7px;padding:6px 8px;font-size:12.5px;background:var(--panel);color:var(--tinta)}
.pmb-costo input:focus{outline:none;border-color:var(--naranja)}
.pmb-costo-head{font-size:10.5px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;padding-bottom:2px;border-bottom:1px solid var(--linea)}
.pmb-costo-head span{padding:0 4px}
.pmb-costo-dif{font-size:12px;font-weight:800;text-align:right}
.pmb-costo-dif.up{color:#d14343}.pmb-costo-dif.down{color:var(--verde)}
.pmb-costo-tot{font-weight:800;color:var(--tinta);border-top:2px solid var(--linea);padding-top:8px;margin-top:2px}
.pmb-costo-tot span{padding:0 8px}
/* ---- PMBOK: Stepper de grupos de proceso ---- */
.pmb-stepper{display:flex;align-items:center;gap:0;flex-wrap:wrap;margin:0 0 16px;padding:12px 14px;border:1px solid var(--linea);border-radius:14px;background:var(--panel)}
.pmb-step{display:flex;flex-direction:column;align-items:center;gap:5px;background:transparent;border:none;cursor:pointer;font-family:inherit;padding:0 4px;min-width:64px}
.pmb-step-dot{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:800;border:2px solid var(--linea);background:var(--panel);color:var(--gris)}
.pmb-step-lbl{font-size:10.5px;font-weight:600;color:var(--muted);text-align:center;line-height:1.2}
.pmb-step.done .pmb-step-dot{background:var(--verde);border-color:var(--verde);color:#fff}
.pmb-step.done .pmb-step-lbl{color:var(--tinta-2)}
.pmb-step.on .pmb-step-dot{background:var(--naranja);border-color:var(--naranja);color:var(--sobre-naranja);box-shadow:0 0 0 4px color-mix(in srgb,var(--naranja) 20%,transparent)}
.pmb-step.on .pmb-step-lbl{color:var(--naranja-texto);font-weight:800}
.pmb-step:hover .pmb-step-dot{border-color:var(--naranja)}
.pmb-step-line{flex:1;height:2px;min-width:16px;background:var(--linea);margin-top:-16px}
.pmb-step-line.done{background:var(--verde)}
@media(max-width:640px){.pmb-step-lbl{display:none}.pmb-step{min-width:34px}}
/* ---- PMBOK: Calidad ---- */
.pmb-cal{display:flex;flex-direction:column;gap:10px}
.pmb-cal-row{border:1px solid var(--linea);border-left-width:4px;border-radius:11px;padding:11px 13px;background:var(--panel)}
.pmb-cal-row.ok{border-left-color:var(--verde)}.pmb-cal-row.crit{border-left-color:var(--rojo)}.pmb-cal-row.none{border-left-color:var(--linea)}
.pmb-cal-main{display:flex;align-items:center;gap:9px;margin-bottom:9px}
.pmb-cal-ent{flex:1;border:1px solid var(--linea);border-radius:8px;padding:6px 9px;font-size:13px;font-weight:600;background:var(--panel)}
.pmb-cal-grid{display:grid;grid-template-columns:2fr 1fr 1fr 140px;gap:8px}
.pmb-cal-grid label{display:flex;flex-direction:column;gap:3px;font-size:10.5px;font-weight:700;color:var(--muted)}
.pmb-cal-grid input,.pmb-cal-grid select,.pmb-cal-grid textarea{border:1px solid var(--linea);border-radius:7px;padding:6px 8px;font-size:12px;font-family:inherit;background:var(--panel);color:var(--tinta);resize:vertical;field-sizing:content;min-height:34px;max-height:200px}
.pmb-cal-grid input:focus,.pmb-cal-grid select:focus,.pmb-cal-grid textarea:focus{outline:none;border-color:var(--naranja)}
@media(max-width:720px){.pmb-cal-grid{grid-template-columns:1fr 1fr}}
/* ---- PMBOK: Comunicaciones ---- */
.pmb-com{display:flex;flex-direction:column;gap:10px}
.pmb-com-row{border:1px solid var(--linea);border-radius:11px;padding:11px 13px;background:var(--panel)}
.pmb-com-top{display:flex;align-items:center;gap:9px;margin-bottom:9px}
.pmb-com-aud{flex:1;border:1px solid var(--linea);border-radius:8px;padding:6px 9px;font-size:13px;font-weight:600;background:var(--panel)}
.pmb-com-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.pmb-com-grid label{display:flex;flex-direction:column;gap:3px;font-size:10.5px;font-weight:700;color:var(--muted)}
.pmb-com-w2{grid-column:1/-1}
.pmb-com-grid input,.pmb-com-grid select,.pmb-com-grid textarea{border:1px solid var(--linea);border-radius:7px;padding:6px 8px;font-size:12px;font-family:inherit;background:var(--panel);color:var(--tinta);resize:vertical;field-sizing:content;min-height:34px;max-height:220px}
.pmb-com-grid input:focus,.pmb-com-grid select:focus,.pmb-com-grid textarea:focus{outline:none;border-color:var(--naranja)}
@media(max-width:720px){.pmb-com-grid{grid-template-columns:1fr 1fr}}
/* ---- PMBOK: Control de cambios ---- */
.pmb-cam{display:flex;flex-direction:column;gap:10px}
.pmb-cam-row{border:1px solid var(--linea);border-left-width:4px;border-radius:11px;padding:11px 13px;background:var(--panel)}
.pmb-cam-row.ok{border-left-color:var(--verde)}.pmb-cam-row.crit{border-left-color:var(--rojo)}.pmb-cam-row.prog{border-left-color:var(--amarillo)}.pmb-cam-row.none{border-left-color:var(--linea)}
.pmb-cam-top{display:flex;align-items:center;gap:9px;margin-bottom:9px}
.pmb-cam-desc{flex:1;border:1px solid var(--linea);border-radius:8px;padding:6px 9px;font-size:13px;font-weight:600;background:var(--panel)}
.pmb-cam-est-badge{font-size:10.5px;font-weight:800;border-radius:999px;padding:2px 10px;white-space:nowrap}
.pmb-cam-est-badge.ok{background:var(--verde-soft);color:var(--verde)}.pmb-cam-est-badge.crit{background:var(--rojo-soft);color:var(--rojo)}.pmb-cam-est-badge.prog{background:var(--amarillo-soft);color:var(--amarillo)}.pmb-cam-est-badge.none{background:var(--panel-2);color:var(--muted);border:1px solid var(--linea)}
.pmb-cam-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.pmb-cam-grid label{display:flex;flex-direction:column;gap:3px;font-size:10.5px;font-weight:700;color:var(--muted)}
.pmb-cam-w2{grid-column:1/-1}
.pmb-cam-grid input,.pmb-cam-grid select,.pmb-cam-grid textarea{border:1px solid var(--linea);border-radius:7px;padding:6px 8px;font-size:12px;font-family:inherit;background:var(--panel);color:var(--tinta);resize:vertical;field-sizing:content;min-height:34px;max-height:220px}
.pmb-cam-grid input:focus,.pmb-cam-grid select:focus,.pmb-cam-grid textarea:focus{outline:none;border-color:var(--naranja)}
@media(max-width:720px){.pmb-cam-grid{grid-template-columns:1fr 1fr}}
/* ---- PMBOK: Cierre ---- */
.pmb-cierre-head{display:flex;align-items:center;gap:18px;border:1px solid var(--linea);border-radius:14px;padding:14px 18px;margin-bottom:14px;background:var(--panel)}
.pmb-cierre-head.ok{border-color:color-mix(in srgb,var(--verde) 40%,var(--linea));background:color-mix(in srgb,var(--verde) 5%,var(--panel))}
.pmb-cierre-ring{display:flex;flex-direction:column;align-items:center;gap:3px;flex:0 0 auto}
.pmb-cierre-ring span{font-size:10.5px;color:var(--muted);font-weight:600}
.pmb-cierre-meta{flex:1;min-width:0}
.pmb-cierre-estado{font-size:13px;margin-top:6px}
.pmb-ent{display:flex;flex-direction:column;gap:6px}
.pmb-ent-row{display:flex;align-items:center;gap:10px;padding:8px 11px;border:1px solid var(--linea);border-radius:10px;background:var(--panel);cursor:pointer}
.pmb-ent-row.ok{background:color-mix(in srgb,var(--verde) 6%,var(--panel));border-color:color-mix(in srgb,var(--verde) 30%,var(--linea))}
.pmb-ent-row input[type=checkbox]{accent-color:var(--verde);width:17px;height:17px;flex:0 0 auto}
.pmb-ent-n{flex:1;border:1px solid transparent;border-radius:7px;padding:5px 8px;font-size:13px;background:transparent;color:var(--tinta)}
.pmb-ent-n:hover{border-color:var(--linea)}.pmb-ent-n:focus{outline:none;border-color:var(--naranja);background:var(--panel)}
.pmb-ent-row.ok .pmb-ent-n{text-decoration:line-through;color:var(--muted)}
.pmb-lecc{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pmb-lecc-col{display:flex;flex-direction:column;gap:5px;font-size:12.5px;font-weight:800}
.pmb-lecc-col.ok{color:var(--verde)}.pmb-lecc-col.mej{color:var(--amarillo)}
.pmb-lecc-col textarea,.pmb-lecc-final textarea{font-weight:400;color:var(--tinta);border:1px solid var(--linea);border-radius:9px;padding:8px 10px;font-size:12.5px;font-family:inherit;line-height:1.5;background:var(--panel-2);resize:vertical;field-sizing:content;min-height:80px;max-height:400px}
.pmb-lecc-col textarea:focus,.pmb-lecc-final textarea:focus{outline:none;border-color:var(--naranja)}
.pmb-lecc-final{display:flex;flex-direction:column;gap:5px;font-size:12.5px;font-weight:800;margin-top:12px}
@media(max-width:720px){.pmb-lecc{grid-template-columns:1fr}.pmb-cierre-head{flex-direction:column;align-items:stretch}}
/* ---- Eventos Kaizen ---- */
.kz-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.kz-card{text-align:left;border:1px solid var(--linea);border-radius:14px;background:var(--panel);padding:14px 15px;cursor:pointer;font-family:inherit;display:flex;flex-direction:column;gap:9px;transition:transform var(--t),box-shadow var(--t),border-color var(--t)}
.kz-card:hover{transform:translateY(-3px);border-color:var(--naranja);box-shadow:var(--sombra-2)}
.kz-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.kz-card-nom{font-size:13.5px;font-weight:800;color:var(--tinta);line-height:1.3}
.kz-badge{font-size:10.5px;font-weight:800;border-radius:999px;padding:2px 9px;white-space:nowrap;flex:0 0 auto}
.kz-badge.ok{background:var(--verde-soft);color:var(--verde)}.kz-badge.prog{background:var(--amarillo-soft);color:var(--amarillo)}.kz-badge.none{background:var(--panel-2);color:var(--muted);border:1px solid var(--linea)}
.kz-card-meta{display:flex;gap:12px;flex-wrap:wrap;font-size:11px;color:var(--muted)}
.kz-card-foot{display:flex;justify-content:space-between;gap:8px;font-size:11px;color:var(--muted)}
.kz-up{color:var(--verde);font-weight:700}.kz-down{color:var(--rojo);font-weight:700}
.kz-cmd{position:relative;display:flex;gap:18px;align-items:center;margin:2px 0 14px;padding:16px 18px 16px 20px;border:1px solid var(--linea);border-radius:16px;overflow:hidden;background:linear-gradient(120deg,color-mix(in srgb,var(--sc,var(--naranja)) 7%,var(--panel)),var(--panel) 62%)}
.kz-cmd-l{flex:1;min-width:0;display:flex;flex-direction:column;gap:9px}
.kz-field{display:flex;flex-direction:column;gap:5px;margin-bottom:10px}
.kz-field>label{font-size:12px;font-weight:800;color:var(--tinta)}
.kz-field textarea{width:100%;border:1px solid var(--linea);border-radius:9px;padding:8px 10px;font-size:12.5px;font-family:inherit;line-height:1.5;background:var(--panel-2);color:var(--tinta);resize:vertical;field-sizing:content;min-height:56px;max-height:340px}
.kz-field textarea:focus{outline:none;border-color:var(--naranja)}
.kz-2col{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:700px){.kz-2col{grid-template-columns:1fr}}
.kz-mets{display:flex;flex-direction:column}
.kz-met{display:grid;grid-template-columns:1.6fr .8fr .8fr .8fr .8fr .9fr 34px;gap:8px;align-items:center;padding:6px 0;border-top:1px solid var(--linea-2)}
.kz-met-head{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);border-top:none}
.kz-met input{border:1px solid var(--linea);border-radius:7px;padding:5px 8px;font-size:12px;background:var(--panel);color:var(--tinta)}
.kz-met input:focus{outline:none;border-color:var(--naranja)}
.kz-met-mej{font-size:12px;font-weight:800;text-align:right}
@media(max-width:760px){.kz-met{grid-template-columns:1fr 1fr}}
.kz-causas{display:flex;flex-direction:column;gap:7px}
.kz-causa{display:flex;align-items:center;gap:9px}
.kz-causa-n{width:24px;height:24px;flex:0 0 auto;display:grid;place-items:center;border-radius:50%;background:var(--naranja);color:var(--sobre-naranja);font-size:11px;font-weight:800}
.kz-causa input{flex:1;border:1px solid var(--linea);border-radius:8px;padding:7px 10px;font-size:12.5px;background:var(--panel);color:var(--tinta)}
.kz-causa input:focus{outline:none;border-color:var(--naranja)}
.kz-accs{display:flex;flex-direction:column;gap:7px}
.kz-acc{display:grid;grid-template-columns:auto 1fr 140px 140px 120px 34px;gap:8px;align-items:center;padding:6px 0;border-top:1px solid var(--linea-2)}
.kz-acc.ok .kz-acc-t{text-decoration:line-through;color:var(--muted)}
.kz-acc-chk{width:26px;height:26px;flex:0 0 auto;border:1px solid var(--linea);border-radius:50%;background:var(--panel);cursor:pointer;font-size:13px;color:var(--gris);display:grid;place-items:center}
.kz-acc-chk.on{background:var(--verde);border-color:var(--verde);color:#fff}
.kz-acc input,.kz-acc select{border:1px solid var(--linea);border-radius:7px;padding:6px 8px;font-size:12px;background:var(--panel);color:var(--tinta)}
.kz-acc input:focus,.kz-acc select:focus{outline:none;border-color:var(--naranja)}
@media(max-width:800px){.kz-acc{grid-template-columns:auto 1fr}.kz-acc-r,.kz-acc-f,.kz-acc-e{grid-column:2}}
/* ---- Kaizen: desperdicios (MUDA) ---- */
.kz-muda{display:flex;flex-wrap:wrap;gap:8px}
.kz-muda-b{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--linea);background:var(--panel);border-radius:999px;padding:7px 13px;font-size:12.5px;color:var(--tinta-2);font-family:inherit;cursor:pointer;transition:border-color var(--t),background var(--t),color var(--t)}
.kz-muda-b:hover{border-color:var(--naranja)}
.kz-muda-b.on{background:color-mix(in srgb,var(--naranja) 12%,var(--panel));border-color:var(--naranja);color:var(--tinta);font-weight:700}
.kz-muda-b.on b{color:var(--naranja-texto)}
.kz-muda-ic{font-size:14px}
.kz-muda-cont{margin-top:10px;font-size:12px;color:var(--muted)}
/* ---- Lean Six Sigma (DMAIC) ---- */
.ss-card-fase{display:flex;gap:5px}
.ss-mini{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:10px;font-weight:800;border:1px solid var(--linea);background:var(--panel);color:var(--gris)}
.ss-mini.done{background:var(--verde);border-color:var(--verde);color:#fff}
.ss-mini.on{background:var(--naranja);border-color:var(--naranja);color:var(--sobre-naranja)}
.ss-sigma{font-weight:700}
.ss-sigmabig{display:flex;align-items:baseline;gap:2px;font-weight:800}
.ss-sigmabig b{font-size:30px;line-height:1}.ss-sigmabig span{font-size:14px}
.kz-cmd-l{flex:1;min-width:0;display:flex;flex-direction:column;gap:9px}
.ss-sub{border:1px solid var(--linea-2);border-radius:12px;background:var(--panel-2);padding:11px 13px;margin-top:12px}
.ss-sub-h{display:flex;align-items:center;gap:9px;margin-bottom:9px;font-size:12.5px;font-weight:800}
.ss-sub-h small{margin-left:auto;font-size:10.5px;font-weight:500;color:var(--muted)}
.ss-sipoc{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.ss-sipoc label{display:flex;flex-direction:column;gap:4px;font-size:10.5px;font-weight:700;color:var(--muted)}
.ss-sipoc textarea{border:1px solid var(--linea);border-radius:8px;padding:6px 8px;font-size:12px;font-family:inherit;line-height:1.45;background:var(--panel);color:var(--tinta);resize:vertical;field-sizing:content;min-height:48px;max-height:220px}
.ss-sipoc textarea:focus{outline:none;border-color:var(--naranja)}
@media(max-width:820px){.ss-sipoc{grid-template-columns:1fr 1fr}}
.ss-dpmo{display:flex;gap:16px;flex-wrap:wrap;align-items:stretch;border:1px solid var(--linea);border-radius:12px;background:var(--panel);padding:13px 15px}
.ss-dpmo-in{display:flex;gap:10px;flex-wrap:wrap;flex:1;min-width:240px}
.ss-dpmo-in label{display:flex;flex-direction:column;gap:4px;font-size:10.5px;font-weight:700;color:var(--muted);flex:1;min-width:90px}
.ss-dpmo-in input{border:1px solid var(--linea);border-radius:8px;padding:7px 9px;font-size:13px;background:var(--panel);color:var(--tinta)}
.ss-dpmo-in input:focus{outline:none;border-color:var(--naranja)}
.ss-dpmo-out{display:flex;gap:10px}
.ss-dpmo-tile{border:1px solid var(--linea);border-radius:11px;padding:9px 15px;text-align:center;min-width:92px;display:flex;flex-direction:column;justify-content:center;background:var(--panel-2)}
.ss-dpmo-tile b{font-size:20px;font-weight:800;line-height:1.1;color:var(--tinta)}
.ss-dpmo-tile span{font-size:10px;color:var(--muted)}
@media(max-width:640px){.ss-dpmo-out{width:100%}.ss-dpmo-tile{flex:1;min-width:0}}
.ss-fmea-wrap{overflow-x:auto}
.ss-fmea{min-width:820px;display:flex;flex-direction:column}
.ss-fmea-row{display:grid;grid-template-columns:1.4fr 1.4fr 44px 1.4fr 44px 1.4fr 44px 52px 30px;gap:6px;align-items:center;padding:5px 0;border-top:1px solid var(--linea-2)}
.ss-fmea-head{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.3px;color:var(--muted);border-top:none;padding-bottom:4px}
.ss-fmea-head span{text-align:center}.ss-fmea-head span:first-child,.ss-fmea-head span:nth-child(2),.ss-fmea-head span:nth-child(4),.ss-fmea-head span:nth-child(6){text-align:left}
.ss-fmea-row input,.ss-fmea-row select{border:1px solid var(--linea);border-radius:6px;padding:5px 6px;font-size:11.5px;background:var(--panel);color:var(--tinta);min-width:0}
.ss-fmea-row input:focus,.ss-fmea-row select:focus{outline:none;border-color:var(--naranja)}
.ss-fmea-row select{text-align:center}
.ss-fmea-row.crit{background:color-mix(in srgb,var(--rojo) 6%,transparent)}
.ss-fmea-rpn{font-size:13px;font-weight:800;text-align:center;border-radius:6px;padding:3px 0}
.ss-fmea-rpn.crit{background:var(--rojo);color:#fff}.ss-fmea-rpn.alto{background:var(--amarillo);color:#fff}
.ss-fmea-rpn.medio{background:var(--amarillo-soft);color:var(--amarillo)}.ss-fmea-rpn.bajo{background:var(--verde-soft);color:var(--verde)}
@media(max-width:700px){.pmb-charter-2col{grid-template-columns:1fr}.pmb-costo{grid-template-columns:1fr 1fr;gap:6px}.pmb-costo-head{display:none}.pmb-task-ctl{flex-direction:column;align-items:stretch}.pmb-pi-grid{grid-template-columns:1fr}}
/* ===== Diagramas BPMN ===== */
/* Exportar: era SVG + JPG + BPMN, tres botones del mismo peso que la acción
   principal, y los tres dicen lo mismo (descargar). Ahora uno, y el menú
   EXPLICA para qué sirve cada formato: la diferencia entre SVG, JPG y BPMN no
   es evidente para quien no modela procesos a diario. */
.diag-exp{position:relative}
.diag-exp>summary{list-style:none;display:inline-flex;align-items:center;gap:6px}
.diag-exp>summary::-webkit-details-marker{display:none}
.diag-exp-c{font-size:9px;opacity:.6;transition:transform var(--t)}
.diag-exp[open] .diag-exp-c{transform:rotate(180deg)}
.diag-exp-m{position:absolute;right:0;top:calc(100% + 6px);z-index:60;min-width:290px;
  background:var(--panel);border:1px solid var(--linea);border-radius:12px;
  box-shadow:var(--sombra-2);padding:5px;display:flex;flex-direction:column;gap:2px;
  animation:pop .14s ease}
.diag-exp-o{display:flex;flex-direction:column;align-items:flex-start;gap:2px;
  background:none;border:0;border-radius:8px;padding:8px 10px;cursor:pointer;
  text-align:left;width:100%;color:var(--tinta)}
.diag-exp-o:hover{background:var(--panel-hover)}
.diag-exp-o:focus-visible{outline:2px solid var(--azul);outline-offset:-2px}
.diag-exp-o b{font-size:13px;font-weight:700}
.diag-exp-o span{font-size:11.5px;color:var(--gris);line-height:1.35}
@media(max-width:820px){ .diag-exp-m{min-width:0;width:min(280px,calc(100vw - 32px))} }

.diag-wrap{max-width:1180px;margin:0 auto}
.diag-empty{border:1px dashed var(--linea);border-radius:14px;padding:34px 26px;text-align:center;color:var(--muted);font-size:13.5px;background:var(--panel-2)}
/* HIJO DIRECTO, no descendiente: esta regla viste el TÍTULO del estado vacío.
   Como descendiente alcanzaba también a las negritas DE DENTRO del párrafo y las
   volvía bloque, partiendo la frase en trozos que empezaban por signo:
     «Crea el primero con / +Diagrama / , u organízalos en / carpetas /
      . Modelado de procesos con notación BPMN 2.0.»
   El HTML siempre estuvo bien; lo rompía el selector. */
.diag-empty .exp-empty-ic{display:flex;justify-content:center;margin-bottom:8px}
.diag-empty .exp-empty-ic svg{width:30px;height:30px;color:var(--gris-2)}
.diag-empty>b{display:block;font-size:15px;color:var(--tinta);margin-bottom:4px}
.diag-empty p{margin:0;max-width:420px;margin-inline:auto;line-height:1.5}
.diag-empty p b{color:var(--tinta-2);font-weight:700}
.diag-mini-empty{color:var(--muted);font-size:12px}
/* Mis documentos */
.dg-wrap{max-width:1240px;margin:0 auto}
.dg-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:20px}
.dg-title{margin:0;font-size:26px;font-weight:800;color:var(--tinta);letter-spacing:-.4px;display:flex;align-items:center;gap:9px}
/* Los contenedores de icono del explorador estaban dimensionados para EMOJI
   (font-size). Al pasar a SVG, miIco devuelve 13px fijos y quedaban diminutos
   dentro de cajas pensadas para 15-34px: aquí manda la caja, no el icono. */
.dg-title svg{width:22px;height:22px;color:var(--gris);flex:0 0 auto}
.dg-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.dg-ctrl{border:1px solid transparent;background:transparent;color:var(--gris);border-radius:9px;padding:6px 9px;cursor:pointer;font-size:14px;font-weight:700;line-height:1}
.dg-ctrl:hover{background:var(--panel-2);color:var(--tinta)}
.dg-ctrl.on{background:var(--panel-hover);color:var(--tinta);border-color:var(--linea)}
.dg-ctrl-grp{display:inline-flex;border:1px solid var(--linea);border-radius:9px;overflow:hidden}
.dg-ctrl-grp .dg-ctrl{border-radius:0;border:none;border-right:1px solid var(--linea)}.dg-ctrl-grp .dg-ctrl:last-child{border-right:none}
.dg-ctrl-sep{width:1px;height:22px;background:var(--linea);margin:0 4px}
.dg-crumb{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:700;color:var(--tinta)}
.dg-crumb a{color:var(--muted);cursor:pointer;font-weight:600}.dg-crumb a:hover{color:var(--naranja-texto)}
.dg-crumb span{color:var(--muted)}
.dg-crumb-name{font-size:15px;font-weight:800;color:var(--tinta);border:1px solid transparent;background:transparent;border-radius:7px;padding:3px 7px}
.dg-crumb-name:hover{border-color:var(--linea)}.dg-crumb-name:focus{border-color:var(--naranja);background:var(--panel-2);outline:none}
.dg-section{margin-bottom:26px}
.dg-sec-h{display:inline-flex;align-items:center;gap:8px;background:none;border:none;cursor:pointer;font-size:19px;font-weight:800;color:var(--tinta);padding:0;margin-bottom:14px}
.dg-sec-t{font-size:19px;font-weight:800;color:var(--tinta);margin-bottom:14px}
.dg-caret{font-size:13px;color:var(--muted);transition:transform .15s;display:inline-block}
.dg-sec-h.col .dg-caret{transform:rotate(-90deg)}
/* carpetas (tarjetas) */
.dg-fgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.dg-folder{position:relative;display:flex;align-items:center;gap:12px;border:1px solid var(--linea);border-radius:12px;background:var(--panel);padding:22px 20px;cursor:pointer;text-align:left;width:100%;transition:border-color .15s,box-shadow .15s}
.dg-folder:hover{border-color:var(--naranja);box-shadow:0 3px 10px rgba(0,0,0,.07)}
.dg-folder-ic{font-size:22px;flex:0 0 auto;display:inline-flex}
.dg-folder-ic svg{width:21px;height:21px;color:var(--gris)}
.dg-folder-nm{flex:1;min-width:0;font-size:15.5px;font-weight:600;color:var(--tinta);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dg-folder-n{flex:0 0 auto;font-size:11.5px;font-weight:800;color:var(--muted);background:var(--panel-2);border:1px solid var(--linea);border-radius:99px;padding:1px 9px}
.dg-folder-del{flex:0 0 auto;border:none;background:transparent;cursor:pointer;font-size:14px;opacity:0;transition:opacity .15s;border-radius:7px;padding:3px 5px}
.dg-folder:hover .dg-folder-del{opacity:.75}.dg-folder-del:hover{opacity:1!important;background:var(--panel-2)}
/* documentos (tarjetas) */
.dg-dgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}
.dg-doc{position:relative;border:1px solid var(--linea);border-radius:12px;background:var(--panel);overflow:hidden;transition:box-shadow .15s,border-color .15s}
.dg-doc:hover{border-color:var(--naranja);box-shadow:0 4px 14px rgba(0,0,0,.08)}
.dg-doc-top{display:flex;align-items:center;gap:9px;padding:12px 13px 8px}
.dg-doc-ic{width:20px;height:20px;flex:0 0 auto;border-radius:5px;background:linear-gradient(135deg,#ff8a3d,var(--naranja));box-shadow:inset 0 0 0 3px rgba(255,255,255,.35)}
.dg-doc-nm{flex:1;min-width:0;font-size:15px;font-weight:600;color:var(--tinta);border:1px solid transparent;background:transparent;border-radius:6px;padding:2px 5px;margin-left:-5px}
.dg-doc-nm:hover{border-color:var(--linea)}.dg-doc-nm:focus{border-color:var(--naranja);background:var(--panel-2);outline:none}
/* Título en modo lectura (con lápiz para editar): se ve como texto, sin borde */
.dg-doc-nm.ro{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:default;border-color:transparent}
.dg-doc-nm.ro:hover{border-color:transparent;background:transparent}
/* Lápiz de renombrar: vive en el grupo de herramientas (junto a ★/🗑), mismo estilo */
.dg-doc-pen{flex:0 0 auto;border:1px solid var(--linea);background:var(--panel);border-radius:7px;cursor:pointer;font-size:13px;line-height:1;padding:3px 6px}
.dg-doc-pen:hover{border-color:var(--naranja)}
.dg-doc.faved .dg-doc-pen{opacity:.55}
.dg-doc:hover .dg-doc-pen{opacity:1}
.dg-doc-tools{position:absolute;top:9px;right:9px;display:flex;gap:5px;align-items:center;opacity:0;transition:opacity .15s}
.dg-doc:hover .dg-doc-tools{opacity:1}
.dg-move{font-size:11px;color:var(--muted);border:1px solid var(--linea);border-radius:7px;padding:3px 5px;background:var(--panel);max-width:120px}
.dg-doc-del{border:1px solid var(--linea);background:var(--panel);border-radius:7px;cursor:pointer;font-size:13px;padding:3px 6px}.dg-doc-del:hover{border-color:#e8a3a3;background:#fde2e2}
.dg-doc-thumb{height:150px;background:var(--panel-2);border-top:1px solid var(--linea);border-bottom:1px solid var(--linea);display:flex;align-items:center;justify-content:center;padding:10px;cursor:pointer}
.dg-doc-thumb svg{max-width:100%;max-height:100%}
.dg-doc-foot{display:flex;align-items:center;gap:8px;padding:9px 12px;background:var(--panel-2)}
.dg-dot{width:9px;height:9px;border-radius:50%;flex:0 0 auto}
.dg-estado{flex:1;border:none;background:transparent;color:var(--tinta);font-size:13px;font-weight:600;cursor:pointer;padding:0;-webkit-appearance:none;appearance:none}
.dg-estado:focus{outline:none}
.dg-foot-cv{color:var(--muted);font-size:12px;pointer-events:none}
/* vista de lista */
.dg-dgrid.lista{grid-template-columns:1fr;gap:8px}
.dg-dgrid.lista .dg-doc{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:8px 12px}
.dg-dgrid.lista .dg-doc-top{padding:0;order:2}
.dg-dgrid.lista .dg-doc-thumb{height:44px;width:64px;order:1;border:1px solid var(--linea);border-radius:8px;padding:4px}
.dg-dgrid.lista .dg-doc-foot{order:3;background:transparent;padding:0;width:auto}
.dg-dgrid.lista .dg-doc-tools{position:static;order:4;opacity:1}
/* estrella (favorito) */
.dg-star{border:1px solid var(--linea);background:var(--panel);border-radius:7px;cursor:pointer;font-size:13px;line-height:1;padding:3px 6px;color:var(--muted)}
.dg-star:hover{border-color:#e6b34d;color:#e0a800}
.dg-star.on{color:#e0a800;border-color:#e6b34d;opacity:1}
.dg-doc.faved .dg-doc-tools{opacity:1}
.dg-doc.faved .dg-star:not(.on),.dg-doc.faved .dg-move,.dg-doc.faved .dg-doc-del{opacity:.55}
.dg-doc:hover .dg-star,.dg-doc:hover .dg-move,.dg-doc:hover .dg-doc-del{opacity:1}
.dg-doc.trashed .dg-doc-thumb{opacity:.6;filter:grayscale(.4)}
/* submenú explorador (árbol) */
.dg-tree{display:flex;flex-direction:column;gap:1px}
.dg-nav{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;background:transparent;border:none;color:var(--tinta-2);border-radius:9px;padding:7px 9px;cursor:pointer;font-size:13.5px;text-align:left}
.dg-nav-tw{display:flex;align-items:center;gap:9px;min-width:0}
.dg-nav:hover{background:var(--panel-2)}
.dg-nav.on{background:var(--panel-2);color:var(--tinta);font-weight:700;box-shadow:inset 0 0 0 1px var(--linea)}
.dg-nav-ic{flex:0 0 auto;width:18px;text-align:center;font-size:15px;display:inline-flex;align-items:center;justify-content:center}
.dg-nav-ic svg{width:15px;height:15px}
.dg-nav-lbl{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dg-nav-parent{color:var(--tinta);font-weight:700}
.dg-caret2{flex:0 0 auto;width:14px;font-size:10px;color:var(--muted);text-align:center;transition:transform .15s;border-radius:4px}
.dg-caret2.col{transform:rotate(-90deg)}
.dg-caret2.clk{cursor:pointer}
.dg-caret2.clk:hover{background:var(--panel-hover);color:var(--tinta)}
.dg-caret2.leaf{color:transparent}
.dg-tree-lv1{margin-left:12px;display:flex;flex-direction:column;gap:1px}
.dg-tree-lv2{margin-left:20px;display:flex;flex-direction:column;gap:1px}
.dg-nav-n{flex:0 0 auto;font-size:10.5px;font-weight:800;color:var(--muted);background:var(--panel-hover);border-radius:99px;padding:0 7px;min-width:18px;text-align:center}
.dg-nav-mini{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:20px;height:18px;border:1px solid var(--linea);background:var(--panel);border-radius:6px;font-size:11px;color:var(--gris);cursor:pointer;line-height:1}
.dg-nav-mini:hover{border-color:var(--naranja);color:var(--naranja-texto)}
@media(max-width:560px){.dg-title{font-size:22px}.dg-fgrid,.dg-dgrid{grid-template-columns:1fr}}
.diag-editor{max-width:none;margin:0;display:flex;flex-direction:column;height:calc(100vh - var(--top-h,60px) - 6px)}
body.diag-view main{max-width:none;padding:8px 12px 10px}
body.diag-view #subnav{display:none} /* dentro del editor (canvas) se oculta el submenú para dar todo el ancho */
.diag-topbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:5px 9px;border:1px solid var(--linea);border-radius:11px;background:var(--panel);margin-bottom:6px}
.diag-title{flex:0 1 320px;font-size:15px;font-weight:700;border:1px solid transparent;border-radius:8px;padding:5px 9px;background:transparent;color:var(--tinta)}
/* pestañas del diagrama (as-is / to-be / subproceso…) */
.diag-tabs{display:flex;align-items:flex-end;gap:5px;flex-wrap:wrap;margin-bottom:6px;padding:0 2px}
.diag-tab{border:1px solid var(--linea);background:var(--panel-2);color:var(--tinta-2);border-radius:9px;padding:4px 12px;cursor:pointer;font-size:12.5px;font-weight:600}
.diag-tab:hover{background:var(--panel-hover);border-color:var(--naranja)}
.diag-tab.on{display:inline-flex;align-items:center;gap:1px;background:var(--panel);border-color:var(--naranja);color:var(--tinta);padding:4px 5px 4px 3px;box-shadow:0 2px 0 var(--naranja) inset}
.diag-tab-name{border:none;background:transparent;color:inherit;font-size:12.5px;font-weight:800;cursor:pointer;padding:2px 6px}
.diag-tab-mini{border:none;background:transparent;color:var(--muted);cursor:pointer;font-size:11px;border-radius:5px;padding:3px 5px;line-height:1}
.diag-tab-mini:hover{background:var(--panel-2);color:var(--tinta)}
.diag-tab-mini.x:hover{color:#c0392b}
.diag-tab-add{border:1px dashed var(--linea);background:transparent;color:var(--muted);border-radius:8px;padding:4px 11px;cursor:pointer;font-size:12px;font-weight:700}
.diag-tab-add:hover{border-color:var(--naranja);color:var(--naranja-texto)}
/* al escribir en línea, ocultar el panel de propiedades y dar todo el ancho al lienzo */
body.diag-editing .diag-prop{display:none}
body.diag-editing .diag-body{grid-template-columns:236px 1fr}
.diag-title:hover{border-color:var(--linea)}.diag-title:focus{outline:none;border-color:var(--naranja);background:var(--panel-2)}
.diag-sp{flex:1}
.diag-zlbl{font-size:12px;color:var(--muted);min-width:38px;text-align:center}
.diag-body{display:grid;grid-template-columns:236px 1fr 240px;gap:10px;align-items:stretch;flex:1;min-height:0}
.diag-palette{display:flex;flex-direction:column;gap:5px;border:1px solid var(--linea);border-radius:11px;background:var(--panel);padding:8px}
.diag-pbtn{display:flex;align-items:center;gap:8px;border:1px solid var(--linea);background:var(--panel-2);border-radius:8px;padding:7px 9px;font-size:12px;color:var(--tinta);cursor:pointer;text-align:left;white-space:nowrap}
.diag-pbtn:hover{border-color:var(--naranja);background:var(--naranja-3)}
.diag-pic{font-size:15px;width:18px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;color:var(--gris)}
/* La paleta pasó de glifos a SVG: la caja manda sobre el icono. */
.diag-pic svg{width:16px;height:16px;display:block}
.diag-canvas-outer{position:relative;height:100%;min-height:0;min-width:0;display:flex;flex-direction:column;gap:4px}
.diag-canvas-mid{position:relative;flex:1;min-height:0;min-width:0}
.diag-canvas-wrap{border:1px solid var(--linea);border-radius:8px;background:var(--panel);overflow:scroll;height:100%;min-height:0}
/* barras de navegación personalizadas SIEMPRE visibles (estilo Bizagi) */
.diag-canvas-wrap{scrollbar-width:none}
.diag-canvas-wrap::-webkit-scrollbar{width:0;height:0;display:none}
.diag-nthumb{position:absolute;background:#aab2be;border-radius:7px;cursor:grab;transition:background .12s}
.diag-nthumb:hover{background:#8f99a7}
.diag-nthumb:active{cursor:grabbing;background:#7c8797}
.diag-nbar-track{position:relative;flex:1;background:var(--panel-2);border:1px solid var(--linea);border-radius:7px}
/* barra vertical: pegada a la derecha del lienzo, con flechas arriba/abajo */
.diag-vbar{position:absolute;top:5px;bottom:5px;right:5px;width:13px;display:flex;flex-direction:column;gap:3px;z-index:6}
.diag-vbar .diag-nbar-track{width:13px}
#diagVThumb{left:1px;right:1px;top:0;height:60px;min-height:26px}
/* barra inferior FIJA: flechas ◄ ►, scroll horizontal y controles de zoom a la derecha */
.diag-bottombar{display:flex;align-items:center;gap:6px;height:30px;flex:0 0 auto;padding:0 6px;background:var(--panel-2);border:1px solid var(--linea);border-radius:8px}
.diag-hbar{flex:1;height:13px;display:flex}
.diag-hbar .diag-nbar-track{height:13px}
#diagHThumb{top:1px;bottom:1px;left:0;width:60px;min-width:26px}
.diag-scrollarr{flex:0 0 auto;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border:1px solid var(--linea);background:var(--panel);border-radius:5px;color:var(--muted);font-size:9px;cursor:pointer;padding:0}
.diag-scrollarr:hover{border-color:var(--naranja);color:var(--naranja-texto)}
.diag-bb-controls{display:flex;gap:6px;align-items:center;margin-left:8px;border-left:1px solid var(--linea);padding-left:8px}
.diag-bb-controls .diag-grp{display:flex;gap:3px;align-items:center}
.diag-bb-controls .btn svg{display:block;width:15px;height:15px}
.diag-palette{overflow-y:auto}
.diag-svg{display:block;background:var(--panel);cursor:default}
.diag-svg.hand{cursor:grab}
.diag-panning,.diag-panning *{cursor:grabbing!important;user-select:none}
/* UX de lienzo (mapa mental + organigrama): mano y cuadrícula */
body.canvas-hand .org,body.canvas-hand .oc{cursor:grab}
body.canvas-panning,body.canvas-panning *{cursor:grabbing!important;user-select:none}
.org.canvas-grid,.oc.canvas-grid{background-color:var(--panel-2);background-image:linear-gradient(var(--linea) 1px,transparent 1px),linear-gradient(90deg,var(--linea) 1px,transparent 1px);background-size:24px 24px;background-position:0 0}
.diag-rz{fill:#f0891f;stroke:#fff;stroke-width:1.5;cursor:nwse-resize}
.diag-rzh{fill:#fff;stroke:#4a90d9;stroke-width:1.3}
.diag-rzh:hover{fill:#eaf3fc;stroke:#2f6fb0}
.rz-nw,.rz-se{cursor:nwse-resize}
.rz-ne,.rz-sw{cursor:nesw-resize}
.rz-n,.rz-s{cursor:ns-resize}
.rz-e,.rz-w{cursor:ew-resize}
.diag-lanediv{cursor:ns-resize}
.diag-msdiv{cursor:ew-resize}
.diag-fend{fill:#f0891f;stroke:#fff;stroke-width:2;cursor:move}
.diag-fend.from{fill:#4fa04a}   /* origen = verde (estilo Bizagi) */
.diag-fend.to{fill:#e0655d}     /* destino = rojo/rosa (estilo Bizagi) */
.diag-fend:hover{r:8;filter:brightness(1.1)}
.diag-fwp{fill:#f0891f;stroke:#fff;stroke-width:1.6;cursor:move}
.diag-fwp:hover{fill:#df7712}
.diag-fseg{fill:#4a90d9;stroke:#fff;stroke-width:1.4;opacity:.55}
.diag-fseg:hover{opacity:1}
.diag-fseg.segh{cursor:ns-resize}
.diag-fseg.segv{cursor:ew-resize}
.diag-qc-b{cursor:pointer}
.diag-qc-b>rect{fill:var(--panel);stroke:var(--linea);stroke-width:1.2;filter:drop-shadow(0 1px 3px rgba(0,0,0,.18))}
.diag-qc-b:hover>rect{stroke:var(--naranja);fill:var(--naranja-3,#fff7ef)}
.diag-lt-b{cursor:pointer}
.diag-lt-b>rect{fill:var(--panel);stroke:var(--linea);stroke-width:1.1;filter:drop-shadow(0 1px 2px rgba(0,0,0,.18))}
.diag-lt-b>text{fill:var(--tinta-2)}
.diag-lt-b:hover>rect{stroke:var(--naranja);fill:var(--naranja-3,#fff7ef)}
.diag-lt-b.del:hover>rect{stroke:var(--rojo)}
.diag-postip{position:fixed;z-index:9998;pointer-events:none;background:var(--panel);border:1px solid var(--linea);border-radius:7px;padding:4px 9px;font-size:12px;font-weight:600;color:var(--tinta);box-shadow:0 3px 10px rgba(0,0,0,.18);white-space:nowrap}
.diag-guide-ln{stroke:#f0891f;stroke-width:1;stroke-dasharray:5 3;shape-rendering:crispEdges;opacity:.95}
.diag-boundary-box{border:1px solid var(--linea);border-radius:9px;padding:9px 10px;margin-top:8px;background:var(--panel-2)}
.diag-boundary-box>b{font-size:12px;display:block;margin-bottom:6px;color:var(--tinta)}
.diag-chk{display:flex;align-items:center;gap:7px;font-size:12.5px;cursor:pointer;margin-bottom:4px;font-weight:500}
.diag-chk input{width:auto;margin:0;flex:0 0 auto}
.diag-rz:hover{fill:#df7712}
.diag-node{cursor:grab}
.diag-node:active{cursor:grabbing}
.diag-node .diag-lbl{font-size:11.5px;fill:var(--tinta);font-weight:600}
/* el texto DENTRO de un nodo va sobre relleno claro fijo → siempre oscuro (legible en tema noche) */
.diag-node .diag-lbl.in{fill:#2b3a4d}
.diag-node .diag-lbl.in{font-weight:600}
.diag-node .diag-lbl.anot{fill:var(--tinta-2)}
.diag-node .diag-lbl.pool{font-weight:800;fill:var(--tinta-2);letter-spacing:.5px}
.diag-gsym{font-size:22px;font-weight:800;fill:#a9801f}
.diag-node.sel>*:first-child+*{}
.diag-node.sel rect,.diag-node.sel circle,.diag-node.sel polygon,.diag-node.sel path{filter:drop-shadow(0 0 0 var(--naranja))}
.diag-node.sel>rect:first-child,.diag-node.sel>circle:first-child,.diag-node.sel>polygon:first-child,.diag-node.sel>path:first-child{stroke:var(--naranja)!important;stroke-width:2.6px!important}
.diag-node.connfrom>rect:first-child,.diag-node.connfrom>circle:first-child,.diag-node.connfrom>polygon:first-child,.diag-node.connfrom>path:first-child{stroke:#2f9e58!important;stroke-width:3px!important}
.diag-flowhit{cursor:pointer}
.diag-flow.sel path{stroke:var(--naranja)!important;stroke-width:2.4px!important}
.diag-flbl{font-size:11px;fill:var(--tinta-2);paint-order:stroke;stroke:var(--panel);stroke-width:3px}
.diag-lbl-drag{cursor:move}
.diag-lbl-drag:hover{fill:var(--naranja)}
.diag-prop{border:1px solid var(--linea);border-radius:11px;background:var(--panel);padding:12px;position:sticky;top:0}
.diag-prop-h{font-size:13px;font-weight:800;color:var(--tinta);margin-bottom:10px}
.diag-prop label{display:block;font-size:11.5px;color:var(--muted);margin-bottom:10px}
.diag-prop input,.diag-prop textarea,.diag-prop select{width:100%;margin-top:4px;border:1px solid var(--linea);border-radius:8px;padding:6px 9px;font-size:12.5px;background:var(--panel);color:var(--tinta);font-family:inherit;resize:vertical}
.diag-prop input:focus,.diag-prop textarea:focus,.diag-prop select:focus{outline:none;border-color:var(--naranja)}
.diag-prop-hint{color:var(--muted);font-size:12px;line-height:1.6}
.diag-hintbar{font-size:11.5px;color:var(--muted);background:var(--panel-2);border:1px solid var(--linea);border-radius:9px;padding:6px 11px;margin-bottom:10px}
.mencion{background:rgba(255,122,0,.14);color:var(--naranja-texto);border-radius:5px;padding:0 4px;font-weight:700}
.int-help{background:var(--panel-2,var(--fondo));border:1px solid var(--linea);border-left:3px solid var(--verde);border-radius:0 9px 9px 0;padding:10px 13px;font-size:12px;line-height:1.6;margin-bottom:14px}
.int-help code{background:var(--panel);border:1px solid var(--linea);border-radius:4px;padding:0 4px;font-size:11.5px}
/* --- Portafolio: resumen de carpetas y proyectos --- */
.pmb-sec{margin:18px 0}
.pmb-sec-h{display:flex;align-items:center;gap:9px;margin-bottom:9px}
.pmb-papelera{margin-top:22px;border:1px solid var(--linea);border-radius:12px;background:var(--panel);overflow:hidden}
.pmb-papelera>summary{cursor:pointer;list-style:none;padding:11px 14px;font-weight:800;font-size:13px;color:var(--gris)}
.pmb-papelera>summary::-webkit-details-marker{display:none}
.pmb-papelera>summary:hover{color:var(--tinta)}
.pmb-papelera[open]>summary{border-bottom:1px solid var(--linea)}
.pmb-pap-list{padding:4px 12px 10px}
.pmb-pap-row{display:flex;align-items:center;gap:8px;padding:9px 2px;border-bottom:1px solid var(--linea)}
.pmb-pap-row:last-child{border-bottom:0}
.pmb-pap-n{font-size:13px;font-weight:600}
.pmb-pap-sp{flex:1}
.pmb-sec-n{font-size:14px;font-weight:800;color:var(--tinta)}
.pmb-sec-n .sin{color:var(--muted)}
.pmb-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:11px}
.pmb-card{text-align:left;border:1px solid var(--linea);border-radius:12px;background:var(--panel);padding:12px 13px;cursor:pointer;font-family:inherit;display:flex;flex-direction:column;gap:7px;transition:border-color .15s,transform .15s}
.pmb-card:hover{border-color:var(--naranja);transform:translateY(-2px)}
.pmb-card-h{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.pmb-card-nom{font-size:13px;font-weight:700;color:var(--tinta);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pmb-card-pct{font-size:14px;font-weight:800;white-space:nowrap}
.pmb-card-m{display:flex;gap:10px;flex-wrap:wrap;font-size:11px;color:var(--muted)}
.pmb-card-m .rojo{color:var(--rojo);font-weight:600}
.pmb-card-g{font-size:11px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* ===================== Rediseño Misiones ===================== */
/* Colores de salud reutilizados por franja, tarjetas y encabezado */
/* punto de salud CSS (reemplaza los emoji 🟢🟡🔴✅⚪); auto-coloreado por clase */
.salud-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--gris);flex:0 0 auto;vertical-align:middle}
.salud-dot.rumbo,.salud-dot.lista{background:var(--verde)}
.salud-dot.riesgo{background:var(--amarillo)}
.salud-dot.atrasada{background:var(--rojo)}
.salud-dot.nueva{background:var(--gris)} /* --gris (4.78) no --gris-2 (2.83): un dot es indicador gráfico ≥3:1 */
.mis-hchip{--sc:var(--gris);--sb:color-mix(in srgb,var(--gris) 14%,transparent)}
.salud-rumbo,.mis-hl.rumbo,.mis-hchip.rumbo,.mis-hb-seg.rumbo{--sc:var(--verde)}
.salud-lista,.mis-hl.lista,.mis-hchip.lista,.mis-hb-seg.lista{--sc:var(--verde)}
.salud-riesgo,.mis-hl.riesgo,.mis-hchip.riesgo,.mis-hb-seg.riesgo{--sc:var(--amarillo)}
.salud-atrasada,.mis-hl.atrasada,.mis-hchip.atrasada,.mis-hb-seg.atrasada{--sc:var(--rojo)}
.salud-nueva,.mis-hl.nueva,.mis-hchip.nueva,.mis-hb-seg.nueva{--sc:var(--gris-2)}
.mis-hchip{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;white-space:nowrap;
  color:var(--sc);background:color-mix(in srgb,var(--sc) 13%,transparent);
  border:1px solid color-mix(in srgb,var(--sc) 34%,transparent);border-radius:999px;padding:2px 9px}

/* --- Franja de salud del portafolio --- */
.mis-ph{display:flex;gap:16px;align-items:stretch;margin:2px 0 20px;padding:16px 18px;
  border:1px solid var(--linea);border-radius:16px;background:var(--panel);
  box-shadow:0 1px 2px rgba(15,23,42,.04)}
.mis-ph-main{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:11px}
.mis-ph-head{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.mis-ph-count{font-size:14px;color:var(--muted)}
.mis-ph-count b{font-size:26px;font-weight:800;color:var(--tinta);margin-right:4px}
.mis-ph-avg{font-size:12.5px;color:var(--muted)}.mis-ph-avg b{font-size:15px}
/* La barra reparte las misiones POR ESTADO, no mide avance. Iba pegada bajo
   "Avance promedio · 30%" sin etiqueta y se leía como una barra de progreso:
   con todo atrasado salía roja de lado a lado junto a un 30%. La etiqueta a la
   izquierda es lo que impide esa lectura. */
.mis-hbar-row{display:flex;align-items:center;gap:10px}
.mis-hbar-lbl{flex:0 0 auto;font-size:10.5px;font-weight:700;letter-spacing:.06em;
  text-transform:uppercase;color:var(--muted)}
.mis-hbar{flex:1;display:flex;height:11px;border-radius:6px;overflow:hidden;gap:2px;background:transparent}
.mis-hb-seg{min-width:5px;border-radius:3px;background:var(--sc)}
.mis-hleg{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:11.5px;color:var(--tinta-2)}
.mis-hl{display:inline-flex;align-items:center;gap:6px}
.mis-hl i{width:9px;height:9px;border-radius:50%;background:var(--sc)}
.mis-hl b{color:var(--tinta);font-weight:800}
.mis-hl.off{opacity:.4}
.mis-ph-side{display:flex;flex-direction:column;gap:10px;justify-content:center}
.mis-ph-stat{min-width:132px;display:flex;flex-direction:column;gap:1px;padding:9px 13px;
  border:1px solid var(--linea);border-radius:12px;background:var(--panel-2)}
.mis-ph-stat span{font-size:21px;font-weight:800;line-height:1.05;color:var(--tinta)}
.mis-ph-stat label{font-size:11px;color:var(--muted)}
.mis-ph-stat.crit span{color:var(--rojo)}.mis-ph-stat.crit{border-color:color-mix(in srgb,var(--rojo) 34%,var(--linea));background:var(--rojo-soft)}
.mis-ph-stat.warn span{color:var(--amarillo)}
/* Los dos contadores filtran el portafolio, así que tienen que verse pulsables
   (antes eran divs muertos: los dos números más accionables de la pantalla no
   llevaban a ninguna parte). En cero no hay nada que filtrar → deshabilitado. */
.mis-ph-stat{text-align:left;font:inherit;cursor:pointer;transition:border-color .12s,box-shadow .12s}
.mis-ph-stat:hover:not(:disabled){border-color:var(--naranja);box-shadow:0 0 0 3px color-mix(in srgb,var(--naranja) 20%,transparent)}
.mis-ph-stat:disabled{cursor:default;opacity:.55}
.mis-ph-stat.on{border-color:var(--naranja);box-shadow:0 0 0 2px color-mix(in srgb,var(--naranja) 26%,transparent) inset}
.pmb-filtro{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
  margin:12px 0;padding:9px 14px;border:1px solid var(--naranja);border-radius:12px;
  background:var(--naranja-3);font-size:13px;color:var(--tinta)}
@media(max-width:720px){ .mis-ph{flex-direction:column} .mis-ph-side{flex-direction:row} .mis-ph-stat{flex:1} }
/* Veredicto (panel gerencial): anillo de avance + roll-up de presupuesto + 4 stats en grid 2×2 */
.mis-ph-ring{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:96px}
.mis-ph-ring .exp-ring{width:74px;height:74px}
.mis-ph-ringlbl{font-size:10.5px;color:var(--gris);text-align:center;line-height:1.15;font-weight:600}
.mis-ph-pres{font-size:12.5px;color:var(--gris)}
.mis-ph-pres b{color:var(--tinta);font-weight:700}
.mis-ph-pres .over{color:var(--rojo-teja)}
.mis-ph-side{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-content:center}
.mis-ph-side .mis-ph-stat{min-width:0}
@media(max-width:560px){ .mis-ph-ring{width:100%;flex-direction:row;justify-content:flex-start} }
/* Tabla de misiones (panel gerencial) — reemplaza las tarjetas por carpeta */
.mis-tbl-wrap{overflow-x:auto;border:1px solid var(--linea);border-radius:14px;background:var(--panel);margin:2px 0 20px}
.mis-tbl{width:100%;border-collapse:collapse;font-size:13px;min-width:720px}
.mis-tbl thead th{text-align:left;padding:0;border-bottom:1px solid var(--linea);white-space:nowrap}
.mis-th-sort{display:inline-flex;align-items:center;gap:3px;width:100%;text-align:left;font:inherit;font-size:10.5px;font-weight:700;color:var(--gris);text-transform:uppercase;letter-spacing:.03em;background:none;border:none;padding:10px 12px;cursor:pointer}
.mis-th-sort:hover{color:var(--tinta)}
.mis-th-sort.on{color:var(--naranja-texto)}
.mis-th-sort:focus-visible{outline:2px solid var(--naranja);outline-offset:-2px}
.mis-th-sort.num{justify-content:center}
.mis-th-ind{font-size:8px}
.mis-tbl td{padding:9px 12px;border-bottom:1px solid var(--linea-2);vertical-align:middle}
.mis-tbl tbody tr:last-child td{border-bottom:none}
.mis-tr{cursor:pointer;position:relative}
.mis-tr:hover{background:var(--panel-hover)}
/* Acento de salud: barra de 3px en el borde izquierdo de la fila. Va como box-shadow
   INSET de la primera celda (.mis-td-name), NO como `.mis-tr::before` — un ::before con
   `content` en una fila `display:table-row` genera una CELDA-FANTASMA que corría la fila
   entera una columna (el nombre caía bajo SALUD, la salud bajo AVANCE…, y MISIÓN quedaba
   vacía). El inset dibuja la barra sin añadir celda al modelo de la tabla. */
.mis-tr.salud-atrasada .mis-td-name{box-shadow:inset 3px 0 0 var(--rojo)}
.mis-tr.salud-riesgo .mis-td-name{box-shadow:inset 3px 0 0 var(--amarillo)}
.mis-tr.salud-rumbo .mis-td-name,.mis-tr.salud-lista .mis-td-name{box-shadow:inset 3px 0 0 var(--verde)}
.mis-tr.salud-nueva .mis-td-name{box-shadow:inset 3px 0 0 var(--gris)}
.mis-td-name{max-width:240px;white-space:normal;overflow-wrap:break-word}
.mis-tr-open{font:inherit;font-weight:700;color:var(--tinta);background:none;border:none;padding:0;cursor:pointer;text-align:left;display:block}
.mis-tr-open:hover{color:var(--naranja-texto)}
.mis-tr-open:focus-visible{outline:2px solid var(--naranja);outline-offset:2px;border-radius:4px}
.mis-td-area{display:block;font-size:11px;color:var(--gris);margin-top:2px}
.mis-td-area.sin{color:var(--gris)}
.mis-td-prog{white-space:nowrap}
.mis-tr-bar{display:inline-block;width:66px;height:6px;border-radius:99px;background:var(--linea);overflow:hidden;vertical-align:middle;margin-right:7px}
.mis-tr-bar i{display:block;height:100%;border-radius:99px}
.mis-td-prio{font-weight:600;white-space:nowrap}
.mis-td-lider{color:var(--tinta-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mis-td-num{text-align:center}
.mis-td-num .rj{color:var(--rojo-teja);font-weight:700}
.mis-td-num .sin,.mis-td-pres .sin,.mis-td-lider .sin{color:var(--gris)}
.mis-td-pres{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--tinta-2)}
.mis-td-pres small{color:var(--gris)}
/* Pager de la tabla del Portafolio */
.pmb-pg{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:12px 2px 20px}
.pmb-pg-info{font-size:12px;color:var(--gris)}
.pmb-pg-btns{display:flex;gap:4px;flex-wrap:wrap}
.pmb-pg-b{font:inherit;font-size:13px;min-width:32px;height:32px;padding:0 8px;border:1px solid var(--linea);border-radius:8px;background:var(--panel);color:var(--tinta);cursor:pointer}
.pmb-pg-b:hover:not([disabled]){background:var(--panel-hover);border-color:var(--gris)}
.pmb-pg-b.on{background:var(--tinta);color:var(--panel);border-color:var(--tinta);font-weight:700;cursor:default}
.pmb-pg-b[disabled]{opacity:.4;cursor:default}
.pmb-pg-b:focus-visible{outline:2px solid var(--naranja);outline-offset:2px}
/* Detalle de misión in-situ (modal del panel) — usa .overlay del núcleo para fondo/centrado */
.pmb-det{background:var(--panel);border-radius:16px;max-width:640px;width:calc(100% - 32px);max-height:86vh;display:flex;flex-direction:column;box-shadow:0 16px 48px rgba(15,23,42,.22);overflow:hidden}
.pmb-det-head{display:flex;align-items:center;gap:12px;padding:15px 20px;border-bottom:1px solid var(--linea)}
.pmb-det-head h3{margin:0;font-size:18px;font-weight:800;color:var(--tinta);flex:1;min-width:0}
.pmb-det-x{flex:0 0 auto;width:32px;height:32px;border:none;background:transparent;color:var(--gris);border-radius:8px;cursor:pointer;font-size:16px}
.pmb-det-x:hover{background:var(--panel-hover);color:var(--tinta)}
.pmb-det-x:focus-visible{outline:2px solid var(--naranja);outline-offset:2px}
.pmb-det-body{padding:16px 20px;overflow-y:auto}
.pmb-det-top{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px}
.pmb-det-prio{font-size:12.5px;font-weight:600}
.pmb-det-est{font-size:12px;color:var(--tinta-2);background:var(--panel-2);padding:3px 9px;border-radius:99px}
.pmb-det-avg{display:inline-flex;align-items:center;gap:8px;font-size:13px;margin-left:auto}
.pmb-det-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.pmb-det-grid section.wide{grid-column:1/-1}
.pmb-det-grid h4{margin:0 0 8px;font-size:11px;font-weight:700;color:var(--gris);text-transform:uppercase;letter-spacing:.03em}
.pmb-det-chips{display:flex;flex-wrap:wrap;gap:6px}
.pmb-det-chip{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;background:var(--panel-2);border:1px solid var(--linea);border-radius:99px;padding:3px 10px;color:var(--tinta)}
.pmb-det-chip.falta{border-style:dashed;color:var(--tinta-2)}
.pmb-det-sin{font-size:12.5px;color:var(--gris)}
.pmb-det-hito{font-size:13.5px;color:var(--tinta);font-weight:600}
.pmb-det-fases{display:flex;flex-direction:column;gap:7px}
.pmb-det-fase{display:flex;align-items:center;gap:10px;font-size:12.5px}
.pmb-det-fase-n{flex:1;min-width:0;color:var(--tinta-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pmb-det-fase-bar{width:90px;height:6px;border-radius:99px;background:var(--linea);overflow:hidden;flex:0 0 auto}
.pmb-det-fase-bar i{display:block;height:100%}
.pmb-det-fase-pct{width:34px;text-align:right;font-weight:600;color:var(--tinta-2)}
.pmb-det-krs,.pmb-det-riesgos{display:flex;flex-direction:column;gap:6px}
.pmb-det-kr{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--tinta)}
.pmb-det-kr span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pmb-det-riesgo{display:flex;align-items:flex-start;gap:8px;font-size:12.5px;color:var(--tinta)}
.pmb-det-sev{flex:0 0 auto;min-width:22px;text-align:center;font-weight:700;font-size:11px;padding:1px 5px;border-radius:6px}
.pmb-det-sev.sev-alto{background:color-mix(in srgb,var(--rojo) 16%,transparent);color:var(--rojo-texto)}
.pmb-det-sev.sev-medio{background:var(--naranja-3);color:var(--naranja-texto)}
.pmb-det-sev.sev-bajo{background:var(--panel-2);color:var(--tinta-2)}
.pmb-det-pres{font-size:13.5px;color:var(--tinta)}
.pmb-det-pres .over{color:var(--rojo-teja);font-weight:700}
.pmb-det-pres .under{color:var(--verde)}
.pmb-det-foot{padding:14px 20px;border-top:1px solid var(--linea);display:flex;justify-content:flex-end}
@media(max-width:560px){ .pmb-det-grid{grid-template-columns:1fr} .pmb-det-avg{margin-left:0} }
@media(prefers-reduced-motion:no-preference){ .pmb-det{animation:pmbDetIn .16s ease} @keyframes pmbDetIn{from{transform:translateY(8px);opacity:.6}to{transform:none;opacity:1}} }
/* Panel · Cobertura de equipo (bloque 3) */
.pmb-cob{border:1px solid var(--linea);border-radius:16px;background:var(--panel);padding:16px 18px;margin:2px 0 20px}
.pmb-cob-h{display:flex;align-items:baseline;gap:12px;margin-bottom:10px}
.pmb-cob-h h3{margin:0;font-size:14px;font-weight:800;color:var(--tinta)}
.pmb-cob-pct{font-size:12.5px;color:var(--gris);font-weight:600}
.pmb-cob-bar{display:flex;height:8px;border-radius:99px;overflow:hidden;background:var(--linea);margin-bottom:14px}
.pmb-cob-bar i{display:block}
.pmb-cob-bar i.con{background:var(--verde)}
.pmb-cob-bar i.sin{background:var(--amarillo)}
.pmb-cob-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:560px){ .pmb-cob-grid{grid-template-columns:1fr} }
.pmb-cob-col-h{font-size:11.5px;font-weight:700;margin-bottom:8px;color:var(--tinta-2)}
.pmb-cob-col-h.sin{color:var(--naranja-texto)}
.pmb-cob-chips{display:flex;flex-wrap:wrap;gap:6px}
.pmb-cob-chip{font:inherit;font-size:12px;background:var(--panel-2);border:1px solid var(--linea);border-radius:99px;padding:4px 11px;color:var(--tinta);cursor:pointer}
.pmb-cob-chip:hover{background:var(--panel-hover);border-color:var(--naranja)}
.pmb-cob-chip:focus-visible{outline:2px solid var(--naranja);outline-offset:1px}
.pmb-cob-vac{font-size:12.5px;color:var(--gris)}
/* Panel · Misiones por miembro (bloque 4, vista inversa — acordeón nativo) */
.pmb-inv{border:1px solid var(--linea);border-radius:16px;background:var(--panel);padding:16px 18px;margin:2px 0 20px}
.pmb-inv-h{display:flex;align-items:baseline;gap:12px;margin-bottom:10px}
.pmb-inv-h h3{margin:0;font-size:14px;font-weight:800;color:var(--tinta)}
.pmb-inv-list{display:flex;flex-direction:column;gap:6px}
.pmb-inv-item{border:1px solid var(--linea);border-radius:10px;overflow:hidden}
.pmb-inv-item[open]{background:var(--panel-2)}
.pmb-inv-sum{display:flex;align-items:center;gap:8px;padding:9px 12px;cursor:pointer;font-size:13px;color:var(--tinta);list-style:none}
.pmb-inv-sum::-webkit-details-marker{display:none}
.pmb-inv-sum::before{content:"▸";color:var(--gris);font-size:11px;transition:transform .15s;flex:0 0 auto}
.pmb-inv-item[open] .pmb-inv-sum::before{transform:rotate(90deg)}
.pmb-inv-sum:hover{background:var(--panel-hover)}
.pmb-inv-sum:focus-visible{outline:2px solid var(--naranja);outline-offset:-2px}
.pmb-inv-n{font-weight:600}
.pmb-inv-sum small{color:var(--tinta-2);font-size:11.5px}
.pmb-inv-c{margin-left:auto;min-width:22px;text-align:center;font-weight:700;font-size:12px;background:var(--naranja-3);color:var(--naranja-texto);padding:1px 8px;border-radius:99px}
.pmb-inv-body{display:flex;flex-wrap:wrap;gap:6px;padding:2px 12px 12px}
@media(prefers-reduced-motion:reduce){ .pmb-inv-sum::before{transition:none} }
/* Panel · Matriz Prioridad × estado (bloque 6) + popup de celda */
.pmb-mx{border:1px solid var(--linea);border-radius:16px;background:var(--panel);padding:16px 18px;margin:2px 0 20px}
/* Fila 2-up: matriz Prioridad×estado (ancho natural) + Prioridad×naves (llena el resto).
   Envuelve dos tarjetas .pmb-mx/.pmb-pn; en estrecho, se apilan. */
/* Fila 2-up: dos cuadros gemelos (Prioridad×estado + Prioridad×planeta). Crecen por igual
   y llenan el ancho; cuando no caben, se apilan. min-width:0 deja que la tabla scrolle
   dentro de su tarjeta (.pmb-mx-wrap) en vez de desbordar la fila. */
.pmb-prio-2up{display:flex;gap:18px;align-items:flex-start;flex-wrap:wrap;margin:2px 0 20px}
.pmb-prio-2up>.pmb-mx{margin:0;flex:1 1 480px;min-width:0}
.pmb-mx-h{display:flex;align-items:baseline;gap:12px;margin-bottom:12px}
.pmb-mx-h h3{margin:0;font-size:14px;font-weight:800;color:var(--tinta)}
.pmb-mx-wrap{overflow-x:auto}
.pmb-mx-tbl{border-collapse:collapse;width:100%;min-width:560px;table-layout:fixed}
.pmb-mx-tbl th{font-size:11px;font-weight:700;color:var(--gris);padding:6px 8px;text-align:center;vertical-align:bottom}
.pmb-mx-tbl thead th{height:46px;vertical-align:bottom}   /* cabeceras parejas: «Seguimiento y control» a 2 líneas no descuadra */
.pmb-mx-ic{display:block;line-height:1;color:var(--gris)}
.pmb-mx-ic svg{width:15px;height:15px}
.pmb-mx-th{display:block;font-size:10.5px;font-weight:600;line-height:1.15;margin-top:3px}
.pmb-mx-prio{text-align:right !important;white-space:nowrap;font-weight:700;padding-right:12px !important;width:5rem}
.pmb-mx-cel{height:44px;text-align:center;border:1px solid var(--linea-2);padding:0}
/* heatmap: tinte por conteo (rampa cálida de marca; texto oscuro AA en todos los niveles) */
.pmb-mx-cel.lv0{background:var(--panel-2)}
.pmb-mx-cel.lv1{background:#FBEADB}
.pmb-mx-cel.lv2{background:#F2A968}
.pmb-mx-cel.lv3{background:#EA7B24}
.pmb-mx-btn{width:100%;height:44px;border:none;background:transparent;font:inherit;font-size:16px;font-weight:800;color:var(--tinta);cursor:pointer}
.pmb-mx-btn:hover{filter:brightness(.96)}
.pmb-mx-btn:focus-visible{outline:2px solid var(--naranja);outline-offset:-2px}
.pmb-mx-vac{color:var(--gris-2);font-weight:700;opacity:.55}
.pmb-mx-tot{width:3.4rem;text-align:center;font-size:13px;font-weight:800;color:var(--tinta);background:var(--panel-2);border:1px solid var(--linea-2)}
.pmb-mx-toth{color:var(--gris)}
.pmb-mx-totrow>th,.pmb-mx-totrow>.pmb-mx-tot{background:color-mix(in srgb,var(--linea) 20%,transparent)}
.pmb-mx-totrow .pmb-mx-prio{color:var(--gris)}
.pmb-mx-gran{color:var(--naranja-texto)}
:root:not([data-theme="light"]) .pmb-mx-cel.lv1{background:#2e2116}
:root:not([data-theme="light"]) .pmb-mx-cel.lv2{background:#6a3f1a}
:root:not([data-theme="light"]) .pmb-mx-cel.lv3{background:#a85a1c}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]) .pmb-mx-cel.lv1{background:#2e2116}
  :root:not([data-theme="light"]) .pmb-mx-cel.lv2{background:#6a3f1a}
  :root:not([data-theme="light"]) .pmb-mx-cel.lv3{background:#a85a1c}
}
:root[data-theme="dark"] .pmb-mx-cel.lv1{background:#2e2116}
:root[data-theme="dark"] .pmb-mx-cel.lv2{background:#6a3f1a}
:root[data-theme="dark"] .pmb-mx-cel.lv3{background:#a85a1c}
.pmb-cel-list{display:flex;flex-direction:column;gap:6px;min-width:280px}
.pmb-cel-item{display:flex;align-items:center;gap:9px;width:100%;text-align:left;font:inherit;font-size:13px;color:var(--tinta);background:var(--panel-2);border:1px solid var(--linea);border-radius:10px;padding:8px 12px;cursor:pointer}
.pmb-cel-item:hover{background:var(--panel-hover);border-color:var(--naranja)}
.pmb-cel-item:focus-visible{outline:2px solid var(--naranja);outline-offset:1px}
.pmb-cel-n{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}
/* Panel · Impacto en OKRs + avance por área (bloque 5) */
.pmb-imp{border:1px solid var(--linea);border-radius:16px;background:var(--panel);padding:16px 18px;margin:2px 0 20px}
.pmb-imp-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
@media(max-width:640px){ .pmb-imp-grid{grid-template-columns:1fr} }
.pmb-imp-grid h3{margin:0 0 10px;font-size:13px;font-weight:800;color:var(--tinta);display:flex;align-items:center;gap:6px}
.pmb-imp-krs,.pmb-imp-areas{display:flex;flex-direction:column;gap:8px}
.pmb-imp-kr{display:flex;align-items:center;gap:10px;font-size:12.5px}
.pmb-imp-kr-n{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--tinta)}
.pmb-imp-kr-c,.pmb-imp-area-c{flex:0 0 auto;min-width:20px;text-align:center;font-size:11px;font-weight:700;color:var(--gris);background:var(--panel-2);border-radius:99px;padding:1px 6px}
.pmb-imp-area{display:flex;align-items:center;gap:10px;font-size:12.5px}
.pmb-imp-area-n{width:118px;flex:0 0 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--tinta-2)}
.pmb-imp-area-n.sin{color:var(--gris)}
.pmb-imp-area-bar{flex:1;height:7px;border-radius:99px;background:var(--linea);overflow:hidden}
.pmb-imp-area-bar i{display:block;height:100%}
.pmb-imp-area-pct{flex:0 0 auto;width:36px;text-align:right;font-weight:600}

/* --- Tarjeta de misión --- */
.mis-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(268px,1fr));gap:13px}
.mis-card{position:relative;text-align:left;border:1px solid var(--linea);border-radius:14px;
  background:var(--panel);padding:0;cursor:pointer;font-family:inherit;overflow:hidden;
  transition:border-color .15s,transform .15s,box-shadow .15s}
.mis-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--sc) 55%,var(--linea));
  box-shadow:0 10px 22px -12px color-mix(in srgb,var(--sc) 60%,transparent)}
.mis-card-accent{position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--sc)}
.mis-card-in{display:flex;flex-direction:column;gap:9px;padding:13px 15px 13px 17px}
.mis-card-top{display:flex;align-items:flex-start;gap:8px}
.mis-card-name{flex:1;min-width:0;font-size:13.5px;font-weight:800;color:var(--tinta);line-height:1.3;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.mis-prio{font-size:12px;line-height:1.4;flex:0 0 auto}
.mis-card-tags{display:flex;flex-wrap:wrap;gap:6px}
.mis-tag{font-size:10.5px;font-weight:600;color:var(--muted);background:var(--panel-2);
  border:1px solid var(--linea);border-radius:999px;padding:2px 8px;white-space:nowrap}
.mis-prog{display:flex;align-items:center;gap:9px}
.mis-prog-bar{flex:1;height:7px;border-radius:4px;background:var(--linea);overflow:hidden}
.mis-prog-bar i{display:block;height:100%;border-radius:4px;transition:width .3s}
.mis-prog-pct{font-size:13px;font-weight:800;min-width:38px;text-align:right}
.mis-card-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding-top:9px;border-top:1px solid var(--linea-2)}
.mis-owner{display:flex;align-items:center;gap:7px;min-width:0;font-size:11.5px;color:var(--tinta-2)}
.mis-owner em{color:var(--muted);font-style:italic}
.mis-ava{flex:0 0 auto;width:21px;height:21px;border-radius:50%;display:grid;place-items:center;
  font-size:10px;font-weight:800;color:#fff;background:var(--sc)}
.mis-ava.none{background:var(--gris-2)}
.mis-sig{display:flex;gap:9px;font-size:11px;color:var(--muted);white-space:nowrap}
.mis-sig .rj{color:var(--rojo);font-weight:700}

/* --- Encabezado de mando del detalle --- */
.mis-cmd{position:relative;display:flex;gap:18px;align-items:center;margin:2px 0 12px;
  padding:16px 18px 16px 20px;border:1px solid var(--linea);border-radius:16px;overflow:hidden;
  background:linear-gradient(120deg,color-mix(in srgb,var(--sc) 7%,var(--panel)),var(--panel) 62%)}
.mis-cmd-accent{position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--sc)}
.mis-cmd-l{flex:1;min-width:0;display:flex;flex-direction:column;gap:9px}
.mis-cmd-badges{display:flex;flex-wrap:wrap;gap:8px}
.mis-priob{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;
  border:1px solid;border-radius:999px;padding:2px 9px;background:color-mix(in srgb,currentColor 10%,transparent)}
.mis-cmd-name{font-size:22px;font-weight:800;color:var(--tinta);border:none;background:transparent;
  font-family:inherit;padding:2px 4px;margin-left:-4px;border-radius:8px;width:100%}
.mis-cmd-name:hover{background:color-mix(in srgb,var(--tinta) 5%,transparent)}
.mis-cmd-name:focus{outline:none;background:var(--panel-2);box-shadow:inset 0 0 0 1px var(--naranja)}
.mis-cmd-chips{display:flex;flex-wrap:wrap;gap:8px}
.mis-chipin{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--tinta-2);
  background:var(--panel);border:1px solid var(--linea);border-radius:10px;padding:5px 10px;max-width:100%}
.mis-chipin:focus-within{border-color:var(--naranja)}
.mis-chipin input,.mis-chipin select{border:none;background:transparent;font-family:inherit;font-size:12px;
  color:var(--tinta);padding:0;min-width:70px;max-width:190px}
.mis-chipin input:focus,.mis-chipin select:focus{outline:none}
/* Tripulación: calca las pills del header (--naranja de marca), foco visible sobre la pill */
.mis-trip{display:flex;flex-wrap:wrap;align-items:center;gap:8px;width:100%}
.mis-trip-lbl{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;color:var(--tinta-2)}
.mis-trip-chips{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.mis-trip-empty{font-size:12px;color:var(--gris)}
.mis-trip-chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--tinta);
  background:var(--panel);border:1px solid var(--linea);border-radius:999px;padding:3px 5px 3px 10px}
.mis-trip-chip .mis-trip-nom{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mis-trip-chip.falta{border-style:dashed;color:var(--gris)}
.mis-trip-x{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;
  border:none;background:transparent;color:var(--gris);border-radius:50%;cursor:pointer;font-size:12px;line-height:1}
.mis-trip-x:hover{background:color-mix(in srgb,var(--rojo-teja) 14%,transparent);color:var(--rojo-teja)}
.mis-trip-x:focus-visible{outline:2px solid var(--naranja);outline-offset:1px}
.mis-trip-add{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;color:var(--tinta-2);
  background:var(--panel);border:1px solid var(--linea);border-radius:10px;padding:5px 10px;cursor:pointer}
.mis-trip-add:hover{background:var(--panel-hover);border-color:var(--naranja)}
.mis-trip-add[aria-expanded="true"]{color:var(--naranja-texto);border-color:var(--naranja)}
.mis-trip-add:focus-visible{outline:2px solid var(--naranja);outline-offset:1px;border-color:var(--naranja)}
.mis-trip-menu{width:100%;background:var(--panel);border:1px solid var(--linea);border-radius:12px;padding:12px}
.mis-trip-hint{margin:0 0 10px;font-size:11.5px;color:var(--gris)}
.mis-trip-cols{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:560px){ .mis-trip-cols{grid-template-columns:1fr} }
.mis-trip-col-h{font-size:11.5px;font-weight:600;color:var(--tinta-2);margin-bottom:6px}
.mis-trip-vacio{font-size:11.5px;color:var(--gris);margin:2px 0}
.mis-trip-opt{display:flex;align-items:flex-start;gap:8px;font-size:12.5px;color:var(--tinta);
  padding:4px 6px;border-radius:8px;cursor:pointer}
.mis-trip-opt:hover{background:var(--panel-hover)}
.mis-trip-opt input{margin:1px 0 0;width:15px;height:15px;accent-color:var(--naranja);flex:0 0 auto}
.mis-trip-opt input:focus-visible{outline:2px solid var(--naranja);outline-offset:1px}
.mis-trip-opt small{display:block;color:var(--gris);font-size:11px}
.mis-cmd-r{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:6px}
.mis-cmd-ring{display:flex;flex-direction:column;align-items:center;gap:3px}
.mis-cmd-ring .exp-ring .rfg{stroke:var(--sc)}
.mis-cmd-ring span{font-size:10.5px;color:var(--muted);font-weight:600}
.mis-cmd-del{opacity:.7}.mis-cmd-del:hover{opacity:1}
@media(max-width:640px){ .mis-cmd{flex-direction:column;align-items:stretch} .mis-cmd-r{flex-direction:row;justify-content:space-between} }

/* --- Barra de planificación + señales --- */
.mis-meta{display:flex;flex-wrap:wrap;gap:12px 14px;align-items:flex-end;margin:0 0 16px;
  padding:13px 16px;border:1px solid var(--linea);border-radius:14px;background:var(--panel-2)}
.mis-metaf{display:flex;flex-direction:column;gap:5px;font-size:10.5px;font-weight:700;
  text-transform:uppercase;letter-spacing:.4px;color:var(--muted)}
.mis-metaf select,.mis-metaf input{font-family:inherit;font-size:12.5px;font-weight:500;text-transform:none;
  letter-spacing:0;color:var(--tinta);border:1px solid var(--linea);border-radius:9px;
  background:var(--panel);padding:7px 9px;min-width:130px}
.mis-metaf select:focus,.mis-metaf input:focus{outline:none;border-color:var(--naranja)}
.mis-metasig{display:flex;gap:10px;margin-left:auto;flex-wrap:wrap}
.mis-mtile{display:flex;flex-direction:column;gap:1px;min-width:92px;padding:6px 12px;
  border:1px solid var(--linea);border-radius:11px;background:var(--panel)}
.mis-mtile b{font-size:17px;font-weight:800;color:var(--tinta);line-height:1.1}
.mis-mtile label{font-size:10px;color:var(--muted)}
.mis-mtile.crit b{color:var(--rojo)}
.mis-mtile.crit{border-color:color-mix(in srgb,var(--rojo) 32%,var(--linea))}
@media(max-width:640px){ .mis-metasig{margin-left:0;width:100%} .mis-mtile{flex:1} }
/* --- Pestañas del proyecto (donde antes estaban las pastillas) --- */
.pmb-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:2px 0 14px}
.pmb-tab{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--linea);background:var(--panel);border-radius:999px;padding:7px 15px;font-size:12.5px;color:var(--tinta);cursor:pointer;font-family:inherit;white-space:nowrap}
.pmb-tab:hover{border-color:var(--naranja)}
.pmb-tab.on{background:var(--naranja);border-color:var(--naranja);color:var(--sobre-naranja);font-weight:700}
.pmb-tab span{font-size:13px}
.pmb-tree-vacia{font-size:11px;color:var(--muted);font-style:italic;padding:4px 0 4px 10px}
/* Fila de misión en el árbol: el nombre usa todo el ancho y envuelve a 2
   líneas en vez de truncarse a "Impl…". */
/* Menos sangría y pastilla más compacta: el nombre gana ancho y no se parte */
.pmb-tree .dg-tree-lv1{margin-left:8px}
.pmb-tree .dg-tree-lv2{margin-left:10px}
.pmb-tree .pmb-mis .dg-nav-n{font-size:10px;padding:0 4px;min-width:0;background:transparent;font-weight:700}
.pmb-mis{gap:6px;padding:6px 6px 6px 8px}
.pmb-mis-n{flex:1;min-width:0;font-size:12.5px;line-height:1.3;white-space:normal;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  overflow-wrap:break-word;hyphens:none}
.pmb-mis.on .pmb-mis-n{font-weight:700}
/* --- KRs que mueve la misión (en el acta, igual que los hitos) --- */
.pmb-krs{display:flex;flex-direction:column;gap:7px}
.pmb-kr{display:flex;align-items:center;gap:10px;border:1px solid var(--linea);border-radius:9px;
  background:var(--panel);padding:8px 10px}
.pmb-kr.huerfano{opacity:.6;border-style:dashed}
.pmb-kr-go{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;text-align:left;
  background:none;border:none;padding:0;cursor:pointer;font-family:inherit;color:var(--tinta)}
.pmb-kr-go:hover .pmb-kr-n{color:var(--naranja-texto);text-decoration:underline}
.pmb-kr-n{font-size:12.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pmb-kr-en{font-size:10.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pmb-kr-bar{flex:0 0 88px;height:6px;border-radius:3px;background:var(--linea);overflow:hidden}
.pmb-kr-bar i{display:block;height:100%;border-radius:3px}
.pmb-kr-pct{font-size:12px;font-weight:800;min-width:38px;text-align:right}
.pmb-kr-sem{font-size:12px}
.pmb-krs-vacio{font-size:11.5px;color:var(--muted);font-style:italic;padding:8px 2px}
.pmb-sug{margin-top:10px;border:1px dashed var(--linea);border-left:3px solid var(--naranja);
  border-radius:0 10px 10px 0;background:color-mix(in srgb,var(--naranja) 5%,var(--panel));padding:9px 12px}
.pmb-sug-h{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:11.5px;color:var(--muted);margin-bottom:7px}
.pmb-sug-h span{flex:1;min-width:180px}
.pmb-sug-h b{color:var(--tinta)}
.pmb-sug-it{display:flex;align-items:center;gap:9px;padding:4px 0}
.pmb-sug-tx{min-width:0;display:flex;flex-direction:column;gap:1px}
.pmb-sug-tx b{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pmb-sug-tx small{font-size:10.5px;color:var(--muted)}
select.pmb-kr-man{margin-top:9px;max-width:100%;font-family:inherit;font-size:12px;
  border:1px solid var(--linea);border-radius:8px;background:var(--panel);color:var(--tinta);padding:7px 9px}
/* --- Ficha ampliada de un riesgo (se despliega con "Ver detalles") --- */
.pmb-riesgo-det{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;cursor:pointer;
  border:1px solid var(--linea);background:var(--panel);border-radius:999px;padding:5px 11px;
  font-family:inherit;font-size:11.5px;color:var(--muted)}
.pmb-riesgo-det:hover{border-color:var(--naranja);color:var(--naranja-texto)}
.pmb-riesgo-det.on{border-color:var(--naranja);color:var(--naranja-texto);font-weight:700}
.pmb-det-fl{font-size:12px;line-height:1}
.pmb-det-dot{width:6px;height:6px;border-radius:50%;background:var(--naranja);display:inline-block}
.pmb-riesgo-det-box{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:9px 0 2px;padding:11px 12px;
  border:1px solid var(--linea);border-radius:10px;background:color-mix(in srgb,var(--linea) 22%,transparent)}
.pmb-riesgo-det-box .pmb-det-f:first-child{grid-column:1/-1}
.pmb-det-f{display:flex;flex-direction:column;gap:4px;min-width:0}
.pmb-det-f label{font-size:11px;font-weight:700;color:var(--tinta)}
.pmb-det-f textarea,.pmb-det-f input{width:100%;font-family:inherit;font-size:12px;line-height:1.5;resize:vertical;
  border:1px solid var(--linea);border-radius:8px;background:var(--panel);color:var(--tinta);padding:7px 9px}
.pmb-det-f textarea{field-sizing:content;min-height:56px;max-height:340px}
.pmb-det-f textarea:focus,.pmb-det-f input:focus{outline:none;border-color:var(--naranja)}
@media(max-width:760px){ .pmb-riesgo-det-box{grid-template-columns:1fr} }
/* Detalle expandible de tareas del EDT (clon del de riesgos) */
.pmb-task-det{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;cursor:pointer;margin-left:auto;
  border:1px solid var(--linea);background:var(--panel);border-radius:999px;padding:4px 10px;
  font-family:inherit;font-size:11px;color:var(--muted)}
.pmb-task-det:hover{border-color:var(--naranja);color:var(--naranja-texto)}
.pmb-task-det.on{border-color:var(--naranja);color:var(--naranja-texto);font-weight:700}
.pmb-task-det:focus-visible{outline:2px solid var(--naranja);outline-offset:1px}
.pmb-task-det-box{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:10px 0 2px;padding:11px 12px;
  border:1px solid var(--linea);border-radius:10px;background:color-mix(in srgb,var(--linea) 22%,transparent)}
/* Los mismos KRs en el Resumen, agrupados por enfoque */
.pmb-krres{display:flex;flex-direction:column;gap:10px}
.pmb-krres-g{border:1px solid var(--linea);border-radius:10px;padding:9px 11px;background:var(--panel)}
.pmb-krres-h{display:flex;align-items:center;gap:9px}
.pmb-krres-en{flex:1;min-width:0;font-size:12.5px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pmb-krres-ar{font-size:10px;color:var(--muted);border:1px solid var(--linea);border-radius:999px;padding:1px 7px;white-space:nowrap}
.pmb-krres-avg{font-size:13px;font-weight:800}
.pmb-krres-obj{font-size:11px;color:var(--muted);margin:2px 0 4px;line-height:1.45}
.pmb-krres-kr{width:100%;display:flex;align-items:center;gap:9px;margin-top:5px;padding:6px 7px;
  border:none;border-radius:8px;background:transparent;cursor:pointer;font-family:inherit;color:var(--tinta);text-align:left}
.pmb-krres-kr:hover{background:color-mix(in srgb,var(--naranja) 8%,transparent)}
.pmb-krres-kr:hover .pmb-krres-n{color:var(--naranja-texto)}
.pmb-krres-sem{font-size:11px}
.pmb-krres-n{flex:1;min-width:0;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pmb-krres-cta{margin-top:8px}
.pmb-krres-nota{margin-top:9px;font-size:11px;color:var(--muted)}
@media(max-width:640px){ .pmb-krres-kr .pmb-kr-bar{display:none} }
/* --- Explicación de qué son las carpetas (solo mientras no haya ninguna) --- */
.pmb-tip{display:flex;gap:11px;align-items:flex-start;margin:0 0 14px;padding:11px 14px;
  border:1px dashed var(--linea);border-left:3px solid var(--naranja);border-radius:10px;
  background:color-mix(in srgb,var(--naranja) 5%,var(--panel));font-size:12px;line-height:1.55;color:var(--tinta)}
.pmb-tip-ic{font-size:17px;line-height:1.2}
.pmb-tip i{color:var(--muted);font-style:italic}
.exp-meta-lbl{font-size:11px;color:var(--muted)}
/* --- Barra inferior: paso anterior / siguiente de la misión --- */
/* No es flotante: aparece al final del contenido, cuando ya terminaste la sección. */
.pmb-pasos{display:flex;align-items:center;gap:12px;
  margin:22px 0 8px;padding:14px 12px 4px;border-top:1px solid var(--linea);background:transparent}
.pmb-paso{flex:1 1 0;min-width:0;display:flex;align-items:center;gap:10px;cursor:pointer;
  border:1px solid var(--linea);background:var(--panel);border-radius:12px;padding:8px 13px;
  font-family:inherit;color:var(--tinta);text-align:left;transition:border-color .12s,transform .12s}
.pmb-paso:hover{border-color:var(--naranja);transform:translateY(-1px)}
.pmb-paso.next{justify-content:flex-end;text-align:right}
.pmb-paso-fl{font-size:19px;line-height:1;color:var(--naranja-texto);font-weight:700}
.pmb-paso-tx{display:flex;flex-direction:column;gap:1px;min-width:0}
.pmb-paso-tx small{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;white-space:nowrap}
.pmb-paso-tx b{font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pmb-paso.fin{background:var(--naranja);border-color:var(--naranja);color:var(--sobre-naranja)}
.pmb-paso.fin small{color:rgba(255,255,255,.8)}
.pmb-paso.fin .pmb-paso-fl{color:#fff}
.pmb-pasos-mid{display:flex;flex-direction:column;align-items:center;gap:5px;flex:0 0 auto}
.pmb-dots{display:flex;gap:5px}
.pmb-dot{width:8px;height:8px;border-radius:50%;border:none;padding:0;cursor:pointer;position:relative;
  background:var(--linea);transition:transform .12s,background .12s}
.pmb-dot.ya{background:color-mix(in srgb,var(--naranja) 45%,transparent)}
.pmb-dot.on{background:var(--naranja);transform:scale(1.45)}
.pmb-dot:hover{background:var(--naranja)}
/* Área táctil de los puntos de paso: el dibujo sigue en 8px, el BLANCO crece.
   11px deja 2px MUERTOS entre objetivos, y eso es deliberado: el paso entre
   centros es 13, así que a 13 los objetivos se TOCAN y un toque al borde es una
   moneda al aire entre dos pasos. El coste de fallar no es simétrico — errar
   NAVEGA a otro sitio, y no hacer nada solo pide repetir. El activo lleva scale(1.45),
   que arrastraría el área a 18.8px: se contrarresta para que las diez midan igual. */
.pmb-dot::before{content:"";position:absolute;left:50%;top:50%;width:11px;height:24px;transform:translate(-50%,-50%)}
.pmb-dot.on::before{transform:translate(-50%,-50%) scale(.69)}

.pmb-pasos-n{font-size:10px;color:var(--muted);white-space:nowrap}
@media(max-width:900px){
  .pmb-pasos{gap:8px;padding:9px 8px}
  .pmb-pasos-n{display:none}
  .pmb-paso-tx b{font-size:12px}
}
@media(max-width:560px){ .pmb-pasos-mid{display:none} }
/* --- Carpetas de Proyectos (categorizan por área) --- */
.pmb-carps{display:flex;flex-direction:column;gap:12px;margin-bottom:14px}
.pmb-carp{border:1px solid var(--linea);border-radius:12px;background:var(--panel);padding:10px 12px}
.pmb-carp-h{display:flex;align-items:center;gap:9px;margin-bottom:8px}
.pmb-carp-n{font-size:13px;font-weight:800;color:var(--tinta)}
.pmb-carp-n.sin{color:var(--muted);font-weight:700}
.pmb-carp-c{font-size:11px;color:var(--muted);background:var(--panel-2,var(--fondo));border-radius:999px;padding:2px 9px}
.pmb-carp-sp{flex:1}
.pmb-carp-b{border:1px solid var(--linea);background:var(--panel);border-radius:7px;padding:2px 7px;font-size:11px;cursor:pointer;color:var(--muted);font-family:inherit}
.pmb-carp-b:hover{border-color:var(--naranja);color:var(--naranja-texto)}
.pmb-carp .exp-switch{margin:0}
.pmb-carp-vacia{font-size:11.5px;color:var(--muted);font-style:italic;padding:4px 2px}
.int-help.push{border-left-color:var(--azul)}
.dg-cfg{border:1px solid var(--linea);border-radius:12px;background:var(--panel);padding:12px 14px;margin-bottom:16px}
.dg-h{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:4px}
.dg-h b{font-size:13.5px}
.dg-sw{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);cursor:pointer}
.dg-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.dg-grid label{display:block;font-size:11px;color:var(--muted)}
.dg-grid .dg-w2{grid-column:span 2}
.dg-grid input,.dg-grid select{width:100%;margin-top:4px;border:1px solid var(--linea);border-radius:8px;padding:6px 9px;font-size:12.5px;background:var(--panel);color:var(--tinta);font-family:inherit}
.dg-grid :focus{outline:none;border-color:var(--naranja)}
.dg-foot{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:11px;padding-top:10px;border-top:1px solid var(--linea)}
.dg-foot code{background:var(--panel-2,var(--fondo));border:1px solid var(--linea);border-radius:4px;padding:0 4px;font-size:11px}
@media(max-width:820px){.dg-grid{grid-template-columns:repeat(2,1fr)}.dg-grid .dg-w2{grid-column:span 2}}
.int-btns{display:flex;gap:4px}
.int-btns .btn{padding:5px 8px}
.int-head,.int-row{display:grid;grid-template-columns:1.7fr .8fr 2fr 1fr .9fr 82px;gap:8px;align-items:center}
.int-head{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);padding:0 4px 6px;border-bottom:1px solid var(--linea)}
.int-row{padding:8px 4px;border-bottom:1px solid var(--linea)}
.int-kr{display:flex;flex-direction:column;min-width:0}
.int-kr b{font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.int-kr span{font-size:10.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.int-row input,.int-row select{width:100%;border:1px solid var(--linea);border-radius:8px;padding:5px 8px;font-size:12px;background:var(--panel);color:var(--tinta);font-family:inherit}
.int-row :focus{outline:none;border-color:var(--naranja)}
.int-est{display:flex;flex-direction:column;font-size:11.5px;line-height:1.3}
.int-est small{font-size:9.5px;color:var(--muted)}
.int-ok{color:var(--verde);font-weight:700}
.int-err{color:var(--rojo);font-weight:700;cursor:help}
@media(max-width:900px){.int-head{display:none}.int-row{grid-template-columns:1fr 1fr;gap:6px}.int-kr{grid-column:span 2}}
.alz-sec{margin-bottom:14px}
.alz-h{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.alz-n{min-width:22px;height:22px;border-radius:999px;color:#fff;font-size:11.5px;font-weight:800;display:flex;align-items:center;justify-content:center;padding:0 6px}
.alz-h b{font-size:13px}
.alz-row{display:flex;gap:10px;align-items:flex-start;font-size:12.5px;padding:6px 8px;border-radius:8px;background:var(--panel-2,var(--fondo));margin-bottom:4px}
.alz-tag{font-size:11px;color:var(--muted);white-space:nowrap;padding-top:1px}
.alz-mas{font-size:11.5px;color:var(--muted);padding:2px 8px}
.alz-foot{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border-top:1px solid var(--linea);padding-top:12px;margin-top:6px}
/* Control de avisos (canónico) dentro del modal "Alertas y cadencia" */
.av-prefs{border-top:1px solid var(--linea);padding-top:12px;margin-top:6px;display:flex;flex-direction:column;gap:8px}
.av-fila{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.av-lbl{font-size:13px;min-width:80px}
.av-hint{font-size:11.5px}
.av-toggle{display:inline-flex;align-items:center;gap:8px;background:none;border:1px solid var(--linea);border-radius:999px;padding:4px 12px 4px 6px;cursor:pointer;font-size:12.5px;color:var(--tinta)}
/* Borde al track (agnóstico al tema) para que el switch APAGADO se perciba: el relleno
   gris off da <3:1 sobre el modal claro (WCAG 1.4.11), el borde en --gris define el control
   en ambos temas; el thumb lleva su propio contorno. */
.av-toggle .av-sw{width:30px;height:18px;border-radius:999px;background:#b8b8b8;position:relative;transition:background .15s;flex-shrink:0;border:1px solid var(--gris)}
.av-toggle .av-sw::after{content:"";position:absolute;top:2px;left:2px;width:13px;height:13px;border-radius:50%;background:#fff;transition:left .15s;box-shadow:0 0 0 1px rgba(0,0,0,.2)}
.av-toggle[aria-checked="true"] .av-sw{background:var(--verde);border-color:var(--verde)}
.av-toggle[aria-checked="true"] .av-sw::after{left:14px}
/* "Bloqueadas": el TEXTO en --tinta (alto contraste en claro y oscuro); el --amarillo va
   solo en el borde-izq de acento y el icono 🔒, no en el texto pequeño (el amarillo como
   texto sobre claro nunca pasa AA — mismo patrón del CTA/franja). */
.av-perm-den{font-size:11.5px;color:var(--tinta);border-left:2px solid var(--amarillo);padding-left:7px;display:inline-block;line-height:1.4}
.av-master-off{font-size:11.5px}
/* 🔔 master-mute en la cabecera del Inbox (espejo del del widget de soporte) */
.vhead-aviso{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.aviso-master{background:none;border:0;cursor:pointer;font-size:18px;line-height:1;padding:3px 5px;flex-shrink:0;border-radius:8px}
.aviso-master[aria-pressed="false"]{opacity:.5}
.aviso-master:hover{background:var(--hover,rgba(0,0,0,.06))}
.act-filtros{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:12px 0}
.act-filtros input,.act-filtros select{border:1px solid var(--linea);border-radius:9px;padding:7px 11px;font-size:12.5px;background:var(--panel);color:var(--tinta);font-family:inherit}
.act-filtros input{flex:1;min-width:190px}
.act-filtros :focus{outline:none;border-color:var(--naranja)}
.act-list{display:flex;flex-direction:column}
.act-row{display:flex;gap:11px;align-items:flex-start;padding:9px 4px;border-bottom:1px solid var(--linea)}
.act-ic{font-size:15px;width:24px;text-align:center;flex:none;line-height:1.4}
.act-main{flex:1;min-width:0}
.act-txt{font-size:13px;color:var(--tinta);line-height:1.45}
.act-meta{font-size:11px;color:var(--muted);margin-top:2px}
.act-mod{background:var(--panel-2,var(--fondo));border-radius:5px;padding:1px 6px}
.ana-kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin:12px 0}
.ana-kpi{background:var(--panel-2,var(--fondo));border:1px solid var(--linea);border-radius:11px;padding:12px 8px;text-align:center}
.ana-kpi span{display:block;font-size:22px;font-weight:800;line-height:1.1}
.ana-kpi label{font-size:11px;color:var(--muted)}
.ana-sec{font-size:11.5px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--naranja-texto);margin:22px 0 8px;display:flex;align-items:center;gap:10px}
.ana-pend{background:var(--rojo);color:#fff;border-radius:999px;padding:2px 10px;font-size:10.5px;letter-spacing:0;text-transform:none}
.ana-pend.ok{background:var(--verde)}
.ana-chart{border:1px solid var(--linea);border-radius:12px;background:var(--panel);padding:10px 12px}
.ana-chart svg{width:100%;height:auto;display:block}
.ana-trend-lbl{font-size:12px;color:var(--muted);text-align:center;padding-top:4px}
.ana-areas{display:flex;flex-direction:column;gap:10px}
.ana-area{border:1px solid var(--linea);border-radius:11px;background:var(--panel);padding:10px 13px}
.ana-area-h{display:flex;justify-content:space-between;font-size:13px;margin-bottom:7px}
.ana-area-h span{color:var(--muted);font-size:12px}
.ana-bar{height:9px;border-radius:999px;background:var(--linea);overflow:hidden}
.ana-bar i{display:block;height:100%;border-radius:999px}
.ana-chks{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:11px}
.ana-chk{border:1px solid var(--linea);border-radius:12px;background:var(--panel);padding:11px 13px}
.ana-chk.ok{opacity:.72}
.ana-chk-h{display:flex;align-items:center;gap:9px;margin-bottom:5px}
.ana-chk-n{min-width:24px;height:24px;border-radius:999px;color:#fff;font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center;padding:0 6px}
.ana-chk-h b{font-size:12.5px}
.ana-chk p{font-size:11px;color:var(--muted);margin:0 0 7px;line-height:1.45}
.ana-chk-ok{font-size:11.5px;color:var(--verde);font-weight:700}
.ana-chk-items{display:flex;flex-direction:column;gap:3px}
.ana-chk-items span{font-size:11px;color:var(--tinta);background:var(--panel-2,var(--fondo));border-radius:6px;padding:3px 7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ana-chk-items .mas{color:var(--muted);background:none;padding-left:0}
.ana-log{display:flex;flex-direction:column;gap:5px}
.ana-log-r{display:flex;gap:10px;align-items:baseline;font-size:12px;border-bottom:1px dashed var(--linea);padding:5px 2px}
.ana-log-t{color:var(--muted);font-size:11px;white-space:nowrap;min-width:104px}
.ana-log-r b{white-space:nowrap}
.ana-log-r span:last-child{color:var(--muted);overflow:hidden;text-overflow:ellipsis}
@media(max-width:900px){.ana-kpis{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.ana-kpis{grid-template-columns:repeat(2,1fr)}}
.xp-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:12px 0}
.xp-kpi{background:var(--panel-2,var(--fondo));border:1px solid var(--linea);border-radius:11px;padding:12px;text-align:center}
.xp-kpi span{display:block;font-size:24px;font-weight:800;line-height:1.1}
.xp-kpi label{font-size:11.5px;color:var(--muted)}
.xp-filtros{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.xp-fb{border:1px solid var(--linea);background:var(--panel);border-radius:999px;padding:6px 14px;font-size:12.5px;color:var(--tinta);cursor:pointer;font-family:inherit}
.xp-fb.on{background:var(--naranja);border-color:var(--naranja);color:var(--sobre-naranja)}
.xp-fb b{opacity:.7;margin-left:2px}
.xp-list{display:flex;flex-direction:column;gap:12px}
.xp-card{border:1px solid var(--linea);border-radius:13px;background:var(--panel);padding:12px 14px}
.xp-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.xp-ice{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:64px;border:2px solid;border-radius:10px;padding:4px 6px;line-height:1.1}
.xp-ice b{font-size:17px;font-weight:800}
.xp-ice small{font-size:9px;opacity:.85;white-space:nowrap}
.xp-nom{flex:1;border:1px solid transparent;background:transparent;font-size:15px;font-weight:700;color:var(--tinta);padding:6px 8px;border-radius:8px;font-family:inherit}
.xp-nom:hover{border-color:var(--linea)} .xp-nom:focus{outline:none;border-color:var(--naranja);background:var(--panel)}
.xp-est{font-size:11px;font-weight:700;color:#fff;padding:4px 10px;border-radius:999px;white-space:nowrap}
.xp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.xp-grid label,.xp-cierre label{display:block;font-size:11px;color:var(--muted)}
.xp-grid .xp-w2,.xp-cierre .xp-w2{grid-column:span 2}
.xp-grid input,.xp-grid select,.xp-grid textarea,.xp-cierre input,.xp-cierre select,.xp-cierre textarea{width:100%;margin-top:4px;border:1px solid var(--linea);border-radius:8px;padding:6px 9px;font-size:12.5px;background:var(--panel);color:var(--tinta);font-family:inherit;resize:vertical}
.xp-grid :focus,.xp-cierre :focus{outline:none;border-color:var(--naranja)}
.xp-ice-edit{grid-column:span 3;display:flex;gap:14px;flex-wrap:wrap;align-items:center;font-size:11.5px;color:var(--muted);border-top:1px dashed var(--linea);padding-top:8px}
.xp-ice-edit select{width:auto;margin-top:0;padding:4px 6px}
.xp-cierre{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:10px;padding-top:10px;border-top:1px solid var(--linea)}
@media(max-width:820px){.xp-kpis{grid-template-columns:repeat(2,1fr)}.xp-grid,.xp-cierre{grid-template-columns:1fr}.xp-grid .xp-w2,.xp-cierre .xp-w2,.xp-ice-edit{grid-column:span 1}}
.diag-simbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:linear-gradient(90deg,rgba(255,122,0,.08),var(--panel-2));border:1px solid var(--linea);border-radius:9px;padding:6px 11px;margin-bottom:10px}
.diag-sim-badge{font-weight:800;color:var(--naranja-texto);font-size:12.5px}
.diag-sim-spd{font-size:11.5px;color:var(--muted);display:flex;align-items:center;gap:6px}
.diag-sim-spd select{padding:3px 7px;border:1px solid var(--linea);border-radius:7px;background:var(--panel);color:var(--tinta);font-family:inherit;font-size:12px}
.diag-sim-prog{font-size:12px;color:var(--muted);font-weight:600}
.diag-svg.simming .diag-node{opacity:.3;transition:opacity .35s ease}
.diag-svg.simming .diag-node.sim-done,.diag-svg.simming .diag-node.sim-active{opacity:1}
.diag-svg.simming .diag-flow{opacity:.16;transition:opacity .35s ease}
.diag-svg.simming .diag-flow.sim-on{opacity:1}
.diag-node.sim-done .diag-fill{stroke:#2f7a52!important}
.diag-node.sim-done .diag-fill[fill="#eef3fb"]{fill:#e6f4ec!important}
.diag-sim-token{fill:var(--naranja);stroke:#fff;stroke-width:2.5;filter:drop-shadow(0 1px 2px rgba(0,0,0,.35))}
.diag-sim-results{max-width:290px}
.dsr-vol{background:var(--panel-2);border:1px solid var(--linea);border-radius:9px;padding:9px 10px;margin-bottom:9px}
.dsr-vol label{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;font-weight:700;color:var(--tinta)}
.dsr-vol input{width:92px;padding:5px 8px;border:1px solid var(--linea);border-radius:7px;background:var(--panel);color:var(--tinta);font-family:inherit;font-size:13px;font-weight:700;text-align:right}
.dsr-vol input:focus{outline:none;border-color:var(--naranja)}
.dsr-vol-hint{display:block;font-size:10.5px;color:var(--muted);margin-top:5px;line-height:1.35}
.dsr-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:6px}
.dsr-kpi{background:var(--panel-2);border:1px solid var(--linea);border-radius:8px;padding:7px 4px;text-align:center}
.dsr-kpi span{display:block;font-size:18px;font-weight:800;color:var(--tinta);line-height:1.1}
.dsr-kpi label{font-size:10.5px;color:var(--muted)}
.dsr-row{display:flex;justify-content:space-between;gap:10px;font-size:12px;padding:4px 0;border-bottom:1px dashed var(--linea)}
.dsr-row b{font-weight:600;color:var(--muted)}
.dsr-row span{font-weight:700;color:var(--tinta);text-align:right;white-space:nowrap}
.dsr-sec{font-size:10.5px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;margin:11px 0 4px}
.dsr-path{font-size:11.5px;line-height:1.55;color:var(--tinta)}
.dsr-branch{display:flex;justify-content:space-between;gap:8px;font-size:11.5px;padding:2px 0}
.dsr-branch b{color:var(--naranja-texto)}
.dsr-bottle{font-size:11.5px;color:var(--tinta);background:var(--panel-2);border-radius:7px;padding:6px 8px;margin:4px 0;line-height:1.4}
.dsr-bottle b{font-weight:700}
.dsr-bottle span{color:var(--muted)}
.dsr-warn{background:#fdecea;color:#b3261e;border-radius:7px;padding:6px 8px;font-size:11.5px;margin-top:6px;line-height:1.4}
.dsr-ok{background:#e6f4ec;color:#2f7a52;border-radius:7px;padding:6px 8px;font-size:11.5px;margin-top:6px}
/* recursos en el panel de resultados */
.dsr-res{margin:7px 0}
.dsr-res-top{display:flex;justify-content:space-between;gap:8px;font-size:12px}
.dsr-res-top span{color:var(--tinta)}.dsr-res-top em{color:var(--muted);font-style:normal;font-size:11px}
.dsr-res-top b.ok{color:#2f7a52}.dsr-res-top b.warn{color:#b8860b}.dsr-res-top b.over{color:#c0392b}
.dsr-res-bar{height:6px;border-radius:4px;background:var(--panel-2);overflow:hidden;margin:3px 0 2px}
.dsr-res-bar i{display:block;height:100%;border-radius:4px}
.dsr-res-bar i.ok{background:#3f9c5e}.dsr-res-bar i.warn{background:#e0a521}.dsr-res-bar i.over{background:#cf554c}
.dsr-res-sub{font-size:10.5px;color:var(--muted)}
.dsr-des{border-top:1px solid var(--linea);margin-top:12px;padding-top:10px}
.dsr-des .dsr-vol{margin-bottom:6px}
/* comparación de escenarios */
.dsc-wrap{overflow-x:auto}
.dsc-tbl{width:100%;border-collapse:collapse;font-size:12.5px}
.dsc-tbl th,.dsc-tbl td{padding:7px 9px;text-align:right;white-space:nowrap;border-bottom:1px solid var(--linea)}
.dsc-tbl th{font-size:10.5px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-weight:800}
.dsc-tbl th:first-child,.dsc-tbl td:first-child{text-align:left}
.dsc-tbl tbody tr:first-child{background:color-mix(in srgb,var(--naranja) 7%,transparent)}
.dsc-nom{font-weight:700}
.dsc-over{color:#c0392b;font-weight:800}
/* Login / verificación (estilo del modelo) */
.lg-modal{max-width:440px}
/* Asignar desde Personal: cinco columnas no caben en los 560px del modal normal
   y el cargo quedaba en dos letras. Ancho repartido, no al azar. */
.modal.xl-modal{max-width:860px}
/* min-width: en pantalla estrecha la tabla se DESPLAZA en vez de aplastar las
   columnas hasta dejar el cargo en dos letras (su contenedor ya scrollea). */
.ap-tabla{width:100%;min-width:620px;border-collapse:collapse;font-size:13px;table-layout:fixed}
.ap-tabla th{text-align:left;color:var(--muted);padding:4px;font-weight:600}
.ap-tabla td{padding:6px 4px;vertical-align:middle}
.ap-tabla col.c-usr{width:27%} .ap-tabla col.c-rol{width:17%}
.ap-tabla col.c-car{width:22%} .ap-tabla col.c-are{width:17%} .ap-tabla col.c-jef{width:17%}
.ap-tabla select,.ap-tabla input{width:100%;max-width:none;min-width:0}
.lg-body{padding:26px 30px 30px}
.lg-title{font-size:25px;font-weight:800;text-align:center;margin:6px 0 22px;color:var(--tinta)}
.lg-field{margin-bottom:16px}
.lg-field>label{display:block;font-size:14px;font-weight:700;color:var(--tinta);margin-bottom:7px}
.lg-field input{width:100%;padding:11px 13px;border:1px solid var(--linea);border-radius:9px;font-size:14px;font-family:inherit;background:var(--panel);color:var(--tinta)}
.lg-field input:focus{outline:none;border-color:var(--naranja);box-shadow:0 0 0 3px var(--naranja-3,rgba(240,137,31,.15))}
.lg-passwrap{position:relative}
.lg-passwrap input{padding-right:42px}
.lg-eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:none;border:0;cursor:pointer;font-size:16px;opacity:.5;padding:6px;line-height:1}
.lg-eye:hover{opacity:.9}
.lg-forgot{text-align:right;margin-top:7px}
.lg-forgot a{font-size:13px;font-weight:700;color:var(--naranja-texto);text-decoration:none}
.lg-btn{width:100%;padding:13px;font-size:15px;font-weight:800;margin-top:4px}
.lg-err{font-size:13px;margin-top:12px;min-height:18px;text-align:center}
.lg-foot{text-align:center;margin-top:16px;font-size:13.5px;color:var(--muted)}
.lg-foot a{color:var(--naranja-texto);font-weight:700;text-decoration:none}
.lg-terms{text-align:center;margin-top:14px;font-size:12.5px;color:var(--muted)}
.lg-terms b{color:var(--naranja-texto);font-weight:700}
.otp-boxes{display:flex;align-items:center;justify-content:center;gap:6px;margin:10px 0 18px}
.otp-cell{width:46px;height:56px;text-align:center;font-size:22px;font-weight:700;border:1px solid var(--linea);border-radius:10px;background:var(--panel);color:var(--tinta);font-family:inherit}
.lg-bkcode{padding:12px 13px;border:1px solid var(--linea);border-radius:10px;font-size:16px;font-weight:600;font-family:inherit;background:var(--panel);color:var(--tinta)}
.lg-bkcode:focus{outline:none;border-color:var(--naranja);box-shadow:0 0 0 3px var(--naranja-3,rgba(240,137,31,.15))}
/* 2FA en el perfil + sub-modales de enrolar/backups */
.pf-2fa-on{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pf-2fa-badge{display:inline-block;background:var(--verde-soft);color:var(--tinta);border:1px solid var(--verde);border-radius:999px;padding:2px 10px;font-size:12px;font-weight:700}
.pf-2fa-warn{margin-top:10px;background:var(--amarillo-soft);border-left:3px solid var(--amarillo);border-radius:8px;padding:10px 12px;font-size:12.5px;color:var(--tinta)}
.tfa-enrol .tfa-qr{display:flex;justify-content:center;padding:14px;background:#fff;border:1px solid var(--linea);border-radius:12px;margin:4px auto 6px;max-width:240px}
.tfa-enrol .tfa-qr svg,.tfa-enrol .tfa-qr img{width:200px;height:200px;display:block}
.tfa-manual{margin:4px 0 2px;font-size:12.5px}
.tfa-manual summary{cursor:pointer;color:var(--naranja-texto);font-weight:600}
.tfa-secret{display:inline-block;margin-top:8px;padding:8px 12px;background:var(--panel-2);border:1px solid var(--linea);border-radius:8px;font-family:ui-monospace,Menlo,monospace;font-size:15px;letter-spacing:2px;word-break:break-all;color:var(--tinta)}
.tfa-codes{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:6px 0}
.tfa-codes code{background:var(--panel-2);border:1px solid var(--linea);border-radius:8px;padding:9px 6px;text-align:center;font-family:ui-monospace,Menlo,monospace;font-size:15px;font-weight:600;letter-spacing:1px;color:var(--tinta)}
.otp-lost{font-size:11.5px;text-align:center;margin-top:8px;line-height:1.4}
.otp-cell:focus{outline:none;border-color:var(--naranja);box-shadow:0 0 0 3px var(--naranja-3,rgba(240,137,31,.15))}
.otp-sep{color:var(--muted);font-weight:700}
.otp-info{background:var(--panel-2);border:1px solid var(--linea);color:var(--tinta-2,var(--tinta));border-radius:10px;padding:13px 15px;font-size:13.5px;line-height:1.5}
.otp-resend{text-align:center;margin-top:16px;font-size:13px;color:var(--muted)}
.otp-resend a{color:var(--naranja-texto);font-weight:700;text-decoration:none}
.otp-resend a.off{color:var(--muted);pointer-events:none;font-weight:500}
/* modal de recursos */
.drec-head{display:grid;grid-template-columns:1fr 78px 90px 28px;gap:6px;font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);padding:0 2px 4px}
.drec-row{display:grid;grid-template-columns:1fr 78px 90px 28px;gap:6px;align-items:center;margin-bottom:6px}
.drec-row input{width:100%;padding:6px 8px;border:1px solid var(--linea);border-radius:7px;background:var(--panel);color:var(--tinta);font-family:inherit;font-size:13px}
.drec-row input:focus{outline:none;border-color:var(--naranja)}
.drec-cal{border-top:1px solid var(--linea);margin-top:12px;padding-top:10px}
.drec-cal-on{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;cursor:pointer}
.drec-cal-on input{width:auto}
.drec-days{display:flex;gap:6px;margin-top:8px}
.drec-day{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:11px;font-weight:700;color:var(--muted);cursor:pointer}
.drec-day input{width:auto;margin:0}
.drec-cal input[type=time]{padding:5px 8px;border:1px solid var(--linea);border-radius:7px;background:var(--panel);color:var(--tinta);font-family:inherit;font-size:13px}
.diag-body.full{grid-template-columns:236px 1fr}
.diag-inline-edit{position:fixed;z-index:9999;border:2px solid var(--naranja);border-radius:8px;padding:5px 7px;font-family:inherit;font-size:12.5px;font-weight:600;text-align:center;color:var(--tinta);background:var(--panel);box-shadow:0 6px 22px rgba(0,0,0,.20);resize:none;line-height:1.3;outline:none;overflow:hidden}
.diag-grp{display:inline-flex;align-items:center;gap:3px;padding-left:8px;margin-left:2px;border-left:1px solid var(--linea)}
.diag-grp:first-of-type{border-left:none}
.diag-topbar .btn.off{opacity:.35;pointer-events:none}
.diag-sw{display:inline-flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.diag-swb{position:relative;width:24px;height:24px;border-radius:7px;border:1px solid var(--linea);cursor:pointer;padding:0;display:grid;place-items:center;box-shadow:inset 0 1px 2px rgba(0,0,0,.06);transition:transform .08s ease,box-shadow .12s ease}
.diag-swb:hover{transform:translateY(-1px);box-shadow:0 3px 8px rgba(0,0,0,.16)}
.diag-swb.on{border-color:transparent;box-shadow:0 0 0 2px var(--panel),0 0 0 4px var(--naranja);transform:translateY(-1px)}
.diag-swb.none{background:repeating-conic-gradient(var(--linea-2) 0% 25%,var(--panel) 0% 50%) 50%/8px 8px}
.diag-swb.none::before{content:"";position:absolute;inset:2px;border-radius:5px;background:linear-gradient(135deg,transparent calc(50% - 1px),#e5484d calc(50% - 1px),#e5484d calc(50% + 1px),transparent calc(50% + 1px))}
.diag-lanes{display:flex;flex-direction:column;gap:5px;margin:5px 0}
.diag-lane-row{display:flex;gap:5px;align-items:center}
.diag-lane-row input{flex:1;border:1px solid var(--linea);border-radius:7px;padding:5px 8px;font-size:12.5px;background:var(--panel);color:var(--tinta)}
.diag-lane-row input:focus{outline:none;border-color:var(--naranja)}
.diag-present{position:fixed;inset:0;z-index:9998;background:var(--panel);display:flex;flex-direction:column}
.diag-present-bar{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid var(--linea);background:var(--panel-2);font-size:13px;color:var(--tinta)}
.diag-present-canvas{flex:1;min-height:0;padding:24px;display:flex;align-items:center;justify-content:center}
.diag-present-canvas svg{max-width:100%;max-height:100%}
.diag-pgrp{display:flex;flex-direction:column;gap:4px;margin-bottom:9px}
.diag-pgrp-h{display:flex;align-items:center;gap:5px;width:100%;border:none;background:transparent;cursor:pointer;font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);padding:3px 4px;border-radius:6px;text-align:left}
.diag-pgrp-h:hover{background:var(--panel-2);color:var(--tinta)}
.diag-pgrp-chev{font-size:9px;flex:0 0 auto;transition:transform .15s;display:inline-block}
.diag-pgrp.col .diag-pgrp-chev{transform:rotate(-90deg)}
.diag-pgrp-t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.diag-pgrp-body{display:flex;flex-direction:column;gap:4px}
.diag-pgrp.col .diag-pgrp-body{display:none}
/* cabecera de la paleta + toggle minimizar */
.diag-pal-head{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:6px;padding-bottom:6px;border-bottom:1px solid var(--linea)}
.diag-pal-title{font-size:11px;font-weight:800;color:var(--tinta-2)}
.diag-pal-tog{border:1px solid var(--linea);background:var(--panel-2);color:var(--muted);border-radius:7px;width:24px;height:24px;line-height:1;cursor:pointer;font-size:13px;font-weight:700;flex:0 0 auto}
.diag-pal-tog:hover{border-color:var(--naranja);color:var(--naranja-texto)}
/* paleta minimizada: solo iconos */
.diag-palette.min .diag-pal-title,.diag-palette.min .diag-pbtn-lbl,.diag-palette.min .diag-pgrp-t{display:none}
.diag-palette.min .diag-pal-head{justify-content:center}
.diag-palette.min .diag-pgrp-h{display:none}
.diag-palette.min .diag-pgrp-body{display:flex}
.diag-palette.min .diag-pgrp{border-top:1px solid var(--linea);padding-top:6px;margin-bottom:6px}
.diag-palette.min .diag-pbtn{justify-content:center;padding:8px 0;gap:0}
.diag-palette.min .diag-pic{width:auto}
.diag-body.palmin{grid-template-columns:50px 1fr 240px}
.diag-body.palmin.full{grid-template-columns:50px 1fr}
body.diag-editing .diag-body.palmin{grid-template-columns:50px 1fr}
/* editor a pantalla completa: al abrir un diagrama se oculta el rail y la barra superior */
body.diag-view #rail{display:none}
body.diag-view .shell{padding-left:0}
body.diag-view #top{display:none}
/* Dropiverso a pantalla completa (mismo patrón que el editor de diagramas) */
/* Dropiverso alineado al sistema (auditoría H8): se conservan el riel y el header
   (el usuario NO sale de SEUS); solo se oculta el subnav para dar ancho al lienzo. */
body.dv-view #subnav{display:none}
body.dv-view main{max-width:none;padding:10px 12px}
/* Paneles y cromo con los tokens del resto de la app (tema claro/oscuro). La
   metáfora espacial se conserva únicamente en el lienzo 3D (dv3d-*, que sigue oscuro). */
.dv-wrap{background:var(--panel);border-color:var(--linea);color:var(--tinta);height:calc(100dvh - 84px)}
.dv-head{background:var(--panel-2);border-bottom-color:var(--linea)}
.dv-brand{color:var(--naranja-texto);letter-spacing:1.5px}
.dv-mut{color:var(--gris);letter-spacing:.3px}
.dv-salir{border-color:var(--linea);color:var(--gris)}
.dv-salir:hover{border-color:var(--naranja);color:var(--naranja-texto)}
.dv-panel{background:var(--panel);border-left-color:var(--linea)}
.dv-tabs{background:var(--panel-2);border-bottom-color:var(--linea)}
.dv-tabbtn{color:var(--gris)}
.dv-tabbtn.on{color:var(--naranja-texto);border-bottom-color:var(--naranja)}
.dv-pbody{scrollbar-color:var(--linea) transparent}
.dv-hcard,.dv-mcard{background:var(--panel-2);border-color:var(--linea)}
.dv-total{background:var(--naranja-3);border-color:var(--linea)}
.dv-big{color:var(--tinta)}
.dv-hfoot{border-top-color:var(--linea)}
.dv-lbl{color:var(--gris)}
.dv-in{background:var(--entrada);border-color:var(--linea);color:var(--tinta)}
.dv-in:focus{border-color:var(--naranja)}
.dv-in option{background:var(--panel);color:var(--tinta)}
.dv-in::placeholder{color:var(--gris-2)}
.dv-fil{border-color:var(--linea);color:var(--gris)}
.dv-fil.on{background:var(--naranja-3);border-color:var(--naranja);color:var(--naranja-texto)}
.dv-legend{border-top-color:var(--linea)}
/* arrastrar elementos de la paleta al lienzo */
.diag-pbtn[draggable=true]{cursor:grab}
.diag-pbtn[draggable=true]:active{cursor:grabbing}
.diag-canvas-wrap.diag-drop{outline:2px dashed var(--naranja);outline-offset:-4px;background:var(--naranja-3,rgba(240,137,31,.06))}
.diag-handle{fill:#f0891f;stroke:#fff;stroke-width:1.6;cursor:crosshair;transition:r .1s}
.diag-handle:hover{fill:#df7712}
.diag-tico{font-size:13px}
.diag-evi{font-size:16px}
.diag-canvas-wrap{background:linear-gradient(0deg,var(--panel),var(--panel))}
@media(max-width:820px){.diag-body,.diag-body.full{grid-template-columns:1fr;gap:6px}
  /* En móvil, dentro del editor: pantalla completa. Se oculta el menú inferior de la app
     (#bnav), la barra de zoom/controles y las barras de scroll — se navega con gestos. */
  body.diag-view #bnav{display:none}
  .diag-editor{height:auto;min-height:0;padding-bottom:8px}
  .diag-bottombar,.diag-vbar{display:none}
  /* Paleta como TIRA horizontal deslizable (ahorra alto; el canvas es protagonista) */
  .diag-palette,.diag-palette.min{flex-direction:row;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;gap:8px;padding:6px 8px;align-items:center}
  .diag-pal-head{display:none}
  .diag-pgrp{flex-direction:row;align-items:center;gap:6px;margin:0;flex:0 0 auto;border-left:1px solid var(--linea);padding-left:8px}
  .diag-pgrp:first-of-type{border-left:none;padding-left:0}
  .diag-pgrp-h{display:none}
  .diag-pgrp-body,.diag-pgrp.col .diag-pgrp-body{display:flex;flex-direction:row;gap:6px}
  .diag-pbtn{flex:0 0 auto;white-space:nowrap}
  .diag-canvas-wrap{height:calc(100vh - 208px);height:calc(100dvh - 208px);touch-action:pan-x pan-y}
  /* Pestañas en UNA fila deslizable (no apiladas) */
  .diag-tabs{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;padding-bottom:4px}
  .diag-tab,.diag-tab.on,.diag-tab-add{flex:0 0 auto}
  .diag-tab{max-width:190px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  /* Herramientas de la barra: deslizables para no cortar botones (JPG) */
  .diag-topbar .diag-grp{flex-wrap:nowrap;overflow-x:auto;max-width:100%}
  .diag-topbar .diag-grp .btn{flex:0 0 auto}}
/* ---- Teléfono en HORIZONTAL (landscape): alto muy corto → misma experiencia móvil
   (pantalla completa, sin nav/zoom/scroll, táctil) pero con la PALETA como columna
   lateral para aprovechar el ancho y dejar el máximo alto al canvas. Se detecta por
   orientación + alto (el ancho en landscape puede superar 820px en teléfonos grandes). */
@media(orientation:landscape) and (max-height:540px){
  body.diag-view #bnav{display:none}
  .diag-editor{height:auto;min-height:0;padding-bottom:6px}
  .diag-bottombar,.diag-vbar{display:none}
  .diag-topbar{padding:4px 8px;margin-bottom:4px;flex-wrap:nowrap}
  .diag-topbar .diag-grp{flex-wrap:nowrap;overflow-x:auto;max-width:100%}
  .diag-topbar .diag-grp .btn{flex:0 0 auto}
  .diag-sp{display:none}                 /* sin espaciador: título + herramientas en UNA fila */
  .diag-title{flex:0 1 150px;min-width:60px;font-size:14px}
  .diag-tabs{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;margin-bottom:4px;padding-bottom:3px}
  .diag-tab,.diag-tab.on,.diag-tab-add{flex:0 0 auto}
  .diag-tab{max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  /* Paleta como COLUMNA lateral estrecha (aprovecha el ancho, libera alto) */
  .diag-body,.diag-body.full{grid-template-columns:128px 1fr;gap:6px}
  .diag-palette,.diag-palette.min{flex-direction:column;flex-wrap:nowrap;overflow-y:auto;overflow-x:hidden;gap:5px;padding:6px;align-items:stretch}
  .diag-pal-head{display:flex}
  .diag-pgrp{flex-direction:column;align-items:stretch;gap:4px;border-left:none;padding-left:0;margin:0 0 8px;flex:0 0 auto}
  .diag-pgrp-h{display:flex}
  .diag-pgrp-body,.diag-pgrp.col .diag-pgrp-body{flex-direction:column;gap:4px}
  .diag-pgrp.col .diag-pgrp-body{display:none}
  .diag-pbtn{flex:0 0 auto;white-space:normal}
  /* El canvas llena el alto disponible (sin nav/zoom); la paleta comparte ese alto y scrollea */
  .diag-canvas-wrap{height:calc(100vh - 90px);height:calc(100dvh - 90px);touch-action:pan-x pan-y}}
.pobj-tit{flex:1;font-weight:700;font-size:13.5px;border:1px solid var(--linea);border-radius:7px;padding:5px 8px;background:var(--panel);color:var(--tinta)}
.pobj-tit:focus{outline:none;border-color:var(--naranja)}
.pobj-card .field textarea{width:100%;border:1px solid var(--linea);border-radius:8px;padding:7px 9px;font-size:12.5px;background:var(--panel);color:var(--tinta);font-family:inherit;resize:vertical;line-height:1.45}
.pobj-card .field textarea:focus{outline:none;border-color:var(--naranja)}
/* Matriz DOFA / estrategias */
.dofa-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media(max-width:640px){.dofa-grid{grid-template-columns:1fr}}
.dofa-q{border:1px solid var(--linea);border-radius:11px;padding:10px;background:var(--panel-2);border-top:3px solid var(--gris)}
.dofa-q .dofa-t{font-size:12px;font-weight:800;margin-bottom:6px}
.dofa-q textarea{width:100%;border:1px solid var(--linea);border-radius:8px;padding:7px 9px;font-size:12.5px;background:var(--panel);color:var(--tinta);font-family:inherit;resize:vertical;line-height:1.45}
.dofa-q textarea:focus{outline:none;border-color:var(--naranja)}
.dofa-f{border-top-color:var(--verde)} .dofa-f .dofa-t{color:var(--verde)}
.dofa-o{border-top-color:var(--azul)} .dofa-o .dofa-t{color:var(--azul)}
.dofa-d{border-top-color:#d99e00} .dofa-d .dofa-t{color:#b58200}
.dofa-a{border-top-color:var(--rojo-teja)} .dofa-a .dofa-t{color:var(--rojo-teja)}
.dofa-fo,.dofa-do,.dofa-fa,.dofa-da{border-top-color:var(--naranja)} .dofa-fo .dofa-t,.dofa-do .dofa-t,.dofa-fa .dofa-t,.dofa-da .dofa-t{color:var(--rojo-teja)}
/* Misión / Visión / Propuesta */
.est-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media(max-width:640px){.est-cards{grid-template-columns:1fr}}
.est-card{border:1px solid var(--linea);border-left:4px solid var(--naranja);border-radius:11px;padding:10px;background:var(--panel-2)}
.est-card .est-lbl{font-size:12px;font-weight:800;color:var(--rojo-teja);margin-bottom:6px}
.est-card textarea,.proc-doc .field textarea{width:100%;border:1px solid var(--linea);border-radius:8px;padding:8px 10px;font-size:13px;background:var(--panel);color:var(--tinta);font-family:inherit;resize:vertical;line-height:1.5}
.est-card textarea:focus{outline:none;border-color:var(--naranja)}
.proc-tbl{width:100%;border-collapse:collapse;font-size:12.5px}
.proc-tbl th{text-align:left;font-size:11px;font-weight:700;color:var(--gris);padding:5px 6px;border-bottom:1px solid var(--linea)}
.proc-tbl td{padding:4px 6px;border-bottom:1px solid var(--linea-2);vertical-align:middle}
.proc-tbl input,.proc-tbl select{width:100%;border:1px solid var(--linea);border-radius:7px;padding:5px 7px;font-size:12.5px;background:var(--panel-2);color:var(--tinta);font-family:inherit}
.proc-tbl input:focus,.proc-tbl select:focus{outline:none;border-color:var(--naranja);background:var(--panel)}
.proc-fmt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.proc-fmt{background:var(--panel);border:1px solid var(--linea);border-radius:11px;padding:13px 14px;display:flex;flex-direction:column}
.proc-fmt .pf-top{display:flex;justify-content:space-between;align-items:center}
.proc-fmt .pf-cod{font-size:11px;font-weight:800;color:var(--naranja-texto);letter-spacing:.03em}
.proc-fmt .pf-nom{font-size:14px;font-weight:700;margin:4px 0;line-height:1.25}
.proc-fmt .pf-desc{font-size:12px;color:var(--tinta-2);line-height:1.4;flex:1}
.proc-fmt .pf-iso{font-size:11px;color:var(--gris);margin-top:8px;font-style:italic}
/* ---- Formatos: toolbar, filtros y carpetas por área ---- */
.fmt-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.fmt-search{flex:1;min-width:200px;border:1px solid var(--linea);border-radius:10px;padding:8px 12px;font-size:13px;background:var(--panel-2);color:var(--tinta)}
.fmt-search:focus{outline:none;border-color:var(--naranja);background:var(--panel)}
.fmt-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
.fmt-chip{background:var(--panel-2);border:1px solid var(--linea);border-radius:var(--r-pill);padding:5px 11px;font-size:12px;font-weight:600;color:var(--tinta-2);transition:all var(--t);display:inline-flex;align-items:center;gap:5px}
.fmt-chip b{font-weight:800;color:var(--gris);font-size:11px}
.fmt-chip:hover{border-color:var(--n300)}
.fmt-chip.on{background:var(--naranja);border-color:var(--naranja);color:var(--sobre-naranja)}
.fmt-chip.on b{color:#fff}
.fmt-summary{font-size:12px;margin-bottom:10px}
.fmt-groups{display:flex;flex-direction:column;gap:8px}
.fmt-group{border:1px solid var(--linea);border-radius:12px;overflow:hidden;background:var(--panel)}
.fmt-group-head{display:flex;align-items:center;gap:10px;width:100%;padding:11px 13px;background:var(--panel-2);border:none;cursor:pointer;font-size:14px;font-weight:700;color:var(--tinta);transition:background var(--t)}
.fmt-group-head:hover{background:var(--panel-hover)}
.fmt-group.open .fmt-chev{transform:rotate(90deg)}
.fmt-chev{color:var(--gris);transition:transform .12s;font-size:11px;flex:0 0 auto}
.fmt-fold{font-size:16px}
.fmt-area-nom{flex:1;text-align:left}
.fmt-area-n{font-size:11px;font-weight:800;color:var(--sobre-naranja);background:var(--naranja);border-radius:999px;padding:2px 9px}
.proc-fmt{position:relative}
.fmt-tipo-badge{align-self:flex-start;font-size:9.5px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:var(--rojo-teja);background:var(--naranja-3);border:1px solid var(--naranja);border-radius:6px;padding:2px 7px;margin-bottom:4px}

/* ---------- Informe corporativo ----------
   Reproduce el tablero de seguimientos original con el cromo de SEUS. */
.scroll-x{overflow-x:auto}
.ic-top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.ic-alerta{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;
  background:var(--rojo-soft);color:var(--rojo);padding:6px 12px;border-radius:99px}
.ic-dot{width:7px;height:7px;border-radius:50%;display:inline-block;flex:0 0 auto}

/* pestañas: dos líneas, título y para qué sirve — como el original */
.ic-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px;margin:14px 0}
.ic-tab{text-align:left;padding:11px 14px;border:1px solid var(--linea);border-radius:var(--r-xs);
  background:var(--panel);cursor:pointer;transition:border-color var(--t),background var(--t)}
.ic-tab b{display:block;font-size:13.5px;color:var(--tinta);line-height:1.25}
.ic-tab i{display:block;font-style:normal;font-size:11.5px;color:var(--gris);margin-top:2px}
.ic-tab:hover{border-color:var(--naranja-2)}
.ic-tab.on{border-color:var(--naranja);border-bottom-width:2px;background:var(--naranja-3)}
.ic-tab.on b{color:var(--naranja-texto)}

.ic-eyebrow{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--naranja-texto)}
.ic-h1{margin:10px 0 0;font-size:clamp(21px,3.2vw,32px);line-height:1.12;letter-spacing:-.02em;text-wrap:balance}
.ic-dec{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:10px;margin-top:14px}
.ic-deccard{cursor:pointer;transition:border-color var(--t),transform var(--t)}
.ic-deccard:hover{border-color:var(--naranja);transform:translateY(-1px)}
.ic-decn{display:flex;align-items:center;gap:8px;font-size:30px;font-weight:800;
  letter-spacing:-.03em;font-variant-numeric:tabular-nums;line-height:1}
.ic-declbl{margin-top:7px;font-weight:650;font-size:14px}
.ic-decexp{margin-top:4px;font-size:12.5px;color:var(--gris);line-height:1.45}

/* filtros en fichas, no en desplegables: se ve TODO lo disponible de un vistazo */
.ic-fgrp{display:flex;gap:10px;align-items:flex-start;padding:7px 0;flex-wrap:wrap}
.ic-fgrp+.ic-fgrp{border-top:1px solid var(--linea-2)}
.ic-flbl{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--gris);
  font-weight:600;min-width:78px;padding-top:6px}
.ic-fchips{display:flex;gap:5px;flex-wrap:wrap;flex:1}
.ic-chip{font-size:12px;padding:5px 10px;border-radius:99px;border:1px solid var(--linea);
  background:var(--panel);color:var(--tinta-2);cursor:pointer;transition:all var(--t)}
.ic-chip:hover{border-color:var(--naranja-2);color:var(--naranja-texto)}
.ic-chip.on{background:var(--naranja);border-color:var(--naranja);color:var(--sobre-naranja);font-weight:600}

.ic-sub{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--gris);
  font-weight:600;margin:16px 0 6px}
.ic-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:12px}
.ic-card2{cursor:pointer;transition:border-color var(--t)}
.ic-card2:hover{border-color:var(--naranja)}
.ic-cabe{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;font-size:13.5px}
.ic-badge{margin-left:auto;font-size:10px;letter-spacing:.07em;text-transform:uppercase;
  font-weight:700;border:1px solid;border-radius:99px;padding:3px 8px;white-space:nowrap}
.ic-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px}
.ic-kpis span{display:flex;flex-direction:column;gap:2px;font-size:14px;font-weight:650;
  font-variant-numeric:tabular-nums}
.ic-kpis i{font-style:normal;font-size:9.5px;letter-spacing:.07em;text-transform:uppercase;
  color:var(--gris);font-weight:600}
.ic-kpis.grande span{font-size:19px}
.ic-kpis b{font-weight:700;color:var(--naranja-texto);font-size:.82em}
.ic-frase{margin-top:8px;font-size:12px;color:var(--gris);line-height:1.45}
.ic-svg{margin-top:10px}
/* La ficha del informe necesita ancho: la serie son ~48 meses y la tabla de
   datos va a tres columnas. Los 560px del modal normal la ahogan. */
.modal-ancho{max-width:980px}
.ic-band{cursor:crosshair}
.ic-band .ic-hl{opacity:0;transition:opacity .1s ease;pointer-events:none}
.ic-band:hover .ic-hl{opacity:1}
@media(max-width:520px){.ic-kpis{grid-template-columns:repeat(2,1fr)}}

/* matriz indicador x país */
.ic-ley{display:flex;gap:14px;flex-wrap:wrap;font-size:11.5px;color:var(--gris);padding-top:8px;
  border-top:1px solid var(--linea-2);margin-top:8px}
.ic-mtit{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--gris);
  font-weight:600;margin-bottom:8px}
.ic-mat{width:100%;border-collapse:collapse;font-size:12.5px;min-width:560px}
.ic-mat th{font-size:10px;letter-spacing:.06em;color:var(--gris);font-weight:600;
  padding:6px 4px;text-align:center;border-bottom:1px solid var(--linea)}
.ic-mat th:first-child{text-align:left;padding-left:2px}
.ic-mat td{padding:5px 4px;text-align:center;border-bottom:1px solid var(--linea-2)}
.ic-mkpi{text-align:left!important;color:var(--tinta-2);white-space:nowrap;
  max-width:230px;overflow:hidden;text-overflow:ellipsis}
.ic-cel{background:none;border:none;font-size:15px;cursor:pointer;padding:2px 6px;
  border-radius:5px;line-height:1;transition:background var(--t)}
.ic-cel:hover{background:var(--panel-hover)}

.ic-det .ic-datos{margin-top:14px;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:1px;background:var(--linea);border:1px solid var(--linea);border-radius:var(--r-xs);overflow:hidden}
.ic-dt{background:var(--panel);padding:9px 12px;font-size:13px;display:flex;gap:10px}
.ic-dk{color:var(--gris);font-size:11px;text-transform:uppercase;letter-spacing:.06em;
  min-width:118px;flex:0 0 auto;padding-top:2px}
.ic-p{margin:0 0 9px;font-size:13.5px;line-height:1.6;color:var(--tinta-2)}
.ic-p:last-child{margin-bottom:0}

/* ---------- Módulo Automatizaciones (flujos tipo n8n) ---------- */
.au-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.au-card{cursor:pointer;transition:border-color var(--t)}
.au-card:hover{border-color:var(--naranja)}
.au-sw{display:inline-flex;align-items:center;gap:7px;border:none;background:none;padding:2px 0;
  cursor:pointer;font-size:12px;font-weight:600;color:var(--tinta-2);white-space:nowrap}
.au-sw-pista{width:32px;height:18px;flex:0 0 32px;border-radius:999px;background:var(--linea);position:relative;transition:background var(--t)}
.au-sw-bola{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;
  box-shadow:0 1px 2px rgba(0,0,0,.28);transition:transform var(--t)}
.au-sw[aria-checked="true"]{color:var(--verde)}
.au-sw[aria-checked="true"] .au-sw-pista{background:var(--verde)}
.au-sw[aria-checked="true"] .au-sw-bola{transform:translateX(14px)}
.au-sw:focus-visible{outline:2px solid var(--naranja);outline-offset:3px;border-radius:6px}
.au-card-t{font-size:14px;line-height:1.3}
.au-card-dis{font-size:12px;color:var(--tinta-2);margin-top:3px}
.au-card-ult{font-size:11.5px;color:var(--gris);margin-top:7px}
/* Un flujo pausado por el cortacircuitos está MUERTO: se ve desde la lista, no
   solo al abrirlo. */
.au-card.pausado{border-color:var(--rojo)}
.au-nombre{font-weight:700;font-size:15px;border:1px solid transparent;background:transparent;padding:4px 6px;
  border-radius:8px;min-width:180px;flex:1 1 260px;max-width:420px;text-overflow:ellipsis}
.au-nombre:hover,.au-nombre:focus{border-color:var(--linea);background:var(--entrada)}
.au-paso{font-size:12px;padding:2px 0;color:var(--tinta-2)}
.au-paso.mal{color:var(--rojo)}
.btn.gh.sm.on{border-color:var(--naranja);color:var(--naranja-texto)}
.au-motor{border:1px solid var(--linea);background:var(--panel);border-radius:8px;padding:4px 8px;font-size:12px}
.alz-nueva{background:color-mix(in srgb,var(--naranja) 7%,transparent);border-radius:8px}

/* ---------- Automatizaciones · editor v2 (cadena vertical guiada) ---------- */
.au2-wrap{display:flex;gap:12px;margin-top:10px;align-items:flex-start}
.au2-canvas{flex:1;min-height:420px;padding:26px 16px;overflow:auto;
  background-image:radial-gradient(color-mix(in srgb,var(--tinta) 8%,transparent) 1px,transparent 1px);background-size:22px 22px}
.au2-col{display:flex;flex-direction:column;align-items:center;min-width:280px}
.au2-card{display:flex;align-items:center;gap:10px;width:280px;padding:11px 12px;background:var(--panel);
  border:1.5px solid var(--linea);border-radius:12px;box-shadow:var(--sombra);cursor:pointer;position:relative;transition:border-color var(--t)}
.au2-card:hover{border-color:var(--naranja)}
.au2-card.sel{border-color:var(--naranja);box-shadow:0 0 0 2px var(--naranja),var(--sombra-2)}
.au2-ico{font-size:18px;width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:color-mix(in srgb,var(--tinta) 5%,var(--panel));flex:0 0 34px}
.au2-disp .au2-ico{background:color-mix(in srgb,var(--naranja) 14%,var(--panel))}
.au2-log  .au2-ico{background:color-mix(in srgb,var(--azul) 12%,var(--panel))}
.au2-acc  .au2-ico{background:color-mix(in srgb,var(--verde) 12%,var(--panel))}
.au2-t{flex:1;min-width:0;display:flex;flex-direction:column}
.au2-kicker{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--naranja-texto)}
.au2-t b{font-size:13.5px}
.au2-sum{font-size:11px;color:var(--tinta-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.au2-x{border:none;background:none;color:var(--gris);cursor:pointer;font-size:11px;padding:2px}
.au2-x:hover{color:var(--rojo)}
.au2-linea{width:2px;height:16px;background:var(--linea)}
.au2-mas{width:26px;height:26px;border-radius:50%;border:1.5px dashed var(--gris);background:var(--panel);
  color:var(--gris);font-size:15px;line-height:1;cursor:pointer;display:grid;place-items:center}
.au2-mas:hover,.au2-mas.on{border-color:var(--naranja);color:var(--naranja-texto);border-style:solid}
.au2-final{font-size:10px;font-weight:700;letter-spacing:.06em;color:var(--gris);background:color-mix(in srgb,var(--tinta) 6%,var(--panel));
  border:1px solid var(--linea);border-radius:999px;padding:3px 12px}
.au2-ramas{display:flex;gap:26px;align-items:flex-start}
.au2-rama{display:flex;flex-direction:column;align-items:center;padding-top:2px}
.au2-chip{font-size:10px;font-weight:700;padding:2px 10px;border-radius:999px;margin-bottom:2px}
.au2-chip.si{background:color-mix(in srgb,var(--verde) 15%,var(--panel));color:var(--verde)}
.au2-chip.no{background:color-mix(in srgb,var(--rojo) 12%,var(--panel));color:var(--rojo)}
.au2-drawer{width:320px;flex:0 0 320px;background:var(--panel);border:1px solid var(--linea);border-radius:14px;
  padding:14px;box-shadow:var(--sombra-2);max-height:70vh;overflow:auto;position:sticky;top:10px}
.au2-dh{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.au2-dh b{font-size:14px}
.au2-buscar{width:100%;margin-bottom:10px}
.au2-grp{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--gris);margin:10px 0 4px}
.au2-row{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:8px;border:none;background:none;
  border-radius:10px;cursor:pointer}
.au2-row:hover{background:color-mix(in srgb,var(--tinta) 5%,var(--panel))}
.au2-rt{flex:1;min-width:0;display:flex;flex-direction:column}
.au2-rt b{font-size:13px}
.au2-rt i{font-style:normal;font-size:11px;color:var(--tinta-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.au2-chev{color:var(--gris)}
.au2-tray{margin-top:18px;border-top:1px dashed var(--linea);padding-top:10px}
.au2-suelto{display:flex;align-items:center;gap:10px;margin:6px 0;opacity:.85}
@media(max-width:900px){ .au2-wrap{flex-direction:column} .au2-drawer{width:100%;flex:auto;position:static;max-height:none} }
.au2-row.sel{background:color-mix(in srgb,var(--naranja) 9%,var(--panel));outline:1.5px solid var(--naranja)}
.au2-check{color:var(--naranja-texto);font-weight:700}
.au2-eventos{max-height:46vh;overflow:auto}
.au2-vacio{display:flex;flex-direction:column;align-items:center;gap:6px;border:none;background:none;cursor:pointer;padding:22px;align-self:center}
.au2-vacio-caja{width:64px;height:64px;border:2px dashed var(--gris);border-radius:14px;display:grid;place-items:center;font-size:26px;color:var(--gris);transition:all var(--t)}
.au2-vacio:hover .au2-vacio-caja{border-color:var(--naranja);color:var(--naranja-texto)}
.au2-vacio b{font-size:14px}
.au2-vacio i{font-style:normal;font-size:12px;color:var(--tinta-2)}
.au2-nores{display:flex;flex-direction:column;align-items:center;gap:6px;padding:26px 10px;color:var(--gris);font-size:12.5px}
.au2-nores span{font-size:24px;opacity:.5}
/* ===== Lienzo libre (SEUS Studio, estilo n8n) ===== */
.au2-lienzo{position:relative;flex:1;min-width:0;height:min(640px,72vh);overflow:hidden;
  border:1px solid var(--linea);border-radius:14px;touch-action:none;cursor:grab;
  background:radial-gradient(circle at 1px 1px, color-mix(in srgb,var(--tinta) 13%,transparent) 1.2px, transparent 0) 0 0/22px 22px, var(--fondo)}
.au2-lienzo:active{cursor:grabbing}
.au2-mundo{position:absolute;top:0;left:0;transform-origin:0 0;will-change:transform}
.au2-svg{position:absolute;top:0;left:0;overflow:visible;pointer-events:none}
.au2-cablewrap{pointer-events:none}
.au2-cable-hit{fill:none;stroke:transparent;stroke-width:16;pointer-events:stroke;cursor:pointer}
.au2-cable{fill:none;stroke:var(--gris);stroke-width:2.5;pointer-events:none;transition:stroke var(--t)}
.au2-cable.au2-ghost{stroke:var(--naranja);stroke-dasharray:6 5}
.au2-cablewrap:hover .au2-cable{stroke:var(--naranja)}
.au2-cabx{cursor:pointer;pointer-events:all;opacity:0;transition:opacity var(--t)}
.au2-cablewrap:hover .au2-cabx{opacity:1}
.au2-cabx:hover{opacity:1}
.au2-cabx circle{fill:var(--panel);stroke:var(--rojo);stroke-width:1.5}
.au2-cabx text{fill:var(--rojo);font-size:9px;text-anchor:middle;font-weight:700;pointer-events:none}
/* NODO = TILE cuadrado con el ICONO grande + etiqueta (nombre) debajo, estilo n8n */
.au2-nodo{position:absolute;box-sizing:border-box;cursor:grab;user-select:none}
.au2-nodo:active{cursor:grabbing}
.au2-tile{position:relative;display:grid;place-items:center;background:var(--panel);
  border:1.5px solid var(--linea);border-radius:16px;box-shadow:var(--sombra);
  transition:box-shadow var(--t),border-color var(--t)}
.au2-tile .au2-ico{font-size:27px;width:auto;height:auto;background:none;border-radius:0;flex:none;line-height:0}
.au2-svgico{width:1em;height:1em;display:block}
.au2-disp .au2-tile .au2-ico{color:var(--naranja-texto)}
.au2-log  .au2-tile .au2-ico{color:var(--azul)}
.au2-acc  .au2-tile .au2-ico{color:var(--verde)}
.au2-nodo:hover .au2-tile{border-color:var(--naranja)}
.au2-nodo.sel .au2-tile{border-color:var(--naranja);box-shadow:0 0 0 2px var(--naranja),var(--sombra-2)}
.au2-nodo.dst .au2-tile{border-color:var(--verde);box-shadow:0 0 0 2px var(--verde)}
/* ===== Traza de ejecución EN VIVO (SEUS Studio) ===== */
.au2-nodo.au2-run  .au2-tile{border-color:var(--azul);box-shadow:0 0 0 2px var(--azul),var(--sombra-2);animation:au2pulse 1.1s ease-in-out infinite}
.au2-nodo.au2-ok   .au2-tile{border-color:var(--verde);box-shadow:0 0 0 2px var(--verde)}
.au2-nodo.au2-fail .au2-tile{border-color:var(--rojo);box-shadow:0 0 0 3px var(--rojo),var(--sombra-2)}
.au2-nodo.au2-idle{opacity:.45;filter:saturate(.6)}   /* no recorrido: se atenúa para resaltar el camino */
@keyframes au2pulse{0%,100%{box-shadow:0 0 0 2px var(--azul),var(--sombra-2)}50%{box-shadow:0 0 0 7px color-mix(in srgb,var(--azul) 28%,transparent),var(--sombra-2)}}
@media (prefers-reduced-motion:reduce){ .au2-nodo.au2-run .au2-tile{animation:none} }
/* glifo de estado en la esquina del tile (para no depender solo del color) */
.au2-estado{position:absolute;top:-8px;left:-8px;width:18px;height:18px;border-radius:50%;
  display:grid;place-items:center;font-size:11px;font-weight:800;z-index:5;box-shadow:var(--sombra);
  background:var(--panel);border:1px solid var(--linea)}
.au2-estado[data-st="run"]{color:var(--azul)}
.au2-estado[data-st="ok"]{color:var(--verde);border-color:var(--verde)}
.au2-estado[data-st="fail"]{color:var(--rojo);border-color:var(--rojo)}
.au2-cable.au2-hot{stroke:var(--verde);stroke-width:3.5}
/* HUD de estado sobre el lienzo */
.au2-hud{display:flex;align-items:center;gap:8px;margin:8px 0 0;padding:8px 12px;border-radius:10px;
  font-size:12.5px;border:1px solid var(--linea);background:var(--panel);box-shadow:var(--sombra)}
.au2-hud b{font-weight:700}
.au2-hud-run {border-color:var(--azul); background:color-mix(in srgb,var(--azul) 7%,var(--panel))}
.au2-hud-ok  {border-color:var(--verde);background:color-mix(in srgb,var(--verde) 8%,var(--panel))}
.au2-hud-fail{border-color:var(--rojo); background:color-mix(in srgb,var(--rojo) 8%,var(--panel))}
.au2-hud-spin{display:inline-block;animation:au2spin 1s linear infinite}
@keyframes au2spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){ .au2-hud-spin{animation:none} }
/* detalle de la corrida en el drawer */
.au2-run-meta{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;margin:0 0 10px}
.au2-run-meta > div{display:flex;flex-direction:column}
.au2-run-meta span{font-size:10px;color:var(--tinta-2);text-transform:uppercase;letter-spacing:.03em}
.au2-run-meta b{font-size:12.5px;color:var(--tinta)}
.au2-ok-t{color:var(--verde)} .au2-fail-t{color:var(--rojo)}
.au2-run-pasos .au-paso{cursor:pointer;border-radius:6px;padding:3px 6px}
.au2-run-pasos .au-paso:hover{background:color-mix(in srgb,var(--tinta) 7%,transparent)}
/* tarjeta de resultado del nodo en el drawer de config */
.au2-nodo-res{display:flex;flex-direction:column;gap:2px;margin:0 0 10px;padding:8px 10px;border-radius:8px;font-size:12px}
.au2-nodo-res b{font-weight:700}
.au2-nodo-res span{color:var(--tinta-2)}
.au2-nodo-res.au2-ok{background:color-mix(in srgb,var(--verde) 9%,var(--panel));border:1px solid var(--verde)}
.au2-nodo-res.au2-fail{background:color-mix(in srgb,var(--rojo) 9%,var(--panel));border:1px solid var(--rojo)}
.au2-disp .au2-tile{border-top:3px solid var(--naranja)}
.au2-log  .au2-tile{border-top:3px solid var(--azul)}
.au2-acc  .au2-tile{border-top:3px solid var(--verde)}
.au2-disp-badge{position:absolute;top:-7px;left:-7px;width:18px;height:18px;border-radius:50%;
  background:var(--naranja);color:var(--sobre-naranja);font-size:10px;display:grid;place-items:center;box-shadow:var(--sombra);z-index:4}
.au2-tile .au2-x{position:absolute;top:-8px;right:-8px;width:18px;height:18px;border-radius:50%;
  background:var(--panel);border:1px solid var(--linea);color:var(--gris);font-size:10px;
  display:grid;place-items:center;cursor:pointer;opacity:0;transition:opacity var(--t);z-index:4;padding:0}
.au2-nodo:hover .au2-tile .au2-x{opacity:1}
.au2-tile .au2-x:hover{color:var(--rojo);border-color:var(--rojo)}
.au2-cap{margin-top:6px;text-align:center;pointer-events:none}
.au2-cap b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  font-size:11px;font-weight:600;line-height:1.15;color:var(--tinta)}
.au2-cap i{display:block;font-style:normal;font-size:9px;color:var(--tinta-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}
.au2-pin{position:absolute;width:13px;height:13px;border-radius:50%;background:var(--panel);
  border:2px solid var(--gris);transform:translate(-50%,-50%);cursor:crosshair;z-index:3}
.au2-pin.au2-in{left:0}
.au2-pin.au2-out{left:100%}
.au2-pin.au2-out:hover,.au2-pin.au2-in:hover{border-color:var(--naranja);background:var(--naranja)}
.au2-pin.si{border-color:var(--verde)}
.au2-pin.no{border-color:var(--rojo)}
.au2-plabel{position:absolute;left:15px;top:50%;transform:translateY(-50%);font-style:normal;
  font-size:9px;font-weight:700;letter-spacing:.03em;color:var(--tinta-2);white-space:nowrap;pointer-events:none}
.au2-lienzo-tools{position:absolute;right:10px;bottom:10px;display:flex;align-items:center;gap:5px;z-index:6;
  background:color-mix(in srgb,var(--panel) 90%,transparent);padding:5px;border-radius:10px;border:1px solid var(--linea);box-shadow:var(--sombra)}
.au2-zsep{width:1px;height:18px;background:var(--linea);margin:0 2px}
.au2-lienzo-tip{position:absolute;left:10px;bottom:12px;z-index:6;font-size:10.5px;color:var(--gris);
  background:color-mix(in srgb,var(--panel) 80%,transparent);padding:4px 9px;border-radius:8px;pointer-events:none;max-width:60%}
@media(max-width:900px){ .au2-lienzo-tip{display:none} }
/* Schedule pro — repetidor de reglas del disparador Programado */
.au-hor{display:flex;flex-direction:column;gap:2px}
.au-hor-regla{border:1px solid var(--linea);border-radius:10px;padding:9px 10px;margin-bottom:8px;background:color-mix(in srgb,var(--tinta) 2.5%,var(--panel))}
.au-hor-regla .field{margin-top:6px}
.au-hor-vista{font-size:11px;color:var(--naranja-texto);font-weight:600;margin-top:7px}
.au-hor-dows{display:flex;gap:4px;flex-wrap:wrap}
.au-dow{width:30px;height:30px;border:1px solid var(--linea);border-radius:8px;background:var(--panel);color:var(--tinta-2);
  font-weight:700;font-size:12px;cursor:pointer;transition:all var(--t)}
.au-dow:hover{border-color:var(--naranja)}
.au-dow.on{background:var(--naranja);border-color:var(--naranja);color:var(--sobre-naranja)}
.au-hor-add{align-self:flex-start}

/* ===== Inbox (📥) ============================================== */
/* Dos columnas con altura fija: el hilo hace su propio scroll, no la página.
   Si scrollara el documento, escribir abajo movería toda la vista. */
.ib-wrap{display:grid;grid-template-columns:280px 1fr;gap:0;
  border:1px solid var(--linea,#e6e6e6);border-radius:12px;overflow:hidden;
  height:calc(100vh - 190px);min-height:380px;background:var(--fondo2,#fff)}
.ib-lista{border-right:1px solid var(--linea,#e6e6e6);overflow-y:auto;background:var(--fondo,#fafafa)}
.ib-panel{display:flex;flex-direction:column;min-width:0}
.ib-panel.solo{border:1px solid var(--linea,#e6e6e6);border-radius:12px;
  height:calc(100vh - 190px);min-height:380px;background:var(--fondo2,#fff)}
.ib-item{display:flex;gap:10px;align-items:center;width:100%;text-align:left;
  padding:10px 12px;background:none;border:0;border-bottom:1px solid var(--linea,#eee);cursor:pointer}
.ib-item:hover{background:var(--hover,rgba(0,0,0,.04))}
.ib-item.sel{background:var(--sel,rgba(0,0,0,.07))}
/* Avatar de iniciales con color estable por nombre (ibColorDe): reconocer de un
   vistazo sin cargar una foto. El color va inline; aquí solo la forma. */
.ib-ava{flex:0 0 auto;width:34px;height:34px;border-radius:50%;display:flex;
  align-items:center;justify-content:center;color:#fff;font-size:12.5px;font-weight:700;
  letter-spacing:.02em}
.ib-ava.gr{border-radius:11px}   /* grupo/área: squircle, distingue de un DM sin otro glifo */
/* (F1) NO-LEÍDO = negrita + punto de marca + contador. El color NO es el único
   canal: la negrita y el contador con aria-label lo hacen legible sin ver el tono. */
.ib-tit-row,.ib-sub-row{display:flex;align-items:center;gap:8px;min-width:0}
.ib-tit-row{justify-content:space-between}
.ib-item.nl .ib-tit{font-weight:700}
.ib-item.nl .ib-tit::before{content:"";display:inline-block;width:8px;height:8px;
  border-radius:50%;background:var(--naranja,#EA5A0B);margin-right:6px;vertical-align:middle}
.ib-nl{flex:0 0 auto;min-width:18px;height:18px;padding:0 5px;border-radius:9px;
  background:var(--naranja,#EA5A0B);color:#fff;font-size:11px;font-weight:700;
  line-height:18px;text-align:center;font-variant-numeric:tabular-nums}
/* (F1/E3) Chip de ancla: la conversación cuelga de un objeto. Acento --kobj
   (morado de CONVERSACIÓN, no el naranja de marca; PD). Se distingue del morado
   del panel work-native por FORMA (fondo suave + borde), no por otro tono. Se
   trunca al 55% para no comerse el preview, pero el tipo (◎ TIPO) va primero y
   sobrevive el corte. */
.ib-chip-ancla{flex:0 1 auto;min-width:0;max-width:55%;font-size:11px;color:var(--kobj,#7c5cd6);
  background:var(--kobj-soft,rgba(124,92,214,.08));border:1px solid var(--kobj,#7c5cd6);
  border-radius:6px;padding:0 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* (E3) Objeto en papelera / no legible: atenuado + «· ya no está», sin fingir que
   sigue ahí. Preserva la identidad del hilo sin mentir (familia del «✓ Guardado»
   falso). Gris apagado, borde tenue, sin el morado de «vivo». */
.ib-chip-ancla.ido{color:var(--gris-2,#8a8f98);background:transparent;
  border-color:var(--linea,#e3e5e8);font-style:italic}
/* (I8) Foco de teclado VISIBLE en la lista: sin esto, navegar con ↑↓ mueve un
   foco que no se ve, que es como no tenerlo. */
.ib-item:focus-visible{outline:2px solid var(--naranja,#EA5A0B);outline-offset:-2px}
/* Encabezado de sección de la lista: separa lo no leído de lo visto. */
.ib-sec{padding:10px 12px 4px;font-size:11px;font-weight:700;letter-spacing:.04em;
  text-transform:uppercase;color:var(--gris)}
.ib-ancla-ir{margin-left:8px;padding:1px 8px;font-size:11.5px}
/* El ancla PERDIDA no se esconde: se dice. Un hilo sin su elemento sigue teniendo
   sus mensajes, así que borrar el encabezado sería quitar el único contexto que
   queda; en gris y sin botón, porque no hay adónde ir. */
.ib-ancla-ido{color:var(--gris);font-style:italic}
.ib-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.ib-tit{flex:1;min-width:0;font-weight:600;font-size:14px;color:var(--tinta,#222);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* El resumen se corta con puntos suspensivos: sin esto, un mensaje largo
   estiraba la fila y descuadraba la lista entera. */
/* Jerarquía de 3 tonos (PD): nombre (--tinta, fuerte) > preview (--tenue, medio) >
   hora (--gris, el más tenue). El tamaño de la hora la baja aún más. */
.ib-sub{flex:1;min-width:0;font-size:12px;color:var(--tenue,#777);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ib-cuando{font-size:12px;color:var(--gris,#999);white-space:nowrap;font-variant-numeric:tabular-nums}
/* En una conversación SIN LEER el preview sube a --tinta: es parte de la señal de
   no-leído (junto al punto + la negrita del nombre), no solo un color más. (PD) */
.ib-item.nl .ib-sub{color:var(--tinta,#222)}
.ib-badge{display:inline-block;min-width:18px;padding:0 5px;border-radius:9px;
  background:var(--rojo,#d33);color:#fff;font-size:11px;text-align:center;line-height:18px}
.ib-cab{padding:10px 14px;border-bottom:1px solid var(--linea,#eee)}
.ib-ancla{font-size:12px;color:var(--tenue,#777);margin-left:6px}
/* FASE 1b: el dato vivo del elemento, segunda línea bajo el título del hilo. */
.ib-ancla-dato{margin-top:3px;font-size:12px;color:var(--tenue,#777);display:flex;gap:8px;align-items:center}
.ib-ancla-dato.ib-tono-ok{color:var(--verde,#2e7d32)}
.ib-ancla-dato.ib-tono-alerta{color:var(--rojo,#c62828)}
.ib-ancla-dato.ib-tono-warn{color:var(--amarillo,#E08A00)}
.ib-ancla-dato.ib-tono-neutro{color:var(--tenue,#777)}
.ib-hilo{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px}
.ib-msg{max-width:min(680px,80%);padding:8px 11px;border-radius:12px;
  background:var(--fondo,#f2f2f2);align-self:flex-start}
.ib-msg.mio{align-self:flex-end;background:var(--acento-suave,#dceeff)}
.ib-msg.sop{border:1px solid var(--acento,#3b82f6)}
.ib-msg-cab{font-size:11px;color:var(--tenue,#777);margin-bottom:3px}
.ib-msg-txt{font-size:13px;line-height:1.45;color:var(--tinta,#222);
  overflow-wrap:anywhere}   /* una URL larga no puede desbordar la burbuja */
.ib-tag{background:var(--acento,#3b82f6);color:#fff;border-radius:6px;padding:0 5px;font-size:10px}
.ib-redactor{display:flex;gap:8px;padding:10px;border-top:1px solid var(--linea,#eee);align-items:flex-end}
/* ── F1.a chat · estados del hilo + acento de CONVERSACIÓN (morado --kobj) ──
   El panel anclado a un objeto PERTENECE al objeto: el encabezado toma el morado. */
.ib-cab.ib-cab-obj{border-left:3px solid var(--kobj);background:var(--kobj-soft)}
.ib-cab.ib-cab-obj .ib-ancla{color:var(--kobj)}
/* Estado A · el vacío INVITA (nunca «0» ni blanco roto) */
.ib-eh{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:7px;padding:26px 18px;color:var(--tenue,#777)}
.ib-eh-emoji{font-size:30px;opacity:.9}
.ib-eh-tit{font-size:14px;font-weight:800;color:var(--tinta,#222)}
.ib-eh-txt{font-size:12.5px;max-width:34ch;line-height:1.55;margin:0}
/* Estado B · el nudge empuja al primer humano a responder */
.ib-nudge{background:var(--panel,#fff);border:1px solid var(--kobj);border-left:3px solid var(--kobj);
  border-radius:9px;padding:9px 11px;font-size:12.5px;line-height:1.5;color:var(--tinta,#222);align-self:stretch}
.ib-nudge b{color:var(--kobj)}
/* compositores: «caliente» (B, empuja a responder) morado · «foco» (C) naranja */
.ib-redactor.ib-red-caliente{border-top:2px solid var(--kobj);background:var(--kobj-soft)}
.ib-redactor.ib-red-foco{border-top:2px solid var(--naranja)}
/* Estado C · selector de anclaje (◎ Anclar a objeto / Personas) en «Nueva conversación» */
.ib-anchorpick{display:flex;gap:6px}
.ib-apk{font-size:12.5px;font-weight:700;border-radius:8px;padding:5px 11px;border:1px solid var(--linea,#ddd);background:transparent;color:var(--tenue,#777);cursor:pointer}
.ib-apk.on{background:var(--kobj-soft);border-color:var(--kobj);color:var(--kobj)}
.ib-apk:disabled{opacity:.5;cursor:not-allowed}
.ib-redactor textarea{flex:1;resize:vertical;min-height:38px;max-height:180px;
  border:1px solid var(--linea,#ddd);border-radius:10px;padding:8px 10px;font:inherit;
  background:var(--fondo2,#fff);color:var(--tinta,#222)}
.ib-sop-cab{display:flex;gap:12px;align-items:center;padding:14px;border-bottom:1px solid var(--linea,#eee)}
.ib-ayuda{padding:4px}
/* «‹ Volver» solo aparece en móvil: en desktop los dos paneles se ven a la vez,
   así que no hay a dónde volver. */
.ib-volver{display:none;background:none;border:0;color:var(--naranja,#EA5A0B);
  font-size:13px;font-weight:600;cursor:pointer;padding:2px 8px 2px 0;white-space:nowrap}
@media (max-width:860px){
  .ib-wrap{grid-template-columns:1fr;height:calc(100vh - 150px)}
  /* (F1) MAESTRO-DETALLE de verdad: sin conversación abierta se ve la LISTA sola;
     al abrir una (`.ib-wrap.sel`), se ve el HILO solo con «‹ Volver». Antes se
     APILABAN lista+hilo y en un móvil se veían las dos cortadas. */
  .ib-wrap:not(.sel) .ib-panel{display:none}
  .ib-wrap.sel .ib-lista{display:none}
  .ib-lista{max-height:none;border-right:0}
  .ib-volver{display:inline-flex;align-items:center}
}
/* Botón «Comentar»: una sola barra para todas las vistas con elemento. Va
   arriba del contenido y no encima, para no tapar nada del módulo. */
.ib-comentar-bar{display:flex;justify-content:flex-end;padding:0 0 8px}
.ib-comentar{gap:4px}

/* ===== Bandeja de soporte (consola SEUS) ===================== */
.ok-sop-lista{display:flex;flex-direction:column;border:1px solid var(--linea,#e6e6e6);
  border-radius:10px;overflow:hidden;margin:8px 0}
.ok-sop-fila{display:grid;grid-template-columns:170px 1fr;grid-template-rows:auto auto;
  gap:2px 12px;text-align:left;width:100%;padding:9px 12px;background:none;border:0;
  border-bottom:1px solid var(--linea,#eee);cursor:pointer}
.ok-sop-fila:last-child{border-bottom:0}
.ok-sop-fila:hover{background:var(--hover,rgba(0,0,0,.04))}
.ok-sop-fila.sel{background:var(--sel,rgba(0,0,0,.07))}
/* Lo que espera respuesta se marca en el borde, no con color de fondo: en una
   lista larga el fondo compite con la fila seleccionada. */
.ok-sop-fila.pend{border-left:3px solid var(--naranja,#e2681e)}
.ok-sop-cta{grid-row:1/3;align-self:center;font-weight:600;font-size:13px;color:var(--tinta,#222);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ok-sop-txt{font-size:13px;color:var(--tinta,#222);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ok-sop-meta{font-size:11.5px;color:var(--tenue,#777)}
.ok-sop-panel{display:flex;flex-direction:column;border:1px solid var(--linea,#e6e6e6);
  border-radius:10px;overflow:hidden;margin:10px 0 4px;height:420px;background:var(--fondo2,#fff)}
@media (max-width:720px){
  .ok-sop-fila{grid-template-columns:1fr}
  .ok-sop-cta{grid-row:auto}
}
/* Consola de SEUS: sin buscador ni campanita, la fila superior se queda casi
   vacía. Se recorta su alto para que no deje una franja hueca. */
.top-row.top-row-limpia{min-height:0;padding-top:10px;padding-bottom:6px}
/* Banner de contexto de la consola (vista de agencia y Soporte): el mismo, en
   un solo sitio. Antes el estilo iba en línea y solo existía en una vista. */
.banner-consola{background:var(--naranja-3);border:1px solid var(--naranja);
  border-radius:10px;padding:8px 12px;margin-bottom:10px;align-items:center;gap:8px}

/* ===== Lanzador de soporte (flotante, estilo Intercom) ========= */
/* Abajo a la derecha, por encima de todo menos de los modales (que son
   .overlay y van más arriba): un widget que tape un diálogo sería peor que
   no tenerlo. */
/* El aviso de guardado va ENCIMA del botón de ayuda, no debajo. Los dos estaban
   fijos en la misma esquina (aviso 14/14, botón 20/20) y el aviso lo tapaba.
   La posición vivía incrustada en el JS, así que no podía seguir al botón
   cuando este sube en móvil para librar el menú inferior. Las cuentas:
     escritorio  botón 20 + alto 56 = 76  →  aviso a 88
     móvil       botón 76 + alto 56 = 132 →  aviso a 144 */
.save-badge{position:fixed;right:20px;bottom:88px;z-index:901;
  font:12.5px/1 system-ui;background:var(--panel);color:var(--tinta);
  border:1px solid var(--linea);border-radius:999px;padding:6px 10px;
  box-shadow:var(--sombra-2);cursor:pointer;display:none}
@media(max-width:820px){ .save-badge{right:12px;bottom:144px} }
.sop-widget{position:fixed;right:20px;bottom:20px;z-index:900;
  display:flex;flex-direction:column;align-items:flex-end;gap:12px;
  transition:opacity .18s ease, visibility .18s ease}
/* Con el drawer «Comentar» abierto, el lanzador/panel de soporte quedaba montado
   sobre el compositor del drawer. Se oculta el widget entero (no se desmonta): al
   cerrar el drawer reaparece en el estado en que estaba. Cubre el caso inverso. */
body.drawer-abierto .sop-widget{opacity:0;visibility:hidden;pointer-events:none}
.sop-lanzador{width:56px;height:56px;border-radius:50%;border:0;cursor:pointer;
  background:var(--naranja,#e2681e);color:#fff;box-shadow:0 6px 20px rgba(0,0,0,.25);
  display:flex;align-items:center;justify-content:center;position:relative;
  transition:transform .16s ease, box-shadow .16s ease}
.sop-lanzador:hover{transform:scale(1.06);box-shadow:0 8px 26px rgba(0,0,0,.3)}
.sop-lanzador:focus-visible{outline:3px solid var(--azul,#3b82f6);outline-offset:3px}
.sop-ic{font-size:24px;line-height:1;display:grid;place-items:center}
/* El contenido pasó de emoji a SVG: el `font-size` ya no lo dimensiona. Se fija
   el tamaño aquí en vez de en el marcado para que el icono siga el mismo camino
   que los del riel, y `currentColor` hereda del botón en sus dos estados. */
.sop-ic svg{width:24px;height:24px;display:block;stroke:currentColor;fill:none}
.sop-badge{position:absolute;top:-2px;right:-2px;min-width:20px;height:20px;padding:0 5px;
  border-radius:10px;background:var(--rojo,#d33);color:#fff;font-size:11px;font-weight:700;
  display:flex;align-items:center;justify-content:center;border:2px solid var(--fondo2,#fff)}
.sop-panel{width:min(380px,calc(100vw - 40px));height:min(560px,calc(100vh - 130px));
  display:flex;flex-direction:column;background:var(--fondo2,#fff);
  border:1px solid var(--linea,#e6e6e6);border-radius:16px;overflow:hidden;
  box-shadow:0 16px 48px rgba(0,0,0,.22)}
.sop-cab{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;
  padding:14px 16px;background:var(--naranja,#e2681e);color:#fff}
.sop-cab b{font-size:15px}
.sop-sub{font-size:12px;opacity:.9;margin-top:2px}
.sop-x{background:none;border:0;color:#fff;font-size:16px;cursor:pointer;padding:2px 4px;line-height:1}
.sop-cab-acc{display:flex;gap:2px;align-items:flex-start;flex-shrink:0}
/* Sin dimming por opacidad en la cabecera NARANJA del widget: el blanco sobre naranja ya
   es marginal a opacidad plena (~3.39:1) y bajarlo lo hunde bajo 3:1 (WCAG 1.4.11). El
   estado silenciado lo llevan el glifo 🔔/🔕 + aria-pressed, así que la opacidad sobra. */
.sop-cab-acc .sop-x[aria-pressed]{font-size:15px}
.sop-hilo{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px}
/* Franja de estado del ticket de soporte (Tickets Ola-1): fondo suave por caso +
   acento en el borde izquierdo; el texto va var(--tinta) para contraste en claro Y
   oscuro (los *-soft se oscurecen en el tema oscuro, así que el tinta siempre pega). */
.sop-franja{display:flex;align-items:center;gap:7px;margin:-2px 0 2px;padding:8px 12px;border-radius:9px;font-size:12.5px;font-weight:700;color:var(--tinta);border-left:4px solid var(--linea)}
.sop-franja-ic{font-size:14px;line-height:1}
.sop-franja-wait{background:var(--amarillo-soft);border-left-color:var(--amarillo)}
.sop-franja-rev{background:var(--azul-soft);border-left-color:var(--azul)}
.sop-franja-esc{background:var(--naranja-3);border-left-color:var(--naranja)}
.sop-franja-ok{background:var(--verde-soft);border-left-color:var(--verde)}
.sop-intro{text-align:center;padding:22px 16px;display:flex;flex-direction:column;gap:6px;align-items:center}
.sop-intro p{margin:0}
@media (prefers-reduced-motion:reduce){ .sop-lanzador{transition:none} }
@media (max-width:620px){
  /* En móvil la barra inferior ocupa el pie: el lanzador sube para no taparla. */
  .sop-widget{right:12px;bottom:76px}
  .sop-panel{height:min(70vh,520px)}
}

/* --- Pestañas y centro de ayuda dentro del lanzador --- */
.sop-pests{display:flex;border-top:1px solid var(--linea,#eee);background:var(--fondo,#fafafa)}
.sop-pest{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;
  background:none;border:0;cursor:pointer;color:var(--tenue,#777);position:relative}
.sop-pest small{font-size:11px}
.sop-pest-ic{font-size:17px;line-height:1}
.gbtn svg{width:18px;height:18px;display:block}
.sop-pest-ic svg{width:22px;height:22px;display:block}
.sop-t-ic svg{width:22px;height:22px;display:block}
.sop-intro-ic svg{width:30px;height:30px;display:block;margin:0 auto}
.sop-pest.on{color:var(--naranja-texto,var(--naranja,#e2681e));font-weight:600}
.sop-pest.on svg{stroke-width:2.3}
.sop-pest-n{position:absolute;top:4px;right:calc(50% - 22px);min-width:16px;height:16px;padding:0 4px;
  border-radius:8px;background:var(--rojo,#d33);color:#fff;font-size:10px;line-height:16px;text-align:center}
.sop-busca{display:flex;align-items:center;gap:7px;padding:8px 10px;margin-bottom:4px;
  border:1px solid var(--linea,#ddd);border-radius:10px;background:var(--fondo,#fafafa)}
.sop-busca input{flex:1;border:0;background:none;font:inherit;font-size:13px;color:var(--tinta,#222);outline:none}
.sop-col,.sop-art{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:10px 11px;
  background:var(--fondo2,#fff);border:1px solid var(--linea,#eee);border-radius:11px;cursor:pointer}
.sop-col:hover,.sop-art:hover{border-color:var(--naranja,#e2681e)}
.sop-col-ic{font-size:19px}
.sop-col-m,.sop-art{min-width:0}
.sop-col-m{flex:1;display:flex;flex-direction:column;gap:1px;min-width:0}
.sop-col-t,.sop-art-t{font-size:13px;font-weight:600;color:var(--tinta,#222)}
/* Los resúmenes se cortan a dos líneas: sin esto una descripción larga
   convertía la lista de secciones en un muro de texto. */
.sop-col-x,.sop-art-x{font-size:11.5px;color:var(--tenue,#777);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sop-col-n{font-size:11px;color:var(--naranja,#e2681e);font-weight:600;margin-top:2px}
.sop-art{flex-direction:column;align-items:flex-start;gap:2px;position:relative;padding-right:26px}
.sop-art-fl{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:var(--tenue,#999)}
.sop-col .sop-art-fl{position:static;transform:none}
.sop-reslbl,.sop-cat-h{font-size:11.5px;color:var(--tenue,#777);text-transform:uppercase;
  letter-spacing:.04em;font-weight:700;margin:2px 0}
.sop-volver{align-self:flex-start;background:none;border:0;color:var(--naranja,#e2681e);
  font-size:12.5px;font-weight:600;cursor:pointer;padding:2px 0}
.sop-doc{gap:8px}
.sop-doc-t{margin:0;font-size:16px;color:var(--tinta,#222)}
.sop-doc-b{font-size:13px;line-height:1.55;color:var(--tinta,#222)}
.sop-doc-b p{margin:0 0 8px}
.sop-doc-b ul{margin:0 0 8px;padding-left:18px}
.sop-doc-b .ej{background:var(--fondo,#f6f6f6);border-radius:9px;padding:8px 10px;font-size:12.5px}
/* La figura del artículo se encoge al ancho del panel: son SVG pensados para
   una pantalla completa. */
.sop-doc .hc-fig svg{width:100%;height:auto}
.sop-doc .figcap{font-size:11px;color:var(--tenue,#777);text-align:center;margin-top:4px}
.sop-doc-pie{border-top:1px solid var(--linea,#eee);padding-top:10px;font-size:12.5px;
  display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.sop-vacio{padding:14px;font-size:13px;color:var(--tenue,#777)}

/* --- Portada del lanzador (Inicio) --- */
/* La cabecera crece en Inicio para alojar el saludo. NO se solapan las
   tarjetas: el cuerpo es un contenedor con scroll, y subirlo con un margen
   negativo metía la primera tarjeta debajo de la cabecera, recortada. */
.sop-cab.sop-cab-alta{padding:20px 16px 22px;align-items:flex-start}
.sop-inicio{gap:10px;padding-top:12px}
.sop-saludo{color:#fff;font-size:20px;line-height:1.3;display:flex;flex-direction:column;
  padding-right:8px}
.sop-saludo span{opacity:.8;font-weight:400}
.sop-tarjeta{display:flex;align-items:center;gap:10px;width:100%;text-align:left;
  padding:13px 14px;background:var(--fondo2,#fff);border:1px solid var(--linea,#e6e6e6);
  border-radius:13px;cursor:pointer;box-shadow:0 2px 10px rgba(0,0,0,.06)}
.sop-tarjeta:hover{border-color:var(--naranja,#e2681e)}
.sop-t-m{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}
.sop-t-lbl{font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;
  font-weight:700;color:var(--tenue,#999)}
.sop-t-t{font-size:13.5px;font-weight:600;color:var(--tinta,#222);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sop-t-x{font-size:11.5px;color:var(--tenue,#777)}
.sop-t-ic{font-size:20px}
.sop-busca-inicio{background:var(--fondo2,#fff);box-shadow:0 2px 10px rgba(0,0,0,.06);
  border-radius:13px;padding:12px 14px;margin:2px 0 0}
.sop-atajo{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;
  text-align:left;padding:10px 14px;background:none;border:0;border-bottom:1px solid var(--linea,#eee);
  cursor:pointer;font-size:13px;color:var(--tinta,#222)}
.sop-atajo:hover{color:var(--naranja,#e2681e)}
.sop-vertodo{background:none;border:0;color:var(--naranja,#e2681e);font-size:12.5px;
  font-weight:600;cursor:pointer;padding:8px 0;text-align:left}

/* --- Lista de conversaciones del lanzador --- */
/* «Hacer una pregunta» flota sobre la lista, encima de las pestañas: por larga
   que sea la lista sigue a mano, sin tener que volver arriba. Es hermana del
   contenedor con scroll, no hija — si fuera hija se iría con el scroll. */
.sop-pildora{position:absolute;left:50%;transform:translateX(-50%);bottom:66px;z-index:2;
  display:flex;align-items:center;gap:10px;padding:11px 12px 11px 18px;border:0;border-radius:24px;
  background:var(--fondo2,#fff);color:var(--tinta,#222);font-size:13.5px;font-weight:600;
  cursor:pointer;box-shadow:0 6px 20px rgba(0,0,0,.22);white-space:nowrap}
.sop-pildora:hover{transform:translateX(-50%) translateY(-1px);box-shadow:0 8px 24px rgba(0,0,0,.26)}
.sop-pildora-ic{width:26px;height:26px;border-radius:50%;background:var(--tinta,#222);color:var(--fondo2,#fff);
  display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700}
.sop-panel{position:relative}
/* Hueco al final de la lista: si no, la píldora tapaba la última conversación
   y no había manera de abrirla. */
.sop-relleno{height:52px;flex:none}
@media (prefers-reduced-motion:reduce){ .sop-pildora:hover{transform:translateX(-50%)} }
.sop-conv{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:11px 12px;
  background:var(--fondo2,#fff);border:1px solid var(--linea,#eee);border-radius:12px;cursor:pointer}
.sop-conv:hover{border-color:var(--naranja,#e2681e)}
.sop-conv.nolei .sop-conv-t{font-weight:700}
.sop-conv-m{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}
.sop-conv-t{font-size:13px;font-weight:600;color:var(--tinta,#222);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sop-conv-x{font-size:11.5px;color:var(--tenue,#777);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sop-conv-d{font-size:11px;color:var(--tenue,#999);white-space:nowrap;
  display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.sop-punto{width:8px;height:8px;border-radius:50%;background:var(--rojo,#d33)}
/* Con cuatro pestañas la etiqueta se aprieta: se recorta el texto, no el icono. */
.sop-pest small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sop-pest-n{right:calc(50% - 20px)}

/* --- Noticias y Tareas del lanzador --- */
.sop-news{padding:12px 13px;border:1px solid var(--linea,#eee);border-radius:12px;background:var(--fondo2,#fff)}
.sop-news.nuevo{border-color:var(--naranja,#e2681e)}
.sop-news-cab{display:flex;align-items:center;gap:8px;margin-bottom:4px}
.sop-news-tag{background:var(--naranja,#e2681e);color:#fff;border-radius:6px;padding:1px 6px;
  font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.sop-news-f{font-size:11px;color:var(--tenue,#999);margin-left:auto}
.sop-news-t{font-size:13.5px;font-weight:600;color:var(--tinta,#222)}
.sop-news-b{font-size:12.5px;line-height:1.5;color:var(--tenue,#666);margin-top:4px}
.sop-prog{margin-bottom:4px}
.sop-prog-b{height:7px;border-radius:4px;background:var(--linea,#eee);overflow:hidden}
.sop-prog-b span{display:block;height:100%;background:var(--naranja,#e2681e);transition:width .3s ease}
.sop-prog-x{font-size:11.5px;color:var(--tenue,#777);margin-top:5px}
.sop-tarea{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:11px 12px;
  background:var(--fondo2,#fff);border:1px solid var(--linea,#eee);border-radius:12px;cursor:pointer}
.sop-tarea:hover:not(.ok){border-color:var(--naranja,#e2681e)}
/* Lo hecho se atenúa pero NO se esconde: ver lo que ya lograste es la mitad
   del valor de una lista de puesta a punto. */
.sop-tarea.ok{opacity:.6;cursor:default}
.sop-tarea-c{width:20px;height:20px;border-radius:50%;border:2px solid var(--linea,#ddd);
  display:flex;align-items:center;justify-content:center;font-size:12px;flex:none}
.sop-tarea.ok .sop-tarea-c{background:var(--verde,#3ba55d);border-color:var(--verde,#3ba55d);color:#fff}
.sop-tarea-m{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}
.sop-tarea-t{font-size:13px;font-weight:600;color:var(--tinta,#222)}
.sop-tarea.ok .sop-tarea-t{text-decoration:line-through}
.sop-tarea-x{font-size:11.5px;color:var(--tenue,#777)}
/* Con cinco pestañas la etiqueta ya no cabe entera en pantallas estrechas. */
.sop-pest small{font-size:10px}
.sop-pest-n{right:calc(50% - 18px);min-width:15px;height:15px;line-height:15px;font-size:9.5px}
@media (prefers-reduced-motion:reduce){ .sop-prog-b span{transition:none} }
.ok-news-form{border:1px solid var(--linea,#e6e6e6);border-radius:10px;padding:12px;margin:8px 0}
.ok-news-lista{border:1px solid var(--linea,#e6e6e6);border-radius:10px;overflow:hidden;margin:8px 0}
.ok-news-fila{display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:9px 12px;border-bottom:1px solid var(--linea,#eee)}
.ok-news-fila:last-child{border-bottom:0}
/* Cola de Noticias (v1): fila con estado + audiencia + acciones. */
.nov-fila{align-items:flex-start}
.nov-main{min-width:0;flex:1}
.nov-t{font-weight:700;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.nov-meta{font-size:11.5px;margin-top:2px}
.nov-cuerpo{font-size:12px;margin-top:4px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.nov-acc{display:flex;align-items:center;gap:6px;flex:none}
.nov-badge{font-size:10.5px;font-weight:700;padding:2px 7px;border-radius:999px;border:1px solid transparent;white-space:nowrap}
.nov-borr{background:var(--amarillo-soft);color:var(--tinta);border-color:var(--amarillo)}
.nov-pend{background:var(--azul-soft);color:var(--tinta);border-color:var(--azul)}
.nov-ok{background:var(--verde-soft);color:var(--tinta);border-color:var(--verde)}

/* ===== Hilos de conversación (Inbox, lanzador y consola) ======== */
/* Un solo estilo para los tres. Sustituye a .ib-msg, que repetía la cabecera
   en cada burbuja aunque fueran cinco mensajes seguidos de la misma persona. */
.hl-dia{display:flex;align-items:center;gap:10px;margin:6px 0 2px;
  font-size:11px;color:var(--tenue,#999);text-transform:uppercase;letter-spacing:.05em}
.hl-dia::before,.hl-dia::after{content:"";flex:1;height:1px;background:var(--linea,#eee)}
.hl-msg{display:flex;gap:8px;align-items:flex-end}
.hl-msg.mio{flex-direction:row-reverse}
.hl-msg.seguido{margin-top:-6px}   /* la ráfaga se lee como un bloque */
.hl-ava{width:26px;height:26px;border-radius:50%;flex:none;color:#fff;font-size:10.5px;
  font-weight:700;display:flex;align-items:center;justify-content:center;user-select:none}
.hl-ava.hueco{background:none}
.hl-cuerpo{max-width:min(620px,78%);display:flex;flex-direction:column;gap:2px;min-width:0}
.hl-msg.mio .hl-cuerpo{align-items:flex-end}
.hl-cab{font-size:11.5px;color:var(--tenue,#777);padding:0 4px}
.hl-burbuja{position:relative;padding:8px 11px 8px 12px;border-radius:14px;font-size:13px;
  line-height:1.45;color:var(--tinta,#222);background:var(--fondo,#f1f1f1);
  overflow-wrap:anywhere;border-bottom-left-radius:5px}
.hl-msg.mio .hl-burbuja{background:var(--acento-suave,#dceeff);
  border-bottom-left-radius:14px;border-bottom-right-radius:5px}
.hl-msg.sop .hl-burbuja{border:1px solid var(--naranja,#e2681e)}
.hl-msg.seguido .hl-burbuja{border-bottom-left-radius:14px}
.hl-msg.seguido.mio .hl-burbuja{border-bottom-right-radius:14px}
/* La hora va dentro de la burbuja y en gris: informa sin competir con el texto. */
.hl-hora{float:right;margin:6px 0 -2px 10px;font-size:10px;color:var(--tenue,#999);
  font-variant-numeric:tabular-nums}
/* (E2) Reacciones: chips bajo el mensaje + picker on-hover. Acento --kobj (el morado
   de conversación de E1/E3); fallback literal para el preview suelto. E2 embarca CON
   el lote de F1.a, donde --kobj ya está definido theme-aware. */
.ib-rx-row{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-top:5px;min-height:1px}
.hl-msg.mio .ib-rx-row{justify-content:flex-end}
.ib-rx{display:inline-flex;align-items:center;gap:3px;font-size:12px;line-height:1;padding:2px 7px;border-radius:11px;
  border:1px solid var(--linea,#e3e5e8);background:var(--panel,#fff);color:var(--tinta,#222);cursor:pointer;font-family:inherit}
.ib-rx:hover{border-color:var(--kobj,#7c5cd6)}
.ib-rx.me{background:var(--kobj-soft,rgba(124,92,214,.14));border-color:var(--kobj,#7c5cd6);color:var(--kobj,#7c5cd6);font-weight:600}
.ib-rx-e{font-size:13px;line-height:1}
.ib-rx-n{font-variant-numeric:tabular-nums}
.ib-rx-add{opacity:0;font-size:12px;line-height:1;padding:2px 7px;border-radius:11px;border:1px dashed var(--linea,#d6cbbb);
  background:transparent;color:var(--gris-2,#8a8f98);cursor:pointer;transition:opacity .12s;font-family:inherit}
.hl-msg:hover .ib-rx-add,.ib-rx-row:focus-within .ib-rx-add{opacity:1}
.ib-rx-add:hover{color:var(--kobj,#7c5cd6);border-color:var(--kobj,#7c5cd6)}
.ib-rx-pick{display:none;align-items:center;gap:1px;padding:2px 5px;border-radius:14px;border:1px solid var(--linea,#e3e5e8);
  background:var(--panel,#fff);box-shadow:0 3px 14px rgba(30,20,10,.14)}
.hl-msg:hover .ib-rx-pick,.ib-rx-row.abierto .ib-rx-pick,.ib-rx-row:focus-within .ib-rx-pick{display:inline-flex}
.ib-rx-p{font-size:16px;line-height:1;padding:3px 4px;border:0;background:transparent;cursor:pointer;border-radius:7px}
.ib-rx-p:hover{background:var(--kobj-soft,rgba(124,92,214,.16));transform:scale(1.15)}
.hl-vacio{display:flex;flex-direction:column;align-items:center;gap:4px;padding:26px 16px;text-align:center}

/* --- Barra y buscador de la lista del Inbox --- */
.ib-barra{display:flex;align-items:center;gap:8px;padding:8px 10px;
  border-bottom:1px solid var(--linea,#eee)}
.ib-busca{flex:1;display:flex;align-items:center;gap:6px;min-width:0;
  border:1px solid var(--linea,#ddd);border-radius:9px;padding:5px 9px;background:var(--fondo2,#fff)}
.ib-busca input{flex:1;min-width:0;border:0;background:none;font:inherit;font-size:12.5px;
  color:var(--tinta,#222);outline:none}
.ib-sinres{padding:16px;font-size:12.5px;color:var(--tenue,#777)}
/* (F1) ESTADO DE ERROR de la lista — distinto de «vacío»: un fallo de red no es
   «no tienes conversaciones». Centrado, con reintento. */
.ib-estado{padding:26px 18px;text-align:center}
.ib-estado.ib-error{color:var(--tinta,#222)}
.ib-estado-ic{font-size:26px;margin-bottom:2px}
.ib-estado p{margin:6px 0 10px;color:var(--tinta,#222)}
.ib-sk-wrap{padding:2px 0}
/* (F1) SKELETONS de carga: misma silueta que un ítem (avatar + 2 líneas) con un
   shimmer suave. Los tonos salen de tokens, así que funciona en claro y oscuro. */
.ib-sk{display:flex;gap:10px;align-items:center;padding:11px 12px;border-bottom:1px solid var(--linea,#eee)}
.ib-sk-ava{flex:0 0 auto;width:34px;height:34px;border-radius:50%}
.ib-sk-main{flex:1;display:flex;flex-direction:column;gap:7px}
.ib-sk-l{height:9px;border-radius:5px}
.ib-sk-l1{width:55%}
.ib-sk-l2{width:80%}
.ib-sk-ava,.ib-sk-l{background:linear-gradient(90deg,
  var(--hover,rgba(0,0,0,.05)) 25%, var(--linea,rgba(0,0,0,.09)) 37%, var(--hover,rgba(0,0,0,.05)) 63%);
  background-size:400% 100%;animation:ib-shimmer 1.4s ease infinite}
@keyframes ib-shimmer{0%{background-position:100% 0}100%{background-position:0 0}}
@media (prefers-reduced-motion:reduce){ .ib-sk-ava,.ib-sk-l{animation:none} }

/* El panel entra desde el lanzador en vez de aparecer de golpe: se entiende de
   dónde sale y, por tanto, que se cierra por ahí. Corto (160 ms) — una
   animación lenta en algo que se abre a diario cansa. */
@keyframes sopEntra{from{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}
.sop-panel{transform-origin:bottom right}
/* La animación de entrada SOLO con la clase sop-anim, que el núcleo pone únicamente
   en el render de ABRIR (ver _sopAnim). Antes iba en .sop-panel a secas y, como cada
   render() recrea el panel, se reproducía en cada clic/tecla = parpadeo. */
.sop-panel.sop-anim{animation:sopEntra .16s ease-out}
.sop-panel:focus{outline:none}
.sop-panel:focus-visible{outline:3px solid var(--azul,#3b82f6);outline-offset:2px}
@media (prefers-reduced-motion:reduce){ .sop-panel.sop-anim{animation:none} }

/* Hueco para el lanzador: sin esto tapaba el botón de enviar del Inbox, que
   vive en la misma esquina. Solo cuando el lanzador está presente. */
.con-lanzador .ib-panel .ib-redactor{padding-right:78px}
@media (max-width:620px){
  /* En móvil el lanzador sube por la barra inferior, así que el hueco va abajo. */
  .con-lanzador .ib-panel .ib-redactor{padding-right:10px;padding-bottom:64px}
}
/* Simulando a alguien: el aviso se marca más que el "estoy dentro de una
   cuenta" normal. Son dos situaciones distintas y antes se veían igual: una es
   dónde estás, la otra es CON QUÉ OJOS estás mirando. */
.banner-imp.simulando{background:var(--amarillo-3,#fff8e1);border-left-color:var(--amarillo,#e0a800)}

/* --- Soporte multinivel --- */
/* Lo que atiende el otro nivel se ve, pero apagado: sigues teniendo la
   trazabilidad sin que su cola se confunda con la tuya. */
.ok-sop-fila.ajeno{opacity:.62}
.ok-sop-fila.ajeno:hover{opacity:1}
.ok-sop-otro{color:var(--tenue,#999);font-style:italic}
.ok-sop-ag{margin-left:6px;font-size:10.5px;font-weight:600;color:var(--azul,#3b82f6);
  background:var(--azul-3,rgba(59,130,246,.12));border-radius:5px;padding:1px 5px;white-space:nowrap}
.ok-sop-ajeno{padding:12px 14px;border-top:1px solid var(--linea,#eee);
  font-size:12.5px;color:var(--tenue,#777)}
/* Los traspasos son mensajes del hilo, no una tabla aparte: se pintan como una
   línea de sistema para que se lean como lo que son. */
.hl-msg.sistema{justify-content:center}
.hl-msg.sistema .hl-ava{display:none}
.hl-msg.sistema .hl-cuerpo{max-width:100%;align-items:center}
.hl-msg.sistema .hl-cab{display:none}
.hl-msg.sistema .hl-burbuja{background:none;border:1px dashed var(--linea,#ddd);
  color:var(--tenue,#777);font-size:11.5px;text-align:center}
.hl-msg.sistema .hl-hora{float:none;margin-left:6px}
/* El equipo vive en su propio modal (Configuración → Equipo de…). La lista
   necesita alto acotado: con veinte personas, el modal se comía la pantalla. */
#eqOv .modal-body{max-height:min(62vh,520px);overflow-y:auto}

/* Permisos visibles en la lista de usuarios de una cuenta (consola). Se veía
   quién era cada quien pero no qué puede ver, aunque el dato ya llegaba. */
.ag-perm{display:inline-block;margin-left:6px;font-size:10.5px;font-weight:600;
  border-radius:5px;padding:1px 6px;background:var(--fondo,#f1f1f1);color:var(--tenue,#777)}
.ag-perm.ok{background:var(--verde-3,rgba(59,165,93,.14));color:var(--verde,#2f7a45)}
/* "Sin módulos" no es un detalle: con denegar por omisión, esa persona no ve
   NADA salvo Inicio y Ayuda. Tiene que saltar a la vista. */
.ag-perm.warn{background:var(--amarillo-3,#fff4d6);color:var(--amarillo-osc,#8a6d1f)}
.ag-u-rol{font-size:11.5px;padding:3px 6px;border:1px solid var(--linea,#ddd);
  border-radius:7px;background:var(--fondo2,#fff);color:var(--tinta,#222);max-width:110px}
.ag-u-rol:disabled{opacity:.5}

/* Vínculo ficha ↔ usuario. El correo ES la identidad de permisos, así que el
   estado del vínculo tiene que verse al lado del campo y no deducirse. */
.og-vinc-fila{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:5px}
.og-vinc{font-size:11px;font-weight:600;border-radius:5px;padding:2px 7px}
.og-vinc.ok{background:var(--verde-3,rgba(59,165,93,.14));color:var(--verde,#2f7a45)}
/* Un correo que no es de nadie no es un detalle: la ficha parece configurada y
   no da ningún permiso. */
.og-vinc.no{background:var(--rojo-3,#ffe6e6);color:var(--rojo,#c62828)}
.og-vinc.sin{background:var(--fondo,#f1f1f1);color:var(--tenue,#777)}
.og-vinc-sel{font-size:11.5px;padding:3px 6px;border:1px solid var(--linea,#ddd);
  border-radius:7px;background:var(--fondo2,#fff);color:var(--tinta,#222);max-width:100%}

/* ---------------------------------------------------------------------
   PANORAMA TRANSVERSAL (F9)
   Se construyó con class="card", una clase que NUNCA existió en esta hoja:
   las tarjetas salían sin caja, sin borde y sin fondo, así que el panorama
   era el único módulo de Informes que no parecía parte de la app.
   --------------------------------------------------------------------- */
.pan-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
/* Rejilla, no flex-wrap: con flex:1 la última fila estiraba sus tarjetas hasta
   ocupar todo el ancho y las columnas dejaban de alinearse entre filas. */
.pan-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(248px,1fr));gap:12px;align-items:stretch}
.pan-card{display:block;width:100%;text-align:left;font:inherit;color:inherit;
  background:var(--card-bg);border:1px solid var(--linea);border-radius:var(--r);
  padding:14px 16px;box-shadow:var(--sombra)}
.pan-card-h{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-size:14px}
.pan-card-h b{flex:1;min-width:0}
.pan-ir{color:var(--gris);font-size:17px;line-height:1;transition:transform var(--t),color var(--t)}
.pan-card.nav{cursor:pointer;transition:border-color var(--t),box-shadow var(--t)}
.pan-card.nav:hover{border-color:var(--naranja);box-shadow:var(--sombra-2)}
.pan-card.nav:hover .pan-ir{color:var(--naranja-texto);transform:translateX(2px)}
.pan-card.nav:focus-visible{outline:2px solid var(--naranja);outline-offset:2px}
.pan-fila{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:3.5px 0}
.pan-fila span{color:var(--tinta-2);font-size:13px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* Las cifras se leen en columna: sin tabular-nums los dígitos bailan de ancho
   y los valores dejan de alinearse entre filas. */
.pan-fila b{font-variant-numeric:tabular-nums;white-space:nowrap}
/* FILA CAÍDA: el texto ocupa donde iba la cifra y por tanto puede ser MÁS LARGO que
   cualquier número. Sin estas dos reglas empuja el `span` de la etiqueta y descuadra
   la fila —el `white-space:nowrap` de arriba es para dígitos, no para frases—. Se
   deja que encoja y se recorta con puntos suspensivos: el navegador mide, que es lo
   único que puede hacerlo bien con tipografía proporcional. */
.pan-fila-caida b{font-variant-numeric:normal;white-space:normal;font-size:12.5px;
  text-align:right;min-width:0;overflow:hidden;text-overflow:ellipsis}
.pan-fila-caida span{flex:0 1 auto}
/* La tarjeta entera caída se distingue del resto sin gritar: es información, no una
   alarma —la alarma, si toca, la da el cartel de arriba—. */
.pan-card-caida{border-style:dashed}
/* El cartel global va ANTES de la rejilla y ocupa el ancho entero. */
.pan-aviso{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px;
  background:var(--naranja-3);border:1px solid var(--naranja);color:var(--tinta);
  border-radius:var(--r);padding:12px 15px;font-size:13px;line-height:1.5}
.pan-aviso span{flex:1;min-width:180px}
.pan-pie{margin-top:12px;font-size:12px}
@media(prefers-reduced-motion:reduce){.pan-card.nav,.pan-ir{transition:none}
  .pan-card.nav:hover .pan-ir{transform:none}}
/* Aviso de que «Actividad de la app» sale de ESTE navegador. No es una alarma —no
   ha fallado nada— así que va en el gris de la información, no en el naranja. El
   texto es largo a propósito: dice el alcance entero (ni se comparte ni viaja), y
   se deja envolver en vez de recortarse, que aquí perder la mitad de la frase
   sería perder justo la condición. */
.act-local{display:flex;align-items:flex-start;gap:8px;margin:0 0 12px;
  background:var(--panel-2);border:1px solid var(--linea);color:var(--tinta-2);
  border-radius:var(--r);padding:10px 13px;font-size:12.5px;line-height:1.5}
.act-local span{flex:1;min-width:0}
/* EL VETO POR ÁMBITO: se muestra SIN AFORDANCIA, no se oculta.
   Ocultar produce el otro defecto de esta casa —«no puedo» indistinguible de «no
   hay nada»— y además no quita el payload. Aquí el control sigue ahí, sigue
   alcanzable por teclado (readonly / aria-disabled, no `disabled`) y se ve que no
   se puede tocar ANTES de tocarlo. */
/* SIN borde discontinuo, y no por estética. En este producto el discontinuo ya
   significa DOS cosas opuestas —«no hay nada» (`.empty-state`, `.exp-empty`) y
   «escribe aquí» (`.pobj-desc`, `.exp-obs`, `.inline-ed`)— y la primera es
   exactamente lo que este estado NO puede parecer: la señal lo ACERCABA a «no hay
   nada» en vez de alejarlo. Medido sobre la hoja (8 usos); decisión de PD.

   Y la opacidad NO se pelea con otro número: `.38` ya significa «apagado por otra
   causa» (`.cvb.off`) y nadie lee un 17 % de diferencia como otro significado.
   **Un canal ocupado no se reclama con otro valor: se reclama con otro canal.**

   El canal libre ya lo teníamos: **cargando no explica, en conflicto no explica,
   arrastrando no explica — el veto es el ÚNICO estado inerte que dice POR QUÉ.**
   La marca distintiva es `.veto-nota`, no el color. Cuánto atenuar sigue pendiente
   de que alguien lo VEA (A7); esto es el suelo, no la respuesta. */
/* ⚠️ SIN `opacity` y SIN `cursor:not-allowed`, y esto es CORRECCIÓN, no estilo.
   Los dos son el vocabulario de «esto NO responde» —`.btn:disabled` los usa, y el
   .55 es la opacidad más frecuente del producto (10 usos, medido)— y **este control
   SÍ responde**: recibe foco, recibe clic y contesta con una explicación. Llevaba
   `.55` + `not-allowed` sin estar `disabled`, así que **se veía exactamente como un
   deshabilitado y no lo era**: no es que no se distinguiera de otro estado, es que
   CONTRADECÍA al estado con el que se confundía.
   Un control que responde no puede vestirse de uno que no. Énfasis BAJO —lo que la
   casa ya llama `.btn.gh`—, no apagado. La marca distintiva es `.veto-nota`, que es
   la única señal que ningún otro estado inerte usa: el veto es el único que dice
   POR QUÉ. (Decisión de PD sobre una medición mía.) */
.veto{background:var(--panel-2)}
.veto:hover,.veto:focus{border-color:var(--linea);box-shadow:none;transform:none}
/* El porqué, en texto y una vez por contenedor. Gris de información: no ha fallado
   nada — es un estado, no una alarma. */
.veto-nota{margin-top:6px;font-size:12px;color:var(--tinta-2);line-height:1.45}
