:root{--brand:#0d9488;--brand-hover:#0f766e;--brand-light:#ccfbf1;--brand-subtle:#f0fdfa;--success:#10b981;--warning:#f59e0b;--danger:#ef4444;--info:#3b82f6;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--text-placeholder:#cbd5e1;--bg-page:#f0f4f8;--bg-card:#fff;--bg-glass:hsla(0,0%,100%,.78);--bg-elevated:#fafbfc;--border:#e2e8f0;--border-light:#f1f5f9;--border-glass:rgba(226,232,240,.7);--shadow-xs:0 1px 2px rgba(0,0,0,.03);--shadow-sm:0 1px 3px rgba(0,0,0,.04),0 1px 2px rgba(0,0,0,.03);--shadow:0 4px 6px rgba(0,0,0,.04),0 2px 4px rgba(0,0,0,.03);--shadow-md:0 8px 16px rgba(0,0,0,.05),0 4px 8px rgba(0,0,0,.03);--shadow-lg:0 16px 32px rgba(0,0,0,.06),0 8px 16px rgba(0,0,0,.03);--shadow-xl:0 24px 48px rgba(0,0,0,.08),0 12px 24px rgba(0,0,0,.04);--shadow-brand:0 4px 14px rgba(13,148,136,.25);--shadow-brand-lg:0 8px 24px rgba(13,148,136,.3);--radius-xs:6px;--radius-sm:8px;--radius:12px;--radius-md:14px;--radius-lg:18px;--radius-xl:22px;--ease-out:cubic-bezier(0.16,1,0.3,1);--ease-in-out:cubic-bezier(0.65,0,0.35,1);--ease-spring:cubic-bezier(0.34,1.56,0.64,1);--duration-fast:0.15s;--duration:0.25s;--duration-slow:0.4s}*{margin:0;padding:0;box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{font-family:-apple-system,BlinkMacSystemFont,Inter,SF Pro Display,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Segoe UI,sans-serif;background:var(--bg-page);color:var(--text-primary);line-height:1.6;font-size:14px;letter-spacing:.01em}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:100px;-webkit-transition:background .2s;transition:background .2s}::-webkit-scrollbar-thumb:hover{background:#94a3b8}@keyframes fadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}60%{transform:scale(1.04)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes countUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes bgShift{0%,to{background-position:0 50%}50%{background-position:100% 50%}}.el-card{border-radius:var(--radius-lg)!important;border:1px solid var(--border-glass)!important;box-shadow:var(--shadow-xs)!important;transition:all var(--duration) var(--ease-out);background:var(--bg-glass)!important;backdrop-filter:blur(8px)}.el-card:hover{box-shadow:var(--shadow)!important;border-color:#e2e8f0!important}.el-button--primary{background:linear-gradient(135deg,#0d9488,#0f766e)!important;border:none!important;border-radius:var(--radius)!important;font-weight:600!important;letter-spacing:.3px;transition:all var(--duration) var(--ease-out)!important;box-shadow:var(--shadow-brand)!important}.el-button--primary:hover{background:linear-gradient(135deg,#0f766e,#115e59)!important;box-shadow:var(--shadow-brand-lg)!important;transform:translateY(-1px)}.el-button--primary:active{transform:translateY(0) scale(.98)}.el-button--success{border-radius:var(--radius)!important;font-weight:600!important;border:none!important;transition:all var(--duration) var(--ease-out)!important}.el-button--success:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(16,185,129,.3)}.el-button--danger{border-radius:var(--radius)!important;font-weight:600!important;transition:all var(--duration) var(--ease-out)!important}.el-button--danger:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(239,68,68,.3)}.el-button{border-radius:var(--radius)!important;font-weight:500!important;transition:all var(--duration) var(--ease-out)!important}.el-button:hover{transform:translateY(-1px)}.el-button--text{border-radius:var(--radius-xs)!important;padding:4px 10px!important;font-weight:500!important;transition:all var(--duration-fast) ease!important}.el-button--text:hover{background:var(--brand-subtle)!important;color:var(--brand)!important}.el-table{border-radius:var(--radius)!important;overflow:hidden;font-size:13px!important}.el-table th.el-table__cell{background:linear-gradient(180deg,#f8fafc,#f1f5f9)!important;color:var(--text-secondary)!important;font-weight:700!important;font-size:12px!important;letter-spacing:.5px;text-transform:uppercase;border-bottom:2px solid #e2e8f0!important;padding:14px 0!important}.el-table td.el-table__cell{padding:14px 0!important;color:var(--text-primary)!important;border-bottom:1px solid #f1f5f9!important}.el-table--striped .el-table__body tr.el-table__row--striped td.el-table__cell{background:#fafbfc!important}.el-table__body tr:hover>td.el-table__cell{background:linear-gradient(90deg,#f0fdfa,transparent)!important}.el-table__body tr{transition:background .2s ease}.el-pagination{margin-top:16px;font-weight:500}.el-pagination.is-background .el-pager li:not(.disabled).active{background:linear-gradient(135deg,#0d9488,#0f766e)!important;border-radius:var(--radius-sm)!important;box-shadow:var(--shadow-brand);font-weight:700}.el-pagination.is-background .el-pager li:not(.disabled):hover{color:var(--brand)!important}.el-dialog{border-radius:var(--radius-xl)!important;box-shadow:var(--shadow-xl)!important;overflow:hidden;animation:scaleIn .35s var(--ease-spring)!important}.el-dialog__header{padding:24px 28px 18px!important;border-bottom:1px solid var(--border-light)!important;background:linear-gradient(180deg,#fafbfc,#fff)}.el-dialog__title{font-weight:700!important;font-size:17px!important;color:var(--text-primary)!important}.el-dialog__body{padding:24px 28px!important}.el-dialog__footer{padding:16px 28px 24px!important;border-top:1px solid var(--border-light)!important;background:#fafbfc}.el-divider__text{background:#fff!important;font-weight:700!important;color:var(--brand)!important;font-size:13px!important}.el-tag{border-radius:100px!important;font-weight:600!important;letter-spacing:.2px;padding:2px 12px!important;border:none!important}.el-input__inner{border-radius:var(--radius)!important;border-color:var(--border)!important;transition:all var(--duration) var(--ease-out)!important;font-size:14px!important}.el-input__inner.is-focus,.el-input__inner:focus{border-color:var(--brand)!important;box-shadow:0 0 0 3px rgba(13,148,136,.08)!important}.el-input__inner:hover{border-color:#cbd5e1!important}.el-textarea__inner{border-radius:var(--radius)!important;border-color:var(--border)!important;transition:all var(--duration) var(--ease-out)!important;font-size:14px!important;resize:vertical}.el-textarea__inner:focus{border-color:var(--brand)!important;box-shadow:0 0 0 3px rgba(13,148,136,.08)!important}.el-select .el-input__inner{border-radius:var(--radius)!important}.el-radio__input.is-checked .el-radio__inner{border-color:var(--brand)!important;background:var(--brand)!important}.el-radio__input.is-checked+.el-radio__label{color:var(--brand)!important}.el-switch.is-checked .el-switch__core{border-color:var(--brand)!important;background:var(--brand)!important}.el-date-editor .el-input__inner{border-radius:var(--radius)!important}.el-form-item__label{font-weight:600!important;color:var(--text-secondary)!important;font-size:13px!important}.el-badge__content{border-radius:100px!important;font-weight:700!important;font-size:11px!important}.el-message{border-radius:var(--radius)!important;box-shadow:var(--shadow-lg)!important;backdrop-filter:blur(8px)}.el-message-box{border-radius:var(--radius-lg)!important;box-shadow:var(--shadow-xl)!important}.el-upload{border-radius:var(--radius)!important;overflow:hidden;transition:all var(--duration) var(--ease-out)!important}.avatar-uploader .el-upload{border:2px dashed #e2e8f0;border-radius:var(--radius)!important;cursor:pointer;transition:all var(--duration) var(--ease-out);width:120px;height:120px;display:flex;align-items:center;justify-content:center}.avatar-uploader .el-upload:hover{border-color:var(--brand);background:var(--brand-subtle)}.avatar-uploader-icon{font-size:28px;color:#cbd5e1;transition:all var(--duration) var(--ease-out)}.avatar-uploader .el-upload:hover .avatar-uploader-icon{color:var(--brand);transform:scale(1.1)}.el-input-number .el-input__inner{border-radius:var(--radius)!important}.el-color-picker__trigger{border-radius:var(--radius-sm)!important}.fade-transform-enter-active,.fade-transform-leave-active{transition:all .3s var(--ease-out)}.fade-transform-enter{opacity:0;transform:translateX(-16px)}.fade-transform-leave-to{opacity:0;transform:translateX(16px)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-right{text-align:right}.text-center{text-align:center}.login-scene[data-v-643cee40]{width:100vw;height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#080d18;position:relative;overflow:hidden}.bg-canvas[data-v-643cee40]{position:absolute;inset:0;pointer-events:none}.bg-orb[data-v-643cee40]{position:absolute;border-radius:50%;filter:blur(80px);opacity:.15;animation:orbFloat-643cee40 20s ease-in-out infinite}.orb-1[data-v-643cee40]{width:500px;height:500px;background:#0d9488;top:-15%;right:-10%;animation-delay:0s}.orb-2[data-v-643cee40]{width:400px;height:400px;background:#3b82f6;bottom:-15%;left:-8%;animation-delay:-7s}.orb-3[data-v-643cee40]{width:300px;height:300px;background:#8b5cf6;top:40%;left:30%;animation-delay:-14s}@keyframes orbFloat-643cee40{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-40px) scale(1.1)}66%{transform:translate(-20px,30px) scale(.95)}}.bg-grid[data-v-643cee40]{position:absolute;inset:0;background-image:linear-gradient(hsla(0,0%,100%,.02) 1px,transparent 0),linear-gradient(90deg,hsla(0,0%,100%,.02) 1px,transparent 0);background-size:60px 60px;animation:gridFade-643cee40 4s ease-in-out infinite alternate}@keyframes gridFade-643cee40{0%{opacity:.6}to{opacity:1}}.login-card[data-v-643cee40]{width:420px;background:hsla(0,0%,100%,.95);backdrop-filter:blur(24px);border-radius:24px;padding:48px 44px 40px;box-shadow:0 32px 64px rgba(0,0,0,.3),0 0 0 1px hsla(0,0%,100%,.08);position:relative;z-index:1;animation:cardEntry-643cee40 .6s cubic-bezier(.16,1,.3,1) both}@keyframes cardEntry-643cee40{0%{opacity:0;transform:translateY(32px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.card-head[data-v-643cee40]{text-align:center;margin-bottom:36px}.card-head .logo-box[data-v-643cee40]{width:56px;height:56px;margin:0 auto 18px;background:linear-gradient(135deg,#0d9488,#14b8a6);border-radius:16px;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 8px 28px rgba(13,148,136,.4);animation:float 4s ease-in-out infinite}.card-head h1[data-v-643cee40]{font-size:26px;font-weight:800;color:#0f172a;letter-spacing:1px;margin-bottom:8px}.card-head p[data-v-643cee40]{font-size:13px;color:#94a3b8;font-weight:400}.login-form[data-v-643cee40] .el-form-item{margin-bottom:20px}.field-wrap[data-v-643cee40]{margin-bottom:4px}.input-group[data-v-643cee40]{position:relative;display:flex;align-items:center;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:14px;overflow:hidden;transition:all .25s ease}.input-group[data-v-643cee40]:focus-within{border-color:#0d9488;background:#fff;box-shadow:0 0 0 4px rgba(13,148,136,.07)}.input-group .input-icon[data-v-643cee40]{width:48px;height:52px;display:flex;align-items:center;justify-content:center;color:#94a3b8;font-size:18px;flex-shrink:0;transition:color .25s ease}.input-group:focus-within .input-icon[data-v-643cee40]{color:#0d9488}.native-input[data-v-643cee40]{flex:1;height:52px;border:none;outline:none;background:transparent;font-size:15px;color:#0f172a;padding-right:16px;font-family:inherit}.native-input[data-v-643cee40]::-moz-placeholder{color:#cbd5e1}.native-input[data-v-643cee40]::placeholder{color:#cbd5e1}.submit-btn[data-v-643cee40]{width:100%;height:52px;margin-top:8px;border:none;border-radius:14px;background:linear-gradient(135deg,#0d9488,#0f766e);color:#fff;font-size:16px;font-weight:700;letter-spacing:4px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 18px rgba(13,148,136,.35);display:flex;align-items:center;justify-content:center}.submit-btn[data-v-643cee40]:hover{box-shadow:0 8px 28px rgba(13,148,136,.45);transform:translateY(-2px)}.submit-btn[data-v-643cee40]:active{transform:translateY(0) scale(.98)}.submit-btn[data-v-643cee40]:disabled{opacity:.7;cursor:not-allowed;transform:none}.submit-btn.loading[data-v-643cee40]{pointer-events:none}.btn-spinner[data-v-643cee40]{width:22px;height:22px;border:2.5px solid hsla(0,0%,100%,.3);border-top-color:#fff;border-radius:50%;animation:spin-643cee40 .7s linear infinite}@keyframes spin-643cee40{to{transform:rotate(1turn)}}.card-foot[data-v-643cee40]{margin-top:28px;padding-top:24px;border-top:1px solid #f1f5f9;text-align:center}.foot-hint[data-v-643cee40]{font-size:11px;color:#cbd5e1;letter-spacing:2px;text-transform:uppercase;margin-bottom:12px}.cred-tag[data-v-643cee40]{display:inline-flex;align-items:center;gap:8px;background:#f8fafc;padding:8px 20px;border-radius:100px;border:1px solid #e2e8f0;font-size:12px}.cred-tag code[data-v-643cee40]{font-size:13px;font-weight:700;color:#334155;font-family:SF Mono,Fira Code,Consolas,monospace}.cred-tag .cred-label[data-v-643cee40]{color:#94a3b8}.cred-tag .cred-sep[data-v-643cee40]{width:1px;height:12px;background:#cbd5e1}.copyright[data-v-643cee40]{position:absolute;bottom:28px;font-size:12px;color:hsla(0,0%,100%,.2);letter-spacing:1px;z-index:1}.layout-root[data-v-20e21899]{height:100vh;display:flex;overflow:hidden}.layout-sidebar[data-v-20e21899]{width:248px;min-width:248px;background:linear-gradient(180deg,#0b1120,#0f172a 30%,#1a2436);display:flex;flex-direction:column;position:relative;z-index:20;transition:all .35s cubic-bezier(.4,0,.2,1);overflow:hidden}.layout-sidebar.collapsed[data-v-20e21899]{width:72px;min-width:72px}.layout-sidebar[data-v-20e21899]:before{content:"";position:absolute;top:-80px;right:-30px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(13,148,136,.18),transparent 70%);pointer-events:none}.layout-sidebar[data-v-20e21899]:after{content:"";position:absolute;bottom:60px;left:-40px;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,rgba(59,130,246,.1),transparent 70%);pointer-events:none}.sidebar-brand[data-v-20e21899]{height:68px;display:flex;align-items:center;padding:0 20px;gap:12px;cursor:pointer;flex-shrink:0;border-bottom:1px solid hsla(0,0%,100%,.05);position:relative;z-index:1}.sidebar-brand .brand-icon[data-v-20e21899]{width:40px;height:40px;background:linear-gradient(135deg,#0d9488,#14b8a6);border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;box-shadow:0 4px 14px rgba(13,148,136,.4);transition:all .3s ease}.sidebar-brand:hover .brand-icon[data-v-20e21899]{transform:scale(1.05)}.sidebar-brand .brand-text[data-v-20e21899]{font-size:18px;font-weight:800;letter-spacing:1px;background:linear-gradient(135deg,#fff,#cbd5e1);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;white-space:nowrap;transition:all .35s ease}.sidebar-nav[data-v-20e21899]{flex:1;overflow-y:auto;overflow-x:hidden;padding:12px 10px;position:relative;z-index:1}.nav-item[data-v-20e21899]{height:44px;display:flex;align-items:center;padding:0 14px;margin-bottom:2px;border-radius:12px;cursor:pointer;position:relative;color:#7c8ba0;transition:all .25s cubic-bezier(.4,0,.2,1);overflow:hidden}.nav-item[data-v-20e21899]:hover{color:#cbd5e1;background:hsla(0,0%,100%,.04)}.nav-item.active[data-v-20e21899]{color:#fff}.nav-item.active .nav-icon[data-v-20e21899]{color:#14b8a6;background:rgba(13,148,136,.18)}.nav-item .nav-active-bg[data-v-20e21899]{position:absolute;inset:0;border-radius:12px;background:linear-gradient(135deg,rgba(13,148,136,.2),rgba(13,148,136,.06));z-index:-1;animation:fadeInScale .3s cubic-bezier(.16,1,.3,1) both}.nav-icon[data-v-20e21899]{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:17px;flex-shrink:0;transition:all .25s ease}.nav-item:hover .nav-icon[data-v-20e21899]{transform:scale(1.08)}.nav-label[data-v-20e21899]{margin-left:10px;font-size:13.5px;font-weight:500;white-space:nowrap;letter-spacing:.3px}.nav-badge[data-v-20e21899]{margin-left:auto;background:linear-gradient(135deg,#ef4444,#f87171);color:#fff;font-size:11px;font-weight:700;padding:2px 7px;border-radius:100px;min-width:20px;text-align:center;line-height:16px;animation:pulse 2s infinite}.nav-dot[data-v-20e21899]{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:8px;height:8px;border-radius:50%;background:#ef4444;animation:pulse 2s infinite}.sidebar-footer[data-v-20e21899]{flex-shrink:0;border-top:1px solid hsla(0,0%,100%,.05);padding:16px;position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between}.footer-info[data-v-20e21899]{display:flex;align-items:center;gap:6px;font-size:11px;color:#475569}.footer-toggle[data-v-20e21899]{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#475569;cursor:pointer;transition:all .2s ease;font-size:16px}.footer-toggle[data-v-20e21899]:hover{background:hsla(0,0%,100%,.06);color:#94a3b8}.brand-fade-enter-active[data-v-20e21899],.brand-fade-leave-active[data-v-20e21899],.nav-text-enter-active[data-v-20e21899],.nav-text-leave-active[data-v-20e21899]{transition:all .3s cubic-bezier(.4,0,.2,1)}.brand-fade-enter[data-v-20e21899],.brand-fade-leave-to[data-v-20e21899],.nav-text-enter[data-v-20e21899],.nav-text-leave-to[data-v-20e21899]{opacity:0;width:0}.layout-main[data-v-20e21899]{flex:1;display:flex;flex-direction:column;min-width:0;background:var(--bg-page)}.layout-header[data-v-20e21899]{height:60px;background:hsla(0,0%,100%,.82);backdrop-filter:blur(12px);border-bottom:1px solid rgba(226,232,240,.7);display:flex;align-items:center;justify-content:space-between;padding:0 28px;flex-shrink:0;z-index:10}.layout-header[data-v-20e21899] .el-breadcrumb__inner{font-weight:500;color:#64748b;font-size:13px}.layout-header[data-v-20e21899] .el-breadcrumb__item:last-child .el-breadcrumb__inner{color:#0f172a;font-weight:700}.header-left[data-v-20e21899],.header-right[data-v-20e21899]{display:flex;align-items:center}.header-right[data-v-20e21899]{gap:8px}.header-btn[data-v-20e21899]{width:36px;height:36px;border-radius:10px;border:none;background:transparent;color:#64748b;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.header-btn[data-v-20e21899]:hover{background:#f1f5f9;color:#0d9488}.header-user[data-v-20e21899]{display:flex;align-items:center;gap:8px;padding-left:16px;margin-left:8px;border-left:1px solid #e2e8f0;cursor:pointer}.header-user .user-avatar[data-v-20e21899]{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,#0d9488,#14b8a6);display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;font-weight:700;flex-shrink:0}.header-user .user-name[data-v-20e21899]{display:flex;align-items:center;gap:6px;font-size:13.5px;font-weight:600;color:#334155;white-space:nowrap}.header-user .user-name i[data-v-20e21899]{font-size:11px;color:#94a3b8}.header-user .user-name:hover i[data-v-20e21899]{color:#64748b}.layout-content[data-v-20e21899]{flex:1;overflow-y:auto;padding:24px 28px}.layout-content[data-v-20e21899]::-webkit-scrollbar{width:4px}.layout-content[data-v-20e21899]::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:100px}.page-fade-enter-active[data-v-20e21899]{transition:all .35s cubic-bezier(.16,1,.3,1)}.page-fade-leave-active[data-v-20e21899]{transition:all .2s cubic-bezier(.4,0,.2,1)}.page-fade-enter[data-v-20e21899]{opacity:0;transform:translateY(16px) scale(.98)}.page-fade-leave-to[data-v-20e21899]{opacity:0;transform:translateY(-8px)}