/* General Layout */
html, body {
    height: 100%;
    margin: 0;
    display: flex;
    flex-direction: column;
}

header, footer {
    position: fixed;
    width: 100%;
    height: 60px;
    background-color: #f8f9fa; /* f8f9fa */
    z-index: 1000;
    text-align: center;
    line-height: 60px;
}


header {
    top: 0;
}

header .navbar {
    background-color: #343a40; /* Dark gray background 343a40 */
    height: 60px; /* Consistent height for the navbar */
    padding: 0 15px; /* Optional padding for better spacing */
    display: flex; /* Flexbox for layout */
    align-items: center; /* Center items vertically */
    justify-content: space-between; /* Space between burger button and title */
}

.navbar-brand {
    color: white; /* White text for better contrast */
    font-size: 1.5rem; /* Slightly larger font size */
    text-align: center; /* Centered text */
    font-weight: bold; /* Make the title stand out */
    margin: 0 auto; /* Center the title horizontally in the navbar */
}

.navbar-brand:hover {
    text-decoration: none; /* Prevent underline on hover */
}


footer {
    bottom: 0;
}

/* App Container */
.app-container {
    margin-top: 60px; /* Offset for header */
    margin-bottom: 60px; /* Offset for footer */
    display: flex;
    height: calc(100vh - 120px); /* Full height minus header/footer */
}

/* Sidebar Styles */
.sidebar {
    width: 250px;
    background-color: #343a40;
    color: white;
    padding: 20px;
    transition: transform 0.3s ease-in-out;
    position: fixed;
    top: 60px; /* Below the header */
    bottom: 60px; /* Above the footer */
    left: 0;
    overflow-y: auto;
    z-index: 1000;
    transform: translateX(0); /* Default position (visible) */
    box-shadow: 2px 0 5px rgba(0, 0, 0, 0.2); /* Layered effect */
}

.sidebar nav ul {
    list-style: none;
    padding: 0;
}

.sidebar nav ul li a {
    color: white;
    text-decoration: none;
    display: block;
    padding: 10px;
    border-radius: 4px;
}

.sidebar nav ul li a:hover {
    background-color: #495057;
}

/* Main Content */
.content {
    flex: 1;
    margin-left: 250px; /* Offset for sidebar */
    padding: 20px;
    background-color: #f8f9fa;
    overflow-y: auto;
}

/* Mobile Mode */
@media (max-width: 1000px) {
    .sidebar {
        transform: translateX(-100%); /* Hidden by default */
    }
    .sidebar nav ul li a:hover {
        background-color: #495057;
    }

    .sidebar.active {
        transform: translateX(0); /* Slide in */
    }

    .content {
        margin-left: 0;
    }

    #menu-toggle {
        display: block !important; /* Force visibility */
    }

    #menu-toggle:hover {
        background-color: #495057;
        transform: scale(1.1); /* Slight grow effect */
    }
}

/* Hamburger Button */
#menu-toggle {
    display: none; /* Hidden on larger screens */
    position: fixed;
    top: 0px;
    left: 0px;
    height: 40px; /* Consistent height */
    width: 40px; /* Equal width for a square shape */
    z-index: 1500;
    background-color: #343a40;
    color: white;
    border: none;
    padding: 0px;
    border-radius: 4px; /* Slight rounding for softer edges */
    font-size: 1.5rem;
    cursor: pointer;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    transition: background-color 0.3s ease, transform 0.3s ease;

    align-items: center; /* Center the symbol vertically */
    justify-content: center; /* Center the symbol horizontally */
}

#menu-toggle:hover {
    background-color: #495057;
    transform: scale(1.1); /* Slight grow effect */
}

/* Banner Image - Default (Mobile) */
#banner-image {
    /*width: 100%; /* Make it full-width on mobile */
    /*max-width: 300px; /* Set a max width for smaller screens */
    height: 43px;
    margin: 0 auto; /* Center it horizontally */
    display: block; /* Ensures it's treated as a block element */
}


/* Desktop Mode */
@media (min-width: 1000px) {
    #banner-image {
        /*width: auto; /* Let it size naturally */
        /*max-width: 200px; /* Set a reasonable size for desktop */
        position: absolute; /* Remove it from the normal flow */
        height: 43px;
        top: 15px; /* Adjust its position */
        left: 0px; /* Align it to the left */
        margin: 0; /* No margin on desktop */
    }
}

/* Default Logout Button Style */
.logout-button {
    color: white;
    border: 1px solid white;
    padding: 5px 10px;
    text-decoration: none;
    border-radius: 5px;
    display: flex; /* Align icon and text in a row */
    align-items: center;
    gap: 5px; /* Space between icon and text */
}

.logout-button:hover {
    background-color: white;
    color: #343a40;
}

.logout-button .logout-text {
    display: inline; /* Default: Show the text */
}

/* Mobile Mode */
@media (max-width: 1000px) {
    .navbar .btn-outline-light {
        position: absolute; /* Ensure it's positioned absolutely */
        top: 15px; /* Adjust to align within the navbar */
        right: 10px; /* Keep it on the right side */
        z-index: 1500; /* Ensure it appears above content */
        transform: translateY(0); /* Avoid disappearing */
    }
    .logout-button {
        padding: 5px; /* Reduce padding for mobile */
    }
    .logout-button .logout-text {
        display: none; /* Hide text on mobile */
    }
    .logout-button i {
        font-size: 1.5rem; /* Make the icon larger for better visibility */
    }
}

/* Authentication Page Background ------------------------------------------- */
.auth-page {
    background-color: #606060; /* A soft gray-blue for a modern look f0f4f8*/
    margin: 0;
    padding: 0;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
}

.auth-banner {
    padding-top: 15px; /* Adjust this value to nudge the banner down */
}

.auth-banner img {
    width: 100%; /* Ensure the banner image stays responsive */
    max-height: 150px;
    object-fit: cover;
    display: block;
    margin-bottom: 20px;
}

/* Authentication Page Layout */
.auth-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 20px;
    text-align: center;
    width: 100%;
    max-width: 600px;
    margin: 20px auto;
    margin-top: 0px;
}

.auth-image img {
    max-width: 90%;
    height: auto;
    margin-bottom: 20px;
    border-radius: 8px; /* Optional: Add rounded corners */
}

.auth-content {
    display: flex;
    flex-direction: column; /* Stacks items vertically */
    align-items: center;
    justify-content: center;
    margin-top: 20px;
    padding: 0 15px;
    text-align: center;
}


/* Form Container */

.auth-form {
    width: 90%;
    max-width: 400px;
    background: white;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

.auth-form label {
    display: block;
    font-weight: bold;
    margin-bottom: 5px;
    text-align: left;
}

.auth-form input {
    width: 100%;
    padding: 10px;
    margin-bottom: 15px;
    border: 1px solid #ddd;
    border-radius: 5px;
}

.auth-form button {
    width: 100%;
    padding: 10px;
    background-color: #007bff;
    color: white;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    font-size: 16px;
}

.auth-form button:hover {
    background-color: #0056b3;
}

@media (min-width: 768px) {

    .auth-content {
        flex-direction: row; /* Align items side by side */
        align-items: flex-start; /* Align at the top */
        justify-content: center; /* Center horizontally */
        gap: 30px; /* Space between the left and right panels */
        max-width: 1200px;
        /* margin: 40px auto;  Center content with margins */
    }
    .auth-left {
        display: flex;
        flex-direction: column; /* Stack banner and image vertically */
        align-items: center; /* Center-align content within */
        max-width: 400px;
         /* gap: 20px; Add space between banner and image */
        flex: 1; /* Let the left side take proportional space */
    }

    .auth-banner img,
    .auth-image img {
        max-width: 80%; /* Ensure the images scale properly */
        object-fit: contain;
        margin-top: 5px;
        margin-bottom: 5px;
    }

    .auth-image {
        flex: 1; /* Let the image take up proportional space */
    }

    .auth-form {
        flex: 1; /* Let the form take proportional space */
        max-width: 400px; /* Constrain the width of the form */
        margin-top: 0; /* Remove top margin for alignment */
        background: white;
        padding: 20px;
        border-radius: 8px;
        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    }
}
