#wizardForm {
    position:relative;
    min-height:560px;
    overflow:hidden;
}

.wizard-step {
    position:absolute;
    width:100%;
    opacity:0;
    visibility:hidden;
    transform:translateX(40px);
    transition:.3s ease;
    top:0;
    left:0;
}

.wizard-step.active {
    position:relative;
    opacity:1;
    visibility:visible;
    transform:translateX(0);
}

#progressBar {
    transition:.35s ease;
}

.step-dot {
    width:30px;
    height:30px;
    border-radius:50%;
    background:#dee2e6;
    color:#6c757d;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:14px;
    font-weight:600;
    transition:.3s;
}

.step-dot.active {
    background:#0d6efd;
    color:#fff;
    transform:scale(1.15);
}

.step-dot.completed {
    background:#198754;
    color:#fff;
}

.register-icon {
    width:72px;
    height:72px;
    margin:auto;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#eef5ff;
    color:#0d6efd;
    font-size:2rem;
}

.account-card {
    border:2px solid #dee2e6;
    border-radius:16px;
    padding:25px;
    cursor:pointer;
    transition:.25s;
}

.account-card:hover,
.account-card.selected {
    border-color:#0d6efd;
    background:#f8f9ff;
    transform:translateY(-3px);
    box-shadow:0 8px 25px rgba(13,110,253,.08);
}

.account-check {
    display:none;
    position:absolute;
    right:15px;
    top:15px;
    font-size:1.3rem;
    color:#0d6efd;
}

.account-card.selected .account-check {
    display:block;
}

.account-icon {
    width:58px;
    height:58px;
    border-radius:14px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:1.8rem;
}

.user-icon {
    background:#eef5ff;
    color:#0d6efd;
}

.specialist-icon {
    background:#f3efff;
    color:#6f42c1;
}

.business-icon {
    background:#fff6df;
    color:#f59f00;
}

.business-divider {
    display:flex;
    align-items:center;
    gap:12px;
    color:#6c757d;
    font-size:.9rem;
    font-weight:600;
}

.business-divider::after {
    content:"";
    flex:1;
    height:1px;
    background:#dee2e6;
}

.profile-info-box {
    padding:14px 16px;
    border-radius:10px;
    background:#f5f3ff;
    border:1px solid #e4ddff;
    color:#5f4b8b;
    font-size:.9rem;
}

.summary-card {
    border:0;
    background:#f8f9fa;
    border-radius:12px;
    padding:18px;
    border-left:3px solid #0d6efd;
}

.account-summary {
    display:flex;
    align-items:center;
    gap:14px;
}

.summary-icon {
    width:48px;
    height:48px;
    border-radius:12px;
    background:#eef5ff;
    color:#0d6efd;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:1.4rem;
}

.summary-heading {
    display:flex;
    align-items:center;
    gap:8px;
    font-size:.9rem;
    font-weight:700;
    margin-bottom:12px;
}

.summary-row {
    display:flex;
    justify-content:space-between;
    gap:12px;
    margin-top:7px;
    font-size:.88rem;
}

.summary-row strong {
    color:#6c757d;
    font-weight:500;
}

.summary-description {
    padding:10px;
    background:#fff;
    border:1px solid #e9ecef;
    border-radius:8px;
    color:#6c757d;
    white-space:pre-line;
}

.password-strength .progress {
    background:#e9ecef;
}
/* ============================================================
   PASSWORD INPUT
   ============================================================ */

.input-group {
    position: relative;
    display: flex;
    flex-wrap: nowrap;
    width: 100%;
}

.input-group > .form-control {
    position: relative;
    flex: 1 1 auto;
    width: 1%;
    min-width: 0;
}


@media(max-width:576px) {

    #wizardForm {
        min-height:620px;
    }

    .account-card {
        padding:20px;
    }

    .summary-row {
        display:block;
    }

    .summary-row strong {
        display:block;
        margin-bottom:2px;
    }

}