/* @spec REG-UI-006, REG-UI-007, REG-UI-009, REG-UI-010, REG-UI-011, REG-UI-017, REG-UI-019, REG-UI-030, REG-UI-033, REG-UI-036, REG-UI-037, REG-UI-038, REG-UI-045 */
:root { --registration-action-space:0px; --registration-viewport-height:100dvh; }
html { scroll-behavior:auto!important; scroll-padding-block:1.5rem calc(var(--registration-action-space) + 1.5rem); }
body { zoom:1!important; }
.registration-shell { padding:1.5rem 24px calc(2rem + var(--registration-action-space))!important; overflow:clip; }
.registration-container { width:100%!important; max-width:960px!important; padding:0!important; }
.registration-content-body { padding:1.5rem!important; }
.registration-topbar { max-width:1008px; margin-inline:auto; }
.registration-brand-logos { display:inline-flex; flex:0 0 auto; align-items:center; gap:.22rem; }
.registration-brand-logos img { display:block; width:2.35rem; height:2.35rem; border-radius:50%; object-fit:contain; }
.registration-brand-name { display:inline-flex; min-width:0; align-items:center; gap:.28rem; white-space:nowrap; }
.registration-brand-name>span:nth-child(2) { color:#e8c965; }
#membershipChoiceTitle { scroll-margin-top:1.5rem; }
#regForm input,#regForm select,#regForm textarea { scroll-margin-block:4rem calc(var(--registration-action-space) + 2rem); }
.registration-action-bar { position:fixed; inset:auto 0 0; z-index:35; display:flex; justify-content:center; padding:12px max(16px,env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left)); border-top:1px solid #dbe6df; background:rgba(255,255,255,.96); box-shadow:0 -8px 28px rgba(5,53,31,.07); backdrop-filter:blur(18px); }
.registration-action-bar[hidden] { display:none!important; }
.registration-action-bar>button { width:100%; max-width:680px; min-height:48px; margin:0!important; border-radius:14px; }
#directSubmitBtn { background:#fff; color:#075c35; border:1px solid #b8d0c1; box-shadow:none; }
#directSubmitBtn:hover { background:#eef7f1; }
#consent { flex-shrink:0; width:20px; min-width:20px; height:20px; }
label[for="consent"] { min-height:44px; cursor:pointer; }
#continueRegistrationBtn:disabled, #regForm button:disabled { opacity:.6; cursor:not-allowed; transform:none; }
.registration-error-summary { border:1px solid #e6b6ad!important; border-left:4px solid #ad321e!important; border-radius:14px!important; background:#fff6f3!important; color:#842716; padding:1rem!important; margin-bottom:1.5rem; font-size:.875rem; line-height:1.55; }
.registration-error-summary[hidden] { display:none!important; }
.registration-error-summary ul { margin:.5rem 0 0; padding-left:1.25rem; list-style:disc; }
.registration-error-summary a, #registrationReviewError a { color:inherit; text-decoration:underline; text-underline-offset:3px; font-weight:700; }
.registration-field-error { color:#a52c1c; font-size:.8rem; line-height:1.5; margin-top:.4rem; overflow-wrap:anywhere; }
#regForm [aria-invalid="true"] { border-color:#b43522!important; box-shadow:0 0 0 1px rgba(180,53,34,.08); }
#formMessage:not(:empty), #registrationReviewError { padding:1rem; border:1px solid #e4c28b; border-radius:14px; background:#fffaef; color:#735013; font-size:.875rem; line-height:1.5; overflow-wrap:anywhere; }
#registrationReviewError[hidden] { display:none; }
.registration-dialog { position:fixed!important; inset:0!important; margin:auto!important; padding:0!important; border:1px solid rgba(214,169,43,.25)!important; border-radius:24px; width:min(760px,calc(100vw - 24px)); max-width:calc(100vw - 24px); max-height:calc(var(--registration-viewport-height) - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom)); color:#183b2a; background:#fff; overflow:hidden!important; box-shadow:0 32px 100px rgba(0,20,10,.3); }
.registration-dialog:not([open]), .registration-dialog.hidden { display:none!important; }
.registration-dialog[open] { display:flex; flex-direction:column; }
.registration-modal-scroll { overflow:hidden; }
.registration-dialog-section { display:flex; flex-direction:column; width:100%; min-height:0; max-height:inherit; }
.registration-dialog-section[hidden],.registration-dialog-section.hidden { display:none!important; }
.registration-dialog-section>div { display:flex; flex-direction:column; width:100%; min-height:0; max-height:inherit!important; margin:0!important; border:0; border-radius:inherit; overflow:hidden; }
.registration-dialog-section>div>div:first-child { flex-shrink:0; }
.registration-dialog-section>div>div:first-child { background:#05351f!important; }
.apsg-registration { background:#f7f8f4!important; color:#14251c; font:400 16px/1.6 Inter,system-ui,sans-serif; }
.apsg-registration :is(input,select,textarea) { font-size:16px!important; }
.apsg-registration :is(button,a) { touch-action:manipulation; }
.apsg-registration .registration-content-body button,.registration-dialog button { min-height:48px; border-radius:12px; }
.apsg-registration .membership-option { border-radius:16px!important; box-shadow:none!important; }
.apsg-registration .premium-panel { box-shadow:0 12px 40px #05351f0a!important; }
.apsg-registration .registration-shortcuts { gap:16px; }
.apsg-registration .registration-shortcuts>span { display:none; }
.apsg-registration .registration-shortcuts a { min-height:48px; display:inline-flex; align-items:center; }
.apsg-registration .registration-home-button { min-height:48px; justify-content:center; padding-inline:18px; border:1px solid rgba(231,199,104,.72); border-radius:999px; background:rgba(255,255,255,.08); color:#fff; font-weight:800; text-decoration:none; transition:background-color .18s ease,border-color .18s ease,transform .18s ease; }
.apsg-registration .registration-home-button:hover { border-color:#f0d680; background:rgba(255,255,255,.16); color:#fff; transform:translateY(-1px); }
.apsg-registration .registration-home-button:focus-visible { outline:3px solid #f0d680; outline-offset:3px; }
.registration-dialog::backdrop { background:rgba(2,24,13,.76); backdrop-filter:blur(7px); }
.registration-dialog[role="dialog"] { z-index:100; }
.registration-fallback-backdrop { position:fixed; inset:0; z-index:90; background:rgba(2,24,13,.76); backdrop-filter:blur(7px); }
.registration-fallback-backdrop[hidden] { display:none; }
.registration-dialog>div { display:flex; flex-direction:column; width:100%; min-height:0; max-height:inherit!important; margin:0!important; border:0; border-radius:inherit; overflow:hidden; }
.registration-dialog>div>div:first-child { flex-shrink:0; }
.registration-dialog .registration-dialog-body, #successContent, .registration-dialog .duplicate-flow-body { flex:1 1 auto; min-height:0; max-height:none!important; overflow-y:auto; overscroll-behavior:contain; }
.registration-dialog .registration-dialog-actions { flex-shrink:0; display:flex; gap:.75rem; padding:1rem; border-top:1px solid #e4eae6; background:#f7faf8; }
.registration-dialog-actions>button { flex:1; min-height:44px; }
.registration-dialog [data-dialog-heading]:focus { outline:none!important; box-shadow:none!important; }
#registrationReviewError { margin-bottom:1rem; }
.registration-dialog button { min-height:44px; }
@media(max-width:767px) {
  .apsg-registration .registration-shortcuts { gap:8px; }
  .apsg-registration .registration-home-button { padding-inline:12px; }
  .registration-brand-logos img { width:2rem; height:2rem; }
  .registration-brand-name { gap:.2rem; font-size:.78rem; }
  .registration-shell { padding:1rem 16px calc(1.5rem + var(--registration-action-space))!important; }
  .registration-content-body { padding:1rem!important; }
  .registration-topbar { padding-inline:16px; }
  #regForm .grid { grid-template-columns:minmax(0,1fr)!important; }
  .registration-dialog { border-radius:20px; }
  .registration-dialog .registration-dialog-actions { padding:.75rem; gap:.5rem; }
  .registration-dialog-actions>button { font-size:.85rem; padding:.75rem .5rem; }
}
@media(max-width:380px) {
  .registration-topbar { flex-wrap:wrap; justify-content:center; gap:.35rem .6rem; padding-block:.55rem; }
  .registration-brand { flex:0 0 100%; justify-content:center; }
  .registration-shortcuts { flex:0 0 100%; justify-content:center; }
  .registration-shortcuts>span { display:none; }
}
@media(max-height:600px) {
  .registration-dialog-section>div>div:first-child { padding:.75rem 1rem!important; }
  .registration-dialog .success-logo-shell { width:48px; height:48px; }
  .registration-dialog .success-logo-shell img { width:44px; height:44px; }
  .registration-dialog-section>div>div:first-child h3 { font-size:1.25rem!important; }
  .registration-dialog-section>div>div:first-child p { margin-top:.2rem; font-size:.7rem; }
  .registration-dialog .registration-dialog-actions { padding:.5rem .75rem; }
}
@media(prefers-reduced-motion:reduce) {
  .apsg-registration *,.apsg-registration *::before,.apsg-registration *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
  html { scroll-behavior:auto!important; }
  .registration-dialog,.registration-dialog *, .registration-action-bar, .registration-action-bar * { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}
@media print {
  #registrationDialog:has(#successModal:not([hidden])) { position:static!important; max-height:none!important; width:100%; box-shadow:none; }
  #successModal:not([hidden]),#successModal>div { max-height:none!important; display:block; overflow:visible; }
  .registration-action-bar,.registration-dialog-actions { display:none!important; }
  #successModal[open] { position:static!important; max-height:none!important; width:100%; box-shadow:none; }
  #successContent { max-height:none!important; overflow:visible; }
}

/* @spec REG-UI-036, REG-UI-037, REG-UI-038, REG-UI-039 */
.registration-welcome-header { display:grid!important; grid-template-columns:clamp(2.35rem,7vw,4.25rem) minmax(0,1fr) clamp(2.35rem,7vw,4.25rem); align-items:center; gap:clamp(.4rem,2vw,1rem); padding-inline:clamp(1rem,5vw,3rem)!important; }
.registration-welcome-content { grid-column:2; min-width:0; }
.registration-welcome-logo { display:block; width:clamp(2.3rem,7vw,4rem); height:auto; aspect-ratio:1; justify-self:center; align-self:center; border:1px solid rgba(232,201,101,.82); border-radius:1rem; background:#fff; padding:.3rem; object-fit:contain; box-shadow:0 8px 22px rgba(0,18,10,.2),0 0 0 4px rgba(255,255,255,.08); }
.registration-eyebrow { letter-spacing:.2em!important; }
.registration-welcome-header h1 { max-width:14ch; margin-inline:auto; text-wrap:balance; overflow-wrap:anywhere; }
.registration-welcome-copy { max-width:38rem; line-height:1.65; text-wrap:pretty; }
.membership-chooser { width:100%; max-width:760px; margin-inline:auto; border:0!important; background:transparent!important; }
.membership-choice-intro { margin:0 auto 1.15rem; max-width:48rem; text-align:center; }
.membership-choice-intro h2 { color:#123c29; font-size:clamp(1.1rem,2vw,1.35rem); font-weight:850; letter-spacing:-.02em; line-height:1.3; }
.membership-choice-intro p { margin:.3rem 0 0; color:#5b6c61; font-size:.88rem; line-height:1.55; }
.membership-choice-grid { grid-template-columns:minmax(0,1fr)!important; gap:1rem!important; }
.membership-choice-grid .organization-card { min-width:0; margin:0; border-radius:1.25rem; padding:1rem!important; }
.membership-choice-grid .organization-card legend { max-width:100%; }
.membership-choice-grid .membership-choice-options { grid-template-columns:minmax(0,1fr); gap:.65rem; }
.membership-choice-grid .membership-option { min-width:0; }
.membership-choice-grid .membership-option span { min-height:5.75rem; gap:.45rem; border-radius:1rem; padding:.85rem; }
.membership-choice-grid .membership-option strong { font-size:.92rem; line-height:1.25; }
.membership-choice-grid .membership-option small { max-width:32ch; font-size:.78rem; line-height:1.45; }
.membership-returning-note { display:flex; align-items:flex-start; gap:.7rem; margin:1rem 0 0; border:1px solid #e8ddb7; border-radius:1rem; background:linear-gradient(120deg,#fffcf2,#fff); padding:.85rem 1rem; color:#534719; font-size:.8rem; line-height:1.55; }
.membership-returning-note>i { flex:0 0 auto; margin-top:.2rem; color:#8a6b12; }
.membership-returning-note p { min-width:0; margin:0; }
.membership-returning-note strong { color:#3d3516; }
.membership-choice-hint { margin:.55rem 0 0; color:#59695f; font-size:.78rem; font-weight:650; line-height:1.4; text-align:center; }
.membership-option input:focus-visible+span { outline:3px solid #805e00!important; outline-offset:3px!important; }
#continueRegistrationBtn:disabled { cursor:not-allowed; }
@media(min-width:40rem) {
  .membership-choice-grid .membership-choice-options { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(min-width:64rem) {
  .membership-choice-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
}
@media(max-width:39.999rem) {
  .registration-welcome-header { grid-template-columns:2.35rem minmax(0,1fr) 2.35rem; gap:.38rem; }
  .registration-welcome-logo { width:2.25rem; border-radius:.72rem; padding:.2rem; }
  .registration-welcome-header h1 { max-width:12ch; font-size:clamp(1.35rem,6vw,1.8rem)!important; }
  .registration-eyebrow { font-size:.59rem!important; letter-spacing:.14em!important; }
  .membership-choice-intro { margin-bottom:.9rem; text-align:left; }
  .membership-choice-grid .organization-card { padding:.85rem .7rem!important; }
  .membership-choice-grid .organization-card legend { padding-inline:.2rem; }
  .membership-choice-grid .organization-card legend img { width:2.2rem; height:2.2rem; }
  .membership-choice-grid .organization-card legend strong { font-size:.8rem; }
  .membership-choice-grid .organization-card legend span span span { font-size:.67rem; }
  .membership-choice-grid .membership-option span { min-height:5.4rem; }
  .membership-returning-note { font-size:.76rem; }
}
@media(prefers-reduced-motion:reduce) {
  .membership-choice-grid .membership-option span { transition:none; }
}

/* @spec REG-FORM-017, REG-FORM-018, REG-UI-040 */
#regForm .primary-phone-row {
  display:grid!important;
  grid-template-columns:minmax(13rem,.9fr) minmax(0,1.5fr)!important;
  align-items:stretch;
  gap:.5rem;
}
#regForm .nigerian-phone-row {
  display:grid!important;
  grid-template-columns:max-content minmax(0,1fr)!important;
  align-items:stretch;
  gap:.5rem;
}
#diasporaContactGroup .nigerian-phone-row>span { white-space:nowrap; }
@media(max-width:39.999rem) {
  #regForm .primary-phone-row { grid-template-columns:minmax(0,1fr)!important; }
}

/* @spec REG-UI-040, REG-UI-041 */
#regForm .registration-form-section {
  min-width:0;
  padding:clamp(1rem,2.2vw,1.4rem);
  border:1px solid #dfe9e2;
  border-radius:1.25rem;
  background:linear-gradient(145deg,#fff 0%,#fbfdfb 100%);
  box-shadow:0 8px 24px rgba(5,53,31,.045);
  transition:border-color .2s ease,box-shadow .2s ease;
  animation:registration-section-enter .32s ease-out both;
}
#regForm .registration-form-section:hover { border-color:#cadbd0; box-shadow:0 12px 30px rgba(5,53,31,.065); }
#regForm .registration-form-section:nth-of-type(2) { animation-delay:.035s; }
#regForm .registration-form-section:nth-of-type(3) { animation-delay:.07s; }
#regForm .registration-form-section:nth-of-type(4) { animation-delay:.105s; }
#regForm .registration-form-section:nth-of-type(5) { animation-delay:.14s; }
#regForm .registration-field-subgroup { padding-top:.9rem; border-top:1px solid #e8eee9; }
#regForm .registration-field-subgroup h4 { margin:0 0 .75rem; }
#regForm .registration-form-section .field-card {
  min-width:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  transform:none;
  transition:none;
}
#regForm .registration-form-section .field-card:hover {
  border-color:transparent;
  box-shadow:none;
  transform:none;
}
#regForm .registration-form-section .form-icon { display:none; }
#regForm .registration-form-section .input-with-icon { padding-left:.85rem!important; }
#regForm .registration-form-section :is(input,select,textarea) { min-width:0; }
#regForm .registration-form-section :is(input,select,textarea):focus-visible,
#regForm .registration-form-section button:focus-visible { outline:3px solid rgba(214,169,43,.78); outline-offset:2px; }
#regForm #diasporaContactGroup.field-card {
  padding:clamp(.8rem,2vw,1rem);
  border:1px solid #e1ebe4;
  border-radius:1rem;
  background:#f6faf7;
}
#regForm .section-title { margin-bottom:1rem; }
#regForm .section-title span { width:2.2rem; height:2.2rem; flex:0 0 auto; }
#regForm .registration-consent { border-radius:1.1rem; }

/* @spec REG-MATCH-024, REG-MATCH-025, REG-MATCH-026, REG-MATCH-027 — responsive APSG prefill on CWDI no-match */
#regForm .registration-lookup-status { grid-column:1/-1; min-width:0; margin:0; padding:.72rem .9rem; border:1px solid #cfe0d5; border-radius:.9rem; background:#f0faf4; color:#183d2b; font-size:.8rem; font-weight:750; line-height:1.5; overflow-wrap:anywhere; }
#regForm .registration-lookup-status[data-state="checking"] { border-color:#bfdbfe; background:#eff6ff; color:#1e3a5f; }
#regForm .registration-lookup-status[data-state="success"] { border-color:#b9dfc5; background:#effaf2; color:#14532d; }
#regForm .registration-lookup-status[data-state="conflict"] { border-color:#edd48d; background:#fff9e9; color:#674b0d; }
#regForm .registration-lookup-status[data-state="error"] { border-color:#efc1bb; background:#fff5f3; color:#842b23; }
#regForm #apsgPrefillPrompt.apsg-prefill-card {
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:1rem;
  width:100%;
  min-width:0;
  margin-top:.25rem;
  padding:clamp(1rem,2.2vw,1.35rem);
  border:1px solid #c9dfd2;
  border-radius:1.2rem;
  background:linear-gradient(132deg,#f0f8f3 0%,#fff 58%,#fffaf0 100%);
  box-shadow:0 .65rem 1.65rem rgba(5,53,31,.075),inset 0 1px 0 rgba(255,255,255,.95);
  color:#123b28;
}
#regForm #apsgPrefillPrompt.apsg-prefill-card[hidden] { display:none!important; }
#regForm .apsg-prefill-layout { display:grid; grid-template-columns:minmax(0,1fr); align-items:center; gap:1rem; min-width:0; }
#regForm .apsg-prefill-copy { min-width:0; }
#regForm .apsg-prefill-copy h4 { display:flex; align-items:center; gap:.7rem; margin:0; color:#073b25; font-size:1rem; font-weight:900; line-height:1.35; }
#regForm .apsg-prefill-icon { display:grid; width:2.4rem; height:2.4rem; flex:0 0 2.4rem; place-items:center; border:1px solid rgba(214,169,43,.3); border-radius:.85rem; background:linear-gradient(145deg,#0b7145,#075532); color:#ffe28a; box-shadow:0 .35rem .8rem rgba(5,53,31,.15); }
#regForm .apsg-prefill-copy>p { max-width:70ch; margin:.55rem 0 0; color:#53665a; font-size:.82rem; font-weight:550; line-height:1.6; overflow-wrap:anywhere; word-break:normal; }
#regForm .apsg-prefill-action { display:inline-flex; width:100%; min-width:0; min-height:2.9rem; align-items:center; justify-content:center; gap:.55rem; padding:.7rem 1.15rem; border:1px solid #075c35; border-radius:.9rem; background:linear-gradient(120deg,#075c35,#0b8751); color:#fff; font:850 .86rem/1.25 Inter,sans-serif; white-space:nowrap; box-shadow:0 .4rem .95rem rgba(5,92,53,.19),inset 0 1px 0 rgba(255,255,255,.15); cursor:pointer; transition:transform .18s ease,box-shadow .18s ease,filter .18s ease; }
#regForm .apsg-prefill-action:hover:not(:disabled) { transform:translateY(-2px); filter:saturate(1.08); box-shadow:0 .65rem 1.2rem rgba(5,92,53,.24),inset 0 1px 0 rgba(255,255,255,.15); }
#regForm .apsg-prefill-action:focus-visible { outline:3px solid #d6a92b; outline-offset:3px; }
#regForm .apsg-prefill-action:disabled { opacity:.72; cursor:wait; transform:none; }
#regForm .apsg-prefill-status { margin:0; padding:.75rem .9rem; border:1px solid #dbe6df; border-radius:.85rem; background:rgba(255,255,255,.82); color:#334d3e; font-size:.78rem; font-weight:700; line-height:1.5; overflow-wrap:anywhere; }
#regForm .apsg-prefill-status[data-state="checking"] { border-color:#bdd7f3; background:#eff6ff; color:#173b63; }
#regForm .apsg-prefill-status[data-state="success"] { border-color:#b8dfc4; background:#effaf2; color:#14532d; }
#regForm .apsg-prefill-status[data-state="error"] { border-color:#f0c2bd; background:#fff5f4; color:#842b23; }
#regForm .apsg-prefill-name-results { min-width:0; padding:.85rem 1rem; border:1px solid #e6d9b5; border-radius:.85rem; background:#fffaf0; color:#3c392e; }
#regForm .apsg-prefill-name-results[hidden] { display:none!important; }
#regForm .apsg-prefill-name-results h5 { margin:0 0 .45rem; color:#5c4918; font-size:.76rem; font-weight:850; }
#regForm .apsg-prefill-name-results ul { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr)); gap:.35rem .75rem; max-height:13rem; overflow:auto; margin:0; padding:0; list-style:none; }
#regForm .apsg-prefill-name-results li { min-width:0; padding:.48rem .65rem; border:1px solid #efe7d2; border-radius:.65rem; background:#fff; color:#263b30; font-size:.8rem; font-weight:700; line-height:1.4; overflow-wrap:anywhere; }
@media(min-width:48rem) {
  #regForm .apsg-prefill-layout { grid-template-columns:minmax(0,1fr) auto; gap:1.5rem; }
  #regForm .apsg-prefill-action { width:auto; min-width:11rem; }
}
@media(max-width:39.999rem) {
  #regForm #apsgPrefillPrompt.apsg-prefill-card { padding:1rem; border-radius:1rem; }
  #regForm .apsg-prefill-copy>p { font-size:.78rem; }
}
@keyframes registration-section-enter {
  from { opacity:.7; transform:translateY(6px); }
  to { opacity:1; transform:translateY(0); }
}
@media(max-width:39.999rem) {
  #regForm .registration-form-section { padding:.95rem; border-radius:1rem; }
  #regForm .registration-field-subgroup { margin-top:1.1rem; }
}
@media(prefers-reduced-motion:reduce) {
  #regForm .registration-form-section { animation:none; }
  #regForm .apsg-prefill-action { transition:none; }
  #regForm .apsg-prefill-action:hover:not(:disabled) { transform:none; }
}

/* @spec REG-UI-028, REG-UI-009 — polished, responsive membership confirmation certificate and visible Done action */
#successModal .success-popout {
  width:min(100%,58rem);
  max-height:min(92vh,56rem);
  max-height:min(92dvh,56rem);
  border:1px solid rgba(214,169,43,.34);
  border-radius:clamp(1.1rem,3vw,1.75rem);
  background:#f7faf7;
  box-shadow:0 2rem 6rem rgba(1,25,14,.42),0 0 0 1px rgba(255,255,255,.42);
  animation:registration-certificate-enter .3s cubic-bezier(.2,.75,.25,1) both;
}
#successModal .success-popout>div:first-child {
  position:relative;
  flex:0 0 auto;
  padding:clamp(1.15rem,3.2vw,2rem) clamp(1rem,5vw,2.5rem)!important;
  background:radial-gradient(circle at 92% 0%,rgba(214,169,43,.22),transparent 15rem),linear-gradient(125deg,#04361f 0%,#075a35 58%,#08744b 100%)!important;
  text-align:center;
  isolation:isolate;
}
#successModal .success-popout>div:first-child::after {
  position:absolute;
  z-index:-1;
  inset:0;
  background:linear-gradient(90deg,transparent 49.8%,rgba(255,255,255,.04) 50%,transparent 50.2%);
  content:"";
  pointer-events:none;
}
#successModal .success-logo-shell {
  width:clamp(4.25rem,8vw,5.25rem);
  height:clamp(4.25rem,8vw,5.25rem);
  border:3px solid rgba(231,199,104,.88);
  border-radius:1.35rem;
  background:linear-gradient(145deg,#fff,#f6f8f0);
  box-shadow:0 1rem 2.25rem rgba(0,0,0,.24),inset 0 1px 0 #fff;
}
#successModal .success-logo-shell img { width:78%; height:78%; object-fit:contain; }
#successModal .success-check-badge { right:-.45rem; bottom:-.4rem; width:1.75rem; height:1.75rem; border-color:#f8faf7; }
#successModal .success-popout>div:first-child .relative.z-10>p:first-of-type {
  margin-top:1rem!important;
  color:#f0d47b!important;
  font-size:.68rem;
  letter-spacing:.22em;
  line-height:1.45;
}
#successModal #registrationSuccessTitle {
  margin-top:.3rem!important;
  color:#fff;
  font-size:clamp(1.65rem,4vw,2.55rem)!important;
  line-height:1.12;
  letter-spacing:-.035em;
  text-wrap:balance;
}
#successModal #successModalOrgText {
  max-width:42rem;
  margin:.65rem auto 0!important;
  color:rgba(255,255,255,.84);
  font-size:clamp(.88rem,1.5vw,1rem)!important;
  line-height:1.55;
  text-wrap:pretty;
}
#successModal #successContent {
  padding:clamp(.85rem,3vw,1.65rem)!important;
  background:linear-gradient(180deg,#f5f8f5,#fbfcfa 40%);
  scrollbar-color:#9ab6a3 #edf2ed;
  scrollbar-width:thin;
}
#successModal #successContent>.text-center.relative {
  width:100%;
  max-width:49rem;
  margin-inline:auto;
  text-align:left;
}
#successModal .official-receipt-brand {
  padding:clamp(.9rem,2.6vw,1.4rem)!important;
  border-color:rgba(214,169,43,.38);
  border-radius:1.2rem;
  box-shadow:0 .75rem 2rem rgba(5,53,31,.07),inset 0 1px 0 #fff;
}
#successModal .official-receipt-brand .relative.z-10 { align-items:center; }
#successModal .official-receipt-brand h4 {
  color:#073d27!important;
  font-size:clamp(1.25rem,2.7vw,1.8rem)!important;
  line-height:1.2;
  text-wrap:balance;
}
#successModal .registration-receipt-branding { max-width:100%; }
#successModal .print-auth-stamp { flex:0 0 auto; min-width:5rem; border-radius:.85rem; }
#successModal .success-reg-card {
  padding:clamp(1rem,3vw,1.5rem)!important;
  border:1px solid rgba(214,169,43,.56);
  border-radius:1.25rem;
  background:radial-gradient(circle at 100% 0%,rgba(214,169,43,.2),transparent 17rem),linear-gradient(130deg,#06351f,#087143);
  box-shadow:0 1rem 2.25rem rgba(5,53,31,.16),inset 0 1px 0 rgba(255,255,255,.14);
}
#successModal .success-reg-card>div { border:1px solid rgba(255,255,255,.2)!important; border-radius:1rem; background:rgba(255,255,255,.09)!important; }
#successModal .success-reg-card>div>p:nth-child(2) {
  color:#fff;
  font-size:clamp(1.15rem,3.8vw,1.75rem)!important;
  line-height:1.35;
  letter-spacing:.015em;
  overflow-wrap:anywhere;
  word-break:normal;
}
#successModal #successContent>.text-center.relative>.grid.grid-cols-1 { gap:.7rem!important; }
#successModal .receipt-mini-card {
  min-width:0;
  padding:1rem;
  border-color:#e0e9e2;
  border-radius:1rem;
  background:linear-gradient(145deg,#fff,#f7faf7);
  box-shadow:0 .4rem 1.15rem rgba(5,53,31,.045);
}
#successModal .receipt-mini-card>p:last-child { overflow-wrap:anywhere; line-height:1.45; }
#successModal #successContent .compact-luxury-note,
#successModal #successContent>.text-center.relative>div.rounded-2xl.border {
  border-radius:1.1rem;
  box-shadow:0 .4rem 1.15rem rgba(5,53,31,.045);
}
#successModal .registration-dialog-actions {
  justify-content:flex-end;
  padding:.9rem clamp(.85rem,3vw,1.5rem)!important;
  border-top:1px solid #e1e9e3;
  background:rgba(255,255,255,.96);
  box-shadow:0 -8px 22px rgba(5,53,31,.045);
}
#successModal .registration-dialog-actions>button { flex:0 1 auto; }
#successModal .success-action-btn {
  min-width:7rem;
  border:1px solid #dce7df;
  border-radius:999px;
  box-shadow:0 .35rem 1rem rgba(5,53,31,.07);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background-color .18s ease;
}
#successModal .success-action-btn--done {
  border-color:#0f8a4b;
  background:linear-gradient(135deg,#075a35,#0f8a4b);
  color:#fff;
}
#successModal .success-action-btn:hover { transform:translateY(-2px); box-shadow:0 .65rem 1.35rem rgba(5,53,31,.13); }
#successModal .success-action-btn:focus-visible { outline:3px solid #d6a92b; outline-offset:3px; }
@keyframes registration-certificate-enter {
  from { opacity:0; transform:translateY(10px) scale(.99); }
  to { opacity:1; transform:translateY(0) scale(1); }
}
@media(max-width:639px) {
  #successModal .success-popout { max-height:calc(100dvh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom)); }
  #successModal .success-popout>div:first-child { padding-block:1rem!important; }
  #successModal .success-logo-shell { width:4.1rem; height:4.1rem; border-radius:1.15rem; }
  #successModal .success-popout>div:first-child .relative.z-10>p:first-of-type { margin-top:.75rem!important; font-size:.6rem; letter-spacing:.16em; }
  #successModal #successContent>.text-center.relative>.grid.grid-cols-1 { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
  #successModal .registration-dialog-actions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding:.65rem!important; gap:.45rem!important; }
  #successModal .success-action-btn { min-width:0; padding:.72rem .35rem; font-size:.78rem; white-space:nowrap; }
}
@media(max-width:359px) {
  #successModal .official-receipt-brand .relative.z-10 { gap:.65rem; }
  #successModal #successContent>.text-center.relative>.grid.grid-cols-1 { grid-template-columns:minmax(0,1fr)!important; }
  #successModal .registration-dialog-actions { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #successModal .registration-dialog-actions .success-action-btn:last-child { grid-column:1/-1; }
}
@media(max-height:600px) {
  #successModal .success-logo-shell { width:3.25rem; height:3.25rem; }
  #successModal .success-popout>div:first-child { padding-block:.8rem!important; }
  #successModal #registrationSuccessTitle { font-size:1.55rem!important; }
}
@media(prefers-reduced-motion:reduce) {
  #successModal .success-popout { animation:none; }
  #successModal .success-action-btn { transition:none; }
}
@media print {
  #successModal .success-popout { max-height:none; animation:none; border-radius:0; box-shadow:none; }
}
