:root {
    --tm-bg: #f3f7fb;
    --tm-surface: #ffffff;
    --tm-surface-raised: #ffffff;
    --tm-surface-muted: #eef4fb;
    --tm-surface-soft: #e6eef8;
    --tm-surface-tint: #dce9f8;
    --tm-nav: #073965;
    --tm-nav-hover: #08294a;
    --tm-nav-gradient: var(--tm-nav);
    --tm-nav-text: #ffffff;
    --tm-nav-muted: rgba(255, 255, 255, 0.72);
    --tm-nav-link: rgba(255, 255, 255, 0.84);
    --tm-nav-link-strong: rgba(255, 255, 255, 0.9);
    --tm-nav-link-soft: rgba(255, 255, 255, 0.72);
    --tm-nav-link-disabled: rgba(255, 255, 255, 0.5);
    --tm-nav-control-bg: rgba(255, 255, 255, 0.12);
    --tm-nav-control-bg-muted: rgba(255, 255, 255, 0.07);
    --tm-nav-control-border: rgba(255, 255, 255, 0.22);
    --tm-nav-control-border-strong: rgba(255, 255, 255, 0.42);
    --tm-nav-control-border-muted: rgba(255, 255, 255, 0.14);
    --tm-nav-active-bg: rgba(255, 255, 255, 0.16);
    --tm-text: #292f34;
    --tm-text-strong: #11243a;
    --tm-text-soft: #405574;
    --tm-text-subtle: #50657c;
    --tm-text-muted: #5f7288;
    --tm-heading: #08294a;
    --tm-muted: #5f7288;
    --tm-placeholder: #8a9aae;
    --tm-border: #d9e1ef;
    --tm-border-soft: #e5ebf3;
    --tm-border-subtle: #dfe6f0;
    --tm-border-muted: #e7ecf3;
    --tm-border-row: #e8edf4;
    --tm-border-strong: #c5d1e1;
    --tm-border-focus: rgba(37, 99, 235, 0.25);
    --tm-border-focus-soft: rgba(37, 99, 235, 0.15);
    --tm-primary: #2563eb;
    --tm-primary-hover: #1d4ed8;
    --tm-primary-rgb: 37, 99, 235;
    --tm-primary-disabled: #93b4f4;
    --tm-primary-soft: color-mix(in srgb, var(--tm-primary) 9%, var(--tm-surface));
    --tm-primary-soft-strong: color-mix(in srgb, var(--tm-primary) 13%, var(--tm-surface));
    --tm-success: #117a45;
    --tm-success-hover: #0d6237;
    --tm-success-rgb: 17, 122, 69;
    --tm-success-strong: #117a45;
    --tm-success-soft: #ecfbf3;
    --tm-warning: #ad5c00;
    --tm-warning-hover: #8f4c00;
    --tm-warning-rgb: 173, 92, 0;
    --tm-warning-strong: #8f4c00;
    --tm-warning-soft: #fff3e0;
    --tm-danger: #c24141;
    --tm-danger-hover: #9f3232;
    --tm-danger-rgb: 194, 65, 65;
    --tm-danger-soft: #fdeaea;
    --tm-info: #0875d1;
    --tm-info-hover: #075ea8;
    --tm-info-rgb: 8, 117, 209;
    --tm-info-soft: #eef7ff;
    --tm-neutral: #5f7288;
    --tm-neutral-rgb: 95, 114, 136;
    --tm-neutral-strong: #404141;
    --tm-neutral-soft: #e8edf3;
    --tm-neutral-muted: #f2f5f8;
    --tm-on-accent: #ffffff;
    --tm-focus-ring: rgba(37, 99, 235, 0.2);
    --tm-focus-ring-strong: rgba(29, 78, 216, 0.32);
    --tm-shadow-sm: 0 0.125rem 0.5rem rgba(1, 19, 96, 0.06);
    --tm-shadow-xs: 0 0.125rem 0.75rem rgba(1, 19, 96, 0.05);
    --tm-shadow-md: 0 0.5rem 1.5rem rgba(1, 19, 96, 0.08);
    --tm-shadow-lg: 0 1rem 2.5rem rgba(4, 24, 66, 0.16);
    --tm-shadow-hover: 0 0.55rem 1.35rem rgba(1, 19, 96, 0.09);
    --tm-shadow-hover-soft: 0 0.45rem 1.25rem rgba(1, 19, 96, 0.08);
    --tm-shadow-popover: 0 0.25rem 1rem rgba(4, 24, 66, 0.12);
    --tm-radius: 0.5rem;
    --tm-radius-sm: 0.375rem;
    --tm-radius-xs: 0.25rem;
    --tm-font-sans: BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
    --tm-font-size-xs: 0.72rem;
    --tm-font-size-sm: 0.78rem;
    --tm-font-size-label: 0.82rem;
    --tm-font-size-table: 0.85rem;
    --tm-font-size-body: 0.925rem;
    --tm-font-size-title: 1.35rem;
    --tm-font-size-section-title: 1.05rem;
    --tm-font-weight-medium: 500;
    --tm-font-weight-semibold: 600;
    --tm-font-weight-bold: 700;
    --tm-font-weight-extrabold: 800;
    --tm-font-weight-black: 850;
    --tm-line-height-tight: 1.2;
    --tm-sidebar-width: 304px;
    --tm-sidebar-compact-width: 72px;
    --tm-content-max-width: none;
    --tm-mobile-gutter: 0.875rem;
    --tm-space-1: 0.25rem;
    --tm-space-2: 0.5rem;
    --tm-space-3: 0.75rem;
    --tm-space-4: 1rem;
    --tm-space-5: 1.25rem;
    --tm-space-6: 1.5rem;
    --tm-control-height-sm: 2.125rem;
    --tm-control-height: 2.5rem;
    --tm-page-gutter: clamp(0.875rem, 1.5vw, 1.5rem);
    --tm-card-padding: clamp(0.875rem, 1.25vw, 1.25rem);
    --tm-section-gap: clamp(0.75rem, 1vw, 1rem);
    --tm-toolbar-gap: 0.5rem;
    --bs-body-font-family: var(--tm-font-sans);
    --bs-body-bg: var(--tm-bg);
    --bs-body-color: var(--tm-text);
    --bs-primary: var(--tm-primary);
    --bs-primary-rgb: var(--tm-primary-rgb);
    --bs-secondary: var(--tm-neutral);
    --bs-secondary-rgb: var(--tm-neutral-rgb);
    --bs-success: var(--tm-success);
    --bs-success-rgb: var(--tm-success-rgb);
    --bs-warning: var(--tm-warning);
    --bs-warning-rgb: var(--tm-warning-rgb);
    --bs-danger: var(--tm-danger);
    --bs-danger-rgb: var(--tm-danger-rgb);
    --bs-info: var(--tm-info);
    --bs-info-rgb: var(--tm-info-rgb);
    --bs-light: var(--tm-surface-muted);
    --bs-dark: var(--tm-nav);
    --bs-border-color: var(--tm-border);
    --bs-border-radius: var(--tm-radius);
    --bs-link-color: var(--tm-primary);
    --bs-link-hover-color: var(--tm-primary-hover);
}
