.login-page{
  --login-panel:rgba(255,255,255,.96);
  --login-line:#dce3ec;
  --login-input:#f8fafc;
  min-height:100vh;
  overflow:auto;
  background:var(--bg);
}
html[data-theme="dark"] .login-page{--login-panel:rgba(29,36,45,.96);--login-line:#323c49;--login-input:#171d25}
.login-scene-wrap{position:fixed;inset:0;z-index:0;overflow:hidden;background:
  radial-gradient(circle at 28% 42%,rgba(var(--accent-rgb),.12),transparent 31%),
  radial-gradient(circle at 16% 78%,rgba(128,90,213,.07),transparent 24%),
  linear-gradient(135deg,var(--bg) 0%,var(--bg-subtle) 100%);transition:background .22s ease}
#login-scene{position:absolute;inset:0;width:100%;height:100%;cursor:grab;touch-action:none}
#login-scene.dragging{cursor:grabbing}
.scene-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(112,128,150,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(112,128,150,.045) 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.78) 54%,rgba(0,0,0,.12) 78%,transparent)}
html[data-theme="dark"] .scene-grid{background-image:linear-gradient(rgba(190,202,220,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(190,202,220,.035) 1px,transparent 1px)}
.login-topbar{position:fixed;left:0;right:0;top:0;z-index:5;height:76px;padding:0 38px;display:flex;align-items:center;justify-content:space-between}
.login-company{display:flex;align-items:center;gap:12px;width:max-content}
.login-company img{width:42px;height:42px;border-radius:11px;object-fit:cover;border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.login-company div{display:grid;line-height:1.18}.login-company strong{font-size:13px}.login-company span{margin-top:5px;color:var(--muted);font-size:10px}
.login-shell{position:relative;z-index:2;min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr) minmax(430px,520px);padding-top:76px}
.login-intro{padding:7vh 6vw 7vh;display:flex;flex-direction:column;justify-content:center;position:relative}
.intro-copy{max-width:690px}.intro-copy h1{margin:0;font-size:clamp(42px,4.5vw,64px);line-height:1.07;letter-spacing:-.052em;font-weight:720}.intro-copy p{margin:22px 0 0;color:var(--muted);font-size:15px}
.scene-instruction{position:absolute;left:6vw;bottom:36px;color:var(--muted-2);font-size:11px}
.auth-column{display:grid;overflow-y:auto;place-items:center;padding:34px;border-left:1px solid var(--line);background:color-mix(in srgb,var(--bg) 72%,transparent)}
.auth-panel{position:relative;width:min(100%,420px);border:1px solid var(--login-line);border-radius:22px;background:var(--login-panel);box-shadow:var(--shadow-lg);overflow:hidden;transition:background-color .22s ease,border-color .22s ease}
.auth-heading{padding:25px 27px 17px}.auth-heading strong{font-size:20px;letter-spacing:-.02em}
.auth-tabs{display:grid;grid-template-columns:1fr 1fr;margin:0 27px;border:1px solid var(--line);border-radius:11px;padding:4px;background:var(--surface-2)}
.auth-tab{height:38px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:13px;font-weight:700;cursor:pointer;transition:background-color .18s ease,color .18s ease,box-shadow .18s ease}.auth-tab.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}
.auth-form{padding:21px 27px 28px;display:grid;gap:14px}.auth-form[hidden]{display:none}
.auth-form .field{position:relative}.auth-form .field label{display:block;margin-bottom:7px;color:var(--muted);font-size:11px;font-weight:650}.auth-form .field input{width:100%;height:47px;border:1px solid var(--line);border-radius:10px;background:var(--login-input);color:var(--text);padding:0 13px;outline:none;transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease}.auth-form .field input::placeholder{color:var(--muted-2)}.auth-form .field input:hover{border-color:var(--line-strong)}.auth-form .field input:focus{border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.10)}
.password-field input{padding-right:46px!important}.password-toggle{position:absolute;right:7px;bottom:6px;width:35px;height:35px;border:0;background:transparent;color:var(--muted);display:grid;place-items:center;cursor:pointer;border-radius:8px}.password-toggle:hover{background:var(--surface-3);color:var(--text)}.password-toggle svg{width:17px;height:17px}
.auth-submit{height:47px;margin-top:2px;border:0;border-radius:11px;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 17px;font-weight:750;cursor:pointer;box-shadow:0 10px 24px rgba(var(--accent-rgb),.2);transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease}.auth-submit:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(var(--accent-rgb),.25)}.auth-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}.auth-submit svg{width:18px;height:18px}
.lock-note{padding:9px 11px;border:1px solid color-mix(in srgb,var(--danger) 35%,var(--line));border-radius:9px;background:color-mix(in srgb,var(--danger) 8%,var(--surface));color:var(--danger);font-size:11px}
.captcha-block{display:grid;grid-template-columns:1fr 118px 42px;gap:8px;align-items:end}.captcha-image{height:47px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);padding:0;overflow:hidden;position:relative;cursor:pointer}.captcha-image img{width:100%;height:100%;object-fit:cover}.captcha-image span{position:absolute;inset:0;display:grid;place-items:center;color:var(--muted);font-size:10px;background:var(--surface-2)}.captcha-refresh{width:42px;height:47px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--muted);display:grid;place-items:center;cursor:pointer}.captcha-refresh:hover{color:var(--accent);border-color:var(--accent)}.captcha-refresh svg{width:18px;height:18px}
.auth-loading{position:absolute;inset:0;z-index:8;background:color-mix(in srgb,var(--surface) 84%,transparent);display:grid;place-items:center}.auth-loading[hidden]{display:none}.auth-loading span{width:32px;height:32px;border:2px solid var(--line-strong);border-top-color:var(--accent);border-radius:50%;animation:authSpin .7s linear infinite}@keyframes authSpin{to{transform:rotate(360deg)}}
.toast-stack{top:20px}

@media (max-width:980px){.login-shell{grid-template-columns:1fr}.login-intro{display:none}.auth-column{min-height:calc(100vh - 76px);padding:28px 20px;border-left:0;background:transparent}.auth-panel{width:min(100%,430px)}.scene-grid{mask-image:none;opacity:.55}}
@media (max-width:520px){.login-topbar{height:66px;padding:0 16px}.login-company img{width:36px;height:36px}.login-company strong{font-size:11px}.login-company span{display:none}.login-shell{padding-top:66px}.auth-column{min-height:calc(100vh - 66px);padding:18px 14px}.auth-panel{border-radius:18px}.auth-heading{padding:22px 20px 15px}.auth-tabs{margin:0 20px}.auth-form{padding:19px 20px 23px}.captcha-block{grid-template-columns:1fr 110px 40px}.captcha-refresh{width:40px}}
@media (prefers-reduced-motion:reduce){#login-scene{display:none}.login-scene-wrap{background:linear-gradient(135deg,var(--bg),var(--bg-subtle))}}
.captcha-image.loaded span{display:none}

/* Demo09 login refinements */
.login-scene-wrap{background:
  radial-gradient(circle at 25% 42%,rgba(var(--accent-rgb),.14),transparent 30%),
  radial-gradient(circle at 7% 88%,rgba(81,104,255,.08),transparent 28%),
  linear-gradient(135deg,var(--bg) 0%,var(--bg-subtle) 100%)}
.scene-grid{pointer-events:none;opacity:.7}
.login-shell{grid-template-columns:minmax(0,1fr) minmax(430px,535px)}
.login-intro{cursor:grab;touch-action:none;user-select:none}
.login-intro:active{cursor:grabbing}
.intro-copy{max-width:740px;user-select:text}
.intro-copy h1{font-size:clamp(44px,4.8vw,70px);font-weight:760;line-height:1.015;letter-spacing:-.058em;max-width:720px}
.intro-copy p{font-size:15px}
.login-platform-row{display:flex;align-items:center;gap:10px;margin-top:30px}
.login-platform-chip{height:48px;min-width:92px;padding:0 15px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--surface) 84%,transparent);box-shadow:var(--shadow-sm);display:flex;align-items:center;justify-content:center}
.login-platform-chip img{display:block;object-fit:contain;max-width:116px;max-height:24px}
.wb-chip{min-width:150px}.wb-chip img{width:120px;max-height:24px}
.ozon-chip{min-width:112px}.ozon-chip img{width:84px;max-height:24px}
.tool-chip{gap:8px;color:var(--muted);font-size:11px;font-weight:700}.tool-chip svg{width:18px;height:18px}.tool-chip b{font-weight:700}
.scene-instruction{display:inline-flex;align-items:center;gap:9px;font-weight:650;letter-spacing:.02em}
.scene-instruction i{width:20px;height:20px;border:1px solid var(--line-strong);border-radius:50%;position:relative;background:var(--surface)}
.scene-instruction i::after{content:"";position:absolute;width:4px;height:4px;left:7px;top:7px;border-radius:50%;background:var(--accent)}
.auth-column{background:color-mix(in srgb,var(--bg) 84%,transparent);backdrop-filter:saturate(115%) blur(8px)}
.auth-panel{border-radius:24px;box-shadow:0 32px 90px rgba(15,23,42,.16)}
html[data-theme="dark"] .auth-panel{box-shadow:0 38px 100px rgba(0,0,0,.42)}
.auth-heading{padding-top:28px}.auth-heading strong{font-size:21px}
.auth-tabs{border-radius:13px}.auth-tab{border-radius:9px}
.auth-form .field input{font-size:14px}
.login-footer{position:fixed;z-index:6;left:38px;right:38px;bottom:18px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:var(--muted-2);font-size:10px;pointer-events:none}
.login-footer a{color:var(--muted);pointer-events:auto}.login-footer a:hover{color:var(--accent)}
@media (max-width:980px){.login-footer{left:20px;right:20px}.login-platform-row{display:none}}
@media (max-width:520px){.login-footer{position:relative;left:auto;right:auto;bottom:auto;padding:0 18px 18px;flex-direction:column;align-items:center;gap:4px;text-align:center}.auth-column{padding-bottom:28px}}

/* Demo09 responsive corrections (kept last intentionally) */
@media (max-width:980px){
  .login-shell{grid-template-columns:1fr}
  .login-intro{display:none}
  .auth-column{min-height:calc(100vh - 76px);padding:28px 20px 66px;border-left:0;background:transparent;backdrop-filter:none}
  .auth-panel{width:min(100%,430px)}
  .scene-grid{mask-image:none;opacity:.55}
}
@media (max-width:520px){
  .login-topbar{height:66px;padding:0 16px}.login-company img{width:36px;height:36px}.login-company strong{font-size:11px}.login-company span{display:none}
  .login-shell{padding-top:66px}.auth-column{min-height:calc(100vh - 66px);padding:18px 14px 30px}.auth-panel{border-radius:18px}
  .auth-heading{padding:22px 20px 15px}.auth-tabs{margin:0 20px}.auth-form{padding:19px 20px 23px}.captcha-block{grid-template-columns:1fr 110px 40px}.captcha-refresh{width:40px}
}

/* V9：登录/注册按钮文字严格水平居中，右侧箭头不参与文字布局 */
.auth-submit{position:relative;justify-content:center;text-align:center}
.auth-submit>span{display:block;width:100%;text-align:center}
.auth-submit>svg{position:absolute;right:17px;top:50%;transform:translateY(-50%)}


/* V13：登录/注册区域严格几何居中。主文字不再被英文小标或右侧箭头挤偏。 */
.auth-tabs .auth-tab{display:grid;place-items:center;align-content:center;justify-content:center;text-align:center;gap:1px;padding-inline:8px}
.auth-tabs .auth-tab>span,.auth-tabs .auth-tab>small{display:block;width:100%;text-align:center;margin:0}
.auth-submit{position:relative!important;display:grid!important;place-items:center!important;justify-content:center!important;text-align:center!important;padding:0 56px!important}
.auth-submit>span{position:absolute!important;left:50%!important;top:50%!important;width:auto!important;max-width:calc(100% - 112px);transform:translate(-50%,-50%)!important;white-space:nowrap;text-align:center!important;line-height:1}
.auth-submit>small{position:absolute;left:17px;top:50%;transform:translateY(-50%);margin:0;font-size:9px;letter-spacing:.12em;opacity:.72;line-height:1}
.auth-submit>svg{position:absolute!important;right:17px!important;left:auto!important;top:50%!important;transform:translateY(-50%)!important;margin:0!important}
