:root {
  /* Contrato público de presentación: editable sin tocar lógica financiera. */
  --color-primary: #0f766e;
  --color-primary-accent: #15998c;
  --color-primary-dark: #0b4f4a;
  --color-secondary: #17324d;
  --color-secondary-soft: #eaf0f6;
  --color-success: #2f855a;
  --color-warning: #d89b2b;
  --color-risk: #e76f64;
  --color-info: #5e86c1;
  --color-background: #f3f7f6;
  --color-surface: #ffffff;
  --color-surface-soft: #edf7f4;
  --color-text: #102a43;
  --color-muted: #64748b;
  --color-border: #dce7e4;

  --font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-size-body: 15px;
  --font-size-title: 34px;
  --font-size-kpi: 32px;

  --radius-card: 18px;
  --radius-control: 12px;
  --spacing-base: 4px;
  --shadow-card: 0 10px 30px rgba(24, 50, 77, .07);
  --sidebar-width: 240px;

  /* Alias internos: permiten migrar R6 por etapas sin duplicar valores. */
  --bg: var(--color-background);
  --surface: var(--color-surface);
  --surface-soft: var(--color-surface-soft);
  --primary: var(--color-primary);
  --primary-bright: var(--color-primary-accent);
  --primary-dark: var(--color-primary-dark);
  --secondary: var(--color-secondary);
  --secondary-soft: var(--color-secondary-soft);
  --success: var(--color-success);
  --warning: var(--color-warning);
  --risk: var(--color-risk);
  --info: var(--color-info);
  --text: var(--color-text);
  --muted: var(--color-muted);
  --line: var(--color-border);
  --shadow: var(--shadow-card);
  --radius: var(--radius-card);
  --radius-sm: var(--radius-control);
  --sidebar: var(--sidebar-width);
}

@media (max-width: 1100px) {
  :root { --sidebar-width: 205px; }
}

@media (max-width: 760px) {
  :root {
    --font-size-title: 23px;
    --font-size-kpi: 22px;
    --radius-card: 16px;
  }
}
