/* New login page styles - matches desktop split-screen + mobile glass card design
   Desktop: Left white column (form) | Right turquoise background (image + text)
   Mobile: Full background with centered semi-transparent card
*/

html,
body {
  height: 100%;
  margin: 0;
  padding: 0;
}

#kt_login {
  display: flex !important;
  height: 100vh !important;
  background: #ffffff !important;
  width: 100% !important;
}

#kt_login *,
#kt_login *::before,
#kt_login *::after {
  box-sizing: border-box;
}

/* Hard override login-6 defaults that use absolute positioning + padding */
.kt-login.kt-login--v6 {
  padding: 0 !important;
  align-items: stretch !important;
  justify-content: stretch !important;
  background: #ffffff !important;
}

.kt-login.kt-login--v6 .kt-login__aside {
  position: relative !important;
  width: 50% !important;
  height: 100% !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.kt-login.kt-login--v6 .kt-login__wrapper {
  padding: 0 !important;
}

.kt-login.kt-login--v6 .kt-login__container {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  align-items: stretch !important;
  flex: 0 0 auto !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

.kt-login.kt-login--v6 .kt-login__content {
  display: flex !important;
}

/* ========== DESKTOP LAYOUT (50/50 split) ========== */

.kt-grid--desktop {
  display: flex !important;
  height: 100% !important;
  width: 100% !important;
}

.kt-grid--ver-desktop {
  flex-direction: row !important;
}

.kt-login__aside {
  flex: 1 !important;
  background: #ffffff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 40px 20px !important;
  order: 1 !important;
  width: 50% !important;
  min-width: 0 !important;
}

.kt-login__wrapper {
  width: 100%;
  max-width: 520px;
  display: flex;
  justify-content: center;
}

/* Logo at top of left panel */
.kt-login__logo-wrapper {
  text-align: left;
  margin-bottom: 64px;
  margin-left: 0;
}

.kt-login__logo {
  width: 240px;
  max-width: 100%;
  height: auto;
  display: block;
}

.kt-login__container {
  background: #ffffff;
  padding: 44px 44px 48px;
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.14);
  border: 1px solid #f0f0f0;
  border-radius: 16px;
  width: 100%;
  max-width: 460px;
  min-height: 420px;
  margin: 0 auto;
}

.kt-login__body {
  padding: 0;
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.kt-login__signin {
  padding: 0;
  width: 100%;
}

.kt-login__head {
  text-align: center;
  margin-bottom: 32px;
  position: relative;
}

.kt-login__head--card {
  margin-bottom: 16px;
}

.kt-login__head--card .kt-login__title {
  font-size: 22px;
  font-weight: 700;
  color: #1a1a1a;
  margin: 0;
  text-align: left;
}

.kt-login__title {
  font-size: 28px;
  font-weight: 700;
  color: #1a1a1a;
  margin: 0 0 8px;
}

.kt-login__desc {
  font-size: 14px;
  color: #888888;
  margin: 0;
}

.kt-login__form {
  margin-top: 20px;
}

.form-group.mb-3 {
  margin-bottom: 16px;
}

.form-control.form-control-pill {
  height: 44px;
  border-radius: 8px;
  border: 1px solid #e0e0e0;
  padding: 10px 14px;
  font-size: 14px;
  background: #f9f9f9;
  width: 88%;
  margin: 0 auto;
  display: block;
}

.field-validation-error {
  margin-left: 6%;
  margin-top: 6px;
  display: block;
  text-align: left;
}

.form-control.form-control-pill:focus {
  background: #ffffff;
  border-color: #17a2b8;
  box-shadow: none;
  outline: none;
}

.kt-login__actions {
  margin-top: 24px;
}

.kt-login__actions .btn {
  height: 44px;
  border-radius: 8px;
  font-weight: 600;
  font-size: 14px;
  width: 88% !important;
  margin: 0 auto !important;
  display: block !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding: 0 !important;
}

/* Right panel: turquoise background with text */
.kt-login__content {
  flex: 1 !important;
  width: 50% !important;
  min-width: 0 !important;
  background-color: transparent !important;
  background-image: url("/assets/media/background-image/Login.png") !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #ffffff;
  text-align: center;
  padding: 40px;
  order: 2 !important;
  position: relative;
  height: 100% !important;
}

.kt-login__welcome {
  text-align: center;
}

.kt-login__welcome-title {
  font-size: 36px;
  font-weight: 700;
  color: #ffffff;
  margin: 0 0 12px;
}

.kt-login__welcome-desc {
  font-size: 16px;
  color: rgba(255, 255, 255, 0.95);
  margin: 0;
}

/* Grid wrapper for desktop split */
.kt-grid--ver.kt-grid--root {
  height: 100vh !important;
  width: 100% !important;
}

.kt-grid__item--fluid {
  display: flex !important;
  flex: 1 !important;
  min-width: 0 !important;
  height: 100% !important;
}

.kt-grid__item--center {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 1 !important;
}

.kt-grid--desktop {
  display: flex !important;
  height: 100% !important;
  width: 100% !important;
}

.kt-grid--ver-desktop {
  flex-direction: row !important;
}

/* ========== MOBILE LAYOUT (full-screen with glass card) ========== */

@media (max-width: 991.98px) {
  #kt_login {
    flex-direction: column;
    background: transparent !important;
    background-image: url("/assets/media/background-image/Login.png") !important;
    background-size: cover !important;
    background-position: right center !important;
    background-repeat: no-repeat !important;
  }

  .kt-grid--desktop {
    flex-direction: column;
  }

  .kt-grid--ver-desktop {
    flex-direction: column;
  }

  .kt-login.kt-login--v6 .kt-login__aside {
    order: 1 !important;
    flex: 1 !important;
    width: 100% !important;
    background: transparent !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 20px !important;
  }

  .kt-login__wrapper {
    max-width: 360px;
    margin: 60px auto 0;
  }

  .kt-login__logo-wrapper {
    text-align: center;
    margin-bottom: 48px;
    background: #ffffff;
    padding: 14px 25px;
    border-radius: 12px;
    align-self: center;
  }

  .kt-login__logo {
    width: 180px;
    max-width: 100%;
  }

  .kt-login.kt-login--v6 .kt-login__container {
    background: rgba(0, 0, 0, 0.2) !important;
    backdrop-filter: blur(12px) !important;
    border: 1px solid rgba(255, 255, 255, 0.3) !important;
    border-radius: 18px !important;
    padding: 32px 24px !important;
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.12) !important;
    max-width: 100% !important;
  }

  .kt-login__head {
    text-align: center;
    margin-bottom: 24px;
  }

  .kt-login__title {
    color: #ffffff !important;
    font-size: 24px;
    margin-bottom: 6px;
  }

  .kt-login__desc {
    color: rgba(255, 255, 255, 0.9) !important;
    font-size: 13px;
  }

  .kt-login__head--card {
    display: none !important;
  }

  .form-control.form-control-pill {
    background: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.3);
    color: #333;
  }

  .form-control.form-control-pill::placeholder {
    color: #999;
  }

  .kt-login.kt-login--v6 .kt-login__content {
    display: none !important;
    width: 0 !important;
    flex: 0 0 0 !important;
  }
}

/* Tablet adjustments */
@media (min-width: 992px) and (max-width: 1199.98px) {
  .kt-login__aside {
    padding: 60px 40px !important;
  }

  .kt-login__wrapper {
    max-width: 440px;
  }

  .kt-login__welcome-title {
    font-size: 32px;
  }
}

/* Large screens */
@media (min-width: 1200px) {
  .kt-login__aside {
    padding: 80px 60px !important;
  }

  .kt-login__wrapper {
    max-width: 500px;
  }

  .kt-login__welcome-title {
    font-size: 40px;
  }
}
