:root {
  --pi-sidebar-width: 15rem;
  --pi-sidebar-bg: #f8fafc;
  --pi-sidebar-color: #182433;
  --pi-sidebar-muted: #627386;
  --pi-sidebar-hover: rgba(24, 36, 51, 0.08);
  --pi-sidebar-active: rgba(24, 36, 51, 0.14);
  --pi-sidebar-border: rgba(98, 105, 118, 0.18);
}

html[data-pi-theme='light'] {
  --pi-sidebar-bg: #f8fafc;
  --pi-sidebar-color: #182433;
  --pi-sidebar-muted: #627386;
  --pi-sidebar-hover: rgba(24, 36, 51, 0.08);
  --pi-sidebar-active: rgba(24, 36, 51, 0.14);
  --pi-sidebar-border: rgba(98, 105, 118, 0.18);
}

html[data-pi-theme='dark'] {
  --pi-sidebar-bg: #182433;
  --pi-sidebar-color: #f8fafc;
  --pi-sidebar-muted: rgba(248, 250, 252, 0.7);
  --pi-sidebar-hover: rgba(255, 255, 255, 0.08);
  --pi-sidebar-active: rgba(255, 255, 255, 0.14);
  --pi-sidebar-border: rgba(255, 255, 255, 0.1);
}

html[data-pi-theme='gray'] {
  --pi-sidebar-bg: #6b7280;
  --pi-sidebar-color: #f9fafb;
  --pi-sidebar-muted: rgba(249, 250, 251, 0.78);
  --pi-sidebar-hover: rgba(255, 255, 255, 0.09);
  --pi-sidebar-active: rgba(255, 255, 255, 0.18);
  --pi-sidebar-border: rgba(255, 255, 255, 0.12);
}


.pi-sidebar {
  background: var(--pi-sidebar-bg) !important;
  border-right: 1px solid var(--pi-sidebar-border);
}

.pi-sidebar .navbar-brand,
.pi-sidebar .navbar-brand a,
.pi-sidebar .nav-link,
.pi-sidebar .nav-link-title,
.pi-sidebar .nav-link-icon,
.pi-sidebar .navbar-toggler {
  color: var(--pi-sidebar-color) !important;
}

.pi-sidebar .text-white {
  color: var(--pi-sidebar-color) !important;
}

.pi-sidebar .navbar-brand .fs-2 {
  color: var(--pi-sidebar-color) !important;
}

.pi-sidebar .nav-link:hover,
.pi-sidebar .nav-link:focus {
  background: var(--pi-sidebar-hover);
}

.pi-sidebar .nav-link.active,
.pi-sidebar .nav-item.active > .nav-link {
  background: var(--pi-sidebar-active);
}

.pi-sidebar .navbar-nav .nav-link {
  border-radius: 0.75rem;
}

.pi-sidebar .navbar-nav .nav-link .nav-link-title,
.pi-sidebar .navbar-nav .nav-link .nav-link-icon {
  color: inherit !important;
}


.pi-sidebar .navbar-nav {
  gap: .25rem;
}

.pi-nav-group-label {
  padding: 1rem .75rem .25rem;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .08em;
  color: var(--pi-sidebar-muted);
  text-transform: uppercase;
  pointer-events: none;
}

.pi-sidebar .navbar-nav .nav-link {
  display: flex;
  align-items: center;
  gap: .75rem;
  border-radius: .85rem;
  padding: .75rem .85rem;
  margin: 0 .5rem;
  font-weight: 600;
}

.pi-sidebar .nav-link-icon {
  width: 1.25rem;
  text-align: center;
  font-size: 1.05rem;
}

.pi-sidebar .nav-link-title {
  flex: 1 1 auto;
}

.pi-sidebar-badge {
  min-width: 1.4rem;
  height: 1.4rem;
  padding: 0 .35rem;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #f97316;
  color: #fff;
  font-size: .72rem;
  font-weight: 700;
}

.pi-sidebar .nav-item.active > .nav-link,
.pi-sidebar .nav-link.active {
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.04);
}

.pi-sidebar .navbar-toggler {
  border-color: var(--pi-sidebar-border);
}

.pi-sidebar .navbar-toggler-icon {
  filter: none;
}

html[data-pi-theme='dark'] .pi-sidebar .navbar-toggler-icon,
html[data-pi-theme='gray'] .pi-sidebar .navbar-toggler-icon {
  filter: invert(1) grayscale(1);
}


.card-stat {
  min-height: 220px;
}

.card-stat .card-body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
}

.card-stat .subheader {
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: .02em;
  text-align: center;
  margin-bottom: .75rem;
}

.card-stat .h1,
.card-stat [data-stat] {
  font-size: clamp(2.7rem, 3.8vw, 4rem);
  line-height: 1.05;
  font-weight: 800;
  text-align: center;
}

.card-stat .stat-icon {
  font-size: 2rem;
  color: var(--tblr-secondary);
  margin: 0 auto .5rem;
}

.card-stat .stat-meta {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  justify-content: center;
}

.card-stat .stat-meta-item {
  min-width: 72px;
  padding: .4rem .55rem;
  border: 1px solid var(--tblr-border-color, rgba(98,105,118,.2));
  border-radius: .75rem;
  background: rgba(0, 0, 0, 0.02);
  text-align: center;
}

html[data-bs-theme='dark'] .card-stat .stat-meta-item {
  background: rgba(255,255,255,.04);
}

.card-stat .stat-meta-label {
  display: block;
  font-size: .72rem;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--tblr-secondary);
}

.card-stat .stat-meta-value {
  display: block;
  font-size: 1.22rem;
  font-weight: 800;
  line-height: 1.1;
}

.inspection-grid .table td,
.inspection-grid .table th {
  vertical-align: middle;
}

.badge-status {
  min-width: 90px;
}

[data-engine-scope] {
  transition: opacity 0.2s ease;
}

.table th,
.table td {
  white-space: normal;
  word-break: break-word;
}

.table td input,
.table td select,
.table td textarea {
  min-width: 120px;
}

.pi-check {
  width: 1.15rem;
  height: 1.15rem;
}

.attachment-row {
  padding: 0.5rem;
  border: 1px dashed rgba(98, 105, 118, 0.2);
  border-radius: 0.75rem;
}

.equal-height-row > [class*='col-'] {
  display: flex;
}

.equal-height-row .card {
  width: 100%;
}

.engine-form-info {
  text-align: left;
}

#engineForm .form-label {
  display: block;
  text-align: left;
}

.print-block {
  break-inside: auto;
  page-break-inside: auto;
}

.print-two-column {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  align-items: start;
}

.print-column {
  min-width: 0;
}

.print-document {
  font-family: Arial, Helvetica, sans-serif;
  color: #111;
  font-size: 12px;
}

.print-document .logo-wrap {
  text-align: center;
  margin-bottom: .5rem;
}

.print-document .logo-wrap img {
  max-height: 56px;
  width: auto;
}

.print-title {
  margin-bottom: .75rem;
}

.print-table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: .75rem;
  table-layout: fixed;
}

.print-table th,
.print-table td {
  border: 1px solid #111;
  padding: 5px 7px;
  font-size: 11px;
  vertical-align: top;
  white-space: normal;
}

.print-table .section-head,
.print-kv-table .section-head {
  background: #e9ecef;
  font-weight: 700;
  text-transform: uppercase;
  text-align: center;
}

.print-kv-table th.label-cell {
  width: 36%;
  font-weight: 700;
  background: #f7f7f7;
}

.print-table thead {
  display: table-header-group;
}

.print-table tbody {
  break-inside: auto;
  page-break-inside: auto;
}

.print-table tr,
.print-table td,
.print-table th {
  break-inside: auto;
  page-break-inside: auto;
}

.header-table td {
  height: 42px;
}

.signatures-table td {
  vertical-align: bottom;
}

.v-top {
  vertical-align: top;
}

.float-end {
  float: right;
}

.print-table .status-col,
.print-table td.status-col {
  width: 30px;
  text-align: center;
  vertical-align: middle;
  padding-left: 0;
  padding-right: 0;
}

.print-table td.status-col mark,
.print-table td.status-col span,
.print-table td.status-col strong {
  display: inline-block;
  min-width: 12px;
}

.print-attachments-page {
  page-break-before: always;
  break-before: page;
  max-width: 100%;
  overflow: hidden;
  box-sizing: border-box;
}

.print-attachment-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.print-attachment-item {
  border: 1px solid #111;
  padding: 8px;
  break-inside: avoid;
}

.print-attachment-item img {
  display: block;
  width: 100%;
  max-height: 260px;
  object-fit: contain;
  margin: 0 auto 6px;
}

.print-attachment-caption {
  font-size: 11px;
  text-align: center;
}

.page-break-before {
  page-break-before: always;
}

.brand-logo-sm {
  max-height: 34px;
  width: auto;
  margin-right: .5rem;
}

.settings-logo-preview,
.sidebar-logo-preview {
  max-height: 56px;
  width: auto;
}

.settings-favicon-preview {
  width: 32px;
  height: 32px;
  object-fit: contain;
}

.notification-dot {
  min-width: 1.25rem;
}

@media (max-width: 991.98px) {
  .table-responsive-mobile {
    overflow-x: auto;
  }

  .navbar-brand .fs-2 {
    font-size: 1.25rem !important;
  }

  .print-two-column,
  .print-attachment-grid {
    grid-template-columns: 1fr;
  }
}

@media print {
  @page {
    size: A4 portrait;
    margin: 10mm 9mm 10mm 9mm;
  }

  .navbar,
  .navbar-vertical,
  .no-print,
  .btn,
  button,
  .dropdown,
  .theme-toggle,
  .alert {
    display: none !important;
  }

  html,
  body {
    background: #fff !important;
  }

  .page,
  .page-wrapper,
  .page-body,
  .container-xl {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    max-width: none !important;
  }

  .card {
    border: 0 !important;
    box-shadow: none !important;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .card-header,
  .card-body {
    padding: 0 !important;
    border: 0 !important;
  }

  .print-document .card,
  .print-document .table,
  .print-document .table-responsive {
    border: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  .print-document,
  .print-block,
  .print-two-column,
  .print-table,
  .print-kv-table,
  .section-table,
  .header-table,
  .splittable-table,
  .checkbox-matrix-table {
    break-inside: auto;
    page-break-inside: auto;
  }

  .signatures-table {
    break-inside: avoid-page;
    page-break-inside: avoid;
  }

  .print-attachments-page {
    /* Hanya pisahkan halaman jika ada konten sebelumnya */
    break-before: page;
    page-break-before: always;
    max-width: 100%;
    overflow: hidden;
    box-sizing: border-box;
  }

  .print-attachment-item {
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .pdf-lampiran-header {
    display: none !important;
  }

  /* Pastikan semua tabel dan grid tidak overflow */
  .print-preview-standalone table,
  .print-preview-standalone .print-table,
  .print-preview-standalone .header-table,
  .print-preview-standalone .print-letterhead-table {
    max-width: 100% !important;
    table-layout: fixed !important;
    overflow: hidden !important;
  }

  /* Sel tabel tidak boleh overflow */
  .print-preview-standalone td,
  .print-preview-standalone th {
    overflow: hidden !important;
    word-break: break-word !important;
  }
}


.data-top-grid {
  grid-template-columns: minmax(0, 0.96fr) minmax(0, 1.04fr);
  column-gap: 14px;
}

.print-document {
  font-size: 11.4px;
}

.print-document .fs-2 {
  font-size: 1.58rem !important;
  letter-spacing: .01em;
}

.compact-table th,
.compact-table td {
  padding: 4px 6px;
}

.header-table th,
.header-table td {
  height: 28px;
  vertical-align: middle;
}

.header-table th {
  background: #f7f7f7;
  font-weight: 700;
  text-align: left;
}

.head-red {
  background: #c40000 !important;
  color: #fff !important;
}

.head-blue {
  background: #d9e7f5 !important;
  color: #111 !important;
}

.head-neutral {
  background: #efefef !important;
  color: #111 !important;
}

.print-kv-table .label-cell {
  width: 42%;
  background: #fafafa;
}

.print-kv-table td,
.print-kv-table th {
  vertical-align: middle;
}

.print-table .subsection-row {
  background: #f5f5f5;
  font-weight: 700;
}

.print-table .remarks-col {
  width: 15.75%;
}

.print-table .job-col {
  width: 74.5%;
}

.print-table th.remarks-col,
.print-table th.status-col,
.print-table td.status-col {
  white-space: nowrap;
}

.print-table th.remarks-col {
  font-size: 8.2px;
  letter-spacing: 0;
  text-align: center;
}

.print-table th.status-col {
  font-size: 7.8px;
  letter-spacing: 0;
  text-align: center;
}

.print-table .status-col,
.print-table td.status-col {
  width: 3.25%;
  min-width: 22px;
  max-width: 22px;
  padding-left: 0;
  padding-right: 0;
}

.print-mark {
  font-size: 8px;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 9px;
  height: 9px;
  border: 1px solid #111;
  border-radius: 1px;
  font-weight: 700;
}

.remarks-head-text {
  display: inline-block;
  white-space: nowrap;
  font-size: 8px;
  line-height: 1.1;
}

.pmk-status-table th,
.pmk-status-table td,
.pmk-diesel-table th,
.pmk-diesel-table td {
  padding-left: 5px;
  padding-right: 5px;
}

.pmk-status-table .remarks-col,
.pmk-diesel-table .remarks-col {
  overflow-wrap: break-word;
}

.checkbox-matrix-table .check-col {
  width: 3.9%;
}

.checkbox-matrix-table .text-col {
  width: 45.25%;
}

.checkbox-matrix-table th,
.checkbox-matrix-table td {
  vertical-align: middle;
}

.checkbox-matrix-table .checkbox-cell {
  text-align: center;
  font-size: 12px;
  font-weight: 700;
  padding-left: 0;
  padding-right: 0;
}

.note-box th {
  background: #fff;
  font-weight: 700;
}

.comment-box {
  margin-top: 2px;
}

.test-report-meta {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 2px 0 6px;
  padding-left: 2px;
  font-weight: 700;
}

.test-report-meta .meta-label {
  min-width: 72px;
}

.prd-print .test-report-meta .meta-label {
  min-width: 110px;
}

.test-report-meta .meta-value {
  display: inline-block;
  min-width: 140px;
  border-bottom: 1px solid #555;
  min-height: 14px;
}

.test-report-table th,
.test-report-table td {
  text-align: center;
  vertical-align: middle;
}

.test-report-table td:last-child,
.test-report-table th:last-child {
  text-align: center;
}

.signatures-table td {
  vertical-align: bottom;
  padding-top: 8px;
  padding-bottom: 8px;
}

.sign-company {
  font-size: 11.8px;
  font-weight: 700;
  line-height: 1.35;
}

.sign-space {
  height: 118px;
}

.sign-name {
  font-size: 11.8px;
  font-weight: 700;
}

.sign-line {
  display: inline-block;
  width: 120px;
  border-top: 1px solid #666;
  margin-bottom: 6px;
}

.attachment-title {
  margin-bottom: 1rem;
}

.print-attachments-page {
  page-break-before: always;
  break-before: page;
  max-width: 100%;
  overflow: hidden;
  box-sizing: border-box;
}

.print-attachment-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 16px;
}

.print-attachment-item {
  padding: 0;
  border: 1px solid #111;
}

.attachment-box-title {
  border-bottom: 1px solid #111;
  padding: 4px 8px;
  font-weight: 700;
}

.print-attachment-item img {
  max-height: 250px;
  padding: 8px;
  margin: 0 auto;
}

.print-attachment-caption {
  border-top: 1px solid #111;
  padding: 5px 8px;
  text-align: left;
}

.splittable-table,
.checkbox-matrix-table {
  page-break-inside: auto;
  break-inside: auto;
}

.splittable-table tr,
.checkbox-matrix-table tr {
  page-break-inside: auto;
  break-inside: auto;
}

/* ── PDF lampiran inline (canvas, menggantikan iframe) ── */

/* Wrapper tiap lampiran PDF – tampil langsung setelah form, tanpa page-break paksa */
.pdf-lampiran-section {
  width: 100%;
  box-sizing: border-box;
  margin-top: 10px;
}

.pdf-lampiran-header {
  margin-bottom: 6px;
}

.pdf-lampiran-title {
  font-size: 13pt;
  font-weight: 700;
  text-align: center;
  margin-bottom: 3px;
  text-transform: uppercase;
}

.pdf-lampiran-meta {
  font-size: 9.5pt;
  color: #444;
  padding: 3px 8px;
  border: 1px solid #ccc;
  background: #f7f7f7;
  border-radius: 2px;
}

/* Canvas container: border ringan, lebar penuh */
.pdf-canvas-container {
  width: 100%;
  box-sizing: border-box;
  background: #fff;
  border: 1px solid #bbb;
}

/* Setiap halaman PDF = satu canvas element, lebar 100% */
.pdf-canvas-page {
  display: block;
  width: 100% !important;
  height: auto !important;
  box-sizing: border-box;
  margin-bottom: 0;
}

.pdf-canvas-page + .pdf-canvas-page {
  border-top: 1px solid #ddd;
}

.pdf-canvas-loading {
  padding: 24px;
  text-align: center;
  color: #666;
  font-size: 10pt;
}

.pdf-canvas-error {
  padding: 12px;
  border: 1px solid #c00;
  color: #c00;
  font-size: 9.5pt;
}

.pdf-embed-subtitle {
  font-size: 11pt;
  color: #444;
  margin-top: 4px;
  margin-bottom: 6px;
}

.pdf-embed-fallback {
  font-size: 9pt;
  color: #666;
  margin-top: 4px;
  text-align: center;
}

.pdf-embed-fallback a {
  color: #555;
  word-break: break-all;
}

@media print {
  @page {
    size: A4 portrait;
    margin: 10mm 9mm 10mm 9mm;
  }

  .print-document {
    font-size: 11.2px;
  }

  .print-table {
    margin-bottom: .58rem;
  }

  .print-document .fs-2 {
    font-size: 1.55rem !important;
  }

  /* PDF lampiran: ikut flow halaman, tidak paksa page-break */
  .pdf-lampiran-section {
    width: 100% !important;
    box-sizing: border-box !important;
    page-break-before: auto;
    break-before: auto;
  }

  .pdf-canvas-container {
    width: 100% !important;
    box-sizing: border-box !important;
    border: none !important;
  }

  /* Canvas PDF dicetak penuh lebar, tanpa border */
  .pdf-canvas-page {
    width: 100% !important;
    height: auto !important;
    display: block !important;
    border: none !important;
    page-break-inside: avoid;
    break-inside: avoid;
  }

  .pdf-canvas-loading,
  .pdf-embed-fallback {
    display: none !important;
  }

  /* Fix overflow pada container print */
  .print-preview-standalone {
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  .print-preview-standalone .print-letterhead-table {
    width: 100% !important;
    max-width: 100% !important;
    table-layout: fixed !important;
    overflow: hidden !important;
  }

  .print-preview-standalone .print-letterhead-table td {
    overflow: hidden !important;
    max-width: 0;
  }
}


.container-fluid.px-3.px-xl-4 {
  max-width: 1600px;
}

body.pi-sidebar-collapsed .pi-sidebar {
  width: 0 !important;
  min-width: 0 !important;
  flex-basis: 0 !important;
  overflow: hidden;
  border-right: 0;
}

body.pi-sidebar-collapsed .page-wrapper {
  width: 100vw;
}

body.pi-sidebar-collapsed .pi-sidebar .nav-link-title,
body.pi-sidebar-collapsed .pi-sidebar .navbar-brand span,
body.pi-sidebar-collapsed .pi-sidebar .text-secondary,
body.pi-sidebar-collapsed .pi-sidebar .sidebar-logo-preview {
  display: none !important;
}

body.pi-sidebar-collapsed .pi-sidebar .nav-link {
  justify-content: center;
}

body.pi-sidebar-collapsed .pi-sidebar .nav-link-icon {
  margin-right: 0 !important;
}

body.pi-sidebar-collapsed .pi-sidebar .navbar-brand {
  justify-content: center;
}

.attachment-thumb {
  width: 84px;
  height: 84px;
  object-fit: cover;
  border-radius: .5rem;
  border: 1px solid var(--tblr-border-color, rgba(98,105,118,.2));
  cursor: zoom-in;
  background: #fff;
}

.pi-lightbox[hidden] {
  display: none !important;
}

.pi-lightbox {
  position: fixed;
  inset: 0;
  z-index: 2000;
}

.pi-lightbox-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, .82);
}

.pi-lightbox-figure {
  position: relative;
  z-index: 1;
  margin: 3vh auto;
  width: min(92vw, 1100px);
  max-height: 94vh;
  background: #fff;
  border-radius: 1rem;
  padding: 1rem 1rem .75rem;
  box-shadow: 0 30px 80px rgba(0,0,0,.35);
}

.pi-lightbox-figure img {
  display: block;
  width: 100%;
  max-height: 80vh;
  object-fit: contain;
  margin: 0 auto;
}

.pi-lightbox-figure figcaption {
  margin-top: .75rem;
  font-weight: 600;
  text-align: center;
  color: #111827;
}

.pi-lightbox-close {
  position: absolute;
  top: 1rem;
  right: 1rem;
  z-index: 2;
  width: 2.5rem;
  height: 2.5rem;
  border: 0;
  border-radius: 999px;
  background: rgba(255,255,255,.96);
  color: #111827;
}

.pi-lightbox-open {
  overflow: hidden;
}

.print-preview-surface {
  background: #fff;
  color: #111;
  border-radius: 1rem;
  padding: 1rem;
  box-shadow: 0 8px 30px rgba(15, 23, 42, .12);
}

html[data-bs-theme='dark'] .print-preview-surface,
html[data-pi-theme='gray'] .print-preview-surface {
  background: #fff;
  color: #111;
}

@media (max-width: 991.98px) {
  body.pi-sidebar-collapsed .pi-sidebar {
    width: auto;
    min-width: 0;
  }
}


.login-logo {
  max-height: 86px;
  width: auto;
}

.page {
  display: flex;
  min-height: 100vh;
}

.pi-sidebar {
  width: var(--pi-sidebar-width);
  min-width: var(--pi-sidebar-width);
  overflow: hidden;
  transition: width .2s ease, min-width .2s ease, opacity .2s ease, border-color .2s ease;
}

.page-wrapper {
  min-width: 0;
  width: calc(100% - var(--pi-sidebar-width));
  flex: 1 1 auto;
  transition: width .2s ease;
}

.page-body > .container-fluid,
.container-fluid.px-3.px-xl-4 {
  max-width: none !important;
  width: 100%;
}

body.pi-sidebar-collapsed .pi-sidebar {
  display: none;
  width: 0;
  min-width: 0;
  opacity: 0;
  border-right-width: 0;
}

body.pi-sidebar-collapsed .page-wrapper {
  width: 100%;
  max-width: 100%;
  flex-basis: 100%;
}

.print-preview-surface {
  padding: 1rem 1.25rem;
  max-width: 210mm;
  margin: 0 auto;
}


.print-document {
  margin: 0 auto;
}

.print-table .remarks-col {
  width: 10%;
}

.print-table .job-col {
  width: auto;
}

.print-table .status-col,
.print-table td.status-col {
  width: 18px;
  min-width: 18px;
  max-width: 18px;
  text-align: center;
  padding-left: 0;
  padding-right: 0;
}

.print-table th.status-col {
  font-size: 8.6px;
  letter-spacing: 0;
}

.print-mark {
  width: 10px;
  height: 10px;
  font-size: 8px;
}

.pmk-status-table td:first-child,
.pmk-status-table th:first-child {
  white-space: nowrap;
}

.print-table td,
.print-table th,
.print-kv-table td,
.print-kv-table th {
  line-height: 1.2;
}

.print-table td:first-child,
.print-table th:first-child {
  padding-left: 6px;
  padding-right: 4px;
}

@media (max-width: 991.98px) {
  .page-wrapper {
    width: 100%;
  }

  body.pi-sidebar-collapsed .pi-sidebar {
    display: none;
    width: auto;
    min-width: 0;
    opacity: 1;
    border-right-width: 1px;
  }
}

/* v5.7 print/layout tuning */
.print-table th.status-col,
.print-table td.status-col {
  width: 17px !important;
  min-width: 17px !important;
  max-width: 17px !important;
  text-align: center;
  white-space: nowrap;
}

.print-table th.remarks-col,
.print-table td.remarks-col {
  width: 12.5% !important;
  white-space: nowrap;
}

.print-table th.remarks-col {
  font-size: 8.6px;
  letter-spacing: 0;
}

.pmk-status-table td:first-child,
.pmk-status-table th:first-child {
  white-space: nowrap;
}

@media print {
  .print-preview-surface {
    padding: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    max-width: none !important;
  }
}


/* v5.8 access/layout/print tuning */
.page { width: 100%; }
.page-wrapper { width: auto !important; max-width: none !important; flex: 1 1 auto; }
body.pi-sidebar-collapsed .page { display: block; width: 100%; }
body.pi-sidebar-collapsed .page-wrapper { display: block; width: 100% !important; max-width: 100% !important; margin-left: 0 !important; }
body.pi-sidebar-collapsed .page-body > .container-fluid,
body.pi-sidebar-collapsed .container-fluid.px-3.px-xl-4 { max-width: none !important; width: 100% !important; }

.print-preview-surface {
  width: 208mm;
  max-width: 208mm;
  margin: 0 auto;
  padding: 10mm 9mm 10mm;
  box-sizing: border-box;
}

.pmk-diesel-table th.status-col,
.pmk-diesel-table td.status-col {
  width: 3% !important;
  min-width: 3% !important;
  max-width: 3% !important;
  padding: 0 !important;
  text-align: center;
}

.pmk-diesel-table th.remarks-col,
.pmk-diesel-table td.remarks-col {
  width: 12% !important;
  min-width: 12% !important;
  max-width: 12% !important;
}

.pmk-diesel-table th.remarks-head {
  font-size: 8px !important;
  white-space: nowrap !important;
  letter-spacing: 0 !important;
}

.pmk-diesel-table td:first-child,
.pmk-diesel-table th:first-child {
  white-space: nowrap !important;
  font-size: 10.4px;
}

.pmk-diesel-table .subsection-row {
  background: #fff !important;
  font-weight: 700;
}

.pmk-diesel-table .print-mark {
  width: 10px;
  height: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #111;
  font-size: 8px;
  line-height: 1;
}

.pmk-diesel-table tbody td {
  line-height: 1.15;
  padding-top: 4px;
  padding-bottom: 4px;
}

.pmk-matrix-table .print-mark {
  width: 11px;
  height: 11px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #111;
  font-size: 8px;
  line-height: 1;
}

@media print {
  .print-preview-surface,
  .print-preview-standalone {
    width: 190mm !important;
    max-width: 190mm !important;
    padding: 10mm 9mm 10mm !important;
    margin: 0 auto !important;
    box-shadow: none !important;
    border-radius: 0 !important;
  }
}

/* v5.8.3 targeted fixes */
.print-table th.remarks-col,
.print-table td.remarks-col,
.pmk-diesel-table th.remarks-col,
.pmk-diesel-table td.remarks-col {
  width: 17% !important;
  min-width: 17% !important;
  max-width: 17% !important;
}

.print-table .job-col {
  width: 74% !important;
}

.print-table th.remarks-head,
.pmk-diesel-table th.remarks-head {
  white-space: normal !important;
  overflow-wrap: anywhere;
  word-break: break-word;
  line-height: 1.12;
  font-size: 7.4px !important;
  padding: 3px 4px !important;
  text-align: center;
}

.print-table th.status-col,
.print-table td.status-col,
.pmk-diesel-table th.status-col,
.pmk-diesel-table td.status-col {
  min-width: 16px !important;
  max-width: 16px !important;
}

.print-table td.remarks-col,
.pmk-diesel-table td.remarks-col {
  white-space: normal !important;
  word-break: break-word;
  overflow-wrap: anywhere;
}

/* v5.9 print parity + pdf fallback tuning */
.print-two-column.data-top-grid {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  column-gap: 14px;
}

.print-kv-table {
  table-layout: fixed;
}

.pmk-status-table,
.pmk-diesel-table {
  table-layout: fixed;
}

.pmk-status-table col.job-col,
.pmk-diesel-table col:first-child {
  width: 71% !important;
}

.pmk-status-table col.status-col,
.pmk-diesel-table col.status-col {
  width: 4% !important;
}

.pmk-status-table col.remarks-col,
.pmk-diesel-table col.remarks-col,
.pmk-status-table td.remarks-col,
.pmk-status-table th.remarks-col,
.pmk-diesel-table td.remarks-col,
.pmk-diesel-table th.remarks-col {
  width: 17% !important;
  min-width: 17% !important;
  max-width: 17% !important;
}

.pmk-status-table td:first-child,
.pmk-status-table th:first-child,
.pmk-diesel-table td:first-child,
.pmk-diesel-table th:first-child {
  white-space: normal !important;
  word-break: normal;
  overflow-wrap: break-word;
}

.print-table th.status-col,
.print-table td.status-col,
.pmk-diesel-table th.status-col,
.pmk-diesel-table td.status-col {
  min-width: 0 !important;
  max-width: none !important;
  width: 4% !important;
  padding: 2px 0 !important;
  font-size: 8px !important;
}

.print-table th.remarks-head,
.pmk-diesel-table th.remarks-head {
  white-space: nowrap !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  font-size: 7px !important;
  letter-spacing: -.01em;
  padding: 3px 2px !important;
}

.prd-layout-table {
  table-layout: fixed;
}

.prd-layout-table th,
.prd-layout-table td {
  vertical-align: middle;
}

.prd-layout-table td:first-child,
.prd-layout-table th:first-child {
  width: 54%;
}

.prd-layout-table td:last-child,
.prd-layout-table th:last-child {
  width: 36%;
}

.prd-remark-cell {
  padding: 4px 6px !important;
}

.prd-status-wrap {
  display: flex;
  align-items: flex-start;
  gap: 4px;
  min-height: 18px;
  white-space: normal;
}

.prd-status-wrap-stack {
  flex-direction: column;
}

.prd-status-option {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 10px;
  line-height: 1.15;
}

.prd-status-option .print-mark {
  flex: 0 0 auto;
}

.prd-remarks-text {
  display: block;
  width: 100%;
  min-width: 0;
  white-space: normal;
  overflow-wrap: anywhere;
  margin-top: 3px;
  font-size: 9.5px;
}

.print-preview-surface,
.print-preview-standalone {
  width: 210mm !important;
  max-width: 210mm !important;
  margin: 0 auto !important;
  padding: 10mm 9mm !important;
  box-sizing: border-box;
  background: #fff;
  color: #111;
}

@media print {
  @page {
    size: A4 portrait;
    margin: 10mm 9mm 10mm 9mm;
  }

  .print-preview-surface,
  .print-preview-standalone {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }
}

/* v5.11 stability + print tuning */
#liveStats { display: none !important; }
.page { display: flex !important; width: 100%; min-height: 100vh; align-items: stretch; }
.page-wrapper { flex: 1 1 auto !important; width: auto !important; max-width: none !important; min-width: 0 !important; position: relative; }
.pi-sidebar { flex: 0 0 var(--pi-sidebar-width); position: relative; z-index: 2; }
body.pi-sidebar-collapsed .page { display: flex !important; width: 100% !important; }
body.pi-sidebar-collapsed .pi-sidebar { display: none !important; width: 0 !important; min-width: 0 !important; flex: 0 0 0 !important; opacity: 0 !important; overflow: hidden !important; border-right: 0 !important; }
body.pi-sidebar-collapsed .page-wrapper { flex: 1 1 100% !important; width: 100% !important; max-width: 100% !important; margin: 0 !important; }
body.pi-sidebar-collapsed .container-fluid,
body.pi-sidebar-collapsed .page-body > .container-fluid,
body.pi-sidebar-collapsed .container-fluid.px-3.px-xl-4 { width: 100% !important; max-width: none !important; }
.pi-lightbox[hidden] { display: none !important; pointer-events: none !important; }
.pi-lightbox { pointer-events: auto; }

/* PMK table sizing */
.pmk-diesel-table,
.pmk-status-table { table-layout: fixed; }
.pmk-diesel-table .job-col,
.pmk-status-table .job-col { width: 76.5% !important; }
.pmk-diesel-table th.status-col,
.pmk-diesel-table td.status-col,
.pmk-status-table th.status-col,
.pmk-status-table td.status-col {
  width: 3.2% !important;
  min-width: 3.2% !important;
  max-width: 3.2% !important;
  padding: 0 !important;
  text-align: center !important;
}
.pmk-diesel-table th.remarks-col,
.pmk-diesel-table td.remarks-col,
.pmk-status-table th.remarks-col,
.pmk-status-table td.remarks-col {
  width: 13.9% !important;
  min-width: 13.9% !important;
  max-width: 13.9% !important;
}
.pmk-diesel-table th.remarks-head,
.pmk-status-table th.remarks-head {
  white-space: normal !important;
  word-break: break-word !important;
  overflow-wrap: anywhere !important;
  font-size: 7.2px !important;
  line-height: 1.08 !important;
  padding: 3px 3px !important;
  text-align: center !important;
}
.pmk-diesel-table td:first-child,
.pmk-status-table td:first-child,
.pmk-diesel-table th:first-child,
.pmk-status-table th:first-child {
  white-space: nowrap !important;
  font-size: 10px !important;
}

/* PRD print layout */
.prd-layout-table { table-layout: fixed !important; }
.prd-layout-table col:first-child { width: 74% !important; }
.prd-layout-table col:last-child { width: 26% !important; }
.prd-layout-table .remarks-head { font-size: 8px !important; text-align: center !important; white-space: nowrap !important; }
.prd-remark-cell { padding: 4px 5px !important; }
.prd-status-wrap { display: flex !important; flex-direction: column !important; gap: 3px !important; align-items: flex-start !important; }
.prd-status-option { display: inline-flex !important; align-items: center !important; gap: 4px !important; font-size: 9px !important; line-height: 1.1 !important; white-space: nowrap !important; }
.prd-status-option .print-mark { width: 10px !important; height: 10px !important; font-size: 8px !important; }
.attachment-links-table td, .attachment-links-table th { word-break: break-word; overflow-wrap: anywhere; }

.print-attachment-caption a,
.attachment-links-table a { color: #111; text-decoration: underline; }

@media print {
  @page { size: A4 portrait; margin: 12mm 10mm 12mm 10mm !important; }
  html, body { background: #fff !important; }
  .print-preview-surface, .print-preview-standalone { width: 190mm !important; max-width: 190mm !important; margin: 0 auto !important; padding: 0 !important; }
}

/* v5.12 status radio + print parity tuning */
.status-radio-group {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem 0.9rem;
  align-items: center;
}

.status-radio-option {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.84rem;
  white-space: nowrap;
}

.status-radio-option .form-check-input {
  margin: 0;
}

/* Make inspection form columns usable with radio buttons */
.inspection-grid .card-table thead th:nth-child(2),
.inspection-grid .card-table tbody td:nth-child(2) {
  min-width: 210px;
}

/* PMK print columns closer to Word form */
.pmk-diesel-table col.job-col,
.pmk-status-table col.job-col,
.pmk-diesel-table td:first-child,
.pmk-status-table td:first-child,
.pmk-diesel-table th:first-child,
.pmk-status-table th:first-child {
  width: 79.8% !important;
}

.pmk-diesel-table col.status-col,
.pmk-status-table col.status-col,
.pmk-diesel-table th.status-col,
.pmk-diesel-table td.status-col,
.pmk-status-table th.status-col,
.pmk-status-table td.status-col {
  width: 2.8% !important;
  min-width: 2.8% !important;
  max-width: 2.8% !important;
  padding: 0 !important;
  text-align: center !important;
}

.pmk-diesel-table col.remarks-col,
.pmk-status-table col.remarks-col,
.pmk-diesel-table th.remarks-col,
.pmk-diesel-table td.remarks-col,
.pmk-status-table th.remarks-col,
.pmk-status-table td.remarks-col {
  width: 11.8% !important;
  min-width: 11.8% !important;
  max-width: 11.8% !important;
}

.pmk-diesel-table th.status-col,
.pmk-status-table th.status-col {
  font-size: 6.9px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
  vertical-align: middle !important;
}

.pmk-diesel-table th.remarks-head,
.pmk-status-table th.remarks-head {
  font-size: 6.5px !important;
  line-height: 1.05 !important;
  white-space: normal !important;
  word-break: keep-all !important;
  overflow-wrap: break-word !important;
  padding: 2px 2px !important;
}

.pmk-diesel-table td:first-child,
.pmk-status-table td:first-child,
.pmk-diesel-table th:first-child,
.pmk-status-table th:first-child {
  white-space: nowrap !important;
  font-size: 9.4px !important;
}

.pmk-diesel-table .print-mark,
.pmk-status-table .print-mark {
  width: 9px !important;
  height: 9px !important;
  font-size: 7px !important;
}

@media print {
  .pmk-diesel-table th.status-col,
  .pmk-status-table th.status-col {
    font-size: 6.7px !important;
  }

  .pmk-diesel-table th.remarks-head,
  .pmk-status-table th.remarks-head {
    font-size: 6.3px !important;
  }
}


/* v5.13 radio + utilities */
.status-radio-group {
  display: flex;
  flex-wrap: nowrap;
  gap: 1rem;
  align-items: center;
}

.status-radio-option {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 0.4rem;
  white-space: nowrap;
}

.status-radio-option .form-check-input[type="radio"] {
  width: 1rem;
  height: 1rem;
  margin: 0;
  border-radius: 999px !important;
  appearance: radio;
  -webkit-appearance: radio;
  accent-color: var(--tblr-primary, #206bc4);
}

.upload-folder-list .list-group-item code {
  font-size: .75rem;
}

.file-backup-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 1rem;
}

.file-mini {
  font-size: .8rem;
  color: var(--tblr-secondary);
}


/* v5.14 PMK/PRD print + task OFF option */
.pmk-diesel-table col.job-col,
.pmk-status-table col.job-col,
.pmk-diesel-table td:first-child,
.pmk-status-table td:first-child,
.pmk-diesel-table th:first-child,
.pmk-status-table th:first-child {
  width: 78.5% !important;
}

.pmk-diesel-table col.status-col,
.pmk-status-table col.status-col,
.pmk-diesel-table th.status-col,
.pmk-diesel-table td.status-col,
.pmk-status-table th.status-col,
.pmk-status-table td.status-col {
  width: 3% !important;
  min-width: 3% !important;
  max-width: 3% !important;
}

.pmk-diesel-table col.remarks-col,
.pmk-status-table col.remarks-col,
.pmk-diesel-table th.remarks-col,
.pmk-diesel-table td.remarks-col,
.pmk-status-table th.remarks-col,
.pmk-status-table td.remarks-col {
  width: 12.5% !important;
  min-width: 12.5% !important;
  max-width: 12.5% !important;
}

.remarks-head-text.remarks-head-pmk {
  display: inline-block !important;
  line-height: 1.05 !important;
  white-space: normal !important;
  word-break: keep-all !important;
  overflow-wrap: anywhere !important;
}

.pmk-diesel-table th.remarks-head,
.pmk-status-table th.remarks-head {
  font-size: 6px !important;
  padding: 2px 1px !important;
}

.prd-layout-table {
  table-layout: fixed !important;
}

.prd-layout-table col.job-col,
.prd-layout-table td:first-child,
.prd-layout-table th:first-child {
  width: 70% !important;
}

.prd-layout-table col.status-col,
.prd-layout-table th.status-col,
.prd-layout-table td.status-col {
  width: 8% !important;
  min-width: 8% !important;
  max-width: 8% !important;
  text-align: center !important;
  padding: 0 !important;
}

.prd-layout-table col.remarks-col,
.prd-layout-table th.remarks-head,
.prd-layout-table td.remarks-col {
  width: 12% !important;
}

.prd-layout-table th.status-col {
  font-size: 7px !important;
  white-space: nowrap !important;
}

.prd-layout-table th.remarks-head {
  font-size: 7px !important;
  line-height: 1.05 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

.prd-layout-table td.remarks-col {
  font-size: 8px !important;
  word-break: break-word !important;
  overflow-wrap: anywhere !important;
}


/* v5.15 print alignment to match uploaded forms */
.pmk-status-table,
.pmk-diesel-table {
  table-layout: fixed !important;
}

.pmk-diesel-table col.job-col,
.pmk-status-table col.job-col,
.pmk-diesel-table td:first-child,
.pmk-status-table td:first-child,
.pmk-diesel-table th:first-child,
.pmk-status-table th:first-child {
  width: 48% !important;
}

.pmk-diesel-table col.status-col,
.pmk-status-table col.status-col,
.pmk-diesel-table th.status-col,
.pmk-diesel-table td.status-col,
.pmk-status-table th.status-col,
.pmk-status-table td.status-col {
  width: 6.5% !important;
  min-width: 6.5% !important;
  max-width: 6.5% !important;
  text-align: center !important;
  vertical-align: middle !important;
  padding: 2px 1px !important;
}

.pmk-diesel-table col.remarks-col,
.pmk-status-table col.remarks-col,
.pmk-diesel-table th.remarks-col,
.pmk-diesel-table td.remarks-col,
.pmk-status-table th.remarks-col,
.pmk-status-table td.remarks-col {
  width: 32.5% !important;
  min-width: 32.5% !important;
  max-width: 32.5% !important;
}

.pmk-diesel-table th.remarks-head,
.pmk-status-table th.remarks-head {
  font-size: 9px !important;
  white-space: nowrap !important;
  line-height: 1.1 !important;
  padding: 2px 4px !important;
}

.remarks-head-text.remarks-head-pmk {
  white-space: nowrap !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

.pmk-diesel-table th.status-col,
.pmk-status-table th.status-col {
  font-size: 9px !important;
  white-space: nowrap !important;
  padding: 2px 1px !important;
}

.pmk-diesel-table .print-mark,
.pmk-status-table .print-mark,
.prd-layout-table .print-mark {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 14px !important;
  height: 14px !important;
  border: 1px solid #333 !important;
  font-size: 10px !important;
  line-height: 1 !important;
}

.prd-layout-table {
  table-layout: fixed !important;
}

.prd-layout-table col.job-col,
.prd-layout-table td:first-child,
.prd-layout-table th:first-child {
  width: 42% !important;
}

.prd-layout-table col.status-col,
.prd-layout-table th.status-col,
.prd-layout-table td.status-col {
  width: 18% !important;
  min-width: 18% !important;
  max-width: 18% !important;
  text-align: center !important;
  vertical-align: middle !important;
  padding: 2px 4px !important;
}

.prd-layout-table col.remarks-col,
.prd-layout-table th.remarks-head,
.prd-layout-table td.remarks-col {
  width: 22% !important;
}

.prd-layout-table th.status-col,
.prd-layout-table th.remarks-head {
  font-size: 9px !important;
  white-space: nowrap !important;
  line-height: 1.1 !important;
}

.prd-layout-table td.remarks-col {
  font-size: 9px !important;
  word-break: break-word !important;
  overflow-wrap: anywhere !important;
}

@media print {
  .pmk-diesel-table th.status-col,
  .pmk-status-table th.status-col,
  .pmk-diesel-table th.remarks-head,
  .pmk-status-table th.remarks-head,
  .prd-layout-table th.status-col,
  .prd-layout-table th.remarks-head {
    font-size: 8.5px !important;
  }
}


/* v5.16 print parity + PMK status alignment */
.print-preview-surface,
.print-preview-standalone {
  width: 190mm !important;
  max-width: 190mm !important;
  margin: 0 auto !important;
  padding: 10mm 9mm 10mm !important;
  box-sizing: border-box !important;
  background: #fff !important;
  color: #111 !important;
}

.pmk-diesel-table,
.pmk-status-table {
  table-layout: fixed !important;
}

.pmk-diesel-table col.job-col,
.pmk-status-table col.job-col,
.pmk-diesel-table td:first-child,
.pmk-status-table td:first-child,
.pmk-diesel-table th:first-child,
.pmk-status-table th:first-child {
  width: 47% !important;
}

.pmk-diesel-table col.status-col,
.pmk-status-table col.status-col,
.pmk-diesel-table th.status-col,
.pmk-diesel-table td.status-col,
.pmk-status-table th.status-col,
.pmk-status-table td.status-col {
  width: 5.5% !important;
  min-width: 5.5% !important;
  max-width: 5.5% !important;
  text-align: center !important;
  vertical-align: middle !important;
  padding: 1px 0 !important;
}

.pmk-diesel-table col.remarks-col,
.pmk-status-table col.remarks-col,
.pmk-diesel-table th.remarks-col,
.pmk-diesel-table td.remarks-col,
.pmk-status-table th.remarks-col,
.pmk-status-table td.remarks-col {
  width: 36.5% !important;
  min-width: 36.5% !important;
  max-width: 36.5% !important;
}

.pmk-diesel-table th.status-col,
.pmk-status-table th.status-col {
  font-size: 8px !important;
  white-space: nowrap !important;
  padding: 1px 0 !important;
}

.pmk-diesel-table th.remarks-head,
.pmk-status-table th.remarks-head {
  font-size: 7px !important;
  white-space: nowrap !important;
  line-height: 1.05 !important;
  padding: 1px 2px !important;
  text-align: center !important;
}

.remarks-head-text.remarks-head-pmk {
  display: inline-block !important;
  white-space: nowrap !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

.pmk-diesel-table .print-mark,
.pmk-status-table .print-mark {
  width: 12px !important;
  height: 12px !important;
  font-size: 9px !important;
}

@media print {
  @page { size: A4 portrait; margin: 10mm 9mm 10mm 9mm !important; }
  .print-preview-surface,
  .print-preview-standalone {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
  }
}

/* v5.19 asset operational status */
.status-chip {
  border: 1px solid rgba(0,0,0,.08);
}
.status-chip-on {
  background: rgba(34, 197, 94, .14);
}
.status-chip-off {
  background: rgba(239, 68, 68, .14);
}
.status-chip-standby {
  background: rgba(234, 179, 8, .18);
}
.print-document {
  position: relative;
}
.print-report-status {
  position: absolute;
  top: 8mm;
  right: 0;
  padding: 2.4mm 5mm;
  font-size: 10pt;
  font-weight: 700;
  border: 1px solid #222;
  border-radius: 999px;
  line-height: 1;
  background: #fff;
}
.print-report-status-on {
  background: #dcfce7;
  color: #166534;
  border-color: #166534;
}
.print-report-status-off {
  background: #fee2e2;
  color: #b91c1c;
  border-color: #b91c1c;
}
.print-report-status-standby {
  background: #fef3c7;
  color: #a16207;
  border-color: #a16207;
}
@media print {
  .print-report-status {
    top: 4mm;
    right: 0;
  }
}


.asset-history-week-wrap {
  overflow-x: auto;
}

.asset-history-weekly {
  min-width: 980px;
}

.asset-history-weekly .asset-col {
  min-width: 260px;
  width: 260px;
  background: var(--tblr-bg-surface, #fff);
}

.asset-history-weekly .day-col {
  min-width: 120px;
  width: 120px;
}

.asset-history-weekly .sticky-col {
  position: sticky;
  left: 0;
  z-index: 2;
}

.asset-history-weekly thead .sticky-col {
  z-index: 3;
}

.asset-history-weekly td,
.asset-history-weekly th {
  vertical-align: middle;
}

.asset-history-doc {
  max-width: 100px;
  line-height: 1.15;
}


.asset-history-link {
  color: inherit;
}

.asset-history-weekly .badge.badge-outline {
  background: transparent;
  border-width: 1px;
  border-style: solid;
}

.asset-history-weekly .day-col .badge {
  white-space: nowrap;
}


/* v5.26 form logo and PDF safety */
.form-logo-wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 28mm;
  text-align: left;
}
.form-logo-wrap img {
  max-width: 24mm;
  max-height: 24mm;
  object-fit: contain;
}
.pdf-export .print-table,
.pdf-export .section-table,
.pdf-export .print-block,
.pdf-export .print-two-column,
.pdf-export table {
  page-break-inside: avoid !important;
  break-inside: avoid-page !important;
}
.pdf-export tr,
.pdf-export td,
.pdf-export th {
  page-break-inside: avoid !important;
  break-inside: avoid !important;
}

/* v5.27 print / pdf consistency fixes */
.print-document-head {
  display: table;
  width: 100%;
  table-layout: fixed;
  margin-bottom: 4mm;
}
.print-document-head-left,
.print-document-head-center,
.print-document-head-right {
  display: table-cell;
  vertical-align: middle;
}
.print-document-head-left {
  width: 24%;
  text-align: left;
}
.print-document-head-center {
  width: 52%;
}
.print-document-head-right {
  width: 24%;
  text-align: right;
}
.form-logo-wrap {
  position: static !important;
  width: auto !important;
  text-align: left !important;
}
.form-logo-wrap img {
  max-width: 24mm;
  max-height: 24mm;
  object-fit: contain;
}
.print-title {
  margin: 0 !important;
}
.print-title .fs-2 {
  font-size: 13pt !important;
  line-height: 1.2 !important;
}
.print-report-status {
  position: static !important;
  display: inline-block !important;
  margin: 0 !important;
  padding: 1.6mm 3mm !important;
  font-size: 8.5pt !important;
  white-space: nowrap !important;
}
.pmk-diesel-table col.job-col,
.pmk-status-table col.job-col {
  width: 53% !important;
}
.pmk-diesel-table col.status-col,
.pmk-status-table col.status-col {
  width: 5.2% !important;
}
.pmk-diesel-table col.remarks-col,
.pmk-status-table col.remarks-col {
  width: 31.4% !important;
}
.pmk-diesel-table th.status-col,
.pmk-status-table th.status-col,
.pmk-diesel-table td.status-col,
.pmk-status-table td.status-col {
  width: 5.2% !important;
  min-width: 5.2% !important;
  max-width: 5.2% !important;
  padding-left: 0.6mm !important;
  padding-right: 0.6mm !important;
  text-align: center !important;
}
.pmk-diesel-table th.remarks-head,
.pmk-status-table th.remarks-head {
  width: 31.4% !important;
  min-width: 31.4% !important;
  max-width: 31.4% !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: clip !important;
  font-size: 7.5pt !important;
  padding-left: 1.2mm !important;
  padding-right: 1.2mm !important;
}
.remarks-head-text.remarks-head-pmk {
  display: inline-block !important;
  white-space: nowrap !important;
  line-height: 1.1 !important;
}
.print-preview-standalone,
.pdf-export.print-preview-standalone {
  width: 190mm !important;
  max-width: 190mm !important;
  margin: 0 auto !important;
  padding: 10mm 9mm 10mm !important;
  background: #fff !important;
  box-sizing: border-box !important;
}
.pdf-export .print-table,
.pdf-export .section-table,
.pdf-export .print-block,
.pdf-export .print-two-column,
.pdf-export table {
  page-break-inside: avoid !important;
  break-inside: avoid-page !important;
}
.pdf-export thead {
  display: table-header-group !important;
}
.pdf-export tfoot {
  display: table-footer-group !important;
}

/* v5.29 asset label + print header alignment fixes */
.print-document-head {
  display: table !important;
  width: 100% !important;
  table-layout: fixed !important;
  margin: 0 0 4mm 0 !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
}
.print-document-head-left,
.print-document-head-center,
.print-document-head-right {
  display: table-cell !important;
  vertical-align: middle !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}
.print-document-head-left,
.print-document-head-right {
  width: 34mm !important;
  max-width: 34mm !important;
}
.print-document-head-left {
  text-align: left !important;
  padding-right: 3mm !important;
}
.print-document-head-center {
  text-align: center !important;
  padding-left: 1.5mm !important;
  padding-right: 1.5mm !important;
}
.print-document-head-right {
  text-align: right !important;
  padding-left: 3mm !important;
}
.form-logo-wrap {
  position: static !important;
  display: block !important;
  width: 30mm !important;
  max-width: 30mm !important;
  min-height: 18mm !important;
  text-align: left !important;
  margin: 0 !important;
  overflow: hidden !important;
}
.form-logo-wrap img {
  display: block !important;
  max-width: 30mm !important;
  max-height: 22mm !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
}
.print-document-head-center .print-title,
.print-document-head-center .print-document-title-text {
  width: 100% !important;
  text-align: center !important;
  margin: 0 auto !important;
}
.print-document-title-text,
.print-title .fs-2 {
  display: block !important;
  font-size: 12.5pt !important;
  line-height: 1.15 !important;
  letter-spacing: 0 !important;
  white-space: normal !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}
.print-document-head-right .print-report-status,
.print-report-status {
  position: static !important;
  display: inline-block !important;
  max-width: 31mm !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 1.4mm 2.2mm !important;
  font-size: 8pt !important;
  line-height: 1.1 !important;
  white-space: normal !important;
  text-align: center !important;
  vertical-align: middle !important;
}
.pdf-export .print-document-head,
.print-preview-standalone .print-document-head {
  page-break-inside: avoid !important;
  break-inside: avoid !important;
}
@media print {
  .print-document-head {
    display: table !important;
    width: 100% !important;
    table-layout: fixed !important;
  }
  .print-document-head-left,
  .print-document-head-right {
    width: 34mm !important;
    max-width: 34mm !important;
  }
  .print-document-head-center {
    text-align: center !important;
  }
  .form-logo-wrap img {
    max-width: 30mm !important;
    max-height: 22mm !important;
  }
  .print-document-head-right .print-report-status,
  .print-report-status {
    position: static !important;
    max-width: 31mm !important;
    font-size: 8pt !important;
    white-space: normal !important;
  }
}

/* v5.30 strict print/PDF parity + collision-proof header */
.print-document {
  width: 100% !important;
  box-sizing: border-box !important;
}
.print-document-head {
  display: table !important;
  width: 100% !important;
  table-layout: fixed !important;
  margin: 0 0 4mm 0 !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  min-height: 22mm !important;
}
.print-document-head-left,
.print-document-head-center,
.print-document-head-right {
  display: table-cell !important;
  vertical-align: middle !important;
  box-sizing: border-box !important;
  min-width: 0 !important;
  overflow: hidden !important;
}
.print-document-head-left,
.print-document-head-right {
  width: 40mm !important;
  max-width: 40mm !important;
}
.print-document-head-left {
  text-align: left !important;
  padding-right: 3mm !important;
}
.print-document-head-center {
  width: auto !important;
  text-align: center !important;
  padding-left: 3mm !important;
  padding-right: 3mm !important;
}
.print-document-head-right {
  text-align: right !important;
  padding-left: 3mm !important;
}
.print-document-head .form-logo-wrap {
  position: static !important;
  display: block !important;
  width: 36mm !important;
  max-width: 36mm !important;
  min-height: 16mm !important;
  margin: 0 !important;
  text-align: left !important;
  overflow: hidden !important;
}
.print-document-head .form-logo-wrap img {
  display: block !important;
  max-width: 36mm !important;
  max-height: 18mm !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
}
.print-document-head-center .print-title,
.print-document-head-center .print-document-title-text {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  text-align: center !important;
  box-sizing: border-box !important;
}
.print-document-title-text,
.print-title .fs-2 {
  display: block !important;
  font-size: 12pt !important;
  line-height: 1.15 !important;
  font-weight: 700 !important;
  white-space: normal !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}
.print-document-head-right .print-report-status,
.print-report-status {
  position: static !important;
  display: inline-block !important;
  width: auto !important;
  max-width: 36mm !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 1.4mm 2.4mm !important;
  font-size: 8pt !important;
  line-height: 1.05 !important;
  white-space: nowrap !important;
  text-align: center !important;
  vertical-align: middle !important;
  overflow: hidden !important;
  text-overflow: clip !important;
}
.print-preview-standalone table,
.print-preview-standalone .print-table,
.print-preview-standalone .print-block,
.print-preview-standalone .print-two-column,
.print-preview-standalone .section-table {
  page-break-inside: avoid !important;
  break-inside: avoid-page !important;
}
.print-preview-standalone tr,
.print-preview-standalone td,
.print-preview-standalone th {
  page-break-inside: avoid !important;
  break-inside: avoid !important;
}
.print-preview-standalone,
.print-preview-standalone * {
  -webkit-print-color-adjust: exact !important;
  print-color-adjust: exact !important;
}
@media print {
  @page { size: A4 portrait; margin: 10mm 9mm 10mm 9mm !important; }
  html, body { margin: 0 !important; padding: 0 !important; background: #fff !important; }
  .print-preview-standalone {
    width: 190mm !important;
    max-width: 190mm !important;
    margin: 0 auto !important;
    padding: 10mm 9mm 10mm !important;
    box-sizing: border-box !important;
    box-shadow: none !important;
    border-radius: 0 !important;
  }
  .print-document-head {
    display: table !important;
    table-layout: fixed !important;
    width: 100% !important;
  }
  .print-document-head-left,
  .print-document-head-right {
    width: 40mm !important;
    max-width: 40mm !important;
  }
  .print-document-head .form-logo-wrap img {
    max-width: 36mm !important;
    max-height: 18mm !important;
  }
  .print-document-head-right .print-report-status,
  .print-report-status {
    max-width: 36mm !important;
    white-space: nowrap !important;
  }
}


/* v5.31 mobile preview + collision-proof print header */
@media (max-width: 991.98px) {
  html,
  body {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  .page {
    display: block !important;
    width: 100% !important;
    min-height: 100vh !important;
  }

  .pi-sidebar {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    flex: none !important;
    overflow: visible !important;
    border-right: 0 !important;
    border-bottom: 1px solid var(--pi-sidebar-border) !important;
    z-index: 20 !important;
  }

  .pi-sidebar .container-fluid {
    width: 100% !important;
    max-width: 100% !important;
    min-height: auto !important;
    padding: .75rem 1rem !important;
  }

  .pi-sidebar .navbar-brand {
    margin: 0 !important;
    padding: 0 !important;
    min-height: 48px !important;
  }

  .pi-sidebar .navbar-brand a {
    max-width: calc(100vw - 92px) !important;
    overflow: hidden !important;
  }

  .pi-sidebar .navbar-brand .fs-2 {
    font-size: 1.25rem !important;
    line-height: 1.15 !important;
    white-space: normal !important;
  }

  .sidebar-logo-preview {
    max-width: 58px !important;
    max-height: 58px !important;
    object-fit: contain !important;
    flex: 0 0 auto !important;
  }

  .pi-sidebar .navbar-toggler {
    position: absolute !important;
    top: .85rem !important;
    right: 1rem !important;
    z-index: 25 !important;
  }

  .pi-sidebar .navbar-collapse {
    width: 100% !important;
  }

  .pi-sidebar .navbar-nav {
    padding-top: .75rem !important;
  }

  .pi-sidebar .navbar-nav .nav-link {
    margin: 0 !important;
    padding: .65rem .75rem !important;
  }

  .page-wrapper {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    flex: none !important;
  }

  .page-body > .container-fluid,
  .container-fluid.px-3.px-xl-4 {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }

  .task-detail-toolbar {
    align-items: flex-start !important;
  }

  .task-detail-toolbar > div:first-child {
    width: 100% !important;
  }

  .task-detail-actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: .6rem !important;
    width: 100% !important;
  }

  .task-detail-actions .btn,
  .task-detail-actions form,
  .task-detail-actions button {
    width: 100% !important;
    margin: 0 !important;
  }

  .task-detail-actions .btn {
    min-height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    white-space: normal !important;
    line-height: 1.15 !important;
  }

  .task-summary-header {
    gap: .75rem !important;
  }

  .task-summary-header .badge {
    flex: 0 0 auto !important;
    max-width: 46% !important;
    white-space: normal !important;
    text-align: center !important;
    line-height: 1.15 !important;
  }

  .task-summary-card .card-body .row > [class*='col-'] {
    min-width: 0 !important;
  }

  .task-summary-card .card-body div,
  .task-summary-card .card-body strong {
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
  }

  .table-responsive-mobile,
  .table-responsive {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
}

@media (max-width: 575.98px) {
  .task-detail-actions {
    grid-template-columns: 1fr 1fr !important;
  }

  .task-detail-actions .btn,
  .task-detail-actions button {
    font-size: .95rem !important;
    padding-left: .5rem !important;
    padding-right: .5rem !important;
  }

  .page-title {
    font-size: 1.45rem !important;
    line-height: 1.2 !important;
    overflow-wrap: anywhere !important;
  }
}

/* Keep the printable header in three separate lanes so logo, title, and status never overlap. */
.print-document-head {
  display: table !important;
  width: 100% !important;
  table-layout: fixed !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  margin: 0 0 4mm 0 !important;
  min-height: 20mm !important;
}

.print-document-head-left,
.print-document-head-center,
.print-document-head-right {
  display: table-cell !important;
  vertical-align: middle !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

.print-document-head-left {
  width: 32mm !important;
  max-width: 32mm !important;
  min-width: 32mm !important;
  padding-right: 2mm !important;
  text-align: left !important;
}

.print-document-head-right {
  width: 34mm !important;
  max-width: 34mm !important;
  min-width: 34mm !important;
  padding-left: 2mm !important;
  text-align: right !important;
}

.print-document-head-center {
  width: auto !important;
  padding-left: 2mm !important;
  padding-right: 2mm !important;
  text-align: center !important;
}

.print-document-head .form-logo-wrap {
  position: static !important;
  display: block !important;
  width: 30mm !important;
  max-width: 30mm !important;
  min-width: 0 !important;
  min-height: 12mm !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  text-align: left !important;
}

.print-document-head .form-logo-wrap img {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 30mm !important;
  max-height: 15mm !important;
  object-fit: contain !important;
  object-position: left center !important;
}

.print-document-head-center .print-title,
.print-document-head-center .print-document-title-text {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  padding: 0 !important;
  text-align: center !important;
  box-sizing: border-box !important;
}

.print-document-title-text,
.print-title .fs-2 {
  display: block !important;
  font-size: 12pt !important;
  line-height: 1.12 !important;
  font-weight: 700 !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
  hyphens: none !important;
}

.print-document-head-right .print-report-status,
.print-report-status {
  position: static !important;
  display: inline-block !important;
  width: auto !important;
  max-width: 32mm !important;
  margin: 0 !important;
  padding: 1.3mm 2mm !important;
  box-sizing: border-box !important;
  font-size: 7.6pt !important;
  line-height: 1.05 !important;
  white-space: nowrap !important;
  text-align: center !important;
  vertical-align: middle !important;
  overflow: hidden !important;
  text-overflow: clip !important;
}

@media print {
  .print-document-head-left {
    width: 32mm !important;
    max-width: 32mm !important;
    min-width: 32mm !important;
  }

  .print-document-head-right {
    width: 34mm !important;
    max-width: 34mm !important;
    min-width: 34mm !important;
  }

  .print-document-head .form-logo-wrap img {
    max-width: 30mm !important;
    max-height: 15mm !important;
  }

  .print-document-head-right .print-report-status,
  .print-report-status {
    max-width: 32mm !important;
    font-size: 7.6pt !important;
    white-space: nowrap !important;
  }
}

@media screen and (max-width: 767.98px) {
  body:has(.print-preview-standalone) {
    overflow-x: auto !important;
  }

  .print-preview-standalone {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

/* v5.32 print header: use the same 2-cell letterhead style as the printed form, not 3 forced lanes. */
.print-letterhead-table {
  width: 100% !important;
  table-layout: fixed !important;
  border-collapse: collapse !important;
  margin: 0 !important;
  break-inside: avoid !important;
  page-break-inside: avoid !important;
}

.print-letterhead-table td {
  border: 1px solid #111 !important;
  vertical-align: middle !important;
  box-sizing: border-box !important;
}

.print-letterhead-logo-cell {
  width: 43% !important;
  height: 18mm !important;
  padding: 2mm 3mm !important;
  text-align: left !important;
  overflow: hidden !important;
}

.print-letterhead-title-cell {
  width: 57% !important;
  height: 18mm !important;
  padding: 2mm 5mm !important;
  text-align: center !important;
  overflow: hidden !important;
}

.print-letterhead-logo-wrap {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 14mm !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
  overflow: hidden !important;
}

.print-letterhead-logo-wrap img {
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 14mm !important;
  object-fit: contain !important;
  object-position: left center !important;
}

.print-letterhead-table .print-title,
.print-letterhead-table .print-document-title-text {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  padding: 0 !important;
  text-align: center !important;
  box-sizing: border-box !important;
}

.print-letterhead-table .print-document-title-text {
  font-size: 13.2pt !important;
  line-height: 1.14 !important;
  font-weight: 700 !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

.print-letterhead-table + .header-table {
  margin-top: -1px !important;
}

.print-report-status-inline {
  position: static !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 1.1mm 2.4mm !important;
  box-sizing: border-box !important;
  font-size: 8pt !important;
  line-height: 1.05 !important;
  white-space: nowrap !important;
  vertical-align: middle !important;
}

.header-table td .print-report-status-inline {
  float: none !important;
}

@media print {
  .print-letterhead-table {
    margin: 0 !important;
  }

  .print-letterhead-logo-cell,
  .print-letterhead-title-cell {
    height: 18mm !important;
  }

  .print-letterhead-logo-wrap,
  .print-letterhead-logo-wrap img {
    max-height: 14mm !important;
  }

  .print-report-status-inline {
    position: static !important;
    font-size: 8pt !important;
    white-space: nowrap !important;
  }
}

/* v5.34 - Print Preview stays as browser HTML and uses the same two-cell letterhead as Export PDF. */
.print-preview-standalone {
  width: 190mm !important;
  max-width: 190mm !important;
  min-width: 190mm !important;
  margin: 0 auto !important;
  padding: 10mm 9mm 10mm !important;
  background: #fff !important;
  box-sizing: border-box !important;
}

.print-letterhead-table {
  width: 100% !important;
  table-layout: fixed !important;
  border-collapse: collapse !important;
  margin: 0 !important;
}

.print-letterhead-logo-cell {
  width: 43% !important;
  height: 18mm !important;
  padding: 1.5mm 2.5mm !important;
  text-align: left !important;
  vertical-align: middle !important;
  overflow: hidden !important;
}

.print-letterhead-title-cell {
  width: 57% !important;
  height: 18mm !important;
  padding: 1.5mm 4mm !important;
  text-align: center !important;
  vertical-align: middle !important;
  overflow: hidden !important;
}

.print-letterhead-logo-wrap {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 14mm !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

.print-letterhead-logo-wrap img {
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 14mm !important;
  object-fit: contain !important;
  object-position: left center !important;
}

.print-letterhead-table .print-document-title-text {
  display: block !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 0 !important;
  text-align: center !important;
  font-size: 13.2pt !important;
  line-height: 1.14 !important;
  font-weight: 700 !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

.print-letterhead-table + .header-table {
  margin-top: -1px !important;
}

.header-table .print-report-status-inline,
.print-report-status-inline {
  position: static !important;
  inset: auto !important;
  transform: none !important;
  float: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 1.1mm 2.4mm !important;
  box-sizing: border-box !important;
  font-size: 8pt !important;
  line-height: 1.05 !important;
  white-space: nowrap !important;
  vertical-align: middle !important;
}

@media print {
  @page { size: A4 portrait; margin: 10mm 9mm 10mm 9mm; }

  html, body {
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
  }

  .print-preview-standalone {
    width: 190mm !important;
    max-width: 190mm !important;
    min-width: 190mm !important;
    margin: 0 auto !important;
    padding: 0 !important;
    background: #fff !important;
  }

  .print-letterhead-logo-cell,
  .print-letterhead-title-cell {
    height: 18mm !important;
  }

  .print-letterhead-logo-wrap,
  .print-letterhead-logo-wrap img {
    max-height: 14mm !important;
  }

  .header-table .print-report-status-inline,
  .print-report-status-inline {
    position: static !important;
    white-space: nowrap !important;
  }
}

/* v5.35 - Print Preview, Cetak, dan Export PDF memakai header print yang sama.
   Status aset berada di baris/kolom Status Aset, bukan overlay di atas form. */
.print-preview-standalone .print-letterhead-table,
.print-letterhead-table {
  width: 100% !important;
  table-layout: fixed !important;
  border-collapse: collapse !important;
  margin: 0 !important;
  break-inside: avoid !important;
  page-break-inside: avoid !important;
}

.print-preview-standalone .print-letterhead-table td,
.print-letterhead-table td {
  border: 1px solid #111 !important;
  vertical-align: middle !important;
  box-sizing: border-box !important;
}

.print-preview-standalone .print-letterhead-logo-cell,
.print-letterhead-logo-cell {
  width: 43% !important;
  height: 18mm !important;
  padding: 1.5mm 2.5mm !important;
  text-align: left !important;
  vertical-align: middle !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

.print-preview-standalone .print-letterhead-title-cell,
.print-letterhead-title-cell {
  width: 57% !important;
  height: 18mm !important;
  padding: 1.5mm 4mm !important;
  text-align: center !important;
  vertical-align: middle !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

.print-preview-standalone .print-letterhead-logo-wrap,
.print-letterhead-logo-wrap {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 14mm !important;
  max-height: 14mm !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  text-align: left !important;
  box-sizing: border-box !important;
}

.print-preview-standalone .print-letterhead-logo-wrap img,
.print-letterhead-logo-wrap img {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 14mm !important;
  object-fit: contain !important;
  object-position: left center !important;
  margin: 0 !important;
}

.print-preview-standalone .print-letterhead-table .print-title,
.print-preview-standalone .print-letterhead-table .print-document-title-text,
.print-letterhead-table .print-title,
.print-letterhead-table .print-document-title-text {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  padding: 0 !important;
  text-align: center !important;
  box-sizing: border-box !important;
}

.print-preview-standalone .print-letterhead-table .print-document-title-text,
.print-letterhead-table .print-document-title-text {
  font-size: 13.2pt !important;
  line-height: 1.14 !important;
  font-weight: 700 !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

.print-preview-standalone .print-letterhead-table + .header-table,
.print-letterhead-table + .header-table {
  margin-top: -1px !important;
}

.print-preview-standalone .header-table .print-status-badge,
.header-table .print-status-badge {
  position: static !important;
  inset: auto !important;
  transform: none !important;
  float: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 1.1mm 2.4mm !important;
  box-sizing: border-box !important;
  border: 1px solid #222 !important;
  border-radius: 999px !important;
  font-size: 8pt !important;
  font-weight: 700 !important;
  line-height: 1.05 !important;
  white-space: nowrap !important;
  vertical-align: middle !important;
  background: #fff !important;
  color: #111 !important;
}

.print-preview-standalone .header-table .print-status-badge-on,
.header-table .print-status-badge-on {
  background: #dcfce7 !important;
  color: #166534 !important;
  border-color: #166534 !important;
}

.print-preview-standalone .header-table .print-status-badge-off,
.header-table .print-status-badge-off {
  background: #fee2e2 !important;
  color: #b91c1c !important;
  border-color: #b91c1c !important;
}

.print-preview-standalone .header-table .print-status-badge-standby,
.header-table .print-status-badge-standby {
  background: #fef3c7 !important;
  color: #a16207 !important;
  border-color: #a16207 !important;
}

@media print {
  @page { size: A4 portrait; margin: 10mm 9mm 10mm 9mm; }

  html, body {
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
  }

  .print-preview-standalone {
    width: 190mm !important;
    max-width: 190mm !important;
    min-width: 190mm !important;
    margin: 0 auto !important;
    padding: 0 !important;
    background: #fff !important;
  }

  .print-letterhead-logo-cell,
  .print-letterhead-title-cell {
    height: 18mm !important;
  }

  .print-letterhead-logo-wrap,
  .print-letterhead-logo-wrap img {
    max-height: 14mm !important;
  }

  .header-table .print-status-badge {
    position: static !important;
    white-space: nowrap !important;
  }
}

/* Running Hour module */
.running-hour-table-wrap {
  max-height: 70vh;
}

.running-hour-table thead th,
.running-hour-table tfoot th {
  position: sticky;
  top: 0;
  z-index: 2;
  background: var(--tblr-bg-surface, #fff);
}

.running-hour-table tfoot th {
  bottom: 0;
  top: auto;
}

@media (max-width: 767.98px) {
  .running-hour-table td input[type="time"],
  .running-hour-table td input[type="text"],
  .running-hour-table td input:not([type]) {
    min-width: 128px;
  }
}


/* v5.42 header buttons: colored actions + mobile labels */
.pi-header-action {
  width: 3rem;
  height: 3rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  flex-direction: column;
  gap: 0.1rem;
  border-width: 1px;
}
.pi-header-action .pi-icon-svg {
  width: 1.3rem;
  height: 1.3rem;
  display: block;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  flex: 0 0 auto;
}
.pi-header-action .pi-icon-svg path,
.pi-header-action .pi-icon-svg line,
.pi-header-action .pi-icon-svg polyline,
.pi-header-action .pi-icon-svg rect,
.pi-header-action .pi-icon-svg circle {
  stroke: currentColor;
  fill: none;
}
.pi-header-action.position-relative {
  overflow: visible;
}
.pi-action-menu {
  color: #0f766e;
  border-color: rgba(15, 118, 110, 0.28);
  background: rgba(20, 184, 166, 0.08);
}
.pi-action-menu:hover,
.pi-action-menu:focus {
  color: #115e59;
  border-color: rgba(15, 118, 110, 0.44);
  background: rgba(20, 184, 166, 0.14);
}
.pi-action-notifications {
  color: #b45309;
  border-color: rgba(180, 83, 9, 0.28);
  background: rgba(245, 158, 11, 0.1);
}
.pi-action-notifications:hover,
.pi-action-notifications:focus {
  color: #92400e;
  border-color: rgba(180, 83, 9, 0.44);
  background: rgba(245, 158, 11, 0.16);
}
.pi-action-theme {
  color: #4338ca;
  border-color: rgba(67, 56, 202, 0.28);
  background: rgba(99, 102, 241, 0.1);
}
.pi-action-theme:hover,
.pi-action-theme:focus {
  color: #3730a3;
  border-color: rgba(67, 56, 202, 0.44);
  background: rgba(99, 102, 241, 0.16);
}
.pi-header-label-mobile {
  display: none;
  font-size: 0.56rem;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.01em;
}
@media (max-width: 767.98px) {
  .page header .container-fluid {
    align-items: flex-start;
  }
  .page header .navbar-nav.flex-row.order-md-last {
    gap: 0.35rem !important;
  }
  .pi-header-action {
    width: 3.5rem;
    height: 3.5rem;
    padding-top: 0.35rem;
    padding-bottom: 0.25rem;
  }
  .pi-header-label-mobile {
    display: block;
  }
  .notification-dot {
    top: 0.15rem !important;
    left: calc(100% - 0.05rem) !important;
  }
}


/* Mobile sidebar/collapse fix: keep the mobile menu usable even when the desktop
   sidebar was previously collapsed and Bootstrap JS is not loaded for CSP safety. */
@media (max-width: 991.98px) {
  body.pi-sidebar-collapsed .pi-sidebar,
  .pi-sidebar {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    opacity: 1 !important;
    overflow: visible !important;
  }

  body.pi-sidebar-collapsed .page-wrapper,
  .page-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
  }

  .pi-sidebar .navbar-collapse.collapse:not(.show) {
    display: none !important;
  }

  .pi-sidebar .navbar-collapse.collapse.show {
    display: block !important;
    visibility: visible !important;
    height: auto !important;
    overflow: visible !important;
  }

  .pi-sidebar .navbar-toggler {
    pointer-events: auto !important;
    cursor: pointer !important;
    touch-action: manipulation !important;
  }
}
/* Batch Print Elements */
.batch-bar {
  position: fixed;
  bottom: 0;
  left: var(--pi-sidebar-width);
  right: 0;
  background: #1e293b;
  color: #fff;
  padding: 1rem 1.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  box-shadow: 0 -4px 15px rgba(0,0,0,0.1);
  z-index: 1040;
  transform: translateY(0);
  transition: transform 0.3s ease;
}

@media (max-width: 991.98px) {
  .batch-bar { left: 0; }
}

.batch-bar.hidden {
  transform: translateY(100%);
  pointer-events: none;
}

.batch-bar-left {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.batch-count {
  background: #3b82f6;
  color: #fff;
  font-weight: 700;
  font-size: 1.1rem;
  padding: 0.25rem 0.75rem;
  border-radius: 999px;
  min-width: 2rem;
  text-align: center;
}

.batch-bar-text {
  font-size: 1rem;
  font-weight: 500;
}

.batch-bar-right {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.btn-white-solid {
  background: #fff;
  color: #1e293b;
  border-color: #fff;
  font-weight: 600;
}
.btn-white-solid:hover {
  background: #f8fafc;
  color: #1e293b;
}

.select-all-bar {
  padding: 1rem 1.25rem;
  border-bottom: 1px solid var(--tblr-border-color);
  background: rgba(0,0,0,0.02);
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.select-all-bar .separator {
  color: var(--tblr-muted);
}
.select-all-bar a {
  cursor: pointer;
  color: var(--tblr-primary);
  text-decoration: none;
  font-weight: 500;
}
.select-all-bar a:hover {
  text-decoration: underline;
}

.form-checkbox {
  width: 1.2rem;
  height: 1.2rem;
  cursor: pointer;
}

tr.selected {
  background-color: rgba(32, 107, 196, 0.04) !important;
}

.print-modal {
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(0,0,0,0.5);
  z-index: 1050;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}
.print-modal.hidden {
  display: none !important;
}
.print-modal-content {
  background: #fff;
  border-radius: 8px;
  width: 100%;
  max-width: 500px;
  box-shadow: 0 10px 25px rgba(0,0,0,0.2);
  display: flex;
  flex-direction: column;
  max-height: 90vh;
}
.print-modal-header {
  padding: 1.25rem 1.5rem;
  border-bottom: 1px solid var(--tblr-border-color);
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.print-modal-title {
  font-size: 1.15rem;
  font-weight: 700;
  margin: 0;
}
.print-modal-close {
  background: none;
  border: none;
  font-size: 1.5rem;
  line-height: 1;
  color: #666;
  cursor: pointer;
}
.print-modal-body {
  padding: 1.5rem;
  overflow-y: auto;
}
.print-modal-footer {
  padding: 1rem 1.5rem;
  border-top: 1px solid var(--tblr-border-color);
  display: flex;
  justify-content: flex-end;
  gap: 0.75rem;
  background: #f8fafc;
  border-bottom-left-radius: 8px;
  border-bottom-right-radius: 8px;
}
.task-preview-list {
  list-style: none;
  padding: 0;
  margin: 0;
  border: 1px solid var(--tblr-border-color);
  border-radius: 6px;
  max-height: 250px;
  overflow-y: auto;
}
.task-preview-item {
  padding: 0.75rem 1rem;
  border-bottom: 1px solid var(--tblr-border-color);
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.task-preview-item:last-child {
  border-bottom: none;
}
.task-preview-item-left {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.task-check-icon {
  color: #10b981;
  font-weight: 900;
}
