/* ── パスワード再設定画面（/PasswordReset）固有のスタイル。
      骨格・フォーム・ボタン（.btn-auth）・フッター・トークン・描画前フォントゲートは
      login-common.css に集約している（ログイン画面と共有）。 ── */

/* ⚠️ 共通（login-common.css）はログイン画面の値が基準なので、このページの分だけ上書きする。
   カードは本文が長いので少し広く、見出しは「LOGIN」ではなく文章なので小さくする。 */
.login-card { max-width: 460px; }
.login-title { font-size: 22px; margin-bottom: 10px; }
.login-title i { font-size: 22px; }

.login-subtitle {
  text-align: center;
  font-size: 13px; font-weight: 600;
  color: var(--text-secondary);
  line-height: 1.7;
  letter-spacing: 0.02em;
  margin-bottom: 28px;
}

/* パスワード要件チェックリスト */
.pw-rules {
  margin: -4px 0 20px;
  padding: 14px 16px;
  background: var(--surface-panel);
  border: 1px solid #EEF2F7;
  border-radius: var(--radius-sm);
  list-style: none;
}
.pw-rules li {
  display: flex; align-items: center; gap: 8px;
  font-size: 12.5px; font-weight: 600;
  color: var(--text-secondary);
  letter-spacing: 0.01em;
}
.pw-rules li + li { margin-top: 7px; }
.pw-rules li i { font-size: 14px; width: 16px; text-align: center; color: var(--text-muted); }
.pw-rules li.ok { color: var(--success-text); }
.pw-rules li.ok i { color: var(--success-text); }

/* 完了・期限切れメッセージ */
.done-block { text-align: center; }
.done-icon {
  width: 64px; height: 64px; margin: 4px auto 20px;
  display: flex; align-items: center; justify-content: center;
  border-radius: 50%;
  background: #ECFDF5; color: var(--success-text);
  font-size: 30px;
}
.done-icon.expired { background: var(--danger-surface); color: var(--danger-text); }
.done-title {
  font-size: 19px; font-weight: 700; color: var(--text-primary);
  margin-bottom: 12px;
}
.done-text {
  font-size: 13.5px; font-weight: 500; color: var(--text-secondary);
  line-height: 1.8; letter-spacing: 0.01em;
  margin-bottom: 8px;
}
.done-text .em { color: var(--text-primary); font-weight: 700; }
.done-note {
  margin-top: 18px; padding: 12px 14px;
  background: var(--surface-panel); border: 1px solid #EEF2F7; border-radius: var(--radius-sm);
  font-size: 12px; font-weight: 600; color: var(--text-muted);
  line-height: 1.7; text-align: left;
}
