/* Sign-in and invite pages. Black and white, same tokens as base.css. */
html, body { min-height: 100%; }
body { background: var(--stage); display: grid; place-items: center; min-height: 100vh; padding: 24px; }
.au { width: 100%; max-width: 400px; background: var(--surface); border: 1px solid var(--line); border-radius: 16px; box-shadow: var(--shadow); padding: 32px 28px 28px; }
.au-brand { display: flex; align-items: center; gap: 10px; margin-bottom: 26px; }
.au-mark { width: 30px; height: 30px; border-radius: 9px; background: var(--head); display: grid; place-items: center; }
.au-mark span { width: 10px; height: 10px; border-radius: 50%; background: var(--lime); }
.au-brand b { font-size: 15px; letter-spacing: -.01em; }
.au h1 { margin: 0 0 6px; font-size: 24px; letter-spacing: -.02em; color: var(--head); line-height: 1.15; }
.au p.sub { margin: 0 0 22px; color: var(--ink-2); font-size: 14px; }
.au label { display: block; margin-bottom: 14px; }
.au label span { display: block; font-size: 13px; font-weight: 500; margin-bottom: 6px; color: var(--ink); }
.au input { width: 100%; height: 44px; border: 1px solid var(--line-2); border-radius: 10px; padding: 0 12px; font: inherit; background: var(--surface); color: var(--ink); }
.au input[readonly] { background: var(--surface-2); color: var(--ink-2); }
.au input:focus-visible { outline: 2px solid var(--head); outline-offset: 1px; }
.au .hint { margin: -6px 0 14px; font-size: 12px; color: var(--ink-3); }
.au button.go { width: 100%; height: 46px; border: 0; border-radius: 12px; background: var(--head); color: #fff; font-weight: 700; font-size: 14px; transition: transform .14s var(--ease), opacity .14s; }
.au button.go:hover { transform: translateY(-1px); }
.au button.go:active { transform: scale(.99); }
.au button.go[disabled] { opacity: .5; cursor: default; transform: none; }
.au .err { margin: 0 0 14px; padding: 10px 12px; border-radius: 10px; background: #fdecec; color: #8c1d1d; font-size: 13px; }
.au .err[hidden] { display: none; }
@media (max-width: 480px) { body { padding: 12px; align-items: start; } .au { padding: 24px 20px 20px; } }
