:root{--primary-50:#eef2ff;--primary-100:#e0e7ff;--primary-200:#c7d2fe;--primary-300:#a5b4fc;--primary-400:#818cf8;--primary-500:#6366f1;--primary-600:#4f46e5;--primary-700:#4338ca;--primary-800:#3730a3;--primary-900:#312e81;--accent-50:#ecfdf5;--accent-100:#d1fae5;--accent-500:#10b981;--accent-600:#059669;--accent-700:#047857;--secondary-500:#10b981;--secondary-600:#059669;--gray-50:#f8fafc;--gray-100:#f1f5f9;--gray-200:#e2e8f0;--gray-300:#cbd5e1;--gray-400:#94a3b8;--gray-500:#64748b;--gray-600:#475569;--gray-700:#334155;--gray-800:#1e293b;--gray-900:#0f172a;--success-50:#ecfdf5;--success-500:#10b981;--success-600:#059669;--warning-50:#fffbeb;--warning-500:#f59e0b;--warning-600:#d97706;--error-50:#fef2f2;--error-500:#ef4444;--error-600:#dc2626;--info-50:#eff6ff;--info-500:#3b82f6;--shadow-xs:0 1px 2px #0f172a0a;--shadow-sm:0 1px 3px #0f172a0f, 0 1px 2px #0f172a0a;--shadow-md:0 4px 6px -1px #0f172a12, 0 2px 4px -2px #0f172a0d;--shadow-lg:0 10px 15px -3px #0f172a14, 0 4px 6px -4px #0f172a0a;--shadow-xl:0 20px 25px -5px #0f172a1a, 0 8px 10px -6px #0f172a0a;--shadow-primary:0 8px 16px #6366f13d;--shadow-accent:0 8px 16px #10b98133;--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:20px;--radius-full:9999px;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;--font-mono:"SF Mono", Monaco, "Cascadia Code", "Roboto Mono", Consolas, "Courier New", monospace;--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);--transition-spring:.5s cubic-bezier(.34, 1.56, .64, 1);--header-height:56px;--sider-width:232px;--sider-collapsed-width:72px;--content-max-width:1440px;--content-padding:28px;--surface:#fff;--surface-muted:#f8fafc;--border-subtle:#f1f5f9;--border-default:#e2e8f0}*,:before,:after{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;scroll-behavior:smooth}body{font-family:var(--font-sans);color:var(--gray-700);background:var(--gray-50);min-height:100vh;margin:0;padding:0;font-size:14px;line-height:1.6;overflow-x:hidden}a{color:var(--primary-600);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--primary-700)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}::selection{background:var(--primary-100);color:var(--primary-900)}#root{text-align:left;border:none;flex-direction:column;width:100%;max-width:100%;min-height:100vh;margin:0;display:flex}.app-loading{background:var(--gray-50);place-items:center;min-height:100vh;display:grid}.app-shell{background:var(--gray-50);min-height:100vh}.app-header{z-index:1000;width:100%;height:var(--header-height);border-bottom:1px solid var(--border-subtle);-webkit-backdrop-filter:saturate(180%)blur(20px);background:#ffffffb8;justify-content:space-between;align-items:center;padding:0 20px;display:flex;position:fixed}.app-header-left,.app-header-right,.brand-lockup,.workspace-meta{align-items:center;display:flex}.app-header-right{gap:16px;padding-right:0}.brand-lockup{min-width:0;margin-left:8px}.brand-mark{border-radius:var(--radius-lg);background:linear-gradient(135deg, var(--primary-600), var(--accent-600));color:#fff;width:36px;height:36px;box-shadow:var(--shadow-primary);transition:transform var(--transition-spring);flex:none;place-items:center;display:grid}.brand-mark:hover{transform:scale(1.06)}.brand-title{color:var(--gray-900);white-space:nowrap;letter-spacing:-.01em;margin-left:12px;font-size:16px;font-weight:700}.brand-subtitle{color:var(--gray-400);border-left:1px solid var(--gray-200);white-space:nowrap;letter-spacing:.02em;text-transform:uppercase;margin-left:12px;padding-left:12px;font-size:11px;font-weight:600}.workspace-meta{color:var(--gray-400);font-variant-numeric:tabular-nums;gap:8px;font-size:13px}.shell-sidebar{left:0;top:var(--header-height);z-index:100;border-right:1px solid var(--border-subtle);transition:width var(--transition-base);background:#fff;position:fixed;bottom:0;overflow:auto}.sidebar-logo{background:linear-gradient(135deg, var(--gray-900) 0%, var(--primary-800) 100%);color:#fff;cursor:pointer;height:56px;transition:all var(--transition-base);white-space:nowrap;align-items:center;display:flex;overflow:hidden}.sidebar-logo:hover{background:linear-gradient(135deg, var(--gray-800) 0%, var(--primary-700) 100%)}.sidebar-logo.expanded{justify-content:flex-start;padding:0 18px}.sidebar-logo.collapsed{justify-content:center;padding:0}.sidebar-logo-icon{flex-shrink:0;font-size:20px}.sidebar-logo-text{min-width:0;margin-left:12px}.sidebar-logo-name{letter-spacing:.01em;font-size:14px;font-weight:700;line-height:1.2}.sidebar-logo-desc{opacity:.6;letter-spacing:.04em;text-transform:uppercase;margin-top:2px;font-size:10px}.app-content{min-height:calc(100vh - var(--header-height));padding:var(--content-padding);background:var(--gray-50);transition:margin-left var(--transition-base)}.content-inner{max-width:var(--content-max-width);margin:0 auto;animation:.35s cubic-bezier(.4,0,.2,1) pageEnter}.content-breadcrumb{margin-bottom:16px;font-size:13px}.page-hero{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:24px;padding-bottom:20px;display:flex}.page-kicker{color:var(--primary-600);text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px;font-size:11px;font-weight:700}.page-title{color:var(--gray-900);letter-spacing:-.02em;margin:0;font-size:26px;font-weight:800;line-height:1.2}.page-description{color:var(--gray-500);margin-top:6px;font-size:14px}.user-dropdown-trigger{cursor:pointer;border-radius:var(--radius-lg);transition:background var(--transition-fast);padding:4px 10px}.user-dropdown-trigger:hover{background:var(--gray-100)}.card-elevated{background:var(--surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);border:1px solid var(--border-subtle)}.ant-card{border-color:var(--border-subtle);border-radius:var(--radius-lg)}.ant-card-bordered{box-shadow:var(--shadow-sm)}.ant-menu-item-selected{font-weight:700;background:linear-gradient(90deg, var(--primary-50), transparent)!important;color:var(--primary-700)!important}.ant-menu-item-selected:after{display:none!important}.ant-menu-item:hover{color:var(--primary-600)!important;background:var(--primary-50)!important}.ant-menu-item-group-title{letter-spacing:.06em;text-transform:uppercase;color:var(--gray-400)!important;padding:16px 20px 6px!important;font-size:11px!important;font-weight:700!important}.ant-menu:not(.ant-menu-inline-collapsed) .ant-menu-item{transition:all var(--transition-fast);border-radius:var(--radius-md)!important;width:calc(100% - 20px)!important;height:40px!important;margin:2px 10px!important;line-height:40px!important}.ant-menu:not(.ant-menu-inline-collapsed) .ant-menu-item-selected{box-shadow:inset 3px 0 0 var(--primary-500);border-radius:0 var(--radius-md) var(--radius-md) 0!important}.ant-btn{border-radius:var(--radius-md);transition:all var(--transition-fast);font-weight:500}.ant-btn-primary{box-shadow:var(--shadow-primary)}.ant-btn-primary:hover{transform:translateY(-1px);box-shadow:0 10px 20px #6366f14d}.ant-btn-primary:active{transform:translateY(0)}.ant-input,.ant-input-affix-wrapper,.ant-select-selector,.ant-picker{transition:all var(--transition-fast);border-radius:var(--radius-md)!important;border-color:var(--border-default)!important}.ant-input:focus,.ant-input-affix-wrapper:focus-within,.ant-select-focused .ant-select-selector{border-color:var(--primary-400)!important;box-shadow:0 0 0 3px var(--primary-100)!important}.ant-modal-content{border-radius:var(--radius-xl);overflow:hidden}.ant-tag{border-radius:var(--radius-sm)}@keyframes pageEnter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.animate-fade-in{animation:.3s cubic-bezier(.4,0,.2,1) fadeIn}.animate-slide-in{animation:.25s cubic-bezier(.4,0,.2,1) slideInRight}.animate-scale-in{animation:.2s cubic-bezier(.4,0,.2,1) scaleIn}@media (width<=980px){:root{--content-padding:16px}.brand-subtitle,.workspace-meta{display:none}.app-header-right{gap:8px}.page-hero{border-bottom:none;padding-bottom:0;display:block}}@media (width<=640px){.brand-title{font-size:14px}.brand-mark{width:32px;height:32px}.page-title{font-size:22px}.app-header{padding:0 12px}}@media print{.no-print{display:none!important}}.login-bg{background:linear-gradient(135deg,#0f172ae0,#4338cab8),linear-gradient(45deg,#6366f126,#10b9811a);justify-content:center;align-items:center;min-height:100vh;padding:40px 24px;display:flex;position:relative;overflow:hidden}.login-bg:before{content:"";background:radial-gradient(circle at 20% 80%,#6366f11f 0%,#0000 50%),radial-gradient(circle at 80% 20%,#10b9811a 0%,#0000 50%),radial-gradient(circle,#6366f10f 0%,#0000 70%);width:200%;height:200%;animation:20s ease-in-out infinite loginBgDrift;position:absolute;top:-50%;left:-50%}@keyframes loginBgDrift{0%,to{transform:translate(0)rotate(0)}33%{transform:translate(2%,-1%)rotate(1deg)}66%{transform:translate(-1%,2%)rotate(-.5deg)}}.login-shell{z-index:1;grid-template-columns:minmax(0,1fr) 420px;align-items:stretch;gap:40px;width:min(1120px,100%);min-height:600px;animation:.6s cubic-bezier(.4,0,.2,1) shellEnter;display:grid;position:relative}@keyframes shellEnter{0%{opacity:0;transform:translateY(20px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.login-panel{color:#fff;flex-direction:column;justify-content:center;padding:48px 0;animation:.7s cubic-bezier(.4,0,.2,1) .1s both panelEnter;display:flex}@keyframes panelEnter{0%{opacity:0;transform:translate(-24px)}to{opacity:1;transform:translate(0)}}.login-kicker{color:#c7d2fe;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);letter-spacing:.04em;background:#ffffff1a;border:1px solid #fff3;border-radius:20px;align-self:flex-start;margin-bottom:20px;padding:4px 14px;font-size:12px}.login-panel h1{letter-spacing:-.03em;background:linear-gradient(135deg,#fff 0%,#c7d2fe 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;max-width:600px;margin:0;font-size:clamp(32px,5vw,52px);font-weight:800;line-height:1.08}.login-panel p{color:#ffffffb8;max-width:560px;margin:20px 0 0;font-size:15px;line-height:1.9}.login-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:600px;margin-top:32px;display:grid}.login-metrics div{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:var(--radius-lg);min-height:80px;transition:all var(--transition-base);background:#ffffff0f;border:1px solid #ffffff1f;padding:16px}.login-metrics div:hover{background:#ffffff1a;border-color:#fff3;transform:translateY(-2px)}.login-metrics span,.login-capability span{color:#ffffff8f;letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:600;display:block}.login-metrics strong{color:#fff;margin-top:8px;font-size:14px;font-weight:600;display:block}.login-capabilities{gap:10px;max-width:600px;margin-top:28px;display:grid}.login-capability{border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:all var(--transition-base);background:#0f172a52;border:1px solid #ffffff14;align-items:flex-start;gap:14px;padding:14px 16px;display:flex}.login-capability:hover{background:#0f172a70;border-color:#ffffff24;transform:translate(4px)}.login-capability-icon{border-radius:var(--radius-md);color:#a5b4fc;background:#6366f129;flex:none;place-items:center;width:38px;height:38px;display:grid}.login-capability strong{color:#fff;margin-bottom:3px;font-size:14px;display:block}.login-card-wrap{flex-direction:column;justify-content:center;animation:.7s cubic-bezier(.4,0,.2,1) .2s both cardEnter;display:flex}@keyframes cardEnter{0%{opacity:0;transform:translateY(24px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.login-card{border-radius:var(--radius-xl)!important;border:1px solid #e2e8f0b3!important;box-shadow:0 4px 6px -1px #0f172a0f,0 24px 48px -12px #0f172a33!important}.login-card-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:28px;display:flex}.login-card-head span{color:var(--gray-400);text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:700;display:block}.login-card-head h2{color:var(--gray-900);letter-spacing:-.01em;margin:6px 0 0;font-size:22px;font-weight:800}.login-card-head>.anticon{border-radius:var(--radius-lg);width:44px;height:44px;color:var(--primary-600);background:var(--primary-50);place-items:center;font-size:20px;display:grid}.login-card .ant-input-affix-wrapper{border-radius:var(--radius-md);border-color:var(--gray-200);height:46px;transition:all var(--transition-fast)}.login-card .ant-input-affix-wrapper:hover{border-color:var(--gray-300)}.login-card .ant-input-affix-wrapper:focus-within{border-color:var(--primary-400);box-shadow:0 0 0 3px var(--primary-100)}.login-card .ant-input-prefix{color:var(--gray-400);margin-right:10px}.login-submit{height:46px;font-size:15px;font-weight:700;border-radius:var(--radius-md)!important;background:linear-gradient(135deg, var(--primary-600), var(--primary-700))!important;box-shadow:var(--shadow-primary)!important;transition:all var(--transition-base)!important;border:none!important}.login-submit:hover{transform:translateY(-1px)!important;box-shadow:0 12px 24px #6366f152!important}.login-submit:active{transform:translateY(0)!important}.login-support{border-radius:var(--radius-lg);background:var(--gray-50);color:var(--gray-500);border:1px solid var(--border-subtle);margin-top:20px;padding:14px 16px;font-size:12px}.login-support strong{color:var(--gray-700);font-size:13px}.login-footer{text-align:center;color:#ffffff8f;letter-spacing:.02em;margin-top:20px;font-size:12px}@media (width<=920px){.login-bg{align-items:flex-start;padding:24px 16px}.login-shell{grid-template-columns:1fr;gap:20px;min-height:auto}.login-panel{padding:20px 0 0}.login-metrics{grid-template-columns:1fr}.login-card-wrap{justify-content:flex-start}}
