.ws-wrapper[data-v-7fba969d]{min-height:100vh;display:flex;flex-direction:column;background:#f0f2f5}.ws-header[data-v-7fba969d]{position:sticky;top:0;z-index:10;background:#fff;border-bottom:1px solid #e8e8ed}.ws-header-inner[data-v-7fba969d]{display:flex;align-items:center;gap:20px;height:56px;max-width:1720px;margin:0 auto;padding:0 24px}.ws-brand[data-v-7fba969d]{display:flex;align-items:center;gap:10px;cursor:pointer;flex-shrink:0}.ws-logo[data-v-7fba969d]{width:28px;height:28px;border-radius:7px;background:#185fa5;color:#fff;font-size:15px;font-weight:500;display:flex;align-items:center;justify-content:center}.ws-brand-text[data-v-7fba969d]{font-size:16px;font-weight:500;color:#1f2d3d;white-space:nowrap}.ws-nav[data-v-7fba969d]{display:flex;align-items:center;gap:2px;flex:1;overflow-x:auto;scrollbar-width:none}.ws-nav[data-v-7fba969d]::-webkit-scrollbar{display:none}.ws-nav-item[data-v-7fba969d]{padding:17px 12px;font-size:14px;color:#5f5e5a;text-decoration:none;white-space:nowrap;border-bottom:2px solid transparent;transition:color .15s}.ws-nav-item[data-v-7fba969d]:hover{color:#1f2d3d}.ws-nav-item.active[data-v-7fba969d]{color:#185fa5;border-bottom-color:#185fa5;font-weight:500}.ws-nav-sep[data-v-7fba969d]{width:1px;height:18px;background:#e8e8ed;margin:0 10px;flex-shrink:0}.ws-header-right[data-v-7fba969d]{display:flex;align-items:center;gap:14px;flex-shrink:0}.ws-portal-link[data-v-7fba969d]{font-size:13px;color:#5f5e5a;text-decoration:none;white-space:nowrap}.ws-portal-link[data-v-7fba969d]:hover{color:#185fa5}.ws-user[data-v-7fba969d]{display:flex;align-items:center;gap:8px;padding:4px 10px 4px 4px;border-radius:999px;text-decoration:none;transition:background .15s}.ws-user[data-v-7fba969d]:hover{background:#f2f5f9}.ws-user.active[data-v-7fba969d]{background:#eaf2fb}.ws-avatar[data-v-7fba969d]{width:26px;height:26px;border-radius:50%;background:#e8f0fa;color:#185fa5;font-size:13px;font-weight:500;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s,color .15s}.ws-user.active .ws-avatar[data-v-7fba969d]{background:#185fa5;color:#fff}.ws-user-name[data-v-7fba969d]{font-size:13px;color:#5f5e5a;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws-user:hover .ws-user-name[data-v-7fba969d],.ws-user.active .ws-user-name[data-v-7fba969d]{color:#185fa5}.ws-main[data-v-7fba969d]{flex:1}.ws-container[data-v-7fba969d]{max-width:1720px;margin:0 auto;padding:24px}.ws-footer[data-v-7fba969d]{text-align:center;padding:18px 0;font-size:12px;color:#909399;background:#f0f2f5}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:#333;background:#fff}.portal-container{max-width:1200px;margin:0 auto;padding:0 16px}.portal-header{background:#fff;border-bottom:1px solid #e8e8e8;position:sticky;top:0;z-index:1000}.portal-header-inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:64px;gap:16px;width:100%;padding:0 20px}.portal-header-left{display:flex;align-items:center;gap:10px}.portal-logo{height:36px}.portal-logo-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--el-color-primary);color:#fff;border-radius:6px;font-weight:700;font-size:14px;flex-shrink:0}.portal-brand{font-size:18px;font-weight:700;color:#1a1a2e;white-space:nowrap}.portal-nav{display:flex;gap:4px;justify-self:center}.portal-nav-item{padding:8px 16px;color:#555;text-decoration:none;font-size:15px;border-radius:6px;transition:all .2s;white-space:nowrap;flex-shrink:0}.portal-nav-item:hover,.portal-nav-item.active{color:var(--el-color-primary);background:#f0f5ff}.portal-header-right{display:flex;align-items:center;gap:8px;justify-self:end}.welcome-link{color:#555;text-decoration:none;font-size:15px;white-space:nowrap}.welcome-link:hover{color:var(--el-color-primary)}.portal-main{min-height:calc(100vh - 130px)}.portal-hero{background:linear-gradient(135deg,#005dff,#0035a0);padding:60px 0;text-align:center;color:#fff}.portal-hero h1{font-size:36px;margin-bottom:12px}.portal-hero p{font-size:16px;opacity:.85}.portal-hero-actions{margin-top:24px;display:flex;gap:12px;justify-content:center}.portal-section{padding:48px 0}.portal-section-title{font-size:24px;font-weight:600;text-align:center;margin-bottom:8px}.portal-section-subtitle{text-align:center;color:#999;margin-bottom:32px;font-size:14px}.portal-section-title-bar{width:48px;height:3px;background:var(--el-color-primary);margin:12px auto 32px;border-radius:2px}.portal-stat{display:flex;gap:24px;justify-content:center;flex-wrap:wrap}.portal-stat-card{background:#fff;border-radius:8px;padding:28px 36px;text-align:center;min-width:180px;box-shadow:0 2px 12px #0000000f}.portal-stat-num{font-size:36px;font-weight:700;color:var(--el-color-primary)}.portal-stat-label{font-size:14px;color:#666;margin-top:4px}.portal-card{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000000f;transition:transform .2s,box-shadow .2s}.portal-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001a}.portal-footer{background:#1a1a2e;color:#ffffffb3;padding:24px 0;text-align:center;font-size:14px}.portal-footer-info{font-size:13px;margin-top:6px;opacity:.6}@media (max-width: 768px){.portal-nav{display:none}.portal-hero h1{font-size:24px}.portal-stat-card{min-width:140px;padding:20px}}
