.asvnt-vip-account-link { display:inline-flex; align-items:center; justify-content:center; gap:6px; padding:9px 10px; color:var(--copper-dark,#805b34); font-size:13px; white-space:nowrap; }
.asvnt-vip-account-link svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.asvnt-vip-page { width:min(calc(100% - 32px),480px); margin:56px auto 80px; }
.asvnt-vip-card { padding:34px; border:1px solid var(--line,#e6e4df); border-radius:18px; background:#fff; box-shadow:0 10px 32px rgba(23,25,28,.04); }
.asvnt-vip-eyebrow { color:var(--copper,#a87945); font-size:11px; font-weight:600; letter-spacing:.14em; }
.asvnt-vip-card h1 { margin:14px 0; font-size:28px; }
.asvnt-vip-description,.asvnt-vip-footnote { color:var(--muted,#858a91); font-size:14px; line-height:1.7; }
.asvnt-vip-form { display:grid; gap:18px; margin-top:26px; }
.asvnt-vip-form>label { display:grid; gap:9px; color:var(--body,#4d5258); font-size:14px; }
.asvnt-vip-form input:not([type=checkbox]):not([type=hidden]) { width:100%; min-height:46px; padding:10px 12px; border:1px solid var(--line,#e6e4df); border-radius:8px; color:var(--ink,#17191c); background:#fff; font-size:16px; }
.asvnt-vip-form input:focus-visible { outline:2px solid var(--copper,#a87945); outline-offset:2px; }
.asvnt-vip-form .button-primary { width:100%; min-height:46px; }
.asvnt-vip-form-meta { display:flex; align-items:center; justify-content:space-between; gap:12px; color:var(--muted,#858a91); font-size:13px; }
.asvnt-vip-check { display:flex; align-items:center; gap:7px; }
.asvnt-vip-check input { accent-color:var(--copper,#a87945); }
.asvnt-vip-footnote { margin:22px 0 0; font-size:12px; }
.asvnt-vip-footnote a { color:var(--copper-dark,#805b34); }
.asvnt-vip-notice { padding:13px 15px; border-radius:8px; color:#52624a; background:#f1f5ee; font-size:14px; line-height:1.7; }
.asvnt-vip-notice.is-error { color:#a13838; background:#fff1f0; }
.asvnt-vip-password { margin-top:24px; padding:18px 0; border-top:1px solid var(--line,#e6e4df); border-bottom:1px solid var(--line,#e6e4df); font-size:14px; }
.asvnt-vip-password summary { cursor:pointer; }
.asvnt-vip-logout { display:inline-block; margin-top:24px; color:var(--muted,#858a91); font-size:14px; }
@media(max-width:760px) {
  .asvnt-vip-account-link { padding:7px 5px; gap:4px; font-size:12px; }
  .asvnt-vip-account-link svg { width:15px; height:15px; }
  .asvnt-vip-page { margin-top:28px; width:min(calc(100% - 24px),480px); }
  .asvnt-vip-card { padding:26px 22px; }
  .asvnt-vip-card h1 { font-size:25px; }
}
@media(max-width:380px) {
  .header-inner { gap:8px; }
  .brand { gap:8px; }
  .brand-name { font-size:15px; }
}
