.account-page { margin:0; color:#25233e; background:#f7f7fc; font:15px/1.6 system-ui,-apple-system,"Segoe UI",sans-serif; min-height:100vh; display:flex; flex-direction:column; }
.account-page *, .account-page *::before, .account-page *::after { box-sizing:border-box; }
.account-page a { color:#5945cb; text-underline-offset:4px; }
.account-page a:hover { color:#342878; }
.account-page :focus-visible { outline:3px solid #967fff; outline-offset:4px; }
.account-header { background:#fff; border-bottom:1px solid #e8e7ef; padding:20px max(24px,calc((100vw - 1120px)/2)); display:flex; align-items:center; justify-content:space-between; gap:20px; }
.account-header nav,.account-footer nav { display:flex; flex-wrap:wrap; gap:20px; }
.account-header nav a { text-decoration:none; font-size:13px; font-weight:600; }
.account-brand { color:#25233e!important; display:flex; gap:10px; align-items:center; text-decoration:none; font-weight:800; font-size:20px; }
.account-brand span { border-radius:12px; color:#fff; background:#6552df; width:38px; height:38px; display:grid; place-items:center; }
.account-main { flex:1; width:min(920px,100%); margin:0 auto; padding:52px 24px 72px; }
.account-intro { margin-bottom:28px; }
.account-eyebrow { color:#6552df; font-size:11px; font-weight:800; letter-spacing:1.6px; text-transform:uppercase; }
.account-page h1 { margin:10px 0; font-size:clamp(27px,5vw,36px); letter-spacing:-1px; line-height:1.2; }
.account-page h2 { font-size:19px; line-height:1.4; margin:0 0 12px; }
.account-page p { margin:0 0 18px; }
.account-muted { color:#66647a; }
.account-card { background:#fff; border:1px solid #e4e2f0; border-radius:20px; padding:30px; margin-bottom:20px; box-shadow:0 8px 32px #29204605; min-width:0; }
.account-form-card { max-width:560px; margin-left:auto; margin-right:auto; }
.account-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-bottom:20px; }
.account-grid .account-card { margin-bottom:0; }
.account-field { margin:0 0 20px; }
.account-field label { display:block; font-size:13px; font-weight:650; margin-bottom:7px; }
.account-field input { display:block; width:100%; min-width:0; border:1px solid #d8d5e7; border-radius:10px; background:#fafafe; padding:13px 14px; font:inherit; color:inherit; }
.account-field input.input-validation-error { border-color:#b3263e; }
.account-field input:focus { background:#fff; }
.account-field input[type="checkbox"] { display:inline-block; width:18px; height:18px; padding:0; margin:0 8px 0 0; vertical-align:middle; accent-color:#6552df; }
.account-help { display:block; font-size:12px; color:#66647a; margin-top:7px; }
.account-button { display:inline-flex; align-items:center; justify-content:center; min-height:46px; border:1px solid transparent; border-radius:10px; padding:11px 18px; background:#6552df; color:#fff!important; font:600 14px/1.5 system-ui,sans-serif; cursor:pointer; text-decoration:none; text-align:center; }
.account-button:hover { background:#5140bf; }
.account-button-wide { width:100%; }
.account-button-secondary { color:#42368c!important; background:#f2efff; border-color:#e1d9ff; }
.account-button-secondary:hover { background:#e8e2ff; }
.account-button-danger { background:#fff; color:#9b263f!important; border-color:#ebccd3; }
.account-button-danger:hover { background:#fff3f5; }
.account-links { display:flex; flex-wrap:wrap; justify-content:space-between; gap:14px; font-size:13px; margin-top:20px; }
.account-notice { border:1px solid #dbd4fd; background:#f2efff; color:#42368c; border-radius:12px; padding:15px 18px; margin:20px 0; font-size:13px; }
.account-error,.field-validation-error,.validation-summary-errors { color:#a2243b; font-size:13px; }
.validation-summary-errors { border:1px solid #ebccd3; background:#fff5f7; border-radius:10px; padding:12px 16px; margin-bottom:20px; }
.validation-summary-errors ul { margin:0; padding-left:18px; }
.validation-summary-valid,.field-validation-valid { display:none; }
.account-badge { display:inline-block; padding:5px 10px; border:1px solid #e1d9ff; border-radius:7px; background:#f7f4ff; font-size:12px; color:#5140aa; margin:0 8px 18px 0; }
.account-email { overflow-wrap:anywhere; font-weight:600; }
.account-footer { display:flex; flex-wrap:wrap; justify-content:space-between; gap:15px; padding:20px max(24px,calc((100vw - 1120px)/2)); border-top:1px solid #e8e7ef; color:#66647a; font-size:12px; }
.account-footer a { color:#66647a; }
.account-skip { position:absolute; top:-100px; left:12px; background:#fff; padding:12px; z-index:5; }
.account-skip:focus { top:12px; }
@media(max-width:640px) { .account-header { padding:16px 20px; flex-wrap:wrap; } .account-header nav { gap:14px; } .account-main { padding:32px 16px 48px; } .account-card { padding:22px; border-radius:16px; } .account-grid { grid-template-columns:1fr; } .account-footer { padding:20px; } }
