/* Account flow reuses the approved blue tokens and existing shell controls. */
.account-main{min-height:70vh;background:var(--sai-surface)}
.account-layout{padding:48px 0 96px}
.account-card{max-width:640px;min-width:0;margin-inline:auto;overflow-wrap:anywhere}
.account-card [hidden]{display:none!important}
.account-card h1{font-size:40px;font-weight:700;line-height:1.25;letter-spacing:var(--sai-tracking-heading);margin-bottom:16px}
.account-card h2{font-size:24px;font-weight:600;line-height:1.4;margin:0 0 16px}
.account-intro{font-size:16px;line-height:1.65;color:var(--sai-body);margin-bottom:24px}
.account-status{font-size:14px;padding:12px 16px;border-radius:var(--sai-radius);background:var(--sai-field);color:var(--sai-body);margin-bottom:16px}
.account-panel{min-width:0;padding:24px;border:1px solid var(--sai-line);border-radius:var(--sai-radius-card);margin-block:24px;background:var(--sai-surface);box-shadow:var(--sai-shadow-1)}
.account-panel p,.account-extra p{margin:0 0 16px;line-height:1.65;color:var(--sai-body);overflow-wrap:anywhere}
.account-card .account-note{font-size:14px;line-height:1.55;color:var(--sai-muted)}
.account-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}
.account-card :is(.sai-button,summary){min-height:44px;min-width:0;max-width:100%;font-size:16px;line-height:1.5;white-space:normal;overflow-wrap:anywhere}
.account-card .sai-button{height:auto;padding:12px 16px;box-sizing:border-box}
.account-card .sai-button[aria-disabled=true]{pointer-events:none;opacity:.6}
.account-card button:disabled{background:var(--sai-disabled-bg);color:var(--sai-disabled-text);border-color:var(--sai-disabled-line);cursor:not-allowed}
.account-extra{margin-top:16px;padding-top:8px;border-top:1px solid var(--sai-line);min-width:0}
.account-extra summary{display:flex;align-items:center;padding-block:8px;font-weight:600;cursor:pointer;gap:8px}
.account-extra summary::before{content:'+';color:var(--sai-muted);flex:none}
.account-extra[open]>summary::before{content:'−'}
.account-extra[open]>summary{margin-bottom:16px}
.account-provider{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin-bottom:16px}
#methods-panel>.account-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin:0 0 16px}
.account-card .account-provider p{margin:0}
.account-form{display:grid;gap:16px;min-width:0}
.account-field label{display:block;margin-bottom:8px;font-weight:600}
#invitation-code{display:block;width:100%;max-width:100%;min-width:0;box-sizing:border-box;min-height:48px;padding:12px 16px;border:1px solid var(--sai-control-line);border-radius:var(--sai-radius);background:var(--sai-surface);color:var(--sai-ink);font-size:16px}
.account-check{display:flex;align-items:center;gap:12px;min-height:44px;padding-block:8px;margin:8px 0;font-size:16px;line-height:1.65;cursor:pointer}
.account-check input{width:24px;height:24px;flex:none;accent-color:var(--sai-action)}
.account-card .account-error{color:var(--sai-danger);font-size:14px;line-height:1.55;margin:8px 0 16px;overflow-wrap:anywhere}
.account-card [aria-invalid=true]{border-color:var(--sai-danger)!important;outline-color:var(--sai-danger)}
.account-check:has([aria-invalid=true]){border-left:3px solid var(--sai-danger);padding-left:9px}
.account-card :is(a,button,input,summary,[tabindex]){scroll-margin-top:112px;scroll-margin-bottom:24px}
.account-card :is(a,button,input,summary):focus-visible{outline:2px solid var(--sai-action);outline-offset:2px}
.account-card :is(h2,p)[tabindex='-1']:focus{outline:2px solid var(--sai-action);outline-offset:4px}
.account-card a:not(.sai-button){display:inline-flex;align-items:center;min-height:44px;max-width:100%;font-size:16px;overflow-wrap:anywhere}
.account-link-targets{margin:0;display:grid;gap:16px}
.account-link-targets div{min-width:0}
.account-link-targets dt{font-size:14px;color:var(--sai-muted)}
.account-link-targets dd{margin:4px 0 0;font-size:16px;overflow-wrap:anywhere}
/* Seller-activity notice: the meaning is carried by the text; #A15C07 is the approved warning state colour. */
.account-activity h2,.account-policy h2{font-size:20px;font-weight:600}
.account-policy #policy-version{font-weight:600}
.account-activity--limited{border-left:4px solid #A15C07}
.account-activity--limited #activity-status{color:#A15C07;font-weight:700}
@media(max-width:480px){.account-layout{padding-block:32px 64px}.account-card h1{font-size:30px}.account-card h2{font-size:20px}.account-panel{padding:20px 16px}.account-actions>*{flex:1 1 100%}.account-check{align-items:flex-start}}
.account-status:empty{display:none}
