.account-main { max-width:1600px; margin:0 auto; padding:38px 42px 64px; }
.account-main h1 { margin:0 0 42px; color:#202b3d; font:700 52px/1.15 var(--heading-font); letter-spacing:-1.5px; }
.account-layout { display:grid; grid-template-columns:minmax(0,1fr) 295px; gap:64px; align-items:start; }
.account-content { grid-column:1; grid-row:1; min-width:0; }
.account-tabs { grid-column:2; grid-row:1; position:sticky; top:106px; display:flex; flex-direction:column; }
.account-tabs a { display:flex; align-items:flex-start; gap:10px; padding:15px 13px; border-left:5px solid transparent; color:var(--purple); text-decoration:none; line-height:1.4; font-size:16px; font-weight:600; }
.account-tabs a.active { background:#dedcf7; border-left-color:var(--purple); }
.account-tabs a:last-child span { text-decoration:underline; }
.account-tabs .icon { width:21px; height:23px; }
.account-content h2 { font-size:29px; line-height:1.3; letter-spacing:-1px; color:#090909; margin:0 0 8px; }
.account-content > section > p { font-size:16px; line-height:1.6; margin:14px 0 28px; }
.account-required { color:#be2222; font-weight:700; margin-left:2px; }
.account-required-note { margin:0 0 30px; font-size:15px; }
.account-section { display:grid; grid-template-columns:72px minmax(0,1fr); margin:0 0 28px; }
.account-section-icon { padding:2px 23px 0 0; color:#000; }
.account-section-icon .icon { width:48px; height:48px; stroke-width:1.8; }
.account-section-body { border-left:1px solid #d5d5d5; padding:0 0 8px 24px; min-width:0; }
.account-section h3 { color:#050505; font-size:30px; line-height:1.2; letter-spacing:-.9px; margin:0 0 30px; overflow-wrap:anywhere; }
.account-section p { color:#111; font-size:16px; line-height:1.65; margin:0 0 28px; }
.account-name-help { margin-bottom:32px!important; }
.account-text-link { padding:0; border:0; background:none; color:inherit; text-decoration:underline; text-underline-offset:2px; font-weight:600; font-size:inherit; }
.account-readonly { margin:0; }
.account-readonly > div { margin:0 0 30px; }
.account-readonly dt { color:#080808; font-size:16px; font-weight:600; margin-bottom:5px; }
.account-readonly dd { color:#101010; margin:0; min-height:24px; line-height:1.5; font-size:15px; overflow-wrap:anywhere; }
.account-field { margin:0 0 24px; min-width:0; }
.account-field label { display:block; font-size:18px; line-height:1.4; margin:0 0 7px; }
.account-field input { width:100%; min-width:0; min-height:56px; padding:13px 17px; border:1px solid #9c9c9c; border-radius:6px; background:#fff; color:#252d38; font-size:18px; box-shadow:0 1px 2px #00000015; }
.account-field input:focus-visible { outline:2px solid var(--purple); outline-offset:2px; }
.account-field input[readonly] { background:#f7f7fb; }
.account-check { display:flex; align-items:center; gap:13px; margin:6px 0 25px; font-size:16px; cursor:pointer; }
.account-check input { width:22px; height:22px; margin:0; accent-color:var(--purple); }
.account-phone-row { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.account-form-actions { display:flex; justify-content:space-between; gap:20px; margin:42px 0 10px; }
.account-outline-button,.account-solid-button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:12px 24px; border:1px solid var(--purple); background:white; color:var(--purple); font-weight:700; font-size:16px; }
.account-solid-button { background:var(--purple); color:white; }
.account-solid-button:disabled { cursor:default; opacity:1; background:#e4e4e4; border-color:#e4e4e4; color:#8a98ad; }
.account-feedback { padding:13px 16px; color:#224c3c; background:#edf7f0; border-left:3px solid #528e67; line-height:1.6; overflow-wrap:anywhere; }
.account-feedback.error { color:#852434; background:#fff2f3; border-left-color:#b33849; }
#account-password-form { max-width:640px; margin-top:32px; }
#account-password-help { margin:8px 0 0; color:#626573; font-size:14px; }
#account-id-panel > .account-section { margin-top:32px; }
.account-visually-hidden { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
@media(min-width:1450px) { .account-layout { grid-template-columns:minmax(0,1fr) 320px; gap:80px; } }
@media(max-width:999px) {
  .account-main { padding:30px 28px 48px; }
  .account-layout { grid-template-columns:minmax(0,1fr); gap:28px; }
  .account-tabs { grid-column:1; grid-row:1; position:static; flex-direction:row; flex-wrap:wrap; gap:4px; }
  .account-tabs a { padding:12px; font-size:14px; }
  .account-content { grid-column:1; grid-row:2; }
  .account-main h1 { margin-bottom:25px; font-size:42px; }
}
@media(max-width:599px) {
  .account-main { padding:24px 18px 40px; }
  .account-main h1 { font-size:36px; }
  .account-tabs { flex-direction:column; }
  .account-content h2 { font-size:24px; }
  .account-section { grid-template-columns:43px minmax(0,1fr); margin-bottom:26px; }
  .account-section-icon { padding-right:12px; }
  .account-section-icon .icon { width:30px; height:32px; }
  .account-section-body { padding-left:16px; }
  .account-section h3 { font-size:25px; margin-bottom:22px; }
  .account-section p { font-size:15px; }
  .account-field input { font-size:16px; min-height:50px; padding:11px 12px; }
  .account-field label { font-size:16px; }
  .account-phone-row { grid-template-columns:minmax(0,1fr); gap:0; }
  .account-form-actions { gap:12px; margin-top:30px; }
  .account-outline-button,.account-solid-button { padding:11px 15px; font-size:13px; }
}
