/* Access uses the same tokens and local font as the application. */
#accessGate .access-shell{width:100%;max-width:500px;margin:24px auto;padding:0 24px}.access-brand{text-align:center;margin:20px 0 26px}.access-brand img{border-radius:24px;width:88px;height:88px;display:block;margin:0 auto 14px}.access-wordmark{font-size:34px;font-weight:800;letter-spacing:-1px;color:var(--ink)}.access-wordmark span{color:var(--accent)}.access-brand p{font-size:11px;letter-spacing:1.4px;font-weight:700;color:var(--sub);margin:7px 0 0}#accessForm{border-radius:26px;padding:24px;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow)}.access-eyebrow{font-size:10px;font-weight:800;letter-spacing:1px;color:var(--accent);margin-bottom:16px}#accessTitle{font-size:28px;font-weight:800;letter-spacing:-.9px;color:var(--ink);margin:0 0 10px}#accessHelp,.access-footnote{font-size:13px;line-height:1.55;color:var(--sub)}#accessForm label{display:block;font-size:13px;font-weight:700;color:var(--ink);margin:20px 0 8px}.access-input{position:relative;display:flex;align-items:center;gap:10px;background:var(--bg);border:1px solid var(--line);border-radius:16px;padding:0 14px}.access-input svg{width:20px;height:20px;fill:none;stroke:var(--sub);stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:none}.access-input input{font:500 16px var(--font-body);font-variant-numeric:tabular-nums;background:transparent;color:var(--ink);border:0;min-width:0;width:100%;min-height:54px;padding:12px 0}.access-input:focus-within{outline:2px solid var(--accent);outline-offset:2px}.access-submit{width:100%;min-height:54px;border:0;border-radius:27px;background:var(--accent);color:var(--accent-ink);font:800 15px var(--font-body);display:flex;align-items:center;justify-content:center;gap:10px;padding:14px;margin-top:20px}.access-submit svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2}.access-benefits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;text-align:center;margin-top:18px;font-size:10.5px;color:var(--sub)}.access-benefits i{display:none}.access-footnote{text-align:center;margin:20px 0 0}#accessError{color:var(--alert-text);font-size:13px;line-height:1.4}#accessError:empty{display:none}.unlocked #accessGate{display:none!important}#accessGate [hidden]{display:none!important}#accessForm button:disabled{opacity:.6}
/* v34 — entrada com a conta Phaos (Google ou e-mail) */
.access-panel{border-radius:26px;padding:24px 22px;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:10px}
.access-panel h1,#accessGate .access-panel h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:28px;line-height:1.15;letter-spacing:-.015em;margin:2px 0 0;color:var(--ink)}
.access-panel .overline{color:var(--accent);text-transform:uppercase;letter-spacing:.14em;font-weight:800;font-size:11px}
.access-sub{margin:0 0 6px;color:var(--sub);font-size:14.5px;line-height:1.45}
.access-google{display:flex;align-items:center;justify-content:center;gap:10px;min-height:52px;border-radius:16px;border:1px solid var(--line);background:var(--bg);color:var(--ink);font-weight:700;font-size:15.5px;cursor:pointer}
.access-google svg{width:20px;height:20px}
.access-google:disabled{opacity:.5}
.access-or{display:flex;align-items:center;gap:10px;color:var(--sub);font-size:12.5px;margin:4px 0}
.access-or::before,.access-or::after{content:"";flex:1;height:1px;background:var(--line)}
#accessForm{display:flex;flex-direction:column;gap:6px;border:0;box-shadow:none;padding:0;background:transparent}
#accessForm label{font-weight:700;font-size:13.5px;color:var(--ink);margin-top:6px}
#accessForm input{min-height:50px;border-radius:14px;border:1px solid var(--line);background:var(--bg);color:var(--ink);padding:0 14px;font-size:16px}
#accessForm input:focus-visible{outline:3px solid var(--accent);outline-offset:1px}
.access-msg{margin:6px 0 0;font-size:13.5px;line-height:1.4;font-weight:600;color:var(--sub)}
.access-msg[data-tone="error"]{color:var(--danger)}
.access-msg[data-tone="ok"]{color:var(--ok)}
.access-links{display:flex;flex-wrap:wrap;gap:6px 16px;justify-content:center;margin-top:6px}
.access-links button{min-height:44px;border:0;background:transparent;color:var(--accent);font-weight:700;font-size:14px;cursor:pointer}
.access-plans{display:grid;gap:10px;margin:4px 0}
.access-plan{display:flex;flex-direction:column;gap:2px;padding:14px 16px;border-radius:16px;border:1px solid var(--line);background:var(--bg);color:var(--ink);text-decoration:none}
.access-plan b{font-size:16px}
.access-plan small{color:var(--sub);font-size:13px}
.access-plan.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.access-plan.primary small{color:inherit;opacity:.85}
.access-plan.muted{opacity:.7}
.access-loading{display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px 0;color:var(--sub)}
.access-spinner{width:32px;height:32px;border-radius:50%;border:3px solid var(--line);border-top-color:var(--accent);animation:accSpin .9s linear infinite}
@keyframes accSpin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.access-spinner{animation:none}}
.account-card .account-email{font-weight:800;font-size:16px;margin:4px 0 0;color:var(--ink)}
.account-card .account-plan{margin:2px 0 0;color:var(--accent);font-weight:700}
.account-card .account-note{color:var(--sub);font-size:13px}
.account-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.settings-secondary{min-height:46px;border-radius:14px;border:1px solid var(--line);background:transparent;color:var(--ink);font-weight:700;padding:0 16px}

#accessGate .access-panel h1{font-family:Georgia,'Times New Roman',serif;font-weight:400}
#accessGate .access-shell{margin-top:max(24px,env(safe-area-inset-top))}
