.wizard-page{
  position:relative;
  min-height:100vh;
  padding:54px 0 76px;
  background:
    radial-gradient(circle at 12% 12%,rgba(55,139,255,.28),transparent 28%),
    radial-gradient(circle at 88% 82%,rgba(39,77,171,.25),transparent 30%),
    linear-gradient(145deg,#061730 0%,#0a2f66 55%,#0c3976 100%)!important;
}
.wizard-page:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.16;
  background-image:linear-gradient(rgba(255,255,255,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.09) 1px,transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(to bottom,#000,transparent 75%);
}
.wizard-shell{position:relative;width:min(1040px,calc(100% - 32px));padding:20px!important;border:1px solid rgba(184,214,255,.34)!important;border-radius:26px!important;background:rgba(6,26,61,.62)!important;box-shadow:0 32px 80px rgba(0,7,28,.44)!important;backdrop-filter:blur(14px)}
.wizard-progress{margin:4px 10px 22px!important;gap:8px!important}
.wizard-progress span{position:relative;padding:13px 10px 0!important;border-top:5px solid rgba(174,199,233,.25)!important;color:#9db6d9!important;font-size:12px!important;font-weight:800!important;letter-spacing:.03em}
.wizard-progress span.on{border-color:#68a7ff!important;color:#fff!important}
.wizard-progress span.on:after{content:""!important;display:block!important;position:absolute;top:-8px!important;right:4px!important;width:10px!important;height:10px!important;border:2px solid #ddecff!important;border-radius:50%!important;background:#3987f5!important;box-shadow:0 0 0 4px rgba(57,135,245,.22)!important}
.wizard-page .step{padding:clamp(27px,5vw,52px)!important;border:1px solid #d9e5f4!important;border-radius:22px!important;background:linear-gradient(150deg,#fff 0%,#f8fbff 100%)!important;box-shadow:0 22px 55px rgba(3,21,53,.24)!important}
.wizard-page .step h1{max-width:760px;margin:0 0 10px!important;color:#0c2853!important;font-size:clamp(31px,4.2vw,46px)!important;line-height:1.08!important;letter-spacing:-1.5px!important}
.wizard-page .step>p{max-width:720px;margin:0 0 25px!important;color:#627895!important;font-size:16px!important;line-height:1.65!important}
.step-kicker{display:inline-flex!important;margin-bottom:13px!important;padding:6px 9px;border:1px solid #c9ddfb;border-radius:999px;background:#eef5ff;color:#1c62c9!important;font-size:10px!important;letter-spacing:.13em!important}
.type-options{gap:14px!important}
.type-options label{min-height:118px!important;padding:22px 24px!important;border:1px solid #ccdbed!important;border-radius:15px!important;background:#fff!important;box-shadow:0 7px 20px rgba(22,62,115,.06)!important}
.type-options label:has(input:checked){border:2px solid #2868df!important;background:linear-gradient(135deg,#edf5ff,#e0ecff)!important;box-shadow:0 13px 28px rgba(40,104,223,.14)!important}
.type-options b{font-size:22px!important;color:#12315f!important}.type-options small{color:#68809e!important}
.identity-step .type-options.student-only label{max-width:none!important}
.wizard-page .wide{display:grid!important;gap:8px!important;margin-top:23px!important;color:#304b6e!important;font-size:12px!important;letter-spacing:.06em!important;text-transform:uppercase}
.wizard-page .step input,.wizard-page .step select{min-height:50px;padding:0 15px!important;border:1px solid #c7d8ec!important;border-radius:11px!important;background:#fbfdff!important;color:#142b4d!important;font:600 14px/1.3 Arial,sans-serif!important;transition:border-color .18s,box-shadow .18s,background .18s}
.wizard-page .step input:focus,.wizard-page .step select:focus{outline:0!important;border-color:#2d70e4!important;background:#fff!important;box-shadow:0 0 0 4px rgba(45,112,228,.12)!important}
.wizard-page .wide input{font-size:20px!important;letter-spacing:.08em!important;text-transform:none}
.wizard-page .next,.wizard-page .submit{min-height:55px!important;margin-top:24px!important;border-radius:12px!important;background:linear-gradient(135deg,#135bcf,#2b82ef)!important;box-shadow:0 13px 25px rgba(31,105,217,.25)!important;font-size:16px!important;letter-spacing:.01em!important}
.wizard-page .next:hover,.wizard-page .submit:hover{transform:translateY(-2px)!important;filter:brightness(1.04)}
.wizard-page .navbtn .back{min-width:58px!important;min-height:55px!important;margin-top:24px!important;border:1px solid #d3e0ef!important;border-radius:12px!important;background:#f0f5fb!important;color:#31577f!important;cursor:pointer}
.captcha-field{margin-top:18px!important;padding:18px!important;border:1px solid #cfdded!important;border-radius:14px!important;background:#f7faff!important;box-shadow:inset 0 1px 0 #fff}
.captcha-row img{border-color:#bcd0e8!important;box-shadow:0 5px 14px rgba(26,70,128,.08)}
.captcha-row button{border-color:#bfd2eb!important;background:#fff!important;color:#1a5db9!important;transition:.18s}
.captcha-row button:hover{background:#eaf3ff!important}
.gender-details-step .gender-field{grid-column:1/-1;margin:4px 0 3px!important}
.gender-details-step .gender-field label{border:1px solid #ccdbed!important;background:#fff!important;box-shadow:0 6px 17px rgba(21,61,112,.05)}
.gender-details-step .gender-field label:has(input:checked){border:2px solid #2868df!important;background:linear-gradient(135deg,#edf5ff,#e1edff)!important}
.photo-note{margin:19px 0!important;padding:15px 17px!important;border:1px solid #cfe0f4!important;border-left:4px solid #2e73df!important;border-radius:11px!important;background:#f2f7ff!important;color:#4d6788!important}
.field-grid{gap:14px!important}.field-grid label{color:#344e70!important;font-size:12px!important}
.details-rules{border-color:#d2e0ef!important;background:#fff!important}.details-rules summary{color:#24486f!important}
.event-catalog>h2{color:#0d2a54!important}.catalog-sport{border-color:#d4e1f0!important;box-shadow:0 8px 22px rgba(18,58,112,.06)!important}
.catalog-sport h3{background:linear-gradient(100deg,#edf5ff,#f9fbff)!important}
.catalog-sport button{border-top-color:#e4ecf6!important}.catalog-sport button:hover{background:#f3f8ff!important}
.selected-event{border-color:#87b7f6!important;background:linear-gradient(145deg,#f8fbff,#edf5ff)!important;box-shadow:0 13px 28px rgba(24,83,159,.1)!important}
.team-aiub-note{border-color:#ead089!important;background:#fff9e9!important}.event-notes{border-radius:12px}
.due{border:1px solid #c8dcf7!important;background:linear-gradient(135deg,#edf5ff,#e1edff)!important;color:#123f7c!important}
.review{border:1px solid #d0e0f3!important;background:#f5f9ff!important}
.step .error:not(:empty){display:block!important;border:1px solid #f5c3ce!important;background:#fff1f4!important;color:#b51f43!important}
@media(max-width:700px){.wizard-page{padding:22px 0 42px}.wizard-shell{width:min(100% - 18px,1040px);padding:9px!important;border-radius:18px!important}.wizard-progress{margin:5px 3px 14px!important}.wizard-progress span{padding:10px 2px 0!important;font-size:10px!important;text-align:center}.wizard-page .step{padding:25px 18px!important;border-radius:16px!important}.wizard-page .step h1{font-size:30px!important;letter-spacing:-.8px!important}.wizard-page .step>p{font-size:14px!important}.type-options label{min-height:96px!important;padding:18px!important}.wizard-page .wide input{font-size:17px!important}.captcha-row img{width:100%;max-width:210px}.captcha-field>input{max-width:none!important}.wizard-page .navbtn{display:grid!important;grid-template-columns:58px 1fr}.wizard-page .navbtn .back{padding:0!important}.selected-event{margin-left:0!important;margin-right:0!important}}
@media(prefers-reduced-motion:reduce){.wizard-page *{scroll-behavior:auto!important;transition:none!important}}


/* Compact, touch-friendly registration layout for phones */
@media(max-width:600px){
  .wizard-page{padding:12px 0 30px!important}
  .wizard-shell{width:calc(100% - 12px)!important;padding:6px!important;border-radius:15px!important}
  .wizard-progress{overflow:hidden;margin:5px 2px 10px!important;gap:3px!important}
  .wizard-progress span{min-width:0;padding:9px 1px 0!important;font-size:9px!important;letter-spacing:0!important;white-space:nowrap}
  .wizard-page .step,.wizard-page .step:has(.event-catalog){padding:22px 14px!important;border-radius:14px!important}
  .wizard-page .step h1{font-size:27px!important;line-height:1.12!important}
  .wizard-page .step>p{margin-bottom:19px!important;font-size:13px!important;line-height:1.55!important}
  .step-kicker{font-size:8px!important;letter-spacing:.1em!important}
  .type-options label{min-height:82px!important;padding:14px!important}
  .type-options b{font-size:18px!important}
  .field-grid{grid-template-columns:1fr!important;gap:12px!important}
  .wizard-page .step input,.wizard-page .step select{width:100%!important;min-width:0!important;min-height:50px!important;padding:0 12px!important;font-size:13px!important}
  .wizard-page .step input::placeholder{font-size:12px!important;letter-spacing:0!important}
  .wizard-page .wide input{font-size:14px!important;letter-spacing:0!important}
  .photo-note{margin:15px 0!important;padding:12px 13px!important;font-size:12px!important;line-height:1.55!important}
  .gender-details-step .gender-field>div{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
  .gender-details-step .gender-field label{grid-template-columns:auto 1fr!important;min-height:74px!important;padding:12px!important;border-radius:12px!important}
  .gender-details-step .gender-field span{width:38px!important;height:38px!important;border-radius:11px!important}
  .gender-details-step .gender-field strong{align-self:center!important;font-size:16px!important}
  .captcha-field{padding:13px!important}
  .captcha-row{display:grid!important;grid-template-columns:1fr!important}
  .captcha-row img{width:100%!important;max-width:none!important;height:68px!important}
  .captcha-row button{width:100%!important}
  .catalog-sport{border-radius:14px!important}
  .catalog-sport h3{padding:13px 14px!important;border-radius:14px 14px 0 0!important;font-size:17px!important}
  .catalog-sport button{grid-template-columns:minmax(0,1fr) auto!important;min-height:67px!important;padding:12px!important}
  .catalog-sport button span{font-size:14px!important}.catalog-sport button small{font-size:11px!important}
  .catalog-sport button b{min-width:65px!important;padding:7px 8px!important;font-size:11px!important}
  .selected-event{padding:13px!important;border-radius:13px!important}
  .selected-head{align-items:flex-start!important}.selected-head b{font-size:15px!important}.selected-head span{font-size:12px!important}
  .selected-head .remove{padding:7px 9px!important;font-size:11px!important}
  .team-name{max-width:none!important;margin:14px 0!important}
  .event-notes{gap:8px!important}.event-notes p,.member-note,.player-one-note,.duplicate-warning,.team-aiub-note{padding:11px!important;font-size:12px!important;line-height:1.5!important}
  .team-member{padding:13px!important}.member-title{margin-bottom:10px!important}
  .member-grid{gap:10px!important}.member-grid input,.member-grid select,.team-name input{height:50px!important;font-size:13px!important}
  .mate-photo{display:grid!important;gap:6px!important;padding:10px!important}.mate-photo input{width:100%!important;font-size:11px!important}
  .due{padding:14px!important;font-size:16px!important}
  .wizard-page .navbtn{grid-template-columns:52px minmax(0,1fr)!important;gap:9px!important}.wizard-page .navbtn .back{min-width:52px!important}
  .wizard-page .next,.wizard-page .submit{width:100%!important;font-size:14px!important}
}
