.ad-flow-header {
    width: 100%;
    margin: 0 auto 26px;
}

.ad-flow-heading {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 22px;
}

.ad-flow-heading-icon {
    display: grid;
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    place-items: center;
    border-radius: 15px;
    color: #fff;
    background: linear-gradient(135deg, #4f67ed, #3156d3);
    box-shadow: 0 9px 22px rgba(49, 86, 211, .2);
}

.ad-flow-heading h1 {
    margin: 0;
    color: #111827;
    font-size: 27px;
    font-weight: 800;
    line-height: 1.2;
}

.ad-flow-heading p {
    max-width: 720px;
    margin: 5px 0 0;
    color: #64748b;
    font-size: 15px;
    line-height: 1.55;
}

.ad-flow-steps {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 0;
    padding: 0;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(15, 23, 42, .045);
    list-style: none;
}

.ad-flow-step {
    position: relative;
    display: flex;
    align-items: center;
    min-width: 0;
    gap: 11px;
    padding: 17px 18px;
}

.ad-flow-step:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 18px;
    right: 0;
    bottom: 18px;
    width: 1px;
    background: #e8edf4;
}

.ad-flow-step-number {
    display: grid;
    flex: 0 0 32px;
    width: 32px;
    height: 32px;
    place-items: center;
    border: 2px solid #d7deea;
    border-radius: 50%;
    color: #7b879a;
    background: #fff;
    font-size: 13px;
    font-weight: 800;
}

.ad-flow-step-copy { min-width: 0; }
.ad-flow-step-copy strong,
.ad-flow-step-copy small { display: block; }
.ad-flow-step-copy strong { color: #657189; font-size: 14px; line-height: 1.3; }
.ad-flow-step-copy small { margin-top: 3px; color: #9aa5b5; font-size: 12px; line-height: 1.3; }

.ad-flow-step.is-current { background: #f7f9ff; }
.ad-flow-step.is-current:first-child { border-radius: 15px 0 0 15px; }
.ad-flow-step.is-current:last-child { border-radius: 0 15px 15px 0; }
.ad-flow-step.is-current .ad-flow-step-number { border-color: #4263df; color: #fff; background: #4263df; box-shadow: 0 0 0 5px rgba(66, 99, 223, .1); }
.ad-flow-step.is-current .ad-flow-step-copy strong { color: #263f9f; }
.ad-flow-step.is-current .ad-flow-step-copy small { color: #6476b5; }
.ad-flow-step.is-complete .ad-flow-step-number { border-color: #22a772; color: #fff; background: #22a772; }
.ad-flow-step.is-complete .ad-flow-step-copy strong { color: #167854; }

.ads-create-auth-page {
    width: 100%;
    max-width: 780px;
    margin: 0 auto;
    align-items: stretch !important;
}

.ads-create-auth-page .cs_auth_card { margin: 0 auto; }
.ads-create-auth-page .cs_auth_terms { max-width: 620px; margin-left: auto; margin-right: auto; }

.ads-status-flow {
    max-width: 1140px;
    margin: 30px auto 0;
    padding: 0 12px;
}

@media (max-width: 767.98px) {
    .ad-flow-heading { align-items: flex-start; }
    .ad-flow-heading h1 { font-size: 23px; }
    .ad-flow-steps { grid-template-columns: 1fr; }
    .ad-flow-step { padding: 13px 16px; }
    .ad-flow-step:not(:last-child)::after { top: auto; right: 16px; bottom: 0; left: 16px; width: auto; height: 1px; }
    .ad-flow-step.is-current:first-child,
    .ad-flow-step.is-current:last-child { border-radius: 15px; }
}
