/* Public menu presentation is shared by all feature releases. */
.sidebar .sidebar-nav[data-wb-unified="v2"] > :not(.wb-unified-tree) { display:none !important; }
.wb-unified-tree {
  --wb-text:#aebcb5; --wb-strong:#f4f8f6; --wb-muted:#91a49a;
  --wb-hover:rgb(255 255 255 / 5%); --wb-current:rgb(32 59 48 / 62%);
  --wb-line:rgb(204 233 111 / 15%); --wb-accent:#cce96f; --wb-accent-ink:#173c30;
  color:var(--wb-text); font-family:inherit; text-align:left; width:100%;
}
.wb-unified-tree > .wb-unified-group + .wb-unified-group { margin-top:20px; }
.wb-unified-toggle { width:100%; min-height:58px; display:flex; align-items:center; gap:11px; padding:8px 10px; color:var(--wb-text); background:transparent; border:1px solid transparent; border-radius:12px; font:inherit; text-align:left; cursor:pointer; transition:background 160ms ease,color 160ms ease; }
.wb-unified-toggle:hover { color:var(--wb-strong); background:var(--wb-hover); }
.wb-unified-toggle:focus-visible,.wb-unified-link:focus-visible { outline:2px solid var(--wb-accent); outline-offset:2px; }
.wb-unified-group[data-current="true"] > .wb-unified-toggle { color:var(--wb-strong); background:var(--wb-current); border-color:var(--wb-line); }
.wb-unified-mark { width:32px; height:32px; flex:0 0 auto; display:grid; place-items:center; background:var(--wb-hover); border-radius:9px; }
.wb-unified-mark svg { width:17px; height:17px; }
.wb-unified-group[data-current="true"] > .wb-unified-toggle .wb-unified-mark { color:var(--wb-accent-ink); background:var(--wb-accent); }
.wb-unified-copy { min-width:0; flex:1; }
.wb-unified-copy strong,.wb-unified-copy small { display:block; }
.wb-unified-copy strong { font-size:13px; font-weight:700; }
.wb-unified-copy small { margin-top:4px; color:var(--wb-muted); font-size:9px; }
.wb-unified-chevron { flex:0 0 auto; width:7px; height:7px; margin:0 4px 3px 2px; color:var(--wb-muted); border-right:1.7px solid currentColor; border-bottom:1.7px solid currentColor; transform:rotate(45deg); transition:transform 180ms ease; }
.wb-unified-toggle[aria-expanded="true"] .wb-unified-chevron { color:var(--wb-accent); transform:translateY(3px) rotate(225deg); }
.wb-unified-children { margin:5px 0 0 12px; padding-left:6px; border-left:1px solid var(--wb-line); }
.wb-unified-children[hidden] { display:none !important; }
.wb-unified-children > .wb-unified-group + .wb-unified-group { margin-top:5px; }
.wb-unified-children .wb-unified-toggle { min-height:48px; padding:7px 8px; gap:8px; border-radius:9px; }
.wb-unified-children .wb-unified-mark { width:26px; height:26px; border-radius:7px; }
.wb-unified-children .wb-unified-copy strong { font-size:12px; }
.wb-unified-link { min-height:44px; display:flex; align-items:center; gap:9px; margin:3px 0; padding:8px 10px; border-radius:9px; color:var(--wb-text); font-size:12px; font-weight:600; line-height:1.5; text-decoration:none; overflow-wrap:anywhere; }
.wb-unified-link::before { content:""; width:5px; height:5px; border-radius:50%; flex:0 0 auto; background:var(--wb-muted); opacity:.7; }
.wb-unified-link:hover { color:var(--wb-strong); background:var(--wb-hover); }
.wb-unified-link[aria-current="page"] { color:#e0ecbe; background:rgb(204 233 111 / 9%); }
.wb-unified-link[aria-current="page"]::before { background:var(--wb-accent); box-shadow:0 0 0 4px rgb(204 233 111 / 10%); opacity:1; }
@media(prefers-reduced-motion:reduce) { .wb-unified-toggle,.wb-unified-chevron { transition:none; } }

/* Host-owned shell and opt-in embedded document layout only. */
.wb-workspace { margin:0; color:#20332a; background:#f1f5f2; font-family:system-ui,-apple-system,"PingFang SC","Microsoft YaHei",sans-serif; }
.wb-workspace *, .wb-workspace *::before, .wb-workspace *::after { box-sizing:border-box; }
.wb-workspace button, .wb-workspace a { -webkit-tap-highlight-color:transparent; }
.wb-workspace button { font:inherit; cursor:pointer; }
.wb-workspace [hidden] { display:none !important; }
.wb-workspace button:focus-visible, .wb-workspace a:focus-visible { outline:3px solid #8cac32; outline-offset:3px; }
.wb-skip { position:fixed; left:16px; top:-100px; z-index:20; padding:12px; background:white; color:#176148; border-radius:8px; }
.wb-skip:focus { top:12px; }
.wb-shell { height:100vh; height:100dvh; display:grid; grid-template-columns:250px minmax(0,1fr); overflow:hidden; }
.wb-workspace .sidebar { min-height:0; width:250px; display:flex; flex-direction:column; background:#13271e; color:#dae6df; padding:22px 16px 14px; border-right:1px solid #31463a; }
.wb-brand { color:#f3f7f4; text-decoration:none; display:flex; gap:12px; align-items:center; padding:5px 5px 30px; flex-shrink:0; }
.wb-brand-mark { display:grid; place-items:center; width:42px; height:42px; background:#cce96f; color:#173c30; border-radius:13px; font-size:29px; }
.wb-brand strong { font-size:17px; letter-spacing:.5px; }
.wb-brand small { display:block; color:#90a498; margin-top:5px; font-size:10px; letter-spacing:2px; }
.wb-workspace .sidebar-nav { min-height:0; flex:1; overflow:auto; scrollbar-width:thin; scrollbar-color:#435748 transparent; padding-bottom:18px; }
.wb-sidebar-note { padding:14px 10px; border:1px solid #2c4134; border-radius:12px; display:flex; gap:10px; align-items:center; font-size:11px; background:#1b3024; margin-top:12px; }
.wb-sidebar-note>span:first-child { color:#cce96f; font-size:23px; }
.wb-sidebar-note small { display:block; font-size:10px; color:#8ca094; margin-top:4px; }
.wb-account { display:flex; gap:9px; align-items:center; border-top:1px solid #2c4134; padding:15px 4px 0; margin-top:13px; font-size:12px; }
.wb-avatar { display:grid; place-items:center; width:32px; height:32px; border-radius:50%; background:#d4e4dc; color:#1a5037; }
#wb-account-name { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
#wb-logout { color:#b7c7bc; border:0; background:transparent; padding:8px 4px; }
.wb-main { min-width:0; min-height:0; display:flex; flex-direction:column; }
.wb-header { min-height:70px; background:#fff; padding:16px 26px; border-bottom:1px solid #e1e8e3; display:flex; align-items:center; justify-content:space-between; gap:16px; }
.wb-header-eyebrow { font-size:10px; color:#809086; letter-spacing:1px; }
#wb-page-title { margin:4px 0 0; font-size:14px; font-weight:650; }
.wb-status { flex-shrink:0; display:flex; align-items:center; gap:6px; padding:5px 9px; background:#f1f6f3; border:1px solid #e0e9e3; border-radius:20px; font-size:10px; color:#587365; }
.wb-status i { width:6px; height:6px; background:#238466; border-radius:50%; }
.wb-tabs-row { display:flex; min-width:0; background:#fff; min-height:45px; border-bottom:1px solid #dce5df; }
#wb-tabs { display:flex; gap:3px; flex:1; min-width:0; overflow:auto; scrollbar-width:thin; padding:5px 12px 0; align-items:stretch; }
.wb-tab { display:flex; align-items:center; flex-shrink:0; max-width:310px; padding:0 5px 0 1px; border-bottom:3px solid transparent; border-radius:6px 6px 0 0; }
.wb-tab.is-active { background:#edf5ed; border-bottom-color:#237254; }
.wb-tab-select { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; border:0; background:transparent; color:#66796d; padding:10px 10px; font-size:12px !important; text-align:left; }
.is-active .wb-tab-select { color:#176148; font-weight:650; }
.wb-tab-action { border:0; width:26px; height:28px; flex-shrink:0; color:#84948a; background:transparent; border-radius:5px; font-size:18px !important; }
.wb-tab-action:hover { color:#174c36; background:#d9e8df; }
#wb-tab-count { display:flex; align-items:center; padding:0 14px; border-left:1px solid #edf0ed; font-size:10px; color:#8a998f; white-space:nowrap; }
#wb-notice { color:#7d5427; background:#fff7e9; border-bottom:1px solid #eddcbf; padding:11px 22px; font-size:12px; line-height:1.6; }
#wb-panels { flex:1; position:relative; min-height:0; }
.wb-session-cover { position:absolute; inset:0; z-index:3; display:flex; flex-direction:column; align-items:center; justify-content:center; background:#f1f5f2; text-align:center; padding:24px; color:#587365; font-size:13px; }
.wb-auth-blocked > .wb-panel { visibility:hidden; }
.wb-panel { height:100%; width:100%; position:relative; }
.wb-page-frame { height:100%; width:100%; border:0; display:block; background:#f1f5f2; }
.wb-page-loading { height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:32px; text-align:center; color:#62776a; }
.wb-loading-mark { display:block; font-size:46px; line-height:1; color:#779447; margin-bottom:20px; }
.wb-page-loading strong { color:#284735; font-size:17px; }
.wb-page-loading p { font-size:13px; line-height:1.8; max-width:440px; }
.wb-page-loading.is-error .wb-loading-mark { color:#b57a37; }
.wb-retry { border:1px solid #b7cabc; background:#fff; border-radius:8px; color:#176148; padding:10px 17px; margin-top:12px; }
/* Preserve Vue-owned DOM; only remove duplicate shell furniture in embedded mode. */
html.wb-embedded .sidebar, html.wb-embedded .topbar, html.wb-embedded .skip-link { display:none !important; }
html.wb-embedded .app-shell { display:block !important; min-height:100vh; }
html.wb-embedded .app-main { margin-left:0 !important; width:100% !important; min-width:0 !important; }
@media (max-width:900px) {
  .wb-shell { grid-template-columns:205px minmax(0,1fr); }
  .wb-workspace .sidebar { width:205px; padding:16px 10px 10px; }
  .wb-brand { gap:8px; padding-bottom:20px; }
  .wb-brand strong { font-size:15px; }
  .wb-brand-mark { width:35px; height:35px; }
  .wb-header { padding:14px 18px; }
}
@media (max-width:600px) {
  .wb-shell { grid-template-columns:148px minmax(0,1fr); }
  .wb-workspace .sidebar { width:148px; padding:12px 7px; }
  .wb-brand { gap:6px; }
  .wb-brand-mark { width:27px; height:31px; border-radius:8px; font-size:22px; }
  .wb-brand strong { font-size:12px; }
  .wb-brand small { font-size:8px; letter-spacing:0; }
  .wb-sidebar-note { display:none; }
  .wb-header { min-height:65px; padding:12px; }
  .wb-status { display:none; }
  #wb-tabs { padding-left:5px; }
  #wb-tab-count { display:none; }
  .wb-tab { max-width:220px; }
  .wb-page-loading { padding:18px; }
  .wb-page-loading p { font-size:12px; }
}
