.user-avatar[data-v-82a86fdf]{border-radius:50%;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0;background:var(--color-blue-soft)}.user-avatar--clickable[data-v-82a86fdf]{cursor:pointer;transition:opacity .2s}.user-avatar--clickable[data-v-82a86fdf]:hover{opacity:.85}.user-avatar--clickable[data-v-82a86fdf]:active{opacity:.7}.user-avatar__img[data-v-82a86fdf]{width:100%;height:100%;object-fit:cover}.user-avatar__fallback[data-v-82a86fdf]{display:flex;align-items:center;justify-content:center;color:#fff;font-weight:var(--fw-semibold);border-radius:50%;user-select:none}.top-nav[data-v-d382ca2a]{flex-shrink:0;background:var(--topnav-bg);position:relative;z-index:600;max-width:100%;min-width:0;box-sizing:border-box}.top-nav__bar[data-v-d382ca2a]{display:flex;align-items:center;height:40px;padding:0 var(--space-20);gap:var(--space-16);min-width:0;max-width:100%;box-sizing:border-box}.top-nav__brand[data-v-d382ca2a]{display:flex;align-items:center;gap:var(--space-10);flex-shrink:0;margin-right:8px}.top-nav__brand-icon[data-v-d382ca2a]{width:26px;height:26px;color:var(--color-blue)}.top-nav__brand-text[data-v-d382ca2a]{font-size:var(--font-lg);font-weight:var(--fw-bold);color:var(--text-primary);white-space:nowrap;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.top-nav__buttons[data-v-d382ca2a]{flex:1;min-width:0;display:flex;justify-content:center}.top-nav__scroll-area[data-v-d382ca2a]{display:flex;align-items:center;gap:var(--space-4);overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;padding:var(--space-4) 0;position:relative;min-width:0;max-width:100%}.top-nav__scroll-area[data-v-d382ca2a]::-webkit-scrollbar{display:none}.top-nav__slider[data-v-d382ca2a]{position:absolute;top:4px;height:calc(100% - 8px);background:var(--color-blue);border-radius:var(--radius-md);box-shadow:0 2px 8px rgba(var(--color-blue-rgb),.3);transition:transform .35s cubic-bezier(.4,0,.2,1),width .35s cubic-bezier(.4,0,.2,1),opacity .25s ease;z-index:0;pointer-events:none}.top-nav__btn[data-v-d382ca2a]{display:inline-flex;align-items:center;gap:var(--space-6);padding:var(--space-8) var(--space-16);border:1px solid transparent;border-radius:var(--radius-md);background:transparent;color:#ffffffd1;font-size:var(--font-sm2);font-weight:var(--fw-medium);cursor:pointer;white-space:nowrap;transition:color .25s cubic-bezier(.4,0,.2,1),opacity .25s cubic-bezier(.4,0,.2,1);position:relative;z-index:1;flex-shrink:0;will-change:color;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.top-nav__btn-icon[data-v-d382ca2a]{width:1em;height:1em;font-size:var(--font-lg);flex-shrink:0;opacity:var(--opacity-light);transition:opacity .25s;fill:currentColor}.top-nav__btn[data-v-d382ca2a]:hover{color:var(--color-blue)}.top-nav__btn:hover .top-nav__btn-icon[data-v-d382ca2a]{opacity:1}.top-nav__btn[data-v-d382ca2a]:active:not(:disabled){opacity:.7}.top-nav__btn[data-v-d382ca2a]:disabled{opacity:var(--opacity-dim);cursor:not-allowed;filter:grayscale(.8);pointer-events:none}.top-nav__btn--active[data-v-d382ca2a]{color:#fff}.top-nav__btn--active .top-nav__btn-icon[data-v-d382ca2a]{opacity:1}.top-nav__btn--active[data-v-d382ca2a]:hover{color:#fff}.top-nav__btn--active[data-v-d382ca2a]:active:not(:disabled){opacity:var(--opacity-light)}.top-nav__right[data-v-d382ca2a]{display:flex;align-items:center;gap:var(--space-12);flex-shrink:0;margin-left:8px;min-width:0;max-width:50%;overflow:hidden;box-sizing:border-box}.top-nav__team-select[data-v-d382ca2a]{flex-shrink:1;min-width:0;max-width:160px}.top-nav__team-select[data-v-d382ca2a] .n-base-suffix__arrow{display:none}.top-nav__team-select[data-v-d382ca2a] .n-base-selection{min-width:0;max-width:100%}.top-nav__right[data-v-d382ca2a] .n-dropdown-trigger{min-width:0;flex-shrink:0}.top-nav__filter-btn[data-v-d382ca2a]{position:relative;display:inline-flex;align-items:center;gap:var(--space-6);padding:var(--space-8) var(--space-16);border:1px solid transparent;border-radius:var(--radius-md);background:transparent;color:#ffffffd1;font-size:var(--font-sm2);font-weight:var(--fw-medium);cursor:pointer;white-space:nowrap;transition:color .25s,background .2s;flex-shrink:0;max-width:120px;overflow:hidden;text-overflow:ellipsis}.top-nav__filter-btn[data-v-d382ca2a]:hover{color:var(--color-blue);background:#ffffff0f}.top-nav__filter-btn--active[data-v-d382ca2a],.top-nav__filter-btn--active[data-v-d382ca2a]:hover{color:var(--color-blue)}.top-nav__filter-panel[data-v-d382ca2a]{padding:var(--space-8);max-height:60vh;overflow-y:auto;-webkit-overflow-scrolling:touch}.top-nav__user[data-v-d382ca2a]{position:relative;display:flex;align-items:center;gap:var(--space-8);padding:var(--space-4) var(--space-10) var(--space-4) var(--space-4);border-radius:var(--radius-md);cursor:pointer;transition:background .2s}.top-nav__user[data-v-d382ca2a]:hover{background:#ffffff14}.top-nav__user[data-v-d382ca2a]:after{content:"";position:absolute;bottom:-6px;left:0;right:0;height:6px}.top-nav__user-name[data-v-d382ca2a]{font-size:var(--font-sm2);font-weight:var(--fw-medium);color:#ffffffe0;max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-nav__title-bar[data-v-d382ca2a]{height:var(--page-header-height);display:flex;align-items:center;justify-content:center;background:var(--bg-primary);border-top:none;border-bottom:var(--toolbar-border);box-sizing:border-box;flex-shrink:0;position:relative;padding:0 var(--space-12)}.top-nav__title-btn[data-v-d382ca2a]{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border-light);border-radius:var(--radius-sm2);background:var(--bg-secondary);cursor:pointer;font-size:var(--font-xl);color:var(--text-secondary);transition:background .2s,color .2s,border-color .2s;flex-shrink:0}.top-nav__title-btn[data-v-d382ca2a]:first-child{margin-right:auto}.top-nav__title-btn[data-v-d382ca2a]:last-child{margin-left:auto}.top-nav__title-btn.active[data-v-d382ca2a]{background:var(--color-blue);color:#fff;border-color:var(--color-blue)}.top-nav__title-text[data-v-d382ca2a]{font-size:24px;font-weight:var(--fw-bold);color:var(--color-blue);letter-spacing:-.02em;position:absolute;left:50%;transform:translate(-50%);white-space:nowrap}.title-fade-enter-active[data-v-d382ca2a],.title-fade-leave-active[data-v-d382ca2a]{transition:opacity .3s ease,transform .3s ease}.title-fade-enter-from[data-v-d382ca2a]{opacity:0;transform:translateY(-8px)}.title-fade-leave-to[data-v-d382ca2a]{opacity:0;transform:translateY(8px)}@media(max-width:1023px){.top-nav__bar[data-v-d382ca2a]{height:50px;padding:0 var(--space-12);gap:var(--space-8);position:relative;z-index:1}.top-nav__brand--mobile[data-v-d382ca2a]{cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent}.top-nav__brand--mobile[data-v-d382ca2a]:active{opacity:.7}.top-nav__mobile-menu[data-v-d382ca2a]{position:absolute;top:50px;left:0;right:0;background:var(--topnav-bg);border-top:1px solid rgba(255,255,255,.08);padding:var(--space-8) var(--space-12) var(--space-12);z-index:600;display:grid;grid-template-columns:repeat(5,1fr);gap:var(--space-4)}.top-nav__mobile-menu-item[data-v-d382ca2a]{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);padding:var(--space-10) var(--space-4);border:none;border-radius:var(--radius-md);background:transparent;color:#ffffffb3;font-size:var(--font-xs);cursor:pointer;transition:background .2s,color .2s;-webkit-tap-highlight-color:transparent}.top-nav__mobile-menu-icon[data-v-d382ca2a]{width:1em;height:1em;font-size:22px;opacity:var(--opacity-light);transition:opacity .2s}.top-nav__mobile-menu-item[data-v-d382ca2a]:active{opacity:.6}.top-nav__mobile-menu-item--active[data-v-d382ca2a]{background:var(--color-blue);color:#fff}.top-nav__mobile-menu-item--active .top-nav__mobile-menu-icon[data-v-d382ca2a]{opacity:1}.top-nav__brand-text[data-v-d382ca2a]{display:none}.top-nav__buttons[data-v-d382ca2a]{overflow:hidden}.top-nav__scroll-area[data-v-d382ca2a]{width:100%}.top-nav__btn[data-v-d382ca2a]:first-child{margin-left:auto}.top-nav__btn[data-v-d382ca2a]:last-child{margin-right:auto}.top-nav__btn[data-v-d382ca2a]{padding:var(--space-8) var(--space-12);gap:var(--space-4)}.top-nav__btn-text[data-v-d382ca2a]{display:none}.top-nav__btn-icon[data-v-d382ca2a]{width:1em;height:1em;font-size:20px;opacity:var(--opacity-light)}.top-nav__user-name[data-v-d382ca2a]{display:none}.top-nav__title-bar[data-v-d382ca2a]{height:36px;padding:0}.top-nav__title-btn[data-v-d382ca2a]{border-radius:0;border:none;width:40px;height:100%}.top-nav__title-text[data-v-d382ca2a]{font-size:var(--font-xl)}}.mobile-menu-enter-active[data-v-d382ca2a],.mobile-menu-leave-active[data-v-d382ca2a]{transition:opacity .2s ease,transform .2s ease}.mobile-menu-enter-from[data-v-d382ca2a],.mobile-menu-leave-to[data-v-d382ca2a]{opacity:0;transform:translateY(-8px)}@media(max-width:1023px){.top-nav__btn[data-v-d382ca2a]{padding:7px var(--space-12);font-size:var(--font-sm)}.top-nav__brand-text[data-v-d382ca2a]{font-size:var(--font-md)}}@media(hover:none){.top-nav__btn[data-v-d382ca2a]:active:not(:disabled){color:var(--color-blue)}.top-nav__btn:active:not(:disabled) .top-nav__btn-icon[data-v-d382ca2a]{opacity:1}.top-nav__user[data-v-d382ca2a]:active{background:#ffffff1f}.top-nav__title-btn[data-v-d382ca2a]:active{background:var(--color-blue);color:#fff;border-color:var(--color-blue)}}.collapsible-panel[data-v-252fdf20]{position:relative;height:100%;min-width:0;overflow:visible;box-sizing:border-box}.collapsible-panel--left[data-v-252fdf20]{border-right:1px solid var(--border-light, #e2e5ef)}.collapsible-panel--right[data-v-252fdf20]{border-left:1px solid var(--border-light, #e2e5ef)}.collapsible-panel__clip[data-v-252fdf20]{position:absolute;inset:0;overflow:hidden;background:var(--bg-primary)}.collapsible-panel__slider[data-v-252fdf20]{width:var(--panel-side-width, 280px);height:100%;transition:transform .3s cubic-bezier(.4,0,.2,1);will-change:transform;background:var(--bg-primary)}.collapsible-panel--left .collapsible-panel__slider[data-v-252fdf20]{transform:translate(0)}.collapsible-panel--left.collapsible-panel--collapsed .collapsible-panel__slider[data-v-252fdf20]{transform:translate(-100%)}.collapsible-panel--right .collapsible-panel__slider[data-v-252fdf20]{transform:translate(0)}.collapsible-panel--right.collapsible-panel--collapsed .collapsible-panel__slider[data-v-252fdf20]{transform:translate(100%)}.collapsible-panel__body[data-v-252fdf20]{width:var(--panel-side-width, 280px);height:100%;display:flex;flex-direction:column;overflow:hidden;padding:0 var(--space-12) var(--space-12) var(--space-12);box-sizing:border-box;background:var(--bg-primary)}.collapsible-panel__toggle[data-v-252fdf20]{position:absolute;top:50%;width:24px;height:48px;padding:0;border:none;background:#fafbfc;color:var(--text-muted, #8890a4);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transform:translateY(-50%);transition:background .2s ease,color .2s ease,box-shadow .2s ease,border-color .2s ease;outline:none;z-index:2;box-shadow:0 1px 4px #0000000f}.collapsible-panel--left .collapsible-panel__toggle[data-v-252fdf20]{left:100%;right:auto;border-radius:0 4px 4px 0;border-left:1px solid var(--border-light, #e2e5ef)}.collapsible-panel--right .collapsible-panel__toggle[data-v-252fdf20]{left:auto;right:100%;border-radius:4px 0 0 4px;border-right:1px solid var(--border-light, #e2e5ef)}.collapsible-panel__toggle[data-v-252fdf20]:hover{background:#eef0f3;color:var(--text-secondary, #4a4e69);box-shadow:0 2px 8px #0000001f}.collapsible-panel__toggle[data-v-252fdf20]:active{background:#e2e5ea;box-shadow:0 1px 2px #00000014}.collapsible-panel__toggle svg[data-v-252fdf20]{transition:transform .2s ease}.collapsible-panel--left .collapsible-panel__toggle svg[data-v-252fdf20]{transform:rotate(0)}.collapsible-panel--left.collapsible-panel--collapsed .collapsible-panel__toggle svg[data-v-252fdf20]{transform:rotate(180deg)}.collapsible-panel--right .collapsible-panel__toggle svg[data-v-252fdf20]{transform:rotate(180deg)}.collapsible-panel--right.collapsible-panel--collapsed .collapsible-panel__toggle svg[data-v-252fdf20]{transform:rotate(0)}@media(max-width:1023px){.collapsible-panel[data-v-252fdf20]{position:fixed;top:calc(var(--topnav-height, 56px) + var(--page-header-height, 40px));bottom:0;width:var(--panel-side-width, 280px)!important;z-index:550;transition:transform .3s cubic-bezier(.4,0,.2,1);border:none}.collapsible-panel--left[data-v-252fdf20]{left:0;transform:translate(-100%)}.collapsible-panel--left.collapsible-panel--collapsed[data-v-252fdf20]{transform:translate(-100%)}.collapsible-panel--left[data-v-252fdf20]:not(.collapsible-panel--collapsed){transform:translate(0);box-shadow:4px 0 16px #0000001f}.collapsible-panel--right[data-v-252fdf20]{right:0;transform:translate(100%)}.collapsible-panel--right.collapsible-panel--collapsed[data-v-252fdf20]{transform:translate(100%)}.collapsible-panel--right[data-v-252fdf20]:not(.collapsible-panel--collapsed){transform:translate(0);box-shadow:-4px 0 16px #0000001f}.collapsible-panel__clip[data-v-252fdf20]{position:relative;width:100%}.collapsible-panel__slider[data-v-252fdf20]{transform:none!important;width:100%}.collapsible-panel__body[data-v-252fdf20]{width:100%}.collapsible-panel__toggle[data-v-252fdf20]{display:none}}@media print{.collapsible-panel[data-v-252fdf20]{display:none!important}}.error-boundary[data-v-829e7946]{display:flex;align-items:center;justify-content:center;min-height:200px;padding:var(--space-24)}.error-boundary-content[data-v-829e7946]{text-align:center;max-width:400px}.error-boundary-icon[data-v-829e7946]{font-size:36px;margin-bottom:12px}.error-boundary-title[data-v-829e7946]{font-size:var(--font-lg);font-weight:var(--fw-semibold);color:var(--parchment, #f0ebe3);margin-bottom:8px}.error-boundary-desc[data-v-829e7946]{font-size:var(--font-sm2);color:var(--mist, #8b8d9a);margin-bottom:16px;word-break:break-all}.error-boundary-stack[data-v-829e7946]{margin-top:16px;text-align:left}.error-boundary-stack summary[data-v-829e7946]{cursor:pointer;font-size:var(--font-sm2);color:var(--amber, #c8956c);margin-bottom:8px}.error-boundary-stack pre[data-v-829e7946]{background:#0000004d;padding:var(--space-12);border-radius:var(--radius-sm);font-size:var(--font-xs);color:var(--mist, #8b8d9a);overflow-x:auto;max-height:200px;white-space:pre-wrap;word-break:break-all}.route-loading-bar[data-v-d852ea07]{position:fixed;top:0;left:0;width:0;height:2px;background:var(--color-blue);z-index:var(--z-loading);transition:none}body.route-loading{width:100%;transition:width .4s ease}.viewport-border-container[data-v-d852ea07]{position:fixed;inset:0;box-sizing:border-box;overflow:hidden;z-index:0}.app-root[data-v-d852ea07]{width:100%;height:100%;display:flex;flex-direction:column;position:relative}.app-loading[data-v-d852ea07]{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg-primary);z-index:var(--z-notification)}.app-loading-text[data-v-d852ea07]{margin-top:12px;color:rgba(var(--color-blue-rgb),.6);font-size:var(--font-md);font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif;letter-spacing:1px}.app-body-wrapper[data-v-d852ea07]{width:100%;height:100%;display:flex;flex-direction:column;opacity:0}.app-body-wrapper.app-ready[data-v-d852ea07]{opacity:1;transition:opacity .2s ease}.app-body-wrapper>div[data-v-d852ea07]{flex:1;min-height:0;display:flex;flex-direction:column}.auth-layout[data-v-d852ea07]{flex:1;min-height:0;background:var(--bg-tertiary);position:relative;overflow:hidden}.auth-route-enter-active[data-v-d852ea07],.auth-route-leave-active[data-v-d852ea07]{transition:opacity .15s ease}.auth-route-enter-from[data-v-d852ea07],.auth-route-leave-to[data-v-d852ea07]{opacity:0}.app-layout[data-v-d852ea07]{display:flex;flex-direction:column;height:100%;overflow:hidden;position:relative}.app-layout__body[data-v-d852ea07]{flex:1;display:grid;grid-template-columns:var(--panel-side-width, 280px) 1fr var(--panel-side-width, 280px);gap:0;padding:0;overflow:visible;min-height:0;align-items:stretch;background:var(--bg-secondary)}.app-layout__body--no-panel-anim[data-v-d852ea07] .collapsible-panel__slider{transition-duration:0s!important}.app-layout__body--left-collapsed[data-v-d852ea07]{grid-template-columns:0px 1fr var(--panel-side-width, 280px)}.app-layout__body--right-collapsed[data-v-d852ea07]{grid-template-columns:var(--panel-side-width, 280px) 1fr 0px}.app-layout__body--left-collapsed.app-layout__body--right-collapsed[data-v-d852ea07]{grid-template-columns:0px 1fr 0px}.app-layout__body--no-panels[data-v-d852ea07]{grid-template-columns:1fr}.app-layout__left-divider[data-v-d852ea07]{height:1px;background:var(--border-light);flex-shrink:0}.app-layout__center[data-v-d852ea07]{min-width:0;min-height:600px;display:flex;flex-direction:column;background:var(--bg-primary);padding:0 30px}.app-layout__center--flush[data-v-d852ea07]{padding-left:0;padding-right:0}.app-layout__center--flush .app-layout__center-body[data-v-d852ea07]{padding-bottom:0}.app-layout__modal-mount[data-v-d852ea07]{position:absolute;inset:0;pointer-events:none;z-index:var(--z-modal);overflow:hidden}.app-footer[data-v-d852ea07]{display:flex;align-items:center;justify-content:center;height:28px;font-size:var(--font-sm2);color:var(--text-muted);padding:0}.app-footer p[data-v-d852ea07]{margin:0}.app-footer p[data-v-d852ea07]:last-child{margin-bottom:0}.app-footer a[data-v-d852ea07]{color:var(--text-muted);text-decoration:none;display:inline-flex;align-items:center;vertical-align:middle;gap:var(--space-2);margin-left:20px}.app-footer a[data-v-d852ea07]:hover{color:var(--color-blue)}.beian-icon[data-v-d852ea07]{width:14px;height:14px;vertical-align:middle}.beian-divider[data-v-d852ea07]{color:var(--text-muted);margin:0 var(--space-8)}.app-layout__center-body[data-v-d852ea07]{flex:1;overflow-y:auto;overflow-x:hidden;min-height:0;scrollbar-width:thin;scrollbar-color:var(--border-light) transparent;padding-bottom:28px}.app-layout__center-body.no-scroll[data-v-d852ea07]{overflow-y:hidden;padding-bottom:0}.app-layout__center-body[data-v-d852ea07]::-webkit-scrollbar{width:6px}.app-layout__center-body[data-v-d852ea07]::-webkit-scrollbar-track{background:transparent}.app-layout__center-body[data-v-d852ea07]::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:var(--radius-xs)}.app-layout__center-body[data-v-d852ea07]::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@media(max-width:1023px){.app-layout__body[data-v-d852ea07]{grid-template-columns:1fr;grid-template-rows:1fr;gap:0;padding:0}.app-layout__center[data-v-d852ea07]{min-height:400px}}.mobile-overlay[data-v-d852ea07]{position:fixed;inset:0;background:#0000004d;z-index:510}.overlay-fade-enter-active[data-v-d852ea07]{transition:opacity .25s ease}.overlay-fade-leave-active[data-v-d852ea07]{transition:opacity .2s ease}.overlay-fade-enter-from[data-v-d852ea07],.overlay-fade-leave-to[data-v-d852ea07]{opacity:0}@media print{.app-layout__body--left-collapsed[data-v-d852ea07],.app-layout__body--right-collapsed[data-v-d852ea07],.app-layout__body--left-collapsed.app-layout__body--right-collapsed[data-v-d852ea07]{grid-template-columns:0px 1fr 0px!important}.app-layout__center[data-v-d852ea07]{min-height:auto}.mobile-overlay[data-v-d852ea07]{display:none!important}}@media(hover:none){.app-layout__center-body[data-v-d852ea07]::-webkit-scrollbar-thumb:active{background:var(--text-muted)}}:root{--bg-primary: #F7F8FA;--bg-secondary: #E0F5E8;--bg-tertiary: #f8f9fc;--bg-elevated: #ffffff;--text-primary: #1a1d2e;--text-secondary: #4a4e69;--text-muted: #6e7590;--text-tertiary: #8890a4;--border-light: #e2e5ef;--border-soft: #eceef5;--accent-soft: var(--text-tertiary);--accent-warm: var(--color-orange);--shadow-soft: 0 1px 3px rgba(var(--color-blue-rgb), .04), 0 1px 2px rgba(26, 29, 46, .06);--shadow-card: 0 1px 3px rgba(0, 0, 0, .08), 0 1px 2px rgba(0, 0, 0, .06);--shadow-card-lg: 0 8px 24px rgba(0, 0, 0, .08);--shadow-glow: 0 0 20px rgba(var(--color-blue-rgb), .15);--radius-xs: 4px;--radius-sm: 6px;--radius-sm2: 8px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 18px;--space-2: 2px;--space-4: 4px;--space-6: var(--space-4);--space-8: 8px;--space-10: var(--space-8);--space-12: 12px;--space-16: 16px;--space-20: 20px;--space-24: 24px;--layout-gap: var(--space-8);--layout-padding: var(--space-8);--left-panel-width: 25%;--right-panel-width: 25%;--panel-side-width: 280px;--topnav-height: 56px;--titlebar-height: 48px;--font-sm: 12px;--font-md: 14px;--font-lg: 16px;--font-xl: 18px;--font-2xs: var(--font-sm);--font-xs: var(--font-sm);--font-sm2: var(--font-md);--font-base: var(--font-md);--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--lh-none: 1;--lh-tight: 1.2;--lh-normal: 1.5;--lh-relaxed: 1.6;--opacity-disabled: .5;--opacity-dim: .4;--opacity-light: .8;--transition-fast: .2s cubic-bezier(.4, 0, .2, 1);--transition-normal: .3s cubic-bezier(.4, 0, .2, 1);--color-blue: #008C8C;--color-blue-rgb: 0, 140, 140;--color-blue-hover: #33A3A3;--color-blue-soft: rgba(var(--color-blue-rgb), .08);--color-blue-muted: rgba(var(--color-blue-rgb), .15);--color-blue-active: #3d5ce0;--color-green: #34c759;--color-green-rgb: 52, 199, 89;--color-green-soft: rgba(var(--color-green-rgb), .08);--color-green-muted: rgba(var(--color-green-rgb), .15);--color-green-400: #80c080;--color-green-500: var(--color-green);--color-green-600: var(--color-green);--color-green-moss: #5a9a5a;--color-success: var(--color-green);--color-red: #ef4444;--color-red-rgb: 239, 68, 68;--color-red-soft: rgba(var(--color-red-rgb), .08);--color-red-muted: rgba(var(--color-red-rgb), .15);--color-red-600: #dc2626;--color-red-700: #b91c1c;--color-orange: #f59e0b;--color-orange-rgb: 245, 158, 11;--color-orange-soft: rgba(var(--color-orange-rgb), .08);--color-orange-muted: rgba(var(--color-orange-rgb), .15);--color-purple: #8b5cf6;--color-purple-rgb: 139, 92, 246;--color-purple-soft: rgba(var(--color-purple-rgb), .08);--color-purple-muted: rgba(var(--color-purple-rgb), .15);--color-blue-600: #2563eb;--gradient-primary: linear-gradient(135deg, #007A7A 0%, #33A3A3 100%);--gradient-quote-card: linear-gradient(135deg, #eef2ff 0%, #e0e7ff 50%, #c7d2fe 100%);--gradient-quote-image: linear-gradient(135deg, #c7d2fe, #a5b4fc);--gradient-quote-placeholder: linear-gradient(135deg, #e0e7ff, #c7d2fe);--chart-indigo: #6366f1;--chart-indigo-rgb: 99, 102, 241;--chart-indigo-light: #818cf8;--chart-orange: #f97316;--chart-orange-rgb: 249, 115, 22;--chart-light-blue: #93c5fd;--chart-light-blue-rgb: 147, 197, 253;--chart-yellow: #fcd34d;--chart-yellow-rgb: 252, 211, 77;--chart-pink: #fca5a5;--chart-pink-rgb: 252, 165, 165;--chart-blue: #3b82f6;--chart-blue-rgb: 59, 130, 246;--topnav-bg: #1c1c1c;--caret-color: #0d9488;--page-padding: var(--space-20);--page-max-width: 100%;--page-header-height: 40px;--panel-header-height: 40px;--panel-header-padding-x: 14px;--panel-title-font-size: var(--font-md);--panel-title-line-height: 20px;--panel-title-icon-size: 16px;--toolbar-height: 42px;--toolbar-padding-y: 10px;--toolbar-border: 1px solid var(--border-soft);--z-dropdown: 100;--z-sticky: 200;--z-overlay: 500;--z-modal: 1000;--z-popover: 1100;--z-tooltip: 1200;--z-notification: 9000;--z-loading: 10000}*,*:before,*:after{box-sizing:border-box}html,body{height:100%;margin:0;padding:0;overflow:hidden;background:var(--bg-primary)}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:rgba(var(--color-blue-rgb),.12);border-radius:var(--radius-xs)}::-webkit-scrollbar-thumb:hover{background:rgba(var(--color-blue-rgb),.22)}body{font-family:PingFang SC,Microsoft YaHei,-apple-system,BlinkMacSystemFont,sans-serif;background-color:var(--bg-primary);caret-color:var(--caret-color);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}input,textarea,[contenteditable=true]{user-select:text;-webkit-user-select:text;-webkit-touch-callout:default}button,.btn,[role=button],a,.ant-btn,.ant-dropdown-menu-item{-webkit-tap-highlight-color:transparent;touch-action:manipulation}@media(hover:none){.btn:hover:not(:disabled),.ant-btn:hover{transform:none!important}.btn--primary:hover:not(:disabled),.btn--danger:hover:not(:disabled),.btn--confirm:hover:not(:disabled),.btn--gradient:hover:not(:disabled),.btn--login:hover:not(:disabled),.btn--toolbar.primary-btn:hover:not(:disabled),.summary-header-actions .btn--toolbar:hover:not(:disabled),.ant-btn-primary:hover{box-shadow:none!important}}button:not([class*=n-button]):focus-visible,a:not([class*=n-]):focus-visible,[tabindex]:not([class*=n-]):focus-visible{outline:none}button:not([class*=n-button]):focus:not(:focus-visible),a:not([class*=n-]):focus:not(:focus-visible),[tabindex]:not([class*=n-]):focus:not(:focus-visible){outline:none}.ant-btn .anticon,.ant-btn svg,.btn .anticon,.btn svg,.btn .btn-icon,.nav-item .btn-icon,.nav-item svg,.row-action svg{transform:translateZ(0);backface-visibility:hidden}.ant-btn svg,.btn svg,.nav-item svg,.row-action svg{fill:currentColor;transition:fill var(--transition-fast)}.app-root{width:100%;height:100%;display:flex;flex-direction:column;position:relative;overflow:hidden}.app-root>div{flex:1;display:flex;flex-direction:column;min-height:0}.page-container{padding:var(--space-12);max-width:var(--page-max-width);margin:0 auto;width:100%;box-sizing:border-box}.page-actions{display:flex;align-items:center;gap:var(--space-6);width:calc(100% + 24px);height:var(--panel-header-height);padding:0;margin-left:-12px;margin-right:-12px;box-sizing:border-box;position:sticky;top:0;z-index:10;flex-shrink:0;border-bottom:1px solid var(--border-light);background:var(--bg-primary);margin-bottom:28px}.page-actions button{height:32px;box-sizing:border-box}.main-content{flex:1;display:flex;flex-direction:column;background:var(--bg-primary);min-width:0;position:relative}.tables-container{-webkit-overflow-scrolling:touch;flex:1;background:transparent;overflow:auto;position:relative}.action-btn{width:100%;padding:var(--space-8) var(--space-12);border:none;border-radius:var(--radius-sm);font-size:var(--font-sm2);font-weight:var(--fw-medium);cursor:pointer;transition:background .25s cubic-bezier(.4,0,.2,1),color .25s cubic-bezier(.4,0,.2,1);user-select:none;-webkit-user-select:none;background:transparent;color:var(--text-secondary);display:flex;align-items:center;gap:var(--space-8)}.action-btn .btn-icon{font-size:var(--font-lg);line-height:var(--lh-none);display:inline-flex;align-items:center;flex-shrink:0;opacity:var(--opacity-disabled);transition:opacity var(--transition-fast);width:16px;height:16px}.action-btn:hover .btn-icon{opacity:var(--opacity-light)}.action-btn:hover{background:var(--color-blue-soft);color:var(--color-blue)}.action-btn:disabled{opacity:var(--opacity-dim);cursor:not-allowed;pointer-events:none}.import-btn{color:var(--text-secondary)}.import-btn:hover{background:var(--color-blue-soft);color:var(--color-blue)}.record-btn{color:var(--text-secondary);border:none}.record-btn:hover,.record-btn.active{background:var(--color-blue-soft);color:var(--color-blue)}.clear-day-btn{color:var(--text-secondary)}.clear-day-btn:hover{background:var(--color-red-soft);color:var(--color-red)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--btn-gap, 6px);padding:var(--btn-padding, 7px 16px);border-radius:var(--btn-radius, var(--radius-sm));border:var(--btn-border, 1px solid transparent);background:var(--btn-bg, transparent);color:var(--btn-color, var(--text-secondary));font-size:var(--btn-font-size, var(--font-md));font-weight:var(--btn-font-weight, 500);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast);white-space:nowrap;height:var(--btn-height, auto);line-height:var(--lh-normal);user-select:none;-webkit-user-select:none;position:relative;overflow:hidden;box-sizing:border-box}.btn:active:not(:disabled){background:var(--btn-active-bg, var(--bg-tertiary))}.btn:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.n-button:disabled{cursor:pointer}.btn--primary{--btn-bg: var(--color-blue);--btn-color: white;--btn-border: 1px solid var(--color-blue);--btn-hover-bg: var(--color-blue-hover);--btn-hover-border: var(--color-blue-hover);--btn-hover-shadow: 0 4px 12px rgba(var(--color-blue-rgb), .35);--btn-active-bg: var(--color-blue-active);--btn-active-shadow: 0 2px 6px rgba(var(--color-blue-rgb), .25)}.btn--primary:hover:not(:disabled){background:var(--btn-hover-bg);border-color:var(--btn-hover-border);box-shadow:var(--btn-hover-shadow)}.btn--primary:active:not(:disabled){background:var(--btn-active-bg);box-shadow:var(--btn-active-shadow)}.btn--secondary{--btn-bg: var(--bg-secondary);--btn-color: var(--text-secondary);--btn-border: 1px solid var(--border-light)}.btn--secondary:hover:not(:disabled){border-color:var(--text-muted);color:var(--text-primary);background:var(--bg-tertiary)}.btn--secondary:active:not(:disabled){background:var(--bg-primary)}.btn--danger{--btn-bg: var(--color-red);--btn-color: white;--btn-border: 1px solid var(--color-red);--btn-hover-bg: var(--color-red-600);--btn-hover-border: var(--color-red-600);--btn-hover-shadow: 0 4px 12px rgba(239, 68, 68, .35);--btn-active-bg: var(--color-red-700)}.btn--danger:hover:not(:disabled){background:var(--btn-hover-bg);border-color:var(--btn-hover-border);box-shadow:var(--btn-hover-shadow)}.btn--danger:active:not(:disabled){background:var(--btn-active-bg)}.btn--danger-outline{--btn-bg: var(--bg-secondary);--btn-color: var(--color-red);--btn-border: 1px solid var(--color-red)}.btn--danger-outline:hover:not(:disabled){background:var(--color-red-soft);border-color:var(--color-red)}.btn--ghost{--btn-bg: transparent;--btn-color: var(--text-secondary);--btn-border: 1px solid transparent}.btn--ghost:hover:not(:disabled){background:var(--color-blue-soft);color:var(--color-blue)}.btn--ghost:active:not(:disabled){background:var(--color-blue-muted)}.btn--link{--btn-bg: transparent;--btn-color: var(--color-blue);--btn-border: 1px solid transparent;--btn-padding: 0;--btn-height: auto}.btn--link:hover:not(:disabled){color:var(--color-blue-hover);text-decoration:underline}.btn--gradient{--btn-bg: var(--gradient-primary);--btn-color: white;--btn-border: none;--btn-hover-bg: var(--gradient-primary);--btn-hover-shadow: 0 4px 12px rgba(var(--color-blue-rgb), .35);--btn-active-shadow: 0 2px 6px rgba(var(--color-blue-rgb), .25)}.btn--gradient:hover:not(:disabled){box-shadow:var(--btn-hover-shadow)}.btn--gradient:active:not(:disabled){box-shadow:var(--btn-active-shadow)}.btn--confirm{--btn-bg: var(--color-blue);--btn-color: white;--btn-border: 1px solid var(--color-blue);--btn-hover-bg: var(--color-blue-hover);--btn-hover-shadow: 0 4px 12px rgba(var(--color-blue-rgb), .35);--btn-active-shadow: 0 2px 6px rgba(var(--color-blue-rgb), .25)}.btn--confirm:hover:not(:disabled){background:var(--btn-hover-bg);box-shadow:var(--btn-hover-shadow)}.btn--confirm:disabled{opacity:var(--opacity-disabled)}.btn--cancel{--btn-bg: var(--bg-secondary);--btn-color: var(--text-secondary);--btn-border: 1px solid var(--border-light)}.btn--cancel:hover:not(:disabled){border-color:var(--text-muted);color:var(--text-primary)}.btn--cancel:active:not(:disabled){background:var(--bg-primary)}.btn--export{--btn-color: var(--color-blue);--btn-border: 1px solid var(--color-blue)}.btn--export:hover:not(:disabled){background:var(--color-blue-soft)}.btn--toolbar{--btn-padding: 6px 14px;--btn-bg: var(--bg-secondary);--btn-color: var(--text-secondary);--btn-border: 1px solid var(--border-light);--btn-height: 32px}.btn--toolbar:hover:not(:disabled){border-color:var(--color-blue);color:var(--color-blue);background:var(--color-blue-soft);box-shadow:var(--shadow-soft)}.btn--toolbar:active:not(:disabled){background:var(--color-blue-muted)}.btn--toolbar:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.btn--toolbar svg{width:14px;height:14px;flex-shrink:0}.btn--toolbar .btn-icon{font-size:var(--font-md);line-height:var(--lh-none);display:inline-flex;align-items:center;flex-shrink:0;width:14px;height:14px}.btn--toolbar-active{border-color:var(--color-blue);color:var(--color-blue);background:var(--color-blue-soft)}.btn--toolbar.primary-btn{--btn-bg: var(--color-blue);--btn-color: white;--btn-border: 1px solid var(--color-blue)}.btn--toolbar.primary-btn:hover:not(:disabled){background:var(--color-blue-hover);color:#fff;box-shadow:0 4px 12px rgba(var(--color-blue-rgb),.35)}.btn--login{--btn-padding: 12px;--btn-bg: var(--gradient-primary);--btn-color: white;--btn-border: none;--btn-radius: var(--radius-md);--btn-font-size: var(--font-md);--btn-font-weight: var(--fw-semibold);--btn-gap: 8px;display:flex;width:100%;letter-spacing:.02em}.btn--login:hover:not(:disabled){box-shadow:0 6px 20px rgba(var(--color-blue-rgb),.4)}.btn--login:active:not(:disabled){box-shadow:0 2px 8px rgba(var(--color-blue-rgb),.3)}.btn--login:disabled{opacity:var(--opacity-disabled);box-shadow:none}.btn--sm{--btn-padding: 4px 10px;--btn-font-size: 12px;--btn-gap: 4px}.btn--lg{--btn-padding: 10px 24px;--btn-font-size: 14px;--btn-gap: 8px}.btn--icon{width:32px;height:32px;padding:0;border-radius:var(--radius-sm)}.btn--icon.btn--sm{width:28px;height:28px}.btn--icon.btn--lg{width:40px;height:40px}.btn--icon svg{width:16px;height:16px}.btn--block{width:100%}.btn.loading{pointer-events:none;position:relative;color:transparent}.btn.loading:after{content:"";position:absolute;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:btnSpin .6s linear infinite}.btn--secondary.loading:after,.btn--cancel.loading:after,.btn--ghost.loading:after,.btn--toolbar.loading:after{border-color:#0000001a;border-top-color:var(--text-secondary)}.btn--login.loading:after{width:20px;height:20px}.btn-group{display:inline-flex;gap:0}.btn-group .btn{border-radius:0}.btn-group .btn:first-child{border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.btn-group .btn:last-child{border-radius:0 var(--radius-sm) var(--radius-sm) 0}.btn-group .btn+.btn{margin-left:-1px}.btn-group .btn:hover{z-index:1}.row-action{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast);margin-left:4px;background:transparent}.summary-header-actions{display:flex;align-items:center;gap:var(--space-6);width:100%}.summary-header-actions .btn--toolbar{background:var(--color-blue);color:#fff;border-color:var(--color-blue)}.summary-header-actions .btn--toolbar:hover:not(:disabled){background:var(--color-blue-hover);color:#fff;border-color:var(--color-blue-hover);box-shadow:0 4px 12px rgba(var(--color-blue-rgb),.35)}.summary-header-actions .btn--toolbar:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.row-action svg{width:14px;height:14px}.row-action--edit{color:var(--color-blue)}.row-action--edit:hover{background:var(--color-blue-soft)}.row-action--delete{color:var(--color-red)}.row-action--delete:hover{background:var(--color-red-soft)}.row-action--transfer{color:var(--color-orange)}.row-action--transfer:hover{background:var(--color-orange-soft)}.row-action--add{color:var(--color-green)}.row-action--add:hover{background:var(--color-green-soft)}.sidebar .page-header{width:100%;display:flex;align-items:center;justify-content:center;padding:var(--toolbar-padding-y) clamp(10px,calc(8px + .5vw),var(--space-12));border-bottom:var(--toolbar-border);background:var(--bg-primary);height:var(--page-header-height);box-sizing:border-box;position:relative;flex-shrink:0}.sidebar .page-title{font-size:var(--font-lg);font-weight:var(--fw-bold);color:var(--color-blue);display:inline-flex;align-items:center;gap:var(--space-8);letter-spacing:.3px;line-height:var(--lh-none)}.sidebar .page-title .btn-icon{font-size:var(--font-xl);line-height:var(--lh-none);display:inline-flex;align-items:center;flex-shrink:0;opacity:.7;width:18px;height:18px}.page-header--centered{width:100%;display:flex;align-items:center;justify-content:center;padding:var(--toolbar-padding-y) clamp(10px,calc(8px + .5vw),var(--space-12));border-bottom:var(--toolbar-border);background:var(--bg-primary);height:var(--page-header-height);box-sizing:border-box;position:relative;flex-shrink:0}.page-title--blue{font-size:var(--font-lg);font-weight:var(--fw-bold);color:var(--color-blue);display:inline-flex;align-items:center;gap:var(--space-8);letter-spacing:.3px;line-height:var(--lh-none)}.page-title--blue .btn-icon{font-size:var(--font-xl);line-height:var(--lh-none);display:inline-flex;align-items:center;flex-shrink:0;opacity:.7;width:18px;height:18px}.text-muted{color:var(--text-muted)}@media(max-width:1023px){:root{--page-padding: 12px}.page-container{padding:var(--page-padding)}.btn--lg{padding:var(--space-8) 18px;font-size:var(--font-sm2)}.btn-group{flex-wrap:wrap;gap:var(--space-4)}.btn-group .btn{border-radius:var(--radius-sm)}.btn-group .btn+.btn{margin-left:0}.summary-header-actions{gap:var(--space-6);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.summary-header-actions::-webkit-scrollbar{display:none}.summary-header-actions>.n-button{flex-shrink:0;padding:var(--space-6) var(--space-10);font-size:var(--font-sm);gap:var(--space-2);white-space:nowrap}.summary-header-actions .btn--toolbar{flex-shrink:0;padding:var(--space-6) var(--space-10);font-size:var(--font-sm);gap:var(--space-2);white-space:nowrap}.summary-header-actions .btn--toolbar .btn-icon{font-size:var(--font-sm);width:12px;height:12px}}@media(max-width:640px){.summary-header-actions>.n-button{flex-shrink:0;font-size:var(--font-sm2);padding:6px var(--space-10);white-space:nowrap}}.vxe-table--render-default .vxe-table--body-wrapper,.vxe-table--render-default .vxe-table--footer-wrapper{background-color:var(--bg-primary)}.vxe-table--render-default.border--default .vxe-footer--column,.vxe-table--render-default.border--inner .vxe-footer--column,.vxe-table--render-default.border--default .vxe-body--column,.vxe-table--render-default.border--inner .vxe-body--column{background-image:linear-gradient(var(--bg-primary),var(--bg-primary))}.vxe-table--render-default .vxe-table--header-wrapper,.vxe-table--render-default.border--default .vxe-table--header-wrapper,.vxe-table--render-default.border--full .vxe-table--header-wrapper,.vxe-table--render-default.border--outer .vxe-table--header-wrapper{background-color:var(--bg-secondary)}.vxe-table--render-default.border--default .vxe-header--column,.vxe-table--render-default.border--inner .vxe-header--column{background-image:linear-gradient(var(--bg-secondary),var(--bg-secondary))}.n-base-select-option__check{display:none}.n-base-loading circle.n-base-loading__icon{stroke-dashoffset:567}html{font-size:var(--font-lg);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.fade-enter-active,.fade-leave-active{transition:opacity .25s ease}.fade-enter-from,.fade-leave-to{opacity:0}.slide-up-enter-active,.slide-up-leave-active{transition:all .3s cubic-bezier(.4,0,.2,1)}.slide-up-enter-from{opacity:0;transform:translateY(12px)}.slide-up-leave-to{opacity:0;transform:translateY(-8px)}.slide-right-enter-active,.slide-right-leave-active{transition:all .3s cubic-bezier(.4,0,.2,1)}.slide-right-enter-from{opacity:0;transform:translate(-16px)}.slide-right-leave-to{opacity:0;transform:translate(16px)}::selection{background:rgba(var(--color-blue-rgb),.15);color:var(--text-primary, #1a1d2e)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 1000px transparent inset!important;box-shadow:0 0 0 1000px transparent inset!important;-webkit-text-fill-color:var(--text-primary)!important;caret-color:var(--text-primary)!important;transition:background-color 5000s ease-in-out 0s!important}
