.WithdrawalWrapper { max-width: 100%; margin: 0 auto; }
.WithdrawalSteps { display: flex; gap: 0.8rem; margin-bottom: 2.5rem; }
.WithdrawalStep { flex: 1; padding: 1.2rem 0.8rem; text-align: center; background: #F1F3F5; border-radius: 0.5rem; font-weight: 600; color: #62707C; }
.WithdrawalStep.Active { background: #094976; color: #FFF; }
.WithdrawalStep.Completed { background: #E9EDF0; color: #52616D; }
.WithdrawalIntro { margin-bottom: 2.5rem; }
.WithdrawalForm { position: relative; }
.WithdrawalGrid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.8rem; }
.WithdrawalField { margin-bottom: 2rem; min-width: 0; }
.WithdrawalField > label, .WithdrawalField legend { display: block; font-weight: 600; margin-bottom: 0.8rem; }
.WithdrawalField > label span, .WithdrawalField legend span { color: #bf3434; }
.WithdrawalField .textBox { display: block; width: 100%; box-sizing: border-box; }
.WithdrawalField textarea.textBox { min-height: 11rem; resize: vertical; }
.WithdrawalField small { display: block; margin-top: 0.7rem; color: #666; }
.WithdrawalFieldError { color: #bd2626; font-size: .9em; margin-top: 0.5rem; }
.WithdrawalChoice { padding: 0; border: 0; }
.WithdrawalChoice label { display: block; margin: 1rem 0; cursor: pointer; font-weight: normal; }
.WithdrawalChoice input { vertical-align: middle; margin-right: 0.7rem; }
.WithdrawalPartial[hidden] { display: none; }
.WithdrawalHint { font-size: .92em; color: #666; margin-top: -0.8rem; }
.WithdrawalPrivacy { margin-top: 2.2rem; }
.WithdrawalRequired { font-size: .9em; color: #666; }
.WithdrawalActions { margin-top: 2.2rem; }
.WithdrawalActions .Button { width: 100%; }
.WithdrawalActions .Button:disabled { opacity: .5; cursor: not-allowed; }
.WithdrawalPreviewNotice { font-size: .87em; color: #777; margin-top: 0.8rem; }
.WithdrawalHoneypot { position: absolute; width: 1px; height: 1px; overflow: hidden; left: -9999px; }
.WithdrawalDateWrapper { position: relative; }
.WithdrawalDateWrapper .textBox { width: 100%; padding-right: 4.5rem; cursor: pointer; }
.WithdrawalDateIcon { position: absolute; right: 1.2rem; top: 50%; transform: translateY(-50%); cursor: pointer; display: flex; align-items: center; justify-content: center; z-index: 1; }

@media (max-width: 650px) {
    .WithdrawalGrid { grid-template-columns: 1fr; gap: 0; }
    .WithdrawalStep { font-size: .8em; padding: 1rem 0.4rem; }
}

.WithdrawalGlobalError { color: #bd2626; margin-top: 1.2rem; }
.WithdrawalReview[hidden], .WithdrawalForm[hidden] { display: none; }
.WithdrawalReviewList { display: grid; grid-template-columns: minmax(15rem, 1fr) 2fr; gap: 0; margin: 2rem 0; }
.WithdrawalReviewList dt, .WithdrawalReviewList dd { margin: 0; padding: 1rem; border-bottom:1px solid #eee; overflow-wrap: anywhere; }
.WithdrawalReviewList dt { font-weight: 600; padding-left: 0; }
.WithdrawalConsent { margin: 2rem 0; }
.WithdrawalPrivacy .container, .WithdrawalConsent.container { font-weight: normal; }
.WithdrawalReviewActions { display: flex; flex-direction: column; gap: 1.2rem; }
.WithdrawalReviewActions #WithdrawalBack { width: auto; align-self: flex-start; }
.WithdrawalReviewActions #WithdrawalConfirm { width: 100%; }

@media (max-width: 650px) {
    .WithdrawalReviewList { grid-template-columns: 1fr; }
    .WithdrawalReviewList dt { padding-bottom: 0; border-bottom: 0; }
    .WithdrawalReviewList dd { padding-top: 0.3rem; padding-left: 0px; }
}

.WithdrawalBackButton { margin-bottom: 1.8rem; }
