.auth-shell{position:relative;min-height:100dvh;justify-content:center;background:var(--color-page);padding:var(--space-5)}.auth-shell,.auth-shell-topbar{display:flex;align-items:center}.auth-shell-topbar{position:absolute;top:var(--space-4);right:var(--space-4);gap:var(--space-2)}.auth-card{width:min(100%,420px);display:grid;grid-gap:var(--space-6);gap:var(--space-6);background:var(--color-surface-raised);border:var(--border-width-hairline) solid var(--color-border-strong);border-radius:var(--radius-dialog);padding:var(--space-8);box-shadow:var(--shadow-dialog)}.auth-header{display:grid;justify-items:center;text-align:center;grid-gap:var(--space-3);gap:var(--space-3)}.auth-title{margin:0;font:600 var(--font-size-title)/var(--line-height-ui) var(--font-body);color:var(--color-text-strong)}.auth-subtitle{margin:0;font-size:var(--font-size-body-sm);color:var(--color-text-muted)}.auth-form{display:grid;grid-gap:var(--space-4);gap:var(--space-4)}.auth-name-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-3);gap:var(--space-3)}.auth-fieldset{margin:0;padding:0;border:0;display:grid;grid-gap:var(--space-2);gap:var(--space-2)}.auth-legend{padding:0;font-size:var(--font-size-label);font-weight:600;color:var(--color-text)}.auth-role-toggle{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-2);gap:var(--space-2)}.auth-role-btn{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border:var(--border-width-control) solid var(--color-border-strong);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-text-secondary);font:500 var(--font-size-body-sm)/1 var(--font-body);cursor:pointer;transition:background var(--motion-duration-quick) var(--motion-ease-standard),color var(--motion-duration-quick) var(--motion-ease-standard),border-color var(--motion-duration-quick) var(--motion-ease-standard)}.auth-role-btn:hover{background:var(--color-surface-hover);color:var(--color-text)}.auth-role-btn.is-selected{background:var(--color-surface-selected);border-color:var(--color-border-strong);color:var(--color-text-strong);font-weight:600}.auth-role-btn:focus-visible{outline:var(--focus-ring);outline-offset:var(--space-0-5)}.auth-role-btn[aria-pressed=true]{box-shadow:inset 0 0 0 1px var(--color-accent)}.auth-error{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2-5) var(--space-3);border-radius:var(--radius-control);background:var(--color-danger-surface);color:var(--color-danger);font-size:var(--font-size-caption);font-weight:500;line-height:var(--line-height-ui)}.auth-success-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:var(--radius-round);color:var(--color-success);background:var(--color-success-surface)}.auth-success-icon .ui-icon{width:26px;height:26px}.auth-note{margin:0;text-align:center;font-size:var(--font-size-label);color:var(--color-text-muted)}.auth-field-wrap{display:grid;grid-gap:var(--space-2);gap:var(--space-2)}.auth-actions-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.auth-link{color:var(--color-accent);font:500 var(--font-size-label)/1 var(--font-body);text-decoration:none}.auth-link:hover{text-decoration:underline}.auth-switch{margin:0;text-align:center;font-size:var(--font-size-label);color:var(--color-text-muted)}.ui-input-action{width:28px;height:28px;padding:0;display:grid;place-items:center;flex:0 0 auto;border:0;border-radius:var(--radius-control);color:var(--color-text-muted);background:transparent;cursor:pointer}.ui-input-action:hover{color:var(--color-text);background:var(--color-surface-hover)}.ui-input-action:focus-visible{outline:var(--focus-ring);outline-offset:-1px}@media (max-width:600px){.auth-card{padding:var(--space-6);border-radius:var(--radius-sheet);box-shadow:none;border:var(--border-width-hairline) solid var(--color-border)}.auth-name-row{grid-template-columns:1fr}}