/* NoteSmart V26: smoothing layer for admin/journal/signature UI. */
html, body, #root {
  max-width: 100% !important;
  overflow-x: hidden !important;
  scroll-behavior: auto !important;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
body {
  overscroll-behavior-x: none !important;
  -webkit-tap-highlight-color: transparent !important;
  background: hsl(var(--background, 56 20% 97%));
}
#root, #root > div, main { min-width: 0 !important; }
*, *::before, *::after { box-sizing: border-box; }
button, a, input, select, textarea, label, [role="button"] {
  -webkit-tap-highlight-color: transparent !important;
  touch-action: manipulation;
}
button, a, [role="button"], input, select, textarea {
  transition-property: background-color, border-color, color, box-shadow, opacity, transform !important;
  transition-duration: .14s !important;
  transition-timing-function: ease-out !important;
}
button:active, [role="button"]:active { transform: translateY(0) scale(.995); }
input, select, textarea {
  font-size: 16px !important;
  min-width: 0 !important;
  outline: none !important;
}
input:focus, select:focus, textarea:focus, button:focus-visible, a:focus-visible {
  box-shadow: 0 0 0 3px rgba(53,94,71,.16) !important;
}
.ns-card, .rounded-2xl, .rounded-3xl, [data-radix-popper-content-wrapper] {
  transform: translateZ(0);
  backface-visibility: hidden;
}
/* Keep admin journal rows stable and readable. */
[data-testid^="jurnal-row-"] {
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr) auto !important;
  align-items: start !important;
  gap: 12px !important;
  background: #fff !important;
  contain: layout paint;
}
[data-testid^="jurnal-row-"] > div { min-width: 0 !important; }
[data-testid^="jurnal-row-"] .ns-chip {
  white-space: nowrap !important;
  line-height: 1.25 !important;
}
[data-testid^="jurnal-view-"],
[data-testid^="jurnal-approve-"],
[data-testid^="jurnal-revise-"],
[data-testid^="jurnal-reject-"],
[data-testid^="jurnal-edit-"],
[data-testid^="jurnal-delete-"] {
  min-width: 38px !important;
  min-height: 38px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
[data-testid="jurnal-detail-modal"] .grid,
[data-testid="jurnal-modal"] .grid { min-width: 0 !important; }
[data-testid="jurnal-detail-modal"] .whitespace-pre-wrap,
[data-testid="jurnal-modal"] textarea,
[data-testid="jurnal-modal"] input,
[data-testid="jurnal-modal"] select {
  overflow-wrap: anywhere !important;
}
/* Signature: no page shift while drawing; smoother stroke rendering. */
canvas[data-testid="signature-canvas"], .ns-signature-canvas {
  touch-action: none !important;
  -ms-touch-action: none !important;
  cursor: crosshair;
  user-select: none !important;
  -webkit-user-select: none !important;
  width: 100% !important;
  display: block !important;
  image-rendering: auto;
}
body.ns-signature-drawing {
  overscroll-behavior: none !important;
}
body.ns-signature-drawing main,
body.ns-signature-drawing #root {
  touch-action: none !important;
}
/* Pengaturan: avoid jumping between tab panels. */
#ns-daily-picket-settings-panel,
#ns-maintenance-safe-v22,
#ns-settings-clean-panel {
  isolation: isolate;
  contain: layout paint;
}
#ns-daily-picket-settings-panel input,
#ns-daily-picket-settings-panel select,
#ns-daily-picket-settings-panel textarea {
  min-height: 40px;
}
@media (max-width: 767px) {
  main { padding-left: 12px !important; padding-right: 12px !important; }
  [data-testid^="jurnal-row-"] {
    grid-template-columns: 38px minmax(0, 1fr) !important;
    grid-template-areas: "icon body" "actions actions" !important;
    padding: 14px !important;
    border-radius: 20px !important;
  }
  [data-testid^="jurnal-row-"] > div:first-child { grid-area: icon; }
  [data-testid^="jurnal-row-"] > div:nth-child(2) { grid-area: body; }
  [data-testid^="jurnal-row-"] > div:last-child {
    grid-area: actions;
    justify-content: flex-start !important;
    width: 100% !important;
    padding-top: 8px !important;
    border-top: 1px dashed #e5e7eb;
  }
  [data-testid^="jurnal-row-"] > div:last-child button {
    flex: 1 1 42px !important;
  }
  table th, table td { white-space: normal !important; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
}
