/* ==========================================================================
   VANTU PREMIUM LOGIN
   Scoped exclusively by .vantu-premium-login.
   Authentication behavior is untouched.
   ========================================================================== */

body.vantu-premium-login {
    --vantu-navy-950: #061a36;
    --vantu-navy-900: #08254d;
    --vantu-navy-800: #0d3568;
    --vantu-blue: #0b73ef;
    --vantu-blue-dark: #075fc8;
    --vantu-sky: #eaf4ff;
    --vantu-orange: #ff5a00;
    --vantu-text: #10213d;
    --vantu-muted: #6c7d95;
    --vantu-border: #d7e5f3;

    min-height: 100vh;

    background:
        radial-gradient(
            circle at 10% 18%,
            rgba(54, 145, 255, 0.16),
            transparent 25rem
        ),
        radial-gradient(
            circle at 88% 80%,
            rgba(112, 82, 255, 0.09),
            transparent 28rem
        ),
        linear-gradient(
            145deg,
            #f7fbff 0%,
            #eef6ff 52%,
            #f9fbff 100%
        ) !important;

    color: var(--vantu-text);
}


/* Decorative background — no marketing text */

body.vantu-premium-login::before,
body.vantu-premium-login::after {
    content: "";

    position: fixed;

    z-index: 0;

    pointer-events: none;

    border-radius: 50%;
}

body.vantu-premium-login::before {
    width: 420px;
    height: 420px;

    top: -240px;
    right: -120px;

    background:
        linear-gradient(
            145deg,
            rgba(11, 115, 239, 0.14),
            rgba(8, 37, 77, 0.04)
        );
}

body.vantu-premium-login::after {
    width: 320px;
    height: 320px;

    left: -170px;
    bottom: -180px;

    background:
        rgba(255, 90, 0, 0.055);
}


/* Main login wrapper */

body.vantu-premium-login .login-content,
body.vantu-premium-login .login-content.page-card {
    position: relative;

    z-index: 2;
}


/* Center login vertically */

body.vantu-premium-login main,
body.vantu-premium-login .web-form-wrapper,
body.vantu-premium-login .login-content-wrapper {
    position: relative;

    z-index: 2;
}


/* Login card */

body.vantu-premium-login .page-card {
    width: min(430px, calc(100vw - 32px)) !important;

    margin-top: 28px !important;

    padding: 32px 36px 34px !important;

    border: 1px solid rgba(201, 220, 240, 0.94) !important;

    border-radius: 24px !important;

    background:
        linear-gradient(
            155deg,
            rgba(255, 255, 255, 0.98),
            rgba(248, 252, 255, 0.98)
        ) !important;

    box-shadow:
        0 28px 70px rgba(13, 53, 104, 0.14),
        0 8px 24px rgba(13, 53, 104, 0.06) !important;

    backdrop-filter: blur(15px);
}


/* Logo */

body.vantu-premium-login .page-card-head img,
body.vantu-premium-login .login-content img {
    width: 74px !important;
    height: 74px !important;

    margin-bottom: 17px !important;

    object-fit: contain;

    border: 1px solid #deebf7;

    border-radius: 18px;

    background: #ffffff;

    padding: 5px;

    box-shadow:
        0 10px 26px rgba(13, 62, 119, 0.12);
}


/* Main heading */

body.vantu-premium-login .page-card-head h4,
body.vantu-premium-login .page-card-head .indicator {
    margin-bottom: 4px !important;

    color: var(--vantu-navy-900) !important;

    font-size: 24px !important;

    font-weight: 820 !important;

    letter-spacing: -0.035em;
}


/* Small subtitle inserted by JS */

body.vantu-premium-login .vantu-login-subtitle {
    margin: 7px auto 24px;

    color: var(--vantu-muted);

    font-size: 13px;

    line-height: 1.5;

    text-align: center;
}


/* Inputs */

body.vantu-premium-login .form-control,
body.vantu-premium-login .input-with-feedback,
body.vantu-premium-login input[type="text"],
body.vantu-premium-login input[type="email"],
body.vantu-premium-login input[type="password"] {
    min-height: 48px !important;

    border: 1px solid #d5e4f3 !important;

    border-radius: 13px !important;

    background: #f5faff !important;

    color: var(--vantu-text) !important;

    font-size: 14px;

    box-shadow: none !important;

    transition:
        border-color 160ms ease,
        background 160ms ease,
        box-shadow 160ms ease;
}

body.vantu-premium-login .form-control:hover,
body.vantu-premium-login .input-with-feedback:hover {
    border-color: #afcff2 !important;
}

body.vantu-premium-login .form-control:focus,
body.vantu-premium-login .input-with-feedback:focus,
body.vantu-premium-login input:focus {
    border-color: #5da4f5 !important;

    background: #ffffff !important;

    box-shadow:
        0 0 0 4px rgba(11, 115, 239, 0.10) !important;
}


/* Input icons */

body.vantu-premium-login .field-icon,
body.vantu-premium-login .form-control + .field-icon {
    color: #7891ae !important;
}


/* Password Show */

body.vantu-premium-login .toggle-password,
body.vantu-premium-login .password-field .btn {
    color: #5c7695 !important;

    font-weight: 650;
}


/* Forgot password */

body.vantu-premium-login .forgot-password-message,
body.vantu-premium-login .forgot-password-message a {
    color: #5b7390 !important;

    font-size: 13px;

    font-weight: 600;
}

body.vantu-premium-login .forgot-password-message a:hover {
    color: var(--vantu-blue-dark) !important;
}


/* Primary login button */

body.vantu-premium-login .btn-login,
body.vantu-premium-login .page-card-actions .btn-primary {
    min-height: 48px;

    border: 0 !important;

    border-radius: 13px !important;

    background:
        linear-gradient(
            135deg,
            var(--vantu-blue) 0%,
            #075fc8 100%
        ) !important;

    color: #ffffff !important;

    font-size: 14px;

    font-weight: 750;

    box-shadow:
        0 11px 24px rgba(11, 115, 239, 0.23) !important;

    transition:
        transform 160ms ease,
        box-shadow 160ms ease;
}

body.vantu-premium-login .btn-login:hover,
body.vantu-premium-login .page-card-actions .btn-primary:hover {
    transform: translateY(-1px);

    box-shadow:
        0 14px 30px rgba(11, 115, 239, 0.30) !important;
}


/* Secondary login button */

body.vantu-premium-login .page-card-actions .btn-default,
body.vantu-premium-login .login-with-email-link {
    min-height: 45px;

    border: 1px solid #d8e6f4 !important;

    border-radius: 12px !important;

    background: #f5f9fe !important;

    color: #294b72 !important;

    font-weight: 650;
}

body.vantu-premium-login .page-card-actions .btn-default:hover,
body.vantu-premium-login .login-with-email-link:hover {
    border-color: #b8d4f2 !important;

    background: #eaf4ff !important;
}


/* Divider */

body.vantu-premium-login .login-divider {
    color: #8b9bb0 !important;
}

body.vantu-premium-login .login-divider::before,
body.vantu-premium-login .login-divider::after {
    border-color: #e1eaf4 !important;
}


/* Remove generic extra visual clutter */

body.vantu-premium-login .navbar,
body.vantu-premium-login footer.web-footer,
body.vantu-premium-login .web-footer {
    display: none !important;
}


/* Small Vantu security footer */

body.vantu-premium-login .vantu-login-security {
    display: flex;

    align-items: center;
    justify-content: center;

    gap: 6px;

    margin-top: 21px;

    color: #7a8ba3;

    font-size: 10px;

    font-weight: 600;

    letter-spacing: 0.025em;
}

body.vantu-premium-login .vantu-login-security-dot {
    width: 6px;
    height: 6px;

    border-radius: 50%;

    background: #0baa74;

    box-shadow:
        0 0 0 4px rgba(11, 170, 116, 0.09);
}


/* Responsive */

@media (max-width: 600px) {

    body.vantu-premium-login .page-card {
        width: calc(100vw - 24px) !important;

        padding: 27px 22px 29px !important;

        border-radius: 20px !important;
    }

    body.vantu-premium-login .page-card-head img,
    body.vantu-premium-login .login-content img {
        width: 66px !important;
        height: 66px !important;
    }

    body.vantu-premium-login .page-card-head h4 {
        font-size: 22px !important;
    }
}


/* ==========================================================================
   VANTU LOGIN BRAND REFINEMENT — PASS 4
   Customer-login inspired branding.
   ========================================================================== */


/* Main login area */

body.vantu-premium-login .login-content {
    display: flex !important;

    width: 100%;

    flex-direction: column;

    align-items: center;
}


/* ==========================================================================
   LARGE LOGO ABOVE CARD
   ========================================================================== */

body.vantu-premium-login
.vantu-login-brand {
    position: relative;

    z-index: 3;

    display: flex;

    width: 100%;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    margin-bottom: 20px;

    text-align: center;
}


body.vantu-premium-login
.vantu-login-brand-logo {
    display: flex;

    width: 155px;
    min-height: 96px;

    align-items: center;

    justify-content: center;

    padding: 5px 9px;

    border-radius: 16px;

    background:
        rgba(255, 255, 255, 0.72);

    box-shadow:
        0 12px 32px
        rgba(10, 50, 99, 0.08);

    backdrop-filter:
        blur(8px);
}


body.vantu-premium-login
.vantu-login-brand-logo img {
    width: 140px !important;
    height: auto !important;

    max-height: 92px !important;

    margin: 0 !important;

    padding: 0 !important;

    object-fit: contain;

    border: 0 !important;

    border-radius: 0 !important;

    background: transparent !important;

    box-shadow: none !important;
}


/* Hide Frappe's original small card logo because our branded logo is above */

body.vantu-premium-login
.page-card-head > img,
body.vantu-premium-login
.page-card-head .app-logo {
    display: none !important;
}


/* ==========================================================================
   PREMIUM LOGIN CARD
   ========================================================================== */

body.vantu-premium-login
.page-card {
    position: relative;

    overflow: hidden;

    margin-top: 0 !important;

    padding:
        38px 42px 34px !important;

    border:
        1px solid #cddff1 !important;

    border-radius:
        22px !important;

    background:
        rgba(255, 255, 255, 0.97) !important;

    box-shadow:
        0 28px 72px rgba(9, 48, 96, 0.16),
        0 8px 25px rgba(9, 48, 96, 0.055) !important;
}


/* Customer-style gradient accent */

body.vantu-premium-login
.page-card::before {
    content: "";

    position: absolute;

    top: 0;
    left: 0;
    right: 0;

    height: 5px;

    background:
        linear-gradient(
            90deg,
            #0b73ef 0%,
            #355fe1 58%,
            #ff5a00 100%
        );
}


/* Very subtle internal glow */

body.vantu-premium-login
.page-card::after {
    content: "";

    position: absolute;

    z-index: 0;

    width: 180px;
    height: 180px;

    top: -110px;
    right: -100px;

    border-radius: 50%;

    background:
        rgba(11, 115, 239, 0.055);

    pointer-events: none;
}


body.vantu-premium-login
.page-card > * {
    position: relative;

    z-index: 2;
}


/* ==========================================================================
   LOGIN HEADER — SAME LANGUAGE AS CUSTOMER PORTAL
   ========================================================================== */

body.vantu-premium-login
.vantu-login-eyebrow {
    margin-bottom: 7px;

    color: #0b73ef;

    font-size: 10px;

    font-weight: 820;

    letter-spacing: 0.16em;

    text-transform: uppercase;
}


body.vantu-premium-login
.page-card-head h4 {
    margin:
        0 !important;

    color:
        #08254d !important;

    font-size:
        28px !important;

    font-weight:
        850 !important;

    letter-spacing:
        -0.04em;

    line-height:
        1.15;
}


body.vantu-premium-login
.vantu-login-subtitle {
    max-width: 330px;

    margin:
        10px auto 25px;

    color:
        #71819a;

    font-size:
        13px;

    line-height:
        1.55;
}


/* ==========================================================================
   INPUTS
   ========================================================================== */

body.vantu-premium-login
.page-card
.form-control,
body.vantu-premium-login
.page-card
.input-with-feedback {
    min-height:
        50px !important;

    padding-left:
        15px;

    border:
        1px solid #cddff1 !important;

    border-radius:
        13px !important;

    background:
        #f8fbff !important;

    color:
        #10213d !important;
}


body.vantu-premium-login
.page-card
.form-control:focus,
body.vantu-premium-login
.page-card
.input-with-feedback:focus {
    border-color:
        #69aaf7 !important;

    background:
        #ffffff !important;

    box-shadow:
        0 0 0 4px
        rgba(11, 115, 239, 0.095) !important;
}


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

body.vantu-premium-login
.btn-login {
    min-height:
        50px;

    margin-top:
        4px;

    border-radius:
        13px !important;

    background:
        linear-gradient(
            135deg,
            #0b73ef,
            #075fc8
        ) !important;

    color:
        #ffffff !important;

    font-weight:
        760;

    box-shadow:
        0 11px 25px
        rgba(11, 115, 239, 0.24) !important;
}


/* ==========================================================================
   EMAIL LINK BUTTON
   ========================================================================== */

body.vantu-premium-login
.login-with-email-link {
    min-height:
        46px;

    border:
        1px solid #d9e5f2 !important;

    border-radius:
        12px !important;

    background:
        linear-gradient(
            180deg,
            #f8fbff,
            #f1f6fc
        ) !important;
}


/* ==========================================================================
   SECURITY FOOTER
   ========================================================================== */

body.vantu-premium-login
.vantu-login-security {
    margin-top:
        24px;

    padding-top:
        16px;

    border-top:
        1px solid #e7eef6;

    color:
        #8291a5;
}


/* ==========================================================================
   RESPONSIVE
   ========================================================================== */

@media (max-width: 600px) {

    body.vantu-premium-login
    .vantu-login-brand-logo {
        width:
            130px;

        min-height:
            82px;
    }

    body.vantu-premium-login
    .vantu-login-brand-logo img {
        width:
            118px !important;

        max-height:
            78px !important;
    }

    body.vantu-premium-login
    .page-card {
        padding:
            34px 23px 28px !important;

        border-radius:
            19px !important;
    }

    body.vantu-premium-login
    .page-card-head h4 {
        font-size:
            25px !important;
    }
}
