/* Login Components & Responsive Utility Styles */

.login-header-text .sub-school {
  font-size: 13px;
  color: #0284c7;
  font-weight: 700;
  margin-bottom: 8px;
}

.login-title-badge {
  display: inline-block;
  background: #e0f2fe;
  color: #0369a1;
  font-size: 11px;
  font-weight: 700;
  padding: 4px 12px;
  border-radius: 20px;
  margin-bottom: 20px;
}

.login-error-alert {
  background: #fee2e2;
  border: 1px solid #fca5a5;
  color: #991b1b;
  padding: 10px 14px;
  border-radius: var(--radius-sm);
  font-size: 12.5px;
  font-weight: 600;
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  gap: 8px;
  text-align: left;
  animation: shake 0.3s ease;
}

@keyframes shake {
  0%, 100% { transform: translateX(0); }
  25% { transform: translateX(-4px); }
  75% { transform: translateX(4px); }
}

.password-input-wrapper {
  position: relative;
  display: flex;
  align-items: center;
}

.password-input-wrapper input {
  padding-right: 42px;
}

.toggle-password-btn {
  position: absolute;
  right: 10px;
  background: none;
  border: none;
  font-size: 18px;
  color: var(--text-muted);
  cursor: pointer;
  padding: 4px;
}

.btn-login {
  width: 100%;
  padding: 12px;
  font-size: 14.5px;
  margin-top: 8px;
  border-radius: var(--radius-sm);
  background: linear-gradient(135deg, #0284c7, #4f46e5);
}

.login-footer {
  margin-top: 20px;
  color: var(--text-muted);
  font-size: 11.5px;
}

@media (max-width: 576px) {
  .hide-on-mobile {
    display: none;
  }
}
