/* Account access follows MacroMuse's emerald, mint, and charcoal palette. */
.auth-page { --auth-ink:#0f172a; --auth-muted:#64748b; --auth-card:#fff; --auth-soft:#f8fafc; --auth-line:#e2e8f0; }
.auth-page .blob { display:none; }
#login-page { width:100%; max-width:1120px; margin-inline:auto; padding:48px 24px; }
.auth-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); width:100%; border:1px solid var(--auth-line); border-radius:28px; overflow:hidden; background:var(--auth-card); }
.auth-intro { display:flex; flex-direction:column; padding:44px 36px; background:#ecfdf5; border-right:1px solid #a7f3d0; }
.auth-brand-mark { width:64px; height:64px; display:flex; align-items:center; justify-content:center; background:#d1fae5; color:#047857; border-radius:20px; margin-bottom:36px; }
.auth-eyebrow { color:#047857; font-size:10px; font-weight:700; letter-spacing:.1em; margin-bottom:12px; }
.auth-intro h2 { font-family:'Space Grotesk',sans-serif; color:var(--auth-ink); font-size:38px; line-height:1.12; letter-spacing:-.045em; font-weight:800; }
.auth-intro > p:not(.auth-eyebrow) { color:var(--auth-muted); font-size:14px; line-height:1.8; margin-top:20px; max-width:330px; }
.auth-features { display:flex; flex-direction:column; gap:24px; margin-block:36px; }
.auth-features li { display:flex; align-items:flex-start; gap:14px; }
.auth-features li > span { flex-shrink:0; width:32px; height:32px; display:flex; align-items:center; justify-content:center; background:#d1fae5; color:#047857; border-radius:10px; font-size:10px; font-weight:700; }
.auth-features h3 { color:var(--auth-ink); font-size:14px; font-weight:600; }
.auth-features p { color:var(--auth-muted); font-size:12px; line-height:1.8; margin-top:4px; }
.auth-home-link { margin-top:auto; display:inline-flex; align-items:center; gap:10px; color:#047857; font-size:12px; font-weight:600; }
.auth-home-link:hover { text-decoration:underline; }
.auth-form-column { padding:40px; min-width:0; align-self:start; }
#login-page .auth-card { background:var(--auth-card); padding:0; border-radius:0; box-shadow:none!important; }
.auth-card-heading { text-align:left; margin-bottom:26px; }
.auth-card-heading > div:first-child { display:none; }
#login-page h1 { font-size:28px; letter-spacing:-.04em; line-height:1.2; }
#auth-subtitle { color:var(--auth-muted); font-size:13px; line-height:1.7; margin-top:8px; }
#login-page .auth-tabs { border:1px solid var(--auth-line); background:var(--auth-soft); padding:4px; border-radius:12px; gap:4px; }
#login-page .tab-btn { flex:1; padding:10px 8px; border-radius:9px; color:var(--auth-muted); font-size:13px; font-weight:600; }
#login-page .tab-btn.active { background:var(--auth-card); color:#047857; box-shadow:0 1px 3px #0f172a12; }
#login-page .tab-btn::after { display:none; }
#login-page .text-muted { color:var(--auth-muted); }
#login-page .text-brand { color:#047857; }
#login-page .field { min-height:46px; background:var(--auth-soft); border:1px solid var(--auth-line); font-size:14px; border-radius:12px; }
#login-page .field.error { border-color:#ef4444; }
#login-page .btn-primary { min-height:46px; background:#047857; box-shadow:none; font-weight:600; }
#login-page .btn-primary:hover { background:#065f46; }
#login-page .google-btn { min-height:46px; border:1px solid var(--auth-line); background:var(--auth-card); border-radius:12px; }
#login-page .google-btn:hover { background:var(--auth-soft); box-shadow:none; }
#login-page .toggle-pw { display:flex; align-items:center; justify-content:center; width:36px; height:36px; right:4px; padding:8px; background:transparent; border:0; border-radius:8px; color:var(--auth-muted); }
#login-page .banner { line-height:1.7; overflow-wrap:anywhere; }
#login-page a:focus-visible,#login-page button:focus-visible { outline:3px solid #059669; outline-offset:3px; }
html.dark .auth-page,body.dark.auth-page { --auth-ink:#e2e8f0; --auth-muted:#94a3b8; --auth-card:#1e293b; --auth-soft:#0f172a; --auth-line:#334155; }
html.dark .auth-intro,body.dark .auth-intro { background:#12382e; border-color:#245b49; }
html.dark .auth-brand-mark,body.dark .auth-brand-mark,html.dark .auth-features li > span,body.dark .auth-features li > span { background:#064e3b; color:#6ee7b7; }
html.dark .auth-eyebrow,body.dark .auth-eyebrow,html.dark .auth-home-link,body.dark .auth-home-link,html.dark #login-page .text-brand,body.dark #login-page .text-brand,html.dark #login-page .tab-btn.active,body.dark #login-page .tab-btn.active { color:#6ee7b7; }
@media(max-width:1000px) { .auth-intro { padding:36px 28px; } .auth-form-column { padding:36px 28px; } .auth-intro h2 { font-size:32px; } }
@media(max-width:767px) {
  #login-page { padding:28px 16px; align-items:flex-start; }
  .auth-layout { grid-template-columns:minmax(0,1fr); border-radius:24px; }
  .auth-intro { display:none; }
  .auth-form-column { padding:28px 22px; }
  #login-page h1 { font-size:26px; }
  #login-page .auth-tabs { margin-bottom:24px; }
}
@media(prefers-reduced-motion:reduce) { #login-page *,#login-page .card-animate { animation:none!important; transition:none!important; } }
