/* Zencia OPD — doctor login. Loaded after tokens.css / components.css. */
body { background: var(--c-bg); }

.login-shell { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: var(--s-5); }

.login-card {
  width: 100%; max-width: 380px; background: var(--c-surface);
  border-radius: var(--r-lg); box-shadow: var(--shadow-2);
  padding: var(--s-6); display: flex; flex-direction: column; gap: var(--s-5);
}

.login-brand { display: flex; align-items: center; gap: var(--s-3); }
.login-mark {
  width: 44px; height: 44px; border-radius: var(--r-lg);
  background: linear-gradient(155deg, var(--c-brand-dark), var(--c-brand));
  color: #fff; display: flex; align-items: center; justify-content: center;
  font-weight: 700; font-size: var(--t-lg); flex: none;
}
.login-brand strong { display: block; font-size: var(--t-md); letter-spacing: .02em; }
.login-brand span { font-size: var(--t-sm); color: var(--c-ink-2); }

.login-form { display: flex; flex-direction: column; gap: var(--s-4); }
.login-form .field { margin: 0; }
.login-form .field span { display: block; font-size: var(--t-sm); font-weight: 550; color: var(--c-ink-2); margin-bottom: 5px; }
.login-form input.input { padding: 11px 12px; font-size: var(--t-base); }

.login-hint { font-size: var(--t-xs); color: var(--c-ink-3); text-align: center; margin: 0; line-height: 1.5; }
.login-hint a { color: var(--c-brand); font-weight: 600; }

.remember-row {
  display: flex; align-items: center; gap: 8px; cursor: pointer;
  font-size: var(--t-sm); color: var(--c-ink-2); user-select: none;
}
.remember-row input { width: 15px; height: 15px; accent-color: var(--c-brand); cursor: pointer; }

.error { color: var(--c-red); font-size: var(--t-sm); margin: 0; }
