* {
    box-sizing: border-box;
}

html,
body {
    margin: 0;
    min-height: 100%;
}

body {
    font-family: "Onest", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    color: rgba(120, 45, 88, 0.92);

    background:
        radial-gradient(circle at 20% 20%, rgba(255, 190, 225, 0.55), transparent 32%),
        radial-gradient(circle at 80% 15%, rgba(180, 225, 255, 0.45), transparent 30%),
        radial-gradient(circle at 50% 85%, rgba(255, 225, 170, 0.42), transparent 35%),
        linear-gradient(135deg, #fff7fb 0%, #f8fbff 48%, #fff5fb 100%);
}

.vtdz_signup_page {
    position: relative;

    min-height: 100vh;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    padding: 42px 22px;

    overflow: hidden;
}

.vtdz_signup_card {
    position: relative;
    z-index: 5;

    width: min(720px, 100%);

    padding: 46px;

    border-radius: 38px;

    background: rgba(255, 255, 255, 0.56);

    border: 1px solid rgba(255, 255, 255, 0.76);

    box-shadow:
        0 30px 90px rgba(177, 30, 111, 0.12),
        0 10px 30px rgba(70, 90, 130, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 0.82);

    backdrop-filter: blur(30px) saturate(165%);
    -webkit-backdrop-filter: blur(30px) saturate(165%);
}

.vtdz_signup_header {
    text-align: center;
    margin-bottom: 34px;
}

.vtdz_signup_badge {
    display: inline-flex;

    margin-bottom: 16px;
    padding: 9px 14px;

    border-radius: 999px;

    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;

    color: rgba(177, 30, 111, 0.58);

    background: rgba(255, 255, 255, 0.42);

    border: 1px solid rgba(255, 255, 255, 0.74);
}

.vtdz_signup_header h1 {
    margin: 0 0 14px;

    font-size: 38px;
    line-height: 1.05;
    letter-spacing: -0.06em;

    color: rgba(120, 45, 88, 0.92);
}

.vtdz_signup_header p {
    max-width: 520px;

    margin: 0 auto;

    font-size: 16px;
    line-height: 1.65;
    letter-spacing: -0.02em;

    color: rgba(95, 45, 76, 0.68);
}

.vtdz_signup_form {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.vtdz_inline_fields {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.vtdz_field {
    display: flex;
    flex-direction: column;
    gap: 9px;
}

.vtdz_field > span {
    padding-left: 4px;

    font-size: 13px;
    font-weight: 800;
    letter-spacing: -0.01em;

    color: rgba(120, 45, 88, 0.72);
}

.vtdz_field input {
    width: 100%;
    height: 54px;

    padding: 0 17px;

    border: 1px solid rgba(255, 255, 255, 0.84);
    outline: none;

    border-radius: 18px;

    font: inherit;
    font-size: 15px;
    font-weight: 600;

    color: rgba(90, 38, 70, 0.92);

    background: rgba(255, 255, 255, 0.48);

    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.86),
        0 10px 24px rgba(177, 30, 111, 0.05);

    transition:
        border-color 0.22s ease,
        background 0.22s ease,
        box-shadow 0.22s ease,
        transform 0.22s ease;
}

.vtdz_field input::placeholder {
    color: rgba(120, 45, 88, 0.35);
}

.vtdz_field input:focus {
    background: rgba(255, 255, 255, 0.68);

    border-color: rgba(231, 114, 172, 0.48);

    box-shadow:
        0 0 0 4px rgba(240, 154, 193, 0.18),
        0 14px 30px rgba(177, 30, 111, 0.08);
}

.vtdz_password_wrap {
    position: relative;
}

.vtdz_password_wrap input {
    padding-right: 50px;
}

.vtdz_eye_btn {
    position: absolute;
    right: 10px;
    top: 50%;

    width: 34px;
    height: 34px;

    transform: translateY(-50%);

    display: flex;
    align-items: center;
    justify-content: center;

    border: 0;
    border-radius: 12px;

    cursor: pointer;

    background: rgba(255, 255, 255, 0.56);

    color: rgba(177, 30, 111, 0.58);

    font-size: 15px;

    transition:
        background 0.22s ease,
        transform 0.22s ease,
        opacity 0.22s ease;
}

.vtdz_eye_btn:hover {
    background: rgba(255, 255, 255, 0.82);
}

.vtdz_invite_field {
    margin-top: 4px;

    padding: 16px;

    border-radius: 24px;

    background:
        linear-gradient(135deg, rgba(255, 244, 251, 0.78), rgba(241, 248, 255, 0.56));

    border: 1px solid rgba(255, 255, 255, 0.84);

    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.9),
        0 18px 40px rgba(177, 30, 111, 0.07);
}

.vtdz_invite_field > span {
    color: rgba(177, 30, 111, 0.78);
}

.vtdz_invite_field input {
    background: rgba(255, 255, 255, 0.62);
}

.vtdz_terms {
    display: flex;
    align-items: flex-start;
    gap: 12px;

    margin-top: 2px;

    font-size: 13px;
    line-height: 1.55;
    font-weight: 600;

    color: rgba(95, 45, 76, 0.62);
}

.vtdz_terms input {
    margin-top: 3px;

    width: 17px;
    height: 17px;

    accent-color: rgb(177, 30, 111);
}

.vtdz_signup_button {
    height: 58px;

    margin-top: 8px;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;

    border: 0;
    border-radius: 20px;

    cursor: pointer;

    font: inherit;
    font-size: 16px;
    font-weight: 800;
    letter-spacing: -0.03em;

    color: white;

    background:
        linear-gradient(135deg, #b11e6f, #e772ac 52%, #f09ac1);

    box-shadow:
        0 18px 42px rgba(177, 30, 111, 0.26),
        inset 0 1px 0 rgba(255, 255, 255, 0.34);

    transition:
        transform 0.22s ease,
        box-shadow 0.22s ease,
        filter 0.22s ease;
}

.vtdz_signup_button:hover {
    transform: translateY(-3px);

    filter: saturate(1.06);

    box-shadow:
        0 24px 54px rgba(177, 30, 111, 0.32),
        inset 0 1px 0 rgba(255, 255, 255, 0.38);
}

.vtdz_signup_button span {
    transition: transform 0.22s ease;
}

.vtdz_signup_button:hover span {
    transform: translate(3px, -3px);
}

.vtdz_login_hint {
    position: relative;
    z-index: 6;

    margin-top: 22px;

    font-size: 14px;
    font-weight: 700;

    color: rgba(120, 45, 88, 0.52);
}

.vtdz_login_hint a {
    color: rgba(177, 30, 111, 0.82);
    text-decoration: none;
}

.vtdz_login_hint a:hover {
    text-decoration: underline;
}

.vtdz_signup_cane {
    position: absolute;
    z-index: 2;

    width: 220px;

    pointer-events: none;
    user-select: none;

    opacity: 0.94;

    filter: drop-shadow(0 22px 36px rgba(0, 0, 0, 0.14));
}

.vtdz_signup_cane_left {
    left: calc(50% - 520px);
    top: 50%;

    transform:
        translateY(-50%)
        rotate(-36deg);
}

.vtdz_signup_cane_right {
    right: calc(50% - 520px);
    top: 50%;

    transform:
        translateY(-50%)
        scaleX(-1)
        rotate(-36deg);
}
.g_noselect{
    -webkit-touch-callout:none;
    -webkit-user-select:none;
    -khtml-user-select:none;
    -moz-user-select:none;
    -ms-user-select:none;
    user-select:none
}
.vtdz_form_message {
    margin-bottom: 20px;
    padding: 15px 17px;

    border-radius: 18px;

    font-size: 14px;
    line-height: 1.55;
    font-weight: 700;

    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

.vtdz_form_error {
    color: rgba(150, 38, 72, 0.92);

    background: rgba(255, 225, 235, 0.62);
    border: 1px solid rgba(255, 170, 200, 0.72);
}

.vtdz_form_success {
    color: rgba(62, 130, 92, 0.92);

    background: rgba(225, 255, 238, 0.62);
    border: 1px solid rgba(150, 225, 180, 0.72);
}
.vtdz_hidden_after_success{
    display:none;
}
.vtdz_success_modal_overlay{
    position:fixed;
    inset:0;
    z-index:100;

    display:flex;
    align-items:center;
    justify-content:center;

    padding:22px;

    background:rgba(255,245,251,0.38);

    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
}

.vtdz_success_modal{
    position:relative;

    width:min(460px, 100%);

    padding:38px 34px 32px;

    border-radius:32px;

    text-align:center;

    background:rgba(255,255,255,0.68);

    border:1px solid rgba(255,255,255,0.82);

    box-shadow:
        0 30px 90px rgba(177,30,111,0.16),
        inset 0 1px 0 rgba(255,255,255,0.9);

    backdrop-filter:blur(30px) saturate(165%);
    -webkit-backdrop-filter:blur(30px) saturate(165%);
}

.vtdz_success_close{
    position:absolute;
    top:14px;
    right:14px;

    width:34px;
    height:34px;

    border:0;
    border-radius:12px;

    cursor:pointer;

    background:rgba(255,255,255,0.58);
    color:rgba(120,45,88,0.62);

    font-size:24px;
    line-height:1;
}

.vtdz_success_icon{
    width:58px;
    height:58px;

    margin:0 auto 18px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:20px;

    color:white;

    font-size:30px;
    font-weight:900;

    background:linear-gradient(135deg, #b11e6f, #e772ac, #f09ac1);

    box-shadow:0 16px 34px rgba(177,30,111,0.24);
}

.vtdz_success_modal h2{
    margin:0 0 12px;

    font-size:28px;
    letter-spacing:-0.05em;

    color:rgba(120,45,88,0.92);
}

.vtdz_success_modal p{
    margin:0;

    font-size:15px;
    line-height:1.65;

    color:rgba(95,45,76,0.68);
}

.vtdz_success_actions{
    margin-top:26px;

    display:flex;
    gap:12px;
    justify-content:center;
    flex-wrap:wrap;
}

.vtdz_success_login,
.vtdz_success_secondary{
    height:46px;

    padding:0 18px;

    display:inline-flex;
    align-items:center;
    justify-content:center;

    border-radius:16px;

    font:inherit;
    font-size:14px;
    font-weight:800;

    cursor:pointer;
    text-decoration:none;
}

.vtdz_success_login{
    border:0;

    color:white;

    background:linear-gradient(135deg, #b11e6f, #e772ac, #f09ac1);

    box-shadow:0 14px 30px rgba(177,30,111,0.20);
}

.vtdz_success_secondary{
    border:1px solid rgba(255,255,255,0.82);

    color:rgba(120,45,88,0.62);

    background:rgba(255,255,255,0.55);
}