/* Identity flow composition. Shared forms own controls, typography and spacing tokens. */
#identity-workspace [hidden] { display: none !important; }
#identity-workspace .identity-flow-panel { padding: var(--ss3-space-6); }
#identity-workspace .identity-flow-nav { margin: 0; font-size: var(--ss3-font-size-supporting); }
#identity-workspace .identity-flow-nav:not([hidden]) + .ss3-page-header { margin-top: var(--ss3-gap-inline); }
#identity-workspace #invitation-choice > .ss3-section-title { margin: 0 0 var(--ss3-gap-inline); }
#identity-workspace .identity-flow-choices { display: grid; gap: var(--ss3-gap-row); margin-top: var(--ss3-gap-group); }
#identity-workspace .identity-flow-choice {
    display: block; width: 100%; min-width: 0; text-align: left;
    padding: var(--ss3-space-3) var(--ss3-space-4);
    background: var(--ss3-color-surface); color: var(--ss3-color-text);
    border: 1px solid var(--ss3-color-border); border-radius: var(--ss3-radius-sm);
    font: inherit; cursor: pointer;
}
#identity-workspace .identity-flow-choice:hover { background: var(--ss3-color-surface-muted); }
#identity-workspace .identity-flow-choice:focus-visible { outline: 2px solid var(--ss3-color-action); outline-offset: 2px; }
#identity-workspace .identity-choice-name { display: block; font-size: var(--ss3-font-size-section-title); font-weight: var(--ss3-font-weight-medium); line-height: var(--ss3-line-height-tight); }
#identity-workspace .identity-choice-detail { display: block; margin-top: var(--ss3-space-1); color: var(--ss3-color-text-muted); font-size: var(--ss3-font-size-supporting); line-height: var(--ss3-line-height-body); }
#identity-workspace .identity-flow-link { color: var(--ss3-color-link); text-decoration: underline; text-align: left; background: transparent; border: 0; padding: 0; font: inherit; min-height: 2rem; }
#identity-workspace .identity-label-hint { display: block; font-weight: var(--ss3-font-weight-regular); }
#identity-workspace .identity-feedback[data-state="error"] { color: var(--ss3-color-error); }
#identity-workspace .identity-feedback[data-state="valid"] { color: var(--ss3-color-success); }
#identity-workspace .identity-contact { margin-top: var(--ss3-gap-inline); }

@media screen and (max-width: 39.9375em) {
    #identity-workspace .identity-flow-panel { padding: var(--ss3-space-5); }
}
/* These noninteractive regions receive programmatic announcement focus. */
#identity-workspace #identity-result:focus,
#identity-workspace #identity-page-issues:focus { outline: none; }
#identity-workspace:has(#help-confirmation:not([hidden])) .identity-flow-nav { display: none; }
