:root {
    /* 1. Fundament: Twarde kolory marki (SSoT) */
    /* Wszystkie wartości zgodne z grafiką "Kolory marki" */
    --brand-orange: #FEA70F;
    --brand-orange-rgb: 254, 167, 15;
    
    --brand-blue: #3F51B5;
    --brand-blue-rgb: 63, 81, 181;
    
    --brand-dark-grey: #3F4D5B;
    --brand-dark-grey-rgb: 63, 77, 91;
    
    --brand-success: #3FB552;
    --brand-success-rgb: 63, 181, 82;
    
    --brand-danger: #F02121;
    --brand-danger-rgb: 240, 33, 33;
    
    --brand-black: #000000;
    --brand-black-rgb: 0, 0, 0;
    
    --brand-white: #FFFFFF;
    --brand-white-rgb: 255, 255, 255;
    
    --brand-light-grey: #EAEAEA;
    --brand-light-grey-rgb: 234, 234, 234;

    /* 2. Mapowanie Bootstrap 5 (Framework Integration) */
    /* Wymagane dla natywnych efektów przezroczystości i focus w BS5 */
    --bs-primary: var(--brand-blue);
    --bs-primary-rgb: var(--brand-blue-rgb);
    
    --bs-secondary: var(--brand-dark-grey);
    --bs-secondary-rgb: var(--brand-dark-grey-rgb);
    
    --bs-warning: var(--brand-orange);
    --bs-warning-rgb: var(--brand-orange-rgb);
    
    --bs-success: var(--brand-success);
    --bs-success-rgb: var(--brand-success-rgb);
    
    --bs-danger: var(--brand-danger);
    --bs-danger-rgb: var(--brand-danger-rgb);
    
    --bs-dark: var(--brand-black);
    --bs-dark-rgb: var(--brand-black-rgb);
        
    --bs-body-bg: var(--brand-white);
    --bs-body-color: var(--brand-black);

    /* Linki systemowe */
    --bs-link-color: var(--bs-primary);
    --bs-link-color-rgb: var(--bs-primary-rgb);

    /* 3. Typografia (Design Tokens) */
    --bs-body-font-family: 'Onest', sans-serif;
    --fw-bold: 700;
    --fw-semibold: 600;
    --fw-regular: 400;
    --fw-light: 300;

    /* 4. Zmienne semantyczne (Globalne) */
    --brand-dark-alt: #343a40; /* Zgodnie z django.md */
    
    /* 5. Kolory pomocnicze i stany (UI Helpers) */
    --brand-bg-light: #f8f9fa;
    --brand-border-light: #dee2e6;
    
    --brand-orange-hover: #e59600;
    --brand-orange-active: #d88e00;
    --brand-orange-active-border: #cc8600;
    
    --brand-blue-hover: #354499;
    --brand-blue-border-hover: #313f8d;
    --brand-blue-transparent: rgba(var(--brand-blue-rgb), 0.05);
    
    --brand-danger-transparent: rgba(var(--brand-danger-rgb), 0.05);
    
    --text-muted-white: rgba(255, 255, 255, 0.5);
}

/* Default Theme (Dark) applied to body */
body.theme-dark {
    /* 5. Semantic Mapping (Jak kolory są używane w UI) */
    --primary-accent: var(--bs-warning);
    --primary-accent-hover: var(--brand-orange-hover);
    /* Użycie zmiennych RGB dla przezroczystych warstw dekoracyjnych */
    --primary-accent-transparent: rgba(var(--brand-orange-rgb), 0.1);
    --primary-accent-border: rgba(var(--brand-orange-rgb), 0.4);
    
    --sidebar-bg: var(--bs-dark);
    --header-bg: var(--brand-dark-alt);
    --content-bg: var(--bs-light);
    
    --text-main: var(--bs-body-color);
    --text-on-dark: var(--bs-body-bg);
    
    /* Przezroczystości dostosowane do tła Dark Grey (#3F4D5B) */
    --text-muted-on-dark: rgba(255, 255, 255, 0.6);
    --text-dim-on-dark: rgba(255, 255, 255, 0.35);
    
    --border-subtle: rgba(255, 255, 255, 0.1);
    --border-accent: var(--bs-warning);
}

/* 6. Komponenty Overrides (Naprawa twardych HEXów z CDN) */

/* Główne przyciski Warning (Brand Orange) */
.btn-warning {
    --bs-btn-bg: var(--brand-orange);
    --bs-btn-border-color: var(--brand-orange);
    --bs-btn-hover-bg: var(--brand-orange-hover);
    --bs-btn-hover-border-color: var(--brand-orange-active);
    --bs-btn-active-bg: var(--brand-orange-active);
    --bs-btn-active-border-color: var(--brand-orange-active-border);
}

/* Główne przyciski Primary (Brand Blue) */
.btn-primary {
    --bs-btn-bg: var(--brand-blue);
    --bs-btn-border-color: var(--brand-blue);
    --bs-btn-hover-bg: var(--brand-blue-hover);
    --bs-btn-hover-border-color: var(--brand-blue-border-hover);
}

/* Przyciski Outline Primary (Brand Blue) */
.btn-outline-primary {
    --bs-btn-color: var(--brand-blue);
    --bs-btn-border-color: var(--brand-blue);
    --bs-btn-hover-color: var(--brand-white);
    --bs-btn-hover-bg: var(--brand-blue);
    --bs-btn-hover-border-color: var(--brand-blue);
    --bs-btn-active-color: var(--brand-white);
    --bs-btn-active-bg: var(--brand-blue);
    --bs-btn-active-border-color: var(--brand-blue);
}

/* Przyciski Outline Warning (Brand Orange) */
.btn-outline-warning {
    --bs-btn-color: var(--brand-orange);
    --bs-btn-border-color: var(--brand-orange);
    --bs-btn-hover-color: var(--brand-white);
    --bs-btn-hover-bg: var(--brand-orange);
    --bs-btn-hover-border-color: var(--brand-orange);
    --bs-btn-active-color: var(--brand-white);
    --bs-btn-active-bg: var(--brand-orange);
    --bs-btn-active-border-color: var(--brand-orange);
}

/* Przyciski Outline Success (Brand Green) */
.btn-outline-success {
    --bs-btn-color: var(--brand-success);
    --bs-btn-border-color: var(--brand-success);
    --bs-btn-hover-color: var(--brand-white);
    --bs-btn-hover-bg: var(--brand-success);
    --bs-btn-hover-border-color: var(--brand-success);
    --bs-btn-active-color: var(--brand-white);
    --bs-btn-active-bg: var(--brand-success);
    --bs-btn-active-border-color: var(--brand-success);
}

/* Przyciski Outline Danger (Brand Red) */
.btn-outline-danger {
    --bs-btn-color: var(--brand-danger);
    --bs-btn-border-color: var(--brand-danger);
    --bs-btn-hover-color: var(--brand-white);
    --bs-btn-hover-bg: var(--brand-danger);
    --bs-btn-hover-border-color: var(--brand-danger);
    --bs-btn-active-color: var(--brand-white);
    --bs-btn-active-bg: var(--brand-danger);
    --bs-btn-active-border-color: var(--brand-danger);
}

/* 7. Brand Accent Utilities — Orange dekoracyjny (#FEA70F) */
/* Używamy var(--brand-orange) jako fundamantu */
.bg-brand-accent       { background-color: var(--brand-orange) !important; }
.text-brand-accent     { color: var(--brand-orange) !important; }
.border-brand-accent   { border-color: var(--brand-orange) !important; }
.bg-brand-accent-subtle { background-color: var(--primary-accent-transparent) !important; }
