.cs-registration-dialog [hidden] { display:none !important; }
.cs-wizard-trigger { border-color:#2e766c !important; color:#fff !important; background:#2e766c !important; box-shadow:0 5px 14px rgba(46,118,108,.22); font-weight:800 !important; }
.cs-wizard-trigger:hover { border-color:#225f58 !important; color:#fff !important; background:#225f58 !important; }
.cs-registration-dialog { width:min(920px,calc(100% - 24px)); max-width:920px; max-height:calc(100% - 24px); padding:0; border:0; border-radius:22px; color:#22313b; background:transparent; box-shadow:0 28px 90px rgba(28,43,50,.28); }
.cs-registration-dialog::backdrop { background:rgba(20,34,40,.60); backdrop-filter:blur(4px); }
.cs-registration-shell { display:flex; flex-direction:column; max-height:calc(100dvh - 24px); overflow:auto; border:1px solid #d9e5e0; border-radius:22px; background:#fbfcf8; color:#22313b; font:16px/1.55 system-ui,-apple-system,"Segoe UI",sans-serif; }
.cs-registration-header { position:sticky; z-index:2; top:0; display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding:22px clamp(18px,4vw,34px) 15px; border-bottom:1px solid #e5ebe5; background:#fbfcf8; }
.cs-registration-header h2 { margin:0; padding-right:12px; color:#20373a; font-size:clamp(1.35rem,3vw,1.8rem); line-height:1.18; }
.cs-registration-kicker { margin:0 0 4px; color:#38726e; font-size:.76rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.cs-registration-close { flex:0 0 42px; width:42px; height:42px; border:1px solid #dbe4df; border-radius:50%; color:#33464a; background:#fff; font-size:1.6rem; line-height:1; cursor:pointer; }
.cs-registration-close:hover { border-color:#4c9185; background:#f0f7f4; }
.cs-registration-progress { padding:15px clamp(18px,4vw,34px) 0; color:#5b6d71; font-size:.86rem; font-weight:700; }
.cs-progress-track { height:7px; margin-top:7px; overflow:hidden; border-radius:99px; background:#e4ebe7; }
.cs-progress-track span { display:block; width:0; height:100%; border-radius:inherit; background:#3c8379; transition:width .25s ease; }
.cs-registration-status { min-height:0; margin:0; padding:0 clamp(18px,4vw,34px); color:#23665d; font-size:.92rem; font-weight:650; }
.cs-registration-status:not(:empty) { padding-top:10px; }
.cs-registration-status.is-error { color:#a43f39; }
.cs-registration-content { padding:16px clamp(18px,4vw,34px) 22px; }
.cs-wizard-step h3 { margin:0 0 12px; color:#20373a; font-size:1.24rem; }
.cs-wizard-step > p { margin:0 0 14px; color:#44585c; }
.cs-wizard-small { color:#647579 !important; font-size:.9rem; }
.cs-privacy-notice,.cs-xerox-notice { margin:16px 0; padding:15px 17px; border:1px solid #d7e5dc; border-radius:14px; background:#f0f6f0; }
.cs-privacy-notice h4,.cs-xerox-notice h4 { margin:0 0 6px; color:#295c51; font-size:1rem; }
.cs-privacy-notice p,.cs-xerox-notice p { margin:0; color:#354e4d; font-size:.93rem; }
.cs-wizard-check { display:flex; align-items:flex-start; gap:11px; margin:18px 0; color:#26393e; font-weight:650; }
.cs-wizard-check input { flex:0 0 20px; width:20px; min-width:20px; height:20px; min-height:20px; margin:3px 0 0; accent-color:#28776e; }
.cs-wizard-check span { overflow-wrap:anywhere; }
.cs-registration-footer { position:sticky; bottom:0; display:flex; justify-content:flex-end; gap:10px; padding:14px clamp(18px,4vw,34px) 18px; border-top:1px solid #e5ebe5; background:rgba(251,252,248,.97); }
.cs-wizard-button { min-height:44px; padding:10px 17px; border:1px solid #ccd9d4; border-radius:999px; color:#274044; background:#fff; font:inherit; font-weight:750; cursor:pointer; transition:background .16s,border-color .16s,transform .16s; }
.cs-wizard-button:hover:not(:disabled) { border-color:#61968b; background:#f1f8f5; transform:translateY(-1px); }
.cs-wizard-button:disabled { opacity:.55; cursor:not-allowed; }
.cs-wizard-primary { border-color:#2e766c; color:#fff; background:#2e766c; }
.cs-wizard-primary:hover:not(:disabled) { border-color:#225f58; color:#fff; background:#225f58; }
.cs-wizard-secondary { border-color:#d2ddda; color:#3f5759; background:#fff; }
.cs-registration-dialog :focus-visible { outline:3px solid #dd9f39; outline-offset:3px; }
.cs-registration-dialog .cs-wizard-step input:not([type=checkbox]):not([type=radio]),.cs-registration-dialog .cs-wizard-step select,.cs-registration-dialog .cs-wizard-step textarea { width:100%; min-height:46px; padding:10px 12px; border:1px solid #b9cbc5; border-radius:10px; color:#24383c; background:#fff; font:inherit; }
.cs-registration-dialog .cs-wizard-step textarea { resize:vertical; }
.cs-registration-dialog .cs-wizard-step input:focus,.cs-registration-dialog .cs-wizard-step select:focus,.cs-registration-dialog .cs-wizard-step textarea:focus { border-color:#397e73; outline:3px solid rgba(57,126,115,.18); }
.cs-field { display:grid; gap:6px; margin:14px 0; color:#2b4044; font-weight:700; }
.cs-field > span { color:#9a3f39; }
.cs-person-fieldset,.cs-choice-fieldset { min-width:0; margin:14px 0; padding:16px; border:1px solid #d8e3df; border-radius:14px; }
.cs-person-fieldset legend,.cs-choice-fieldset legend { padding:0 7px; color:#305b56; font-weight:780; }
.cs-wizard-person-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 14px; }
.cs-wizard-person-grid .cs-wide { grid-column:1/-1; }
.cs-group-toggle { margin:15px 0 7px; }
.cs-choice-fieldset { display:flex; flex-wrap:wrap; gap:12px 22px; }
.cs-radio { display:inline-flex; align-items:center; gap:8px; min-height:38px; color:#2b4044; font-weight:650; }
.cs-radio input { width:19px; height:19px; margin:0; accent-color:#28776e; }
.cs-upload-step > p { line-height:1.6; }
.cs-upload-file { color:#54686c; font-size:.92rem; overflow-wrap:anywhere; }
.cs-upload-progress { display:flex; align-items:center; gap:12px; margin:15px 0; color:#2e615c; font-weight:750; }
.cs-upload-progress progress { width:min(100%,600px); height:14px; accent-color:#347d72; }
.cs-upload-result { min-height:24px; margin:9px 0; color:#35665f; font-size:.94rem; font-weight:650; }
.cs-honeypot { position:absolute !important; left:-10000px !important; width:1px !important; height:1px !important; overflow:hidden !important; }
.cs-success-step { text-align:center; }
.cs-success-step h3 { margin:12px 0; }
.cs-success-step p { max-width:650px; margin:0 auto 12px; }
.cs-success-mark { display:grid; width:58px; height:58px; margin:5px auto 12px; place-items:center; border-radius:50%; color:#fff; background:#347d72; font-size:1.8rem; font-weight:800; }
@media (max-width:650px) {
  .cs-registration-dialog { width:calc(100% - 12px); max-height:calc(100% - 12px); border-radius:16px; }
  .cs-registration-shell { max-height:calc(100dvh - 12px); border-radius:16px; }
  .cs-registration-header { padding-top:16px; }
  .cs-wizard-person-grid { grid-template-columns:1fr; }
  .cs-wizard-person-grid .cs-wide { grid-column:auto; }
  .cs-person-fieldset,.cs-choice-fieldset { padding:12px; }
  .cs-registration-footer { justify-content:space-between; }
  .cs-registration-footer .cs-wizard-button { flex:1; }
  .cs-wizard-check { font-size:.94rem; }
}
@media (prefers-reduced-motion:reduce) {
  .cs-progress-track span,.cs-wizard-button { transition:none; }
}
