*{margin:0;padding:0;box-sizing:border-box}html,body,#app{width:100%;height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}#app{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#nprogress{pointer-events:none}#nprogress .bar{background:#29d;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #29d,0 0 5px #29d;opacity:1;-webkit-transform:rotate(3deg) translate(0px,-4px);-ms-transform:rotate(3deg) translate(0px,-4px);transform:rotate(3deg) translateY(-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border:solid 2px transparent;border-top-color:#29d;border-left-color:#29d;border-radius:50%;-webkit-animation:nprogress-spinner .4s linear infinite;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .spinner,.nprogress-custom-parent #nprogress .bar{position:absolute}@-webkit-keyframes nprogress-spinner{0%{-webkit-transform:rotate(0deg)}to{-webkit-transform:rotate(360deg)}}@keyframes nprogress-spinner{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:root{--container-max-width: 1200px;--container-padding: 20px;--glass-bg: rgba(255, 255, 255, .1);--glass-bg-light: rgba(255, 255, 255, .15);--glass-border: rgba(255, 255, 255, .2);--glass-shadow: 0 8px 32px rgba(31, 38, 135, .37);--glass-backdrop-filter: blur(10px);--gradient-primary: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--gradient-secondary: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);--gradient-success: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);--gradient-warning: linear-gradient(135deg, #43e97b 0%, #38f9d7 100%);--gradient-danger: linear-gradient(135deg, #fa709a 0%, #fee140 100%);--bg-color: #ffffff;--bg-color-page: #f0f2f5;--bg-color-overlay: #ffffff;--border-color: #dcdfe6;--border-color-light: #e4e7ed;--border-color-lighter: #ebeef5;--text-color-primary: #303133;--text-color-regular: #606266;--text-color-secondary: #909399;--text-color-placeholder: #c0c4cc;--fill-color-blank: #ffffff;--fill-color: #f0f2f5;--fill-color-light: #f5f7fa;--fill-color-lighter: #fafafa;--fill-color-extra-light: #fafcff;--fill-color-dark: #ebedf0;--fill-color-darker: #e6e8eb}html.dark{color-scheme:dark;--bg-color: #1f1f1f;--bg-color-page: #141414;--bg-color-overlay: #262626;--border-color: #4c4d4f;--border-color-light: #414243;--border-color-lighter: #363637;--text-color-primary: rgba(255, 255, 255, .85);--text-color-regular: rgba(255, 255, 255, .65);--text-color-secondary: rgba(255, 255, 255, .45);--text-color-placeholder: rgba(255, 255, 255, .25);--fill-color-blank: transparent;--fill-color: #262626;--fill-color-light: #2a2a2a;--fill-color-lighter: #2e2e2e;--fill-color-extra-light: #323232;--fill-color-dark: #212121;--fill-color-darker: #1a1a1a;--el-bg-color: #1f1f1f;--el-bg-color-page: #141414;--el-bg-color-overlay: #262626;--el-border-color: #4c4d4f;--el-border-color-light: #414243;--el-border-color-lighter: #363637;--el-border-color-extra-light: #2c2c2c;--el-border-color-dark: #58585b;--el-border-color-darker: #636366;--el-text-color-primary: rgba(255, 255, 255, .85);--el-text-color-regular: rgba(255, 255, 255, .65);--el-text-color-secondary: rgba(255, 255, 255, .45);--el-text-color-placeholder: rgba(255, 255, 255, .25);--el-text-color-disabled: rgba(255, 255, 255, .25);--el-fill-color: #262626;--el-fill-color-light: #2a2a2a;--el-fill-color-lighter: #2e2e2e;--el-fill-color-extra-light: #323232;--el-fill-color-dark: #212121;--el-fill-color-darker: #1a1a1a;--el-fill-color-blank: transparent}body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-color-page);color:var(--text-color-primary);transition:background-color .3s,color .3s}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#888;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#555}html.dark ::-webkit-scrollbar-track{background:#2a2a2a}html.dark ::-webkit-scrollbar-thumb{background:#555}html.dark ::-webkit-scrollbar-thumb:hover{background:#777}html.dark .el-card{background-color:var(--el-bg-color);border-color:var(--el-border-color-light)}html.dark .el-card__header{background-color:var(--el-fill-color);border-color:var(--el-border-color-light)}html.dark .el-card__body{background-color:var(--el-bg-color)}html.dark .el-table{--el-table-bg-color: var(--el-bg-color);--el-table-tr-bg-color: var(--el-bg-color);--el-table-header-bg-color: var(--el-fill-color);--el-table-row-hover-bg-color: var(--el-fill-color-lighter);--el-table-border-color: var(--el-border-color-lighter);background-color:var(--el-bg-color);color:var(--el-text-color-primary)}html.dark .el-table th.el-table__cell{background-color:var(--el-fill-color);color:var(--el-text-color-primary);border-color:var(--el-border-color-lighter)}html.dark .el-table td.el-table__cell{border-color:var(--el-border-color-lighter)}html.dark .el-table .el-table__row--striped td.el-table__cell{background-color:var(--el-fill-color-light)}html.dark .el-input__wrapper{--el-input-bg-color: var(--el-fill-color);--el-input-border-color: var(--el-border-color);background-color:var(--el-fill-color);box-shadow:0 0 0 1px var(--el-border-color) inset}html.dark .el-input__wrapper:hover{box-shadow:0 0 0 1px var(--el-border-color-light) inset}html.dark .el-input__wrapper .el-input__inner{color:var(--el-text-color-primary)}html.dark .el-input__wrapper .el-input__inner::placeholder{color:var(--el-text-color-placeholder)}html.dark .el-select__wrapper{background-color:var(--el-fill-color);box-shadow:0 0 0 1px var(--el-border-color) inset}html.dark .el-textarea__inner{--el-input-bg-color: var(--el-fill-color);--el-input-border-color: var(--el-border-color);background-color:var(--el-fill-color);border-color:var(--el-border-color);color:var(--el-text-color-primary)}html.dark .el-textarea__inner::placeholder{color:var(--el-text-color-placeholder)}html.dark .el-dialog{--el-dialog-bg-color: var(--el-bg-color);--el-dialog-border-color: var(--el-border-color-light);background-color:var(--el-bg-color);border:1px solid var(--el-border-color-light)}html.dark .el-dialog .el-dialog__header{border-color:var(--el-border-color-light)}html.dark .el-dialog .el-dialog__title{color:var(--el-text-color-primary)}html.dark .el-dialog .el-dialog__body{color:var(--el-text-color-regular)}html.dark .el-drawer{background-color:var(--bg-color)!important}html.dark .el-drawer .el-drawer__header{color:var(--text-color-primary)!important;border-color:var(--border-color-light)!important}html.dark .el-drawer .el-drawer__body{background-color:var(--bg-color)!important}html.dark .el-form-item__label,html.dark .el-pagination .el-pagination__total,html.dark .el-pagination .el-pagination__jump{color:var(--text-color-regular)!important}html.dark .el-pagination .btn-prev,html.dark .el-pagination .btn-next,html.dark .el-pagination .el-pager li{background-color:var(--fill-color)!important;color:var(--text-color-regular)!important}html.dark .el-pagination .btn-prev:hover,html.dark .el-pagination .btn-next:hover,html.dark .el-pagination .el-pager li:hover,html.dark .el-pagination .btn-prev.is-active,html.dark .el-pagination .btn-next.is-active,html.dark .el-pagination .el-pager li.is-active{color:var(--el-color-primary)!important}html.dark .el-tabs__item{color:var(--text-color-secondary)!important}html.dark .el-tabs__item.is-active{color:var(--el-color-primary)!important}html.dark .el-tabs__item:hover{color:var(--text-color-primary)!important}html.dark .el-tabs__nav-wrap:after{background-color:var(--border-color-light)!important}html.dark .el-descriptions .el-descriptions__label{color:var(--text-color-regular)!important;background-color:var(--fill-color)!important}html.dark .el-descriptions .el-descriptions__content{color:var(--text-color-primary)!important;background-color:var(--bg-color)!important}html.dark .el-empty__description p{color:var(--text-color-secondary)!important}html.dark .el-alert{background-color:var(--fill-color)!important;border-color:var(--border-color-light)!important}html.dark .el-dropdown-menu{background-color:var(--bg-color-overlay)!important;border-color:var(--border-color-light)!important}html.dark .el-dropdown-menu .el-dropdown-menu__item{color:var(--text-color-regular)!important}html.dark .el-dropdown-menu .el-dropdown-menu__item:hover{background-color:var(--fill-color-light)!important;color:var(--text-color-primary)!important}html.dark .el-popper{background-color:var(--bg-color-overlay)!important;border-color:var(--border-color-light)!important;color:var(--text-color-primary)!important}html.dark .el-popper.is-dark{background-color:var(--bg-color-overlay)!important;color:var(--text-color-primary)!important}html.dark .el-select-dropdown{background-color:var(--bg-color-overlay)!important;border-color:var(--border-color-light)!important}html.dark .el-select-dropdown .el-select-dropdown__item{color:var(--text-color-regular)!important}html.dark .el-select-dropdown .el-select-dropdown__item:hover{background-color:var(--fill-color-light)!important}html.dark .el-select-dropdown .el-select-dropdown__item.is-selected{color:var(--el-color-primary)!important;font-weight:700}html.dark .el-message{background-color:var(--bg-color-overlay)!important;border-color:var(--border-color-light)!important}html.dark .el-message .el-message__content{color:var(--text-color-primary)!important}html.dark .el-message-box{background-color:var(--bg-color)!important;border-color:var(--border-color-light)!important}html.dark .el-message-box .el-message-box__title{color:var(--text-color-primary)!important}html.dark .el-message-box .el-message-box__content{color:var(--text-color-regular)!important}html.dark .el-loading-mask{background-color:#000000b3!important}html.dark .el-loading-mask .el-loading-spinner .el-loading-text{color:var(--text-color-primary)!important}html.dark .el-tag.el-tag--info{background-color:var(--fill-color-dark)!important;border-color:var(--border-color)!important;color:var(--text-color-regular)!important}html.dark .el-image__error,html.dark .el-image__placeholder{background-color:var(--fill-color-light)!important;color:var(--text-color-placeholder)!important}html.dark .el-progress__text{color:var(--text-color-primary)!important}html.dark .el-button.el-button--default{background-color:var(--fill-color)!important;border-color:var(--border-color)!important;color:var(--text-color-regular)!important}html.dark .el-button.el-button--default:hover{background-color:var(--fill-color-light)!important;border-color:var(--border-color-light)!important;color:var(--text-color-primary)!important}html.dark .el-checkbox__label,html.dark .el-radio__label{color:var(--text-color-regular)!important}html.dark .el-form .el-form-item__error{color:var(--el-color-danger)!important}.text-center{text-align:center}.text-right{text-align:right}.mt-10{margin-top:10px}.mt-20{margin-top:20px}.mb-10{margin-bottom:10px}.mb-20{margin-bottom:20px}.flex{display:flex}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.glass-card{background:var(--glass-bg);backdrop-filter:var(--glass-backdrop-filter);-webkit-backdrop-filter:var(--glass-backdrop-filter);border:1px solid var(--glass-border);border-radius:16px;box-shadow:var(--glass-shadow)}.glass-card-light{background:var(--glass-bg-light);backdrop-filter:var(--glass-backdrop-filter);-webkit-backdrop-filter:var(--glass-backdrop-filter);border:1px solid var(--glass-border);border-radius:16px;box-shadow:var(--glass-shadow)}.gradient-primary{background:var(--gradient-primary)}.gradient-secondary{background:var(--gradient-secondary)}.gradient-success{background:var(--gradient-success)}.gradient-warning{background:var(--gradient-warning)}.gradient-danger{background:var(--gradient-danger)}.modern-card{background:#fffffff2;border-radius:20px;box-shadow:0 10px 30px #0000001a;border:1px solid rgba(255,255,255,.3);transition:all .3s ease}.modern-card:hover{transform:translateY(-5px);box-shadow:0 15px 40px #00000026}.stat-card{background:#ffffffe6;border-radius:16px;padding:24px;display:flex;align-items:center;gap:16px;box-shadow:0 4px 20px #00000014;border:1px solid rgba(255,255,255,.2);transition:all .3s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:0 8px 30px #0000001f}.stat-card .stat-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:var(--gradient-primary);color:#fff;font-size:20px}.stat-card .stat-icon.success{background:var(--gradient-success)}.stat-card .stat-icon.warning{background:var(--gradient-warning)}.stat-card .stat-icon.danger{background:var(--gradient-danger)}.stat-card .stat-icon.info{background:var(--gradient-secondary)}.stat-card .stat-content{flex:1}.stat-card .stat-content .stat-value{font-size:28px;font-weight:700;color:#2c3e50;margin-bottom:4px}.stat-card .stat-content .stat-label{font-size:14px;color:#7f8c8d;font-weight:500}.modern-btn{border-radius:12px;padding:12px 24px;font-weight:600;transition:all .3s ease;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px}.modern-btn.primary{background:var(--gradient-primary);color:#fff}.modern-btn.primary:hover{transform:translateY(-2px);box-shadow:0 8px 25px #667eea66}.modern-btn.success{background:var(--gradient-success);color:#fff}.modern-btn.success:hover{transform:translateY(-2px);box-shadow:0 8px 25px #4facfe66}.modern-btn.warning{background:var(--gradient-warning);color:#fff}.modern-btn.warning:hover{transform:translateY(-2px);box-shadow:0 8px 25px #43e97b66}.modern-btn.danger{background:var(--gradient-danger);color:#fff}.modern-btn.danger:hover{transform:translateY(-2px);box-shadow:0 8px 25px #fa709a66}.admin-page{min-height:100vh;position:relative}.admin-page .page-header{background:#fff;border-radius:12px;padding:20px;margin-bottom:24px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 8px #0000000f}.admin-page .page-header .header-left{display:flex;align-items:center;gap:12px}.admin-page .page-header .header-left .header-icon{color:#333}.admin-page .page-header .header-left h2{margin:0;font-size:28px;font-weight:600;color:#333}.admin-page .page-header :deep(.el-button){background:#deebfbaf;border:1px solid rgba(255,255,255,.3);border-radius:12px;color:#41b8fe}.admin-page .page-header :deep(.el-button):hover{background:#ffffff4d}.admin-page .admin-card{cursor:pointer;transition:all .3s;border:none;box-shadow:none;border-radius:12px}.admin-page .admin-card:hover{transform:translateY(-6px);box-shadow:0 8px 24px #c7d3fa57}.admin-page .search-card{background:#fffffff2;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3);border-radius:12px;margin-bottom:20px;box-shadow:0 8px 32px #1f268726}.admin-page .search-card .search-form{margin-bottom:0}.admin-page .table-card{background:#fffffff2;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3);border-radius:12px;box-shadow:0 8px 32px #1f268726}.admin-page .table-card .batch-actions{display:flex;align-items:center;gap:12px;padding:12px;margin-bottom:16px;background:#f5f7fa;border-radius:8px}.admin-page .table-card .batch-actions .selection-info{font-size:14px;color:#606266;font-weight:500}.admin-page .table-card .pagination-container{display:flex;justify-content:flex-end;margin-top:20px}.admin-page .content-row{margin-bottom:20px}.admin-page .card-header{display:flex;justify-content:space-between;align-items:center}.admin-page .card-header span{display:flex;align-items:center;gap:8px;font-weight:700;font-size:16px}
