.registration-shell,.status-shell{width:min(calc(100% - 48px),1180px);margin:0 auto;padding:86px 0 40px}.registration-shell *,.status-shell *{min-width:0}.dynamic-register-card{margin:72px 0 0;padding:46px;border:1px solid var(--line);background:#fff;box-shadow:0 18px 60px rgba(48,24,24,.05)}.status-card{width:min(100%,900px);padding:38px;border:1px solid var(--line);background:#fff;box-shadow:0 18px 60px rgba(48,24,24,.05)}.status-shell{padding-top:80px;padding-bottom:100px}.status-shell .registration-intro{padding-top:35px}
.reg-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:0;border:1px solid var(--line);margin-bottom:42px}.reg-tab{border:0;border-right:1px solid var(--line);background:#fff;color:var(--ink);min-height:92px;padding:18px;text-align:left;cursor:pointer;transition:.2s}.reg-tab:last-child{border-right:0}.reg-tab:hover{background:var(--off)}.reg-tab.is-active{background:var(--red);color:#fff}.reg-tab-index{display:block;font-size:10px;letter-spacing:.12em;opacity:.55;margin-bottom:8px}.reg-tab-label{display:block;font-weight:700;line-height:1.3}.dynamic-panel{display:none}.dynamic-panel.is-active{display:block}.panel-intro{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:30px;align-items:start;margin-bottom:28px;padding-bottom:28px;border-bottom:1px solid var(--line)}.panel-kicker{display:block;color:var(--red);font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;margin-bottom:8px}.panel-intro h2{font-family:var(--display);font-size:38px;line-height:1.08;margin:0 0 10px}.panel-intro p{color:var(--muted);margin:0;max-width:680px}.fee-chip{white-space:nowrap;border:1px solid #d8c3c3;color:var(--red);background:#fff7f7;padding:10px 14px;font-size:12px;font-weight:700}.fee-chip.not-ready{color:var(--muted);border-color:var(--line);background:var(--off)}
.portal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.portal-field,.status-card .field{display:grid;gap:8px}.portal-field.full{grid-column:1/-1}.portal-field label,.status-card .field label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#554d4b}.portal-field input:not([type=checkbox]),.portal-field select,.portal-field textarea,.status-card input:not([type=checkbox]),.status-card select,.status-card textarea{width:100%;min-height:50px;border:1px solid #d9d3cf;background:#fff;color:var(--ink);padding:12px 13px;outline:none;border-radius:0}.portal-field textarea,.status-card textarea{min-height:125px;resize:vertical}.portal-field input:focus,.portal-field select:focus,.portal-field textarea:focus,.status-card input:focus,.status-card select:focus,.status-card textarea:focus{border-color:var(--red);box-shadow:0 0 0 2px rgba(97,0,0,.07)}.portal-field small{color:#8a817e;font-size:11px}.portal-field input[type=file]{padding:8px}.portal-field input[type=file]::file-selector-button,.status-card input[type=file]::file-selector-button{border:0;background:var(--red-soft);color:var(--red);padding:9px 12px;margin-right:10px;font-weight:700}.portal-field input[type=checkbox]{accent-color:var(--red)}.portal-submit{display:inline-flex;align-items:center;justify-content:center;min-height:50px;margin-top:26px;padding:12px 25px;border:1px solid var(--red);background:var(--red);color:#fff;font-weight:700;cursor:pointer}.portal-submit:hover{background:var(--red-mid)}.portal-submit:disabled{opacity:.45;cursor:not-allowed}.form-message{min-height:20px;color:var(--muted)}.form-message.error{color:#a82020}
.repeater{grid-column:1/-1;border:1px solid var(--line);background:var(--off);padding:20px}.repeater-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:8px}.repeater-head strong{font-size:14px}.add-repeat{border:1px solid var(--red);background:#fff;color:var(--red);padding:9px 13px;font-weight:700;cursor:pointer}.repeat-row{position:relative;border-top:1px solid var(--line);padding:22px 0 8px}.repeat-row:first-child{border-top:0}.repeat-title{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 90px 15px 0}.repeat-remove{position:absolute;top:16px;right:0;border:0;background:transparent;color:#a41d1d;font-weight:700;cursor:pointer}
[data-fee-summary]{margin:0 0 28px}.fee-summary{border-left:4px solid var(--red);background:#faf6f6;padding:20px}.fee-summary-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:15px;border-bottom:1px solid #e4d7d7}.fee-summary-head span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.fee-summary-head b{display:block;margin-top:4px}.fee-summary-head strong{font-size:24px;color:var(--red)}.fee-rate-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:15px}.fee-rate{border:1px solid #e2d9d6;background:#fff;padding:12px}.fee-rate span,.fee-rate strong{display:block}.fee-rate span{font-size:10px;text-transform:uppercase;color:var(--muted)}.fee-rate strong{font-size:13px;margin-top:4px}.fee-rate.is-active{border-color:#bf9999}.fee-formula{margin-top:12px;font-size:12px;color:#5f5553}.fee-formula strong{color:var(--red)}.fee-rate-grid.single{grid-template-columns:minmax(0,300px)}.fee-unconfigured p,.fee-blocked-note{color:var(--muted);font-size:12px}.portal-loading,.portal-error{padding:55px;text-align:center;color:var(--muted)}.success-box{border:1px solid #cbded0;background:#f6fbf7;padding:30px;text-align:center}.success-box h3{font-family:var(--display);font-size:30px;margin-top:0}.registration-number{font-size:24px;font-weight:700;color:var(--red);margin:12px 0}.success-box a{color:var(--red);font-weight:700}.portal-toast{position:fixed;right:18px;bottom:18px;z-index:300;background:#1c1414;color:#fff;padding:12px 16px;box-shadow:0 15px 45px rgba(0,0,0,.25);max-width:min(420px,calc(100vw - 36px))}
.status-result{margin-top:26px;padding-top:24px;border-top:1px solid var(--line)}.status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.status-item{padding:14px;background:var(--off);border:1px solid var(--line)}.status-item span{display:block;font-size:9px;text-transform:uppercase;color:var(--muted)}.status-item strong{display:block;margin-top:5px}.status-pill{display:inline-block!important;background:var(--red-soft);color:var(--red)!important;padding:4px 8px;font-size:10px!important}.resubmit-box{margin-top:18px;padding:18px;border:1px solid #d6bbbb;background:#fff9f9}.resubmit-box h3{font-family:var(--display);margin:0 0 10px}.participant-status{width:100%;min-width:640px;border-collapse:collapse;margin-top:16px}.status-result:has(.participant-status){overflow-x:auto}.participant-status th,.participant-status td{padding:11px 9px;border-bottom:1px solid var(--line);text-align:left;font-size:12px}.participant-status th{color:var(--muted)}
@media(max-width:820px){.registration-shell,.status-shell{width:min(calc(100% - 32px),1180px);padding-top:72px}.dynamic-register-card,.status-card{padding:24px}.panel-intro{grid-template-columns:1fr}.fee-chip{justify-self:start}.portal-grid{grid-template-columns:1fr}.portal-field.full,.repeater{grid-column:auto}.fee-rate-grid{grid-template-columns:1fr}.status-grid{grid-template-columns:1fr 1fr}.reg-tabs{grid-template-columns:1fr 1fr}.reg-tab:nth-child(even){border-right:0}.reg-tab{border-bottom:1px solid var(--line)}}
@media(max-width:520px){.dynamic-register-card,.status-card{padding:18px}.reg-tabs{grid-template-columns:1fr}.reg-tab{border-right:0}.repeater-head{align-items:flex-start;flex-direction:column}.add-repeat{width:100%}.panel-intro h2{font-size:32px}.portal-field input:not([type=checkbox]),.portal-field select,.portal-field textarea,.status-card input:not([type=checkbox]),.status-card select,.status-card textarea{font-size:16px}.portal-submit{width:100%}.fee-summary-head{display:grid;gap:7px}.fee-summary-head strong{text-align:left}.status-grid{grid-template-columns:1fr}}


/* Admin-configured bank account details on paid registration forms */
.bank-details-card{margin:0 0 28px;border:1px solid #dacaca;background:#fff;padding:22px}.bank-details-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:16px;border-bottom:1px solid var(--line)}.bank-details-head span{display:block;color:var(--red);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.bank-details-head h3{margin:5px 0 0;font-family:var(--display);font-size:26px;line-height:1.1}.bank-details-badge{padding:8px 10px;border:1px solid #decaca;background:#faf6f6;white-space:nowrap}.bank-details-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin-top:8px}.bank-detail-item{padding:14px 12px 14px 0;border-bottom:1px solid var(--line);min-width:0}.bank-detail-item:nth-child(even){padding-left:14px;border-left:1px solid var(--line)}.bank-detail-item span,.bank-detail-item strong{display:block}.bank-detail-item span{font-size:9px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin-bottom:5px}.bank-detail-item strong{font-size:14px;overflow-wrap:anywhere}.bank-payment-note{margin-top:16px;padding:14px;border-left:3px solid var(--red);background:#faf6f6}.bank-payment-note strong{font-size:11px;text-transform:uppercase;letter-spacing:.08em}.bank-payment-note p{margin:6px 0 0;color:#5f5553;font-size:12px;line-height:1.65}.bank-security-note{margin:12px 0 0;color:var(--muted);font-size:11px;line-height:1.55}
@media(max-width:620px){.bank-details-card{padding:17px}.bank-details-head{flex-direction:column}.bank-details-badge{white-space:normal}.bank-details-grid{grid-template-columns:1fr}.bank-detail-item,.bank-detail-item:nth-child(even){padding:12px 0;border-left:0}.bank-details-head h3{font-size:23px}}

/* =========================================================
   SEPARATE REGISTRATION PAGES — simplified registration UX
   ========================================================= */
.registration-hub-shell{padding-top:84px;padding-bottom:110px}
.registration-hub-intro{max-width:790px;padding-top:34px;padding-bottom:42px}
.registration-hub-intro h1{max-width:720px}
.registration-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line);background:#fff;margin:6px 0 58px}
.registration-choice-card{position:relative;display:grid;grid-template-columns:54px minmax(0,1fr) 32px;gap:20px;min-height:230px;padding:34px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none;background:#fff;transition:background .2s ease,color .2s ease,transform .2s ease}
.registration-choice-card:hover{background:var(--red);color:#fff;transform:translateY(-2px)}
.choice-number{font-size:10px;font-weight:700;letter-spacing:.12em;opacity:.45;padding-top:5px}
.choice-type{display:block;margin-bottom:10px;color:var(--red);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.registration-choice-card:hover .choice-type{color:#fff;opacity:.72}
.registration-choice-card h2{font-family:var(--display);font-size:31px;line-height:1.08;margin:0 0 14px}
.registration-choice-card p{max-width:470px;margin:0;color:var(--muted);font-size:14px;line-height:1.7}
.registration-choice-card:hover p{color:rgba(255,255,255,.76)}
.choice-arrow{align-self:end;justify-self:end;font-size:28px;font-weight:300;transition:transform .2s ease}
.registration-choice-card:hover .choice-arrow{transform:translateX(5px)}
.registration-hub-help{display:flex;align-items:flex-end;justify-content:space-between;gap:36px;padding:36px 0 0;border-top:1px solid var(--line)}
.registration-hub-help[hidden],.registration-choice-grid[hidden],.registration-hub-intro[hidden],.registration-subpage-head[hidden]{display:none!important}
.registration-hub-help h2{font-family:var(--display);font-size:36px;margin:5px 0 8px}
.registration-hub-help p{max-width:650px;margin:0;color:var(--muted);line-height:1.7}
.registration-hub-help .btn{flex:0 0 auto}

.dedicated-registration-shell{max-width:1040px;padding-top:72px;padding-bottom:96px}
.registration-subpage-head{max-width:820px;padding:36px 0 34px}
.registration-back{display:inline-flex;margin-bottom:32px;color:var(--muted);font-size:12px;font-weight:700;text-decoration:none}
.registration-back:hover{color:var(--red)}
.registration-subpage-head h1{font-family:var(--display);font-size:clamp(42px,6vw,68px);line-height:1.02;letter-spacing:-.035em;margin:7px 0 18px;max-width:800px}
.registration-subpage-head>p:not(.section-kicker){max-width:760px;margin:0;color:var(--muted);font-size:16px;line-height:1.75}
.registration-page-note{margin-top:24px;padding:15px 18px;border-left:3px solid var(--red);background:var(--off);color:#5f5553;font-size:12px;line-height:1.65}
.dedicated-register-card{padding:0;border:1px solid var(--line);box-shadow:0 18px 60px rgba(48,24,24,.045);overflow:hidden}
.dedicated-panel-intro{margin:0;padding:30px 34px;border-bottom:1px solid var(--line);background:#fff}
.dedicated-panel-intro h2{font-size:32px}
.dedicated-form{background:#fff}
.form-block{padding:34px;border-bottom:1px solid var(--line)}
.form-block:last-of-type{border-bottom:1px solid var(--line)}
.form-block-heading{display:flex;align-items:flex-start;gap:16px;margin-bottom:28px}
.form-block-heading>span{display:flex;align-items:center;justify-content:center;flex:0 0 34px;height:34px;border:1px solid #d9caca;color:var(--red);font-size:10px;font-weight:700;letter-spacing:.08em}
.form-block-heading p{margin:0 0 4px;color:var(--red);font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.form-block-heading h3{font-family:var(--display);font-size:27px;line-height:1.1;margin:0}
.form-section-eyebrow{display:block;margin-bottom:4px;color:var(--muted);font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.payment-block{background:#fdfbfa}
.payment-block [data-fee-summary]{margin-bottom:22px}
.payment-fields{margin-top:24px;padding-top:24px;border-top:1px solid var(--line)}
.form-submit-block{padding:28px 34px 34px;background:#fff}
.form-submit-block .portal-submit{margin-top:0;min-width:220px}
.portal-checkbox{display:flex;align-items:flex-start;gap:9px;text-transform:none!important;letter-spacing:0!important;font-size:13px!important}
.portal-checkbox input{margin-top:3px}
.registration-mini-help{display:flex;align-items:center;gap:18px;margin-top:25px;padding:18px 0;color:var(--muted);font-size:12px}
.registration-mini-help>span{color:var(--ink);font-weight:700}
.registration-mini-help p{margin:0}
.registration-mini-help a{color:var(--red);font-weight:700}
.success-actions{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;margin-top:18px}
.success-actions a{font-size:12px}
.dedicated-closed h3{font-family:var(--display);font-size:28px;margin:0 0 10px;color:var(--ink)}
.dedicated-closed p{margin:0 0 18px}.portal-back-link{color:var(--red);font-weight:700;text-decoration:none}

@media(max-width:820px){
  .registration-hub-shell{width:min(calc(100% - 32px),1180px);padding-top:72px}
  .registration-choice-grid{grid-template-columns:1fr}
  .registration-choice-card{min-height:190px}
  .registration-hub-help{align-items:flex-start;flex-direction:column}
  .dedicated-registration-shell{width:min(calc(100% - 32px),1040px);padding-top:66px}
  .dedicated-panel-intro{padding:26px}
  .form-block{padding:26px}
  .form-submit-block{padding:24px 26px 28px}
}
@media(max-width:560px){
  .registration-hub-intro{padding-bottom:28px}
  .registration-choice-card{grid-template-columns:38px minmax(0,1fr) 24px;gap:12px;min-height:0;padding:24px 20px}
  .registration-choice-card h2{font-size:27px}
  .registration-choice-card p{font-size:13px}
  .choice-arrow{font-size:23px}
  .registration-hub-help h2{font-size:31px}
  .registration-hub-help .btn{width:100%;text-align:center;justify-content:center}
  .registration-subpage-head{padding-top:26px}
  .registration-back{margin-bottom:24px}
  .registration-subpage-head h1{font-size:40px}
  .registration-subpage-head>p:not(.section-kicker){font-size:14px}
  .registration-page-note{font-size:11px}
  .dedicated-panel-intro{padding:22px 18px}
  .dedicated-panel-intro h2{font-size:27px}
  .form-block{padding:24px 18px}
  .form-block-heading{gap:12px;margin-bottom:22px}
  .form-block-heading h3{font-size:24px}
  .form-submit-block{padding:22px 18px 26px}
  .form-submit-block .portal-submit{width:100%;min-width:0}
  .registration-mini-help{display:block;line-height:1.65}
  .registration-mini-help>span{display:block;margin-bottom:3px}
}

.portal-field .field-error{color:#a82020;font-size:13px;line-height:1.5}.portal-field [aria-invalid="true"]{border-color:#a82020!important;box-shadow:0 0 0 1px #a82020}.form-message.error{padding:12px;border-left:3px solid #a82020;background:#fff3f3;line-height:1.6}
