/* ═══════════════════════════════════════════════════════════════════
   psf-internacion.css — los cinco criterios de la internación
   involuntaria.  [D-236 · v9.55.0]

   NI UN LITERAL DE COLOR: todo sale de psf-tokens.css.

   LA DECISIÓN VISUAL: esta página tiene que leerse como una
   RESTRICCIÓN y no como un formulario de autorización. Por eso lo
   primero que se ve es un aviso rojo —«esto no autoriza nada»—, y por
   eso cada criterio lleva su trampa en ámbar ANTES de los campos: el
   error que ese criterio existe para impedir se lee antes de empezar a
   escribir, no después.

   EL VERDE ESTÁ RACIONADO y significa una sola cosa: que ese criterio
   tiene escritos sus campos obligados. No es una felicitación — es un
   estado. Un criterio en blanco se queda gris y visible, nunca oculto.

   AL IMPRIMIR SOLO SALE EL DOCUMENTO. Lo demás es andamiaje para
   rellenarlo, y una nota de historia clínica con los avisos de la
   herramienta encima no sirve.
   ═══════════════════════════════════════════════════════════════════ */

.psf-in{ padding-bottom:var(--pf-s-16); }

/* ── Cabecera ───────────────────────────────────────────────────── */
.psf-in__cab{ max-width:var(--pf-w-read); margin:0 0 var(--pf-s-4); }
.psf-in__h1{
	font-family:var(--pf-serif); font-size:var(--pf-fs-h1);
	line-height:var(--pf-lh-tight); letter-spacing:var(--pf-track-display);
	color:var(--pf-ink); margin:0 0 var(--pf-s-3);
}
.psf-in__lead{
	font-size:var(--pf-fs-lead); line-height:var(--pf-lh-body);
	color:var(--pf-ink-soft); margin:0;
}
.psf-in__h2{
	font-family:var(--pf-serif); font-size:var(--pf-fs-h2);
	line-height:var(--pf-lh-tight); color:var(--pf-ink);
	margin:var(--pf-s-12) 0 var(--pf-s-3);
}
.psf-in__p{
	font-size:var(--pf-fs-body); line-height:var(--pf-lh-body);
	color:var(--pf-ink-soft); max-width:var(--pf-w-read); margin:0 0 var(--pf-s-3);
}
.psf-in__p--nota{ font-size:var(--pf-fs-small); }

/* ── Avisos. El rojo, una vez y arriba. ─────────────────────────── */
.psf-in__aviso{
	background:var(--pf-paper-alt); border-left:4px solid var(--pf-line);
	padding:var(--pf-s-4); border-radius:0 var(--pf-r-sm) var(--pf-r-sm) 0;
	font-size:var(--pf-fs-small); line-height:var(--pf-lh-body);
	color:var(--pf-ink-soft); max-width:var(--pf-w-read); margin:0 0 var(--pf-s-3);
}
.psf-in__aviso--rojo{
	background:var(--pf-danger-tint); border-left-color:var(--pf-danger);
	color:var(--pf-danger-tx);
}
.psf-in__aviso b{ color:inherit; }

.psf-in__fte-arriba, .psf-in__vacio{ max-width:var(--pf-w-read); }

/* ── Un criterio ────────────────────────────────────────────────── */
.psf-in__form{ margin:var(--pf-s-8) 0 0; }
.psf-in__c{
	background:var(--pf-surface); border:1px solid var(--pf-line);
	border-left:4px solid var(--pf-line);
	border-radius:0 var(--pf-r-md) var(--pf-r-md) 0;
	padding:var(--pf-s-6); margin:0 0 var(--pf-s-4);
}
.psf-in__c.is-ok{ border-left-color:var(--pf-ok); }
.psf-in__c--meta{ border-left-color:var(--pf-accent); }

.psf-in__c-cab{
	display:flex; align-items:baseline; gap:var(--pf-s-3); flex-wrap:wrap;
	margin:0 0 var(--pf-s-3); padding-bottom:var(--pf-s-3);
	border-bottom:1px solid var(--pf-line);
}
.psf-in__n{
	font-family:var(--pf-mono); font-size:var(--pf-fs-small);
	font-weight:var(--pf-w-semibold); color:var(--pf-ink-faint-tx);
	background:var(--pf-paper-alt); border-radius:var(--pf-r-sm);
	padding:2px var(--pf-s-3); flex:none;
}
.psf-in__c-t{
	font-family:var(--pf-serif); font-size:var(--pf-fs-h3);
	line-height:var(--pf-lh-tight); color:var(--pf-ink); margin:0;
}
.psf-in__estado{
	margin-left:auto; 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); border:1px dashed var(--pf-line);
	border-radius:var(--pf-r-pill); padding:2px var(--pf-s-3); white-space:nowrap;
}
.is-ok .psf-in__estado{
	color:var(--pf-ok-tx); background:var(--pf-ok-tint);
	border-style:solid; border-color:var(--pf-ok);
}

.psf-in__exige, .psf-in__norma, .psf-in__trampa, .psf-in__falta{
	font-size:var(--pf-fs-small); line-height:var(--pf-lh-body);
	max-width:var(--pf-w-read); margin:0 0 var(--pf-s-3);
}
.psf-in__exige{ color:var(--pf-ink-soft); }
.psf-in__norma{
	color:var(--pf-accent-tx); background:var(--pf-accent-tint);
	padding:var(--pf-s-3) var(--pf-s-4); border-radius:var(--pf-r-sm);
}
/* La trampa va ANTES de los campos: el error se lee antes de escribir. */
.psf-in__trampa{
	color:var(--pf-warn-tx); background:var(--pf-warn-tint);
	padding:var(--pf-s-3) var(--pf-s-4); border-radius:var(--pf-r-sm);
}
.psf-in__falta{
	color:var(--pf-ink-faint-tx); border-top:1px dashed var(--pf-line);
	padding-top:var(--pf-s-3); margin:var(--pf-s-4) 0 0;
}

/* ── Campos ─────────────────────────────────────────────────────── */
.psf-in__campos{ display:grid; gap:var(--pf-s-4); margin:var(--pf-s-4) 0 0; }
.psf-in__campo label{
	display:block; font-size:var(--pf-fs-small); font-weight:var(--pf-w-semibold);
	color:var(--pf-ink); margin:0 0 var(--pf-s-2); line-height:var(--pf-lh-tight);
}
.psf-in__campo textarea,
.psf-in__campo input[type="text"]{
	width:100%; font:inherit; font-size:var(--pf-fs-body);
	background:var(--pf-paper); color:var(--pf-ink);
	border:1px solid var(--pf-line); border-radius:var(--pf-r-sm);
	padding:var(--pf-s-3); line-height:var(--pf-lh-body);
}
.psf-in__campo textarea{ min-height:76px; resize:vertical; }
.psf-in__campo textarea::placeholder,
.psf-in__campo input::placeholder{ color:var(--pf-ink-faint-tx); }
.psf-in__pista{
	display:block; font-size:var(--pf-fs-micro); color:var(--pf-ink-faint-tx);
	margin-top:var(--pf-s-1); line-height:var(--pf-lh-body);
}
.psf-in__checks{ display:grid; gap:var(--pf-s-2); }
.psf-in__check{
	display:flex; align-items:flex-start; gap:var(--pf-s-3);
	font-size:var(--pf-fs-small); font-weight:var(--pf-w-regular)!important;
	color:var(--pf-ink-soft); cursor:pointer; margin:0!important;
	line-height:var(--pf-lh-body);
}
.psf-in__check input{ margin-top:3px; flex:none; }

/* ── Salida ─────────────────────────────────────────────────────── */
.psf-in__salida{ margin:var(--pf-s-8) 0 0; }
.psf-in__tabs{ display:flex; gap:var(--pf-s-2); flex-wrap:wrap; margin:0 0 var(--pf-s-3); }
.psf-in__tabs button{
	background:var(--pf-surface); border:1px solid var(--pf-line);
	border-radius:var(--pf-r-sm); padding:var(--pf-s-2) var(--pf-s-4);
	cursor:pointer; font:inherit; font-size:var(--pf-fs-small); color:var(--pf-ink-soft);
}
.psf-in__tabs button:hover{ border-color:var(--pf-accent); color:var(--pf-accent-tx); }
.psf-in__tabs button[aria-selected="true"]{
	background:var(--pf-accent-tint); border-color:var(--pf-accent);
	color:var(--pf-accent-tx); font-weight:var(--pf-w-semibold);
}
.psf-in__acc{ display:flex; gap:var(--pf-s-3); flex-wrap:wrap; margin:0 0 var(--pf-s-3); }
.psf-in__btn{
	background:var(--pf-surface); border:1px solid var(--pf-line);
	border-radius:var(--pf-r-sm); padding:var(--pf-s-2) var(--pf-s-4);
	cursor:pointer; font:inherit; font-size:var(--pf-fs-small); color:var(--pf-ink);
}
.psf-in__btn:hover{ border-color:var(--pf-accent); color:var(--pf-accent-tx); }
.psf-in__btn--p{ background:var(--pf-accent); border-color:var(--pf-accent); color:var(--pf-surface); }
.psf-in__btn--p:hover{ filter:brightness(1.12); color:var(--pf-surface); }
.psf-in__btn--x{ margin-left:auto; color:var(--pf-danger-tx); }
.psf-in__btn--x:hover{ border-color:var(--pf-danger); color:var(--pf-danger-tx); }

.psf-in__toast{
	font-size:var(--pf-fs-micro); color:var(--pf-ok-tx);
	margin:0 0 var(--pf-s-2); min-height:1.2em;
}
.psf-in__doc{
	background:var(--pf-paper-alt); border:1px solid var(--pf-line);
	border-radius:var(--pf-r-sm); padding:var(--pf-s-4);
	font-family:var(--pf-mono); font-size:var(--pf-fs-micro);
	line-height:var(--pf-lh-body); color:var(--pf-ink);
	white-space:pre-wrap; word-break:break-word; overflow-x:auto;
	max-height:60vh; margin:0;
}

.psf-in__privacidad{
	background:var(--pf-accent-tint); color:var(--pf-accent-tx);
	border-radius:var(--pf-r-sm); padding:var(--pf-s-4);
	font-size:var(--pf-fs-small); line-height:var(--pf-lh-body);
	max-width:var(--pf-w-read); margin:var(--pf-s-4) 0 0;
}

/* ── Fuentes ────────────────────────────────────────────────────── */
.psf-in__pie{
	margin:var(--pf-s-12) 0 0; padding-top:var(--pf-s-6);
	border-top:2px solid var(--pf-line);
}
.psf-in__pie h2{
	font-size:var(--pf-fs-micro); text-transform:uppercase;
	letter-spacing:var(--pf-track-eyebrow); color:var(--pf-ink-faint-tx);
	margin:0 0 var(--pf-s-4);
}
.psf-in__pie ul{ list-style:none; margin:0; padding:0; }
.psf-in__pie li{
	font-size:var(--pf-fs-micro); line-height:var(--pf-lh-body);
	color:var(--pf-ink-soft); margin:0 0 var(--pf-s-3); max-width:var(--pf-w-read);
}
.psf-in__q{ display:block; color:var(--pf-ink-faint-tx); font-style:italic; }
.psf-in__sinver{
	background:var(--pf-warn-tint); color:var(--pf-warn-tx);
	border-radius:var(--pf-r-sm); padding:var(--pf-s-3) var(--pf-s-4);
	font-size:var(--pf-fs-micro); margin:var(--pf-s-4) 0 0; max-width:var(--pf-w-read);
}

/* ── El teléfono ────────────────────────────────────────────────── */
@media (max-width:560px){
	.psf-in__h1{ font-size:var(--pf-fs-h2); }
	.psf-in__c{ padding:var(--pf-s-4); }
	.psf-in__estado{ margin-left:0; }
	.psf-in__btn--x{ margin-left:0; }
}

/* ── Al imprimir, solo el documento ─────────────────────────────── */
@media print{
	.psf-in__cab, .psf-in__aviso, .psf-in__fte-arriba, .psf-in__vacio,
	.psf-in__form, .psf-in__tabs, .psf-in__acc, .psf-in__toast,
	.psf-in__privacidad, .psf-in__pie, .psf-in__h2{ display:none!important; }
	.psf-in__doc{
		border:0; padding:0; max-height:none; background:transparent;
		font-size:11pt; white-space:pre-wrap;
	}
}
