/* =============================================================================
   GoCare — gc-tokens.css
   FUENTE ÚNICA de la identidad visual de toda la plataforma.

   Antes de este archivo convivían cuatro sistemas de tokens (--bp-*, --gc-*,
   --gcp-*, --app-*) con tres azules distintos peleando por ser "el primario",
   y 9.956 colores escritos a mano en las vistas. Aquí se define UNA paleta y
   los demás sistemas quedan como alias que apuntan a ella: cambiar el azul de
   marca en un solo sitio repinta la plataforma entera.

   La paleta NO se inventó: se extendió la que ya usa la app móvil
   (gc-app.css), que es la única que respetaba los colores reales del logo.

   ORDEN EN LA CASCADA — importante:
   este archivo debe cargarse DESPUÉS de gc-form.css, gc-portal.css y
   gocare-brand.css, porque redefine tokens que esos archivos declaran. En
   layouts/header.php va como último <link> de la tanda de CSS.

   Rampas generadas en espacio OKLab desde los colores del logo, para que los
   escalones se vean uniformemente separados al ojo. Contraste verificado
   contra WCAG AA; los valores están anotados junto a cada token crítico.
   ========================================================================== */

:root {

    /* =========================================================================
       1. COLORES DE MARCA
       Medidos píxel a píxel sobre logo.png. No se tocan.
       ====================================================================== */
    --gc-marca-azul:    #00435E;   /* wordmark del logo */
    --gc-marca-naranja: #F3672A;   /* bocadillo del logo */

    /* =========================================================================
       2. RAMPA AZUL — estructura, encabezados, navegación, texto de marca
       El escalón 800 ES el azul del logo.
       ====================================================================== */
    --gc-azul-50:  #F2F8FB;
    --gc-azul-100: #E4EFF5;
    --gc-azul-200: #CDDEE7;
    --gc-azul-300: #AEC7D5;
    --gc-azul-400: #88AABD;
    --gc-azul-500: #608BA3;   /* 3.67:1 — solo bordes e iconos, NO texto */
    --gc-azul-600: #396B86;   /* 5.80:1 — texto secundario y enlaces */
    --gc-azul-700: #1C5672;   /* 8.00:1 — hover de superficies oscuras */
    --gc-azul-800: #00435E;   /* 10.69:1 — MARCA. Sidebar, títulos, botón primario */
    --gc-azul-900: #002F47;   /* 14.02:1 — hover del botón primario */

    /* =========================================================================
       3. RAMPA NARANJA — acento, llamados a la acción, urgencia
       El escalón 500 ES el naranja del logo.

       REGLA: el naranja NUNCA es texto sobre blanco por debajo del 700.
       naranja-500 da 3.10:1, no alcanza AA. Para texto naranja usar el 700.
       ====================================================================== */
    --gc-naranja-50:  #FFEDE4;
    --gc-naranja-100: #FFDFCF;
    --gc-naranja-200: #FFC6AD;
    --gc-naranja-300: #FFA17C;
    --gc-naranja-400: #FC8456;
    --gc-naranja-500: #F3672A;   /* MARCA. Fondos y acentos, no texto */
    --gc-naranja-600: #DA5000;   /* 4.09:1 — hover de botón naranja */
    --gc-naranja-700: #B73600;   /* 5.93:1 — texto naranja sobre claro */
    --gc-naranja-800: #8E1D00;
    --gc-naranja-900: #690900;

    /* =========================================================================
       4. TINTA — grises azulados, no grises puros.
       Ese matiz frío es la mitad de lo que hace que una interfaz se vea
       cuidada en vez de genérica. Comparte tono con el azul de marca.
       ====================================================================== */
    --gc-tinta-50:  #F6F9FA;   /* fondo de página */
    --gc-tinta-100: #EDF1F3;   /* superficie hundida, cabecera de tabla */
    --gc-tinta-200: #DCE0E3;   /* líneas y bordes */
    --gc-tinta-300: #C3C8CB;   /* bordes de control */
    --gc-tinta-400: #9FA6AA;   /* texto deshabilitado, placeholder */
    --gc-tinta-500: #7D8489;   /* 3.59:1 — iconos, NO texto pequeño */
    --gc-tinta-600: #60676C;   /* 5.43:1 — texto secundario */
    --gc-tinta-700: #474E53;   /* 8.00:1 — texto de cuerpo */
    --gc-tinta-800: #2F373B;   /* 11.47:1 — texto fuerte */
    --gc-tinta-900: #192227;   /* 15.28:1 — titulares */

    --gc-blanco: #FFFFFF;

    /* =========================================================================
       5. ESTADOS CLÍNICOS
       Cuatro familias, cada una con fondo, borde, sólido y texto. Todas las
       combinaciones texto-sobre-fondo superan 7:1.
       ====================================================================== */
    --gc-exito-bg:      #E3F6EA;
    --gc-exito-borde:   #B6DCC5;
    --gc-exito:         #379467;
    --gc-exito-texto:   #005E36;   /* 7.02:1 sobre su fondo */

    --gc-alerta-bg:     #FCEEDB;
    --gc-alerta-borde:  #E8CCA6;
    --gc-alerta:        #AC7300;
    --gc-alerta-texto:  #733F00;   /* 7.54:1 */

    --gc-riesgo-bg:     #FFE7E1;
    --gc-riesgo-borde:  #FFBEB3;
    --gc-riesgo:        #D44C3C;
    --gc-riesgo-texto:  #920C04;   /* 7.81:1 */

    --gc-info-bg:       var(--gc-azul-50);
    --gc-info-borde:    var(--gc-azul-200);
    --gc-info:          var(--gc-azul-600);
    --gc-info-texto:    var(--gc-azul-800);

    /* =========================================================================
       6. ROLES SEMÁNTICOS
       Lo que debería usarse al escribir CSS nuevo. Un cambio aquí se propaga
       sin tocar ningún componente.
       ====================================================================== */
    --gc-fondo-pagina:     var(--gc-tinta-50);
    --gc-fondo-superficie: var(--gc-blanco);
    --gc-fondo-hundido:    var(--gc-tinta-100);
    --gc-fondo-marca:      var(--gc-azul-800);

    --gc-linea:            var(--gc-tinta-200);
    --gc-linea-fuerte:     var(--gc-tinta-300);

    --gc-texto:            var(--gc-tinta-800);
    --gc-texto-suave:      var(--gc-tinta-600);
    --gc-texto-tenue:      var(--gc-tinta-500);
    --gc-texto-invertido:  var(--gc-blanco);
    --gc-texto-titular:    var(--gc-azul-800);

    --gc-accion:           var(--gc-azul-800);
    --gc-accion-hover:     var(--gc-azul-900);
    --gc-accion-suave:     var(--gc-azul-50);
    --gc-acento:           var(--gc-naranja-500);
    --gc-acento-hover:     var(--gc-naranja-600);
    --gc-acento-texto:     var(--gc-naranja-700);
    --gc-enlace:           var(--gc-azul-600);

    /* --- Menú lateral oscuro -------------------------------------------------
       El menú es la única superficie oscura persistente de la plataforma: da
       peso a la marca en cada pantalla y separa la navegación del trabajo sin
       necesidad de una línea divisoria. Se pinta con el escalón 900, más
       profundo que el azul de marca, para que el 700 quede libre y marque el
       elemento activo con el propio azul de GoCare.
       Cambiar el aspecto del menú entero se hace SOLO desde estos nueve
       tokens; ningún portal define colores de menú por su cuenta. --- */
    --gc-menu-fondo:         var(--gc-azul-900);
    --gc-menu-linea:         rgba(255, 255, 255, .09);
    --gc-menu-titulo:        var(--gc-azul-400);
    --gc-menu-texto:         var(--gc-azul-200);
    --gc-menu-texto-fuerte:  #FFFFFF;
    --gc-menu-icono:         var(--gc-azul-400);
    --gc-menu-hover:         rgba(255, 255, 255, .07);
    --gc-menu-activo-fondo:  var(--gc-azul-700);
    --gc-menu-activo-texto:  #FFFFFF;

    /* =========================================================================
       7. TIPOGRAFÍA
       Una sola familia. Inter para todo: los titulares se distinguen por peso
       y por espaciado negativo, no por cambiar de fuente. Poppins queda solo
       como respaldo histórico donde ya está escrito.

       El interletraje negativo en los tamaños grandes es lo que hace que un
       titular se vea "de producto" y no "de plantilla".
       ====================================================================== */
    --gc-fuente: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --gc-fuente-mono: ui-monospace, 'SF Mono', SFMono-Regular, Menlo, monospace;

    --gc-fs-caption: 12px;   /* etiquetas, metadatos */
    --gc-fs-sm:      13px;   /* tablas densas, ayudas */
    --gc-fs-body:    15px;   /* cuerpo */
    --gc-fs-lg:      17px;   /* subtítulo */
    --gc-fs-title:   20px;   /* título de tarjeta */
    --gc-fs-h2:      24px;   /* título de sección */
    --gc-fs-h1:      30px;   /* título de pantalla */

    --gc-lh-tight:   1.25;
    --gc-lh-normal:  1.5;
    --gc-lh-relaxed: 1.65;

    --gc-track-tight:  -0.02em;   /* 24px en adelante */
    --gc-track-snug:   -0.01em;   /* 17-20px */
    --gc-track-normal: 0;
    --gc-track-wide:   0.04em;    /* etiquetas en versalita */

    --gc-peso-normal: 400;
    --gc-peso-medio:  500;
    --gc-peso-semi:   600;
    --gc-peso-fuerte: 700;

    /* Ancho de lectura cómodo. Un párrafo de 1.400px de ancho es ilegible. */
    --gc-medida: 68ch;

    /* =========================================================================
       8. FORMA — una sola familia de radios y UNA sola familia de sombras.
       Tener siete sombras distintas es lo que hace que una app se vea
       ensamblada por partes.
       ====================================================================== */
    --gc-r-xs:   6px;
    --gc-r-sm:   10px;
    --gc-r:      14px;
    --gc-r-lg:   18px;
    --gc-r-pill: 999px;

    --gc-sombra-xs: 0 1px 2px rgba(0, 67, 94, .05);
    --gc-sombra-sm: 0 1px 2px rgba(0, 67, 94, .06), 0 1px 3px rgba(0, 67, 94, .04);
    --gc-sombra:    0 2px 4px rgba(0, 67, 94, .05), 0 8px 20px -12px rgba(0, 67, 94, .28);
    --gc-sombra-lg: 0 4px 8px rgba(0, 67, 94, .05), 0 20px 40px -20px rgba(0, 67, 94, .34);

    --gc-anillo: 0 0 0 3px rgba(0, 67, 94, .18);
    --gc-anillo-riesgo: 0 0 0 3px rgba(212, 76, 60, .22);

    /* =========================================================================
       9. ESPACIADO — base 4px
       ====================================================================== */
    --gc-e-1:  4px;
    --gc-e-2:  8px;
    --gc-e-3:  12px;
    --gc-e-4:  16px;
    --gc-e-5:  20px;
    --gc-e-6:  24px;
    --gc-e-8:  32px;
    --gc-e-10: 40px;
    --gc-e-12: 48px;

    /* Altura mínima de cualquier elemento tocable en móvil. */
    --gc-tocable: 44px;

    /* =========================================================================
       10. MOVIMIENTO
       ====================================================================== */
    --gc-transicion: 160ms cubic-bezier(.4, 0, .2, 1);
    --gc-transicion-lenta: 260ms cubic-bezier(.4, 0, .2, 1);
}

/* =============================================================================
   11. CAPA DE COMPATIBILIDAD
   Los tres sistemas antiguos dejan de tener valores propios y pasan a apuntar
   a la paleta de arriba. Ninguna vista necesita editarse para adoptar la
   identidad nueva: hereda por token.

   Se declaran en :root con la misma especificidad, pero DESPUÉS en el archivo,
   así que ganan. Por eso el orden de carga en header.php importa.
   ========================================================================== */
:root {

    /* --- Blueprint v1 (gc-form.css) — el sistema con más uso, ~2.000 llamadas.
       El primario pasa de un celeste #0096D6 que no estaba en el logo al azul
       real de marca. Se conserva la jerarquía 300 < 500 < 600. --- */
    --bp-primary-300: var(--gc-azul-500);
    --bp-primary-500: var(--gc-azul-800);
    --bp-primary-600: var(--gc-azul-900);
    --bp-orange-100:  var(--gc-naranja-100);
    --bp-orange-500:  var(--gc-naranja-500);
    --bp-orange-600:  var(--gc-naranja-600);

    --bp-ink-900: var(--gc-tinta-900);
    --bp-ink-800: var(--gc-tinta-800);
    --bp-ink-700: var(--gc-tinta-700);
    --bp-ink-500: var(--gc-tinta-600);   /* el 500 antiguo se usaba como texto
                                            secundario legible: se mapea al 600
                                            nuevo para no perder contraste */
    --bp-ink-400: var(--gc-tinta-500);
    --bp-ink-300: var(--gc-tinta-300);
    --bp-ink-200: var(--gc-tinta-200);
    --bp-ink-100: var(--gc-tinta-100);

    --bp-bg-page:      var(--gc-fondo-pagina);
    --bp-bg-card:      var(--gc-fondo-superficie);
    --bp-bg-card-soft: var(--gc-azul-50);

    --bp-success:        var(--gc-exito);
    --bp-success-bg:     var(--gc-exito-bg);
    --bp-success-border: var(--gc-exito-borde);
    --bp-warning:        var(--gc-alerta);
    --bp-warning-bg:     var(--gc-alerta-bg);
    --bp-warning-border: var(--gc-alerta-borde);
    --bp-danger:         var(--gc-riesgo);
    --bp-danger-bg:      var(--gc-riesgo-bg);
    --bp-danger-border:  var(--gc-riesgo-borde);
    --bp-info-bg:        var(--gc-info-bg);
    --bp-info-border:    var(--gc-info-borde);
    --bp-info-text:      var(--gc-info-texto);

    --bp-radius:    var(--gc-r-lg);
    --bp-radius-lg: var(--gc-r);
    --bp-radius-sm: var(--gc-r-sm);
    --bp-radius-xs: var(--gc-r-xs);

    --bp-shadow-sm: var(--gc-sombra-sm);
    --bp-shadow-md: var(--gc-sombra);
    --bp-shadow-lg: var(--gc-sombra-lg);
    --bp-focus-ring: var(--gc-anillo);

    /* --- gocare-brand.css: su azul era #0F3556 y su turquesa no existe en el
       logo. El turquesa se reconduce al azul de marca; conservarlo habría
       dejado un tercer color de acento sin respaldo en la identidad. --- */
    --gc-azul-900-legacy: var(--gc-azul-900);
    --gc-turquesa-900: var(--gc-azul-900);
    --gc-turquesa-800: var(--gc-azul-800);
    --gc-turquesa-700: var(--gc-azul-700);
    --gc-turquesa-600: var(--gc-azul-700);
    --gc-turquesa-500: var(--gc-azul-600);
    --gc-turquesa-400: var(--gc-azul-500);
    --gc-turquesa-300: var(--gc-azul-400);
    --gc-turquesa-200: var(--gc-azul-200);
    --gc-turquesa-100: var(--gc-azul-100);
    --gc-turquesa-50:  var(--gc-azul-50);

    --gc-gris-50:  var(--gc-tinta-50);
    --gc-gris-100: var(--gc-tinta-100);
    --gc-gris-200: var(--gc-tinta-200);
    --gc-gris-300: var(--gc-tinta-300);
    --gc-gris-400: var(--gc-tinta-400);
    --gc-gris-500: var(--gc-tinta-500);
    --gc-gris-600: var(--gc-tinta-600);
    --gc-gris-700: var(--gc-tinta-700);
    --gc-gris-800: var(--gc-tinta-800);
    --gc-gris-900: var(--gc-tinta-900);

    --gc-success:      var(--gc-exito);
    --gc-success-bg:   var(--gc-exito-bg);
    --gc-success-text: var(--gc-exito-texto);
    --gc-warning:      var(--gc-alerta);
    --gc-warning-bg:   var(--gc-alerta-bg);
    --gc-warning-text: var(--gc-alerta-texto);
    --gc-danger:       var(--gc-riesgo);
    --gc-danger-bg:    var(--gc-riesgo-bg);
    --gc-danger-text:  var(--gc-riesgo-texto);

    --ips-azul:     var(--gc-azul-800);
    --ips-naranja:  var(--gc-naranja-500);
    --ips-turquesa: var(--gc-azul-700);

    /* Una sola fuente: los titulares dejan de usar Poppins. */
    --gc-font-title: var(--gc-fuente);
    --gc-font-body:  var(--gc-fuente);
    --gc-font-mono:  var(--gc-fuente-mono);

    --gc-shadow-sm: var(--gc-sombra-xs);
    --gc-shadow:    var(--gc-sombra-sm);
    --gc-shadow-md: var(--gc-sombra);
    --gc-shadow-lg: var(--gc-sombra-lg);
    --gc-shadow-xl: var(--gc-sombra-lg);

    --gc-radius-sm:   var(--gc-r-xs);
    --gc-radius:      var(--gc-r-sm);
    --gc-radius-md:   var(--gc-r);
    --gc-radius-lg:   var(--gc-r-lg);
    --gc-radius-pill: var(--gc-r-pill);

    /* --- gc-app.css (app móvil): ya usaba los colores correctos. Se enchufa
       para que herede cualquier ajuste futuro. --- */
    --app-azul:         var(--gc-azul-800);
    --app-azul-claro:   var(--gc-azul-700);
    --app-azul-suave:   var(--gc-azul-50);
    --app-naranja:      var(--gc-naranja-500);
    --app-naranja-suave:var(--gc-naranja-50);
    --app-tinta:        var(--gc-tinta-900);
    --app-tinta-2:      var(--gc-tinta-600);
    --app-tinta-3:      var(--gc-tinta-500);
    --app-papel:        var(--gc-fondo-pagina);
    --app-tarjeta:      var(--gc-fondo-superficie);
    --app-linea:        var(--gc-linea);
    --app-linea-2:      var(--gc-linea-fuerte);
    --app-ok:           var(--gc-exito-texto);
    --app-ok-suave:     var(--gc-exito-bg);
    --app-alerta:       var(--gc-alerta-texto);
    --app-alerta-suave: var(--gc-alerta-bg);
    --app-riesgo:       var(--gc-riesgo-texto);
    --app-riesgo-suave: var(--gc-riesgo-bg);
    --app-r:            var(--gc-r);
    --app-r-sm:         var(--gc-r-sm);
    --app-sombra:       var(--gc-sombra-sm);
    --app-fuente:       var(--gc-fuente);

    /* --- header.php declaraba su propio :root con --gocare-*: un quinto
       sistema, 195 usos, con el celeste #0096D6 y el naranja #F26522 que no
       corresponden al logo. Se reconducen aquí y el bloque inline de
       header.php pasa a ser alias. --- */
    --gocare-blue:           var(--gc-azul-800);
    --gocare-blue-light:     var(--gc-azul-600);
    --gocare-blue-dark:      var(--gc-azul-900);
    --gocare-primary:        var(--gc-azul-800);
    --gocare-primary-light:  var(--gc-azul-600);
    --gocare-primary-dark:   var(--gc-azul-900);
    --gocare-orange:         var(--gc-naranja-500);
    --gocare-orange-light:   var(--gc-naranja-300);
    --gocare-orange-dark:    var(--gc-naranja-700);
    --gocare-secondary:      var(--gc-azul-600);
    --gocare-secondary-light:var(--gc-azul-400);
    --gocare-secondary-dark: var(--gc-azul-800);
    --gocare-accent:         var(--gc-naranja-500);
    --gocare-accent-light:   var(--gc-naranja-200);
    --gocare-accent-dark:    var(--gc-naranja-700);

    --text-dark:   var(--gc-tinta-800);
    --text-gray:   var(--gc-tinta-600);
    --bg-white:    var(--gc-fondo-superficie);
    --shadow-soft: var(--gc-sombra-sm);

    /* --- gc-portal.css: solo tipografía; su retícula --gcp-* se respeta. --- */
    --gcp-font: var(--gc-fuente);
}

/* =============================================================================
   12. BASE TIPOGRÁFICA
   Prefijo `body` deliberado: las vistas incrustan su CSS en un <style> dentro
   del <body>, o sea DESPUÉS de este archivo en la cascada. Con especificidad
   igual ganaría la vista. `body` sube lo justo para ganar sin !important.
   Misma convención que ya usa gc-portal.css.
   ========================================================================== */
body {
    font-family: var(--gc-fuente);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-feature-settings: 'cv02', 'cv03', 'cv04', 'cv11';   /* formas de letra
        más legibles de Inter: la l con cola, la a de un piso en cursiva, el 1
        con base. Reduce confusiones entre 1/l/I en dosis y cédulas. */
    text-rendering: optimizeLegibility;
}

body h1, body h2, body h3, body h4, body h5, body h6 {
    font-family: var(--gc-fuente);
    letter-spacing: var(--gc-track-snug);
    /* SIN color a propósito. Muchísimas vistas ponen encabezados dentro de
       contenedores que fijan `color` (héroes, paneles oscuros, tarjetas de
       color) y el encabezado lo HEREDA. Una regla de color aquí gana sobre la
       herencia y deja titulares azul oscuro sobre fondo azul oscuro. El color
       de un titular lo decide su contexto; el sistema solo fija la forma.
       Para titular con el azul de marca sobre fondo claro existe la clase
       .gc-titular, más abajo. */
}

/* Titular con el azul de marca, cuando el contexto es claro. Se pide, no se
   impone. */
body .gc-titular { color: var(--gc-texto-titular); }
body h1 { font-size: var(--gc-fs-h1); letter-spacing: var(--gc-track-tight); line-height: var(--gc-lh-tight); }
body h2 { font-size: var(--gc-fs-h2); letter-spacing: var(--gc-track-tight); line-height: var(--gc-lh-tight); }
body h3 { font-size: var(--gc-fs-title); line-height: var(--gc-lh-tight); }

/* Los números de una tabla clínica deben alinearse en columna. */
body table td, body table th,
body .gc-num, body .gc-monto {
    font-variant-numeric: tabular-nums;
}

/* Foco visible y consistente en toda la plataforma. Requisito de
   accesibilidad y, en la práctica, lo que permite operar con teclado en
   consulta sin soltar el ratón. */
body :is(a, button, input, select, textarea, [tabindex]):focus-visible {
    outline: none;
    box-shadow: var(--gc-anillo);
    border-radius: var(--gc-r-xs);
}

@media (prefers-reduced-motion: reduce) {
    body *, body *::before, body *::after {
        animation-duration: .01ms !important;
        transition-duration: .01ms !important;
    }
}

/* =============================================================================
   13. TEXTO EN MAYÚSCULAS EN LOS FORMULARIOS   (8 sep 2026)

   Toda la captura de texto libre de la plataforma se escribe en mayúsculas:
   historia clínica, evoluciones médicas y de enfermería, informes quirúrgicos,
   fórmula médica y cualquier formulario futuro.

   Esto es SOLO la parte visual — lo que el usuario ve mientras escribe.
   Lo que se guarda lo garantiza Helpers/MayusculasFormulario.php sobre el POST,
   y el guion de Views/partials/mayusculas.php iguala el valor real del campo
   para que lo que se ve y lo que se guarda no puedan discrepar.

   Los tres archivos comparten la MISMA lista de excepciones. Si se añade una,
   se añade en el helper y se refleja aquí.
   ========================================================================== */
body input[type="text"],
body input[type="search"],
body input[type="tel"],
body textarea {
    text-transform: uppercase;
}

/* --- Excepciones ---------------------------------------------------------
   Una contraseña en mayúsculas impide entrar; un correo así deja de
   comparar; una URL deja de resolver. Los tipos email/password/url/number/
   date ya quedan fuera por no estar en la lista de arriba; aquí se cubren
   los que están escritos como type="text" pero contienen ese dato. */
body input[data-sin-mayusculas],
body textarea[data-sin-mayusculas],
body .gc-sin-mayusculas,
body input[name*="contrasen" i],
body input[name*="clave" i],
body input[name*="pass" i],
body input[name*="token" i],
body input[name*="csrf" i],
body input[name*="correo" i],
body input[name*="email" i],
body input[name*="url" i],
body input[name*="json" i],
body input[name*="base64" i],
body input[name*="firma_digital" i],
body input[name*="archivo" i],
body input[name^="foto_" i],
body input[name^="qr_" i],
body textarea[name*="json" i],
body textarea[name*="base64" i],
/* Prosa que lee una persona: el chat posoperatorio, el mensaje del final de
   la cotización, el del especialista en la preconsulta, la conducta y el
   resumen de una interconsulta. En mayúsculas se leen como un grito. */
body input[name*="mensaje" i],
body textarea[name*="mensaje" i],
body textarea[name="conducta"],
body textarea[name="resumen"],
body textarea[name="cuerpo"] {
    text-transform: none;
}

/* El texto de ayuda y el marcador de posición conservan su capitalización:
   son instrucciones de la interfaz, no datos clínicos. */
body input::placeholder,
body textarea::placeholder {
    text-transform: none;
}
