/* /var/www/credit-system/css/login.css - login page only */
body { background: linear-gradient(160deg, #eef3fb 0%, #f7f9fc 55%, #e8f1fb 100%); min-height: 100vh; }

.login-page { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 2rem 1rem; }
.login-shell { width: 100%; max-width: 410px; }

.login-card {
  background: #fff; border-radius: 1rem; padding: 2.5rem 2.25rem 2rem;
  box-shadow: 0 10px 30px rgba(16, 42, 84, .08), 0 2px 6px rgba(16, 42, 84, .05);
  border: 1px solid #e6ebf2;
}
.login-logo { height: 52px; width: auto; }
.login-title { font-size: 1.5rem; font-weight: 600; color: #1d2b3a; margin: 0; }
.login-subtitle { color: #6b7a8c; font-size: .925rem; margin: .35rem 0 0; }

.login-card .form-label { color: #44546a; font-size: .85rem; font-weight: 500; margin-bottom: .35rem; }
.login-card .input-group-text { background: #f6f8fb; color: #8796a8; border-color: #d5dde7; min-width: 44px; justify-content: center; }
.login-card .form-control { border-color: #d5dde7; padding: .6rem .75rem; }
.login-card .form-control:focus { box-shadow: none; border-color: #86b7fe; }
.login-card .input-group:focus-within { box-shadow: 0 0 0 .2rem rgba(13, 110, 253, .15); border-radius: .375rem; }
.login-card .input-group:focus-within .input-group-text { border-color: #86b7fe; color: #0d6efd; }

.btn-toggle-pw { cursor: pointer; background: #fff !important; }
.btn-toggle-pw:hover { color: #0d6efd; }
.btn-toggle-pw:focus-visible { outline: 2px solid #0d6efd; outline-offset: -2px; }

.caps-warning { color: #b35c00; font-size: .8rem; margin-top: .4rem; }

.login-btn { padding: .65rem; font-weight: 500; letter-spacing: .02em; border-radius: .5rem; }
.login-footer { text-align: center; color: #8a97a8; font-size: .8rem; margin-top: 1.25rem; }

@media (max-width: 420px) { .login-card { padding: 2rem 1.25rem 1.5rem; } }
.form-msg i { margin-right: .45rem; }
