/* Load after page styles so the shared Bootstrap controls remain consistent. */
body .form-control,
body .form-select,
body .field .form-control,
body .field .form-select,
body .filters .form-control,
body .filters .form-select,
body .modal .form-control,
body .modal .form-select {
  min-height: 2.45rem;
  padding: .5rem .75rem;
  border: 1px solid #cbd7ca;
  border-radius: .5rem;
  background-color: #fff;
  color: #1d2b23;
  font: inherit;
}
body textarea.form-control { min-height: 6rem; }
body .form-control:focus,
body .form-select:focus { border-color: #80b993; box-shadow: 0 0 0 .2rem rgba(36,122,67,.16); }
body .btn,
body button.btn,
body a.btn,
body input.btn {
  display: inline-flex;
  min-height: 2.35rem;
  align-items: center;
  justify-content: center;
  gap: .35rem;
  border-radius: .5rem;
  padding: .5rem .85rem;
  font: inherit;
  font-weight: 650;
  line-height: 1.25;
  text-decoration: none;
}
body .btn-sm { min-height: 1.9rem; padding: .3rem .55rem; font-size: .82rem; }
body .table-responsive { overflow-x: auto; border-radius: .65rem; }
body .table-responsive > table.table {
  width: 100%;
  margin: 0;
  border-collapse: separate;
  border-spacing: 0;
  font-size: .9rem;
  vertical-align: middle;
  --bs-table-color: #26362b;
  --bs-table-bg: #fff;
  --bs-table-striped-bg: #f7f9f5;
  --bs-table-hover-bg: #edf5e9;
}
body .table-responsive > table.table > thead > tr > th {
  padding: .75rem .8rem;
  border-bottom: 1px solid #dfe7dc;
  background: #f0f4ec;
  color: #526257;
  font-size: .72rem;
  font-weight: 750;
  letter-spacing: .035em;
  text-transform: uppercase;
  white-space: nowrap;
}
body .table-responsive > table.table > tbody > tr > td {
  padding: .7rem .8rem;
  border-bottom: 1px solid #edf1ea;
}
body .table-responsive > table.table > tbody > tr:last-child > td { border-bottom: 0; }
body .card.panel { overflow: hidden; background: #fff; }
body .card.panel > h2 { padding: 1rem 1rem 0; }
body .card.panel > .table-responsive { margin: 0 .75rem .75rem; }
body .alert { border-radius: .65rem; padding: .8rem 1rem; }
.dropdown-menu { border-color: #dfe7dc; border-radius: .7rem; box-shadow: 0 .5rem 1.25rem rgba(29,43,35,.12); padding: .4rem; }
.dropdown-item { border-radius: .4rem; padding: .55rem .7rem; }
nav.site-topbar.navbar { display: flex; flex-wrap: nowrap; align-items: center; }
nav.site-topbar .workspace-menu-toggle { flex: 0 0 auto; width: 2.5rem; height: 2.5rem; padding: .45rem; border-color: #dfe7dc; }
nav.site-topbar .navbar-toggler-icon { width: 1.1rem; height: 1.1rem; }
.app-sidebar > .nav { gap: .15rem; }
.app-sidebar .nav-pills .nav-link { display: flex; align-items: center; gap: .65rem; border-radius: .55rem; color: #53647b; font-weight: 650; text-decoration: none; }
.app-sidebar .nav-pills .nav-link:hover,
.app-sidebar .nav-pills .nav-link:focus-visible { background: #f0f6ef; color: #176b36; }
.app-sidebar .nav-pills .nav-link.active { background: #e9f4e8; color: #176b36; }
nav.site-topbar .navbar-brand { margin-right: .25rem; }
nav.site-topbar .dropdown-toggle::after { margin-left: .25rem; }
aside.app-sidebar.offcanvas-md { --bs-offcanvas-width: min(320px, 88vw); padding: 0; }
aside.app-sidebar.offcanvas-md .offcanvas-body { display: block; overflow-y: auto; padding: 1rem .65rem; }
summary.btn { cursor: pointer; list-style: none; }
summary.btn::-webkit-details-marker { display: none; }
.modal-content { overflow: hidden; padding: 0; background: #fff; border: 1px solid #dfe7dc; border-radius: .9rem; box-shadow: 0 1rem 3rem rgba(8,23,42,.2); }
.modal-header, .modal-footer { border-color: #e5ebe2; }
.modal-header { background: #f8faf6; }
div.modal#airbaseModal { position: fixed; inset: 0; z-index: 1055; display: none; width: 100%; height: 100%; max-height: none; padding: 0; overflow-x: hidden; overflow-y: auto; background: transparent; border: 0; border-radius: 0; box-shadow: none; }
div.modal#airbaseModal.show { display: block; }
div.modal#airbaseModal .modal-dialog { max-width: 900px; margin: 1.75rem auto; }
@media (max-width: 720px) {
  aside.app-sidebar.offcanvas-md { border: 0; }
  aside.app-sidebar.offcanvas-md .offcanvas-header { border-bottom: 1px solid #dfe7dc; }
  aside.app-sidebar.offcanvas-md .offcanvas-body { padding: .75rem; }
  aside.app-sidebar.offcanvas-md .navheading { display: block; }
  aside.app-sidebar.offcanvas-md .nav { flex-direction: column; flex-wrap: nowrap; min-width: 0; }
  aside.app-sidebar.offcanvas-md .nav-link { white-space: normal; }
  nav.site-topbar.navbar { gap: .4rem; }
  body .table-responsive > table.table { font-size: .82rem; }
  body .table-responsive > table.table > thead > tr > th,
  body .table-responsive > table.table > tbody > tr > td { padding: .55rem .6rem; }
}
@media (max-width: 767.98px) {
  .app-layout, .layout:not(main.layout) { grid-template-columns: minmax(0, 1fr) !important; min-width: 0; }
  main.layout { min-width: 0; }
  aside.app-sidebar.offcanvas-md {
    height: 100vh;
    height: 100dvh;
    min-height: 100vh;
    min-height: 100dvh;
    max-height: 100vh;
    max-height: 100dvh;
    overflow: hidden;
  }
  aside.app-sidebar.offcanvas-md .offcanvas-body {
    min-height: 0;
    flex: 1 1 auto;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
  }
}
