.auth-page{min-height:100vh;position:relative}.auth-page.auth-split{grid-template-columns:1fr;display:grid}@media (min-width:1024px){.auth-page.auth-split{grid-template-columns:1fr 1fr}}.auth-split .split-form{background:var(--surface);flex-direction:column;min-height:100vh;padding:24px 24px 20px;display:flex}@media (min-width:640px){.auth-split .split-form{padding:32px 56px 24px}}.auth-split .split-top{justify-content:space-between;align-items:center;display:flex}.auth-split .split-home{color:var(--text-muted);font-size:.875rem;font-weight:600}.auth-split .split-home:hover{color:var(--accent)}.auth-split .split-body{flex:1;justify-content:center;align-items:center;padding:32px 0;display:flex}.auth-split .split-inner{width:100%;max-width:400px;animation:.45s ease-out auth-fade-in-up}.auth-split .split-foot{font-family:var(--font-mono);color:var(--text-faint);font-size:.75rem}.auth-page.auth-split .auth-icon{display:none}.auth-split .auth-title{font-size:2.1rem}.auth-split .split-visual{color:#fff;background:#09090b;justify-content:center;align-items:center;padding:56px;display:none;position:relative;overflow:hidden}@media (min-width:1024px){.auth-split .split-visual{display:flex}}.auth-split .split-glow{background:radial-gradient(34rem 22rem at 20% 0,#2563eb73,#0000 70%),radial-gradient(30rem 20rem at 100% 100%,#60a5fa38,#0000 70%);position:absolute;inset:0}.auth-page.auth-centered{background:radial-gradient(50rem 24rem at 50% -4rem, #2563eb24, transparent 70%), var(--bg-elevated);flex-direction:column;display:flex}.auth-centered .ac-top{justify-content:space-between;align-items:center;gap:12px;padding:20px 24px;display:flex}@media (min-width:640px){.auth-centered .ac-top{padding:24px 48px}}.auth-centered .ac-main{flex:1;justify-content:center;align-items:flex-start;padding:8px 16px 48px;display:flex}.auth-centered .ac-card{border:1px solid var(--border);background:var(--surface);border-radius:1.5rem;grid-template-columns:1fr;width:100%;max-width:940px;animation:.45s ease-out auth-fade-in-up;display:grid;overflow:hidden;box-shadow:0 40px 90px -45px #2563eb80}@media (min-width:900px){.auth-centered .ac-card{grid-template-columns:5fr 7fr}}.auth-centered .ac-pane{color:#fff;background:radial-gradient(22rem 16rem at 100% 0%, #fff3, transparent 65%), linear-gradient(160deg, var(--accent) 0%, #1e3a8a 100%);flex-direction:column;padding:40px 36px;display:none}@media (min-width:900px){.auth-centered .ac-pane{display:flex}}.auth-centered .ac-form{padding:36px 22px}@media (min-width:640px){.auth-centered .ac-form{padding:44px 48px}}.auth-page.auth-centered .auth-icon{display:none}.auth-page.auth-simple{background:var(--bg-elevated);flex-direction:column;justify-content:center;align-items:center;padding:32px 16px;display:flex}.auth-page .auth-card{border:1px solid var(--border);background:var(--surface);border-radius:1.25rem;width:100%;max-width:440px;margin-top:24px;padding:40px 36px;animation:.45s ease-out auth-fade-in-up;box-shadow:0 30px 70px -40px #2563eb59}@media (max-width:480px){.auth-page .auth-card{padding:32px 22px}}.auth-page .auth-icon{background:var(--accent-soft);width:56px;height:56px;color:var(--accent);border-radius:16px;place-items:center;margin-bottom:20px;display:grid}.auth-page .auth-icon svg{width:28px;height:28px}.auth-page .auth-icon.ok{color:var(--success);background:#e3f6ec}.auth-page .auth-title{margin:0 0 8px;font-size:1.7rem;font-weight:800;line-height:1.15}.auth-page .auth-subtitle{color:var(--text-muted);margin:0 0 24px;font-size:.95rem;line-height:1.55}.auth-page .auth-subtitle strong{color:var(--text);overflow-wrap:anywhere;font-weight:700}.auth-page .auth-error{color:#b4232f;background:#fdecee;border:1px solid #dc354540;border-radius:.75rem;margin-bottom:16px;padding:10px 14px;font-size:.875rem;display:none}.auth-page .auth-error.visible{display:block}.auth-page .auth-notice{color:#0c7a3c;background:#e8f7ee;border:1px solid #12a15040;border-radius:.75rem;margin-bottom:16px;padding:10px 14px;font-size:.875rem}.auth-page .auth-form{flex-direction:column;gap:16px;display:flex}.auth-page .field{text-align:left;flex-direction:column;gap:6px;display:flex}.auth-page .field label{color:var(--text);font-size:.8rem;font-weight:700}.auth-page .field .optional{color:var(--text-faint);font-weight:500}.auth-page .field input[type=text],.auth-page .field input[type=email],.auth-page .field input[type=tel],.auth-page .field input[type=password]{border:1px solid var(--border-strong);background:var(--surface);width:100%;height:48px;color:var(--text);font:inherit;border-radius:.75rem;outline:none;padding:0 14px;font-size:.95rem;transition:border-color .15s,box-shadow .15s}.auth-page .field input::placeholder{color:var(--text-faint)}.auth-page .field input:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.auth-page .field input:disabled{opacity:.6}.auth-page .field-error{color:var(--danger);font-size:.78rem}.auth-page .field-hint{color:var(--text-faint);font-size:.78rem}.auth-page .password-wrap{position:relative}.auth-page .password-wrap input{padding-right:46px}.auth-page .password-toggle{width:36px;height:36px;color:var(--text-faint);border-radius:.5rem;place-items:center;display:grid;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.auth-page .password-toggle:hover{color:var(--accent);background:var(--accent-soft)}.auth-page .password-toggle svg{width:20px;height:20px}.auth-page .password-toggle .eye-off,.auth-page .password-toggle.visible .eye-on{display:none}.auth-page .password-toggle.visible .eye-off{display:block}.auth-page .strength{grid-template-columns:repeat(4,1fr);gap:4px;margin-top:2px;display:grid}.auth-page .strength i{background:var(--border);border-radius:2px;height:4px;transition:background .2s}.auth-page .strength[data-level="1"] i:nth-child(-n+1){background:var(--danger)}.auth-page .strength[data-level="2"] i:nth-child(-n+2){background:var(--warning)}.auth-page .strength[data-level="3"] i:nth-child(-n+3){background:#5b8def}.auth-page .strength[data-level="4"] i{background:var(--success)}.auth-page .check-row{color:var(--text-muted);text-align:left;align-items:flex-start;gap:10px;font-size:.85rem;line-height:1.45;display:flex}.auth-page .check-row input{width:17px;height:17px;accent-color:var(--accent);flex-shrink:0;margin-top:2px}.auth-page .check-row a{color:var(--accent);font-weight:600}.auth-page .auth-btn{background:var(--accent);width:100%;height:50px;color:var(--accent-contrast);box-shadow:0 10px 26px -12px var(--accent-ring);border-radius:.75rem;justify-content:center;align-items:center;gap:8px;font-size:.95rem;font-weight:700;transition:background .15s,transform .1s;display:inline-flex;position:relative}.auth-page .auth-btn:hover:not(:disabled){background:var(--accent-hover)}.auth-page .auth-btn:active:not(:disabled){transform:translateY(1px)}.auth-page .auth-btn:disabled{opacity:.6;cursor:not-allowed}.auth-page .auth-btn .btn-arrow{width:18px;height:18px}.auth-page .auth-btn .btn-spinner{width:20px;height:20px;animation:.8s linear infinite auth-spin;display:none}.auth-page .auth-btn.loading .btn-arrow{display:none}.auth-page .auth-btn.loading .btn-spinner{display:block}.auth-page .auth-links{color:var(--text-faint);flex-wrap:wrap;justify-content:center;gap:8px;margin-top:4px;font-size:.875rem;display:flex}.auth-page .auth-links a,.auth-page .auth-links button,.auth-page .link-btn{color:var(--accent);font-weight:600}.auth-page .auth-links a:hover,.auth-page .auth-links button:hover:not(:disabled),.auth-page .link-btn:hover:not(:disabled){text-decoration:underline}.auth-page .link-btn:disabled{color:var(--text-faint);cursor:default}.auth-page .code-row{grid-template-columns:repeat(6,1fr);gap:10px;display:grid}@media (max-width:380px){.auth-page .code-row{gap:6px}}.auth-page .code-row input{aspect-ratio:1/1.15;border:1px solid var(--border-strong);background:var(--surface);width:100%;min-width:0;color:var(--text);font-family:var(--font-mono);text-align:center;border-radius:.75rem;outline:none;font-size:1.5rem;font-weight:600;transition:border-color .15s,box-shadow .15s}.auth-page .code-row input:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.auth-page .code-row input:disabled{opacity:.6}.auth-page .code-row.invalid input{border-color:var(--danger);animation:.35s auth-shake}.auth-page .verify-note{color:var(--text-muted);text-align:center;font-size:.9rem}@keyframes auth-fade-in-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes auth-spin{to{transform:rotate(360deg)}}@keyframes auth-shake{25%{transform:translate(-4px)}75%{transform:translate(4px)}}@media (prefers-reduced-motion:reduce){.auth-page .auth-card,.auth-split .split-inner,.auth-centered .ac-card,.auth-page .code-row.invalid input,.auth-page .auth-btn .btn-spinner{animation:none}}
