.account-page{padding-bottom:env(safe-area-inset-bottom,0px)}
.account-shell{max-width:1180px;min-height:100dvh;margin:auto;padding:0 40px 56px}
.account-topbar{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}
.account-brand{display:inline-flex;align-items:center;gap:11px;text-decoration:none;color:var(--text)}
.account-brand img{width:44px;height:44px;object-fit:contain}
.account-brand span{display:grid;gap:1px}
.account-brand strong{font:700 18px/1.1 var(--font-head);color:var(--heading)}
.account-brand small{color:var(--muted);font-size:11px;letter-spacing:.02em}
.account-back{display:inline-flex;align-items:center;min-height:44px;white-space:nowrap;font-weight:600;text-decoration-thickness:1px;text-underline-offset:4px}
.account-back span{margin-left:2px}
.account-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(350px,.94fr);gap:clamp(48px,7vw,108px);align-items:start;padding-top:56px}
.account-content{max-width:478px;width:100%;justify-self:end}
.account-eyebrow{margin:0 0 9px;color:var(--forest);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.account-intro h1{font-size:clamp(34px,3.6vw,48px);line-height:1.04;letter-spacing:-.035em}
.account-intro>p:last-child{margin:13px 0 0;color:var(--muted);font-size:16px;line-height:1.45}
.account-intro>p:last-child:empty{display:none}
.account-form{display:grid;gap:17px;margin-top:27px}
.account-modes{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:0 0 2px;padding:3px;border:1px solid var(--line-strong);border-radius:10px;background:var(--chip)}
.account-modes label{position:relative;min-width:0;cursor:pointer}
.account-modes input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.account-modes span{display:grid;place-items:center;min-height:42px;border-radius:7px;font-weight:700;font-size:14px;white-space:nowrap}
.account-modes input:checked+span{background:var(--surface);color:var(--heading);box-shadow:0 1px 4px rgb(27 39 31 / .12)}
.account-modes input:focus-visible+span{outline:3px solid var(--ochre);outline-offset:1px}
.account-field{display:grid;gap:7px;font-weight:700;font-size:14px}
.account-field input,.account-field textarea{display:block;width:100%;min-height:50px;box-sizing:border-box;border:1px solid var(--line-strong);border-radius:9px;padding:11px 13px;color:var(--text);background:var(--surface);font:400 16px/1.3 var(--font-body)}
.account-field input::placeholder{color:var(--muted);opacity:.8}
.account-field input:focus,.account-field textarea:focus{border-color:var(--forest);outline:3px solid color-mix(in srgb,var(--ochre) 60%,transparent);outline-offset:1px}
.field-help{margin:0;color:var(--muted);font-size:12px;font-weight:400}
.account-consent{padding-top:1px}
.account-consent label,.account-consent-label{display:flex;align-items:flex-start;min-height:42px;gap:11px;font-size:14px;line-height:1.35;cursor:pointer}
.account-consent input,.account-consent-label input{flex:none;width:18px;height:18px;margin:1px 0 0;accent-color:var(--forest)}
.account-consent small{color:var(--muted);font-size:13px}
.account-consent details{margin:5px 0 0 29px;color:var(--muted);font-size:12px}
.account-consent summary{width:fit-content;min-height:32px;padding:7px 0;cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.account-consent details p{margin:8px 0 0;line-height:1.5}
.account-submit{min-height:52px;width:100%;font-size:15px}
.account-form-note{margin:-8px 0 0;text-align:center;color:var(--muted);font-size:12px}
#account-status{margin:18px 0 -5px;padding:11px 13px;border-left:3px solid var(--rust);background:var(--surface);overflow-wrap:anywhere}
.account-state{margin-top:31px}
.account-state h2,.account-requests h2{font-size:28px;line-height:1.12}
.account-state p{max-width:38ch}
.account-state-mark{display:grid;place-items:center;width:50px;height:50px;margin-bottom:16px;border-radius:50%;background:var(--chip);color:var(--forest);font-size:24px}
.account-state-help{color:var(--muted);font-size:13px}
.account-text-button{display:inline-block;margin-top:6px;padding:9px 0;border:0;background:none;color:var(--accent);font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.account-requests{margin-top:38px;border-top:1px solid var(--line);padding-top:27px}
.account-requests>p{color:var(--muted)}
#request-list article{padding:17px 0;border-top:1px solid var(--line)}
#request-list h3{font-size:18px}
.account-request-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.account-request-head strong{font-size:18px;font-variant-numeric:tabular-nums}
#request-list p{margin:6px 0;overflow-wrap:anywhere}
.account-request-id,.account-request-date{color:var(--muted);font-size:13px}
.account-request-status{font-weight:700}
#request-list .btn-ghost{margin-top:11px;min-height:44px}
.account-art{position:relative;min-width:0;margin:0;overflow:hidden;border-radius:5px;background:var(--linen)}
.account-art img{display:block;width:100%;height:min(66vw,638px);min-height:530px;object-fit:cover;object-position:58% center}
.account-art p{position:absolute;right:18px;bottom:17px;left:18px;width:fit-content;max-width:calc(100% - 36px);margin:0;padding:8px 12px;background:var(--paper);color:var(--ink);font:600 17px/1.2 var(--font-head)}
@media(prefers-color-scheme:dark){
 :root:not([data-theme="light"]) .account-eyebrow{color:#a9cba5}
 :root:not([data-theme="light"]) .account-modes input:checked+span{box-shadow:inset 0 0 0 1px var(--line-strong)}
}
:root[data-theme="dark"] .account-eyebrow{color:#a9cba5}
:root[data-theme="dark"] .account-modes input:checked+span{box-shadow:inset 0 0 0 1px var(--line-strong)}
@media(max-width:800px){
 .account-shell{max-width:560px;padding:0 20px 42px}
 .account-topbar{min-height:69px}
 .account-brand img{width:36px;height:36px}
 .account-brand strong{font-size:16px}
 .account-brand small{font-size:9px}
 .account-back{font-size:13px}
 .account-layout{display:flex;flex-direction:column;gap:25px;padding-top:25px}
 .account-content{max-width:none;order:1}
 .account-art{order:2;width:100%}
 .account-art img{height:128px;min-height:0;object-position:center 36%}
 .account-art p{right:10px;bottom:9px;left:10px;padding:5px 8px;font-size:13px}
 .account-intro h1{font-size:clamp(32px,8.2vw,39px)}
 .account-intro>p:last-child{margin-top:8px;font-size:14px}
 .account-form{gap:14px;margin-top:20px}
 .account-consent{margin-top:2px}
 .account-submit{margin-top:2px}
}
@media(max-width:380px){
 .account-shell{padding-right:17px;padding-left:17px}
 .account-brand small{max-width:130px}
 .account-back{font-size:12px}
}
/* Keep the managed challenge within the form at narrow phone widths. */
#signup-security{min-width:0}
#signup-challenge{min-height:65px;width:100%}
#signup-security-status:empty{display:none}
#signup-security-status{margin:8px 0 0;line-height:1.4}
