.account-gate{min-height:100dvh;display:grid;place-items:center;padding:24px;background:var(--bg)}
.account-card{width:min(100%,420px);padding:32px;background:var(--surface);border:1px solid var(--border);border-radius:24px;box-shadow:var(--shadow)}
.account-logo{display:grid;place-items:center;width:52px;height:52px;background:var(--accent);color:var(--on-accent);font-size:24px;font-weight:800;border-radius:16px;margin-bottom:24px}
.beta-label{font-size:12px!important;font-weight:700;letter-spacing:.12em;color:var(--accent)}
.account-card h1{font-family:var(--font-display);font-size:42px;line-height:1.07;margin:12px 0 18px;letter-spacing:-.04em}
.account-card p{font-size:16px;margin-bottom:20px;color:var(--text-muted)}
.account-card label{display:block;margin:24px 0 8px;font-size:14px;font-weight:600}
.account-card input{width:100%;padding:14px;border:1px solid var(--border);border-radius:10px;background:var(--bg);color:var(--text);font:inherit;margin-bottom:12px}
.account-card .btn{width:100%;margin-bottom:10px}.account-card .account-note,.account-note{font-size:13px;line-height:1.5;color:var(--text-muted);margin:12px 0}
.account-toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:13px;margin-bottom:14px}
.account-toolbar span{flex:1;overflow-wrap:anywhere}.account-toolbar button{font:inherit;background:transparent;color:var(--accent);border:0;text-decoration:underline;cursor:pointer}
.sync-status{font-size:14px;padding:8px 0}.sync-status.error{padding:12px;background:var(--danger-dim);color:var(--danger);border-radius:10px;position:sticky;top:0;z-index:200}
button:disabled{opacity:.5;cursor:not-allowed}#accountStatus{font-size:14px;margin-top:16px} :focus-visible{outline:3px solid var(--accent);outline-offset:3px}

.session-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:14px}
.session-check{display:inline-flex;align-items:center;gap:9px;border:1px solid #bac5c2;border-radius:999px;padding:10px 16px;background:var(--surface);color:var(--text);font:600 14px inherit;cursor:pointer;min-height:44px}
.check-ring{display:grid;place-items:center;width:24px;height:24px;border:2px solid #75867e;border-radius:50%;font-size:18px;line-height:1}
.session-check[aria-pressed="true"]{background:#dcfce7;color:#14532d;border-color:#86efac}
.session-check[aria-pressed="true"] .check-ring{background:#15803d;color:white;border-color:#15803d}
.block.session-complete{border-left-color:#15803d;background:color-mix(in srgb,var(--surface) 92%,#22c55e)}
.session-complete .b-title{text-decoration:line-through;text-decoration-thickness:1px}
.session-progress{display:grid;gap:8px;padding:16px;margin-bottom:16px;border-radius:16px;background:var(--surface)}
.session-progress progress{width:100%;height:10px;accent-color:#15803d}
.session-progress small{color:var(--text-muted);line-height:1.5}

.auth-switch{display:flex;gap:8px;margin:20px 0}.auth-switch button{flex:1;border:1px solid var(--accent);border-radius:12px;padding:12px;background:var(--surface);color:var(--text);font:inherit;cursor:pointer}.auth-switch button[aria-pressed="true"]{background:var(--accent);color:white}.setup-actions{display:grid;gap:10px}.setup-actions button{text-align:left}#onboardProgress{font-weight:600;color:var(--accent)}

.account-logo img{display:block;width:100%;height:100%;object-fit:contain;}

.account-brand-full{display:block;width:180px;max-width:100%;height:auto;margin:0 auto 20px;border-radius:12px;}
