/* batch3f：登入動線重組（選擇頁／登入頁）。
   只動元素排列與尺寸，顏色、圓角、陰影、字體全部繼承既有 class。
   注意：#passengerLoginLanding 是 column flex＋align-items:center（app.css:1302），
   未設寬度的子項會以 max-content 定寬、長句不換行直接撐出容器右緣——
   因此本頁所有新增子項一律 width:100%，讓文字在容器內自然換行。 */

/* ── 第一頁：選擇頁 ─────────────────────────────── */

/* 標題區高度壓縮：四個選項按鍵必須在手機第一屏內看得到 */
#passengerLoginLanding.passenger-entry-clean {
  min-height: 0;
  padding-top: 16px;
  padding-bottom: 20px;
  justify-content: flex-start;
}
#passengerLoginLanding .entry-title-block {
  width: 100%;
  max-width: 100%;
}
#passengerLoginLanding .passenger-entry-association-logo {
  width: 72px;
  height: 72px;
}
#passengerLoginLanding .entry-title-block h1 {
  margin: 6px 0 2px;
}
#passengerLoginLanding .passenger-entry-communities {
  margin: 0 0 2px;
}
#passengerLoginLanding .passenger-entry-subtitle {
  margin: 0 0 6px;
}

/* 主問句／副問句：滿寬、可換行、寬度隨容器 */
#passengerLoginLanding .entry-choice-question {
  width: 100%;
  max-width: 100%;
  margin: 10px 0 2px;
  text-align: center;
  white-space: normal;
  overflow-wrap: anywhere;
  line-height: 1.3;
}
#passengerLoginLanding .entry-choice-subquestion {
  width: 100%;
  max-width: 100%;
  margin: 0 0 12px;
  text-align: center;
  white-space: normal;
  overflow-wrap: anywhere;
}

/* 四鍵直排、滿寬 */
#passengerLoginLanding .entry-choice-actions,
#passengerLoginLanding .entry-choice-actions-static {
  width: 100%;
  max-width: 100%;
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 0;
}
#passengerLoginLanding .entry-choice-actions {
  margin-bottom: 8px;
}
#passengerLoginLanding .entry-choice-actions button,
#passengerLoginLanding .entry-choice-actions-static button {
  width: 100%;
  max-width: 100%;
  min-height: 52px;
  white-space: normal;
}

/* ── batch3k：卡片樣式統一（待掛接／待歸戶／已歸戶三處） ────────── */
/* 沿用 .ui89-trip-card 的卡片外觀，只補這三處特有的排列。 */
.r38x-self-card-row.ui89-trip-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  width: 100%;
  max-width: 100%;
}
.claimed-cards-section .r38x-self-card-row.ui89-trip-card,
.r38x-pending-link-row.ui89-trip-card {
  grid-template-columns: minmax(0, 1fr);
}
.r38x-self-card-row[data-state="manual_review"] {
  opacity: .78;
}
.r38x-self-card-tag {
  display: inline-block;
  margin-left: 8px;
  padding: 2px 8px;
  border-radius: 999px;
  background: #eceff4;
  color: #445;
  font-size: .82em;
  font-weight: 800;
  vertical-align: middle;
}
.r38x-self-card-note {
  display: block;
  margin-top: 6px;
  padding: 8px 10px;
  border-radius: 10px;
  background: #fff4f4;
  color: #8a1f1f;
  font-weight: 700;
  line-height: 1.5;
}
.r38x-self-card-stats {
  font-weight: 900;
  margin-bottom: 8px;
}
.r38x-self-card-owner-hint {
  margin: 0 0 12px;
  line-height: 1.6;
}
.claimed-cards-section {
  margin-top: 16px;
}
.claimed-cards-list {
  display: grid;
  gap: 10px;
}
.claimed-card-points {
  font-weight: 900;
}

/* ── batch3l：預約頁最上方的「我的預約」置頂區塊 ────────────── */
.my-reservations-pinned {
  margin-bottom: 14px;
  border-top: 4px solid #e0b200;
  background: #fffdf5;
}
.my-reservations-title {
  margin: 0 0 10px;
}
.reservation-countdown {
  margin: 6px 0 2px;
  font-weight: 900;
}
.reservation-countdown.is-warning,
.reservation-cancel-rule.is-warning {
  color: #b00000;
}
.reservation-cancel-rule {
  margin: 0 0 8px;
  font-weight: 700;
  line-height: 1.5;
}
.my-reservations-pinned .reservation-card-actions {
  gap: 8px;
}

/* ── batch3k：預約卡片——已預約淺黃＋鎖頭＋置頂；加班車用文字標籤 ── */
.ui89-trip-card.is-reserved-locked {
  background: #fff8e1;
  border-color: #e0b200;
}
.ui89-trip-card.is-reserved-locked .ui89-trip-time::before {
  content: "🔒 ";
}
.ui89-extra-tag {
  display: inline-block;
  margin-left: 8px;
  padding: 2px 8px;
  border-radius: 999px;
  border: 1px solid #c8b6ff;
  background: #f6f2ff;
  color: #5b3a8b;
  font-size: .82em;
  font-weight: 800;
  vertical-align: middle;
}

/* ── batch3m：乘車碼頁「上車掃描」大按鈕（業主 3）────────────── */
/* 長者易點：方正、滿寬、比一般主鍵再放大 30%（52px → 68px）。 */
#startCamera {
  width: 100%;
  max-width: 100%;
  min-height: 68px;
  font-size: 1.3em;
  font-weight: 900;
  border-radius: 12px;
  letter-spacing: .08em;
}

/* ── batch3m：登入頁帳號欄說明（業主 1b）──────────────────── */
.login-account-hint {
  margin: 4px 0 10px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

/* ── 第二頁：登入頁 ─────────────────────────────── */

/* 橫幅：沿用 .topbar 容器；字級切換列同列靠右、鈕可點區域加大 */
#loginCard .topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  flex-wrap: wrap;
}
#loginCard .passenger-size-toggle-login-row {
  margin: 0;
}
#loginCard .passenger-size-toggle {
  min-height: 44px;
  padding: 10px 16px;
  max-width: 100%;
  white-space: normal;
  line-height: 1.2;
}

/* 「第一次使用？」導回選擇頁：明顯按鈕，不做小灰字 */
#loginCard .login-back-to-choice {
  width: 100%;
}

/* 插圖移到卡片底部並限高：手機上不得把輸入框推出第一屏 */
#loginCard .login-welcome-card.login-full-card-art {
  margin-top: 14px;
}
#loginCard .login-welcome-card.login-full-card-art img {
  max-height: 200px;
  width: 100%;
  object-fit: cover;
  object-position: top;
}
