*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Arial,sans-serif;background:#f8fafc;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#0000001f;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#0003}.app-layout{min-height:100vh}.app-sider{background:#fff!important;box-shadow:1px 0 3px #0000000a;display:flex;flex-direction:column;position:fixed!important;left:0;top:0;bottom:0;z-index:100;overflow:hidden;border-right:1px solid #f0f0f0}.app-sider .ant-layout-sider-children{display:flex;flex-direction:column;height:100%}.sider-logo{height:64px;display:flex;align-items:center;justify-content:center;gap:10px;padding:0 16px;border-bottom:1px solid #f0f0f0;flex-shrink:0}.sider-logo-icon{font-size:22px;color:#4f46e5}.sider-logo-text{font-size:20px;font-weight:700;color:#1e1b4b;letter-spacing:.5px;white-space:nowrap}.sider-model-config{padding:12px 16px;border-bottom:1px solid #f3f4f6;flex-shrink:0;max-height:360px;overflow-y:auto}.sider-model-section{margin-bottom:10px}.sider-model-section:last-child{margin-bottom:0}.sider-model-label{font-size:11px;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.8px;margin-bottom:6px}.sider-config-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px}.sider-config-label{font-size:12px;color:#6b7280;font-weight:500}.sider-config-value{font-size:12px;color:#374151;font-weight:600;font-variant-numeric:tabular-nums}.sider-model-config .ant-slider{margin:0;padding:2px 0}.sider-model-config .ant-slider .ant-slider-rail{background:#e5e7eb}.sider-model-config .ant-slider .ant-slider-track{background:#6366f1}.sider-model-config .ant-slider .ant-slider-handle{border-color:#6366f1}.sider-model-config .ant-select{font-size:12px}.sider-task-indicator{padding:8px 16px;text-align:center;flex-shrink:0}.sider-menu{flex:1;border-inline-end:none!important;background:transparent!important;padding:4px 0}.sider-menu .ant-menu-item{margin:2px 8px!important;border-radius:8px!important;height:42px!important;line-height:42px!important;color:#6b7280!important;transition:all .2s ease;font-size:14px}.sider-menu .ant-menu-item:hover{color:#4f46e5!important;background:#f5f3ff!important}.sider-menu .ant-menu-item-selected{background:#eef2ff!important;color:#4f46e5!important;font-weight:600}.sider-menu .ant-menu-item-selected:after{display:none}.sider-menu .ant-menu-item .anticon{font-size:16px}.sider-footer{padding:12px;border-top:1px solid #f0f0f0;flex-shrink:0}.sider-user{display:flex;align-items:center;gap:10px;padding:8px;border-radius:8px;cursor:pointer;transition:background .2s}.sider-user:hover{background:#f9fafb}.sider-avatar{background:#eef2ff!important;color:#4f46e5!important;flex-shrink:0}.sider-user-info{display:flex;flex-direction:column;overflow:hidden;line-height:1.4}.sider-username{color:#374151!important;font-size:13px!important;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sider-usage{color:#9ca3af!important;font-size:11px!important;white-space:nowrap}.app-layout>.ant-layout{margin-left:240px;transition:margin-left .2s}.app-layout>.ant-layout-sider-collapsed~.ant-layout{margin-left:68px}.app-header{height:64px;background:#fff!important;padding:0 24px!important;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #f0f0f0;position:sticky;top:0;z-index:10}.header-left{display:flex;align-items:center;gap:8px;min-width:0;overflow:hidden}.collapse-btn{font-size:18px!important;width:40px!important;height:40px!important;color:#6b7280!important}.collapse-btn:hover{color:#4f46e5!important;background:#f5f3ff!important}.page-title{font-size:18px!important;font-weight:600!important;color:#1f1f1f!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-right{display:flex;align-items:center;gap:8px;flex-shrink:0;max-width:60%;overflow:hidden}.header-model-badge,.header-task-badge{font-size:12px!important;padding:2px 10px!important;border-radius:20px!important;border:none!important}.usage-stats{display:flex;align-items:center;gap:6px;background:#f9fafb;border:1px solid #f0f0f0;border-radius:8px;padding:4px 12px;cursor:default;flex-shrink:0;height:32px;white-space:nowrap}.usage-stats .usage-value{font-size:13px;font-weight:700;color:#1e1b4b;font-variant-numeric:tabular-nums;line-height:1}.usage-stats .usage-divider{width:1px;height:16px;background:#e5e7eb}.app-content{margin:0;padding:24px;background:#f8fafc;min-height:calc(100vh - 64px)}.content-inner{max-width:1200px;margin:0 auto}.dashboard-home{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.welcome-section{background:linear-gradient(135deg,#f0f4ff,#e8ecff);border:1px solid #dce3ff;border-radius:14px;padding:24px 28px;margin-bottom:20px;display:flex;justify-content:space-between;align-items:flex-start}.welcome-greeting{font-size:20px;font-weight:700;color:#1e1b4b;margin-bottom:4px}.welcome-desc{font-size:13px;color:#6366f1}.welcome-chips{display:flex;gap:8px;flex-shrink:0}.welcome-chip{background:#ffffffbf;border:1px solid rgba(99,102,241,.15);padding:6px 14px;border-radius:20px;font-size:12px;font-weight:600;color:#1e1b4b;display:flex;align-items:center;gap:5px}.metrics-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px}.metric-card{background:#fff;border:1px solid #f0f0f0;border-radius:12px;padding:18px 20px;display:flex;align-items:center;gap:14px;transition:box-shadow .2s}.metric-card:hover{box-shadow:0 3px 10px #0000000d}.metric-icon{width:42px;height:42px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;flex-shrink:0}.metric-body{display:flex;flex-direction:column}.metric-value{font-size:20px;font-weight:700;color:#1e1b4b;line-height:1.2;font-variant-numeric:tabular-nums}.metric-suffix{font-size:13px;font-weight:500;color:#9ca3af;margin-left:2px}.metric-label{font-size:12px;color:#9ca3af;margin-top:1px}.section-title{font-size:15px;font-weight:600;color:#374151;margin-bottom:12px}.quick-nav-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:28px}.quick-nav-item{background:#fff;border:1px solid #f0f0f0;border-radius:10px;padding:14px 16px;display:flex;align-items:center;gap:12px;cursor:pointer;transition:all .2s}.quick-nav-item:hover{border-color:#dce3ff;box-shadow:0 3px 10px #4f46e50f}.quick-nav-icon{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:17px;flex-shrink:0}.quick-nav-text{flex:1;min-width:0}.quick-nav-label{font-size:13px;font-weight:600;color:#1f2937;line-height:1.3}.quick-nav-desc{font-size:11px;color:#9ca3af;line-height:1.3}.quick-nav-arrow{font-size:12px;color:#d1d5db;transition:color .2s;flex-shrink:0}.quick-nav-item:hover .quick-nav-arrow{color:#6366f1}.recent-card{background:#fff;border:1px solid #f0f0f0;border-radius:12px;overflow:hidden}.recent-empty{display:flex;justify-content:center;align-items:center;padding:32px}.recent-list{display:flex;flex-direction:column}.recent-row{display:flex;justify-content:space-between;align-items:center;padding:12px 18px;border-bottom:1px solid #f5f5f5;transition:background .15s}.recent-row:last-child{border-bottom:none}.recent-row:hover{background:#fafafa}.recent-left{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.recent-status-icon{font-size:14px;flex-shrink:0}.recent-status-icon.success{color:#10b981}.recent-status-icon.fail{color:#ef4444}.recent-tag{font-size:11px!important;line-height:20px!important;padding:0 6px!important;border-radius:4px!important;flex-shrink:0}.recent-text{font-size:13px!important;color:#4b5563!important}.recent-meta{display:flex;align-items:center;gap:10px;flex-shrink:0}.recent-tokens{font-size:11px;color:#8b5cf6;font-weight:600;white-space:nowrap;display:flex;align-items:center;gap:3px}.recent-cost{font-size:11px;color:#059669;font-weight:600;white-space:nowrap}.recent-time{font-size:12px;color:#9ca3af;white-space:nowrap;flex-shrink:0;cursor:default}.auth-page{min-height:100vh;display:flex;background:linear-gradient(135deg,#f0f2fe,#f8f5ff 35%,#fef7f7 65%,#fff7f0);position:relative;overflow:hidden}.auth-blob{position:absolute;filter:blur(120px);pointer-events:none;z-index:0}.auth-blob-1{width:650px;height:650px;background:linear-gradient(135deg,#6366f1,#a78bfa);top:-250px;left:-200px;border-radius:50% 50% 60% 40%/50% 40% 60% 50%;opacity:.15}.auth-blob-2{width:450px;height:450px;background:linear-gradient(135deg,#06b6d4,#3b82f6);bottom:-180px;right:-120px;border-radius:40% 60% 30% 70%/50% 40% 60% 50%;opacity:.12}.auth-blob-3{width:380px;height:380px;background:linear-gradient(135deg,#f472b6,#fb923c);top:40%;left:50%;border-radius:50% 50% 40% 60%/60% 40% 50% 50%;opacity:.08}.auth-particles{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:0}.auth-particle{position:absolute;border-radius:50%;animation:auth-particle-float ease-in-out infinite alternate}.auth-particle.purple{background:linear-gradient(135deg,#6366f1,#a78bfa)}.auth-particle.coral{background:linear-gradient(135deg,#f472b6,#fb923c)}.auth-particle.teal{background:linear-gradient(135deg,#06b6d4,#3b82f6)}@keyframes auth-particle-float{0%{transform:translate(0) scale(1)}to{transform:translate(12px,-18px) scale(1.3)}}.auth-container{display:flex;width:100%;min-height:100vh;position:relative;z-index:1}.auth-hero{flex:0 0 60%;display:flex;align-items:center;justify-content:center;padding:60px;position:relative;background:linear-gradient(to right,rgba(255,255,255,.5) 0%,transparent 100%)}.auth-hero-content{max-width:520px;width:100%}.auth-hero-logo{width:56px;height:56px;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:26px;color:#fff;box-shadow:0 4px 16px #6366f14d;margin-bottom:24px}.auth-hero-title{margin:0 0 6px!important;font-weight:800!important;color:#1e1b4b!important;font-size:36px!important;letter-spacing:-.5px;line-height:1.2!important}.auth-hero-subtitle{display:block;font-size:16px!important;color:#6366f1!important;font-weight:600!important;margin-bottom:12px}.auth-hero-desc{display:block;font-size:15px!important;color:#6b7280!important;line-height:1.7!important;margin-bottom:36px}.auth-features{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:36px}.auth-feature-item{display:flex;gap:12px;padding:14px 16px;background:#ffffffb3;border:1px solid rgba(99,102,241,.08);border-radius:12px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.auth-feature-item:hover{background:#ffffffeb;border-color:#6366f12e;box-shadow:0 4px 16px #6366f10f}.auth-feature-icon{width:36px;height:36px;background:linear-gradient(135deg,#eef2ff,#f5f3ff);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:16px;color:#6366f1;flex-shrink:0}.auth-feature-text{min-width:0}.auth-feature-title{font-size:13px;font-weight:600;color:#1e1b4b;margin-bottom:2px}.auth-feature-desc{font-size:11px;color:#9ca3af;line-height:1.4}.auth-hero-stats{display:flex;align-items:center;gap:0;padding:16px 20px;background:#ffffff8c;border:1px solid rgba(99,102,241,.08);border-radius:14px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.auth-stat-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px}.auth-stat-value{font-size:20px;font-weight:800;color:#1e1b4b;font-variant-numeric:tabular-nums}.auth-stat-label{font-size:11px;color:#9ca3af;font-weight:500}.auth-stat-divider{width:1px;height:32px;background:#e5e7eb}.auth-form-panel{flex:0 0 40%;display:flex;align-items:center;justify-content:center;padding:40px;background:linear-gradient(135deg,#fffffff2,#fff7f7f2,#fff7f0f2);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.auth-form-container{max-width:380px;width:100%}.auth-form-header{margin-bottom:32px}.auth-form-title{margin:0 0 6px!important;font-weight:700!important;color:#1e1b4b!important;font-size:22px!important}.auth-form-subtitle{font-size:14px!important;color:#9ca3af!important}.auth-form .ant-form-item{margin-bottom:20px}.auth-form .ant-input-affix-wrapper{border-radius:12px!important;padding:10px 16px!important;border:1px solid #e5e7eb!important;background:#fafbfc}.auth-form .ant-input-affix-wrapper-focused,.auth-form .ant-input-affix-wrapper:focus{border-color:#6366f1!important;box-shadow:0 0 0 3px #6366f11a!important;background:#fff}.auth-form .ant-input-prefix{color:#9ca3af;margin-right:8px}.auth-submit-btn{height:48px!important;border-radius:12px!important;font-size:15px!important;font-weight:600!important;background:linear-gradient(135deg,#6366f1,#8b5cf6)!important;border:none!important;box-shadow:0 4px 16px #6366f14d!important;letter-spacing:.3px}.auth-form-footer{text-align:center;font-size:14px;color:#6b7280}.auth-form-footer a{font-weight:600;margin-left:4px;color:#6366f1}.auth-form-footer a:hover{color:#4f46e5}.ant-card{border-radius:12px!important;box-shadow:0 1px 3px #0000000a!important;border:1px solid #f0f0f0!important}.ant-btn{border-radius:8px!important;font-weight:500;transition:all .25s}.ant-input,.ant-input-affix-wrapper,.ant-select-selector{border-radius:8px!important}.ant-table{border-radius:12px!important;overflow:hidden}@media(max-width:1024px){.auth-container{flex-direction:column}.auth-hero{flex:none;padding:40px 24px;min-height:auto}.auth-hero:after{display:none}.auth-hero-content{max-width:100%}.auth-form-panel{flex:none;padding:32px 24px;box-shadow:none;border-top:1px solid #f0f0f0}.auth-form-container{max-width:100%}.auth-features{grid-template-columns:1fr 1fr}}@media(max-width:600px){.auth-hero{padding:28px 20px}.auth-hero-title{font-size:28px!important}.auth-features{grid-template-columns:1fr}.auth-hero-stats{flex-direction:column;gap:8px;padding:12px}.auth-stat-divider{width:100%;height:1px}.auth-form-panel{padding:24px 20px}.auth-blob-1{width:300px;height:300px;top:-100px;left:-80px}.auth-blob-2{width:250px;height:250px;bottom:-80px;right:-60px}}@media(max-width:768px){.app-layout>.ant-layout{margin-left:0!important}.app-sider{position:fixed!important;z-index:200}.app-content{padding:16px}.welcome-banner{flex-direction:column;gap:16px;text-align:center}}
