:root { --admin-canvas:#fff; --admin-workspace-canvas:#f9f9f9; --admin-divider-width:0.5px; --admin-divider-color:#f5f5f5; --admin-selected:#f6f6f6; --admin-card-border-width:2px; --admin-card-border-color:#f0f0f0; --admin-card-radius:16px; --admin-action-background:#000; --admin-action-ink:#fff; }
.admin-workspace { --admin-nav-width:248px; --admin-ink:#333; --admin-muted:#777; --admin-border:#ededed; --admin-accent:#f8a03a; display:flex; width:100%; height:100dvh; min-width:0; min-height:0; background:var(--admin-canvas); color:var(--admin-ink); font-size:14px; }
.admin-workspace.is-collapsed { --admin-nav-width:80px; }
.admin-sidebar { flex:0 0 var(--admin-nav-width); width:var(--admin-nav-width); min-height:0; box-sizing:border-box; border-inline-end:var(--admin-divider-width) solid var(--admin-divider-color); }
.admin-nav { height:100%; min-height:0; display:flex; flex-direction:column; background:var(--admin-canvas); color:#333; }
.admin-brand { display:flex; align-items:center; gap:12px; min-height:72px; padding:12px 20px; box-sizing:border-box; font-size:18px; }
.admin-brand-mark { width:34px; height:34px; display:grid; place-items:center; border-radius:10px; background:#fff0d9; color:#9c5a10; font-weight:700; flex:none; }
.admin-nav-scroll { overflow:auto; overscroll-behavior:contain; padding:8px 12px 20px; flex:1; min-height:0; }
.admin-nav-group + .admin-nav-group { margin-top:20px; }
.admin-group-title { padding:0 12px; margin:0 0 8px; font-size:12px; font-weight:500; color:#777; line-height:24px; }
.admin-nav-entry { display:flex; align-items:center; gap:12px; padding:10px 12px; min-height:44px; width:100%; border:0; border-radius:var(--admin-card-radius); background:transparent; color:inherit; text-align:left; cursor:pointer; font:inherit; box-sizing:border-box; }
.admin-nav-entry .iconfont { font-size:19px; width:24px; text-align:center; flex:none; }
.admin-nav-entry:hover { background:var(--admin-selected); }
.admin-nav-entry.is-active { background:var(--admin-selected); color:#8e510b; font-weight:600; }
.admin-nav-footer { display:flex; align-items:center; justify-content:space-between; padding:12px 20px; border-top:1px solid var(--admin-border); gap:8px; }
.admin-role { color:#777; }
.admin-nav-rail .admin-brand { padding:12px 23px; }
.admin-nav-rail .admin-nav-entry { justify-content:center; padding:10px; }
.admin-nav-rail .admin-nav-group + .admin-nav-group { border-top:1px solid #f0f0f0; padding-top:12px; margin-top:12px; }
.admin-nav-rail .admin-nav-footer { justify-content:center; padding:12px; }
.admin-workspace-body { flex:1; min-width:0; display:flex; flex-direction:column; height:100%; background:var(--admin-workspace-canvas); }
.admin-workspace-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:12px; min-height:64px; padding:8px 24px; box-sizing:border-box; flex-shrink:0; }
.admin-toolbar-title { display:flex; align-items:center; flex:1 1 160px; min-width:0; margin-inline-start:12px; }
.admin-toolbar-title :is(h1,h2,h3,h4) { margin:0; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:16px; font-weight:600; line-height:1.5; }
.admin-toolbar-title :is(h1,h2,h3,h4) > span { margin-inline-start:8px; color:var(--admin-muted); font-size:13px; font-weight:400; }
.admin-toolbar-actions,.admin-toolbar-actions > :is(div,section),.admin-toolbar-actions .set_btns { display:flex; flex-wrap:wrap; align-items:center; gap:8px; min-width:0; max-width:100%; }
.admin-toolbar-actions .n-button { --n-color:var(--admin-action-background) !important; --n-color-hover:var(--admin-action-background) !important; --n-color-pressed:var(--admin-action-background) !important; --n-text-color:var(--admin-action-ink) !important; --n-text-color-hover:var(--admin-action-ink) !important; --n-text-color-pressed:var(--admin-action-ink) !important; --n-border:none !important; --n-border-hover:none !important; --n-border-pressed:none !important; background:var(--admin-action-background) !important; color:var(--admin-action-ink) !important; border-radius:var(--admin-card-radius) !important; min-height:40px; padding-inline:18px; }
.admin-toolbar-actions .n-button--disabled { opacity:.45; }
.admin-toolbar-title:empty,.admin-toolbar-actions:empty,.admin-module-header-anchor.is-portaled { display:none !important; }
.admin-main .manage_list:has(> .admin-module-header-anchor.is-portaled) { display:flex; flex-direction:column; min-height:0; }
.admin-main .manage_list:has(> .admin-module-header-anchor.is-portaled) > :is(.manage_scroll,.div_content_box) { flex:1; min-height:0; height:auto !important; padding-top:20px; }
.admin-icon-button { display:inline-grid; place-items:center; width:44px; height:44px; flex:none; border:0; border-radius:10px; background:transparent; color:inherit; cursor:pointer; font-size:20px; }
.admin-icon-button:hover { background:#f4f4f4; }
.admin-breadcrumb { display:flex; align-items:center; gap:12px; min-width:0; flex-wrap:wrap; line-height:1.5; }
.admin-breadcrumb > span { color:#777; }
.admin-breadcrumb strong { font-weight:500; overflow-wrap:anywhere; }
.admin-module-search { display:flex; align-items:center; gap:10px; margin-left:auto; min-height:44px; padding:8px 12px; border:1px solid var(--admin-border); border-radius:10px; background:#fafafa; color:#666; font:inherit; cursor:pointer; flex-shrink:0; }
.admin-module-search kbd { font:inherit; font-size:11px; color:#888; padding-left:12px; }
.admin-main { flex:1; min-width:0; min-height:0; overflow:auto; overscroll-behavior:contain; background:var(--admin-workspace-canvas); }
.admin-workspace,.admin-workspace *,.admin-nav,.admin-nav * { scrollbar-width:none; }
.admin-workspace::-webkit-scrollbar,.admin-workspace *::-webkit-scrollbar,.admin-nav::-webkit-scrollbar,.admin-nav *::-webkit-scrollbar { display:none; width:0; height:0; }
.admin-workspace .n-scrollbar-rail,.admin-nav .n-scrollbar-rail { display:none; }
.admin-main > * { min-width:0; box-sizing:border-box; }
/* 统一原业务模块的页面与分栏底色，优先于异步加载的 scoped 样式。 */
.admin-main > * > :is(.left,.div_left,.page_left),
.admin-main > * > .div_container > :is(.div_left,.div_filter_list) { background-color:var(--admin-canvas) !important; }
.admin-main > *,
.admin-main > * > :is(.right,.div_right,.page_right),
.admin-main > * > .div_container > .div_right,
.admin-main :is(.chapterPreview,.split-box,.div_right_preview,.preview_header,.markdown-preview) { background-color:var(--admin-workspace-canvas) !important; }
/* 仅在相邻模块分栏之间绘制细线，保持既有栏宽。 */
.admin-main > * > :is(.left,.div_left,.page_left) + :is(.right,.div_right,.page_right),
.admin-main > * > .div_container > :is(.div_left,.div_filter_list) + :is(.div_filter_list,.div_right) { box-sizing:border-box; border-inline-start:var(--admin-divider-width) solid var(--admin-divider-color); }
.admin-main .ul_manage :is(.li_manage,.li_chapter) { box-sizing:border-box; background:var(--admin-canvas); border:var(--admin-card-border-width) solid var(--admin-card-border-color); }
/* 统一导航与卡片圆角，覆盖原模块的 scoped 圆角值。 */
.admin-main .ul_manage :is(.li_manage,.li_chapter),
.admin-main :is(.ul_list,.category_list,.div_two_columns) .li_item { border-radius:var(--admin-card-radius) !important; }
.admin-main .n-data-table { --n-border-color:#ededed; --n-th-color:#fafafa; }
.admin-main .h3_title { color:#333; line-height:1.5; }
.admin-finder-input { width:100%; box-sizing:border-box; height:48px; border:1px solid #ddd; border-radius:10px; padding:0 14px; color:#333; background:#fff; font:inherit; font-size:16px; }
.admin-finder-results { max-height:min(55dvh,520px); overflow:auto; margin-top:16px; }
.admin-finder-result { display:flex; align-items:center; width:100%; min-height:48px; gap:12px; padding:12px; box-sizing:border-box; border:0; border-radius:8px; background:transparent; color:#333; text-align:left; cursor:pointer; font:inherit; }
.admin-finder-result:hover,.admin-finder-result.is-selected { background:#fff3e2; }
.admin-finder-group { margin-left:auto; color:#777; font-size:12px; }
.admin-recent { display:flex; gap:8px; flex-wrap:wrap; margin-top:16px; align-items:center; }
.admin-recent p { margin:0 8px 0 0; color:#777; }
.admin-recent button { min-height:44px; border:1px solid #eee; border-radius:8px; background:#fafafa; padding:6px 10px; color:#555; cursor:pointer; font:inherit; }
.admin-sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.admin-skip-link { position:fixed; left:16px; top:-100px; z-index:10000; background:#333; color:white; padding:12px; border-radius:8px; }
.admin-skip-link:focus { top:12px; }
.admin-workspace button:focus-visible,.admin-finder-input:focus-visible { outline:2px solid #b66c12; outline-offset:2px; }
.admin-main .home_view .div_data_box { display:flex; flex-wrap:wrap; gap:20px; }
.admin-main .home_view .stat_container { flex:1 1 360px; min-width:0; }
.admin-main .home_view .echarts_chart { max-width:100%; }
@media(max-width:640px) { .admin-workspace-toolbar { padding:8px 12px; gap:8px; } .admin-module-search kbd,.admin-breadcrumb > span { display:none; } .admin-module-search { padding:8px; } .admin-breadcrumb { font-size:14px; } .admin-main .home_view { padding:16px; } }
@media(max-width:640px) { .admin-toolbar-title { order:2; flex-basis:100%; margin-inline-start:0; } .admin-module-search { order:3; margin-left:0; } .admin-toolbar-actions { order:4; flex:1; justify-content:flex-end; } }
@media(prefers-reduced-motion:reduce) { .admin-workspace *, .admin-workspace *::before,.admin-workspace *::after { scroll-behavior:auto !important; } }

.admin-symbol { width:22px; height:22px; fill:currentColor; flex:none; }
.admin-nav-entry .admin-symbol { width:20px; height:20px; margin-right:4px; }
