.wizard-body { margin:0; padding:0 0 12px; font-family:Arial,sans-serif; color:#15364e; }
.wizard-body .sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.wizard-window { width:var(--portal-width); margin:12px auto 0; background:white; border:1px solid #cdd9e1; border-radius:8px; overflow:hidden; }
.wizard-header { display:flex; align-items:center; gap:12px; padding:12px 20px; background:var(--portal-header-background); color:white; }
.wizard-header img { width:48px; height:48px; object-fit:contain; }
.wizard-header h1 { margin:0; font-size:26px; font-weight:400; color:white; }
.wizard-header sup { font-size:12px; }
.wizard-header h1 span { font-size:19px; margin-left:14px; display:inline-block; }
.wizard-content { padding:20px; }
.wizard-content h2, .wizard-content legend { font-size:22px; font-weight:400; margin:0 0 12px; }
.wizard-content h3 { font-size:20px; font-weight:400; margin:0 0 12px; }
.wizard-content fieldset { border:0; margin:0 0 22px; padding:0; min-width:0; }
.wizard-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 20px; margin-bottom:16px; }
.wizard-field label { display:block; margin:0 0 5px; font-weight:600; }
.wizard-field input, .wizard-field select, .wizard-field textarea { width:100%; min-width:0; box-sizing:border-box; }
.wizard-instructions { font-size:12px; color:#686363; margin:6px 0 0; line-height:1.45; }
.wizard-instructions a { white-space:nowrap; }
.wizard-inline-link { display:inline; padding:0; border:0; background:none; color:var(--brand,#006cb5); cursor:pointer; font:inherit; text-decoration:underline; }
.wizard-inline-link:hover { color:#00477b; }
.wizard-address input { display:block; margin-bottom:6px; }
.wizard-passwords { max-width:430px; }
.wizard-company { max-width:350px; }
.wizard-login input[type=email] { max-width:420px; }
.wizard-login input[type=password] { max-width:200px; }
.wizard-login .wizard-field { margin:22px 0; }
.wizard-actions { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:12px; margin-top:26px; }
.wizard-actions .button { min-width:130px; text-align:center; }
.wizard-terms { display:flex; gap:10px; align-items:flex-start; margin:20px 0; }
.wizard-terms input { flex:none; width:22px; height:22px; margin:2px 0 0; }
.wizard-feedback { margin-top:12px; color:#b42318; }
.wizard-feedback:empty { display:none; }
.wizard-pin input { max-width:250px; font-size:28px; text-align:center; letter-spacing:4px; }
.wizard-phone-list { display:grid; gap:12px; max-width:460px; margin:24px auto; }
.wizard-phone-list .button { width:100%; }
.quote-option { margin:12px 0; }
.quote-option label { margin-left:6px; font-weight:600; }
.quote-option p { margin:5px 0 0 25px; font-size:12px; color:#686363; }
.quote-contact { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 20px; }
.quote-contact label { display:block; margin-bottom:5px; }
.quote-contact input { width:100%; }
.quote-contact small { display:block; color:#686363; margin-top:5px; }
.wizard-promo-row { display:flex; align-items:center; gap:8px; }
.wizard-promo-row input { max-width:180px; }
@media(max-width:540px) { .wizard-content { padding:16px; } .wizard-row,.quote-contact { grid-template-columns:1fr; } .wizard-header { padding:10px 14px; } .wizard-header h1 { font-size:22px; } .wizard-header h1 span { display:block; margin:4px 0 0; font-size:17px; } }
@media(max-width:480px) { .wizard-window { margin-top:8px; } }
@media print { .wizard-body { padding:0; } .wizard-window { width:100%; margin:0; border:0; } }
