/* ================= AUTH PAGES (LOGIN & REGISTER) ================= */

body,
html {
height: 100%;
margin: 0;
overflow: hidden;
/* NO SCROLL */
font-family: 'Poppins', sans-serif;
}

/* Section full height */
.login-section {
height: calc(100vh - 140px);
/* header height adjust */
background: #fffdf7;
display: flex;
align-items: center;
justify-content: center;
}

/* Center Box */
.login-center-box {
width: 100%;
max-width: 420px;
text-align: center;
margin: auto;
}

/* Heading */
.login-center-box h2 {
font-size: 34px;
font-weight: 700;
color: #0b8f3c;
margin-bottom: 30px;
letter-spacing: 1px;
}

/* Inputs */
.login-center-box .form-control {
border-radius: 4px;
padding: 12px 14px;
font-size: 16px;
border: 1px solid #ccc;
box-shadow: none;
}

.login-center-box .form-control:focus {
border-color: #0b8f3c;
box-shadow: none;
}

/* Forgot */
.forgot-link {
font-size: 14px;
color: #000;
text-decoration: none;
display: block;
text-align: left;
margin-top: 5px;
}

.forgot-link:hover {
color: #0b8f3c;
}

/* ================= BUTTONS ================= */

/* Main Green Button */
.btn-login,
.btn-create {
background: #0b8f3c !important;
color: #ffffff !important;
padding: 10px 45px;
border-radius: 4px;
font-size: 16px;
border: none;
margin-top: 20px;
transition: background 0.3s ease, transform 0.2s ease;
width: 100%;
text-decoration: none;
display: inline-block;
text-align: center;
}

/* Hover Effect */
.btn-login:hover,
.btn-create:hover {
background: #086c2e;
transform: translateY(-2px);
}

/* OR Divider */
.or-divider {
margin: 15px 0;
font-size: 13px;
color: #777;
position: relative;
text-align: center;
}

.or-divider::before,
.or-divider::after {
content: "";
position: absolute;
top: 50%;
width: 40%;
height: 1px;
background: #ddd;
}

.or-divider::before {
left: 0;
}

.or-divider::after {
right: 0;
}



/* ================= FOOTER LINES ================= */

.footer-red-line {
height: 10px;
background: #d71920;
}

.footer-green-line {
height: 10px;
background: #2f8f46;
}

/* ================= RESPONSIVE ================= */

@media (max-width: 576px) {
.login-center-box h2 {
font-size: 26px;
}
}


/* toast-popup */
.toast-popup {
    position: fixed !important;
    top: 15px !important;
    right: 15px !important;
    left: auto !important;
    bottom: auto !important;

    background: #111;
    color: #fff;
    padding: 14px 18px;
    border-radius: 8px;
    min-width: 260px;
    max-width: 340px;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.35);
    display: none;
    z-index: 999999;
    overflow: hidden;
    animation: slideIn 0.4s ease-out;
}

.toast-popup.success {
    border-left: 5px solid #28a745;
}

.toast-popup.error {
    border-left: 5px solid #dc3545;
}

.toast-title {
    font-weight: 600;
    margin-bottom: 4px;
    font-size: 15px;
}

.toast-progress {
    position: absolute;
    bottom: 0;
    left: 0;
    height: 3px;
    background: #28a745;
    width: 0%;
    transition: width 3s linear;
}

/* Right-slide animation */
@keyframes slideIn {
    from {
        transform: translateX(120%);
        opacity: 0;
    }

    to {
        transform: translateX(0);
        opacity: 1;
    }
}



@media (max-width: 768px) {

    body,
    html {
        overflow: auto;
        height: auto;
    }
}


@media (max-width: 768px) {

    .login-section {
        height: auto;
        min-height: calc(100vh - 100px);
        padding: 30px 15px;
        align-items: flex-start;
    }

    .login-center-box {
        margin-top: 40px;
        max-width: 100%;
    }
}

@media (max-width: 576px) {

    .login-center-box h2 {
        font-size: 24px;
        margin-bottom: 20px;
    }

    .login-center-box .form-control {
        font-size: 15px;
        padding: 10px 12px;
    }

    .forgot-link {
        font-size: 13px;
    }

    .btn-login,
    .btn-create {
        font-size: 15px;
        padding: 10px 0;
    }

    .or-divider {
        font-size: 12px;
    }
}


@media (max-width: 360px) {

    .login-center-box h2 {
        font-size: 22px;
    }

    .or-divider::before,
    .or-divider::after {
        width: 35%;
    }

    .btn-login,
    .btn-create {
        font-size: 14px;
    }
}