@import '_content/Cioa.Client/Cioa.Client.ipvywohkml.bundle.scp.css';

/* /Layout/MainLayout.razor.rz.scp.css */
/* Explorer 风格应用外壳：灰目录栏 + 浅命令栏 + 白画布；外层不滚、内容区内部滚 */
.page[b-23mgpbca4p] {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100vh;
    /* 动态视口高度：手机浏览器地址栏/工具栏收放时外壳跟着缩（MDN：目前 vh 等价于 lvh，即工具栏隐藏时的大视口，展开时底部会被遮住）。vh 作回退 */
    height: 100dvh;
    /* 软键盘避让：dvh 不随键盘缩（iOS Safari 与新版 Chrome 只缩可视视口），不减这一笔则底部锚定的发送框/表单
       会被键盘盖住。--cioa-kb 由 cioa-client.js 按 visualViewport 与布局视口的差实时写入，无键盘时为 0px、
       不改变任何现有布局（真键盘只能在手机上验，本条用注入 --cioa-kb=300px 验到外壳确实跟着缩） */
    height: calc(100dvh - var(--cioa-kb, 0px));
    overflow: hidden;
    background: var(--exp-canvas);
}

main[b-23mgpbca4p] {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
    background: var(--exp-canvas);
}

.content[b-23mgpbca4p] {
    flex: 1;
    overflow: auto;
    min-height: 0;
}

/* 移动端：目录栏为离屏抽屉，默认藏于屏外，点汉堡键滑入并盖遮罩 */
.sidebar[b-23mgpbca4p] {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    width: min(80vw, 300px);
    background: var(--exp-nav-bg);
    border-right: 1px solid var(--exp-border);
    box-shadow: var(--exp-shadow);
    transform: translateX(-100%);
    transition: transform .2s ease;
    z-index: 1050;
    overflow-y: auto;
    overscroll-behavior: contain;
}

    .sidebar.is-open[b-23mgpbca4p] {
        transform: translateX(0);
    }

.nav-scrim[b-23mgpbca4p] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, .35);
    z-index: 1049;
}

/* 命令栏：扁平浅条；窄屏左端放汉堡键、右端放用户区 */
.top-row[b-23mgpbca4p] {
    background-color: var(--exp-chrome);
    border-bottom: 1px solid var(--exp-border);
    align-items: center;
    gap: 1rem;
    height: 3rem;
    display: flex;
    flex-shrink: 0;
}

.nav-toggle[b-23mgpbca4p] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    /* 手机触点：汉堡键是窄屏抽屉的唯一入口，2.2rem（实测 35px）低于 44px 最小可点尺寸，拇指容易点空。
       顶栏 .top-row 本身 3rem（48px），放 2.75rem（44px）刚好容得下、不会把行撑高。与 Admin 端同口径 */
    width: 2.75rem;
    height: 2.75rem;
    margin-right: auto;
    border: 1px solid var(--exp-border-strong);
    border-radius: var(--exp-radius);
    background: var(--exp-canvas);
    color: var(--exp-text);
    cursor: pointer;
    flex-shrink: 0;
}

    .nav-toggle:hover[b-23mgpbca4p] {
        background: var(--exp-hover);
    }

    .nav-toggle:focus-visible[b-23mgpbca4p] {
        outline: 2px solid var(--exp-accent);
        outline-offset: 1px;
    }

    .top-row[b-23mgpbca4p]  a, .top-row[b-23mgpbca4p]  .btn-link {
        white-space: nowrap;
        text-decoration: none;
    }

        .top-row[b-23mgpbca4p]  a:hover, .top-row[b-23mgpbca4p]  .btn-link:hover {
            text-decoration: underline;
        }

/* 常驻底部状态栏式页脚：运营者 + 协议/隐私 + 备案号（Explorer 外壳风格） */
.app-footer[b-23mgpbca4p] {
    flex-shrink: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: .75rem;
    padding: .35rem 1rem;
    font-size: .78rem;
    line-height: 1.4;
    color: var(--exp-text-2);
    background: var(--exp-chrome);
    border-top: 1px solid var(--exp-border);
}

    .app-footer a[b-23mgpbca4p] {
        color: var(--exp-text-2);
        text-decoration: none;
        white-space: nowrap;
    }

        .app-footer a:hover[b-23mgpbca4p] {
            color: var(--exp-accent);
            text-decoration: underline;
        }

@media (max-width: 640px) {
    /* 手机触点：协议/隐私/开源许可是法定可达入口，17px 高的行内链接点不中，
       改成可点得中的胶囊（≈44px）；桌面仍维持细条状态栏式页脚 */
    .app-footer[b-23mgpbca4p] {
        gap: .3rem .4rem;
        padding: .3rem .6rem .45rem;
    }

        .app-footer a[b-23mgpbca4p] {
            padding: .85rem .55rem;
            border-radius: .4rem;
            background: rgba(0, 0, 0, .045);
        }
}

@media (min-width: 641px) {
    .page[b-23mgpbca4p] {
        flex-direction: row;
    }

    /* 桌面：目录栏回到固定左栏，抽屉/遮罩/汉堡键全部隐去 */
    .sidebar[b-23mgpbca4p] {
        position: static;
        width: 260px;
        height: 100vh;
        /* 动态视口高度：641px 以上目录栏是 .page 的固定左列，外壳 .page 已按 dvh 收放；这里若按
           大视口 lvh 定高，平板/大屏手机工具栏展开时侧栏会比外壳高出一截，被 .page 的 overflow:hidden 裁掉。
           真正要命的是它会连带让 NavMenu 的 .nav-scrollable（按同一口径算高）“装得下”全部内容而不出滚动条，
           下沿那几条菜单既看不见又没处滚，彻底点不到（机制见 NavMenu.razor.css 同处注释，已 A/B 实测）。
           不支持 dvh 的旧浏览器忽略本行，回退上一行的 vh。与 Admin 端同口径 */
        height: 100dvh;
        /* 外壳已经跟着键盘缩了，侧栏必须同口径：否则侧栏比外壳高出一截、被 .page 的 overflow:hidden 裁掉，
           上面那段注释描述的同一类失配只是触发源从工具栏换成了键盘 */
        height: calc(100dvh - var(--cioa-kb, 0px));
        flex-shrink: 0;
        transform: none;
        box-shadow: none;
        overflow: hidden;
    }

    .nav-scrim[b-23mgpbca4p], .nav-toggle[b-23mgpbca4p] {
        display: none;
    }

    .top-row[b-23mgpbca4p] {
        justify-content: flex-end;
    }

    .top-row[b-23mgpbca4p], article[b-23mgpbca4p] {
        padding-left: 1.5rem !important;
        padding-right: 1.5rem !important;
    }
}
/* /Layout/NavMenu.razor.rz.scp.css */
/* Explorer 风格目录树导航面板 */
.nav-brand[b-m5bn3fz1hr] {
    display: flex;
    align-items: center;
    gap: .55rem;
    height: 3rem;
    padding: 0 1rem;
    flex-shrink: 0;
    font-weight: 600;
    font-size: .98rem;
    color: var(--exp-text);
    border-bottom: 1px solid var(--exp-border);
    white-space: nowrap;
    overflow: hidden;
    /* 抽屉滚动时品牌条固定顶部（桌面端无副作用） */
    position: sticky;
    top: 0;
    z-index: 1;
    background: var(--exp-nav-bg);
}

    .nav-brand .bi[b-m5bn3fz1hr] {
        width: 1.3rem;
        height: 1.3rem;
    }

.bi[b-m5bn3fz1hr] {
    display: inline-block;
    position: relative;
    width: 1.15rem;
    height: 1.15rem;
    flex-shrink: 0;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.bi-brand-nav[b-m5bn3fz1hr] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23005fb8' viewBox='0 0 16 16'%3E%3Cpath d='M0 3a1 1 0 0 1 1-1h5l1.5 2H14a1 1 0 0 1 1 1v7a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1V3z'/%3E%3C/svg%3E");
}

.bi-home-nav[b-m5bn3fz1hr] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23616161' 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-chat-nav[b-m5bn3fz1hr] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23616161' viewBox='0 0 16 16'%3E%3Cpath d='M2 3h12a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H6.5L3 14.5V11H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1z'/%3E%3C/svg%3E");
}

.bi-folder-nav[b-m5bn3fz1hr] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23616161' viewBox='0 0 16 16'%3E%3Cpath d='M0 3a1 1 0 0 1 1-1h5l1.5 2H14a1 1 0 0 1 1 1v7a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1V3z'/%3E%3C/svg%3E");
}

.bi-book-nav[b-m5bn3fz1hr] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23616161' viewBox='0 0 16 16'%3E%3Cpath d='M1 2.5A1.5 1.5 0 0 1 2.5 1H7.5v12H2.5A1.5 1.5 0 0 1 1 11.5v-9zM15 2.5A1.5 1.5 0 0 0 13.5 1H8.5v12h5A1.5 1.5 0 0 0 15 11.5v-9z'/%3E%3C/svg%3E");
}

.bi-person-nav[b-m5bn3fz1hr] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23616161' viewBox='0 0 16 16'%3E%3Cpath d='M8 1a3 3 0 1 0 0 6 3 3 0 1 0 0-6zM2.5 13.5a5.5 5.5 0 0 1 11 0 .75.75 0 0 1-.75.75H3.25a.75.75 0 0 1-.75-.75z'/%3E%3C/svg%3E");
}

.bi-flag-nav[b-m5bn3fz1hr] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23616161' viewBox='0 0 16 16'%3E%3Cpath d='M3 0.5a.5.5 0 0 1 .5.5V2h8.2c.3 0 .5.4.3.7L10.5 6l1.5 3.3c.2.3-.1.7-.4.7H3.5v3.5a.5.5 0 0 1-1 0v-13A.5.5 0 0 1 3 .5z'/%3E%3C/svg%3E");
}

.bi-bell-nav[b-m5bn3fz1hr] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23616161' viewBox='0 0 16 16'%3E%3Cpath d='M8 16a2 2 0 0 0 2-2H6a2 2 0 0 0 2 2zM8 1.918l-.797.161A4.002 4.002 0 0 0 4 6c0 .624-.134 2.262-.434 3.216a5.764 5.764 0 0 1-.566 1.184c-.206.287-.5.596-.5.9 0 .278.223.5.5.5h9c.277 0 .5-.222.5-.5 0-.304-.303-.606-.51-.901A5.7 5.7 0 0 1 12.4 9.2C12.134 8.26 12 6.624 12 6a4.002 4.002 0 0 0-3.203-3.92L8 1.917z'/%3E%3C/svg%3E");
}

.bi-shield-nav[b-m5bn3fz1hr] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23616161' viewBox='0 0 16 16'%3E%3Cpath d='M5.338 1.59a61.44 61.44 0 0 0-2.837.856.481.481 0 0 0-.328.397C1.817 3.799 1.78 4.354 1.745 4.892c-.055.92-.095 1.856.144 2.667.192.64.507 1.117.994 1.555C3.646 9.501 5.077 10.37 8 11.5c2.923-1.13 4.354-1.999 5.117-2.386.487-.437.802-.915.994-1.555.24-.811.199-1.747.144-2.667-.035-.538-.072-1.093-.433-2.049a.481.481 0 0 0-.328-.397c-.65-.201-1.543-.45-2.837-.856C8.88 1.36 8 1 8 1s-.88.36-2.662.59zM8 0s.9.3 2.662.59c1.294.406 2.187.655 2.837.856A1.481 1.481 0 0 1 14 2.95c.36.956.398 1.511.433 2.05.055.919.096 1.855-.144 2.666-.192.64-.507 1.118-.994 1.555C12.354 9.6 10.923 10.47 8 11.6c-2.923-1.13-4.354-2-5.117-2.386a3.406 3.406 0 0 1-.994-1.555c-.24-.811-.199-1.747-.144-2.666.035-.54.072-1.094.433-2.05A1.481 1.481 0 0 1 2.5 1.446c.65-.201 1.543-.45 2.837-.856C7.1.3 8 0 8 0zm2.146 4.146a.5.5 0 0 1 .708 0l2 2a.5.5 0 0 1 0 .708l-4.5 4.5a.5.5 0 0 1-.708 0l-2.5-2.5a.5.5 0 1 1 .708-.708L7.5 10.293l4.146-4.147a.5.5 0 0 1 .001-.001z'/%3E%3C/svg%3E");
}

.bi-people-nav[b-m5bn3fz1hr] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23616161' viewBox='0 0 16 16'%3E%3Cpath d='M6 2a2.3 2.3 0 1 1 0 4.6A2.3 2.3 0 0 1 6 2zm5 .6a1.9 1.9 0 1 1 0 3.8 1.9 1.9 0 0 1 0-3.8zM.8 13.5C.8 10.4 3.1 8.4 6 8.4s5.2 2 5.2 5.1v.4c0 .3-.2.6-.6.6H1.4c-.4 0-.6-.3-.6-.6v-.4zm11.7-4.4c2 .3 3.5 1.9 3.5 4v.4c0 .3-.2.6-.6.6h-2.6c0-2-.7-3.8-1.9-5z'/%3E%3C/svg%3E");
}

.bi-database-nav[b-m5bn3fz1hr] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23616161' viewBox='0 0 16 16'%3E%3Cpath d='M8 1c3.31 0 6 1.12 6 2.5S11.31 6 8 6 2 4.88 2 3.5 4.69 1 8 1zM2 6.24C3.26 7.03 5.5 7.5 8 7.5s4.74-.47 6-1.26V8c0 1.38-2.69 2.5-6 2.5S2 9.38 2 8V6.24zm0 4C3.26 11.03 5.5 11.5 8 11.5s4.74-.47 6-1.26V13c0 1.38-2.69 2.5-6 2.5S2 14.38 2 13v-2.76z'/%3E%3C/svg%3E");
}

/* 条目相关剪贴板+清单图标：与 Admin NavMenu 保持同一语义与风格 */
.bi-diary-nav[b-m5bn3fz1hr] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23616161' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z'/%3E%3Cpath fill-rule='evenodd' d='M9.5 1h-3a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z'/%3E%3Cpath d='M4.5 7.5h7v1h-7z'/%3E%3Cpath d='M4.5 9.5h7v1h-7z'/%3E%3Cpath d='M4.5 11.5h4v1h-4z'/%3E%3C/svg%3E");
}

.nav-section[b-m5bn3fz1hr] {
    font-size: .72rem;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--exp-text-2);
    padding: .85rem 1rem .3rem;
}

.nav-scrollable[b-m5bn3fz1hr] {
    padding: .3rem .5rem 1rem;
}

.nav-item[b-m5bn3fz1hr] {
    font-size: .9rem;
    margin: 1px 0;
}

    .nav-item[b-m5bn3fz1hr]  a {
        position: relative;
        display: flex;
        align-items: center;
        color: var(--exp-text);
        border-radius: var(--exp-radius);
        height: 2.15rem;
        padding: 0 .6rem;
        text-decoration: none;
        transition: background .12s ease;
    }

        .nav-item[b-m5bn3fz1hr]  a .bi {
            margin-right: .65rem;
        }

        .nav-item[b-m5bn3fz1hr]  a:hover {
            background: var(--exp-hover);
        }

        .nav-item[b-m5bn3fz1hr]  a.active {
            background: var(--exp-active);
            color: var(--exp-accent);
            font-weight: 600;
        }

            .nav-item[b-m5bn3fz1hr]  a.active::before {
                content: "";
                position: absolute;
                left: -.5rem;
                top: 50%;
                transform: translateY(-50%);
                width: 3px;
                height: 1.15rem;
                border-radius: 2px;
                background: var(--exp-accent);
            }

@media (min-width: 641px) {
    .nav-scrollable[b-m5bn3fz1hr] {
        height: calc(100vh - 3rem);
        /* 菜单列表高 = 侧栏高 - 3rem 品牌条；侧栏已改按 dvh，这里必须同口径。不同口径的后果不是“列表能滚出去”，
           而是更糟的一种情形：容器被按大视口 lvh 撑高后内容“装得下”就不出滚动条，工具栏展开时落在下沿的那几条菜单
           既看不见又没有滚动条可滚，彻底点不到（已用缩小外壳 200px 的 A/B 实测：修复前滚到底仍不可达，修复后一滚即现）。
           旧浏览器忽略本行，回退上一行的 vh。与 Admin 端同口径 */
        height: calc(100dvh - 3rem);
        /* 键盘弹起时外壳与侧栏都已减去 --cioa-kb，这里不同口径就会比侧栏高出一截：
           下沿菜单被裁、又因“装得下”不出滚动条，正是上面那段描述的死法 */
        height: calc(100dvh - 3rem - var(--cioa-kb, 0px));
        overflow-y: auto;
    }
}
/* /Layout/PwaInstallPrompt.razor.rz.scp.css */
.pwa-install-bar[b-cjdp0sxq40] {
    position: fixed;
    left: 50%;
    bottom: 16px;
    transform: translateX(-50%);
    z-index: 1035;
    display: flex;
    align-items: center;
    gap: 12px;
    max-width: min(92vw, 520px);
    padding: 10px 12px 10px 16px;
    background: #0f1e38;
    color: #e6edf7;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 12px;
    box-shadow: 0 8px 28px rgba(0, 0, 0, .35);
}

.pwa-install-text[b-cjdp0sxq40] {
    font-size: 13.5px;
    line-height: 1.4;
    flex: 1 1 auto;
}

.pwa-install-text b[b-cjdp0sxq40] {
    color: #7cc4ff;
    font-weight: 600;
}

.pwa-install-btn[b-cjdp0sxq40] {
    flex: 0 0 auto;
    white-space: nowrap;
}

.pwa-install-close[b-cjdp0sxq40] {
    flex: 0 0 auto;
    border: 0;
    background: transparent;
    color: #9fb3d1;
    font-size: 16px;
    line-height: 1;
    padding: 4px 6px;
    cursor: pointer;
    border-radius: 6px;
}

.pwa-install-close:hover[b-cjdp0sxq40] {
    color: #fff;
    background: rgba(255, 255, 255, .08);
}

@media (max-width: 576px) {
    .pwa-install-bar[b-cjdp0sxq40] {
        left: 12px;
        right: 12px;
        bottom: 12px;
        transform: none;
        max-width: none;
    }
}
