:root {
    /* Typography */
    --font-sans: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;

    /* Spacing */
    --space-xs: 0.25rem;
    --space-sm: 0.5rem;
    --space-md: 1rem;
    --space-lg: 1.5rem;
    --space-xl: 2rem;

    /* Radius & shadow */
    --radius-sm: 0.375rem;
    --radius-md: 0.625rem;
    --radius-lg: 0.875rem;
    --radius-xl: 1rem;
    --shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.06);
    --shadow-md: 0 4px 12px rgba(15, 23, 42, 0.08);
    --shadow-lg: 0 8px 24px rgba(15, 23, 42, 0.12);

    /* Layout */
    --navbar-height: 3.25rem;
    --topbar-height: 2.75rem;
    --content-max-width: 1440px;

    /* Brand */
    --primary-color: #4f46e5;
    --primary-hover: #4338ca;

    /* Section colors */
    --section-overview: #4f46e5;
    --section-registry: #2563eb;
    --section-sales: #059669;
    --section-logistics: #ea580c;
    --section-warehouse: #d97706;
    --section-purchases: #e11d48;
    --section-finance: #0891b2;
    --section-accounting: #7c3aed;
    --section-hr: #0d9488;
    --section-accountant: #475569;
    --section-system: #64748b;

    /* Surfaces */
    --surface-bg: #f1f5f9;
    --surface-card: #ffffff;
    --surface-border: #e2e8f0;
    --text-muted: #64748b;

    /* Active section (set per page) */
    --section-color: var(--section-overview);
    --section-color-soft: color-mix(in srgb, var(--section-color) 12%, transparent);
    --section-color-medium: color-mix(in srgb, var(--section-color) 25%, transparent);
}

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

    /* Neutral charcoal (no blue cast) */
    --surface-bg: #0c0c0c;
    --surface-card: #171717;
    --surface-elevated: #222222;
    --surface-border: #2e2e2e;
    --text-primary: #ececec;
    --text-muted: #a3a3a3;
    --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.45);
    --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.55);
    --shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.65);

    /* Align Bootstrap 5.3 dark tokens to the same palette */
    --bs-body-color: #ececec;
    --bs-body-color-rgb: 236, 236, 236;
    --bs-body-bg: #0c0c0c;
    --bs-body-bg-rgb: 12, 12, 12;
    --bs-emphasis-color: #ffffff;
    --bs-emphasis-color-rgb: 255, 255, 255;
    --bs-secondary-color: rgba(236, 236, 236, 0.7);
    --bs-secondary-color-rgb: 236, 236, 236;
    --bs-secondary-bg: #222222;
    --bs-secondary-bg-rgb: 34, 34, 34;
    --bs-tertiary-color: rgba(236, 236, 236, 0.5);
    --bs-tertiary-bg: #1a1a1a;
    --bs-tertiary-bg-rgb: 26, 26, 26;
    --bs-heading-color: #f5f5f5;
    --bs-border-color: #2e2e2e;
    --bs-border-color-translucent: rgba(255, 255, 255, 0.12);
    --bs-link-color: #a5b4fc;
    --bs-link-hover-color: #c7d2fe;
    --bs-code-color: #f9a8d4;
    --bs-highlight-bg: #422006;
    --bs-form-control-bg: #171717;
    --bs-form-valid-color: #75b798;
    --bs-form-valid-border-color: #75b798;
    --bs-form-invalid-color: #ea868f;
    --bs-form-invalid-border-color: #ea868f;
}

[data-section="overview"] { --section-color: var(--section-overview); }
[data-section="registry"] { --section-color: var(--section-registry); }
[data-section="sales"] { --section-color: var(--section-sales); }
[data-section="logistics"] { --section-color: var(--section-logistics); }
[data-section="warehouse"] { --section-color: var(--section-warehouse); }
[data-section="purchases"] { --section-color: var(--section-purchases); }
[data-section="finance"] { --section-color: var(--section-finance); }
[data-section="accounting"] { --section-color: var(--section-accounting); }
[data-section="hr"] { --section-color: var(--section-hr); }
[data-section="accountant"] { --section-color: var(--section-accountant); }
[data-section="system"] { --section-color: var(--section-system); }

[data-section] {
    --section-color-soft: color-mix(in srgb, var(--section-color) 12%, transparent);
    --section-color-medium: color-mix(in srgb, var(--section-color) 25%, transparent);
}
