/* Identidad verificada: docs/GUIA_VISUAL.md. Único origen de colores y tokens globales.
 * Primitivos del PDF institucional; roles semánticos acordes con contraste legible. */
:root {
  --color-naranja: #FF6633;
  --color-turquesa: #40E0D0;
  --color-chocolate: #663300;
  --color-gris-oscuro: #4D4D4D;
  --color-naranja-claro: #FFBBAA;
  --color-turquesa-claro: #8FEDE3;
  --color-capuchino: #AD9175;
  --color-azul-marino: #072C5D;
  --color-blanco: #FFFFFF;
  --color-negro: #000000;
  /* Reconocimiento de servicios externos, no colores genéricos para estados. */
  --color-whatsapp: #25D366;
  --color-facebook: #1877F2;
  --color-waze: #0099FF;
  --color-telefono: #039ADC;
  --color-youtube: #FF0000;
  --surface-page: var(--color-blanco);
  --surface-card: var(--color-blanco);
  --surface-header: var(--color-azul-marino);
  --surface-table-heading: var(--color-turquesa-claro);
  --text: var(--color-azul-marino);
  --text-muted: var(--color-gris-oscuro);
  --text-inverse: var(--color-blanco);
  --text-eyebrow: var(--color-chocolate);
  --link: var(--color-azul-marino);
  --accent: var(--color-naranja);
  --brand-accent: var(--color-turquesa);
  --border: var(--color-capuchino);
  --border-control: var(--color-gris-oscuro);
  --button-background: var(--color-azul-marino);
  --button-text: var(--color-blanco);
  --button-hover: var(--color-chocolate);
  --focus-inner: var(--color-blanco);
  --focus-outer: var(--color-azul-marino);
  --state-active-background: var(--color-turquesa-claro);
  --state-active-text: var(--color-azul-marino);
  --state-inactive-background: var(--color-naranja-claro);
  --state-inactive-text: var(--color-chocolate);
  --state-invited-background: var(--color-blanco);
  --state-invited-text: var(--color-azul-marino);
  --alert-background: var(--color-naranja-claro);
  --alert-text: var(--color-chocolate);
  --alert-border: var(--color-chocolate);
  --notice-background: var(--color-turquesa-claro);
  --notice-text: var(--color-azul-marino);
  --notice-border: var(--color-azul-marino);
  /* Provisional hasta disponer de archivos tipográficos con licencia web. */
  --font-family: system-ui, sans-serif;
  --font-body: 1rem;
  --font-small: .875rem;
  --font-caption: .8125rem;
  --font-title: clamp(1.75rem, 3vw, 2.125rem);
  --font-section: 1.3125rem;
  --line-height: 1.55;
  --weight-normal: 400;
  --weight-medium: 600;
  --weight-bold: 700;
  --space-1: .25rem;
  --space-2: .5rem;
  --space-3: .75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 3rem;
  --radius-control: .375rem;
  --radius-card: .75rem;
  --radius-pill: 2rem;
  --content-width: 80rem;
  --login-width: 33rem;
  --control-height: 2.75rem;
}
/* Edgar: cartographic palette, packages 1/5 and 5/5, 2026-10-03. */
:root{--map-1:#8F8C7F;--map-2:#E1C272;--map-3:#EEDFC3;--map-4:#D28D68;--map-paper:var(--map-3);--map-selected:var(--color-azul-marino)}

/* Sandbox: external footer link stays legible in every interaction/history state. */
footer a,footer a:link,footer a:visited,footer a:hover,footer a:focus,footer a:active{color:var(--color-blanco)}
footer a:hover,footer a:focus{text-decoration:underline;text-underline-offset:.15em}
footer a:focus-visible{outline:2px solid var(--color-blanco);outline-offset:3px}
