/* Shared sign-in and invitation layout. Colours and controls come from neleso.css. */
.n-auth-shell{min-height:100dvh;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,1fr)}
.n-auth-intro{padding:clamp(32px,5vw,80px);display:flex;flex-direction:column;justify-content:center;gap:24px;background:hsl(var(--muted));border-right:1px solid hsl(var(--border))}
.n-auth-intro .n-brand,.n-auth-brand{display:flex;align-items:center;gap:12px;color:hsl(var(--foreground));font-weight:600;text-decoration:none}
.n-auth-intro .n-brand img,.n-auth-brand img{width:98px;height:20px;object-fit:contain}
.n-auth-partner-brands{gap:16px;flex-wrap:wrap}
.n-auth-partner-link{display:inline-flex;align-items:center;padding-left:16px;border-left:1px solid hsl(var(--border))}
.n-auth-intro .n-auth-partner-logo{display:block;width:110px;height:30px;object-fit:contain;filter:brightness(0)}
.n-auth-intro h1{font-size:clamp(28px,3.2vw,44px);line-height:1.12;max-width:16ch;letter-spacing:-.035em}
.n-auth-intro>p{max-width:48ch;color:hsl(var(--muted-foreground));font-size:1rem;line-height:1.6}
.n-auth-intro img.n-auth-artwork{width:100%;max-height:340px;object-fit:contain;mix-blend-mode:multiply}
.n-auth-eyebrow{color:hsl(var(--brand));font-size:.75rem;font-weight:600;letter-spacing:.05em}
.n-auth-content{display:flex;align-items:center;justify-content:center;padding:48px 32px;min-width:0}
.n-auth-card{width:100%;max-width:440px;min-width:0}
.n-auth-card>h1,.n-auth-card>h2{font-size:1.5rem;font-weight:700;margin:20px 0 8px}
.n-auth-card>p{color:hsl(var(--muted-foreground));margin:8px 0 24px}
.n-auth-form{display:grid;gap:20px;margin-top:24px}
.n-auth-field{display:grid;gap:6px;min-width:0}
.n-auth-field label,.n-auth-field>span{font-weight:500;font-size:.875rem}
.n-auth-form .n-input{width:100%;min-height:44px}
.n-auth-form>.n-btn{width:100%;min-height:44px}
.n-auth-links{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:24px;font-size:.8125rem;color:hsl(var(--muted-foreground))}
.n-auth-links a[aria-current="true"]{color:hsl(var(--foreground));font-weight:600}
.n-auth-note{margin:20px 0;padding:16px;border:1px solid hsl(var(--border));border-radius:var(--radius);color:hsl(var(--muted-foreground));font-size:.8125rem;background:hsl(var(--muted))}
.n-auth-note h3{font-size:.875rem;color:hsl(var(--foreground));margin-bottom:6px}
.n-auth-note p{margin:0}
.n-auth-center{min-height:100dvh;display:grid;place-items:center;padding:32px 20px;background:hsl(var(--muted))}
.n-auth-center .n-auth-card{max-width:520px;padding:32px;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius)}
.n-auth-details{display:grid;gap:12px;margin:24px 0;padding:16px;background:hsl(var(--muted));border-radius:var(--radius)}
.n-auth-details>div{display:grid;grid-template-columns:100px minmax(0,1fr);gap:12px}
.n-auth-details span{color:hsl(var(--muted-foreground));font-size:.8125rem}
.n-auth-details strong{overflow-wrap:anywhere}
.n-auth-error{padding:12px 16px;margin:20px 0;border:1px solid hsl(var(--destructive) / .3);border-radius:var(--radius);background:hsl(var(--destructive-muted));color:hsl(var(--destructive))}
.n-auth-status{font-size:.875rem;overflow-wrap:anywhere}
.n-auth-status:empty{display:none}
.n-auth-status.error{color:hsl(var(--destructive))}
.n-auth-status.success{color:hsl(var(--success))}
.n-auth-form input[type="password"]{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-text-security:disc}
@media(max-width:860px){.n-auth-shell{grid-template-columns:1fr}.n-auth-intro{padding:28px 24px;gap:16px;border-right:0;border-bottom:1px solid hsl(var(--border))}.n-auth-intro h1{font-size:28px;max-width:24ch}.n-auth-intro img.n-auth-artwork{display:none}.n-auth-content{padding:32px 24px}}
@media(max-width:480px){.n-auth-intro>p{font-size:.875rem}.n-auth-content{padding:28px 20px}.n-auth-center{padding:20px 16px}.n-auth-center .n-auth-card{padding:24px 20px}.n-auth-details>div{grid-template-columns:1fr;gap:4px}}

.n-auth-intro>.n-badge{align-self:flex-start}
:root[data-theme="dark"] .n-auth-artwork,.dark .n-auth-artwork{mix-blend-mode:normal}
:root[data-theme="dark"] .n-auth-partner-logo,.dark .n-auth-partner-logo{filter:none}

.n-auth-intro>.n-auth-eyebrow{color:hsl(var(--brand));font-size:.75rem}
.n-auth-card>.n-auth-error{color:hsl(var(--destructive))}
