*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:'Poppins',sans-serif;
}

body{

height:100vh;

display:flex;

justify-content:center;

align-items:center;

background:#f5f5f5;

}

.login-card{

width:400px;

background:white;

padding:40px;

border-radius:15px;

box-shadow:0 10px 30px rgba(0,0,0,.15);

text-align:center;

}

.login-card img{

width:170px;

margin-bottom:20px;

}

.login-card h2{

color:#0B6B3A;

margin-bottom:30px;

}

.input-box{

position:relative;

margin-bottom:20px;

}

.input-box i{

position:absolute;

left:15px;

top:16px;

color:#0B6B3A;

}

.input-box input{

width:100%;

padding:14px 14px 14px 45px;

border:2px solid #ddd;

border-radius:8px;

font-size:15px;

outline:none;

}

.input-box input:focus{

border-color:#0B6B3A;

}

button{

width:100%;

padding:14px;

border:none;

background:#0B6B3A;

color:white;

font-size:17px;

font-weight:600;

border-radius:8px;

cursor:pointer;

transition:.3s;

}

button:hover{

background:#C89B2B;

}

.forgot{

display:block;

margin:18px 0;

text-decoration:none;

color:#0B6B3A;

font-weight:600;

}

p{

margin-top:15px;

}

p a{

color:#C89B2B;

font-weight:600;

text-decoration:none;

}

@media(max-width:480px){

.login-card{

width:90%;

padding:30px 20px;

}

.login-card img{

width:140px;

}

}
/* ==========================================
   FORGOT PASSWORD PAGE
========================================== */

.forgot-card{

width:420px;

background:#fff;

padding:40px;

border-radius:15px;

box-shadow:0 10px 30px rgba(0,0,0,.15);

text-align:center;

margin:auto;

}

.forgot-card img{

width:170px;

margin-bottom:20px;

}

.forgot-card h2{

color:#0B6B3A;

margin-bottom:10px;

}

.forgot-card p{

color:#666;

font-size:15px;

line-height:1.7;

margin-bottom:30px;

}

.back{

display:inline-block;

margin-top:25px;

text-decoration:none;

font-weight:600;

color:#0B6B3A;

transition:.3s;

}

.back:hover{

color:#C89B2B;

}

@media(max-width:480px){

.forgot-card{

width:90%;

padding:30px 20px;

}

.forgot-card img{

width:140px;

}

}
/* ==========================================
   SIGNUP PAGE
========================================== */

.signup-card{

width:450px;

background:#fff;

padding:40px;

border-radius:15px;

box-shadow:0 10px 30px rgba(0,0,0,.15);

text-align:center;

margin:auto;

}

.signup-card img{

width:180px;

margin-bottom:20px;

}

.signup-card h2{

color:#0B6B3A;

margin-bottom:10px;

font-size:28px;

}

.signup-card p{

color:#666;

margin-bottom:25px;

font-size:15px;

line-height:1.6;

}

.signup-card form{

display:flex;

flex-direction:column;

gap:18px;

}

.signup-card .input-box{

position:relative;

}

.signup-card .input-box i{

position:absolute;

left:16px;

top:50%;

transform:translateY(-50%);

color:#0B6B3A;

font-size:16px;

}

.signup-card .input-box input{

width:100%;

padding:14px 16px 14px 45px;

border:2px solid #ddd;

border-radius:8px;

outline:none;

font-size:15px;

transition:.3s;

}

.signup-card .input-box input:focus{

border-color:#0B6B3A;

}

.signup-card button{

width:100%;

padding:15px;

background:#0B6B3A;

color:#fff;

border:none;

border-radius:8px;

font-size:17px;

font-weight:600;

cursor:pointer;

transition:.3s;

margin-top:10px;

}

.signup-card button:hover{

background:#C89B2B;

}

.login-link{

margin-top:25px;

font-size:15px;

}

.login-link a{

color:#0B6B3A;

text-decoration:none;

font-weight:600;

}

.login-link a:hover{

color:#C89B2B;

}

@media(max-width:480px){

.signup-card{

width:90%;

padding:30px 20px;

}

.signup-card img{

width:150px;

}

.signup-card h2{

font-size:24px;

}

}
/* ===========================
   LOGIN LINKS
=========================== */

.login-links{
margin-top:25px;
text-align:center;
}

.forgot-link{
display:inline-block;
text-decoration:none;
font-weight:600;
color:#0b6b3a;
margin-bottom:18px;
transition:.3s;
}

.forgot-link:hover{
color:#16a34a;
transform:translateY(-2px);
}

.forgot-link i{
margin-right:8px;
}

.divider{
margin-bottom:15px;
color:#666;
font-size:15px;
}

.signup-btn{
display:inline-flex;
align-items:center;
justify-content:center;
gap:10px;
width:100%;
padding:14px;
background:#16a34a;
color:#fff;
text-decoration:none;
font-weight:600;
font-size:16px;
border-radius:10px;
transition:.3s;
box-shadow:0 8px 20px rgba(22,163,74,.25);
}

.signup-btn:hover{
background:#0b6b3a;
transform:translateY(-2px);
box-shadow:0 12px 25px rgba(0,0,0,.2);
}

.signup-btn i{
font-size:18px;
}



/* ==========================================
   PASSWORD INPUT - FINAL FIX
========================================== */

.password-wrapper {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    margin-bottom: 18px;
}

/* Password input field */
.password-wrapper input {
    display: block !important;
    width: 100% !important;
    height: 58px !important;
    box-sizing: border-box !important;

    padding: 0 55px 0 48px !important;

    border: 2px solid #dddddd !important;
    border-radius: 9px !important;

    background: #ffffff !important;
    color: #333333 !important;

    font-family: inherit !important;
    font-size: 16px !important;

    outline: none !important;
    box-shadow: none;
}

/* Lock icon */
.password-wrapper .input-icon {
    position: absolute !important;
    left: 17px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;

    color: #087443 !important;
    font-size: 17px !important;

    pointer-events: none;
    z-index: 2;
}

/* Eye icon button - hidden initially */
.password-wrapper .toggle-password {
    position: absolute !important;
    right: 10px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;

    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    padding: 0 !important;
    margin: 0 !important;

    border: none !important;
    border-radius: 50% !important;

    background: transparent !important;
    color: rgba(130, 130, 130, 0.65) !important;

    font-size: 18px !important;

    opacity: 0;
    visibility: hidden;
    pointer-events: none;

    cursor: pointer !important;
    z-index: 5 !important;

    transition: color 0.25s ease,
                opacity 0.25s ease,
                background 0.25s ease;
}

/* Show eye icon only when password field is focused */
.password-wrapper:focus-within .toggle-password {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

/* Hover effect */
.password-wrapper .toggle-password:hover {
    color: rgba(90, 90, 90, 0.95) !important;
    background: rgba(128, 128, 128, 0.10) !important;
}

/* Password field focus */
.password-wrapper input:focus {
    border-color: #087443 !important;
    box-shadow: 0 0 0 3px rgba(8, 116, 67, 0.10) !important;
}

/* Keep the eye button separate from the main form button */
.password-wrapper .toggle-password,
.password-wrapper .toggle-password:hover,
.signup-card .password-wrapper .toggle-password {
    width: 38px !important;
    height: 38px !important;
    padding: 0 !important;
    margin: 0 !important;
    background-color: transparent !important;
}

/* Mobile adjustments */
@media (max-width: 480px) {
    .password-wrapper input {
        height: 54px !important;
        font-size: 15px !important;
    }
}


/* Password eye button - click/touch fix */

.password-wrapper {
    position: relative !important;
}

.password-wrapper input {
    padding-right: 55px !important;
}

.password-wrapper .toggle-password {
    position: absolute !important;
    top: 50% !important;
    right: 10px !important;

    transform: translateY(-50%) !important;

    width: 40px !important;
    height: 40px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    padding: 0 !important;
    margin: 0 !important;

    border: none !important;
    background: transparent !important;

    color: rgba(120, 120, 120, 0.7) !important;

    cursor: pointer !important;
    pointer-events: auto !important;
    touch-action: manipulation;

    z-index: 100 !important;
}

/* Eye visible only after focusing the password field */
.password-wrapper:focus-within .toggle-password {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}

/* Eye hidden initially */
.password-wrapper .toggle-password {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}