/* NoteSmart V43: anti kedip/getar halaman jurnal guru, anti flash tombol hapus piket, stabilisasi footer/header. */
:root{--ns-v43-green:#24523d;--ns-v43-green2:#1e4735;}

/* Class ns-page-jurnal sudah dipasang di <html> sejak head, jadi header bawaan guru disembunyikan sebelum React sempat menampilkannya. */
html.ns-page-jurnal [data-testid="guru-top-header"],
html.ns-v43-journal-stable [data-testid="guru-top-header"],
body.ns-v43-journal-stable [data-testid="guru-top-header"],
.ns-v43-native-guru-header-hidden{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  height:0!important;
  min-height:0!important;
  max-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  overflow:hidden!important;
  transform:none!important;
  animation:none!important;
  transition:none!important;
}
html.ns-page-jurnal .ns-v43-date-duplicate-hidden,
html.ns-v43-journal-stable .ns-v43-date-duplicate-hidden{
  display:none!important;
  visibility:hidden!important;
  width:0!important;
  height:0!important;
  margin:0!important;
  padding:0!important;
  opacity:0!important;
  pointer-events:none!important;
}

/* Header jurnal langsung punya ruang dan tanggal tidak menunggu refresh. */
html.ns-page-jurnal #ns-v33-universal-header,
html.ns-v43-journal-stable #ns-v33-universal-header,
body.ns-v43-journal-stable #ns-v33-universal-header{
  min-height:var(--ns-v33-header-h,80px)!important;
  background:linear-gradient(135deg,var(--ns-v43-green),var(--ns-v43-green2))!important;
  color:#fff!important;
  border-bottom:0!important;
  transform:none!important;
  animation:none!important;
  transition:none!important;
  contain:layout paint!important;
}
html.ns-page-jurnal #ns-v33-universal-header .ns-v33-actions,
html.ns-v43-journal-stable #ns-v33-universal-header .ns-v33-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:5px!important;
  flex:0 0 auto!important;
  min-width:0!important;
}
html.ns-page-jurnal #ns-v33-universal-header .ns-v33-actions > :not(#ns-v38-datebar),
html.ns-v43-journal-stable #ns-v33-universal-header .ns-v33-actions > :not(#ns-v38-datebar){
  display:none!important;
  visibility:hidden!important;
  width:0!important;
  height:0!important;
  margin:0!important;
  padding:0!important;
  opacity:0!important;
  pointer-events:none!important;
}
html.ns-page-jurnal #ns-v38-datebar,
html.ns-v43-journal-stable #ns-v38-datebar{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:5px!important;
  width:auto!important;
  max-width:54vw!important;
  min-width:0!important;
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
  animation:none!important;
  transition:none!important;
}
html.ns-page-jurnal #ns-v38-datebar button,
html.ns-v43-journal-stable #ns-v38-datebar button{
  appearance:none!important;
  -webkit-appearance:none!important;
  border:0!important;
  margin:0!important;
  box-shadow:none!important;
  transform:none!important;
  animation:none!important;
  transition:none!important;
  touch-action:manipulation!important;
  -webkit-tap-highlight-color:transparent!important;
}
html.ns-page-jurnal #ns-v38-datebar .ns-v38-date-nav,
html.ns-v43-journal-stable #ns-v38-datebar .ns-v38-date-nav{
  width:32px!important;
  height:38px!important;
  min-width:32px!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.16)!important;
  color:#fff!important;
  font-size:30px!important;
  line-height:1!important;
  font-weight:900!important;
  display:grid!important;
  place-items:center!important;
  padding:0 0 3px!important;
}
html.ns-page-jurnal #ns-v38-datebar .ns-v38-date-main,
html.ns-v43-journal-stable #ns-v38-datebar .ns-v38-date-main{
  min-width:0!important;
  max-width:calc(54vw - 74px)!important;
  height:38px!important;
  border-radius:15px!important;
  background:#fff!important;
  color:#111827!important;
  padding:0 10px!important;
  font-size:12px!important;
  line-height:38px!important;
  font-weight:950!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  display:block!important;
}
html.ns-page-jurnal #ns-v38-datebar .ns-v38-date-main span,
html.ns-v43-journal-stable #ns-v38-datebar .ns-v38-date-main span{
  display:block!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  color:#111827!important;
}
@media (max-width:390px){
  html.ns-page-jurnal #ns-v38-datebar,html.ns-v43-journal-stable #ns-v38-datebar{max-width:50vw!important;gap:4px!important;}
  html.ns-page-jurnal #ns-v38-datebar .ns-v38-date-nav,html.ns-v43-journal-stable #ns-v38-datebar .ns-v38-date-nav{width:27px!important;min-width:27px!important;height:35px!important;font-size:25px!important;}
  html.ns-page-jurnal #ns-v38-datebar .ns-v38-date-main,html.ns-v43-journal-stable #ns-v38-datebar .ns-v38-date-main{max-width:calc(50vw - 62px)!important;height:35px!important;line-height:35px!important;font-size:10.8px!important;padding:0 6px!important;}
}

/* Hilangkan rasa getar: jangan animasikan kartu dan padding halaman jurnal. */
html.ns-page-jurnal #root main,
html.ns-v43-journal-stable #root main,
body.ns-v43-journal-stable #root main{
  padding-top:calc(var(--ns-v33-header-h,80px) + 12px)!important;
  transform:none!important;
  animation:none!important;
  transition:none!important;
  will-change:auto!important;
  overflow-anchor:none!important;
}
html.ns-page-jurnal #root .ns-animate-in,
html.ns-page-jurnal #root [data-testid^="guru-"],
html.ns-v43-journal-stable #root .ns-animate-in,
html.ns-v43-journal-stable #root [data-testid^="guru-"]{
  animation:none!important;
  transition:background-color .12s ease,color .12s ease,border-color .12s ease!important;
}
html.ns-page-jurnal #root [data-testid="guru-mode-card"],
html.ns-page-jurnal #root [data-testid="guru-class-card"],
html.ns-page-jurnal #root [data-testid="guru-schedule-card"],
html.ns-v43-journal-stable #root [data-testid="guru-mode-card"],
html.ns-v43-journal-stable #root [data-testid="guru-class-card"],
html.ns-v43-journal-stable #root [data-testid="guru-schedule-card"]{
  transform:none!important;
  will-change:auto!important;
  contain:layout paint!important;
}

/* Piket guru: tombol hapus/list merah bawaan tidak boleh muncul sekilas; panel pengaturan piket tetap aman. */
html.ns-page-piket main .ns-v43-hide-picket-delete-flash,
html.ns-page-piket main .ns-v42-hide-picket-delete-flash,
html.ns-page-piket main button[class*="red-"],
html.ns-page-piket main a[class*="red-"],
html.ns-page-piket main [role="button"][class*="red-"],
html.ns-page-piket main button[class*="rose-"],
html.ns-page-piket main a[class*="rose-"],
html.ns-page-piket main button[data-testid*="delete" i],
html.ns-page-piket main button[data-testid*="hapus" i],
html.ns-page-piket main a[data-testid*="delete" i],
html.ns-page-piket main a[data-testid*="hapus" i]{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
  box-shadow:none!important;
  transform:none!important;
  animation:none!important;
  transition:none!important;
}
html.ns-page-piket main #ns-daily-picket-settings-panel button,
html.ns-page-piket main #ns-daily-picket-settings-panel a,
html.ns-page-piket main #ns-daily-picket-settings-panel [role="button"]{
  display:inline-flex!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
}

/* Export PDF: tombol tidak bergeser saat status Menyiapkan PDF. */
[data-testid="jurnal-export-pdf-btn"]{
  min-width:132px!important;
}
