.login-root{display:grid;place-items:center;min-height:100dvh;background:var(--color-background)}.login__card{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);width:min(24rem,90vw);padding:var(--space-10) var(--space-8);background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow);text-align:center}.login__logo{--logo-h:52px;color:var(--color-primary)}.login__title{font-size:var(--text-xl);margin:0}.login__loading{margin:0;color:var(--color-muted-foreground);font-size:var(--text-sm)}.login__code,.login__qr,.login__setup,.login__setupform{display:flex;flex-direction:column;gap:var(--space-4);width:100%}.login__code[hidden],.login__qr[hidden],.login__setup[hidden],.login__setupform[hidden]{display:none}.login__intro{margin:0;font-size:var(--text-sm);color:var(--color-muted-foreground)}.login__field{display:flex;flex-direction:column;gap:.35rem;width:100%;text-align:left;font-size:var(--text-sm);font-weight:600}.login__field[hidden]{display:none}.login__field input{padding:.65rem .85rem;border:1px solid var(--color-border);border-radius:var(--radius);font:inherit;letter-spacing:.15em;background:var(--color-background)}.login__field input:focus-visible{outline:2px solid var(--color-ring);outline-offset:1px;border-color:var(--color-primary)}.login__error{margin:0;width:100%;font-size:var(--text-sm);color:var(--color-destructive)}.login__error[hidden]{display:none}.login__submit{width:100%;padding:.75rem;border:0;border-radius:999px;background:var(--color-primary);color:var(--color-on-primary);font:inherit;font-weight:600;cursor:pointer;transition:background var(--transition)}.login__submit:hover{background:var(--color-primary-hover)}.login__submit:disabled{opacity:.6;cursor:default}.login__qr img{width:10rem;height:10rem;margin:0 auto;border-radius:var(--radius);border:1px solid var(--color-border)}.login__manual{margin:0;font-size:var(--text-xs);color:var(--color-muted-foreground);word-break:break-all}.login__manual code{display:inline-block;margin-top:.3rem;padding:.2rem .4rem;border-radius:4px;background:var(--color-muted);font-size:var(--text-xs)}