/* Shared auth feedback; fixed structure avoids input-driven layout jumps. */
.j2d-password-feedback { margin-block:var(--j2d-space-3); padding:var(--j2d-space-4); border:1px solid var(--j2d-border); border-radius:var(--j2d-r-md); background:var(--j2d-surface-container,var(--j2d-surface)); color:var(--j2d-text-secondary); overflow-wrap:anywhere; }
.j2d-password-feedback__title { margin:0 0 var(--j2d-space-2); font:inherit; font-weight:650; color:var(--j2d-text-primary); }
.j2d-password-feedback progress { display:block; inline-size:100%; block-size:var(--j2d-space-2); accent-color:var(--j2d-primary); }
.j2d-password-feedback ul { display:grid; gap:var(--j2d-space-2); list-style:none; padding:0; margin:var(--j2d-space-3) 0 0; }
.j2d-password-feedback li { display:flex; align-items:baseline; gap:var(--j2d-space-2); }
.j2d-password-feedback li>span { flex:none; inline-size:1em; color:var(--j2d-text-secondary); }
.j2d-password-feedback .is-met, .j2d-password-feedback .is-met>span { color:var(--j2d-primary); }
.j2d-auth-shell--single { align-items:start; }
.j2d-auth-shell--single>.j2d-auth-card { inline-size:min(100%,32rem); box-sizing:border-box; }
.j2d-auth-card .j2d-password-toggle { position:absolute; inset-inline-end:0; inset-block:0; min-inline-size:var(--j2d-touch-target); min-block-size:var(--j2d-touch-target); border:0; background:transparent; color:var(--j2d-text-primary); border-radius:var(--j2d-r-md); cursor:pointer; }
.j2d-password-toggle:focus-visible { outline:2px solid var(--j2d-primary); outline-offset:2px; }
@media(max-width:980px) { .j2d-auth-shell { align-content:start; } }
