.loader-mini {
    display: inline-block;
    position: relative;
    width: 5px;
    height: 10px;
    margin-left: 6px;
    margin-right: 9px;
    /*top: 12px;*/
    /*right: 25px;*/
}

.loader-mini div {
    display: inline-block;
    position: absolute;
    left: 2px;
    width: .33em;
    background: #adc0ce;
    animation: loader-mini 1.2s cubic-bezier(0, 0.5, 0.5, 1) infinite;
}
.loader-mini div:nth-child(1) {
    left: 2px;
    animation-delay: -0.24s;
}

.loader-mini div:nth-child(2) {
    left: 10px;
    animation-delay: -0.12s;
}
.loader-mini div:nth-child(3) {
    left: 18px;
}

.ld-mini-white div{
    background: #fff;
}

.loader-black div {
    background: #111;
}

.loader-kantar div{
    background: #d7aa47;
}

.confirm-phone { color: #6040ca; text-decoration: underline; }
.confirm-phone:hover { color: #49309c; }

/* Loaded with the partial: use stable, scoped rules regardless of asset order. */
.jconfirm.phone-verification-modal .jconfirm-box,
.cabinet-page .jconfirm .jconfirm-box:has(#smsForm) {
    box-sizing: border-box; width: 100%; max-width: 480px; padding: 28px !important;
    border: 1px solid #e6e3ee; border-radius: 18px;
    background: #fff; color: #29243b; box-shadow: 0 20px 70px #29243b30;
}
.jconfirm.phone-verification-modal .jconfirm-box-container { max-width: calc(100vw - 32px); }
.jconfirm.phone-verification-modal .jconfirm-content-pane { margin: 0; }
.jconfirm.phone-verification-modal .jconfirm-content { margin: 0 !important; text-align: left; }
.jconfirm.phone-verification-modal .jconfirm-buttons { display: none; }
.jconfirm.phone-verification-modal .jconfirm-closeIcon { top: 20px; right: 18px; }
#smsForm { text-align: left; margin: 0 !important; padding: 0; min-height: 0; }
#smsForm .sms-title {
    margin: 0 28px 12px 0; padding: 0; border: 0; color: #29243b;
    font-size: 24px; line-height: 1.3; text-align: left; text-transform: none;
}
#smsForm .sms-title::after { display: none; }
#smsForm .sms-description { margin: 0 0 24px; color: #70697d; font-size: 14px; line-height: 1.65; }
#smsForm .sms-description strong { display: block; color: #29243b; font-weight: 600; }
#smsForm .form-group { margin: 0; padding: 0; }
#smsForm label { display: block; margin: 0 0 8px; color: #665f72; font-size: 14px; text-transform: none; }
#smsForm .sms-code-input {
    box-sizing: border-box; width: 100%; height: 64px; padding: 12px 16px;
    border: 1px solid #d9d7e2; border-radius: 9px; background: #fff;
    color: #29243b; font-size: 28px; line-height: 1.3; letter-spacing: .2em; text-align: center;
}
#smsForm .sms-code-input:focus { border-color: #8064d4; outline: 0; box-shadow: 0 0 0 3px #6040ca14; }
#smsForm .sms-code-hint { margin: 8px 0 0; color: #70697d; font-size: 13px; }
#smsForm .sms-container { margin: 20px 0; color: #70697d; font-size: 13px; line-height: 1.6; text-align: center; }
#smsForm .timer { color: #514165; font-variant-numeric: tabular-nums; }
#smsForm .resend-sms, #smsForm .sms-back {
    display: inline-block; width: auto; min-height: 36px; margin: 0; padding: 6px 0;
    border: 0; background: transparent; color: #6040ca; font: inherit; font-size: 14px;
    line-height: 1.5; text-transform: none; text-decoration: underline; cursor: pointer;
}
#smsForm .sms-back { display: block; margin: 12px auto 0; }
#smsForm [hidden] { display: none !important; }
#smsForm .sms-confirm-button {
    display: flex; align-items: center; justify-content: center; gap: 10px;
    box-sizing: border-box; width: 100%; max-width: none; min-height: 48px;
    margin: 0; padding: 12px 16px; border: 0; border-radius: 9px;
    background: #242424; color: #fff; font-size: 14px; line-height: 1.5; text-transform: none;
}
#smsForm .sms-confirm-button:hover { background: #3d3d3d; }
#smsForm button:disabled { opacity: .6; cursor: wait; }
#smsForm .has-error .sms-code-input { border-color: #c7354b; }
#smsForm .help-block, #smsForm .sms-error { margin: 8px 0 0; color: #c7354b; font-size: 13px; line-height: 1.5; text-align: left; }
#smsForm .help-block:empty { display: none; }
#smsForm .sms-error:not([hidden]) { margin-bottom: 16px; }
.cabinet-dialog-form .sms-error { margin: 12px 0 0; color: #c7354b; font-size: 13px; line-height: 1.5; }
.cabinet-dialog-form .sms-success { margin: 0 0 20px; color: #376b50; font-size: 14px; line-height: 1.6; }
#smsForm button:focus-visible { outline: 2px solid #6040ca; outline-offset: 3px; }
@media (max-width: 480px) {
    .jconfirm.phone-verification-modal .jconfirm-box,
    .cabinet-page .jconfirm .jconfirm-box:has(#smsForm) { padding: 24px 20px !important; }
}

@keyframes loader-mini {
    0% {
        top: -1px;
        height: 17px;
    }
    50%, 100% {
        top: 3px;
        height: 7px;
    }
}