/* Único archivo con colores, tipografía y medidas (RD-15). */
:root {
  /* Verde hoja: color de la marca en la interfaz; tinta y papel cálidos para leer largo rato. */
  --color-primary: #2e6b4f;
  --color-primary-hover: #245640;
  --color-primary-soft: #e3efe8;
  --color-on-primary: #ffffff;
  --color-ink: #1f2a24;
  --color-ink-muted: #4f5b55;
  --color-paper: #f6f4ee;
  --color-surface: #ffffff;
  --color-surface-sunken: #efece4;
  --color-border: #d6d1c4;
  --color-border-strong: #8a8576;
  --color-focus: #1d4ed8;

  /* Estados del semáforo y avisos. Siempre van con texto, nunca solo color. */
  --color-danger: #b42318;
  --color-danger-hover: #912018;
  --color-danger-soft: #fdecea;
  --color-warning: #8a4b00;
  --color-warning-soft: #fdf1dc;
  --color-success: #23613f;
  --color-success-soft: #e3f1e7;
  --color-neutral-soft: #ecebe6;

  --color-overlay: rgb(31 42 36 / 45%);
  --color-scrollbar: #b9b3a3;
  --color-scrollbar-track: #ece8de;

  --font-family: 'Segoe UI', system-ui, -apple-system, Roboto, 'Helvetica Neue', Arial, sans-serif;
  --font-size-xs: 0.8125rem;
  --font-size-sm: 0.875rem;
  --font-size-md: 1rem;
  --font-size-lg: 1.25rem;
  --font-size-xl: 1.625rem;
  --font-size-xxl: 2.25rem;
  --font-weight-regular: 400;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --line-height: 1.5;
  --line-height-tight: 1.25;

  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 3rem;

  --radius-sm: 4px;
  --radius-md: 8px;
  --border-width: 1px;
  --focus-width: 3px;
  --focus-offset: 2px;
  --active-outline-width: 2px;
  --gap-hairline: 2px;
  --control-height: 2.75rem;
  --control-height-sm: 2.25rem;
  --textarea-min-height: 5rem;
  --toolbar-field-min: 12rem;
  --toolbar-search-min: 16rem;
  --caret-size: 5px;
  --popover-min-width: 12rem;
  --popover-max-height: 16rem;
  --checkbox-size: 1.375rem;
  --checkmark-width: 0.375rem;
  --checkmark-height: 0.75rem;
  --checkmark-stroke: 3px;
  --checkmark-nudge: -1px;
  --datepicker-width: 19rem;
  --table-max-height: 70vh;
  --page-size-width: 5.5rem;
  --chip-height: 1.75rem;
  --chip-mark-size: 0.625rem;
  --alert-tile-min: 14rem;
  --spinner-size: 1.5rem;
  --spinner-stroke: 3px;
  --toast-max: 28rem;
  --login-max: 24rem;
  --help-max: 48rem;
  --scrollbar-size: 12px;
  --scrollbar-thumb-inset: 3px;
  --content-max: 76rem;
  --modal-sm: 28rem;
  --modal-md: 40rem;
  --modal-lg: 60rem;
  --shadow-raised: 0 8px 24px rgb(31 42 36 / 18%);
  --z-popover: 30;
  --z-modal: 40;
  --z-toast: 50;
  --duration-fast: 120ms;
  --duration-spin: 0.8s;
  --duration-spin-reduced: 3s;
}
