.account-screen { display:block; padding:0; min-height:100dvh; }
.account-shell { width:min(100% - 3rem,72rem); margin-inline:auto; }
.account-header { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding-block:1.5rem; border-bottom:1px solid var(--auth-border); }
.account-header .auth-brand-row { flex:0 0 auto; margin:0; }
.account-header .auth-brand-row-spacer { display:none; }
.account-header .auth-brand { justify-content:flex-start; margin:0; }
.account-header .auth-brand-content { overflow-wrap:normal; text-align:left; }
.account-brand-lockup { display:flex; align-items:center; gap:.65rem; white-space:nowrap; }
.account-brand-mark { display:grid; width:2.25rem; height:2.25rem; flex:0 0 2.25rem; place-items:center; border:1px solid color-mix(in srgb,var(--auth-accent-readable) 32%,transparent); border-radius:.75rem; background:color-mix(in srgb,var(--auth-accent-readable) 12%,transparent); }
.account-brand-mark svg { width:1.2rem; height:1.2rem; }
.account-return { font-weight:650; text-decoration:none; }
.account-header nav { display:flex; align-items:center; gap:1.25rem; flex-wrap:wrap; }
.account-screen a, .account-screen summary { color:var(--auth-accent-readable); text-underline-offset:.2em; }
.account-screen :focus-visible { outline:3px solid var(--auth-accent-readable); outline-offset:4px; }
.account-intro { max-width:46rem; padding-block:3rem 2rem; }
.account-eyebrow { font-size:.75rem; font-weight:700; letter-spacing:.12em; color:var(--auth-accent-readable); }
.account-intro h1 { font-size:clamp(1.8rem,4vw,2.75rem); letter-spacing:-.04em; line-height:1.15; margin:.65rem 0 1rem; }
.account-intro p { line-height:1.65; }
.account-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem; align-items:start; }
.account-card { min-width:0; background:var(--auth-surface-raised); border:1px solid var(--auth-border); border-radius:1.25rem; overflow-wrap:anywhere; overflow:hidden; }
.account-card > summary { display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:4.25rem; padding:1rem 1.35rem; cursor:pointer; list-style:none; }
.account-card > summary::-webkit-details-marker { display:none; }
.account-card > summary span { font-size:1.5rem; transition:transform .15s ease; }
.account-card[open] > summary span { transform:rotate(45deg); }
.account-card h2 { font-size:1.1rem; margin:0; line-height:1.35; }
.account-card-body { border-top:1px solid var(--auth-border); padding:1.25rem 1.35rem; }
.account-card p { font-size:.925rem; line-height:1.65; margin:.75rem 0; color:var(--auth-muted); }
.account-card dl { margin:0; }
.account-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.4fr); gap:1rem; padding-block:1rem; border-top:1px solid var(--auth-border); }
.account-row dt { color:var(--auth-muted); font-size:.925rem; }
.account-row dd { margin:0; text-align:right; font-weight:600; }
.account-edit { margin-top:.8rem; }
.account-edit summary { cursor:pointer; min-height:44px; padding-block:.7rem; font-weight:600; line-height:1.5; }
.account-edit[open] summary { margin-bottom:.8rem; }
.account-inline-form { margin:0; }
.account-actions { display:flex; flex-wrap:wrap; gap:.7rem; align-items:center; }
.account-actions .auth-submit { width:auto; flex:1 1 auto; }
.account-actions .auth-link { flex:1 1 auto; }
.account-screen button, .account-screen input, .account-screen select, .account-screen a { min-height:44px; }
.account-screen a { display:inline-flex; align-items:center; }
.account-screen input, .account-screen select { min-width:0; max-width:100%; font-size:1rem; }
.account-screen select { width:100%; color:var(--auth-foreground); background-color:var(--auth-surface); border:1px solid var(--auth-control-border); border-radius:var(--radius-lg); padding:.8rem 2.25rem .8rem .8rem; }
.account-screen button:disabled { opacity:.5; cursor:not-allowed; }
.account-list { list-style:none; margin:0; padding:0; }
.account-list > li { padding-block:1rem; border-top:1px solid var(--auth-border); }
.account-list > li > div:first-child { margin-bottom:.4rem; }
.account-list small { display:block; color:var(--auth-muted); line-height:1.6; margin-top:.3rem; }
.account-list .auth-link { text-align:left; padding:.5rem 0; }
.account-muted { display:block; color:var(--auth-muted); font-size:.85rem; }
.account-app-list > li { border:1px solid var(--auth-border); border-radius:1rem; padding:1rem; margin-bottom:.75rem; }
.account-signout { margin-top:1rem; border-radius:1rem; }
.account-danger { font-weight:600; color:var(--auth-danger-readable); }
.account-signin { max-width:32rem; margin-inline:auto; padding:1.6rem; }
.account-footer { padding:2rem 0; color:var(--auth-muted); font-size:.875rem; line-height:1.6; }
.account-dialog { width:min(calc(100% - 2rem),30rem); max-height:calc(100dvh - 2rem); overflow:auto; overflow-wrap:break-word; padding:1.5rem; border:1px solid var(--auth-border); border-radius:1rem; color:var(--auth-foreground); background:var(--auth-surface-raised); }
.account-dialog::backdrop { background:rgb(0 0 0 / .5); }
.account-dialog p { line-height:1.65; }
#account-notice { margin-bottom:1.25rem; }
.account-sr-only, .account-skip:not(:focus) { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.account-skip:focus { display:block; padding:1rem; }
@media (max-width:48rem) {
  .account-shell { width:min(100% - 2rem,38rem); }
  .account-grid { grid-template-columns:minmax(0,1fr); }
  .account-intro { padding-block:2rem 1.25rem; }
  .account-card > summary, .account-card-body { padding-inline:1rem; }
  .account-header { flex-wrap:wrap; padding-block:1rem; }
  .account-header .auth-brand-row { width:100%; }
  .account-return { margin-left:auto; }
}
@media (max-width:26rem) {
  .account-shell { width:calc(100% - 1.5rem); }
  .account-row { grid-template-columns:minmax(0,1fr); gap:.4rem; }
  .account-row dd { text-align:left; }
  .account-actions { flex-direction:column; align-items:stretch; }
}
