.auth-header{align-items:center;padding:1.25rem 2rem;display:flex}.auth-header__brand{color:var(--v2-ink);font-family:var(--font-body), "Inter", ui-sans-serif, system-ui, sans-serif;align-items:center;gap:.5rem;font-size:1.1rem;font-weight:700;text-decoration:none;display:flex}.login-page{justify-content:center;align-items:center;min-height:calc(100vh - 4.75rem);padding:2rem 1rem;display:flex}.login-card{background:var(--v2-surface);border:1px solid var(--v2-surface-border);border-radius:var(--radius-lg);width:100%;max-width:420px;padding:2.5rem 2rem;animation:.5s cubic-bezier(.16,1,.3,1) login-card-in;box-shadow:0 2px 12px #0a25400a,0 8px 40px #0a25400f}@keyframes login-card-in{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.login-title{font-family:var(--font-body), "Inter", ui-sans-serif, system-ui, sans-serif;letter-spacing:-.02em;color:var(--v2-ink);margin:0 0 .25rem;font-size:1.5rem;font-weight:700}.login-subtitle{color:var(--v2-ink-body);margin:0 0 1.25rem;font-size:.875rem;line-height:1.5}.login-notice{color:var(--v2-ink-body);background:color-mix(in srgb, var(--v2-brand-purple) 6%, transparent);border:1px solid color-mix(in srgb, var(--v2-brand-purple) 15%, transparent);border-radius:.75rem;align-items:flex-start;gap:.6rem;margin-bottom:1rem;padding:.75rem .85rem;font-size:.8125rem;line-height:1.5;display:flex}.login-notice-icon{color:var(--v2-brand-purple);opacity:.7;flex-shrink:0;margin-top:.125rem}.login-notice a{color:var(--v2-brand-purple);white-space:nowrap;font-weight:600;text-decoration:none}.login-notice a:hover{text-decoration:underline}.login-card:before{background:var(--v2-brand-purple);content:"";border-radius:999px;width:2rem;height:.2rem;margin-bottom:1.25rem;display:block}.login-form{flex-direction:column;gap:1rem;margin-top:1.5rem;display:flex}.login-form__error{color:var(--cf-danger);background:var(--cf-danger-bg);border:1px solid var(--cf-danger-border);border-radius:.75rem;margin:0;padding:.75rem .85rem;font-size:.8125rem;font-weight:500;animation:.2s login-error-in}.login-form__success{color:var(--cf-ok-text);background:var(--cf-ok-bg);border:1px solid var(--cf-ok-border);border-radius:.75rem;margin:0;padding:.75rem .85rem;font-size:.8125rem;font-weight:500;animation:.2s login-error-in}@keyframes login-error-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.login-form__field{flex-direction:column;gap:.375rem;display:flex}.login-form__field span{color:var(--v2-ink-body);letter-spacing:.01em;font-size:.8125rem;font-weight:600}.login-form__field input{box-sizing:border-box;width:100%;height:3.25rem;font-family:var(--font-body);color:var(--v2-ink);border:1px solid var(--v2-surface-border);background:#fff;border-radius:8px;outline:2px solid #0000;padding:0 .875rem;font-size:.9375rem;transition:border-color .15s,box-shadow .15s}.login-form__field input:focus{border-color:var(--v2-brand-purple);box-shadow:0 0 0 3px #635bff1f}.login-form__field input::placeholder{color:var(--v2-ink-faint)}.login-form__forgot{color:var(--v2-ink-muted);text-align:center;font-size:.8125rem;text-decoration:none;transition:color .15s}.login-form__forgot:hover{color:var(--v2-brand-purple)}.login-footer{border-top:1px solid var(--v2-surface-border);text-align:center;color:var(--v2-ink-muted);margin-top:1.5rem;padding-top:1.25rem;font-size:.875rem}.login-footer a{color:var(--v2-brand-purple);font-weight:600;text-decoration:none}.login-footer a:hover{text-decoration:underline}.button--pill{height:2.75rem;font-family:var(--font-body);cursor:pointer;border:none;border-radius:999px;justify-content:center;align-items:center;padding:0 1.5rem;font-size:.9375rem;font-weight:600;transition:background .15s,transform .1s;display:inline-flex}.button--primary{background:var(--v2-ink);color:#fff}.button--primary:hover{background:#152e52}.button--primary:active{transform:scale(.98)}.button--ghost{color:var(--v2-ink-body);background:0 0}.button--ghost:hover{background:#0a25400a}.button--pill:disabled{opacity:.5;cursor:not-allowed}.button--pill:focus-visible,.login-form__forgot:focus-visible,.login-footer a:focus-visible{outline:2px solid var(--cf-accent);outline-offset:2px}
