.account-page{padding:140px 0 80px;background:linear-gradient(130deg,#f1f8fc,#fff 70%);min-height:75vh}
.account-page h1{font-size:clamp(2.8rem,5vw,4rem);line-height:1.1}
.account-intro{max-width:700px;font-size:18px;margin:24px 0 38px}
.account-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.75fr);gap:45px;align-items:start;max-width:1100px}
.account-panel{background:white;border:1px solid var(--line);padding:34px;min-width:0}
.account-panel h2{font-size:29px;line-height:1.2;margin:18px 0 23px}
/* Panel titles receive focus to announce a view change, but are not controls. */
.account-panel [data-panel] h2[tabindex="-1"]:focus{outline:none}
.account-tabs{display:flex;gap:5px;border-bottom:1px solid var(--line);padding-bottom:15px}
.account-tabs button{border:0;background:transparent;padding:10px 13px;font-size:14px;color:var(--muted)}
.account-tabs button[aria-pressed=true]{background:var(--wash);color:#176d9d;font-weight:600}
.account-panel label{display:block;font-size:13px;font-weight:600;margin:18px 0 8px}
.account-panel input:not([type=checkbox]){display:block;border:1px solid #b6cbdc;background:#fff;width:100%;min-width:0;padding:12px;font:inherit;font-size:16px;border-radius:0;color:var(--ink);min-height:46px}
.account-panel input:focus-visible{outline:2px solid #176d9d;outline-offset:2px}
.account-name-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.account-panel .account-check{display:flex;align-items:flex-start;gap:12px;font-weight:400;line-height:1.7}
.account-check input{flex-shrink:0;margin:5px 0 0;width:17px;height:17px}
.account-check a{text-decoration:underline;text-underline-offset:3px}
.account-panel form>.btn{margin-top:23px;width:100%}
.account-panel .btn:disabled{background:#dbe5ed;border-color:#c7d8e6;color:#526b80;cursor:not-allowed}
.account-link{border:0;background:transparent;color:#176d9d;display:block;padding:12px 0;margin-top:9px;font-size:14px;text-align:left;text-decoration:underline;text-underline-offset:4px}
.account-status,.account-error,.account-notice{padding:13px 16px;font-size:13px;line-height:1.7;border-left:2px solid #2fa8dc;background:var(--wash);overflow-wrap:anywhere}
.account-status:empty{display:none}.account-error{border-color:#a94b3e;background:#fff4f1;color:#7b3025}
.account-summary{padding:30px;background:var(--wash);border:1px solid var(--line);position:sticky;top:110px}
.account-summary h2{font-size:29px;line-height:1.2}
.account-summary p{font-size:14px}.account-summary .account-plan-price{font-size:30px;line-height:1.4;font-weight:600;color:var(--ink);margin-bottom:0}
.account-next{border-top:1px solid #c7d8e6;margin-top:30px;padding-top:21px;display:flex;gap:17px;align-items:center}
.account-next span{font-size:12px;color:#176d9d}.account-next p{font-size:12px;margin:0}
.account-confirmed{font-size:12px;color:#176d9d;text-transform:uppercase;letter-spacing:.12em}
#ready-email,#verification-email{overflow-wrap:anywhere}
#account-checkout{max-width:100%;white-space:normal;text-align:center;line-height:1.5}
@media(max-width:960px){.account-layout{grid-template-columns:1fr;gap:25px}.account-summary{position:static}.account-intro{font-size:16px}}
@media(max-width:640px){.account-page{padding:115px 0 55px}.account-panel{padding:23px 20px}.account-panel h2{font-size:25px}.account-name-grid{grid-template-columns:1fr;gap:0}.account-summary{padding:25px}.account-tabs button{padding:10px;font-size:13px}}
