/* ========================================================================== */
/* IMMEDIATE RDM THEME & ANTI-FOUC (PREVENT FLASH OF ORIGINAL THEME)         */
/* ========================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=Poppins:wght@300;400;500;600;700&display=swap');

:root {
  --rdm-gold: #ffcc33;
  --rdm-font: 'Plus Jakarta Sans', 'Poppins', sans-serif;
}

html, body {
  height: 100vh !important;
  max-height: 100vh !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  font-family: var(--rdm-font) !important;
  background-color: #04241c !important;
}

/* Kunci seluruh container induk agar mutlak 100vh tanpa scroll */
.flex-root, 
#kt_body,
.d-flex.flex-column.flex-root {
  height: 100vh !important;
  max-height: 100vh !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Sembunyikan elemen bawaan yang tidak diperlukan seketika */
.login.login-3 .top-signin,
.login.login-3 i.mauMobilGa,
.login.login-3 img.mauMobilGa,
.login.login-3 .login-content,
.login.login-3 .footy-sec {
  display: none !important;
}

/* Layout Container Login */
.login.login-3 {
  height: 100vh !important;
  max-height: 100vh !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: row !important;
  justify-content: flex-end !important;
  align-items: stretch !important;
  background-color: #04241c !important;
  position: relative !important;
}

/* Background Gedung Madrasah HANYA di sebelah KIRI (tidak tembus/ada di belakang panel login) */
.login.login-3::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  bottom: 0 !important;
  right: 380px !important; /* Pas berhenti tepat di sisi kiri panel form */
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.15) 0%, rgba(0, 0, 0, 0) 60%, rgba(4, 30, 24, 0.4) 100%),
                    url('../../bg-rdm-mtsn1.jpg') !important;
  background-size: 100% 100% !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  z-index: 1 !important;
}

/* Panel Samping Kanan Elegan & Bersih */
.login.login-3 > div:first-child {
  width: 380px !important;
  max-width: 380px !important;
  min-width: 380px !important;
  background: linear-gradient(135deg, #093329 0%, #04221a 100%) !important;
  border-left: 1.5px solid rgba(255, 255, 255, 0.18) !important;
  border-right: none !important;
  box-shadow: -15px 0 40px rgba(0, 0, 0, 0.6) !important;
  color: #ffffff !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  padding: 20px 28px !important;
  z-index: 10 !important;
  height: 100vh !important;
  position: relative !important;
}

.login.login-3 > div:first-child .login-logo { margin-bottom: 8px !important; padding: 0 !important; }
.login.login-3 > div:first-child .login-logo img { max-height: 58px !important; filter: drop-shadow(0 4px 10px rgba(0,0,0,0.5)) !important; }
.login.login-3 > div:first-child h3:nth-of-type(1) { font-size: 1.08rem !important; font-weight: 700 !important; letter-spacing: 0.5px !important; color: #ffffff !important; margin-bottom: 2px !important; }
.login.login-3 > div:first-child h3:nth-of-type(2) { font-size: 1.25rem !important; font-weight: 800 !important; color: var(--rdm-gold) !important; text-shadow: 0 2px 8px rgba(0,0,0,0.5) !important; margin-bottom: 5px !important; }
.login.login-3 > div:first-child h3:nth-of-type(3) { display: inline-block !important; font-size: 0.72rem !important; font-weight: 600 !important; font-style: italic !important; padding: 2px 14px !important; border-radius: 16px !important; background: rgba(255, 255, 255, 0.08) !important; border: 1.2px solid rgba(19, 204, 124, 0.8) !important; color: #37f1a8 !important; letter-spacing: 0.5px !important; margin-bottom: 14px !important; }

/* Kartu Form Login Glossy Crystal Glassmorphism */
.login.login-3 > div:first-child .login-form {
  width: 100% !important;
  max-width: 320px !important;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.16) 0%, rgba(255, 255, 255, 0.05) 100%) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  border: 1px solid rgba(255, 255, 255, 0.35) !important;
  border-top: 1.5px solid rgba(255, 255, 255, 0.6) !important;
  border-radius: 16px !important;
  padding: 18px 20px !important;
  box-shadow: 0 12px 35px rgba(0, 0, 0, 0.35), inset 0 1px 2px rgba(255, 255, 255, 0.4), inset 0 -1px 2px rgba(0, 0, 0, 0.2) !important;
  margin: 0 auto !important;
}

.login.login-3 > div:first-child .login-form .pb-5,
.login.login-3 > div:first-child .login-form .pb-lg-15 { padding-bottom: 0px !important; margin-bottom: 8px !important; }
.login.login-3 > div:first-child .login-form .mt-n5 { margin-top: 0px !important; }
.login.login-3 > div:first-child .login-form .pt-5 { padding-top: 0px !important; }
.login.login-3 > div:first-child .login-form .pb-lg-0 { padding-bottom: 0px !important; margin-top: 14px !important; }

.login.login-3 > div:first-child .login-form h3 { font-size: 0.98rem !important; font-weight: 700 !important; color: #ffffff !important; margin: 0 0 10px 0 !important; padding: 0 !important; text-align: center !important; }

.login.login-3 > div:first-child label { font-size: 0.76rem !important; font-weight: 600 !important; color: rgba(255, 255, 255, 0.9) !important; margin-bottom: 3px !important; }
.login.login-3 > div:first-child .form-control { background-color: rgba(255, 255, 255, 0.12) !important; border: 1px solid rgba(255, 255, 255, 0.3) !important; border-radius: 8px !important; height: 36px !important; padding: 6px 12px !important; font-size: 0.82rem !important; color: #ffffff !important; transition: all 0.2s ease !important; }
.login.login-3 > div:first-child .form-control::placeholder { color: rgba(255, 255, 255, 0.5) !important; font-size: 0.78rem !important; }
.login.login-3 > div:first-child .form-control:focus { background-color: rgba(255, 255, 255, 0.18) !important; border-color: var(--rdm-gold) !important; box-shadow: 0 0 10px rgba(255, 204, 51, 0.35) !important; outline: none !important; color: #ffffff !important; }
.login.login-3 > div:first-child .form-group { margin-bottom: 10px !important; }
.login.login-3 > div:first-child a[href*="lupapassword"] { font-size: 0.75rem !important; color: var(--rdm-gold) !important; font-weight: 600 !important; text-decoration: none !important; }

.login.login-3 > div:first-child button[type="submit"] {
  background: linear-gradient(180deg, #18e28b 0%, #0db86e 45%, #03804c 100%) !important;
  border: 1.5px solid var(--rdm-gold) !important;
  border-radius: 18px !important;
  height: 35px !important;
  padding: 0 16px !important;
  font-size: 0.8rem !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  letter-spacing: 0.5px !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.35), 0 0 10px rgba(255, 204, 51, 0.25) !important;
  transition: all 0.3s ease !important;
  cursor: pointer !important;
}

.login.login-3 > div:first-child a.btn {
  background: rgba(255, 255, 255, 0.12) !important;
  border: 1px solid rgba(255, 255, 255, 0.35) !important;
  color: #ffffff !important;
  border-radius: 18px !important;
  height: 35px !important;
  line-height: 33px !important;
  padding: 0 14px !important;
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  transition: all 0.2s ease !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

#floating-copyright {
  position: fixed !important;
  bottom: 15px !important;
  left: 25px !important;
  color: rgba(255, 255, 255, 0.85) !important;
  font-size: 0.82rem !important;
  text-shadow: 0 1px 4px rgba(0,0,0,0.6) !important;
  z-index: 100 !important;
  pointer-events: none !important;
}

@media (max-width: 768px) {
  html, body { height: 100% !important; min-height: 100% !important; overflow-y: auto !important; -webkit-overflow-scrolling: touch !important; }
  .login.login-3 {
    min-height: 100vh !important;
    height: auto !important;
    max-height: none !important;
    overflow-y: visible !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    padding: 30px 16px 50px 16px !important;
  }
  .login.login-3::before {
    right: 0 !important;
    background-size: cover !important;
    background-attachment: fixed !important;
  }
  .login.login-3 > div:first-child {
    width: 100% !important;
    max-width: 360px !important;
    min-width: 0 !important;
    height: auto !important;
    border-left: none !important;
    border: 1px solid rgba(255, 255, 255, 0.25) !important;
    border-radius: 20px !important;
    padding: 24px 20px !important;
    margin: auto !important;
    background: linear-gradient(135deg, rgba(8, 42, 34, 0.92) 0%, rgba(4, 30, 24, 0.96) 100%) !important;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.75) !important;
  }
  .login.login-3 > div:first-child .login-logo img { max-height: 52px !important; }
  .login.login-3 > div:first-child h3:nth-of-type(1) { font-size: 0.95rem !important; }
  .login.login-3 > div:first-child h3:nth-of-type(2) { font-size: 1.12rem !important; }
  .login.login-3 > div:first-child .login-form { width: 100% !important; max-width: 100% !important; padding: 14px 14px !important; }
  .login.login-3 > div:first-child .login-form .form-control { height: 38px !important; font-size: 14px !important; }
  .login.login-3 > div:first-child button[type="submit"], .login.login-3 > div:first-child a.btn {
    width: 100% !important; margin: 4px 0 !important; height: 38px !important; line-height: 36px !important; }
  #floating-copyright { position: static !important; margin-top: 25px !important; text-align: center !important; font-size: 0.74rem !important; width: 100% !important; }
}
