body { font-family: -apple-system, sans-serif; display: flex; justify-content: center; align-items: center; min-height: 80vh; margin: 0; background: #fff; color: #222; }
.sso-box { text-align: center; }
/* 服務標題由伺服器端回傳，可能是不含空白的長字串；允許任意處斷行，窄螢幕才不會撐出橫向捲動 */
.sso-box h2 { overflow-wrap: anywhere; }
#qrcode { margin: 20px auto; min-height: 180px; display: flex; justify-content: center; }
#qrcode img { border-radius: 8px; }
/* 失敗態沒有 QR 可放，收掉保留高度才不會留下一塊空白 */
#qrcode.is-empty { min-height: 0; margin: 0; }
.sso-status { color: #5f5f5f; font-size: 14px; margin-top: 12px; }
.sso-status a { color: #0062CC; }
.sso-status.is-error { color: #B3261E; }
/* 重試是失敗態唯一的動作，維持 44px 可點高度 */
.sso-retry { display: inline-block; min-height: 44px; line-height: 44px; padding: 0 14px; }
.sso-deeplink { margin-top: 4px; font-size: 15px; }
.sso-deeplink a { color: #0062CC; }
@media (prefers-color-scheme: dark) {
  body { background: #1a1a1a; color: #e0e0e0; }
  .sso-status { color: #999; }
  .sso-status a { color: #5AC8FA; }
  .sso-status.is-error { color: #FF8A80; }
  .sso-deeplink a { color: #5AC8FA; }
  a { color: #5AC8FA; }
}
