:root {
  color-scheme: light;
  --fondo: #f4f2ee;
  --superficie: #ffffff;
  --texto: #17150f;
  --texto-suave: #6b6b6b;
  --borde-campo: #93a0b4;
  --borde-tarjeta: #ece7df;
  --azul-claro: #e1e7f3;
  --suave-verde: #e3f4e6;
  --suave-amarillo: #fff3cd;
  --suave-rojo: #fde7e5;
  --oscuro-verde: #14602a;
  --oscuro-amarillo: #6b4e00;
  --oscuro-rojo: #9b1c14;
  --principal: #1f2a44;
  --principal-oscuro: #161f33;
  --acento: #b16018; /* #E07A1F oscurecido: blanco encima da 4,61:1 */
  --acento-oscuro: #8a4a12;
  --secundario: #eae7e0;
  --estado-verde: #1b7a2f;
  --estado-verde-claro: #dcefd9;
  --estado-amarillo: #ffd21f;
  --estado-amarillo-claro: #fff3b8;
  --estado-rojo: #b81414;
  --estado-rojo-claro: #fddcdc;
  --radio: 12px;
  --alto-boton: 56px;
}

*, *::before, *::after { box-sizing: border-box; }

html { font-size: 18px; -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  background: var(--fondo);
  color: var(--texto);
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

h1, h2, h3 { line-height: 1.2; margin: 0 0 .6rem; }
h2 { font-size: 1.15rem; color: var(--principal); }
h3 { font-size: 1.05rem; margin-top: 1rem; }
p { margin: 0 0 .7rem; }

a { color: var(--principal); }

:focus-visible { outline: 3px solid var(--acento); outline-offset: 2px; }

[hidden] { display: none !important; }

.icono {
  width: 26px; height: 26px; flex: none;
  fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round;
}
