/* _content/BlazorApp/Components/Account/Pages/Login.razor.rz.scp.css */
/* Login-specific overrides — shared styles are in wwwroot/css/account-card.css */
/* _content/BlazorApp/Components/Account/Shared/ManageLayout.razor.rz.scp.css */
[b-qbkjja2yu5] .tab-icon {
    width: 1rem;
    height: 1rem;
    min-width: 1rem;
    min-height: 1rem;
    background-size: contain;
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
    background-position: center center;
    background-color: currentColor;
}

[b-qbkjja2yu5] .icon-profile {
    -webkit-mask-image: url("images/account/manage-profile.svg");
    mask-image: url("images/account/manage-profile.svg");
}

[b-qbkjja2yu5] .icon-email {
    -webkit-mask-image: url("images/account/manage-email.svg");
    mask-image: url("images/account/manage-email.svg");
}

[b-qbkjja2yu5] .icon-two-factor {
    -webkit-mask-image: url("images/account/manage-two-factor.svg");
    mask-image: url("images/account/manage-two-factor.svg");
}

[b-qbkjja2yu5] .icon-password {
    -webkit-mask-image: url("images/account/manage-password.svg");
    mask-image: url("images/account/manage-password.svg");
}

[b-qbkjja2yu5] .icon-personal {
    -webkit-mask-image: url("images/account/manage-personal.svg");
    mask-image: url("images/account/manage-personal.svg");
}

[b-qbkjja2yu5] .icon-external {
    -webkit-mask-image: url("images/account/user.svg");
    mask-image: url("images/account/user.svg");
}
/* _content/BlazorApp/Components/Account/Shared/ShowRecoveryCodes.razor.rz.scp.css */
.codes[b-ubb2w7oldi] {
    margin: 0.625rem 0px 0.625rem 0px;
}
/* _content/BlazorApp/Components/Layout/AuthenticatedLayout.razor.rz.scp.css */
.page[b-66t3jbdclp] {
    height: 100%;
    font-family: var(--bs-font-sans-serif);
}

/* Drawer panel — light gray background. Dark text + accents are handled in
   NavMenu.razor.css to keep their selectors close to the markup that uses them. */
[b-66t3jbdclp] .navigation-drawer {
    background-image: none;
    background-color: #f1f5f9;
    border-right: 1px solid #e2e8f0;
}

/* Drawer header: logo centered, toggle button at right */
[b-66t3jbdclp] .drawer-header .navigation-drawer-header {
    width: 100%;
    display: flex;
    align-items: center;
}

[b-66t3jbdclp] .drawer-logo-link {
    flex: 1;
    /* As a flex item this defaults to min-width: auto, which floors it at the
       logo's intrinsic width so the row can't shrink to fit. Not what caused
       the nav scrollbar (that was #sidebar in NavMenu.razor.css), but it makes
       the header tolerate a larger logo or toggle button instead of overflowing. */
    min-width: 0;
    display: flex;
    justify-content: center;
}

/* A wide wordmark (roughly 5:1), so height drives width: 30px renders ~148px
   across, leaving room next to the 48px toggle button in the drawer's 207px of
   header content. At 35px it needs ~173px and clears the row by under 2px. */
[b-66t3jbdclp] .drawer-logo-link .logo {
    height: 30px;
    width: auto;
    max-width: 100%;
    object-fit: contain;
    display: block;
}

[b-66t3jbdclp] .drawer-toggle-btn {
    flex: 0 0 auto;
    color: #475569 !important;
}

[b-66t3jbdclp] .drawer-toggle-btn:hover {
    color: #0f172a !important;
}

/* MudBlazor icon color inheritance for header buttons */
.nav-buttons-container[b-66t3jbdclp]  .mud-icon-root {
    color: var(--bs-dark);
}

.nav-buttons-container[b-66t3jbdclp] {
    display: flex;
    gap: 10px;
    padding: 1rem 1.5rem;
}

/* Main content body padding */
.main-content-body[b-66t3jbdclp] {
    padding: 0 1.5rem 1.5rem;
}

.auth-controls.display-desktop[b-66t3jbdclp] {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-left: auto;
}

@media (max-width: 768px) {
    .auth-controls.display-desktop[b-66t3jbdclp] {
        display: none;
    }
}

.user-info[b-66t3jbdclp] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.375rem 0.75rem;
    color: var(--bs-dark);
    cursor: default;
}

.user-info:hover[b-66t3jbdclp] {
    background-color: transparent;
}

.sidebar-footer[b-66t3jbdclp] {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 1rem;
    gap: 1rem;
    border-top: 1px solid #e2e8f0;
}

.copyright-info[b-66t3jbdclp] {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    font-size: 0.75rem;
    color: #94a3b8;
    line-height: 1.4;
}

.sidebar-footer-text[b-66t3jbdclp] {
    margin: 0.1rem 0;
}
/* _content/BlazorApp/Components/Layout/Drawer.razor.rz.scp.css */
.drawer-root[b-lwizixhn2r] {
    height: 100%;
}

.drawer-root[b-lwizixhn2r]  .navigation-drawer {
    height: 100vh;
    max-height: 100%;
}

/* Flex column layout so footer pins to bottom */
.drawer-root[b-lwizixhn2r]  .navigation-drawer .mud-drawer-content {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.drawer-root[b-lwizixhn2r]  .drawer-header {
    flex: 0 0 auto;
    padding: 2rem 1rem;
}

/* Body grows to fill remaining space, pushing footer down */
.drawer-root[b-lwizixhn2r]  .drawer-body {
    flex: 1 1 0;
    min-height: 0;
    overflow-y: auto;
    padding: 1rem 0;
}

/* Footer always pinned to bottom */
.drawer-root[b-lwizixhn2r]  .drawer-footer {
    flex: 0 0 auto;
    padding: 0 1rem 1.5rem;
}

.drawer-root[b-lwizixhn2r]  .mud-main-content {
    height: 100vh;
    overflow: auto;
}
/* _content/BlazorApp/Components/Layout/NavMenu.razor.rz.scp.css */
/* Width comes from the drawer (240px, set in Drawer.razor.cs), not from here.
   Pinning this to 15rem/240px overflowed by exactly 1px: the drawer is
   box-sizing: border-box with a 1px border-right, so its content box is 239px.
   That 1px was enough to put a horizontal scrollbar on .drawer-body, which
   scrolls on the x axis because its overflow-y: auto forces overflow-x to auto. */
#sidebar[b-zswk0q6kaa] {
    width: 100%;
    transition: transform 0.1s ease-out;
    height: 100%;
    max-height: 100%;
    display: block;
    background: inherit;
}

.logo[b-zswk0q6kaa] {
    text-align: center;
}

[b-zswk0q6kaa] .menu.display-mobile {
    margin-bottom: 2rem;
}

[b-zswk0q6kaa] .menu.display-iam {
    margin-bottom: 2rem;
}

[b-zswk0q6kaa] .menu {
    background-color: inherit;
}

[b-zswk0q6kaa] .menu .mud-nav-link {
    color: #334155 !important;
    border-radius: 0.5rem;
    padding: 0.5rem 0.75rem;
    margin: 0 0.5rem;
    transition: background-color 0.15s ease, color 0.15s ease;
}

[b-zswk0q6kaa] .menu .mud-nav-link:hover {
    background-color: rgba(15, 23, 42, 0.06) !important;
    color: #0f172a !important;
}

[b-zswk0q6kaa] .menu .mud-nav-link .mud-nav-link-icon {
    color: #475569 !important;
}

[b-zswk0q6kaa] .menu .mud-nav-link:hover .mud-nav-link-icon {
    color: #0f172a !important;
}

/* Active link uses the new primary (Project ADAM red) as a soft accent. */
[b-zswk0q6kaa] .menu .mud-nav-link.active {
    color: var(--bs-primary) !important;
    background-color: rgba(var(--bs-primary-rgb), 0.10) !important;
}

[b-zswk0q6kaa] .menu .mud-nav-link.active .mud-nav-link-icon {
    color: var(--bs-primary) !important;
}

[b-zswk0q6kaa] .menu-item {
    color: #334155;
}

[b-zswk0q6kaa] .icon {
    width: 1.4rem;
    height: 1.4rem;
    background-color: transparent;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    /* Drawer is light-gray now, so SVG icons render as dark slate
       instead of inverted to white. */
    filter: brightness(0) saturate(100%) invert(28%) sepia(13%) saturate(549%)
            hue-rotate(178deg) brightness(94%) contrast(89%);
}

[b-zswk0q6kaa] .activity-icon {
    background-image: url("images/icons/check-circle.svg");
}

[b-zswk0q6kaa] .activity-management-icon {
    background-image: url("images/icons/activity.svg");
}

[b-zswk0q6kaa] .help-circle-icon {
    background-image: url("images/icons/help-circle.svg");
}

[b-zswk0q6kaa] .home-icon {
    background-image: url("images/icons/home-02.svg");
}

[b-zswk0q6kaa] .files-icon {
    background-image: url("images/icons/file-05.svg");
}

[b-zswk0q6kaa] .icons-icon {
    background-image: url("images/icons/lightbulb-05.svg");
}

[b-zswk0q6kaa] .log-in-icon {
    background-image: url("images/account/log-in.svg");
}

[b-zswk0q6kaa] .log-out-icon {
    background-image: url("images/account/log-out.svg");
}

[b-zswk0q6kaa] .mail-icon {
    background-image: url("images/icons/mail-01.svg");
}

[b-zswk0q6kaa] .observation-icon {
    background-image: url("images/icons/clipboard.svg");
}

[b-zswk0q6kaa] .project-icon {
    background-image: url("images/icons/building-06.svg");
}

[b-zswk0q6kaa] .project-management-icon {
    background-image: url("images/icons/tool-02.svg");
}

[b-zswk0q6kaa] .briefcase-icon {
    background-image: url("images/icons/briefcase-01.svg");
}

[b-zswk0q6kaa] .settings-icon {
    background-image: url("images/account/settings.svg");
}

[b-zswk0q6kaa] .timecard-icon {
    background-image: url("images/icons/clock.svg");
}

[b-zswk0q6kaa] .user-icon {
    background-image: url("images/icons/users-01.svg");
}

[b-zswk0q6kaa] .user-management-icon {
    background-image: url("images/icons/image-user-plus.svg");
}

.user-display[b-zswk0q6kaa] {
    display: flex;
    align-items: center;
    padding: 0.5rem 0.75rem 0.5rem calc(0.75rem - 3px);
    color: #334155;
    cursor: default;
    gap: 0.5rem;
}

.user-display:hover[b-zswk0q6kaa] {
    background-color: transparent;
}

.log-out-button[b-zswk0q6kaa] {
    display: flex;
    align-items: center;
    padding: 0.5rem 0.75rem 0.5rem calc(0.75rem - 3px);
    gap: 0.5rem;
}

@media (max-width: 768px) {
    /* The #sidebar override that used to live here only existed to undo the
       fixed 15rem width above; width: 100% already does the right thing at
       every breakpoint. */

    .logo[b-zswk0q6kaa] {
        text-align: inherit;
    }
}
/* _content/BlazorApp/Components/Layout/UnauthenticatedLayout.razor.rz.scp.css */
.page[b-njgkfb2cva] {
    position: relative;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background-color: #f5f5f5;
}

.main-content[b-njgkfb2cva] {
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 1rem;
}

.footer[b-njgkfb2cva] {
    width: 100%;
    background-color: #f8f9fa;
    border-top: 1px solid #dee2e6;
    padding: 1rem;
    margin-top: auto;
}

.footer-content[b-njgkfb2cva] {
    text-align: center;
    color: #6c757d;
    font-size: 0.875rem;
}
