/* NoteSmart V36: polish profesional, logo/header masuk Pengaturan Web, Piket Guru tanpa daftar duplikat. */
:root{
  --ns36-green:#24523d;
  --ns36-green-2:#2f694f;
  --ns36-border:#e4ebe6;
  --ns36-soft:#f8faf9;
  --ns36-text:#172033;
  --ns36-muted:#667085;
  --ns36-danger:#b42318;
}

html,body,#root{
  -webkit-font-smoothing:antialiased!important;
  text-rendering:geometricPrecision!important;
}
body *{
  -webkit-tap-highlight-color:transparent!important;
}
button,a,input,select,textarea{
  touch-action:manipulation!important;
}
button:active,a:active,[role="button"]:active{
  transform:none!important;
}

/* Header tetap rapi dan konten tidak tertutup. */
#ns-v33-universal-header,
body header:first-of-type,
#root header:first-of-type{
  z-index:900!important;
  backdrop-filter:saturate(1.05) blur(10px)!important;
  -webkit-backdrop-filter:saturate(1.05) blur(10px)!important;
}

/* ===== Pengaturan ===== */
html.ns-page-pengaturan main,
body.ns-page-pengaturan main{
  overflow-x:hidden!important;
  padding-bottom:110px!important;
}
html.ns-page-pengaturan main [data-testid^="pengaturan-tab-"],
body.ns-page-pengaturan main [data-testid^="pengaturan-tab-"]{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  gap:9px!important;
  letter-spacing:-.01em!important;
}
/* Piket Harian dipindahkan penuh ke halaman Piket Guru, bukan tab Pengaturan. */
html.ns-page-pengaturan .ns-v36-hide-settings-tab,
body.ns-page-pengaturan .ns-v36-hide-settings-tab,
html.ns-page-pengaturan #ns-settings-top-logo-header,
body.ns-page-pengaturan #ns-settings-top-logo-header,
html.ns-page-pengaturan #ns-settings-top-piket-harian,
body.ns-page-pengaturan #ns-settings-top-piket-harian{
  display:none!important;
}
html.ns-page-pengaturan #ns-settings-clean-panel.ns-v36-hide-logo-panel,
body.ns-page-pengaturan #ns-settings-clean-panel.ns-v36-hide-logo-panel{
  display:none!important;
}

#ns-v36-logo-web-block{
  display:block;
  width:100%;
  max-width:100%;
  margin:16px 0 18px!important;
  padding:18px!important;
  border:1px solid var(--ns36-border)!important;
  border-radius:24px!important;
  background:#fff!important;
  box-shadow:0 8px 24px rgba(15,23,42,.055)!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
#ns-v36-logo-web-block *{box-sizing:border-box!important;max-width:100%!important;}
.ns-v36-logo-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px;}
.ns-v36-logo-head h3{margin:0;color:var(--ns36-text);font-size:22px;line-height:1.2;font-weight:900;letter-spacing:-.02em;}
.ns-v36-logo-head p{margin:5px 0 0;color:var(--ns36-muted);font-size:13px;line-height:1.45;}
.ns-v36-logo-status{min-height:22px;color:#166534;font-size:13px;font-weight:850;text-align:right;}
.ns-v36-logo-status.err{color:#b42318;}
.ns-v36-logo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.ns-v36-logo-card{min-width:0;padding:14px;border:1px solid #dfe8e2;border-radius:20px;background:linear-gradient(180deg,#fff,#fbfdfc);overflow:hidden;}
.ns-v36-logo-card h4{margin:0 0 8px;color:#1d2c24;font-size:16px;font-weight:900;line-height:1.25;}
.ns-v36-logo-preview{display:flex;align-items:center;justify-content:center;width:100%;height:120px;margin-bottom:10px;border:1px dashed #cbd5d0;border-radius:16px;background:#f6f8f7;overflow:hidden;color:#87918c;font-size:13px;font-weight:800;text-align:center;}
.ns-v36-logo-preview img{display:block;max-width:100%!important;max-height:100%!important;object-fit:contain;border-radius:12px;}
.ns-v36-logo-hint{min-height:36px;margin:0 0 10px;color:var(--ns36-muted);font-size:12.5px;line-height:1.45;}
.ns-v36-logo-actions{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;}
.ns-v36-file-button,.ns-v36-logo-remove{display:inline-flex;align-items:center;justify-content:center;min-height:42px;border-radius:14px;padding:9px 12px;font-weight:900;font-size:13px;cursor:pointer;white-space:normal!important;text-align:center;}
.ns-v36-file-button{border:1px solid #d5e1db;background:#fff;color:#214b38;}
.ns-v36-file-button input{display:none!important;}
.ns-v36-logo-remove{border:1px solid #fecaca;background:#fff1f2;color:#991b1b;}
.ns-v36-logo-saveall{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin-top:12px;border:0;border-radius:16px;padding:10px 16px;background:var(--ns36-green);color:#fff;font-weight:900;font-size:14px;cursor:pointer;}

/* ===== Piket Guru ===== */
html.ns-page-piket main,
body.ns-page-piket main{
  overflow-x:hidden!important;
  padding-bottom:110px!important;
}
html.ns-page-piket #ns-daily-picket-settings-panel,
body.ns-page-piket #ns-daily-picket-settings-panel{
  margin:12px 0 18px!important;
}
html.ns-page-piket .ns-v36-hide-native-picket,
body.ns-page-piket .ns-v36-hide-native-picket{
  display:none!important;
}
html.ns-page-piket .ns-dp-grid,
body.ns-page-piket .ns-dp-grid{
  grid-template-columns:minmax(0,1fr)!important;
}
html.ns-page-piket .ns-dp-box,
body.ns-page-piket .ns-dp-box{
  box-shadow:none!important;
}
html.ns-page-piket .ns-dp-head,
body.ns-page-piket .ns-dp-head{
  border-bottom:1px solid #edf2ef;
  padding-bottom:12px;
}
html.ns-page-piket .ns-dp-assignment-list,
body.ns-page-piket .ns-dp-assignment-list{
  max-height:none!important;
}

/* Filter siswa: hanya satu panel aktif. */
html.ns-page-siswa .ns-v36-hide-duplicate-filter,
body.ns-page-siswa .ns-v36-hide-duplicate-filter{
  display:none!important;
}

/* Form mobile stabil: select/filter tidak bergetar saat disentuh. */
select,input,textarea{
  transition:border-color .16s ease, box-shadow .16s ease, background-color .16s ease!important;
  transform:none!important;
  will-change:auto!important;
}
select:focus,input:focus,textarea:focus{
  transform:none!important;
}

@media (max-width:900px){
  .ns-v36-logo-head{display:block;}
  .ns-v36-logo-status{text-align:left;margin-top:8px;}
  .ns-v36-logo-grid{grid-template-columns:1fr!important;}
  #ns-v36-logo-web-block{padding:14px!important;border-radius:22px!important;}
  .ns-v36-logo-preview{height:112px;}
}
@media (max-width:640px){
  html.ns-page-pengaturan main [data-testid^="pengaturan-tab-"],
  body.ns-page-pengaturan main [data-testid^="pengaturan-tab-"]{
    min-height:56px!important;
    font-size:13.5px!important;
    padding:10px 8px!important;
  }
  .ns-v36-logo-head h3{font-size:20px;}
  .ns-v36-logo-card{padding:12px;border-radius:18px;}
  .ns-v36-logo-actions{grid-template-columns:1fr;}
  .ns-v36-logo-remove{width:100%;}
}
