.auth-root{background:var(--bg);min-height:100dvh;color:var(--t1);background-image:radial-gradient(44% 36% at 0% 0%, var(--accent-glow), transparent 70%), radial-gradient(44% 36% at 100% 100%, var(--info-soft), transparent 70%);justify-content:center;align-items:center;padding:24px;font-size:13px;display:flex;position:relative}.auth-card{background:var(--surface);border:1px solid var(--border);width:100%;max-width:400px;box-shadow:var(--shadow-card);border-radius:16px;flex-direction:column;gap:20px;padding:32px;display:flex}.auth-logo{color:var(--t1);align-items:center;gap:8px;display:flex}.auth-logo-mark{background:url(/brand/logo-mark-dark.svg) 50%/contain no-repeat;flex-shrink:0;width:40px;height:28px}.db[data-theme=dark] .auth-logo-mark{background-image:url(/brand/logo-mark.svg)}.auth-logo-word{font-family:var(--font-sansation), sans-serif;letter-spacing:0;color:var(--t1);font-size:20px;font-weight:300;line-height:1}.auth-head{flex-direction:column;gap:4px;display:flex}.auth-title{font-family:var(--font-jakarta), sans-serif;letter-spacing:-.02em;color:var(--t1);font-size:20px;font-weight:700}.auth-sub{color:var(--t2);font-size:12px;line-height:1.5}.auth-form{flex-direction:column;gap:14px;display:flex}.auth-field{flex-direction:column;gap:6px;display:flex}.auth-label{color:var(--t2);font-size:11px;font-weight:600}.auth-input{appearance:none;background:var(--bg2);border:1px solid var(--border);height:40px;color:var(--t1);border-radius:10px;padding:0 14px;font-family:inherit;font-size:13px;transition:border-color .12s,background .12s}.auth-input::placeholder{color:var(--t3)}.auth-input:hover{border-color:var(--border-h)}.auth-input:focus,.auth-input:focus-visible{border-color:var(--border-focus);outline:none}.auth-input[aria-invalid=true]{border-color:var(--danger)}.auth-field-msg{color:var(--danger-text);font-size:11px}.auth-cta{appearance:none;background:var(--accent-bg);border:1px solid color-mix(in srgb, var(--accent-d) 30%, transparent);height:48px;color:var(--accent-text);letter-spacing:-.005em;cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:8px;font-family:inherit;font-size:13px;font-weight:700;transition:background .12s,border-color .12s;display:inline-flex}.auth-cta:hover{background:var(--accent-bg-h);border-color:var(--accent-d)}.auth-cta:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.auth-cta:disabled{opacity:.5;cursor:not-allowed}.auth-alert{background:var(--danger-soft);color:var(--danger-text);border:1px solid color-mix(in srgb, var(--danger) 25%, transparent);border-radius:10px;padding:10px 14px;font-size:12px;line-height:1.4}.auth-alert.ok{background:var(--accent-soft);color:var(--accent-text);border-color:color-mix(in srgb, var(--accent-d) 25%, transparent)}.auth-alt{color:var(--t2);text-align:center;font-size:12px}.auth-link{appearance:none;font:inherit;cursor:pointer;color:var(--accent-text);background:0 0;border:0;padding:0;font-weight:600}.auth-link:hover{text-decoration:underline}.auth-link:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px;border-radius:4px}.auth-state{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:8px 0;display:flex}.auth-state-icon{background:var(--accent-soft);width:48px;height:48px;color:var(--accent-text);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.auth-state-icon.err{background:var(--danger-soft);color:var(--danger-text)}.auth-spin{border:2px solid color-mix(in srgb, currentColor 30%, transparent);border-top-color:currentColor;border-radius:50%;flex-shrink:0;width:16px;height:16px;animation:.7s linear infinite auth-rotate}@keyframes auth-rotate{to{transform:rotate(360deg)}}.auth-theme-btn{appearance:none;background:var(--surface);border:1px solid var(--border);width:40px;height:40px;color:var(--t2);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:background .12s,color .12s;display:inline-flex;position:absolute;top:20px;right:20px}.auth-theme-btn:hover{background:var(--surface-2);color:var(--t1)}.auth-theme-btn:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.auth-theme-btn svg{width:16px;height:16px}@media (max-width:480px){.auth-card{padding:24px}}@media (prefers-reduced-motion:reduce){.auth-input,.auth-cta,.auth-theme-btn{transition:none}.auth-spin{animation-duration:1.5s}}
