.login-wrap { min-height: 100vh; display: grid; place-items: center; padding: 32px 16px; }
.login-card { width: min(420px, 100%); background: var(--surface-1); border: 1px solid var(--border); border-radius: 16px; padding: 28px 24px; }
.login-card h1 { font-size: 22px; margin: 0 0 6px; }
.login-card .lead { color: var(--text-secondary); margin: 0 0 24px; }
.overroi-btn {
  display: flex; align-items: center; justify-content: center; gap: 10px;
  width: 100%; border: 1px solid var(--border); background: var(--page);
  color: var(--text-primary); border-radius: 10px; padding: 12px 16px;
  font: inherit; font-weight: 600; cursor: pointer; text-decoration: none;
}
.overroi-btn:hover { background: var(--wash); }
.overroi-btn img { width: 28px; height: 28px; }
.login-local { margin-top: 28px; padding-top: 20px; border-top: 1px solid var(--grid); }
.login-local label { display: grid; gap: 6px; font-size: 13px; color: var(--text-secondary); margin-bottom: 12px; }
.login-local input { border: 1px solid var(--border); background: var(--page); color: var(--text-primary); border-radius: 8px; padding: 8px 10px; }
.login-err { color: var(--critical); font-size: 13px; margin: 12px 0 0; }
