.app-container[data-v-12030549]{height:100vh;overflow:hidden}.app-aside[data-v-12030549]{width:240px!important;background:linear-gradient(180deg,#1e1b4b,#1f2937);overflow-y:auto;overflow-x:hidden;border-right:1px solid rgba(255,255,255,.04);transition:width .3s cubic-bezier(.4,0,.2,1);position:relative}.app-aside[data-v-12030549]::-webkit-scrollbar{width:4px}.app-aside[data-v-12030549]::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:9999px}.app-aside .aside-scan-line[data-v-12030549]{position:absolute;top:0;left:0;right:0;height:100%;pointer-events:none;z-index:10;overflow:hidden}.app-aside .aside-scan-line[data-v-12030549]:after{content:"";position:absolute;top:-100%;left:0;right:0;height:120px;background:linear-gradient(180deg,transparent,rgba(99,102,241,.06),rgba(124,58,237,.03),transparent);animation:scanLine-12030549 6s ease-in-out infinite}.app-aside .aside-fade-bottom[data-v-12030549]{position:absolute;bottom:0;left:0;right:0;height:60px;background:linear-gradient(to top,rgba(30,27,75,.95),transparent);pointer-events:none;z-index:5}.app-aside .logo[data-v-12030549]{display:flex;align-items:center;gap:12px;padding:24px 20px;color:#fff;font-size:16px;font-weight:600;position:relative}.app-aside .logo[data-v-12030549]:after{content:"";position:absolute;bottom:0;left:20px;right:20px;height:1px;background:linear-gradient(90deg,transparent,rgba(99,102,241,.5),rgba(124,58,237,.3),transparent)}.app-aside .logo .el-icon[data-v-12030549]{color:#818cf8;filter:drop-shadow(0 0 6px rgba(99,102,241,.4));animation:logoBreath-12030549 3s ease-in-out infinite}.app-aside .logo .logo-text[data-v-12030549]{font-size:16px;letter-spacing:.5px;background:linear-gradient(135deg,#fff 30%,#818cf8);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.app-aside .app-menu[data-v-12030549]{border-right:none;padding:12px 8px}.app-aside .app-menu[data-v-12030549] .el-menu-item{height:44px;line-height:44px;margin:4px 0;border-radius:8px;padding-left:20px!important;position:relative;transition:all .2s cubic-bezier(.4,0,.2,1);color:#cbd5e1d9}.app-aside .app-menu[data-v-12030549] .el-menu-item .el-icon{font-size:16px;margin-right:10px;transition:all .2s cubic-bezier(.4,0,.2,1)}.app-aside .app-menu[data-v-12030549] .el-menu-item:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%) scaleY(0);width:3px;height:20px;border-radius:0 3px 3px 0;background:linear-gradient(135deg,#4f46e5,#7c3aed);box-shadow:0 0 8px #4f46e54d;transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1)}.app-aside .app-menu[data-v-12030549] .el-menu-item:hover{background:linear-gradient(90deg,rgba(79,70,229,.15),rgba(124,58,237,.08),transparent);color:#fff}.app-aside .app-menu[data-v-12030549] .el-menu-item:hover .el-icon{color:#818cf8;filter:drop-shadow(0 0 4px rgba(99,102,241,.4))}.app-aside .app-menu[data-v-12030549] .el-menu-item:hover:before{transform:translateY(-50%) scaleY(1);box-shadow:0 0 12px #4f46e599}.app-aside .app-menu[data-v-12030549] .el-menu-item.is-active{background:linear-gradient(90deg,rgba(79,70,229,.22),rgba(124,58,237,.1),transparent);color:#fff;font-weight:500;box-shadow:0 0 20px #4f46e51a}.app-aside .app-menu[data-v-12030549] .el-menu-item.is-active .el-icon{color:#818cf8;filter:drop-shadow(0 0 6px rgba(99,102,241,.6));text-shadow:0 0 10px rgba(99,102,241,.8)}.app-aside .app-menu[data-v-12030549] .el-menu-item.is-active:before{transform:translateY(-50%) scaleY(1);box-shadow:0 0 12px #4f46e599}.app-header[data-v-12030549]{display:flex;align-items:center;justify-content:space-between;background:repeating-linear-gradient(90deg,rgba(79,70,229,.02) 0px,rgba(79,70,229,.02) 1px,transparent 1px,transparent 40px),repeating-linear-gradient(0deg,rgba(79,70,229,.02) 0px,rgba(79,70,229,.02) 1px,transparent 1px,transparent 40px),linear-gradient(135deg,#fff,#eef2ff99);border-bottom:none;box-shadow:0 1px 3px #4f46e50f,0 1px 2px #0000000a;padding:0 28px;position:relative;z-index:10}.app-header[data-v-12030549]:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(79,70,229,.4),rgba(124,58,237,.3),rgba(6,182,212,.2),transparent);opacity:.7}.app-header .header-left h2[data-v-12030549]{font-size:20px;font-weight:700;margin:0;color:#111827;letter-spacing:-.02em;background:linear-gradient(135deg,#111827,#4338ca);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.app-header .header-right[data-v-12030549]{display:flex;align-items:center;gap:24px}.app-header .header-right .notification-badge[data-v-12030549]{cursor:pointer;position:relative;padding:8px;border-radius:8px;transition:all .2s cubic-bezier(.4,0,.2,1)}.app-header .header-right .notification-badge .el-icon[data-v-12030549]{transition:all .2s cubic-bezier(.4,0,.2,1)}.app-header .header-right .notification-badge[data-v-12030549]:after{content:"";position:absolute;top:4px;right:4px;width:6px;height:6px;border-radius:50%;background:#818cf8;opacity:0;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 0 6px #4f46e599}.app-header .header-right .notification-badge[data-v-12030549]:hover{background:#4f46e514}.app-header .header-right .notification-badge:hover .el-icon[data-v-12030549]{color:#4f46e5;animation:bellRing-12030549 .6s ease}.app-header .header-right .notification-badge[data-v-12030549]:hover:after{opacity:1;animation:dotBlink-12030549 1.5s ease-in-out infinite}.app-header .header-right .user-info[data-v-12030549]{display:flex;align-items:center;gap:8px;cursor:pointer;padding:8px 12px;border-radius:12px;transition:all .2s cubic-bezier(.4,0,.2,1)}.app-header .header-right .user-info[data-v-12030549]:hover{background:#4f46e50f}.app-header .header-right .user-info:hover .username[data-v-12030549]{color:#4f46e5}.app-header .header-right .user-info[data-v-12030549]:hover .el-avatar{box-shadow:0 0 0 3px #4f46e526,0 0 12px #4f46e54d}.app-header .header-right .user-info[data-v-12030549] .el-avatar{background:linear-gradient(135deg,#4f46e5,#7c3aed);box-shadow:0 2px 8px #4f46e540;transition:box-shadow .2s cubic-bezier(.4,0,.2,1);animation:avatarRingGlow-12030549 4s ease-in-out infinite}.app-header .header-right .user-info .username[data-v-12030549]{font-size:14px;font-weight:500;color:#374151;transition:color .2s cubic-bezier(.4,0,.2,1)}.app-main[data-v-12030549]{background-color:#f8fafc;overflow-y:auto;position:relative}.app-main .main-bg-texture[data-v-12030549]{position:absolute;top:0;left:0;right:0;bottom:0;background-image:radial-gradient(circle,rgba(79,70,229,.03) 1px,transparent 1px);background-size:24px 24px;pointer-events:none;z-index:0}.app-main[data-v-12030549]>.router-view,.app-main[data-v-12030549]>div{position:relative;z-index:1}.page-fade-enter-active[data-v-12030549]{transition:all .3s cubic-bezier(.4,0,.2,1)}.page-fade-leave-active[data-v-12030549]{transition:all .2s cubic-bezier(.4,0,.2,1)}.page-fade-enter-from[data-v-12030549]{opacity:0;transform:translateY(8px)}.page-fade-leave-to[data-v-12030549]{opacity:0;transform:translateY(-4px)}@keyframes bellRing-12030549{0%{transform:rotate(0)}20%{transform:rotate(12deg)}40%{transform:rotate(-10deg)}60%{transform:rotate(6deg)}80%{transform:rotate(-3deg)}to{transform:rotate(0)}}@keyframes scanLine-12030549{0%{top:-120px}50%{top:100%}to{top:-120px}}@keyframes logoBreath-12030549{0%,to{filter:drop-shadow(0 0 6px rgba(99,102,241,.4))}50%{filter:drop-shadow(0 0 14px rgba(99,102,241,.7)) drop-shadow(0 0 24px rgba(99,102,241,.3))}}@keyframes dotBlink-12030549{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}@keyframes avatarRingGlow-12030549{0%,to{box-shadow:0 2px 8px #4f46e540}50%{box-shadow:0 2px 8px #4f46e540,0 0 0 4px #4f46e514,0 0 16px #4f46e51f}}.notification-panel .notification-panel-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:12px;border-bottom:1px solid #ebeef5;margin-bottom:8px}.notification-panel .notification-panel-header span{font-size:16px;font-weight:600;color:#303133}.notification-panel .notification-panel-loading,.notification-panel .notification-panel-empty{display:flex;align-items:center;justify-content:center;gap:8px;padding:24px 0;color:#909399;font-size:14px}.notification-panel .notification-panel-list{max-height:320px;overflow-y:auto}.notification-panel .notification-item{padding:8px;border-radius:6px;cursor:pointer;transition:background .2s}.notification-panel .notification-item:hover{background:#f5f7fa}.notification-panel .notification-item.unread{background:#409eff0a}.notification-panel .notification-item .notification-item-header{display:flex;align-items:center;justify-content:space-between}.notification-panel .notification-item .notification-unread-dot{width:8px;height:8px;border-radius:50%;background-color:#409eff;flex-shrink:0;margin-left:6px}.notification-panel .notification-item .notification-item-title{font-size:14px;color:#303133;line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.notification-panel .notification-item .notification-item-schedule{margin-top:4px}.notification-panel .notification-item .schedule-info-title{font-size:12px;color:#303133;font-weight:500}.notification-panel .notification-item .notification-item-meta{font-size:12px;color:#909399;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notification-panel .notification-item .notification-item-time{font-size:12px;color:#909399;margin-top:4px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.6;color:#111827;background-color:#f8fafc;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{height:100%}a{color:#4f46e5;text-decoration:none;transition:color .15s cubic-bezier(.4,0,.2,1)}a:hover{color:#6366f1}:root{--el-color-primary: #4F46E5;--el-color-primary-light-1: #6366F1;--el-color-primary-light-2: #818CF8;--el-color-primary-light-3: #A5B4FC;--el-color-primary-light-4: #C7D2FE;--el-color-primary-light-5: #E0E7FF;--el-color-primary-light-6: #E8ECFF;--el-color-primary-light-7: #EEF2FF;--el-color-primary-light-8: #F5F7FF;--el-color-primary-light-9: #FAFBFF;--el-color-primary-dark-2: #4338CA;--el-color-success: #10B981;--el-color-warning: #F59E0B;--el-color-danger: #EF4444;--el-color-info: #6366F1;--el-text-color-primary: #111827;--el-text-color-regular: #374151;--el-text-color-secondary: #6B7280;--el-text-color-placeholder: #9CA3AF;--el-border-color: #E5E7EB;--el-border-color-light: #F3F4F6;--el-border-color-lighter: #F9FAFB;--el-bg-color: #ffffff;--el-bg-color-page: #F8FAFC;--el-bg-color-overlay: #ffffff;--el-fill-color-light: #F1F5F9;--el-fill-color-lighter: #F8FAFC;--el-border-radius-base: 8px;--el-border-radius-small: 6px;--el-border-radius-round: 20px;--el-box-shadow: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--el-box-shadow-light: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px -1px rgba(0, 0, 0, .1)}.el-button--primary:not(.is-text):not(.is-plain):not(.is-link){background:linear-gradient(135deg,#4f46e5,#7c3aed);border-color:transparent;font-weight:500;letter-spacing:.025em;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.el-button--primary:not(.is-text):not(.is-plain):not(.is-link):before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.el-button--primary:not(.is-text):not(.is-plain):not(.is-link):hover,.el-button--primary:not(.is-text):not(.is-plain):not(.is-link):focus{background:linear-gradient(135deg,#6366f1,#a78bfa);border-color:transparent;box-shadow:0 0 10px #4f46e533;transform:translateY(-2px)}.el-button--primary:not(.is-text):not(.is-plain):not(.is-link):hover:before,.el-button--primary:not(.is-text):not(.is-plain):not(.is-link):focus:before{left:100%}.el-button--primary:not(.is-text):not(.is-plain):not(.is-link):active{transform:translateY(0);box-shadow:inset 0 2px 4px #0000000f}.el-button--default{border-color:#e5e7eb;transition:all .2s cubic-bezier(.4,0,.2,1)}.el-button--default:hover,.el-button--default:focus{color:#4f46e5;border-color:#818cf8;background-color:#eef2ff}.el-card{border:1px solid #F3F4F6;border-radius:12px;box-shadow:0 1px 2px #0000000d;transition:all .3s cubic-bezier(.4,0,.2,1);background:#fff;position:relative;overflow:hidden}.el-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(135deg,#4f46e5,#7c3aed);opacity:0;transition:opacity .2s cubic-bezier(.4,0,.2,1)}.el-card:hover{box-shadow:0 20px 40px -12px #4f46e533,0 8px 20px -8px #0000001a;transform:translateY(-4px);border-color:#4f46e51f}.el-card:hover:before{opacity:1}.el-card .el-card__header{border-bottom:1px solid #F3F4F6;padding:20px 24px}.el-card .el-card__body{padding:24px}.el-input__wrapper{border-radius:8px;transition:all .2s cubic-bezier(.4,0,.2,1)}.el-input__wrapper.is-focus{box-shadow:0 0 0 2px #4f46e526,0 0 12px #4f46e514!important;border-color:#818cf8!important}.el-textarea__inner{border-radius:8px;transition:all .2s cubic-bezier(.4,0,.2,1)}.el-textarea__inner:focus{box-shadow:0 0 0 2px #4f46e526,0 0 12px #4f46e514;border-color:#818cf8}.el-table{--el-table-border-color: #F3F4F6;--el-table-header-bg-color: #F1F5F9;border-radius:12px;overflow:hidden}.el-table th.el-table__cell{font-weight:600;color:#111827;background:linear-gradient(180deg,#f8fafc,#f1f5f9)!important;border-bottom:2px solid rgba(79,70,229,.08)!important}.el-table .el-table__row{transition:background-color .15s cubic-bezier(.4,0,.2,1)}.el-table .el-table__row:hover>td.el-table__cell{background-color:#4f46e50a!important}.el-dialog{border-radius:16px;box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;animation:dialogEnter .3s cubic-bezier(.34,1.56,.64,1)}.el-dialog .el-dialog__header{padding:20px 24px;border-bottom:1px solid #F3F4F6;background:linear-gradient(135deg,rgba(79,70,229,.02),transparent)}.el-dialog .el-dialog__body{padding:24px}.el-dialog .el-dialog__footer{padding:16px 24px;border-top:1px solid #F3F4F6}.el-menu{border-right:none}.el-menu .el-menu-item{border-radius:8px;margin:2px 8px;transition:all .2s cubic-bezier(.4,0,.2,1)}.el-menu .el-menu-item.is-active{background:#4f46e51a;color:#4f46e5;font-weight:500}.el-menu .el-menu-item:hover{background:#4f46e50f}.el-menu .el-sub-menu__title{border-radius:8px;margin:2px 8px}.el-tag{border-radius:9999px;font-weight:500}.el-message{border-radius:12px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a}.el-dropdown-menu{border-radius:12px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;border:1px solid #F3F4F6;padding:4px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:#00000026;border-radius:9999px;transition:background .15s cubic-bezier(.4,0,.2,1)}::-webkit-scrollbar-thumb:hover{background:#00000040}::-webkit-scrollbar-track{background:transparent}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes cardFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes dataShimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes breathGlow{0%,to{box-shadow:0 0 8px #4f46e533}50%{box-shadow:0 0 20px #4f46e566,0 0 40px #4f46e51a}}@keyframes borderScan{0%{background-position:0% 0%}to{background-position:200% 0%}}@keyframes gridMove{0%{transform:translate(0)}to{transform:translate(30px,30px)}}@keyframes dotPulse{0%,to{opacity:.3}50%{opacity:.8}}@keyframes dialogEnter{0%{opacity:0;transform:scale(.92) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes glowPulse{0%,to{text-shadow:0 0 4px rgba(79,70,229,.3)}50%{text-shadow:0 0 16px rgba(79,70,229,.6),0 0 32px rgba(79,70,229,.2)}}.text-center{text-align:center}.text-right{text-align:right}.text-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flex{display:flex}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.mt-sm{margin-top:8px}.mt-md{margin-top:16px}.mt-lg{margin-top:24px}.mb-sm{margin-bottom:8px}.mb-md{margin-bottom:16px}.mb-lg{margin-bottom:24px}.glass{background:#ffffffb3;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.2)}.gradient-text{background:linear-gradient(135deg,#4f46e5,#7c3aed);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.animate-fadeIn{animation:fadeIn .3s cubic-bezier(.4,0,.2,1) forwards}.animate-slideUp{animation:slideUp .3s cubic-bezier(.4,0,.2,1) forwards}.animate-slideDown{animation:slideDown .3s cubic-bezier(.4,0,.2,1) forwards}.animate-scaleIn{animation:scaleIn .2s cubic-bezier(.4,0,.2,1) forwards}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-shimmer{background:linear-gradient(90deg,#f3f4f6 25%,#f1f5f9,#f3f4f6 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.animate-float{animation:cardFloat 3s ease-in-out infinite}.animate-breath{animation:breathGlow 3s ease-in-out infinite}.animate-data-shimmer{background:linear-gradient(90deg,transparent 0%,rgba(79,70,229,.08) 50%,transparent 100%);background-size:200% 100%;animation:dataShimmer 2s linear infinite}.bg-grid{position:relative}.bg-grid:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:linear-gradient(rgba(79,70,229,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(79,70,229,.05) 1px,transparent 1px);background-size:30px 30px;animation:gridMove 20s linear infinite;pointer-events:none;z-index:0}.bg-dots{position:relative}.bg-dots:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:radial-gradient(circle,rgba(79,70,229,.12) 1px,transparent 1px);background-size:20px 20px;animation:dotPulse 4s ease-in-out infinite;pointer-events:none;z-index:0}.glow-text{color:#4f46e5;text-shadow:0 0 8px rgba(79,70,229,.4),0 0 16px rgba(79,70,229,.2);animation:glowPulse 3s ease-in-out infinite}.hover-float{transition:all .3s cubic-bezier(.4,0,.2,1)}.hover-float:hover{transform:translateY(-4px);box-shadow:0 20px 40px -12px #4f46e533,0 8px 20px -8px #0000001a}.border-scan{position:relative;border:1px solid transparent;background-clip:padding-box}.border-scan:after{content:"";position:absolute;top:-1px;left:-1px;right:-1px;bottom:-1px;border-radius:inherit;background:linear-gradient(90deg,transparent,rgba(79,70,229,.4),transparent);background-size:200% 100%;animation:borderScan 3s linear infinite;z-index:-1}.glass-enhanced{background:#ffffffb8;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.25);box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a,inset 0 1px #fff6}.glass-dark{background:#1e1b4bcc;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.12)}.fc{font-size:13px}.fc .fc-button-primary{background-color:#4f46e5;border-color:#4f46e5}.fc .fc-button-primary:hover{background-color:#4338ca;border-color:#4338ca}.fc .fc-button-primary:focus{box-shadow:0 0 0 2px #4f46e533}.fc .fc-button-active{background-color:#4338ca!important;border-color:#4338ca!important}.fc .fc-today-button:not(:disabled){background-color:#4f46e5;border-color:#4f46e5}.fc .fc-daygrid-day.fc-day-today{background-color:#4f46e50d}
