@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600&display=swap");

/* ===== FULL PAGE RESET FOR LOGIN ===== */

body.task-login,
body.task-login * {
  font-family: "IBM Plex Sans", system-ui, sans-serif !important;
}

body.task-login {
  background: linear-gradient(135deg, #f8faf9 0%, #eef3f0 100%) !important;
  margin: 0 !important;
  padding: 0 !important;
  min-height: 100vh !important;
  height: auto !important;
  overflow: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* #layout - simple centered wrapper */
body.task-login #layout {
  all: unset !important;
  display: block !important;
  width: 380px !important;
  max-width: 90vw !important;
  margin: 40px auto !important;
}

/* #layout-content - the white card */
body.task-login #layout-content {
  all: unset !important;
  display: block !important;
  font-family: "IBM Plex Sans", system-ui, sans-serif !important;
  background: #fff !important;
  border-radius: 12px !important;
  box-shadow: 0 2px 20px rgba(0,0,0,0.06) !important;
  border: 1px solid #e8ece9 !important;
  padding: 44px 40px 32px !important;
  box-sizing: border-box !important;
  width: 100% !important;
  height: auto !important;
  overflow: visible !important;
}

/* Hide voice h1 */
body.task-login h1.voice {
  display: none !important;
}

/* Logo */
body.task-login #logo {
  all: unset !important;
  display: block !important;
  width: 150px !important;
  height: auto !important;
  margin: 0 auto 6px !important;
}

/* WEBMAIL label */
body.task-login #login-form::before {
  content: "WEBMAIL" !important;
  display: block !important;
  text-align: center !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: #4A4A5A !important;
  letter-spacing: 0.08em !important;
  margin: 4px 0 24px 0 !important;
}

/* Form */
body.task-login #login-form {
  all: unset !important;
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Table reset */
body.task-login #login-form table,
body.task-login #login-form table tbody {
  all: unset !important;
  display: block !important;
  width: 100% !important;
}

body.task-login #login-form table tr {
  all: unset !important;
  display: block !important;
  width: 100% !important;
  margin-bottom: 12px !important;
}

body.task-login #login-form table td.title {
  display: none !important;
}

/* Input row */
body.task-login #login-form table td.input {
  all: unset !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: stretch !important;
  width: 100% !important;
  border-radius: 8px !important;
  border: 1px solid #d0d7d2 !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  transition: border-color 0.2s, box-shadow 0.2s !important;
}

body.task-login #login-form table td.input:focus-within {
  border-color: #1B4332 !important;
  box-shadow: 0 0 0 2px rgba(27,67,50,0.15) !important;
}

/* Icon prepend */
body.task-login .input-group-prepend {
  all: unset !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

body.task-login .input-group-text {
  all: unset !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 44px !important;
  min-height: 44px !important;
  background: #f8faf9 !important;
  color: #64748b !important;
  font-size: 16px !important;
}

/* Text inputs */
body.task-login input.form-control[type="text"],
body.task-login input.form-control[type="password"] {
  all: unset !important;
  display: block !important;
  flex: 1 !important;
  min-width: 0 !important;
  padding: 12px 14px !important;
  font-size: 14px !important;
  font-family: "IBM Plex Sans", system-ui, sans-serif !important;
  color: #1a1a2e !important;
  background: #fff !important;
  box-sizing: border-box !important;
}

body.task-login input.form-control::placeholder {
  color: #94a3b8 !important;
}

/* Hidden inputs */
body.task-login input.form-control[type="hidden"] {
  display: none !important;
}

/* Submit button */
body.task-login p.formbuttons {
  all: unset !important;
  display: block !important;
  margin-top: 8px !important;
}

body.task-login #rcmloginsubmit {
  all: unset !important;
  display: block !important;
  width: 100% !important;
  padding: 12px 0 !important;
  background: #1B4332 !important;
  color: #fff !important;
  font-family: "IBM Plex Sans", system-ui, sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-align: center !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  border-radius: 8px !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
  transition: background 0.2s !important;
}

body.task-login #rcmloginsubmit:hover {
  background: #2D6A4F !important;
}

/* "Passwort vergessen?" link under login button */
body.task-login p.formbuttons::after {
  content: "Passwort vergessen? Kontaktieren Sie den Administrator." !important;
  display: block !important;
  text-align: center !important;
  font-family: "IBM Plex Sans", system-ui, sans-serif !important;
  font-size: 12.5px !important;
  color: #64748b !important;
  margin-top: 16px !important;
  line-height: 1.4 !important;
}

/* Footer */
body.task-login #login-footer {
  all: unset !important;
  display: block !important;
  font-size: 11px !important;
  color: #94a3b8 !important;
  text-align: center !important;
  margin-top: 16px !important;
}

/* Noscript */
body.task-login .noscriptwarning {
  color: #dc2626 !important;
  text-align: center !important;
}

/* Mobile */
@media (max-width: 480px) {
  body.task-login #layout {
    width: auto !important;
    margin: 16px !important;
  }
  body.task-login #layout-content {
    padding: 32px 20px 24px !important;
  }
}
