.health-pep {
  position: fixed; inset: 0; z-index: 120000; display: grid; align-items: end;
  background: rgba(3, 31, 34, .48); backdrop-filter: blur(12px);
}
.health-pep[hidden] { display: none; }
.health-pep__panel {
  width: min(100%, 680px); max-height: min(94dvh, 920px); margin: 0 auto; overflow: auto;
  border-radius: 28px 28px 0 0; color: #123438;
  background: radial-gradient(circle at 88% 3%, rgba(77, 211, 195, .24), transparent 29%), #f7fbf9;
  box-shadow: 0 -24px 70px rgba(3, 34, 37, .22); padding: 22px clamp(20px, 5vw, 42px) 36px;
}
.health-pep__head { display: flex; gap: 18px; align-items: flex-start; justify-content: space-between; }
.health-pep__eyebrow { color: #078d87; font-size: 0.75rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.health-pep h2 { margin: 7px 0 0; font-size: clamp(1.6875rem, calc(7vw * var(--app-font-scale)), 2.625rem); line-height: 1.05; }
.health-pep__close { flex: 0 0 46px; height: 46px; border: 1px solid #cde2df; border-radius: 50%; background: #fff; font-size: 26px; line-height: 1; }
.health-pep__steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; margin: 24px 0; }
.health-pep__steps span { padding: 10px 8px; border-radius: 14px; background: #e7f1ef; color: #65807f; font-size: 0.75rem; text-align: center; }
.health-pep__steps span.active { color: #fff; background: linear-gradient(135deg, #087d78, #13aaa0); }
.health-pep__copy { color: #607677; line-height: 1.5; }
.health-pep__form { display: grid; gap: 14px; }
.health-pep__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.health-pep label { display: grid; gap: 7px; color: #3e5d5e; font-size: 0.8125rem; font-weight: 700; }
.health-pep label.wide { grid-column: 1 / -1; }
.health-pep input, .health-pep select {
  width: 100%; min-height: 50px; box-sizing: border-box; border: 1px solid #cbdedb; border-radius: 14px;
  padding: 0 14px; color: #123438; background: rgba(255,255,255,.9); font: inherit; font-size: 1rem;
}
.health-pep__document { padding: 18px; border: 1px solid #c9e3dd; border-radius: 18px; background: #fff; }
.health-pep__document strong { display: block; font-size: 1.125rem; }
.health-pep__document a { display: inline-block; margin-top: 10px; color: #087d78; font-weight: 700; }
.health-pep__action { width: 100%; min-height: 54px; border: 0; border-radius: 16px; padding: 12px 18px; color: #fff; background: #073f42; font: inherit; font-weight: 800; }
.health-pep__action.secondary { color: #073f42; border: 1px solid #acd9d2; background: #dcf5f0; }
.health-pep__action:disabled { opacity: .5; }
.health-pep__code { text-align: center; font-size: 1.6875rem !important; font-weight: 800; letter-spacing: .28em; }
.health-pep__status { min-height: 24px; margin-top: 13px; color: #607677; font-size: 0.875rem; line-height: 1.45; }
.health-pep__status.error { color: #a23f3f; }
.health-pep__done { padding: 28px 10px; text-align: center; }
.health-pep__done b { display: grid; place-items: center; width: 70px; height: 70px; margin: 0 auto 18px; border-radius: 50%; color: #fff; background: #078d87; font-size: 34px; line-height: 1; }
@media (max-width: 540px) { .health-pep__grid { grid-template-columns: 1fr; } .health-pep label.wide { grid-column: auto; } }
[data-theme="dark"] .health-pep__panel { color: #e9fbf8; background: radial-gradient(circle at 88% 3%, rgba(43,205,188,.2), transparent 30%), #08292b; }
[data-theme="dark"] .health-pep input, [data-theme="dark"] .health-pep select, [data-theme="dark"] .health-pep__document, [data-theme="dark"] .health-pep__close { color: #e9fbf8; border-color: #315255; background: #123638; }
[data-theme="dark"] .health-pep__copy, [data-theme="dark"] .health-pep__status { color: #a9c5c3; }
