﻿.custom-sidebar {
    background-color: #f7f9fc !important;
    padding: 12px;
    border-right: none;
}

    /* Formatowanie elementów listy menu */
    .custom-sidebar .menu-inner .menu-item {
        margin-bottom: 4px;
    }

    .custom-sidebar .menu-inner .menu-link {
        color: #4b5565;
        font-weight: 600;
        font-size: 14px;
        border-radius: 12px;
        padding: 12px 16px;
        transition: all 0.2s ease;
    }

    /* Hover na nieaktywnym elemencie */
    .custom-sidebar .menu-inner .menu-item:not(.active) > .menu-link:hover {
        background-color: #ebf0f7;
        color: #1a365d;
    }

    /* Aktywny element (ciemnoniebieski przycisk) - operator '>' zapobiega podświetlaniu dzieci */
    .custom-sidebar .menu-inner .menu-item.active > .menu-link {
        background-color: #0f1a4d !important;
        color: #ffffff !important;
        box-shadow: none;
    }

        .custom-sidebar .menu-inner .menu-item.active > .menu-link .menu-icon {
            color: #ffffff !important;
        }

    /* Ikony w menu */
    .custom-sidebar .menu-icon {
        color: #7c8ba1;
        font-size: 1.25rem;
        margin-right: 12px;
    }

    /* Nagłówek sekcji (np. KONTO BIURA) */
    .custom-sidebar .menu-header {
        margin-top: 24px;
        margin-bottom: 8px;
        padding-left: 12px;
    }

    .custom-sidebar .menu-header-text {
        color: #9aa8bc !important;
        font-weight: 700;
        letter-spacing: 0.8px;
        font-size: 0.75rem;
    }

    /* Badge (zaokrąglone licznikowe kółka) */
    .custom-sidebar .bg-badge-light {
        background-color: #e2edff;
        color: #2b6cb0;
        font-weight: 700;
        font-size: 0.75rem;
        padding: 4px 8px;
    }

/* Dolny baner pomocniczy */
.menu-footer-card {
    background-color: #1a3b5d;
    border-radius: 16px;
    padding: 20px;
    color: #ffffff;
    margin-top: auto;
    margin-bottom: 12px;
}

    .menu-footer-card h5 {
        color: #ffffff;
        font-size: 1rem;
        font-weight: 700;
        margin-bottom: 8px;
    }

    .menu-footer-card p {
        color: #c0d1e5;
        font-size: 0.825rem;
        line-height: 1.4;
        margin-bottom: 16px;
    }

    .menu-footer-card .btn-contact {
        background-color: #ffffff;
        color: #1a3b5d;
        font-weight: 700;
        font-size: 0.875rem;
        border-radius: 10px;
        width: 100%;
        padding: 8px;
        text-align: center;
        border: none;
        box-shadow: 0 2px 4px rgba(0,0,0,0.05);
    }

        .menu-footer-card .btn-contact:hover {
            background-color: #f0f4f8;
            color: #102a43;
        }
.menu-sub {
    margin-left:10px;
}
/* Tytuł i nagłówki */
.dashboard-title {
    font-size: 30px;
    font-weight: 800;
    color: rgb(30, 36, 51);
    margin: 0px 0px 8px;
}

/* Kropka "Konto aktywne" */
.status-pill {
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.03);
}

.welcome-text1 {
    font-size: 15px;
    color: rgb(102, 112, 133);
    margin: 0px 0px 18px;
}

.status-dot {
    width: 8px;
    height: 8px;
    background-color: #10b981;
    border-radius: 50%;
    display: inline-block;
}

/* Kafelki statystyk */
.stat-card {
    border-radius: 16px !important;
    background-color: #ffffff;
}

.stat-icon {
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
}

.bg-light-blue {
    background-color: #eef2ff;
    color: #4f46e5 !important;
}

.bg-light-pink {
    background-color: #ffe4e6;
    color: #e11d48 !important;
}

.bg-light-purple {
    background-color: #f3e8ff;
    color: #9333ea !important;
}

.stat-label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 600;
    color: rgb(75, 85, 101);
}

.stat-value-digit {
    font-size: 28px;
    font-weight: 800;
    color: rgb(30, 36, 51);
}

.stat-value {
    font-size: 22px;
    font-weight: 400;
    color: rgb(30, 36, 51);
}

.stat-subtext {
    color: #6b7280;
    font-size: 0.8rem;
}

/* Karta produktu */
.product-card {
    border-radius: 20px !important;
    background-color: #ffffff;
}

.product-avatar {
    width: 56px;
    height: 56px;
    background-color: #1d3557;
    color: #ffffff;
    font-weight: 800;
    font-size: 1.3rem;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Tagi pod opisem */
.tag-badge {
    background-color: #f3f4f6;
    color: #4b5563;
    font-weight: 600;
    font-size: 0.75rem;
    padding: 6px 12px;
    border-radius: 6px;
}

/* Przyciski w karcie */
.min-w-180 {
    min-width: 170px;
}

.btn-custom-blue {
    background-color: #2563eb !important;
    border-color: #2563eb !important;
    font-weight: 700;
    border-radius: 10px;
    padding: 10px 16px;
}

    .btn-custom-blue:hover {
        background-color: #1d4ed8 !important;
    }

.btn-custom-outline {
    background-color: #ffffff;
    color: #1f2937;
    border: 1px solid #d1d5db;
    font-weight: 700;
    border-radius: 10px;
    padding: 10px 16px;
}

    .btn-custom-outline:hover {
        background-color: #f9fafb;
        color: #111827;
    }

/* Badge statusu AKTYWNY */
.bg-success-subtle {
    background-color: #d1fae5 !important;
    color: #065f46 !important;
    font-size: 0.65rem;
    padding: 4px 8px;
}

.user-pill-btn {
    background-color: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 50rem;
    padding: 4px 14px 4px 5px !important;
    transition: all 0.2s ease-in-out;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04);
}

    .user-pill-btn:hover,
    .user-pill-btn:focus,
    .show > .user-pill-btn {
        background-color: #f8fafc;
        border-color: #cbd5e1;
        box-shadow: 0 4px 6px rgba(0, 0, 0, 0.08);
    }

    /* Tekst i typografia wewnątrz pigułki */
    .user-pill-btn .user-name {
        font-size: 0.875rem;
        line-height: 1.1;
        color: #1e293b !important;
    }

    .user-pill-btn .user-role {
        font-size: 0.75rem;
        line-height: 1.1;
        color: #64748b !important;
    }

    /* Styl awatara */
    .user-pill-btn .avatar1 {
        width: 36px;
        height: 36px;
        border-radius: 50%;
        object-fit: cover;
    }

.icon-box {
    width: 40px;
    height: 40px;
}

.office-info-list .border-bottom {
    border-color: #f1f3f7 !important;
}

.office-info-list span.text-secondary {
    color: #727e8c !important;
    font-size: 0.95rem;
}

.office-info-list span.text-dark {
    color: #1a2e4b !important;
    font-size: 0.95rem;
}

/* Box SSO */
.sso-box {
    background-color: #eef2f8;
}

.sso-icon-bg {
    width: 44px;
    height: 44px;
    background-color: #12253f;
}

    .sso-icon-bg i {
        color: #ffb800 !important;
    }

/* Avatary użytkowników */
.user-avatar {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    font-weight: 700;
    font-size: 0.85rem;
    flex-shrink: 0;
}

.bg-dark-navy {
    background-color: #1c2d42;
}

.bg-blue {
    background-color: #2870ed;
}

.bg-green {
    background-color: #139a5e;
}

.bg-purple {
    background-color: #7356f1;
}

/* Etykiety ról (Administrator / Księgowy) */
.role-badge {
    background-color: #f2f4f8;
    color: #515f72;
    font-size: 0.825rem;
    font-weight: 600;
    padding: 6px 14px;
    border-radius: 8px;
}

/* Przycisk z przerywaną ramką */
.btn-dashed {
    border: 1px dashed #d9dee3;
    background-color: #ffffff;
    color: #1a2e4b !important;
    transition: all 0.2s ease-in-out;
}

    .btn-dashed:hover {
        background-color: #f8f9fa;
        border-color: #b0b7c0;
    }

.expand-office-banner {
    background-color: #0f1a4d; 
    border-radius: 20px !important;
}

.text1 {
    color: rgb(255, 255, 255);
    font-size: 21px;
    font-weight: 800;
    margin: 0px 0px 6px;
}

/* Plakietka "POLECANE DLA CIEBIE" nad kartą */
.badge-recommended {
    position: absolute;
    top: -12px;
    left: 50%;
    transform: translateX(-50%);
    background-color: #2870ed;
    color: #ffffff;
    font-size: 0.68rem;
    font-weight: 700;
    padding: 4px 14px;
    border-radius: 20px;
    letter-spacing: 0.3px;
    white-space: nowrap;
    box-shadow: 0 2px 6px rgba(40, 112, 237, 0.4);
}

/* Ikona z inicjałami (KR, ZE, MT, MV) */
.product-icon {
    width: 44px;
    height: 44px;
    background-color: #172d48;
    color: #ffffff;
    font-weight: 800;
    font-size: 1rem;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

/* Kategoria produktu (niebieski napis nad nazwą) */
.product-category {
    display: block;
    color: #2870ed;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.4px;
    line-height: 1.2;
}

/* Pigułki ze stanem/statusami (Zielony, Pomarańczowy, Niebieski) */
.status-pill {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 6px 12px;
    border-radius: 8px;
    font-size: 0.8rem;
    font-weight: 600;
    width: fit-content;
}

.status-green {
    background-color: #eaf8f1;
    color: #139a5e;
}

.status-orange {
    background-color: #fef5e7;
    color: #d97706;
}

.status-blue {
    background-color: #eef5ff;
    color: #2563eb;
}

/* Przycisk jasny / obramowany w kartach */
.btn-outline-custom {
    border: 1px solid #e2e8f0;
    background-color: #ffffff;
    color: #1a2e4b;
    transition: all 0.2s ease-in-out;
}

    .btn-outline-custom:hover {
        background-color: #f8fafc;
        border-color: #cbd5e1;
        color: #0f172a;
    }

/* Główna siatka */
.product-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 18px;
}

/* Karta – ustawiamy na 100% wysokości, żeby wszystkie były równe w rzędzie */
.product-card {
    background: rgb(255, 255, 255);
    border-radius: 14px;
    padding: 22px;
    display: flex;
    flex-direction: column;
    border: none;
    box-shadow: 0 0.125rem 0.25rem rgba(147, 158, 170, 0.4);
    height: 100%;
}

/* Logo produktów */
.product-logo {
    width: auto;
    align-self: center;
    margin-bottom: 14px;
    height: 34px;
}

.logo-zeus {
    height: 30px;
}

.logo-kreson {
    height: 26px;
}

/* Kontener wewnętrzny – musi rozciągać się na całą wysokość karty */
.product-content {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
}

/* Opis produktu – ma kluczową właściwość flex-grow: 1, która "pcha" dół karty w dół */
.product-desc {
    font-size: 13px;
    color: rgb(75, 85, 101);
    line-height: 1.5;
    margin-bottom: 16px;
    flex-grow: 1; /* To sprawia, że tekst zajmuje wolną przestrzeń */
}

/* Sekcja dolna (badge + przycisk), która zawsze przyklei się do dołu */
.product-footer {
    margin-top: auto;
}

/* Statusy / Badges */
.badge-status {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 700;
    padding: 5px 10px;
    border-radius: 999px;
    margin-bottom: 16px;
    white-space: nowrap;
}

.badge-success {
    background: rgb(220, 252, 231);
    color: rgb(21, 128, 61);
}

.badge-warning {
    background: rgb(255, 237, 213);
    color: rgb(194, 97, 10);
}

/* Przycisk */
.product-btn {
    width: 100%;
    background: rgb(47, 111, 237) !important;
    color: rgb(255, 255, 255);
    border-radius: 10px;
    padding: 12px;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    border: none;
}

    .product-btn:hover {
        background: rgb(35, 95, 215) !important;
    }

/* Główny kontener sekcji */
.software-section {
    max-width: 1040px;
    margin: 0 auto;
    padding: 40px 10px;
}

/* Nagłówek główny */
.software-title {
    font-size: 28px;
    font-weight: 800;
    color: rgb(30, 36, 51);
    margin: 0 0 24px 0;
}

/* Kontener pojedynczego produktu (odstęp między kartami zapobiegający zlewaniu) */
.product-config-container {
    background: rgb(231, 235, 242);
    border-radius: 20px;
    margin-bottom: 24px;
}

/* Wymiary grafiki pudełka */
.product-box-img {
    width: 210px;
    height: 240px;
}

/* Nagłówek i opisy w lewej kolumnie */
.product-heading {
    font-size: 24px;
    font-weight: 800;
    color: rgb(30, 36, 51);
}

.product-desc {
    font-size: 14px;
    line-height: 1.6;
    color: rgb(102, 112, 133);
}

/* Prawa kolumna (tło) */
.product-right-col {
    background: rgb(246, 247, 250);
}

/* Etykiety sekcji */
.section-label {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.04em;
    color: rgb(138, 148, 166);
}

/* Przełącznik okresu licencji */
.license-switcher {
    background: rgb(231, 235, 242);
}

.license-btn-active {
    font-size: 13px;
}

.license-btn {
    font-size: 13px;
    color: rgb(102, 112, 133);
}

/* Aktywny box licencji */
.active-license-box {
    border: 1.5px solid rgb(47, 111, 237);
}

.active-license-title {
    font-size: 15px;
    font-weight: 700;
    color: rgb(47, 111, 237);
}

.active-license-sub {
    font-size: 12px;
    color: rgb(138, 148, 166);
}

/* Box z checkboxem */
.checkbox-card {
    border: 1.5px solid rgb(231, 235, 242);
}

.custom-checkbox {
    width: 18px;
    height: 18px;
    accent-color: rgb(47, 111, 237);
    cursor: pointer;
}

.checkbox-title {
    font-size: 15px;
}

.checkbox-desc {
    font-size: 12px;
    color: rgb(138, 148, 166);
}

/* Stopka karty */
.custom-border-top {
    border-color: rgb(221, 225, 232) !important;
}

.summary-label {
    font-size: 12px;
    color: rgb(138, 148, 166);
}

.custom-submit-btn {
    background: rgb(47, 111, 237);
    font-size: 15px;
}

    .custom-submit-btn:hover {
        background: rgb(35, 95, 215);
    }

/* Wspólne elementy (badge, kursor) */
.custom-badge-teal {
    color: rgb(13, 148, 136) !important;
    background: rgb(204, 251, 241) !important;
    font-weight: 700;
    padding: 5px 10px;
    border-radius: 7px;
    letter-spacing: 0.03em;
    font-size: 11px;
}

.discount-badge {
    font-size: 10px;
    padding: 2px 6px;
    border-radius: 5px;
}

.cursor-pointer {
    cursor: pointer;
}

.custom-teal-badge {
    background-color: #d1f7f1;
    color: #0d9488;
    font-weight: 500;
}

/* Stylizacje kart i zaokrągleń */
.product-config-container {
    border-radius: 1rem;
}

.cursor-pointer {
    cursor: pointer;
}

/* Przycisk aktywnego okresu */
.btn-period.active {
    background-color: #ffffff !important;
    color: #000000 !important;
    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
    border: 1px solid #dee2e6 !important;
}


.basket-icon {
    position: relative;
    width: 42px;
    height: 42px;
    border-radius: 10px;
    background: rgb(47, 111, 237);
    border-width: medium;
    border-style: none;
    border-color: currentcolor;
    border-image: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}