@import '_content/PSC.Blazor.Components.MarkdownEditor/PSC.Blazor.Components.MarkdownEditor.mlg14ggzcc.bundle.scp.css';

/* /Components/Layout/LoginLayout.razor.rz.scp.css */
/* All LoginLayout styles have been moved to:
   wwwroot/css/themes.css → "Login page" section (.login-layout-root) */
/* /Components/Layout/MainLayout.razor.rz.scp.css */
/* ── Page shell ──────────────────────────────────────────── */
.page[b-1ddqckfflc] {
    display: flex;
    flex-direction: column;
    height: 100vh;
    overflow: hidden;
}

.top-section[b-1ddqckfflc] {
    flex-shrink: 0;
}

.main-body[b-1ddqckfflc] {
    display: flex;
    flex: 1;
    overflow: hidden;
}

/* ── Sidebar ─────────────────────────────────────────────── */
.sidebar[b-1ddqckfflc] {
    flex-shrink: 0;
    width: auto;
}

/* ── Main content ────────────────────────────────────────── */
main[b-1ddqckfflc] {
    flex: 1;
    overflow-y: auto;
    background: var(--rth-main-bg);
}

/* ── Header row ──────────────────────────────────────────── */
.top-row[b-1ddqckfflc] {
    background-color: var(--rth-header-bg);
    border-bottom: 1px solid var(--rth-header-border);
    height: 3.5rem;
    padding: 0 1.25rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}

/* Brand (left-aligned) */
.brand[b-1ddqckfflc] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    text-decoration: none;
    color: inherit;
}

.brand-logo[b-1ddqckfflc] {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    line-height: 1;
}

.brand-logo[b-1ddqckfflc]  svg {
    width: 26px;
    height: 24px;
}

.brand-name[b-1ddqckfflc] {
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--rth-brand-color);
    white-space: nowrap;
    letter-spacing: 0.02em;
}

/* Right side of header */
.user-chip[b-1ddqckfflc] {
    font-size: 0.82rem;
    color: var(--rth-user-chip-color);
    display: flex;
    align-items: center;
    white-space: nowrap;
}

.about-link[b-1ddqckfflc] {
    font-size: 0.85rem;
    white-space: nowrap;
    text-decoration: none;
    color: var(--rth-about-link-color);
}

.about-link:hover[b-1ddqckfflc] { text-decoration: underline; }

/* ── Theme toggle button ─────────────────────────────────── */
.theme-toggle-btn[b-1ddqckfflc] {
    background: none;
    border: none;
    cursor: pointer;
    padding: 0.25rem 0.4rem;
    color: var(--rth-user-chip-color);
    border-radius: 6px;
    line-height: 1;
    display: flex;
    align-items: center;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.theme-toggle-btn:hover[b-1ddqckfflc] {
    background-color: rgba(128, 128, 128, 0.12);
    color: var(--rth-brand-color);
}

/* ── Article padding (desktop) ───────────────────────────── */
@media (min-width: 641px) {
    article[b-1ddqckfflc] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}

/* ── Mobile ──────────────────────────────────────────────── */
@media (max-width: 640.98px) {
    .sidebar[b-1ddqckfflc] {
        width: 0;
        overflow: visible;
    }

    .top-row[b-1ddqckfflc] {
        padding: 0 1rem;
    }
}

/* ── Blazor error UI ─────────────────────────────────────── */
#blazor-error-ui[b-1ddqckfflc] {
    background: var(--rth-error-bar-bg);
    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: 1001;
}

    #blazor-error-ui .dismiss[b-1ddqckfflc] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* /Components/Layout/NavMenu.razor.rz.scp.css */
/* ── Sidebar root ──────────────────────────────────────────── */
.sidebar-nav[b-c5c0biqrd5] {
    background: var(--rth-sidebar-bg);
    border-right: 1px solid var(--rth-sidebar-border);
    overflow-x: hidden;
    overflow-y: hidden;
    height: 100%;
    display: flex;
    flex-direction: column;
    transition: width 0.25s ease;
}

.sidebar-nav.collapsed[b-c5c0biqrd5] { width: 56px; }
.sidebar-nav.expanded[b-c5c0biqrd5]  { width: 250px; }

/* ── Icon base ─────────────────────────────────────────────── */
/* Icons use fill='currentColor' in the SVG data-URI, so they
   automatically inherit the colour of the parent nav-link.     */
.bi[b-c5c0biqrd5] {
    display: inline-block;
    position: relative;
    width: 1.25rem;
    height: 1.25rem;
    flex-shrink: 0;
    top: -1px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

.expanded .bi[b-c5c0biqrd5]  { margin-right: 0.75rem; }
.collapsed .bi[b-c5c0biqrd5] { margin-right: 0; }

/* ── Icon SVGs ─────────────────────────────────────────────── */
.bi-house-door-fill-nav-menu[b-c5c0biqrd5] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' 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-c5c0biqrd5] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' 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-c5c0biqrd5] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' 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-person-circle-nav[b-c5c0biqrd5] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath d='M11 6a3 3 0 1 1-6 0 3 3 0 0 1 6 0z'/%3E%3Cpath fill-rule='evenodd' d='M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8zm8-7a7 7 0 0 0-5.468 11.37C3.242 11.226 4.805 10 8 10s4.757 1.225 5.468 2.37A7 7 0 0 0 8 1z'/%3E%3C/svg%3E");
}

.bi-person-nav[b-c5c0biqrd5] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' 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.029 10 8 10c-2.029 0-3.516.68-4.168 1.332-.678.678-.83 1.418-.832 1.664h10Z'/%3E%3C/svg%3E");
}

.bi-sign-out-nav[b-c5c0biqrd5] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' 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");
}

/* ── Nav items ─────────────────────────────────────────────── */
.nav-item[b-c5c0biqrd5] {
    font-size: 0.9rem;
    padding-bottom: 0.5rem;
}

    .nav-item:first-of-type[b-c5c0biqrd5] { padding-top: 0.5rem; }
    .nav-item:last-of-type[b-c5c0biqrd5]  { padding-bottom: 1rem; }

    .nav-item[b-c5c0biqrd5]  .nav-link {
        color: var(--rth-nav-link-color);
        background: none;
        border: none;
        border-radius: 6px;
        height: 3rem;
        display: flex;
        align-items: center;
        line-height: 1;
        width: 100%;
        overflow: hidden;
        white-space: nowrap;
        text-decoration: none;
        padding-left: 0.5rem;
        padding-right: 0.5rem;
        transition: background-color 0.15s ease, color 0.15s ease;
    }

    /* Active item: blue tint bg + blue text (light) or soft blue (dark) */
    .nav-item[b-c5c0biqrd5]  a.active {
        background-color: var(--rth-nav-active-bg);
        color: var(--rth-nav-active-color);
        font-weight: 500;
    }

    .nav-item[b-c5c0biqrd5]  .nav-link:hover {
        background-color: var(--rth-nav-hover-bg);
        color: var(--rth-nav-hover-color);
    }

/* ── Text labels ───────────────────────────────────────────── */
.nav-label[b-c5c0biqrd5] {
    overflow: hidden;
    white-space: nowrap;
}

.collapsed .nav-label[b-c5c0biqrd5] { display: none; }

.collapsed .nav-item[b-c5c0biqrd5]  .nav-link {
    justify-content: center;
    padding-left: 0;
    padding-right: 0;
}

/* ── Toggle button ─────────────────────────────────────────── */
.nav-toggle-item[b-c5c0biqrd5] { padding-bottom: 0.25rem; }

.nav-toggle-btn[b-c5c0biqrd5] {
    color: var(--rth-nav-toggle-color) !important;
    background: none !important;
    border: none !important;
    font-size: 0.82rem;
    justify-content: flex-start !important;
    transition: background-color 0.15s ease, color 0.15s ease;
}

    .nav-toggle-btn:hover[b-c5c0biqrd5] {
        background-color: var(--rth-nav-hover-bg) !important;
        color: var(--rth-nav-link-color) !important;
    }

.toggle-icon[b-c5c0biqrd5] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.25rem;
    flex-shrink: 0;
}

.collapsed .nav-toggle-btn[b-c5c0biqrd5] { justify-content: center !important; }

/* ── Scrollable area ───────────────────────────────────────── */
.nav-scrollable[b-c5c0biqrd5] {
    flex: 1;
    min-height: 0;       /* allow flex child to shrink below content height */
    overflow-y: auto;
    overflow-x: hidden;
}

/* ── Pinned footer (user + sign out) ───────────────────────── */
.sidebar-footer[b-c5c0biqrd5] {
    flex-shrink: 0;
    min-height: 0;
}

/* ── Divider ───────────────────────────────────────────────── */
.nav-divider[b-c5c0biqrd5] {
    border-color: var(--rth-nav-divider);
    margin: 0.5rem 1rem;
}

/* ── User info row ─────────────────────────────────────────── */
.user-info[b-c5c0biqrd5] {
    font-size: 0.8rem;
    color: var(--rth-nav-toggle-color);
    cursor: default;
    height: 2rem !important;
    line-height: 2rem !important;
}

/* ── Desktop / Workspace switcher ─────────────────────────── */
.desktop-switcher[b-c5c0biqrd5] {
    flex-shrink: 0;
}

.desktop-switcher-header[b-c5c0biqrd5] {
    display: flex;
    align-items: center;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--rth-nav-toggle-color);
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
    white-space: nowrap;
    overflow: hidden;
}

.desktop-section-label[b-c5c0biqrd5] {
    overflow: hidden;
    white-space: nowrap;
}

.desktop-active-dot[b-c5c0biqrd5] {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background-color: var(--rth-nav-active-color, #0d6efd);
    flex-shrink: 0;
}

.nav-link--add-desktop[b-c5c0biqrd5] {
    color: var(--rth-nav-toggle-color) !important;
    font-size: 0.85rem;
}

    .nav-link--add-desktop:hover[b-c5c0biqrd5] {
        color: var(--rth-nav-active-color) !important;
    }

/* Desktop item row — holds nav-link + optional close button side by side */
.desktop-item[b-c5c0biqrd5] {
    position: relative;
    display: flex !important;
    align-items: center;
    padding-bottom: 0 !important;
}

    .desktop-item[b-c5c0biqrd5]  .nav-link {
        flex: 1;
        min-width: 0;
    }

.desktop-close-btn[b-c5c0biqrd5] {
    flex-shrink: 0;
    display: none;
    background: none;
    border: none;
    color: var(--rth-nav-toggle-color);
    font-size: 0.7rem;
    line-height: 1;
    padding: 0 0.3rem;
    cursor: pointer;
    border-radius: 4px;
    transition: color 0.15s ease, background-color 0.15s ease;
}

    .desktop-close-btn:hover[b-c5c0biqrd5] {
        color: var(--rth-danger, #dc3545);
        background-color: var(--rth-nav-hover-bg);
    }

/* Only reveal close button when the item is hovered */
.desktop-item:hover .desktop-close-btn[b-c5c0biqrd5] {
    display: inline-flex;
    align-items: center;
}

/* Collapsed sidebar: render close button as a small badge overlaid on the icon's top-right */
.desktop-close-btn--collapsed[b-c5c0biqrd5] {
    position: absolute;
    top: 2px;
    right: 2px;
    width: 14px;
    height: 14px;
    font-size: 0.55rem;
    padding: 0;
    border-radius: 50%;
    justify-content: center;
    background-color: var(--rth-nav-hover-bg);
    z-index: 1;
}

.desktop-item:hover .desktop-close-btn--collapsed[b-c5c0biqrd5] {
    display: inline-flex;
}

/* ── Mobile overlay ────────────────────────────────────────── */
@media (max-width: 640.98px) {
    .sidebar-nav[b-c5c0biqrd5] {
        position: fixed;
        top: 0;
        left: 0;
        height: 100dvh;  /* dvh accounts for mobile browser chrome (address bar) */
        z-index: 1000;
        width: 250px !important;
        transition: transform 0.25s ease;
        box-shadow: 4px 0 16px rgba(0, 0, 0, 0.15);
    }

    .sidebar-nav.collapsed[b-c5c0biqrd5] { transform: translateX(-100%); }
    .sidebar-nav.expanded[b-c5c0biqrd5]  { transform: translateX(0); }

    .nav-toggle-item[b-c5c0biqrd5] { display: none; }
}
/* /Components/Layout/SidebarHamburger.razor.rz.scp.css */
/* Hidden on desktop — shown only on mobile */
.mobile-hamburger[b-3hrhnfm7m7] {
    display: none;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0.25rem;
    color: var(--rth-hamburger-color);
    line-height: 1;
    flex-shrink: 0;
}

/* Backdrop — hidden on desktop, full-screen overlay on mobile */
.mobile-backdrop[b-3hrhnfm7m7] {
    display: none;
}

@media (max-width: 640.98px) {
    .mobile-hamburger[b-3hrhnfm7m7] {
        display: flex;
        align-items: center;
    }

    .mobile-backdrop[b-3hrhnfm7m7] {
        display: block;
        position: fixed;
        inset: 0;
        z-index: 999;
        background: rgba(0, 0, 0, 0.45);
        cursor: pointer;
    }
}
/* /Components/Pages/Login.razor.rz.scp.css */
/* All Login page styles have been moved to:
   wwwroot/css/themes.css → "Login page" section */
/* /Components/Pages/SessionExpired.razor.rz.scp.css */
.session-expired-container[b-2pr2lw5xb0] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
}

.session-expired-card[b-2pr2lw5xb0] {
    width: 100%;
    max-width: 420px;
    background: #1e2535;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 24px 64px rgba(0, 0, 0, 0.45);
    padding: 2.5rem 2rem 2rem;
    text-align: center;
}

.session-expired-icon-wrap[b-2pr2lw5xb0] {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: rgba(245, 158, 11, 0.15);
    border: 2px solid rgba(245, 158, 11, 0.35);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1.25rem;
}

.session-expired-icon[b-2pr2lw5xb0] {
    font-size: 1.75rem;
    color: #f59e0b;
}

.session-expired-heading[b-2pr2lw5xb0] {
    color: #e2e8f0;
    font-size: 1.4rem;
    font-weight: 700;
    margin-bottom: 0.75rem;
    letter-spacing: 0.02em;
}

.session-expired-body[b-2pr2lw5xb0] {
    color: rgba(255, 255, 255, 0.5);
    font-size: 0.9rem;
    line-height: 1.65;
    margin-bottom: 1.75rem;
}

.session-expired-btn[b-2pr2lw5xb0] {
    background-color: #4f8ef7;
    border-color: #4f8ef7;
    color: #ffffff;
    border-radius: 8px;
    font-size: 0.95rem;
    font-weight: 600;
    letter-spacing: 0.4px;
    padding: 0.6rem 1.5rem;
    width: 100%;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

.session-expired-btn:hover[b-2pr2lw5xb0] {
    background-color: #3a7ae8;
    border-color: #3a7ae8;
    color: #ffffff;
}

.session-expired-btn:focus[b-2pr2lw5xb0] {
    box-shadow: 0 0 0 0.2rem rgba(79, 142, 247, 0.35);
}
