/* /Layout/MainLayout.razor.rz.scp.css */

.layout-shell[b-d61f7qvz89] {
    display: flex;
    min-height: 100vh;
}

/* Sidebar host (container that actually reserves space on desktop) */
.sidebar-host[b-d61f7qvz89] {
    flex: 0 0 250px; /* normal width */
    transition: flex-basis 0.25s ease, width 0.25s ease;
}

    /* When hidden on desktop */
    .sidebar-host.hidden[b-d61f7qvz89] {
        flex-basis: 0;
        width: 0;
        overflow: hidden;
    }

/* Main content fills remaining space */
.main-host[b-d61f7qvz89] {
    flex: 1 1 auto;
    min-width: 0;
}

/* On mobile, NavMenu uses off-canvas fixed positioning,
   so the host should not reserve layout space */
@media (max-width: 768px) {
    .sidebar-host[b-d61f7qvz89] {
        flex-basis: 0;
        width: 0;
        overflow: visible; /* harmless; NavMenu is fixed anyway */
    }
}

/* ---------- Header bar (your existing top-row styles) ---------- */

.top-row[b-d61f7qvz89] {
    background-color: #f2f3f2;
    border-bottom: 1px solid #e5e7eb;
    height: 3.5rem;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

    /* Links/buttons in header */
    .top-row[b-d61f7qvz89]  a,
    .top-row[b-d61f7qvz89]  .btn-link {
        white-space: nowrap;
        margin-left: 1.5rem;
        text-decoration: none;
        color: #374151;
        font-weight: 500;
    }

        .top-row[b-d61f7qvz89]  a:hover,
        .top-row[b-d61f7qvz89]  .btn-link:hover {
            color: #2563eb;
        }

        /* First link truncation */
        .top-row[b-d61f7qvz89]  a:first-child {
            overflow: hidden;
            text-overflow: ellipsis;
        }

/* Mobile header spacing */
@media (max-width: 640.98px) {
    .top-row[b-d61f7qvz89] {
        justify-content: space-between;
    }

        .top-row[b-d61f7qvz89]  a,
        .top-row[b-d61f7qvz89]  .btn-link {
            margin-left: 0;
        }
}

/* Desktop header sticky + padding */
@media (min-width: 641px) {
    .top-row[b-d61f7qvz89] {
        position: sticky;
        top: 0;
        z-index: 1000;
    }

        .top-row.auth[b-d61f7qvz89]  a:first-child {
            flex: 1;
            text-align: right;
            width: 0;
        }

    .top-row[b-d61f7qvz89],
    article[b-d61f7qvz89] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}
/* /Layout/NavMenu.razor.rz.scp.css */
/* TOP NAV */
.top-row[b-7rw45z5bvu] {
    min-height: 3.5rem;
    border-bottom: 1px solid #e5e7eb;
}

/* Burger (mobile only) look */
.navbar-toggler[b-7rw45z5bvu] {
    background-color: rgba(255, 255, 255, 0.15);
    border: none;
}

/* Sidebar base */
.sidebar[b-7rw45z5bvu] {
    width: 250px;
    overflow: hidden;
    transition: width 0.25s ease, transform 0.25s ease;
    background: linear-gradient(180deg, #1e293b 0%, #111827 100%);
}

    /* Sidebar scroll area */
    .sidebar nav[b-7rw45z5bvu] {
        height: calc(100vh - 3.5rem);
        overflow-y: auto;
        padding: 8px;
    }

    /* Desktop collapsed mini sidebar */
    .sidebar.collapsed[b-7rw45z5bvu] {
        width: 70px;
    }

        .sidebar.collapsed .nav-link span[b-7rw45z5bvu] {
            display: none;
        }

        .sidebar.collapsed .nav-link[b-7rw45z5bvu] {
            justify-content: center;
        }

/* Backdrop for mobile off-canvas */
.sidebar-backdrop[b-7rw45z5bvu] {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.45);
    z-index: 1039;
}

/* Mobile: off-canvas behavior */
@media (max-width: 768px) {
    .sidebar[b-7rw45z5bvu] {
        position: fixed;
        top: 0;
        left: 0;
        height: 100vh;
        width: 280px;
        transform: translateX(-105%);
        z-index: 1040;
    }

        .sidebar.mobile-open[b-7rw45z5bvu] {
            transform: translateX(0);
        }

        /* Ignore collapsed mini sidebar on phones */
        .sidebar.collapsed[b-7rw45z5bvu] {
            width: 280px;
        }
}

/* Nav item styles (your existing ones, kept) */
.nav-item[b-7rw45z5bvu] {
    font-size: 1.10rem;
    padding: 6px 10px 6px 0px;
    font-weight: 600;
}

    .nav-item:first-of-type[b-7rw45z5bvu] {
        padding-top: 12px;
    }
/* If the sidebar is visually hidden via transform/width, also ensure no clicks */
/*.sidebar.hidden{
    pointer-events: none;
}*/
    .nav-item:last-of-type[b-7rw45z5bvu] {
        padding-bottom: 12px;
    }

    .nav-item[b-7rw45z5bvu]  a {
        color: #d1d5db;
        border-radius: 8px;
        height: 40px;
        display: flex;
        align-items: center;
        padding: 0 12px;
        text-decoration: none;
        transition: all 0.2s ease;
    }

        .nav-item[b-7rw45z5bvu]  a.active {
            background-color: #2563eb;
            color: white;
        }

        .nav-item[b-7rw45z5bvu]  a:hover {
            background-color: rgba(255,255,255,0.08);
            color: #ffffff;
        }
