/* /Components/Layout/MainLayout.razor.rz.scp.css */
/* --- BASIS LAYOUT (Nu echt Mobile-First) --- */
.page[b-bik83lyvpw] {
    position: relative;
    display: flex;
    flex-direction: column;
}

main[b-bik83lyvpw] {
    flex: 1;
}

.sidebar[b-bik83lyvpw] {
    background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #02112b 50%);
    border-top-left-radius: 4px;
    border-bottom-left-radius: 4px;
    /* Op mobiel moet de sidebar over de hele breedte als topbar fungeren */
    width: 100%;
}

.top-row[b-bik83lyvpw] {
    background-color: rgb(5, 39, 103);
    border-bottom: 1px solid #d6d5d5;
    height: 4rem;
    display: flex;
    align-items: center;
}

    /* --- TYPOGRAFIE & LINKS IN TOPBAR --- */
    .top-row[b-bik83lyvpw]  a, .top-row[b-bik83lyvpw]  .btn-link {
        white-space: nowrap;
        margin-left: 1.5rem;
        text-decoration: none;
    }

        .top-row[b-bik83lyvpw]  a:hover, .top-row[b-bik83lyvpw]  .btn-link:hover {
            text-decoration: underline;
        }

/* --- DESKTOP MODUS (Groot scherm - GEFIXT NAAR 641px) --- */
@media (min-width: 641px) {
    .page[b-bik83lyvpw] {
        flex-direction: row; /* Sidebar links, main rechts */
        height: 100vh; /* Fixeer totale hoogte op schermhoogte */
        overflow: hidden; /* Voorkom dat de hele pagina (body) scrollt */
    }

    .sidebar[b-bik83lyvpw] {
        /* Vaste breedtes horen HIER thuis, zodat ze mobiel niet dwarsbomen */
        width: 270px !important;
        min-width: 270px !important;
        max-width: 300px !important;
        height: 100vh;
        flex-shrink: 0; /* Zorg dat de sidebar niet wordt ingedrukt */
    }

    main[b-bik83lyvpw] {
        display: flex;
        flex-direction: column;
        height: 100vh;
        flex: 1;
        overflow: hidden; /* Main zelf mag niet scrollen */
    }

    .top-row[b-bik83lyvpw] {
        position: relative; /* Geen sticky nodig, main staat vast */
        z-index: 10; /* Ligt boven de content */
        flex-shrink: 0; /* Houdt de 4rem hoogte vast */
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }

        /* Verberg de hamburger-uitklapknop op desktop */
        .sidebar[b-bik83lyvpw]  .navbar-toggler, .top-row[b-bik83lyvpw]  .navbar-toggler {
            display: none !important;
        }

    /* HET CRUCIALE SCROLL-GEDEELTE */
    article.content[b-bik83lyvpw] {
        flex: 1;
        overflow-y: auto;
        padding: 1.5rem 2rem !important;
        background-color: #D9E8FF;
    }
}

/* --- MOBIELE MODUS (Klein scherm) --- */
@media (max-width: 640.98px) {
    .top-row[b-bik83lyvpw] {
        justify-content: space-between;
        padding: 0 1rem;
    }

        .top-row[b-bik83lyvpw]  a, .top-row[b-bik83lyvpw]  .btn-link {
            margin-left: 0;
        }

        /* FORCEER de Blazor hamburgerknop om te tonen op mobiel */
        .sidebar[b-bik83lyvpw]  .navbar-toggler, .top-row[b-bik83lyvpw]  .navbar-toggler {
            display: block !important;
        }
}

/* --- BLAZOR ERROR UI --- */
#blazor-error-ui[b-bik83lyvpw] {
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    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-bik83lyvpw] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* /Components/Layout/NavMenu.razor.rz.scp.css */
.navbar-toggler[b-3odl82p8q9] {
    appearance: none;
    cursor: pointer;
    width: 3.5rem;
    height: 2.5rem;
    color: white;
    position: absolute;
    top: 0.5rem;
    right: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") no-repeat center/1.75rem rgba(255, 255, 255, 0.1);
}

    .navbar-toggler:checked[b-3odl82p8q9] {
        background-color: rgba(255, 255, 255, 0.5);
    }

.top-row[b-3odl82p8q9] {
    min-height: 4rem;
}

.navbar-brand[b-3odl82p8q9] {
    font-size: 1.1rem;
}

.bi[b-3odl82p8q9] {
    display: inline-block;
    position: relative;
    width: 1.25rem;
    height: 1.25rem;
    margin-right: 0.75rem;
    background-size: cover;
}

.bi-house-door-fill-nav-menu[b-3odl82p8q9] {
    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-3odl82p8q9] {
    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-3odl82p8q9] {
    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-list-nav-menu[b-3odl82p8q9] {
    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' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M2.5 12a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5m0-4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5m0-4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5'/%3E%3C/svg%3E");
}

.bi-file-pdf-fill-nav-menu[b-3odl82p8q9] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-file-pdf-fill' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M5.523 10.424q.21-.124.459-.238a8 8 0 0 1-.45.606c-.28.337-.498.516-.635.572l-.035.012a.3.3 0 0 1-.026-.044c-.056-.11-.054-.216.04-.36.106-.165.319-.354.647-.548m2.455-1.647q-.178.037-.356.078a21 21 0 0 0 .5-1.05 12 12 0 0 0 .51.858q-.326.048-.654.114m2.525.939a4 4 0 0 1-.435-.41q.344.007.612.054c.317.057.466.147.518.209a.1.1 0 0 1 .026.064.44.44 0 0 1-.06.2.3.3 0 0 1-.094.124.1.1 0 0 1-.069.015c-.09-.003-.258-.066-.498-.256M8.278 4.97c-.04.244-.108.524-.2.829a5 5 0 0 1-.089-.346c-.076-.353-.087-.63-.046-.822.038-.177.11-.248.196-.283a.5.5 0 0 1 .145-.04c.013.03.028.092.032.198q.008.183-.038.465z M4 0h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2m.165 11.668c.09.18.23.343.438.419.207.075.412.04.58-.03.318-.13.635-.436.926-.786.333-.401.683-.927 1.021-1.51a11.6 11.6 0 0 1 1.997-.406c.3.383.61.713.91.95.28.22.603.403.934.417a.86.86 0 0 0 .51-.138c.155-.101.27-.247.354-.416.09-.181.145-.37.138-.563a.84.84 0 0 0-.2-.518c-.226-.27-.596-.4-.96-.465a5.8 5.8 0 0 0-1.335-.05 11 11 0 0 1-.98-1.686c.25-.66.437-1.284.52-1.794.036-.218.055-.426.048-.614a1.24 1.24 0 0 0-.127-.538.7.7 0 0 0-.477-.365c-.202-.043-.41 0-.601.077-.377.15-.576.47-.651.823-.073.34-.04.736.046 1.136.088.406.238.848.43 1.295a20 20 0 0 1-1.062 2.227 7.7 7.7 0 0 0-1.482.645c-.37.22-.699.48-.897.787-.21.326-.275.714-.08 1.103'/%3E%3C/svg%3E");
}

.bi-newspaper-nav-menu[b-3odl82p8q9] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-newspaper' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M0 2.5A1.5 1.5 0 0 1 1.5 1h11A1.5 1.5 0 0 1 14 2.5v10.528c0 .3-.05.654-.238.972h.738a.5.5 0 0 0 .5-.5v-9a.5.5 0 0 1 1 0v9a1.5 1.5 0 0 1-1.5 1.5H1.497A1.497 1.497 0 0 1 0 13.5zM12 14c.37 0 .654-.211.853-.441.092-.106.147-.279.147-.531V2.5a.5.5 0 0 0-.5-.5h-11a.5.5 0 0 0-.5.5v11c0 .278.223.5.497.5z M2 3h10v2H2zm0 3h4v3H2zm0 4h4v1H2zm0 2h4v1H2zm5-6h2v1H7zm3 0h2v1h-2zM7 8h2v1H7zm3 0h2v1h-2zm-3 2h2v1H7zm3 0h2v1h-2zm-3 2h2v1H7zm3 0h2v1h-2z'/%3E%3C/svg%3E");
}

.bi-envelope-nav-menu[b-3odl82p8q9] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-envelope' viewBox='0 0 16 16'%3E%3Cpath d='M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4zm2-1a1 1 0 0 0-1 1v.217l7 4.2 7-4.2V4a1 1 0 0 0-1-1H2zm13 2.383-4.708 2.825L15 11.105V5.383zm-.034 6.876L9.271 8.82 8 9.982 6.729 8.82l-5.695 3.444A1 1 0 0 0 2 13h12a1 1 0 0 0 .966-.741zM1 11.105l4.708-2.897L1 5.383v5.722z'/%3E%3C/svg%3E");
}

.nav-item[b-3odl82p8q9] {
    font-size: 0.9rem;
    padding-bottom: 0.1rem;
}

    .nav-item:first-of-type[b-3odl82p8q9] {
        padding-top: 0.1rem;
    }

    .nav-item:last-of-type[b-3odl82p8q9] {
        padding-bottom: 0.1rem;
    }

    .nav-item[b-3odl82p8q9]  .nav-link {
        color: #d7d7d7;
        background: none;
        border: none;
        border-radius: 4px;
        min-height: 3rem; /* Verander height naar min-height zodat hij kan groeien als tekst afbreekt */
        display: flex;
        align-items: center;
        width: 100%;
        white-space: normal; /* Zorgt dat lange tekst naar de volgende regel springt */
        word-break: break-word;
    }

    .nav-item[b-3odl82p8q9]  a.active {
        background-color: rgba(255,255,255,0.37);
        color: white;
    }

    .nav-item[b-3odl82p8q9]  .nav-link:hover {
        background-color: rgba(255,255,255,0.1);
        color: white;
    }

.nav-scrollable[b-3odl82p8q9] {
    display: none;
}

.navbar-toggler:checked ~ .nav-scrollable[b-3odl82p8q9] {
    display: block;
}

@media (min-width: 641px) {
    .navbar-toggler[b-3odl82p8q9] {
        display: none;
    }

    .nav-scrollable[b-3odl82p8q9] {
        /* Never collapse the sidebar for wide screens */
        display: block;

        /* Allow sidebar to scroll for tall menus */
        height: calc(100vh - 3.5rem);
        overflow-y: auto;
    }
}
