/* Lapisan konsistensi halaman, dimuat setelah gaya modul. */
.admin-ui {
  --page-title-size: 1.25rem;
  --page-section-size: 1rem;
}

.admin-ui .main-content,
.admin-ui .content-container,
.admin-ui .row > *,
.admin-ui .card-header > *,
.admin-ui .card-body > .d-flex > * {
  min-width: 0;
}

.admin-ui .module-list-card > .card-body,
.admin-ui .workflow-page .card-body.p-4 {
  padding: 1.5rem !important;
}

.admin-ui .module-page-header,
.admin-ui .standalone-page-header {
  min-height: 0;
  align-items: flex-start !important;
  gap: 1rem !important;
  flex-wrap: wrap;
}

.admin-ui .module-page-title,
.admin-ui .standalone-page-heading:is(h4, h5),
.admin-ui .standalone-page-heading > :is(h4, h5) {
  font-size: var(--page-title-size) !important;
  line-height: 1.4 !important;
  letter-spacing: -.02em !important;
  overflow-wrap: anywhere;
}

.admin-ui .module-page-description,
.admin-ui .standalone-page-heading > p {
  font-size: .875rem !important;
  line-height: 1.6 !important;
  margin-top: .375rem !important;
}

.admin-ui .card-header h5,
.admin-ui .card-body h5:not(.standalone-page-heading) {
  font-size: var(--page-section-size);
  line-height: 1.5;
}

.admin-ui .module-page-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  max-width: 100%;
}

.admin-ui .module-page-actions > .btn {
  min-height: 40px !important;
  padding-inline: .875rem !important;
  box-shadow: none !important;
}

.admin-ui .module-filter-panel {
  flex-wrap: wrap;
  padding: 1rem !important;
  gap: .75rem !important;
  background: var(--bs-tertiary-bg) !important;
}

.admin-ui .module-filter-panel :is(.form-control, .form-select),
.admin-ui .module-filter-panel .date-range-wrapper input {
  min-height: 40px !important;
  font-size: .875rem !important;
}

.admin-ui .form-label {
  font-size: .875rem;
  font-weight: 600;
}

.admin-ui :is(.form-control, .form-select) {
  max-width: 100%;
}

.admin-ui .table-responsive {
  max-width: 100%;
  overscroll-behavior-x: contain;
}

.admin-ui .table:not(.table-borderless) {
  border-color: var(--bs-border-color);
}

.admin-ui .table > thead > tr > th {
  font-size: .75rem;
  font-weight: 600;
  vertical-align: middle;
}

.admin-ui .table-responsive > .table:not(.transaction-items-table) {
  min-width: 600px;
}

.admin-ui :is(table.data, table.dataTable):not(.transaction-items-table) {
  min-width: 760px;
}

.admin-ui :is(#tableSingleMaterials, #tableModalVariantMaterials) {
  min-width: 560px;
}

.admin-ui #tableVariants {
  min-width: 900px;
}

.admin-ui #tableQuickModOptions {
  min-width: 480px;
}

.admin-ui :is(#table-opname-items, #table-transfer-items) > tbody > tr > td:first-child {
  min-width: 36px;
}

.admin-ui .top-navbar-heading {
  flex: 1;
  min-width: 0;
}

.admin-ui .top-navbar-title {
  min-width: 0;
  overflow-wrap: anywhere;
  line-height: 1.35;
}

.admin-ui .top-navbar > div:last-child {
  flex-shrink: 0;
}

.admin-ui .card-header .badge {
  align-self: flex-start;
}

@media (max-width: 991.98px) {
  .admin-ui .main-content {
    padding-bottom: calc(var(--bottomnav-height) + env(safe-area-inset-bottom, 0px) + 1.5rem);
  }

  .admin-ui .bottom-nav {
    height: calc(var(--bottomnav-height) + env(safe-area-inset-bottom, 0px));
    padding-bottom: env(safe-area-inset-bottom, 0px);
  }

  .admin-ui .bottom-nav-item {
    flex: 1;
    min-width: 0;
    min-height: 44px;
    padding-inline: .25rem;
  }
}

@media (max-width: 767.98px) {
  .admin-ui {
    --page-title-size: 1.125rem;
  }

  .admin-ui .content-container {
    padding: 1rem .75rem !important;
    gap: 1rem !important;
  }

  .admin-ui .module-list-card > .card-body,
  .admin-ui .workflow-page .card-body.p-4,
  .admin-ui .card-body {
    padding: 1rem !important;
  }

  .admin-ui .card-header:is(.p-4, .px-4) {
    padding: 1rem 1rem 0 !important;
  }

  .admin-ui .module-page-heading,
  .admin-ui .standalone-page-heading {
    flex: 1 1 auto !important;
    width: 100%;
  }

  .admin-ui .standalone-page-header {
    flex-direction: column;
    align-items: flex-start !important;
    gap: .75rem !important;
  }

  .admin-ui .standalone-page-header > .d-flex {
    flex-wrap: wrap;
  }

  .admin-ui .module-page-actions > .btn {
    flex: 1 1 auto;
    min-height: 44px !important;
    white-space: normal !important;
  }

  .admin-ui .module-filter-panel {
    padding: .75rem !important;
    gap: .75rem !important;
    margin-bottom: 1rem !important;
  }

  .admin-ui .module-filter-panel > *,
  .admin-ui .module-filter-panel .date-range-wrapper,
  .admin-ui .dashboard-page-header form,
  .admin-ui .dashboard-page-header form > div {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100%;
  }

  .admin-ui .date-range-wrapper {
    flex-wrap: wrap;
  }

  .admin-ui .date-range-wrapper input {
    flex: 1 1 110px;
    width: 100%;
    min-width: 0 !important;
  }

  .admin-ui :is(.form-control, .form-select),
  .auth-page :is(.form-control, .form-select) {
    min-height: 44px !important;
    font-size: 1rem !important;
  }

  .admin-ui .select2-container {
    max-width: 100%;
    min-width: 0;
  }

  .admin-ui .select2-container .select2-selection--single {
    min-height: 44px;
  }

  .admin-ui .table-action-toolbar .btn {
    white-space: normal !important;
    min-height: 44px !important;
  }

  .admin-ui .transaction-items-table > tbody > tr > td,
  .admin-ui :is(#table-opname-items, #table-transfer-items) > tbody > tr > td:first-child {
    display: block !important;
    min-width: 0;
  }

  .admin-ui .form-footer-actions,
  .admin-ui .modal-footer {
    flex-wrap: wrap;
    gap: .5rem !important;
  }

  .admin-ui .form-footer-actions .btn,
  .admin-ui .modal-footer .btn {
    flex: 1 1 120px !important;
    min-height: 44px !important;
    white-space: normal !important;
    margin: 0 !important;
  }

  .admin-ui .modal-dialog {
    margin: .75rem;
  }

  .admin-ui .modal-content {
    max-width: 100%;
  }

  .admin-ui .dataTables_wrapper .pagination {
    flex-wrap: wrap;
    gap: .25rem;
  }

  .admin-ui .top-navbar {
    min-height: var(--topbar-height);
    height: auto;
    padding: .625rem .75rem;
    gap: .5rem;
  }

  .admin-ui .top-navbar-title {
    font-size: .875rem;
  }

  .admin-ui .top-navbar :is(.btn-icon, .btn-topbar-hamburger) {
    width: 40px;
    height: 44px;
    min-width: 40px;
    flex-shrink: 0;
  }

  .admin-ui .top-navbar .avatar-badge {
    width: 32px;
    height: 32px;
    min-width: 32px;
    font-size: .875rem;
  }

  .admin-ui .top-navbar > div:last-child {
    gap: .125rem !important;
  }

  .admin-ui .stat-value {
    overflow-wrap: anywhere;
  }

  .admin-ui .sticky-wizard-footer {
    position: static;
    margin: 0 -1rem -1rem !important;
    padding: 1rem !important;
    background: var(--bs-body-bg);
  }

  .admin-ui .sticky-wizard-footer .footer-btn-group {
    flex-wrap: wrap;
  }

  .admin-ui .sticky-wizard-footer .btn {
    flex: 1 1 auto;
    min-height: 44px;
    white-space: normal;
  }

  .auth-page .auth-wrapper {
    min-height: 100dvh;
    padding: 4.5rem 1rem 1.5rem;
  }

  .auth-page .auth-card {
    padding: 1.5rem;
  }
}

.admin-ui .card-body :is(h4, h5, h6) {
  overflow-wrap: anywhere;
}

[data-bs-theme="dark"] .admin-ui .wizard-step-pill:not(.active):not(.completed) {
  background: var(--bs-tertiary-bg);
  color: var(--bs-body-color);
  border-color: var(--bs-border-color);
}

[data-bs-theme="dark"] .admin-ui .sticky-wizard-footer {
  background: var(--card-bg);
  border-color: var(--bs-border-color);
}

@media (max-width: 767.98px) {
  .admin-ui .card-header.d-flex,
  .admin-ui .card-body > .d-flex {
    flex-wrap: wrap;
  }

  .admin-ui .transaction-items-table :is(.form-control, .form-select) {
    width: 100% !important;
  }
}

@media (max-width: 767.98px) {
  .admin-ui .workflow-form-actions {
    flex-wrap: wrap;
  }

  .admin-ui .workflow-form-actions.card-footer {
    padding: 0 1rem 1rem !important;
  }

  .admin-ui .workflow-form-actions > .btn {
    flex: 1 1 120px;
    min-height: 44px !important;
    white-space: normal;
  }
}
