/* ============================================================
   MODERN LOGIN PAGE DESIGN (FINAL FIXED VERSION)
   ============================================================ */

body {
    background: black !important;
    font-family: "Poppins", sans-serif;
    margin: 0;
    padding: 0;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

/* HEADER WRAPPER */
.navbar-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 15px;
    background: #222;
    flex-wrap: wrap; /* allows date & time to break to new line on small screens */
}

/* LEFT SECTION (Logo + Title) */
.navbar-inner .brand {
    display: flex;
    align-items: center;
    gap: 10px;
    color: white;
    flex: 1;
}

.navbar-inner img {
    width: 45px;
    height: 45px;
    border-radius: 8px;
}

/* RIGHT SECTION (Date + Time) */
.header-info {
    text-align: right;
    color: white;
    font-size: 14px;
    min-width: 150px;
}

/* Prevent text from stretching the header */
.header-info p {
    margin: 0;
    line-height: 1.2;
}



/* Wrapper – centers login box */
.wrapper_admin {
    flex: 1; /* pushes footer down */
    display: flex;
    justify-content: center;
    align-items: flex-start;
    padding: 40px 15px 120px 15px; /* bottom padding prevents footer overlap */
}

/* Login card box */
.hero-body-index {
    background: #ffffff;
    width: 100%;
    max-width: 430px;
    padding: 32px 28px;
    border-radius: 18px;
    box-shadow: 0px 8px 25px rgba(0,0,0,0.10);
    margin-top: 20px;
}

html, body {
    height: 100%;
    margin: 0;
    padding: 0;
}

/* Title */
.hero-body-index h2 {
    color: #2a2a2a !important;
    font-size: 26px;
    font-weight: 700;
    text-align: center;
    margin-bottom: 18px;
}

/* Labels */
table td font {
    color: #2a2a2a !important;
    font-size: 15px;
    font-weight: 600;
}

/* Inputs */
.UserName_hover,
.Password_hover {
    width: 100%;
    padding: 14px 15px !important;
    border: 1px solid #dcdcdc !important;
    border-radius: 10px !important;
    font-size: 15px !important;
    background: #fafafa !important;
    margin-bottom: 15px;
    outline: none !important;
    transition: 0.2s;
}

.UserName_hover:focus,
.Password_hover:focus {
    border-color: #6ccf84 !important;
    box-shadow: 0px 0px 5px rgba(108,207,132,0.35);
}

/* Login button */
button.btn-primary {
    width: 100%;
    background: #67c97d !important;
    border: none !important;
    padding: 14px 0 !important;
    font-size: 17px !important;
    font-weight: 600;
    border-radius: 10px !important;
    margin-top: 5px;
}

button.btn-primary:hover {
    background: #5bb970 !important;
}

/* Register button */
a.btn.btn-info {
    width: 100%;
    display: block;
    text-align: center;
    background: #4da9ff !important;
    padding: 14px 0 !important;
    font-size: 15px;
    font-weight: 600;
    border-radius: 10px !important;
    margin-top: 12px;
}

a.btn.btn-info:hover {
    background: #2893ff !important;
}

/* Error UI */
.alert-error {
    background: #ffe1e1 !important;
    color: #b00020 !important;
    border: none !important;
    padding: 12px 12px;
    border-radius: 10px;
    font-size: 14px;
    margin-top: 15px;
}

/* FOOTER STICKY FIXED BOTTOM */
.main-footer {
    width: 100%;
    background: #1a1a1a !important;
    color: white !important;
    text-align: center;
    font-family: "Poppins", sans-serif;
    font-size: 16px;
    font-weight: 600;
    padding: 18px 0;
    position: fixed;
    bottom: 0;
    left: 0;
}

/* ===============================
   MOBILE RESPONSIVE FIXED VERSION
   =============================== */
@media (max-width: 600px) {

    /* Reduce big space above */
    .wrapper_admin {
        padding: 20px 15px 130px 15px !important; /* more bottom space for footer */
        align-items: flex-start;
    }

    .hero-body-index {
        margin-top: 10px !important; /* card moves up */
        width: 100%;
        max-width: 380px;
    }

    /* Table fixes */
    table {
        width: 100%;
    }

    table td {
        display: block;
        width: 100%;
        margin-bottom: 8px;
    }

    table td:first-child {
        margin-bottom: 5px;
    }
    
}


@media (max-width: 768px) {

    .navbar-inner {
        flex-direction: column;
        text-align: center;
    }

    .header-info {
        text-align: center;
        margin-top: 10px;
    }
}
