.login-container{display:flex;min-height:100vh}.login-left{flex:1;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.login-left:before{content:"";position:absolute;width:600px;height:600px;background:#ffffff1a;border-radius:50%;top:-200px;left:-200px}.login-left:after{content:"";position:absolute;width:400px;height:400px;background:#ffffff14;border-radius:50%;bottom:-100px;right:-100px}.decoration-content{text-align:center;color:#fff;z-index:1}.decoration-logo{width:80px;height:80px;background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:24px;display:flex;align-items:center;justify-content:center;font-size:36px;font-weight:700;margin:0 auto 24px}.decoration-title{font-size:42px;font-weight:700;margin:0 0 8px;text-shadow:0 2px 10px rgba(0,0,0,.1)}.decoration-subtitle{font-size:18px;opacity:.9;margin:0 0 48px}.decoration-features{display:flex;flex-direction:column;gap:20px;align-items:center}.feature-item{display:flex;align-items:center;gap:12px;background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:12px 32px;border-radius:50px;font-size:16px}.feature-icon{font-size:24px}.login-right{flex:1;display:flex;align-items:center;justify-content:center;background:#f5f7fa}.login-form-container{width:420px;padding:40px}.form-title{font-size:28px;font-weight:700;margin:0 0 8px;color:#1a1a1a}.form-subtitle{font-size:14px;color:#999;margin:0 0 32px}.login-tabs{margin-bottom:24px}.login-tabs .ant-tabs-tab{font-size:15px}.code-input-wrapper{display:flex;gap:12px}.code-input-wrapper .ant-input{flex:1}.form-footer{text-align:center;margin-top:24px;color:#666}.form-footer a{color:#667eea;margin-left:8px;cursor:pointer}.form-footer a:hover{text-decoration:underline}@media (max-width: 768px){.login-left{display:none}.login-form-container{padding:24px}}.workbench-container{max-width:1400px}.welcome-section{display:flex;justify-content:space-between;align-items:center;padding:32px 40px;margin-bottom:32px}.welcome-content{flex:1}.welcome-title{font-size:24px;font-weight:600;margin:0 0 8px;color:#1a1a1a}.wave{display:inline-block;animation:wave 2s ease-in-out infinite}@keyframes wave{0%,to{transform:rotate(0)}25%{transform:rotate(20deg)}75%{transform:rotate(-10deg)}}.welcome-subtitle{font-size:15px;color:#666;margin:0}.welcome-stats{display:flex;align-items:center;gap:24px}.stat-item{display:flex;flex-direction:column;align-items:center}.stat-value{font-size:28px;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.stat-label{font-size:13px;color:#999;margin-top:4px}.stat-divider{width:1px;height:40px;background:#e0e0e0}.section-header{display:flex;align-items:baseline;gap:12px;margin-bottom:20px}.section-title{font-size:20px;font-weight:600;margin:0}.section-desc{font-size:14px;color:#999}.feature-card{height:220px;border-radius:20px!important;overflow:hidden}.feature-card .ant-card-body{padding:0;height:100%}.card-inner{padding:24px;height:100%;display:flex;flex-direction:column;transition:all .3s ease}.card-inner:hover{background:#ffffffe6}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.card-icon{width:48px;height:48px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:24px;color:#fff}.points-badge{display:flex;align-items:center;gap:4px;padding:4px 12px;background:linear-gradient(135deg,#fff9e6,#fff3cc);border-radius:12px;font-size:12px;color:#d4a017;font-weight:500}.card-body{flex:1}.card-title{font-size:18px;font-weight:600;margin:0 0 8px;color:#1a1a1a}.card-desc{font-size:14px;color:#666;margin:0;line-height:1.5}.card-footer{padding-top:16px;border-top:1px solid rgba(0,0,0,.04)}.card-action{display:flex;align-items:center;gap:6px;font-size:14px;color:#667eea;font-weight:500}.data-preview{padding:32px;margin-top:16px}.data-item{text-align:center;padding:16px}.data-value{display:block;font-size:32px;font-weight:700;color:#1a1a1a;margin-bottom:8px}.data-label{display:block;font-size:14px;color:#666;margin-bottom:8px}.data-change{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500}.data-change.up{background:#e6f7ff;color:#52c41a}.data-change.down{background:#fff1f0;color:#ff4d4f}@media (max-width: 768px){.welcome-section{flex-direction:column;gap:16px;text-align:center}.feature-card{height:auto;min-height:200px}}.main-layout{background:linear-gradient(135deg,#f5f7fa,#e4e8ec)}.sider{height:100vh;position:fixed;left:0;top:0;overflow:hidden;display:flex;flex-direction:column}.sider .ant-layout-sider-children{display:flex;flex-direction:column;height:100%}.logo-container{display:flex;align-items:center;padding:20px 16px;gap:12px}.logo-icon{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;color:#fff;font-size:22px;font-weight:700;box-shadow:0 4px 12px #667eea4d}.logo-text{display:flex;flex-direction:column}.logo-title{font-size:16px;font-weight:600;color:#1a1a1a}.logo-subtitle{font-size:12px;color:#999}.menu-container{flex:1;padding:8px 12px;overflow-y:auto}.menu-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:12px;cursor:pointer;transition:all .3s ease;color:#666;margin-bottom:4px}.menu-item:hover{background:#667eea1a;color:#667eea}.menu-item.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff!important;box-shadow:0 4px 12px #667eea4d}.menu-item .menu-icon{font-size:18px}.menu-item .menu-label{font-size:14px;font-weight:500}.upgrade-card{margin:16px;padding:20px;background:linear-gradient(135deg,#fff9e6,#fff3cc);border-radius:16px;cursor:pointer;transition:all .3s ease;border:1px solid rgba(255,215,0,.3)}.upgrade-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #ffd70033}.upgrade-card>div{display:flex;align-items:center;gap:12px;margin-bottom:12px}.upgrade-text{display:flex;flex-direction:column}.upgrade-title{font-size:14px;font-weight:600;color:#d4a017}.upgrade-desc{font-size:12px;color:#999}.upgrade-btn{text-align:center;padding:8px;background:linear-gradient(135deg,gold,#fa0);color:#fff;border-radius:8px;font-size:13px;font-weight:500}.user-info{display:flex;align-items:center;gap:12px;cursor:pointer;padding:4px 12px;border-radius:24px;transition:all .3s ease}.user-info:hover{background:#0000000a}.user-name{font-size:14px;font-weight:500;color:#333}.user-points{display:flex;align-items:center;gap:4px;padding:4px 10px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:12px;font-size:13px;font-weight:500}.points-icon{font-size:12px}.main-content{margin-left:220px;padding:24px;min-height:calc(100vh - 64px)}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.absolute{position:absolute}.relative{position:relative}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.border{border-width:1px}.line-through{text-decoration-line:line-through}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;width:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;background:linear-gradient(135deg,#f5f7fa,#e4e8ec);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}// 毛玻璃卡片样式 .glass-card{background:#ffffffb3;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:16px;border:1px solid rgba(255,255,255,.5);box-shadow:0 8px 32px #1f268726}// 渐变背景 .gradient-bg{background:linear-gradient(135deg,#667eea,#764ba2)}.gradient-text{background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}// 功能卡片悬停效果 .feature-card{transition:all .3s ease;cursor:pointer}.feature-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px #667eea40}// 加载动画 @keyframes fadeIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .5s ease-out}// 滚动条美化 ::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#a8a8a8}
