/* =====================================================
   OVERLAY
===================================================== */

.pm-auth-overlay {

    display: none;

    position: fixed;

    inset: 0;

    z-index: 1000000;

    align-items: center;

    justify-content: center;

    padding: 14px;

    background: rgba(15, 23, 42, .66);

    backdrop-filter: blur(2px);

}


/* =====================================================
   MODAL
   Previous 465px → now only slightly wider 500px
===================================================== */

.pm-auth-modal {

    position: relative;

    width: 100%;

    max-width: 500px;

    max-height: calc(100vh - 28px);

    overflow-y: auto;

    box-sizing: border-box;

    padding: 35px 34px 27px;

    background: #ffffff;

    border: 1px solid rgba(0,0,0,.04);

    border-radius: 17px;

    text-align: center;

    box-shadow:
        0 24px 68px
        rgba(0,0,0,.23);

    animation: pmAuthOpen .20s ease;

}


@keyframes pmAuthOpen {

    from {
        opacity: 0;

        transform:
            translateY(8px)
            scale(.985);
    }

    to {
        opacity: 1;

        transform:
            translateY(0)
            scale(1);
    }

}


.pm-auth-modal::-webkit-scrollbar {
    width: 6px;
}

.pm-auth-modal::-webkit-scrollbar-thumb {
    background: #c8ccd1;
    border-radius: 10px;
}


/* =====================================================
   CLOSE
===================================================== */

.pm-auth-close {

    position: absolute;

    top: 11px;

    right: 13px;

    width: 33px;

    height: 33px;

    border: 0;

    background: transparent;

    color: #70757d;

    font-size: 28px;

    line-height: 31px;

    cursor: pointer;

}

.pm-auth-close:hover {
    color: #222;
}


/* =====================================================
   HEADING
===================================================== */

.pm-auth-brand {

    margin: 3px 0 10px;

    color: #20242b;

    font-size: 26px;

    line-height: 1.2;

    font-weight: 750;

    letter-spacing: -.3px;

}

.pm-auth-brand span {
    color: #27a844;
}


/* =====================================================
   SUBTITLE
===================================================== */

.pm-auth-subtitle {

    max-width: 415px;

    margin: 0 auto 18px;

    color: #656b73;

    font-size: 14px;

    line-height: 1.5;

}


/* =====================================================
   BENEFIT
===================================================== */

.pm-auth-benefit {

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 8px;

    margin-bottom: 19px;

    padding: 11px 14px;

    background: #f0fbf4;

    border: 1px solid #d5f0df;

    border-radius: 10px;

    color: #363c43;

    font-size: 13px;

}

.pm-auth-benefit strong {

    color: #20242b;

    font-weight: 700;

}

.pm-benefit-check {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    width: 23px;

    height: 23px;

    flex-shrink: 0;

    border-radius: 50%;

    background: #28a745;

    color: #ffffff;

    font-size: 14px;

    font-weight: 700;

}


/* =====================================================
   GOOGLE
===================================================== */

.pm-google-btn {

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 11px;

    position: relative;

    width: 100%;

    min-height: 52px;

    border: 1px solid #1a73e8;

    border-radius: 9px;

    background:
        linear-gradient(
            135deg,
            #4285f4,
            #2875ea
        );

    color: #ffffff;

    font-family: inherit;

    font-size: 15px;

    font-weight: 650;

    cursor: pointer;

    box-shadow:
        0 5px 13px
        rgba(66,133,244,.19);

    transition:
        transform .15s ease,
        box-shadow .15s ease;

}

.pm-google-btn:hover {

    transform: translateY(-1px);

    box-shadow:
        0 7px 17px
        rgba(66,133,244,.26);

}

.pm-google-icon-box {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    width: 33px;

    height: 33px;

    position: absolute;

    left: 10px;

    border-radius: 6px;

    background: #ffffff;

}


/* =====================================================
   OR
===================================================== */

.pm-auth-or {

    display: flex;

    align-items: center;

    gap: 12px;

    margin: 17px 0;

    color: #8c9299;

    font-size: 13px;

}

.pm-auth-or::before,
.pm-auth-or::after {

    content: "";

    flex: 1;

    height: 1px;

    background: #e1e4e8;

}


.pm-auth-tabs {
    display: none;
}


/* =====================================================
   FIELDS
===================================================== */

.pm-field {

    position: relative;

    display: flex;

    align-items: center;

    width: 100%;

    height: 49px;

    box-sizing: border-box;

    margin-bottom: 12px;

    border: 1px solid #d8dde5;

    border-radius: 9px;

    background: #ffffff;

    transition:
        border-color .2s ease,
        box-shadow .2s ease;

}

.pm-field:focus-within {

    border-color: #28a745;

    box-shadow:
        0 0 0 3px
        rgba(40,167,69,.08);

}

.pm-field-icon {

    display: flex;

    width: 47px;

    height: 100%;

    align-items: center;

    justify-content: center;

    flex-shrink: 0;

    color: #28a745;

}

.pm-field input {

    width: 100%;

    height: 100%;

    box-sizing: border-box;

    padding: 0 47px 0 0;

    border: 0;

    outline: 0;

    background: transparent;

    color: #252a30;

    font-family: inherit;

    font-size: 14px;

}

.pm-field input::placeholder {
    color: #9ca4af;
}


.pm-field input:-webkit-autofill,
.pm-field input:-webkit-autofill:hover,
.pm-field input:-webkit-autofill:focus {

    -webkit-text-fill-color: #252a30;

    -webkit-box-shadow:
        0 0 0 1000px #ffffff inset;

    transition:
        background-color 9999s ease-in-out 0s;

}


/* =====================================================
   PASSWORD EYE
===================================================== */

.pm-password-eye {

    position: absolute;

    right: 10px;

    top: 50%;

    transform: translateY(-50%);

    display: flex;

    align-items: center;

    justify-content: center;

    width: 33px;

    height: 33px;

    padding: 0;

    border: 0;

    background: transparent;

    color: #8c95a3;

    cursor: pointer;

}

.pm-password-eye:hover {
    color: #4f5966;
}


/* =====================================================
   OPTIONS
===================================================== */

.pm-login-options {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 12px;

    margin: 3px 0 17px;

}

.pm-remember {

    display: flex;

    align-items: center;

    gap: 7px;

    margin: 0;

    color: #3f464e;

    font-size: 12.5px;

    cursor: pointer;

}

.pm-remember input {

    width: 17px;

    height: 17px;

    margin: 0;

    accent-color: #28a745;

}

.pm-forgot-link {

    color: #1473e6;

    font-size: 12.5px;

    text-decoration: none;

}

.pm-forgot-link:hover {
    text-decoration: underline;
}


/* =====================================================
   LOGIN BUTTON
===================================================== */

.pm-login-btn {

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 10px;

    width: 100%;

    min-height: 51px;

    padding: 0 16px;

    border: 0;

    border-radius: 9px;

    background:
        linear-gradient(
            135deg,
            #2ca94b,
            #21933e
        );

    color: #ffffff;

    font-family: inherit;

    font-size: 15px;

    font-weight: 700;

    cursor: pointer;

    box-shadow:
        0 5px 12px
        rgba(40,167,69,.18);

    transition:
        transform .15s ease,
        box-shadow .15s ease;

}

.pm-login-btn:hover {

    transform: translateY(-1px);

    box-shadow:
        0 7px 16px
        rgba(40,167,69,.24);

}

.pm-login-btn:disabled {

    opacity: .65;

    cursor: not-allowed;

    transform: none;

}

.pm-btn-arrow {

    font-size: 20px;

    line-height: 1;

}


/* =====================================================
   BOTTOM
===================================================== */

.pm-auth-bottom {

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 7px;

    margin-top: 20px;

    padding-top: 17px;

    border-top: 1px solid #eceff2;

    color: #747b84;

    font-size: 13px;

}

.pm-auth-bottom button {

    padding: 0;

    border: 0;

    background: transparent;

    color: #25a244;

    font-family: inherit;

    font-size: 13px;

    font-weight: 700;

    cursor: pointer;

}

.pm-auth-bottom button:hover {
    text-decoration: underline;
}


/* =====================================================
   SIGNUP TERMS
===================================================== */

.pm-signup-terms {

    max-width: 410px;

    margin: 13px auto 0;

    color: #8a9098;

    font-size: 10.5px;

    line-height: 1.45;

}

.pm-signup-terms a {

    color: #278c43;

    text-decoration: none;

}


/* =====================================================
   MESSAGE
===================================================== */

.pm-auth-message {

    margin-bottom: 12px;

    padding: 9px 11px;

    border-radius: 7px;

    text-align: left;

    font-size: 12px;

    line-height: 1.4;

}

.pm-auth-message.error {

    background: #fff2f2;

    border: 1px solid #ffd3d3;

    color: #b42318;

}

.pm-auth-message.success {

    background: #effbf3;

    border: 1px solid #ccefd8;

    color: #187636;

}




/* =====================================================
   FORGOT PASSWORD VIEW
===================================================== */

.pm-forgot-head {
    margin-bottom: 20px;
    text-align: center;
}

.pm-forgot-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    margin: 0 auto 14px;
    border-radius: 50%;
    background: #eef9f1;
    color: #28a745;
}

.pm-forgot-title {
    margin-bottom: 7px;
    color: #252a30;
    font-size: 20px;
    font-weight: 700;
}

.pm-forgot-text {
    max-width: 390px;
    margin: 0 auto;
    color: #707780;
    font-size: 13px;
    line-height: 1.5;
}

.pm-forgot-success {
    padding: 8px 0 5px;
    text-align: center;
}

.pm-forgot-success-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 62px;
    height: 62px;
    margin: 0 auto 17px;
    border-radius: 50%;
    background: #eaf8ee;
    color: #28a745;
    font-size: 29px;
    font-weight: 700;
}

.pm-forgot-success-title {
    margin-bottom: 9px;
    color: #252a30;
    font-size: 21px;
    font-weight: 700;
}

.pm-forgot-success-text {
    color: #687079;
    font-size: 13px;
    line-height: 1.6;
}

.pm-forgot-success-note {
    margin-top: 8px;
    color: #8a9098;
    font-size: 12px;
    line-height: 1.5;
}


/* =====================================================
   SHORT SCREEN
===================================================== */

@media (max-height: 720px) {

    .pm-auth-modal {

        padding:
            27px 29px 20px;

    }

    .pm-auth-brand {
        font-size: 24px;
    }

    .pm-auth-subtitle {
        margin-bottom: 12px;
    }

    .pm-auth-benefit {

        margin-bottom: 13px;

        padding:
            8px 11px;

    }

    .pm-google-btn {
        min-height: 47px;
    }

    .pm-auth-or {
        margin: 11px 0;
    }

    .pm-field {

        height: 44px;

        margin-bottom: 9px;

    }

    .pm-login-options {
        margin-bottom: 11px;
    }

    .pm-login-btn {
        min-height: 46px;
    }

    .pm-auth-bottom {

        margin-top: 12px;

        padding-top: 11px;

    }

}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 576px) {

    .pm-auth-overlay {
        padding: 8px;
    }

    .pm-auth-modal {

        max-width: 100%;

        max-height:
            calc(100vh - 16px);

        padding:
            29px 20px 21px;

        border-radius: 14px;

    }

    .pm-auth-brand {
        font-size: 23px;
    }

    .pm-auth-subtitle {
        font-size: 13px;
    }

    .pm-auth-benefit {
        font-size: 12px;
    }

    .pm-google-btn {
        font-size: 14px;
    }

    .pm-login-options {

        gap: 8px;

    }

    .pm-remember,
    .pm-forgot-link {
        font-size: 11.5px;
    }

}

/* V28 externalized defaults: no inline style attributes in homepage markup. */
#pmCommonMessage, #pmCommonSignupForm, #pmCommonForgotForm { display: none; }
.pm-auth-email-highlight { color: #333; }
.pm-forgot-back-spacing { margin-top: 22px; }

