* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    scroll-behavior: smooth;
    font-family: "poppins", sans-serif;
}

html, body {
   height: 100%;
    margin: 0;
}
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;
    width:30% ;
    display: flex;
    align-items: flex-start; /* stack header + content */
    color: #FFFFFF;
   
   
}

.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;
   
}

.sign-up-box
{
    display: flex;
position:relative ;
margin-left: 66px;
margin-top: 230px;
width:420px ;
height: 700px ;
background: #ffffff ;
border-radius: 20px ;
justify-content: center;
align-items: center;
padding-bottom: 10px ;
}
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;
}


.input
{position: relative;
width: 340px ;
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: 330px ;
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:24px ;
top:32px ;
color: #1E5C96;

}
.link 
{
text-decoration: none;
color: #FFFFFF;

}

.check
{
    color: #1E5C96 ;
    font-size: 16px ;
    display: flex;
    justify-content: space-between;
}
.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;
}
.login
{
    text-align: center;
    margin-top: 20px ;
    padding-bottom: 10px;
    font-size: 14px ;
    color: #1E5C96 ;
}
.login a
{color: #1E5C96;
    text-align: center;
    direction:none;}
.login a:hover
{text-decoration: underline ;}

/* 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 50px 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;

    
   
}

    .sign-up-box {
        width: 94%;
        max-width: 380px; /* Stops it from getting too wide on tablets */
        height: auto; /* Lets the box wrap naturally around the inputs */
        margin: 0 ; 
        padding: 20px 30px 20px 30px ; /* Adds clean internal spacing 
        top right bottom left*/ 
        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 */
        font-size: 15px;
        box-sizing: border-box;
    }
}








