   /* --- login.css — Classic, clean, light color palette (soft off-white, warm greys, subtle accents) --- */
    @import url('https://fonts.googleapis.com/css2?family=Inter:opsz,wght@14..32,300;14..32,400;14..32,500;14..32,600;14..32,700&display=swap');

    * {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
    }

    body {
        font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, sans-serif;
        background: #f5f3ef;  /* Soft warm light background like old paper */
        margin: 0;
        padding: 0;
        min-height: 100vh;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .login-wrapper {
        width: 100%;
        min-height: 100vh;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 2rem 1.5rem;
        background: linear-gradient(145deg, #f8f6f2 0%, #efebe5 100%);
    }

    .login-container {
        width: 100%;
        max-width: 480px;
        margin: 0 auto;
    }

    /* Classic card style — clean shadow, rounded corners but minimal */
    .login-card {
        background: #ffffff;
        border-radius: 28px;
        box-shadow: 0 20px 35px -12px rgba(0, 0, 0, 0.08), 0 2px 6px rgba(0, 0, 0, 0.02);
        padding: 2.5rem 2rem;
        transition: all 0.2s ease;
        border: 1px solid rgba(0, 0, 0, 0.03);
    }

    /* Header section with graceful classic touch */
    .login-header {
        text-align: center;
        margin-bottom: 2rem;
    }

    .brand-icon {
        font-size: 2.8rem;
        color: #3c6b47; /* classic deep sage green */
        background: #eef3ea;
        width: 70px;
        height: 70px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        margin: 0 auto 1rem auto;
        box-shadow: 0 2px 12px rgba(60, 107, 71, 0.08);
    }

    .login-title {
        font-size: 1.9rem;
        font-weight: 600;
        letter-spacing: -0.3px;
        color: #2c2b28;
        margin-bottom: 0.35rem;
        font-family: 'Playfair Display', 'Inter', serif;
        font-weight: 500;
    }

    .login-subtitle {
        font-size: 0.95rem;
        color: #6c6a66;
        font-weight: 400;
        border-bottom: 1px solid #e9e6e0;
        display: inline-block;
        padding-bottom: 0.5rem;
    }

    /* Alert messages light & classic */
    .alert-message {
        display: flex;
        align-items: center;
        gap: 0.7rem;
        padding: 0.85rem 1.2rem;
        border-radius: 18px;
        margin-bottom: 1.5rem;
        font-size: 0.9rem;
        font-weight: 500;
        backdrop-filter: blur(2px);
        border-left: 4px solid;
    }

    .error-alert {
        background-color: #fff7f5;
        color: #bc5a3c;
        border-left-color: #e06c3c;
    }

    .error-alert i {
        color: #e06c3c;
        font-size: 1.2rem;
    }

    .success-alert {
        background-color: #f0f7ef;
        color: #2d6a4f;
        border-left-color: #40916c;
    }

    .success-alert i {
        color: #2d6a4f;
    }

    /* Modern but classic form groups */
    .form-group-modern {
        margin-bottom: 1.75rem;
    }

    .form-label-light {
        display: block;
        margin-bottom: 0.55rem;
        font-weight: 500;
        font-size: 0.85rem;
        letter-spacing: 0.3px;
        text-transform: uppercase;
        color: #5a5854;
    }

    .input-icon-group {
        position: relative;
        display: flex;
        align-items: center;
    }

    .input-icon {
        position: absolute;
        left: 16px;
        top: 50%;
        transform: translateY(-50%);
        color: #aaa59c;
        font-size: 1rem;
        pointer-events: none;
        transition: color 0.2s;
    }

    .form-control-light {
        width: 100%;
        padding: 0.85rem 1rem 0.85rem 2.8rem;
        font-size: 0.95rem;
        background: #fefcf8;
        border: 1px solid #e3dfd8;
        border-radius: 60px;
        transition: all 0.2s;
        font-family: 'Inter', monospace;
        color: #2b2a27;
        outline: none;
    }

    .form-control-light:focus {
        border-color: #b7c9b0;
        background: #ffffff;
        box-shadow: 0 0 0 3px rgba(102, 145, 95, 0.1);
    }

    /* password toggle button */
    .password-toggle {
        position: absolute;
        right: 16px;
        top: 50%;
        transform: translateY(-50%);
        background: transparent;
        border: none;
        color: #8b8780;
        cursor: pointer;
        font-size: 1rem;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0;
        transition: color 0.2s;
    }

    .password-toggle:hover {
        color: #3c6b47;
    }

    /* options row: remember + forgot */
    .form-options {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 2rem;
        flex-wrap: wrap;
        gap: 0.75rem;
    }

    .checkbox-classic {
        display: inline-flex;
        align-items: center;
        gap: 0.6rem;
        cursor: pointer;
        font-size: 0.9rem;
        color: #4b4945;
        position: relative;
    }

    .checkbox-classic input {
        position: absolute;
        opacity: 0;
        width: 0;
        height: 0;
    }

    .checkmark {
        width: 18px;
        height: 18px;
        background: #fefcf8;
        border: 1.5px solid #cfcbc4;
        border-radius: 4px;
        display: inline-block;
        transition: all 0.15s;
    }

    .checkbox-classic input:checked ~ .checkmark {
        background-color: #3c6b47;
        border-color: #3c6b47;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
        background-repeat: no-repeat;
        background-position: center;
        background-size: 11px;
    }

    .checkbox-text {
        user-select: none;
        font-weight: 450;
    }

    .forgot-link {
        font-size: 0.85rem;
        color: #7d6b4e;
        text-decoration: none;
        border-bottom: 1px dashed #d6cec0;
        transition: color 0.2s;
    }

    .forgot-link:hover {
        color: #4c6a3b;
        border-bottom-color: #4c6a3b;
    }

    /* Login primary button — classic solid */
    .login-btn {
        width: 100%;
        background: #3c6b47;
        color: white;
        border: none;
        padding: 0.9rem 1.2rem;
        font-size: 1rem;
        font-weight: 600;
        border-radius: 60px;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0.7rem;
        cursor: pointer;
        transition: all 0.25s ease;
        font-family: 'Inter', sans-serif;
        letter-spacing: 0.3px;
        box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
    }

    .login-btn i {
        font-size: 1rem;
        transition: transform 0.2s;
    }

    .login-btn:hover {
        background: #1f2c1e;
        transform: translateY(-1px);
        box-shadow: 0 8px 18px rgba(47, 62, 46, 0.15);
    }

    .login-btn:hover i {
        transform: translateX(3px);
    }

    .login-btn:active {
        transform: translateY(1px);
    }

    /* footer register section */
    .login-footer {
        margin-top: 2rem;
        text-align: center;
        border-top: 1px solid #edeae3;
        padding-top: 1.5rem;
    }

    .login-footer p {
        font-size: 0.9rem;
        color: #5b5954;
    }

    .register-link {
        font-weight: 600;
        color: #3c6b47;
        text-decoration: none;
        margin-left: 0.2rem;
        border-bottom: 1px solid transparent;
        transition: border-color 0.2s;
    }

    .register-link:hover {
        border-bottom-color: #3c6b47;
        color: #2c5238;
    }

    .login-footer-note {
        text-align: center;
        margin-top: 1.8rem;
        font-size: 0.7rem;
        letter-spacing: 0.6px;
        color: #aca9a2;
        font-weight: 400;
    }

    /* Responsive refinements */
    @media (max-width: 550px) {
        .login-card {
            padding: 1.8rem 1.3rem;
        }
        .login-title {
            font-size: 1.6rem;
        }
        .brand-icon {
            width: 58px;
            height: 58px;
            font-size: 2rem;
        }
        .form-control-light {
            padding: 0.75rem 1rem 0.75rem 2.5rem;
        }
    }

    /* disable any conflicting original style interference */
    .site-wrap, .site-mobile-menu, .login-hero, .box, .navbar, .hero-bg {
        all: unset; /* ensures original template leftovers don't break new design */
    }
    body .login-wrapper {
        display: flex;
    }

/* ─────────────────────────────────────
   LEFT SIDE IMAGE SECTION
───────────────────────────────────── */

.login-image-side{
    position:relative;
    width:100%;
    overflow:hidden;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:40px;
}

/* Full Image */
.login-image-side img{
    width:100%;
    height:100%;
    object-fit:cover;
    border-radius:0;
    display:block;
}

/* Optional overlay */
.login-overlay{
    position:absolute;
    inset:0;
    z-index:1;
}

/* Content wrapper */
.login-image-content{
    position:relative;
    z-index:2;
    width:100%;
    height:100%;
    align-items:center;
    justify-content:center;
}

/* Image wrapper */
.brand-logo{
    width:100%;
    height:100%;
}

/* Responsive */
@media(max-width:991px){

    .login-image-side{
        display:none;
    }

}