/* Semantic colours shared by Bootstrap, legacy pages and field modules. */
:root {
    color-scheme: light;
    --body-bg: #f3f6fa;
    --card-bg: #ffffff;
    --bg-light: #eaf0f6;
    --bg-hover: #e5eef9;
    --border-color: #cbd5e1;
    --input-bg: #ffffff;
    --input-border: #64748b;
    --text-primary: #17243b;
    --text-secondary: #42536b;
    --text-muted: #52647c;
    --primary-color: #1d4ed8;
    --primary-dark: #1e40af;
    --primary-light: #e8efff;
    --primary-rgb: 29, 78, 216;
    --accent-2: #6d28d9;
    --success-color: #166534;
    --success-bg: #e5f4eb;
    --warning-color: #854d0e;
    --warning-bg: #fff3d6;
    --danger-color: #b91c1c;
    --danger-bg: #fde9e9;
    --info-color: #155e75;
    --info-bg: #e0f3f7;
    --purple-color: #6b21a8;
    --purple-bg: #f1e8fc;
    --button-primary: #1d4ed8;
    --button-primary-hover: #1e40af;
    --button-success: #166534;
    --button-danger: #b91c1c;
    --button-warning: #facc15;
    --button-info: #155e75;
    --button-secondary: #475569;
    --on-primary: #ffffff;
    --on-warning: #422006;
    --sidebar-bg: #142238;
    --sidebar-width: 250px;
    --shadow-sm: 0 1px 3px #17243b0d;
    --shadow-md: 0 4px 16px #17243b12;
    --shadow-lg: 0 12px 32px #17243b1a;
    --shadow-xl: 0 20px 48px #17243b26;
    --radius-sm: .375rem;
    --radius-md: .5rem;
    --radius-lg: .75rem;
    --radius-xl: 1rem;
    --transition-fast: .15s ease;
    --transition-base: .2s ease;
    --transition-slow: .3s ease;
    --z-sticky: 100;
    --z-dropdown: 1000;
    --z-sidebar: 1010;
    --z-modal: 2000;
    --z-toast: 3000;
    --focus-ring: 0 0 0 3px color-mix(in srgb, var(--primary-color) 30%, transparent);
}
:root[data-theme="dark"] {
    color-scheme: dark;
    --body-bg: #0d1523;
    --card-bg: #172338;
    --bg-light: #21314a;
    --bg-hover: #293e5b;
    --border-color: #41536d;
    --input-bg: #152136;
    --input-border: #70839f;
    --text-primary: #f0f5ff;
    --text-secondary: #c6d2e5;
    --text-muted: #afc0d8;
    --primary-color: #93c5fd;
    --primary-dark: #bfdbfe;
    --primary-light: #243b60;
    --primary-rgb: 147, 197, 253;
    --accent-2: #d8b4fe;
    --success-color: #86efac;
    --success-bg: #173c2e;
    --warning-color: #fde68a;
    --warning-bg: #46381c;
    --danger-color: #fca5a5;
    --danger-bg: #482831;
    --info-color: #a5e6f5;
    --info-bg: #1b394b;
    --purple-color: #d8b4fe;
    --purple-bg: #392950;
    --shadow-sm: 0 1px 3px #0003;
    --shadow-md: 0 4px 16px #0004;
    --shadow-lg: 0 12px 32px #0005;
    --shadow-xl: 0 20px 48px #0006;
}
:root {
    --primary: var(--primary-color);
    --secondary: var(--text-secondary);
    --success: var(--success-color);
    --warning: var(--warning-color);
    --danger: var(--danger-color);
    --info: var(--info-color);
    --secondary-color: var(--text-secondary);
    --text-color: var(--text-primary);
    --text-dark: var(--text-primary);
    --border-radius: var(--radius-md);
    --text-right: right;
    --bs-primary: var(--button-primary);
    --bs-primary-rgb: 29, 78, 216;
    --bs-success-rgb: 22, 101, 52;
    --bs-danger-rgb: 185, 28, 28;
    --bs-info-rgb: 21, 94, 117;
    --bs-warning-rgb: 250, 204, 21;
    --bs-body-bg: var(--body-bg);
    --bs-body-color: var(--text-primary);
    --bs-body-font-family: var(--fhm-font-sans, 'Inter', system-ui, sans-serif);
    --bs-secondary-color: var(--text-secondary);
    --bs-tertiary-color: var(--text-muted);
    --bs-secondary-bg: var(--bg-light);
    --bs-tertiary-bg: var(--bg-light);
    --bs-emphasis-color: var(--text-primary);
    --bs-border-color: var(--border-color);
    --bs-border-color-translucent: var(--border-color);
    --bs-link-color: var(--primary-color);
    --bs-link-color-rgb: var(--primary-rgb);
    --bs-link-hover-color: var(--primary-dark);
    --bs-link-hover-color-rgb: var(--primary-rgb);
    --bs-border-radius: var(--radius-md);
    --bs-border-radius-sm: var(--radius-sm);
    --bs-border-radius-lg: var(--radius-lg);
    --bs-border-radius-xl: var(--radius-xl);
    --f5-primary: var(--button-primary);
    --f5-primary-dark: var(--button-primary-hover);
    --f5-primary-light: var(--primary-color);
    --f5-accent: var(--info-color);
    --f5-success: var(--success-color);
    --f5-warning: var(--warning-color);
    --f5-danger: var(--danger-color);
    --f5-surface: var(--card-bg);
    --f5-surface-hover: var(--bg-hover);
    --f5-glass: var(--card-bg);
    --f5-glass-border: var(--border-color);
    --f5-text: var(--text-primary);
    --f5-text-muted: var(--text-secondary);
    --f5-text-dim: var(--text-muted);
    --f5-gradient-start: var(--body-bg);
    --f5-gradient-end: var(--body-bg);
    --f5u-primary: var(--button-primary);
    --f5u-primary-dark: var(--button-primary-hover);
    --f5u-primary-glow: var(--primary-light);
    --f5u-secondary: var(--accent-2);
    --f5u-success: var(--button-success);
    --f5u-warning: var(--warning-color);
    --f5u-danger: var(--button-danger);
    --f5u-info: var(--info-color);
    --f5u-purple: var(--purple-color);
    --f5u-orange: var(--warning-color);
    --f5u-glass: var(--card-bg);
    --f5u-glass-border: var(--border-color);
}
@media print {
    :root[data-theme] {
        color-scheme: light;
        --body-bg: #fff;
        --card-bg: #fff;
        --bg-light: #f1f5f9;
        --bg-hover: #f1f5f9;
        --border-color: #cbd5e1;
        --input-bg: #fff;
        --text-primary: #17243b;
        --text-secondary: #42536b;
        --text-muted: #52647c;
        --primary-color: #1d4ed8;
        --primary-dark: #1e40af;
        --primary-light: #e8efff;
        --success-color: #166534;
        --warning-color: #854d0e;
        --danger-color: #b91c1c;
        --info-color: #155e75;
    }
}
