:root,
[data-theme="dark"] {
    color-scheme: dark;

    --font-body: "Inter", "Segoe UI", Arial, sans-serif;
    --font-heading: "Barlow Condensed", "Arial Narrow", "Segoe UI", sans-serif;

    --brand-yellow: #ffb81c;
    --brand-yellow-hover: #ffc642;
    --brand-yellow-soft: rgba(255, 184, 28, 0.12);
    --brand-yellow-contrast: #151006;

    --accent-blue: #4da3ff;
    --accent-blue-soft: rgba(77, 163, 255, 0.13);
    --accent-purple: #a478ff;
    --accent-purple-soft: rgba(164, 120, 255, 0.13);

    --success: #31cc72;
    --success-soft: rgba(49, 204, 114, 0.12);
    --warning: #f4a62a;
    --warning-soft: rgba(244, 166, 42, 0.13);
    --danger: #ee5b64;
    --danger-soft: rgba(238, 91, 100, 0.12);

    --bg-primary: #0b1017;
    --bg-secondary: #0e151f;
    --sidebar-bg: #0b1119;
    --topbar-bg: rgba(11, 16, 23, 0.92);

    --surface-1: #111923;
    --surface-2: #151e2a;
    --surface-3: #1a2532;
    --surface-hover: #1d2836;

    --text-primary: #f4f7fa;
    --text-secondary: #b8c1cd;
    --text-muted: #7d8897;
    --text-on-brand: #151006;

    --border-color: #273241;
    --border-subtle: #1e2936;
    --border-hover: #3b4a5d;
    --input-bg: #0e1620;

    --status-draft: #8994a3;
    --status-pending: #ffb81c;
    --status-approved: #31cc72;
    --status-confirmed: #4da3ff;
    --status-postponed: #a478ff;
    --status-completed: #40bf75;
    --status-cancelled: #ee5b64;
    --status-rejected: #ee5b64;
    --status-available: #31cc72;
    --status-assigned: #4da3ff;
    --status-review: #ffb81c;
    --status-unavailable: #8994a3;

    --space-1: 0.25rem;
    --space-2: 0.5rem;
    --space-3: 0.75rem;
    --space-4: 1rem;
    --space-5: 1.25rem;
    --space-6: 1.5rem;
    --space-7: 2rem;
    --space-8: 2.5rem;
    --space-9: 3rem;

    --radius-sm: 0.375rem;
    --radius-md: 0.625rem;
    --radius-lg: 0.8125rem;
    --radius-xl: 1rem;

    --shadow-sm: 0 2px 10px rgba(0, 0, 0, 0.14);
    --shadow-md: 0 10px 28px rgba(0, 0, 0, 0.2);
    --shadow-lg: 0 20px 48px rgba(0, 0, 0, 0.28);

    --sidebar-width: 15rem;
    --sidebar-collapsed-width: 4.75rem;
    --topbar-height: 4.25rem;
    --content-gutter: 1.5rem;

    --transition-fast: 150ms ease;
    --transition-normal: 220ms ease;
    --transition-slow: 320ms ease;

    --z-sidebar: 1020;
    --z-topbar: 1010;
    --z-dropdown: 1050;
    --z-modal: 1080;

    --bs-body-font-family: var(--font-body);
    --bs-body-font-size: 0.875rem;
    --bs-body-color: var(--text-primary);
    --bs-body-bg: var(--bg-primary);
    --bs-secondary-color: var(--text-secondary);
    --bs-tertiary-color: var(--text-muted);
    --bs-border-color: var(--border-color);
    --bs-link-color: var(--accent-blue);
    --bs-link-hover-color: #79bcff;
    --bs-focus-ring-color: rgba(255, 184, 28, 0.3);
}

[data-theme="light"] {
    color-scheme: light;

    --brand-yellow: #f3aa00;
    --brand-yellow-hover: #d99600;
    --brand-yellow-soft: rgba(243, 170, 0, 0.14);
    --brand-yellow-contrast: #171106;

    --accent-blue: #1769c2;
    --accent-blue-soft: rgba(23, 105, 194, 0.1);
    --accent-purple: #7651c7;
    --accent-purple-soft: rgba(118, 81, 199, 0.1);

    --success: #138a49;
    --success-soft: rgba(19, 138, 73, 0.1);
    --warning: #b66a00;
    --warning-soft: rgba(182, 106, 0, 0.11);
    --danger: #c33d48;
    --danger-soft: rgba(195, 61, 72, 0.1);

    --bg-primary: #f2f5f8;
    --bg-secondary: #e9eef3;
    --sidebar-bg: #0f1722;
    --topbar-bg: rgba(248, 250, 252, 0.94);

    --surface-1: #ffffff;
    --surface-2: #f7f9fb;
    --surface-3: #eef2f6;
    --surface-hover: #eaf0f5;

    --text-primary: #17202b;
    --text-secondary: #4f5d6d;
    --text-muted: #768395;
    --text-on-brand: #171106;

    --border-color: #d5dde6;
    --border-subtle: #e4e9ef;
    --border-hover: #b8c4d1;
    --input-bg: #ffffff;

    --status-draft: #687585;
    --status-pending: #c27d00;
    --status-approved: #138a49;
    --status-confirmed: #1769c2;
    --status-postponed: #7651c7;
    --status-completed: #138a49;
    --status-cancelled: #c33d48;
    --status-rejected: #c33d48;
    --status-available: #138a49;
    --status-assigned: #1769c2;
    --status-review: #c27d00;
    --status-unavailable: #687585;

    --shadow-sm: 0 2px 10px rgba(22, 34, 48, 0.06);
    --shadow-md: 0 10px 28px rgba(22, 34, 48, 0.09);
    --shadow-lg: 0 20px 48px rgba(22, 34, 48, 0.12);

    --bs-body-color: var(--text-primary);
    --bs-body-bg: var(--bg-primary);
    --bs-secondary-color: var(--text-secondary);
    --bs-tertiary-color: var(--text-muted);
    --bs-border-color: var(--border-color);
    --bs-link-color: var(--accent-blue);
    --bs-link-hover-color: #0f4e94;
    --bs-focus-ring-color: rgba(243, 170, 0, 0.28);
}

@media (max-width: 1199.98px) {
    :root {
        --content-gutter: 1.25rem;
    }
}

@media (max-width: 767.98px) {
    :root {
        --topbar-height: 3.875rem;
        --content-gutter: 1rem;
    }
}

@media (max-width: 389.98px) {
    :root {
        --content-gutter: 0.75rem;
    }
}
