.app-container{height:100vh;display:flex}.aside{background:linear-gradient(180deg,#1e293b,#0f172a);box-shadow:4px 0 24px #00000026;position:relative;overflow:hidden}.aside:before{content:"";position:absolute;top:0;left:0;right:0;height:200px;background:linear-gradient(135deg,#0ea5e91f,#0284c714);pointer-events:none}.aside .logo{height:72px;display:flex;align-items:center;justify-content:center;gap:12px;color:#fff;font-size:18px;font-weight:700;letter-spacing:.5px;position:relative;z-index:1;background:#ffffff08;border-bottom:1px solid rgba(255,255,255,.08)}.aside .logo .logo-img{width:36px;height:36px;border-radius:8px;box-shadow:0 4px 12px #4caf5059}.aside .logo .el-icon{width:36px;height:36px;background:linear-gradient(135deg,#0ea5e9,#0284c7);border-radius:10px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #0ea5e959}.aside .logo span{background:linear-gradient(90deg,#fff,#e0e7ff);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.aside .menu{border:none;background:transparent;padding:12px 8px;position:relative;z-index:1}.aside .menu .el-menu-item{color:#ffffffa6;height:48px;line-height:48px;margin:4px 0;border-radius:12px;transition:all .25s cubic-bezier(.4,0,.2,1);font-weight:500;font-size:14px}.aside .menu .el-menu-item .el-icon{font-size:18px;margin-right:10px;transition:transform .25s ease}.aside .menu .el-menu-item:hover{color:#fff;background:#ffffff14}.aside .menu .el-menu-item:hover .el-icon{transform:scale(1.1)}.aside .menu .el-menu-item.is-active{background:linear-gradient(135deg,#0ea5e9,#0284c7);color:#fff;box-shadow:0 4px 15px #0ea5e966}.aside .menu .el-menu-item.is-active .el-icon{transform:scale(1.05)}.header{background:#ffffffe6;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(0,0,0,.06);display:flex;align-items:center;justify-content:space-between;padding:0 28px;height:64px;box-shadow:0 1px 3px #0000000a}.header .header-title{font-size:20px;font-weight:600;color:#1f2937;display:flex;align-items:center;gap:12px}.header .header-title:before{content:"";width:4px;height:24px;background:linear-gradient(180deg,#0ea5e9,#0284c7);border-radius:2px}.header .header-actions{display:flex;align-items:center;gap:12px}.header .header-actions .el-button{border-radius:10px;font-weight:500;padding:10px 18px;transition:all .2s ease}.header .header-actions .el-button:hover{transform:translateY(-1px)}.main{background:linear-gradient(180deg,#f8fafc,#f1f5f9);padding:24px;overflow-y:auto}.main::-webkit-scrollbar{width:6px}.main::-webkit-scrollbar-track{background:transparent}.main::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.main::-webkit-scrollbar-thumb:hover{background:#94a3b8}@media (max-width: 1024px){.aside{width:200px!important}.aside .logo span{font-size:15px}}@media (max-width: 900px){.aside{width:70px!important}.aside .logo span{display:none}.aside .logo .el-icon{margin:0}.aside .menu .el-menu-item{justify-content:center;padding:0!important}.aside .menu .el-menu-item span{display:none}.aside .menu .el-menu-item .el-icon{margin:0;font-size:20px}.header{padding:0 16px}.header .header-title{font-size:16px}.main{padding:16px}}@media (max-width: 640px){.app-container{flex-direction:column}.aside{width:100%!important;height:auto}.aside .logo{height:50px}.aside .logo span{display:inline;font-size:14px}.aside .menu{display:flex;flex-wrap:wrap;padding:8px;gap:4px}.aside .menu .el-menu-item{flex:0 0 auto;height:36px;line-height:36px;padding:0 12px!important;margin:0;border-radius:8px;font-size:12px}.aside .menu .el-menu-item span{display:inline}.aside .menu .el-menu-item .el-icon{font-size:14px;margin-right:4px}.header{height:50px}.header .header-title:before{display:none}.main{padding:12px;height:calc(100vh - 170px)}}@media (max-width: 992px){.el-dialog{--el-dialog-width: 90% !important;max-width:700px!important;margin:20px auto!important}.el-dialog__body{padding:16px 20px}}@media (max-width: 640px){.el-dialog{--el-dialog-width: 95% !important;max-width:none!important;margin:10px auto!important}.el-dialog__header{padding:12px 16px}.el-dialog__body{padding:12px 16px;max-height:70vh;overflow-y:auto}.el-dialog__footer{padding:12px 16px}.el-form-item{margin-bottom:16px}.el-form-item__label{padding-bottom:4px}}@media (max-width: 768px){.el-table{font-size:13px}.el-table .el-table__header th{padding:8px 4px;font-size:12px}.el-table .el-table__body td{padding:8px 4px}.el-table .el-button--small{padding:5px 8px;font-size:12px}}@media (max-width: 640px){.el-pagination{flex-wrap:wrap;justify-content:center;gap:8px}.el-pagination .el-pagination__sizes,.el-pagination .el-pagination__jump{display:none}}@media (max-width: 640px){.el-card{border-radius:8px}.el-card__header,.el-card__body{padding:12px 16px}}@media (max-width: 768px){.el-tabs__header{margin-bottom:12px}.el-tabs__item{padding:0 12px;font-size:13px;height:36px;line-height:36px}}:root{--primary-gradient: linear-gradient(135deg, #0ea5e9 0%, #0284c7 100%);--primary-color: #0ea5e9;--primary-light: #38bdf8;--primary-dark: #0284c7;--success-color: #22c55e;--warning-color: #f59e0b;--danger-color: #ef4444;--info-color: #64748b;--text-primary: #1e293b;--text-secondary: #64748b;--text-muted: #94a3b8;--border-color: #e2e8f0;--bg-primary: #ffffff;--bg-secondary: #f8fafc;--bg-tertiary: #f1f5f9;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .04);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .08), 0 2px 4px -1px rgba(0, 0, 0, .04);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .08), 0 4px 6px -2px rgba(0, 0, 0, .04);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .08), 0 10px 10px -5px rgba(0, 0, 0, .03);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1);--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--font-mono: "SF Mono", Monaco, "Cascadia Code", Consolas, monospace}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}html,body{height:100%}body{font-family:var(--font-sans);color:var(--text-primary);background:var(--bg-secondary);line-height:1.6}a{color:var(--primary-color);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--primary-dark)}::selection{background:#0ea5e926;color:var(--primary-dark)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#9ca3af}.el-button{font-weight:500;border-radius:var(--radius-sm);transition:all var(--transition-base)}.el-button--primary{background:var(--primary-gradient)!important;border:none!important;color:#fff!important;box-shadow:0 4px 14px #0ea5e940}.el-button--primary:hover,.el-button--primary:focus{background:linear-gradient(135deg,#0284c7,#0369a1)!important;color:#fff!important;transform:translateY(-1px);box-shadow:0 6px 20px #0ea5e959}.el-button--primary:active{transform:translateY(0);color:#fff!important}.el-button--primary.is-disabled,.el-button--primary:disabled{background:linear-gradient(135deg,#94a3b8,#64748b)!important;color:#fff!important}.el-button--primary .el-icon{color:#fff!important}.el-button--success{background:linear-gradient(135deg,#22c55e,#16a34a)!important;border:none!important;color:#fff!important}.el-button--success:hover,.el-button--success:focus{background:linear-gradient(135deg,#16a34a,#15803d)!important;color:#fff!important}.el-button--success .el-icon{color:#fff!important}.el-button--warning{background:linear-gradient(135deg,#f59e0b,#d97706)!important;border:none!important;color:#fff!important}.el-button--warning:hover,.el-button--warning:focus{background:linear-gradient(135deg,#d97706,#b45309)!important;color:#fff!important}.el-button--warning .el-icon{color:#fff!important}.el-button--danger{background:linear-gradient(135deg,#ef4444,#dc2626)!important;border:none!important;color:#fff!important}.el-button--danger:hover,.el-button--danger:focus{background:linear-gradient(135deg,#dc2626,#b91c1c)!important;color:#fff!important}.el-button--danger .el-icon{color:#fff!important}.el-button--info{background:linear-gradient(135deg,#64748b,#475569)!important;border:none!important;color:#fff!important}.el-button--info:hover,.el-button--info:focus{background:linear-gradient(135deg,#475569,#334155)!important;color:#fff!important}.el-button--info .el-icon{color:#fff!important}.el-button.is-plain.el-button--primary{background:#0ea5e91a!important;border:1px solid var(--primary-color)!important;color:var(--primary-color)!important}.el-button.is-plain.el-button--primary:hover,.el-button.is-plain.el-button--primary:focus{background:var(--primary-color)!important;color:#fff!important}.el-button.is-plain.el-button--primary .el-icon{color:inherit!important}.el-button.is-plain.el-button--success{background:#22c55e1a!important;border:1px solid var(--success-color)!important;color:var(--success-color)!important}.el-button.is-plain.el-button--success:hover,.el-button.is-plain.el-button--success:focus{background:var(--success-color)!important;color:#fff!important}.el-button.is-plain.el-button--warning{background:#f59e0b1a!important;border:1px solid var(--warning-color)!important;color:var(--warning-color)!important}.el-button.is-plain.el-button--warning:hover,.el-button.is-plain.el-button--warning:focus{background:var(--warning-color)!important;color:#fff!important}.el-button.is-plain.el-button--danger{background:#ef44441a!important;border:1px solid var(--danger-color)!important;color:var(--danger-color)!important}.el-button.is-plain.el-button--danger:hover,.el-button.is-plain.el-button--danger:focus{background:var(--danger-color)!important;color:#fff!important}.el-button.is-plain.el-button--info{background:#64748b1a!important;border:1px solid var(--info-color)!important;color:var(--info-color)!important}.el-button.is-plain.el-button--info:hover,.el-button.is-plain.el-button--info:focus{background:var(--info-color)!important;color:#fff!important}.el-button.is-link,.el-button--text{background:transparent!important;border:none!important;font-weight:500!important}.el-button.is-link.el-button--primary,.el-button--text.el-button--primary{color:var(--primary-color)!important}.el-button.is-link.el-button--primary:hover,.el-button.is-link.el-button--primary:focus,.el-button--text.el-button--primary:hover,.el-button--text.el-button--primary:focus{color:var(--primary-dark)!important;background:#0ea5e914!important}.el-button.is-link.el-button--success,.el-button--text.el-button--success{color:var(--success-color)!important}.el-button.is-link.el-button--success:hover,.el-button.is-link.el-button--success:focus,.el-button--text.el-button--success:hover,.el-button--text.el-button--success:focus{color:#16a34a!important;background:#22c55e14!important}.el-button.is-link.el-button--warning,.el-button--text.el-button--warning{color:var(--warning-color)!important}.el-button.is-link.el-button--warning:hover,.el-button.is-link.el-button--warning:focus,.el-button--text.el-button--warning:hover,.el-button--text.el-button--warning:focus{color:#d97706!important;background:#f59e0b14!important}.el-button.is-link.el-button--danger,.el-button--text.el-button--danger{color:var(--danger-color)!important}.el-button.is-link.el-button--danger:hover,.el-button.is-link.el-button--danger:focus,.el-button--text.el-button--danger:hover,.el-button--text.el-button--danger:focus{color:#dc2626!important;background:#ef444414!important}.el-button.is-link.el-button--info,.el-button--text.el-button--info{color:#475569!important}.el-button.is-link.el-button--info:hover,.el-button.is-link.el-button--info:focus,.el-button--text.el-button--info:hover,.el-button--text.el-button--info:focus{color:#334155!important;background:#64748b14!important}.page-card{background:var(--bg-primary);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-sm);border:1px solid var(--border-color);transition:all var(--transition-base)}.page-card:hover{box-shadow:var(--shadow-md)}.page-card .card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border-color)}.page-card .card-header .card-title{font-size:18px;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:10px}.page-card .card-header .card-title:before{content:"";width:4px;height:20px;background:var(--primary-gradient);border-radius:2px}.search-bar{display:flex;gap:12px;margin-bottom:24px;flex-wrap:wrap;align-items:center}.search-bar .el-input,.search-bar .el-select{width:200px}.search-bar .el-input .el-input__wrapper,.search-bar .el-select .el-input__wrapper{border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);border:1px solid var(--border-color);transition:all var(--transition-fast)}.search-bar .el-input .el-input__wrapper:hover,.search-bar .el-input .el-input__wrapper.is-focus,.search-bar .el-select .el-input__wrapper:hover,.search-bar .el-select .el-input__wrapper.is-focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #0ea5e91a}.el-table{border-radius:var(--radius-md);overflow:hidden}.el-table .el-table__header th{background:var(--bg-tertiary)!important;color:var(--text-secondary);font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.5px}.el-table .el-table__row{transition:background var(--transition-fast)}.el-table .el-table__row:hover>td{background:#0ea5e90a!important}.el-table .cell{padding:12px 16px}.pagination-wrapper{margin-top:24px;display:flex;justify-content:flex-end}.el-pagination .el-pagination__total{color:var(--text-primary)!important;font-weight:500}.el-pagination .el-pagination__sizes .el-select .el-input__inner{color:var(--text-primary)!important}.el-pagination .btn-prev,.el-pagination .btn-next{color:var(--text-secondary)!important}.el-pagination .btn-prev:hover:not(:disabled),.el-pagination .btn-next:hover:not(:disabled){color:var(--primary-color)!important}.el-pagination .btn-prev:disabled,.el-pagination .btn-next:disabled{color:#c0c4cc!important}.el-pagination .el-pager li{border-radius:var(--radius-sm);font-weight:500;color:var(--text-secondary)!important}.el-pagination .el-pager li:hover:not(.is-active){color:var(--primary-color)!important}.el-pagination .el-pager li.is-active{background:var(--primary-gradient);color:#fff!important}.el-pagination .el-pagination__jump,.el-pagination .el-pagination__jump .el-input__inner{color:var(--text-primary)!important}.el-tag{border-radius:20px;font-weight:500;font-size:12px;padding:4px 12px}.el-tag--success{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#047857;border:none}.el-tag--warning{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#b45309;border:none}.el-tag--danger{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#dc2626;border:none}.el-tag--info{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);color:#4b5563;border:none}.el-dialog{border-radius:var(--radius-xl)!important;overflow:hidden}.el-dialog .el-dialog__header{background:var(--bg-tertiary);padding:20px 24px;border-bottom:1px solid var(--border-color)}.el-dialog .el-dialog__header .el-dialog__title{font-weight:600;font-size:18px}.el-dialog .el-dialog__body{padding:24px}.el-dialog .el-dialog__footer{padding:16px 24px;border-top:1px solid var(--border-color);background:var(--bg-tertiary)}.form-wrapper{max-width:600px}.form-wrapper .el-form-item__label{font-weight:500;color:var(--text-secondary)}.action-buttons{display:flex;gap:8px}.action-buttons .el-button{padding:8px 12px}.action-buttons .el-button--text:hover{background:#0ea5e914}.empty-state{text-align:center;padding:80px 20px;color:var(--text-muted)}.empty-state .el-icon{font-size:64px;margin-bottom:20px;color:#d1d5db}.empty-state p{font-size:15px}.stats-row{display:flex;gap:16px;margin-bottom:24px;flex-wrap:wrap}.stat-card{flex:1;min-width:140px;background:#fff;border-radius:16px;padding:20px;display:flex;align-items:center;gap:16px;border:1px solid rgba(226,232,240,.8);box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.stat-card:after{content:"";position:absolute;top:0;right:0;width:100px;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4));transform:skew(-20deg) translate(150%);transition:transform .5s}.stat-card:hover:after{transform:skew(-20deg) translate(-250%);transition:transform 1s}.stat-card.clickable{cursor:pointer}.stat-card.clickable:hover{transform:translateY(-2px);box-shadow:0 8px 12px -2px #00000014}.stat-icon-bg{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0}.primary-bg{background:linear-gradient(135deg,#e0f2fe,#bae6fd);color:#0ea5e9}.success-bg{background:linear-gradient(135deg,#dcfce7,#bbf7d0);color:#22c55e}.warning-bg{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#f59e0b}.danger-bg{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#ef4444}.info-bg{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);color:#64748b}.pink-bg{background:linear-gradient(135deg,#fce7f3,#fbcfe8);color:#ec4899}.wechat-bg{background:linear-gradient(135deg,#dcfce7,#bbf7d0);color:#07c160}.stat-content{flex:1;display:flex;flex-direction:column;justify-content:center;min-width:0}.stat-value{font-size:24px;font-weight:700;color:#1e293b;line-height:1.2;margin-bottom:4px;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.stat-label{font-size:13px;color:#64748b;font-weight:500;white-space:nowrap}.text-muted{color:#909399}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .3s ease-out forwards}.glass{background:#fffc;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.3)}.gradient-text{background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hover-lift{transition:transform var(--transition-base),box-shadow var(--transition-base)}.hover-lift:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}@media (max-width: 1200px){.page-card{padding:16px}.search-bar .el-input,.search-bar .el-select{width:160px}.stats-row{gap:12px}.stat-card{min-width:100px;padding:16px}.stat-value{font-size:24px!important}}@media (max-width: 768px){.page-card{padding:12px;border-radius:var(--radius-md)}.card-header{flex-direction:column;gap:12px;align-items:flex-start}.card-header .card-title{font-size:16px}.search-bar{flex-direction:column}.search-bar .el-input,.search-bar .el-select,.search-bar .el-button{width:100%}.action-bar{flex-direction:column}.action-bar .el-button{width:100%}.stats-row{flex-wrap:wrap;gap:10px}.stat-card{flex:1 1 calc(50% - 5px);min-width:calc(50% - 5px);padding:12px}.stat-value{font-size:20px!important}.stat-label{font-size:12px!important}.el-table{font-size:13px}.el-table .cell{padding:8px 12px}.pagination-wrapper .el-pagination{flex-wrap:wrap;justify-content:center;gap:8px}.el-dialog{width:95%!important;margin:5vh auto!important}}
