/* Login page — reuses the design tokens defined in style.css (:root). */

body.login-page {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-6) var(--space-4);
}

.login-container { width: 100%; max-width: 380px; }

.login-brand {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-2);
  margin-bottom: var(--space-5);
}
.login-brand-icon { font-size: 40px; line-height: 1; }
.login-brand h1 { margin: 0; font-size: var(--fs-xl); font-weight: 600; color: var(--fg); }

.login-card {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: var(--space-5);
}
.login-card h2 { margin: 0 0 var(--space-1); font-size: var(--fs-lg); color: var(--fg); }
.login-card > p { margin: 0 0 var(--space-4); color: var(--mut); font-size: var(--fs-sm); line-height: 1.5; }

.login-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  width: 100%;
  padding: var(--space-3) var(--space-4);
  border-radius: var(--radius-md);
  border: 1px solid var(--accent);
  background: #16283a;
  color: var(--fg);
  font-size: var(--fs-sm);
  font-weight: 600;
  font-family: inherit;
  cursor: pointer;
}
.login-btn:hover { border-color: var(--accent); background: #1b3247; }
.login-btn:disabled { opacity: 0.5; cursor: default; }

.invite-link {
  display: block;
  width: 100%;
  margin-top: var(--space-4);
  padding: var(--space-2);
  background: none;
  border: none;
  color: var(--mut);
  font-size: var(--fs-sm);
  font-family: inherit;
  text-align: center;
  cursor: pointer;
}
.invite-link:hover { color: var(--fg); border-color: transparent; }

.invite-section { margin-top: var(--space-3); }
.invite-section > p { margin: 0 0 var(--space-3); color: var(--mut); font-size: var(--fs-sm); line-height: 1.5; }

.invite-input {
  width: 100%;
  margin-bottom: var(--space-3);
  padding: var(--space-3);
  background: #12171d;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  color: var(--fg);
  font-size: var(--fs-xl);
  font-weight: 600;
  font-family: inherit;
  text-align: center;
  letter-spacing: 0.3em;
}
.invite-input:focus { outline: none; border-color: var(--accent); }

.login-message {
  margin-top: var(--space-4);
  padding: var(--space-3);
  border-radius: var(--radius-sm);
  font-size: var(--fs-sm);
  line-height: 1.5;
}
.login-error { background: #3a1c1a; border: 1px solid var(--status-attention); color: var(--status-attention); }
.login-info { background: #173a2a; border: 1px solid var(--ok); color: var(--ok); }
