/* Psicofarmacología – Fichas
   Variables para adaptarse a temas claros/oscuros. Cambia estos valores
   para reajustar toda la paleta desde un solo lugar. */
.psf-ficha{
	--psf-bg:#ffffff;
	--psf-surface:#f7f8fa;
	--psf-border:#e4e7ec;
	--psf-text:#191c1d;
	--psf-muted:#5d6169;
	--psf-accent:#2f6cb3;
	--psf-accent-bg:#eff4ff;
	--psf-green:#116340;
	--psf-green-bg:#d7f0e0;
	--psf-amber:#825900;
	--psf-amber-bg:#f8f1e0;
	--psf-red:#ba1a1a;
	--psf-radius:12px;
	max-width:984px;
	margin:2rem auto;
	color:var(--psf-text);
	font-size:var(--pf-fs-small);
	line-height:1.65;
}

/* Toolbar + interruptor */
.psf-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px;}
.psf-switch{display:inline-flex;background:var(--psf-surface);border:1px solid var(--psf-border);border-radius:8px;padding:3px;gap:2px;}
.psf-switch-btn{border:0;background:transparent;padding:7px 16px;border-radius:8px;font-size:var(--pf-fs-micro);cursor:pointer;color:var(--psf-muted);font-weight:500;}
.psf-switch-btn.is-active{background:var(--psf-bg);color:var(--psf-text);box-shadow:0 1px 3px rgba(26,54,93,.08);}
.psf-updated{font-size:var(--pf-fs-micro);color:var(--psf-muted);}

/* Bloques */
.psf-block{border:1px solid var(--psf-border);border-radius:var(--psf-radius);padding:0;margin-bottom:14px;overflow:hidden;background:var(--psf-bg);}
.psf-block-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 16px;background:var(--psf-surface);}
.psf-block-fda{border-color:#c7d7fe;}
.psf-block-fda .psf-block-head{background:var(--psf-accent-bg);}
.psf-src{font-size:var(--pf-fs-micro);font-weight:600;color:var(--psf-muted);letter-spacing:.01em;}
.psf-src-fda{color:var(--psf-accent);}
.psf-src-guias{color:var(--psf-muted);}

/* Datos */
.psf-grid{padding:14px 16px;display:grid;gap:12px;}
.psf-dato{display:grid;grid-template-columns:180px 1fr;gap:12px;align-items:start;}
@media(max-width:560px){.psf-dato{grid-template-columns:1fr;gap:2px;}}
.psf-dato-label{font-size:var(--pf-fs-micro);color:var(--psf-muted);font-weight:600;padding-top:2px;}
.psf-dato-valor{font-size:var(--pf-fs-body);}
.psf-dato-valor p{margin:0 0 6px;}
.psf-dato-valor p:last-child{margin:0;}

/* Grado */
.psf-grado{font-size:var(--pf-fs-micro);font-weight:600;padding:2px 9px;border-radius:8px;}
.psf-grado-a{background:var(--psf-green-bg);color:var(--psf-green);}
.psf-grado-b{background:var(--psf-accent-bg);color:var(--psf-accent);}
.psf-grado-c{background:var(--psf-amber-bg);color:var(--psf-amber);}

.psf-fuente{font-size:var(--pf-fs-micro);color:var(--psf-muted);padding:0 16px 12px;margin:0;}

/* Comparación de guías */
.psf-guias-cmp{padding:0;}
.psf-expand{width:100%;border:0;background:transparent;padding:12px 16px;display:flex;align-items:center;gap:10px;cursor:pointer;text-align:left;}
.psf-guias-estado{font-size:var(--pf-fs-micro);font-weight:600;padding:3px 11px;border-radius:8px;}
.psf-estado-coinciden{background:var(--psf-green-bg);color:var(--psf-green);}
.psf-estado-difieren{background:var(--psf-amber-bg);color:var(--psf-amber);}
.psf-expand-hint{font-size:var(--pf-fs-micro);color:var(--psf-muted);margin-left:auto;}
.psf-chev{transition:transform .2s;color:var(--psf-muted);}
.psf-expand[aria-expanded="true"] .psf-chev{transform:rotate(180deg);}
.psf-expand-body{padding:4px 16px 14px;display:grid;gap:8px;}
.psf-guias-row{display:grid;grid-template-columns:110px 1fr;gap:10px;font-size:var(--pf-fs-micro);padding:7px 10px;background:var(--psf-surface);border-radius:8px;}
.psf-guia-nom{font-weight:600;color:var(--psf-muted);font-size:var(--pf-fs-micro);}

.psf-disclaimer{font-size:var(--pf-fs-micro);color:var(--psf-muted);font-style:italic;text-align:center;margin-top:8px;}

/* Interruptor de densidad: por defecto se ocultan los "a fondo" */
.psf-ficha[data-modo="resumen"] .psf-afondo{display:none;}
.psf-ficha[data-modo="afondo"] .psf-afondo{display:block;}
.psf-ficha[data-modo="afondo"] .psf-dato.psf-afondo{display:grid;}

/* ---- Ilustración molecular estilo lápiz ---- */
.psf-molecula{margin:0 0 16px;}
.psf-molecula-lienzo{background:#f6f6f7;border:1px solid #e8ebee;border-radius:8px;padding:8px;box-shadow:0 1px 2px rgba(26,54,93,.04);}
.psf-molecula-lienzo img{display:block;width:100%;height:auto;max-height:300px;object-fit:contain;}
.psf-molecula-pie{display:flex;justify-content:center;gap:28px;flex-wrap:wrap;margin-top:10px;}
.psf-anio{display:flex;flex-direction:column;align-items:center;}
.psf-anio-lbl{font-size:var(--pf-fs-micro);text-transform:uppercase;letter-spacing:.04em;color:var(--psf-muted);font-weight:600;}
.psf-anio-val{font-size:var(--pf-fs-body);font-weight:600;color:var(--psf-text);line-height:1.2;}

/* ---- Fun fact ---- */
.psf-funfact{background:var(--pf-sage-tint,#e4efeb);border:1px solid var(--pf-ok-line,#cfdfd6);border-left:3px solid var(--pf-sage,#86a69d);border-radius:8px;padding:12px 14px;margin:0 0 16px;}
.psf-funfact-tag{display:block;font-size:var(--pf-fs-micro);font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--pf-sage-tx,#46645d);margin-bottom:5px;}
.psf-funfact-texto{font-size:var(--pf-fs-body);line-height:1.65;color:var(--psf-text);}
.psf-funfact-texto p{margin:0 0 6px;}
.psf-funfact-texto p:last-child{margin:0;}
.psf-funfact-mas{margin-top:8px;padding-top:8px;border-top:1px dashed var(--pf-ok-line,#cfdfd6);}

/* El año de aprobación se destaca sobre los otros dos */
.psf-molecula-pie{gap:22px;}
.psf-anio-destacado .psf-anio-lbl{color:var(--psf-accent);}
.psf-anio-destacado .psf-anio-val{color:var(--psf-accent);position:relative;}
.psf-anio-destacado .psf-anio-val::after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:2px;background:var(--psf-accent);opacity:.35;border-radius:2px;}

/* ---- Datos diferenciadores (perlas clínicas) ---- */
.psf-difs{margin:18px 0;border:1px solid #e4e7ea;border-left:3px solid var(--pf-sage,#86a69d);border-radius:8px;background:var(--pf-surface,#ffffff);overflow:hidden;}
.psf-difs-head{display:flex;align-items:center;gap:8px;padding:11px 16px;background:var(--pf-sage-tint,#e4efeb);font-weight:700;font-size:var(--pf-fs-micro);text-transform:uppercase;letter-spacing:.03em;color:var(--pf-sage-tx,#46645d);border-bottom:1px solid var(--pf-ok-line,#cfdfd6);}
.psf-difs-ic{font-size:var(--pf-fs-small);}
.psf-difs-body{padding:14px 16px;font-size:var(--pf-fs-body);line-height:1.65;}
.psf-difs-body p{margin:0 0 10px;}
.psf-difs-body p:last-child{margin:0;}
.psf-difs-body strong{color:var(--pf-sage-tx,#46645d);}

/* ============ Afinidad por receptores · termómetro ============
   Accesible: el nivel se indica con segmentos llenos, con la etiqueta escrita
   al lado y con aria-label. Nunca solo por color. */
.psf-af{
	--af-linea:#e4e7ea;
	--af-muted:#5d6169;
	margin:18px 0;padding:0;border:1px solid var(--af-linea);border-radius:8px;
	background:linear-gradient(165deg,#fdfcf8,#eaeced);overflow:hidden;
}
.psf-af-head{display:flex;align-items:flex-start;gap:11px;padding:14px 16px;border-bottom:1px solid var(--af-linea);background:rgba(90,107,140,.06);}
.psf-af-ic{font-size:var(--pf-fs-lead);line-height:1.2;flex:none;}
.psf-af-h{margin:0 0 2px;font-size:var(--pf-fs-small);font-weight:800;line-height:1.25;}
.psf-af-sub{margin:0;font-size:var(--pf-fs-micro);color:var(--af-muted);}

.psf-af-lista{list-style:none;margin:0;padding:6px 0;}
.psf-af-item{
	display:grid;
	grid-template-columns:minmax(0,1fr) auto auto;
	grid-template-areas:"rec term nivel" "nota nota nota";
	align-items:center;gap:4px 12px;
	padding:10px 16px;border-bottom:1px dashed var(--af-linea);
}
.psf-af-item:last-child{border-bottom:0;}
.psf-af-rec{grid-area:rec;min-width:0;display:flex;flex-direction:column;}
.psf-af-rec b{font-size:var(--pf-fs-small);font-weight:800;line-height:1.15;}
.psf-af-rec i{font-size:var(--pf-fs-micro);color:var(--af-muted);font-style:normal;margin-top:1px;}
.psf-af-nota{grid-area:nota;font-size:var(--pf-fs-micro);color:var(--af-muted);line-height:1.65;margin-top:2px;}

/* El termómetro: 4 segmentos */
.psf-af-term{grid-area:term;display:inline-flex;gap:2px;align-items:flex-end;height:20px;}
.psf-af-seg{
	width:7px;border-radius:2px;background:#e8ebee;
	border:1px solid rgba(0,0,0,.05);
}
.psf-af-seg:nth-child(1){height:8px;}
.psf-af-seg:nth-child(2){height:12px;}
.psf-af-seg:nth-child(3){height:16px;}
.psf-af-seg:nth-child(4){height:20px;}
/* el color se intensifica con el nivel, pero nunca es la única señal */
.psf-af-term[data-nivel="1"] .psf-af-seg.on{background:#9fb3c8;}
.psf-af-term[data-nivel="2"] .psf-af-seg.on{background:#6d8fb0;}
.psf-af-term[data-nivel="3"] .psf-af-seg.on{background:#3f6d99;}
.psf-af-term[data-nivel="4"] .psf-af-seg.on{background:#1f4e79;}

.psf-af-nivel{
	grid-area:nivel;font-size:var(--pf-fs-micro);font-weight:800;text-transform:uppercase;
	letter-spacing:.03em;color:#3f6d99;min-width:62px;text-align:right;
}

/* Leyenda */
.psf-af-leyenda{
	display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;
	padding:12px 16px;background:rgba(0,0,0,.02);border-top:1px solid var(--af-linea);
}
.psf-af-leyenda-t{font-size:var(--pf-fs-micro);font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--af-muted);width:100%;}
.psf-af-leyenda-i{display:inline-flex;align-items:center;gap:6px;font-size:var(--pf-fs-micro);}
.psf-af-leyenda-i b{font-weight:700;}
.psf-af-leyenda-i i{color:var(--af-muted);font-style:normal;font-size:var(--pf-fs-micro);}

.psf-af-fuente{
	margin:0;padding:11px 16px;font-size:var(--pf-fs-micro);line-height:1.65;
	color:var(--af-muted);border-top:1px solid var(--af-linea);
}

@media(max-width:520px){
	.psf-af-item{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"rec term" "nivel nivel" "nota nota";}
	.psf-af-nivel{text-align:left;min-width:0;}
}

/* ============ Curva dosis-ocupación del SERT ============ */
.psf-oc{margin:16px 0 0;padding:14px 16px 0;border-top:1px dashed var(--af-linea);}
.psf-oc-cap{margin:0 0 10px;display:block;}
.psf-oc-cap b{display:block;font-size:var(--pf-fs-small);font-weight:800;margin-bottom:2px;}
.psf-oc-cap span{font-size:var(--pf-fs-micro);color:var(--af-muted);line-height:1.65;}
.psf-oc-svg{width:100%;height:auto;display:block;overflow:visible;}
.psf-oc-grid{stroke:#e8ebee;stroke-width:1;}
.psf-oc-eje{stroke:#c4c8cd;stroke-width:1.5;}
.psf-oc-tick{font-size:var(--pf-fs-micro);fill:#5d6169;}
.psf-oc-ejetxt{font-size:var(--pf-fs-micro);fill:#5d6169;font-weight:700;}
.psf-oc-area{fill:rgba(63,109,153,.10);}
.psf-oc-curva{fill:none;stroke:#1f4e79;stroke-width:2.5;stroke-linejoin:round;}
.psf-oc-vm{stroke:#3f6d99;stroke-width:1;stroke-dasharray:2 3;opacity:.7;}
.psf-oc-vmtxt{font-size:var(--pf-fs-micro);fill:#3f6d99;font-weight:700;}
.psf-oc-dosis{stroke:#8a8072;stroke-width:1.5;stroke-dasharray:4 3;}
.psf-oc-ed50{stroke:#2d476f;stroke-width:1.5;stroke-dasharray:4 3;}
.psf-oc-punto{fill:#1f4e79;stroke:#fff;stroke-width:1.5;}
.psf-oc-punto2{fill:#2d476f;stroke:#fff;stroke-width:1.5;}
.psf-oc-leyenda{list-style:none;margin:10px 0 0;padding:0;font-size:var(--pf-fs-micro);line-height:1.65;}
.psf-oc-leyenda li{display:flex;align-items:baseline;gap:7px;color:#43474e;}
.psf-oc-m-ed50,.psf-oc-m-dosis{flex:none;width:14px;height:0;border-top:2px dashed #2d476f;transform:translateY(-3px);}
.psf-oc-m-dosis{border-top-color:#8a8072;}
.psf-oc-fuente{margin:10px 0 0;padding:0 0 13px;font-size:var(--pf-fs-micro);line-height:1.65;color:var(--af-muted);}

/* ---- Cuatro vistas: lo mínimo · resumen · a fondo · receptores  [v6.0.0] ---- */
.psf-ficha[data-modo="minimo"] .psf-vista-receptores,
.psf-ficha[data-modo="resumen"] .psf-vista-receptores,
.psf-ficha[data-modo="afondo"] .psf-vista-receptores{display:none;}
.psf-ficha[data-modo="receptores"] .psf-vista-principal{display:none;}
.psf-ficha[data-modo="receptores"] .psf-vista-receptores{display:block;}

/* LA CAPA CERO.
   En «lo mínimo» desaparece todo el cuerpo de la ficha menos la tarjeta.
   Se ocultan los hijos directos de la vista principal, no la vista entera,
   para que la tarjeta siga en su sitio y no haya que duplicarla.

   Lo que NO se oculta, a propósito: las advertencias enmarcadas, que viven
   FUERA de la vista principal. Un recuadro negro no se esconde tras una
   elección de profundidad — es justo el dato que no puede perderse quien
   va con prisa. */
/* [v6.1.0] La tarjeta minima salio de la vista principal y ahora es hermana
   suya, asi que basta con ocultar la vista entera. Se sustituyen las dos
   reglas acopladas de la v6.0.0 —ocultar `> *` y volver a mostrar
   `> .psf-minimo`— por una sola, que ademas no se rompe si alguien envuelve
   la tarjeta en cualquier contenedor. */
.psf-ficha[data-modo="minimo"] .psf-vista-principal{display:none;}
/* Y la barra de anclas se va con ella: ofrecer ocho saltos a secciones que
   no estan en pantalla es peor que no ofrecer ninguno. */
.psf-ficha[data-modo="minimo"] .psf-anclas{display:none;}

/* CINTURON DE SEGURIDAD.  La supervivencia del recuadro negro en la capa
   minima depende hoy de que PSF_Advertencias::bloque() se imprima FUERA de
   .psf-vista-principal — un orden de codigo que nada obliga a respetar. Si
   manana alguien lo mueve dentro, la advertencia desaparece en silencio
   justo para quien va con prisa, que es quien mas la necesita. Esta regla
   lo impide pase lo que pase, y la prueba de humo lo comprueba ademas. */
.psf-ficha[data-modo="minimo"] .psf-blackbox{display:block!important;}

/* La pista de la capa activa, bajo el interruptor. */
.psf-capa-pista{
	margin:6px 0 14px;
	font-size:var(--pf-fs-micro);
	color:var(--pf-ink-faint-tx);
}

/* Puerta a la tabla comparativa del grupo. */
.psf-ir-comparacion{margin:18px 0 0;font-size:var(--pf-fs-small);}
.psf-ir-comparacion a{color:var(--pf-brand-tx);text-decoration:none;font-weight:600;}
.psf-ir-comparacion a:hover{text-decoration:underline;}
/* el interruptor debe poder envolver con tres opciones */
.psf-switch{flex-wrap:wrap;}
.psf-switch-btn{white-space:nowrap;}

/* Notas clínicas de la vista de receptores */
.psf-afcl{
	margin:18px 0 0;padding:0;border:1px solid var(--af-linea);border-radius:8px;
	background:linear-gradient(165deg,#fdfcf8,#eaeced);overflow:hidden;
}
.psf-afcl-head{
	display:flex;align-items:center;gap:10px;padding:13px 16px;
	border-bottom:1px solid var(--af-linea);background:rgba(45,71,111,.06);
}
.psf-afcl-ic{font-size:var(--pf-fs-lead);line-height:1;flex:none;}
.psf-afcl-h{margin:0;font-size:var(--pf-fs-small);font-weight:800;}
.psf-afcl-lista{list-style:none;margin:0;padding:0;}
.psf-afcl-item{padding:13px 16px;border-bottom:1px dashed var(--af-linea);}
.psf-afcl-item:last-child{border-bottom:0;}
.psf-afcl-txt{margin:0 0 6px;font-size:var(--pf-fs-body);line-height:1.65;overflow-wrap:anywhere;}
.psf-afcl-cita{margin:0;font-size:var(--pf-fs-micro);line-height:1.65;color:var(--af-muted);overflow-wrap:anywhere;}

.psf-af-vacio{
	padding:18px;border:1px dashed var(--psf-border,#e4e7ea);border-radius:8px;
	background:rgba(0,0,0,.02);
}
.psf-af-vacio p{margin:0 0 7px;font-size:var(--pf-fs-body);line-height:1.65;}
.psf-af-vacio p:last-child{margin:0;color:#5d6169;}

/* ---------------- Dosis por indicación ---------------- */
.psf-dos{
	margin:18px 0 0;padding:16px;border-radius:8px;
	border:1px solid var(--psf-border);background:linear-gradient(165deg,#fdfcf8,#ebecee);
}
.psf-dos-head{display:flex;align-items:center;gap:9px;margin:0 0 9px;}
.psf-dos-ic{font-size:var(--pf-fs-lead);line-height:1;flex:none;}
.psf-dos-h{margin:0;font-size:var(--pf-fs-small);font-weight:800;}
.psf-dos-intro{margin:0 0 14px;font-size:var(--pf-fs-micro);line-height:1.65;color:var(--psf-muted);}
.psf-dos-rejilla{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));}
.psf-dos-uso{
	min-width:0;padding:14px;border-radius:8px;background:#fff;
	border:1px solid var(--psf-border);border-top:3px solid #3b6ea5;
}
.psf-dos-toc{border-top-color:#1a365d;}
.psf-dos-uso-t{margin:0 0 10px;font-size:var(--pf-fs-small);font-weight:800;}
.psf-dos-dl{margin:0;}
.psf-dos-dl > div{margin:0 0 9px;}
.psf-dos-dl > div:last-child{margin:0;}
.psf-dos-dl dt{
	margin:0 0 2px;font-size:var(--pf-fs-micro);font-weight:800;text-transform:uppercase;
	letter-spacing:.05em;color:var(--psf-muted);
}
.psf-dos-dl dd{margin:0;font-size:var(--pf-fs-micro);line-height:1.65;overflow-wrap:anywhere;}
.psf-dos-dl dd b{font-size:var(--pf-fs-body);}
.psf-dos-cita{
	margin:10px 0 0;padding-top:9px;border-top:1px solid var(--psf-border);
	font-size:var(--pf-fs-micro);line-height:1.65;color:var(--psf-muted);overflow-wrap:anywhere;
}
.psf-dos-bandas{margin:14px 0 0;padding:13px;border-radius:8px;background:rgba(26,54,93,.06);border:1px solid rgba(26,54,93,.18);}
.psf-dos-bandas-t{display:block;font-size:var(--pf-fs-micro);font-weight:800;margin:0 0 9px;}
.psf-dos-bandas-t i{font-weight:500;color:var(--psf-muted);}
.psf-dos-bandas ul{list-style:none;margin:0 0 9px;padding:0;display:flex;gap:7px;flex-wrap:wrap;}
.psf-dos-bandas li{
	flex:1 1 auto;min-width:88px;padding:8px 10px;border-radius:8px;text-align:center;
	background:#fff;border:1px solid var(--psf-border);
}
.psf-dos-bandas li b{display:block;font-size:var(--pf-fs-micro);}
.psf-dos-bandas li span{font-size:var(--pf-fs-micro);color:var(--psf-muted);font-variant-numeric:tabular-nums;}
.psf-dos-bandas li[data-n="1"]{border-left:4px solid #cddcea;}
.psf-dos-bandas li[data-n="2"]{border-left:4px solid #a9c4ea;}
.psf-dos-bandas li[data-n="3"]{border-left:4px solid #1a365d;}
.psf-dos-bandas p{margin:0;font-size:var(--pf-fs-micro);line-height:1.65;}
.psf-dos-aviso,.psf-dos-hueco{
	margin:13px 0 0;padding:11px 13px;border-radius:8px;font-size:var(--pf-fs-micro);line-height:1.65;
	background:rgba(26,54,93,.08);border-left:3px solid #1a365d;overflow-wrap:anywhere;
}
.psf-dos-hueco{background:rgba(0,0,0,.03);border-left-color:#c4c8cd;}
.psf-dos-pie{
	margin:13px 0 0;padding-top:11px;border-top:1px solid var(--psf-border);
	font-size:var(--pf-fs-micro);line-height:1.65;color:var(--psf-muted);
}

/* Bloques de dosis de los antagonistas D2 */
.psf-dos-mant{border-top-color:#5a8a5a;}
.psf-dos-mania{border-top-color:#c49a3a;}
.psf-dos-dep{border-top-color:#7a5a99;}
.psf-dos-forma{display:inline-block;margin-right:5px;font-weight:700;white-space:nowrap;}
.psf-dos-forma[data-f="meseta"]{color:#3b6ea5;}
.psf-dos-forma[data-f="subiendo"]{color:#5a8a5a;}
.psf-dos-forma[data-f="campana"]{color:#1a365d;}
.psf-dos-alerta dd{background:rgba(26,54,93,.08);border-left:3px solid #1a365d;padding:7px 9px;border-radius:0 6px 6px 0;}
.psf-dos-matiz{
	margin:10px 0 0;padding:9px 11px;border-radius:8px;font-size:var(--pf-fs-micro);line-height:1.65;
	background:rgba(0,0,0,.03);color:#43474e;overflow-wrap:anywhere;
}

/* ===========================================================================
   v5.5.0 — Otras indicaciones (aripiprazol/risperidona) y cociente
   clozapina:norclozapina. Reutilizan los tokens --psf-* de la ficha.
   =========================================================================== */
.psf-oi,.psf-nor{
	margin:18px 0 0;padding:16px;border-radius:8px;
	border:1px solid var(--psf-border);background:linear-gradient(165deg,#fdfcf8,#ebecee);
}
.psf-oi-head,.psf-nor-head{display:flex;align-items:center;gap:9px;margin:0 0 9px;}
.psf-oi-ic,.psf-nor-ic{font-size:var(--pf-fs-lead);line-height:1;flex:none;}
.psf-oi-h,.psf-nor-h{margin:0;font-size:var(--pf-fs-small);font-weight:800;}
.psf-oi-intro,.psf-nor-intro{margin:0 0 14px;font-size:var(--pf-fs-micro);line-height:1.65;color:var(--psf-muted);}
.psf-oi-rejilla{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));}
.psf-oi-uso{
	min-width:0;padding:14px;border-radius:8px;background:#fff;
	border:1px solid var(--psf-border);border-top:3px solid #5a8a5a;
}
.psf-oi-demencia{border-top-color:var(--psf-red);background:linear-gradient(180deg,#fff,#fdf6f5);}
.psf-oi-tdah{border-top-color:#8a8072;}
.psf-oi-uso-t{margin:0 0 6px;font-size:var(--pf-fs-small);font-weight:800;line-height:1.35;}
.psf-oi-uso-ic{margin-right:3px;}
.psf-oi-aprob{
	margin:0 0 10px;font-size:var(--pf-fs-micro);font-weight:700;line-height:1.65;
	color:var(--psf-muted);
}
.psf-oi-demencia .psf-oi-aprob{color:var(--psf-red);}
.psf-oi-dl{margin:0;}
.psf-oi-dl > div{margin:0 0 9px;}
.psf-oi-dl > div:last-child{margin:0;}
.psf-oi-dl dt{
	margin:0 0 2px;font-size:var(--pf-fs-micro);font-weight:800;text-transform:uppercase;
	letter-spacing:.05em;color:var(--psf-muted);
}
.psf-oi-dl dd{margin:0;font-size:var(--pf-fs-micro);line-height:1.65;overflow-wrap:anywhere;}
.psf-oi-dl dd b{font-size:var(--pf-fs-body);}
.psf-oi-cita{
	margin:10px 0 0;padding-top:9px;border-top:1px solid var(--psf-border);
	font-size:var(--pf-fs-micro);line-height:1.65;color:var(--psf-muted);overflow-wrap:anywhere;
}

/* --- Cociente clozapina:norclozapina --- */
.psf-nor-rejilla{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));margin:0 0 14px;}
.psf-nor-card{
	padding:14px;border-radius:8px;background:#fff;border:1px solid var(--psf-border);
	border-top:3px solid var(--psf-accent);
}
.psf-nor-k{display:block;font-size:var(--pf-fs-micro);font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--psf-muted);}
.psf-nor-v{display:block;margin:4px 0 6px;font-size:var(--pf-fs-lead);font-weight:800;color:var(--psf-text);font-variant-numeric:tabular-nums;}
.psf-nor-d{display:block;font-size:var(--pf-fs-micro);line-height:1.65;color:var(--psf-text);}
.psf-nor-lee{padding:13px 14px;border-radius:8px;background:var(--psf-accent-bg);border:1px solid #d3e0fb;}
.psf-nor-lee-t{display:block;font-size:var(--pf-fs-micro);font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--psf-accent);margin:0 0 8px;}
.psf-nor-lee ul{margin:0;padding:0 0 0 18px;}
.psf-nor-lee li{margin:0 0 8px;font-size:var(--pf-fs-micro);line-height:1.65;}
.psf-nor-lee li:last-child{margin:0;}
.psf-nor-aviso{
	margin:12px 0 0;padding:11px 13px;border-radius:8px;
	background:var(--psf-amber-bg);border-left:4px solid var(--psf-amber);
	font-size:var(--pf-fs-micro);line-height:1.65;
}
.psf-nor-fuente{
	margin:12px 0 0;padding-top:9px;border-top:1px solid var(--psf-border);
	font-size:var(--pf-fs-micro);line-height:1.65;color:var(--psf-muted);
}

/* v5.7.0 — recuadro "mecanismo de un efecto adverso" (p. ej., acatisia del aripiprazol) */
.psf-mecea{background:#f2f8f6;border:1px solid #cfe6df;border-left:3px solid #3f8f85;border-radius:8px;padding:12px 14px;margin:0 0 16px;}
.psf-mecea-tag{display:block;font-size:var(--pf-fs-micro);font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#2c6b62;margin-bottom:5px;}
.psf-mecea-texto{font-size:var(--pf-fs-body);line-height:1.65;color:var(--psf-text);}
.psf-mecea-texto p{margin:0 0 8px;}
.psf-mecea-texto p:last-child{margin:0;}

/* v5.16.0 — variante del recuadro para "actividad intrínseca y perfil comparado" */
.psf-mecea-alt{background:#f3f2f9;border-color:#d7d2ea;border-left-color:#7a6faf;}
.psf-mecea-alt .psf-mecea-tag{color:#574a86;}

/* v5.16.0 — variante "farmacología a fondo" (mecanismo ampliado) */
.psf-mecea-farmaco{background:#eef6f0;border-color:#cfe6d6;border-left-color:#3f8f63;}
.psf-mecea-farmaco .psf-mecea-tag{color:#2f6b49;}

/* v5.18.0 — recuadro de riesgo de sangrado (ISRS, Welty 2026) */
.psf-mecea-sangrado{background:#fbeeee;border-color:#eccdcd;border-left-color:#a11d1d;}
.psf-mecea-sangrado .psf-mecea-tag{color:#a11d1d;}

/* v5.19.0 — recuadro de QTc y seguridad cardiaca (APA/Beach 2018, Stollings 2024) */
.psf-mecea-qtc{background:#f8f1e0;border-color:#ecdcb8;border-left-color:#b98a1f;}
.psf-mecea-qtc .psf-mecea-tag{color:#825900;}

/* v5.25.0 — recuadro de monitorización y seguridad (p. ej. clozapina, Delphi 2026) */
.psf-mecea-monitor{background:#eef2f7;border-color:#cdd8e6;border-left-color:#3f6099;}
.psf-mecea-monitor .psf-mecea-tag{color:#2f4a7a;}

/* v5.46.0 — recuadro de inicio y manejo práctico (p. ej. clozapina, Correll 2022) */
.psf-mecea-inicio{background:#eceeef;border-color:#e4e7ea;border-left-color:#9a7b4f;}
.psf-mecea-inicio .psf-mecea-tag{color:#7a6039;}

/* v5.48.0 — recuadro de coprescripción (nivel avanzado) */
.psf-mecea-copre{background:#f6f1f7;border-color:#e2d6e6;border-left-color:#7a5c8f;}
.psf-mecea-copre .psf-mecea-tag{color:#5f4670;}

/* [D-20] §4.3: columna de lectura ≤680 px (65-75 caracteres por línea).
   Medido antes: 76 caracteres de mediana, con la mitad de los párrafos
   por encima del límite. Solo afecta a contenedores de prosa; tablas,
   rejillas y diagramas conservan su ancho, que ahí es funcional. */
.psf-funfact-texto{max-width:var(--pf-w-read);}
.psf-mecea-texto{max-width:var(--pf-w-read);}
.psf-difs-body{max-width:var(--pf-w-read);}
.psf-difs-body p{max-width:var(--pf-w-read);}
.psf-blackbox__b{max-width:var(--pf-w-read);}
.psf-dosis-claves{max-width:var(--pf-w-read);}
.psf-disclaimer{max-width:var(--pf-w-read);}

/* ─────────────────────────────────────────────────────────────────────────
   [D-33] SUB-NAVEGACION FIJA DE LA FICHA + PLANTILLA ANCLADA.
   [D-34] «Ultima revision» en el pie del contenido.

   La barra es pegajosa bajo el encabezado del sitio. En movil se convierte
   en una tira que se desplaza a lo ancho —ahi si es correcto: son etiquetas
   cortas y equivalentes, no una tabla de datos (§7)—. Objetivos tactiles a
   44 px por debajo de 1024 px, como manda el D-21.
   ───────────────────────────────────────────────────────────────────────── */
.psf-ficha .psf-anclas{position:sticky;top:0;z-index:30;margin:0 0 22px;padding:10px 0 8px;
  background:var(--pf-paper,#f8f9fa);border-bottom:1px solid var(--pf-line,#e9ecef)}
.psf-ficha .psf-anclas-t{display:block;font-family:var(--pf-mono,ui-monospace,monospace);
  text-transform:uppercase;letter-spacing:.06em;font-size:12px;color:var(--pf-ink-faint-tx,#5d6169);
  margin:0 0 6px}
.psf-ficha .psf-anclas-l{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}
.psf-ficha .psf-anclas-l li{margin:0}
.psf-ficha .psf-anclas-l a{display:inline-block;padding:7px 12px;border-radius:999px;
  border:1px solid var(--pf-line,#e9ecef);background:var(--pf-surface,#fff);
  color:var(--pf-ink-soft,#43474e);text-decoration:none;font-size:var(--pf-fs-micro,13px);
  font-weight:600;line-height:1.3;white-space:nowrap}
.psf-ficha .psf-anclas-l a:hover{border-color:var(--cc,#1a365d);color:var(--pf-ink,#191c1d)}
.psf-ficha .psf-anclas-l a.is-aqui{background:var(--pf-cls-tx,var(--cc,#1a365d));
  border-color:var(--pf-cls-tx,var(--cc,#1a365d));color:#fff}
@media (max-width:1024px){
  .psf-ficha .psf-anclas-l{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;
    padding-bottom:4px;scrollbar-width:none}
  .psf-ficha .psf-anclas-l::-webkit-scrollbar{display:none}
  .psf-ficha .psf-anclas-l a{min-height:44px;display:inline-flex;align-items:center}
}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
.psf-ficha .psf-sec{scroll-margin-top:96px;margin:0 0 30px}
.psf-ficha .psf-sec-h{display:flex;align-items:center;gap:10px;margin:0 0 14px!important;
  font-family:var(--pf-serif);font-weight:var(--pf-w-semibold);
  font-size:var(--pf-fs-h2,26px);line-height:1.25}
.psf-ficha .psf-sec-n{display:inline-flex;align-items:center;justify-content:center;
  width:28px;height:28px;flex:0 0 28px;border-radius:8px;
  background:var(--pf-cls-tx,var(--cc,#1a365d));color:#fff;
  font-family:var(--pf-mono,ui-monospace,monospace);font-size:14px;font-weight:800}

/* La traza NO se estiliza aqui: la v6.0.0 ya la trae en psf-componentes.css
   con nomenclatura BEM (.psf-traza__k / __links / __reg). Se usa aquella. */
@media (max-width:1024px){
  /* [D-21] Los tres enlaces de trazabilidad son una fila de navegación, no
     enlaces dentro de una frase: les toca el objetivo de 44 px. */
  .psf-ficha .psf-traza-l2{display:flex;flex-wrap:wrap;align-items:center;gap:0 4px}
  .psf-ficha .psf-traza-l2 a{display:inline-flex;align-items:center;min-height:44px;padding:0 4px}
}

/* ═══════════════════════════════════════════════════════════════
   DOSIS POR INDICACIÓN  [D-78 · v6.18.0]
   Una fila por indicación: crece hacia abajo, que es la dirección
   en la que el lector ya se mueve. En móvil la tabla se convierte
   en tarjetas apiladas, porque cinco columnas de cifras en 390 px
   obligan a desplazamiento lateral y una dosis medio leída es
   peor que ninguna.
   ═══════════════════════════════════════════════════════════════ */
.psf-pau{margin:var(--pf-s-4) 0 0}
.psf-pau__t{width:100%;border-collapse:collapse;font-size:var(--pf-fs-small)}
/* [D-82] NADA DE display:flex EN UN <caption>.
   Al ponerle flex, el caption deja de participar en la maquetación de tabla:
   `caption-side:top` se ignora y el rótulo aparece DEBAJO del encabezado, con
   la etiqueta de «sin verificar» deformada en un borrón redondeado. Se ve solo
   al renderizar, no al leer el CSS. Se deja en table-caption y la fila se
   compone con elementos en línea. */
.psf-pau__cap{
 caption-side:top;display:table-caption;text-align:left;
 font-family:var(--pf-mono);font-size:var(--pf-fs-micro);text-transform:uppercase;
 letter-spacing:var(--pf-track-label);color:var(--pf-ink-faint-tx);
 padding-bottom:var(--pf-s-2)}
.psf-pau__rev{
 display:inline-block;white-space:nowrap;vertical-align:middle;margin-left:var(--pf-s-2);
 font-family:var(--pf-sans);text-transform:none;letter-spacing:0;
 background:var(--pf-paper-alt);color:var(--pf-ink-soft);
 border-radius:var(--pf-r-pill);padding:2px 9px;font-weight:var(--pf-w-semibold)}
.psf-pau__t th[scope=col]{
 text-align:left;font-family:var(--pf-mono);font-size:var(--pf-fs-micro);
 text-transform:uppercase;letter-spacing:.06em;color:var(--pf-ink-faint-tx);
 border-bottom:2px solid var(--pf-line);padding:0 var(--pf-s-3) var(--pf-s-1) 0;font-weight:var(--pf-w-semibold)}
.psf-pau__t td,.psf-pau__ind{
 vertical-align:top;padding:var(--pf-s-2) var(--pf-s-3) var(--pf-s-2) 0;
 border-bottom:1px solid var(--pf-paper-alt);text-align:left}
.psf-pau__ind{font-weight:var(--pf-w-semibold);color:var(--pf-ink);max-width:230px;line-height:1.35}
.psf-pau__v{color:var(--pf-ink)}
.psf-pau__hueco{color:var(--pf-ink-faint-tx);cursor:help}
.psf-pau__off,.psf-pau__via{
 display:inline-block;margin-left:6px;font-family:var(--pf-mono);
 font-size:var(--pf-fs-micro);font-weight:var(--pf-w-regular);
 text-transform:uppercase;letter-spacing:.05em;
 border:1px solid var(--pf-line);border-radius:var(--pf-r-sm);padding:1px 7px;
 color:var(--pf-ink-faint-tx)}
/* [D-83] Rectángulo, no píldora: el radio de 999 px sobre una etiqueta que
   se parte en dos líneas produce un borrón ovalado. Con 8 px aguanta. */
.psf-pau__off{border-color:var(--pf-cls);color:var(--pf-cls-tx)}
.psf-pau__aviso{
 margin:var(--pf-s-3) 0 0;font-size:var(--pf-fs-micro);line-height:1.55;
 color:var(--pf-ink-soft);background:var(--pf-paper-alt);
 border-radius:var(--pf-r-md);padding:var(--pf-s-2) var(--pf-s-3)}
.psf-pau__mas{margin-top:var(--pf-s-2)}
.psf-pau__mas>summary{
 cursor:pointer;min-height:var(--pf-tap);display:flex;align-items:center;
 font-family:var(--pf-mono);font-size:var(--pf-fs-micro);text-transform:uppercase;
 letter-spacing:var(--pf-track-label);color:var(--pf-ink-soft)}
.psf-pau__notas,.psf-pau__fuentes{
 margin:0 0 var(--pf-s-2);padding-left:var(--pf-s-4);
 font-size:var(--pf-fs-micro);line-height:1.6;color:var(--pf-ink-soft)}
.psf-pau__notas li,.psf-pau__fuentes li{margin-bottom:var(--pf-s-2)}

@media (max-width:720px){
 .psf-pau__t,.psf-pau__t tbody,.psf-pau__t tr,.psf-pau__t td,.psf-pau__ind{display:block;width:auto}
 .psf-pau__t thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);clip-path:inset(50%)}
 .psf-pau__t tr{
  border:1px solid var(--pf-line);border-radius:var(--pf-r-md);
  padding:var(--pf-s-3);margin-bottom:var(--pf-s-3)}
 .psf-pau__t td,.psf-pau__ind{border-bottom:0;padding:2px 0;max-width:none}
 .psf-pau__ind{margin-bottom:var(--pf-s-2);border-bottom:1px solid var(--pf-paper-alt);padding-bottom:var(--pf-s-2)}
 .psf-pau__t td::before{
  content:attr(data-r) " ";font-family:var(--pf-mono);font-size:var(--pf-fs-micro);
  text-transform:uppercase;letter-spacing:.06em;color:var(--pf-ink-faint-tx)}
}

/* ═══════════════════════════════════════════════════════════════
   CUÁNTO TARDA EN VERSE  [D-80 · v6.18.0]
   ═══════════════════════════════════════════════════════════════ */
.psf-lat{
 margin:var(--pf-s-5) 0;padding:var(--pf-s-4);
 border:1px solid var(--pf-line);border-radius:var(--pf-r-md);background:var(--pf-surface)}
.psf-lat__t{
 margin:0 0 var(--pf-s-1);font-family:var(--pf-mono);font-size:var(--pf-fs-micro);
 text-transform:uppercase;letter-spacing:var(--pf-track-label);color:var(--pf-ink-faint-tx)}
.psf-lat__lead{margin:0 0 var(--pf-s-3);font-size:var(--pf-fs-small);line-height:1.6;max-width:var(--pf-w-read)}
.psf-lat__tb{width:100%;border-collapse:collapse;font-size:var(--pf-fs-small)}
.psf-lat__tb th[scope=col]{
 text-align:left;font-family:var(--pf-mono);font-size:var(--pf-fs-micro);
 text-transform:uppercase;letter-spacing:.06em;color:var(--pf-ink-faint-tx);
 border-bottom:2px solid var(--pf-line);padding:0 var(--pf-s-3) var(--pf-s-1) 0}
.psf-lat__tb th[scope=row]{text-align:left;font-weight:var(--pf-w-semibold);line-height:1.35}
.psf-lat__tb td,.psf-lat__tb th[scope=row]{
 vertical-align:top;padding:var(--pf-s-2) var(--pf-s-3) var(--pf-s-2) 0;
 border-bottom:1px solid var(--pf-paper-alt)}
.psf-lat__sola{
 display:block;font-family:var(--pf-mono);font-size:var(--pf-fs-micro);
 font-weight:var(--pf-w-regular);color:var(--pf-ink-faint-tx);cursor:help}
.psf-lat__mas{margin:var(--pf-s-3) 0 0;font-size:var(--pf-fs-micro)}
@media (max-width:640px){
 .psf-lat__tb,.psf-lat__tb tbody,.psf-lat__tb tr,.psf-lat__tb td,.psf-lat__tb th[scope=row]{display:block;width:auto}
 .psf-lat__tb thead{display:none}
 .psf-lat__tb tr{border:1px solid var(--pf-line);border-radius:var(--pf-r-md);padding:var(--pf-s-3);margin-bottom:var(--pf-s-2)}
 .psf-lat__tb td,.psf-lat__tb th[scope=row]{border-bottom:0;padding:1px 0}
}

.psf-latg{margin:var(--pf-s-6) 0;scroll-margin-top:var(--pf-scroll-margin)}
.psf-latg__h{margin:0 0 var(--pf-s-2);font-size:var(--pf-fs-h3)}
.psf-latg__lead{margin:0 0 var(--pf-s-4);max-width:var(--pf-w-read);line-height:1.65}
.psf-latg__c{
 border-left:3px solid var(--pf-cls);padding:0 0 0 var(--pf-s-4);
 margin:0 0 var(--pf-s-4)}
.psf-latg__t{margin:0 0 var(--pf-s-2);font-size:var(--pf-fs-h4)}
.psf-latg__d{display:grid;grid-template-columns:auto 1fr;gap:2px var(--pf-s-3);margin:0 0 var(--pf-s-2);font-size:var(--pf-fs-small)}
.psf-latg__d dt{font-family:var(--pf-mono);font-size:var(--pf-fs-micro);text-transform:uppercase;letter-spacing:.06em;color:var(--pf-ink-faint-tx)}
.psf-latg__d dd{margin:0;font-weight:var(--pf-w-semibold)}
.psf-latg__cifra,.psf-latg__matiz{margin:0 0 var(--pf-s-2);font-size:var(--pf-fs-small);line-height:1.6;max-width:var(--pf-w-read)}
.psf-latg__aviso{
 margin:0 0 var(--pf-s-2);font-size:var(--pf-fs-micro);line-height:1.55;
 background:var(--pf-paper-alt);border-radius:var(--pf-r-md);padding:var(--pf-s-2) var(--pf-s-3);max-width:var(--pf-w-read)}
.psf-latg__f{margin:0;font-size:var(--pf-fs-micro);line-height:1.55;color:var(--pf-ink-soft);max-width:var(--pf-w-read)}
.psf-latg__n{display:block;color:var(--pf-ink-faint-tx)}
.psf-latg__mito{
 margin:var(--pf-s-4) 0 0;font-size:var(--pf-fs-small);line-height:1.65;
 max-width:var(--pf-w-read);background:var(--pf-paper-alt);
 border-radius:var(--pf-r-md);padding:var(--pf-s-4)}
@media (max-width:560px){ .psf-latg__d{grid-template-columns:1fr;gap:0 0} .psf-latg__d dd{margin-bottom:6px} }

/* ═══════════════════════════════════════════════════════════════
   MONITORIZACIÓN: niveles, ECG, convulsiones  [D-84 · v6.19.0]
   ═══════════════════════════════════════════════════════════════ */
.psf-niv{
 margin:var(--pf-s-5) 0;padding:var(--pf-s-4);
 border:1px solid var(--pf-line);border-radius:var(--pf-r-md);
 background:var(--pf-surface);scroll-margin-top:var(--pf-scroll-margin)}
.psf-niv__t{
 margin:0 0 var(--pf-s-3);font-size:var(--pf-fs-h4);line-height:1.25;
 display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--pf-s-2)}
.psf-niv__rev{
 font-family:var(--pf-sans);font-size:var(--pf-fs-micro);font-weight:var(--pf-w-semibold);
 white-space:nowrap;background:var(--pf-paper-alt);color:var(--pf-ink-soft);
 border-radius:var(--pf-r-pill);padding:2px 9px}
.psf-niv p{max-width:var(--pf-w-read);line-height:1.65;font-size:var(--pf-fs-small)}
.psf-niv__h4{
 margin:var(--pf-s-4) 0 var(--pf-s-2);font-family:var(--pf-mono);
 font-size:var(--pf-fs-micro);text-transform:uppercase;
 letter-spacing:var(--pf-track-label);color:var(--pf-ink-faint-tx)}
.psf-niv__l{margin:0 0 var(--pf-s-3);padding-left:var(--pf-s-4);max-width:var(--pf-w-read)}
.psf-niv__l li{margin-bottom:var(--pf-s-2);line-height:1.6;font-size:var(--pf-fs-small)}

/* La condición sin la cual ninguna cifra significa nada. Se repite en cada
   bloque a propósito: quien consulta una ficha suelta no leyó la anterior. */
.psf-niv__valle{
 background:var(--pf-paper-alt);border-left:3px solid var(--pf-cls);
 border-radius:0 var(--pf-r-sm) var(--pf-r-sm) 0;
 padding:var(--pf-s-3) var(--pf-s-4);margin:0 0 var(--pf-s-4)}
.psf-niv__trampa{border-left:3px solid var(--pf-line);padding-left:var(--pf-s-3);margin:var(--pf-s-3) 0}
.psf-niv__hueco{color:var(--pf-ink-soft);font-size:var(--pf-fs-micro);line-height:1.6}
.psf-niv__cita{
 font-style:italic;border-left:3px solid var(--pf-cls);
 padding-left:var(--pf-s-4);margin:var(--pf-s-3) 0;color:var(--pf-ink-soft)}
.psf-niv__aviso{
 background:var(--pf-paper-alt);border-radius:var(--pf-r-md);
 padding:var(--pf-s-4);margin:var(--pf-s-3) 0}
.psf-niv__aviso p:last-child{margin-bottom:0}
.psf-niv__ver{font-weight:var(--pf-w-semibold);margin-top:var(--pf-s-3)}

.psf-niv__tb{width:100%;border-collapse:collapse;font-size:var(--pf-fs-small);margin:var(--pf-s-3) 0}
.psf-niv__tb caption{
 caption-side:top;display:table-caption;text-align:left;
 font-family:var(--pf-mono);font-size:var(--pf-fs-micro);text-transform:uppercase;
 letter-spacing:var(--pf-track-label);color:var(--pf-ink-faint-tx);padding-bottom:var(--pf-s-2)}
.psf-niv__tb th[scope=col]{
 text-align:left;font-family:var(--pf-mono);font-size:var(--pf-fs-micro);
 text-transform:uppercase;letter-spacing:.06em;color:var(--pf-ink-faint-tx);
 border-bottom:2px solid var(--pf-line);padding:0 var(--pf-s-3) var(--pf-s-1) 0}
.psf-niv__tb th[scope=row]{text-align:left;font-weight:var(--pf-w-semibold);line-height:1.35}
.psf-niv__tb td,.psf-niv__tb th[scope=row]{
 vertical-align:top;padding:var(--pf-s-2) var(--pf-s-3) var(--pf-s-2) 0;
 border-bottom:1px solid var(--pf-paper-alt);line-height:1.5}
/* La fila que contradice al resto no se esconde: se marca. */
.psf-niv__contra th[scope=row],.psf-niv__contra td{background:var(--pf-paper-alt)}
.psf-niv__nd,.psf-niv__ojo{
 font-family:var(--pf-mono);font-size:var(--pf-fs-micro);color:var(--pf-ink-faint-tx)}
.psf-niv__ojo{
 display:inline-block;border:1px solid var(--pf-line);border-radius:var(--pf-r-sm);
 padding:0 6px;margin-left:6px;text-transform:uppercase;letter-spacing:.05em}
.psf-niv__mas{margin-top:var(--pf-s-3)}
.psf-niv__mas>summary{
 cursor:pointer;min-height:var(--pf-tap);display:flex;align-items:center;
 font-family:var(--pf-mono);font-size:var(--pf-fs-micro);text-transform:uppercase;
 letter-spacing:var(--pf-track-label);color:var(--pf-ink-soft)}
.psf-niv__f{margin:0;padding-left:var(--pf-s-4);font-size:var(--pf-fs-micro);line-height:1.6;color:var(--pf-ink-soft)}
.psf-niv__f li{margin-bottom:var(--pf-s-2)}

@media (max-width:640px){
 .psf-niv__tb,.psf-niv__tb tbody,.psf-niv__tb tr,.psf-niv__tb td,.psf-niv__tb th[scope=row]{display:block;width:auto}
 .psf-niv__tb thead{display:none}
 .psf-niv__tb tr{border:1px solid var(--pf-line);border-radius:var(--pf-r-md);padding:var(--pf-s-3);margin-bottom:var(--pf-s-2)}
 .psf-niv__tb td,.psf-niv__tb th[scope=row]{border-bottom:0;padding:2px 0}
 .psf-niv__tb th[scope=row]{border-bottom:1px solid var(--pf-paper-alt);padding-bottom:var(--pf-s-2);margin-bottom:var(--pf-s-2)}
}
@media print{ .psf-niv__mas{display:none} }


/* [D-89 · v6.20.0] «Ver esta molécula en la comparación» medía 15 px de alto.
   Está escrito como un párrafo pero es un destino de navegación suelto, no un
   enlace dentro de prosa: el criterio 2.5.8 aplica de lleno. Se le da caja
   propia en vez de subir el interlineado del párrafo, que descolocaría el
   texto de alrededor. */
.psf-ir-comparacion a{
 display:inline-flex;align-items:center;min-height:24px;padding:2px 0}

/* [D-91 · v6.20.0] Suelo de legibilidad en pantalla estrecha.
   Los pies de las barras de efectos adversos median 10 px en el telefono:
   por debajo del suelo de 13 del sistema.

   NO SE TOCA LA INFOGRAFIA IMPRIMIBLE, y es deliberado. Su escala propia de
   8 a 22 px produce siete tamanos por debajo del suelo, pero es el artefacto
   que el bloque 1 dejo ANOTADO COMO DECISION PENDIENTE del autor: o se le
   anota una excepcion por ser pieza de impresion, o se sube al suelo asumiendo
   que ocupe mas hoja. Parchear tres de sus doce clases desde aqui habria
   dejado el componente a medias y habria dado la decision por tomada sin que
   nadie la tomara. Se mide, se informa, y se espera. */
@media (max-width:640px){
 .ea-barra-n small{font-size:13px}
}


/* ═══════════════════════════════════════════════════════════════
   LA DOSIS EN EL TOC  [D-96 · v6.22.1]

   Mismo lenguaje visual que el bloque de latencia —tarjeta con filete
   de clase en la ficha, secciones abiertas en la carpeta del grupo—
   porque contestan la misma clase de pregunta y el lector no debe
   tener que aprender dos gramáticas.

   Toda medida sale de la escala de 4 px. --pf-s-3 son 12 px, --pf-s-4
   son 16, --pf-s-6 son 24. Es la escala que en la v6.22.0 hubo que
   reparar en 42 declaraciones por haberla leído como si el número
   fuera el píxel [D-74]: aquí no se repite.
   ═══════════════════════════════════════════════════════════════ */

/* ---- El bloque corto, dentro de la ficha ---- */
.psf-tocf{
 margin:var(--pf-s-5) 0;padding:var(--pf-s-4);
 border:1px solid var(--pf-line);border-radius:var(--pf-r-md);background:var(--pf-surface)}
.psf-tocf__h{
 margin:0 0 var(--pf-s-1);font-family:var(--pf-mono);font-size:var(--pf-fs-micro);
 text-transform:uppercase;letter-spacing:var(--pf-track-label);color:var(--pf-ink-faint-tx)}
.psf-tocf__lead{margin:0 0 var(--pf-s-3);font-size:var(--pf-fs-small);line-height:1.6;max-width:var(--pf-w-read)}
.psf-tocf__d{
 display:grid;grid-template-columns:auto 1fr;gap:var(--pf-s-1) var(--pf-s-3);
 margin:0 0 var(--pf-s-3);font-size:var(--pf-fs-small)}
.psf-tocf__d dt{
 font-family:var(--pf-mono);font-size:var(--pf-fs-micro);text-transform:uppercase;
 letter-spacing:.06em;color:var(--pf-ink-faint-tx);white-space:nowrap}
.psf-tocf__d dd{margin:0;line-height:1.55}
.psf-tocf__supra{
 margin:0 0 var(--pf-s-3);font-size:var(--pf-fs-small);line-height:1.6;max-width:var(--pf-w-read);
 background:var(--pf-paper-alt);border-left:3px solid var(--pf-cls);
 border-radius:0 var(--pf-r-sm) var(--pf-r-sm) 0;padding:var(--pf-s-3) var(--pf-s-4)}
/* El hueco declarado se marca al ojo, no solo con palabras. */
.psf-tocf__nada{border-left-color:var(--pf-line);color:var(--pf-ink-soft)}
.psf-tocf__mas{margin:0;font-size:var(--pf-fs-micro)}
.psf-tocf__mas a{display:inline-flex;align-items:center;min-height:24px;padding:2px 0}

/* ---- El bloque largo, en la carpeta del grupo ---- */
.psf-tocg{margin:var(--pf-s-6) 0;scroll-margin-top:var(--pf-scroll-margin)}
.psf-tocg__h{margin:0 0 var(--pf-s-2);font-size:var(--pf-fs-h3)}
.psf-tocg__lead{margin:0 0 var(--pf-s-4);max-width:var(--pf-w-read);line-height:1.65}
.psf-tocg__h4{
 margin:var(--pf-s-6) 0 var(--pf-s-3);font-family:var(--pf-mono);
 font-size:var(--pf-fs-micro);text-transform:uppercase;
 letter-spacing:var(--pf-track-label);color:var(--pf-ink-faint-tx)}
.psf-tocg__nota{margin:0 0 var(--pf-s-3);font-size:var(--pf-fs-small);line-height:1.65;max-width:var(--pf-w-read)}
.psf-tocg__aviso{
 margin:0 0 var(--pf-s-3);font-size:var(--pf-fs-small);line-height:1.65;max-width:var(--pf-w-read);
 background:var(--pf-paper-alt);border-radius:var(--pf-r-md);padding:var(--pf-s-4)}
.psf-tocg__c{
 border-left:3px solid var(--pf-cls);padding:0 0 0 var(--pf-s-4);margin:0 0 var(--pf-s-4)}
.psf-tocg__t{margin:0 0 var(--pf-s-2);font-size:var(--pf-fs-h4)}
.psf-tocg__que,.psf-tocg__matiz{
 margin:0 0 var(--pf-s-2);font-size:var(--pf-fs-small);line-height:1.6;max-width:var(--pf-w-read)}
.psf-tocg__f{margin:0;font-size:var(--pf-fs-micro);line-height:1.55;color:var(--pf-ink-soft);max-width:var(--pf-w-read)}
.psf-tocg__n{display:block;color:var(--pf-ink-faint-tx)}
/* [D-98 · v6.22.1] Los enlaces de DOI y PMID medían 14 px de alto: por debajo
   del suelo de 24 del criterio 2.5.8 en nivel AA. Están escritos dentro de un
   párrafo, pero no son palabras de una frase: son dos destinos sueltos al
   final de la cita, separados por puntos medios. Mismo razonamiento que en
   [D-89], misma solución: caja propia, sin tocar el interlineado del párrafo.
   El mismo defecto existe en otros pies de fuente del sitio (.psf-gen-fte,
   .psf-nbn-pie, .psf-latg__f y las tablas de fármacos); NO se corrige aquí,
   se deja medido para que la decisión se tome una vez y para todos. */
.psf-tocg__f a{display:inline-flex;align-items:center;min-height:24px;padding:2px 0}
.psf-tocg__huecos{margin:0 0 var(--pf-s-4);padding-left:var(--pf-s-4);max-width:var(--pf-w-read)}
.psf-tocg__huecos li{margin-bottom:var(--pf-s-2);font-size:var(--pf-fs-small);line-height:1.6}
.psf-tocg__origen{
 margin:var(--pf-s-4) 0 0;font-size:var(--pf-fs-small);line-height:1.65;max-width:var(--pf-w-read);
 background:var(--pf-paper-alt);border-radius:var(--pf-r-md);padding:var(--pf-s-4)}

.psf-tocg__tb{width:100%;border-collapse:collapse;font-size:var(--pf-fs-small);margin:0 0 var(--pf-s-4)}
/* display:table-caption, NO flex. Con display:flex el navegador saca la
   celdilla del flujo de tabla y el título aparece DEBAJO del encabezado, que
   es exactamente lo que hacía antes de [D-99]. La píldora de «sin verificar»
   se alinea como inline-block dentro del caption, no con flex sobre él. */
.psf-tocg__cap{
 caption-side:top;display:table-caption;text-align:left;
 font-family:var(--pf-mono);font-size:var(--pf-fs-micro);
 text-transform:uppercase;letter-spacing:var(--pf-track-label);color:var(--pf-ink-faint-tx);
 line-height:1.5;padding-bottom:var(--pf-s-2)}
.psf-tocg__rev{
 display:inline-block;margin-left:var(--pf-s-2);vertical-align:baseline;
 font-family:var(--pf-sans);font-size:var(--pf-fs-micro);font-weight:var(--pf-w-semibold);
 text-transform:none;letter-spacing:normal;white-space:nowrap;
 background:var(--pf-paper-alt);color:var(--pf-ink-soft);border-radius:var(--pf-r-pill);padding:2px 9px}
.psf-tocg__tb th[scope=col]{
 text-align:left;font-family:var(--pf-mono);font-size:var(--pf-fs-micro);
 text-transform:uppercase;letter-spacing:.06em;color:var(--pf-ink-faint-tx);
 border-bottom:2px solid var(--pf-line);padding:0 var(--pf-s-3) var(--pf-s-1) 0}
.psf-tocg__tb th[scope=row]{text-align:left;font-weight:var(--pf-w-semibold);line-height:1.35}
.psf-tocg__tb td,.psf-tocg__tb th[scope=row]{
 vertical-align:top;padding:var(--pf-s-2) var(--pf-s-3) var(--pf-s-2) 0;
 border-bottom:1px solid var(--pf-paper-alt);line-height:1.5}
/* La comparación que NO encontró diferencia se marca, no se omite. */
.psf-tocg__nula th[scope=row],.psf-tocg__nula td{background:var(--pf-paper-alt);color:var(--pf-ink-soft)}

@media (max-width:640px){
 .psf-tocg__tb,.psf-tocg__tb tbody,.psf-tocg__tb tr,.psf-tocg__tb td,.psf-tocg__tb th[scope=row]{display:block;width:auto}
 .psf-tocg__tb thead{display:none}
 .psf-tocg__tb tr{border:1px solid var(--pf-line);border-radius:var(--pf-r-md);padding:var(--pf-s-3);margin-bottom:var(--pf-s-2)}
 .psf-tocg__tb td,.psf-tocg__tb th[scope=row]{border-bottom:0;padding:2px 0}
 .psf-tocg__tb th[scope=row]{border-bottom:1px solid var(--pf-paper-alt);padding-bottom:var(--pf-s-2);margin-bottom:var(--pf-s-2)}
 /* El rótulo de columna viaja dentro de la celda [D-79]: sin encabezado
    encima, tres cifras sueltas no se distinguen. */
 .psf-tocg__tb td::before{
  content:attr(data-r) " ";font-family:var(--pf-mono);font-size:var(--pf-fs-micro);
  text-transform:uppercase;letter-spacing:.06em;color:var(--pf-ink-faint-tx)}
}
@media (max-width:560px){
 .psf-tocf__d{grid-template-columns:1fr;gap:0}
 .psf-tocf__d dd{margin-bottom:var(--pf-s-2)}
}


/* ═══════════════════════════════════════════════════════════════
   LA BARRA DE AFINIDADES  [D-102, D-103, D-104 · v6.23.0]

   Cinco escalones. Cada bolita lleva el nombre del receptor DENTRO:
   el color agrupa por sistema pero no es la información (§1.4.1).
   D2 es el ancla y se marca con contorno, no solo con color.

   Escala de 4 px como siempre: --pf-s-2 son 8, --pf-s-3 son 12,
   --pf-s-4 son 16, --pf-s-6 son 24.
   ═══════════════════════════════════════════════════════════════ */
.psf-afb{margin:0 0 var(--pf-s-5)}
.psf-afb__n{margin:0 0 var(--pf-s-2);font-size:var(--pf-fs-h4)}
.psf-afb__r{
 display:grid;grid-template-columns:repeat(5,1fr);gap:var(--pf-s-2);
 align-items:start;border-top:2px solid var(--pf-line);padding-top:var(--pf-s-2)}
.psf-afb__c{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0}
.psf-afb__cr{
 font-family:var(--pf-mono);font-size:var(--pf-fs-micro);text-transform:uppercase;
 letter-spacing:.06em;color:var(--pf-ink-faint-tx);margin-bottom:2px}
.psf-afb__vacio{color:var(--pf-line)}
.psf-afb__b{
 display:inline-block;max-width:100%;padding:3px 9px;border-radius:var(--pf-r-pill);
 font-family:var(--pf-mono);font-size:var(--pf-fs-micro);font-weight:var(--pf-w-semibold);
 line-height:1.5;color:var(--pf-surface);background:var(--pf-sys-dopamina);
 overflow-wrap:break-word}
.psf-afb__b[data-sys="dopamina"]   {background:var(--pf-sys-dopamina)}
.psf-afb__b[data-sys="serotonina"] {background:var(--pf-sys-serotonina)}
.psf-afb__b[data-sys="histamina"]  {background:var(--pf-sys-histamina)}
.psf-afb__b[data-sys="muscarinico"]{background:var(--pf-sys-muscarinico)}
.psf-afb__b[data-sys="adrenergico"]{background:var(--pf-sys-adrenergico)}
/* El ancla no se distingue solo por color: lleva anillo propio. */
.psf-afb__b--ancla{box-shadow:0 0 0 2px var(--pf-paper),0 0 0 4px var(--pf-ink)}
.psf-afb__izq,.psf-afb__emp{
 margin:var(--pf-s-3) 0 0;font-size:var(--pf-fs-small);line-height:1.6;max-width:var(--pf-w-read)}
.psf-afb__izq--no{color:var(--pf-ink-soft)}
.psf-afb__emp{
 background:var(--pf-paper-alt);border-radius:var(--pf-r-md);
 padding:var(--pf-s-3);font-size:var(--pf-fs-micro)}
.psf-afb__hueco{color:var(--pf-ink-soft)}

.psf-afb__tb{width:100%;border-collapse:collapse;font-size:var(--pf-fs-small);margin:0 0 var(--pf-s-4)}
.psf-afb__cap{
 caption-side:top;display:table-caption;text-align:left;
 font-family:var(--pf-mono);font-size:var(--pf-fs-micro);text-transform:uppercase;
 letter-spacing:var(--pf-track-label);color:var(--pf-ink-faint-tx);
 line-height:1.5;padding-bottom:var(--pf-s-2)}
.psf-afb__rev{
 display:inline-block;margin-left:var(--pf-s-2);text-transform:none;letter-spacing:normal;
 font-family:var(--pf-sans);font-size:var(--pf-fs-micro);font-weight:var(--pf-w-semibold);
 background:var(--pf-paper-alt);color:var(--pf-ink-soft);border-radius:var(--pf-r-pill);padding:2px 9px}
.psf-afb__tb th[scope=col]{
 text-align:left;font-family:var(--pf-mono);font-size:var(--pf-fs-micro);
 text-transform:uppercase;letter-spacing:.06em;color:var(--pf-ink-faint-tx);
 border-bottom:2px solid var(--pf-line);padding:0 var(--pf-s-3) var(--pf-s-1) 0}
.psf-afb__tb th[scope=row]{text-align:left;font-weight:var(--pf-w-semibold);line-height:1.35}
.psf-afb__tb td,.psf-afb__tb th[scope=row]{
 vertical-align:top;padding:var(--pf-s-2) var(--pf-s-3) var(--pf-s-2) 0;
 border-bottom:1px solid var(--pf-paper-alt);line-height:1.5}
.psf-afb__fam{
 display:block;font-family:var(--pf-mono);font-size:var(--pf-fs-micro);
 font-weight:var(--pf-w-regular);color:var(--pf-ink-faint-tx)}
/* La celda alta se marca con peso y fondo, no solo con color. */
.psf-afb__tb td[data-n="4"],.psf-afb__tb td[data-n="3"]{
 font-weight:var(--pf-w-semibold);background:var(--pf-paper-alt)}

/* El bloque de la ficha */
.psf-afbf{
 margin:var(--pf-s-5) 0;padding:var(--pf-s-4);
 border:1px solid var(--pf-line);border-radius:var(--pf-r-md);background:var(--pf-surface)}
.psf-afbf__h{
 margin:0 0 var(--pf-s-1);font-family:var(--pf-mono);font-size:var(--pf-fs-micro);
 text-transform:uppercase;letter-spacing:var(--pf-track-label);color:var(--pf-ink-faint-tx)}
.psf-afbf__lead{margin:0 0 var(--pf-s-3);font-size:var(--pf-fs-small);line-height:1.6;max-width:var(--pf-w-read)}
.psf-afb__falla{
 margin:0 0 var(--pf-s-3);font-size:var(--pf-fs-small);line-height:1.6;max-width:var(--pf-w-read);
 background:var(--pf-paper-alt);border-left:3px solid var(--pf-cls);
 border-radius:0 var(--pf-r-sm) var(--pf-r-sm) 0;padding:var(--pf-s-3) var(--pf-s-4)}
.psf-afbf__mas{margin:0;font-size:var(--pf-fs-micro)}
.psf-afbf__mas a{display:inline-flex;align-items:center;min-height:24px;padding:2px 0}

/* El bloque del grupo */
.psf-afbg{margin:var(--pf-s-6) 0;scroll-margin-top:var(--pf-scroll-margin)}
.psf-afbg__h{margin:0 0 var(--pf-s-2);font-size:var(--pf-fs-h3)}
.psf-afbg__lead{margin:0 0 var(--pf-s-4);max-width:var(--pf-w-read);line-height:1.65}
.psf-afbg__h4{
 margin:var(--pf-s-6) 0 var(--pf-s-3);font-family:var(--pf-mono);font-size:var(--pf-fs-micro);
 text-transform:uppercase;letter-spacing:var(--pf-track-label);color:var(--pf-ink-faint-tx)}
.psf-afbg__nota{margin:0 0 var(--pf-s-4);font-size:var(--pf-fs-small);line-height:1.65;max-width:var(--pf-w-read)}
.psf-afbg__f{border-left:3px solid var(--pf-cls);padding-left:var(--pf-s-4);margin:0 0 var(--pf-s-6)}
.psf-afbg__ft{margin:0 0 var(--pf-s-2);font-size:var(--pf-fs-h4)}
.psf-afbg__fr{margin:0 0 var(--pf-s-4);font-size:var(--pf-fs-small);line-height:1.6;max-width:var(--pf-w-read)}
.psf-afbg__audit{background:var(--pf-paper-alt);border-radius:var(--pf-r-md);padding:var(--pf-s-4)}
.psf-afbg__auditt{
 margin:0 0 var(--pf-s-2);font-family:var(--pf-mono);font-size:var(--pf-fs-micro);
 text-transform:uppercase;letter-spacing:var(--pf-track-label);color:var(--pf-ink-faint-tx)}
.psf-afbg__auditl{margin:0;padding-left:var(--pf-s-4);max-width:var(--pf-w-read)}
.psf-afbg__auditl li{margin-bottom:var(--pf-s-2);font-size:var(--pf-fs-small);line-height:1.6}
.psf-afbg__dos{display:grid;grid-template-columns:1fr 1fr;gap:var(--pf-s-4);margin:0 0 var(--pf-s-4)}
.psf-afbg__caso{border:1px solid var(--pf-line);border-radius:var(--pf-r-md);padding:var(--pf-s-4)}
.psf-afbg__casot{margin:0 0 var(--pf-s-2);font-size:var(--pf-fs-body)}
.psf-afbg__caso p{margin:0;font-size:var(--pf-fs-small);line-height:1.6}
.psf-afbg__aviso,.psf-afbg__origen{
 margin:0 0 var(--pf-s-4);font-size:var(--pf-fs-small);line-height:1.65;max-width:var(--pf-w-read);
 background:var(--pf-paper-alt);border-radius:var(--pf-r-md);padding:var(--pf-s-4)}

@media (max-width:760px){
 .psf-afbg__dos{grid-template-columns:1fr}
}
@media (max-width:640px){
 /* En móvil los cinco escalones no caben en fila: se apilan y el rótulo
    de banda pasa a ser el encabezado de cada grupo. */
 .psf-afb__r{grid-template-columns:1fr;gap:var(--pf-s-1);border-top:0}
 .psf-afb__c{
  flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:4px var(--pf-s-2);
  border-bottom:1px solid var(--pf-paper-alt);padding:var(--pf-s-2) 0}
 .psf-afb__cr{min-width:72px;margin-bottom:0}
}

/* ═══════════════════════════════════════════════════════════════
   AGONISMO PARCIAL  [D-105 · v6.23.0]
   Escalones, no velocímetro: los datos no son continuos.
   ═══════════════════════════════════════════════════════════════ */
.psf-ago{margin:var(--pf-s-6) 0;scroll-margin-top:var(--pf-scroll-margin)}
.psf-ago__h{margin:0 0 var(--pf-s-2);font-size:var(--pf-fs-h3)}
.psf-ago__lead{margin:0 0 var(--pf-s-4);max-width:var(--pf-w-read);line-height:1.65}
.psf-ago__h4{
 margin:var(--pf-s-6) 0 var(--pf-s-3);font-family:var(--pf-mono);font-size:var(--pf-fs-micro);
 text-transform:uppercase;letter-spacing:var(--pf-track-label);color:var(--pf-ink-faint-tx)}
.psf-ago__nota{margin:0 0 var(--pf-s-4);font-size:var(--pf-fs-small);line-height:1.65;max-width:var(--pf-w-read)}
.psf-ago__eje{
 display:grid;grid-template-columns:repeat(4,1fr);gap:var(--pf-s-3);
 margin:0 0 var(--pf-s-4);border-top:2px solid var(--pf-line);padding-top:var(--pf-s-3)}
.psf-ago__c{border-left:3px solid var(--pf-cls);padding-left:var(--pf-s-3)}
.psf-ago__cr{
 display:block;font-weight:var(--pf-w-semibold);font-size:var(--pf-fs-small);
 line-height:1.35;margin-bottom:4px}
.psf-ago__cq{display:block;font-size:var(--pf-fs-micro);line-height:1.55;color:var(--pf-ink-soft)}
.psf-ago__tb{width:100%;border-collapse:collapse;font-size:var(--pf-fs-small);margin:0 0 var(--pf-s-4)}
.psf-ago__cap{
 caption-side:top;display:table-caption;text-align:left;
 font-family:var(--pf-mono);font-size:var(--pf-fs-micro);text-transform:uppercase;
 letter-spacing:var(--pf-track-label);color:var(--pf-ink-faint-tx);
 line-height:1.5;padding-bottom:var(--pf-s-2)}
.psf-ago__rev{
 display:inline-block;margin-left:var(--pf-s-2);text-transform:none;letter-spacing:normal;
 font-family:var(--pf-sans);font-size:var(--pf-fs-micro);font-weight:var(--pf-w-semibold);
 background:var(--pf-paper-alt);color:var(--pf-ink-soft);border-radius:var(--pf-r-pill);padding:2px 9px}
.psf-ago__tb th[scope=col]{
 text-align:left;font-family:var(--pf-mono);font-size:var(--pf-fs-micro);
 text-transform:uppercase;letter-spacing:.06em;color:var(--pf-ink-faint-tx);
 border-bottom:2px solid var(--pf-line);padding:0 var(--pf-s-3) var(--pf-s-1) 0}
.psf-ago__tb th[scope=row]{text-align:left;font-weight:var(--pf-w-semibold);line-height:1.35}
.psf-ago__tb td,.psf-ago__tb th[scope=row]{
 vertical-align:top;padding:var(--pf-s-2) var(--pf-s-3) var(--pf-s-2) 0;
 border-bottom:1px solid var(--pf-paper-alt);line-height:1.5}
.psf-ago__emax,.psf-ago__anta{
 font-family:var(--pf-mono);font-size:var(--pf-fs-micro);font-weight:var(--pf-w-semibold);
 white-space:nowrap;border-radius:var(--pf-r-pill);padding:2px 9px;display:inline-block}
.psf-ago__emax{background:var(--pf-paper-alt);color:var(--pf-ink)}
.psf-ago__anta{border:1px solid var(--pf-line);color:var(--pf-ink-soft)}
.psf-ago__clave,.psf-ago__aviso,.psf-ago__origen{
 margin:0 0 var(--pf-s-4);font-size:var(--pf-fs-small);line-height:1.65;max-width:var(--pf-w-read);
 background:var(--pf-paper-alt);border-radius:var(--pf-r-md);padding:var(--pf-s-4)}
.psf-ago__origen a{display:inline-flex;align-items:center;min-height:24px;padding:2px 0}

.psf-agof{
 margin:var(--pf-s-5) 0;padding:var(--pf-s-4);
 border:1px solid var(--pf-line);border-radius:var(--pf-r-md);background:var(--pf-surface)}
.psf-agof__h{
 margin:0 0 var(--pf-s-1);font-family:var(--pf-mono);font-size:var(--pf-fs-micro);
 text-transform:uppercase;letter-spacing:var(--pf-track-label);color:var(--pf-ink-faint-tx)}
.psf-agof__lead{margin:0 0 var(--pf-s-3);font-size:var(--pf-fs-small);line-height:1.6;max-width:var(--pf-w-read)}
.psf-agof__propio{
 margin:0 0 var(--pf-s-3);font-size:var(--pf-fs-small);line-height:1.6;max-width:var(--pf-w-read);
 background:var(--pf-paper-alt);border-left:3px solid var(--pf-cls);
 border-radius:0 var(--pf-r-sm) var(--pf-r-sm) 0;padding:var(--pf-s-3) var(--pf-s-4)}
.psf-agof__hueco{border-left-color:var(--pf-line);color:var(--pf-ink-soft)}
.psf-agof__mas{margin:0;font-size:var(--pf-fs-micro)}
.psf-agof__mas a{display:inline-flex;align-items:center;min-height:24px;padding:2px 0}

@media (max-width:760px){ .psf-ago__eje{grid-template-columns:1fr 1fr} }
@media (max-width:640px){
 .psf-ago__eje{grid-template-columns:1fr;gap:var(--pf-s-2)}
 .psf-ago__tb,.psf-ago__tb tbody,.psf-ago__tb tr,.psf-ago__tb td,.psf-ago__tb th[scope=row]{display:block;width:auto}
 .psf-ago__tb thead{display:none}
 /* [D-107] Al romper la tabla en tarjetas, el caption sigue siendo
    display:table-caption sobre una tabla que ya no tiene ancho de tabla, y
    se encoge a 81 px: once caracteres por linea. Se convierte en bloque. */
 .psf-ago__cap,.psf-afb__cap{display:block;width:auto}
 .psf-ago__tb tr{border:1px solid var(--pf-line);border-radius:var(--pf-r-md);padding:var(--pf-s-3);margin-bottom:var(--pf-s-2)}
 .psf-ago__tb td,.psf-ago__tb th[scope=row]{border-bottom:0;padding:2px 0}
 .psf-ago__tb th[scope=row]{border-bottom:1px solid var(--pf-paper-alt);padding-bottom:var(--pf-s-2);margin-bottom:var(--pf-s-2)}
 .psf-ago__tb td::before{
  content:attr(data-r) " ";font-family:var(--pf-mono);font-size:var(--pf-fs-micro);
  text-transform:uppercase;letter-spacing:.06em;color:var(--pf-ink-faint-tx)}
 .psf-afb__tb,.psf-afb__tb tbody,.psf-afb__tb tr,.psf-afb__tb td,.psf-afb__tb th[scope=row]{display:block;width:auto}
 .psf-afb__tb thead{display:none}
 .psf-afb__tb tr{border:1px solid var(--pf-line);border-radius:var(--pf-r-md);padding:var(--pf-s-3);margin-bottom:var(--pf-s-2)}
 .psf-afb__tb td,.psf-afb__tb th[scope=row]{border-bottom:0;padding:2px 0}
 .psf-afb__tb th[scope=row]{border-bottom:1px solid var(--pf-paper-alt);padding-bottom:var(--pf-s-2);margin-bottom:var(--pf-s-2)}
 .psf-afb__tb td::before{
  content:attr(data-r) " ";font-family:var(--pf-mono);font-size:var(--pf-fs-micro);
  text-transform:uppercase;letter-spacing:.06em;color:var(--pf-ink-faint-tx)}
}

/* =====================================================================
   [D-111 · v7.0.0] TRES COLUMNAS «CLINICAL ARCHIVE»
   ---------------------------------------------------------------------
   Familias a la izquierda, la ficha lineal en el centro, el resumen
   clínico pegajoso a la derecha. Solo en escritorio ancho: por debajo
   de 1200 px las laterales desaparecen y la columna central es la ficha
   de siempre, con el orden de lectura que auditó la v6.20.0 en móvil.
   ===================================================================== */

.psf-ficha__centro{ min-width:0; }
.psf-ficha__lateral, .psf-ficha__rail{ display:none; }

@media (min-width:1200px){
	.psf-ficha{ max-width:var(--pf-w-index); --pf-w-page:var(--pf-w-index); }
	.psf-ficha__grid{
		display:grid;
		grid-template-columns:15rem minmax(0,1fr) 19.5rem;
		gap:var(--pf-s-8);
		align-items:start;
	}
	.psf-ficha__lateral, .psf-ficha__rail{
		display:block;
		position:sticky; top:calc(var(--pf-sticky-top) + var(--pf-s-6));
		max-height:calc(100vh - var(--pf-sticky-top) - var(--pf-s-12));
		overflow-y:auto;
	}
	/* En la capa «lo mínimo» el resumen lateral sobra: cuatro datos y una
	   frase, y nada más en pantalla. La barra de familias se queda: es
	   navegación, no contenido. */
	.psf-ficha[data-modo="minimo"] .psf-ficha__rail{ display:none; }
}

/* ---- Columna izquierda: familias ------------------------------------ */
.psf-ficha__lateral{
	border-right:1px solid var(--pf-line);
	padding-right:var(--pf-s-6);
}
.psf-lat__t{
	font-family:var(--pf-serif); font-size:var(--pf-fs-h3);
	font-weight:var(--pf-w-semibold); color:var(--pf-ink);
	margin:0;
}
.psf-lat__s{
	font-family:var(--pf-mono); font-size:var(--pf-fs-micro);
	letter-spacing:var(--pf-track-label); text-transform:uppercase;
	color:var(--pf-ink-faint-tx); margin:2px 0 var(--pf-s-4);
}
.psf-lat__l{ list-style:none; margin:0; padding:0; }
.psf-lat__l li{ margin:0; }
.psf-lat__l a{
	display:flex; align-items:center; gap:10px;
	padding:8px 10px; border-radius:var(--pf-r-sm);
	font-size:var(--pf-fs-micro); font-weight:var(--pf-w-medium);
	color:var(--pf-ink-soft); text-decoration:none;
	border-left:2px solid transparent;
	min-height:36px;
}
.psf-lat__l a:hover{ background:var(--pf-paper-alt); color:var(--pf-ink); }
.psf-lat__dot{
	width:8px; height:8px; border-radius:50%; flex:none;
	background:var(--pf-cls);
}
.psf-lat__l li.is-activa a{
	background:var(--pf-paper-alt); color:var(--pf-ink);
	font-weight:var(--pf-w-semibold);
	border-left-color:var(--pf-cls);
	border-radius:0 var(--pf-r-sm) var(--pf-r-sm) 0;
}

/* ---- Columna derecha: resumen clínico ------------------------------- */
.psf-ficha__rail{ display:none; }
@media (min-width:1200px){ .psf-ficha__rail{ display:block; } }
.psf-rail__card{
	background:var(--pf-surface);
	border:1px solid var(--pf-line);
	border-radius:var(--pf-r-md);
	padding:var(--pf-s-6);
	margin:0 0 var(--pf-s-4);
}
.psf-rail__h{
	font-family:var(--pf-serif); font-size:var(--pf-fs-h4);
	font-weight:var(--pf-w-semibold); color:var(--pf-ink);
	margin:0 0 var(--pf-s-3);
}
.psf-rail__h--ea{ color:var(--pf-danger-tx); }
.psf-rail__eyebrow{
	font-family:var(--pf-mono); font-size:var(--pf-fs-micro);
	letter-spacing:var(--pf-track-eyebrow); text-transform:uppercase;
	color:var(--pf-ink-faint-tx); margin:0 0 var(--pf-s-1);
}
.psf-rail__eyebrow--ea{ color:var(--pf-danger-tx); margin-top:var(--pf-s-3); }
.psf-rail__big{
	font-family:var(--pf-mono); font-size:var(--pf-fs-h2);
	font-weight:var(--pf-w-semibold); color:var(--pf-ink);
	line-height:var(--pf-lh-tight); margin:0 0 var(--pf-s-3);
	letter-spacing:-.01em;
}
.psf-rail__dl{ margin:0; }
.psf-rail__dl > div{
	display:flex; justify-content:space-between; gap:var(--pf-s-3);
	padding:7px 0; border-top:1px solid var(--pf-line);
}
.psf-rail__dl dt{
	font-size:var(--pf-fs-micro); color:var(--pf-ink-soft);
	font-weight:var(--pf-w-medium); flex:none;
}
.psf-rail__dl dd{
	margin:0; font-family:var(--pf-mono); font-size:var(--pf-fs-micro);
	color:var(--pf-ink); text-align:right;
}
.psf-rail__ir{
	display:inline-block; margin-top:var(--pf-s-3);
	font-size:var(--pf-fs-micro); color:var(--pf-accent-tx);
	text-decoration:none; border-bottom:1px solid var(--pf-line);
}
.psf-rail__ir:hover{ border-bottom-color:var(--pf-accent-tx); }
.psf-rail__perlas{ border-left:3px solid var(--pf-sage); }
.psf-rail__ea{ border-left:3px solid var(--pf-danger); }
.psf-rail__texto{ font-size:var(--pf-fs-micro); color:var(--pf-ink-soft); }
.psf-rail__texto p{ margin:0 0 var(--pf-s-2); font-size:inherit; }
.psf-rail__texto p:last-child{ margin-bottom:0; }
