:root {
    /* Brand palette */
    --color-primary: #1d4ed8;
    --color-secondary: #475569;
    --color-success: #16a34a;
    --color-danger: #dc2626;
    --color-warning: #d97706;
    --color-info: #0284c7;
    --color-light: #f8fafc;
    --color-dark: #0f172a;

    /* Client brand palette */
    --brand-primary: #E94840;
    --brand-secondary: #95C569;
    --brand-primary-soft: rgba(233, 72, 64, 0.14);
    --brand-primary-strong: rgba(233, 72, 64, 0.32);
    --brand-secondary-soft: rgba(149, 197, 105, 0.18);
    --brand-secondary-strong: rgba(149, 197, 105, 0.28);

    /* Surfaces */
    --color-app-bg: #f3f6fb;
    --color-surface: #ffffff;
    --color-sidebar-bg: #151112;
    --color-sidebar-bg-end: #0f172a;

    /* Text */
    --color-text-on-dark: #ffffff;
    --color-text-on-dark-soft: #a9b6cf;
    --color-text-on-dark-link: #d7deee;

    /* Borders */
    --color-border: #e5eaf3;
    --color-border-on-dark: rgba(255, 255, 255, 0.16);
    --color-border-brand-on-dark: rgba(233, 72, 64, 0.36);

    /* States */
    --color-nav-active-bg: rgba(255, 255, 255, 0.15);
    --color-nav-brand-bg: rgba(233, 72, 64, 0.18);

    /* Layout */
    --sidebar-width: 260px;
    --sidebar-width-collapsed: 88px;
    --sidebar-toggle-size: 34px;
    --topbar-padding-y: 12px;
    --topbar-padding-x: 14px;
    --z-sidebar-mobile: 1030;

    /* Typography */
    --font-weight-title: 700;
    --letter-spacing-title: -0.02em;

    /* Radius */
    --radius-md: 12px;

    /* Motion */
    --transition-fast: 0.2s ease;
    --transition-menu: 0.25s ease;

    /* Bootstrap overrides (CDN-safe theming via CSS variables) */
    --bs-primary: var(--color-primary);
    --bs-secondary: var(--color-secondary);
    --bs-success: var(--color-success);
    --bs-danger: var(--color-danger);
    --bs-warning: var(--color-warning);
    --bs-info: var(--color-info);
    --bs-light: var(--color-light);
    --bs-dark: var(--color-dark);

    --bs-body-bg: var(--color-app-bg);
    --bs-body-color: var(--color-dark);
    --bs-border-color: var(--color-border);
    --bs-link-color: var(--color-primary);
    --bs-link-hover-color: #1e40af;

    --bs-border-radius: 0.5rem;
    --bs-border-radius-sm: 0.375rem;
    --bs-border-radius-lg: 0.75rem;
    --bs-box-shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.06);
    --bs-box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08);

    --bs-card-bg: var(--color-surface);
    --bs-card-color: var(--color-dark);
    --bs-card-border-color: var(--color-border);
    --bs-card-border-radius: var(--bs-border-radius-lg);
    --bs-card-box-shadow: var(--bs-box-shadow-sm);
    --bs-card-cap-bg: #f8fbff;

    --form-brand-border-color: rgba(233, 72, 64, 0.26);
    --form-brand-focus-shadow: rgba(233, 72, 64, 0.16);
    --form-brand-muted-bg: rgba(233, 72, 64, 0.04);
}

.form-control,
.form-select {
    border-color: var(--form-brand-border-color);
}

.form-control:focus,
.form-select:focus {
    border-color: var(--brand-primary);
    box-shadow: 0 0 0 0.2rem var(--form-brand-focus-shadow);
}

.form-check-input {
    border-color: var(--form-brand-border-color);
}

.form-check-input:checked {
    background-color: var(--brand-primary);
    border-color: var(--brand-primary);
}

.form-check-input:focus {
    border-color: var(--brand-primary);
    box-shadow: 0 0 0 0.2rem var(--form-brand-focus-shadow);
}

.input-group-text {
    background-color: var(--form-brand-muted-bg);
    border-color: var(--form-brand-border-color);
}
