.recovery-view {
  color: var(--ink, #18232b);
  display: grid;
  gap: 20px;
  margin: 0 auto;
  max-width: 1440px;
  padding: 6px 0 40px;
}

.recovery-view *,
.recovery-view *::before,
.recovery-view *::after { box-sizing: border-box; }

.recovery-header {
  align-items: end;
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  justify-content: space-between;
}

.recovery-eyebrow {
  color: var(--accent, #176f79);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .12em;
  margin: 0 0 7px;
  text-transform: uppercase;
}

.recovery-header h1 {
  font-size: clamp(1.65rem, 3vw, 2.4rem);
  letter-spacing: -.04em;
  line-height: 1.1;
  margin: 0;
}

.recovery-intro,
.recovery-note,
.recovery-empty {
  color: var(--muted, #687682);
  font-size: .83rem;
  line-height: 1.5;
  margin: 10px 0 0;
}

.recovery-grid {
  align-items: start;
  display: grid;
  gap: 20px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.recovery-panel,
.recovery-status {
  background: var(--surface, #fff);
  border: 1px solid var(--line, #dce3e7);
  border-radius: var(--radius, 16px);
  min-width: 0;
  padding: clamp(18px, 2vw, 26px);
}

.recovery-panel h2 { font-size: 1.06rem; line-height: 1.25; margin: 0 0 18px; }
.recovery-panel h3 { font-size: .85rem; line-height: 1.35; margin: 22px 0 12px; }
.recovery-status { font-size: .85rem; line-height: 1.5; margin: 0; }
.recovery-status strong { display: block; font-size: .98rem; }
.recovery-status p { color: var(--muted, #687682); margin: 5px 0 0; }

.recovery-status--warning,
.recovery-panel--warning {
  background: color-mix(in srgb, var(--warning, #a76712) 6%, var(--surface, #fff));
  border-color: color-mix(in srgb, var(--warning, #a76712) 40%, var(--line, #dce3e7));
}

.recovery-facts {
  display: grid;
  gap: 15px 18px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
}

.recovery-fact { min-width: 0; }
.recovery-fact dt { color: var(--muted, #687682); font-size: .73rem; line-height: 1.35; margin: 0 0 5px; }
.recovery-fact dd { font-size: .81rem; font-weight: 650; line-height: 1.45; margin: 0; overflow-wrap: anywhere; }
.recovery-codes { display: flex; flex-wrap: wrap; gap: 7px; list-style: none; margin: 0; padding: 0; }
.recovery-codes li { background: var(--surface-2, #f5f7f8); border: 1px solid var(--line, #dce3e7); border-radius: 6px; font-size: .75rem; overflow-wrap: anywhere; padding: 5px 8px; }
.recovery-issues { font-size: .83rem; line-height: 1.5; margin: 0; padding-left: 20px; }
.recovery-issues li + li { margin-top: 6px; }

.recovery-button {
  appearance: none;
  background: var(--accent-soft, #e6f5f3);
  border: 1px solid var(--line, #dce3e7);
  border-radius: 9px;
  color: var(--accent, #176f79);
  cursor: pointer;
  font: inherit;
  font-size: .81rem;
  font-weight: 750;
  min-height: 40px;
  padding: 9px 14px;
}

.recovery-button:focus-visible { outline: 3px solid var(--accent, #176f79); outline-offset: 2px; }
.recovery-button:disabled { cursor: not-allowed; opacity: .6; }
.recovery-panel .recovery-button { margin-top: 20px; }

@media (max-width: 800px) {
  .recovery-grid { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 500px) {
  .recovery-view { gap: 16px; }
  .recovery-facts { grid-template-columns: minmax(0, 1fr); }
  .recovery-panel,
  .recovery-status { padding: 18px; }
}
