/* Geometría común; superficies y texto usan la apariencia global. La agenda añade identidad de color por profesional. */
/* Plus Jakarta Sans (OFL, static/fuentes/OFL-plus-jakarta-sans.txt), alojada localmente: sin peticiones a terceros. */
@font-face{font-family:"Plus Jakarta Sans";font-style:normal;font-weight:200 800;font-display:swap;src:url("fuentes/plus-jakarta-sans-latin-wght.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Plus Jakarta Sans";font-style:normal;font-weight:200 800;font-display:swap;src:url("fuentes/plus-jakarta-sans-latin-ext-wght.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
:root{color-scheme:light;--radio:12px;--fuente:"Plus Jakarta Sans",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--ancho-menu:228px}
:root[data-tema=noche]{color-scheme:dark}
/* Colores que la paleta global no representa: botón principal, estado pendiente, origen IA, recepción (naranja) y notas internas. En día derivan de la paleta. */
:root,[data-paleta="dia"]{--control-humano:#c2410c;--nota-interna:#a16207;--nota-interna-fondo:#fef9c3;--boton-principal:var(--acento);--boton-principal-hover:var(--acento-hover);--sobre-boton-principal:var(--sobre-acento);--estado-pendiente:#4b63bf;--estado-pendiente-fondo:#edf0ff;--origen-ia:#0a6582;--origen-ia-fondo:#dcf1f8;--peligro-eliminar:#dc2626;--peligro-eliminar-hover:#b91c1c;--sobre-peligro-eliminar:#ffffff;--texto-titulo:28px;--texto-bloque:20px;--texto-seccion:16px;--texto:14px;--texto-aux:12px;--supervision-criticas:#dc2626;--supervision-integraciones:#f87171;--supervision-alertas:#3b82f6;--supervision-recepcion:#7c3aed;--supervision-onboarding:#d8c8f0;--cita-confirmada:#1d5a3e;--cita-confirmada-fondo:#b9e5d5}
:root[data-tema="noche"],[data-paleta="noche"]{--control-humano:#fb923c;--nota-interna:#facc15;--nota-interna-fondo:#3a3314;--boton-principal:#7038e0;--boton-principal-hover:#8150ea;--sobre-boton-principal:#ffffff;--estado-pendiente:#adbffb;--estado-pendiente-fondo:#293b5e;--origen-ia:#86d6ef;--origen-ia-fondo:#163a4b;--supervision-criticas:#f05252;--supervision-integraciones:#fca5a5;--supervision-alertas:#60a5fa;--supervision-recepcion:#a78bfa;--supervision-onboarding:#d8c8f0;--cita-confirmada:var(--exito);--cita-confirmada-fondo:var(--exito-fondo)}
/* Aviso en azul en lugar de ámbar (criterio de marca). :root:root gana a colores.css, que se carga después; la vista previa de Apariencia ([data-paleta]) no se ve afectada. */
:root:root{--aviso:#0b5fd6;--aviso-fondo:#e8f1ff}
:root:root[data-tema="noche"]{--aviso:#8ab8ff;--aviso-fondo:#1b2b47}
*{box-sizing:border-box}
[data-contexto-recuperar]{margin-block:12px;font-size:13px}
[data-contexto-recuperar] .boton{max-width:100%;white-space:normal;overflow-wrap:anywhere}
body{margin:0;background:radial-gradient(ellipse at 90% 0,var(--luz-fondo),transparent 65%),var(--fondo);background-attachment:fixed;color:var(--tinta);font:14px/1.55 var(--fuente);-webkit-font-smoothing:antialiased}
a{color:var(--acento);text-decoration:none}:where(a:not(.boton)){transition:color .15s}:where(a:not(.boton)):hover{color:var(--acento-hover)}
button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.6;cursor:not-allowed}
button,a,input,select,textarea,summary{outline-offset:4px}
:where(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--acento)}
/* Campos: el foco colorea su propio borde en lugar de un anillo separado. */
input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):focus-visible,select:focus-visible,textarea:focus-visible{outline:none;border-color:var(--acento);box-shadow:0 0 0 1px var(--acento)}
[hidden]{display:none!important}h1,h2,h3,p{margin-top:0}
h1{font-size:clamp(24px,1.9vw,28px);line-height:1.25;letter-spacing:-.5px;margin-bottom:10px;font-weight:650}
h2{font-size:18px;line-height:1.35;letter-spacing:-.3px;margin-bottom:12px;font-weight:650}
h3{font-size:16px;line-height:1.4;margin-bottom:6px;font-weight:650}
p{color:var(--muted)}small{display:block;font-size:12px;color:var(--muted)}
.solo-lector{position:absolute;width:1px;height:1px;padding:0;margin:-1px;border:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
/* El caption absoluto no debe desbordar el final de una tabla vacía. */
.tabla-scroll caption.solo-lector{top:0;left:0}
.salto{position:fixed;left:12px;top:-80px;background:var(--papel);padding:12px;z-index:100}.salto:focus{top:12px}
.sidebar{position:fixed;inset:0 auto 0 0;width:var(--ancho-menu);background:var(--nav);color:var(--nav-texto);padding:18px 12px 12px;display:flex;flex-direction:column;z-index:40}
.marca{display:flex;align-items:center;text-decoration:none!important}.logo-oficial{display:block;width:100%;max-width:275px;height:auto}
.sidebar .marca{padding:7px 10px 12px;justify-content:center}@media(min-width:781px){.sidebar .marca{box-sizing:border-box;min-height:62px;margin:-18px 0 12px;padding-block:0}}.sidebar .logo-oficial{width:174px;}
.portal-label{display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:1.2px;color:var(--nav-texto);margin:4px 10px 10px;min-height:30px}
.portal-label form{margin:0}.menu-compactar{display:grid;place-items:center;width:30px;height:30px;padding:5px;background:var(--nav-hover);border:1px solid var(--nav-borde);border-radius:5px;color:var(--nav-texto)}.menu-compactar:hover{background:var(--nav-seleccion);color:var(--nav-texto)}.menu-compactar svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.sidebar nav{overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--nav-borde) transparent;flex:1;padding-right:2px}
.nav-item{display:flex;align-items:center;gap:12px;color:var(--nav-texto);border-radius:10px;padding:9px 10px;margin-bottom:2px;font-size:13px;font-weight:500;min-height:38px}
.nav-icono{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.nav-item:hover{background:var(--nav-hover);text-decoration:none;color:var(--nav-texto)}.nav-item.seleccionado{background:var(--nav-seleccion);color:var(--acento)}
.nav-resumen{padding-bottom:10px;margin-bottom:8px;border-bottom:1px solid var(--nav-separador)}
.nav-grupo{margin-bottom:7px}.nav-grupo>summary{display:flex;align-items:center;justify-content:space-between;gap:6px;list-style:none;cursor:pointer;color:var(--muted);font-size:var(--texto-aux);letter-spacing:.5px;font-weight:600;text-transform:uppercase;min-height:33px;padding:7px 10px;border-radius:5px}
.nav-grupo>summary::-webkit-details-marker{display:none}.nav-grupo>summary:hover{color:var(--nav-texto);background:var(--nav-hover)}.nav-grupo>summary svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.5;transform:rotate(-90deg);flex-shrink:0}.nav-grupo[open]>summary svg{transform:rotate(0)}.sidebar :focus-visible{outline:2px solid var(--nav-foco);outline-offset:-2px}
.avatar{display:grid;place-items:center;flex-shrink:0}
.aplicacion{margin-left:var(--ancho-menu);min-height:100vh;display:flex;flex-direction:column}.sin-sidebar{margin-left:0}
.cabecera{position:sticky;top:0;z-index:30;min-height:62px;border-bottom:1px solid var(--linea);background:var(--papel);display:flex;align-items:center;justify-content:space-between;padding:10px 28px;gap:20px}
.cabecera-izquierda{min-width:0;display:flex;gap:12px;align-items:center}.breadcrumb{font-size:12px;color:var(--muted);display:flex;gap:12px;align-items:center}.breadcrumb a{color:var(--muted);white-space:nowrap}
.cabecera-preferencias{margin-left:auto;flex-shrink:0}.boton-tema{display:flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;border:1px solid var(--linea);border-radius:10px;background:transparent;color:var(--muted);cursor:pointer}.boton-tema:hover{background:var(--acento-claro);color:var(--acento)}.boton-tema svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.boton-tema .icono-luna,:root[data-tema=noche] .boton-tema .icono-sol{display:none}:root[data-tema=noche] .boton-tema .icono-luna{display:block}
.selector-clinica{display:flex;align-items:center;gap:9px}.selector-clinica label{font-size:12px;color:var(--muted)}.cabecera .selector-clinica select{max-width:255px;min-height:34px;font-size:12px;border-color:transparent;background-color:transparent;padding:6px}
.menu-movil{display:none}.menu-fondo{display:none}.menu-cerrar{display:none}
main{padding:22px 28px 28px;max-width:1600px;margin:0 auto;width:100%;flex:1}
.titulo-pagina{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px 20px;margin:8px 0 22px}.titulo-pagina>div{min-width:0}.titulo-pagina p{font-size:14px;margin:0}.eyebrow{display:block;font-size:10px;letter-spacing:1.3px;font-weight:600;color:var(--acento);margin-bottom:13px}
/* Las cabeceras densas reservan una fila completa para sus acciones. */
.titulo-pagina>.acciones{max-width:100%;align-items:center}
.titulo-pagina>.acciones:has(>:nth-child(6)){width:100%;padding:14px;gap:8px;border:1px solid var(--linea);border-radius:var(--radio);background:var(--papel)}
.titulo-pagina>.acciones:has(>:nth-child(6))>.boton:not(.secundario){margin-inline-start:auto}
@media(min-width:781px){.titulo-pagina>div:first-child:not(.acciones){flex:1 1 320px}.campos:not(.campos-tres):has(>.campo-checkbox:first-child+.campo-checkbox)>.campo-checkbox:nth-child(-n+2){padding-top:0}}
.boton{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:var(--boton-principal);color:var(--sobre-boton-principal);border:1px solid transparent;border-radius:10px;min-height:38px;padding:8px 14px;font-size:13px;font-weight:600;text-decoration:none!important;white-space:nowrap;line-height:1.4}
.boton:hover{background:var(--boton-principal-hover)}.boton.secundario{background:var(--papel);color:var(--tinta);border-color:var(--borde-control)}.boton.secundario{transition:background .15s ease,border-color .15s ease,color .15s ease}.boton.secundario:hover{background:var(--acento-claro);border-color:color-mix(in srgb,var(--acento) 45%,transparent);color:var(--acento)}.boton.pequeno{min-height:32px;padding:6px 10px;font-size:12px}
/* Acciones «Ver» de las tablas: ojo en lugar de flecha. */
.icono-accion{width:15px;height:15px;margin-left:1px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.boton.peligro{background:var(--error);color:var(--papel)}.boton.peligro.secundario{background:var(--error-fondo);color:var(--error);border-color:var(--error-borde)}.boton.procesando{opacity:.65}
/* Eliminar y cancelar cita (los tres portales): rojo intenso de peligro en el botón que abre la acción y en el que la confirma dentro del diálogo. */
:is(a.boton:is([href$="/eliminar/"],[href$="/estado/cancelada/"]),[data-dialogo-contenido]:is([data-url*="/eliminar/"],[data-url*="/estado/cancelada/"]) button.boton:not(.secundario),.boton.peligro[aria-describedby="motivo-proteccion"]){background:var(--peligro-eliminar);color:var(--sobre-peligro-eliminar);border-color:var(--peligro-eliminar)}:is(a.boton:is([href$="/eliminar/"],[href$="/estado/cancelada/"]),[data-dialogo-contenido]:is([data-url*="/eliminar/"],[data-url*="/estado/cancelada/"]) button.boton:not(.secundario)):hover{background:var(--peligro-eliminar-hover);color:var(--sobre-peligro-eliminar);border-color:var(--peligro-eliminar-hover)}
.acciones{display:flex;gap:10px;flex-wrap:wrap}.ancho{width:100%}.volver{display:inline-block;font-size:13px;margin-bottom:8px;padding:4px 0}
.metricas,.supervision-indicadores{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));gap:16px;margin:0 0 24px}
.metrica,.supervision-indicador{--metrica-color:var(--acento);display:flex;flex-direction:column;gap:10px;min-width:0;padding:14px 16px 16px;border:1px solid var(--linea);border-top:3px solid var(--metrica-color);border-radius:var(--radio);background:var(--papel);color:var(--tinta);box-shadow:0 2px 8px var(--sombra-suave)}
.metrica:nth-child(5n+2),.supervision-indicador:nth-child(5n+2){--metrica-color:var(--exito)}.metrica:nth-child(5n+3),.supervision-indicador:nth-child(5n+3){--metrica-color:var(--estado-pendiente)}.metrica:nth-child(5n+4),.supervision-indicador:nth-child(5n+4){--metrica-color:var(--origen-ia)}.metrica:nth-child(5n),.supervision-indicador:nth-child(5n){--metrica-color:var(--nav-foco)}
/* Supervisión: color por tipo de indicador, el mismo que su pastilla de «Atención» (integraciones en turquesa para no repetir el rojo de críticas). */
.supervision-indicador[data-testid="supervision-criticas"]{--metrica-color:var(--supervision-criticas)}.supervision-indicador[data-testid="supervision-alertas"]{--metrica-color:var(--supervision-alertas)}.supervision-indicador[data-testid="supervision-integraciones"]{--metrica-color:var(--supervision-integraciones)}.supervision-indicador[data-testid="supervision-recepcion"]{--metrica-color:var(--supervision-recepcion)}.supervision-indicador[data-testid="supervision-onboarding"]{--metrica-color:var(--supervision-onboarding)}
.metrica>span,.supervision-indicador>span{font-size:13px;font-weight:550;line-height:1.35;overflow-wrap:anywhere}
/* Escala tipográfica (28/20/16/14/12) aplicada al inicio de clínica; el resto de pantallas se migrará por paquetes. */
main:has(.grid-inicio) .titulo-pagina .boton,main:has(.grid-inicio) .panel-titulo>a:not(.boton),main:has(.grid-inicio) .metrica>span{font-size:var(--texto)}main:has(.grid-inicio) .panel-titulo h2{font-size:var(--texto-bloque)}@media (max-width:1440px){main:has(.grid-inicio) .panel-titulo h2{font-size:18px}}main:has(.grid-inicio) :is(.cita-resumen strong,.actividad strong,.cita-resumen .hora){font-size:var(--texto-seccion)}main:has(.grid-inicio) .cita-resumen .hora small{font-size:var(--texto-aux)}main:has(.grid-inicio) :is(.cita-resumen span:not(.hora) small,.actividad small){font-size:var(--texto)}main:has(.grid-inicio) .cita-resumen .badge{font-size:var(--texto-aux);font-weight:600}
.metrica strong,.supervision-accion{display:block;margin:0;padding:12px 14px;border:1px solid var(--linea);border-radius:8px;background:var(--acento-claro);font-size:30px;font-weight:700;line-height:1.15;letter-spacing:-.6px;font-variant-numeric:tabular-nums}
.metrica small{font-size:11px;color:var(--muted)}
/* Supervisión: solo el recuadro de acento es pulsable; icono de la causa arriba a la derecha. */
.supervision-indicador{position:relative}.supervision-indicador>span{padding-right:28px;font-size:16px}.supervision-icono{position:absolute;top:14px;right:16px;width:18px;height:18px;fill:none;stroke:var(--muted);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.supervision-accion{display:flex;flex-direction:column;gap:6px;color:var(--tinta);text-decoration:none;transition:border-color .15s}.supervision-accion{background:#f8f5ff}:root[data-tema=noche] .supervision-accion{background:var(--acento-claro)}.supervision-accion strong{font-size:32px;font-weight:inherit;letter-spacing:inherit}.supervision-resumen{margin:0;font-size:12px;line-height:1.4;color:var(--muted)}.supervision-accion small{font-size:14px;font-weight:550;letter-spacing:0;line-height:1.3;color:var(--acento)}
.panel,.formulario-panel,.seccion-abierta,.apariencia-opciones,.preparacion-lista,.busqueda-avanzada,.grupo-resultados,.estado-vacio{margin-bottom:22px;min-width:0;padding:20px;border:1px solid var(--linea);border-radius:var(--radio);background:var(--papel);box-shadow:0 2px 8px var(--sombra-suave)}.panel-titulo{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;padding-bottom:12px;border-bottom:1px solid var(--linea);margin-bottom:12px}.panel-titulo>div{min-width:0}.panel-titulo h2{margin:0;font-size:18px;overflow-wrap:anywhere}.panel-titulo a{font-size:13px}
.grid-inicio{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:30px;align-items:start}.inicio-operativa{min-width:0}.grid-inicio>.panel{min-height:0}.cita-resumen{position:relative;display:flex;align-items:center;gap:16px;margin:0 -12px;padding:11px 12px;border-radius:10px;color:var(--tinta);transition:background-color .15s ease}.cita-resumen+.cita-resumen{margin-top:2px}.cita-resumen+.cita-resumen::before{content:"";position:absolute;top:-1px;left:86px;right:12px;border-top:1px solid var(--linea)}.cita-resumen:hover,.cita-resumen:focus-visible{background:var(--superficie-suave);text-decoration:none}.cita-resumen:hover::before,.cita-resumen:hover+.cita-resumen::before,.cita-resumen:focus-visible::before,.cita-resumen:focus-visible+.cita-resumen::before{border-top-color:transparent}.cita-resumen:focus-visible{outline:2px solid var(--acento);outline-offset:0}.cita-resumen .hora{display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;min-width:58px;padding:8px 6px;border-radius:10px;background:var(--acento-claro);color:var(--acento);font-weight:700;font-size:16px;line-height:1.1;font-variant-numeric:tabular-nums}.cita-resumen .hora small{margin-top:4px;font-size:11px;font-weight:600;color:inherit;text-transform:uppercase;letter-spacing:.04em}.cita-resumen strong{font-size:15px;font-weight:650}.cita-resumen small{font-size:12.5px;margin-top:3px}.cita-resumen>span:nth-child(2){flex:1;min-width:0;overflow-wrap:anywhere}.cita-resumen .badge{margin-left:auto;flex-shrink:0}.cita-resumen::after{content:"›";flex-shrink:0;width:10px;color:var(--muted);font-size:20px;line-height:1;transition:transform .15s ease,color .15s ease}.cita-resumen:hover::after,.cita-resumen:focus-visible::after{color:var(--acento);transform:translateX(2px)}
.badge{display:inline-block;background:var(--superficie-suave);color:var(--muted);font-size:12px;line-height:1.4;border-radius:999px;padding:6px 9px;white-space:nowrap}.badge.reservada,.badge.confirmada{background:var(--exito-fondo);color:var(--exito)}.badge.cancelada,.badge.error,.badge.critica,.badge.fallido,.badge.interrumpido{background:var(--error-fondo);color:var(--error)}.badge.aviso,.badge.rechazado{background:var(--aviso-fondo);color:var(--aviso)}
/* Atención de supervisión: un color por causa; el borde refuerza la pastilla en el tema día. */
.badge.atencion{border:1px solid color-mix(in srgb,currentColor 45%,transparent);font-weight:550}.badge.atencion-critica{background:var(--supervision-criticas);color:var(--papel);border-color:var(--supervision-criticas);font-weight:650}.badge.atencion-integracion{--atencion-color:var(--supervision-integraciones)}.badge.atencion-alertas{--atencion-color:var(--supervision-alertas)}.badge.atencion-recepcion{--atencion-color:var(--supervision-recepcion)}.badge.atencion-onboarding{--atencion-color:var(--supervision-onboarding)}.badge.atencion:is(.atencion-integracion,.atencion-alertas,.atencion-recepcion,.atencion-onboarding){background:color-mix(in srgb,var(--atencion-color) 18%,var(--papel));color:var(--tinta);border-color:var(--atencion-color)}.badge.atencion-sin-pendientes{background:var(--exito-fondo);color:var(--exito)}.badge.paciente-activo,.badge.paciente-inactivo,.badge.paciente-nuevo,.badge.solicitud-estado{border-radius:6px;font-weight:600}.badge.paciente-activo{background:var(--exito-fondo);color:var(--exito)}.badge.paciente-inactivo{background:var(--acento-claro);color:var(--acento)}.badge.paciente-nuevo{background:var(--aviso-fondo);color:var(--aviso)}

:is(.tabla-registros,.cita-resumen) .badge:is(.reservada,.confirmada,.realizada,.cancelada,.origen-ia){border-radius:6px;padding:4px 8px;font-size:13px;font-weight:500}:is(.tabla-registros,.cita-resumen) .badge.reservada{background:var(--estado-pendiente-fondo);color:var(--estado-pendiente)}.badge.origen-ia{background:var(--origen-ia-fondo);color:var(--origen-ia)}
/* Agenda (tabla y detalle de cita): «Realizada» con el tono menta propio; los demás estados conservan los colores comunes. */
[data-base*="/agenda/"] .tabla-registros .badge.realizada,.cita-resumen .badge.realizada{background:var(--superficie-suave);color:var(--muted)}
.actividad{position:relative;display:flex;gap:14px;align-items:center;margin:0 -12px;padding:11px 12px;border-radius:10px;color:var(--tinta);text-decoration:none;transition:background-color .15s ease}.actividad+.actividad{margin-top:2px}.actividad:hover,.actividad:focus-visible{text-decoration:none;background:var(--superficie-suave)}.actividad:focus-visible{outline:2px solid var(--acento);outline-offset:0}.actividad>div{min-width:0}.actividad strong{font-size:14px;font-weight:600;overflow-wrap:anywhere}.actividad small{font-size:12.5px;margin-top:3px}.actividad-punto{position:relative;z-index:1;flex-shrink:0;width:12px;height:12px;border:2px solid var(--acento);border-radius:50%;background:var(--papel);transition:background-color .15s ease}.panel-titulo+.actividad .actividad-punto,.actividad:hover .actividad-punto{background:var(--acento);box-shadow:0 0 0 4px var(--acento-claro)}.actividad:has(.actividad-punto)+.actividad:has(.actividad-punto)::before{content:"";position:absolute;left:17px;top:-50%;bottom:50%;width:2px;background:var(--linea)}.actividad-enlace{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:28px;height:28px;margin-left:auto;border-radius:50%;color:var(--muted);transition:background-color .15s ease,color .15s ease}.actividad:hover .actividad-enlace,.actividad:focus-visible .actividad-enlace{background:var(--acento-claro);color:var(--acento)}
.franja-ayuda{display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid var(--linea);padding:20px 0}.franja-ayuda p{font-size:14px;margin:0}.franja-ayuda h2{font-size:18px;max-width:550px}
.vacio,.estado-vacio{text-align:center;padding:36px 24px;color:var(--muted)}.vacio>span,.estado-vacio>span{font-size:32px;color:var(--acento);display:block;margin-bottom:13px}.vacio :is(h2,h3),.estado-vacio :is(h2,h3){color:var(--tinta)}.vacio p,.estado-vacio p{font-size:13px;margin:0;max-width:550px;margin-inline:auto}
.filtros{display:flex;align-items:end;gap:10px;padding:12px 0 16px;flex-wrap:wrap;border-top:1px solid var(--linea)}.filtros>div{min-width:115px}.filtros .busqueda{flex:1;min-width:200px}.filtros label{font-size:12px;display:block;margin-bottom:7px;font-weight:550}.filtros input,.filtros select{min-height:38px;font-size:13px}
input:not([type=checkbox]):not([type=radio]),select,textarea{border:1px solid var(--borde-control);background:var(--papel);color:var(--tinta);border-radius:10px;padding:10px 12px;width:100%;min-height:40px}
select{color-scheme:inherit;cursor:pointer}select:not([multiple]):not([size]){appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 17px) 50%,calc(100% - 12px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-inline-end:32px!important}
/* Lista desplegada estilable donde el navegador lo admite; el resto conserva la lista nativa. */
@supports (appearance:base-select){select:not([multiple]):not([size]),select:not([multiple]):not([size])::picker(select){appearance:base-select}select:not([multiple]):not([size])::picker-icon{display:none}select:not([multiple]):not([size])::picker(select){margin-block:4px;padding:4px;border:1px solid var(--linea);border-radius:10px;background:var(--papel);color:var(--tinta);box-shadow:0 10px 28px var(--sombra-suave)}select:not([multiple]):not([size]) option{padding:8px 10px;border-radius:6px;background:transparent;color:var(--tinta)}select:not([multiple]):not([size]) option::checkmark{display:none}select:not([multiple]):not([size]) option:is(:hover,:focus-visible){background:var(--superficie-suave);outline:none}select:not([multiple]):not([size]) option:checked{background:var(--acento-claro);color:var(--acento);font-weight:600}select:not([multiple]):not([size]) option:disabled{background:transparent;color:var(--muted)}select:not([multiple]):not([size]) optgroup{padding-top:4px;color:var(--muted);font-size:12px;font-weight:600}}select option,select optgroup{background:var(--papel);color:var(--tinta)}select option:checked{background:var(--acento);color:var(--sobre-acento)}select:disabled,select option:disabled{background-color:var(--superficie-suave);color:var(--muted);cursor:not-allowed;opacity:1}
input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}input:disabled,textarea:disabled{background:var(--superficie-suave)}input[type=checkbox],input[type=radio]{accent-color:var(--acento);width:18px;height:18px;vertical-align:middle;cursor:pointer}
/* Casillas con la paleta global: caja propia y marca en --sobre-acento. */
input[type=checkbox]{appearance:none;-webkit-appearance:none;display:inline-grid;place-content:center;flex-shrink:0;border:1.5px solid var(--borde-control);border-radius:5px;background:var(--papel);transition:background-color .15s,border-color .15s}input[type=checkbox]::before{content:"";width:12px;height:12px;background:var(--sobre-acento);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7'/%3E%3C/svg%3E") center/contain no-repeat;transform:scale(0);transition:transform .12s}input[type=checkbox]:checked,input[type=checkbox]:indeterminate{background:var(--acento);border-color:var(--acento)}input[type=checkbox]:checked::before,input[type=checkbox]:indeterminate::before{transform:scale(1)}input[type=checkbox]:indeterminate::before{-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12h12'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12h12'/%3E%3C/svg%3E") center/contain no-repeat}input[type=checkbox]:hover:not(:disabled){border-color:var(--acento)}input[type=checkbox]:focus-visible{outline:2px solid var(--acento);outline-offset:2px}input[type=checkbox]:disabled{opacity:.5;cursor:not-allowed}
textarea{resize:vertical;min-height:90px}
table{width:100%;border-collapse:collapse;text-align:left;font-size:13.5px;background:var(--papel)}th{background:var(--superficie-suave);color:var(--muted);font-weight:600;font-size:12px;padding:12px 14px;border-bottom:1px solid var(--linea);white-space:nowrap}td{padding:12px 14px;border-bottom:1px solid var(--linea);vertical-align:middle}td small{font-size:12px;margin-top:4px}tbody tr:hover:not(:has(.columna-acciones :is(a,button,summary):hover)){background:var(--superficie-suave)}
.tabla-scroll{position:relative;overflow:auto;overscroll-behavior-x:contain;border:1px solid var(--linea);border-radius:var(--radio)}.acciones-fila{white-space:nowrap;font-size:13px}.acciones-fila a+a{margin-left:6px}
.tabla-filtros-panel>summary{display:none}.tabla-componente .filtros{margin:0}.tabla-componente .filtros :is(input,select){min-height:36px;padding:7px 10px;font-size:13px}.tabla-componente .filtros>div{min-width:125px;max-width:250px}
/* Supervisión: el filtro «Mostrar» tiene opciones largas; cabe en una línea sin desigualar la fila. */
.tabla-componente .filtros>div:has(>select[name="foco"]){max-width:340px;flex:0 1 auto}.tabla-componente .filtros select[name="foco"]{white-space:nowrap}.tabla-componente .filtros>.busqueda{max-width:420px;min-width:200px;flex:1 1 240px}.tabla-registros th:not(.columna-seleccion):not(.columna-acciones){padding:0}.tabla-registros th a{white-space:nowrap;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:30px;padding:6px 9px;margin:5px;border:1px solid var(--borde-control);border-radius:5px;background:var(--papel);color:var(--muted);text-decoration:none}.tabla-registros th a:hover{background:var(--acento-claro);color:var(--acento)}.tabla-registros th[aria-sort=ascending] a,.tabla-registros th[aria-sort=descending] a{color:var(--acento)}.tabla-registros th a span{font-size:13px}.tabla-componente .columna-seleccion{width:42px;padding-inline:12px}.tabla-componente td{font-variant-numeric:tabular-nums;overflow-wrap:normal}.tabla-componente .columna-acciones{background:var(--papel);width:1%;white-space:nowrap}.tabla-componente th.columna-acciones{background:var(--superficie-suave)}.tabla-componente tbody tr:hover:not(:has(.columna-acciones :is(a,button,summary):hover)) .columna-acciones{background:var(--superficie-suave)}
.tabla-estado{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-height:27px;font-size:11px;color:var(--muted);padding-bottom:7px}.tabla-estado [role=alert]{color:var(--error)}.tabla-estado.tabla-sin-filtros{min-height:0;padding-bottom:0}.tabla-inmediata .tabla-aplicar{display:none}.tabla-componente [aria-busy=true] .tabla-scroll{opacity:.65}.tabla-componente .mensaje.error p{margin-bottom:6px}.tabla-componente .acciones-masivas{min-height:48px;padding-top:12px}.tabla-componente .acciones-masivas select{min-width:130px;max-width:210px}.tabla-componente .paginacion{padding-top:14px;flex-wrap:wrap}.tabla-componente .paginacion-resumen{gap:12px}.tabla-componente .paginacion-resumen label{font-size:11px}.tabla-componente .paginacion-resumen select{width:65px;min-height:32px;padding:5px 7px;font-size:12px}.tabla-componente .paginas{gap:4px}.paginas>a,.paginas>span:not(.solo-lector){display:grid;place-items:center;min-width:30px;min-height:30px;padding:4px 7px;border-radius:5px}.paginas>a{border:1px solid var(--borde-control);background:var(--papel)}.paginas>a:hover{background:var(--acento-claro);text-decoration:none}.pagina-actual{color:var(--acento);background:var(--acento-claro);font-weight:600}.pagina-deshabilitada{color:var(--muted);opacity:.6}.tabla-componente [data-tabla-seleccion]{min-width:190px}
.paginacion{display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:12px;color:var(--muted);padding-top:20px}.paginacion>div{display:flex;align-items:center;gap:14px}.paginacion a{padding:5px 2px;min-height:30px}.acciones-masivas{display:flex;align-items:center;gap:12px;padding-top:18px;font-size:13px}.acciones-masivas select{width:auto;font-size:13px;min-height:38px;padding:7px 10px}
.form-seccion{margin-bottom:20px;border:1px solid var(--linea);border-radius:var(--radio);padding:18px;background:var(--papel)}.form-seccion h2,.form-seccion summary{font-size:14px;font-weight:600;margin-bottom:14px}.form-seccion summary{cursor:pointer;padding-block:4px}details.form-seccion:not([open])>summary{margin-bottom:0}.campo.campo-checkbox{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:center;align-content:start;align-self:start;gap:6px 8px;padding-top:23px}.campo.campo-checkbox>label{margin:0}.campo.campo-checkbox>small,.campo.campo-checkbox>[role=alert]{grid-column:1/-1;margin:0}.campos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 22px}.campo{border:0;padding:0;margin:0;min-width:0}.campo>legend{padding:0}.campo:has(textarea),fieldset.campo:has(input[type=checkbox]){grid-column:1/-1}.campo>label,.campo>legend{display:block;font-weight:550;font-size:13px;margin-bottom:7px}.campo>label span,.campo>legend span{color:var(--acento)}.campo>small{margin-top:7px;font-size:12px}.campo>div:where(:has(>div>label>input[type=checkbox])){display:flex;flex-wrap:wrap;gap:12px 24px}.campo>div:where(:has(>div>label>input[type=checkbox]))>div{min-width:min(175px,100%)}.campo>div>div>label{font-size:13px;display:flex;gap:9px;align-items:center;min-height:30px}.campo-error :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select,textarea){border-color:var(--error)}.campo-error input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):focus-visible,.campo-error select:focus-visible,.campo-error textarea:focus-visible{border-color:var(--error);box-shadow:0 0 0 1px var(--error)}.error-campo{font-size:13px;color:var(--error);margin:8px 0 0}.errorlist{color:var(--error);font-size:13px;padding-left:20px}
.form-acciones{display:flex;justify-content:flex-end;align-items:center;gap:12px;flex-wrap:wrap;border-top:1px solid var(--linea);padding-top:18px;margin-top:22px}.detalle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 26px;margin:0;padding:18px 0;border-top:1px solid var(--linea)}.detalle-grid dt{font-size:12px;color:var(--muted);font-weight:550;margin-bottom:5px}.detalle-grid dd{margin:0;font-size:14px;overflow-wrap:anywhere;max-height:600px;overflow:auto}
.confirmar{width:calc(100% - 32px);max-width:660px;margin:7vh auto;text-align:center;padding:32px;background:var(--papel);border:1px solid var(--linea);border-radius:12px}.confirmar .form-acciones{justify-content:center}.icono-confirmar{display:inline-grid;place-items:center;background:var(--aviso-fondo);color:var(--aviso);width:46px;height:46px;border-radius:50%;font-size:25px;margin-bottom:20px}
.mensajes{margin-bottom:22px}.mensaje{border:1px solid var(--exito-borde);background:var(--exito-fondo);padding:14px 18px;border-radius:8px;margin-bottom:14px;color:var(--exito);font-size:14px}.mensaje.warning{background:var(--aviso-fondo);border-color:var(--aviso);color:var(--aviso)}.mensaje.info{background:var(--superficie-suave);border-color:var(--linea);color:var(--tinta)}.mensaje.error{background:var(--error-fondo);border-color:var(--error-borde);color:var(--error)}.mensaje p{color:inherit}.mensaje ul{padding-left:18px;margin:0}
.tabs{display:flex;gap:5px;border-bottom:1px solid var(--linea);margin-bottom:26px;overflow-x:auto;scrollbar-width:thin}.tabs a{flex:none;white-space:nowrap;padding:13px 22px;font-size:14px;color:var(--muted);border-radius:10px 10px 0 0}.tabs a[aria-current=page]{color:var(--acento);background:var(--acento-claro);border-bottom:3px solid var(--acento);font-weight:650}
.traza{border:1px solid var(--linea);border-radius:8px;margin-top:14px;padding:14px;font-size:12px}.traza summary{cursor:pointer;color:var(--acento);min-height:28px}pre{white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.7 ui-monospace,monospace;background:var(--superficie-suave);border-radius:8px;padding:16px;max-height:500px;overflow:auto}
.paso-numero{width:28px;height:28px;border-radius:50%;background:var(--superficie-suave);display:grid;place-items:center;color:var(--muted);flex-shrink:0}.paso-numero.completo{background:var(--acento-claro);color:var(--acento)}progress{height:5px;width:100%;accent-color:var(--acento);border:0;border-radius:3px;overflow:hidden;appearance:none}progress::-webkit-progress-bar{background:var(--superficie-suave)}progress::-webkit-progress-value{background:var(--acento)}progress::-moz-progress-bar{background:var(--acento)}.muted{color:var(--muted)}
.tema-fila{border-bottom:1px solid var(--linea);padding:22px 0}.tema-fila .campos{grid-template-columns:minmax(150px,1fr) minmax(260px,3fr);gap:14px 24px}.tema-fila .campo:has(textarea){grid-column:auto}.tema-fila .campo:has(input[type=checkbox]){grid-column:1/-1}.tema-fila .campo>label,.campo>legend{font-size:13px}
.estado-integraciones{display:flex;flex-wrap:wrap;gap:12px 20px;border-block:1px solid var(--linea);padding:12px 0;margin-bottom:16px}.estado-integraciones a{display:flex;flex-direction:column;gap:6px;font-size:14px;color:var(--tinta)}.estado-integraciones span{font-size:12px;color:var(--muted)}.aviso-inline{font-size:13px;border-left:3px solid var(--acento);padding-left:14px;margin-bottom:24px}
.conversacion-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:28px}.chat-superficie{background:var(--papel);border:1px solid var(--linea);border-radius:16px;box-shadow:0 2px 8px var(--sombra-suave);overflow:hidden}.chat-cabecera{display:flex;align-items:center;flex-wrap:wrap;gap:12px;border-bottom:1px solid var(--linea);padding:18px 20px}.chat-cabecera>div{min-width:0;overflow-wrap:anywhere}.chat-cabecera .form-inline{margin:0;max-width:100%}.chat-cabecera .form-inline .boton{white-space:normal}.chat-cabecera .badge{margin-left:auto}.avatar-ia{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--acento-claro);color:var(--acento);font-weight:650;flex-shrink:0}.chat-mensajes{height:440px;overflow:auto;overscroll-behavior:contain;padding:24px;display:flex;flex-direction:column;gap:18px}.burbuja{max-width:88%;overflow-wrap:anywhere;padding:14px 18px;border-radius:12px;background:var(--acento-claro);align-self:flex-start}.burbuja.user{align-self:flex-end;background:var(--acento);color:var(--sobre-acento)}.burbuja p{color:inherit;margin:4px 0 0;font-size:14px;white-space:pre-wrap}.burbuja small{font-size:11px;color:inherit}.chat-estado{font-size:12px;color:var(--muted);padding:10px 20px;background:var(--superficie-suave);border-top:1px solid var(--linea)}.chat-form{padding:16px 20px}.chat-form textarea{resize:none;min-height:65px;background:var(--fondo)}.chat-acciones{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px}.chat-acciones>span{font-size:12px;color:var(--muted)}.controles-voz{border-top:1px solid var(--linea);padding:14px 20px}.inspector-conversacion{min-width:0}.inspector-conversacion>p{font-size:13px}.turno-resumen{border-bottom:1px solid var(--linea);padding:12px 0;font-size:13px}.turno-resumen small{font-size:11px;overflow-wrap:anywhere}.turno-resumen .error-campo{font-size:12px}
.sin-sidebar main{padding:0;max-width:none}
/* Las secciones interiores comparten la tarjeta exterior. */
:is(.panel,.formulario-panel,.seccion-abierta) :is(.panel,.formulario-panel,.seccion-abierta,.form-seccion){padding:16px 0;border:0;border-top:1px solid var(--linea);border-radius:0;background:transparent;box-shadow:none}
:is(.panel,.formulario-panel,.seccion-abierta) .acciones+:is(.panel,.formulario-panel,.seccion-abierta,.form-seccion){margin-top:18px}
:is(.panel,.formulario-panel,.seccion-abierta) .acciones+p{margin-top:14px}
.form-acciones+.panel{margin-top:18px}
.panel>.detalle-grid:first-child{padding-top:0;border-top:0}
:is(.panel,.formulario-panel)>form>.form-seccion:first-of-type,.formulario-panel>.form-seccion:first-of-type{padding-top:0;border-top:0}
.seccion-abierta>form:not([class]){display:grid;gap:12px;margin:14px 0 20px}
.seccion-abierta>form:not([class]):last-child{margin-bottom:0}
.seccion-abierta>form:not([class])>label:has(>select){display:grid;gap:6px;font-size:13px}
.seccion-abierta>form:not([class])>fieldset{min-width:0;margin:0;padding:14px;border:1px solid var(--linea);border-radius:10px;display:grid;gap:12px}
.seccion-abierta>form:not([class])>fieldset>legend{font-size:13px;padding-inline:6px}
/* Cabecera y búsqueda: controles operativos, no indicadores decorativos. */
.miga{display:flex;align-items:center;gap:12px;font-size:11px;color:var(--muted);margin-bottom:12px;flex-wrap:wrap}.miga a{color:var(--muted)}
.buscador-superior{display:flex;align-items:center;gap:12px;background:var(--fondo);color:var(--muted);border:1px solid var(--linea);border-radius:6px;padding:8px 10px;min-height:34px;flex:1;max-width:350px;min-width:165px;text-align:left;font-size:13px}.buscador-superior:hover{background:var(--superficie-suave)}.buscador-superior>svg,.menu-cabecera>summary>svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.buscador-superior kbd{margin-left:auto;font:11px var(--fuente);border:1px solid var(--linea);border-radius:4px;padding:2px 5px;white-space:nowrap}.acciones-cabecera{display:flex;align-items:center;gap:10px;margin-left:0}.menu-cabecera{position:relative}.menu-cabecera>summary{list-style:none;display:flex;align-items:center;justify-content:center;cursor:pointer;min-width:34px;min-height:34px;border:0;border-radius:6px;color:var(--muted);position:relative}.menu-cabecera>summary::-webkit-details-marker{display:none}.menu-cabecera>summary:hover,.menu-cabecera[open]>summary{background:var(--acento-claro);color:var(--acento)}.menu-usuario>summary{border:0}.menu-usuario .avatar{width:30px;height:30px;background:var(--superficie-suave);color:var(--muted);border-radius:50%;font-size:12px}.contador-cabecera{position:absolute;right:-5px;top:-7px;background:var(--error);color:var(--papel);font-size:11px;line-height:20px;min-width:20px;text-align:center;border-radius:10px;padding:0 4px}.desplegable-cabecera{position:absolute;right:0;top:calc(100% + 10px);width:270px;max-width:calc(100vw - 24px);background:var(--papel);border:1px solid var(--linea);border-radius:10px;box-shadow:0 14px 40px var(--sombra-suave);padding:8px;z-index:45}.desplegable-cabecera>strong{display:block;padding:12px;font-size:14px;border-bottom:1px solid var(--linea);margin-bottom:6px}.desplegable-cabecera a,.desplegable-cabecera button{display:block;width:100%;text-align:left;padding:11px 12px;background:none;border:0;border-radius:6px;color:var(--tinta);font-size:13px;line-height:1.45}.desplegable-cabecera a:hover,.desplegable-cabecera button:hover{background:var(--superficie-suave);text-decoration:none}.desplegable-cabecera p{font-size:13px;padding:12px;margin:0}.desplegable-cabecera small{font-size:12px;margin-top:4px}.alertas-desplegable{width:325px}.alertas-desplegable a span{overflow-wrap:anywhere}.alertas-desplegable>strong{display:flex;justify-content:space-between}
/* Botón de usuario de la cabecera: sin fondo resaltado al pasar el ratón ni con el menú abierto. */
.menu-usuario>summary:hover,.menu-usuario[open]>summary{background:transparent;color:var(--muted)}
#buscador-dialogo{width:570px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 30px);margin:10vh auto auto;border:1px solid var(--linea);border-radius:14px;background:var(--papel);color:var(--tinta);padding:24px;box-shadow:0 24px 100px var(--sombra-media)}#buscador-dialogo::backdrop{background:var(--velo-dialogo);backdrop-filter:blur(3px)}.buscador-titulo{display:flex;align-items:center;justify-content:space-between;gap:20px}.buscador-titulo h2{font-size:20px;margin:0}.buscador-titulo button{border:0;background:none;color:var(--muted);font-size:27px;width:40px;height:40px}.buscador-form label{display:block;font-size:13px;font-weight:550;margin:18px 0 8px}.buscador-form .form-acciones{justify-content:space-between;margin-top:24px}.buscador-form .form-acciones a{font-size:13px}#buscador-dialogo>small{margin-top:18px;font-size:12px}.busqueda-avanzada .campos{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.busqueda-avanzada .campo:first-child{grid-column:span 2}.ayuda-busqueda{font-size:12px;margin:18px 0 0}.resultados-busqueda{padding-top:0}.resultado-busqueda{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 0;border-bottom:1px solid var(--linea)}.resultado-busqueda>div{min-width:0}.resultado-busqueda strong{font-size:14px;overflow-wrap:anywhere}.resultado-busqueda p{font-size:13px;margin:5px 0}.resultado-busqueda small{font-size:12px}
/* Reflujo de la misma cabecera: una fila en escritorio, dos en móvil. */
@media(min-width:1600px){main,.cabecera{padding-inline:36px}}
@media(max-width:1450px){.cabecera .selector-clinica select{max-width:235px}.buscador-superior kbd{display:none}.cabecera{gap:12px}.acciones-cabecera{gap:7px}}
@media(max-width:1250px){.cabecera,main{padding-inline:24px}.grid-inicio{gap:28px}.titulo-pagina{align-items:flex-start}}
@media(max-width:1180px){.buscador-superior{min-width:34px;max-width:34px;padding:6px;flex:0;border-color:transparent;background:transparent}.buscador-superior span{display:none}.cabecera .selector-clinica{flex:1}.cabecera .selector-clinica select{max-width:290px}}
@media(min-width:1181px){.campos.campos-tres{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* Ambos modelos comparten panel; los tres controles auxiliares forman su fila. */
@media(min-width:781px){
  .campos:has([name=modelo_id]){grid-template-columns:repeat(2,minmax(0,1fr))}
  .campos>.campo:has([name=coletillas_activas]){grid-column:1}
}
@media(min-width:1400px){
  .campos.campos-tres:has([name=modelo_id]){grid-template-columns:repeat(4,minmax(0,1fr))}
  .campos>.campo:has([name=coletillas_modelo]){grid-column:span 2}
}
@media(max-width:1180px) and (min-width:781px){.campos.campos-tres{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1050px){.grid-inicio{grid-template-columns:1fr}.grid-inicio>.panel{min-height:0}.conversacion-layout{grid-template-columns:1fr}.inspector-conversacion{border-top:1px solid var(--linea);padding-top:20px}}
/* El carril conserva una sola navegación y deja el contenido usar el espacio. */
@media(min-width:581px){
  .menu-compacto{--ancho-menu:64px}
  .menu-compacto .sidebar{padding-inline:8px}
  .menu-compacto .sidebar .marca{padding-inline:0;justify-content:center}
  .menu-compacto .sidebar .logo-oficial{display:none}.menu-compacto .marca-carril{display:block}
  .menu-compacto .portal-label{justify-content:center;margin-inline:0}
  .menu-compacto .portal-nombre,.menu-compacto .nav-grupo>summary{display:none}
  .menu-compacto .menu-compactar svg{transform:scaleX(-1)}
  .menu-compacto .sidebar nav{padding:0}
  .menu-compacto .nav-item{justify-content:center;padding:9px 6px;gap:0}
  .menu-compacto .nav-grupo{border-top:1px solid var(--nav-separador);padding-top:7px}
  .menu-compacto .nav-resumen{margin-bottom:0;border-bottom:0;padding-bottom:7px}
  .menu-compacto .nav-texto{position:fixed;left:72px;top:var(--etiqueta-top,0);z-index:41;max-width:260px;padding:7px 11px;border:1px solid var(--nav-borde);border-radius:6px;background:var(--nav);color:var(--nav-texto);box-shadow:0 4px 12px var(--sombra-media);white-space:nowrap;pointer-events:none;visibility:hidden}
  .menu-compacto .nav-item:is(:hover,:focus-visible) .nav-texto{visibility:visible}
}
@media(max-width:780px){
  [data-menu-preferencia]{display:none}
  .menu-cerrar{display:inline-flex;align-items:center;gap:8px;background:var(--nav-hover);color:var(--nav-texto);border:1px solid var(--nav-borde);border-radius:5px;padding:6px 9px;min-height:36px;font-size:12px}.menu-cerrar span{font-size:18px;line-height:1}
  .sidebar{transform:translateX(-100%);width:240px}.menu-abierto .sidebar{transform:translateX(0)}.aplicacion{margin-left:0}
  .cabecera{display:grid;grid-template-columns:36px 36px minmax(0,1fr) auto;min-height:0;padding:8px 12px;gap:6px 8px}
  .menu-movil{display:block;background:transparent;border:0;border-radius:6px;width:36px;min-height:36px;color:var(--tinta);font-size:19px}
  .cabecera .buscador-superior{min-width:36px;max-width:36px;min-height:36px;padding:8px}
  .cabecera :is(.selector-clinica,.selector-clinica-buscar){grid-row:2;grid-column:1/4;min-width:0;max-width:none;margin-left:0}.cabecera .selector-clinica select{max-width:none;min-height:32px;padding:4px 6px;font-size:12px;background-color:var(--fondo)}
  .cabecera>.cabecera-preferencias{grid-row:2;grid-column:4;margin-left:0;justify-self:end}
  .acciones-cabecera{grid-row:1;grid-column:3/-1;gap:5px;justify-content:flex-end;margin-left:0}.boton-tema{width:36px;height:36px}.menu-cabecera>summary{min-width:32px;min-height:36px}
  .desplegable-cabecera{position:fixed;right:12px;top:54px;max-height:calc(100dvh - 70px);overflow:auto}
  .menu-abierto .menu-fondo{display:block;position:fixed;inset:0;background:var(--sombra-intensa);border:0;z-index:35}.menu-abierto{overflow:hidden}
  .campo.campo-checkbox{padding-top:0}
  .panel,.formulario-panel,.seccion-abierta,.apariencia-opciones,.preparacion-lista,.busqueda-avanzada,.grupo-resultados,.estado-vacio{padding:14px}
  table.tabla :is(th,td){white-space:normal;overflow-wrap:normal;padding:10px 6px;font-size:12px}table.tabla th{overflow-wrap:anywhere}
  main{padding:16px 18px 24px}.entorno{font-size:10px;align-items:flex-start;margin-bottom:18px}.entorno .punto{margin-top:5px}.entorno>span:last-child{display:none}.miga{font-size:11px;margin-bottom:10px}
  .titulo-pagina>.acciones:has(>:nth-child(6)){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
  .titulo-pagina>.acciones:has(>:nth-child(6))>form{margin:0;min-width:0}
  .titulo-pagina>.acciones:has(>:nth-child(6))>.boton,.titulo-pagina>.acciones:has(>:nth-child(6))>form>.boton{width:100%;height:100%;white-space:normal;text-align:center}
  .titulo-pagina>.acciones:has(>:nth-child(6))>.boton:not(.secundario){grid-column:1/-1;margin-inline-start:0}
  .titulo-pagina{flex-direction:column;gap:14px;margin-bottom:20px}.titulo-pagina h1{font-size:25px}.titulo-pagina p{font-size:13px}
  .metricas,.supervision-indicadores{gap:12px}.metrica strong,.supervision-accion{font-size:26px}.grid-inicio{gap:18px}.franja-ayuda{align-items:flex-start;flex-direction:column;gap:14px}
  .tabla-scroll table{min-width:620px}
  main :is(input:not([type=checkbox]):not([type=radio]),select,.boton){min-height:44px}
  .campos,.campos-tres,.detalle-grid,.tema-fila .campos{grid-template-columns:1fr}.filtros>div{flex:1}.paginacion{align-items:flex-start}.paginacion>div{flex-wrap:wrap;justify-content:flex-end}.acciones-masivas{flex-wrap:wrap}
  .busqueda-avanzada .campos{grid-template-columns:repeat(2,minmax(0,1fr))}.resultado-busqueda{gap:14px;align-items:flex-start}.resultado-busqueda .boton{white-space:normal;min-width:75px}
  .confirmar{margin:35px auto;padding:24px}
  .chat-mensajes{height:380px;padding:16px}.burbuja{max-width:94%}.chat-acciones{flex-wrap:wrap}.chat-form{padding:14px}.tabs a{padding:12px 16px}
}
@media(max-width:460px){.busqueda-avanzada .campos{grid-template-columns:1fr}.busqueda-avanzada .campo:first-child{grid-column:auto}.resultado-busqueda{flex-direction:column}.resultado-busqueda .boton{min-height:40px}.acciones{width:100%}.form-acciones .boton{flex:1}.paginacion{flex-direction:column;gap:12px}.acciones-masivas select{flex:1}.filtros .busqueda{flex-basis:100%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Una superficie contextual compartida; la tabla conserva su posición. */
body.dialogo-abierto{overflow:hidden}
.dialogo-gestion{--ancho-dialogo:960px;width:min(var(--ancho-dialogo),calc(100vw - 48px));max-width:none;max-height:calc(100dvh - 48px);padding:0;border:1px solid var(--linea);border-radius:16px;background:var(--papel);color:var(--tinta);box-shadow:0 24px 90px var(--sombra-intensa);overflow:hidden}
.dialogo-gestion:has(.confirmar){--ancho-dialogo:560px}
.dialogo-gestion[open]{display:flex;flex-direction:column}
.dialogo-gestion::backdrop{background:var(--velo-dialogo);backdrop-filter:blur(2px)}
.dialogo-barra{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 20px;border-bottom:1px solid var(--linea);flex-shrink:0}
.dialogo-barra>span{font-size:12px;font-weight:600;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dialogo-barra>div{display:flex;align-items:center;gap:14px;flex-shrink:0}.dialogo-barra .icono-boton{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--borde-control);border-radius:6px;background:transparent;color:var(--muted);font-size:24px;line-height:1}.dialogo-barra .icono-boton:hover{background:var(--superficie-suave);color:var(--tinta)}
.dialogo-cuerpo{padding:22px 24px;overflow:auto;overscroll-behavior:contain}
.dialogo-gestion>[data-dialogo-booky]{flex-shrink:0;margin:14px 24px 0}
#detalle-dialogo[data-portal="staff"] .dialogo-barra{justify-content:flex-end}#detalle-dialogo[data-portal="staff"] :is(#dialogo-titulo,[data-dialogo-pagina],.dialogo-barra>.boton,[data-dialogo-contenido] .titulo-pagina a.volver[href$="/agenda/"]),#detalle-dialogo[data-portal="staff"]>[data-dialogo-booky]{display:none}
[data-tabla][data-base="/staff/pacientes/"] .acciones-registro a[href$="/editar/"]{display:none}[data-tabla][data-base="/staff/pacientes/"] .tabla-registros tbody td:nth-child(2){font-weight:600}
form[data-tabla-filtros]:has(input[name="vista"]):not(:has(input[name="vista"][value="tabla"])) select[name="estado"] option[value="cancelada"]{display:none}
.dialogo-cuerpo [data-dialogo-estado]:empty{display:none}
.dialogo-cuerpo .titulo-pagina{margin-bottom:18px}.dialogo-cuerpo h1{font-size:23px}
.dialogo-cuerpo :is(.panel,.formulario-panel,.seccion-abierta){padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.dialogo-cuerpo .panel+.panel{margin-top:22px;padding-top:18px;border-top:1px solid var(--linea)}
.dialogo-cuerpo .detalle-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dialogo-cuerpo .detalle-grid dd{overflow-wrap:anywhere}
.dialogo-cuerpo .confirmar{width:auto;max-width:none;text-align:left;padding:6px 0;margin:0}.dialogo-cuerpo .confirmar .form-acciones{justify-content:flex-end}.dialogo-cuerpo .icono-confirmar{display:none}
@media(max-width:780px){.dialogo-gestion{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);border-radius:10px}.dialogo-barra{padding:8px 12px}.dialogo-cuerpo{padding:16px}.dialogo-gestion>[data-dialogo-booky]{margin:12px 16px 0}.dialogo-barra>span{max-width:42vw}.dialogo-cuerpo .detalle-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dialogo-cuerpo h1{font-size:21px}}
@media(max-width:450px){.dialogo-cuerpo .detalle-grid{grid-template-columns:1fr}.dialogo-cuerpo .titulo-pagina{align-items:flex-start}}

.calendario-barra{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0 14px;font-size:12px;color:var(--muted)}.calendario-barra nav{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.calendario-barra strong{font-size:14px;color:var(--tinta);font-weight:600}
.cuadrante{table-layout:fixed;min-width:900px}.cuadrante th,.cuadrante td{padding:8px 10px;border-right:1px solid var(--linea);vertical-align:top}.cuadrante th:not(.profesional-fijo),.cuadrante td{text-align:center}.cuadrante th span{display:block;font-size:11px;font-weight:400}.cuadrante .profesional-fijo{width:190px;padding:12px 18px;vertical-align:middle;position:sticky;left:0;z-index:2;text-align:left;white-space:normal}.cuadrante tbody .profesional-fijo{background:var(--papel);color:var(--tinta);font-size:12px;padding-block:13px}.cuadrante tbody tr:hover .profesional-fijo{background:var(--superficie-suave)}
.franja-horario{display:inline-flex;align-items:center;min-height:24px;font-size:12px;color:var(--tinta);padding:3px 6px;margin:2px 4px 2px 0;border:1px solid var(--borde-control);border-left:2px solid var(--acento);background:color-mix(in srgb,var(--acento) 4%,var(--papel));border-radius:3px;white-space:nowrap;text-align:center}.franja-horario:hover{background:var(--acento);border-color:var(--acento);color:var(--sobre-acento);text-decoration:none}.franja-horario.urgente{border-color:var(--error);background:var(--error-fondo)}.franja-horario.bloqueada{border-color:var(--error-borde);background:var(--error-fondo);color:var(--error)}
.franja-horario:is(.urgente,.bloqueada):hover{background:var(--error);border-color:var(--error);color:var(--papel)}.franja-horario.bloqueada:hover small{color:inherit}.franja-horario.pms{background:var(--exito-fondo);border-color:var(--exito-borde);border-left-color:var(--exito);cursor:default}.franja-horario.pms:hover{background:var(--exito-fondo);border-color:var(--exito-borde);border-left-color:var(--exito);color:var(--tinta)}.franja-horario small{font-size:10px;color:var(--error);margin:0}.sin-horario{display:block;text-align:center;color:var(--muted);padding:5px}
.horarios-pie{display:flex;justify-content:space-between;gap:16px;padding-top:12px;font-size:11px;color:var(--muted)}.horarios-semana .tabla-scroll{max-height:calc(100dvh - 330px);min-height:150px;scrollbar-width:thin}.cuadrante thead th{position:sticky;top:0;z-index:3}.cuadrante thead th.profesional-fijo{z-index:4}
@media(max-width:780px){.cuadrante .profesional-fijo{width:150px;padding-inline:14px}.cuadrante{min-width:850px}.horarios-semana .tabla-scroll{max-height:60dvh}.horarios-pie{flex-direction:column;gap:8px}.calendario-barra{flex-wrap:wrap}.calendario-barra nav{gap:10px}}

.aviso-contextual{position:fixed;bottom:20px;left:calc(var(--ancho-menu) + 28px);max-width:min(620px,calc(100vw - 48px));z-index:60;display:flex;align-items:center;gap:16px;background:var(--exito-fondo);color:var(--exito);border:1px solid var(--exito-borde);border-radius:8px;padding:10px 14px;box-shadow:0 5px 20px var(--sombra-suave)}.aviso-contextual p{margin:0;font-size:13px;color:inherit}.aviso-contextual button{font-size:22px;color:inherit;padding:0 4px}@media(max-width:780px){.aviso-contextual{left:12px;bottom:14px;max-width:calc(100vw - 100px)}}

.boton:active{transform:translateY(1px)}.panel-titulo>a:not(.boton),.miga a{text-decoration:none}.grid-inicio .panel-titulo>a:not(.boton){display:inline-flex;align-items:center;padding:6px 12px;border:1px solid var(--linea);border-radius:999px;font-size:13px;font-weight:600;color:var(--acento);text-decoration:none;transition:background-color .15s ease,border-color .15s ease}.grid-inicio .panel-titulo>a:not(.boton):hover,.grid-inicio .panel-titulo>a:not(.boton):focus-visible{background:var(--acento-claro);border-color:transparent;text-decoration:none}

@media(max-width:780px){
 .tabla-inmediata .tabla-filtros-panel{border-top:1px solid var(--linea);padding-top:10px}
 .tabla-inmediata .tabla-filtros-panel>summary{display:inline-flex;align-items:center;gap:4px;cursor:pointer;list-style:none}
 .tabla-filtros-panel>summary::-webkit-details-marker{display:none}
 .tabla-filtros-panel .filtros-ocultar,.tabla-filtros-panel[open] .filtros-mostrar{display:none}
 .tabla-filtros-panel[open] .filtros-ocultar{display:inline}
 .tabla-inmediata .tabla-filtros-panel .filtros{border-top:0}
 .tabla-componente .filtros{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:end}
 .tabla-componente .filtros>div{min-width:0;max-width:none}
 .tabla-componente .filtros>.busqueda{grid-column:1/-1;order:-1;min-width:0;max-width:none}
 .tabla-componente .filtros label{margin-bottom:4px}
 .tabla-componente .filtros>.boton{justify-self:start;align-self:end;white-space:normal}
 .calendario-barra nav{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:8px}
 .calendario-barra nav strong{order:-2;align-self:center;font-size:13px}
 .calendario-barra [data-calendario-hoy]{order:-1;justify-self:end}
 .calendario-barra .boton{white-space:normal;text-align:center}
}

.selector-idioma{position:relative;font-size:14px}
.selector-idioma summary{display:flex;align-items:center;gap:8px;padding:7px 10px;min-height:34px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--tinta);cursor:pointer;list-style:none}
.selector-idioma summary::-webkit-details-marker{display:none}
.selector-idioma summary .idioma-chevron{width:16px;height:16px;margin-left:auto;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;color:var(--muted)}.selector-idioma summary:hover .idioma-chevron,.selector-idioma[open] summary .idioma-chevron{color:inherit}
.selector-idioma .idioma-codigo{display:none;font-weight:600;letter-spacing:.3px}
.selector-idioma .opciones-idioma{position:absolute;right:0;top:calc(100% + 5px);z-index:100;min-width:175px;padding:5px;border:1px solid var(--linea);border-radius:8px;background:var(--papel);box-shadow:0 8px 24px var(--sombra-suave)}
.selector-idioma .opciones-idioma button{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border:0;border-radius:4px;background:transparent;color:var(--tinta);font:inherit;text-align:left}
.selector-idioma .opciones-idioma button[aria-current]{background:var(--acento-claro);color:var(--acento);font-weight:600}
.selector-idioma .opciones-idioma button:hover{background:var(--acento-claro)}
.selector-idioma .opciones-idioma button>span:last-child:not(:first-child){margin-left:auto}
.cabecera .selector-idioma summary{padding:6px 8px;border-color:transparent;background:transparent}
.selector-idioma summary:hover,.selector-idioma[open] summary{background:var(--acento-claro);color:var(--acento)}
@media(max-width:780px){.cabecera .selector-idioma .idioma-nombre,.cabecera .selector-idioma .idioma-chevron{display:none}.cabecera .selector-idioma .idioma-codigo{display:inline}.cabecera .selector-idioma summary{min-height:36px;padding:6px 8px}.cabecera .selector-idioma .opciones-idioma{right:0}}
.acceso-preferencias{gap:14px;flex-wrap:wrap}

/* Una agenda autorizada, cuatro representaciones del mismo conjunto de citas. */
.titulo-agenda{margin:0 0 14px}.titulo-agenda .eyebrow{display:none}.titulo-agenda h1{font-size:28px;margin:0 0 4px}.titulo-agenda p{font-size:13px}.titulo-agenda+.tabla-componente .filtros{border-top:0;padding-top:0}
.agenda-barra{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:0 0 14px}
.agenda-vistas,.agenda-periodo{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.agenda-vistas [aria-current]{background:var(--acento-claro);color:var(--acento);border-color:var(--acento);font-weight:600}.agenda-periodo strong{font-size:13px;margin-inline:8px}.agenda-resumen{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--muted);padding-bottom:10px}
.agenda-equipo-barra{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 12px;padding:10px 12px;border:1px solid var(--linea);border-radius:10px;background:var(--superficie-suave)}.agenda-equipo-barra strong{font-size:13px}.agenda-equipo-barra small{font-size:12px;margin-top:2px}.agenda-profesionales-paginas{display:flex;align-items:center;gap:10px;font-size:12px;font-variant-numeric:tabular-nums}.agenda-profesionales-paginas [aria-disabled]{opacity:.45}
.agenda-profesional,.agenda-cita,.agenda-cab-dia{--prof-color:hsl(var(--prof-tono,260) 62% 44%)}
:root[data-tema=noche] :is(.agenda-profesional,.agenda-cita,.agenda-cab-dia){--prof-color:hsl(var(--prof-tono,260) 76% 70%)}
.agenda-profesional{display:inline-flex;align-items:center;gap:8px;color:var(--tinta);font-weight:600;line-height:1.4}.agenda-color{display:inline-block;flex:0 0 10px;width:10px;height:10px;border-radius:50%;background:var(--prof-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--prof-color) 12%,transparent)}
.agenda-cita{display:block;background:color-mix(in srgb,var(--prof-color) 12%,var(--papel));color:var(--tinta);border:1px solid color-mix(in srgb,var(--prof-color) 55%,var(--linea));border-left:5px solid var(--prof-color);border-radius:7px;padding:7px 8px;overflow:hidden;font-size:12px;line-height:16px;text-decoration:none}
.agenda-cita>strong{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:650}.agenda-cita time{font-variant-numeric:tabular-nums}.cita-linea{display:flex;align-items:center;gap:5px;font-size:11px;margin-top:3px;min-width:0}.cita-tratamiento{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cita-estado{flex:none;font-size:10px;line-height:14px;border-radius:4px;padding:0 4px;background:color-mix(in srgb,var(--papel) 65%,transparent)}
.agenda-cita:hover{background:color-mix(in srgb,var(--prof-color) 36%,var(--papel));color:var(--tinta);text-decoration:none;border-color:var(--prof-color)}.agenda-cita:focus-visible{outline-offset:-3px}.agenda-cita.cancelada{background:var(--superficie-suave);color:var(--muted)}.agenda-cita.cancelada .cita-nombre{text-decoration:line-through}
.agenda-mes{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--linea);border-left:1px solid var(--linea);border-radius:8px;overflow:hidden}
.agenda-dia-mes{min-height:112px;padding:8px;border-right:1px solid var(--linea);border-bottom:1px solid var(--linea);background:var(--papel);min-width:0}.agenda-dia-mes.otro-mes{background:var(--superficie-suave)}.agenda-dia-mes h2{display:flex;align-items:center;justify-content:space-between;gap:5px;font-size:12px;margin:0 0 8px}.agenda-dia-mes h2 a{display:inline-flex;align-items:center;gap:6px;border-radius:5px;padding:3px 5px;color:var(--tinta)}.agenda-dia-mes h2>span{font-size:11px;color:var(--muted)}.es-hoy>h2 a{background:var(--acento-claro);color:var(--acento)}.cita-mes{margin-bottom:5px;padding:5px 6px}.cita-mes>strong{font-size:11px;font-weight:500}.cita-mes time{font-weight:650}.agenda-dia-mes>.boton{font-size:11px;min-height:26px;padding:3px 6px}
.agenda-tiempo-scroll{isolation:isolate;contain:layout paint;max-width:100%;overflow:auto;max-height:calc(100dvh - 390px);min-height:240px;border:1px solid var(--linea);border-radius:10px;scrollbar-width:thin;overscroll-behavior:contain;scrollbar-gutter:stable}.agenda-tiempo{display:grid;grid-template-columns:var(--columnas);min-width:100%;background:var(--papel)}.agenda-horas{position:sticky;left:0;z-index:4;border-right:1px solid var(--linea);background:var(--papel)}.agenda-horas>time{display:block;height:var(--paso);padding:5px 8px;font-size:11px;font-variant-numeric:tabular-nums;color:var(--muted)}.agenda-cab-dia{position:sticky;top:0;z-index:3;height:64px;margin:0;background:var(--papel);border-bottom:1px solid var(--linea);padding:10px 8px;font-size:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center}.agenda-cab-dia>strong{display:flex;align-items:center;justify-content:center;gap:8px;max-width:100%;overflow:hidden;line-height:16px;padding:3px}.agenda-cab-dia small{font-size:11px;margin:0;color:var(--muted);font-weight:400}.agenda-col-dia{min-width:0;border-right:1px solid var(--linea)}.agenda-col-dia:last-child{border-right:0}.agenda-col-dia.es-hoy>.agenda-cab-dia{box-shadow:inset 0 -2px var(--acento)}.agenda-franja{height:var(--alto);position:relative;background:repeating-linear-gradient(to bottom,transparent 0,transparent calc(var(--paso) - 1px),var(--linea) calc(var(--paso) - 1px),var(--linea) var(--paso))}.cita-calendario{--cita-hueco-h:8px;--cita-hueco-v:3px;position:absolute;top:calc(var(--cita-top) * 1px + var(--cita-hueco-v));height:calc(var(--cita-alto) * 1px - 2 * var(--cita-hueco-v));left:calc(var(--cita-izquierda) * .01% + var(--cita-hueco-h));width:calc(var(--cita-ancho) * .01% - 2 * var(--cita-hueco-h));min-height:20px;padding:clamp(3px,calc(var(--paso,44px) * .08),7px) 10px}.cita-calendario:hover{z-index:2}.cita-calendario>strong{font-size:clamp(12px,calc(var(--paso,44px) * .235),14px);line-height:1.25}.cita-calendario time{display:inline-block;margin-right:3px;padding:0 5px;border-radius:4px;background:var(--prof-color);color:var(--papel);font-weight:700}.cita-calendario .cita-linea{margin-top:clamp(1px,calc(var(--paso,44px) * .04),4px);font-size:clamp(11px,calc(var(--paso,44px) * .21),12.5px);line-height:1.3}.cita-calendario .cita-estado{font-size:clamp(10px,calc(var(--paso,44px) * .18),11px);line-height:1.4;padding:0 7px;font-weight:600}.cita-calendario.cita-breve{padding-block:2px}.cita-calendario.cancelada time{background:var(--muted)}.cita-breve .cita-linea{display:none}
/* Agenda por horas: si la segunda línea no cabe completa en la altura de la cita, pasa a una columna fuera de la tarjeta (oculta) en vez de quedar cortada. */
.cita-calendario{display:flex;flex-flow:column wrap;align-content:flex-start;column-gap:40px}.cita-calendario>strong,.cita-calendario>.cita-linea{width:100%;min-width:0;flex:none}.cita-calendario>.cita-linea{margin-bottom:calc(-1 * clamp(3px,calc(var(--paso,44px) * .08),7px))}
/* Citas cortas con dos líneas (p. ej. 20 min en densidad ampliada): la tarjeta conserva su altura real y el contenido se compacta para que quepan hora, paciente, tratamiento y estado. */
.cita-calendario{container:cita/size}
@container cita (max-height:28px){.cita-calendario:not(.cita-breve)>strong{margin-top:calc(2px - clamp(3px,calc(var(--paso,44px) * .08),7px));font-size:12px;line-height:14px}.cita-calendario:not(.cita-breve)>.cita-linea{margin-top:1px;font-size:11px;line-height:13px}.cita-calendario:not(.cita-breve) .cita-estado{font-size:10px;line-height:13px}}
.agenda-semana{table-layout:fixed;min-width:1240px;width:100%;border-spacing:0;border-collapse:separate}.agenda-semana th,.agenda-semana td{padding:9px;border-right:1px solid var(--linea);border-bottom:1px solid var(--linea);vertical-align:top;white-space:normal}.agenda-semana th:last-child,.agenda-semana td:last-child{border-right:0}.agenda-semana thead th{position:sticky;top:0;z-index:3;background:var(--papel);text-align:center;height:52px;vertical-align:middle}.agenda-semana thead th a{color:var(--tinta);display:block}.agenda-semana thead th strong{display:block;font-size:13px}.agenda-semana thead th.es-hoy{box-shadow:inset 0 -2px var(--acento)}.agenda-semana .agenda-profesional-fijo{position:sticky;left:0;z-index:2;width:170px;background:var(--papel);padding:14px 12px;text-align:left}.agenda-semana thead .agenda-profesional-fijo{z-index:5}.agenda-semana .agenda-profesional{font-size:12px;overflow-wrap:anywhere}.agenda-semana .agenda-profesional-fijo small{font-size:11px;margin-top:8px}.agenda-semana td{background:var(--papel);height:95px}.cita-semana{margin-bottom:6px;padding:6px}.cita-semana .cita-linea{gap:4px}.cita-semana .cita-estado{padding:0 3px}
/* Estado de la cita con su color (realizada en neutro para distinguirla de confirmada). */
.agenda-cita.reservada .cita-estado{background:var(--estado-pendiente-fondo);color:var(--estado-pendiente)}.agenda-cita.confirmada .cita-estado{background:var(--exito-fondo);color:var(--exito)}.agenda-cita.realizada .cita-estado{background:var(--superficie-suave);color:var(--muted)}.agenda-cita.cancelada .cita-estado{background:var(--error-fondo);color:var(--error)}.agenda-ver-dia{display:inline-block;font-size:11px;padding:4px 0}.agenda-sin-citas{display:block;color:var(--muted);font-size:11px;text-align:center;padding:18px 0}
@media(max-width:780px){.titulo-agenda{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px}.titulo-agenda>div{display:contents}.titulo-agenda .eyebrow{grid-column:1/-1;margin:0}.titulo-agenda h1{margin:0}.titulo-agenda p{grid-column:1/-1;grid-row:3}.titulo-agenda>.boton{grid-column:2;grid-row:2;align-self:center}.agenda-barra{align-items:flex-start}.agenda-periodo{display:grid;grid-template-columns:40px minmax(0,1fr) 40px auto;width:100%;gap:6px}.agenda-periodo strong{grid-column:2;grid-row:1;margin:0;font-size:11px;line-height:15px;text-align:center}.agenda-periodo [data-calendario-hoy]{grid-column:4;grid-row:1;font-size:11px;padding:6px}.agenda-periodo>a:not([data-calendario-hoy]){grid-row:1;min-width:40px;min-height:44px;padding:0;font-size:0}.agenda-periodo>a:first-child::before{content:"←";font-size:17px}.agenda-periodo>a:nth-of-type(2)::before{content:"→";font-size:17px}.agenda-periodo .boton{text-align:center}.agenda-equipo-barra{align-items:flex-start;padding:10px}.agenda-profesionales-paginas{width:100%;justify-content:space-between;gap:6px;font-size:11px}.agenda-profesionales-paginas>.boton{min-width:40px}.agenda-dia-mes{min-height:76px;padding:3px}.agenda-dia-mes h2{flex-direction:column;gap:3px;margin:0}.agenda-dia-mes h2 a{flex-direction:column;gap:0;padding:3px;width:100%;font-size:10px}.agenda-dia-mes h2 strong{font-size:13px}.agenda-dia-mes h2>span{font-size:10px}.agenda-dia-mes>.cita-mes,.agenda-dia-mes>.boton{display:none}.agenda-tiempo-scroll{max-height:65dvh}.titulo-agenda p{display:none}.titulo-agenda+.tabla-componente{margin-bottom:8px}.agenda-resumen{font-size:11px}.agenda-resumen>span:first-child{flex:1;min-width:0}.agenda-resumen>span:last-child{max-width:105px;font-size:10px}.agenda-equipo-barra:has(.agenda-profesionales-paginas)>div{display:none}.agenda-semana .agenda-profesional-fijo{width:140px;padding:10px}}

.cita-datos-principales{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;border-block:1px solid var(--linea);padding:14px 0}.cita-datos-principales>div{display:flex;flex-direction:column;gap:4px;font-size:12px;min-width:0}.cita-datos-principales span{color:var(--muted)}.cita-datos-principales strong{font-size:14px}.cita-motivo{padding:16px 0 0}.cita-motivo h2,.cita-contexto h2{font-size:14px;margin-bottom:10px}.cita-motivo p{font-size:13px;white-space:pre-wrap;margin-bottom:10px}.cita-acciones{margin:12px 0 22px;flex-wrap:wrap}.cita-contexto{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:28px;margin-top:20px}.cita-contexto section{border-top:1px solid var(--linea);padding-top:16px;margin-bottom:22px}.cita-contexto p{font-size:13px}.contador-seccion{font-size:11px;color:var(--muted);font-weight:400;margin-left:5px}.notas-lista{max-height:310px;overflow:auto;scrollbar-width:thin}.nota{padding:9px 0;border-bottom:1px solid var(--linea)}.nota:first-child{padding-top:0}.nota p{white-space:pre-wrap;overflow-wrap:anywhere;margin-bottom:5px;color:var(--tinta)}.nota small{font-size:11px;overflow-wrap:anywhere}.cita-notas .campo:has(textarea){grid-column:1/-1}.cita-notas .campos{gap:12px}.cita-notas .form-acciones{margin-top:12px}.ayuda-seccion{color:var(--muted);font-size:12px!important;margin-top:-3px}.cita-ficha{margin:0 0 16px}.cita-ficha>div{display:grid;grid-template-columns:1fr 1.2fr;gap:10px;padding:6px 0;font-size:12px}.cita-ficha dt{color:var(--muted)}.cita-ficha dd{margin:0;overflow-wrap:anywhere}.cita-relacionada{display:block;border:1px solid var(--borde-control);border-radius:5px;padding:8px 10px;margin-bottom:7px;font-size:12px}.cita-relacionada small{font-size:11px;margin-top:3px}.cita-seguimiento{font-size:12px;border-top:1px solid var(--linea);padding-top:12px}.cita-seguimiento summary{cursor:pointer;padding:5px 0;color:var(--muted)}.cita-seguimiento .detalle-grid{margin-top:12px}.cita-seguimiento dd{font-size:11px;overflow-wrap:anywhere}
@media(max-width:780px){.cita-datos-principales{grid-template-columns:1fr 1fr}.cita-contexto{grid-template-columns:1fr;gap:0}.cita-acciones .boton{flex:1 1 135px;text-align:center}.cita-ficha>div{grid-template-columns:1fr 1.4fr}}

.nota-editor{margin:16px 0}.nota-editor summary{display:inline-flex;cursor:pointer;list-style:none}.nota-editor summary::-webkit-details-marker{display:none}.nota-editor form{margin-top:16px}.nota-editor[open] summary{margin-bottom:0}

/* Supervisión global: recuentos accionables y una única tabla de seguimiento. */
.supervision-indicadores{margin-top:12px}.supervision-indicador{display:grid;grid-template-rows:subgrid;grid-row:span 3;align-content:start}
.supervision-accion:hover{border-color:var(--metrica-color);text-decoration:none}.supervision-accion:focus-visible{outline:2px solid var(--acento);outline-offset:2px}.supervision-indicador.urgente strong{color:var(--error)}
/* Indicadores sin casos (0): el recuadro del recuento pasa a segundo plano; la franja superior de la tarjeta se conserva. */
.supervision-indicador.sin-casos .supervision-accion{background:transparent}.supervision-indicador.sin-casos .supervision-accion:hover{border-color:var(--muted)}.supervision-indicador.sin-casos .supervision-accion :is(strong,small){color:var(--muted)}
:is(main:has(.supervision-indicadores),body:not(.pagina-agenda) main:has(.titulo-agenda)) .tabla-registros td{padding-inline:10px}main:has(.supervision-indicadores) .tabla-registros td:is(:nth-child(3),:nth-child(4),:nth-child(5)){text-align:center;font-variant-numeric:tabular-nums}:is(main:has(.supervision-indicadores),body:not(.pagina-agenda) main:has(.titulo-agenda)) .tabla-registros td.columna-acciones{padding-right:16px}:is(main:has(.supervision-indicadores),body:not(.pagina-agenda) main:has(.titulo-agenda)) .tabla-registros td:first-child{min-width:130px}body:not(.pagina-agenda) main:has(.titulo-agenda) .tabla-registros td:first-child{min-width:0;white-space:nowrap}body:not(.pagina-agenda) main:has(.titulo-agenda) .tabla-registros th:first-child a{white-space:nowrap}:is(main:has(.supervision-indicadores),body:not(.pagina-agenda) main:has(.titulo-agenda)) .tabla-registros td .badge{padding:3px 8px}:is(main:has(.supervision-indicadores),body:not(.pagina-agenda) main:has(.titulo-agenda)) .tabla-registros .acciones-registro .boton{padding-inline:8px}:is(main:has(.supervision-indicadores),body:not(.pagina-agenda) main:has(.titulo-agenda)) .tabla-registros th a{gap:6px;margin:4px 3px;padding:6px;white-space:normal}
.supervision-cabecera{display:flex;align-items:center;gap:10px 18px;margin-bottom:10px;flex-wrap:wrap}.supervision-cabecera h2{font-size:15px;margin:0}.supervision-cabecera>div:first-child{flex:1 1 240px}.supervision-cabecera p{color:var(--muted);font-size:12px;margin:4px 0 0}.supervision-cabecera+.tabla-componente{margin-top:0}
.selector-clinica-buscar{margin-left:auto;min-width:0;max-width:270px;display:flex;flex-direction:column;gap:0;align-items:flex-start;padding:3px 10px;line-height:1.3}.selector-clinica-buscar>span{display:block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px}.selector-clinica-buscar small{font-size:10px;color:var(--muted)}
@media(max-width:1100px){.selector-clinica-buscar{max-width:220px}}
@media(max-width:650px){.supervision-indicadores{margin-bottom:14px}.selector-clinica-buscar{max-width:180px;flex:1}}

.acciones-registro{display:flex;flex-wrap:nowrap;align-items:center;gap:5px;width:max-content}.acciones-registro form{display:inline-flex;margin:0;flex-shrink:0}.acciones-registro a+a{margin-left:0}
.acciones-registro a.boton.secundario{gap:5px;padding:6px 12px;border-radius:8px;font-weight:600;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease}.acciones-registro a.boton.secundario:not([href$="/editar/"]){background:var(--acento-claro);color:var(--acento);border-color:color-mix(in srgb,var(--acento) 35%,transparent)}.acciones-registro a.boton.secundario:not([href$="/editar/"]):hover{background:var(--acento);color:var(--sobre-acento);border-color:var(--acento);transform:translateY(-1px)}.acciones-registro a.boton.secundario[href$="/editar/"]:hover{background:var(--acento-claro);color:var(--acento);border-color:var(--acento);transform:translateY(-1px)}
/* Credenciales: color propio para no confundirse con «Ver». */
.acciones-registro a.boton.secundario:is([href*="/credenciales/"],[href$="/servicios-globales/"]){background:var(--origen-ia-fondo);color:var(--origen-ia);border-color:color-mix(in srgb,var(--origen-ia) 35%,transparent)}.acciones-registro a.boton.secundario:is([href*="/credenciales/"],[href$="/servicios-globales/"]):hover{background:var(--origen-ia);color:var(--papel);border-color:var(--origen-ia)}
.tabla-registros td:first-child:not(.columna-seleccion),.tabla-registros .columna-seleccion+td{min-width:190px}

.alerta-resumen{grid-template-columns:repeat(4,minmax(0,1fr));padding:16px 0;margin:0 0 16px;border-block:1px solid var(--linea)}.alerta-resumen dd{margin:4px 0 0}.alerta-evidencia{margin-top:22px}.alerta-evidencia h2{font-size:15px;margin-bottom:10px}.alerta-evidencia>p{font-size:13px;overflow-wrap:anywhere}.alerta-evidencia .traza{margin-top:14px}.alerta-evidencia .detalle-grid{padding:12px 0}

@media(max-width:800px){.alerta-resumen{grid-template-columns:repeat(2,minmax(0,1fr))}}

.error-servicio{max-width:42rem;margin:12vh auto;padding:24px}.error-servicio h1{margin-top:28px}.error-servicio code{overflow-wrap:anywhere}

.referencia-traza{overflow-wrap:anywhere}
.desplazamiento-horizontal{overflow-x:auto}
.booky-personajes{max-width:540px;margin:12px 0}.booky-personajes img{display:block;width:100%;height:auto}

.diagnostico-aviso{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.diagnostico-aviso[hidden]{display:none}.diagnostico-aviso>span{flex:1 1 240px}

/* Búsqueda de cuentas, junto al campo y sin desplegables de contraste ajeno. */
.busqueda-cuentas {min-width:0;margin-top:8px;}
.cuentas-resultados {list-style:none;padding:0;margin:6px 0;display:grid;gap:4px;max-height:230px;overflow:auto;}
.cuentas-resultados .cuenta-opcion {display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;text-align:left;white-space:normal;overflow-wrap:anywhere;padding:7px 10px;}
.cuenta-opcion strong {font-weight:600;}
.titulo-pagina .ambito-formulario {margin:5px 0;}

.formulario-breve .campos{grid-template-columns:1fr}.formulario-breve .campo-checkbox{padding-top:0}.dialogo-gestion:has(.formulario-breve){--ancho-dialogo:600px}
fieldset.campo:has(>.seleccion-campos){grid-column:auto}.seleccion-campos>summary{display:list-item;width:fit-content;cursor:pointer}.seleccion-campos>div{display:grid;gap:6px;margin-top:10px}.seleccion-campos label{display:flex;align-items:center;gap:8px;min-height:30px;font-size:13px}.seleccion-campos input{flex-shrink:0}

/* Biblioteca: lectura abierta y archivos en el mismo espacio de trabajo. */
.documento-lectura{max-width:1000px;padding:8px 0 28px;overflow-wrap:anywhere}
.documento-resumen{font-size:1.04rem;line-height:1.6;max-width:82ch}
.documento-meta{display:flex;flex-wrap:wrap;gap:8px 24px;font-size:.82rem;color:var(--muted);padding:12px 0;border-block:1px solid var(--linea);margin-bottom:22px}
.documento-texto{max-width:90ch;line-height:1.75;white-space:normal}
.documento-texto p{margin:0 0 1.1em}
.documento-texto a{text-decoration:none}
.documento-texto ul,.documento-texto ol{padding-inline-start:1.5em;margin:0 0 1.1em}.documento-texto li{padding:2px 0}.documento-texto li>p{margin:.4em 0}
.documento-texto code{font-size:.9em;overflow-wrap:anywhere;background:var(--superficie-suave);padding:2px 4px;border-radius:3px}
.documento-texto pre{max-width:100%;padding:14px;background:var(--superficie-suave);border:1px solid var(--linea);border-radius:6px;white-space:pre-wrap;overflow-wrap:anywhere}.documento-texto pre code{padding:0;background:transparent}
.documento-texto blockquote{margin:1em 0;padding-inline-start:16px;border-inline-start:3px solid var(--acento);color:var(--muted)}
.documento-tabla{max-width:100%;overflow-x:auto;margin:1em 0 1.5em;scrollbar-width:thin}.documento-tabla table{width:100%;min-width:460px;border-collapse:collapse;table-layout:auto}.documento-tabla th,.documento-tabla td{text-align:start;vertical-align:top;padding:10px 12px;border-bottom:1px solid var(--linea);white-space:normal;overflow-wrap:normal}.documento-tabla a{overflow-wrap:anywhere}.documento-tabla th{background:var(--superficie-suave);font-weight:600}.documento-tabla:focus-visible{outline:2px solid var(--acento);outline-offset:3px}
.documento-texto h2,.documento-texto h3{scroll-margin-top:90px;overflow-wrap:anywhere}
@media(max-width:580px){.documento-texto h2,.documento-texto h3{scroll-margin-top:116px}}
.documento-texto h2{margin:1.7em 0 .65em;font-size:1.18rem}
.documento-texto h3{margin:1.4em 0 .6em;font-size:1.04rem}
.documento-indice{max-width:90ch;margin:16px 0 22px}
.documento-indice summary{display:list-item;width:fit-content;padding:7px 12px;border:1px solid var(--linea);border-radius:5px;cursor:pointer;font-weight:600}
.documento-indice ul{columns:2;column-gap:24px;list-style:none;padding:10px 0 0;margin:0}
.documento-indice li{break-inside:avoid;padding:4px 0;overflow-wrap:anywhere}
.documento-indice a{text-decoration:none}
.documento-indice .documento-subapartado{padding-inline-start:14px}
@media(max-width:600px){.documento-indice ul{columns:1}}
.documento-lectura h2{font-size:1.06rem;margin:26px 0 12px}
.documento-adjuntos figure{margin:0;padding:18px 0;border-bottom:1px solid var(--linea)}
.documento-adjuntos img,.documento-adjuntos video,.imagen-contenida img{display:block;max-width:100%;max-height:65vh;object-fit:contain;border-radius:5px;margin-bottom:12px}
.imagen-contenida{margin:0}.imagen-contenida figcaption{color:var(--muted)}
.documento-adjuntos figcaption{display:flex;justify-content:space-between;align-items:center;gap:12px}
.documento-adjuntos figcaption small{display:block;color:var(--muted);margin-top:4px}
.documento-archivo-retirado{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;padding:12px 0}
textarea.editor-documento{min-height:320px;line-height:1.65;font-family:inherit}
@media(max-width:600px){.documento-adjuntos figcaption{align-items:flex-start;flex-direction:column}.documento-meta{gap:8px 14px}}
.campo>div.opciones-delimitadas:has(input[type=checkbox]){display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:5px 18px;max-height:240px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;border:1px solid var(--linea);border-radius:6px;padding:9px 12px}.campo>div.opciones-delimitadas>div{min-width:0}.opciones-delimitadas label{overflow-wrap:anywhere}.opciones-delimitadas input{flex-shrink:0}

/* Preparación común: filas abiertas, mismos controles y formularios del portal. */
.preparacion-lista{margin:10px 0 18px}.preparacion-paso{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid var(--linea)}
.preparacion-explicacion h2{font-size:15px;margin:0 0 5px;display:flex;align-items:center;flex-wrap:wrap;gap:8px}.preparacion-explicacion p{font-size:13px;margin:0;max-width:65ch}.preparacion-acciones{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}
.lote-fila{border:0;border-bottom:1px solid var(--linea);padding:12px 0 18px;margin:0 0 24px;min-width:0}.lote-fila legend{font-weight:650;font-size:14px;padding:0}.lote-fila .campos{margin:0}.lote-omitir{display:flex;align-items:center;gap:7px;font-size:12px;margin-top:12px}.lote-omitir input{width:auto}.lote-fila:has(.lote-omitir input:checked){opacity:.65}
@media(max-width:1000px){.preparacion-paso{grid-template-columns:28px minmax(0,1fr)}.preparacion-acciones{grid-column:2;justify-content:flex-start}.preparacion-paso{gap:9px 12px}}

.preparacion-cabecera{margin-bottom:16px}.preparacion-contexto{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:8px}.preparacion-contexto .eyebrow{margin:0}.preparacion-contexto .badge{flex-shrink:0}
.lote-acciones{justify-content:space-between;flex-wrap:wrap}.lote-acciones>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.lote-acciones .ayuda-seccion{margin:0}
.lote-fila:last-child{border-bottom:0;margin-bottom:0}.lote-acciones+.ayuda-seccion{margin-top:12px}
@media(min-width:641px){.lote-fila fieldset.campo{grid-column:auto}.lote-fila .campo-checkbox{padding-top:23px}}
.variable-plantilla{padding-block:12px;border-bottom:1px solid var(--linea);margin-bottom:10px}
@media(min-width:641px){.variable-plantilla{grid-template-columns:minmax(120px,1fr) minmax(160px,2fr) minmax(140px,1fr)}}
@media(min-width:641px) and (max-width:1180px){.lote-fila .campos{grid-template-columns:repeat(2,minmax(0,1fr))}}

.seguridad-metodos{margin-bottom:24px}.seguridad-metodos section{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 0;border-bottom:1px solid var(--linea)}.seguridad-metodos h2,.seguridad-gestion h2,.seguridad-vincular h2{font-size:15px;margin:0 0 8px}.seguridad-metodos p{font-size:13px;margin:0}.seguridad-metodos .badge{flex-shrink:0}
.seguridad-gestion{max-width:580px}.seguridad-gestion .ayuda-seccion{margin-top:14px}.seguridad-verificacion{max-width:730px}.seguridad-verificacion>p{font-size:14px}.seguridad-acceso{max-width:560px;margin:clamp(20px,8vh,80px) auto;padding:24px}.seguridad-marca{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:30px}.seguridad-marca>img{width:200px;max-width:65%}.seguridad-qr{width:210px;height:210px;background:white;border-radius:6px}.seguridad-vincular{display:flex;align-items:center;gap:24px;margin:22px 0}.seguridad-vincular code{display:block;overflow-wrap:anywhere;margin-top:12px;user-select:all}.seguridad-vincular p{font-size:13px}.seguridad-vincular summary,.seguridad-otro-metodo summary{cursor:pointer;font-size:13px}.seguridad-otro-metodo{margin:24px 0}.seguridad-otro-metodo[open]>summary{margin-bottom:16px}.seguridad-cancelar{margin-top:24px}.codigos-recuperacion{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;list-style:none;padding:0;margin:24px 0}.codigos-recuperacion code{font-size:15px;user-select:all}
@media(max-width:560px){.seguridad-metodos section{align-items:flex-start;flex-wrap:wrap}.seguridad-vincular{flex-direction:column;align-items:flex-start}.seguridad-acceso{padding:12px;margin:20px auto}.codigos-recuperacion{grid-template-columns:1fr}}



.marca-imagen{display:block;max-width:100%}.marca-imagen img{width:100%;height:auto;object-fit:contain}.marca-imagen .marca-principal{display:var(--logo-papel-principal);filter:var(--logo-papel-filtro)}.marca-imagen .marca-alternativa{display:var(--logo-papel-alternativo)}
.marca-nav .marca-principal{display:var(--logo-nav-principal);filter:var(--logo-nav-filtro)}.marca-nav .marca-alternativa{display:var(--logo-nav-alternativo)}.marca-acceso .marca-principal{display:var(--logo-acceso-principal);filter:var(--logo-acceso-filtro)}.marca-acceso .marca-alternativa{display:var(--logo-acceso-alternativo)}
.marca-carril{display:none;width:40px;height:40px;object-fit:contain;border-radius:10px}.seguridad-marca>.marca-imagen{width:200px;max-width:65%}.error-servicio>.marca-imagen{width:180px}

input[type=file]::file-selector-button{font:inherit;color:var(--tinta);background:var(--superficie-suave);border:1px solid var(--borde-control);border-radius:4px;padding:5px 8px;margin-right:8px;cursor:pointer}

/* La tablet conserva navegación visible; el menú superpuesto queda para móvil. */
@media(min-width:581px) and (max-width:780px){
 .sidebar{transform:none;width:var(--ancho-menu)}.aplicacion{margin-left:var(--ancho-menu)}
 [data-menu-preferencia]{display:block}.menu-cerrar,.menu-movil{display:none}
 .cabecera{grid-template-columns:36px minmax(0,1fr) auto}.acciones-cabecera{grid-column:2/-1}
 .cabecera :is(.selector-clinica,.selector-clinica-buscar){grid-column:1/3}.cabecera>.cabecera-preferencias{grid-column:3}
}

/* Controles compartidos de audio, integrados en recepción y Booky. */
.voz-acciones{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.voz-acciones [aria-pressed=true]{background:var(--acento-claro);box-shadow:inset 0 0 0 1px var(--acento)}
.voz-ajustes{display:flex;align-items:center;gap:9px;margin-top:8px;font-size:12px}.voz-ajustes label{margin:0}.voz-ajustes input[type=range]{width:110px;max-width:45%;padding:0;min-height:24px;accent-color:var(--acento)}.voz-ajustes output{min-width:36px;font-variant-numeric:tabular-nums}
.voz-estado{font-size:12px;color:var(--muted);margin:4px 0 0}.voz-pendientes{margin-top:8px;font-size:12px}.voz-captura{padding:8px 0;border-bottom:1px solid var(--linea);overflow-wrap:anywhere}.voz-captura p{font-size:12px;white-space:pre-wrap}.voz-captura>.boton{margin:0 6px 6px 0}.voz-confirmacion{display:flex;flex-wrap:wrap;gap:6px}.voz-confirmacion p{flex-basis:100%;margin:6px 0}.voz-compacta{padding:8px 14px;flex-shrink:0;max-height:36%;overflow:auto}.voz-compacta .boton{font-size:11px;padding:5px 7px}.controles-voz .error-campo{font-size:12px;overflow-wrap:anywhere;margin:6px 0 0}

/* Secuencias finitas: composición abierta sobre componentes comunes. */
.secuencia-flujo{padding-left:1.5rem;margin:0}.secuencia-flujo:not(ol){padding-left:0}.secuencia-flujo>li{padding-left:.35rem}.secuencia-flujo .seccion-abierta{margin:0 0 14px}.secuencia-flujo .panel-titulo{gap:16px}.aviso-contenido{white-space:pre-wrap;overflow-wrap:anywhere}
.trazas-respuesta{margin-top:12px;padding-top:10px;border-top:1px solid var(--linea);font-size:12px;max-width:100%}.trazas-respuesta>summary{cursor:pointer;font-weight:550;padding:4px 0}.trazas-respuesta .detalle-grid{padding:10px 0;gap:12px}.trazas-respuesta pre{white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%}.trazas-respuesta .referencia-traza{font-size:11px;overflow-wrap:anywhere}.trazas-respuesta .boton{margin-top:10px}.trazas-respuesta .detalle-grid dd{font-size:12px}

/* El lector usa el ancho del mensaje; los niveles no acumulan marcos y sangrías. */
:is(.burbuja,.booky-mensaje):has(>.trazas-respuesta[open]){width:100%;max-width:100%;min-width:0}
[data-trazas-del-mensaje]{min-width:0;overflow-wrap:anywhere}
[data-trazas-del-mensaje] .traza{border:0;border-top:1px solid var(--linea);border-radius:0;margin-top:10px;padding:10px 0 0}
[data-trazas-del-mensaje] .traza summary{padding:4px 0;min-height:32px;line-height:1.6}
[data-trazas-del-mensaje] .detalle-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr))}
[data-trazas-del-mensaje] pre{margin:10px 0;padding:10px;max-width:100%}

/* Visor de evidencias: tamaño original dentro de su propia zona de desplazamiento. */

/* Visor del PC: imagen efímera, controles comunes y desplazamiento solo del lienzo. */
.booky-directo { min-width:0; }
.booky-directo-barra { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:.65rem; }
.booky-directo-opciones { display:flex; flex-wrap:wrap; align-items:end; gap:.7rem; margin:.8rem 0; }
.booky-directo-opciones label { display:grid; gap:.3rem; font-size:.85rem; }
.booky-directo-opciones select { width:auto; min-width:9rem; }
.booky-directo-pantalla { border:1px solid var(--linea); border-radius:.6rem; background:var(--superficie-suave); overflow:auto; max-height:72vh; min-height:12rem; }
.booky-directo-pantalla img { display:block; max-width:100%; max-height:clamp(180px,calc(100dvh - 390px),720px); width:auto; height:auto; margin:auto; }
.booky-directo-pantalla img[hidden] { display:none; }
.booky-directo-pantalla p { padding:2rem; text-align:center; }
.booky-directo-original .booky-directo-pantalla img { max-width:none; max-height:none; margin:0; }

.conversacion-layout.sin-inspector { grid-template-columns: minmax(0, 1fr); }
/* Diagnóstico OCR: candidatos descartados, zona elegida y punto enviado. */
/* Grabación legal de la llamada: onda estéreo (L=paciente, R=asistente) y píldoras por contacto. */
.onda{margin:2px 0 4px;padding:10px 12px;background:var(--superficie-suave);border:1px solid var(--linea);border-radius:12px}
.onda-cab{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:6px}
.onda-titulo{font-size:12px;color:var(--muted)}
.onda-leyenda{display:flex;gap:10px;font-size:12px}
.onda-chip-paciente{color:#3ecf8e}
.onda-chip-asistente{color:#8b5cf6}
.onda-lienzo{display:block;width:100%;height:110px;cursor:pointer}
.onda-eje{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin-top:2px}
.onda-pie{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:8px}
.onda-crono{min-width:44px;font-variant-numeric:tabular-nums}
.onda-hint{font-size:11px;color:var(--muted)}
.onda-error{font-size:12px;color:var(--muted);text-align:center;padding:4px}
.onda-audio{display:none}
.pildoras-paciente{display:flex;gap:6px;overflow-x:auto;padding:2px 0 14px}

/* Agenda de clínica: las barras conservan su sitio y los resultados usan el resto. */
body.pagina-agenda{height:100dvh;overflow:hidden}
.pagina-agenda .aplicacion{height:100%;min-height:0}
.pagina-agenda .cabecera{flex-shrink:0}
.pagina-agenda main{display:flex;flex-direction:column;min-height:0;max-width:none;overflow:hidden;padding:12px 20px 14px}
.pagina-agenda .miga{display:none}
.pagina-agenda main>.mensajes{flex-shrink:0;max-height:20%;overflow:auto;margin-bottom:8px}
.pagina-agenda .titulo-agenda{flex-shrink:0;gap:8px 16px;margin:0 0 10px}
.pagina-agenda .titulo-agenda h1{font-size:24px;margin:0}
.pagina-agenda .titulo-agenda p{font-size:12px;margin:2px 0 0}
.boton[data-agenda-reservar]{min-height:40px;padding:8px 18px;font-size:14px}
.boton[data-agenda-reservar]:focus-visible{outline:2px solid var(--acento);outline-offset:3px}
.pagina-agenda main>.tabla-componente{display:flex;flex-direction:column;flex:1;min-height:0;margin:0;padding:12px}
.tabla-componente .agenda-filtros-clinicos{display:grid;grid-template-columns:minmax(265px,1.5fr) minmax(150px,1fr) minmax(110px,.75fr) minmax(130px,.85fr) minmax(165px,1.4fr);gap:10px;flex-shrink:0;border:0;padding:0 0 12px;margin:0}
.tabla-componente .agenda-filtros-clinicos>div,.tabla-componente .agenda-filtros-clinicos>.busqueda{min-width:0;max-width:none}
.agenda-filtros-clinicos label{font-size:11px;color:var(--muted);margin-bottom:5px}
.agenda-fecha-controles{display:flex;align-items:flex-end;gap:6px}.agenda-fecha-campo{flex:1 1 0;min-width:0}.agenda-fecha-campo label{display:block}.agenda-fecha-campo input{width:100%}
@media(min-width:781px){.tabla-componente .agenda-filtros-clinicos:has([data-agenda-hasta]:not([hidden])){grid-template-columns:minmax(400px,2.2fr) minmax(190px,1fr) minmax(100px,.75fr) minmax(125px,.85fr) minmax(165px,1.4fr)}}
.agenda-fecha-controles .boton{min-width:32px;min-height:36px;padding:6px 8px}
.agenda-fecha-controles input{min-width:0}
.agenda-limpiar{min-height:32px}.agenda-barra>.agenda-limpiar{margin-right:auto}
.pagina-agenda main .tabla-estado{flex-shrink:0;min-height:0;padding:0}
.pagina-agenda main .tabla-estado:has([data-tabla-fallo]:not([hidden])){padding-bottom:8px}
.pagina-agenda main [data-tabla-resultados]{display:flex;flex-direction:column;flex:1;min-height:0}
.pagina-agenda main [data-tabla-resultados]>:is(.agenda-barra,.agenda-resumen,.agenda-equipo-barra,.paginacion,.mensaje){flex-shrink:0}
.pagina-agenda .agenda-barra{gap:10px;padding:0 0 10px}
.pagina-agenda .agenda-vistas{gap:2px;padding:3px;border:1px solid var(--linea);border-radius:8px;background:var(--superficie-suave)}
.pagina-agenda .agenda-vistas .boton{min-height:30px;border:0;padding:5px 11px;background:none}
.pagina-agenda .agenda-vistas [aria-current]{background:var(--papel);box-shadow:0 1px 3px var(--sombra-suave)}
.pagina-agenda .agenda-vistas [data-agenda-vista=dia]{order:0}.pagina-agenda .agenda-vistas [data-agenda-vista=semana]{order:1}.pagina-agenda .agenda-vistas [data-agenda-vista=tabla]{order:2}.pagina-agenda .agenda-vistas [data-agenda-vista=mes]{order:3}
.agenda-herramientas{display:flex;align-items:center;justify-content:flex-end;gap:14px;flex-wrap:wrap;font-size:12px}
.agenda-paginas-profesionales{display:flex;align-items:center;gap:7px;flex-wrap:wrap;color:var(--muted)}
.agenda-paginas-profesionales .boton,.agenda-atajos .boton{min-height:32px;padding:5px 8px}
.agenda-paginas-profesionales [aria-disabled=true]{opacity:.5}
.agenda-intervalo-profesionales{white-space:nowrap;font-variant-numeric:tabular-nums}
.agenda-densidad{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--muted)}
.agenda-densidad select{width:auto;min-height:32px;padding:5px 24px 5px 8px;font-size:12px;border-radius:7px}
.agenda-atajos{display:flex;align-items:center;gap:4px;font-variant-numeric:tabular-nums}
.pagina-agenda .agenda-resumen{padding-bottom:6px}
.pagina-agenda .agenda-resumen>span:last-child{max-width:none;font-size:inherit}
.pagina-agenda main [data-tabla-resultados]>.agenda-tiempo-scroll,.pagina-agenda main [data-tabla-resultados]>.tabla-scroll{flex:1;min-height:0;max-height:none}
.pagina-agenda .agenda-tiempo{min-height:100%;min-width:0;width:100%}
.pagina-agenda .agenda-tiempo.agenda-vista-dia{grid-template-columns:48px;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column}
.agenda-cuerpo-dia{min-width:0}
.agenda-eje-dia{display:none}
.pagina-agenda .agenda-cab-dia{height:64px;padding:6px}
.pagina-agenda .agenda-cab-dia>strong{flex-shrink:0}
.pagina-agenda .agenda-cab-titulo{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-width:0;max-height:32px}
.pagina-agenda .agenda-semana{min-width:0;width:100%;height:100%;table-layout:fixed}
.pagina-agenda .agenda-semana .agenda-profesional-fijo{width:130px;padding:8px}
.pagina-agenda .agenda-semana th,.pagina-agenda .agenda-semana td{padding:6px}
.pagina-agenda .agenda-semana thead th{height:44px}
.pagina-agenda .agenda-mes{flex:1;min-height:0;overflow:auto;grid-auto-rows:minmax(min-content,1fr)}
.pagina-agenda .agenda-dia-mes{min-height:90px;padding:5px}
.pagina-agenda main .tabla-registros thead th{position:sticky;top:0;z-index:2}
/* Agenda del Superadmin (tabla): la lista baja dentro de su recuadro con la cabecera fija, como la de clínica. */
body:not(.pagina-agenda) main:has(.titulo-agenda) [data-tabla-resultados]>.tabla-scroll{max-height:calc(100dvh - 96px)}body:not(.pagina-agenda) main:has(.titulo-agenda) .tabla-registros thead th{position:sticky;top:0;z-index:2}
.pagina-agenda .tabla-registros{min-width:0;width:100%;table-layout:fixed}
.pagina-agenda .tabla-registros td,.pagina-agenda .tabla-registros td:first-child:not(.columna-seleccion){min-width:0;padding:8px 5px;white-space:normal;overflow-wrap:anywhere}
.pagina-agenda .tabla-registros th a{display:block;white-space:normal;overflow-wrap:anywhere;padding:5px 3px;margin:3px;font-size:11px}
.pagina-agenda .tabla-registros th a span{margin-left:3px}
.pagina-agenda .tabla-registros .columna-acciones{width:92px;white-space:normal}
.pagina-agenda .tabla-registros .acciones-registro{width:auto;min-width:0;flex-wrap:wrap}
.pagina-agenda .tabla-registros .acciones-registro .boton{max-width:100%;white-space:nowrap;padding:5px 8px}
/* Tabla de agenda (Staff/Standard, columnas fijas: ID, fecha, paciente, teléfono, tipo, profesional, estado, creada, origen, acciones):
   anchos según su contenido para que en portátil nada se parta a mitad de dato ni se monte sobre la columna vecina. */
.pagina-agenda .tabla-registros thead th:nth-child(1){width:13%}.pagina-agenda .tabla-registros thead th:nth-child(2){width:8.7%}.pagina-agenda .tabla-registros thead th:nth-child(3){width:10.6%}.pagina-agenda .tabla-registros thead th:nth-child(4){width:11%}.pagina-agenda .tabla-registros thead th:nth-child(5){width:10.6%}.pagina-agenda .tabla-registros thead th:nth-child(6){width:10.1%}.pagina-agenda .tabla-registros thead th:nth-child(7){width:8.7%}.pagina-agenda .tabla-registros thead th:nth-child(8){width:8.1%}.pagina-agenda .tabla-registros thead th:nth-child(9){width:12.6%}
.pagina-agenda .tabla-registros td:is(:nth-child(2),:nth-child(4),:nth-child(8)){overflow-wrap:normal;white-space:nowrap}.pagina-agenda .tabla-registros td:first-child:not(.columna-seleccion){overflow-wrap:normal}.pagina-agenda .tabla-registros td:is(:nth-child(3),:nth-child(5),:nth-child(6)){overflow-wrap:normal;hyphens:auto}
.pagina-agenda .tabla-registros td .badge{max-width:100%;white-space:normal;overflow-wrap:normal;text-align:center}
.agenda-filtros-clinicos select{white-space:nowrap}
/* Botones «Ver…» (icono de ojo) en los tres portales: fondo discreto entre papel y superficie suave; texto, borde y hover sin cambios. */
a.boton.secundario:has(>.icono-accion>use[href$="#ver"]):not(:hover){background:color-mix(in srgb,var(--superficie-suave) 50%,var(--papel))}
.pagina-agenda .tabla-registros .agenda-profesional{min-width:0;max-width:100%;overflow-wrap:anywhere}
.pagina-agenda main .tabla-componente .paginacion{padding-top:8px}
.pagina-agenda main [data-tabla-resultados]:has(>.vacio)>.tabla-scroll{flex:0 0 auto}
.pagina-agenda main [data-tabla-resultados]>.vacio{flex:1;overflow:auto;align-content:center;padding:16px}
.pagina-agenda .tabla-componente:has([data-agenda-densidad=compacta]) .agenda-semana :is(th,td){padding:4px}
.pagina-agenda .tabla-componente:has([data-agenda-densidad=compacta]) .agenda-semana td{height:70px}
.pagina-agenda .tabla-componente:has([data-agenda-densidad=compacta]) .cita-semana{padding:4px;margin-bottom:4px}
.pagina-agenda .tabla-componente:has([data-agenda-densidad=compacta]) .cita-calendario{--cita-hueco-h:5px}
.pagina-agenda .tabla-componente:has([data-agenda-densidad=compacta]) .tabla-registros td{padding-block:7px}
@media(max-width:1320px){
 .tabla-componente .agenda-filtros-clinicos{grid-template-columns:minmax(250px,1.4fr) minmax(125px,1fr) minmax(100px,.8fr)}
 .agenda-filtros-clinicos>.busqueda{grid-column:span 2}
 .agenda-herramientas{gap:9px}
}
@media(max-width:1050px){
 .pagina-agenda main{padding:10px 12px}
 .pagina-agenda .titulo-agenda h1{font-size:22px}
 .pagina-agenda .agenda-barra{align-items:stretch}
 .agenda-herramientas{flex:1}
}
@media(max-width:780px){
 .pagina-agenda .titulo-agenda{display:flex;flex-direction:row;align-items:center;flex-wrap:nowrap;margin-bottom:8px}
 .pagina-agenda .titulo-agenda>div{display:block}
 .pagina-agenda .titulo-agenda p{display:none}
 .pagina-agenda .titulo-agenda>.boton{font-size:12px;padding-inline:10px;min-height:38px}
 .pagina-agenda main>.tabla-componente{padding:8px}
 .tabla-componente .agenda-filtros-clinicos{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 9px;padding-bottom:9px}
 .agenda-filtros-clinicos>.agenda-filtro-fecha{grid-column:1/-1}
 .tabla-componente .agenda-filtros-clinicos :is(input,select){min-height:34px;padding:6px 8px;font-size:12px}
 .pagina-agenda .tabla-componente .agenda-filtros-clinicos>.busqueda{grid-column:auto;order:0}
 .agenda-fecha-controles .boton{min-height:34px}
 .pagina-agenda .agenda-barra{align-items:stretch;gap:7px}
 .pagina-agenda .agenda-vistas{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;width:100%}
 .pagina-agenda .agenda-vistas .boton{min-height:30px;padding:4px 6px}
 .agenda-herramientas{width:100%;justify-content:space-between;gap:7px}
 .agenda-paginas-profesionales{gap:4px;font-size:11px}
 .agenda-densidad{display:grid;gap:2px;font-size:11px}
 .agenda-densidad select{max-width:100px;font-size:11px;padding-right:8px}
 .agenda-paginas-profesionales .boton,.agenda-atajos .boton{min-height:30px;padding:4px 6px}
 .pagina-agenda .agenda-cab-dia{height:64px}
 .pagina-agenda .agenda-dia-mes{min-height:64px;padding:3px}
 .pagina-agenda .agenda-profesionales-paginas .boton{min-height:32px}
 .pagina-agenda .agenda-semana,.pagina-agenda .agenda-semana tbody,.pagina-agenda .agenda-semana tr{display:block}
 .pagina-agenda .agenda-semana thead{display:none}
 .pagina-agenda .agenda-semana .agenda-profesional-fijo{display:block;position:static;width:auto;border-right:0;padding:10px;background:var(--superficie-suave)}
 .pagina-agenda .agenda-semana .agenda-profesional-fijo small{display:inline;margin-left:8px}
 .pagina-agenda .agenda-semana td,.pagina-agenda .tabla-componente:has([data-agenda-densidad=compacta]) .agenda-semana td{display:block;width:auto;height:auto;min-height:56px;border-right:0;padding:8px}
 .pagina-agenda .agenda-semana td::before{content:attr(data-fecha);display:block;font-size:12px;font-weight:600;margin-bottom:7px}
 .pagina-agenda .agenda-semana .agenda-sin-citas{padding:3px;text-align:left}
 .pagina-agenda .agenda-vista-semana{display:block}
 .pagina-agenda .agenda-vista-semana>.agenda-horas{display:none}
 .pagina-agenda .agenda-vista-semana .agenda-col-dia{border-right:0;border-bottom:1px solid var(--linea)}
 .pagina-agenda .agenda-vista-semana .agenda-cuerpo-dia{display:grid;grid-template-columns:48px minmax(0,1fr)}
 .pagina-agenda .agenda-vista-semana .agenda-eje-dia{display:block;position:static;height:var(--alto);z-index:auto}
 .pagina-agenda .tabla-registros:has(td[data-etiqueta]) thead{display:none}
 .pagina-agenda .tabla-registros:has(td[data-etiqueta]),.pagina-agenda .tabla-registros:has(td[data-etiqueta]) tbody{display:block}
 .pagina-agenda .tabla-registros:has(td[data-etiqueta]) tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-bottom:1px solid var(--linea)}
 .pagina-agenda .tabla-registros:has(td[data-etiqueta]) td{display:block;border:0;width:auto;padding:8px;min-width:0}
 .pagina-agenda .tabla-registros td[data-etiqueta]::before{content:attr(data-etiqueta);display:block;font-size:10px;font-weight:600;color:var(--muted);margin-bottom:3px}
 .pagina-agenda .tabla-registros .columna-acciones{align-content:end}
 .pagina-agenda main .tabla-componente .paginacion{gap:6px;flex-direction:row;flex-wrap:wrap}
 .pagina-agenda main .tabla-componente .paginacion>div{gap:6px}
}
@media(max-height:540px){
 body.pagina-agenda{height:auto;overflow:auto}
 .pagina-agenda .aplicacion{height:auto;min-height:100dvh}
 .pagina-agenda main{overflow:visible}
 .pagina-agenda main [data-tabla-resultados]>:is(.agenda-tiempo-scroll,.agenda-mes,.tabla-scroll){flex:none;height:65dvh;min-height:180px}
}
.pildora{flex-shrink:0;font-size:11px;padding:3px 10px;border:1px solid var(--linea);border-radius:999px;color:var(--muted);background:var(--superficie-suave);white-space:nowrap;text-decoration:none}
.pildora:hover{color:var(--tinta);border-color:var(--acento)}
/* Cierres «×»: la cruz se dibuja centrada con una máscara, porque el glifo × queda descentrado según la métrica de la fuente. */
.dialogo-barra .icono-boton,.aviso-contextual [data-dialogo-ocultar-aviso],.buscador-titulo [data-cerrar-buscador],#booky-arrastrar button#booky-cerrar,.menu-cerrar span{--cruz-tamano:12px;position:relative;font-size:0;line-height:0}.menu-cerrar span{display:inline-block;width:12px;height:12px}.dialogo-barra .icono-boton{--cruz-tamano:14px}.buscador-titulo [data-cerrar-buscador]{--cruz-tamano:16px}.dialogo-barra .icono-boton::before,.aviso-contextual [data-dialogo-ocultar-aviso]::before,.buscador-titulo [data-cerrar-buscador]::before,#booky-arrastrar button#booky-cerrar::before,.menu-cerrar span::before{content:"";position:absolute;inset:0;margin:auto;width:var(--cruz-tamano);height:var(--cruz-tamano);background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6 6 18'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6 6 18'/%3E%3C/svg%3E") center/contain no-repeat}
/* Inicio de Staff: diseño aprobado (referencia estática). Reglas propias con prefijo inicio-diseno; solo colores de la paleta global. */
.inicio-diseno{display:flex;flex-direction:column;gap:0;color:var(--tinta)}
.inicio-diseno h2{margin:0;font-size:var(--texto-seccion);font-weight:650}
.inicio-diseno p{margin:0}
.inicio-diseno .inicio-diseno-tenue{color:var(--muted);font-size:var(--texto-aux)}
.inicio-diseno-fila{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.inicio-diseno>.inicio-diseno-fila{margin-bottom:6px}
.inicio-diseno-periodo{margin-bottom:14px}
.inicio-diseno-etiqueta{display:inline-flex;align-items:center;border-radius:6px;padding:4px 8px;font-size:var(--texto-aux);font-weight:600;background:var(--acento-claro);color:var(--acento);font-variant-numeric:tabular-nums;white-space:nowrap}
.inicio-diseno-panel{min-width:0;padding:20px;border:1px solid var(--linea);border-radius:var(--radio);background:var(--papel);box-shadow:0 2px 8px var(--sombra-suave)}
.inicio-diseno-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:22px}
.inicio-diseno-kpi{display:flex;flex-direction:column;gap:6px;padding:16px;border-top:3px solid var(--kpi-color,var(--acento))}
.inicio-diseno-kpi-titulo{color:var(--muted);font-size:var(--texto-aux);font-weight:550}
.inicio-diseno-kpi strong{display:block;margin:6px 0 0;font-size:30px;font-weight:650;line-height:1.2;letter-spacing:-.6px;font-variant-numeric:tabular-nums}
.inicio-diseno-desglose{color:var(--acento);font-size:var(--texto-aux)}
.inicio-diseno-kpi details{margin-top:6px;font-size:var(--texto-aux)}
.inicio-diseno-kpi summary{color:var(--acento);cursor:pointer}
.inicio-diseno-kpi details p{margin-top:8px}
.inicio-diseno-seccion{margin:0 0 14px!important}
.inicio-diseno-columnas{display:grid;grid-template-columns:1.2fr 1fr;gap:16px;margin-bottom:16px}
.inicio-diseno-tarea{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--linea)}
.inicio-diseno-tarea:last-child{border-bottom:0;padding-bottom:0}
.inicio-diseno-tarea>div{flex:1;min-width:0}
.inicio-diseno-tarea p{font-size:var(--texto);font-weight:550}
.inicio-diseno-avatar{display:grid;place-items:center;flex-shrink:0;width:34px;height:34px;border-radius:50%;background:var(--acento-claro);color:var(--acento);font-size:var(--texto-aux);font-weight:650}
.inicio-diseno-accion,.inicio-diseno-enlace{border:1px solid var(--linea);border-radius:9px;background:var(--acento-claro);color:var(--acento);padding:6px 10px;font-size:var(--texto-aux);font-weight:600;white-space:nowrap}.inicio-diseno-accion{background:var(--papel)}
.inicio-diseno-accion:hover,.inicio-diseno-enlace:hover{border-color:var(--acento);text-decoration:none}
.inicio-diseno-reparto{display:flex;height:13px;margin:22px 0;border-radius:8px;overflow:hidden;background:var(--superficie-suave)}
.inicio-diseno-reparto span{height:100%}
.inicio-diseno .realizadas,.inicio-diseno .whatsapp{background:var(--exito)}
.inicio-diseno .proximas,.inicio-diseno .sms{background:var(--acento)}
.inicio-diseno .canceladas{background:var(--error)}
.inicio-diseno .voz{background:var(--origen-ia)}
.inicio-diseno-leyenda{display:flex;justify-content:space-between;align-items:center;padding:8px 0;font-size:var(--texto-aux)}
.inicio-diseno-leyenda i{display:inline-block;width:8px;height:8px;margin-right:7px;border-radius:50%}
.inicio-diseno-cifra{font-weight:650;color:var(--acento);font-variant-numeric:tabular-nums}
.inicio-diseno-cifra small{display:inline-block;min-width:60px;margin-left:12px;text-align:right;color:var(--muted);font-weight:500;font-size:var(--texto-aux)}
.inicio-diseno-nota{margin-top:12px!important}
.inicio-diseno-subtitulo{margin:5px 0 20px!important}
.inicio-diseno-barra{height:8px;margin:8px 0 16px;border-radius:5px;background:var(--superficie-suave);overflow:hidden}
.inicio-diseno-barra span{display:block;height:100%;border-radius:5px}
/* Inicio de Staff con datos reales: color de cada tarjeta y barras en SVG, sin estilos en línea. */
.inicio-diseno-kpi.kpi-reservas{--kpi-color:var(--acento)}.inicio-diseno-kpi.kpi-confirmaciones{--kpi-color:var(--exito)}.inicio-diseno-kpi.kpi-tiempo{--kpi-color:var(--estado-pendiente)}
svg.inicio-diseno-reparto,svg.inicio-diseno-barra{display:block;width:100%}
.inicio-diseno rect.realizadas,.inicio-diseno rect.whatsapp{fill:var(--exito)}.inicio-diseno rect.proximas,.inicio-diseno rect.sms{fill:var(--acento)}
.inicio-diseno rect.canceladas{fill:var(--error)}.inicio-diseno rect.voz{fill:var(--origen-ia)}
.inicio-diseno-periodo-campos{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.inicio-diseno-periodo-campos :is(select,input){width:auto}
.inicio-diseno-periodo-campos label{display:flex;align-items:center;gap:6px;font-size:var(--texto-aux)}
@media (max-width:1100px){.inicio-diseno-kpis,.inicio-diseno-columnas{grid-template-columns:1fr}}
/* Inicio de Staff: recuadro de la cifra, lila en las tres tarjetas. */
.inicio-diseno-recuadro{display:block;padding:8px 12px;border:1px solid var(--linea);border-radius:9px;background:var(--acento-claro)}
.inicio-diseno-recuadro strong{margin:10px 0}
.inicio-diseno-recuadro .inicio-diseno-desglose{display:block;font-weight:700}
/* Inicio de Staff: selector de periodo con el estilo común, a su ancho natural. */
.inicio-diseno-fila>select{width:auto}
/* Menú de Staff con grupos fijos: mismos estilos que los títulos y separadores del menú común. */
.nav-grupo-fijo{margin-bottom:7px}
.nav-grupo-fijo-titulo{display:flex;align-items:center;margin:0;color:var(--muted);font-size:var(--texto-aux);letter-spacing:.5px;font-weight:600;text-transform:uppercase;min-height:33px;padding:7px 10px}
.nav-grupo-fijo.nav-pie{margin-top:7px;padding-top:7px;border-top:1px solid var(--nav-separador)}
.nav-item-sin-enlace{cursor:default}
.nav-contador{margin-left:auto;border-radius:6px;padding:1px 6px;background:var(--superficie-suave);color:var(--muted);font-size:var(--texto-aux);font-variant-numeric:tabular-nums}
@media(min-width:581px){.menu-compacto .nav-grupo-fijo-titulo,.menu-compacto .nav-contador{display:none}.menu-compacto .nav-grupo-fijo{border-top:1px solid var(--nav-separador);padding-top:7px}}

/* Horarios de Staff: diseño aprobado (referencia estática). Reglas propias con prefijo horarios-diseno; solo colores de la paleta global. */
.horarios-diseno{display:flex;flex-direction:column;color:var(--tinta)}
.horarios-diseno h1{margin:0}
.horarios-diseno h2{margin:0;font-size:var(--texto-seccion);font-weight:650}
.horarios-diseno p{margin:0}
.horarios-diseno .horarios-diseno-tenue{color:var(--muted);font-size:var(--texto-aux)}
.horarios-diseno-fecha{margin:4px 0 18px}
.horarios-diseno-panel{margin-bottom:14px;padding:16px;border:1px solid var(--linea);border-radius:var(--radio);background:var(--papel);box-shadow:0 2px 8px var(--sombra-suave)}
.horarios-diseno-cabecera{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}
.horarios-diseno-semana,.horarios-diseno-excepciones{margin:0;padding:0;list-style:none}
.horarios-diseno-semana li{display:grid;grid-template-columns:1fr 1fr;padding:10px 6px;border-bottom:1px solid var(--linea);font-size:var(--texto-aux)}
.horarios-diseno-excepciones li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--linea)}
.horarios-diseno-excepciones li:last-child{border-bottom:0;padding-bottom:0}
.horarios-diseno-excepciones p{margin-bottom:4px;font-size:var(--texto-aux)}
.horarios-diseno-eliminar{border:1px solid var(--linea);border-radius:6px;background:var(--papel);color:var(--acento);padding:5px 8px;font-size:var(--texto-aux);font-weight:500;cursor:pointer}
.horarios-diseno-pie{display:flex;justify-content:space-between;gap:12px;margin-top:2px}
/* Información clínica (Staff): sin «Temas e información acreditada» ni el acceso a Horarios. Solo se ocultan: los temas guardados se siguen enviando sin cambios al guardar. */
body:has(#detalle-dialogo[data-portal="staff"]) form[data-testid="informacion-form"]>section:has(#anadir-tema),.titulo-pagina:has(~form[data-testid="informacion-form"]) a.boton[href="/staff/horarios/"]{display:none}body:has(#detalle-dialogo[data-portal="staff"]) form[data-testid="informacion-form"]>.form-acciones>a.boton.secundario[href="/staff/"]{display:none}
/* Estadísticas de Staff: diseño aprobado (referencia estática). Reutiliza inicio-diseno; reglas propias con prefijo estadisticas-diseno; solo colores de la paleta global. Pestañas con radios, sin JS. */
.estadisticas-diseno h1{margin:0}
.estadisticas-diseno-sub{margin:4px 0 18px!important}
.estadisticas-diseno-salto{cursor:pointer}
.estadisticas-diseno-salto:hover{border-color:var(--acento)}
.estadisticas-diseno-pestanas{display:flex;flex-wrap:wrap;gap:4px;margin:0 0 20px}
.estadisticas-diseno-pestanas label{border:1px solid var(--borde-control);border-radius:8px;background:var(--papel);color:var(--tinta);padding:8px 12px;font-size:var(--texto);cursor:pointer}
.estadisticas-diseno-pestanas label:hover{border-color:var(--acento)}
.estadisticas-diseno-contenido{display:none}
.estadisticas-diseno:has(#estadisticas-reservas:checked) [data-pestana="reservas"],.estadisticas-diseno:has(#estadisticas-confirmaciones:checked) [data-pestana="confirmaciones"],.estadisticas-diseno:has(#estadisticas-tiempo:checked) [data-pestana="tiempo"],.estadisticas-diseno:has(#estadisticas-asistencia:checked) [data-pestana="asistencia"],.estadisticas-diseno:has(#estadisticas-canales:checked) [data-pestana="canales"]{display:block}
.estadisticas-diseno:has(#estadisticas-reservas:checked) .estadisticas-diseno-pestanas label[for="estadisticas-reservas"],.estadisticas-diseno:has(#estadisticas-confirmaciones:checked) .estadisticas-diseno-pestanas label[for="estadisticas-confirmaciones"],.estadisticas-diseno:has(#estadisticas-tiempo:checked) .estadisticas-diseno-pestanas label[for="estadisticas-tiempo"],.estadisticas-diseno:has(#estadisticas-asistencia:checked) .estadisticas-diseno-pestanas label[for="estadisticas-asistencia"],.estadisticas-diseno:has(#estadisticas-canales:checked) .estadisticas-diseno-pestanas label[for="estadisticas-canales"]{border-color:var(--acento);background:var(--acento-claro);color:var(--acento)}
.estadisticas-diseno:has(#estadisticas-reservas:focus-visible) .estadisticas-diseno-pestanas label[for="estadisticas-reservas"],.estadisticas-diseno:has(#estadisticas-confirmaciones:focus-visible) .estadisticas-diseno-pestanas label[for="estadisticas-confirmaciones"],.estadisticas-diseno:has(#estadisticas-tiempo:focus-visible) .estadisticas-diseno-pestanas label[for="estadisticas-tiempo"],.estadisticas-diseno:has(#estadisticas-asistencia:focus-visible) .estadisticas-diseno-pestanas label[for="estadisticas-asistencia"],.estadisticas-diseno:has(#estadisticas-canales:focus-visible) .estadisticas-diseno-pestanas label[for="estadisticas-canales"]{outline:2px solid var(--acento);outline-offset:2px}
.estadisticas-diseno-titulo{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:0 0 8px}
.estadisticas-diseno-etiqueta{display:inline-flex;align-items:center;border-radius:6px;padding:4px 7px;font-size:var(--texto-aux);background:var(--acento-claro);color:var(--acento)}
.estadisticas-diseno-descripcion{margin-bottom:18px!important}
.estadisticas-diseno-columnas{display:grid;grid-template-columns:1.2fr 1fr;gap:16px;margin-bottom:16px}
.estadisticas-diseno-otros{margin-top:16px}
.estadisticas-diseno-unidad{margin:6px 0!important}
.estadisticas-diseno-tendencia{display:flex;align-items:end;justify-content:space-around;gap:8px;margin:18px 0 12px}
.estadisticas-diseno-columna{flex:1;min-width:0;max-width:120px;text-align:center}
.estadisticas-diseno-valor{display:block;margin-bottom:8px;font-size:var(--texto-aux);font-variant-numeric:tabular-nums}
.estadisticas-diseno-pozo{display:flex;align-items:end;justify-content:center;height:160px;border-bottom:1px solid var(--linea)}
.estadisticas-diseno-pila{display:flex;flex-direction:column-reverse;width:66%;max-width:46px;height:100%;overflow:hidden;border-radius:7px 7px 0 0}
.estadisticas-diseno-pila span{display:block;min-height:0}
.estadisticas-diseno-fecha{display:block;padding-top:8px;min-height:42px;color:var(--muted);font-size:var(--texto-aux)}
.estadisticas-diseno-leyenda{display:flex;flex-wrap:wrap;gap:12px;color:var(--muted);font-size:var(--texto-aux)}
.estadisticas-diseno i{display:inline-block;width:8px;height:8px;margin-right:7px;border-radius:50%}
.estadisticas-diseno .estadisticas-diseno-voz{background:var(--origen-ia)}
.estadisticas-diseno .estadisticas-diseno-whatsapp{background:var(--exito)}
.estadisticas-diseno .estadisticas-diseno-sms{background:var(--acento)}
.estadisticas-diseno .estadisticas-diseno-cancelada{background:var(--error)}
/* Estadísticas con datos reales: columnas y anillo en SVG con las mismas clases de color, sin estilos en línea. */
.estadisticas-diseno .estadisticas-diseno-otro{background:var(--muted)}
svg.estadisticas-diseno-pila{display:block;border-radius:0}
.estadisticas-diseno rect.estadisticas-diseno-voz{fill:var(--origen-ia)}.estadisticas-diseno rect.estadisticas-diseno-whatsapp{fill:var(--exito)}.estadisticas-diseno rect.estadisticas-diseno-sms{fill:var(--acento)}
.estadisticas-diseno rect.estadisticas-diseno-cancelada{fill:var(--error)}.estadisticas-diseno rect.estadisticas-diseno-otro{fill:var(--muted)}
.estadisticas-diseno-anillo{position:relative}.estadisticas-diseno-anillo>div{position:relative}
.estadisticas-diseno-anillo-svg{position:absolute;inset:0;width:100%;height:100%}.estadisticas-diseno-anillo-svg circle{fill:none;stroke-width:17}
.estadisticas-diseno-anillo-svg .estadisticas-diseno-anillo-fondo{stroke:var(--superficie-suave)}
.estadisticas-diseno circle.estadisticas-diseno-voz{stroke:var(--origen-ia)}.estadisticas-diseno circle.estadisticas-diseno-whatsapp{stroke:var(--exito)}.estadisticas-diseno circle.estadisticas-diseno-sms{stroke:var(--acento)}
.estadisticas-diseno circle.estadisticas-diseno-cancelada{stroke:var(--error)}.estadisticas-diseno circle.estadisticas-diseno-otro{stroke:var(--muted)}
.estadisticas-diseno-anillo{display:flex;width:164px;height:164px;margin:19px auto;padding:17px;border-radius:50%;background:var(--anillo)}
.estadisticas-diseno-anillo>div{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;border-radius:50%;background:var(--papel)}
.estadisticas-diseno-anillo strong{font-size:var(--texto-titulo);font-weight:600}
.estadisticas-diseno-fila{display:flex;justify-content:space-between;padding:8px 0;font-size:var(--texto-aux)}
.estadisticas-diseno-porcentaje{display:inline-block;min-width:66px;margin-left:12px;text-align:right;color:var(--muted)}
.estadisticas-diseno-tabla{overflow-x:auto}
.estadisticas-diseno-tabla table{width:100%;margin-top:12px;border-collapse:collapse;font-size:var(--texto-aux)}
.estadisticas-diseno-tabla :is(th,td){padding:12px 8px;border-bottom:1px solid var(--linea);text-align:left;font-weight:400}
.estadisticas-diseno-tabla thead th{color:var(--muted)}
.estadisticas-diseno-tabla tbody th{color:var(--muted)}
.estadisticas-diseno-nota{margin-top:10px!important}
.estadisticas-diseno-pie{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-top:14px}
@media (max-width:1100px){.estadisticas-diseno-columnas{grid-template-columns:1fr}}
/* Inicio de Staff: el recuadro de cada KPI abre su pestaña en Estadísticas. */
a.inicio-diseno-recuadro{color:inherit;text-decoration:none}
a.inicio-diseno-recuadro:hover{border-color:var(--acento);text-decoration:none}
/* Menú de Staff: «Centro de ayuda» sin enlace, marcado como Próximamente. */
.nav-proximamente{margin-left:29px;border-radius:6px;padding:1px 6px;background:var(--superficie-suave);color:var(--muted);font-size:var(--texto-aux);white-space:nowrap}
@media(min-width:581px){.menu-compacto .nav-proximamente{display:none}}.nav-item:has(>.nav-proximamente){flex-wrap:wrap;row-gap:4px}.nav-item:has(>.nav-proximamente)>.nav-texto{flex:0 0 calc(100% - 29px);white-space:nowrap}

/* Canales (Staff): sin la barra de pestañas del canal, que en Staff solo tiene una pestaña. */
nav.tabs:has(>a[href="/staff/whatsapp/"],>a[href="/staff/sms/"],>a[href="/staff/voz/"]){display:none}

/* Cabecera (Staff): sin la campana de solicitudes a recepción. Standard no tiene campana. */
details.menu-cabecera:has(a[href="/staff/solicitudes/?filtro=pendiente"]){display:none}

/* Diálogos (Standard): igual que Staff, solo queda la X de cerrar. */
#detalle-dialogo[data-portal="standard"] .dialogo-barra{justify-content:flex-end}#detalle-dialogo[data-portal="standard"] :is(#dialogo-titulo,[data-dialogo-pagina],.dialogo-barra>.boton,[data-dialogo-contenido] .titulo-pagina a.volver[href$="/agenda/"]),#detalle-dialogo[data-portal="standard"]>[data-dialogo-booky]{display:none}

/* Densidad en Semana (resumen por profesional) y Mes: Compacta aprieta las tarjetas y Ampliada las agranda, como hace el paso de horas en Día; Cómoda queda como estaba. */
.pagina-agenda .tabla-componente:has([data-agenda-densidad=compacta]) .cita-semana{padding:3px 5px;margin-bottom:3px}.pagina-agenda .tabla-componente:has([data-agenda-densidad=compacta]) :is(.cita-semana,.cita-mes)>strong{line-height:14px}.pagina-agenda .tabla-componente:has([data-agenda-densidad=compacta]) .cita-semana .cita-linea{margin-top:1px}
.pagina-agenda .tabla-componente:has([data-agenda-densidad=compacta]) .agenda-dia-mes{padding:3px}.pagina-agenda .tabla-componente:has([data-agenda-densidad=compacta]) .agenda-dia-mes h2{margin-bottom:4px}.pagina-agenda .tabla-componente:has([data-agenda-densidad=compacta]) .cita-mes{padding:2px 5px;margin-bottom:3px}
.pagina-agenda .tabla-componente:has([data-agenda-densidad=ampliada]) .agenda-semana :is(th,td){padding:9px}.pagina-agenda .tabla-componente:has([data-agenda-densidad=ampliada]) .cita-semana{padding:10px 9px;margin-bottom:9px}.pagina-agenda .tabla-componente:has([data-agenda-densidad=ampliada]) :is(.cita-semana,.cita-mes)>strong{font-size:var(--texto);line-height:20px}.pagina-agenda .tabla-componente:has([data-agenda-densidad=ampliada]) .cita-semana .cita-linea{font-size:var(--texto-aux);margin-top:5px}
.pagina-agenda .tabla-componente:has([data-agenda-densidad=ampliada]) .agenda-dia-mes{padding:8px}.pagina-agenda .tabla-componente:has([data-agenda-densidad=ampliada]) .cita-mes{padding:9px 8px;margin-bottom:8px}
/* Agenda móvil: botón para ocultar/mostrar los filtros (estado en el checkbox .agenda-plegar-control). */
.agenda-plegar-botones{display:none}
@media(max-width:780px){.agenda-plegar-botones{display:flex;justify-content:flex-end;margin:0 0 8px}.agenda-plegar-botones label{cursor:pointer}.agenda-plegar-mostrar,.agenda-plegar-control:checked~.agenda-plegar-botones .agenda-plegar-ocultar{display:none}.agenda-plegar-control:checked~.agenda-plegar-botones .agenda-plegar-mostrar{display:inline-flex}.tabla-componente .agenda-plegar-control:checked~.agenda-filtros-clinicos,.tabla-componente:has(>.agenda-plegar-control:checked) .agenda-barra{display:none}.agenda-plegar-control:focus-visible~.agenda-plegar-botones .boton{outline:2px solid var(--acento);outline-offset:2px}}
/* Agenda de Staff: sin botón «Reservar cita» (solo visual; el portal se reconoce por la ruta del enlace). */
.titulo-agenda .boton[data-agenda-reservar][href^="/staff/"]{display:none}
/* Pacientes de Staff: sin botón «Añadir paciente» (solo visual; se reconoce por la ruta del enlace). */
.titulo-pagina .acciones .boton[href="/staff/pacientes/nuevo/"]{display:none}
/* Botón verde de confirmación («Resolver alerta»), con el verde de «Confirmada». */
.boton.exito{background:var(--exito);color:var(--papel)}.boton.exito:hover{background:var(--exito);opacity:.9}

/* Superadmin: una sola escala de letra anclada en el menú lateral (13px/500) y controles de tamaño de trabajo.
   Solo este portal (data-portal del body); Staff y Standard conservan su diseño aprobado.
   El ámbito por id (#contenido y #detalle-dialogo) prevalece sobre las reglas comunes sin depender del orden. */
[data-portal="superadmin"]{--texto-titulo:22px;--texto-bloque:15px;--texto-seccion:14px;--texto:13px;--texto-aux:12px}
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo){font-size:var(--texto)}
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) h1{font-size:var(--texto-titulo);letter-spacing:-.3px;margin-bottom:6px}
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) h2{font-size:var(--texto-bloque)}
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) h3{font-size:var(--texto-seccion)}
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) :is(.titulo-pagina p,.mensaje,.tabs a,.estado-integraciones a,.detalle-grid dd,.franja-ayuda p,.actividad strong,.resultado-busqueda strong,.seguridad-verificacion>p,.burbuja p){font-size:var(--texto)}
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) :is(.campo>label,.campo>legend,.filtros label,.seccion-abierta>form>label:not(:has(>input[type=checkbox])),.seccion-abierta>form>fieldset>legend,.detalle-grid dt){font-size:var(--texto-aux);font-weight:600}
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) :is(.campo.campo-checkbox>label,.campo>div>div>label,.seccion-abierta>form>label:has(>input[type=checkbox])){font-size:var(--texto);font-weight:500}
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) :is(input,select,textarea){font-size:var(--texto);font-weight:400}
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) table:not(.cuadrante):not(.agenda-semana){font-size:var(--texto)}
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .badge{font-size:var(--texto-aux);padding:3px 8px}
/* Sin antetítulo sobre el título de la página: la clínica ya está en el selector de la cabecera y el ámbito en el menú.
   Se conserva el dato del documento («Categoría · nº») que va tras «Volver». */
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) :is(.titulo-pagina>div>.eyebrow:first-child,.preparacion-contexto>.eyebrow){display:none}
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .volver{font-size:var(--texto-aux);margin-bottom:4px}
[data-portal="superadmin"] #contenido .titulo-pagina .ambito-formulario{display:none}
/* Secciones con pestañas: la barra queda a la misma altura en todas sus páginas, tengan o no una línea bajo el título. */
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .titulo-pagina:has(+.tabs)>div:not(:has(>p))::after{content:"";display:block;height:1lh;font-size:var(--texto)}
/* Cabeceras de columna como texto, no como cajas; la flecha solo se resalta en la columna ordenada. */
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .tabla-registros th a{margin:0;padding:8px 12px;min-height:0;border:0;border-radius:0;background:transparent;justify-content:flex-start;gap:6px;white-space:nowrap}
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .tabla-registros th a:hover{background:transparent;color:var(--acento)}
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .tabla-registros th a span{font-size:var(--texto-aux);opacity:.55}
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .tabla-registros th:is([aria-sort=ascending],[aria-sort=descending]) a span{opacity:1}
/* Tablas sin la línea vacía sobre los filtros, sin aviso fijo de filtros y sin cabecera ni paginación cuando no hay filas. */
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .tabla-componente .filtros{border-top:0;padding-top:0}
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .tabla-estado{min-height:0;padding-bottom:0}
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .tabla-estado>[data-tabla-estado]:not(:empty){display:block;padding-bottom:6px}
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) [data-tabla-resultados]:has(>.vacio)>:is(.tabla-scroll,.paginacion){display:none}
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .paginas:not(:has(>a)){display:none}
/* Conversaciones: quién atiende y quién escribió lo último, con los colores del chat y de la agenda. */
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .badge:is(.control-ia,.autor-assistant,.autor-coletilla){background:var(--origen-ia-fondo);color:var(--origen-ia)}
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .badge:is(.control-humano,.autor-humano){background:color-mix(in srgb,var(--control-humano) 14%,var(--papel));color:var(--control-humano)}
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .badge:is(.control-cerrada,.autor-externo){background:var(--superficie-suave);color:var(--muted)}
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .badge.autor-user{background:var(--acento-claro);color:var(--acento)}
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .badge.autor-nota{background:var(--nota-interna-fondo);color:var(--nota-interna)}
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .badge.sin-leer{background:var(--exito);color:var(--papel);font-weight:700}
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .badge.pendiente-atencion{background:color-mix(in srgb,var(--control-humano) 14%,var(--papel));color:var(--control-humano)}
/* Conversaciones: la fecha y el extracto del último mensaje en una sola línea, recortada. */
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .tabla-componente:is([data-base$="/voz/"],[data-base$="/whatsapp/"],[data-base$="/sms/"]) td small{max-width:60ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* Activación: los tres canales en una tabla con sus controles en línea; avisos a la izquierda, clínica y PMS a la derecha. */
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .activacion-en-linea{display:flex;align-items:center;gap:8px;margin:0}
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .activacion-en-linea select{width:auto;min-width:170px}
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .activacion-en-linea label{display:inline-flex;align-items:center;gap:8px;margin:0;white-space:nowrap}
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .activacion-rejilla{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:16px;align-items:start}
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .activacion-rejilla>div{display:grid;gap:16px}
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .activacion-rejilla .seccion-abierta{margin-bottom:0}
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .activacion-fila{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;align-items:start}
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .activacion-fila>label{display:grid;gap:5px;font-size:var(--texto-aux);font-weight:600}
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .activacion-relevo{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .activacion-relevo>label{display:flex;align-items:center;gap:6px;font-weight:600}
@media(max-width:1180px){[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .activacion-rejilla{grid-template-columns:1fr}}
@media(max-width:780px){[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) :is(.activacion-fila,.activacion-relevo){grid-template-columns:1fr}}
/* Canales: las integraciones como una fila de píldoras y un botón desactivado como estado, no como acción principal. */
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .estado-integraciones{gap:6px;border:0;padding:0;margin-bottom:12px}
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .estado-integraciones a{flex-direction:row;align-items:baseline;gap:6px;padding:3px 10px;border:1px solid var(--linea);border-radius:999px;font-size:var(--texto-aux)}
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .estado-integraciones a:hover{border-color:var(--acento);text-decoration:none}
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .estado-integraciones span{font-size:11px}
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .titulo-pagina button.boton:disabled{background:var(--superficie-suave);color:var(--muted);border-color:var(--linea);opacity:1}
/* Conversación: el chat ocupa el alto disponible; la columna derecha, más ancha, reúne actividad y otras conversaciones del contacto. */
[data-portal="superadmin"] #contenido .wa-barra>*{margin:0}
[data-portal="superadmin"] #contenido .chat-acciones .boton{max-width:none;white-space:nowrap}
@media(min-width:1051px){[data-portal="superadmin"] #contenido .conversacion-layout:not(.sin-inspector){grid-template-columns:minmax(0,1fr) 380px}}
/* Columna derecha: una sola fila de pestañas (Conversación actual, General y Conversaciones del contacto), sin título encima. */
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .actividad-tabs{display:flex}
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .actividad-tabs a{flex:1 1 auto;display:flex;align-items:center;justify-content:center;gap:6px;padding:9px 8px;white-space:nowrap;font-size:var(--texto-aux)}
[data-portal="superadmin"] #contenido .inspector-conversacion .actividad-cabecera:not(:has(.boton)){display:none}
[data-portal="superadmin"] #contenido .inspector-conversacion .actividad-cabecera h2{display:none}
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .conversacion-otras ul{list-style:none;margin:0;padding:0}
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .conversacion-otras a{display:flex;justify-content:space-between;gap:10px;padding:9px 10px;border-bottom:1px solid var(--linea);color:var(--tinta)}
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .conversacion-otras a:hover{background:var(--superficie-suave);text-decoration:none}
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .conversacion-otras time{color:var(--muted);font-variant-numeric:tabular-nums}
/* Control de Booky: ejecución y bloqueo en dos tarjetas; estado en píldoras, botones en una fila (la parada, aparte) y la explicación como ayuda. */
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .booky-control{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .booky-control .seccion-abierta{margin:0}
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .booky-control-estado{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px;margin:0 0 14px}
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .booky-control-estado dt{margin-bottom:4px;color:var(--muted);font-size:var(--texto-aux);font-weight:600}
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .booky-control-estado dd{margin:0}
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .booky-control-acciones{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:12px 0;border-block:1px solid var(--linea)}
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .booky-control-acciones form{margin:0}
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .booky-control-ayuda{display:grid;gap:4px;margin:12px 0 0;padding-left:18px;color:var(--muted);font-size:var(--texto-aux)}
@media(max-width:1180px){[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .booky-control{grid-template-columns:1fr}}
/* Ficha de cita: sin el subtítulo que repiten los datos de debajo. En los diálogos, el «← …» de arriba solo cuando hay un diálogo anterior (si no, hace lo mismo que la ×).
   A lo ancho, tres columnas: notas | paciente | otras citas y gestiones. */
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .titulo-pagina:has(+.cita-datos-principales)>div>p{display:none}
#detalle-dialogo[data-portal="superadmin"]:not([data-dialogo-historial]) [data-dialogo-contenido] .titulo-pagina a.volver[data-dialogo-volver]{display:none}
@media(min-width:1181px){
 #detalle-dialogo[data-portal="superadmin"] .dialogo-cuerpo .detalle-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
 [data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .cita-contexto{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}
 [data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .cita-paciente{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto 1fr;gap:0 28px;align-content:start}
 [data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .cita-paciente>section:first-child{grid-row:span 2}
}
/* Gestiones en el PMS: cada gestión en una fila, con el paciente y el resultado a la izquierda y sus accesos a la derecha. */
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .gestiones-pms>.nota{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 16px;align-items:center;padding:10px 0}
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .gestiones-pms>.nota>p{margin:0}
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .gestiones-pms>.nota>p.mensaje{padding:6px 10px}
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .gestiones-pms>.nota>.acciones{grid-column:2;grid-row:1/3;justify-content:flex-end;gap:6px}
@media(max-width:1180px){[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .gestiones-pms>.nota{grid-template-columns:1fr}[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .gestiones-pms>.nota>.acciones{grid-column:1;grid-row:auto;justify-content:flex-start}}
/* Listas de pasos (Puesta en marcha y Onboarding): el botón bajo su explicación y el número con el color de su estado. */
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .preparacion-cabecera p .badge{margin-right:8px}
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .preparacion-lista{margin:12px 0 16px;padding:4px 16px}
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .preparacion-paso{grid-template-columns:30px minmax(0,1fr);gap:6px 14px;align-items:start;padding:14px 0}
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .preparacion-paso:last-child{border-bottom:0}
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .preparacion-acciones{grid-column:2;justify-content:flex-start}
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .preparacion-explicacion h2{font-size:var(--texto-seccion)}
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .preparacion-explicacion p{max-width:none}
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .paso-numero{font-weight:600}
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .paso-numero.completo{background:var(--exito-fondo);color:var(--exito)}
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .paso-numero.pendiente{background:var(--aviso-fondo);color:var(--aviso)}
/* Cabeceras con muchos accesos (p. ej. Booky · circuitos): accesos compactos y, al final y aparte, la acción peligrosa y la principal. */
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .titulo-pagina>.acciones:has(>:nth-child(6)){gap:6px;padding:10px 12px}
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .titulo-pagina>.acciones:has(>:nth-child(6)) .boton{min-height:30px;padding:5px 10px;font-size:var(--texto-aux)}
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .titulo-pagina>.acciones:has(>:nth-child(6))>form:has(.peligro){order:98;margin-inline-start:auto}
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .titulo-pagina>.acciones:has(>:nth-child(6))>.boton:not(.secundario){order:99;margin-inline-start:0}
/* Indicadores: la cifra sin recuadro propio dentro de la tarjeta. */
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .supervision-indicador>span{font-size:var(--texto);font-weight:600}
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) :is(.metrica strong,.supervision-accion){padding:0;border:0;border-radius:0;background:transparent}
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) :is(.metrica strong,.supervision-accion strong){font-size:24px;line-height:1.2}
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .supervision-accion small{font-size:var(--texto-aux)}
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .supervision-accion:hover strong{color:var(--acento)}
@media(min-width:781px){
 [data-portal="superadmin"] #contenido{max-width:none;padding:18px 24px 24px}
 /* Diálogos de detalle al 75 % del ancho; confirmaciones y formularios cortos conservan su medida. */
 #detalle-dialogo[data-portal="superadmin"]:not(:has(.confirmar,.formulario-breve)){--ancho-dialogo:75vw}
 #detalle-dialogo[data-portal="superadmin"] .dialogo-cuerpo .acciones+.seccion-abierta{margin-top:18px;padding-top:16px;border-top:1px solid var(--linea)}
 [data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .titulo-pagina{margin:0 0 16px;gap:12px 16px}
 [data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .miga{margin-bottom:8px}
 [data-portal="superadmin"] :is(#contenido,#detalle-dialogo) :is(.panel,.formulario-panel,.seccion-abierta,.apariencia-opciones,.preparacion-lista,.busqueda-avanzada,.grupo-resultados,.estado-vacio){margin-bottom:16px}
 [data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .mensaje{padding:10px 14px}
 [data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .boton{min-height:34px;padding:6px 12px;border-radius:8px}
 [data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .boton.pequeno{min-height:28px;padding:4px 9px}
 [data-portal="superadmin"] :is(#contenido,#detalle-dialogo) form:not(.filtros) :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select){min-height:34px;padding:6px 10px}
 [data-portal="superadmin"] :is(#contenido,#detalle-dialogo) form:not(.filtros) textarea{padding:8px 10px}
 /* Cada campo a la medida de su dato: un estado, un número, una hora o una fecha no ocupan media pantalla. */
 [data-portal="superadmin"] :is(#contenido,#detalle-dialogo) form:not(.filtros) select:not([multiple]):not([size]){max-width:480px}
 [data-portal="superadmin"] :is(#contenido,#detalle-dialogo) form:not(.filtros) :is(input[type=number],input[type=time],input[type=date]){max-width:200px}
 /* Filtros recogidos: cada desplegable a la medida de su texto y a la altura de «Limpiar filtros». */
 [data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .tabla-componente .filtros{gap:8px}
 [data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .tabla-componente .filtros>div:not(.busqueda){min-width:0;flex:0 0 auto}
 [data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .tabla-componente .filtros label{margin-bottom:4px}
 [data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .tabla-componente .filtros :is(input,select){min-height:28px;padding:3px 8px}
 [data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .tabla-componente .filtros select{width:auto;max-width:240px}
 [data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .tabla-componente .filtros>.busqueda{flex:0 1 320px;min-width:200px}
 [data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .campos{gap:12px 20px}
 [data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .campo:not(.campo-checkbox)>:is(label,legend){margin-bottom:5px}
 [data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .form-acciones{padding-top:14px;margin-top:16px}
 [data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .seccion-abierta>form:not([class])>.boton{justify-self:start}
 /* Listas de casillas (p. ej. días de la semana) seguidas, no repartidas a todo el ancho. */
 [data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .campo>div:has(>div>label>input[type=checkbox]){gap:6px 20px}
 [data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .campo>div:has(>div>label>input[type=checkbox])>div{min-width:0}
 [data-portal="superadmin"] :is(#contenido,#detalle-dialogo) table:not(.cuadrante):not(.agenda-semana) :is(th,td){padding:8px 12px}
 [data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .tabla-registros th:not(.columna-seleccion):not(.columna-acciones){padding:0}
 /* Textos por idioma (p. ej. mensajes de avisos): español, inglés y alemán uno al lado del otro. */
 [data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .campos.campos-tres>.campo:has(>textarea:is([name$="_es"],[name$="_en"],[name$="_de"])){grid-column:auto}
 /* Información clínica: cada tema en una fila (tema, información y «Eliminar») y el ejemplo solo en el primero. */
 [data-portal="superadmin"] #contenido .tema-fila .campos{grid-template-columns:280px minmax(0,1fr) auto;align-items:start}
 [data-portal="superadmin"] #contenido .tema-fila .campo-checkbox{grid-column:auto;align-self:center}
 [data-portal="superadmin"] #contenido .tema-fila textarea{field-sizing:content;min-height:34px}
 [data-portal="superadmin"] #contenido #temas-lista>.tema-fila:not(:first-child) .campo>small{display:none}
 /* Horarios: la primera columna a la medida del nombre, con el origen de la agenda y su estado en una sola línea gris debajo. */
 [data-portal="superadmin"] #contenido .cuadrante .profesional-fijo{width:270px;padding:10px 14px}
 [data-portal="superadmin"] #contenido .cuadrante tbody .profesional-fijo{font-size:var(--texto);padding-block:10px}
 [data-portal="superadmin"] #contenido .cuadrante .profesional-fijo small{display:inline;font-size:var(--texto-aux);font-weight:400}
 [data-portal="superadmin"] #contenido .cuadrante .profesional-fijo small:first-of-type::before{content:"\A";white-space:pre}
 [data-portal="superadmin"] #contenido .cuadrante .profesional-fijo small+small::before{content:" · "}
 [data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .tabs{gap:2px;margin-bottom:16px}
 [data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .tabs a{padding:9px 14px;font-weight:500}
 [data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .tabs a[aria-current=page]{font-weight:600;border-bottom-width:2px}
 [data-portal="superadmin"] :is(#contenido,#detalle-dialogo) :is(.metricas,.supervision-indicadores){gap:12px;margin-bottom:18px}
 [data-portal="superadmin"] :is(#contenido,#detalle-dialogo) :is(.metrica,.supervision-indicador){gap:4px;padding:12px 14px}
 [data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .supervision-icono{top:12px;right:14px}
}/* Superadmin · acabado: luz de fondo, superficies con brillo sutil, filas, botones, campos y diálogos con el color de la marca.
   Todo deriva de la apariencia global (acento y botón principal), así sirve en día y en noche y con cualquier paleta. */
body[data-portal="superadmin"]{background:radial-gradient(1200px 560px at 88% -14%,color-mix(in srgb,var(--boton-principal) 22%,transparent),transparent 66%),radial-gradient(900px 640px at 6% 112%,color-mix(in srgb,var(--origen-ia) 9%,transparent),transparent 62%),var(--fondo);background-attachment:fixed;scrollbar-color:color-mix(in srgb,var(--acento) 30%,transparent) transparent}
[data-portal="superadmin"] .cabecera{background:color-mix(in srgb,var(--papel) 82%,transparent);backdrop-filter:blur(12px) saturate(140%)}
[data-portal="superadmin"] #contenido :is(.panel,.seccion-abierta,.formulario-panel,.preparacion-lista,.supervision-indicador,.metrica,.chat-superficie,.inspector-conversacion):not(:is(.panel,.seccion-abierta,.formulario-panel,.preparacion-lista) *){background:linear-gradient(180deg,color-mix(in srgb,var(--papel) 94%,var(--acento) 6%),var(--papel) 160px);box-shadow:inset 0 1px 0 color-mix(in srgb,var(--tinta) 6%,transparent),0 18px 40px -30px var(--sombra-intensa)}
[data-portal="superadmin"] #contenido :is(.panel,.seccion-abierta,.formulario-panel,.preparacion-lista,.chat-superficie,.inspector-conversacion):not(:is(.panel,.seccion-abierta,.formulario-panel,.preparacion-lista) *){border-color:color-mix(in srgb,var(--linea) 85%,var(--acento) 15%)}
[data-portal="superadmin"] #contenido :is(.supervision-indicador,.metrica){transition:transform .18s ease,box-shadow .18s ease}
[data-portal="superadmin"] #contenido :is(.supervision-indicador,.metrica):hover{transform:translateY(-2px);box-shadow:inset 0 1px 0 color-mix(in srgb,var(--tinta) 8%,transparent),0 22px 44px -26px var(--sombra-intensa)}
/* Filas: el realce lleva el tono de la marca y una línea a la izquierda. */
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .tabla-registros tbody tr{transition:background .15s ease}
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .tabla-registros tbody tr:hover:not(:has(.columna-acciones :is(a,button,summary):hover)){background:color-mix(in srgb,var(--acento) 7%,transparent)}
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .tabla-registros tbody tr:hover:not(:has(.columna-acciones :is(a,button,summary):hover)) .columna-acciones{background:transparent}
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .tabla-registros tbody tr:hover>td:first-child{box-shadow:inset 2px 0 0 var(--acento)}
/* Estados con su punto de color delante, como en los paneles de operaciones. */
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) :is(td>.badge:not(.sin-leer),.titulo-pagina .badge)::before{content:"";display:inline-block;width:6px;height:6px;margin:0 6px 1px 0;border-radius:50%;background:currentColor;opacity:.85;vertical-align:middle}
/* Botones: el principal con degradado y brillo; los secundarios se iluminan con el acento. */
[data-portal="superadmin"] .boton{transition:transform .15s ease,box-shadow .15s ease,background .15s ease,border-color .15s ease,color .15s ease,filter .15s ease}
[data-portal="superadmin"] .boton:not(.secundario):not(.peligro):not(:disabled){background:linear-gradient(135deg,var(--boton-principal),color-mix(in srgb,var(--boton-principal) 72%,var(--acento-hover)));box-shadow:inset 0 1px 0 color-mix(in srgb,#fff 18%,transparent),0 8px 20px -10px color-mix(in srgb,var(--boton-principal) 85%,transparent)}
[data-portal="superadmin"] .boton:not(.secundario):not(.peligro):not(:disabled):hover{filter:brightness(1.08);transform:translateY(-1px)}
[data-portal="superadmin"] .boton.peligro:not(.secundario):not(:disabled){box-shadow:0 8px 20px -12px var(--error)}
/* Campos: el foco como un halo del acento en lugar de un contorno grueso. */
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea){transition:border-color .15s ease,box-shadow .15s ease}
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea):focus-visible{outline:none;border-color:var(--acento);box-shadow:0 0 0 3px color-mix(in srgb,var(--acento) 24%,transparent)}
/* Volver: una píldora discreta que se ilumina al pasar por encima. */
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .volver{display:inline-flex;align-items:center;gap:4px;margin-bottom:8px;padding:2px 10px;border:1px solid var(--linea);border-radius:999px;background:color-mix(in srgb,var(--superficie-suave) 55%,transparent);color:var(--muted);font-weight:500;line-height:1.7;transition:color .15s ease,border-color .15s ease,background .15s ease}
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .volver:hover{color:var(--acento);border-color:color-mix(in srgb,var(--acento) 45%,var(--linea));background:var(--acento-claro);text-decoration:none}
/* Pestañas: la activa subrayada con un degradado de la marca. */
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) :is(.tabs,.actividad-tabs) a[aria-current]{box-shadow:none;background-image:linear-gradient(90deg,var(--boton-principal),var(--acento));background-size:100% 2px;background-position:bottom;background-repeat:no-repeat;background-color:var(--acento-claro)}
/* Diálogo: borde con un toque del acento, cabecera translúcida, brillo arriba y fondo desenfocado. */
#detalle-dialogo[data-portal="superadmin"],[data-portal="superadmin"] #buscador-dialogo{border-color:color-mix(in srgb,var(--linea) 70%,var(--acento) 30%);background:linear-gradient(180deg,color-mix(in srgb,var(--papel) 93%,var(--acento) 7%),var(--papel) 240px);box-shadow:0 40px 120px -30px var(--sombra-intensa),inset 0 1px 0 color-mix(in srgb,var(--tinta) 6%,transparent)}
#detalle-dialogo[data-portal="superadmin"]::backdrop,[data-portal="superadmin"] #buscador-dialogo::backdrop{backdrop-filter:blur(6px) saturate(120%)}
#detalle-dialogo[data-portal="superadmin"] .dialogo-barra{background:color-mix(in srgb,var(--superficie-suave) 45%,transparent)}
#detalle-dialogo[data-portal="superadmin"] .dialogo-barra>span{color:var(--tinta)}
/* Ficha de cita: fecha, profesional y origen en una banda suave. */
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .cita-datos-principales{padding:14px 18px;border:1px solid var(--linea);border-radius:12px;background:color-mix(in srgb,var(--superficie-suave) 45%,transparent)}
/* Diálogos: entrada suave (se desactiva sola con «reducir movimiento»). Avisos con barra de color y estados vacíos enmarcados. */
@keyframes superadmin-dialogo{from{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}
#detalle-dialogo[data-portal="superadmin"][open],[data-portal="superadmin"] #buscador-dialogo[open]{animation:superadmin-dialogo .18s ease-out}
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .mensaje{border-left-width:3px}
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) :is(.vacio,.estado-vacio){margin:8px 0;border:1px dashed color-mix(in srgb,var(--linea) 80%,var(--acento) 20%);border-radius:12px;background:color-mix(in srgb,var(--superficie-suave) 30%,transparent)}
/* Indicadores a cero: sin el enlace «Ver 0 clínicas». */
[data-portal="superadmin"] #contenido .supervision-indicador.sin-casos .supervision-accion small{display:none}
/* Inicio: las cabeceras de las columnas de recuentos, centradas como sus cifras. */
[data-portal="superadmin"] #contenido:has(.supervision-indicadores) .tabla-registros th:is(:nth-child(3),:nth-child(4),:nth-child(5)) a{justify-content:center}
/* Resumen bajo los indicadores (Control de plataforma) como píldoras, igual que las integraciones de los canales. */
[data-portal="superadmin"] #contenido .estado-integraciones>span{display:inline-flex;align-items:baseline;gap:5px;padding:3px 10px;border:1px solid var(--linea);border-radius:999px;font-size:var(--texto-aux);color:var(--muted)}
[data-portal="superadmin"] #contenido .estado-integraciones>span strong{color:var(--tinta)}
/* Agenda: Tabla, Día, Semana y Mes como un selector segmentado. */
[data-portal="superadmin"] #contenido .agenda-vistas{display:inline-flex;gap:2px;padding:2px;border:1px solid var(--linea);border-radius:10px;background:color-mix(in srgb,var(--superficie-suave) 50%,transparent)}
[data-portal="superadmin"] #contenido .agenda-vistas .boton{min-height:26px;border-color:transparent;border-radius:8px;background:transparent;color:var(--muted)}
[data-portal="superadmin"] #contenido .agenda-vistas .boton:hover{color:var(--tinta);background:color-mix(in srgb,var(--acento) 8%,transparent)}
[data-portal="superadmin"] #contenido .agenda-vistas .boton[aria-current]{background:var(--acento-claro);color:var(--acento);border-color:color-mix(in srgb,var(--acento) 40%,transparent);box-shadow:0 1px 6px -2px color-mix(in srgb,var(--boton-principal) 60%,transparent)}
/* Ficha de cita: «Sin confirmar» con el mismo color de pendiente que en la Agenda. Título del diálogo con un foco suave al abrirlo por teclado. */
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .titulo-pagina .badge.reservada{background:var(--estado-pendiente-fondo);color:var(--estado-pendiente)}
#detalle-dialogo[data-portal="superadmin"] [data-dialogo-contenido] h1:focus-visible{outline:2px solid color-mix(in srgb,var(--acento) 55%,transparent);outline-offset:4px;border-radius:6px}
[data-portal="superadmin"] :is(#contenido,#detalle-dialogo) .booky-control-acciones+.ayuda-seccion{margin-top:10px}
