/* Center the card on the page */
.ic-Login {
  min-height: 100vh !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.ic-Login__container {
  width: 100% !important;
  display: flex !important;
  justify-content: center !important;
}

/* Card width */
.ic-Login__content,
.ic-Login__innerContent {
  max-width: 300px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* === Card styling === */
.ic-Login__content {
  background: #ffffff !important;
  border-radius: 16px !important;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.30), 0 4px 16px rgba(0, 0, 0, 0.15) !important;
  padding: 0 !important;
  transform: translateY(-150px) !important;
  overflow: hidden !important;
}

.ic-Login__innerContent {
  padding: 0.5rem 0.75rem !important;
  padding-left: 0.75rem !important;
  padding-right: 0.75rem !important;
  margin: 0 !important;
}

/* Shrink the logo header area */
.ic-Login-header {
  padding: 0.25rem 0 !important;
  margin-bottom: 0.25rem !important;
}

.ic-Login-header__logo {
  text-align: center !important;
  padding: 0 !important;
  margin: 0 !important;
}

.ic-Login-header__logo img {
  max-height: 75px !important;
  width: auto !important;
  transform: translateX(-20px) !important;
}

.ic-Login-header__links {
  display: none !important;
}

/* Form body */
.ic-Login__body {
  padding: 0 !important;
}

/* Form control spacing */
.ic-Form-control--login {
  margin-bottom: 0.35rem !important;
}

/* Labels */
.ic-Label {
  display: none !important;
}

.ic-Login input::placeholder {
  color: #9b8aaa !important;
  font-size: 12px !important;
}

/* Inputs */
.ic-Input,
.ic-Login input[type="text"],
.ic-Login input[type="email"],
.ic-Login input[type="password"] {
  border: 1.5px solid #e0dbe8 !important;
  border-radius: 8px !important;
  padding: 0.5rem 0.75rem !important;
  font-size: 12px !important;
  background: #fafafa !important;
  width: 100% !important;
  box-sizing: border-box !important;
  transition: border-color 0.2s, box-shadow 0.2s !important;
}

.ic-Input:focus,
.ic-Login input[type="text"]:focus,
.ic-Login input[type="email"]:focus,
.ic-Login input[type="password"]:focus {
  border-color: #7B40BE !important;
  box-shadow: 0 0 0 3px rgba(123, 64, 190, 0.18) !important;
  outline: none !important;
  background: #ffffff !important;
}

/* Login button */
.Button--login {
  background: #39C1A6 !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 50px !important;
  padding: 0.65rem !important;
  width: 100% !important;
  font-size: 14px !important;
  line-height: 1 !important;
  text-align: center !important;
  vertical-align: middle !important;
  font-weight: 500 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  box-shadow: 0 4px 18px rgba(57, 193, 166, 0.40) !important;
  transition: background 0.2s, box-shadow 0.2s, transform 0.1s !important;
}

.Button--login:hover {
  background: #2da892 !important;
  box-shadow: 0 6px 24px rgba(57, 193, 166, 0.55) !important;
}

/* Actions row — stack: [stay signed in + forgot] then [button] */
.ic-Login__actions {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.5rem !important;
  margin-top: 0.25rem !important;
}

.ic-Login__actions-timeout {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  width: 100% !important;
  font-size: 11px !important;
  gap: 0 !important;
  margin-top: 0.5rem !important;
}

#pseudonym_session_remember_me {
  margin: 0 !important;
  padding: 0 !important;
  vertical-align: middle !important;
  accent-color: #7B40BE !important;
}

#login_form label[for="pseudonym_session_remember_me"],
.ic-Login__actions-timeout label[for="pseudonym_session_remember_me"],
.ic-Login #pseudonym_session_remember_me + label {
  margin: 0 0 0 -8px !important;
  padding: 0 !important;
  vertical-align: middle !important;
  line-height: 1 !important;
  font-size: 12px !important;
}

.ic-Login__actions .ic-Form-control--login {
  margin-bottom: 0.5rem !important;
  width: 100% !important;
}

/* Forgot password */
.ic-Login__link,
.forgot_password_link {
  color: #7B40BE !important;
  font-size: 11px !important;
  text-decoration: none !important;
}

.ic-Login__link:hover,
.forgot_password_link:hover {
  color: #E80F53 !important;
}

/* Footer */
.ic-Login-footer {
  margin-top: -50px !important;
}
