:root {
    --tabbo-auth-navy: #002940;
    --tabbo-auth-blue: #159bd7;
    --tabbo-auth-green: #8eb429;
    --tabbo-auth-field: #f7f7f7;
    --tabbo-auth-muted: #77828a;
}
html.tabbo-auth-modal-open.tabbo-auth-modal-scrollbar-visible {
    scrollbar-gutter: stable;
}
body.tabbo-auth-modal-open {
    overflow: hidden !important;
}
body.tabbo-auth-modal-open,
body.tabbo-auth-modal-open .fixed-bottom,
body.tabbo-auth-modal-open .fixed-top,
body.tabbo-auth-modal-open .is-fixed,
body.tabbo-auth-modal-open .sticky-top {
    padding-left: var(--tabbo-auth-original-padding-left, 0) !important;
    padding-right: var(--tabbo-auth-original-padding-right, 0) !important;
}
body.tabbo-auth-modal-open .sticky-top {
    margin-left: var(--tabbo-auth-original-margin-left, 0) !important;
    margin-right: var(--tabbo-auth-original-margin-right, 0) !important;
}
.tabbo-auth-modal {
    color: var(--tabbo-auth-navy);
    font-family: Vazirmatn, Cairo, Segoe UI, Tahoma, Arial, sans-serif;
}
.tabbo-auth-modal.modal {
    --bs-modal-zindex: 1090;
    --bs-modal-border-width: 0;
    --bs-modal-border-radius: 4px;
}
.modal-backdrop:has(+ .tabbo-auth-modal),
.tabbo-auth-modal + .modal-backdrop {
    --bs-backdrop-zindex: 1085;
}
.tabbo-auth-modal .modal-dialog {
    margin-block: 14px !important;
    margin-inline: auto !important;
    max-width: 1000px !important;
    width: min(calc(100vw - 48px), 1000px) !important;
}
.tabbo-auth-modal .modal-content {
    background: #fff;
    border: 0;
    border-radius: 4px;
    box-shadow: 0 1px 2px rgba(0, 41, 64, 0.08);
    min-height: 295px;
    overflow: hidden;
}
.tabbo-auth-close {
    background: transparent;
    border: 0;
    color: var(--tabbo-auth-navy);
    cursor: pointer;
    display: grid;
    font: 400 30px/1 Arial, sans-serif;
    height: 29px;
    left: 0;
    padding: 0;
    place-items: center;
    position: absolute;
    top: 1px;
    width: 29px;
    z-index: 4;
}
.tabbo-auth-close span {
    display: block;
    transform: translateY(-1px);
}
.tabbo-auth-layout {
    direction: inherit;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: clamp(25px, 4.1vw, 37px) clamp(22px, 6vw, 48px)
        clamp(24px, 4vw, 36px);
}
.tabbo-auth-pane {
    border-inline-end: 2px solid #f1f2f2;
    display: flex;
    flex-direction: column;
    min-height: clamp(248px, 42vw, 354px);
    padding-inline-end: clamp(18px, 3vw, 26px);
}
.tabbo-auth-state {
    display: none;
    margin-inline: auto;
    max-width: 520px;
    width: 100%;
}
.tabbo-auth-state.is-active {
    display: block;
}
.tabbo-auth-state-spacious {
    padding-top: 1px;
}
.tabbo-auth-title {
    font-size: 25px;
    font-weight: 500;
    line-height: 1.45;
    margin: 0 0 clamp(12px, 2vw, 19px);
}
.tabbo-auth-description,
.tabbo-auth-title {
    color: var(--tabbo-auth-navy);
    text-align: center;
}
.tabbo-auth-description {
    font-size: 18px;
    font-weight: 400;
    line-height: 1.85;
    margin: -3px 0 clamp(11px, 1.8vw, 17px);
}
.tabbo-auth-form {
    display: grid;
    gap: clamp(7px, 1.15vw, 10px);
    margin: 0;
}
.tabbo-auth-field {
    display: grid;
    gap: 4px;
}
.tabbo-auth-field > label {
    color: var(--tabbo-auth-navy);
    font-size: 18px;
    font-weight: 400;
    line-height: 1.35;
    margin: 0;
    text-align: start;
}
.tabbo-auth-country,
.tabbo-auth-country-readonly,
.tabbo-auth-field input {
    height: 48px;
}
.tabbo-auth-field input {
    background: var(--tabbo-auth-field);
    border: 1px solid transparent;
    border-radius: 3px;
    color: var(--tabbo-auth-navy);
    font-family: inherit;
    font-size: 18px;
    font-weight: 400;
    min-width: 0;
    outline: 0;
    padding: 0 10px;
    text-align: start;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
    width: 100%;
}
.tabbo-auth-field input::-moz-placeholder {
    color: #878787;
    opacity: 1;
}
.tabbo-auth-field input::placeholder {
    color: #878787;
    opacity: 1;
}
.tabbo-auth-field input:focus {
    border-color: var(--tabbo-auth-blue);
    box-shadow: 0 0 0 2px rgba(21, 155, 215, 0.1);
}
.tabbo-auth-field input[readonly] {
    color: #818181;
    direction: ltr;
    text-align: center;
}
.tabbo-auth-phone-field {
    direction: inherit;
    display: grid;
    gap: 3px;
    grid-template-columns: minmax(105px, 38%) minmax(0, 62%);
}
.tabbo-auth-country {
    align-items: center;
    background: var(--tabbo-auth-field);
    border: 0;
    border-radius: 3px;
    color: var(--tabbo-auth-navy);
    cursor: pointer;
    display: flex;
    font-size: 18px;
    font-weight: 400;
    gap: 4px;
    justify-content: flex-start;
    padding-block: 0;
    padding-inline: 7px 17px;
    position: relative;
}
.tabbo-auth-country select {
    border: 0;
    cursor: pointer;
    height: 100%;
    inset: 0;
    opacity: 0;
    outline: 0;
    position: absolute;
    width: 100%;
    z-index: 2;
}
.tabbo-auth-country [data-auth-country-code],
.tabbo-auth-country-readonly [data-auth-phone-country] {
    direction: ltr;
    unicode-bidi: isolate;
}
.tabbo-auth-country img {
    flex: 0 0 auto;
    height: 12px;
    -o-object-fit: cover;
    object-fit: cover;
    width: 17px;
}
.tabbo-auth-select-chevron {
    border-bottom: 1px solid #527080;
    border-right: 1px solid #527080;
    height: 6px;
    inset-inline-end: 7px;
    position: absolute;
    top: 50%;
    transform: translateY(-65%) rotate(45deg);
    width: 6px;
}
.tabbo-auth-country-readonly {
    cursor: default;
}
.tabbo-auth-phone-field > input {
    direction: ltr;
}
.tabbo-auth-phone-field > input:not([readonly]) {
    unicode-bidi: plaintext;
}
.tabbo-auth-modal .modal-content[dir="rtl"] .tabbo-auth-phone-field > input {
    text-align: right;
}
.tabbo-auth-modal .modal-content[dir="ltr"] .tabbo-auth-phone-field > input {
    text-align: left;
}
.tabbo-auth-icon-field,
.tabbo-auth-password-field {
    position: relative;
}
.tabbo-auth-icon-field input,
.tabbo-auth-password-field input {
    padding-inline: 29px;
}
.tabbo-auth-password-field input {
    padding-inline-end: 38px;
    padding-inline-start: 44px;
}
.tabbo-auth-input-icon {
    height: 12px;
    inset-inline-start: 9px;
    opacity: 0.52;
    width: 10px;
}
.tabbo-auth-input-icon,
.tabbo-auth-lock-slot {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1;
}
.tabbo-auth-lock-slot {
    align-items: center;
    border-inline-end: 1px solid rgba(0, 41, 64, 0.45);
    display: flex;
    height: 22px;
    inset-inline-start: 8px;
    justify-content: center;
    pointer-events: none;
    width: 28px;
}
.tabbo-auth-lock-icon {
    display: block;
    height: 15px;
    -o-object-fit: contain;
    object-fit: contain;
    width: 13px;
}
.tabbo-auth-user-icon:before {
    border: 1px solid var(--tabbo-auth-navy);
    border-radius: 50%;
    content: "";
    height: 5px;
    left: 3px;
    position: absolute;
    top: 0;
    width: 5px;
}
.tabbo-auth-user-icon:after {
    border: 1px solid var(--tabbo-auth-navy);
    border-radius: 6px 6px 1px 1px;
    bottom: 0;
    content: "";
    height: 5px;
    inset-inline-start: 0;
    position: absolute;
    width: 10px;
}
.tabbo-auth-password-toggle {
    background: transparent;
    border: 0;
    bottom: 0;
    color: var(--tabbo-auth-navy);
    cursor: pointer;
    display: grid;
    inset-inline-end: 2px;
    opacity: 1;
    padding: 0;
    place-items: center;
    position: absolute;
    top: 0;
    width: 36px;
}
.tabbo-auth-password-eye-icon {
    display: block;
    height: 15px;
    -o-object-fit: contain;
    object-fit: contain;
    width: 16px;
}
.tabbo-auth-button {
    align-items: center;
    border: 1px solid var(--tabbo-auth-blue);
    border-radius: 3px;
    cursor: pointer;
    display: flex;
    font-family: inherit;
    font-size: 18px;
    font-weight: 400;
    justify-content: center;
    line-height: 1.3;
    min-height: 46px;
    padding: 3px 12px;
    text-align: center;
    transition: background-color 0.15s ease, color 0.15s ease,
        opacity 0.15s ease;
    width: 100%;
}
.tabbo-auth-button:disabled {
    cursor: wait;
    opacity: 0.65;
}
.tabbo-auth-button-primary {
    background: var(--tabbo-auth-blue);
    color: #fff;
}
.tabbo-auth-button-primary:focus,
.tabbo-auth-button-primary:hover {
    background: #0f8cc6;
    color: #fff;
}
.tabbo-auth-button-outline {
    background: #fff;
    color: var(--tabbo-auth-blue);
}
.tabbo-auth-button-danger {
    background: #fff;
    border-color: #ee2d45;
    color: #e3223b;
}
.tabbo-auth-link {
    background: transparent;
    border: 0;
    border-bottom: 1px dotted var(--tabbo-auth-blue);
    color: var(--tabbo-auth-blue);
    cursor: pointer;
    font-family: inherit;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.6;
    margin: 1px 0 0;
    padding: 0;
    width: -moz-max-content;
    width: max-content;
}
.tabbo-auth-forgot-link {
    justify-self: start;
}
.tabbo-auth-separator {
    align-items: center;
    color: var(--tabbo-auth-navy);
    display: flex;
    font-size: 18px;
    font-weight: 400;
    gap: 10px;
    margin: clamp(10px, 1.8vw, 15px) 0 clamp(8px, 1.3vw, 11px);
    width: 100%;
}
.tabbo-auth-separator:after,
.tabbo-auth-separator:before {
    background: var(--tabbo-auth-navy);
    content: "";
    flex: 1;
    height: 1px;
}
.tabbo-auth-separator span {
    display: inline !important;
    flex: 0 0 auto;
    font: inherit !important;
    line-height: inherit !important;
}
.tabbo-auth-socials {
    display: grid;
    gap: 5px;
}
.tabbo-auth-social-button {
    align-items: center;
    background: #fff;
    border: 1px solid var(--tabbo-auth-blue);
    border-radius: 3px;
    color: var(--tabbo-auth-navy);
    cursor: pointer;
    display: flex;
    font-family: inherit;
    font-size: 18px;
    font-weight: 400;
    gap: 10px;
    justify-content: center;
    min-height: 46px;
    padding: 2px 8px;
    position: relative;
    width: 100%;
}
.tabbo-auth-social-label {
    display: block !important;
    font: inherit !important;
    line-height: 1.4 !important;
}
.tabbo-auth-facebook-icon {
    background: #4267a9;
    border-radius: 50%;
    color: #fff;
    display: grid;
    flex: 0 0 22px;
    font: 700 17px/22px Arial, sans-serif !important;
    height: 22px;
    place-items: center;
    width: 22px;
}
.tabbo-auth-google-icon {
    background: conic-gradient(
        from -45deg,
        #4285f4 0 25%,
        #34a853 0 42%,
        #fbbc05 0 65%,
        #ea4335 0 82%,
        #4285f4 0
    );
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
    display: grid;
    flex: 0 0 22px;
    font: 700 20px/22px Arial, sans-serif !important;
    height: 22px;
    place-items: center;
    width: 22px;
}
.tabbo-auth-otp {
    display: grid;
    gap: clamp(7px, 1.6vw, 14px);
    grid-template-columns: repeat(6, minmax(0, 1fr));
    margin: 0 0 3px;
}
.tabbo-auth-otp input {
    aspect-ratio: 1/1;
    background: #fff;
    border: 1px solid #cfd3d5;
    border-radius: 3px;
    color: var(--tabbo-auth-navy);
    font-family: inherit;
    font-size: 18px;
    font-weight: 600;
    outline: 0;
    padding: 0;
    text-align: center;
    width: 100%;
}
.tabbo-auth-otp input:focus {
    border-color: var(--tabbo-auth-blue);
    box-shadow: 0 0 0 2px rgba(21, 155, 215, 0.1);
}
.tabbo-auth-resend {
    background: transparent;
    border: 0;
    color: var(--tabbo-auth-navy);
    cursor: pointer;
    font-family: inherit;
    font-size: 18px;
    font-weight: 400;
    margin: 0 auto clamp(8px, 1.3vw, 12px);
    padding: 0;
    width: -moz-max-content;
    width: max-content;
}
.tabbo-auth-resend:disabled {
    cursor: default;
    opacity: 1;
}
.tabbo-auth-resend [data-auth-countdown] {
    display: inline !important;
    font: inherit !important;
    line-height: inherit !important;
}
.tabbo-auth-state-spacious .tabbo-auth-form {
    gap: clamp(8px, 1.2vw, 11px);
}
.tabbo-auth-terms {
    color: var(--tabbo-auth-navy);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.75;
    margin: auto auto 0;
    max-width: 520px;
    padding-top: clamp(14px, 2.8vw, 26px);
    text-align: start !important;
    width: 100%;
}
.tabbo-auth-terms a {
    border-bottom: 1px solid rgba(21, 155, 215, 0.45);
    color: var(--tabbo-auth-blue);
    text-decoration: none;
}
.tabbo-auth-benefits {
    padding-inline-start: clamp(18px, 3vw, 26px);
    text-align: start;
}
.tabbo-auth-benefits h3 {
    color: var(--tabbo-auth-green);
    font-size: 25px;
    font-weight: 500;
    line-height: 1.45;
    margin: 0 0 clamp(12px, 2vw, 19px);
    text-align: start;
}
.tabbo-auth-benefits ul {
    display: grid;
    gap: clamp(12px, 2.25vw, 20px);
    list-style: none;
    margin: 0;
    padding: 0;
}
.tabbo-auth-benefits li {
    align-items: center;
    color: var(--tabbo-auth-navy);
    display: flex;
    font-size: 18px;
    font-weight: 400;
    gap: clamp(7px, 1.1vw, 11px);
    justify-content: flex-start;
    line-height: 1.45;
    text-align: start;
    white-space: normal;
}
.tabbo-auth-benefits li img {
    flex: 0 0 auto;
    height: clamp(14px, 1.9vw, 19px);
    width: clamp(14px, 1.9vw, 19px);
}
.tabbo-auth-alert {
    background: #fff5f6;
    border: 1px solid #ed6b7c;
    border-radius: 3px;
    color: #b4172d;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
    margin: 0 auto 8px;
    max-width: 520px;
    padding: 6px 9px;
    text-align: start;
    width: 100%;
}
.tabbo-auth-state-success {
    min-height: 160px;
}
.tabbo-auth-state-success .tabbo-auth-title {
    align-items: center;
    display: flex;
    gap: 9px;
    justify-content: center;
}
.tabbo-auth-success-icon {
    background: var(--tabbo-auth-green);
    border-radius: 4px;
    color: #fff;
    display: grid;
    flex: 0 0 18px;
    font: 700 12px/1 Arial, sans-serif;
    height: 18px;
    place-items: center;
    width: 18px;
}
.tabbo-auth-success-copy {
    margin-bottom: clamp(11px, 1.8vw, 16px);
    text-align: start;
}
.tabbo-auth-state-success .tabbo-auth-button + .tabbo-auth-button {
    margin-top: 8px;
}
.tabbo-auth-modal.is-busy .tabbo-auth-close,
.tabbo-auth-modal.is-busy [data-bs-dismiss="modal"] {
    pointer-events: none;
}
@media (max-width: 560px) {
    .tabbo-auth-modal .modal-dialog {
        width: calc(100vw - 24px) !important;
    }
    .tabbo-auth-modal .modal-content {
        max-height: calc(100vh - 24px);
        overflow-y: auto;
    }
    .tabbo-auth-layout {
        grid-template-columns: 1fr;
        padding: 34px 20px 24px;
    }
    .tabbo-auth-pane {
        border-inline-end: 0;
        min-height: 0;
        padding-inline-end: 0;
    }
    .tabbo-auth-alert,
    .tabbo-auth-state,
    .tabbo-auth-terms {
        max-width: none;
        width: 100%;
    }
    .tabbo-auth-benefits {
        display: none;
    }
    .tabbo-auth-terms {
        padding-top: 20px;
    }
}
@media (prefers-reduced-motion: reduce) {
    .tabbo-auth-button,
    .tabbo-auth-field input,
    .tabbo-auth-modal.fade {
        transition: none;
    }
}
.tabbo-auth-modal.modal {
    --bs-modal-zindex: 12050;
    z-index: 12050;
}
.tabbo-auth-modal .modal-content {
    isolation: isolate;
    margin: 0;
    max-width: none;
    pointer-events: auto !important;
    width: 100%;
}
body.tabbo-auth-modal-open > .modal-backdrop.show {
    --bs-backdrop-zindex: 12040;
    z-index: 12040;
}
body.tabbo-auth-modal-open .main_website_header,
body.tabbo-auth-modal-open .mobile_header,
body.tabbo-auth-modal-open .mobile_header2,
body.tabbo-auth-modal-open .website_sidebar,
body.tabbo-auth-modal-open .website_sidebar_backdrop,
body.tabbo-auth-modal-open footer.mobile_footer {
    pointer-events: none !important;
}
.tabbo-auth-captcha {
    align-items: center;
    display: flex;
    justify-content: center;
    margin: 8px 0 2px;
    min-height: 78px;
    overflow: visible;
    position: relative;
    touch-action: manipulation;
    width: 100%;
    z-index: 1;
}
.tabbo-auth-captcha > div {
    max-width: 100% !important;
    pointer-events: auto !important;
    position: relative;
    z-index: 2;
}
.tabbo-auth-captcha iframe {
    border: 0;
    display: block;
    max-width: 100%;
    pointer-events: auto !important;
    touch-action: manipulation;
}
.tabbo-auth-state[hidden] {
    display: none !important;
}
.tabbo-auth-phone-field {
    direction: ltr !important;
}
.tabbo-auth-modal .modal-content[dir="ltr"] .tabbo-auth-phone-field > input,
.tabbo-auth-modal .modal-content[dir="rtl"] .tabbo-auth-phone-field > input,
.tabbo-auth-phone-field > input {
    direction: ltr !important;
    text-align: left !important;
    unicode-bidi: plaintext;
}
.tabbo-auth-phone-summary {
    color: var(--tabbo-auth-navy);
    direction: ltr;
    font-size: 18px;
    margin: 0;
    text-align: center;
    unicode-bidi: isolate;
}
.tabbo-auth-phone-action {
    align-items: center;
    display: flex;
    gap: 8px;
    justify-content: center;
    margin: -4px 0 6px;
}
.tabbo-auth-phone-destination {
    align-items: center;
    display: inline-flex;
    gap: 6px;
    white-space: nowrap;
}
.tabbo-auth-phone-inline {
    direction: ltr;
    unicode-bidi: isolate;
}
.tabbo-auth-phone-edit {
    align-items: center;
    background: transparent;
    border: 0;
    border-bottom: 1px dotted var(--tabbo-auth-blue);
    color: var(--tabbo-auth-blue);
    cursor: pointer;
    display: inline-flex;
    flex: 0 0 auto;
    font: 400 16px/1.4 inherit;
    gap: 4px;
    padding: 0;
    white-space: nowrap;
}
.tabbo-auth-phone-edit img {
    flex: 0 0 15px;
    height: 15px;
    -o-object-fit: contain;
    object-fit: contain;
    width: 15px;
}
.tabbo-auth-back,
.tabbo-auth-link-button {
    background: transparent;
    border: 0;
    border-bottom: 1px dotted var(--tabbo-auth-blue);
    color: var(--tabbo-auth-blue);
    cursor: pointer;
    font: 400 18px/1.6 inherit;
    margin: 0;
    padding: 0;
    width: -moz-max-content;
    width: max-content;
}
.tabbo-auth-back {
    margin-bottom: 6px;
}
.tabbo-auth-link-button {
    display: block;
    margin: 4px auto 8px;
}
@media (max-width: 991.98px) {
    .tabbo-auth-terms-break {
        display: none;
    }
}
.tabbo-auth-alert.is-success {
    background: #f6fae9;
    border-color: #8eb429;
    color: #55720c;
}
.tabbo-auth-button.is-loading,
.tabbo-auth-resend.is-loading {
    pointer-events: none;
}
.tabbo-auth-button.is-loading:before,
.tabbo-auth-resend.is-loading:before {
    animation: tabbo-auth-button-loading 0.7s linear infinite;
    border: 2px solid;
    border-inline-end-color: transparent;
    border-radius: 50%;
    content: "";
    flex: 0 0 18px;
    height: 18px;
    width: 18px;
}
.tabbo-auth-button.is-loading,
.tabbo-auth-resend.is-loading {
    align-items: center;
    display: inline-flex;
    gap: 9px;
    justify-content: center;
}
@keyframes tabbo-auth-button-loading {
    to {
        transform: rotate(1turn);
    }
}
@media (prefers-reduced-motion: reduce) {
    .tabbo-auth-button.is-loading:before,
    .tabbo-auth-resend.is-loading:before {
        animation-duration: 1.4s;
    }
}
@media (max-width: 560px) {
    .tabbo-auth-captcha {
        margin-bottom: 2px;
        transform: none;
    }
}
