body{display:grid;grid-template-columns:1fr;place-items:center;padding:2rem}
[hidden]{display:none!important}
.auth{width:100%;max-width:420px}.auth h2{font-size:1.2rem;margin-bottom:1rem;text-align:center}
.auth .logo{justify-content:center;margin-bottom:1.5rem;font-size:1.3rem}
.tabs{display:flex;border:1px solid var(--line);border-radius:10px;padding:.25rem;margin-bottom:1.25rem;background:var(--bg)}
.tabs button{flex:1;border:0;background:transparent;padding:.5rem;border-radius:8px;font:inherit;font-weight:600;color:var(--muted);cursor:pointer}
.tabs button.active{background:#fff;color:var(--navy);box-shadow:0 1px 2px rgba(0,0,0,.06)}
.f{display:grid;gap:.9rem}.f label{font-weight:600;font-size:.85rem;display:grid;gap:.35rem}
.f input{padding:.7rem .8rem;border:1px solid var(--line);border-radius:8px;font:inherit}
.err{color:var(--red);font-size:.85rem;min-height:1.2em}.ok{color:var(--accent);font-size:.85rem}
.btn.primary{width:100%;padding:.8rem;display:block;text-align:center}
.note{text-align:center;color:var(--muted);font-size:.8rem;margin-top:1rem}.note a{color:var(--navy);font-weight:600}
.invite-box{background:var(--navy-soft);color:var(--navy);border-radius:10px;padding:.75rem 1rem;margin-bottom:1rem;font-size:.9rem}
