.main-layout[data-v-21c56ebc]{background:#0a0a0f;min-height:100vh;display:flex}.sidebar[data-v-21c56ebc]{z-index:100;background:#15151c;border-right:1px solid #ffffff0d;flex-direction:column;width:220px;height:100vh;transition:width .3s;display:flex;position:fixed;top:0;left:0}.sidebar.collapsed[data-v-21c56ebc]{width:68px}.sidebar.collapsed .logo-text[data-v-21c56ebc],.sidebar.collapsed .nav-item span[data-v-21c56ebc],.sidebar.collapsed .user-meta[data-v-21c56ebc],.sidebar.collapsed .expand-icon[data-v-21c56ebc],.sidebar.collapsed .sub-menu[data-v-21c56ebc]{display:none}.sidebar.collapsed .nav-item[data-v-21c56ebc],.sidebar.collapsed .user-info[data-v-21c56ebc]{justify-content:center;padding:12px}.sidebar.collapsed .group-title[data-v-21c56ebc]{cursor:default}.sidebar-header[data-v-21c56ebc]{border-bottom:1px solid #ffffff0d;justify-content:space-between;align-items:center;padding:20px 16px;display:flex}.logo[data-v-21c56ebc]{flex-direction:column;gap:0;display:flex}.logo-text[data-v-21c56ebc]{background:linear-gradient(135deg,#6366f1,#a855f7);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:20px;font-weight:800;line-height:1.2}.logo-text-sm[data-v-21c56ebc]{background:linear-gradient(135deg,#6366f1,#a855f7);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:18px;font-weight:800}.logo-slogan[data-v-21c56ebc]{color:#52525b;letter-spacing:.02em;margin-top:1px;font-size:10px}.collapse-btn[data-v-21c56ebc]{color:#fff6;transition:color .2s}.collapse-btn[data-v-21c56ebc]:hover{color:#ffffffe6}.sidebar-nav[data-v-21c56ebc]{flex:1;padding:12px 8px;overflow-y:auto}.nav-item[data-v-21c56ebc]{color:#a1a1aa;cursor:pointer;border-radius:8px;align-items:center;gap:10px;margin-bottom:2px;padding:10px 12px;font-size:13px;text-decoration:none;transition:all .2s;display:flex;position:relative}.nav-item .el-icon[data-v-21c56ebc]{flex-shrink:0;font-size:18px}.nav-item span[data-v-21c56ebc]{font-size:13px;font-weight:500}.nav-item[data-v-21c56ebc]:hover{color:#e4e4e7;background:#ffffff0d}.nav-item.active[data-v-21c56ebc],.nav-item.router-link-active[data-v-21c56ebc]{color:#fff;background:#6366f126}.menu-group[data-v-21c56ebc]{margin-bottom:2px}.group-title[data-v-21c56ebc]{text-transform:uppercase;letter-spacing:.05em;-webkit-user-select:none;user-select:none;position:relative;color:#71717a!important;cursor:default!important;padding:12px 12px 6px!important;font-size:11px!important;font-weight:700!important}.group-title[data-v-21c56ebc]:after{content:"";border-top:5px solid #52525b;border-left:4px solid #0000;border-right:4px solid #0000;width:0;height:0;transition:transform .2s;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.group-title.expanded[data-v-21c56ebc]:after{transform:translateY(-50%)rotate(180deg)}.group-title .expand-icon[data-v-21c56ebc]{display:none}.sub-menu[data-v-21c56ebc]{border-left:1px solid #ffffff0f;margin:2px 0 8px 8px;padding-left:12px}.sub-menu .nav-item[data-v-21c56ebc]{color:#a1a1aa;border-radius:6px;padding:8px 12px;font-size:13px}.sub-menu .nav-item .el-icon[data-v-21c56ebc]{font-size:16px}.sub-menu .nav-item span[data-v-21c56ebc]{font-size:13px;font-weight:400}.sub-menu .nav-item[data-v-21c56ebc]:hover{color:#e4e4e7;background:#ffffff0d}.sub-menu .nav-item.active[data-v-21c56ebc],.sub-menu .nav-item.router-link-active[data-v-21c56ebc]{color:#fff;background:#6366f126}.sidebar-footer[data-v-21c56ebc]{border-top:1px solid #ffffff0d;flex-shrink:0;padding:12px}.user-info[data-v-21c56ebc]{cursor:pointer;border-radius:8px;align-items:center;gap:10px;margin-top:4px;padding:10px 12px;text-decoration:none;transition:background .2s;display:flex}.user-info[data-v-21c56ebc]:hover{background:#ffffff0d}.user-meta[data-v-21c56ebc]{flex-direction:column;gap:2px;display:flex}.user-name[data-v-21c56ebc]{color:#e4e4e7;font-size:13px;font-weight:600}.user-vip[data-v-21c56ebc]{color:#71717a;font-size:11px}.main-content[data-v-21c56ebc]{flex-direction:column;flex:1;height:100vh;margin-left:220px;transition:margin-left .3s;display:flex;overflow-y:auto}.main-content[data-v-21c56ebc]>*{flex-direction:column;flex:1;min-width:0;display:flex}.main-layout.collapsed-main .main-content[data-v-21c56ebc]{margin-left:68px}.fade-enter-active[data-v-21c56ebc],.fade-leave-active[data-v-21c56ebc]{transition:opacity .15s}.fade-enter-from[data-v-21c56ebc],.fade-leave-to[data-v-21c56ebc]{opacity:0}body{color:#e4e4e7;background:#0a0a0f;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.fade-enter-active,.fade-leave-active{transition:opacity .15s}.fade-enter-from,.fade-leave-to{opacity:0}:root{--el-bg-color:transparent;--el-text-color-primary:#e4e4e7;--el-text-color-regular:#a1a1aa;--el-text-color-secondary:#71717a;--el-border-color:#ffffff14;--el-fill-color-blank:#ffffff0d}body{color:#e2e8f0;background:#0a0a0f;min-height:100vh;font-family:Inter,Noto Sans SC,sans-serif;overflow-x:hidden}::-webkit-scrollbar{width:6px}.app-container{background:linear-gradient(135deg,#0a0a0f 0%,#1a1a2e 50%,#0f0f1a 100%);min-height:100vh}.card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#1e1e3299;border:1px solid #6366f133;border-radius:16px;padding:24px}.btn-primary{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:10px;padding:10px 24px;font-weight:600;transition:all .3s}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 25px #667eea66}.el-select-dropdown,.el-select-dropdown__wrap,.el-select-dropdown__list{background:#1a1a2e!important;border:1px solid #667eea4d!important}.el-select-dropdown{z-index:9000!important;position:absolute!important;box-shadow:0 8px 32px #00000080!important}.el-select-dropdown__item{color:#ffffffbf!important}.el-select-dropdown__item:hover,.el-select-dropdown__item.hovered{color:#fff!important;background:#ffffff14!important}.el-input__wrapper{box-shadow:none!important;background:#ffffff12!important;border:1px solid #ffffff1f!important}.el-textarea__inner{color:#fff!important;box-shadow:none!important;background:#ffffff12!important;border:1px solid #ffffff1f!important}.el-dialog{background:#0f0f1a!important;border:1px solid #667eea33!important}.el-dialog .el-dialog__header{border-bottom:1px solid #ffffff14}.el-dialog .el-dialog__title{color:#fff}.el-dialog .el-dialog__close{color:#ffffff80}:root{--bg-base:#0a0a0f;--bg-sidebar:#15151c;--bg-card:#1a1a24;--bg-hover:#ffffff0d;--bg-input:#ffffff0d;--bg-active:#6366f126;--border-subtle:#ffffff0d;--border-default:#ffffff14;--border-focus:#6366f180;--border-accent:#6366f14d;--color-primary:#6366f1;--color-primary-end:#a855f7;--color-primary-rgb:99, 102, 241;--text-white:#fff;--text-primary:#e4e4e7;--text-secondary:#a1a1aa;--text-muted:#71717a;--text-placeholder:#52525b;--color-success:#22c55e;--color-danger:#f87171;--color-warning:#fbbf24;--color-info:#818cf8;--sidebar-width:240px;--sidebar-collapsed:72px;--content-padding:20px}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-base);color:var(--text-primary);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-size:14px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-card)}::-webkit-scrollbar-thumb{background:#6366f166;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-primary)}a{color:var(--color-info);text-decoration:none}.btn-primary{background:linear-gradient(135deg, var(--color-primary), var(--color-primary-end));color:#fff;cursor:pointer;border:none;border-radius:10px;align-items:center;gap:6px;padding:10px 24px;font-size:14px;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary:hover{box-shadow:0 8px 25px rgba(var(--color-primary-rgb), .35);transform:translateY(-1px)}.btn-secondary{color:var(--text-secondary);border:1px solid var(--border-default);cursor:pointer;background:#ffffff12;border-radius:10px;padding:10px 20px;font-size:13px;transition:all .2s}.btn-secondary:hover{color:var(--text-primary);background:#ffffff1a}.mini-btn{color:var(--text-secondary);cursor:pointer;background:#ffffff0f;border:none;border-radius:6px;padding:6px 12px;font-size:12px;transition:all .2s}.mini-btn:hover{color:var(--text-white);background:#ffffff1a}.mini-btn.primary{color:var(--color-info);background:#6366f133}.tag{white-space:nowrap;border-radius:5px;padding:3px 8px;font-size:11px;font-weight:600;display:inline-flex}.tag-blue{color:#818cf8;background:#6366f126}.tag-green{color:#4ade80;background:#22c55e26}.tag-orange{color:#fb923c;background:#f9731626}.tag-yellow{color:#fbbf24;background:#eab30826}.tag-gray{color:#71717a;background:#ffffff0f}.tag-red{color:#f87171;background:#ef444426}.tag-purple{color:#c084fc;background:#a855f726}.page-container{padding:var(--content-padding);min-height:100%}.page-root{flex-direction:column;flex:1;min-width:0;padding:20px;display:flex}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.page-title{color:var(--text-white);margin-bottom:4px;font-size:22px;font-weight:700}.page-desc,.page-subtitle{color:var(--text-muted);font-size:13px}.toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.search-box{flex:1;min-width:200px}.toolbar-right{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.stats-row{color:var(--text-muted);gap:16px;margin-bottom:12px;font-size:12px;display:flex}.table-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:12px;margin-bottom:16px;overflow:hidden}.form-section{margin-bottom:20px}.form-section-title{color:var(--text-primary);border-bottom:1px solid var(--border-subtle);margin-bottom:12px;padding-bottom:8px;font-size:14px;font-weight:600}.empty-state{text-align:center;color:var(--text-muted);padding:60px 20px}.empty-state .empty-icon{margin-bottom:12px;font-size:40px}.empty-state .empty-text{font-size:14px}.el-input__wrapper{background:var(--bg-input)!important;box-shadow:none!important;border:1px solid var(--border-default)!important;border-radius:8px!important;transition:border-color .2s,box-shadow .2s!important}.el-input__wrapper:hover{border-color:var(--border-focus)!important}.el-input__wrapper.is-focus{border-color:var(--color-primary)!important;box-shadow:0 0 0 3px rgba(var(--color-primary-rgb), .15)!important}.el-input__inner{color:var(--text-white)!important}.el-input__inner::placeholder{color:var(--text-placeholder)!important}.el-input__prefix{color:var(--text-muted)!important}.el-textarea__inner{resize:vertical;background:var(--bg-input)!important;border:1px solid var(--border-default)!important;color:var(--text-white)!important;box-shadow:none!important;border-radius:8px!important}.el-textarea__inner:hover{border-color:var(--border-focus)!important}.el-textarea__inner:focus{border-color:var(--color-primary)!important;box-shadow:0 0 0 3px rgba(var(--color-primary-rgb), .15)!important}.el-textarea__inner::placeholder{color:var(--text-placeholder)!important}.el-select-dropdown,.el-select-dropdown__wrap,.el-select-dropdown__list{background:var(--bg-card)!important;border:1px solid var(--border-default)!important;z-index:9000!important;box-shadow:0 8px 32px #00000080!important}.el-select-dropdown{position:absolute!important}.el-select-dropdown__item{font-size:13px;color:var(--text-secondary)!important}.el-select-dropdown__item:hover{background:var(--bg-hover)!important;color:var(--text-primary)!important}.el-select-dropdown__item.selected{font-weight:600;color:var(--color-info)!important;background:rgba(var(--color-primary-rgb), .12)!important}.el-select-dropdown__empty{color:var(--text-muted)!important}.el-pagination{justify-content:center;padding:16px 0;display:flex;--el-pagination-bg-color:transparent!important;--el-pagination-text-color:var(--text-muted)!important;--el-pagination-button-disabled-bg-color:transparent!important;--el-pagination-hover-color:var(--color-info)!important;--el-pagination-button-color:var(--text-muted)!important;--el-pagination-button-bg-color:#ffffff0d!important;--el-pagination-button-disabled-color:#ffffff26!important}.el-pagination .el-pager li{min-width:32px;height:32px;margin:0 2px;font-size:13px;line-height:32px;transition:all .2s;border:1px solid var(--border-subtle)!important;color:var(--text-muted)!important;background:#ffffff0d!important;border-radius:6px!important}.el-pagination .el-pager li:hover:not(.is-active){color:var(--text-primary)!important;border-color:var(--border-default)!important;background:#ffffff14!important}.el-pagination .el-pager li.is-active{font-weight:600;background:linear-gradient(135deg, var(--color-primary), var(--color-primary-end))!important;color:#fff!important;border-color:#0000!important}.el-pagination .el-pager li.is-disabled{cursor:not-allowed;color:#ffffff26!important;background:#ffffff08!important;border-color:#0000!important}.el-pagination .btn-prev,.el-pagination .btn-next{justify-content:center;align-items:center;min-width:32px;height:32px;padding:0;transition:all .2s;display:flex;border:1px solid var(--border-subtle)!important;color:var(--text-muted)!important;background:#ffffff0d!important;border-radius:6px!important}.el-pagination .btn-prev:hover:not(.is-disabled),.el-pagination .btn-next:hover:not(.is-disabled){color:var(--text-primary)!important;background:#ffffff1a!important}.el-pagination .btn-prev.is-disabled,.el-pagination .btn-next.is-disabled{color:#ffffff26!important;background:#ffffff05!important}.el-dialog{overflow:hidden;background:var(--bg-card)!important;border:1px solid var(--border-default)!important;border-radius:16px!important;box-shadow:0 25px 80px #0009!important}.el-dialog .el-dialog__header{border-bottom:1px solid var(--border-subtle)!important;margin-right:0!important;padding:20px 24px!important}.el-dialog .el-dialog__title{font-size:16px;font-weight:600;color:var(--text-white)!important}.el-dialog .el-dialog__headerbtn{top:20px!important;right:20px!important}.el-dialog .el-dialog__close{transition:color .2s;color:var(--text-muted)!important}.el-dialog .el-dialog__close:hover{color:var(--text-white)!important}.el-dialog .el-dialog__body{color:var(--text-primary)!important;padding:24px!important}.el-dialog .el-dialog__footer{justify-content:flex-end;gap:12px;display:flex;border-top:1px solid var(--border-subtle)!important;padding:16px 24px!important}.el-overlay{background:#000000b3!important}.el-tooltip__popper,.el-popper.is-dark,.el-popper{background:var(--bg-card)!important;border:1px solid var(--border-default)!important;color:var(--text-primary)!important;border-radius:8px!important;padding:6px 10px!important;font-size:12px!important;box-shadow:0 8px 24px #0006!important}.el-tooltip__popper .el-popper__arrow:before,.el-popper.is-dark .el-popper__arrow:before,.el-popper .el-popper__arrow:before{background:var(--bg-card)!important;border-color:var(--border-default)!important}.el-date-picker{background:var(--bg-card)!important;border:1px solid var(--border-default)!important;box-shadow:0 12px 40px #0009!important}.el-date-picker .el-date-table th{color:var(--text-muted)!important}.el-date-picker .el-date-table td.available:hover .el-date-table-cell__text{background:var(--bg-hover)!important}.el-date-picker .el-date-table td.today .el-date-table-cell__text{font-weight:600;color:var(--color-info)!important}.el-date-picker .el-date-table td.current:not(.disabled) .el-date-table-cell__text{background:var(--color-primary)!important;color:#fff!important}.el-date-picker .el-date-table td.in-range .el-date-table-cell{background:rgba(var(--color-primary-rgb), .15)!important}.el-date-picker .el-picker-panel__icon-btn{color:var(--text-muted)!important}.el-date-picker .el-picker-panel__icon-btn:hover,.el-date-picker .el-date-picker__header-label{color:var(--text-primary)!important}.el-date-picker .el-date-editor.el-input{width:100%!important}.el-date-table td.in-range .el-date-table-cell__text{background:rgba(var(--color-primary-rgb), .15)!important}.el-month-table td .cell{border-radius:6px;color:var(--text-secondary)!important}.el-month-table td .cell:hover{background:var(--bg-hover)!important}.el-month-table td.current:not(.disabled) .cell{color:var(--color-info)!important;background:rgba(var(--color-primary-rgb), .15)!important}.el-form-item__label{font-size:13px;font-weight:500;color:var(--text-secondary)!important;margin-bottom:6px!important}.el-form-item__error{font-size:12px;color:var(--color-danger)!important}.el-table{--el-table-bg-color:transparent!important;--el-table-tr-bg-color:transparent!important;--el-table-header-bg-color:#ffffff0a!important;--el-table-row-hover-bg-color:#ffffff08!important;--el-table-border-color:var(--border-subtle)!important;--el-table-text-color:var(--text-primary)!important;--el-table-header-text-color:var(--text-muted)!important;background:0 0!important}.el-table th.el-table__cell{text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:600;color:var(--text-muted)!important;border-bottom:1px solid var(--border-subtle)!important;background:#ffffff0a!important;padding:12px 16px!important}.el-table td.el-table__cell{border-bottom:1px solid var(--border-subtle)!important;padding:12px 16px!important}.el-table tr:hover>td{background:#ffffff08!important}.el-table .el-table__inner-wrapper:before{display:none}.el-tag{border:none!important;border-radius:5px!important;font-size:11px!important;font-weight:600!important}.el-tag--success{color:#4ade80!important;background:#22c55e26!important}.el-tag--warning{color:#fbbf24!important;background:#eab30826!important}.el-tag--danger{color:#f87171!important;background:#ef444426!important}.el-tag--info{color:#71717a!important;background:#ffffff0f!important}.el-rate__icon{color:#3f3f46!important}.el-rate__decimal{color:#f59e0b!important}.el-message{background:var(--bg-card)!important;border:1px solid var(--border-default)!important;border-radius:10px!important;box-shadow:0 8px 30px #0006!important}.el-message .el-message__content{color:var(--text-primary)!important}.el-message-box{background:var(--bg-card)!important;border:1px solid var(--border-default)!important;border-radius:12px!important}.el-message-box .el-message-box__title{color:var(--text-white)!important}.el-message-box .el-message-box__message{color:var(--text-secondary)!important}.el-dropdown-menu{background:var(--bg-card)!important;border:1px solid var(--border-default)!important;border-radius:8px!important;padding:4px!important;box-shadow:0 8px 24px #0006!important}.el-dropdown-menu__item{border-radius:4px;color:var(--text-secondary)!important;padding:8px 12px!important;font-size:13px!important}.el-dropdown-menu__item:hover{background:var(--bg-hover)!important;color:var(--text-primary)!important}.el-dropdown-menu__item--divided{border-top:1px solid var(--border-subtle)!important}.el-switch.is-checked .el-switch__core{background:linear-gradient(135deg, var(--color-primary), var(--color-primary-end))!important;border-color:var(--color-primary)!important}.el-switch__label{color:var(--text-muted)!important}.el-slider__runway{background:#ffffff14!important}.el-slider__bar{background:linear-gradient(90deg, var(--color-primary), var(--color-primary-end))!important}.el-slider__button{border-color:var(--color-primary)!important}.el-loading-mask{background:#0a0a0fcc!important}.el-loading-spinner .circular{stroke:var(--color-primary)!important}.el-loading-text,.el-empty__description{color:var(--text-muted)!important}.el-button{--el-button-hover-bg-color:#ffffff1a!important;--el-button-hover-border-color:#fff3!important}.el-button--primary{background:linear-gradient(135deg, var(--color-primary), var(--color-primary-end))!important;color:#fff!important;border-color:#0000!important}.el-button--primary:hover{opacity:.9;box-shadow:0 6px 20px rgba(var(--color-primary-rgb), .35);transform:translateY(-1px)}.el-button--default{border-color:var(--border-default)!important;color:var(--text-secondary)!important;background:#ffffff0f!important}.el-button--default:hover{color:var(--text-primary)!important;background:#ffffff1a!important;border-color:#ffffff26!important}.el-button--danger{color:#f87171!important;background:#ef444426!important;border-color:#0000!important}.el-button--danger:hover{background:#ef444440!important}.el-button--success{color:#4ade80!important;background:#22c55e26!important;border-color:#0000!important}.el-button--info{border-color:var(--border-default)!important;color:var(--text-secondary)!important;background:#ffffff0d!important}
