/* VISIONDER_FULL_DEVICE_RECOVERY_HOME_V1 */

.full-device-recovery{
  width:100%;
  margin-top:12px;
}

.full-device-recovery-toggle{
  appearance:none;
  display:block;
  width:100%;
  margin:2px 0 0;
  padding:9px 10px;
  border:0;
  background:transparent;
  color:rgba(244,241,232,.68);
  font:inherit;
  font-size:13px;
  line-height:1.3;
  text-align:center;
  cursor:pointer;
}

.full-device-recovery-toggle:hover,
.full-device-recovery-toggle:focus-visible{
  color:rgba(244,241,232,.94);
}

.full-device-recovery-panel{
  width:100%;
  margin-top:8px;
}

.full-device-recovery-fields{
  display:grid;
  gap:10px;
}

.full-device-recovery-result[hidden],
.full-device-recovery-fields[hidden],
.full-device-recovery-enter[hidden]{
  display:none !important;
}

.full-device-recovery-status{
  margin:10px 0 0;
  color:rgba(244,241,232,.68);
  font-size:12px;
  line-height:1.45;
  text-align:center;
}

.full-device-recovery-status[data-error="1"]{
  color:#ff7777;
}

.full-device-recovery-key{
  overflow-wrap:anywhere;
  user-select:text;
}

.full-device-recovery-enter{
  width:100%;
}

/* VISIONDER_FULL_DEVICE_RECOVERY_VERIFIED_FIELDS_V1 */
.full-device-recovery .recognized-recovery-field[hidden]{
  display:none !important;
}


/* ============================================================
   VISIONDER_FULL_DEVICE_RECOVERY_PREMIUM_V1
   Full-device Recovery owns the New Device card while active.
   ============================================================ */

/*
 * VISIONDER_FULL_DEVICE_RECOVERY_UNKNOWN_PRIVACY_P3_3_V1
 *
 * Unknown / Full Device Recovery remains identity-neutral until Done.
 * No personal avatar and no avatar placeholder is projected during
 * VERIFY, PASSKEY or RESULT.
 *
 * When Done succeeds, the active Recovery class is removed and the
 * ordinary recognized Welcome-back projection may own avatar UX again.
 */
#accessNewDeviceStep.visionder-full-device-recovery-active
> *:not(#fullDeviceRecovery){
  display:none !important;
}

#accessNewDeviceStep.visionder-full-device-recovery-active
#newDeviceAvatar{
  display:none !important;
}

#accessNewDeviceStep.visionder-full-device-recovery-active
#fullDeviceRecovery{
  display:block !important;
  width:100%;
  margin:0;
}

#accessNewDeviceStep.visionder-full-device-recovery-active
.full-device-recovery-toggle{
  display:none !important;
}

#accessNewDeviceStep.visionder-full-device-recovery-active
.full-device-recovery-panel{
  width:100%;
  margin:18px 0 0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

#accessNewDeviceStep.visionder-full-device-recovery-active
#fullDeviceRecoveryTitle{
  margin:0 0 22px;
  text-align:center;
  font-size:clamp(30px,4vw,42px);
  line-height:1.05;
  letter-spacing:-.035em;
  font-weight:760;
}

#accessNewDeviceStep.visionder-full-device-recovery-active
#fullDeviceRecoveryLead{
  display:none !important;
}

#accessNewDeviceStep.visionder-full-device-recovery-active
.full-device-recovery-fields{
  display:grid;
  gap:14px;
}

#accessNewDeviceStep.visionder-full-device-recovery-active
.recognized-recovery-field{
  width:100%;
}

#accessNewDeviceStep.visionder-full-device-recovery-active
.recognized-recovery-primary{
  width:100%;
}

#accessNewDeviceStep.visionder-full-device-recovery-active
.recognized-recovery-cancel{
  display:block;
  width:auto;
  margin:2px auto 0;
  padding:8px 14px;
  border:0;
  background:transparent;
  color:rgba(244,241,232,.62);
  font:inherit;
  font-size:13px;
  cursor:pointer;
}

#accessNewDeviceStep.visionder-full-device-recovery-active
.recognized-recovery-cancel:hover,
#accessNewDeviceStep.visionder-full-device-recovery-active
.recognized-recovery-cancel:focus-visible{
  color:rgba(244,241,232,.95);
}

#accessNewDeviceStep.visionder-full-device-recovery-active
.full-device-recovery-result{
  width:100%;
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
}

#accessNewDeviceStep.visionder-full-device-recovery-active
.full-device-recovery-result-title,
#accessNewDeviceStep.visionder-full-device-recovery-active
.full-device-recovery-result-copy{
  display:none !important;
}

#accessNewDeviceStep.visionder-full-device-recovery-active
.full-device-recovery-key{
  width:100%;
  margin-bottom:14px;
}

#accessNewDeviceStep.visionder-full-device-recovery-active
#fullDeviceRecoveryCopy{
  width:100%;
}

#accessNewDeviceStep.visionder-full-device-recovery-active
#fullDeviceRecoveryDone{
  display:block;
  margin:10px auto 0;
}


/* Final post-recovery authentication state */

#accessNewDeviceStep.visionder-full-device-recovery-enter-ready
> *{
  display:none !important;
}

#accessNewDeviceStep.visionder-full-device-recovery-enter-ready
> #newDeviceAvatar,
#accessNewDeviceStep.visionder-full-device-recovery-enter-ready
> #newDeviceName,
#accessNewDeviceStep.visionder-full-device-recovery-enter-ready
> #passkeyEnterBtn{
  display:block !important;
}

#accessNewDeviceStep.visionder-full-device-recovery-enter-ready
#newDeviceAvatar{
  margin-left:auto;
  margin-right:auto;
}

#accessNewDeviceStep.visionder-full-device-recovery-enter-ready
#newDeviceName{
  text-align:center;
}

#accessNewDeviceStep.visionder-full-device-recovery-enter-ready
#passkeyEnterBtn{
  width:100%;
}


/* ============================================================
   VISIONDER_FULL_DEVICE_RECOVERY_PRIVACY_V2

   Before Recovery authority is proven:
   - do not expose profile/avatar presentation;
   - do not repeat the already-selected account email;
   - keep email internally available to Recovery runtime.
   ============================================================ */

#accessNewDeviceStep.visionder-full-device-recovery-active
#newDeviceAvatar{
  display:none !important;
}

/*
 * Email remains populated internally and available to the
 * Recovery request, but its entire visual field is suppressed.
 */
#accessNewDeviceStep.visionder-full-device-recovery-active
.recognized-recovery-field:has(#fullDeviceRecoveryEmail){
  display:none !important;
}

