/* Basic reset */
body, html {
    height: 100%;
    margin: 0;
    display: flex;
    justify-content: center; /* Center horizontally */
    align-items: center; /* Center vertically */
    font-family: Arial, sans-serif; /* Ensures consistent font styling */
}

.login-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    box-shadow: 0 0 10px #ccc;
    padding: 20px;
    width: 100%; /* Adjust width as needed */
    max-width: 300px; /* Ensures the container is not too wide */
    background: #fff;
    min-height: 100px; /* Sets a minimum height so it's never too small */
    overflow-y: auto; /* Only show scrollbar when necessary */
    flex-shrink: 0; /* Prevent shrinking */
      overflow-x: hidden; /* Hides horizontal scrollbar */
}


/* Form and input styling for better alignment and spacing */
form {
    width: 100%;
}

.input-group {
    margin-bottom: 15px;
}

/* NEW STYLE - Adjusts label spacing and size */
.input-group label {
    display: block;
    margin-bottom: 5px; /* Adds 5px gap below the label */
    font-size: 14px;    /* Makes the label text smaller */
    color: #333;
}

input[type="text"], input[type="email"], input[type="password"], button {
    width: 100%;
    padding: 10px;
    box-sizing: border-box; /* Includes padding and border in the width and height */
}

input::placeholder {
    color: #aaa; /* Light grey placeholder text */
}

input {
    background: #f9f9f9; /* Light background for inputs */
    border: 2px solid #ccc; /* Light grey border */
    border-radius: 4px; /* Rounded borders */
}

input:focus {
    border-color: #0088cc; /* Highlighted border color on focus */
}

button {
      display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 40px;
    padding: 12px 20px;
    margin-top: 10px;
    background-color: #003f5c;
    color: white;
    font-size: 16px;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

button:hover, button:focus {
    background-color: #005f8a;
       box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);

}

button:active {
    background-color: #003f5c; /* Even darker blue when pressed */
}

.spinner {
    width: 20px;
    height: 20px;
    display: none; /* Hidden by default */
    margin: 0 auto; /* Centers spinner horizontally */
}

button.loading.spinner {
    display: inline-block; /* Show spinner without affecting button size */
}

button.loading span {
    display: none; /* Hide text when loading */
}

.text-container {
    margin-top: 20px; /* Adjust margin as needed */
}

.message {
    width: 95%;
    padding: 10px;
    margin-top: 10px;
    text-align: center;
    border-radius: 4px;
    display: none;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
    font-size: 14px;
}

.message.error {
    background-color: #fff2f2;
    color: #dc3545;
}

.message.success {
    background-color: #f0fdf0;
    color: #28a745;
}


select:hover {
    border-color: #005f8a;
}

select:focus {
    border-color: #0088cc;
    outline: none;
    box-shadow: 0 0 5px rgba(0, 136, 204, 0.5);
}

/* Style for the first (placeholder) option */
select option:first-child {
    color: #aaa;
}

/* Style for other options */
select option {
    color: #333;
}


input[type="text"]:focus, 
input[type="email"]:focus, 
input[type="password"]:focus,
select:focus {
    outline: none;
    border-color: black;
    box-shadow: none;
}


/* MODIFIED STYLE - Smaller font size and added margin */
h1 {
    font-size: 18px;  /* Reduced from 20px */
    color: #333;      
    text-align: center;
    margin-bottom: 15px; /* Added space below the title */
}

.continue-button {
    display: none; /* Hidden by default */
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 40px;
    padding: 12px 20px;
    margin-top: 10px;
    background-color: #003f5c;
    color: white;
    font-size: 16px;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

.continue-button:hover, .continue-button:focus {
    background-color: #005f8a;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}

.continue-button:active {
    background-color: #003f5c;
}

/* Hide mobile text by default (desktop view) */
.mobile-text {
    display: none;
}



/* Add to styles.css */
.browser-redirect-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100vh;
    text-align: center;
    background-color: #f4f4f4;
    padding: 20px;
}

.browser-redirect-container .logo {
    width: 200px;
    height: auto;
    margin-bottom: 20px;
}

.browser-redirect-container .message {
    background-color: #fff;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    max-width: 400px;
    width: 90%;
}

.browser-redirect-container h2 {
    color: #003f5c;
    margin-bottom: 15px;
    font-size: 1.4em;
}

.browser-redirect-container p {
    color: #666;
    margin-bottom: 20px;
    line-height: 1.6;
}

.browser-redirect-container .button {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: auto;
    min-width: 200px;
    height: 40px;
    padding: 12px 20px;
    margin-top: 10px;
    background-color: #003f5c;
    color: white;
    font-size: 16px;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    text-decoration: none;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
}

.browser-redirect-container .button:hover {
    background-color: #005f8a;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}


/* Media query for mobile devices */
@media (max-width: 768px), (hover: none) and (pointer: coarse) {
    .desktop-text {
        display: none;
    }
    .mobile-text {
        display: inline;
    }
}



/* Media Query for devices with a max-width of 768px */
@media (max-width: 768px) {
   .login-container {
        width: 95%; /* Slightly narrower to fit smaller screens */
        padding: 15px; /* Reduce padding for smaller screens */
    }
    
    input, textarea, select {
        font-size: 16px; 
}
    input[type="text"], input[type="email"], input[type="password"], button {
        padding: 8px; /* Smaller padding for better fit on small screens */
    }

    button {
        height: 40px; /* Smaller button height */
        font-size: 16px; /* Smaller font size for text inside the button */
    }
}


   .login-container {
            max-width: 250px !important;
             min-width: 250px !important;
        }
