.auth-page{--sidebar-bg:#16101d;--primary:#6b21a8;--primary-10:rgba(107,33,168,0.15);--primary-hover:#7e22ce;--card-bg:#2a2233;--text:#e4e4e7;--text-secondary:#9ca3af;--surface:#1f1828;--surface-hover:#352a3f;--border:#3a2f47;min-height:100vh;background:var(--surface);color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.auth-wrapper{min-height:100vh;display:flex;flex-direction:column}.auth-header{justify-content:space-between;padding:20px 40px;flex-shrink:0}.auth-header,.auth-logo{display:flex;align-items:center}.auth-logo{gap:10px}.auth-logo-img{display:block;width:115px;height:24px;max-width:100%}.auth-body{flex:1 1;display:flex;align-items:center;justify-content:center;padding:20px}.auth-card{width:520px;max-width:100%}.auth-back{display:inline-flex;align-items:center;gap:6px;background:none;border:none;color:var(--text-secondary);font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;padding:0;margin-bottom:18px;transition:color .15s}.auth-back svg{width:16px;height:16px}.auth-back:hover,.auth-title{color:var(--text)}.auth-title{font-size:32px;font-weight:700;margin:0 0 4px}.auth-subtitle{font-size:14px;color:var(--text-secondary);margin:0 0 28px}.auth-label{font-size:14px;font-weight:600;color:var(--text);margin-bottom:6px;display:block}.auth-input-wrap{position:relative;margin-bottom:16px}.auth-input{width:100%;height:48px;border:1px solid var(--border);border-radius:6px;padding:0 16px;font-size:14px;font-family:inherit;color:var(--text);background:var(--card-bg);outline:none;box-sizing:border-box}.auth-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(107,33,168,.2)}.auth-input.has-eye{padding-right:48px}.auth-eye{position:absolute;right:14px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--text-secondary);display:flex;padding:0}.auth-eye svg{width:20px;height:20px}.auth-row{justify-content:space-between;margin-bottom:20px;font-size:13px}.auth-check,.auth-row{display:flex;align-items:center}.auth-check{gap:6px;cursor:pointer}.auth-check input{width:16px;height:16px;accent-color:var(--primary);cursor:pointer}.auth-check span{color:var(--text)}.auth-forgot{color:var(--text-secondary);font-weight:600;text-decoration:none;font-size:13px;background:none;border:none;font-family:inherit;cursor:pointer;padding:0}.auth-forgot:hover{text-decoration:underline;color:var(--text)}.auth-btn{width:100%;height:48px;border:none;border-radius:6px;background:var(--primary);color:#fff;font-size:16px;font-weight:600;font-family:inherit;cursor:pointer}.auth-btn:hover:not(:disabled){opacity:.9}.auth-btn:active:not(:disabled){transform:scale(.99)}.auth-btn:disabled{opacity:.65;cursor:not-allowed}.auth-error{background:rgba(231,0,11,.12);border:1px solid rgba(231,0,11,.35);color:#f87171;font-size:13px;padding:10px 14px;border-radius:6px;margin-bottom:16px}.auth-divider{display:flex;align-items:center;gap:16px;margin:20px 0;color:var(--text-secondary);font-size:13px}.auth-divider:after,.auth-divider:before{content:"";flex:1 1;height:1px;background:var(--border)}.auth-social{gap:16px;margin-bottom:24px}.auth-social,.auth-social-btn{display:flex;justify-content:center}.auth-social-btn{text-decoration:none;width:56px;height:48px;border:1px solid var(--border);border-radius:8px;align-items:center;cursor:pointer;background:var(--card-bg)}.auth-social-btn:hover{background:var(--surface-hover)}.auth-social-btn svg{width:24px;height:24px}.auth-footer{text-align:center;font-size:14px;color:var(--text-secondary)}.auth-footer a,.auth-footer button.auth-link{color:var(--primary);font-weight:600;text-decoration:none;background:none;border:none;font-family:inherit;font-size:inherit;cursor:pointer;padding:0}.auth-footer a:hover,.auth-footer button.auth-link:hover{text-decoration:underline}.auth-lang-wrap{position:relative;flex-shrink:0}.auth-lang{display:flex;align-items:center;gap:6px;cursor:pointer;padding:6px 12px;border-radius:8px;font-size:14px;font-weight:600;color:var(--text);transition:background .15s;background:none;border:none;font-family:inherit}.auth-lang:hover{background:rgba(255,255,255,.08)}.auth-lang-flag{font-size:20px;line-height:1}.auth-lang-code{font-size:13px}.lang-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:220px;background:#fff;border-radius:12px;box-shadow:0 12px 40px rgba(0,0,0,.3);z-index:100;opacity:0;visibility:hidden;transform:translateY(-6px) scale(.97);pointer-events:none;transition:opacity .2s,transform .2s,visibility .2s;overflow:hidden}.lang-dropdown.open{opacity:1;visibility:visible;transform:translateY(0) scale(1);pointer-events:all}.lang-search-wrap{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid #e5e7eb;color:#9ca3af}.lang-search{flex:1 1;border:none;outline:none;font-size:13px;font-family:inherit;color:#111827;background:transparent}.lang-search::placeholder{color:#9ca3af}.lang-list{max-height:320px;overflow-y:auto;padding:6px 0}.lang-item{display:flex;align-items:center;gap:10px;padding:9px 14px;font-size:14px;color:#374151;cursor:pointer;transition:background .1s;background:none;border:none;width:100%;text-align:left;font-family:inherit}.lang-item:hover{background:#f3f4f6}.lang-item.active{background:#eef2ff;color:var(--primary);font-weight:600}.lang-flag{font-size:18px;line-height:1;flex-shrink:0;width:22px;text-align:center}.auth-code-inputs{display:flex;gap:16px;margin-bottom:16px}.auth-code-input{width:72px;height:56px;text-align:center;font-size:24px;font-weight:600;border:1px solid var(--border);border-radius:8px;font-family:inherit;color:var(--text);background:var(--card-bg);outline:none}.auth-code-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(107,33,168,.2)}.auth-resend{font-size:13px;color:var(--text-secondary);margin-bottom:24px}.auth-resend a{color:var(--primary);text-decoration:none}.auth-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:600;opacity:0;pointer-events:none;transition:opacity .3s;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.auth-modal-overlay.open{opacity:1;pointer-events:all}.auth-modal{background:var(--card-bg);border-radius:16px;padding:40px;width:420px;max-width:90vw;border:1px solid var(--border);transform:scale(.95);transition:transform .3s}.auth-modal-overlay.open .auth-modal{transform:scale(1)}@media (max-width:640px){.auth-header{padding:16px 20px}.auth-title{font-size:26px}.auth-code-input{width:56px;height:48px;font-size:20px}}