/* Identidad común KeIoI · CAP, versión candidata */
/* 🔴 ACÁ ESTABA EL DEFECTO DE COLOR MÁS CARO DE LA CASA (corregido el 23-09-2026).
 * Este renglón decía:   :root{--keioi-verde:#075b4d;--keioi-oro:#bb8b36;--keioi-radio:14px}
 * Y esta hoja carga DESPUÉS de la cáscara en cuatro de las cinco puertas (escritorio.html:65,
 * archivo.html:79, editar.html:101, mi_portal.html:72), así que ahí `var(--keioi-verde)` no
 * devolvía el verde del logo sino el viejo #075b4d, y el oro devolvia #bb8b36. O sea: reemplazar
 * un hexadecimal por la variable de la paleta —que es todo el trabajo de tokenización— NO
 * garantizaba el color de la marca; en esas cuatro pantallas rendía el color anterior.
 * `control_paleta.py` no lo veía porque mide colores escritos, no variables redefinidas; desde
 * hoy lo mide (`--redefiniciones`) y hay prueba que lo vigila.
 * EL RADIO SE QUEDA: 14 contra 6 es una decisión de forma, no de color, y no es lo que se pidió.
 * Queda declarado acá y sale listado en el tablero de identidad como lo único que falta unificar. */
:root{--keioi-radio:14px}
.ws-company{display:flex;align-items:center;gap:10px}.ws-company img{object-fit:contain}.ws-company span{max-width:190px}
.keioi-piramide{display:grid;gap:14px;padding:20px 0}.keioi-piramide section{width:var(--ancho);margin:auto;background:var(--keioi-fondo);border:1px solid var(--keioi-linea);border-radius:14px;padding:20px}.keioi-piramide h2{font-size:12px;color:var(--keioi-verde-hondo);margin:0 0 12px;text-transform:uppercase;letter-spacing:.07em}.keioi-piramide section>div{display:flex;gap:10px}.keioi-piramide button{flex:1;text-align:left;border:1px solid var(--keioi-linea);border-radius:9px;background:var(--keioi-papel);color:var(--keioi-verde-hondo);padding:14px;cursor:pointer}.keioi-piramide small{display:block;margin-top:6px;color:var(--keioi-suave)}
.ed-tabla{overflow:auto;max-width:100%}.ed-tabla input,.ed-tabla select{min-width:140px}.ed-tabla textarea{min-width:240px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--keioi-verde-hondo);outline-offset:3px}
@media(max-width:720px){.keioi-piramide section{width:auto!important;margin:0}.keioi-piramide section>div{flex-direction:column}.ws-company span{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.keioi-familia{border:1px solid var(--keioi-linea);border-radius:10px;margin:8px 4px;overflow:hidden}.keioi-familia>summary{padding:13px 10px;background:var(--keioi-verde-agua);color:var(--keioi-verde-hondo);font-weight:700;cursor:pointer}.keioi-familia[open]>summary{border-bottom:1px solid var(--keioi-linea)}

/* Controles y lectura comunes: puertas, modos y módulos dentro de la cáscara. */
.ws-app :where(button,input,select,textarea){font-family:var(--keioi-tipo)}
.ws-app :where(.apt-directorio,.pmp-izq,.ws-central){color:var(--keioi-tinta);font-family:var(--keioi-tipo)}
.ws-app :where(button,a,input,select,textarea,summary):focus-visible{outline:2px solid var(--keioi-verde-hondo);outline-offset:2px}
.ws-app .pmp-izq :where(button[aria-current="page"],[role="tab"][aria-selected="true"]){background:var(--keioi-verde-agua);color:var(--keioi-verde-hondo)}
