/* /Layout/MainLayout.razor.rz.scp.css */
/* 主框架：军绿侧边栏 + 军威顶栏（参照 ArmyExamAdmin 军队风格）
   顶栏为整页通栏，位于最上方；侧边栏与内容区同处其下的 .page-body 中。 */
.page[b-v4h9l2ff54] {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    /* 顶栏高度：侧边栏与内部滚动区据此避让，保证与顶栏严丝合缝。 */
    --ows-topbar-h: 3.5rem;
}

/* 顶栏之下的主体：窄屏上下排布，宽屏左右排布 */
.page-body[b-v4h9l2ff54] {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-width: 0;
}

main[b-v4h9l2ff54] {
    flex: 1;
    display: flex;
    flex-direction: column;
    background-color: var(--ows-page-bg);
}

.sidebar[b-v4h9l2ff54] {
    background: linear-gradient(180deg, var(--ows-green-600) 0%, var(--ows-green-800) 55%, var(--ows-green-900) 100%);
    border-right: 1px solid var(--ows-green-900);
}

.top-row[b-v4h9l2ff54] {
    background: linear-gradient(90deg, var(--ows-green-700) 0%, var(--ows-green-600) 60%, var(--ows-green-500) 100%);
    border-bottom: 2px solid var(--ows-gold-dark);
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .4rem .85rem;
    min-height: var(--ows-topbar-h);
    padding-top: .4rem;
    padding-bottom: .4rem;
    color: #EDF2E3;
    position: sticky;
    top: 0;
    z-index: 3;
}

.header-title[b-v4h9l2ff54] {
    font-size: 1rem;
    font-weight: 600;
    letter-spacing: 1px;
    white-space: nowrap;
}

/* 「系统在线」靠左跟随标题，避免与右侧用户区抢空间 */
.top-row[b-v4h9l2ff54]  .sys-status {
    margin-right: 0;
}

/* 用户信息靠右对齐，并在空间不足时截断 */
.top-row[b-v4h9l2ff54]  .top-user {
    display: inline-flex;
    align-items: center;
    margin-left: auto;
    max-width: 34ch;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

    .top-row[b-v4h9l2ff54]  a, .top-row[b-v4h9l2ff54]  .btn-link {
        white-space: nowrap;
        margin-left: 1.5rem;
        text-decoration: none;
        color: #EDF2E3;
    }

    .top-row[b-v4h9l2ff54]  a:hover, .top-row[b-v4h9l2ff54]  .btn-link:hover {
        text-decoration: underline;
        color: #fff;
    }

    .top-row[b-v4h9l2ff54]  a:first-child {
        overflow: hidden;
        text-overflow: ellipsis;
    }

    /* 顶栏内的浅色描边按钮：白字金边 */
    .top-row[b-v4h9l2ff54]  .btn-outline-secondary {
        color: #F4E8C1;
        border-color: rgba(244, 232, 193, .6);
    }

        .top-row[b-v4h9l2ff54]  .btn-outline-secondary:hover {
            background-color: var(--ows-gold-dark);
            border-color: var(--ows-gold);
            color: #1E2B15;
        }

    .top-row[b-v4h9l2ff54]  .badge {
        background-color: var(--ows-gold-dark) !important;
        color: #1E2B15;
    }

/* 中等分辨率：隐藏「系统在线」，为右侧用户区让出空间 */
@media (max-width: 1199.98px) {
    .top-row[b-v4h9l2ff54]  .sys-status {
        display: none;
    }
}

/* 小分辨率：缩小标题 */
@media (max-width: 991.98px) {
    .header-title[b-v4h9l2ff54] {
        font-size: .95rem;
        letter-spacing: .5px;
    }
}

/* 平板 / 窄屏：按钮仅保留图标，用户信息收窄 */
@media (max-width: 767.98px) {
    .top-row[b-v4h9l2ff54]  .btn-text {
        display: none;
    }

    .top-row[b-v4h9l2ff54]  .top-user {
        max-width: 20ch;
    }
}

@media (max-width: 575.98px) {
    .header-title[b-v4h9l2ff54] {
        font-size: .875rem;
    }

    .top-row[b-v4h9l2ff54]  .top-user {
        max-width: 13ch;
    }
}

@media (max-width: 640.98px) {
    .top-row[b-v4h9l2ff54]  a, .top-row[b-v4h9l2ff54]  .btn-link {
        margin-left: 0;
    }
}

/* 中等分辨率：收窄侧边栏与内边距，为内容区留出更多宽度 */
@media (min-width: 641px) and (max-width: 991.98px) {
    .sidebar[b-v4h9l2ff54] {
        width: 200px;
    }

    .top-row[b-v4h9l2ff54], article[b-v4h9l2ff54] {
        padding-left: 1.25rem !important;
        padding-right: 1rem !important;
    }
}

@media (min-width: 641px) {
    .page-body[b-v4h9l2ff54] {
        flex-direction: row;
    }

    .sidebar[b-v4h9l2ff54] {
        width: 250px;
        height: calc(100vh - var(--ows-topbar-h));
        position: sticky;
        top: var(--ows-topbar-h);
    }

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

    .top-row[b-v4h9l2ff54], article[b-v4h9l2ff54] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}

/* 顶栏菜单按钮：宽屏（≥992px）侧边栏常驻时隐藏；
   平板（641–991px）用于收起/展开整个侧边栏，窄屏（≤640px）用于展开/收起导航菜单。 */
.nav-hamburger[b-v4h9l2ff54] {
    display: none;
}

/* 顶栏按钮文字不换行，避免小分辨率下按钮标签折行 */
.top-row[b-v4h9l2ff54]  .btn {
    white-space: nowrap;
}

@media (max-width: 991.98px) {
    .nav-hamburger[b-v4h9l2ff54] {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        flex: none;
        width: 2rem;
        height: 2rem;
        margin-right: .35rem;
        background: rgba(255, 255, 255, .12);
        border: 1px solid rgba(255, 255, 255, .25);
        border-radius: .25rem;
        color: #F4E8C1;
        cursor: pointer;
    }

        .nav-hamburger:hover[b-v4h9l2ff54] {
            background: rgba(255, 255, 255, .22);
            color: #fff;
        }
}

/* 平板：收起时隐藏整个侧边栏，内容区占满宽度 */
@media (min-width: 641px) and (max-width: 991.98px) {
    .page.nav-toggled .sidebar[b-v4h9l2ff54] {
        display: none;
    }
}
/* /Layout/NavMenu.razor.rz.scp.css */
/* 侧边栏导航菜单（军绿底 · 金色激活态）
   系统名称与品牌图标已统一由顶栏通栏展示，侧边栏顶部不再重复。 */
.nav-item[b-z73yuhaq9u] {
    font-size: 0.9rem;
    padding: .15rem .6rem;
}

.nav-scrollable[b-z73yuhaq9u] {
    padding-top: .5rem;
}

/* 分组：标题可点击折叠/展开，组内菜单沿用 .nav-item 既有样式 */
.nav-group[b-z73yuhaq9u] {
    margin-bottom: .1rem;
}

.nav-group-title[b-z73yuhaq9u] {
    width: 100%;
    display: flex;
    align-items: center;
    gap: .55rem;
    padding: .5rem .75rem .5rem .85rem;
    background: transparent;
    border: 0;
    border-left: 3px solid transparent;
    color: #C3D4AC;
    font-size: .88rem;
    font-weight: 600;
    letter-spacing: .03em;
    cursor: pointer;
    white-space: nowrap;
    text-align: left;
}

    .nav-group-title:hover[b-z73yuhaq9u] {
        color: #fff;
    }

    .nav-group-title > span[b-z73yuhaq9u] {
        flex: 1 1 auto;
    }

    .nav-group-title > i:first-child[b-z73yuhaq9u] {
        width: 1.4rem;
        text-align: center;
        font-size: 1rem;
        color: var(--ows-gold-light, #E3C75B);
    }

.nav-group-caret[b-z73yuhaq9u] {
    font-size: .8rem;
    transition: transform .15s ease;
}

.nav-group.is-collapsed .nav-group-caret[b-z73yuhaq9u] {
    transform: rotate(-90deg);
}

.nav-item[b-z73yuhaq9u]  a {
    color: #CDD9BB;
    border-radius: 6px;
    height: 2.9rem;
    display: flex;
    align-items: center;
    line-height: 2.9rem;
    padding-left: .75rem;
    border-left: 3px solid transparent;
    white-space: nowrap;
    transition: background-color .15s ease, color .15s ease;
}

    .nav-item[b-z73yuhaq9u]  a i {
        width: 1.4rem;
        text-align: center;
        margin-right: .6rem;
        font-size: 1rem;
    }

.nav-item[b-z73yuhaq9u]  a.active {
    background-color: rgba(212, 175, 55, .16);
    border-left-color: var(--ows-gold);
    color: #fff;
    font-weight: 600;
}

    .nav-item[b-z73yuhaq9u]  a.active i {
        color: var(--ows-gold-light);
    }

.nav-item[b-z73yuhaq9u]  a:hover {
    background-color: rgba(255, 255, 255, 0.10);
    color: #fff;
}

@media (min-width: 641px) {
    .collapse[b-z73yuhaq9u] {
        /* 宽屏侧边栏常驻展开 */
        display: block;
    }

    .nav-scrollable[b-z73yuhaq9u] {
        /* 侧边栏内部滚动，高度按顶栏变量扣减，避免菜单溢出且与顶栏严丝合缝 */
        height: calc(100vh - var(--ows-topbar-h, 3.5rem));
        box-sizing: border-box;
        overflow-y: auto;
    }
}

/* 窄屏：导航菜单默认收起，由顶栏菜单按钮展开 */
@media (max-width: 640.98px) {
    .nav-scrollable[b-z73yuhaq9u] {
        max-height: calc(100vh - var(--ows-topbar-h, 3.5rem));
        overflow-y: auto;
    }
}
