.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:#f8f8f8; 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; border-right:1px solid var(--admin-border); background:#fff; }
.admin-nav { height:100%; min-height:0; display:flex; flex-direction:column; background:#fff; 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; scrollbar-width:thin; }
.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:10px; 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:#f6f6f6; }
.admin-nav-entry.is-active { background:#fff1dc; 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%; }
.admin-workspace-toolbar { display:flex; align-items:center; gap:12px; min-height:64px; padding:8px 24px; box-sizing:border-box; flex-shrink:0; background:#fff; border-bottom:1px solid var(--admin-border); }
.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:40px; 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:#f8f8f8; }
.admin-main > * { min-width:0; box-sizing:border-box; }
.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:36px; 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(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; }
