.auth-viewport{min-height:100vh;background:linear-gradient(180deg,var(--surface-2) 0,var(--surface-3) 100%)}.auth-screen{min-height:100vh;display:flex;flex-direction:column}.auth-topbar{width:100%;max-width:1120px;margin:0 auto;padding:22px 24px;display:flex;align-items:center;justify-content:space-between}.auth-topbar-brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none}.auth-topbar-logo{height:34px;width:auto}.auth-topbar-name{font-size:18px;font-weight:700;color:var(--color-dark);letter-spacing:.5px}.auth-topbar-back{font-size:14px;color:#4e5969;text-decoration:none;transition:color .2s}.auth-topbar-back:hover{color:var(--color-primary)}.auth-topbar-back i{margin-right:4px}.auth-body{flex:1;display:flex;align-items:center;justify-content:center;padding:12px 24px 40px}.auth-card{width:100%;max-width:980px;min-height:560px;background:var(--surface-1);border-radius:16px;box-shadow:0 24px 64px rgba(13,43,92,.1)}.auth-brand,.auth-card{display:flex;overflow:hidden}.auth-brand{position:relative;width:44%;padding:52px 48px 40px;color:#fff;flex-direction:column;justify-content:space-between;background:linear-gradient(160deg,#0a2b66,#0f3f8f 52%,#1a55b0)}.auth-brand:before{content:"";position:absolute;width:420px;height:420px;border-radius:50%;border:1px solid rgba(255,255,255,.12);top:-170px;right:-130px}.auth-brand:after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;border:1px solid rgba(255,255,255,.09);bottom:-110px;left:-80px}.auth-brand>*{position:relative;z-index:1}.auth-brand-tag{display:inline-flex;align-self:flex-start;padding:6px 14px;border:1px solid rgba(255,255,255,.3);border-radius:999px;font-size:12px;letter-spacing:2px;color:rgba(255,255,255,.92)}.auth-brand-title{margin:24px 0 14px;font-size:30px;line-height:1.45;font-weight:600;white-space:pre-line}.auth-brand-desc{font-size:14px;line-height:1.8;color:rgba(255,255,255,.78)}.auth-brand-point{display:flex;align-items:flex-start;gap:12px;margin-top:20px}.auth-brand-point i{flex:none;width:36px;height:36px;border-radius:10px;background:rgba(255,255,255,.12);display:inline-flex;align-items:center;justify-content:center;font-size:15px}.auth-brand-point b{display:block;font-size:14px;font-weight:600;margin-bottom:2px}.auth-brand-point span{font-size:12.5px;color:rgba(255,255,255,.66)}.auth-brand-foot{margin-top:28px;font-size:12px;color:rgba(255,255,255,.5)}.auth-form{flex:1;display:flex;flex-direction:column;justify-content:center;padding:48px 56px}.auth-form-inner{width:100%;max-width:380px;margin:0 auto}.auth-title{font-size:24px;font-weight:600;color:var(--color-dark)}.auth-subtitle{margin-top:8px;font-size:13.5px;color:#86909c}.auth-tabs{display:flex;gap:28px;margin:26px 0 24px}.auth-tab{position:relative;padding:0 0 10px;font-size:17px;font-weight:500;color:#4e5969;background:none;border:none;cursor:pointer;transition:color .2s}.auth-tab.is-active,.auth-tab:hover{color:var(--color-dark)}.auth-tab.is-active{font-weight:600}.auth-tab.is-active:after{content:"";position:absolute;left:50%;transform:translateX(-50%);bottom:0;width:28px;height:3px;border-radius:2px;background:var(--color-primary)}.auth-field{margin-bottom:18px}.auth-label{display:block;font-size:13px;color:#4e5969;margin-bottom:8px}.auth-input{width:100%;height:46px;padding:0 14px;font-size:15px;color:var(--color-dark);background:var(--surface-1);border:1px solid var(--border-1);border-radius:8px;outline:none;transition:border-color .2s,box-shadow .2s}.auth-input::placeholder{color:#c2c7d0}.auth-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1)}.auth-code-row{display:flex;gap:10px}.auth-code-row .auth-input{flex:1;letter-spacing:2px}.auth-send-btn{height:46px;min-width:118px;padding:0 16px;font-size:14px;color:var(--color-primary);background:var(--color-primary-softer);border:1px solid rgba(var(--color-primary-rgb),.3);border-radius:8px;cursor:pointer;white-space:nowrap;transition:all .2s}.auth-send-btn:hover:not(:disabled){background:var(--color-primary-soft)}.auth-send-btn:disabled{color:var(--color-gray-400);background:var(--surface-2);border-color:var(--border-1);cursor:not-allowed}.auth-captcha-img{display:flex;align-items:center;justify-content:center;width:118px;height:46px;padding:0;overflow:hidden;background:var(--surface-1);border:1px solid var(--border-1);border-radius:8px;cursor:pointer;transition:border-color .2s}.auth-captcha-img:hover{border-color:rgba(var(--color-primary-rgb),.5)}.auth-captcha-img img{display:block;width:100%;height:100%;object-fit:cover}.auth-captcha-reload{color:var(--color-primary);font-size:16px}.auth-hint{margin:6px 0 0;font-size:12px;line-height:1.5;color:var(--color-gray-600)}.auth-pwd-row{position:relative}.auth-pwd-row .auth-input{padding-right:42px}.auth-pwd-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);border:none;background:none;color:#a9b2bf;cursor:pointer;font-size:15px;padding:4px}.auth-pwd-toggle:hover{color:var(--color-primary)}.auth-submit{width:100%;height:48px;margin-top:8px;font-size:16px;font-weight:600;letter-spacing:2px;color:#fff;background:linear-gradient(135deg,var(--color-primary-dark),var(--color-primary));border:none;border-radius:8px;cursor:pointer;transition:filter .2s}.auth-submit:hover:not(:disabled){filter:brightness(1.08)}.auth-submit:disabled{opacity:.65;cursor:not-allowed}.auth-alert{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;margin-bottom:16px;border-radius:8px;font-size:13px;line-height:1.55}.auth-alert i{margin-top:2px}.auth-alert.is-error{color:#cf1322;background:#fef1f0}.auth-alert.is-info{color:#1450a3;background:#f0f6ff}.auth-devcode{margin-bottom:16px;padding:8px 10px;font-size:12px;color:#86909c;background:var(--surface-2);border:1px dashed #d8dce3;border-radius:6px}.auth-devcode code{font-family:Menlo,Consolas,monospace;font-size:14px;font-weight:600;color:var(--color-primary);letter-spacing:2px}.auth-alt{margin-top:26px;display:flex;align-items:center;justify-content:center;gap:14px;font-size:13.5px;color:#86909c}.auth-alt a{color:var(--color-primary);font-weight:500;text-decoration:none}.auth-alt a:hover{text-decoration:underline}.auth-alt-divider{width:1px;height:12px;background:#e5e6eb}@media (max-width:900px){.auth-brand{display:none}.auth-form{padding:40px 28px}.auth-card{max-width:480px}}@media (max-width:480px){.auth-body{padding:0}.auth-card{max-width:none;min-height:100vh;border-radius:0;box-shadow:none}}