body.welcome-anonymous {
   min-height: 100vh;
   background:
      linear-gradient(120deg, rgba(6, 14, 24, .82), rgba(6, 25, 33, .56) 44%, rgba(10, 33, 39, .70)),
      url("../pics/kb-login-bg.jpg") center / cover fixed no-repeat;
   color: #172033;
}

.welcome-anonymous .page-anonymous {
   min-height: 100vh;
   background: radial-gradient(circle at 72% 18%, rgba(33, 190, 184, .18), transparent 30%);
}

.welcome-anonymous .flex-fill {
   min-height: 100vh;
   margin-top: 0 !important;
   padding: 32px 16px !important;
}

.welcome-anonymous .container-tight {
   width: min(100%, 960px);
   padding-top: 0 !important;
   padding-bottom: 0 !important;
}

.welcome-anonymous .glpi-logo {
   display: none;
}

.welcome-anonymous .card.card-md {
   overflow: hidden;
   border: 1px solid rgba(255, 255, 255, .30);
   border-radius: 8px;
   background: rgba(255, 255, 255, .90);
   box-shadow: 0 24px 70px rgba(0, 0, 0, .30);
   backdrop-filter: blur(18px);
}

.welcome-anonymous .card-body {
   padding: 0;
}

.kb-login-shell {
   display: grid;
   grid-template-columns: minmax(300px, .95fr) minmax(340px, 1fr);
   min-height: 560px;
}

.kb-login-visual {
   position: relative;
   display: flex;
   align-items: flex-end;
   min-height: 560px;
   padding: 44px;
   color: #fff;
   background:
      linear-gradient(180deg, rgba(4, 17, 25, .08), rgba(4, 17, 25, .76)),
      linear-gradient(135deg, rgba(24, 187, 180, .25), rgba(244, 176, 72, .18));
}

.kb-login-visual::before {
   content: "";
   position: absolute;
   inset: 24px;
   border: 1px solid rgba(255, 255, 255, .18);
   border-radius: 8px;
   pointer-events: none;
}

.kb-login-visual-inner {
   position: relative;
   max-width: 360px;
}

.kb-login-eyebrow {
   display: inline-flex;
   align-items: center;
   min-height: 28px;
   padding: 0 12px;
   border: 1px solid rgba(255, 255, 255, .32);
   border-radius: 999px;
   background: rgba(255, 255, 255, .12);
   font-size: 12px;
   font-weight: 700;
   text-transform: uppercase;
   letter-spacing: .08em;
}

.kb-login-visual h1 {
   margin: 22px 0 14px;
   font-size: 44px;
   line-height: 1.04;
   font-weight: 800;
   letter-spacing: 0;
}

.kb-login-visual p {
   margin: 0;
   max-width: 30rem;
   color: rgba(255, 255, 255, .82);
   font-size: 16px;
   line-height: 1.55;
}

.kb-login-panel {
   display: flex;
   flex-direction: column;
   justify-content: center;
   padding: 56px 52px;
   background: rgba(255, 255, 255, .94);
}

.kb-login-heading {
   display: flex;
   align-items: center;
   gap: 16px;
   margin-bottom: 32px;
}

.kb-login-mark {
   display: grid;
   place-items: center;
   flex: 0 0 52px;
   width: 52px;
   height: 52px;
   border-radius: 8px;
   background: linear-gradient(135deg, #0d766f, #1da2b4 58%, #e3a342);
   color: #fff;
   font-weight: 800;
   box-shadow: 0 14px 28px rgba(13, 118, 111, .28);
}

.kb-login-heading h2 {
   margin: 0;
   color: #101828;
   font-size: 24px;
   line-height: 1.2;
   font-weight: 800;
   letter-spacing: 0;
}

.kb-login-heading p {
   margin: 4px 0 0;
   color: #667085;
   font-size: 14px;
}

.kb-login-form .form-label {
   color: #344054;
   font-weight: 700;
}

.kb-login-form .form-control {
   min-height: 46px;
   border-color: #d0d5dd;
   border-radius: 8px;
   background: #fff;
   color: #101828;
   box-shadow: 0 1px 2px rgba(16, 24, 40, .05);
}

.kb-login-form .form-control:focus {
   border-color: #15948d;
   box-shadow: 0 0 0 4px rgba(21, 148, 141, .16);
}

.kb-login-form .form-label-description a {
   color: #0d766f;
   font-weight: 700;
}

.kb-login-form .form-check-input:checked {
   border-color: #0d766f;
   background-color: #0d766f;
}

.kb-login-form .btn-primary {
   min-height: 48px;
   border: 0;
   border-radius: 8px;
   background: linear-gradient(135deg, #0d766f, #168c9f);
   font-weight: 800;
   box-shadow: 0 14px 28px rgba(13, 118, 111, .24);
}

.kb-login-form .btn-primary:hover,
.kb-login-form .btn-primary:focus {
   background: linear-gradient(135deg, #0b655f, #127f91);
}

.kb-login-extra {
   margin-top: 24px;
   padding-top: 20px;
   border-top: 1px solid #eaecf0;
}

@media (max-width: 860px) {
   .welcome-anonymous .container-tight {
      max-width: 520px !important;
   }

   .kb-login-shell {
      display: block;
      min-height: 0;
   }

   .kb-login-visual {
      min-height: 220px;
      padding: 32px;
   }

   .kb-login-visual h1 {
      font-size: 34px;
   }

   .kb-login-panel {
      padding: 36px 28px;
   }
}

@media (max-width: 480px) {
   .welcome-anonymous .flex-fill {
      padding: 16px 10px !important;
   }

   .kb-login-visual {
      min-height: 190px;
      padding: 24px;
   }

   .kb-login-visual::before {
      inset: 14px;
   }

   .kb-login-heading {
      align-items: flex-start;
      gap: 12px;
   }

   .kb-login-heading h2 {
      font-size: 21px;
   }

   .kb-login-panel {
      padding: 30px 20px;
   }
}

@media (max-width: 860px) {
   html,
   body.welcome-anonymous {
      overflow-x: hidden;
   }

   .welcome-anonymous .container-tight {
      width: 100% !important;
      max-width: 100% !important;
      padding-left: 0 !important;
      padding-right: 0 !important;
   }

   .welcome-anonymous .card.card-md,
   .kb-login-shell,
   .kb-login-visual,
   .kb-login-panel,
   .kb-login-form {
      width: 100%;
      max-width: 100%;
      min-width: 0;
   }

   .kb-login-visual p,
   .kb-login-heading p,
   .kb-login-heading h2 {
      overflow-wrap: anywhere;
   }
}

@media (max-width: 480px) {
   .welcome-anonymous .container-tight {
      width: calc(100vw - 64px) !important;
      max-width: calc(100vw - 64px) !important;
      margin-left: auto !important;
      margin-right: auto !important;
   }

   .welcome-anonymous .card.card-md {
      box-sizing: border-box;
   }
}

.welcome-anonymous .container-tight {
   width: min(calc(100vw - 64px), 960px) !important;
   max-width: min(calc(100vw - 64px), 960px) !important;
   margin-left: auto !important;
   margin-right: auto !important;
}

@media (max-width: 860px) {
   .kb-login-visual {
      padding-right: 56px !important;
   }

   .kb-login-panel {
      padding-right: 52px !important;
   }
}
.kb-login-form .form-check-label {
   color: #344054;
}
