* {
  box-sizing: border-box;
  }

body {
margin: 0;
min-height: 100vh;
display: flex;
align-items: center;
justify-content: center;
padding: 15px;
background: #edf6ff;
font-family: Arial, sans-serif;
color: #18324d;
}

.login-container {
background: white;
width: 100%;
max-width: 390px;
padding: 30px 23px;
border-radius: 17px;
text-align: center;
box-shadow: 0 8px 30px rgba(20, 90, 150, 0.09);
}

.login-logo img {
object-fit: cover;
}

h1 {
font-size: 25px;
margin: 15px 0 5px;
color: #1687db;
}

.subtitle {
color: #8393a5;
font-size: 13px;
margin-bottom: 25px;
}

form {
text-align: left;
}

label {
display: block;
font-size: 13px;
font-weight: bold;
margin: 15px 0 7px;
}

input {
width: 100%;
padding: 14px;
border: 1px solid #dce7f1;
border-radius: 9px;
outline: none;
font-size: 15px;
}

input:focus {
border-color: #1687db;
}

button {
width: 100%;
padding: 14px;
margin-top: 22px;
background: #1687db;
color: white;
border: none;
border-radius: 9px;
font-size: 15px;
font-weight: bold;
cursor: pointer;
}

button:disabled {
opacity: 0.6;
cursor: wait;
}

#loginMessage {
font-size: 13px;
text-align: center;
line-height: 1.5;
}

.back-link {
display: inline-block;
margin-top: 20px;
color: #1687db;
text-decoration: none;
font-size: 13px;
}

@media(max-width:350px) {
.login-container {
padding: 23px 16px;
}
}