:root {
  /* 1Transit brand */
  --tm-brand: #fecc13;
  --tm-brand-hover: #e9b900;
  --tm-brand-soft: #fff7cc;
  --tm-brand-ink: #1f2328;

  /* Neutral operating palette */
  --tm-bg: #f5f6f8;
  --tm-surface: #ffffff;
  --tm-surface-muted: #f8f9fa;
  --tm-surface-strong: #eef0f2;
  --tm-border: #dfe3e7;
  --tm-border-strong: #c9ced4;
  --tm-text: #20252a;
  --tm-text-muted: #66717c;
  --tm-text-subtle: #89939d;
  --tm-link: #31536f;

  /* Semantic colors stay semantic; brand yellow is not reused for warnings. */
  --tm-success: #237a4b;
  --tm-success-soft: #eaf6ef;
  --tm-warning: #a86400;
  --tm-warning-soft: #fff3dc;
  --tm-danger: #b42318;
  --tm-danger-soft: #fdecea;
  --tm-info: #356785;
  --tm-info-soft: #edf5f9;

  /* Typography */
  --tm-font-sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  --tm-font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;

  /* Spacing */
  --tm-space-1: .25rem;
  --tm-space-2: .5rem;
  --tm-space-3: .75rem;
  --tm-space-4: 1rem;
  --tm-space-5: 1.25rem;
  --tm-space-6: 1.5rem;
  --tm-space-8: 2rem;

  /* Shape / elevation */
  --tm-radius-sm: 6px;
  --tm-radius-md: 9px;
  --tm-radius-lg: 12px;
  --tm-shadow-sm: 0 1px 2px rgba(24, 31, 38, .05);
  --tm-shadow-md: 0 8px 24px rgba(24, 31, 38, .08);
  --tm-focus-ring: 0 0 0 .2rem rgba(254, 204, 19, .34);

  /* App shell */
  --tm-accent-height: 4px;
  --tm-sidebar-width: 252px;
  --tm-mobile-header-height: 60px;

  /* Bootstrap compatibility tokens used by existing pages. */
  --brand-accent: var(--tm-brand);
  --bs-body-font-family: var(--tm-font-sans);
  --bs-body-color: var(--tm-text);
  --bs-body-bg: var(--tm-bg);
  --bs-border-color: var(--tm-border);
}
