*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:"poppins",sans-serif;
}
body{
    background: linear-gradient(135deg, #f6f8f9, #ecf0f1);
}
.container{
    background: rgba(255,255,255,0.68);
    width: 480px;
    padding: 1.5rem;
    margin: 50px auto;
    border-radius: 16px;
    box-shadow: 0 18px 40px rgba(0,0,0,0.18);
    border: 1px solid #eef2f3;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}
form{
    margin:0 2rem;
}
.form-title{
    font-size: 1.6rem;
    font-weight: 800;
    text-align: center;
    padding: 1.1rem;
    margin-bottom: 0.6rem;
}
input{
    color:inherit;
    width:100%;
    background-color: transparent;
    border:none;
    border-bottom:1px solid #d1d5db;
    padding-left:1.8rem;
    font-size:16px;
}
.input-group{
    padding:10px 0;
    position:relative;

}
.input-group i{
    position:absolute;
    color:#27AE60;
}
input:focus{
    background-color: transparent;
    outline:transparent;
    border-bottom:2px solid #27AE60;
}
input::placeholder{
    color:transparent;
}
label{
    color:#6b7280;
    position:relative;
    left:1.4em;
    top:-1.2em;
    cursor:auto;
    transition:0.3s ease all;
}
input:focus~label,input:not(:placeholder-shown)~label{
    top:-3.1em;
    color:#27AE60;
    font-size:14px;
}
.recover{
    text-align:right;
    font-size:1rem;
    margin-bottom:1rem;

}
.recover a{
    text-decoration:none;
    color:#27AE60;
}
.recover a:hover{
    color:#229954;
    text-decoration:underline;
}
/* Submit buttons (Sign In / Sign Up) */
.btn{
    font-size:1.05rem;
    padding:12px 0;
    border-radius:999px;
    outline:none;
    width:100%;
    background:#ffffff;
    color:#27AE60;
    border:2px solid #27AE60;
    cursor:pointer;
    transition: background .2s ease, color .2s ease, box-shadow .2s ease, transform .05s ease;
}
.btn:hover{
    background:#27AE60;
    color:#ffffff;
    transform: translateY(-1px);
    box-shadow: 0 12px 28px rgba(39,174,96,0.28);
}
.or{
    font-size:1.1rem;
    margin-top:0.5rem;
    text-align:center;
}

.links{
    display:flex;
    justify-content:space-around;
    padding:0 2rem;
    margin-top:0.9rem;
    font-weight:bold;
}
 #signUpButton, #signInButton{
    color:#27AE60;
    border:none;
    background-color:transparent;
    font-size:1rem;
    font-weight:bold;
}
#signUpButton:hover, #signInButton:hover {
    text-decoration:underline;
} 

#app-img{
    width: 100%;
    height: auto;
    border-radius: 12px;
    box-shadow: 0 12px 28px rgba(0,0,0,0.06);
}

/* Keep the external app CTA green */
#get-the-app-button{
    display:block;
    width:100%;
    border-radius:999px;
    padding:12px 0;
    background: linear-gradient(135deg, #27AE60, #229954);
    color:#ffffff;
    border:2px solid #27AE60;
    font-weight:700;
    box-shadow: 0 10px 28px rgba(39,174,96,0.26);
}
#get-the-app-button:hover{ box-shadow: 0 14px 36px rgba(39,174,96,0.34); }

/* Password visibility toggle */
.pw-toggle{ position:absolute; right:10px; top:auto; bottom:auto; transform:none; background:transparent; border:none; color:#27AE60; cursor:pointer; padding:6px; border-radius:8px; }
.pw-toggle:hover{ color:#229954; }

/* Phone-friendly layout */
@media (max-width: 640px) {
  body { background: #f6f8f9; }
  .container { width: calc(100% - 32px); margin: 24px auto; padding: 1rem; border-radius: 14px; }
  form { margin: 0 0.5rem; }
  .form-title { font-size: 1.4rem; padding: 0.8rem; }
  .input-group { padding: 12px 0; }
  input { font-size: 16px; padding-left: 1.6rem; }
  label { left: 1.2em; }
  .links { padding: 0; justify-content: space-between; gap: 8px; }
  .btn { padding: 14px 0; font-size: 1.05rem; }
  #get-the-app-button { padding: 14px 0; }
}