/* Warehouse controls remain readable beside dense stock tables. */
:root { --warehouse-ink: #243447; --warehouse-accent: #225b73; }
/* Module colors distinguish warehouse tasks; dashboard keeps its own palette. */
html[data-warehouse-module] { --module-color: #225b73; --module-tint: #e8f2f6; }
html[data-warehouse-module="produkmasuk"] { --module-color: #236b40; --module-tint: #eaf5ed; }
html[data-warehouse-module="produkkeluardll"], html[data-warehouse-module="dibuang"] { --module-color: #a52c35; --module-tint: #fcecef; }
html[data-warehouse-module="pinjam"] { --module-color: #805400; --module-tint: #fff4d8; }
html[data-warehouse-module="repair"] { --module-color: #6540aa; --module-tint: #f0eafb; }
html[data-warehouse-module="opnameharian"] { --module-color: #245dab; --module-tint: #eaf1fc; }
html[data-warehouse-module="produkreturn"] { --module-color: #a34b12; --module-tint: #fff0e3; }
html[data-warehouse-module="operasional"] { --module-color: #176c70; --module-tint: #e5f4f3; }
html[data-warehouse-module="restok"] { --module-color: #805400; --module-tint: #fff4d8; }
html[data-warehouse-module] .content-header { background: var(--module-color); color: #fff; border-bottom: 1px solid #d5dce3; margin-bottom: 16px; }
html[data-warehouse-module] .content-header :is(h1,h2,h3,h4,h5,h6) { color: #fff !important; font-weight: 700; }
html[data-warehouse-module] .content-header :is(h1,h2,h3,h4,h5,h6) i { color: inherit !important; }
/* Header actions retain the meaning of their Bootstrap color classes. */
html[data-warehouse-module] .content-header :is(.btn-primary,.btn-outline-primary,.btn-success,.btn-outline-success,.btn-danger,.btn-outline-danger,.btn-info,.btn-outline-info,.btn-dark,.btn-outline-dark,.btn-secondary,.btn-outline-secondary) { --header-button-ink: #fff; }
html[data-warehouse-module] .content-header :is(.btn-primary,.btn-outline-primary) { --header-button-bg: #0069d9; --header-button-hover: #0056b3; }
html[data-warehouse-module] .content-header :is(.btn-success,.btn-outline-success) { --header-button-bg: #237a38; --header-button-hover: #1c622d; }
html[data-warehouse-module] .content-header :is(.btn-danger,.btn-outline-danger) { --header-button-bg: #bd2130; --header-button-hover: #a71d2a; }
html[data-warehouse-module] .content-header :is(.btn-info,.btn-outline-info) { --header-button-bg: #176078; --header-button-hover: #124b5e; }
html[data-warehouse-module] .content-header :is(.btn-warning,.btn-outline-warning) { --header-button-bg: #ffc107; --header-button-hover: #e0a800; --header-button-ink: #252525; }
html[data-warehouse-module] .content-header :is(.btn-dark,.btn-outline-dark) { --header-button-bg: #343a40; --header-button-hover: #23272b; }
html[data-warehouse-module] .content-header :is(.btn-secondary,.btn-outline-secondary) { --header-button-bg: #545b62; --header-button-hover: #41464b; }
html[data-warehouse-module] .content-header .btn { background: var(--header-button-bg, #fff); color: var(--header-button-ink, var(--module-color)); border-color: #fff; }
html[data-warehouse-module] .content-header :is(.btn-light,.btn-outline-light,.btn-default,.btn-link) { color: var(--module-color); }
html[data-warehouse-module] .content-header .btn:hover { background: var(--header-button-hover, var(--module-tint)); }
html[data-warehouse-module] .content-header .btn:focus-visible { outline-color: #fff !important; }
html[data-warehouse-module="operasional"] .content-header .ops-muted { color: #fff; }
html[data-warehouse-module] .content-header .breadcrumb-item, html[data-warehouse-module] .content-header .breadcrumb-item a { color: #fff; }
.warehouse-module-icon { margin-right: 10px; font-size: .85em; }
html[data-warehouse-module] .content-wrapper .card-header:not([class*="bg-"]) { background: var(--module-tint); color: var(--module-color); }
html[data-warehouse-module] .content-wrapper .table thead:not([class*="bg-"]) th { background: var(--module-tint); color: var(--warehouse-ink); border-bottom-color: #aebfcd; }
html[data-warehouse-module] .main-sidebar .nav-link.active { background: var(--module-color) !important; color: #fff !important; }
html { scroll-padding-top: 72px; }
body { color: var(--warehouse-ink); }
.content-wrapper, main.flex-1, .content .row > [class*="col-"], .card { min-width: 0; }
main.flex-1 { max-width: 100%; }
.content-wrapper .table-responsive { max-width: 100%; margin-left: 0; margin-right: 0; overflow-x: auto; }
.content-wrapper .card-header .d-flex { flex-wrap: wrap; gap: 8px; }
.content-wrapper .table th { text-transform: none; letter-spacing: normal; font-size: .875rem; }
.content-wrapper .table td { font-size: .875rem; }
.content-wrapper .card { border: 1px solid #d5dce3; border-radius: 6px; box-shadow: none; }
.content-wrapper .card:hover { box-shadow: none; }
.content-wrapper .card-header { border-radius: 5px 5px 0 0 !important; }
.btn, .page-link, button:not(.form-check-input), a[data-widget="pushmenu"] { min-height: 44px; }
.btn, .page-link { display: inline-flex; align-items: center; justify-content: center; }
.form-control, select.form-control, input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]) { min-height: 44px; }
.form-control { border-color: #7d8995; }
.input-group > .form-control { min-width: 0; }
.input-group > .input-group-append { flex-shrink: 0; }
button, input, select, textarea { font: inherit; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid #174d68 !important; outline-offset: 2px; }
.main-sidebar a:focus-visible, .main-sidebar button:focus-visible { outline-color: #fff !important; }
.main-sidebar .nav-link.active { background: var(--warehouse-accent) !important; box-shadow: none !important; }
.main-sidebar .nav-link, .main-sidebar .nav-treeview .nav-link { min-height: 44px; }
.text-muted, .content-wrapper small { color: #53616f !important; }
.content-wrapper .btn-info { background: #176078; border-color: #176078; color: #fff; }
.content-wrapper .btn-warning { color: #252525; }
.content-wrapper .modal-header.bg-warning .text-white { color: #252525 !important; }
.content-wrapper .pagination { flex-wrap: wrap; gap: 4px; }
.warehouse-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@media (max-width: 991px) {
  .content-header .row > div { min-width: 0; }
  .content-header .btn-group { flex-wrap: wrap; max-width: 100%; gap: 4px; }
  .content-header .btn-group > .btn { flex: 1 1 140px; border-radius: 4px !important; }
  .content-header .btn { margin-bottom: 4px; white-space: normal; }
  .content-wrapper .card-header { padding: 12px; }
  .content-wrapper .card-body.table-responsive { padding-left: 0; padding-right: 0; }
  .content-wrapper .table td, .content-wrapper .table th { font-size: .875rem; }
  .content-wrapper .form-control { font-size: 1rem; }
  main.flex-1 .overflow-x-auto { max-width: 100%; }
  main.flex-1 .flex.gap-2 { flex-wrap: wrap; }
}
@media (min-width: 768px) { main.flex-1.md\:ml-64 { max-width: calc(100% - 16rem); } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; } }

/* Fixed-height selects must not inherit flex-stretched filter rows. */
select.form-control:not([multiple]) { height: 44px !important; }
@media (max-width: 767px) { .content-wrapper .form-inline > .form-control { flex: 0 0 auto !important; } }
.content-wrapper .badge-secondary, .content-wrapper .badge-info { color: #fff !important; }
.content-wrapper code, main code { color: #8b2450; }
.content-wrapper .alert-info { background: #e4f1f5; color: #174d68; border-color: #b8d4df; }
