:root,
.ofi-theme-default {
  color-scheme: light;
  --ofi-font-family: "Source Sans 3", "Geist", "Inter", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --ofi-font-mono: "Cascadia Mono", "SFMono-Regular", Consolas, monospace;
  --ofi-font-weight-regular: 400;
  --ofi-font-weight-medium: 500;
  --ofi-font-weight-semibold: 600;
  --ofi-font-weight-bold: 700;
  --ofi-font-size-xs: 12px;
  --ofi-font-size-sm: 13px;
  --ofi-font-size-md: 14px;
  --ofi-font-size-lg: 16px;
  --ofi-font-size-title: 22px;
  --ofi-font-size-display: 28px;
  --ofi-line-height-tight: 1.2;
  --ofi-line-height-normal: 1.45;

  --ofi-control-height: 36px;
  --ofi-control-height-sm: 32px;
  --ofi-button-height: 36px;
  --ofi-grid-row-height: 36px;
  --ofi-transaction-row-height: 34px;
  --ofi-menu-item-height: 36px;
  --ofi-toolbar-height: 46px;
  --ofi-topbar-height: 54px;

  --ofi-space-1: 4px; --ofi-space-2: 8px; --ofi-space-3: 12px; --ofi-space-4: 16px;
  --ofi-space-5: 20px; --ofi-space-6: 24px; --ofi-space-8: 32px;
  --ofi-radius-sm: 6px; --ofi-radius-md: 8px; --ofi-radius-lg: 12px; --ofi-radius-pill: 999px;

  --ofi-bg: #f4f6fb;
  --ofi-surface: #ffffff;
  --ofi-surface-raised: #ffffff;
  --ofi-surface-muted: #eef1f7;
  --ofi-surface-soft: #f7f8fc;
  --ofi-surface-active: #eef3ff;
  --ofi-border: #dde2ec;
  --ofi-border-strong: #c7cfdd;
  --ofi-text: #2d3748;
  --ofi-text-strong: #1f2937;
  --ofi-text-muted: #667085;
  --ofi-text-subtle: #8793a1;

  /* DESIGN APPROVED default: Navy. */
  --ofi-primary: #243f86;
  --ofi-primary-hover: #1d3471;
  --ofi-primary-active: #172a5a;
  --ofi-primary-soft: #eef3ff;
  --ofi-primary-border: #c5d2f1;
  --ofi-primary-light: #3458b8;
  --ofi-on-primary: #ffffff;

  --ofi-secondary-bg: #f1f3f8;
  --ofi-secondary-hover: #e7eaf2;
  --ofi-secondary-active: #dde2ec;
  --ofi-secondary-border: #d2d9e6;
  --ofi-secondary-text: #314456;

  --ofi-accent-purple: #6f5eea;
  --ofi-accent-rose: #d8577c;
  --ofi-accent-blue: #3e9fe8;
  --ofi-accent-green: #2fbd8e;
  --ofi-success: #219a6f; --ofi-success-soft: #e8f6f0;
  --ofi-warning: #b36b00; --ofi-warning-soft: #fff4db;
  --ofi-danger: #d44f6f; --ofi-danger-hover: #bd4562; --ofi-danger-soft: #fcebf0;
  --ofi-info: #3e9fe8; --ofi-info-soft: #edf7ff;

  --ofi-focus: #3458b8;
  --ofi-focus-ring: 0 0 0 3px rgba(52, 88, 184, .18);
  --ofi-shadow-sm: 0 1px 2px rgba(25, 38, 53, .07);
  --ofi-shadow-md: 0 8px 24px rgba(25, 38, 53, .12);
  --ofi-shadow-lg: 0 18px 44px rgba(20, 34, 54, .20);
  --ofi-drawer-width: 268px;
  --ofi-content-max: 1600px;
  --ofi-z-menu: 1000; --ofi-z-modal: 1200; --ofi-z-toast: 1400;
}

/* Approved alternate accent. */
.ofi-accent-indigo {
  --ofi-primary: #5146e5;
  --ofi-primary-hover: #463bd1;
  --ofi-primary-active: #4338ca;
  --ofi-primary-soft: #eef2ff;
  --ofi-primary-border: #c7d2fe;
  --ofi-primary-light: #6256f1;
  --ofi-focus: #5146e5;
  --ofi-focus-ring: 0 0 0 3px rgba(81, 70, 229, .18);
}
.ofi-accent-navy { /* explicit alias for default */ }
.ofi-font-source-sans { --ofi-font-family: "Source Sans 3", "Geist", "Inter", "Segoe UI", sans-serif; }
.ofi-font-geist { --ofi-font-family: "Geist", "Source Sans 3", "Inter", "Segoe UI", sans-serif; }
.ofi-font-inter { --ofi-font-family: "Inter", "Segoe UI", Roboto, Arial, sans-serif; }
.ofi-font-system { --ofi-font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.ofi-density-dense { --ofi-control-height: 34px; --ofi-button-height: 34px; --ofi-grid-row-height: 34px; --ofi-transaction-row-height: 32px; --ofi-menu-item-height: 34px; }
