
    .text-justify {
        text-align: justify;
    }

    .modal-backdrop.show {
        opacity: 0.7;
    }

    /* CSS dla wyjeżdżającego banera RODO */
    .rodo-banner {
        position: fixed;
        bottom: -150%; /* Ukryty poza ekranem na dole */
        left: 0;
        width: 100%;
        background-color: #ffffff;
        border-top: 3px solid var( #28a745);
        z-index: 1040; /* Poniżej modala (1050), ale nad stroną */
        transition: bottom 0.6s cubic-bezier(0.25, 0.8, 0.25, 1); /* Płynna animacja wyjazdu */
    }

    .rodo-banner.slide-up {
        bottom: 0; /* Wyjazd na widoczną część ekranu */
    }

    /* Kontener dla długiego tekstu RODO z suwakiem */
    .rodo-scroll-container {
        max-height: 40vh; /* Maksymalna wysokość to 40% wysokości okna przeglądarki */
        overflow-y: auto; /* Włącza pionowy suwak, gdy tekst przekracza max-height */
        border: 1px solid #f0f0f0;
        padding: 10px;
        background-color: #fafafa;
        border-radius: 4px;
    }

    /* Ostylowanie paska przewijania (opcjonalnie, wygląda lepiej na webkit) */
    .rodo-scroll-container::-webkit-scrollbar {
        width: 6px;
    }
    .rodo-scroll-container::-webkit-scrollbar-track {
        background: #f1f1f1;
        border-radius: 4px;
    }
    .rodo-scroll-container::-webkit-scrollbar-thumb {
        background: #c1c1c1;
        border-radius: 4px;
    }
    .rodo-scroll-container::-webkit-scrollbar-thumb:hover {
        background: #a8a8a8;
    }

/* Style dla przycisków zakładek */
.tab-btn {
    background: none;
    border: none;
    padding: 10px 25px;
    font-size: 1.1rem;
    font-weight: 500;
    color: #6c757d;
    cursor: pointer;
    transition: color 0.3s, border-bottom 0.3s;
    border-bottom: 3px solid transparent;
    margin-bottom: -1px; /* Nakłada się na border-bottom rodzica */
}

.tab-btn:hover {
    color: #28a745; /* Kolor zielony nawiązujący do btn-success */
}

.tab-btn.active {
    color: #28a745;
    border-bottom: 3px solid #28a745;
}

/* Style dla paneli treści i animacja */
.tab-pane {
    display: none;
    opacity: 0;
    /* Element startuje lekko przesunięty w prawo */
    transform: translateX(30px);
}

.tab-pane.active {
    display: block;
    /* Odpalenie animacji dla aktywnego elementu */
    animation: slideFadeIn 0.4s ease-out forwards;
}

/* Klatki kluczowe animacji wjazdu */
@keyframes slideFadeIn {
    to {
        opacity: 1;
        transform: translateX(0);
    }
}


/* Dedykowane kolory dla tabeli z obrazka */
        .custom-table thead th {
            background-color: #a4c88a !important; /* Ciemniejszy zielony nagłówek */
            color: #000;
            border-bottom: none;
            vertical-align: middle;
        }
        .custom-table tbody tr:nth-child(odd):not(.highlight-yellow):not(.row-razem) td {
            background-color: #d2e7c3 !important; /* Ciemniejszy wiersz */
        }
        .custom-table tbody tr:nth-child(even):not(.highlight-yellow):not(.row-razem) td {
            background-color: #e5f1db !important; /* Jaśniejszy wiersz */
        }
        .custom-table .highlight-yellow td {
            background-color: #fff000 !important; /* Żółte wyróżnienie */
            font-weight: 500;
        }
        .custom-table .row-razem td {
            background-color: #bedba5 !important; /* Zielony dla wiersza podsumowującego */
        }
        .custom-table th, .custom-table td {
            border-color: #fff; /* Białe ramki oddzielające komórki */
        }

