.login-recovery { border: 1px solid var(--line); border-left: 4px solid var(--brand); border-radius: var(--radius); padding: 1rem; background: var(--bg); }
.login-recovery[hidden] { display: none; }
.login-recovery h2 { margin: 0 0 .6rem; font-size: 1.15rem; }
.login-recovery p { margin: .5rem 0; font-size: .88rem; }
.login-recovery ol { padding-left: 1.3rem; line-height: 1.8; }

.login-recovery-link { text-align: right; margin-top: -.35rem; }
.login-recovery-link a { color: var(--brand-dark); font-size: .88rem; font-weight: 700; text-underline-offset: .2em; }

/* 補資料沿AppModal，原生dialog提供焦點限制；登入主版型不變。 */
#sso-profile-dialog { position: fixed; inset: 0; width: 100%; height: 100%; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; background: transparent; color: var(--ink); }
#sso-profile-dialog::backdrop { background: transparent; }
.sso-profile-form { display: grid; gap: 1rem; }
.sso-profile-form label { display: grid; gap: .4rem; }
#google-login { background: #fff; color: #1f1f1f; border: 1px solid #747775; }
#google-login span { white-space: nowrap; }
/* 登入結果必須包含清楚層級與下一步，不能只有欄位錯誤色的小字。 */
.login-feedback { border: 1px solid var(--brand); border-left: .3rem solid var(--brand-dark); border-radius: var(--radius-sm); background: var(--bg); padding: 1.1rem; color: var(--ink); scroll-margin-top: 110px; }
.login-feedback[hidden], #login-link-guide[hidden] { display: none; }
.login-feedback:focus { outline: 2px solid var(--brand-dark); outline-offset: 3px; }
.login-feedback h2 { margin: 0 0 .65rem; font-size: 1.15rem; line-height: 1.45; color: var(--brand-dark); }
.login-feedback p { margin: 0; line-height: 1.75; }
.login-feedback ol { padding-left: 1.25rem; margin: .85rem 0 1rem; }
.login-feedback li { margin: .65rem 0; line-height: 1.75; }
.login-feedback-actions { display: flex; flex-wrap: wrap; gap: .65rem; }
.login-feedback-actions .btn { min-height: 44px; white-space: normal; text-align: center; }
.login-feedback .login-feedback-note { margin-top: .85rem; font-size: .85rem; }
@media (max-width: 620px) { .login-feedback-actions { flex-direction: column; } .login-feedback { padding: .9rem; } }
.sso-profile-form label small { font-size: .875rem; line-height: 1.65; font-weight: 400; }
