/* DM Financial institutional foundations. Loaded after Bootstrap and before app.css.
   Values follow schwab-dm/app/src/assets/scss/_dm-financial.scss.
   Keep product layout in app.css; reference these tokens instead of raw colors. */
:root {
  color-scheme: light;
  --dm-primary: #1d3b60;
  --dm-primary-rgb: 29, 59, 96;
  --dm-primary-hover: #142d4c;
  --dm-primary-active: #10243f;
  --dm-primary-disabled: #61738c;
  --dm-sidebar-bg: #10213a;
  --dm-background: #f3f5f8;
  --dm-surface: #fff;
  --dm-surface-subtle: #f7f9fc;
  --dm-surface-accent: #edf2f8;
  --dm-text: #24364e;
  --dm-heading: #1a2d47;
  --dm-text-muted: #5d6c80;
  --dm-link: #294b74;
  --dm-border: #e2e7ee;
  --dm-border-strong: #75859a;
  --dm-input-bg: #fbfcfe;
  --dm-input-border: #7d8b9d;
  --dm-input-text: #293c56;
  --dm-input-focus: #7c98ba;
  --dm-focus: #6482a8;
  --dm-focus-shadow: 0 0 0 3px #426b9c12;
  --dm-success: #3d7756;
  --dm-success-bg: #eaf3ed;
  --dm-success-border: #cddfd3;
  --dm-warning: #805c2a;
  --dm-warning-bg: #fbf3e3;
  --dm-warning-border: #eadbbd;
  --dm-danger: #a43e37;
  --dm-danger-bg: #fff4f1;
  --dm-danger-border: #f0d9d3;
  --dm-radius-control: 8px;
  --dm-radius-card: 14px;
  --dm-radius-badge: 20px;
  --dm-shadow-card: 0 4px 18px #172d4d03;
  --dm-shadow-raised: 0 15px 50px #243b5806;
  --dm-font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
  --dm-space-1: .25rem;
  --dm-space-2: .5rem;
  --dm-space-3: .75rem;
  --dm-space-4: 1rem;
  --dm-space-5: 1.5rem;
  --dm-space-6: 2rem;

  /* Bootstrap 5 uses --bs- rather than DM's Angular theme's --tb- prefix. */
  --bs-primary: var(--dm-primary);
  --bs-primary-rgb: var(--dm-primary-rgb);
  --bs-primary-text-emphasis: var(--dm-primary-active);
  --bs-primary-bg-subtle: var(--dm-surface-accent);
  --bs-primary-border-subtle: var(--dm-border-strong);
  --bs-body-font-family: var(--dm-font-family);
  --bs-body-color: var(--dm-text);
  --bs-body-color-rgb: 36, 54, 78;
  --bs-body-bg: var(--dm-background);
  --bs-body-bg-rgb: 243, 245, 248;
  --bs-heading-color: var(--dm-heading);
  --bs-secondary-color: var(--dm-text-muted);
  --bs-secondary-color-rgb: 93, 108, 128;
  --bs-success-rgb: 61, 119, 86;
  --bs-warning-rgb: 128, 92, 42;
  --bs-danger-rgb: 164, 62, 55;
  --bs-light-rgb: 247, 249, 252;
  --bs-tertiary-bg: var(--dm-surface-subtle);
  --bs-border-color: var(--dm-border);
  --bs-border-radius: var(--dm-radius-control);
  --bs-border-radius-lg: var(--dm-radius-card);
  --bs-link-color: var(--dm-link);
  --bs-link-color-rgb: 41, 75, 116;
  --bs-link-hover-color: var(--dm-primary-active);
  --bs-link-hover-color-rgb: 16, 36, 63;
  --bs-focus-ring-color: #426b9c26;
}

.btn-primary {
  --bs-btn-color: var(--dm-surface);
  --bs-btn-bg: var(--dm-primary);
  --bs-btn-border-color: var(--dm-primary);
  --bs-btn-hover-color: var(--dm-surface);
  --bs-btn-hover-bg: var(--dm-primary-hover);
  --bs-btn-hover-border-color: var(--dm-primary-hover);
  --bs-btn-active-color: var(--dm-surface);
  --bs-btn-active-bg: var(--dm-primary-active);
  --bs-btn-active-border-color: var(--dm-primary-active);
  --bs-btn-disabled-color: var(--dm-surface);
  --bs-btn-disabled-bg: var(--dm-primary-disabled);
  --bs-btn-disabled-border-color: var(--dm-primary-disabled);
  --bs-btn-focus-shadow-rgb: 77, 107, 146;
}

.btn-outline-primary, .btn-outline-secondary {
  --bs-btn-color: var(--dm-link);
  --bs-btn-border-color: var(--dm-border-strong);
  --bs-btn-hover-bg: var(--dm-surface-accent);
  --bs-btn-hover-color: var(--dm-primary);
  --bs-btn-hover-border-color: var(--dm-input-focus);
  --bs-btn-active-bg: var(--dm-surface-accent);
  --bs-btn-active-color: var(--dm-primary-active);
  --bs-btn-active-border-color: var(--dm-input-focus);
  --bs-btn-disabled-color: var(--dm-text-muted);
  --bs-btn-disabled-border-color: var(--dm-border);
  --bs-btn-focus-shadow-rgb: 77, 107, 146;
}

.btn-light {
  --bs-btn-bg: var(--dm-surface-subtle);
  --bs-btn-color: var(--dm-link);
  --bs-btn-border-color: var(--dm-surface-subtle);
  --bs-btn-hover-bg: var(--dm-surface-accent);
  --bs-btn-hover-color: var(--dm-primary);
  --bs-btn-hover-border-color: var(--dm-border);
  --bs-btn-active-bg: var(--dm-surface-accent);
  --bs-btn-active-color: var(--dm-primary-active);
  --bs-btn-active-border-color: var(--dm-input-focus);
}

.btn-outline-danger {
  --bs-btn-color: var(--dm-danger);
  --bs-btn-border-color: var(--dm-danger-border);
  --bs-btn-hover-bg: var(--dm-danger-bg);
  --bs-btn-hover-color: var(--dm-danger);
  --bs-btn-hover-border-color: var(--dm-danger);
  --bs-btn-active-bg: var(--dm-danger);
  --bs-btn-active-color: var(--dm-surface);
  --bs-btn-active-border-color: var(--dm-danger);
  --bs-btn-disabled-color: var(--dm-danger);
  --bs-btn-disabled-border-color: var(--dm-danger-border);
  --bs-btn-focus-shadow-rgb: 164, 62, 55;
}

.alert-success {
  --bs-alert-color: var(--dm-success);
  --bs-alert-bg: var(--dm-success-bg);
  --bs-alert-border-color: var(--dm-success-border);
}
.alert-warning {
  --bs-alert-color: var(--dm-warning);
  --bs-alert-bg: var(--dm-warning-bg);
  --bs-alert-border-color: var(--dm-warning-border);
}
.alert-danger {
  --bs-alert-color: var(--dm-danger);
  --bs-alert-bg: var(--dm-danger-bg);
  --bs-alert-border-color: var(--dm-danger-border);
}
.btn-danger {
  --bs-btn-bg: var(--dm-danger);
  --bs-btn-border-color: var(--dm-danger);
  --bs-btn-hover-bg: #87332e;
  --bs-btn-hover-border-color: #87332e;
  --bs-btn-active-bg: #702b26;
  --bs-btn-active-border-color: #702b26;
  --bs-btn-focus-shadow-rgb: 164, 62, 55;
}
