.auth-page{display:grid;place-items:center;padding:16px}
.auth-shell{width:100%;max-width:420px}
.auth-core{padding:32px 28px}
.auth-core h1{font-size:clamp(28px,6vw,36px);margin:14px 0 24px}
.auth-core .eyebrow{margin-bottom:0}
.auth-fld{margin-bottom:16px}
.auth-fld label{display:block;margin-bottom:8px;font-size:10px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--mute)}
.auth-fld input{width:100%;height:46px;border:0;border-radius:14px;padding:0 14px;background:#f5f5f3;box-shadow:inset 0 0 0 1px var(--line);outline:0;transition:box-shadow .4s var(--e),background-color .4s var(--e)}
.auth-fld input:focus{background:#fff;box-shadow:inset 0 0 0 2px var(--ink)}
.auth-fld.has-err input{box-shadow:inset 0 0 0 2px var(--rejected)}
.auth-err{list-style:none;padding:0;margin-top:8px;font-size:12.5px;font-weight:500;line-height:1.4;color:var(--rejected);animation:auth-in .45s var(--e)}
.auth-alert{display:flex;align-items:flex-start;gap:12px;margin-bottom:18px;padding:12px 14px;border-radius:16px;background:color-mix(in srgb,var(--rejected) 8%,#fff);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--rejected) 28%,#fff);color:color-mix(in srgb,var(--rejected) 70%,#000);animation:auth-in .5s var(--e)}
.auth-alert svg{flex:none;width:20px;height:20px;margin-top:1px;color:var(--rejected)}
.auth-alert ul{list-style:none;padding:0;font-size:13.5px;line-height:1.45;font-weight:500}
.auth-alert li+li{margin-top:4px}
@keyframes auth-in{from{opacity:0;transform:translateY(-6px)}}
@keyframes auth-shake{10%,90%{transform:translateX(-2px)}20%,80%{transform:translateX(4px)}30%,50%,70%{transform:translateX(-7px)}40%,60%{transform:translateX(7px)}}
.auth-core:has(.auth-alert,.has-err){animation:auth-shake .55s cubic-bezier(.36,.07,.19,.97) both}
@media(prefers-reduced-motion:reduce){.auth-core:has(.auth-alert,.has-err),.auth-alert,.auth-err{animation:none}}
.auth-help{margin-top:8px;font-size:12px;line-height:1.5;color:var(--mute)}
.auth-help ul{padding-left:16px}
.auth-form .btn{width:100%;justify-content:space-between;margin-top:6px;padding:10px 10px 10px 22px;font-size:14px}
.auth-alt{margin-top:22px;font-size:14px;color:var(--mute);text-align:center}
.auth-alt a{color:var(--ink);font-weight:600;text-decoration:none;border-bottom:1px solid var(--line)}
a.btn{text-decoration:none}
.auth-nav{position:fixed;top:16px;right:16px;z-index:11;display:flex;align-items:center;gap:8px;padding:8px;border-radius:999px;background:rgba(255,255,255,.72);backdrop-filter:blur(18px);box-shadow:0 0 0 1px var(--line),0 18px 40px -20px rgba(30,30,60,.25)}
.auth-nav form{margin:0}
.auth-user{max-width:140px;padding:0 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600}
@media(max-width:900px){.auth-nav{position:static;width:max-content;max-width:100%;margin:12px 0 0 auto}.auth-nav+.nav{margin-top:12px}}
.auth-text{color:var(--mute);line-height:1.5}
.auth-wide{max-width:640px}
.auth-note{margin:10px 0 0}
.inv-list{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:16px}
.inv-row{display:flex;gap:8px;align-items:center;margin-bottom:6px}
.inv-url{flex:1;min-width:0;height:42px;border:0;border-radius:14px;padding:0 14px;background:#f5f5f3;box-shadow:inset 0 0 0 1px var(--line);outline:0;font:inherit;font-size:13px}
.inv.off{opacity:.6}
.inv .auth-help{margin-top:0}