/* Auth, email verification, and identity steps. Day and night. */

body.pt-auth {
    min-height: 100vh;
    margin: 0;
    background:
        radial-gradient(900px 420px at 100% -10%, rgba(196, 154, 46, 0.28), transparent 55%),
        radial-gradient(800px 380px at -10% 110%, rgba(75, 27, 143, 0.18), transparent 50%),
        #f6f1fb !important;
    background-image: none;
    color: #1f1633;
}

html.pt-dark body.pt-auth {
    background:
        radial-gradient(900px 420px at 100% -10%, rgba(201, 162, 39, 0.16), transparent 55%),
        radial-gradient(800px 380px at 0% 100%, rgba(75, 27, 143, 0.35), transparent 50%),
        #0b1020 !important;
    color: #e2e8f0;
}

body.pt-auth.form-membership {
    padding: 10px 0 16px !important;
}

body.pt-auth.form-membership .form-wrapper,
body.pt-auth .pt-shell-card {
    width: min(560px, calc(100% - 28px)) !important;
    max-width: 560px;
    margin: 12px auto 18px !important;
    padding: 16px 18px 14px !important;
    border-radius: 28px !important;
    background: rgba(255, 255, 255, 0.94) !important;
    border: 1px solid rgba(75, 27, 143, 0.12) !important;
    box-shadow: 0 24px 60px rgba(49, 20, 90, 0.12) !important;
    position: relative;
    color: #1f1633;
}

html.pt-dark body.pt-auth.form-membership .form-wrapper,
html.pt-dark body.pt-auth .pt-shell-card {
    background: #12182b !important;
    border-color: #2a3350 !important;
    color: #e2e8f0;
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.35) !important;
}

body.pt-auth .logo img,
body.pt-auth .pt-shell-logo {
    width: 56px;
    height: 56px;
    object-fit: contain;
    border-radius: 16px;
    background: #fff;
    padding: 6px;
    box-shadow: 0 10px 24px rgba(75, 27, 143, 0.12);
}

body.pt-auth h5,
body.pt-auth .pt-shell-title {
    margin: 8px 0 10px;
    font-size: 24px;
    font-weight: 800;
    letter-spacing: -0.03em;
    color: #2a1458;
}

html.pt-dark body.pt-auth h5,
html.pt-dark body.pt-auth .pt-shell-title,
html.pt-dark body.pt-auth .pt-auth-lead,
html.pt-dark body.pt-auth label,
html.pt-dark body.pt-auth p {
    color: #f8fafc;
}

body.pt-auth .btn i {
    margin-inline: 6px;
}

body.pt-auth .pt-auth-lead {
    margin-top: 0;
    margin-bottom: 18px;
    color: #5c5470;
}

body.pt-auth .pt-field {
    margin-bottom: 10px;
    text-align: start;
}

body.pt-auth.form-membership .form-wrapper form .form-control {
    margin-bottom: 0 !important;
}

body.pt-auth .pt-field-label {
    display: block;
    margin-bottom: 6px;
    font-size: 13px;
    font-weight: 700;
    color: #4b1b8f;
}

html.pt-dark body.pt-auth .pt-field-label {
    color: #e9d5ff;
}

body.pt-auth .form-control,
body.pt-auth.form-membership .form-control {
    width: 100%;
    min-height: 50px;
    border-radius: 14px !important;
    border: 1px solid #ddd4ea !important;
    background: #fff !important;
    color: #1f1633 !important;
    box-shadow: none !important;
}

html.pt-dark body.pt-auth .form-control {
    background: #0f172a !important;
    border-color: #334155 !important;
    color: #f8fafc !important;
}

body.pt-auth .form-control:focus {
    border-color: #4b1b8f !important;
    box-shadow: 0 0 0 4px rgba(75, 27, 143, 0.16) !important;
}

body.pt-auth .pt-auth-alert {
    position: relative;
    display: block;
    margin: 0 0 16px;
    padding: 14px 16px;
    padding-inline-start: 58px;
    border-radius: 16px;
    background: linear-gradient(135deg, #dc2626, #b91c1c);
    color: #fff;
    border: 0;
    box-shadow: 0 12px 28px rgba(220, 38, 38, 0.35);
    font-weight: 700;
    font-size: 14px;
    line-height: 1.8;
    text-align: start;
    white-space: pre-line;
    animation: pt-alert-in 0.35s ease;
}

body.pt-auth .pt-auth-alert::before {
    content: "!";
    position: absolute;
    top: 50%;
    inset-inline-start: 14px;
    transform: translateY(-50%);
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.22);
    color: #fff;
    font-size: 18px;
    font-weight: 900;
    line-height: 32px;
    text-align: center;
}

html.pt-dark body.pt-auth .pt-auth-alert {
    background: linear-gradient(135deg, #b91c1c, #7f1d1d);
    color: #fff;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.45);
}

html[dir="rtl"] body.pt-auth .pt-auth-alert {
    direction: rtl;
}

@keyframes pt-alert-in {
    0% { opacity: 0; transform: translateY(-6px); }
    100% { opacity: 1; transform: translateY(0); }
}

body.pt-auth.form-membership .form-wrapper .logo,
body.pt-auth .pt-shell-card .logo {
    position: static !important;
    display: flex;
    justify-content: center;
    width: auto !important;
    height: auto !important;
    margin: 2px auto 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
}

body.pt-auth .pt-auth-alert[hidden] {
    display: none !important;
}

body.pt-auth .pt-pass {
    position: relative;
}

body.pt-auth .pt-pass .pt-pass-toggle {
    position: absolute;
    top: auto;
    bottom: 10px;
    inset-inline-end: 8px;
    transform: none;
    border: 0;
    background: transparent;
    color: #4b1b8f;
}

body.pt-auth .pt-captcha-row {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    gap: 8px;
    min-height: 50px;
    padding: 6px;
    border-radius: 16px;
    background: #f7f3fc;
    border: 1.5px solid #eadff8;
    box-sizing: border-box;
}

html.pt-dark body.pt-auth .pt-captcha-row {
    background: #0f172a;
    border-color: #334155;
}

body.pt-auth.pt-fa .pt-captcha-row,
html[dir="rtl"] body.pt-auth .pt-captcha-row {
    direction: rtl;
}

body.pt-auth.pt-en .pt-captcha-row,
html[dir="ltr"] body.pt-auth .pt-captcha-row {
    direction: ltr;
}

body.pt-auth .pt-captcha-row > .form-control {
    flex: 1 1 0;
    min-width: 0;
    min-height: 38px !important;
    height: auto !important;
    margin: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
    background: #fff !important;
}

html.pt-dark body.pt-auth .pt-captcha-row > .form-control {
    background: #12182b !important;
}

body.pt-auth .pt-captcha-row .captcha {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    flex: 0 0 auto;
    min-width: 0;
    min-height: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    direction: ltr;
}

html.pt-dark body.pt-auth .pt-captcha-row .captcha {
    background: transparent;
    border-color: transparent;
}

body.pt-auth .pt-captcha-row .captcha-btn {
    flex: 0 0 auto;
    width: 32px;
    height: 32px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

body.pt-auth .captcha img,
body.pt-auth .pt-captcha-row .captcha img {
    height: 36px !important;
    width: auto !important;
    max-width: 140px;
    display: block;
    border-radius: 8px;
}

body.pt-auth .pt-auth-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin: 4px 0 12px;
    flex-wrap: wrap;
}

body.pt-auth .pt-auth-actions a {
    color: #4b1b8f;
    font-weight: 700;
}

html.pt-dark body.pt-auth .pt-auth-actions a {
    color: #e9d5ff;
}

body.pt-auth .btn-primary,
body.pt-auth button[type="submit"].btn,
body.pt-auth #account_type_button,
body.pt-auth #register_submit {
    width: 100%;
    min-height: 50px;
    border: 0 !important;
    border-radius: 14px !important;
    background: linear-gradient(135deg, #4b1b8f, #6d28d9) !important;
    color: #fff !important;
    font-weight: 800;
}

body.pt-auth .pt-auth-split {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 10px;
}

body.pt-auth .pt-auth-split a.btn {
    border-radius: 14px !important;
    min-height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
}

body.pt-auth .register-now,
body.pt-auth .pt-auth-theme,
body.pt-auth #lang {
    position: static !important;
}

body.pt-auth .pt-shell-bar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
    padding: 6px;
    border-radius: 20px;
    background:
        linear-gradient(135deg, rgba(75, 27, 143, 0.1), rgba(201, 162, 39, 0.12));
    border: 1px solid rgba(75, 27, 143, 0.12);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.55);
}

html.pt-dark body.pt-auth .pt-shell-bar {
    background: linear-gradient(135deg, rgba(109, 40, 217, 0.22), rgba(201, 162, 39, 0.1));
    border-color: #3b4566;
    box-shadow: none;
}

body.pt-auth .pt-shell-bar form {
    margin: 0;
}

body.pt-auth .pt-shell-bar > :first-child {
    justify-self: start;
}

body.pt-auth .pt-shell-bar > #pt-theme-toggle,
body.pt-auth .pt-shell-bar > .pt-auth-theme {
    justify-self: center;
}

body.pt-auth .pt-shell-bar > :last-child {
    justify-self: end;
}

body.pt-auth .pt-shell-bar a,
body.pt-auth .pt-shell-action,
body.pt-auth .pt-auth-theme {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 38px;
    border-radius: 999px !important;
    padding: 6px 14px !important;
    background: #fff !important;
    color: #4b1b8f !important;
    border: 1px solid #e4d7f7 !important;
    font-weight: 800;
    text-decoration: none;
    box-shadow: 0 6px 16px rgba(75, 27, 143, 0.08);
}

body.pt-auth .pt-auth-theme {
    background: linear-gradient(135deg, #4b1b8f, #6d28d9) !important;
    color: #fff !important;
    border-color: transparent !important;
    min-width: 128px;
}

html.pt-dark body.pt-auth .pt-shell-bar a,
html.pt-dark body.pt-auth .pt-shell-action {
    background: #1e2438 !important;
    color: #f5e9ff !important;
    border-color: #3b4566 !important;
    box-shadow: none;
}

html.pt-dark body.pt-auth .pt-auth-theme {
    background: linear-gradient(135deg, #c9a227, #e0b93a) !important;
    color: #1f1633 !important;
}

body.pt-auth .pt-brand-logo {
    display: flex;
    justify-content: center;
    margin: 2px 0 0;
}

body.pt-auth .pt-brand-logo img,
body.pt-auth .logo.pt-brand-logo img,
body.pt-auth .pt-shell-logo {
    width: 64px !important;
    height: 64px !important;
    padding: 8px;
    border-radius: 20px;
    background:
        linear-gradient(#fff, #fff) padding-box,
        linear-gradient(145deg, #4b1b8f, #c9a227) border-box;
    border: 3px solid transparent;
    box-shadow: 0 14px 28px rgba(75, 27, 143, 0.16);
}

html.pt-dark body.pt-auth .pt-brand-logo img,
html.pt-dark body.pt-auth .logo.pt-brand-logo img,
html.pt-dark body.pt-auth .pt-shell-logo {
    background:
        linear-gradient(#12182b, #12182b) padding-box,
        linear-gradient(145deg, #a78bfa, #c9a227) border-box;
}

body.pt-auth .pt-signup-cta {
    margin-top: 4px;
    padding: 12px;
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(75, 27, 143, 0.1), rgba(201, 162, 39, 0.16));
    border: 1px solid rgba(75, 27, 143, 0.12);
    text-align: center;
}

body.pt-auth .pt-signup-cta p {
    margin: 0 0 10px;
    font-weight: 800;
    color: #2a1458;
}

body.pt-auth .pt-signup-cta .btn {
    width: 100%;
    min-height: 48px;
    border: 0 !important;
    border-radius: 14px !important;
    background: linear-gradient(135deg, #4b1b8f, #6d28d9) !important;
    color: #fff !important;
    font-weight: 800;
}

html.pt-dark body.pt-auth .pt-signup-cta {
    background: linear-gradient(135deg, rgba(109, 40, 217, 0.24), rgba(201, 162, 39, 0.12));
    border-color: #3b4566;
}

html.pt-dark body.pt-auth .pt-signup-cta p {
    color: #f8fafc;
}

html.pt-dark body.pt-auth .pt-signup-cta .btn {
    background: linear-gradient(135deg, #c9a227, #e0b93a) !important;
    color: #1f1633 !important;
}

body.pt-auth .pt-register {
    text-align: center;
}

body.pt-auth .pt-center {
    text-align: center;
}

body.pt-auth .pt-mt {
    margin-top: 16px;
}

body.pt-auth .pt-steps-mini {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 4px 0 14px;
}

body.pt-auth .pt-steps-mini span {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 800;
    background: #f1ebfa;
    color: #8b7aa8;
    border: 1px solid #e4d7f7;
}

body.pt-auth .pt-steps-mini span.is-on,
body.pt-auth .pt-steps-mini span.is-done {
    background: linear-gradient(135deg, #4b1b8f, #6d28d9);
    color: #fff;
    border-color: transparent;
}

body.pt-auth .pt-steps-mini > i {
    width: 48px;
    height: 3px;
    border-radius: 3px;
    background: #e4d7f7;
}

body.pt-auth .pt-steps-mini > i.is-on {
    background: #6d28d9;
}

html.pt-dark body.pt-auth .pt-steps-mini span {
    background: #1e2438;
    color: #94a3b8;
    border-color: #334155;
}

html.pt-dark body.pt-auth .pt-steps-mini > i {
    background: #334155;
}

body.pt-auth .pt-type-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

body.pt-auth .pt-type-card {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 18px 10px 14px;
    border-radius: 18px;
    background: #faf7ff;
    border: 2px solid #eadff8;
    color: #4b1b8f;
    cursor: pointer;
    transition: border-color 0.2s, box-shadow 0.2s, transform 0.2s;
}

body.pt-auth .pt-type-card:hover {
    transform: translateY(-2px);
}

body.pt-auth .pt-type-card input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

body.pt-auth .pt-type-icon {
    width: 48px;
    height: 48px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    background: #fff;
    box-shadow: 0 6px 16px rgba(75, 27, 143, 0.1);
}

body.pt-auth .pt-type-name {
    font-weight: 800;
    font-size: 14px;
}

body.pt-auth .pt-type-card.is-picked {
    border-color: #4b1b8f;
    background: linear-gradient(160deg, #4b1b8f, #6d28d9);
    color: #fff;
    box-shadow: 0 14px 30px rgba(75, 27, 143, 0.28);
}

body.pt-auth .pt-type-card.is-picked .pt-type-icon {
    background: rgba(255, 255, 255, 0.18);
    color: #fff;
    box-shadow: none;
}

html.pt-dark body.pt-auth .pt-type-card {
    background: #0f172a;
    border-color: #334155;
    color: #e9d5ff;
}

html.pt-dark body.pt-auth .pt-type-card .pt-type-icon {
    background: #1e2438;
}

html.pt-dark body.pt-auth .pt-type-card.is-picked {
    background: linear-gradient(160deg, #6d28d9, #4b1b8f);
    border-color: #a78bfa;
    color: #fff;
}

body.pt-auth .pt-type-panel {
    margin-top: 10px;
    padding: 10px 12px;
    max-height: 180px;
    overflow-y: auto;
    border-radius: 16px;
    background: #faf7ff;
    border: 1px solid #eadff8;
    color: #3b3050;
    text-align: start;
    font-size: 13px;
    line-height: 1.9;
}

body.pt-auth .pt-type-panel p {
    margin: 0 0 6px;
    font-weight: 700;
}

body.pt-auth .pt-type-panel h6 {
    margin: 10px 0 4px;
    font-weight: 800;
    color: #4b1b8f;
}

body.pt-auth .pt-type-panel ul {
    margin: 0;
    padding-inline-start: 18px;
}

body.pt-auth .pt-type-panel li {
    list-style: disc;
}

body.pt-auth .pt-type-panel li::marker {
    color: #c9a227;
}

html.pt-dark body.pt-auth .pt-type-panel {
    background: #0f172a;
    border-color: #334155;
    color: #cbd5e1;
}

html.pt-dark body.pt-auth .pt-type-panel h6 {
    color: #e9d5ff;
}

body.pt-auth .pt-check {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 6px 0 14px;
    font-weight: 700;
}

body.pt-auth .pt-check input {
    width: 18px;
    height: 18px;
    accent-color: #4b1b8f;
}

body.pt-auth .pt-check a,
body.pt-auth .pt-auth-foot a {
    color: #4b1b8f;
    font-weight: 800;
}

html.pt-dark body.pt-auth .pt-check a,
html.pt-dark body.pt-auth .pt-auth-foot a {
    color: #e9d5ff;
}

body.pt-auth .pt-btn-row {
    display: flex;
    gap: 10px;
}

body.pt-auth .pt-btn-row > .btn {
    flex: 1 1 0;
    min-height: 50px;
    width: auto;
}

body.pt-auth .pt-btn-soft,
body.pt-auth button[type="submit"].btn.pt-btn-soft {
    border-radius: 14px !important;
    background: #f4eefe !important;
    color: #4b1b8f !important;
    border: 1px solid #e4d7f7 !important;
    font-weight: 800;
}

html.pt-dark body.pt-auth .pt-btn-soft,
html.pt-dark body.pt-auth button[type="submit"].btn.pt-btn-soft {
    background: #1e2438 !important;
    color: #f5e9ff !important;
    border-color: #3b4566 !important;
}

body.pt-auth .pt-divider {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 18px 0 6px;
    font-size: 12px;
    color: #8b7aa8;
}

body.pt-auth .pt-divider::before,
body.pt-auth .pt-divider::after {
    content: "";
    flex: 1;
    height: 1px;
    background: #eadff8;
}

html.pt-dark body.pt-auth .pt-divider::before,
html.pt-dark body.pt-auth .pt-divider::after {
    background: #334155;
}

body.pt-auth .pt-auth-foot {
    margin: 10px 0 0;
    font-size: 13px;
}

body.pt-auth .pt-rules-modal {
    border: 0;
    border-radius: 20px;
    overflow: hidden;
    text-align: start;
}

body.pt-auth .pt-rules-modal .modal-header {
    background: linear-gradient(135deg, #4b1b8f, #6d28d9);
    border: 0;
}

body.pt-auth .pt-rules-modal .modal-title {
    margin: 0;
    font-size: 17px;
    color: #fff !important;
}

body.pt-auth .pt-rules-modal ul {
    padding-inline-start: 18px;
}

body.pt-auth .pt-rules-modal li {
    list-style: disc;
    margin-bottom: 6px;
}

html.pt-dark body.pt-auth .pt-rules-modal {
    background: #12182b;
    color: #e2e8f0;
}

html.pt-dark body.pt-auth .pt-rules-modal .modal-footer {
    border-color: #2a3350;
}

body.pt-auth .pt-country-option {
    display: flex;
    width: 100%;
    align-items: center;
    gap: 8px;
}

body.pt-auth .pt-dial {
    margin-inline-start: auto;
    align-self: center;
    line-height: 1.6;
    padding: 2px 8px;
    border-radius: 999px;
    background: #f1ebfa;
    color: #4b1b8f;
    font-size: 12px;
    font-weight: 800;
}

html.pt-dark body.pt-auth .pt-dial {
    background: #1e2438;
    color: #e9d5ff;
}

body.pt-auth .select2-results__option--highlighted .pt-dial {
    background: rgba(255, 255, 255, 0.2);
    color: #fff;
}

body.pt-auth .pt-country-option .flag-icon {
    width: 22px;
    height: 22px;
    border-radius: 6px;
    flex: 0 0 auto;
}

body.pt-auth .pt-country-field {
    position: relative;
    text-align: start;
}

body.pt-auth .pt-country-field.is-invalid .select2-selection--single {
    border-color: #dc2626 !important;
}

body.pt-auth .select2-container--default .select2-selection--single .select2-selection__rendered {
    padding: 0;
    line-height: 50px;
    color: inherit;
}

body.pt-auth .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 50px;
}

body.pt-auth .select2-dropdown {
    border-radius: 14px;
    border-color: #ddd4ea;
    overflow: hidden;
}

body.pt-auth .select2-results__option {
    text-align: start;
    padding: 8px 12px;
}

body.pt-auth .select2-results__option--highlighted {
    background: #4b1b8f !important;
    color: #fff !important;
}

body.pt-auth .form-control.is-invalid {
    border-color: #dc2626 !important;
}

body.pt-auth .captcha-btn {
    width: 38px;
    height: 38px;
    padding: 0;
    border-radius: 10px !important;
    background: #4b1b8f !important;
    color: #fff !important;
}

body.pt-auth .select2-container {
    width: 100% !important;
}

body.pt-auth .select2-container--default .select2-selection--single {
    height: 52px;
    border-radius: 14px;
    border: 1px solid #ddd4ea;
    background: #fff;
    display: flex;
    align-items: center;
    padding: 0 12px;
}

html.pt-dark body.pt-auth .select2-container--default .select2-selection--single,
html.pt-dark body.pt-auth .select2-dropdown,
html.pt-dark body.pt-auth .select2-search__field {
    background: #0f172a !important;
    color: #f8fafc !important;
    border-color: #334155 !important;
}

html.pt-dark body.pt-auth .select2-results__option {
    color: #f8fafc;
}

html.pt-dark body.pt-auth .select2-results__option--highlighted {
    background: #4b1b8f !important;
}

body.pt-auth .pt-code-box {
    letter-spacing: 0.45em;
    text-align: center;
    font-size: 28px;
    font-weight: 800;
    min-height: 72px;
}

body.pt-auth .pt-verify-wrap {
    width: min(520px, calc(100% - 28px));
    margin: 48px auto;
}

body.pt-auth .pt-verify-wrap .pt-shell-card {
    width: 100% !important;
    margin: 0 !important;
    text-align: center;
}

body.pt-auth .pt-verify-wrap .pt-shell-title {
    font-size: 24px;
    line-height: 1.5;
}

body.pt-auth .pt-mail-badge {
    width: 64px;
    height: 64px;
    margin: 14px auto 0;
    border-radius: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    color: #fff;
    background: linear-gradient(135deg, #c9a227, #e0b93a);
    box-shadow: 0 12px 26px rgba(201, 162, 39, 0.35);
}

body.pt-auth .pt-mail-chip {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin: 0 0 16px;
    padding: 10px 14px;
    border-radius: 14px;
    background: #f7f3fc;
    border: 1px solid #eadff8;
    font-weight: 700;
    color: #2a1458;
    word-break: break-all;
}

body.pt-auth .pt-mail-chip a {
    flex: 0 0 auto;
    padding: 4px 12px;
    border-radius: 999px;
    background: #4b1b8f;
    color: #fff !important;
    font-size: 12px;
    text-decoration: none;
}

html.pt-dark body.pt-auth .pt-mail-chip {
    background: #0f172a;
    border-color: #334155;
    color: #f8fafc;
}

body.pt-auth .pt-code-form {
    text-align: start;
}

body.pt-auth .pt-resend {
    margin-top: 10px;
}

body.pt-auth .pt-resend .btn {
    width: 100%;
    min-height: 46px;
    white-space: normal;
}

body.pt-auth .pt-verify-notes {
    margin: 16px 0 0;
    padding: 12px 14px;
    list-style: none;
    border-radius: 14px;
    background: rgba(201, 162, 39, 0.1);
    border: 1px dashed rgba(201, 162, 39, 0.55);
    text-align: start;
    font-size: 13px;
    line-height: 1.9;
    color: #5c4a12;
}

body.pt-auth .pt-verify-notes li {
    display: flex;
    gap: 8px;
    align-items: baseline;
}

body.pt-auth .pt-verify-notes i {
    color: #c9a227;
}

html.pt-dark body.pt-auth .pt-verify-notes {
    background: rgba(201, 162, 39, 0.08);
    color: #f5e6b8;
}

body.pt-auth .pt-auth-ok {
    margin: 0 0 14px;
    padding: 12px 14px;
    border-radius: 14px;
    background: linear-gradient(135deg, #16a34a, #15803d);
    color: #fff;
    font-weight: 700;
    text-align: start;
}

html.pt-dark body.pt-auth .modal-content {
    background: #12182b;
    color: #e2e8f0;
}

html.pt-dark body.pt-auth .modal-header,
html.pt-dark body.pt-auth .modal-footer {
    border-color: #2a3350;
}

html.pt-dark body.pt-auth .modal-title,
html.pt-dark body.pt-auth .close {
    color: #f8fafc;
}

body.pt-auth .pt-verify-wrap .card {
    border: 0;
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 20px 50px rgba(49, 20, 90, 0.12);
    overflow: hidden;
}

html.pt-dark body.pt-auth .pt-verify-wrap .card,
html.pt-dark body.pt-auth .pt-verify-wrap .card-header,
html.pt-dark body.pt-auth .pt-verify-wrap .card-body {
    background: #12182b !important;
    color: #e2e8f0 !important;
    border-color: #2a3350 !important;
}

/* Identity verification */
body.pt-client #msform {
    width: min(980px, calc(100% - 24px)) !important;
    margin: 12px auto 40px !important;
}

body.pt-client .pt-verify-hero {
    margin-bottom: 18px;
    padding: 22px 22px 18px;
    border-radius: 24px;
    background:
        linear-gradient(135deg, rgba(75, 27, 143, 0.95), rgba(109, 40, 217, 0.88));
    color: #fff;
    text-align: start;
}

body.pt-client .pt-verify-hero h2,
body.pt-client .pt-verify-hero p {
    color: #fff !important;
    margin: 0;
}

body.pt-client .pt-verify-hero p {
    margin-top: 6px;
    opacity: 0.92;
}

body.pt-client #progressbar {
    display: flex;
    gap: 8px;
    margin: 0 0 18px;
    padding: 0;
    overflow: visible;
}

body.pt-client #progressbar li {
    float: none !important;
    width: auto !important;
    flex: 1 1 0;
    color: inherit;
}

body.pt-client #progressbar li:before,
body.pt-client #progressbar li:after {
    display: none !important;
    content: none !important;
}

body.pt-client #progressbar .process-icons {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: 100%;
    min-height: 84px;
    padding: 10px 6px;
    border-radius: 18px;
    background: #fff;
    color: #4b1b8f;
    border: 1px solid #eadff8;
    box-shadow: 0 8px 20px rgba(75, 27, 143, 0.05);
}

body.pt-client #progressbar .process-icons i {
    font-size: 22px !important;
}

body.pt-client #progressbar .process-icons em {
    font-style: normal;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.3;
}

body.pt-client #progressbar li.active .process-icons {
    background: linear-gradient(180deg, #4b1b8f, #6d28d9);
    color: #fff;
    border-color: transparent;
}

html.pt-dark body.pt-client #progressbar .process-icons {
    background: #12182b;
    color: #e9d5ff;
    border-color: #2a3350;
}

html.pt-dark body.pt-client #progressbar li.active .process-icons {
    background: linear-gradient(180deg, #6d28d9, #4b1b8f);
    color: #fff;
}

body.pt-client #msform .verification_forms {
    width: min(860px, 100%) !important;
    margin: 0 auto;
    padding: 22px !important;
    border-radius: 24px !important;
    background: #fff !important;
    border: 1px solid #eadff8 !important;
    box-shadow: 0 16px 40px rgba(49, 20, 90, 0.08) !important;
    color: #1f1633;
}

html.pt-dark body.pt-client #msform .verification_forms {
    background: #12182b !important;
    border-color: #2a3350 !important;
    color: #e2e8f0 !important;
    box-shadow: none !important;
}

body.pt-client #msform .fs-title {
    color: #2a1458 !important;
    font-size: 20px !important;
    letter-spacing: 0;
    text-transform: none;
}

body.pt-client #msform .fs-subtitle {
    color: #6b6280 !important;
}

html.pt-dark body.pt-client #msform .fs-title,
html.pt-dark body.pt-client #msform .fs-subtitle,
html.pt-dark body.pt-client #msform h4,
html.pt-dark body.pt-client #msform label,
html.pt-dark body.pt-client #msform p {
    color: #e2e8f0 !important;
}

body.pt-client #msform input.btn,
body.pt-client #msform textarea.btn,
body.pt-client #msform select.btn,
body.pt-client #msform .form-control,
body.pt-client #msform .btn-input-custom,
body.pt-client #msform .btn-select-custom {
    background: #fff !important;
    color: #1f1633 !important;
    border: 1px solid #ddd4ea !important;
    border-radius: 14px !important;
    min-height: 48px;
    text-align: start;
    box-shadow: none !important;
}

html.pt-dark body.pt-client #msform input.btn,
html.pt-dark body.pt-client #msform textarea.btn,
html.pt-dark body.pt-client #msform select.btn,
html.pt-dark body.pt-client #msform .form-control,
html.pt-dark body.pt-client #msform .btn-input-custom,
html.pt-dark body.pt-client #msform .btn-select-custom {
    background: #0f172a !important;
    color: #f8fafc !important;
    border-color: #334155 !important;
}

body.pt-client #msform button.btn-facebook,
body.pt-client #msform button[type="submit"] {
    background: linear-gradient(135deg, #4b1b8f, #6d28d9) !important;
    border: 0 !important;
    color: #fff !important;
    border-radius: 14px !important;
    min-height: 48px;
    padding-inline: 28px;
}

body.pt-client #msform .image-upload-input {
    width: 100%;
    min-height: 84px;
    margin-top: 8px;
    border-radius: 16px !important;
    border: 1px dashed #4b1b8f !important;
    background: #f7f3fc !important;
    color: #4b1b8f !important;
}

html.pt-dark body.pt-client #msform .image-upload-input {
    background: #0f172a !important;
    color: #e9d5ff !important;
    border-color: #a78bfa !important;
}

body.pt-client #div_license .col-md-6 {
    margin-bottom: 16px;
    padding: 16px;
    border-radius: 20px;
    background: #faf7ff;
    border: 1px solid #eadff8;
}

html.pt-dark body.pt-client #div_license .col-md-6 {
    background: #0f172a;
    border-color: #2a3350;
}

body.pt-client #msform .gender-selector label {
    border-radius: 14px;
    color: #1f1633;
}

html.pt-dark body.pt-client #msform .gender-selector label {
    background: #0f172a !important;
    color: #f8fafc !important;
    border-color: #334155 !important;
}

body.pt-client #progressbar li.current .process-icons {
    background: #fff;
    color: #4b1b8f;
    border: 2px solid #4b1b8f;
    box-shadow: 0 0 0 5px rgba(75, 27, 143, 0.12), 0 12px 26px rgba(75, 27, 143, 0.18);
    transform: translateY(-3px);
}

html.pt-dark body.pt-client #progressbar li.current .process-icons {
    background: #1e1640;
    color: #fff;
    border-color: #a78bfa;
    box-shadow: 0 0 0 5px rgba(167, 139, 250, 0.15);
}

body.pt-client #progressbar li.active .process-icons::after {
    content: "\2713";
    position: absolute;
    top: 6px;
    inset-inline-end: 8px;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #c9a227;
    color: #fff;
    font-size: 11px;
    font-weight: 900;
    line-height: 18px;
    text-align: center;
}

body.pt-client #progressbar .process-icons {
    position: relative;
    transition: transform 0.2s, box-shadow 0.2s;
}

body.pt-client #msform .pt-verify-hero,
body.pt-client #msform #progressbar {
    width: min(860px, 100%) !important;
    max-width: none !important;
    margin-inline: auto !important;
}

body.pt-client #msform .pt-step {
    display: block;
    width: min(860px, 100%) !important;
    margin: 0 auto 18px;
    padding: 26px !important;
    text-align: start;
}

body.pt-client #msform .pt-step.pt-step-wide {
    width: min(960px, 100%) !important;
}

body.pt-client #msform .pt-step form {
    margin: 0;
}

body.pt-client .pt-step-head {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 22px;
    padding-bottom: 16px;
    border-bottom: 1px solid #f0e9fa;
}

html.pt-dark body.pt-client .pt-step-head {
    border-color: #2a3350;
}

body.pt-client .pt-step-head .fs-title {
    margin: 0 0 2px !important;
    text-align: start;
}

body.pt-client .pt-step-head .fs-subtitle {
    margin: 0 !important;
    font-size: 13px !important;
    text-align: start;
}

body.pt-client .pt-step-icon {
    flex: 0 0 auto;
    width: 52px;
    height: 52px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    color: #fff;
    background: linear-gradient(135deg, #4b1b8f, #6d28d9);
    box-shadow: 0 10px 22px rgba(75, 27, 143, 0.28);
}

body.pt-client .pt-vgrid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 16px;
}

body.pt-client .pt-vfield {
    margin-bottom: 18px;
}

body.pt-client .pt-vlabel {
    display: block;
    margin-bottom: 7px;
    font-size: 13px;
    font-weight: 800;
    color: #4b1b8f !important;
    text-align: start;
}

html.pt-dark body.pt-client .pt-vlabel {
    color: #e9d5ff !important;
}

body.pt-client #msform .pt-input,
body.pt-client #msform select.pt-input,
body.pt-client #msform textarea.pt-input {
    display: block;
    width: 100% !important;
    min-height: 50px;
    margin: 0 !important;
    padding: 12px 14px !important;
    border-radius: 14px !important;
    border: 1.5px solid #e2d8f0 !important;
    background: #fbf9fe !important;
    color: #1f1633 !important;
    font-size: 14px;
    text-align: start;
    box-shadow: none !important;
    transition: border-color 0.2s, box-shadow 0.2s, background 0.2s;
}

body.pt-client #msform textarea.pt-input {
    min-height: 96px;
    resize: vertical;
}

body.pt-client #msform .pt-input:focus {
    outline: 0;
    border-color: #6d28d9 !important;
    background: #fff !important;
    box-shadow: 0 0 0 4px rgba(109, 40, 217, 0.14) !important;
}

html.pt-dark body.pt-client #msform .pt-input {
    background: #0f172a !important;
    border-color: #334155 !important;
    color: #f8fafc !important;
}

html.pt-dark body.pt-client #msform .pt-input:focus {
    border-color: #a78bfa !important;
    box-shadow: 0 0 0 4px rgba(167, 139, 250, 0.18) !important;
}

body.pt-client #msform .pt-input::placeholder {
    color: #a59bb8;
}

body.pt-client .pt-phone {
    display: flex;
    align-items: stretch;
    gap: 8px;
}

body.pt-client .pt-phone-code {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    padding: 0 16px;
    border-radius: 14px;
    background: linear-gradient(135deg, #4b1b8f, #6d28d9);
    color: #fff;
    font-weight: 800;
    letter-spacing: 0.04em;
}

body.pt-client #msform .pt-phone .pt-input {
    flex: 1 1 auto;
    text-align: left;
    letter-spacing: 0.08em;
    font-weight: 700;
}

body.pt-client .pt-vhint {
    display: block;
    margin-top: 6px;
    font-size: 12px;
    color: #8b7aa8 !important;
    text-align: start;
}

body.pt-client .pt-verror {
    margin-top: 8px;
    padding: 9px 12px;
    border-radius: 12px;
    background: #fef2f2;
    border: 1px solid #fecaca;
    color: #b91c1c;
    font-size: 13px;
    font-weight: 700;
    text-align: start;
}

body.pt-client .pt-verror.d-none {
    display: none !important;
}

html.pt-dark body.pt-client .pt-verror {
    background: rgba(220, 38, 38, 0.14);
    border-color: rgba(248, 113, 113, 0.4);
    color: #fca5a5;
}

body.pt-client .pt-vnote {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    margin-bottom: 18px;
    padding: 12px 14px;
    border-radius: 14px;
    background: rgba(201, 162, 39, 0.1);
    border: 1px dashed rgba(201, 162, 39, 0.6);
    color: #5c4a12;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.9;
    text-align: start;
}

body.pt-client .pt-vnote i {
    color: #c9a227;
    font-size: 18px;
    margin-top: 3px;
}

html.pt-dark body.pt-client .pt-vnote {
    color: #f5e6b8;
}

body.pt-client .pt-choice-row {
    display: flex;
    gap: 12px;
}

body.pt-client .pt-choice-row input[type="radio"] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

body.pt-client #msform .pt-choice {
    flex: 1 1 0;
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 52px;
    margin: 0 !important;
    border-radius: 14px;
    border: 1.5px solid #e2d8f0 !important;
    background: #fbf9fe !important;
    color: #4b1b8f !important;
    font-weight: 800;
    cursor: pointer;
    transition: all 0.2s;
}

body.pt-client #msform .pt-choice i {
    font-size: 18px;
}

body.pt-client #msform input[type="radio"]:checked + .pt-choice {
    background: linear-gradient(135deg, #4b1b8f, #6d28d9) !important;
    border-color: transparent !important;
    color: #fff !important;
    box-shadow: 0 10px 22px rgba(75, 27, 143, 0.25);
}

html.pt-dark body.pt-client #msform .pt-choice {
    background: #0f172a !important;
    border-color: #334155 !important;
    color: #e9d5ff !important;
}

body.pt-client .pt-step-actions {
    display: flex;
    gap: 12px;
    margin-top: 8px;
    padding-top: 18px;
    border-top: 1px solid #f0e9fa;
}

html.pt-dark body.pt-client .pt-step-actions {
    border-color: #2a3350;
}

body.pt-client #msform .pt-step-actions .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 50px;
    margin: 0 !important;
    border-radius: 14px !important;
    font-weight: 800;
    font-size: 14px;
    width: auto !important;
}

body.pt-client #msform .pt-btn-next {
    flex: 1 1 auto;
    background: linear-gradient(135deg, #4b1b8f, #6d28d9) !important;
    color: #fff !important;
    border: 0 !important;
    box-shadow: 0 12px 24px rgba(75, 27, 143, 0.25);
}

body.pt-client #msform .pt-btn-next:hover {
    filter: brightness(1.08);
}

body.pt-client #msform .pt-btn-back,
body.pt-client #msform button[type="submit"].pt-btn-back {
    flex: 0 0 auto;
    padding-inline: 18px !important;
    background: #f4eefe !important;
    color: #4b1b8f !important;
    border: 1px solid #e4d7f7 !important;
    box-shadow: none !important;
}

html.pt-dark body.pt-client #msform .pt-btn-back,
html.pt-dark body.pt-client #msform button[type="submit"].pt-btn-back {
    background: #1e2438 !important;
    color: #f5e9ff !important;
    border-color: #3b4566 !important;
}

body.pt-client #msform .pt-btn-ghost {
    width: 100%;
    min-height: 46px;
    border-radius: 14px !important;
    background: #f4eefe !important;
    color: #4b1b8f !important;
    border: 1px solid #e4d7f7 !important;
    font-weight: 800;
}

html.pt-dark body.pt-client #msform .pt-btn-ghost {
    background: #1e2438 !important;
    color: #f5e9ff !important;
    border-color: #3b4566 !important;
}

body.pt-client .pt-timer {
    display: block;
    margin-top: 10px;
    font-size: 13px;
    color: #8b7aa8;
    text-align: center;
}

body.pt-client #msform .pt-link {
    display: inline-block;
    margin-top: 8px;
    font-size: 12px;
    font-weight: 800;
    color: #6d28d9 !important;
}

html.pt-dark body.pt-client #msform .pt-link {
    color: #c4b5fd !important;
}

body.pt-client #msform > .alert {
    width: min(860px, 100%);
    margin: 0 auto 16px;
    padding: 12px 16px;
    border: 0;
    border-radius: 16px;
    font-weight: 700;
    text-align: start;
}

body.pt-client #msform > .alert .fa-stack-2x {
    position: static;
    display: inline-block;
    width: auto;
    font-size: 16px;
    line-height: 1;
    margin-inline-end: 6px;
    vertical-align: middle;
}

html body.pt-client #msform > .alert-success {
    background: linear-gradient(135deg, #16a34a, #15803d) !important;
    color: #fff !important;
}

html body.pt-client #msform > .alert-danger {
    background: linear-gradient(135deg, #dc2626, #b91c1c) !important;
    color: #fff !important;
}

html body.pt-client #msform > .alert-warning {
    background: linear-gradient(135deg, #c9a227, #a07d12) !important;
    color: #fff !important;
}

body.pt-client .pt-step-extra {
    margin-top: 18px;
    border-radius: 16px;
    border: 1px solid #eadff8;
    background: #faf7ff;
    overflow: visible;
}

body.pt-client .pt-step-extra summary {
    padding: 14px 16px;
    cursor: pointer;
    font-weight: 800;
    color: #4b1b8f;
    list-style: none;
}

body.pt-client .pt-step-extra summary::-webkit-details-marker {
    display: none;
}

body.pt-client .pt-step-extra summary::after {
    content: "+";
    float: inline-end;
    font-weight: 900;
}

body.pt-client .pt-step-extra[open] summary::after {
    content: "\2212";
}

body.pt-client .pt-step-extra > :not(summary) {
    margin-inline: 16px;
}

body.pt-client .pt-step-extra form {
    padding-bottom: 16px;
}

html.pt-dark body.pt-client .pt-step-extra {
    background: #0f172a;
    border-color: #2a3350;
}

html.pt-dark body.pt-client .pt-step-extra summary {
    color: #e9d5ff;
}

body.pt-client #msform .select2-container,
body.pt-client .select2-container {
    width: 100% !important;
    max-width: 100%;
}

body.pt-client .select2-container--open,
body.pt-client .select2-dropdown,
.select2-container--open,
.select2-dropdown {
    z-index: 2501 !important;
}

body.pt-client #msform .select2-container .select2-selection--single {
    height: 50px;
    display: flex;
    align-items: center;
    border-radius: 14px;
    border: 1.5px solid #e2d8f0;
    background: #fbf9fe;
}

body.pt-client #msform .select2-container .select2-selection__rendered {
    width: 100%;
    line-height: 48px;
    padding-inline: 14px;
    color: #1f1633;
    text-align: start;
}

body.pt-client #msform .select2-container .select2-selection__arrow {
    height: 48px;
}

html.pt-dark body.pt-client #msform .select2-container .select2-selection--single {
    background: #0f172a;
    border-color: #334155;
}

html.pt-dark body.pt-client #msform .select2-container .select2-selection__rendered {
    color: #f8fafc;
}

body.pt-client .select2-dropdown {
    border-radius: 14px;
    border-color: #e2d8f0;
    overflow: hidden;
}

body.pt-client .select2-results__option {
    text-align: start;
    padding: 8px 12px;
}

body.pt-client .select2-container--default .select2-results__option--highlighted[aria-selected] {
    background: #4b1b8f;
    color: #fff;
}

html.pt-dark body.pt-client .select2-dropdown,
html.pt-dark body.pt-client .select2-search__field {
    background: #0f172a !important;
    color: #f8fafc !important;
    border-color: #334155 !important;
}

html.pt-dark body.pt-client .select2-results__option {
    color: #e2e8f0;
}

html.pt-dark body.pt-client .select2-container--default .select2-results__option[aria-selected="true"] {
    background: #1e2438;
}

body.pt-client .pt-country-option {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
}

body.pt-client .pt-country-option .flag-icon {
    width: 22px;
    height: 22px;
    border-radius: 6px;
}

body.pt-client .pt-dial {
    margin-inline-start: auto;
    padding: 2px 8px;
    border-radius: 999px;
    background: #f1ebfa;
    color: #4b1b8f;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.6;
}

body.pt-client .pt-doc-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 18px;
}

body.pt-client .pt-doc-card {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 18px;
    border-radius: 20px;
    background: #faf7ff;
    border: 1px solid #eadff8;
    text-align: start;
}

html.pt-dark body.pt-client .pt-doc-card {
    background: #0f172a;
    border-color: #2a3350;
}

body.pt-client .pt-doc-title {
    display: flex;
    align-items: center;
    gap: 12px;
}

body.pt-client .pt-doc-title > span {
    width: 44px;
    height: 44px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(201, 162, 39, 0.16);
    color: #a07d12;
    font-size: 20px;
}

body.pt-client .pt-doc-title strong {
    display: block;
    color: #2a1458;
    font-size: 15px;
}

body.pt-client .pt-doc-title small {
    color: #8b7aa8;
}

html.pt-dark body.pt-client .pt-doc-title strong {
    color: #f8fafc;
}

body.pt-client .pt-doc-hint {
    margin: 0;
    font-size: 13px;
    line-height: 1.9;
    color: #5c5470 !important;
    white-space: pre-line;
}

html.pt-dark body.pt-client .pt-doc-hint {
    color: #cbd5e1 !important;
}

body.pt-client .pt-doc-sample {
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    border: 1px solid #eadff8;
}

body.pt-client .pt-doc-sample img {
    display: block;
    width: 100%;
    max-height: 240px;
    object-fit: cover;
}

body.pt-client .pt-doc-tag {
    position: absolute;
    top: 10px;
    inset-inline-start: 10px;
    padding: 3px 10px;
    border-radius: 999px;
    background: rgba(31, 22, 51, 0.75);
    color: #fff;
    font-size: 11px;
    font-weight: 800;
}

body.pt-client #msform .pt-drop {
    position: relative;
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: 100%;
    min-height: 110px;
    margin: 0 !important;
    border-radius: 18px !important;
    border: 2px dashed #a78bfa !important;
    background: #fff !important;
    color: #4b1b8f !important;
    font-weight: 800;
    cursor: pointer;
    transition: background 0.2s, border-color 0.2s;
}

body.pt-client #msform .pt-drop:hover {
    background: #f4eefe !important;
    border-color: #6d28d9 !important;
}

body.pt-client #msform .pt-drop i {
    font-size: 28px;
}

body.pt-client #msform .pt-drop span {
    max-width: 100%;
    padding-inline: 12px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.pt-client #msform .pt-drop input[type="file"] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
}

body.pt-client #msform .pt-drop.has-file {
    border-style: solid !important;
    border-color: #16a34a !important;
    color: #15803d !important;
    background: #f0fdf4 !important;
}

html.pt-dark body.pt-client #msform .pt-drop {
    background: #12182b !important;
    color: #e9d5ff !important;
}

html.pt-dark body.pt-client #msform .pt-drop.has-file {
    background: rgba(22, 163, 74, 0.12) !important;
    color: #86efac !important;
}

body.pt-client .pt-doc-preview {
    display: block;
    width: 100%;
    max-height: 260px;
    object-fit: contain;
    border-radius: 14px;
    background: #fff;
    border: 1px solid #eadff8;
}

body.pt-client .pt-doc-preview:not([src]),
body.pt-client .pt-doc-preview[src=""] {
    display: none;
}

body.pt-client .pt-doc-last {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px;
    border-radius: 12px;
    background: rgba(201, 162, 39, 0.1);
    font-size: 12px;
    font-weight: 700;
}

body.pt-client .pt-doc-last img {
    width: 56px;
    height: 56px;
    object-fit: cover;
    border-radius: 10px;
}

body.pt-client .pt-doc-ok {
    padding: 12px 14px;
    border-radius: 14px;
    background: linear-gradient(135deg, #16a34a, #15803d);
    color: #fff;
    font-weight: 800;
}

@media (max-width: 700px) {
    body.pt-client .pt-vgrid {
        grid-template-columns: 1fr;
    }

    body.pt-client #msform .pt-step {
        padding: 18px !important;
    }

    body.pt-client .pt-step-actions {
        flex-direction: column-reverse;
    }

    body.pt-client #msform .pt-step-actions .btn {
        width: 100% !important;
    }

    body.pt-client #progressbar .process-icons em {
        display: none;
    }

    body.pt-auth .pt-captcha-row {
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: center;
    }

    body.pt-auth .pt-captcha-row .captcha img {
        max-width: 110px;
        height: 32px !important;
    }

    body.pt-auth .pt-theme-label {
        display: none;
    }

    body.pt-auth .pt-auth-theme {
        min-width: 44px;
        padding-inline: 12px !important;
    }

    body.pt-auth .pt-signup-cta .btn,
    body.pt-auth .pt-shell-bar a,
    body.pt-auth .pt-shell-action {
        font-size: 13px;
    }
}

html.pt-dark body.pt-auth .pt-rules-modal .modal-header,
html.pt-dark body.pt-auth #changing-email-form .modal-header {
    background: linear-gradient(135deg, #4b1b8f, #6d28d9) !important;
    border: 0;
}

html.pt-dark body.pt-auth .pt-rules-modal .modal-title,
html.pt-dark body.pt-auth #changing-email-form .modal-title,
html.pt-dark body.pt-auth .pt-rules-modal .close,
html.pt-dark body.pt-auth #changing-email-form .close,
html.pt-dark body.pt-auth #changing-email-form .close span {
    color: #fff !important;
    opacity: 1;
    text-shadow: none;
}

body.pt-client #msform .pt-id-center,
body.pt-client #national_number.pt-id-center {
    text-align: center !important;
    letter-spacing: 0.08em;
    font-weight: 800;
}

html.pt-dark body.pt-client .pt-dial,
html.pt-dark .select2-dropdown .pt-dial,
html.pt-dark .select2-container .pt-dial {
    background: #4c1d95 !important;
    color: #f8fafc !important;
}

html.pt-dark .select2-results__option--highlighted .pt-dial,
html.pt-dark .select2-container--default .select2-results__option--highlighted[aria-selected] .pt-dial {
    background: rgba(255, 255, 255, 0.22) !important;
    color: #fff !important;
}

body.pt-client .pt-doc-sample {
    display: block;
    width: 100%;
    padding: 0;
    cursor: zoom-in;
    background: transparent;
}

body.pt-client .pt-zoom {
    position: fixed;
    inset: 0;
    z-index: 2400;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(15, 23, 42, 0.86);
}

body.pt-client .pt-zoom[hidden] {
    display: none !important;
}

body.pt-client .pt-zoom img {
    max-width: min(920px, 100%);
    max-height: calc(100vh - 80px);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.4);
}

body.pt-client .pt-zoom-close {
    position: absolute;
    top: 16px;
    inset-inline-end: 16px;
    width: 42px;
    height: 42px;
    border: 0;
    border-radius: 50%;
    background: #fff;
    color: #4b1b8f;
    font-size: 28px;
    line-height: 1;
    font-weight: 800;
}

body.pt-zoom-open {
    overflow: hidden;
}

body.pt-client .pt-verify-banner {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 16px;
    padding: 14px 16px;
    border-radius: 16px;
    font-weight: 800;
    text-align: start;
}

body.pt-client .pt-verify-banner.is-warn {
    background: linear-gradient(135deg, #f59e0b, #d97706);
    color: #1f1633;
}

body.pt-client .pt-verify-banner.is-reject {
    background: linear-gradient(135deg, #dc2626, #b91c1c);
    color: #fff;
}

body.pt-client .pt-verify-banner a {
    color: #4b1b8f;
    text-decoration: underline;
    font-weight: 800;
}

body.pt-client .pt-verify-banner.is-pending {
    background: linear-gradient(135deg, #7c3aed, #4b1b8f);
    color: #fff;
}

body.pt-client .pt-verify-banner .blink {
    animation: pt-banner-blink 1.15s ease-in-out infinite;
}

@keyframes pt-banner-blink {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.35; }
}

html.pt-dark body.pt-client .pt-verify-banner.is-warn {
    color: #fff8e7;
}

html.pt-dark body.pt-client .pt-verify-banner.is-reject {
    color: #fff;
}

html.pt-dark body.pt-client main.main-content .pt-verify-banner a:not(.btn):not(.badge):not(.nav-link):not(.text-white),
html.pt-dark body.pt-client .pt-verify-banner a:not(.btn):not(.badge):not(.nav-link):not(.text-white),
html.pt-dark body.pt-client .pt-verify-banner.is-warn a {
    color: #ffe08a !important;
}

html.pt-dark body.pt-client main.main-content .pt-verify-banner.is-reject a:not(.btn):not(.badge):not(.nav-link):not(.text-white),
html.pt-dark body.pt-client .pt-verify-banner.is-reject a {
    color: #ffe4e6 !important;
}

@media (max-width: 700px) {
    body.pt-client .pt-verify-banner {
        flex-direction: column;
        align-items: flex-start;
    }

    body.pt-client .pt-zoom {
        padding: 56px 12px 12px;
    }
}

body.pt-auth.form-membership .form-wrapper h5 {
    margin-bottom: 10px !important;
}

body.pt-client #msform,
body.pt-client #msform .pt-step,
body.pt-client #msform .verification_forms,
body.pt-client #msform .pt-vgrid,
body.pt-client #msform .pt-vfield,
body.pt-client #div_address,
body.pt-client #cities_parent {
    max-width: 100% !important;
    min-width: 0;
    box-sizing: border-box;
}

body.pt-client #msform .select2-container,
body.pt-client #msform .select2-container--default {
    width: 100% !important;
    max-width: 100% !important;
}

body.pt-client #msform .select2-container .select2-selection--single {
    width: 100% !important;
    max-width: 100% !important;
}

.select2-dropdown.pt-address-drop,
body.pt-client .select2-dropdown {
    max-width: min(100vw - 24px, 100%) !important;
    box-sizing: border-box;
}

@media (max-width: 700px) {
    body.pt-client #msform {
        width: min(100%, calc(100vw - 16px)) !important;
        margin-inline: auto !important;
    }

    body.pt-client #msform .pt-step,
    body.pt-client #msform .verification_forms {
        width: 100% !important;
        padding: 16px !important;
    }

    body.pt-client .pt-vgrid {
        grid-template-columns: 1fr !important;
    }

    body.pt-client #div_address,
    body.pt-client #div_address form,
    body.pt-client #div_address .pt-vgrid,
    body.pt-client #div_address .pt-vfield,
    body.pt-client #div_address textarea,
    body.pt-client #div_address .select2-container {
        width: 100% !important;
        max-width: 100% !important;
    }
}

@media (min-width: 701px) {
    body.pt-auth .form-control,
    body.pt-auth.form-membership .form-control {
        min-height: 40px !important;
    }

    body.pt-auth .pt-field {
        margin-bottom: 8px;
    }

    body.pt-auth .pt-field-label {
        margin-bottom: 4px;
        font-size: 12px;
    }

    body.pt-auth .pt-captcha-row {
        min-height: 42px;
        padding: 4px;
    }

    body.pt-auth .pt-captcha-row > .form-control {
        min-height: 32px !important;
    }

    body.pt-auth .btn-primary,
    body.pt-auth button[type="submit"].btn,
    body.pt-auth #register_submit,
    body.pt-auth .pt-btn-row > .btn {
        min-height: 42px;
    }
}

body.pt-auth .pt-modal-x {
    width: 36px;
    height: 36px;
    border: 0;
    border-radius: 50%;
    background: #ffe08a;
    color: #1f1633;
    font-size: 26px;
    line-height: 1;
    font-weight: 800;
    opacity: 1;
}

html.pt-dark body.pt-auth .pt-modal-x,
html.pt-dark body.pt-auth #changing-email-form .pt-modal-x {
    background: #ffe08a !important;
    color: #1f1633 !important;
    opacity: 1 !important;
}

body.pt-client .pt-verify-banner {
    flex-wrap: wrap;
}

body.pt-client main.main-content .pt-verify-banner a.pt-verify-banner-btn,
body.pt-client main.main-content .pt-verify-banner .pt-verify-banner-btn,
body.pt-client .pt-verify-banner .pt-verify-banner-btn {
    flex: 0 0 auto;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 6px 14px !important;
    border-radius: 999px !important;
    border: 2px solid #1f1633 !important;
    background: #1f1633 !important;
    color: #ffe08a !important;
    text-decoration: none !important;
    font-weight: 800 !important;
    box-shadow: none !important;
}

html.pt-dark body.pt-client main.main-content .pt-verify-banner a.pt-verify-banner-btn,
html.pt-dark body.pt-client main.main-content .pt-verify-banner .pt-verify-banner-btn,
html.pt-dark body.pt-client .pt-verify-banner .pt-verify-banner-btn {
    border-color: #ffe08a !important;
    background: #ffe08a !important;
    color: #1f1633 !important;
}

body.pt-client .pt-sms-box {
    text-align: start;
    padding: 8px 4px 4px;
}

body.pt-client .pt-sms-title {
    margin: 0 0 6px;
    font-size: 18px;
    font-weight: 800;
    color: #2a1458;
}

body.pt-client .pt-sms-hint {
    margin: 0 0 14px;
    color: #6b6280;
    font-size: 13px;
}

body.pt-client .pt-sms-code {
    display: block;
    width: 100%;
    min-height: 52px;
    margin: 0 0 12px;
    border: 1.5px solid #e2d8f0;
    border-radius: 14px;
    text-align: center;
    font-size: 26px;
    font-weight: 800;
    letter-spacing: 0.28em;
}

body.pt-client .pt-sms-verify,
body.pt-client .pt-sms-resend,
.swal-modal .pt-sms-verify,
.swal-modal .pt-sms-resend {
    width: 100% !important;
    min-height: 44px !important;
    margin-bottom: 10px !important;
    border: 0 !important;
    border-radius: 14px !important;
    font-weight: 800 !important;
}

body.pt-client .pt-sms-verify,
.swal-modal .pt-sms-verify {
    background: linear-gradient(135deg, #4b1b8f, #6d28d9) !important;
    color: #fff !important;
}

body.pt-client .pt-sms-resend,
.swal-modal .pt-sms-resend {
    background: #efe6ff !important;
    color: #4b1b8f !important;
}

html.pt-dark body.pt-client .pt-sms-resend,
html.pt-dark .swal-modal .pt-sms-resend,
html.pt-dark body .swal-modal .pt-sms-resend {
    background: #4c1d95 !important;
    color: #ffe08a !important;
}

html.pt-dark body.pt-client .pt-sms-verify,
html.pt-dark .swal-modal .pt-sms-verify {
    background: linear-gradient(135deg, #7c3aed, #4b1b8f) !important;
    color: #fff !important;
}

html.pt-dark body.pt-client .pt-sms-title,
html.pt-dark .swal-modal .pt-sms-title {
    color: #f8fafc !important;
}

html.pt-dark body.pt-client .pt-sms-hint,
html.pt-dark body.pt-client .pt-sms-timer,
html.pt-dark .swal-modal .pt-sms-hint,
html.pt-dark .swal-modal .pt-sms-timer {
    color: #cbd5e1 !important;
}

body.pt-client .pt-sms-timer {
    margin: 0;
    font-size: 13px;
    font-weight: 700;
    color: #6b6280;
}

body.pt-client .pt-sms-close,
.swal-modal .pt-sms-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 88px;
    min-height: 36px;
    margin: 0 0 14px;
    border: 0;
    border-radius: 999px;
    background: #e0b93a;
    color: #1f1633;
    font-weight: 800;
}

html.pt-dark body.pt-client .pt-sms-title {
    color: #f8fafc;
}

html.pt-dark body.pt-client .pt-sms-code {
    background: #0f172a;
    border-color: #334155;
    color: #f8fafc;
}

@media (max-width: 700px) {
    body.pt-client .pt-zoom {
        padding: 88px 12px 16px;
        z-index: 2400;
    }

    body.pt-client .pt-zoom-close {
        top: 76px;
        inset-inline-end: 12px;
        z-index: 2401;
        background: #ffe08a;
        color: #1f1633;
    }
}
