/* ISDemos shared login — deliberately isolated from legacy Metronic styles. */
*, *::before, *::after { box-sizing: border-box; }
html, body { min-height: 100%; }
body.isd-login { margin: 0; color: #182943; background: #0b2342; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; font-size: 15px; }
body.isd-login::before { content: ""; position: fixed; inset: 0; z-index: -1; background: radial-gradient(circle at 15% 22%, rgba(76, 139, 204, .26), transparent 38%), radial-gradient(circle at 88% 78%, rgba(52, 102, 165, .28), transparent 44%), linear-gradient(135deg, #081c36 0%, #153a60 56%, #091b33 100%); }
.isd-shell { display: flex; align-items: center; justify-content: center; flex-direction: column; min-height: 100vh; min-height: 100dvh; padding: 42px 20px 20px; }
.isd-card { width: 100%; max-width: 440px; background: #fff; border: 1px solid rgba(255,255,255,.35); border-radius: 18px; overflow: hidden; box-shadow: 0 28px 80px rgba(0, 13, 35, .32); }
.isd-brand { text-align: center; padding: 33px 38px 0; }
.isd-client-logo { display: block; width: auto; height: auto; max-width: 100%; max-height: 112px; object-fit: contain; margin: 0 auto; }
.isd-brand-divider { height: 1px; background: #e7ebf0; margin: 24px 0 18px; }
.isd-brand-eyebrow { margin: 0; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 1.3px; color: #62809b; }
.isd-content { padding: 17px 38px 30px; }
.isd-content h1 { margin: 0; font-size: 28px; font-weight: 720; line-height: 1.2; letter-spacing: -.6px; color: #10243e; }
.isd-subtitle { margin: 9px 0 26px; color: #62758a; line-height: 1.5; }
.isd-field { margin: 0 0 18px; }
.isd-field label { display: block; color: #2b4058; font-size: 13px; font-weight: 700; margin-bottom: 7px; }
.isd-input { display: block; width: 100%; height: 47px; padding: 12px 14px; border: 1px solid #cdd8e3; border-radius: 8px; background: #f9fbfe; color: #182943; font: inherit; outline: none; transition: border-color .2s, box-shadow .2s; }
.isd-input:focus { border-color: #2f76b5; box-shadow: 0 0 0 3px rgba(47,118,181,.14); background: #fff; }
.isd-input::placeholder { color: #8292a3; }
.isd-captcha-wrap { display: flex; justify-content: center; overflow: visible; margin: 22px 0 18px; min-height: 78px; }
.isd-submit { width: 100%; border: 0; border-radius: 8px; color: #fff; background: #176aaf; min-height: 48px; padding: 11px 20px; font-size: 15px; font-weight: 700; cursor: pointer; transition: background .2s, transform .2s; }
.isd-submit:hover { background: #10578f; }
.isd-submit:focus-visible { outline: 3px solid #8cb9e1; outline-offset: 2px; }
.isd-submit:disabled { cursor: progress; opacity: .7; }
.isd-progress { margin: 13px 0 0; text-align: center; color: #516a81; font-size: 13px; }
.isd-spinner { display: inline-block; width: 15px; height: 15px; vertical-align: -3px; margin-right: 7px; border: 2px solid #d5e5f2; border-top-color: #176aaf; border-radius: 50%; animation: isd-spin .7s linear infinite; }
@keyframes isd-spin { to { transform: rotate(360deg); } }
.isd-assistance { border-top: 1px solid #e7ebf0; margin-top: 26px; padding-top: 21px; display: grid; gap: 15px; }
.isd-assistance > div { display: flex; flex-direction: column; gap: 4px; }
.isd-assistance span { font-size: 13px; color: #67778b; }
.isd-assistance a { color: #176aaf; font-size: 14px; font-weight: 650; text-decoration: none; }
.isd-assistance a:hover { text-decoration: underline; }
.isd-message { display: block; padding: 12px 13px; border-radius: 8px; margin-bottom: 19px; font-size: 13px; line-height: 1.5; }
.isd-message-error { color: #922d36; border: 1px solid #f0c6cc; background: #fff1f2; }
.isd-message-warning { color: #80571d; border: 1px solid #f4d99d; background: #fff8e6; }
[hidden] { display: none !important; }
.isd-hidden-remember { display: none; }
.isd-apply { text-align: center; margin-top: 19px; }
.isd-apply p { color: #61758b; }
.isd-apply img { max-width: 100%; height: auto; }
.isd-card-footer { padding: 18px 20px; text-align: center; background: #f5f8fb; border-top: 1px solid #e7edf3; color: #66798e; font-size: 12px; letter-spacing: .15px; }
.isd-card-footer strong { color: #294c73; }
.isd-outside-footer { font-size: 12px; letter-spacing: .4px; color: #b9cbdf; margin: 19px 0 0; text-align: center; }
@media (max-width: 480px) { .isd-shell { padding: 22px 12px; } .isd-card { border-radius: 14px; } .isd-brand { padding: 25px 24px 0; } .isd-content { padding: 15px 24px 27px; } .isd-content h1 { font-size: 25px; } }
@media (max-width: 350px) { .isd-brand { padding-left: 15px; padding-right: 15px; } .isd-content { padding-left: 15px; padding-right: 15px; } .isd-captcha-wrap { transform: scale(.89); transform-origin: center top; margin-bottom: 9px; } }
@media (prefers-reduced-motion: reduce) { .isd-spinner { animation-duration: 1.8s; } }
/* ===== ISDemos Login — Visual Refinements ===== */

.isd-card {
    max-width: 490px;
    border-radius: 20px;
    box-shadow: 0 32px 90px rgba(0, 10, 30, 0.4), 0 0 0 1px rgba(255,255,255,0.08);
}

.isd-brand {
    padding: 38px 45px 0;
}

.isd-client-logo {
    max-height: 125px;
}

.isd-content {
    padding: 24px 45px 38px;
}

    .isd-content h1 {
        font-size: 32px;
        font-weight: 700;
    }

.isd-subtitle {
    font-size: 15px;
    margin: 11px 0 30px;
}

.isd-field {
    margin-bottom: 22px;
}

    .isd-field label {
        font-size: 14px;
        margin-bottom: 9px;
    }

.isd-input {
    height: 54px;
    font-size: 15px;
    background: #fff;
}

.isd-submit {
    min-height: 54px;
    font-size: 16px;
    border-radius: 10px;
}

.isd-assistance span {
    font-size: 14px;
}

.isd-assistance a {
    font-size: 15px;
}

/* Apply Now — replace legacy image styling */

.isd-apply {
    margin-top: 24px;
}

    .isd-apply p {
        font-size: 14px;
        margin-bottom: 12px;
    }

    .isd-apply a {
        display: inline-block;
        padding: 11px 24px;
        color: #176aaf;
        border: 1px solid #b9d3e9;
        border-radius: 8px;
        font-size: 14px;
        font-weight: 650;
        text-decoration: none;
        background: #f1f7fc;
    }

        .isd-apply a:hover {
            background: #e2f0fc;
            border-color: #176aaf;
        }

/* Mobile */

@media (max-width: 480px) {
    .isd-card {
        max-width: 100%;
    }

    .isd-brand {
        padding: 28px 24px 0;
    }

    .isd-content {
        padding: 22px 24px 30px;
    }

        .isd-content h1 {
            font-size: 27px;
        }
}

/* ISDemos footer branding */

.isd-card-footer {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    padding: 22px 20px;
    background: #102b4a;
    border-top: 1px solid rgba(255,255,255,0.12);
}

.isd-powered-label {
    color: #b8cce0;
    font-size: 13px;
}

.isd-powered-logo {
    display: block;
    width: auto;
    max-width: 150px;
    max-height: 42px;
    object-fit: contain;
}

body.isd-login::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -1;
    background: radial-gradient( ellipse at 20% 25%, rgba(61, 125, 190, 0.30), transparent 45% ), radial-gradient( ellipse at 85% 85%, rgba(36, 100, 168, 0.25), transparent 45% ), linear-gradient( 135deg, #07182e 0%, #15375a 50%, #091a30 100% );
}