.rich-lb[data-v-bb3220b4]{z-index:10000;-webkit-user-select:none;user-select:none;background:#000000e6;justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}.rich-lb__topbar[data-v-bb3220b4]{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-2) var(--space-4);color:#ffffffe0;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff0a;border-bottom:1px solid #ffffff14;font-size:12px;display:flex;position:fixed;top:0;left:0;right:0}.rich-lb__meta[data-v-bb3220b4]{gap:var(--space-3);flex:auto;align-items:center;min-width:0;display:flex}.rich-lb__filename[data-v-bb3220b4]{text-overflow:ellipsis;white-space:nowrap;color:#ffffffeb;max-width:320px;font-weight:500;overflow:hidden}.rich-lb__percent[data-v-bb3220b4],.rich-lb__pages[data-v-bb3220b4]{color:#ffffff8c}.rich-lb__actions[data-v-bb3220b4]{gap:var(--space-1);background:#0000004d;border:1px solid #ffffff29;border-radius:999px;flex:none;padding:3px;display:flex}.rich-lb__btn[data-v-bb3220b4]{color:#ffffffd9;cursor:pointer;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;width:30px;height:30px;transition:background .15s,color .15s;display:inline-flex}.rich-lb__btn[data-v-bb3220b4]:hover:not(:disabled){color:#fff;background:#ffffff1f}.rich-lb__btn[data-v-bb3220b4]:disabled{opacity:.35;cursor:not-allowed}.rich-lb__btn--close[data-v-bb3220b4]:hover:not(:disabled){color:#ff8080;background:#ff575740}.rich-lb__stage[data-v-bb3220b4]{width:100%;height:100%;padding:60px var(--space-6) var(--space-6);flex:auto;justify-content:center;align-items:center;min-width:0;min-height:0;display:flex}.rich-lb__img[data-v-bb3220b4]{object-fit:contain;transform-origin:50%;will-change:transform;cursor:zoom-in;background:#ffffff08;border-radius:6px;max-width:92vw;max-height:calc(100vh - 96px);transition:transform .12s ease-out;box-shadow:0 10px 40px #00000080}.rich-lb__img.is-zoomed[data-v-bb3220b4]{cursor:grab}.rich-lb__img.is-dragging[data-v-bb3220b4]{cursor:grabbing;transition:none}.rich-lb__loading[data-v-bb3220b4]{color:#fff9;pointer-events:none;font-size:13px;position:absolute}.rich-lb__side[data-v-bb3220b4]{color:#fff;cursor:pointer;background:#0006;border:1px solid #ffffff29;border-radius:6px;justify-content:center;align-items:center;width:44px;height:68px;font-size:36px;line-height:1;transition:background .15s,border-color .15s;display:inline-flex;position:fixed;top:50%;transform:translateY(-50%)}.rich-lb__side[data-v-bb3220b4]:hover{background:#ffffff24;border-color:#ffffff80}.rich-lb__side--prev[data-v-bb3220b4]{left:16px}.rich-lb__side--next[data-v-bb3220b4]{right:16px}@media (max-width:720px){.rich-lb__filename[data-v-bb3220b4]{max-width:140px}.rich-lb__side[data-v-bb3220b4]{display:none}.rich-lb__actions .rich-lb__btn[data-v-bb3220b4]{width:26px;height:26px}}.dc-pwd-change-banner{z-index:9999;background:var(--color-danger,#dc2626);color:#fff;border-bottom:1px solid #0000002e;align-items:center;gap:12px;padding:10px 16px;font-size:13px;display:flex;position:fixed;top:0;left:0;right:0;box-shadow:0 2px 8px #0000002e}.dc-pwd-change-banner__icon{font-size:16px}.dc-pwd-change-banner__text{flex:1}.dc-pwd-change-banner .btn-mini{color:var(--color-danger,#dc2626);background:#fff;border:0;font-weight:500}.dc-narrow-screen-overlay{display:none}@media (max-width:1023px){.dc-narrow-screen-overlay{z-index:9999;background:var(--mask-bg,#0000008c);padding:var(--space-4);justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.dc-narrow-screen-overlay__card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-6);text-align:center;max-width:360px;box-shadow:var(--shadow-lg)}.dc-narrow-screen-overlay__icon{margin-bottom:var(--space-3);font-size:48px}.dc-narrow-screen-overlay h3{margin:0 0 var(--space-2);font-size:var(--font-size-lead);color:var(--text-primary)}.dc-narrow-screen-overlay p{margin:0 0 var(--space-4);font-size:var(--font-size-small);color:var(--text-secondary);line-height:var(--line-height-normal)}}:root{--bg-page:#0c1419;--bg-card:#111b20;--bg-elev-1:#0d1519;--bg-elev-2:#16242a;--bg-soft:#ffffff08;--border-color:#ffffff14;--border-color-strong:#ffffff24;--text-primary:#eaf5ef;--text-secondary:#b5c5bb;--text-muted:#86a695;--text-disabled:#5c6e64;--color-primary:#55e67e;--color-primary-hover:#6cf094;--color-primary-soft:#53e77b1f;--color-primary-border:#53e77b61;--color-success:#54e77b;--color-warning:#f5b14a;--color-danger:#ff6b6b;--color-info:#5fb6ff;--color-success-soft:#6ff09b;--color-success-tint:#53e77b29;--color-warning-soft:#fde08a;--color-warning-vivid:#ffd24d;--color-info-soft:#5eead4;--color-money:#ffc400;--color-money-tint:#ffc4001f;--color-money-faint:#ffc40005;--color-money-border:#ffc40052;--color-success-vivid:#2dc86e;--color-success-vivid-tint:#2dc86e1f;--color-success-vivid-faint:#2dc86e05;--color-success-vivid-border:#2dc86e52;--color-danger-tint:#ff6b6b1f;--color-danger-faint:#ff6b6b05;--color-danger-border:#ff6b6b52;--color-warning-border:#f5b14a61;--color-warning-tint:#f5b14a26;--color-warning-danger-soft:#fbbf24;--color-danger-soft:#fca5a5;--color-info-tint:#5fb6ff29;--color-muted-tint:#94a3b824;--color-muted-soft:#cbd5e1;--color-success-badge-text:#86efac;--color-purple:#a85fff;--bg-deepest:#0c1419;--text-on-light:#0b1f1c;--text-soft:#b9c4cc;--radius-sm:8px;--radius-md:14px;--radius-lg:18px;--radius-xl:22px;--shadow-sm:0 2px 6px #0000002e;--shadow-md:0 10px 24px #00000047;--shadow-lg:0 18px 48px #0000006b;--shadow-glow:0 0 0 3px #53e77b1f;--font-base:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--font-mono:ui-monospace, SFMono-Regular, "SF Mono", Consolas, "Liberation Mono", Menlo, monospace;--sidebar-width:264px;--topbar-height:60px;--tab-height:48px;--control-height:42px;--control-height-sm:32px;--control-height-xs:26px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--focus-ring:0 0 0 3px #53e77b59;--modal-panel-width-sm:360px;--modal-panel-width-md:540px;--modal-panel-width-lg:720px;--modal-panel-header-height:56px;--filter-select-w:220px;--filter-select-w-sm:140px;--filter-select-w-lg:280px;--bp-xl:1680px;--bp-lg:1280px;--bp-md:1024px;--bp-sm:720px;--font-size-caption:11px;--font-size-small:12px;--font-size-body:14px;--font-size-lead:16px;--font-size-h4:18px;--font-size-h3:22px;--font-size-h2:28px;--font-size-h1:34px;--line-height-tight:1.25;--line-height-snug:1.4;--line-height-normal:1.55;--line-height-loose:1.75;--text-xs:11px;--text-sm:12px;--text-base:14px;--text-lg:16px;--text-xl:18px;--text-2xl:22px;--lightningcss-light: ;--lightningcss-dark:initial;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:where(html,body){background-color:var(--bg-page);color:var(--text-primary)}:root{--chart-primary:#3b82f6;--chart-success:#22c55e;--chart-warning:#f59e0b;--chart-danger:#ef4444;--chart-purple:#a855f7;--chart-primary-tint:#3b82f62e;--chart-success-tint:#22c55e2e;--chart-warning-tint:#f59e0b2e;--chart-danger-tint:#ef44442e;--chart-purple-tint:#a855f72e;--chart-primary-fill:#3b82f699;--chart-success-fill:#22c55e99;--chart-warning-fill:#f59e0b99;--chart-danger-fill:#ef444499;--chart-purple-fill:#a855f799}*,:before,:after{box-sizing:border-box}html,body,#app{height:100%;margin:0;padding:0}body{background:var(--bg-page);color:var(--text-primary);font-family:var(--font-base);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.5}a{color:var(--color-primary);text-decoration:none}a:hover{color:var(--color-primary-hover)}code,pre{font-family:var(--font-mono);font-size:13px}.admin-layout{grid-template-columns:var(--sidebar-width) 1fr;grid-template-rows:var(--topbar-height) 1fr;background:var(--bg-page);grid-template-areas:"topbar topbar""sidebar main";height:100vh;transition:grid-template-columns .18s;display:grid}.admin-layout.is-sidebar-collapsed{grid-template-columns:0 1fr}.admin-layout__topbar{border-bottom:1px solid var(--border-color);z-index:5;background:linear-gradient(#111b20 0%,#0d1519 100%);grid-area:topbar;align-items:center;gap:18px;padding:0 18px;display:flex;position:relative;box-shadow:0 2px 12px #00000047}.admin-layout__sidebar{border-right:1px solid var(--border-color);background:linear-gradient(#0f191f 0%,#0b1217 100%);grid-area:sidebar;padding:14px 10px 24px;overflow-y:auto}.admin-layout__sidebar::-webkit-scrollbar{width:6px}.admin-layout__sidebar::-webkit-scrollbar-track{background:0 0}.admin-layout__sidebar::-webkit-scrollbar-thumb{background:#53e77b2e;border-radius:999px}.admin-layout__sidebar::-webkit-scrollbar-thumb:hover{background:#53e77b52}.admin-layout__main{background:var(--bg-page);flex-direction:column;grid-area:main;display:flex;overflow:hidden}.admin-layout__tabs{height:var(--tab-height);border-bottom:1px solid var(--border-color);scrollbar-gutter:stable;background:linear-gradient(#111b20d9,#0d1519d9);align-items:center;gap:4px;padding:6px 14px;display:flex;overflow-x:auto}.admin-layout__content{background:var(--bg-page);flex:1;padding:18px 22px;overflow:auto}.login-page{background:radial-gradient(circle at 20% 20%, #53e77b1a, transparent 50%), radial-gradient(circle at 80% 80%, #53e77b0f, transparent 55%), var(--bg-page);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);width:380px;box-shadow:var(--shadow-lg);padding:36px 32px}.login-card h1{text-align:center;color:var(--color-primary);letter-spacing:.02em;margin:0 0 24px;font-size:20px;font-weight:700}@media (max-width:1024px){.admin-layout{grid-template-columns:0 1fr;grid-template-areas:"topbar topbar""main main"}.admin-layout__sidebar{grid-area:unset;top:var(--topbar-height);width:var(--sidebar-width);z-index:30;box-shadow:none;transition:transform .22s,box-shadow .22s;position:fixed;bottom:0;left:0;transform:translate(-100%)}.admin-layout.is-sidebar-open .admin-layout__sidebar{transform:translate(0);box-shadow:4px 0 22px #0006}.admin-layout__content{padding:14px}.admin-layout__topbar{gap:10px;padding:0 12px}}@media (max-width:720px){.admin-layout__content{padding:10px}.admin-layout__topbar{gap:6px;padding:0 8px}.admin-layout__tabs{padding:0 6px}.login-card{width:calc(100vw - 32px);padding:24px 20px}}.btn{white-space:nowrap;height:var(--control-height);border-radius:var(--radius-md);border:1px solid var(--border-color-strong);color:var(--text-primary);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;background:#ffffff0b;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-size:13px;font-weight:500;transition:background-color .16s,border-color .16s,transform 80ms,box-shadow .16s,opacity .2s,color .16s;display:inline-flex;position:relative}.btn:hover:not(:disabled){border-color:var(--color-primary-border);color:var(--color-primary);background:#53e77b14;box-shadow:0 4px 12px #00000038}.btn:active:not(:disabled){filter:brightness(.92);transform:scale(.97);box-shadow:inset 0 1px #00000026}.btn:focus-visible{box-shadow:var(--shadow-glow);border-color:var(--color-primary);outline:none}.btn:disabled{opacity:.5;cursor:not-allowed;filter:grayscale(.25)}.btn.btn--primary{color:#07140d;background:linear-gradient(#5ff08c,#3fcf6a);border-color:#53e77ba6;font-weight:700;box-shadow:0 6px 16px #32bb122e}.btn.btn--primary:hover:not(:disabled){color:#07140d;background:linear-gradient(#6cf094,#4fd97a);box-shadow:0 8px 20px #32bb1247}.btn.btn--danger{color:#ff9090;background:#ff6b6b1f;border-color:#ff6b6b6b}.btn.btn--danger:hover:not(:disabled){color:#ffb0b0;background:#ff6b6b33;border-color:#ff6b6b9e}.btn.btn--warn{color:#f4c560;background:#ffb8001f;border-color:#ffb8006b}.btn.btn--warn:hover:not(:disabled){color:#ffd47a;background:#ffb80033;border-color:#ffb8009e}.btn.btn--ghost{border-color:var(--border-color);color:var(--text-secondary);background:0 0}.btn.btn--ghost:hover:not(:disabled){background:var(--color-primary-soft);border-color:var(--color-primary-border);color:var(--color-primary)}.btn.is-loading{pointer-events:none;opacity:.75}.btn.is-loading:before{content:"";vertical-align:middle;border:2px solid;border-top-color:#0000;border-radius:50%;flex-shrink:0;width:12px;height:12px;margin-right:2px;animation:.7s linear infinite btn-spin;display:inline-block}@keyframes btn-spin{to{transform:rotate(360deg)}}.btn-mini{height:var(--control-height-sm);border-radius:var(--radius-sm);border:1px solid var(--border-color-strong);color:var(--text-primary);cursor:pointer;background:#ffffff0a;justify-content:center;align-items:center;padding:0 12px;font-size:12px;text-decoration:none;transition:background-color .15s,border-color .15s,transform 80ms,opacity .2s,color .15s;display:inline-flex}.btn-mini:hover:not(:disabled){background:var(--color-primary-soft);border-color:var(--color-primary-border);color:var(--color-primary)}.btn-mini:active:not(:disabled){filter:brightness(.92);transform:scale(.96)}.btn-mini:disabled{opacity:.5;cursor:not-allowed}.btn-mini--primary{color:#07140d;background:linear-gradient(#5ff08c,#3fcf6a);border-color:#53e77ba6;font-weight:600;box-shadow:0 2px 6px #32bb1224}.btn-mini--primary:hover:not(:disabled){color:#07140d;background:linear-gradient(#6cf094,#4fd97a);border-color:#53e77bc7;box-shadow:0 4px 12px #32bb123d}.btn-mini--danger{color:#f87171;background:#f871711f;border-color:#f871718c}.btn-mini--danger:hover:not(:disabled){color:#fca5a5;background:#f8717138;border-color:#f87171}.btn-mini--warn{color:#facc15;background:#facc151f;border-color:#facc158c}.btn-mini--warn:hover:not(:disabled){color:#fde047;background:#facc1538;border-color:#facc15}.btn-mini.is-loading{pointer-events:none;opacity:.75}.btn-mini.is-loading:before{content:"";vertical-align:middle;border:2px solid;border-top-color:#0000;border-radius:50%;width:10px;height:10px;margin-right:4px;animation:.7s linear infinite btn-spin;display:inline-block}.btn--xs{height:var(--control-height-xs);padding:0 var(--space-2);font-size:var(--font-size-caption);border-radius:var(--radius-sm);border:1px solid var(--border-color-strong);color:var(--text-primary);cursor:pointer;background:#ffffff0a;line-height:1;transition:background-color .15s,border-color .15s,transform 80ms,opacity .2s,color .15s}.btn--xs:hover:not(:disabled){background:var(--color-primary-soft);border-color:var(--color-primary-border);color:var(--color-primary)}.btn--xs:active:not(:disabled){filter:brightness(.92);transform:scale(.96)}.btn--xs:disabled{opacity:.5;cursor:not-allowed}.btn--xs.btn--primary{background:var(--color-primary-soft);border-color:var(--color-primary-border);color:var(--color-primary)}.btn--xs.btn--danger{background:var(--color-danger-tint);border-color:var(--color-danger-border);color:var(--color-danger-soft)}.btn.btn--success,.btn-mini.btn-mini--success,.btn--xs.btn--success{color:#5ff08c;background:#53e77b1f;border-color:#53e77b8c}.btn.btn--success:hover:not(:disabled),.btn-mini.btn-mini--success:hover:not(:disabled),.btn--xs.btn--success:hover:not(:disabled){color:#7df5a4;background:#53e77b38;border-color:#53e77bc7}.btn.btn--info,.btn-mini.btn-mini--info,.btn--xs.btn--info{color:#5fb6ff;background:#5fb6ff1f;border-color:#5fb6ff8c}.btn.btn--info:hover:not(:disabled),.btn-mini.btn-mini--info:hover:not(:disabled),.btn--xs.btn--info:hover:not(:disabled){color:#7fc4ff;background:#5fb6ff38;border-color:#5fb6ffc7}.btn.btn--link,.btn-mini.btn-mini--link,.btn--xs.btn--link{color:#5fb6ff;padding:0 var(--space-1);box-shadow:none;background:0 0;border-color:#0000}.btn.btn--link:hover:not(:disabled),.btn-mini.btn-mini--link:hover:not(:disabled),.btn--xs.btn--link:hover:not(:disabled){color:#7fc4ff;background:0 0;border-color:#0000;text-decoration:underline}.btn.btn--text,.btn-mini.btn-mini--text,.btn--xs.btn--text{color:var(--text-secondary);padding:0 var(--space-2);box-shadow:none;background:0 0;border-color:#0000}.btn.btn--text:hover:not(:disabled),.btn-mini.btn-mini--text:hover:not(:disabled),.btn--xs.btn--text:hover:not(:disabled){color:var(--text-primary);background:#ffffff0a;border-color:#0000}.btn-mini.btn-mini--dense{height:22px;padding:0 var(--space-2);font-size:11.5px}.btn-link{white-space:nowrap;height:var(--control-height-sm);border-radius:var(--radius-sm);border:1px solid var(--border-color-strong);color:var(--text-primary);cursor:pointer;background:#ffffff0a;justify-content:center;align-items:center;padding:0 12px;font-size:12px;font-weight:500;text-decoration:none;transition:background-color .15s,border-color .15s,transform 80ms,opacity .2s,color .15s;display:inline-flex}.btn-link:hover:not(:disabled){background:var(--color-primary-soft);border-color:var(--color-primary-border);color:var(--color-primary);text-decoration:none}.btn-link:active:not(:disabled){filter:brightness(.92);transform:scale(.96)}.btn-link:disabled{opacity:.5;cursor:not-allowed}.btn-link.danger,.btn-link.btn--danger{color:#f87171;background:#f871711f;border-color:#f871718c}.btn-link.danger:hover:not(:disabled),.btn-link.btn--danger:hover:not(:disabled){color:#fca5a5;background:#f8717138;border-color:#f87171}.btn-link.warn,.btn-link.btn--warn{color:#facc15;background:#facc151f;border-color:#facc158c}.btn-link.warn:hover:not(:disabled),.btn-link.btn--warn:hover:not(:disabled){color:#fde047;background:#facc1538;border-color:#facc15}.action-row,.button-row,.form-actions,.dialog-actions,.toolbar-actions,.table-actions,.public-page-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.action-row>.btn,.action-row>.btn-mini,.action-row>.btn--xs,.action-row>a.btn,.action-row>a.btn-mini,.button-row>.btn,.button-row>.btn-mini,.button-row>.btn--xs,.form-actions>.btn,.form-actions>.btn-mini,.form-actions>.btn--xs,.dialog-actions>.btn,.dialog-actions>.btn-mini,.dialog-actions>.btn--xs,.toolbar-actions>.btn,.toolbar-actions>.btn-mini,.toolbar-actions>.btn--xs,.table-actions>.btn,.table-actions>.btn-mini,.table-actions>.btn--xs,.public-page-actions>.btn,.public-page-actions>.btn-mini,.public-page-actions>.btn--xs{white-space:nowrap;flex:none;line-height:normal}.form-actions,.dialog-actions{justify-content:flex-end}.table-actions{gap:var(--space-1)}.tbl td.empty,td.empty,.empty-cell{padding:var(--space-4) var(--space-3);text-align:center;color:var(--text-muted);font-size:var(--font-size-small);background:0 0;font-style:normal}.tbl-loading-row td{padding:var(--space-4) var(--space-3);text-align:center;color:var(--text-muted);font-size:var(--font-size-small)}.page-head{align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-3);display:flex}.page-head__title{flex:auto;min-width:0}.page-head__title h2{margin:0 0 var(--space-1)}.page-head__title p{margin:0}.page-head__actions{align-items:center;gap:var(--space-2);margin-top:var(--space-1);flex-wrap:wrap;flex:none;justify-content:flex-end;display:flex}.hint-toolbar-row{align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-3);display:flex}.hint-toolbar-row__hint{flex:auto;min-width:0;margin:0}.hint-toolbar-row__actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;flex:none;justify-content:flex-end;display:flex}.form-field{margin-bottom:16px}.form-field__label{color:var(--text-secondary);letter-spacing:.02em;margin-bottom:7px;font-size:12.5px;font-weight:500;display:block}.form-field__input,.form-field__textarea,.form-field__select{width:100%;height:var(--control-height);border:1px solid var(--border-color-strong);border-radius:var(--radius-md);color:var(--text-primary);background-color:#ffffff0b;padding:0 12px;font-family:inherit;font-size:14px;transition:border-color .16s,background-color .16s,box-shadow .16s}.form-field__textarea{resize:both;max-width:100%;height:auto;min-height:80px;padding:9px 12px}.form-field__input:hover,.form-field__textarea:hover,.form-field__select:hover{border-color:var(--border-color-strong);background-color:#ffffff0f}.form-field__input:focus,.form-field__textarea:focus,.form-field__select:focus{border-color:var(--color-primary-border);box-shadow:var(--shadow-glow);background-color:#53e77b0a;outline:none}.form-field__input:focus-visible{box-shadow:var(--focus-ring);outline:none}.form-field__textarea:focus-visible{box-shadow:var(--focus-ring);outline:none}.form-field__select:focus-visible{box-shadow:var(--focus-ring);outline:none}a:focus-visible{box-shadow:var(--focus-ring);outline:none}.page-tab:focus-visible{box-shadow:var(--focus-ring);outline:none}.sidebar-menu__item:focus-visible{box-shadow:var(--focus-ring);outline:none}button:focus-visible{box-shadow:var(--focus-ring);outline:none}select:focus-visible{box-shadow:var(--focus-ring);outline:none}input:focus-visible{box-shadow:var(--focus-ring);outline:none}textarea:focus-visible{box-shadow:var(--focus-ring);outline:none}[role=button]:focus-visible{box-shadow:var(--focus-ring);outline:none}[role=tab]:focus-visible{box-shadow:var(--focus-ring);outline:none}[tabindex]:focus-visible{box-shadow:var(--focus-ring);outline:none}button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}a:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}[role=button]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}[tabindex]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.skip-to-main{z-index:10000;background:var(--color-primary);color:#07140d;border-radius:var(--radius-md);padding:10px 16px;font-weight:700;text-decoration:none;transition:top .18s;position:fixed;top:-100px;left:12px;box-shadow:0 6px 20px #00000059}.skip-to-main:focus{box-shadow:var(--focus-ring), 0 6px 20px #00000059;outline:none;top:12px}.skip-to-main:focus-visible{box-shadow:var(--focus-ring), 0 6px 20px #00000059;outline:none;top:12px}input:not([type]),input[type=text],input[type=password],input[type=email],input[type=url],input[type=number],input[type=search],input[type=date],input[type=datetime-local],input[type=time],select,textarea{border:1px solid var(--border-color-strong);border-radius:var(--radius-md);color:var(--text-primary);height:var(--control-height);background:#ffffff0b;padding:0 10px;font-family:inherit;font-size:13.5px;transition:border-color .16s,box-shadow .16s,background .16s}textarea{resize:both;max-width:100%;height:auto;min-height:72px;padding:8px 10px}input:focus:not([type=checkbox]):not([type=radio]),select:focus,textarea:focus{border-color:var(--color-primary-border);box-shadow:var(--shadow-glow);outline:none}input[type=checkbox],input[type=radio]{accent-color:var(--color-primary)}input[type=file]{background:var(--bg-elev-1);width:100%;color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-md,6px);cursor:pointer;padding:6px 10px;font-size:13px;line-height:1.5;transition:border-color .15s;display:block}input[type=file]:hover:not(:disabled){border-color:var(--border-color-strong)}input[type=file]:focus{border-color:var(--color-primary-border);box-shadow:var(--shadow-glow);outline:none}input[type=file]:disabled{opacity:.5;cursor:not-allowed}input[type=file]::-webkit-file-upload-button{background:var(--color-primary);color:#fff;border-radius:var(--radius-sm,4px);cursor:pointer;border:none;margin-right:12px;padding:4px 12px;font-size:12px;font-weight:500;transition:background .15s}input[type=file]::file-selector-button{background:var(--color-primary);color:#fff;border-radius:var(--radius-sm,4px);cursor:pointer;border:none;margin-right:12px;padding:4px 12px;font-size:12px;font-weight:500;transition:background .15s}input[type=file]::-webkit-file-upload-button:hover{background:var(--color-primary-hover,var(--color-primary))}input[type=file]::file-selector-button:hover{background:var(--color-primary-hover,var(--color-primary))}input[type=file]:disabled::-webkit-file-upload-button{cursor:not-allowed}input[type=file]:disabled::file-selector-button{cursor:not-allowed}.form-error{color:var(--color-danger,#e74c3c);margin-top:4px;font-size:12px;line-height:1.4;display:block}.card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);margin-bottom:14px;padding:18px}.card h2,.card h3{color:var(--color-primary);letter-spacing:.02em;margin:0 0 12px;font-size:15px;font-weight:700}.card h2{font-size:17px}.card>h3+p,.card>h2+p{color:var(--text-muted);margin-top:-4px;margin-bottom:12px;font-size:12.5px}.page-head{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.page-head h1,.page-head h2{color:var(--text-primary);letter-spacing:.01em;margin:0;font-size:20px;font-weight:700}.page-head h2{font-size:18px}.page-head .page-head__hint{color:var(--text-muted);font-size:12.5px}.stats-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}@media (max-width:1280px){.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:720px){.stats-grid{grid-template-columns:1fr}}.stat-card{background:var(--bg-elev-1);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:16px 18px;transition:transform .16s,border-color .16s,box-shadow .16s}.stat-card:hover{border-color:var(--color-primary-border);box-shadow:var(--shadow-md);transform:translateY(-1px)}.stat-card .stat-label{color:var(--text-muted);letter-spacing:.02em;font-size:13px}.stat-card .stat-value{color:var(--color-primary);margin-top:8px;font-size:28px;font-weight:800;line-height:1.1}.stat-card .stat-sub{color:var(--text-muted);margin-top:6px;font-size:12px}.stat-card--compact{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--bg-elev-1)}.stat-card--compact .stat-label{font-size:var(--font-size-caption);text-transform:none;letter-spacing:0}.stat-card--compact .stat-value{font-size:var(--font-size-body);color:var(--text-primary);margin-top:4px;font-weight:600}.badge{background:var(--color-primary-soft);height:22px;color:var(--color-primary);border:1px solid var(--color-primary-border);border-radius:999px;align-items:center;gap:4px;padding:0 9px;font-size:11.5px;font-weight:600;display:inline-flex}.badge--muted{color:var(--text-muted);border-color:var(--border-color);background:#ffffff0f}.badge--warn{color:var(--color-warning);background:#f5b14a24;border-color:#f5b14a66}.badge--danger{color:var(--color-danger);background:#ff6b6b24;border-color:#ff6b6b66}.sidebar-menu{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.sidebar-menu__group-title{color:var(--text-primary);border-radius:var(--radius-lg);letter-spacing:.02em;background:#ffffff09;border:1px solid #ffffff14;align-items:center;gap:8px;padding:12px 14px;font-size:14px;font-weight:800;transition:transform .16s,border-color .16s,background .16s,box-shadow .16s,color .16s;display:flex}.sidebar-menu__group-title:hover{color:var(--color-primary);background:#53e77b14;border-color:#53e77b59;transform:translateY(-1px);box-shadow:0 10px 24px #52e31d1a}.sidebar-menu__group-title.is-expanded{color:#eaffef;background:linear-gradient(#52e31d3d,#32bb1224);border-color:#53e77b94;box-shadow:0 10px 24px #52e31d1a}.sidebar-menu__item{color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);border-left:2px solid #0000;align-items:center;margin:0 4px;padding:8px 14px 8px 28px;font-size:13px;transition:background .14s,color .14s,border-color .14s;display:flex;position:relative}.sidebar-menu__item:before{content:"";background:var(--text-muted);opacity:.45;border-radius:50%;width:4px;height:4px;transition:background .14s,opacity .14s,transform .14s;position:absolute;top:50%;left:16px;transform:translateY(-50%)}.sidebar-menu__item:hover{color:var(--text-primary);background:#53e77b0f}.sidebar-menu__item:hover:before{opacity:.85;background:var(--color-primary)}.sidebar-menu__item.is-active{color:var(--color-primary);border-left-color:var(--color-primary);background:linear-gradient(#52e31d29,#32bb1214);font-weight:600}.sidebar-menu__item.is-active:before{background:var(--color-primary);opacity:1;transform:translateY(-50%)scale(1.4);box-shadow:0 0 8px #53e77b8c}.page-tab{height:28px;color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:#ffffff0a;border:1px solid #0000;border-radius:999px;align-items:center;margin-right:4px;padding:0 12px;font-size:12.5px;transition:background .14s,color .14s,border-color .14s;display:inline-flex}.page-tab:hover{background:var(--color-primary-soft);color:var(--color-primary)}.page-tab.is-active{color:#eaffef;border-color:var(--color-primary-border);background:linear-gradient(#52e31d38,#32bb121f);font-weight:600}.page-tab__close{color:var(--text-muted);margin-left:6px}.page-tab__close:hover{color:var(--color-danger)}.filter-bar{background:var(--bg-elev-1);border:1px solid var(--border-color);border-radius:var(--radius-md);margin-bottom:12px;padding:12px 14px}.toolbar{align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);padding:10px var(--space-3);background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);flex-wrap:wrap;display:flex}.toolbar>label,.filter-bar>label,.filter-bar__row>label,.page-header>label{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.filter-bar .form-field{gap:4px}.filter-bar .form-field__label{color:var(--text-muted);font-size:12px}.filter-bar .form-field__input,.filter-bar .form-field__select,.filter-bar input,.filter-bar select{height:32px;font-size:13px}.filter-bar .filter-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.filter-bar .filter-actions .btn{height:32px;padding:0 14px;font-size:13px}select,.form-field__select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'><path d='M2 4l4 4 4-4' stroke='%23aaa' stroke-width='1.8' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-position:right 10px center;background-repeat:no-repeat;background-size:12px 12px;padding-right:28px}.divider{background:var(--border-color);height:1px;margin:14px 0}.admin-layout__content::-webkit-scrollbar{width:8px;height:8px}.admin-layout__tabs::-webkit-scrollbar{width:8px;height:8px}.admin-layout__content::-webkit-scrollbar-track{background:0 0}.admin-layout__tabs::-webkit-scrollbar-track{background:0 0}.admin-layout__content::-webkit-scrollbar-thumb{background:#53e77b38;border-radius:999px}.admin-layout__tabs::-webkit-scrollbar-thumb{background:#53e77b38;border-radius:999px}.admin-layout__content::-webkit-scrollbar-thumb:hover{background:#53e77b61}.admin-layout__tabs::-webkit-scrollbar-thumb:hover{background:#53e77b61}*{scrollbar-width:thin;scrollbar-color:var(--border-color-strong) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-color-strong);background-clip:padding-box;border:2px solid #0000;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted);background-clip:padding-box}::-webkit-scrollbar-corner{background:0 0}.rich-table{border-collapse:collapse;margin:8px 0;font-size:12px}.rich-table th,.rich-table td{border:1px solid var(--border-color);text-align:left;padding:4px 8px}.rich-table th{background:var(--bg-elev-1);font-weight:600}.rich-img{vertical-align:top;object-fit:contain;cursor:zoom-in;border-radius:6px;max-width:calc(50% - 8px);max-height:480px;margin:6px 4px 6px 0;transition:filter .15s,box-shadow .15s;display:inline-block}.rich-img:hover{filter:brightness(1.06);box-shadow:0 4px 16px #0000003d}.rich-attach-dl{border:1px solid var(--border-color-strong,var(--border-color));color:var(--text-secondary,var(--text-muted));vertical-align:baseline;background:#ffffff0a;border-radius:999px;align-items:center;margin-left:4px;padding:1px 8px;font-size:11px;line-height:1.5;transition:background .15s,color .15s,border-color .15s;display:inline-flex;text-decoration:none!important}.rich-attach-dl:hover{background:var(--color-primary-soft,#53e77b14);color:var(--color-primary);border-color:var(--color-primary-border,var(--color-primary))}.rich-attach-dl:before{content:"⇩";margin-right:3px;font-size:12px}.mention-member{color:var(--color-primary);background:#45d69424;border-radius:3px;padding:0 4px;font-weight:600;display:inline-block}label.checkbox-inline,.checkbox-inline{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--text-primary);line-height:1.4;font-size:var(--font-size-base);white-space:nowrap;align-items:center;gap:6px;flex-flow:row!important;width:auto!important;display:inline-flex!important}label.checkbox-inline>input[type=checkbox],.checkbox-inline>input[type=checkbox]{cursor:pointer;vertical-align:middle;box-sizing:border-box!important;flex:none!important;width:16px!important;min-width:16px!important;height:16px!important;margin:0!important}label.checkbox-inline>span,.checkbox-inline>span{white-space:normal;flex:auto;min-width:0;width:auto!important;display:inline!important}.field.field--inline{gap:6px;flex-direction:row!important;align-items:center!important;display:flex!important}.field:has(>label.checkbox-inline:only-child){gap:6px;flex-direction:row!important;align-items:center!important;display:flex!important}.form-field:has(>label.checkbox-inline:only-child){gap:6px;flex-direction:row!important;align-items:center!important;display:flex!important}.field.field--inline:has(>label.checkbox-inline){gap:6px;flex-direction:row!important;align-items:center!important;display:flex!important}.field.field--inline>label.checkbox-inline{flex:none!important;width:auto!important}.field:has(>label.checkbox-inline:only-child)>label.checkbox-inline{flex:none!important;width:auto!important}.form-field:has(>label.checkbox-inline:only-child)>label.checkbox-inline{flex:none!important;width:auto!important}html body .modal-body label.checkbox-inline.checkbox-inline,html body label.checkbox-inline.checkbox-inline{flex-flow:row!important;grid-template-rows:none!important;grid-template-columns:none!important;align-items:center!important;gap:6px!important;width:auto!important;padding:0!important;display:inline-flex!important}html body .modal-body label.checkbox-inline.checkbox-inline>input[type=checkbox],html body label.checkbox-inline.checkbox-inline>input[type=checkbox]{box-sizing:border-box!important;flex:none!important;grid-area:auto!important;width:16px!important;min-width:16px!important;height:16px!important;margin:0!important}html body .modal-body label.checkbox-inline.checkbox-inline>span,html body label.checkbox-inline.checkbox-inline>span{flex:auto!important;grid-area:auto!important;width:auto!important;min-width:0!important;display:inline!important}body .modal-body label.checkbox-inline,body label.checkbox-inline{flex-flow:row!important;grid-template-rows:none!important;grid-template-columns:none!important;align-items:center!important;gap:6px!important;width:auto!important;display:inline-flex!important}body .modal-body label.checkbox-inline>input[type=checkbox],body label.checkbox-inline>input[type=checkbox]{box-sizing:border-box!important;flex:none!important;width:16px!important;min-width:16px!important;height:16px!important;margin:0!important}body .modal-body label.checkbox-inline>span,body label.checkbox-inline>span{flex:auto!important;width:auto!important;min-width:0!important;display:inline!important}.t-caption{font-size:var(--font-size-caption);line-height:var(--line-height-normal)}.t-small{font-size:var(--font-size-small);line-height:var(--line-height-normal)}.t-body{font-size:var(--font-size-body);line-height:var(--line-height-normal)}.t-lead{font-size:var(--font-size-lead);line-height:var(--line-height-snug)}.t-h4{font-size:var(--font-size-h4);line-height:var(--line-height-snug);font-weight:600}.t-h3{font-size:var(--font-size-h3);line-height:var(--line-height-tight);font-weight:600}.t-h2{font-size:var(--font-size-h2);line-height:var(--line-height-tight);font-weight:700}.t-h1{font-size:var(--font-size-h1);line-height:var(--line-height-tight);font-weight:700}.muted{color:var(--text-muted)}.secondary{color:var(--text-secondary)}.disabled{color:var(--text-disabled)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.t-prose{line-height:var(--line-height-loose)}.t-num{font-variant-numeric:tabular-nums}.u-pad-0{padding:0}.u-pad-1{padding:var(--space-1)}.u-pad-2{padding:var(--space-2)}.u-pad-3{padding:var(--space-3)}.u-pad-4{padding:var(--space-4)}.u-pad-5{padding:var(--space-5)}.u-pad-6{padding:var(--space-6)}.u-pad-8{padding:var(--space-8)}.u-px-1{padding-left:var(--space-1);padding-right:var(--space-1)}.u-px-2{padding-left:var(--space-2);padding-right:var(--space-2)}.u-px-3{padding-left:var(--space-3);padding-right:var(--space-3)}.u-px-4{padding-left:var(--space-4);padding-right:var(--space-4)}.u-py-1{padding-top:var(--space-1);padding-bottom:var(--space-1)}.u-py-2{padding-top:var(--space-2);padding-bottom:var(--space-2)}.u-py-3{padding-top:var(--space-3);padding-bottom:var(--space-3)}.u-py-4{padding-top:var(--space-4);padding-bottom:var(--space-4)}.u-m-0{margin:0}.u-mt-0{margin-top:0}.u-mt-1{margin-top:var(--space-1)}.u-mt-2{margin-top:var(--space-2)}.u-mt-3{margin-top:var(--space-3)}.u-mt-4{margin-top:var(--space-4)}.u-mt-5{margin-top:var(--space-5)}.u-mt-6{margin-top:var(--space-6)}.u-mb-0{margin-bottom:0}.u-mb-1{margin-bottom:var(--space-1)}.u-mb-2{margin-bottom:var(--space-2)}.u-mb-3{margin-bottom:var(--space-3)}.u-mb-4{margin-bottom:var(--space-4)}.u-mb-5{margin-bottom:var(--space-5)}.u-mb-6{margin-bottom:var(--space-6)}.u-ml-1{margin-left:var(--space-1)}.u-ml-2{margin-left:var(--space-2)}.u-ml-3{margin-left:var(--space-3)}.u-ml-auto{margin-left:auto}.u-mr-1{margin-right:var(--space-1)}.u-mr-2{margin-right:var(--space-2)}.u-mr-3{margin-right:var(--space-3)}.u-mr-auto{margin-right:auto}.u-gap-1{gap:var(--space-1)}.u-gap-2{gap:var(--space-2)}.u-gap-3{gap:var(--space-3)}.u-gap-4{gap:var(--space-4)}.u-gap-6{gap:var(--space-6)}.u-flex{display:flex}.u-inline-flex{display:inline-flex}.u-flex-col{flex-direction:column}.u-flex-wrap{flex-wrap:wrap}.u-items-center{align-items:center}.u-items-start{align-items:flex-start}.u-items-end{align-items:flex-end}.u-justify-between{justify-content:space-between}.u-justify-center{justify-content:center}.u-justify-end{justify-content:flex-end}.u-flex-1{flex:1}.u-grid{display:grid}.u-grid-cols-2{grid-template-columns:1fr 1fr}.u-grid-cols-3{grid-template-columns:1fr 1fr 1fr}.u-hidden{display:none}.u-block{display:block}.u-cursor-pointer{cursor:pointer}.u-text-center{text-align:center}.u-text-right{text-align:right}.u-nowrap{white-space:nowrap}.u-line-relaxed{line-height:1.6}.u-w-full{width:100%}.u-h-full{height:100%}.u-truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.u-break-word{word-break:break-word}.u-sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.collab-page .toolbar>.smart-select,.collab-page .filter-bar>.smart-select,.collab-page .page-header>.smart-select,.collab-page .toolbar>label>.smart-select,.collab-page .filter-bar>label>.smart-select,.collab-page .page-header>label>.smart-select{flex:none;width:220px!important}.collab-page .checkbox-dropdown__panel .checkbox-dropdown__search input:not([type=checkbox]):not([type=radio]):not([type=date]),.collab-page input.checkbox-dropdown__search:not([type=checkbox]):not([type=radio]):not([type=date]),.checkbox-dropdown__panel .checkbox-dropdown__search input:not([type=checkbox]):not([type=radio]):not([type=date]),input.checkbox-dropdown__search:not([type=checkbox]):not([type=radio]):not([type=date]),.checkbox-dropdown__search input,input.checkbox-dropdown__search{box-sizing:border-box!important;border:1px solid var(--border-color)!important;width:100%!important;height:28px!important;min-height:0!important;color:inherit!important;font-size:var(--text-sm)!important;min-width:0!important;box-shadow:none!important;background-color:#0003!important;background-image:none!important;border-radius:6px!important;flex:auto!important;margin:0!important;padding:6px 10px!important}.collab-page .checkbox-dropdown__panel .checkbox-dropdown__search input:not([type=checkbox]):not([type=radio]):not([type=date]):focus,.collab-page input.checkbox-dropdown__search:not([type=checkbox]):not([type=radio]):not([type=date]):focus,.checkbox-dropdown__panel .checkbox-dropdown__search input:not([type=checkbox]):not([type=radio]):not([type=date]):focus,input.checkbox-dropdown__search:not([type=checkbox]):not([type=radio]):not([type=date]):focus,.checkbox-dropdown__search input:focus,input.checkbox-dropdown__search:focus{border-color:var(--color-primary)!important;box-shadow:none!important;background-color:#0003!important;outline:none!important}.checkbox-dropdown__panel>.checkbox-dropdown__search{z-index:2!important;padding:var(--space-2)!important;border-bottom:1px solid var(--border-color)!important;background:var(--bg-card)!important;align-items:center!important;gap:var(--space-1)!important;display:flex!important;position:sticky!important;top:0!important}.checkbox-dropdown.drop-up>.checkbox-dropdown__panel{top:auto!important;bottom:calc(100% + 4px)!important}.collab-page .toolbar{gap:var(--space-3);margin-bottom:var(--space-3);align-items:center;row-gap:var(--space-3);background:0 0;border:none;flex-wrap:wrap;padding:0;display:flex}.checkbox-dropdown__dept.is-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;display:flex}.checkbox-dropdown__dept.is-toggle:hover{background:#ffffff0f}.checkbox-dropdown__dept.is-toggle input[type=checkbox]{accent-color:var(--color-primary);flex:none;width:13px;height:13px;margin:0}.checkbox-dropdown__dept-name{flex:auto;min-width:0}.checkbox-dropdown__dept-count{font-variant-numeric:tabular-nums;flex:none}.promo-page-wrapper[class]{padding:0!important}.promo-page-wrapper[class] .page-header,.promo-page-wrapper[class] header.page-header{justify-content:space-between!important;align-items:center!important;gap:var(--space-3,12px)!important;margin-bottom:var(--space-4,16px)!important;display:flex!important}.promo-page-wrapper[class] .page-header:has(>h2:only-child){justify-content:space-between!important;align-items:center!important;gap:var(--space-3,12px)!important;margin-bottom:var(--space-4,16px)!important;display:flex!important}.promo-page-wrapper[class] .page-header:has(>h2){justify-content:space-between!important;align-items:center!important;gap:var(--space-3,12px)!important;margin-bottom:var(--space-4,16px)!important;display:flex!important}.promo-page-wrapper[class] .page-header>h2,.promo-page-wrapper[class] .page-header>h2:not(:only-child),.promo-page-wrapper[class]>h2{margin:0!important;font-size:18px!important;font-weight:600!important;display:block!important}.promo-page-wrapper[class] .promo-legacy-page-header{display:flex!important}.promo-page-wrapper[class] .promo-legacy-page-header__title{display:block!important}.promo-page-wrapper[class] .permission-denied{margin-top:var(--space-4,16px);padding:var(--space-6,24px);background:var(--surface-alt,#ffffff0a);border:1px dashed var(--border-color,#ffffff26);border-radius:var(--radius-md,8px);text-align:center;color:var(--text-muted);font-size:13.5px}
