.auth-shell{background:var(--vs-cream);flex-direction:column;min-height:100vh;display:flex}.auth-top{border-bottom:1px solid var(--vs-border-soft);padding:24px 32px}.auth-brand{align-items:center;gap:10px;text-decoration:none;display:inline-flex}.auth-brand-name{font-family:var(--vs-font-display);color:var(--vs-fg-1);letter-spacing:-.01em;font-size:22px;font-weight:400}.auth-brand-name em{color:var(--vs-rose-400);font-style:italic;font-weight:300}.auth-main{flex:1;justify-content:center;align-items:center;padding:48px 24px;display:flex}.auth-card{background:var(--vs-bg-elevated);border:1px solid var(--vs-border);border-radius:10px;width:100%;max-width:460px;padding:48px 40px}.auth-eb{font-family:var(--vs-font-sans);letter-spacing:.22em;text-transform:uppercase;color:var(--vs-rose-500);margin-bottom:16px;font-size:11px;font-weight:500}.auth-h{font-family:var(--vs-font-display);letter-spacing:-.02em;color:var(--vs-fg-1);margin:0 0 12px;font-size:32px;font-weight:400;line-height:1.2}.auth-h em{color:var(--vs-rose-400);font-style:italic;font-weight:300}.auth-sub{font-family:var(--vs-font-sans);color:var(--vs-fg-3-strong);margin:0 0 32px;font-size:14px;line-height:1.5}.auth-form{flex-direction:column;gap:16px;display:flex}.auth-field{flex-direction:column;gap:8px;display:flex}.auth-label{font-family:var(--vs-font-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--vs-fg-3-strong);font-size:12px;font-weight:500}.auth-form input{font-family:var(--vs-font-sans);color:var(--vs-fg-1);background:var(--vs-bg-elevated);border:1px solid var(--vs-border);width:100%;transition:border-color .14s var(--vs-ease-out);border-radius:6px;padding:12px 14px;font-size:15px}.auth-form input:focus{border-color:var(--vs-graphite);outline:none}.auth-error{color:var(--vs-danger);background:#9e3d2e0f;border-radius:6px;margin:0;padding:10px 14px;font-size:13px}.auth-btn{font-family:var(--vs-font-sans);cursor:pointer;transition:all .14s var(--vs-ease-out);border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:8px;width:100%;padding:12px 20px;font-size:14px;font-weight:500;display:inline-flex}.auth-btn-primary{background:var(--vs-ink);color:var(--vs-cream)}.auth-btn-primary:hover:not(:disabled){background:var(--vs-rose-600)}.auth-btn-primary:disabled{opacity:.6;cursor:not-allowed}.auth-btn-google{background:var(--vs-bg-elevated);color:var(--vs-fg-1);border-color:var(--vs-border)}.auth-btn-google:hover:not(:disabled){background:var(--vs-surface-hover)}.auth-divider{font-family:var(--vs-font-sans);color:var(--vs-fg-3-strong);letter-spacing:.04em;align-items:center;gap:16px;margin:24px 0;font-size:12px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--vs-border-soft);flex:1;height:1px}.auth-foot{border-top:1px solid var(--vs-border-soft);font-family:var(--vs-font-sans);color:var(--vs-fg-3-strong);text-align:center;margin-top:32px;padding-top:24px;font-size:13px}.auth-foot a{color:var(--vs-link)}.auth-foot a:hover{color:var(--vs-link-hover)}.role-grid{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:24px;display:grid}.role-card{background:var(--vs-bg-elevated);border:1px solid var(--vs-border);text-align:left;cursor:pointer;transition:all .14s var(--vs-ease-out);font-family:var(--vs-font-sans);border-radius:8px;padding:20px 16px}.role-card:hover{border-color:var(--vs-graphite)}.role-card.active{border-color:var(--vs-graphite);background:var(--vs-bone)}.role-card .role-h{font-family:var(--vs-font-display);color:var(--vs-fg-1);margin-bottom:4px;font-size:18px;font-weight:400}.role-card .role-p{color:var(--vs-fg-3-strong);font-size:12px;line-height:1.4}.vendor-note{background:var(--vs-bone);font-family:var(--vs-font-sans);color:var(--vs-fg-2);border-radius:6px;margin-top:16px;padding:14px 16px;font-size:13px;line-height:1.5}
