.auth-layout{color:#fff;background:#070b14;min-height:100vh;position:relative;overflow:hidden}.auth-layout__bg{pointer-events:none;position:absolute;inset:0}.auth-layout__grid{background-image:linear-gradient(#ffffff08 1px,#0000 1px),linear-gradient(90deg,#ffffff08 1px,#0000 1px);background-size:48px 48px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(80% 70% at 30% 40%,#000 20%,#0000 75%);mask-image:radial-gradient(80% 70% at 30% 40%,#000 20%,#0000 75%)}.auth-layout__bg-orb{filter:blur(90px);opacity:.45;border-radius:50%;animation:8s ease-in-out infinite auth-float;position:absolute}.auth-layout__bg-orb--1{background:#4361ee;width:560px;height:560px;top:-15%;left:-8%}.auth-layout__bg-orb--2{background:#7209b7;width:480px;height:480px;animation-delay:2.5s;bottom:-12%;right:20%}.auth-layout__bg-orb--3{background:#06b6d4;width:320px;height:320px;animation-delay:5s;top:40%;left:35%}.auth-layout__shell{z-index:1;grid-template-columns:minmax(0,1.05fr) minmax(380px,480px);align-items:center;gap:48px;max-width:1280px;min-height:100vh;margin:0 auto;padding:32px 40px;display:grid;position:relative}@media (width<=960px){.auth-layout__shell{grid-template-columns:1fr;gap:28px;padding:24px 20px 40px}.auth-layout__brand{display:none}}.auth-layout__brand-inner{max-width:540px}.auth-layout__free-banner{background:linear-gradient(135deg,#22c55e24 0%,#4361ee1a 100%);border:1px solid #4ade8047;border-radius:14px;align-items:flex-start;gap:12px;margin-bottom:28px;padding:14px 16px;display:flex;box-shadow:0 8px 32px #22c55e14}.auth-layout__free-banner .anticon{color:#4ade80;flex-shrink:0;margin-top:2px;font-size:20px}.auth-layout__free-banner strong{color:#bbf7d0;margin-bottom:4px;font-size:15px;font-weight:700;display:block}.auth-layout__free-banner span{color:#ffffffb8;font-size:13px;line-height:1.55;display:block}.auth-layout__logo-mark{align-items:center;gap:14px;margin-bottom:36px;display:flex}.auth-layout__logo-mark strong{letter-spacing:.02em;font-size:18px;font-weight:700;display:block}.auth-layout__logo-mark span{color:#ffffff8c;margin-top:2px;font-size:12px;display:block}.auth-layout__logo-icon{background:linear-gradient(135deg,#4361ee 0%,#7209b7 100%);border-radius:14px;justify-content:center;align-items:center;width:48px;height:48px;font-size:18px;font-weight:800;display:flex;box-shadow:0 8px 32px #4361ee59}.auth-layout__headline{letter-spacing:-.02em;margin:0 0 20px;font-size:clamp(32px,4vw,44px);font-weight:700;line-height:1.15}.auth-layout__headline em{background:linear-gradient(90deg,#93c5fd,#c4b5fd,#67e8f9);color:#0000;-webkit-background-clip:text;background-clip:text;font-style:normal}.auth-layout__lead{color:#ffffff9e;max-width:480px;margin:0 0 32px;font-size:15px;line-height:1.75}.auth-layout__features{flex-direction:column;gap:14px;margin:0 0 28px;padding:0;list-style:none;display:flex}.auth-layout__features li{color:#ffffffc7;align-items:flex-start;gap:12px;font-size:14px;line-height:1.5;display:flex}.auth-layout__feature-icon{color:#93c5fd;background:#ffffff0f;border:1px solid #ffffff14;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:15px;display:flex}.auth-layout__models{background:#ffffff08;border:1px solid #ffffff12;border-radius:14px;margin-bottom:28px;padding:16px}.auth-layout__models-title{color:#ffffffe0;letter-spacing:.02em;align-items:center;gap:8px;margin:0 0 14px;font-size:13px;font-weight:600;display:flex}.auth-layout__models-title .anticon{color:#fbbf24}.auth-layout__model-group+.auth-layout__model-group{margin-top:12px}.auth-layout__model-label{letter-spacing:.08em;text-transform:uppercase;color:#ffffff6b;margin-bottom:8px;font-size:11px;font-weight:600;display:block}.auth-layout__model-tags{flex-wrap:wrap;gap:6px;display:flex}.auth-layout__model-tag{color:#ffffffc7;background:#ffffff0d;border:1px solid #ffffff14;border-radius:999px;padding:4px 10px;font-size:11px;line-height:1.4;display:inline-block}.auth-layout__model-tag:hover{color:#e0f2fe;border-color:#93c5fd40}.auth-layout__metrics{border-top:1px solid #ffffff14;gap:28px;padding-top:24px;display:flex}.auth-layout__metrics strong{color:#fff;font-size:20px;font-weight:700;display:block}.auth-layout__metrics span{color:#ffffff73;font-size:12px}.auth-layout__main{justify-content:center;width:100%;display:flex}.auth-layout__form-wrap{width:100%;max-width:420px}.auth-layout__form-badge{letter-spacing:.06em;text-transform:uppercase;color:#93c5fd;background:#4361ee1f;border:1px solid #93c5fd33;border-radius:999px;margin:0 0 16px;padding:4px 12px;font-size:11px;font-weight:600;display:inline-block}@keyframes auth-float{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-16px)scale(1.04)}}.main-layout{background:var(--color-bg);height:100vh;display:flex}.main-layout__sidebar{background:var(--color-bg-secondary);border-right:1px solid var(--color-border);transition:width var(--transition-slow);z-index:10;flex-direction:column;display:flex;position:relative;overflow:hidden}.main-layout__logo{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-lg);white-space:nowrap;height:64px;display:flex;overflow:hidden}.main-layout__logo-icon{border-radius:var(--radius-sm);background:var(--color-accent-gradient);color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;font-weight:700;display:flex}.main-layout__logo-text{font-size:var(--font-size-lg);color:var(--color-text);font-weight:600}.main-layout__nav{padding:var(--spacing-sm) var(--spacing-md);flex:1;overflow-y:auto}.main-layout__nav-item{align-items:center;gap:var(--spacing-sm);border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;font-size:var(--font-size-base);margin-bottom:4px;padding:10px 12px;display:flex}.main-layout__nav-item:hover{background:var(--color-border);color:var(--color-text)}.main-layout__nav-item--active{color:var(--color-accent-blue);background:#4361ee1a;font-weight:500}.main-layout__collapse-btn{background:var(--color-bg-secondary);border:1px solid var(--color-border);cursor:pointer;z-index:11;width:24px;height:24px;transition:all var(--transition-fast);color:var(--color-text-secondary);border-radius:50%;justify-content:center;align-items:center;font-size:12px;display:flex;position:absolute;top:20px;right:-12px}.main-layout__collapse-btn:hover{background:var(--color-accent-blue);color:#fff;border-color:var(--color-accent-blue)}.main-layout__body{flex-direction:column;flex:1;display:flex;overflow:hidden}.main-layout__topbar{height:64px;padding:0 var(--spacing-xl);background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.main-layout__breadcrumb{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.main-layout__topbar-actions{align-items:center;gap:var(--spacing-md);display:flex}.main-layout__avatar{background:var(--color-accent-gradient);color:#fff;width:32px;height:32px;font-size:var(--font-size-xs);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-weight:600;display:flex}.main-layout__content{padding:var(--spacing-xl);flex:1;overflow-y:auto}:root{--color-primary:#1a1a2e;--color-primary-light:#16213e;--color-accent-blue:#4361ee;--color-accent-purple:#7209b7;--color-accent-gradient:linear-gradient(135deg, #4361ee 0%, #7209b7 100%);--color-bg:#f8f9fe;--color-bg-secondary:#fff;--color-bg-glass:#ffffffb8;--color-text:#1a1a2e;--color-text-secondary:#64748b;--color-text-tertiary:#94a3b8;--color-border:#0000000f;--color-shadow:#00000014;--color-shadow-hover:#4361ee26;--color-success:#10b981;--color-warning:#f59e0b;--color-error:#ef4444;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-2xl:48px;--font-size-xs:12px;--font-size-sm:13px;--font-size-base:14px;--font-size-lg:16px;--font-size-xl:20px;--font-size-2xl:24px;--font-size-3xl:32px;--transition-fast:.15s ease;--transition-normal:.25s ease;--transition-slow:.4s cubic-bezier(.4, 0, .2, 1);--blur-glass:blur(20px)}[data-theme=dark]{--color-primary:#0f0f23;--color-primary-light:#1a1a3e;--color-accent-blue:#5b7cfa;--color-accent-purple:#9333ea;--color-bg:#0f0f1a;--color-bg-secondary:#1a1a2e;--color-bg-glass:#1a1a2ecc;--color-text:#e2e8f0;--color-text-secondary:#94a3b8;--color-text-tertiary:#64748b;--color-border:#ffffff14;--color-shadow:#0000004d;--color-shadow-hover:#4361ee40}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes gradientShift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-fade-in-up{animation:.5s forwards fadeInUp}.animate-fade-in{animation:.3s forwards fadeIn}.animate-shimmer{background:linear-gradient(90deg,#0000,#ffffff1a,#0000) 0 0/200% 100%;animation:2s infinite shimmer}.animate-gradient{background-size:200% 200%;animation:8s infinite gradientShift}.animate-float{animation:3s ease-in-out infinite float}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%}body{background:var(--color-bg);color:var(--color-text);transition:background var(--transition-normal), color var(--transition-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Segoe UI,Roboto,sans-serif}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-text-tertiary);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-secondary)}a{color:var(--color-accent-blue);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-accent-purple)}.glass-panel{background:var(--color-bg-glass);-webkit-backdrop-filter:var(--blur-glass);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.gradient-text{background:var(--color-accent-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.hover-lift{transition:transform var(--transition-normal), box-shadow var(--transition-normal)}.hover-lift:hover{box-shadow:0 12px 40px var(--color-shadow-hover);transform:translateY(-4px)}
