/* Sistema de diseño de CongregApp (Contexto/Context4.md §8). Todo valor visual sale de aquí. */
:root {
  /* Marca (de Recursos/logo.png) */
  --cg-green-700: #035d37;
  --cg-green-800: #02482a;
  --cg-green-50: #e7f2ec;
  --cg-orange-500: #ec650d;
  --cg-orange-700: #b84d06;
  --cg-amber-400: #f5a943;
  --cg-cream-100: #fae8cb;

  /* Superficies y tinta */
  --cg-bg: #f5f7f5;          /* neutro con tinte verde (antes crema) */
  --cg-surface: #ffffff;
  --cg-surface-2: #eef2ef;   /* hover, filas alternas, pistas */
  --cg-fg: #17201b;
  --cg-muted: #56615a;
  --cg-border: #dbe2dd;

  /* Significado */
  --cg-primary: var(--cg-green-700);
  --cg-primary-hover: var(--cg-green-800);
  --cg-on-primary: #ffffff;
  --cg-due-soon: #9c4106;   /* naranja de marca oscurecido (5.7:1 sobre su fondo): sólo "vence en ≤ 7 días" */
  --cg-due-soon-bg: #fdebd9;
  --cg-overdue: #b42318;
  --cg-overdue-bg: #fde4e1;
  --cg-paid: #1f7a3d;
  --cg-paid-bg: #e2f3e7;
  --cg-info: #1d4b80;
  --cg-info-bg: #e3edf8;
  --cg-danger: #b42318;
  --cg-focus: var(--cg-amber-400);
  /* compatibilidad con nombres anteriores */
  --cg-secondary: var(--cg-orange-500);
  --cg-accent: var(--cg-amber-400);
  --cg-success: var(--cg-paid);
  --cg-warning: var(--cg-due-soon);

  /* Tipografía: una sola familia, pensada para baja visión */
  --cg-font: "Atkinson Hyperlegible Next", "Atkinson Hyperlegible", system-ui, -apple-system, "Segoe UI", sans-serif;
  --cg-font-heading: var(--cg-font);
  --cg-font-body: var(--cg-font);
  --text-sm: 0.875rem;   /* 14 */
  --text-base: 1rem;     /* 16 */
  --text-lg: 1.25rem;    /* 20 */
  --text-xl: 1.5625rem;  /* 25 */
  --text-2xl: 1.9375rem; /* 31 */

  /* Espaciado (múltiplos de 4 px) */
  --space-1: 4px; --space-2: 8px; --space-3: 12px; --space-4: 16px;
  --space-5: 20px; --space-6: 24px; --space-7: 32px; --space-8: 48px;
  --cg-gutter: var(--space-4);

  /* Radios por jerarquía */
  --radius-control: 6px;
  --radius-panel: 12px;
  --radius-pill: 999px;
  --cg-radius: var(--radius-control);

  --shadow-sheet: 0 16px 48px rgb(10 30 20 / .22);
  --sidebar-w: 248px;
  --bottom-nav-h: 64px;
  --ease: cubic-bezier(.2, .8, .2, 1);
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --cg-bg: #0f1512; --cg-surface: #161e1a; --cg-surface-2: #1e2823; --cg-fg: #e6ece8; --cg-muted: #9eaaa3; --cg-border: #2a3530;
    --cg-primary: #58b984; --cg-primary-hover: #74c99a; --cg-on-primary: #0f1512; --cg-green-50: #183326;
    --cg-due-soon: #f2a35e; --cg-due-soon-bg: #3a2614; --cg-overdue: #f08378; --cg-overdue-bg: #3c1a17;
    --cg-paid: #74c99a; --cg-paid-bg: #173322; --cg-info: #8fb8e8; --cg-info-bg: #18283b; --cg-danger: #f08378;
  }
}
:root[data-theme="dark"] {
  --cg-bg: #0f1512; --cg-surface: #161e1a; --cg-surface-2: #1e2823; --cg-fg: #e6ece8; --cg-muted: #9eaaa3; --cg-border: #2a3530;
  --cg-primary: #58b984; --cg-primary-hover: #74c99a; --cg-on-primary: #0f1512; --cg-green-50: #183326;
  --cg-due-soon: #f2a35e; --cg-due-soon-bg: #3a2614; --cg-overdue: #f08378; --cg-overdue-bg: #3c1a17;
  --cg-paid: #74c99a; --cg-paid-bg: #173322; --cg-info: #8fb8e8; --cg-info-bg: #18283b; --cg-danger: #f08378;
}
