.login-wrap{max-width:440px;margin:40px auto 88px}
.login-card{background:var(--card);border:1px solid var(--line);border-radius:20px;
  box-shadow:0 24px 48px -30px rgba(23,62,41,.28);padding:32px 28px 28px}
.login-card h1{font-size:clamp(26px,4vw,32px);line-height:1.2;margin-top:10px}
.login-card .lede{margin-top:12px;font-size:15.5px;max-width:none}

.btn-google{margin-top:26px;width:100%;display:flex;align-items:center;justify-content:center;gap:10px;
  font-family:var(--sans);font-size:15.5px;font-weight:700;color:var(--ink);
  background:#fff;border:1.5px solid var(--line);border-radius:12px;padding:14px 18px;cursor:pointer;
  transition:border-color .18s,background .18s,transform .12s}
.btn-google:hover{border-color:#4285F4;background:#FAFCFF}
.btn-google:active{transform:translateY(1px)}
.btn-google .g-icon{flex-shrink:0}

.login-msg{display:none;margin-top:14px;font-size:13.5px;font-weight:600;color:var(--brand-deep);
  background:#EAF1EB;border-radius:10px;padding:11px 13px;line-height:1.45}
.login-msg.show{display:block}
.login-msg.err{color:#7A2A26;background:#FDECEC}

.login-foot{margin-top:14px;font-size:13.5px;color:var(--ink-soft)}
.login-foot + .login-foot{margin-top:8px}
.login-foot a{color:var(--brand);font-weight:700;text-decoration:none}
.login-foot a:hover{text-decoration:underline}

.g-overlay{position:fixed;inset:0;background:rgba(22,32,26,.38);display:flex;align-items:center;justify-content:center;
  padding:24px;z-index:50}
.g-overlay[hidden]{display:none}
.g-sheet{width:min(420px,100%);background:#fff;border-radius:18px;border:1px solid var(--line);
  box-shadow:0 28px 64px -28px rgba(22,32,26,.45);padding:22px 22px 20px}
.g-sheet h2{font-size:20px;font-weight:800;letter-spacing:-.02em;margin:8px 0 4px}
.g-sheet .g-sub{font-size:13.5px;color:var(--ink-soft);margin-bottom:16px}
.g-accounts{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}
.g-acc{display:flex;align-items:center;gap:12px;width:100%;text-align:left;border:1.5px solid var(--line);
  background:#FBFCFA;border-radius:12px;padding:12px 14px;cursor:pointer;font-family:var(--sans);color:var(--ink)}
.g-acc:hover{border-color:var(--brand);background:#F1F6F1}
.g-acc .av{width:36px;height:36px;border-radius:50%;background:#EAF1EB;color:var(--brand);
  display:flex;align-items:center;justify-content:center;font-weight:800;flex-shrink:0}
.g-acc b{display:block;font-size:14.5px}
.g-acc span{display:block;font-size:12.5px;color:var(--ink-soft)}
.g-fields{display:flex;flex-direction:column;gap:10px}
.g-fields label{font-size:12.5px;font-weight:700;color:var(--ink-soft)}
.g-fields input{font-family:var(--sans);font-size:15px;color:var(--ink);background:#FBFCFA;
  border:1.5px solid var(--line);border-radius:11px;padding:11px 13px;width:100%}
.g-fields input:focus{outline:none;border-color:var(--brand);background:#fff}
.g-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}
.g-actions button{font-family:var(--sans);font-size:14px;font-weight:700;border-radius:10px;cursor:pointer;padding:10px 14px}
.g-cancel{border:none;background:transparent;color:var(--ink-soft)}
.g-go{border:none;background:var(--brand);color:#fff}
.g-go:hover{background:var(--brand-deep)}
.g-err{display:none;margin-top:10px;font-size:13px;color:var(--up)}
.g-err.show{display:block}

.nav-who{font-size:13px;font-weight:600;color:var(--ink-soft);padding:0 6px;max-width:12em;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
