.auth-page {
background: linear-gradient(135deg, #F0F8FF, #FFFFFF, #EAF5FF);
min-height: 100vh;
display: flex;
flex-direction: column;
}

.auth-header {
height: 65px;
background: white;
border-bottom: 1px solid #E4EDF7;
display: flex;
justify-content: space-between;
align-items: center;
padding: 0 7%;
}

.auth-brand {
display: flex;
align-items: center;
gap: 9px;
text-decoration: none;
color: #172B4D;
font-size: 21px;
font-weight: 800;
}

.auth-brand img {
width: 34px;
height: 34px;
object-fit: contain;
}

.auth-container {
flex: 1;
display: flex;
justify-content: center;
align-items: center;
padding: 35px 15px;
}

.auth-card {
background: white;
width: 100%;
max-width: 440px;
padding: 35px;
border-radius: 17px;
border: 1px solid #E2EDF8;
box-shadow: 0 15px 45px rgba(36, 104, 164, 0.10);
}

.auth-heading {
text-align: center;
margin-bottom: 25px;
}

.auth-icon {
width: 48px;
height: 48px;
display: grid;
place-items: center;
margin: 0 auto 13px;
background: #E4F2FF;
color: #168BFA;
font-size: 25px;
border-radius: 13px;
}

.auth-heading h1 {
font-size: 24px;
margin-bottom: 8px;
color: #172B4D;
}

.auth-heading p {
font-size: 13px;
color: #718096;
}

.input-group {
margin-bottom: 17px;
}

.input-group label {
display: block;
font-size: 12px;
font-weight: 700;
color: #263B59;
margin-bottom: 7px;
}

.input-group input {
width: 100%;
height: 45px;
padding: 0 13px;
border: 1px solid #DCE8F4;
border-radius: 8px;
outline: none;
background: #FBFDFF;
color: #172B4D;
font-size: 13px;
}

.input-group input:focus {
border-color: #168BFA;
box-shadow: 0 0 0 3px rgba(22,139,250,0.09);
background: white;
}

.input-group small {
display: block;
color: #8795A8;
font-size: 10px;
margin-top: 6px;
}

.username-field,
.password-field {
position: relative;
display: flex;
align-items: center;
}

.username-field > span {
position: absolute;
left: 13px;
color: #168BFA;
font-weight: bold;
}

.username-field input {
padding-left: 30px;
}

.password-field input {
padding-right: 55px;
}

.show-password {
position: absolute;
right: 10px;
border: none;
background: none;
color: #168BFA;
font-size: 11px;
font-weight: bold;
cursor: pointer;
}

.terms-check {
display: flex;
align-items: flex-start;
gap: 9px;
color: #718096;
font-size: 11px;
line-height: 1.6;
margin: 18px 0;
}

.terms-check input {
margin-top: 2px;
accent-color: #168BFA;
}

.terms-check a {
color: #168BFA;
font-weight: bold;
text-decoration: none;
}

.auth-submit {
width: 100%;
height: 47px;
border: none;
border-radius: 8px;
background: #168BFA;
color: white;
font-size: 13px;
font-weight: bold;
cursor: pointer;
display: flex;
justify-content: center;
align-items: center;
gap: 12px;
box-shadow: 0 6px 15px rgba(22,139,250,0.19);
}

.auth-submit:hover {
background: #0874DC;
}

.auth-submit:disabled {
opacity: 0.65;
cursor: not-allowed;
}

.auth-submit span {
font-size: 18px;
}

.auth-divider {
display: flex;
align-items: center;
gap: 12px;
margin: 25px 0 15px;
color: #A0AEC0;
font-size: 9px;
font-weight: bold;
}

.auth-divider::before,
.auth-divider::after {
content: "";
flex: 1;
height: 1px;
background: #E8EEF5;
}

.auth-bottom {
text-align: center;
font-size: 12px;
color: #718096;
}

.auth-bottom a {
color: #168BFA;
font-weight: bold;
text-decoration: none;
}

.auth-message {
display: none;
padding: 11px;
border-radius: 7px;
font-size: 11px;
line-height: 1.5;
margin-bottom: 17px;
}

.auth-message.error {
display: block;
color: #B42318;
background: #FFF0EE;
border: 1px solid #FFD5D0;
}

.auth-message.success {
display: block;
color: #087443;
background: #E9F9F0;
border: 1px solid #BCEBD0;
}

.auth-message.info {
display: block;
color: #1264A3;
background: #EAF5FF;
border: 1px solid #CBE5FF;
}

.auth-footer {
text-align: center;
padding: 17px 10px;
color: #8795A8;
font-size: 10px;
}

/* SMALL PHONES */

@media (max-width: 400px) {
.auth-header {
height: 48px;
padding: 0 10px;
}

.auth-brand {
    font-size: 16px;
    gap: 6px;
}

.auth-brand img {
    width: 26px;
    height: 26px;
}

.auth-container {
    padding: 18px 10px;
}

.auth-card {
    padding: 20px 15px;
    border-radius: 12px;
}

.auth-heading {
    margin-bottom: 18px;
}

.auth-icon {
    width: 35px;
    height: 35px;
    font-size: 18px;
    margin-bottom: 9px;
}

.auth-heading h1 {
    font-size: 19px;
}

.auth-heading p {
    font-size: 11px;
}

.input-group {
    margin-bottom: 13px;
}

.input-group label {
    font-size: 11px;
}

.input-group input {
    height: 39px;
    font-size: 12px;
}

.terms-check {
    font-size: 10px;
    margin: 14px 0;
}

.auth-submit {
    height: 41px;
    font-size: 11px;
}

.auth-divider {
    margin: 18px 0 12px;
}

.auth-bottom {
    font-size: 11px;
}

}

@media (max-width: 350px) {
.auth-card {
padding: 15px 11px;
}

.auth-heading {
    margin-bottom: 13px;
}

.auth-icon {
    display: none;
}

.auth-heading h1 {
    font-size: 17px;
}

.input-group {
    margin-bottom: 10px;
}

.input-group input {
    height: 34px;
    font-size: 11px;
}

.input-group label {
    margin-bottom: 4px;
}

.input-group small {
    font-size: 9px;
}

.terms-check {
    margin: 10px 0;
    font-size: 9px;
}

.auth-footer {
    padding: 9px;
}

}

/* LOGIN PAGE */

.login-options {
display: flex;
align-items: center;
justify-content: space-between;
gap: 8px;
margin: 5px 0 20px;
}

.remember-check {
display: flex;
align-items: center;
gap: 6px;
color: #718096;
font-size: 11px;
}

.remember-check input {
accent-color: #168BFA;
}

.login-options > a {
color: #168BFA;
font-size: 11px;
font-weight: bold;
text-decoration: none;
}

.login-options > a:hover {
text-decoration: underline;
}

@media (max-width: 350px) {
.login-options {
margin: 3px 0 13px;
}

.remember-check,
.login-options > a {
    font-size: 9px;
}

}
/* UPDATE PASSWORD PAGE */

#updateForm {
width: 100%;
}

#updateForm .form-group {
margin-bottom: 16px;
}

#updateForm label {
display: block;
color: #172B4D;
font-size: 13px;
font-weight: 600;
margin-bottom: 7px;
}

#updateForm input {
width: 100%;
height: 45px;
padding: 0 13px;
border: 1px solid #E4EDF7;
border-radius: 10px;
background: #F5FAFF;
color: #172B4D;
font-size: 14px;
outline: none;
box-sizing: border-box;
transition: 0.3s ease;
}

#updateForm input:focus {
border-color: #168BFA;
background: #FFFFFF;
box-shadow: 0 0 0 3px rgba(22, 139, 250, 0.10);
}

#updateForm input::placeholder {
color: #A0AEC0;
}

#updateForm .auth-button {
width: 100%;
min-height: 45px;
border: none;
border-radius: 10px;
background: #168BFA;
color: #FFFFFF;
font-size: 14px;
font-weight: 700;
cursor: pointer;
transition: 0.3s ease;
}

#updateForm .auth-button:hover {
background: #0874DC;
}

#updateForm .auth-button:disabled {
opacity: 0.6;
cursor: not-allowed;
}

#message {
padding: 0;
margin: 10px 0 15px;
font-size: 12px;
line-height: 1.5;
border-radius: 8px;
}

#message.success {
color: #16834A;
background: #E9F9F0;
padding: 10px;
}

#message.error {
color: #D93045;
background: #FFF0F1;
padding: 10px;
}

.auth-bottom {
margin-top: 20px;
text-align: center;
}

.auth-bottom a {
color: #168BFA;
font-size: 13px;
font-weight: 600;
text-decoration: none;
}

.auth-bottom a:hover {
text-decoration: underline;
}

/* SMALL SCREEN SUPPORT */

@media (max-width: 350px) {
#updateForm input {
height: 40px;
font-size: 12px;
}

#updateForm .auth-button {
    min-height: 40px;
    font-size: 12px;
}

#updateForm label {
    font-size: 11px;
}

#message {
    font-size: 10px;
}

}