.enrollment-policy {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 8px 22px;
  margin: -10px 0 34px;
  padding: 18px 20px;
  border-left: 3px solid var(--lime);
  background: #171714;
  color: #fff;
}

.enrollment-policy strong {
  color: var(--lime);
  font: 600 11px/1.5 "JetBrains Mono", monospace;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.enrollment-policy p {
  color: #c7c5bc;
  font-size: 13px;
  line-height: 1.55;
}

.enrollment-notice {
  width: min(600px, calc(100% - 30px));
  max-height: calc(100dvh - 30px);
  max-width: none;
  padding: clamp(30px, 5vw, 50px);
  border: 1px solid rgba(215, 255, 1, .48);
  border-radius: 0;
  background:
    linear-gradient(145deg, rgba(215, 255, 1, .07), transparent 38%),
    #0b0b0a;
  box-shadow: 0 26px 80px rgba(0, 0, 0, .68), inset 0 0 0 4px #0b0b0a, inset 0 0 0 5px rgba(255, 255, 255, .08);
  color: #fff;
  overflow-x: hidden;
  overflow-y: auto;
}

.enrollment-notice::backdrop {
  background: rgba(0, 0, 0, .84);
  backdrop-filter: blur(6px);
}

.enrollment-notice-close {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 40px;
  height: 40px;
  border: 1px solid rgba(255, 255, 255, .25);
  background: transparent;
  color: var(--lime);
  font: 26px/1 Arial, sans-serif;
  cursor: pointer;
}

.enrollment-notice .eyebrow { margin-bottom: 14px; }

.enrollment-notice h2 {
  max-width: 470px;
  margin-bottom: 22px;
  font-size: clamp(36px, 7vw, 54px);
}

#enrollmentNoticeText {
  display: grid;
  gap: 12px;
  color: #c7c5bc;
  font-size: 14px;
  line-height: 1.65;
}

#enrollmentNoticeText strong { color: #fff; }

.payment-details {
  display: grid;
  gap: 12px;
  margin-top: 24px;
}

.payment-owner,
.payment-account {
  border: 1px solid var(--line);
  background: #131310;
}

.payment-owner { padding: 14px 16px; }

.payment-owner h3,
.payment-account-heading span {
  margin-bottom: 7px;
  color: var(--green);
  font: 600 10px/1.4 "JetBrains Mono", monospace;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.payment-owner p {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  font-size: 13px;
}

.payment-owner p span { color: var(--muted); }

.payment-account-heading {
  display: flex;
  flex-direction: column;
  padding: 14px 16px;
  border-bottom: 1px solid var(--line);
}

.payment-account-heading strong { font-size: 14px; }

.payment-account dl { margin: 0; }

.payment-account dl > div {
  display: grid;
  grid-template-columns: 125px minmax(0, 1fr);
  gap: 12px;
  padding: 11px 16px;
  border-bottom: 1px solid var(--line);
}

.payment-account dl > div:last-child { border-bottom: 0; }

.payment-account dt {
  align-self: center;
  color: var(--muted);
}

.payment-account dd {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  font: 600 12px/1.45 "JetBrains Mono", monospace;
  overflow-wrap: anywhere;
}

.payment-account dd button {
  flex: 0 0 auto;
  padding: 5px 7px;
  border: 1px solid rgba(0, 236, 86, .45);
  background: transparent;
  color: var(--green);
  font: 600 9px "JetBrains Mono", monospace;
  text-transform: uppercase;
  cursor: pointer;
}

.payment-account dd button.copied {
  border-color: var(--lime);
  color: var(--lime);
}

.payment-reminder {
  padding: 13px 15px;
  border-left: 3px solid var(--lime);
  background: rgba(215, 255, 1, .06);
  color: #c7c5bc;
  font-size: 12px;
  line-height: 1.55;
}

.payment-reminder strong { color: var(--lime); }

.enrollment-notice-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 28px;
}

.enrollment-notice-actions .btn { flex: 1 1 210px; }

.enrollment-notice-decline {
  border-color: rgba(255, 255, 255, .42);
  background: transparent;
  color: #fff;
  cursor: pointer;
}

.enrollment-notice-decline:hover {
  border-color: #fff;
  background: #fff;
  color: #000;
}

@media (max-width: 620px) {
  .enrollment-policy { grid-template-columns: 1fr; }
  .enrollment-notice { padding: 58px 22px 24px; }
  .payment-owner p { flex-direction: column; gap: 4px; }
  .payment-account dl > div { grid-template-columns: 1fr; gap: 5px; }
}
