/* _content/UrlopyApp/Components/Account/Shared/AuthLayout.razor.rz.scp.css */
/* Pełnoekranowe tło - grafit HERKULES z delikatnym pomarańczowym poblaskiem
   w prawym dolnym rogu, żeby ekran nie był ślepo ciemny. */
.auth-page[b-cwahsc4rhz] {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem 1rem;
    background:
        radial-gradient(1200px 600px at 90% 110%, rgba(243, 120, 53, 0.22), transparent 60%),
        linear-gradient(160deg, #14181C 0%, #000000 100%);
}

.auth-shell[b-cwahsc4rhz] {
    width: 100%;
    max-width: 460px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
}

.auth-brand[b-cwahsc4rhz] {
    display: block;
    text-decoration: none;
    padding: 0.25rem;
}

    .auth-brand img[b-cwahsc4rhz] {
        display: block;
        width: 220px;
        height: auto;
        filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.45));
    }

/* Karta z formularzem - białe tło, delikatny cień z pomarańczową kreską na górze
   jako dyskretny akcent firmowy. Kreska powstaje z border-top, żeby zawsze
   siedziała idealnie równo z zaokrągleniem karty. */
.auth-card[b-cwahsc4rhz] {
    width: 100%;
    background-color: #FFFFFF;
    /* Karta jest wyspą jasnego motywu, więc przeglądarka musi malować w niej
       kontrolki po jasnemu. Bez tego pola uzupełnione automatycznie (autofill)
       dostawały ciemne tło z ustawienia color-scheme całej strony i karta
       w motywie ciemnym wyglądała inaczej niż w jasnym. */
    color-scheme: light;
    border-radius: 0.75rem;
    border-top: 4px solid #F37835;
    box-shadow: 0 20px 45px rgba(0, 0, 0, 0.35), 0 6px 12px rgba(0, 0, 0, 0.2);
    padding: 2rem 2.25rem 2rem;
}

.auth-footer[b-cwahsc4rhz] {
    font-size: 0.78rem;
    letter-spacing: 0.04em;
    color: rgba(255, 255, 255, 0.55);
    text-align: center;
}

/* Nagłówki stron (h1) na karcie: mniejsze, bez odstępu dolnego typowego dla h1
   z ogólnego stylu - żeby nie odsuwały się od formularza. */
.auth-card[b-cwahsc4rhz]  h1 {
    margin: 0 0 1.25rem;
    font-size: 1.35rem;
    color: #14181C;
}

/* Zdanie wprowadzające pod tytułem karty: zwykły tekst, wyraźnie mniejszy od h1.
   Reguła dla ::deep h2 jest siatką bezpieczeństwa - szablon Identity trzyma
   w <h2> zdania instrukcji, a nie nagłówki, więc na karcie taki „nagłówek"
   bywał większy od tytułu strony i przewracał hierarchię. */
.auth-card[b-cwahsc4rhz]  .auth-lead,
.auth-card[b-cwahsc4rhz]  h2 {
    font-size: 0.95rem;
    font-weight: 400;
    color: #5B646D;
    margin: -0.5rem 0 1.25rem;
}

/* Wąskie kolumny szablonu Identity były zoptymalizowane pod formularz w col-lg-6,
   który na wyśrodkowanej karcie robił wciśnięty w lewo formularz z pustą prawą.
   Neutralizujemy klasy siatki - karta sama trzyma szerokość. */
.auth-card[b-cwahsc4rhz]  .row {
    margin: 0;
}

.auth-card[b-cwahsc4rhz]  .row > [class^="col-"],
.auth-card[b-cwahsc4rhz]  .row > [class*=" col-"] {
    padding: 0;
    width: 100%;
    max-width: 100%;
    flex: 0 0 100%;
}

/* Osierocone <hr /> z domyślnego szablonu Identity psuje spójność karty. */
.auth-card[b-cwahsc4rhz]  hr {
    display: none;
}

/* Bardziej dostępny styl "Zapomniałeś hasła" - żeby link nie zlewał się z tekstem. */
.auth-card[b-cwahsc4rhz]  a {
    font-weight: 500;
}

@media (max-width: 480px) {
    .auth-card[b-cwahsc4rhz] {
        padding: 1.5rem 1.25rem;
    }

    .auth-brand img[b-cwahsc4rhz] {
        width: 180px;
    }
}
/* _content/UrlopyApp/Components/Layout/MainLayout.razor.rz.scp.css */
.page[b-obmyxanzup] {
    position: relative;
    display: flex;
    flex-direction: column;
}

main[b-obmyxanzup] {
    flex: 1;
}

/* Sidebar w grafitzie HERKULES, z pomarańczową krawędzią firmową. */
.sidebar[b-obmyxanzup] {
    background-image: linear-gradient(180deg, #14181C 0%, #000000 100%);
    border-right: 3px solid #F37835;
}

.top-row[b-obmyxanzup] {
    background-color: #FAFBFC;
    border-bottom: 1px solid #E2E5E8;
    justify-content: flex-end;
    height: 3.5rem;
    display: flex;
    align-items: center;
}

    .top-row[b-obmyxanzup]  a, .top-row[b-obmyxanzup]  .btn-link {
        white-space: nowrap;
        margin-left: 1.5rem;
        text-decoration: none;
    }

    .top-row[b-obmyxanzup]  a:hover, .top-row[b-obmyxanzup]  .btn-link:hover {
        text-decoration: underline;
    }

    .top-row[b-obmyxanzup]  a:first-child {
        overflow: hidden;
        text-overflow: ellipsis;
    }

/* Ikony w górnym pasku (ciemne, pasujące do jasnego tła) */
.bi-topbar[b-obmyxanzup] {
    display: inline-block;
    position: relative;
    width: 1.25rem;
    height: 1.25rem;
    margin-right: 0.4rem;
    top: 4px;
    background-size: cover;
}

.bi-bell-topbar[b-obmyxanzup] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23A8480F' viewBox='0 0 16 16'%3E%3Cpath d='M8 16a2 2 0 0 0 2-2H6a2 2 0 0 0 2 2zM8 1.918l-.797.161A4.002 4.002 0 0 0 4 6c0 .628-.134 2.197-.459 3.742-.16.767-.376 1.566-.663 2.258h10.244c-.287-.692-.502-1.49-.663-2.258C12.134 8.197 12 6.628 12 6a4.002 4.002 0 0 0-3.203-3.92L8 1.917zM14.22 12c.223.447.481.801.78 1H1c.299-.199.557-.553.78-1C2.68 10.2 3 6.88 3 6c0-2.42 1.72-4.44 4.005-4.901a1 1 0 1 1 1.99 0A5.002 5.002 0 0 1 13 6c0 .88.32 4.2 1.22 6z'/%3E%3C/svg%3E");
}

.bi-person-topbar[b-obmyxanzup] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23A8480F' viewBox='0 0 16 16'%3E%3Cpath d='M3 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1H3Zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z'/%3E%3C/svg%3E");
}

.bi-box-arrow-right-topbar[b-obmyxanzup] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23A8480F' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M10 12.5a.5.5 0 0 1-.5.5h-8a.5.5 0 0 1-.5-.5v-9a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 .5.5v2a.5.5 0 0 0 1 0v-2A1.5 1.5 0 0 0 9.5 2h-8A1.5 1.5 0 0 0 0 3.5v9A1.5 1.5 0 0 0 1.5 14h8a1.5 1.5 0 0 0 1.5-1.5v-2a.5.5 0 0 0-1 0v2z'/%3E%3Cpath fill-rule='evenodd' d='M15.854 8.354a.5.5 0 0 0 0-.708l-3-3a.5.5 0 0 0-.708.708L14.293 7.5H5.5a.5.5 0 0 0 0 1h8.793l-2.147 2.146a.5.5 0 0 0 .708.708l3-3z'/%3E%3C/svg%3E");
}

/* Ikona przełącznika motywu: koło w połowie wypełnione (jasno/ciemno). */
.bi-theme-topbar[b-obmyxanzup] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23A8480F' viewBox='0 0 16 16'%3E%3Cpath d='M8 15A7 7 0 1 0 8 1v14zm0 1A8 8 0 1 1 8 0a8 8 0 0 1 0 16z'/%3E%3C/svg%3E");
}

/* ---- Motyw ciemny: górny pasek ----
   Ikony muszą rozjaśnić się razem z tłem. Firmowy ciemny pomarańcz (#A8480F)
   dobrany do białego tła spadłby na grafitowym pasku poniżej progu czytelności,
   więc w ciemnym motywie wchodzi jaśniejszy wariant tego samego koloru. */
[data-bs-theme="dark"] .top-row[b-obmyxanzup] {
    background-color: #1B2026;
    border-bottom-color: #2E353D;
}

[data-bs-theme="dark"] .bi-bell-topbar[b-obmyxanzup] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23F59B6B' viewBox='0 0 16 16'%3E%3Cpath d='M8 16a2 2 0 0 0 2-2H6a2 2 0 0 0 2 2zM8 1.918l-.797.161A4.002 4.002 0 0 0 4 6c0 .628-.134 2.197-.459 3.742-.16.767-.376 1.566-.663 2.258h10.244c-.287-.692-.502-1.49-.663-2.258C12.134 8.197 12 6.628 12 6a4.002 4.002 0 0 0-3.203-3.92L8 1.917zM14.22 12c.223.447.481.801.78 1H1c.299-.199.557-.553.78-1C2.68 10.2 3 6.88 3 6c0-2.42 1.72-4.44 4.005-4.901a1 1 0 1 1 1.99 0A5.002 5.002 0 0 1 13 6c0 .88.32 4.2 1.22 6z'/%3E%3C/svg%3E");
}

[data-bs-theme="dark"] .bi-person-topbar[b-obmyxanzup] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23F59B6B' viewBox='0 0 16 16'%3E%3Cpath d='M3 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1H3Zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z'/%3E%3C/svg%3E");
}

[data-bs-theme="dark"] .bi-box-arrow-right-topbar[b-obmyxanzup] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23F59B6B' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M10 12.5a.5.5 0 0 1-.5.5h-8a.5.5 0 0 1-.5-.5v-9a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 .5.5v2a.5.5 0 0 0 1 0v-2A1.5 1.5 0 0 0 9.5 2h-8A1.5 1.5 0 0 0 0 3.5v9A1.5 1.5 0 0 0 1.5 14h8a1.5 1.5 0 0 0 1.5-1.5v-2a.5.5 0 0 0-1 0v2z'/%3E%3Cpath fill-rule='evenodd' d='M15.854 8.354a.5.5 0 0 0 0-.708l-3-3a.5.5 0 0 0-.708.708L14.293 7.5H5.5a.5.5 0 0 0 0 1h8.793l-2.147 2.146a.5.5 0 0 0 .708.708l3-3z'/%3E%3C/svg%3E");
}

[data-bs-theme="dark"] .bi-theme-topbar[b-obmyxanzup] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23F59B6B' viewBox='0 0 16 16'%3E%3Cpath d='M8 15A7 7 0 1 0 8 1v14zm0 1A8 8 0 1 1 8 0a8 8 0 0 1 0 16z'/%3E%3C/svg%3E");
}

@media (max-width: 640.98px) {
    .top-row[b-obmyxanzup] {
        justify-content: space-between;
    }

    .top-row[b-obmyxanzup]  a, .top-row[b-obmyxanzup]  .btn-link {
        margin-left: 0;
    }

    /* Pasek z logo i hamburgerem zostaje przyklejony do góry — menu wysuwa się
       spod niego jako nakładka, więc musi mieć stały punkt zaczepienia. */
    .sidebar[b-obmyxanzup] {
        position: sticky;
        top: 0;
        z-index: 1055;
        border-right: none;
        border-bottom: 3px solid #F37835;
    }
}

@media (min-width: 641px) {
    .page[b-obmyxanzup] {
        flex-direction: row;
    }

    .sidebar[b-obmyxanzup] {
        width: 250px;
        height: 100vh;
        position: sticky;
        top: 0;
    }

    .top-row[b-obmyxanzup] {
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .top-row.auth[b-obmyxanzup]  a:first-child {
        flex: 1;
        text-align: right;
        width: 0;
    }

    .top-row[b-obmyxanzup], article[b-obmyxanzup] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}

#blazor-error-ui[b-obmyxanzup] {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-obmyxanzup] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* _content/UrlopyApp/Components/Layout/NavMenu.razor.rz.scp.css */
/* Hamburger — wyśrodkowany w pasku marki, w kolorze firmowym. */
.navbar-toggler[b-nzor0btull] {
    appearance: none;
    cursor: pointer;
    width: 3rem;
    height: 3rem;
    position: absolute;
    top: 1rem;
    right: 1rem;
    z-index: 1060;
    border: 1px solid rgba(243, 120, 53, 0.45);
    border-radius: 0.4rem;
    background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23F37835' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2.5' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") no-repeat center/1.6rem rgba(255, 255, 255, 0.06);
    transition: background-color .15s ease;
}

/* Po otwarciu hamburger zmienia się w krzyżyk — jasny sygnał „kliknij, by zamknąć". */
.navbar-toggler:checked[b-nzor0btull] {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23F37835' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2.5' d='M6 6l18 18M24 6L6 24'/%3e%3c/svg%3e");
    background-color: rgba(243, 120, 53, 0.18);
}

/* Backdrop pojawia się tylko na wąskich ekranach, przy otwartym menu. */
.nav-backdrop[b-nzor0btull] {
    display: none;
}

.top-row[b-nzor0btull] {
    min-height: 5rem;
    padding-top: 0.85rem;
    padding-bottom: 0.85rem;
    background-color: rgba(0, 0, 0, 0.55);
    border-bottom: 1px solid rgba(243, 120, 53, 0.35);
}

.navbar-brand[b-nzor0btull] {
    padding: 0;
    text-decoration: none;
}

/* Logo firmowe w wersji rewersyjnej (biały logotyp na ciemnym sidebarze). */
.brand-logo[b-nzor0btull] {
    display: block;
    width: 165px;
    height: auto;
}

.brand-subtitle[b-nzor0btull] {
    font-size: 0.72rem;
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.62);
}

.navbar-brand:hover .brand-subtitle[b-nzor0btull] {
    color: #F37835;
}

.bi[b-nzor0btull] {
    display: inline-block;
    position: relative;
    width: 1.25rem;
    height: 1.25rem;
    margin-right: 0.75rem;
    top: -1px;
    background-size: cover;
}

.bi-house-door-fill-nav-menu[b-nzor0btull] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-house-door-fill' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 14.5v-3.505c0-.245.25-.495.5-.495h2c.25 0 .5.25.5.5v3.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5Z'/%3E%3C/svg%3E");
}

.bi-plus-square-fill-nav-menu[b-nzor0btull] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-plus-square-fill' viewBox='0 0 16 16'%3E%3Cpath d='M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm6.5 4.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3a.5.5 0 0 1 1 0z'/%3E%3C/svg%3E");
}

.bi-list-nested-nav-menu[b-nzor0btull] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-list-nested' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.5 11.5A.5.5 0 0 1 5 11h10a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 3 7h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 1 3h10a.5.5 0 0 1 0 1H1a.5.5 0 0 1-.5-.5z'/%3E%3C/svg%3E");
}

.bi-lock-nav-menu[b-nzor0btull] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-list-nested' viewBox='0 0 16 16'%3E%3Cpath d='M8 1a2 2 0 0 1 2 2v4H6V3a2 2 0 0 1 2-2zm3 6V3a3 3 0 0 0-6 0v4a2 2 0 0 0-2 2v5a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2zM5 8h6a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1z'/%3E%3C/svg%3E");
}

.bi-person-nav-menu[b-nzor0btull] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-person' viewBox='0 0 16 16'%3E%3Cpath d='M8 8a3 3 0 1 0 0-6 3 3 0 0 0 0 6Zm2-3a2 2 0 1 1-4 0 2 2 0 0 1 4 0Zm4 8c0 1-1 1-1 1H3s-1 0-1-1 1-4 6-4 6 3 6 4Zm-1-.004c-.001-.246-.154-.986-.832-1.664C11.516 10.68 10.289 10 8 10c-2.29 0-3.516.68-4.168 1.332-.678.678-.83 1.418-.832 1.664h10Z'/%3E%3C/svg%3E");
}

.bi-person-badge-nav-menu[b-nzor0btull] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-person-badge' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 2a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3zM11 8a3 3 0 1 1-6 0 3 3 0 0 1 6 0z'/%3E%3Cpath d='M4.5 0A2.5 2.5 0 0 0 2 2.5V14a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2.5A2.5 2.5 0 0 0 11.5 0h-7zM3 2.5A1.5 1.5 0 0 1 4.5 1h7A1.5 1.5 0 0 1 13 2.5v10.795a4.2 4.2 0 0 0-.776-.492C11.392 12.387 10.063 12 8 12s-3.392.387-4.224.803a4.2 4.2 0 0 0-.776.492V2.5z'/%3E%3C/svg%3E");
}

.bi-person-fill-nav-menu[b-nzor0btull] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-person-fill' viewBox='0 0 16 16'%3E%3Cpath d='M3 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1H3Zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z'/%3E%3C/svg%3E");
}

.bi-arrow-bar-left-nav-menu[b-nzor0btull] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-arrow-bar-left' viewBox='0 0 16 16'%3E%3Cpath d='M12.5 15a.5.5 0 0 1-.5-.5v-13a.5.5 0 0 1 1 0v13a.5.5 0 0 1-.5.5ZM10 8a.5.5 0 0 1-.5.5H3.707l2.147 2.146a.5.5 0 0 1-.708.708l-3-3a.5.5 0 0 1 0-.708l3-3a.5.5 0 1 1 .708.708L3.707 7.5H9.5a.5.5 0 0 1 .5.5Z'/%3E%3C/svg%3E");
}

/* Ikona kalendarza (Harmonogram, Dni wolne). Markup odwoływał się do tej klasy,
   ale nigdy nie została zdefiniowana - obie pozycje szły bez ikony. */
.bi-calendar3-nav-menu[b-nzor0btull] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-calendar3' viewBox='0 0 16 16'%3E%3Cpath d='M14 0H2a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM1 3.857C1 3.384 1.448 3 2 3h12c.552 0 1 .384 1 .857v10.286c0 .473-.448.857-1 .857H2c-.552 0-1-.384-1-.857V3.857z'/%3E%3Cpath d='M6.5 7a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm-9 3a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm-9 3a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2z'/%3E%3C/svg%3E");
}

/* Nagłówki sekcji menu (URLOPY, PLANOWANIE, ...). Pasek boczny jest zawsze
   grafitowy, niezależnie od wybranego motywu, więc jego tekst musi mieć własny
   jasny kolor. Bez tego etykiety dziedziczyły kolor tekstu strony, który
   w motywie jasnym jest prawie czarny - i znikały na ciemnym tle. */
.nav-item small[b-nzor0btull] {
    color: #FFFFFF;
}

.bi-info-circle-nav-menu[b-nzor0btull] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-info-circle' viewBox='0 0 16 16'%3E%3Cpath d='M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z'/%3E%3Cpath d='m8.93 6.588-2.29.287-.082.38.45.083c.294.07.352.176.288.469l-.738 3.468c-.194.897.105 1.319.808 1.319.545 0 1.178-.252 1.465-.598l.088-.416c-.2.176-.492.246-.686.246-.275 0-.375-.193-.304-.533L8.93 6.588zM9 4.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0z'/%3E%3C/svg%3E");
}

/* Stopka menu: numer wersji zawsze pod ręką, bez wchodzenia w szczegóły. */
.nav-version[b-nzor0btull] {
    color: #8A8F94;
    font-size: 0.75rem;
    padding-left: 1.75rem;
}

.nav-item[b-nzor0btull] {
    font-size: 0.9rem;
    padding-bottom: 0.5rem;
}

    .nav-item:first-of-type[b-nzor0btull] {
        padding-top: 1rem;
    }

    .nav-item:last-of-type[b-nzor0btull] {
        padding-bottom: 1rem;
    }

    .nav-item[b-nzor0btull]  .nav-link {
        color: #d7d7d7;
        background: none;
        border: none;
        border-radius: 4px;
        height: 3rem;
        display: flex;
        align-items: center;
        line-height: 3rem;
        width: 100%;
    }

/* Aktywna pozycja: pomarańcz firmowy z czarnym tekstem (kontrast 7,5:1). */
.nav-item[b-nzor0btull]  a.active {
    background-color: #F37835;
    color: #000000;
    font-weight: 600;
}

.nav-item[b-nzor0btull]  .nav-link:hover {
    background-color: rgba(243, 120, 53, 0.18);
    color: white;
}

.nav-item[b-nzor0btull]  a.active:hover {
    background-color: #DA6425;
    color: #000000;
}

/* Ikony w SVG są białe na sztywno — na pomarańczowym tle aktywnej pozycji
   przełączamy je na czarne filtrem, żeby zachowały kontrast. */
.nav-item[b-nzor0btull]  a.active .bi {
    filter: brightness(0);
}

/* ---------- Menu mobilne: wysuwany panel, nie rozpychanie strony ---------- */
@media (max-width: 640.98px) {
    .nav-scrollable[b-nzor0btull] {
        display: block;
        position: fixed;
        top: 5rem;                     /* pod paskiem z logo */
        left: 0;
        bottom: 0;
        width: 82%;
        max-width: 310px;
        z-index: 1050;
        overflow-y: auto;
        overscroll-behavior: contain;  /* przewijanie menu nie przewija strony pod spodem */
        background-image: linear-gradient(180deg, #14181C 0%, #000000 100%);
        border-right: 3px solid #F37835;
        box-shadow: 6px 0 28px rgba(0, 0, 0, 0.45);
        transform: translateX(-100%);
        transition: transform .22s ease-out;
    }

    .navbar-toggler:checked ~ .nav-scrollable[b-nzor0btull] {
        transform: translateX(0);
    }

    .navbar-toggler:checked ~ .nav-backdrop[b-nzor0btull] {
        display: block;
        position: fixed;
        top: 5rem;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 1040;
        background-color: rgba(0, 0, 0, 0.5);
    }

    /* Wygodniejsze cele dotyku na telefonie. */
    .nav-item[b-nzor0btull]  .nav-link {
        height: 3.25rem;
        line-height: 3.25rem;
    }
}

@media (min-width: 641px) {
    .navbar-toggler[b-nzor0btull],
    .nav-backdrop[b-nzor0btull] {
        display: none;
    }

    .nav-scrollable[b-nzor0btull] {
        /* Na szerokim ekranie menu jest zawsze widoczne, nigdy się nie zwija. */
        display: block;

        /* Własne przewijanie, gdy pozycji menu jest dużo. */
        height: calc(100vh - 5rem);
        overflow-y: auto;
    }
}

/* ---------- Zwijana sekcja menu (Administracja) ----------
   Sterowanie czystym CSS: ukryty checkbox #admSection przelacza widocznosc
   tresci sekcji. Stan miedzy stronami utrwala nav.js (localStorage). */
.nav-section-toggle[b-nzor0btull] {
    display: none;
}

.nav-section-header[b-nzor0btull] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    user-select: none;
}

/* Strzalka rozwijania - obraca sie o 90 stopni gdy sekcja otwarta. */
.nav-section-chevron[b-nzor0btull] {
    display: inline-block;
    width: 0.9rem;
    height: 0.9rem;
    margin-right: 0.6rem;
    background: no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23FFFFFF' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");
    opacity: 0.55;
    transition: transform .18s ease, opacity .15s ease;
}

.nav-section-body[b-nzor0btull] {
    display: none;
}

/* Sekcja rozwinieta: pokazujemy tresc i obracamy strzalke w dol. */
.nav-section-toggle:checked ~ .nav-section-body[b-nzor0btull] {
    display: block;
}

.nav-section-toggle:checked ~ .nav-section-header .nav-section-chevron[b-nzor0btull] {
    transform: rotate(90deg);
    opacity: 0.85;
}

.nav-section-header:hover small[b-nzor0btull] {
    color: #F37835;
}

.nav-section-header:hover .nav-section-chevron[b-nzor0btull] {
    opacity: 1;
}

/* Stopka menu: numer wersji dosuniety do prawej w wierszu "O aplikacji". */
.nav-version-num[b-nzor0btull] {
    margin-left: auto;
    color: #8A8F94;
    font-size: 0.72rem;
    white-space: nowrap;
}

/* Aktywna stopka (jestesmy na /o-aplikacji): numer wersji tez czarny. */
.nav-item[b-nzor0btull]  a.active .nav-version-num {
    color: #000000;
}
