.account-card{margin:1rem 0;padding:1.25rem;border:1px solid var(--goldline);border-radius:14px;background:var(--goldbg);color:var(--text);}
.account-card h2{font-size:1.15rem;margin:0 0 .6rem;line-height:1.35;}
.account-card p,.account-card li{font-size:.85rem;line-height:1.65;}
.account-card ul{padding-left:1.2rem;margin:.7rem 0;}
.account-card .account-kicker{color:var(--gold);font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;}
.account-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1rem;}
.account-primary,.account-secondary{font:inherit;font-size:.85rem;font-weight:700;padding:.75rem 1rem;min-height:44px;border-radius:8px;cursor:pointer;}
.account-primary{background:var(--gold2);color:#fff;border:1px solid var(--gold2);}
.account-secondary{background:var(--surface,#fff);color:var(--text);border:1px solid var(--border);}
.account-primary:disabled{opacity:.6;cursor:wait;}
.account-card [hidden],.auth-dialog [hidden]{display:none!important;}
.auth-dialog{width:min(440px,calc(100% - 2rem));max-height:90dvh;overflow:auto;margin:auto;padding:1.5rem;border:1px solid var(--goldline);border-radius:16px;background:var(--surface,#fff);color:var(--text);box-shadow:0 24px 80px #0003;}
.auth-dialog::backdrop{background:#11182799;}
.auth-dialog h2{font-size:1.25rem;margin:.5rem 0;}
.auth-dialog p{font-size:.85rem;line-height:1.6;}
.auth-dialog label{display:block;margin:.8rem 0 .35rem;font-size:.85rem;font-weight:600;}
.auth-dialog input{width:100%;box-sizing:border-box;padding:.8rem;border:1px solid var(--border);border-radius:8px;font:inherit;}
.auth-dialog a{color:var(--gold);}
.auth-close{float:right;border:0;background:transparent;color:var(--text);font-size:1.5rem;min-width:44px;min-height:44px;cursor:pointer;}
.auth-status{min-height:1.5rem;overflow-wrap:anywhere;}
.auth-google{width:100%;background:white;color:#1f1f1f;border:1px solid #747775;margin-top:1rem;}
.auth-google:disabled{opacity:.55;cursor:not-allowed;}
.auth-divider{text-align:center;color:var(--muted);margin-top:1rem;}
.auth-link{border:0;background:transparent;color:var(--gold);font:inherit;font-size:.8rem;cursor:pointer;text-decoration:underline;min-height:40px;}
.auth-dialog .auth-check{display:flex;gap:.65rem;align-items:flex-start;font-weight:400;line-height:1.6;}
.auth-dialog input[type=checkbox]{width:18px;height:18px;min-width:18px;margin-top:.25rem;accent-color:var(--gold);}
.auth-status[data-error="true"]{color:#a32222;}
.account-email{overflow-wrap:anywhere;}
.marketing-options{padding:.9rem;border:1px solid var(--border);border-radius:12px;margin:1rem 0;background:var(--goldbg);}
.marketing-options legend{font-size:.8rem;font-weight:700;padding:0 .3rem;color:var(--gold);}
.marketing-preferences{border-top:1px solid var(--goldline);padding-top:1rem;margin-top:1rem;}
.marketing-preferences summary{cursor:pointer;font-weight:700;font-size:.9rem;min-height:44px;}
.marketing-preferences .auth-check{display:flex;align-items:flex-start;gap:.7rem;font-size:.85rem;line-height:1.6;margin:.8rem 0;}
.marketing-preferences input[type=checkbox]{width:18px;height:18px;flex-shrink:0;margin-top:.25rem;accent-color:var(--gold);}
.marketing-preferences a{color:var(--gold);}
.marketing-welcome{width:min(520px,calc(100% - 2rem));}
.marketing-welcome .marketing-kicker{margin-top:.8rem;color:var(--gold);font-weight:700;font-size:.8rem;}
.marketing-welcome .auth-check strong{display:block;margin-bottom:.2rem;font-size:.95rem;}
.marketing-welcome-actions{display:flex;flex-wrap:wrap;gap:.65rem;}
.marketing-welcome-actions button{flex:1 1 200px;}
.marketing-welcome .marketing-options{padding:.7rem 1rem;}
.marketing-targeting{border-top:1px solid var(--goldline);padding-top:.5rem;margin-top:1rem;}
.marketing-targeting strong{display:block;}
.marketing-profile-fields{border:1px solid var(--border);border-radius:10px;padding:1rem;margin:1rem 0;}
.marketing-profile-fields legend{font-weight:700;font-size:.85rem;}
.marketing-profile-fields label{display:block;font-size:.85rem;font-weight:600;margin:.7rem 0 .3rem;}
.marketing-profile-fields select,.marketing-profile-fields input{width:100%;box-sizing:border-box;min-height:44px;padding:.6rem;border:1px solid var(--border);border-radius:8px;font:inherit;background:var(--surface,#fff);color:var(--text);}
.marketing-profile-fields p{margin:.75rem 0 0;}
.account-primary:focus-visible,.account-secondary:focus-visible,.auth-close:focus-visible{outline:3px solid var(--gold);outline-offset:3px;}

/* Shared account comparison in calculator and community. */
.account-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.3rem;}
.account-plan{background:#ffffffb3;border:1px solid var(--border);border-radius:14px;padding:1.2rem;min-width:0;}
.account-plan h3{font-size:1.06rem;line-height:1.4;margin:0;}
.account-plan-featured{background:#fff;border-color:var(--gold);}
.account-plan ul{list-style:none;padding:0;margin:.8rem 0 0;}
.account-plan li{position:relative;padding-left:1.3rem;margin:.6rem 0;}
.account-plan li::before{content:'✓';position:absolute;left:0;color:var(--gold);font-weight:700;}
@supports(grid-template-rows:subgrid){.account-plan{display:grid;grid-row:span 2;grid-template-rows:subgrid;row-gap:0;}}
.account-actions .account-primary{flex:1;}
@media(max-width:540px){.account-comparison{grid-template-columns:1fr;}.account-actions{flex-direction:column;}}
