
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    scroll-behavior: smooth;
    font-family: "poppins", sans-serif;
}

html, body {
    height: 100%;
    margin: 0;
    
font-family:Poppins,'Segoe UI';
}
body {

    display: flex;
    justify-content: left;
    align-items: center;
    background: linear-gradient(135deg, #1E5C96, #14365D);
    background-size:cover;
    background-attachment: fixed;
        
}
.main {
    min-height: 100vh;
    display: flex;
    flex-direction: column; /* stack header + content */
    color: #FFFFFF;
    margin: left 20px;
   
}

.mainbar {
    display: flex;
    justify-content: left;
    align-items: center;

}
.logo {
   
    display: flex;
    font-weight: 700;
    font-size: 18px;
    font-family: "Poppins", sans-serif;
    align-items: center;
}

.logo img
{
    max-width: 90px;
   
}

.login-box
{
    display: flex;
position:relative ;
margin-left:60px ;
margin-top:30px ;
width:400px ;
height: 450px ;
background: #ffffff ;
border-radius: 20px ;
justify-content: center;
align-items: center;
}
h2
{
     margin-bottom:20px;
color: #1E5C96 ;
    text-align: center;
   
}


.alert_error {

  border: 1px solid rgba(176, 0, 32, 0.25);
  background: rgba(253, 234, 234, 0.95);
  color: #b00020;
  font-weight: 600;
  font-size: 14px;
  margin-top:25px;
 border-radius: 4px;
 text-align: center;
}



.input
{position: relative;
width: 310px ;
margin: 20px 0 ;
border-bottom: 2px solid  #ffffff ;


}
.input label
{position: absolute;
    top:50% ;
    left: 5px;
    transform: translateY(-40%);
font-size: 18px;
color:  #1E5C96;
pointer-events: none;
transition: 0.5s;

}
.input input:focus ~ label,
.input input:valid ~ label
{
top: -5px ;}

.input input
{
height:50px ;
width:320px ;
background: transparent;
border: none ;
outline: none;
border-bottom: 2px solid #1E5C96 ;
font-size:20px;
padding:0 35px 0 5px ;
margin-top: 8px ;
color: #085094;
}
.input .icon
{
position:absolute;
right: 8px ;
top:32px ;
color: #1E5C96;

}
.check
{
    color: #1E5C96 ;
    font-size: 16px ;
    display: flex;
    justify-content: space-between;
}
.link 
{
text-decoration: none;
color: #FFFFFF;

}

.check a
{
color: #1E5C96;
text-decoration: none;
}
.check a:hover
{text-decoration: underline ;
}
button
{
    width: 100% ;
    height: 40px ;
    border: none ;
    border-radius:40px ;
    outline: none;
    background: #1E5C96 ;
    color: #ffffff ;
    font-size: 20px ;
    font-weight: 500px;
    cursor: pointer;
    transition: 0.5s;
}
.signup 
{
    text-align: center;
    margin-top: 20px ;
    font-size: 14px ;
    color: #1E5C96 ;
}
.signup a
{color: #1E5C96;
    text-align: center;
    direction:none;}
.signup a:hover
{text-decoration: underline ;}

/* Mobile Support */
/* Mobile Support */
@media (max-width: 768px) {
    body {
        flex-direction: column; /* Stacks the logo and login box vertically */
        justify-content: flex-start;
       align-items: center;
        padding: 30px 20px; /* Adds breathing room at the top */
        height: auto; /* Allows the page to grow naturally for scrolling */
        min-height: 0;
      
       
    }

    .main {
        min-height: 0; /* FIX: Prevents the logo section from taking up the entire screen */
        margin: 0 0 60px 0;
        align-items: center; 
        text-align: center;
        width: 100%;
    }

    .mainbar {
        justify-content: left; /* Centers the logo on mobile */
    }

.logo {
   
    display: flex;
    font-weight: 700;
    font-size: 14px;
    font-family: "Poppins", sans-serif;
    align-items: center;
}

.logo img
{
    max-width: 70px;
margin-right: 10px;

    
   
}

    .login-box {
        width: 95%;
        max-width: 380px; /* Stops it from getting too wide on tablets */
        height: auto; /* Lets the box wrap naturally around the inputs */
        margin: 0; /* Removes the 60px left margin that was pushing it off-screen */
        padding: 40px 20px; /* Adds clean internal spacing */
        box-sizing: border-box;
        border-radius: 20px; /* Keeps your original curved design */
    }

    .input {
        width: 100%; /* Adapts to the screen width */
        margin: 15px 0;
    }

    .input input {
        width: 100%; /* Ensures the text field perfectly fits inside the input container */
        box-sizing: border-box;
    }
}





