/* Generated by MulchenBrand ThemeEngine v0.7.6.2. */
:root {
  --mulchenbrand-primary: #9d4848;
  --mulchenbrand-secondary: #198754;
  --mulchenbrand-success: #9ad0b7;
  --mulchenbrand-warning: #474438;
  --mulchenbrand-danger: #ea061d;
  --mulchenbrand-accent: #6c584b;
  --mulchenbrand-text: #f9fafb;
  --mulchenbrand-background: #2982db;
  --mulchenbrand-logo-width: 112px;
  --mulchenbrand-font-family: "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  --mulchenbrand-font-size: 14px;
  --mulchenbrand-title-align-items: center;
  --mulchenbrand-title-text-align: center;
  --mulchenbrand-title-size: 25px;
  --mulchenbrand-title-weight: 800;
  --mulchenbrand-title-style: normal;
  --mulchenbrand-title-color: #ffffff;
  --mulchenbrand-subtitle-color: #c1dafb;
  --mulchenbrand-card-radius: 14px;
  --mulchenbrand-card-width: 500px;
  --mulchenbrand-card-min-height: 0px;
  --mulchenbrand-page-padding-y: 16px;
  --mulchenbrand-logo-title-gap: 10px;
  --mulchenbrand-title-card-gap: 12px;
  --mulchenbrand-card-padding-y: 40px;
  --mulchenbrand-card-bg: rgba(17, 24, 39, 0.88);
  --mulchenbrand-card-border: rgba(55, 65, 81, 0.6);
  --mulchenbrand-card-shadow: 0 18px 36px rgba(15, 23, 42, 0.323);
  --mulchenbrand-input-bg: #68b1c0;
  --mulchenbrand-input-border: #d0d7de;
  --mulchenbrand-input-text: #1f2937;
  --mulchenbrand-input-focus: #0f4c81;
  --mulchenbrand-input-radius: 12px;
  --mulchenbrand-button-radius: 28px;
  --mulchenbrand-button-shadow: 0 10px 22px rgba(15, 76, 129, .28);
}

/* BACKGROUND */
body.mulchenbrand-login-active {
  --tblr-primary: #9d4848;
  font-family: var(--mulchenbrand-font-family), system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: var(--mulchenbrand-font-size) !important;
  color: var(--mulchenbrand-text) !important;
  background-color: var(--mulchenbrand-background) !important;
  background-image: url('/plugins/mulchenbrand/generated/login_background.jpg?v=1785765477') !important;
  background-size: auto !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  background-attachment: fixed !important;
}

body.mulchenbrand-login-active::before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: rgba(0, 0, 0, 0.45);
  backdrop-filter: blur(4px);
}


/* GLPI LOGO */

body.mulchenbrand-login-active .glpi-logo { display: none !important; }


/* INSTITUTIONAL LOGO */


/* AUTHENTICATION SOURCE */

body.mulchenbrand-login-active [data-mulchenbrand-auth-source-block='1'] { display: none !important; }

body .mulchenbrand-native-logo-hidden,
body .mulchenbrand-native-heading-hidden { display: none !important; }

body.mulchenbrand-login-active main#page > .page-center,
body.mulchenbrand-login-active main#page .page-center {
  min-height: 100vh !important;
  justify-content: center !important;
  padding-top: var(--mulchenbrand-page-padding-y) !important;
  padding-bottom: var(--mulchenbrand-page-padding-y) !important;
}

body .mulchenbrand-login-shell {
  width: var(--mulchenbrand-card-width) !important;
  max-width: calc(100vw - 2rem) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
}

body .mulchenbrand-brand-block {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: center !important;
  text-align: initial !important;
  gap: var(--mulchenbrand-logo-title-gap) !important;
  color: var(--mulchenbrand-text) !important;
}

body .mulchenbrand-brand-outside { width: 100% !important; margin: 0 auto var(--mulchenbrand-title-card-gap) auto !important; }
body .mulchenbrand-brand-inside { width: 100% !important; margin: .15rem auto 1.35rem auto !important; }
body .mulchenbrand-brand-logo-wrap { display: flex !important; width: 100% !important; }
body .mulchenbrand-brand-top-left .mulchenbrand-brand-logo-wrap { justify-content: flex-start !important; }
body .mulchenbrand-brand-top-right .mulchenbrand-brand-logo-wrap { justify-content: flex-end !important; }
body .mulchenbrand-brand-top-center .mulchenbrand-brand-logo-wrap,
body .mulchenbrand-brand-inside-card .mulchenbrand-brand-logo-wrap { justify-content: center !important; }

body .mulchenbrand-brand-logo {
  display: block !important;
  max-height: var(--mulchenbrand-logo-width) !important;
  max-width: min(calc(var(--mulchenbrand-logo-width) * 3), 100%) !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  margin: 0 auto !important;
}

body .mulchenbrand-brand-text {
  align-self: var(--mulchenbrand-title-align-items) !important;
  text-align: var(--mulchenbrand-title-text-align) !important;
  max-width: 100% !important;
}

body .mulchenbrand-brand-title {
  color: var(--mulchenbrand-title-color) !important;
  font-weight: var(--mulchenbrand-title-weight) !important;
  font-style: var(--mulchenbrand-title-style) !important;
  line-height: 1.16 !important;
  font-size: var(--mulchenbrand-title-size) !important;
  text-shadow: 0 2px 8px rgba(0, 0, 0, .34) !important;
}

body .mulchenbrand-brand-subtitle {
  color: var(--mulchenbrand-subtitle-color) !important;
  font-size: calc(var(--mulchenbrand-title-size) * .72) !important;
  line-height: 1.25 !important;
  text-shadow: 0 2px 8px rgba(0, 0, 0, .30) !important;
}

/* LOGIN CARD */
body.mulchenbrand-login-active .card,
body.mulchenbrand-login-active .login-box,
body.mulchenbrand-login-active .container-tight > .card {
  width: var(--mulchenbrand-card-width) !important;
  max-width: calc(100vw - 2rem) !important;
  min-height: var(--mulchenbrand-card-min-height) !important;
  border-radius: var(--mulchenbrand-card-radius) !important;
  background: var(--mulchenbrand-card-bg) !important;
  border: 1px solid var(--mulchenbrand-card-border) !important;
  box-shadow: var(--mulchenbrand-card-shadow) !important;
  backdrop-filter: blur(14px) saturate(135%) !important;
  overflow: hidden !important;
}


body.mulchenbrand-login-active .card .card-body,
body.mulchenbrand-login-active .login-box .card-body,
body.mulchenbrand-login-active .container-tight > .card .card-body {
  padding: var(--mulchenbrand-card-padding-y) clamp(1.5rem, 4vw, 3.4rem) !important;
}

body.mulchenbrand-login-active .card form,
body.mulchenbrand-login-active .login-box form,
body.mulchenbrand-login-active .container-tight > .card form {
  width: min(360px, 100%) !important;
  margin: 0 auto !important;
}

body.mulchenbrand-login-active .form-label,
body.mulchenbrand-login-active .form-check-label,
body.mulchenbrand-login-active label {
  color: color-mix(in srgb, var(--mulchenbrand-title-color) 82%, transparent) !important;
  font-weight: 600 !important;
}

body.mulchenbrand-login-active .form-check-input:checked {
  background-color: var(--mulchenbrand-primary) !important;
  border-color: var(--mulchenbrand-primary) !important;
}

/* INPUTS */
body.mulchenbrand-login-active input[type='text'],
body.mulchenbrand-login-active input[type='password'],
body.mulchenbrand-login-active input[type='email'],
body.mulchenbrand-login-active select,
body.mulchenbrand-login-active .form-select,
body.mulchenbrand-login-active .form-control {
  width: 100% !important;
  min-height: 44px !important;
  border-radius: var(--mulchenbrand-input-radius) !important;
  background: var(--mulchenbrand-input-bg) !important;
  color: var(--mulchenbrand-input-text) !important;
  border: 1px solid var(--mulchenbrand-input-border) !important;
  box-shadow: inset 0 1px 2px rgba(15, 23, 42, .04) !important;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease !important;
}

body.mulchenbrand-login-active input:focus,
body.mulchenbrand-login-active .form-control:focus {
  border-color: var(--mulchenbrand-input-focus) !important;
  box-shadow: 0 0 0 .22rem color-mix(in srgb, var(--mulchenbrand-input-focus) 22%, transparent) !important;
}

/* BUTTONS */
body.mulchenbrand-login-active .btn-primary,
body.mulchenbrand-login-active button[type='submit'] {
  width: 100% !important;
  min-height: 44px !important;
  border-radius: var(--mulchenbrand-button-radius) !important;
  background: linear-gradient(135deg, var(--mulchenbrand-primary), color-mix(in srgb, var(--mulchenbrand-primary) 78%, var(--mulchenbrand-accent))) !important;
  border: none !important;
  color: #fff !important;
  font-weight: 700 !important;
  letter-spacing: .01em !important;
  box-shadow: var(--mulchenbrand-button-shadow) !important;
  transition: transform .18s ease, filter .18s ease, box-shadow .18s ease !important;
}

body.mulchenbrand-login-active .btn-primary:hover,
body.mulchenbrand-login-active button[type='submit']:hover {
  filter: brightness(1.04) !important;
  transform: translateY(-1px) !important;
}

body.mulchenbrand-login-active a {
  color: color-mix(in srgb, var(--mulchenbrand-primary) 70%, #ffffff) !important;
}

/* FOOTER */
body .mulchenbrand-login-footer {
  margin-top: 1rem !important;
  text-align: center !important;
  color: rgba(255, 255, 255, .86) !important;
  text-shadow: 0 1px 4px rgba(0, 0, 0, .35) !important;
  font-size: .82rem !important;
}

