/* Recovery workspace: explicit light colors keep saved evidence readable. */
.page-recover #recoveryDevices .panel.is-selected { border: 2px solid #22743e; background: #f4faf6; }
.page-recover .recovery-session { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-top: 16px; color: #52645c; font-size: 14px; }
.page-recover .recovery-session[hidden] { display: none; }
.page-recover #clearRecoveryResults { min-height: 44px; padding: 10px 16px; border: 1px solid #c6d6cb; border-radius: 10px; background: #fff; color: #345440; font-weight: 700; }
.page-recover #clearRecoveryResults:hover { background: #edf3ef; }
.page-recover .recovery-share { margin-top: 20px; }
.page-recover .recovery-share[hidden] { display: none; }
.page-recover #shareStatus { margin: 10px 0 0; color: #405e4b; font-size: 14px; }
.page-recover #shareStatus:empty { display: none; }
.page-recover #shareDetailsText { width: 100%; min-height: 220px; margin-top: 12px; padding: 14px; border: 1px solid #bdcec3; border-radius: 10px; background: #f5f8f6; color: #182b24; font: inherit; resize: vertical; }
body.page-recover { background: #f5f8f7; color: #182b24; font-family: "Source Sans 3", "Segoe UI", sans-serif; }
.page-recover *, .recovery-modal * { box-sizing: border-box; }
body.page-recover main { width: min(100% - 40px, 1000px); padding: 28px 0 48px; }
.page-recover .recovery-intro { max-width: 740px; margin: 28px 0 30px; }
.page-recover .recovery-kicker { color: #22743e; font-size: 13px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
body.page-recover h1 { margin: 12px 0 16px; font-size: clamp(32px, 5vw, 48px); line-height: 1.13; letter-spacing: -.035em; }
.page-recover .recovery-intro p { max-width: 620px; font-size: 18px; color: #52645c; }
.page-recover .recovery-steps { display: flex; flex-wrap: wrap; gap: 12px 28px; padding: 0; margin: 24px 0 0; list-style: none; counter-reset: recovery-step; }
.page-recover .recovery-steps li { display: flex; align-items: center; gap: 9px; font-size: 14px; color: #41574b; counter-increment: recovery-step; }
.recovery-steps li::before { content: counter(recovery-step); display: grid; place-items: center; width: 27px; height: 27px; border-radius: 50%; background: #e2efe6; color: #21673b; font-weight: 700; }
.page-recover #recoveryForm { padding: clamp(20px, 4vw, 36px); background: #fff; border: 1px solid #dae5de; border-radius: 20px; box-shadow: 0 12px 38px #183c2710; }
body.page-recover .verification-heading h2 { margin: 0; font-size: 23px; color: #182b24; }
.page-recover .verification-heading p { margin: 5px 0 24px; color: #52645c; }
.page-recover .verification-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.page-recover .form-row { margin: 0 0 22px; gap: 8px; }
body.page-recover label { color: #243d30; font-weight: 700; font-size: 15px; }
.page-recover input { min-height: 50px; padding: 12px 14px; border: 1px solid #bdcec3; border-radius: 10px; background: #fbfdfc; color: #182b24; font: inherit; width: 100%; }
.page-recover input::placeholder { color: #63766a; }
.page-recover small { color: #52645c; font-size: 13px; line-height: 1.5; }
.page-recover button { font: inherit; cursor: pointer; }
.page-recover button.primary { min-height: 48px; padding: 12px 22px; border: 0; border-radius: 10px; background: #22743e; color: #fff; font-weight: 700; }
.page-recover button.primary:hover { background: #195c30; }
.page-recover button:disabled { opacity: .6; cursor: wait; }
.page-recover :is(button, input, a):focus-visible { outline: 3px solid #368f55; outline-offset: 4px; }
.page-recover #recoveryResult:empty { display: none; }
.page-recover #recoveryResult { margin: 24px 0 0; padding: 14px 16px; background: #f0f5f2; border: 1px solid #d8e5dc; border-radius: 10px; color: #304e3d; overflow-wrap: anywhere; }
.page-recover #recoveryDevices > .panel, .page-recover #previousPhoneRecords .panel { margin: 20px 0 12px; padding: 22px; background: #fff; border: 1px solid #d6e3da; border-radius: 14px; }
body.page-recover #recoveryDevices h2 { margin: 0 0 8px; color: #182b24; font-size: 22px; overflow-wrap: anywhere; }
.page-recover #recoveryDevices p { margin: 0 0 16px; color: #52645c; font-size: 15px; }
.page-recover #previousPhoneRecordsToggle { min-height: 44px; padding: 10px 16px; margin: 8px 0; border: 1px solid #c6d6cb; border-radius: 10px; background: #f5f8f6; color: #345440; font-weight: 600; }
.page-recover .current-location { margin-top: 24px; padding: 22px; border: 1px solid #bcdcc7; border-radius: 14px; background: #eef8f1; color: #405e4b; gap: 8px; }
.page-recover .current-location b { color: #20492e; font-size: 19px; }
body.page-recover .current-location a { color: #1d6936; width: fit-content; margin-top: 8px; }
.page-recover .recovery-history { margin-top: 30px; gap: 16px; }
body.page-recover .recovery-history h2 { color: #182b24; font-size: 22px; }
.page-recover .history-list { gap: 12px; }
.page-recover .history-item { padding: 16px; gap: 16px; border: 1px solid #d8e3dc; border-radius: 12px; background: #fff; color: #182b24; }
.page-recover .history-item:hover { background: #f3f8f5; border-color: #8bb79a; }
.page-recover .history-thumb { background: #eaf1ed; border: 1px solid #d3e0d8; color: #46614f; text-align: center; padding: 4px; }
.page-recover .history-copy b { color: #203c2d; font-size: 16px; }
.page-recover .history-copy span { color: #52645c; font-size: 14px; }
.page-recover .recovery-photo b { color: #203c2d; }
.page-recover .links { font-size: 15px; color: #52645c; margin-top: 24px; }
body.page-recover .links a { color: #216b39; }
.page-recover .modal-panel { border-radius: 16px; background: #fff; color: #182b24; border-color: #d5e1d9; }
.page-recover .modal-header { border-color: #d5e1d9; }
.page-recover .modal-close { background: #edf3ef; color: #243d30; }
.page-recover .modal-details { color: #52645c; }
.page-recover .modal-details a { color: #216b39; }
@media (max-width: 600px) {
  body.page-recover main { width: calc(100% - 28px); padding-top: 18px; }
  .page-recover .verification-fields { grid-template-columns: 1fr; gap: 0; }
  .page-recover #recoveryForm { border-radius: 14px; padding: 20px 16px; }
  .page-recover button.primary { width: 100%; }
  .page-recover .history-item { padding: 12px; gap: 12px; }
  .page-recover .recovery-steps { gap: 10px 18px; }
}
