/* Account dashboard and the code-first sign-in door share the setup palette. */
body:not(.account-open) { color-scheme:light; background:#eef2ed; color:#182639; font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
body:not(.account-open) .wrap { max-width:540px; padding:clamp(22px,5vw,48px) 20px; }
body:not(.account-open) > .wrap > h1 { font-size:31px; letter-spacing:-.05em; }
body:not(.account-open) .card { background:#fff; border:1px solid #dfe7df; border-radius:18px; padding:25px; }
body:not(.account-open) .sub,body:not(.account-open) label,body:not(.account-open) .msg { color:#61717b; }
body:not(.account-open) input { background:#f9fbf8; color:#182639; border-color:#becfc4; }
body:not(.account-open) button:not(.ghost) { background:#b6f58b; color:#173025; }
body:not(.account-open) button.ghost { color:#183128; border:1px solid #bac8bf; box-shadow:none; }
body:not(.account-open) a { color:#26664c; }
body.account-open { color-scheme:light; background:#eef2ed; color:#182639; font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
body.account-open .wrap { max-width:1228px; padding:24px; }
body.account-open > .wrap > h1,body.account-open > .wrap > .sub { display:none; }
.account-dashboard { display:grid; gap:13px; }
.account-dashboard[hidden],.account-dashboard.hidden { display:none; }
.account-dashboard * { box-sizing:border-box; }
.account-dashboard :focus-visible { outline:3px solid #167f66; outline-offset:3px; }
.account-hero { position:relative; overflow:hidden; color:#f6f7f3; background:#101b29; border-radius:23px; padding:24px 30px; }
.account-hero::after { content:""; position:absolute; width:340px; height:340px; border:1px solid #385448; border-radius:50%; right:-105px; top:-175px; box-shadow:0 0 0 45px #132638,0 0 0 46px #385448,0 0 0 105px #132638; pointer-events:none; }
.account-hero > * { position:relative; z-index:1; }
.account-eyebrow { color:#326b57; font-size:11px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.account-hero .account-eyebrow { color:#b6f58b; }
.account-hero-main { display:flex; justify-content:space-between; align-items:center; gap:20px; }
.account-hero h1 { color:#f6f7f3; font-size:clamp(30px,3.3vw,43px); line-height:1.05; letter-spacing:-.055em; margin:6px 0 7px; }
.account-hero p { color:#b1c2c7; max-width:610px; font-size:13px; line-height:1.4; margin:0; }
.account-hero-footer { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin-top:14px; font-size:13px; color:#d8e5e6; }
.account-hero-footer .badge { font-size:12px; border-radius:999px; padding:8px 12px; }
.account-hero-footer .badge.plus { background:#213a39; color:#d7f8cf; border:1px solid #446154; }
.account-hero-footer .badge.free { background:#253345; color:#c8d4da; border:1px solid #465568; }
.account-text-button { width:auto; margin:0 0 0 auto; padding:5px 0; border:0; background:none; color:#d8e5e6; font-size:12px; text-decoration:underline; }
.account-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; align-items:stretch; }
.account-card { min-width:0; background:white; border:1px solid #dee5df; border-radius:18px; padding:21px 24px; }
.account-card .account-eyebrow { display:block; color:#388368; margin-bottom:7px; }
.account-card h2 { color:#182639; font-size:23px; letter-spacing:-.045em; line-height:1.15; margin:0 0 6px; }
.account-card p,.account-card small { color:#627581; font-size:12px; line-height:1.45; }
.account-card-intro { margin:0 0 12px; max-width:710px; font-size:13px; }
.account-perks { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px 12px; padding:0; margin:11px 0 16px; list-style:none; font-size:12px; color:#3b5350; }
.account-perks li::before { content:"✓"; display:inline-grid; place-items:center; width:17px; height:17px; border-radius:50%; color:#205c39; background:#d7f0d0; margin-right:9px; font-size:11px; font-weight:800; }
.account-actions { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin-top:auto; }
.account-dashboard button,.account-button { width:auto; min-height:36px; margin:0; border:1px solid #bac8bf; background:white; color:#183128; border-radius:10px; padding:8px 12px; font:inherit; font-size:12px; font-weight:800; text-decoration:none; cursor:pointer; }
.account-dashboard button:hover,.account-button:hover { background:#eff6ed; }
.account-button.primary,.account-dashboard button.primary { background:#b6f58b; border-color:#a6e27f; color:#173025; }
.account-dashboard button:disabled { opacity:.55; cursor:wait; }
.account-message { margin:0; min-height:0; color:#7b3b2e; font-size:12px; }
.account-message:empty { display:none; }
.account-status-row { display:flex; gap:11px; align-items:center; border-bottom:1px solid #e3eae3; padding:10px 0; }
.account-status-row > span { display:grid; place-items:center; width:22px; height:22px; flex:none; border-radius:50%; background:#d7efcc; color:#32634a; font-size:12px; font-weight:900; }
.account-status-row strong,.account-status-row small { display:block; }
.account-status-row strong { color:#263a35; font-size:12px; }
.account-details { border-top:1px solid #e3eae3; padding-top:11px; margin-top:10px; font-size:12px; }
.account-details summary { color:#2b6950; font-weight:800; cursor:pointer; }
.account-details p { margin:8px 0; }
.account-dashboard label { color:#465d61; font-size:11px; margin:12px 0 6px; }
.account-inline { display:flex; gap:7px; align-items:stretch; }
.account-dashboard input { min-width:0; flex:1; background:#f9fbf8; color:#182639; border:1px solid #becfc4; border-radius:10px; padding:9px 11px; font-size:13px; }
.account-dashboard input:focus { outline:3px solid #b6f58b; border-color:#278564; }
.account-note { margin:11px 0 0; }
.account-tool-row { display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:9px; border-bottom:1px solid #e3eae3; padding:9px 0; }
.account-tool-row strong,.account-mobile strong { display:block; font-size:13px; color:#263a35; }
.account-tool-row small,.account-mobile small { display:block; font-size:11px; line-height:1.35; color:#647581; }
.account-tool-badge { color:#315747; font-size:11px; font-weight:800; text-align:right; }
.account-tool-badge.pending { color:#8b6b26; }
.account-mobile { padding-top:12px; }
.account-mobile-links { display:flex; gap:14px; margin-top:10px; }
.account-mobile-links > div { display:flex; align-items:center; gap:9px; background:#f8faf7; border:1px solid #e0e8df; border-radius:11px; padding:6px; min-width:0; }
.account-mobile-links a { line-height:0; }
.account-qr { display:block; width:68px; height:68px; padding:4px; background:white; border:1px solid #dbe6db; border-radius:7px; }
.account-store-badge { display:block; width:112px; max-width:100%; height:auto; }
.account-referral-head { display:block; }
.account-referral-head .referral-summary { margin:7px 0 10px; color:#2b6248; font-size:12px; font-weight:800; white-space:nowrap; }
.referral-field { gap:8px; margin-top:8px; }
.referral-field input { font-size:12px; }
.account-referrals .referral-info button { width:20px; min-height:20px; height:20px; padding:0; border-radius:50%; }
.account-referrals .referral-info-popover { background:#18302d; color:white; }
.account-referrals .msg { min-height:0; color:#526a5f; }
#legacyHelperSection:not(.hidden) { background:#fff6dd; border:1px solid #e8cf84; border-radius:12px; padding:15px; color:#67501c; font-size:12px; }
#legacyHelperSection button { margin-top:8px; }
@media(max-width:900px) { .account-grid { grid-template-columns:1fr; } }
@media(max-width:600px) { body.account-open .wrap { padding:12px; } .account-hero { padding:24px; } .account-hero-main { align-items:start; flex-direction:column; } .account-mobile-links { flex-wrap:wrap; } .account-referral-head { flex-direction:column; } .account-tool-row { grid-template-columns:minmax(0,1fr) auto; } .account-tool-row .account-button,.account-tool-row button { grid-column:2; } .account-perks { grid-template-columns:1fr; } }
