/* NoteSmart V80: polish seluruh halaman agar terasa seperti aplikasi Android profesional. */
:root{
  --ns80-app-green:#24523d;
  --ns80-app-green2:#2f694f;
  --ns80-app-bg:#f4f7f6;
  --ns80-app-card:#ffffff;
  --ns80-app-border:#dfe9e3;
  --ns80-app-text:#14212b;
  --ns80-app-muted:#667085;
  --ns80-app-shadow:0 10px 28px rgba(15,23,42,.065);
  --ns80-app-shadow-hover:0 18px 44px rgba(15,23,42,.10);
  --ns80-ease:cubic-bezier(.16,1,.3,1);
}
html.ns-v80-ready,html.ns-v80-ready body{background:var(--ns80-app-bg)!important;color:var(--ns80-app-text)!important;-webkit-font-smoothing:antialiased!important;text-rendering:optimizeLegibility!important;}
html.ns-v80-ready body{overscroll-behavior-y:contain!important;}
html.ns-v80-ready #root main{max-width:100%!important;padding-bottom:calc(108px + env(safe-area-inset-bottom,0px))!important;}
html.ns-v80-ready .ns-v80-card{
  border-radius:22px!important;
  border:1px solid var(--ns80-app-border)!important;
  background:linear-gradient(180deg,#fff 0%,#fbfdfc 100%)!important;
  box-shadow:var(--ns80-app-shadow)!important;
  overflow:hidden;
}
html.ns-v80-ready .ns-v80-card:hover{box-shadow:var(--ns80-app-shadow-hover)!important;}
html.ns-v80-ready .ns-v80-button,
html.ns-v80-ready button,
html.ns-v80-ready [role="button"]{
  border-radius:15px!important;
  font-weight:850!important;
  letter-spacing:.005em!important;
  transition:transform .12s var(--ns80-ease),box-shadow .18s var(--ns80-ease),background-color .18s var(--ns80-ease),border-color .18s var(--ns80-ease)!important;
  -webkit-tap-highlight-color:transparent!important;
  touch-action:manipulation!important;
}
html.ns-v80-ready .ns-v80-button:active,
html.ns-v80-ready button:active,
html.ns-v80-ready [role="button"]:active{transform:scale(.982)!important;}
html.ns-v80-ready .ns-v80-field,
html.ns-v80-ready input,
html.ns-v80-ready select,
html.ns-v80-ready textarea{
  border-radius:15px!important;
  border-color:var(--ns80-app-border)!important;
  background:#fff!important;
  min-height:46px!important;
  transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease!important;
}
html.ns-v80-ready .ns-v80-field:focus,
html.ns-v80-ready input:focus,
html.ns-v80-ready select:focus,
html.ns-v80-ready textarea:focus{border-color:rgba(36,82,61,.42)!important;box-shadow:0 0 0 4px rgba(36,82,61,.10)!important;outline:none!important;}
html.ns-v80-ready .ns-v80-table-wrap{border-radius:16px!important;overflow:auto!important;-webkit-overflow-scrolling:touch!important;background:#fff!important;}
html.ns-v80-ready .ns-v80-table{border-collapse:collapse!important;}
html.ns-v80-ready .ns-v80-table th{background:#f8fafc!important;color:#334155!important;font-weight:900!important;}
html.ns-v80-ready .ns-v80-table td,html.ns-v80-ready .ns-v80-table th{vertical-align:middle!important;}
html.ns-v80-ready #ns-v33-universal-header,
html.ns-v80-ready body header:first-of-type,
html.ns-v80-ready #root header:first-of-type{backdrop-filter:saturate(1.1) blur(16px)!important;-webkit-backdrop-filter:saturate(1.1) blur(16px)!important;box-shadow:0 10px 28px rgba(15,23,42,.07)!important;}
html.ns-v80-ready nav[data-testid="footer-nav"],html.ns-v80-ready nav.ns-footer-nav,html.ns-v80-ready [class*="bottom-nav"],html.ns-v80-ready [class*="BottomNav"]{backdrop-filter:saturate(1.1) blur(18px)!important;-webkit-backdrop-filter:saturate(1.1) blur(18px)!important;box-shadow:0 -12px 30px rgba(15,23,42,.08)!important;border-top:1px solid rgba(15,23,42,.08)!important;}
html.ns-v80-ready [data-testid="admin-sidebar"],html.ns-v80-ready aside[class*="sidebar"],html.ns-v80-ready .ns-admin-sidebar{box-shadow:16px 0 42px rgba(15,23,42,.08)!important;border-right:1px solid rgba(15,23,42,.08)!important;}
/* Dashboard */
html.ns-v80-page-dashboard main .ns-v80-card{border-radius:24px!important;}
html.ns-v80-page-dashboard main h1,html.ns-v80-page-dashboard main h2{letter-spacing:-.025em!important;}
/* Jurnal */
html.ns-v80-page-jurnal [data-testid^="jurnal-row-"]{border-radius:20px!important;box-shadow:var(--ns80-app-shadow)!important;border:1px solid var(--ns80-app-border)!important;background:#fff!important;}
html.ns-v80-page-jurnal [data-testid^="jurnal-row-"] button{min-height:40px!important;border-radius:13px!important;}
/* Master data pages */
html.ns-v80-page-guru main .ns-v80-table-wrap,html.ns-v80-page-siswa main .ns-v80-table-wrap,html.ns-v80-page-kelas main .ns-v80-table-wrap,html.ns-v80-page-mapel main .ns-v80-table-wrap,html.ns-v80-page-penugasan main .ns-v80-table-wrap,html.ns-v80-page-users main .ns-v80-table-wrap,html.ns-v80-page-jp-master main .ns-v80-table-wrap{box-shadow:var(--ns80-app-shadow)!important;border:1px solid var(--ns80-app-border)!important;}
/* Roster & Upload */
html.ns-v80-page-roster main input[type="file"],html.ns-v80-page-upload main input[type="file"]{padding:12px!important;background:#f8fafc!important;border:1px dashed #b7c7be!important;}
/* Piket */
html.ns-v80-page-piket .ns-dp-box,html.ns-v80-page-piket .ns-dp-activity-card,html.ns-v80-page-piket .ns-dp-picket-card{border-radius:22px!important;box-shadow:var(--ns80-app-shadow)!important;}
/* Kalender */
html.ns-v80-page-kalender main .ns-v80-card{background:linear-gradient(180deg,#fff,#fbfdfc)!important;}
/* Audit */
html.ns-v80-page-audit [data-testid^="audit-row-"]{border-radius:18px!important;background:#fff!important;box-shadow:var(--ns80-app-shadow)!important;}
/* Pengaturan */
html.ns-v80-page-pengaturan main [data-testid^="pengaturan-tab-"],html.ns-v80-page-pengaturan .ns-settings-custom-chip{border-radius:16px!important;min-height:54px!important;}
html.ns-v80-page-pengaturan .ns-settings-custom-panel,html.ns-v80-page-pengaturan #ns-v36-logo-web-block{border-radius:24px!important;box-shadow:var(--ns80-app-shadow)!important;}
/* WA logs */
html.ns-v80-page-wa-logs main .ns-v80-card{border-left:4px solid rgba(36,82,61,.25)!important;}
@media(max-width:760px){
  html.ns-v80-ready #root main{padding-left:12px!important;padding-right:12px!important;}
  html.ns-v80-ready .ns-v80-card{border-radius:19px!important;}
  html.ns-v80-ready .ns-v80-button,html.ns-v80-ready button,html.ns-v80-ready [role="button"]{min-height:44px!important;}
  html.ns-v80-ready .ns-v80-field,html.ns-v80-ready input,html.ns-v80-ready select,html.ns-v80-ready textarea{min-height:48px!important;font-size:16px!important;}
  html.ns-v80-ready table:not(.report-table):not([data-testid^="rpt-"]) th,html.ns-v80-ready table:not(.report-table):not([data-testid^="rpt-"]) td{padding:8px 9px!important;}
}
@media print{html.ns-v80-ready #root main{padding:0!important;}html.ns-v80-ready .ns-v80-card{box-shadow:none!important;}}
@media(prefers-reduced-motion:reduce){html.ns-v80-ready *,html.ns-v80-ready *::before,html.ns-v80-ready *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important;}}
