.global-quick-entry[data-v-43aea847]{z-index:230;touch-action:none;flex-direction:column;align-items:flex-start;gap:12px;display:flex;position:fixed;bottom:24px;left:24px}.quick-panel[data-v-43aea847]{-webkit-backdrop-filter:blur(12px);background:#fffffff5;border:1px solid #e2e8f0f2;border-radius:14px;width:220px;padding:14px;box-shadow:0 18px 40px #0f172a24}.quick-panel-head[data-v-43aea847]{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.quick-panel-title[data-v-43aea847]{color:#172033;font-size:15px;font-weight:700}.quick-panel-close[data-v-43aea847]{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:6px;width:24px;height:24px;font-size:18px;line-height:1}.quick-panel-close[data-v-43aea847]:hover{color:#64748b;background:#f1f5f9}.quick-panel-body[data-v-43aea847]{flex-direction:column;gap:8px;display:flex}.quick-panel-body[data-v-43aea847] .el-button{justify-content:flex-start;margin:0}.quick-fab[data-v-43aea847]{color:#fff;cursor:grab;-webkit-user-select:none;user-select:none;background:linear-gradient(135deg,#2563eb,#1d4ed8);border:1px solid #2563eb2e;border-radius:999px;align-items:center;gap:8px;padding:12px 16px;font-size:14px;font-weight:600;transition:transform .18s,box-shadow .18s;display:inline-flex;box-shadow:0 12px 28px #2563eb47}.quick-fab[data-v-43aea847]:hover,.quick-fab.active[data-v-43aea847]{transform:translateY(-2px);box-shadow:0 16px 32px #2563eb57}.global-quick-entry.dragging .quick-fab[data-v-43aea847],.global-quick-entry.dragging .quick-fab[data-v-43aea847]:hover,.global-quick-entry.dragging .quick-fab.active[data-v-43aea847]{cursor:grabbing;transform:none;box-shadow:0 12px 28px #2563eb47}.quick-fab-text[data-v-43aea847]{line-height:1}.quick-panel-enter-active[data-v-43aea847],.quick-panel-leave-active[data-v-43aea847]{transition:opacity .18s,transform .18s}.quick-panel-enter-from[data-v-43aea847],.quick-panel-leave-to[data-v-43aea847]{opacity:0;transform:translateY(8px)scale(.98)}@media (width<=768px){.global-quick-entry[data-v-43aea847]{bottom:16px;left:16px}.quick-panel[data-v-43aea847]{width:min(220px,100vw - 32px)}.quick-fab-text[data-v-43aea847]{display:none}.quick-fab[data-v-43aea847]{border-radius:50%;justify-content:center;width:52px;height:52px;padding:0}}.global-search[data-v-896974a4]{width:240px}.search-option[data-v-896974a4]{align-items:flex-start;gap:10px;padding:4px 0;display:flex}.search-type[data-v-896974a4]{color:#2563eb;text-align:center;background:#eff6ff;border-radius:4px;flex:none;min-width:42px;padding:2px 6px;font-size:12px;line-height:18px}.search-main[data-v-896974a4]{min-width:0}.search-title[data-v-896974a4]{color:#172033;word-break:break-all;font-size:13px;line-height:1.4}.search-subtitle[data-v-896974a4]{color:#7b8ca6;word-break:break-all;margin-top:2px;font-size:12px;line-height:1.4}.global-search-popper{min-width:320px!important}.admin-shell[data-v-01d5d405]{background:#f4f7fb;min-height:100vh}.top-nav[data-v-01d5d405]{background:#fff;border-bottom:1px solid #e7edf5;grid-template-columns:170px minmax(0,1fr) auto;align-items:center;gap:10px;height:52px;padding:0 16px 0 14px;display:grid;box-shadow:0 2px 10px #0f172a0a}.brand[data-v-01d5d405]{cursor:pointer;align-items:center;gap:10px;height:52px;display:flex}.brand-mark[data-v-01d5d405]{color:#fff;background:linear-gradient(135deg, var(--cerp-primary), #06b6d4);border-radius:10px;place-items:center;width:34px;height:34px;font-size:20px;font-weight:900;display:grid}.brand-text span[data-v-01d5d405]{color:#172033;letter-spacing:.5px;font-size:18px;font-weight:900;line-height:18px;display:block}.brand-text small[data-v-01d5d405]{color:#7b8ca6;margin-top:2px;font-size:10px;display:block}.module-menu[data-v-01d5d405]{background:0 0;border-bottom:none;min-width:0;height:52px;overflow-x:auto}.module-icon[data-v-01d5d405]{color:#4f6b88;vertical-align:-2px;width:15px;height:15px;margin-right:6px;font-size:15px}.top-actions[data-v-01d5d405]{align-items:center;gap:14px;display:flex}.user[data-v-01d5d405]{cursor:pointer;color:#334155;white-space:nowrap;align-items:center;gap:8px;font-weight:700;display:inline-flex}.avatar[data-v-01d5d405]{width:28px;height:28px;color:var(--cerp-primary);background:#eff6ff;border-radius:50%;place-items:center;display:grid}.tabs-bar[data-v-01d5d405]{background:linear-gradient(#f8fafc,#eef3f8);border-bottom:1px solid #dfe7f0;justify-content:space-between;align-items:center;gap:10px;height:36px;padding:0 10px 0 8px;display:flex}.tabs-scroll[data-v-01d5d405]{align-items:flex-end;gap:4px;min-width:0;height:100%;padding-top:6px;display:flex;overflow-x:auto}.tabs-scroll[data-v-01d5d405]::-webkit-scrollbar{display:none}.page-tab[data-v-01d5d405]{color:#64748b;cursor:pointer;white-space:nowrap;background:#edf2f7;border:1px solid #dfe7f0;border-bottom-color:#cfd9e6;border-radius:4px 4px 0 0;align-items:center;gap:8px;height:30px;padding:0 12px;font-size:12px;display:inline-flex}.page-tab.active[data-v-01d5d405]{height:32px;color:var(--cerp-primary);background:#fff;border-bottom-color:#fff;font-weight:700}.tab-close[data-v-01d5d405]{color:#94a3b8;border-radius:50%;place-items:center;width:14px;height:14px;font-style:normal;line-height:1;display:inline-grid}.tab-close[data-v-01d5d405]:hover{color:#fff;background:#94a3b8}.tabs-more[data-v-01d5d405]{white-space:nowrap;color:#64748b;cursor:pointer;background:#fff;border:1px solid #d7e0eb;border-radius:4px;flex-shrink:0;height:26px;padding:0 10px}.main[data-v-01d5d405]{min-width:0;max-width:100%;padding:var(--cerp-space-md);background:#f4f7fb}[data-v-01d5d405] .module-menu>.el-menu-item,[data-v-01d5d405] .module-menu>.el-sub-menu .el-sub-menu__title{color:#334155;border-bottom:2px solid #0000;height:52px;padding:0 12px;font-size:13px}[data-v-01d5d405] .module-menu>.el-sub-menu .el-sub-menu__title{padding-right:22px}[data-v-01d5d405] .module-menu .el-sub-menu__icon-arrow{color:#9aa8ba;margin-top:-5px;font-size:12px;right:6px}[data-v-01d5d405] .module-menu>.el-menu-item .el-icon,[data-v-01d5d405] .module-menu>.el-sub-menu .el-sub-menu__title>.el-icon:first-child{flex-shrink:0}[data-v-01d5d405] .module-menu>.el-menu-item.is-active,[data-v-01d5d405] .module-menu>.el-sub-menu.is-active .el-sub-menu__title{border-bottom-color:var(--cerp-primary);background:#f8fbff;color:#2563eb!important}[data-v-01d5d405] .el-menu--horizontal.el-menu{border-bottom:none}.simple-menu-panel[data-v-01d5d405]{background:#fff;min-width:132px;padding:6px 0}.simple-menu-item[data-v-01d5d405]{color:#374151;text-align:left;cursor:pointer;white-space:nowrap;background:0 0;border:none;width:100%;padding:9px 20px;font-size:13px;line-height:1.5;transition:color .15s,background .15s;display:block}.simple-menu-item[data-v-01d5d405]:hover,.simple-menu-item.active[data-v-01d5d405]{color:var(--cerp-primary);background:#f8fbff}.mega-menu-panel[data-v-01d5d405]{background:#fff;min-width:520px;max-width:640px;padding:14px 18px 16px}.mega-section+.mega-section[data-v-01d5d405]{margin-top:14px}.mega-section-title[data-v-01d5d405]{color:#1f2937;font-size:13px;font-weight:700;line-height:1.4}.mega-section-divider[data-v-01d5d405]{background:#e5e7eb;height:1px;margin:8px 0 10px}.mega-grid[data-v-01d5d405]{grid-template-columns:repeat(4,minmax(112px,1fr));gap:10px 28px;display:grid}.mega-item[data-v-01d5d405]{color:#374151;text-align:left;cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:0;font-size:13px;line-height:1.5;transition:color .15s}.mega-item[data-v-01d5d405]:hover,.mega-item.active[data-v-01d5d405]{color:var(--cerp-primary)}[data-v-01d5d405] .module-menu>.el-sub-menu.is-module-active .el-sub-menu__title{border-bottom-color:var(--cerp-primary);background:#f8fbff;color:#2563eb!important}@media (width<=767px){.top-nav[data-v-01d5d405]{grid-template-columns:minmax(0,1fr) auto;gap:0 8px;height:auto;padding:0 10px}.brand[data-v-01d5d405]{grid-area:1/1}.brand-mark[data-v-01d5d405]{flex-shrink:0}.brand-text small[data-v-01d5d405]{display:none}.brand-text span[data-v-01d5d405]{font-size:14px}.top-actions[data-v-01d5d405]{grid-area:1/2}.module-menu[data-v-01d5d405]{grid-area:2/1/auto/-1;width:100%}.main[data-v-01d5d405]{padding:10px}}.module-mega-popper.el-popper{overflow:hidden;border:none!important;border-radius:4px!important;padding:0!important;box-shadow:0 8px 28px #0f172a1f!important}.module-mega-popper .el-menu--popup{min-width:unset!important;box-shadow:none!important;background:#fff!important;border:none!important;margin:0!important;padding:0!important}.module-mega-popper .el-menu--popup:before{display:none}.module-simple-popper.el-popper{overflow:hidden;border:none!important;border-radius:4px!important;padding:0!important;box-shadow:0 4px 16px #0f172a1a!important}.module-simple-popper .el-menu--popup{min-width:unset!important;box-shadow:none!important;background:#fff!important;border:none!important;margin:0!important;padding:0!important}.module-simple-popper .el-menu--popup:before{display:none}.login-page[data-v-3335c436]{--login-shell-max:980px;min-height:100dvh;padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));background:radial-gradient(circle at 18% 18%,#1677ff57,#0000 30%),radial-gradient(circle at 86% 72%,#06b6d438,#0000 28%),linear-gradient(145deg,#0b1220 0%,#111827 48%,#0f2744 100%);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.bg-glow[data-v-3335c436]{filter:blur(80px);pointer-events:none;border-radius:50%;position:absolute}.bg-glow--left[data-v-3335c436]{background:#1677ff47;width:min(420px,70vw);height:min(420px,70vw);top:-8%;left:-6%}.bg-glow--right[data-v-3335c436]{background:#0ea5e933;width:min(360px,60vw);height:min(360px,60vw);bottom:-10%;right:-4%}.bg-grid[data-v-3335c436]{pointer-events:none;background-image:linear-gradient(#ffffff08 1px,#0000 1px),linear-gradient(90deg,#ffffff08 1px,#0000 1px);background-size:40px 40px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(#000 20%,#0000 75%);mask-image:radial-gradient(#000 20%,#0000 75%)}.login-shell[data-v-3335c436]{z-index:1;width:min(var(--login-shell-max), 100%);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff0f;border:1px solid #ffffff24;border-radius:24px;grid-template-columns:1.12fr .88fr;min-height:560px;display:grid;position:relative;overflow:hidden;box-shadow:0 24px 80px #00000052,inset 0 1px #ffffff14}.intro[data-v-3335c436]{color:#fff;flex-direction:column;justify-content:center;padding:clamp(28px,5vw,56px);display:flex}.intro-top[data-v-3335c436]{align-items:flex-start;gap:18px;display:flex}.brand-mark[data-v-3335c436]{background:linear-gradient(135deg, var(--cerp-primary), #06b6d4);border-radius:16px;flex-shrink:0;place-items:center;width:52px;height:52px;font-size:28px;font-weight:900;display:grid;box-shadow:0 10px 28px #1677ff59}.brand-mark--sm[data-v-3335c436]{border-radius:12px;width:44px;height:44px;font-size:22px}h1[data-v-3335c436]{letter-spacing:1px;margin:0 0 8px;font-size:clamp(36px,6vw,52px);line-height:1.1}.intro p[data-v-3335c436]{color:#cbd5e1;max-width:36ch;margin:0;font-size:clamp(14px,2.2vw,17px);line-height:1.7}.intro-grid[data-v-3335c436]{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:clamp(28px,5vw,48px);display:grid}.intro-item[data-v-3335c436]{transition:background var(--cerp-transition), border-color var(--cerp-transition);background:#ffffff14;border:1px solid #ffffff1a;border-radius:14px;align-items:flex-start;gap:12px;padding:16px;display:flex}.intro-item[data-v-3335c436]:hover{background:#ffffff1f;border-color:#ffffff2e}.intro-icon[data-v-3335c436]{color:#93c5fd;background:#1677ff38;border-radius:10px;flex-shrink:0;place-items:center;width:36px;height:36px;font-size:18px;display:grid}.intro-item strong[data-v-3335c436]{margin-bottom:4px;font-size:16px;display:block}.intro-item span[data-v-3335c436]{color:#b6c5d8;font-size:12px;line-height:1.5}.login-card[data-v-3335c436]{background:#fffffff7;border-radius:20px;flex-direction:column;justify-content:center;margin:clamp(20px,3.5vw,34px);padding:clamp(24px,4vw,38px);display:flex;box-shadow:0 20px 60px #00000029}.mobile-brand[data-v-3335c436]{align-items:center;gap:12px;margin-bottom:20px;display:none}.mobile-brand-title[data-v-3335c436]{color:var(--cerp-text);font-size:20px;font-weight:800;line-height:1.2}.mobile-brand-sub[data-v-3335c436]{color:var(--cerp-text-tertiary);margin-top:2px;font-size:12px}.card-title[data-v-3335c436]{color:var(--cerp-text);letter-spacing:-.02em;font-size:clamp(22px,4vw,28px);font-weight:800}.card-subtitle[data-v-3335c436]{color:var(--cerp-text-tertiary);margin:8px 0 24px;font-size:13px;line-height:1.5}.login-form[data-v-3335c436] .el-form-item{margin-bottom:18px}.login-form[data-v-3335c436] .el-input__wrapper{box-shadow:0 0 0 1px var(--cerp-border) inset;border-radius:10px;padding:4px 12px}.login-form[data-v-3335c436] .el-input__wrapper.is-focus{box-shadow:0 0 0 1px var(--cerp-primary) inset}.login-btn[data-v-3335c436]{letter-spacing:.02em;border-radius:10px;width:100%;height:44px;margin-top:4px;font-size:15px;font-weight:600}@media (width<=900px){.login-shell[data-v-3335c436]{min-height:unset;grid-template-columns:1fr}.intro[data-v-3335c436]{padding-bottom:20px}.intro-grid[data-v-3335c436]{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:24px}.login-card[data-v-3335c436]{margin-top:0}}@media (width<=640px){.login-page[data-v-3335c436]{padding-top:max(12px, env(safe-area-inset-top));align-items:flex-start}.login-shell[data-v-3335c436]{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:none;border-radius:18px}.intro[data-v-3335c436]{display:none}.mobile-brand[data-v-3335c436]{display:flex}.login-card[data-v-3335c436]{min-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));border-radius:18px;margin:0;padding:24px 20px 28px;box-shadow:0 16px 48px #0003}.card-subtitle[data-v-3335c436]{margin-bottom:20px}.login-btn[data-v-3335c436]{height:48px}}@media (width<=380px){.login-card[data-v-3335c436]{padding:20px 16px 24px}}body.login-route{min-width:0;overflow-x:hidden}:root{--cerp-primary:#1677ff;--cerp-primary-hover:#4096ff;--cerp-primary-active:#0958d9;--cerp-primary-light:#e6f4ff;--cerp-primary-subtle:#f0f7ff;--cerp-primary-dark:#0958d9;--cerp-success:#16a34a;--cerp-success-light:#f0fdf4;--cerp-warning:#d97706;--cerp-warning-light:#fffbeb;--cerp-danger:#dc2626;--cerp-danger-light:#fef2f2;--cerp-info:#64748b;--cerp-info-light:#f8fafc;--cerp-sidebar:#111827;--cerp-sidebar-soft:#172033;--cerp-bg:#f1f5f9;--cerp-card:#fff;--cerp-border:#e2e8f0;--cerp-border-light:#f1f5f9;--cerp-divider:#e2e8f0;--cerp-text:#0f172a;--cerp-text-secondary:#475569;--cerp-text-tertiary:#94a3b8;--cerp-text-disabled:#cbd5e1;--cerp-muted:#64748b;--cerp-shadow-sm:0 1px 3px #0f172a0f;--cerp-shadow:0 4px 12px #0f172a14;--cerp-shadow-lg:0 10px 32px #0f172a1f;--cerp-shadow-float:0 8px 24px #0f172a24, 0 2px 8px #0f172a0f;--cerp-space-xs:8px;--cerp-space-sm:12px;--cerp-space-md:16px;--cerp-space-lg:20px;--cerp-space-xl:24px;--cerp-radius-sm:6px;--cerp-radius:8px;--cerp-radius-lg:12px;--cerp-radius-xl:16px;--cerp-radius-pill:999px;--cerp-font-xs:12px;--cerp-font-sm:13px;--cerp-font-base:14px;--cerp-font-lg:15px;--cerp-font-xl:18px;--cerp-font-2xl:20px;--cerp-leading-tight:1.25;--cerp-leading-normal:1.5;--cerp-leading-relaxed:1.625;--cerp-font-normal:400;--cerp-font-medium:500;--cerp-font-semibold:600;--cerp-font-bold:700;--cerp-transition-fast:.15s ease;--cerp-transition:.2s ease;--cerp-transition-slow:.3s ease;--cerp-float-bg:#ffffffeb;--cerp-float-border:#e2e8f0e6;--cerp-float-blur:12px;--el-color-primary:var(--cerp-primary);--el-color-primary-light-3:#69b1ff;--el-color-primary-light-5:#91caff;--el-color-primary-light-7:#bae0ff;--el-color-primary-light-8:#d6ebff;--el-color-primary-light-9:var(--cerp-primary-light);--el-color-primary-dark-2:var(--cerp-primary-active);--el-color-success:var(--cerp-success);--el-color-warning:var(--cerp-warning);--el-color-danger:var(--cerp-danger);--el-color-info:var(--cerp-info);--el-border-radius-base:var(--cerp-radius-sm);--el-border-radius-small:4px;--el-font-size-base:var(--cerp-font-base);--el-font-size-small:var(--cerp-font-sm);--el-text-color-primary:var(--cerp-text);--el-text-color-regular:var(--cerp-text-secondary);--el-text-color-secondary:var(--cerp-text-tertiary);--el-text-color-placeholder:var(--cerp-text-tertiary);--el-text-color-disabled:var(--cerp-text-disabled);--el-border-color:var(--cerp-border);--el-border-color-light:var(--cerp-border-light);--el-fill-color-blank:var(--cerp-card);--el-bg-color:var(--cerp-card);--el-bg-color-page:var(--cerp-bg)}.el-button{--el-button-font-weight:var(--cerp-font-medium);font-size:var(--cerp-font-sm);border-radius:var(--cerp-radius-sm);transition:background-color var(--cerp-transition-fast), border-color var(--cerp-transition-fast), color var(--cerp-transition-fast), box-shadow var(--cerp-transition-fast), transform var(--cerp-transition-fast)}.el-button:active:not(.is-disabled){transform:scale(.98)}.el-button--default{--el-button-bg-color:var(--cerp-card);--el-button-border-color:var(--cerp-border);--el-button-text-color:var(--cerp-text-secondary);--el-button-hover-bg-color:var(--cerp-bg);--el-button-hover-border-color:#cbd5e1;--el-button-hover-text-color:var(--cerp-text);--el-button-active-bg-color:#e2e8f0;--el-button-active-border-color:#94a3b8}.el-button--primary{--el-button-bg-color:var(--cerp-primary);--el-button-border-color:var(--cerp-primary);--el-button-text-color:#fff;--el-button-hover-bg-color:var(--cerp-primary-hover);--el-button-hover-border-color:var(--cerp-primary-hover);--el-button-active-bg-color:var(--cerp-primary-active);--el-button-active-border-color:var(--cerp-primary-active);box-shadow:0 1px 2px #1677ff33}.el-button--primary:hover:not(.is-disabled){box-shadow:0 2px 8px #1677ff47}.el-button--success{--el-button-bg-color:var(--cerp-success);--el-button-border-color:var(--cerp-success);--el-button-hover-bg-color:#15803d;--el-button-hover-border-color:#15803d}.el-button--warning{--el-button-bg-color:var(--cerp-warning);--el-button-border-color:var(--cerp-warning);--el-button-hover-bg-color:#b45309;--el-button-hover-border-color:#b45309}.el-button--danger{--el-button-bg-color:var(--cerp-danger);--el-button-border-color:var(--cerp-danger);--el-button-hover-bg-color:#b91c1c;--el-button-hover-border-color:#b91c1c}.el-button--info{--el-button-bg-color:#94a3b8;--el-button-border-color:#94a3b8;--el-button-hover-bg-color:#64748b;--el-button-hover-border-color:#64748b}.el-button.is-link{font-size:var(--cerp-font-sm);font-weight:var(--cerp-font-medium);height:auto;padding:2px 4px}.el-button.is-link.el-button--primary{--el-button-text-color:var(--cerp-primary);--el-button-hover-text-color:var(--cerp-primary-hover);--el-button-active-text-color:var(--cerp-primary-active);box-shadow:none}.el-button.is-link.el-button--success{--el-button-text-color:var(--cerp-success);--el-button-hover-text-color:#15803d}.el-button.is-link.el-button--danger{--el-button-text-color:var(--cerp-danger);--el-button-hover-text-color:#b91c1c}.el-button.is-link.el-button--warning{--el-button-text-color:var(--cerp-warning);--el-button-hover-text-color:#b45309}.floating-action-bar .el-button--primary{font-weight:var(--cerp-font-semibold);padding-left:18px;padding-right:18px;box-shadow:0 2px 10px #1677ff52}.floating-action-bar .el-button--primary:hover:not(.is-disabled){transform:translateY(-1px);box-shadow:0 4px 16px #1677ff66}.floating-action-bar .el-button--primary:active:not(.is-disabled){transform:translateY(0)scale(.98)}.floating-action-bar .el-button--default{--el-button-bg-color:#f8fafc;--el-button-hover-bg-color:#f1f5f9}.el-table{--el-table-header-bg-color:#f8fafc;--el-table-header-text-color:var(--cerp-text-secondary);--el-table-row-hover-bg-color:var(--cerp-primary-subtle);--el-table-current-row-bg-color:var(--cerp-primary-light);--el-table-border-color:var(--cerp-border);--el-table-text-color:var(--cerp-text);--el-table-bg-color:var(--cerp-card);--el-table-tr-bg-color:var(--cerp-card);--el-table-expanded-cell-bg-color:#fafbfc;font-size:var(--cerp-font-sm);color:var(--cerp-text)}.el-table .el-table__header-wrapper th.el-table__cell{font-size:var(--cerp-font-sm);font-weight:var(--cerp-font-semibold);color:var(--cerp-text-secondary);border-bottom:1px solid var(--cerp-border);background-color:#f8fafc;padding:10px 0}.el-table .el-table__body-wrapper td.el-table__cell{color:var(--cerp-text);border-bottom-color:var(--cerp-border-light);transition:background-color var(--cerp-transition-fast);padding:9px 0}.el-table.el-table--striped .el-table__body tr.el-table__row--striped td.el-table__cell{background-color:#fafbfc}.el-table .el-table__body tr:hover>td.el-table__cell{background-color:var(--cerp-primary-subtle)!important}.el-table .el-table-fixed-column--right.is-first-column:before,.el-table .el-table-fixed-column--left.is-last-column:before{box-shadow:inset 10px 0 8px -8px #0f172a14}.el-table .el-table__empty-block{min-height:120px}.el-table .el-table__empty-text{color:var(--cerp-text-tertiary);font-size:var(--cerp-font-sm)}.table-ops .el-button.is-link+.el-button.is-link,.table-ops .icon-action-btn+.icon-action-btn{position:relative}.table-ops .el-button.is-link+.el-button.is-link:before,.table-ops .icon-action-btn+.icon-action-btn:before{content:"";background:var(--cerp-border);width:1px;height:12px;position:absolute;top:50%;left:-6px;transform:translateY(-50%)}.icon-action-btn.el-button.is-link{border-radius:var(--cerp-radius-sm);width:28px;height:28px;transition:background-color var(--cerp-transition-fast), color var(--cerp-transition-fast), transform var(--cerp-transition-fast);margin:0 2px;padding:0;font-size:16px}.icon-action-btn.el-button.is-link:hover:not(.is-disabled){background-color:var(--cerp-primary-subtle);transform:scale(1.08)}.icon-action-btn.el-button.is-link.el-button--danger:hover:not(.is-disabled){background-color:var(--cerp-danger-light)}.icon-action-btn.el-button.is-link.el-button--success:hover:not(.is-disabled){background-color:var(--cerp-success-light)}.icon-action-btn.el-button.is-link.el-button--warning:hover:not(.is-disabled){background-color:var(--cerp-warning-light)}.el-tag{font-size:var(--cerp-font-xs);font-weight:var(--cerp-font-medium);border-radius:4px;height:22px;padding:0 8px}.el-tag.el-tag--plain{background-color:#0000}.el-tag.el-tag--success{--el-tag-bg-color:var(--cerp-success-light);--el-tag-border-color:#bbf7d0;--el-tag-text-color:var(--cerp-success)}.el-tag.el-tag--warning{--el-tag-bg-color:var(--cerp-warning-light);--el-tag-border-color:#fde68a;--el-tag-text-color:var(--cerp-warning)}.el-tag.el-tag--danger{--el-tag-bg-color:var(--cerp-danger-light);--el-tag-border-color:#fecaca;--el-tag-text-color:var(--cerp-danger)}.el-tag.el-tag--info{--el-tag-bg-color:var(--cerp-info-light);--el-tag-border-color:var(--cerp-border);--el-tag-text-color:var(--cerp-info)}.status-tag{font-weight:var(--cerp-font-semibold);letter-spacing:.01em}.status-text{color:var(--cerp-text-secondary);font-size:var(--cerp-font-sm)}.el-form-item__label{font-size:var(--cerp-font-sm);font-weight:var(--cerp-font-medium);color:var(--cerp-text-secondary)}.el-input__wrapper,.el-select__wrapper,.el-textarea__inner{border-radius:var(--cerp-radius-sm);transition:box-shadow var(--cerp-transition-fast), border-color var(--cerp-transition-fast)}.el-input__wrapper:hover,.el-select__wrapper:hover{box-shadow:inset 0 0 0 1px #cbd5e1}.el-input__wrapper.is-focus,.el-select__wrapper.is-focused{box-shadow:0 0 0 1px var(--cerp-primary) inset!important}.el-input__inner,.el-select__selected-item,.el-textarea__inner{font-size:var(--cerp-font-sm);color:var(--cerp-text)}.el-input__inner::placeholder,.el-textarea__inner::placeholder{color:var(--cerp-text-tertiary)}.el-pagination{--el-pagination-font-size:var(--cerp-font-sm);--el-pagination-button-color:var(--cerp-text-secondary);--el-pagination-hover-color:var(--cerp-primary)}.el-pagination .el-pagination__total,.el-pagination .el-pagination__jump{color:var(--cerp-text-tertiary);font-size:var(--cerp-font-sm)}.el-pagination .el-pager li{font-size:var(--cerp-font-sm);font-weight:var(--cerp-font-medium);border-radius:var(--cerp-radius-sm);min-width:30px;height:30px}.el-pagination .el-pager li.is-active{background-color:var(--cerp-primary);color:#fff;font-weight:var(--cerp-font-semibold)}.el-dialog{border-radius:var(--cerp-radius-xl);box-shadow:var(--cerp-shadow-lg)}.el-dialog .el-dialog__header{border-bottom:1px solid var(--cerp-border-light);margin-right:0;padding:18px 20px 14px}.el-dialog .el-dialog__title{font-size:var(--cerp-font-lg);font-weight:var(--cerp-font-semibold);color:var(--cerp-text)}.el-dialog .el-dialog__body{font-size:var(--cerp-font-sm);color:var(--cerp-text-secondary);padding:20px}.el-dialog .el-dialog__footer{border-top:1px solid var(--cerp-border-light);padding:14px 20px 18px}.el-message{border-radius:var(--cerp-radius);box-shadow:var(--cerp-shadow);font-size:var(--cerp-font-sm)}*{box-sizing:border-box}body{min-width:0;font-size:var(--cerp-font-base);line-height:var(--cerp-leading-normal);color:var(--cerp-text);background:var(--cerp-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:Inter,PingFang SC,Microsoft YaHei,Arial,sans-serif}a{color:inherit;text-decoration:none}.page-card{background:var(--cerp-card);border:1px solid var(--cerp-border);border-radius:var(--cerp-radius-lg);padding:var(--cerp-space-md);box-shadow:var(--cerp-shadow-sm)}.page{flex-direction:column;gap:10px;display:flex}.page.has-floating-bar{padding-bottom:80px}.page-hero-compact{min-height:auto;padding:14px 18px}.page-hero-compact .page-title{margin:0}.metrics-strip{background:var(--cerp-card);border:1px solid var(--cerp-border);border-radius:var(--cerp-radius);color:var(--cerp-text-tertiary);font-size:var(--cerp-font-sm);align-items:center;gap:16px;padding:10px 14px;display:flex}.metrics-strip strong{color:var(--cerp-text);font-size:var(--cerp-font-xl);font-weight:var(--cerp-font-semibold);margin-left:6px}.metrics-strip .divider{background:var(--cerp-border);width:1px;height:18px}.metrics-grid{flex-wrap:wrap;gap:12px;display:flex}.metrics-grid .metric{background:var(--cerp-card);border:1px solid var(--cerp-border);border-radius:var(--cerp-radius);flex:1;min-width:160px;padding:12px 14px}.metrics-grid .metric span{color:var(--cerp-text-tertiary);font-size:var(--cerp-font-sm)}.metrics-grid .metric strong{color:var(--cerp-text);font-size:var(--cerp-font-2xl);font-weight:var(--cerp-font-semibold);margin-top:6px;display:block}.page-hero{justify-content:space-between;align-items:center;gap:var(--cerp-space-md);min-height:72px;padding:var(--cerp-space-md) var(--cerp-space-lg);border-radius:var(--cerp-radius-lg);background:var(--cerp-card);border:1px solid var(--cerp-border);box-shadow:var(--cerp-shadow-sm);display:flex}.hero-actions{justify-content:flex-end;align-items:center;gap:var(--cerp-space-sm);flex-wrap:wrap;display:flex}.hero-actions .el-button+.el-button{margin-left:0}.page-hero>div:first-child{flex-direction:column;justify-content:center;min-width:0;display:flex}.page-title{color:var(--cerp-text);font-size:var(--cerp-font-xl);font-weight:var(--cerp-font-bold);line-height:var(--cerp-leading-tight)}.page-subtitle{color:var(--cerp-muted);font-size:var(--cerp-font-xs);line-height:var(--cerp-leading-normal);margin-top:6px}.table-card{padding:0;overflow:hidden}.table-head{min-height:48px;padding:0 var(--cerp-space-md);border-bottom:1px solid var(--cerp-border);background:var(--cerp-card);justify-content:space-between;align-items:center;display:flex}.table-title{font-size:var(--cerp-font-lg);font-weight:var(--cerp-font-semibold);color:var(--cerp-text)}.table-count{color:var(--cerp-text-tertiary);font-size:var(--cerp-font-xs);margin-left:var(--cerp-space-sm);font-weight:var(--cerp-font-normal)}.table-footer{padding:var(--cerp-space-md);border-top:1px solid var(--cerp-border);justify-content:flex-end;display:flex}.table-ops{align-items:center;gap:2px;display:inline-flex}.table-ops .el-button+.el-button{margin-left:0}.toolbar{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.filter-bar{flex-wrap:wrap;gap:10px;display:flex}.items-table-shell .el-table{border-bottom-right-radius:0;border-bottom-left-radius:0}.filter-card{padding:var(--cerp-space-md);box-shadow:none}.filter-card.compact{padding:10px 14px}.filter-form.el-form--label-top .el-form-item{margin-bottom:0}.filter-form.el-form--label-top .el-form-item__label{line-height:1.2;font-size:var(--cerp-font-sm);font-weight:var(--cerp-font-medium);color:var(--cerp-text-tertiary);padding:0 0 6px}.filter-form .el-input,.filter-form .el-select,.filter-form .el-date-editor{width:100%}.filter-grid{gap:var(--cerp-space-sm) var(--cerp-space-md);grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;display:grid}.filter-grid.has-actions{grid-template-columns:repeat(4,minmax(0,1fr)) auto}.filter-grid .span-2{grid-column:span 2}.filter-grid.compact{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px 12px}.filter-grid.compact.has-actions{grid-template-columns:repeat(6,minmax(0,1fr)) auto}.filter-grid.compact .el-form-item__label{padding-bottom:4px!important;font-size:12px!important}.filter-grid.compact .span-2{grid-column:span 2}.filter-actions{align-items:center;gap:var(--cerp-space-sm);white-space:nowrap;grid-area:1/-1;align-self:end;padding-bottom:1px;display:flex}.filter-actions .el-button+.el-button{margin-left:0}@media (width<=1280px){.filter-grid,.filter-grid.has-actions,.filter-grid.compact,.filter-grid.compact.has-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-grid .span-2{grid-column:span 2}.filter-actions{padding-top:var(--cerp-space-xs);grid-area:auto/1/auto/-1;justify-content:flex-end}}#app,.el-container,.el-main,.page,.page-card{min-width:0;max-width:100%}.page-card{overflow-x:auto}@media (width<=767px){.el-dialog{max-width:calc(100vw - 24px)}.el-form--inline .el-form-item{max-width:100%}}:root{--cerp-loading-speed:.85s;--cerp-loading-track:#c6dfff}.cerp-loading__spinner,.el-loading-spinner:before,.el-icon.is-loading:before{content:"";box-sizing:border-box;border:4px solid var(--cerp-loading-track);border-top-color:var(--cerp-primary);border-right-color:var(--cerp-primary);width:44px;height:44px;animation:cerp-loading-spin var(--cerp-loading-speed) linear infinite;border-radius:50%;flex:none;display:inline-block}.cerp-loading{border-radius:var(--cerp-radius-lg);background:var(--cerp-primary-subtle);color:var(--cerp-text);border:1px solid #91caff;align-items:flex-start;gap:18px;padding:24px;display:flex;box-shadow:0 2px 10px #1677ff14}.cerp-loading__content{flex:1;min-width:0}.cerp-loading__title{color:var(--cerp-primary-active);font-size:16px;font-weight:600;line-height:1.5}.cerp-loading__description{overflow-wrap:anywhere;margin:6px 0 0;font-size:14px;line-height:1.7}.cerp-loading__hint{color:var(--cerp-text-secondary);margin:12px 0 0;font-size:13px;line-height:1.6}.cerp-loading__details{margin-top:14px}.cerp-loading__track{background:var(--cerp-loading-track);border-radius:999px;max-width:480px;height:5px;margin-top:16px;overflow:hidden}.cerp-loading__track>span{border-radius:inherit;background:var(--cerp-primary);width:40%;height:100%;animation:1.6s ease-in-out infinite cerp-loading-flow;display:block}.cerp-loading--inline{box-shadow:none;background:0 0;border:0;border-radius:0;align-items:center;gap:8px;padding:0;display:inline-flex}.cerp-loading--inline .cerp-loading__spinner{border-width:2px;width:18px;height:18px}.cerp-loading--inline .cerp-loading__title{font-size:13px;font-weight:500}.el-loading-mask{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#f8fbffe0}.el-loading-spinner{border:1px solid var(--cerp-loading-track);border-radius:var(--cerp-radius-lg);background:var(--cerp-card);width:max-content;max-width:calc(100% - 16px);box-shadow:var(--cerp-shadow);flex-direction:column;align-items:center;gap:12px;margin-top:0;padding:18px 24px;display:flex;top:50%;left:50%;transform:translate(-50%,-50%)}.el-loading-spinner .circular,.el-loading-spinner>.el-icon{display:none}.el-loading-spinner .el-loading-text{color:var(--cerp-primary-active);margin:0;font-size:14px;font-weight:500}.el-loading-spinner:not(:has(.el-loading-text)):after{content:"正在加载…";color:var(--cerp-primary-active);font-size:14px;font-weight:500}.el-icon.is-loading{animation:none}.el-icon.is-loading>svg{display:none}.el-icon.is-loading:before{border-width:2px;border-color:currentColor currentColor #0000 #0000;width:1em;height:1em;box-shadow:inset 0 0 0 1px}.el-select-dropdown__loading{text-align:center;padding:16px}@keyframes cerp-loading-spin{to{transform:rotate(360deg)}}@keyframes cerp-loading-flow{0%{transform:translate(-100%)}to{transform:translate(350%)}}@media (width<=600px){.cerp-loading:not(.cerp-loading--inline){gap:12px;padding:18px 16px}}@media (prefers-reduced-motion:reduce){.cerp-loading__spinner,.cerp-loading__track>span,.el-loading-spinner:before,.el-icon.is-loading:before{animation:none}}
