/*
 * Allinks - auth pages (login, register, lost password...)
 * Prod identity: blue wave background + white 20px card, upgraded with a split pitch on desktop.
 */

.al-auth-body {
    min-height: 100vh;
    background:
        radial-gradient(40% 50% at 12% 10%, rgba(41, 128, 185, .14), transparent 70%),
        radial-gradient(36% 46% at 90% 6%, rgba(142, 68, 173, .11), transparent 70%),
        radial-gradient(45% 45% at 30% 90%, rgba(41, 128, 185, .07), transparent 70%),
        #f8fafd !important;
    background-repeat: no-repeat !important;
    background-attachment: fixed !important;
    color: var(--al-ink);
}

.al-auth {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

/* Top bar */
.al-auth-top {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    padding: 1.25rem 2rem;
}

.al-auth-back {
    justify-self: start;
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .5rem .9rem;
    border-radius: 999px;
    font-size: .9rem;
    font-weight: 500;
    color: #fff !important;
    text-decoration: none !important;
    background: rgba(255, 255, 255, .12);
    transition: background .2s var(--al-ease);
}

.al-auth-back:hover {
    background: rgba(255, 255, 255, .22);
}

.al-auth-brand {
    font-size: 1.85rem;
    font-weight: 700;
    letter-spacing: -.03em;
    line-height: 1;
    color: #fff !important;
    text-decoration: none !important;
}

.al-auth-brand img {
    max-height: 2.25rem;
}

/* Layout */
.al-auth-main {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4.5rem;
    width: 100%;
    max-width: 1120px;
    margin: 0 auto;
    padding: 2rem 1.25rem 3rem;
}

.al-auth-card {
    width: 100%;
    max-width: 460px;
    padding: 2.75rem 2.5rem;
    border-radius: 20px;
    background: #fff;
    box-shadow: var(--al-shadow-lg);
}

/* Pitch (login / register, desktop only) */
.al-auth-pitch {
    display: none;
    position: relative;
    flex: 1;
    max-width: 480px;
    color: #fff;
}

.al-auth-eyebrow {
    display: inline-block;
    margin-bottom: 1rem;
    padding: .35rem .8rem;
    border-radius: 999px;
    font-size: .8rem;
    font-weight: 600;
    letter-spacing: .02em;
    background: rgba(255, 255, 255, .16);
}

.al-auth-pitch h2 {
    margin: 0 0 1.5rem;
    font-size: clamp(2.2rem, 3.4vw, 3rem);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -.04em;
    color: #fff;
}

.al-auth-pitch ul {
    margin: 0 0 2.5rem;
    padding: 0;
    list-style: none;
}

.al-auth-pitch li {
    display: flex;
    align-items: center;
    gap: .65rem;
    margin-bottom: .75rem;
    font-size: 1.05rem;
    color: rgba(255, 255, 255, .92);
}

.al-auth-check {
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 1.6rem;
    height: 1.6rem;
    border-radius: 50%;
    font-size: .7rem;
    color: var(--al-primary);
    background: #fff;
}

/* Phone preview with floating cards */
.al-auth-stage {
    position: relative;
    height: 400px;
    max-width: 420px;
}

.al-auth-phone {
    position: absolute;
    top: 0;
    left: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .5rem;
    width: 220px;
    height: 400px;
    padding: 2.6rem 1rem 1rem;
    border: 8px solid #0d1220;
    border-radius: 40px;
    background: linear-gradient(180deg, #eaf3fb 0%, #f4effa 100%);
    box-shadow: 0 50px 80px -40px rgba(0, 15, 55, .75), 0 0 0 1px rgba(255, 255, 255, .15);
    color: #1d2433;
    transform: translateX(-50%);
    overflow: hidden;
}

.al-auth-phone-island {
    position: absolute;
    top: 8px;
    left: 50%;
    width: 70px;
    height: 20px;
    border-radius: 99px;
    background: #0d1220;
    transform: translateX(-50%);
}

.al-auth-phone-avatar {
    display: grid;
    place-items: center;
    width: 58px;
    height: 58px;
    border: 3px solid #fff;
    border-radius: 50%;
    background: var(--al-gradient);
    box-shadow: 0 10px 20px -10px rgba(41, 128, 185, .8);
    color: #fff;
    font-size: 1.05rem;
    font-weight: 700;
}

.al-auth-phone-name {
    display: flex;
    align-items: center;
    gap: .3rem;
    font-size: .92rem;
}

.al-auth-phone-name :is(i, svg) {
    color: #3897f0;
    font-size: .75rem;
}

.al-auth-phone-bio {
    margin-top: -.35rem;
    font-size: .7rem;
    color: #64748b;
}

.al-auth-phone-socials {
    display: flex;
    gap: .7rem;
    margin: .1rem 0 .3rem;
    font-size: .8rem;
}

.al-auth-phone-link {
    width: 100%;
    padding: .6rem;
    border: 1px solid rgba(27, 37, 89, .08);
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 6px 14px -10px rgba(27, 37, 89, .35);
    font-size: .7rem;
    font-weight: 600;
    text-align: center;
}

.al-auth-chip {
    position: absolute;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: .6rem;
    padding: .7rem .9rem;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 24px 40px -20px rgba(0, 15, 55, .55);
    color: var(--al-ink);
    animation: al-auth-float 6s ease-in-out infinite;
}

.al-auth-chip small {
    display: block;
    font-size: .68rem;
    color: var(--al-muted);
}

.al-auth-chip strong {
    display: block;
    font-size: .85rem;
}

.al-auth-chip.is-stats {
    top: 70px;
    left: 0;
    flex-direction: column;
    align-items: flex-start;
    gap: .1rem;
    width: 160px;
}

.al-auth-chip.is-stats strong {
    font-size: 1.25rem;
    font-weight: 800;
}

.al-auth-chip.is-stats em {
    font-size: .68rem;
    font-style: normal;
    color: #16a34a;
}

.al-auth-chip.is-stats svg {
    width: 100%;
    height: 26px;
}

.al-auth-chip.is-stats path {
    fill: none;
    stroke: var(--al-primary);
    stroke-width: 2.5;
    stroke-linecap: round;
}

.al-auth-chip.is-lead {
    right: 0;
    bottom: 60px;
    animation-delay: -3s;
}

.al-auth-chip-icon {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border-radius: 10px;
    background: rgba(142, 68, 173, .1);
    color: #8e44ad;
    font-size: .8rem;
}

@keyframes al-auth-float {
    50% { transform: translateY(-8px); }
}

@media (min-width: 992px) {
    .al-auth-main.has-pitch {
        justify-content: space-between;
    }

    .al-auth-pitch {
        display: block;
    }
}

@media (prefers-reduced-motion: reduce) {
    .al-auth-chip { animation: none; }
}

/* Card content */
.al-auth-head {
    margin-bottom: 1.75rem;
    text-align: center;
}

.al-auth-title,
.al-auth-card h1.h5 {
    margin: 0 0 .4rem;
    font-size: 1.75rem;
    font-weight: 800;
    letter-spacing: -.035em;
    text-align: center;
    color: var(--al-ink);
}

.al-auth-subtitle,
.al-auth-card h1.h5 + p {
    margin: 0;
    font-size: .95rem !important;
    text-align: center;
    color: var(--al-muted) !important;
}

.al-auth-card label {
    margin-bottom: .4rem;
    font-size: .85rem;
    font-weight: 600;
    color: var(--al-ink-2);
}

.al-auth-card .form-control {
    height: auto;
    padding: .8rem 1rem;
    border: 1px solid var(--al-line);
    border-radius: 12px;
    font-size: .95rem;
    color: var(--al-ink);
    background: var(--al-soft);
    transition: border-color .15s, box-shadow .15s, background .15s;
}

.al-auth-card .form-control::placeholder {
    color: var(--al-muted-2);
}

.al-auth-card .form-control:focus {
    border-color: var(--al-primary);
    background: #fff;
    box-shadow: 0 0 0 4px rgba(41, 128, 185, .14);
}

.al-auth-card .form-control.is-invalid {
    border-color: #e5484d;
}

.al-auth-otp {
    font-size: 1.4rem !important;
    font-weight: 700;
    letter-spacing: .35em;
    text-align: center;
}

.al-auth-card .custom-control-label {
    font-size: .85rem;
    font-weight: 400;
    line-height: 1.5;
    color: var(--al-muted);
}

.al-auth-card .custom-control-input:checked ~ .custom-control-label::before {
    border-color: var(--al-primary);
    background-color: var(--al-primary);
}

.al-auth-card a {
    color: var(--al-primary);
}

.al-auth-link-sm {
    font-size: .8rem;
    font-weight: 500;
    color: var(--al-muted) !important;
}

.al-auth-link-sm:hover {
    color: var(--al-primary) !important;
}

/* Submit (prod pill, full width) */
.al-auth-card .btn-primary {
    padding: .85rem 1.25rem;
    border: none;
    border-radius: 999px;
    font-size: 1rem;
    font-weight: 600;
    background: var(--al-primary);
    box-shadow: 0 12px 24px -10px rgba(41, 128, 185, .65);
    transition: transform .2s var(--al-ease), box-shadow .2s var(--al-ease), background .2s;
}

.al-auth-card .btn-primary:hover,
.al-auth-card .btn-primary:focus {
    background: var(--al-primary-dark);
    transform: translateY(-2px);
    box-shadow: 0 16px 28px -10px rgba(41, 128, 185, .75);
}

/* Social login */
.al-auth-social {
    display: grid;
    gap: .6rem;
}

.al-auth-social.is-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.al-auth-social-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    padding: .75rem 1rem;
    border: 1px solid var(--al-line);
    border-radius: 999px;
    font-size: .9rem;
    font-weight: 600;
    color: var(--al-ink) !important;
    text-decoration: none !important;
    background: #fff;
    transition: border-color .15s, background .15s, transform .15s;
}

.al-auth-social-btn:hover {
    border-color: var(--al-primary);
    background: var(--al-primary-soft);
    transform: translateY(-1px);
}

.al-auth-social-btn img {
    width: 18px;
    height: 18px;
}

.al-auth-social.is-grid .al-auth-social-btn span {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.al-auth-divider {
    display: flex;
    align-items: center;
    gap: .9rem;
    margin: 1.5rem 0;
    font-size: .8rem;
    color: var(--al-muted-2);
}

.al-auth-divider::before,
.al-auth-divider::after {
    content: "";
    flex: 1;
    height: 1px;
    background: var(--al-line);
}

/* Address claimed on the homepage */
.al-auth-claim {
    display: flex;
    align-items: center;
    gap: .6rem;
    margin-bottom: 1.5rem;
    padding: .75rem 1rem;
    border-radius: 12px;
    font-size: .875rem;
    color: var(--al-ink-2);
    background: var(--al-gradient-soft);
}

.al-auth-claim i {
    color: var(--al-primary);
}

.al-auth-claim strong {
    color: var(--al-primary);
}

.al-auth-switch {
    margin-top: 1.75rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--al-line);
    font-size: .9rem;
    text-align: center;
    color: var(--al-muted);
}

.al-auth-switch a {
    font-weight: 700;
}

/* Footer */
.al-auth-footer {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: .5rem 1.25rem;
    padding: 0 1rem 1.5rem;
    font-size: .8rem;
    color: rgba(255, 255, 255, .75);
}

.al-auth-footer a {
    color: rgba(255, 255, 255, .75) !important;
}

.al-auth-footer a:hover {
    color: #fff !important;
}

/* Mobile */
@media (max-width: 575.98px) {
    .al-auth-top {
        padding: 1rem;
    }

    .al-auth-back span {
        display: none;
    }

    .al-auth-main {
        align-items: flex-start;
        padding: .5rem .75rem 2rem;
    }

    .al-auth-card {
        padding: 2rem 1.25rem;
    }

    .al-auth-social.is-grid {
        grid-template-columns: 1fr;
    }
}

/* Light auth pages */
.al-auth::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -1;
    background-image:
        linear-gradient(rgba(27, 37, 89, .045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(27, 37, 89, .045) 1px, transparent 1px);
    background-size: 56px 56px;
    -webkit-mask-image: radial-gradient(70% 60% at 50% 30%, #000 20%, transparent 80%);
    mask-image: radial-gradient(70% 60% at 50% 30%, #000 20%, transparent 80%);
    pointer-events: none;
}

.al-auth { position: relative; isolation: isolate; }

.al-auth-back {
    color: var(--al-ink-2) !important;
    background: #fff;
    box-shadow: 0 0 0 1px var(--al-line);
}

.al-auth-back:hover { background: var(--al-soft); }

.al-auth-brand { color: var(--al-navy) !important; }

.al-auth-pitch,
.al-auth-pitch h2 { color: var(--al-navy); }

.al-auth-pitch li { color: var(--al-ink-2); }

.al-auth-check {
    color: #fff;
    background: var(--al-primary);
}

.al-auth-card {
    border: 1px solid rgba(27, 37, 89, .07);
    box-shadow: 0 1px 2px rgba(27, 37, 89, .05), 0 40px 80px -40px rgba(41, 85, 140, .35);
}

.al-auth-phone {
    background: linear-gradient(180deg, #eaf3fb 0%, #f4effa 100%);
    border-color: #1c2233;
    box-shadow: 0 1px 2px rgba(27, 37, 89, .08), 0 40px 70px -40px rgba(41, 85, 140, .5);
}

.al-auth-chip {
    border: 1px solid rgba(27, 37, 89, .07);
    box-shadow: 0 1px 2px rgba(27, 37, 89, .05), 0 24px 48px -28px rgba(41, 85, 140, .4);
}

.al-auth-footer,
.al-auth-footer a { color: var(--al-muted) !important; }

.al-auth-footer a:hover { color: var(--al-primary) !important; }

/* Same quiet hover as the rest of the product */
.al-auth-card .btn-primary:hover,
.al-auth-card .btn-primary:focus {
    transform: translateY(-1px);
    box-shadow: 0 1px 2px rgba(14, 21, 38, .14), 0 12px 24px -12px rgba(41, 128, 185, .6);
}

.al-auth-card a:not(.btn) {
    color: var(--al-primary);
}

.al-auth-card a:not(.btn):hover {
    color: var(--al-primary-dark);
}

@media (min-width: 992px) {
    .al-auth-main.has-pitch {
        align-items: flex-start;
        padding-top: 3.5rem;
    }

    .al-auth-main.has-pitch .al-auth-pitch {
        padding-top: 2.75rem;
    }
}

.al-auth-pitch .surlign {
    padding: 0;
    background: linear-gradient(90deg, #2980b9 0%, #6d5bd0 55%, #8e44ad 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
    animation: none;
}

/* Signup visual for visitors coming from the QR codes or smartlinks pages */
.al-auth-panel {
    position: absolute;
    top: 20px;
    left: 50%;
    display: flex;
    flex-direction: column;
    border: 1px solid rgba(27, 37, 89, .07);
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 1px 2px rgba(27, 37, 89, .08), 0 40px 70px -40px rgba(41, 85, 140, .5);
    color: #1d2433;
    transform: translateX(-50%);
}

.al-auth-flyer {
    align-items: center;
    width: 220px;
    padding: 1.5rem 1.25rem 1.25rem;
    text-align: center;
}

.al-auth-flyer small {
    font-size: .62rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--al-muted);
}

.al-auth-flyer strong {
    margin: .15rem 0 1rem;
    font-size: 1.15rem;
    font-weight: 800;
    color: var(--al-navy, #1b2559);
}

.al-auth-qr {
    display: block;
    width: 150px;
    height: 150px;
    padding: 10px;
    border: 2px solid rgba(41, 128, 185, .18);
    border-radius: 18px;
    color: #1f3a68;
}

.al-auth-qr svg {
    display: block;
    width: 100%;
    height: 100%;
}

.al-auth-flyer-cta {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    margin-top: .9rem;
    padding: .4rem .9rem;
    border-radius: 99px;
    background: var(--al-gradient);
    color: #fff;
    font-size: .72rem;
    font-weight: 700;
}

.al-auth-stage.is-qr .al-auth-flyer {
    top: 56px;
}

.al-auth-stage.is-qr .al-auth-chip.is-stats {
    top: auto;
    bottom: -14px;
    left: -10px;
}

.al-auth-stage.is-qr .al-auth-chip.is-lead {
    top: 0;
    right: -10px;
    bottom: auto;
}

.al-auth-rules {
    gap: .5rem;
    width: 250px;
    padding: 1.1rem;
}

.al-auth-rules-url {
    display: flex;
    align-items: center;
    gap: .45rem;
    margin-bottom: .35rem;
    padding: .6rem .75rem;
    border-radius: 12px;
    background: #f3f6fb;
    font-size: .78rem;
    color: var(--al-muted);
}

.al-auth-rules-url b {
    color: var(--al-navy, #1b2559);
}

.al-auth-rules-url :is(i, svg) {
    color: var(--al-primary);
    font-size: .7rem;
}

.al-auth-rule {
    display: grid;
    grid-template-columns: 1.1rem 1fr auto;
    align-items: center;
    gap: .55rem;
    padding: .55rem .7rem;
    border: 1px solid rgba(27, 37, 89, .08);
    border-radius: 12px;
    font-size: .74rem;
    font-weight: 600;
    animation: al-auth-rule 8s infinite;
}

.al-auth-rule :is(i, svg) {
    color: var(--al-muted);
    font-size: .8rem;
}

.al-auth-rule em {
    font-size: .68rem;
    font-style: normal;
    font-weight: 500;
    color: var(--al-muted);
}

.al-auth-rule:nth-child(3) { animation-delay: 2s; }
.al-auth-rule:nth-child(4) { animation-delay: 4s; }
.al-auth-rule:nth-child(5) { animation-delay: 6s; }

@keyframes al-auth-rule {
    0%, 25% { border-color: rgba(41, 128, 185, .45); background: rgba(41, 128, 185, .06); box-shadow: 0 8px 18px -12px rgba(41, 128, 185, .7); }
    30%, 100% { border-color: rgba(27, 37, 89, .08); background: #fff; box-shadow: none; }
}

.al-auth-stage.is-smartlinks .al-auth-chip.is-stats {
    top: auto;
    bottom: 10px;
}

.al-auth-stage.is-smartlinks .al-auth-chip.is-lead {
    top: -10px;
    right: -10px;
    bottom: auto;
}

@media (prefers-reduced-motion: reduce) {
    .al-auth-rule { animation: none; }
}

/* Signup visual for visitors coming from the Linktree import */
.al-auth-lt {
    top: 46px;
    left: 26%;
    align-items: center;
    gap: .5rem;
    width: 170px;
    padding: .9rem .8rem 1.1rem;
    background: #f4f5f2;
    rotate: -7deg;
    filter: saturate(.6);
}

.al-auth-lt-url {
    align-self: stretch;
    margin-bottom: .35rem;
    padding: .3rem .5rem;
    border-radius: 99px;
    font-size: .6rem;
    color: #6b7280;
    background: #fff;
    text-align: center;
}

.al-auth-lt-url :is(i, svg) {
    font-size: .55rem;
}

.al-auth-lt-avatar {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    margin-bottom: .3rem;
    border-radius: 50%;
    font-size: .8rem;
    font-weight: 700;
    color: #fff;
    background: #9ca3af;
}

.al-auth-lt-link {
    align-self: stretch;
    height: 26px;
    border-radius: 99px;
    background: #fff;
    animation: al-auth-lt-scan 6s infinite;
}

.al-auth-lt-link:nth-of-type(4) { animation-delay: .4s; }
.al-auth-lt-link:nth-of-type(5) { animation-delay: .7s; }

@keyframes al-auth-lt-scan {
    0%, 6%, 20%, 100% { box-shadow: none; }
    10% { box-shadow: 0 0 0 2px rgba(41, 128, 185, .55); }
}

.al-auth-stage.is-linktree .al-auth-phone {
    z-index: 1;
    left: 64%;
}

.al-auth-phone.is-importing > :not(.al-auth-phone-island) {
    animation: al-auth-import-in 6s infinite both;
}

.al-auth-phone.is-importing .al-auth-phone-avatar { animation-delay: .3s; }
.al-auth-phone.is-importing .al-auth-phone-name { animation-delay: .45s; }
.al-auth-phone.is-importing .al-auth-phone-bio { animation-delay: .55s; }
.al-auth-phone.is-importing .al-auth-phone-socials { animation-delay: .7s; }
.al-auth-phone.is-importing .al-auth-phone-link:nth-of-type(6) { animation-delay: .95s; }
.al-auth-phone.is-importing .al-auth-phone-link:nth-of-type(7) { animation-delay: 1.2s; }
.al-auth-phone.is-importing .al-auth-phone-link:nth-of-type(8) { animation-delay: 1.45s; }

@keyframes al-auth-import-in {
    0%, 4% { opacity: 0; transform: translateY(8px) scale(.97); }
    14%, 86% { opacity: 1; transform: none; }
    94%, 100% { opacity: 0; transform: none; }
}

.al-auth-chip.is-import {
    bottom: 20px;
    left: 0;
    align-items: flex-start;
    width: 210px;
    animation-delay: -2s;
}

.al-auth-chip.is-import > span:last-child {
    flex: 1;
}

.al-auth-stage.is-linktree .al-auth-chip-icon {
    color: #fff;
    background: var(--al-primary);
}

.al-auth-import-progress {
    display: block;
    height: 5px;
    margin-top: .45rem;
    border-radius: 99px;
    background: rgba(27, 37, 89, .08);
    overflow: hidden;
}

.al-auth-import-progress span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: var(--al-primary);
    transform-origin: left;
    animation: al-auth-import-progress 6s infinite;
}

@keyframes al-auth-import-progress {
    0% { transform: scaleX(0); }
    35%, 88% { transform: scaleX(1); opacity: 1; }
    96%, 100% { transform: scaleX(1); opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
    .al-auth-lt-link,
    .al-auth-phone.is-importing > *,
    .al-auth-import-progress span { animation: none; }
}

/* Register pitch: affiliate product */
.al-auth-phone-badge {
    position: absolute;
    left: 50%;
    bottom: 14px;
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    padding: .35rem .6rem;
    border-radius: 999px;
    background: #fff;
    box-shadow: 0 0 0 2px rgba(41, 128, 185, .55), 0 8px 18px rgba(15, 23, 42, .2);
    color: #1d2433;
    font-size: .6rem;
    font-weight: 600;
    white-space: nowrap;
    transform: translateX(-50%);
    animation: al-auth-badge-pulse 2.6s ease-in-out infinite;
}

.al-auth-phone-badge b { color: var(--al-primary); font-weight: 800; }
.al-auth-phone-badge .al-auth-phone-badge-mark { width: .85rem; height: .85rem; max-width: none; border-radius: 28%; }

@keyframes al-auth-badge-pulse {
    0%, 100% { box-shadow: 0 0 0 2px rgba(41, 128, 185, .55), 0 8px 18px rgba(15, 23, 42, .2), 0 0 0 0 rgba(41, 128, 185, .4); }
    50% { box-shadow: 0 0 0 2px rgba(41, 128, 185, .55), 0 8px 18px rgba(15, 23, 42, .2), 0 0 0 10px rgba(41, 128, 185, 0); }
}

.al-auth-chip-icon.is-green { background: #e8f8ee; color: #16a34a; }
.al-auth-stage.is-affiliate .al-auth-chip.is-lead { bottom: 78px; }

@media (prefers-reduced-motion: reduce) {
    .al-auth-phone-badge { animation: none; }
}

.al-auth-stage.is-affiliate .al-auth-chip.is-stats { width: auto; min-width: 170px; }
.al-auth-stage.is-affiliate .al-auth-chip.is-stats strong { white-space: nowrap; }

.al-auth-chip-icon.is-green { background: #e3f0fa; color: var(--al-primary); }

/* Register: who sent the visitor here (page badge or affiliate link) */
.al-auth-referrer {
    display: flex;
    align-items: center;
    gap: .75rem;
    margin-bottom: 1.25rem;
    padding: .7rem .85rem;
    border: 1px solid var(--al-line);
    border-radius: 14px;
    background: #f8fafc;
    font-size: .88rem;
    color: var(--al-ink);
}

.al-auth-referrer small { display: block; font-size: .75rem; color: var(--al-muted); }

.al-auth-referrer-avatar {
    display: grid;
    flex: none;
    place-items: center;
    width: 40px;
    height: 40px;
    border: 2px solid #fff;
    border-radius: 50%;
    background: var(--al-gradient, linear-gradient(135deg, #2980b9, #8e44ad)) center / cover no-repeat;
    box-shadow: 0 4px 10px -4px rgba(15, 23, 42, .3);
    color: #fff;
    font-weight: 800;
}
