*{margin:0;padding:0;box-sizing:border-box}#app,body,html{height:100%;width:100%}.app-container{height:100vh;background:linear-gradient(135deg,#f5f7fa,#e4e8ec)}.app-aside{background:linear-gradient(180deg,#fff,#f8f9fa);border-right:1px solid #e5e7eb;box-shadow:2px 0 8px rgba(0,0,0,.05);display:flex;flex-direction:column;height:100%}.logo{display:flex;align-items:center;gap:10px;padding:20px 16px;color:#4f46e5;font-size:15px;font-weight:600;border-bottom:1px solid #e5e7eb}.app-menu{border:none;padding:10px 0;background:transparent;flex:1;overflow-y:auto}.app-menu .el-menu-item{margin:4px 8px;border-radius:8px;color:#374151}.app-menu .el-menu-item:hover{background:rgba(79,70,229,.08)!important;color:#4f46e5}.app-menu .el-menu-item.is-active{background:linear-gradient(90deg,rgba(79,70,229,.15),transparent)!important;border-left:3px solid #4f46e5;color:#4f46e5}.app-header{background:hsla(0,0%,100%,.95);backdrop-filter:blur(10px);border-bottom:1px solid #e5e7eb;padding:0 24px;height:64px}.header-content{height:100%;display:flex;justify-content:space-between;align-items:center}.app-header h2{color:#1f2937;font-size:18px;font-weight:500}.header-actions{gap:8px}.header-actions,.header-left{display:flex;align-items:center}.header-left{gap:16px}.aside-footer{padding:16px;border-top:1px solid #e5e7eb;display:flex;flex-direction:column;gap:10px;background:#f8f9fa}.sidebar-action-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.sidebar-action-btn .el-icon{font-size:16px}.sidebar-action-btn.tutorial-btn{background:rgba(16,185,129,.06);border:1px solid rgba(16,185,129,.15);color:#059669}.sidebar-action-btn.tutorial-btn:hover{background:rgba(16,185,129,.12);border-color:rgba(16,185,129,.25);color:#047857}.sidebar-action-btn.feedback-btn{background:rgba(124,58,237,.06);border:1px solid rgba(124,58,237,.15);color:#7c3aed}.sidebar-action-btn.feedback-btn:hover{background:rgba(124,58,237,.12);border-color:rgba(124,58,237,.25);color:#6d28d9}.app-main{background:transparent;padding:24px;overflow-y:auto}.fade-enter-active,.fade-leave-active{transition:opacity .2s ease}.fade-enter-from,.fade-leave-to{opacity:0}.el-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 12px rgba(0,0,0,.06)}.el-card__header{border-bottom:1px solid #e5e7eb;color:#1f2937}.el-table{background:transparent;--el-table-bg-color:transparent;--el-table-header-bg-color:#f9fafb;--el-table-tr-bg-color:transparent;--el-table-row-hover-bg-color:rgba(79,70,229,0.05);--el-table-header-text-color:#6b7280;--el-table-text-color:#374151;--el-table-border-color:#e5e7eb}.el-button--primary{background:linear-gradient(135deg,#4f46e5,#7c3aed);border:none}.el-button--primary:hover{background:linear-gradient(135deg,#4338ca,#6d28d9)}.el-dialog{background:#fff;border-radius:16px}.el-dialog__header{border-bottom:1px solid #e5e7eb}.el-dialog__title{color:#1f2937}.el-form-item__label{color:#374151}.el-input__wrapper,.el-select__wrapper{background:#f9fafb;box-shadow:0 0 0 1px #d1d5db!important}.el-input__wrapper:hover,.el-select__wrapper:hover{box-shadow:0 0 0 1px #9ca3af!important}.el-input__wrapper:focus-within,.el-select__wrapper:focus-within{box-shadow:0 0 0 2px rgba(79,70,229,.3)!important}.el-input__inner{color:#1f2937}.el-tag--success{background:rgba(16,185,129,.1);border-color:rgba(16,185,129,.3);color:#059669}.el-tag--info{background:rgba(107,114,128,.1);border-color:rgba(107,114,128,.3);color:#4b5563}.el-tag--warning{background:rgba(245,158,11,.1);border-color:rgba(245,158,11,.3);color:#d97706}.el-tag--danger{background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.3);color:#dc2626}.global-progress-card{position:fixed;right:24px;bottom:24px;width:280px;background:#fff;border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.15);padding:16px;z-index:10000;border:1px solid #e5e7eb}.progress-header{display:flex;align-items:center;gap:8px;margin-bottom:12px;color:#1f2937;font-weight:600;font-size:14px}.progress-body .step-text{font-size:12px;color:#6b7280;margin-bottom:8px}.user-divider{margin:0 8px;color:#d1d5db}.vip-badge-container{margin:0 4px}.vip-badge,.vip-badge-container{display:inline-flex;align-items:center}.vip-badge{cursor:pointer;font-weight:700;transition:all .3s cubic-bezier(.4,0,.2,1);gap:4px}.vip-badge:hover{transform:translateY(-1px) scale(1.05);box-shadow:0 4px 12px rgba(245,158,11,.2)}.vip-badge.active{background:linear-gradient(135deg,#f59e0b,#d97706);border-color:#d97706;color:#fff}.vip-badge.expired{background:rgba(156,163,175,.1);border-color:rgba(156,163,175,.3);color:#4b5563;text-decoration:line-through}.vip-badge.inactive{background:rgba(79,70,229,.05);border-color:rgba(79,70,229,.2);color:#4f46e5}.vip-modal-content{gap:20px;padding:10px 0}.vip-card,.vip-modal-content{display:flex;flex-direction:column}.vip-card{position:relative;height:180px;border-radius:16px;padding:24px;justify-content:space-between;color:#fff;overflow:hidden;box-shadow:0 8px 30px rgba(0,0,0,.12);transition:all .5s ease}.vip-card-glow{position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,0) 80%);pointer-events:none}.card-active{background:linear-gradient(135deg,#1e1b4b,#311042 50%,#11032b);border:1px solid rgba(245,158,11,.35)}.card-active .vip-logo span,.card-active .vip-status-text{background:linear-gradient(90deg,#ffe699,#f59e0b);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.card-active .vip-logo .el-icon{color:#f59e0b}.card-expired{background:linear-gradient(135deg,#374151,#1f2937);border:1px solid rgba(156,163,175,.25);opacity:.85}.card-inactive{background:linear-gradient(135deg,#1f2937,#111827);border:1px solid rgba(79,70,229,.2)}.vip-card-header{justify-content:space-between}.vip-card-header,.vip-logo{display:flex;align-items:center}.vip-logo{gap:8px;font-size:20px;font-weight:800;letter-spacing:1px}.vip-status-text{font-size:14px;font-weight:600;background:hsla(0,0%,100%,.2);padding:4px 10px;border-radius:20px;backdrop-filter:blur(4px)}.vip-card-body .user-info{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.vip-card-body .username{font-size:24px;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.2)}.vip-card-body .school{font-size:13px;opacity:.75}.vip-card-body .vip-validity{font-size:12px;opacity:.6;border-top:1px solid hsla(0,0%,100%,.1);padding-top:8px}.vip-privileges{background:#f8fafc;border-radius:12px;padding:18px;border:1px solid #f1f5f9}.vip-privileges h3{margin:0 0 14px 0;font-size:15px;color:#0f172a;font-weight:600}.privilege-list{display:flex;flex-direction:column;gap:12px}.privilege-item{display:flex;gap:12px;align-items:flex-start}.check-icon{color:#f59e0b;font-size:18px;margin-top:2px}.privilege-desc h4{margin:0 0 2px 0;font-size:13px;color:#334155;font-weight:600}.privilege-desc p{margin:0;font-size:12px;color:#64748b;line-height:1.4}.vip-guidance{text-align:center}.guidance-warning{color:#ef4444}.guidance-info,.guidance-warning{font-weight:600;font-size:14px;margin-bottom:12px}.guidance-info{color:#3b82f6}.contact-box{background:#fffbeb;border:1px dashed #fef3c7;border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:12px}.admin-tip{margin:0;font-size:12px;color:#b45309}.vip-btn{width:100%;background:linear-gradient(135deg,#4f46e5,#4338ca);border:none;font-weight:600}.vip-btn:hover{background:linear-gradient(135deg,#6366f1,#4f46e5)}