.app-brand-link {
  align-items: center;
}

.menu .app-brand.demo {
  height: 64px;
  margin-top: 12px;
}

.app-brand-logo.demo .brand-logo-badge,
.app-brand-logo .brand-logo-badge {
  align-items: center;
  background: transparent;
  block-size: 2rem;
  border-radius: 0;
  box-shadow: none;
  display: inline-flex;
  inline-size: 20px;
  justify-content: center;
  line-height: 0;
  overflow: visible;
}

.app-brand-logo.demo .brand-logo-image,
.app-brand-logo .brand-logo-image {
  block-size: 2rem;
  display: block;
  inline-size: auto;
  max-block-size: none;
  max-inline-size: none;
}

.footer-creator-copy {
  max-inline-size: 34rem;
}

.footer-creator-socials .footer-link {
  align-items: center;
  color: var(--bs-heading-color);
  display: inline-flex;
  justify-content: center;
  transition: color 0.2s ease-in-out;
}

.footer-creator-socials .footer-link:hover {
  color: var(--bs-primary);
}

.bka-table-text,
.bka-table-text-sm,
.bka-table-text-lg {
  display: block;
  min-inline-size: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.bka-table-text {
  max-inline-size: min(36vw, 24rem);
}

.bka-table-text-sm {
  max-inline-size: min(28vw, 16rem);
}

.bka-table-text-lg {
  font-size: clamp(0.8125rem, 0.78rem + 0.2vw, 0.9375rem);
  line-height: 1.35;
  max-inline-size: min(44vw, 32rem);
}

.bka-table-stack {
  min-inline-size: 0;
}

.bka-min-w-0,
.bka-page-heading > *,
.bka-page-heading .d-flex,
.bka-text-clamp-1,
.bka-text-clamp-2,
.bka-responsive-title {
  min-inline-size: 0;
  max-inline-size: 100%;
}

.bka-text-clamp-1,
.bka-text-clamp-2,
.bka-responsive-title {
  overflow: hidden;
  overflow-wrap: anywhere;
}

.bka-text-clamp-1 {
  text-overflow: ellipsis;
  white-space: nowrap;
}

.bka-text-clamp-2,
.bka-responsive-title {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.bka-responsive-title {
  font-size: clamp(1.125rem, 1rem + 0.75vw, 1.5rem);
  line-height: 1.3;
}

.bka-responsive-action {
  align-items: center;
  display: inline-flex;
  gap: 0.375rem;
  justify-content: center;
}

/* Keep DataTables inside their card when the sidebar changes width. */
.card-datatable,
.card-datatable > .dt-container,
.card-datatable .dt-layout-row,
.card-datatable .dt-layout-cell,
.card-datatable .dt-layout-full {
  max-inline-size: 100%;
  min-inline-size: 0;
}

.card-datatable {
  overflow-x: clip;
}

@supports not (overflow: clip) {
  .card-datatable {
    overflow-x: hidden;
  }
}

.card-datatable table.dataTable {
  inline-size: 100% !important;
  max-inline-size: 100%;
}

/* The case list keeps its primary identity and actions visible at every width. */
.bka-case-list-table .bka-case-subject {
  max-inline-size: min(24vw, 18rem);
}

.bka-case-list-table th.bka-case-actions-column,
.bka-case-list-table td.bka-case-actions-column {
  inline-size: 6.5rem !important;
  min-inline-size: 6.5rem;
  max-inline-size: 6.5rem;
  padding-inline: 0.5rem 1rem !important;
}

.bka-case-list-table .bka-case-actions {
  align-items: center;
  display: flex;
  inline-size: 100%;
  justify-content: flex-end;
  min-inline-size: 0;
}

@media (max-width: 1399.98px) {
  .bka-case-list-table .bka-case-subject {
    max-inline-size: min(22vw, 15rem);
  }
}

/* Keep responsive-modal content bounded without overriding Bootstrap's dialog width. */
.dtr-bs-modal .modal-content,
.dtr-bs-modal .modal-body,
.dtr-bs-modal .dtr-details,
.dtr-bs-modal .modal-body table,
.dtr-bs-modal .dtr-details tbody,
.dtr-bs-modal .dtr-details tr,
.dtr-bs-modal .dtr-details td {
  max-inline-size: 100%;
  min-inline-size: 0;
}

.dtr-bs-modal .modal-title {
  font-size: clamp(1.125rem, 1rem + 1vw, 1.5rem);
  line-height: 1.3;
  max-inline-size: calc(100% - 2.5rem);
  overflow: hidden;
  overflow-wrap: anywhere;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dtr-bs-modal .dtr-details,
.dtr-bs-modal .modal-body table {
  inline-size: 100%;
  table-layout: fixed;
}

.dtr-bs-modal .dtr-details td:first-child,
.dtr-bs-modal .modal-body table td:first-child {
  inline-size: 34%;
}

.dtr-bs-modal .dtr-details td:last-child,
.dtr-bs-modal .modal-body table td:last-child,
.dtr-bs-modal .dtr-data,
.dtr-bs-modal .dtr-data > *,
.dtr-bs-modal .bka-table-stack {
  max-inline-size: 100%;
  min-inline-size: 0;
  overflow-wrap: anywhere;
}

.dtr-bs-modal .bka-table-text,
.dtr-bs-modal .bka-table-text-sm,
.dtr-bs-modal .bka-table-text-lg {
  max-inline-size: 100%;
}

/* Mail panes contain several nested flex rows; allow their text columns to shrink. */
.app-email,
.app-email .app-emails-list,
.app-email .app-email-view,
.app-email .email-list-item,
.app-email .email-list-item > *,
.app-email .app-email-view-header,
.app-email .app-email-view-header .d-flex,
.app-email .app-email-view-content,
.app-email .card-body {
  min-inline-size: 0;
}

.app-email .email-list-item-username,
.app-email .email-list-item-subject,
.app-email #email-view-subject,
.app-email .email-card .card-title,
.app-email .email-card .card-text {
  max-inline-size: 100%;
  overflow: hidden;
  overflow-wrap: anywhere;
  text-overflow: ellipsis;
}

.app-email .email-message-header,
.app-email .email-sender-summary,
.app-email .email-sender-text,
.app-email .email-thread-actions {
  min-inline-size: 0;
}

.app-email .email-message-header {
  gap: 1rem;
}

.app-email .email-sender-summary {
  color: inherit;
  max-inline-size: 100%;
  overflow: hidden;
}

.app-email .email-sender-text {
  overflow: hidden;
}

.app-email .email-sender-text > * {
  max-inline-size: 18rem;
}

.app-email .email-recipients-chevron {
  flex: 0 0 auto;
  transition: transform 0.2s ease;
}

.app-email .email-recipients-more.is-open .email-recipients-chevron {
  transform: rotate(180deg);
}

/* Preserve the existing flat desktop action row while allowing a mobile grid. */
.app-email .email-thread-meta-actions,
.app-email .email-thread-quick-actions {
  display: contents;
}

.aa-DetachedOverlay .aa-DetachedContainer,
.aa-DetachedOverlay .aa-Panel,
.aa-DetachedOverlay .aa-List,
.aa-DetachedOverlay .aa-Item,
.aa-DetachedOverlay .aa-Item a {
  max-inline-size: 100%;
  min-inline-size: 0;
  overflow-x: hidden;
}

.aa-DetachedOverlay .bka-search-result-link {
  inline-size: 100%;
  min-inline-size: 0;
}

.aa-DetachedOverlay .bka-search-result-main {
  min-inline-size: 0;
  overflow: hidden;
}

.aa-DetachedOverlay .bka-search-result-meta {
  display: block;
  flex: 0 1 38%;
  max-inline-size: 38%;
  min-inline-size: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (max-width: 767.98px) {
  .bka-table-text,
  .bka-table-text-sm,
  .bka-table-text-lg {
    max-inline-size: 54vw;
  }

  .aa-DetachedOverlay .bka-search-result-link {
    align-items: flex-start !important;
    flex-direction: column;
  }

  .aa-DetachedOverlay .bka-search-result-meta {
    max-inline-size: 100%;
    text-align: start !important;
  }

  .dtr-bs-modal .modal-body {
    overflow-x: hidden;
    padding-inline: 1rem;
  }

  .dtr-bs-modal .dtr-details td {
    padding-inline: 0.75rem;
    vertical-align: top;
  }

  .app-email .app-email-view.show,
  .app-email .app-emails-list {
    inline-size: 100%;
    max-inline-size: 100%;
  }

  .app-email .app-email-view-content {
    overflow-x: hidden !important;
  }
}

@media (max-width: 575.98px) {
  .bka-responsive-action {
    block-size: 44px;
    inline-size: 44px;
    min-block-size: 44px;
    min-inline-size: 44px;
    padding: 0;
  }

  .bka-responsive-action .bka-action-label {
    display: none;
  }

  .bka-page-actions {
    gap: 0.5rem !important;
  }

  .app-email .email-message-header {
    align-items: center !important;
    display: grid !important;
    gap: 0.5rem;
    grid-template-columns: minmax(0, 1fr) auto;
    padding-inline: 0.75rem;
  }

  .app-email .email-sender-summary {
    inline-size: 100%;
  }

  .app-email .email-sender-summary .avatar {
    flex: 0 0 auto;
    margin-inline-end: 0.5rem !important;
  }

  .app-email .email-sender-text > * {
    max-inline-size: 100%;
  }

  .app-email .email-thread-actions {
    align-items: end !important;
    display: grid !important;
    gap: 0.25rem !important;
    grid-template-columns: 7.5rem 2.75rem;
  }

  .app-email .email-thread-meta-actions {
    display: grid;
    grid-template-columns: repeat(3, 2.5rem);
    grid-template-rows: auto 2.75rem;
    justify-items: center;
  }

  .app-email .email-thread-date {
    grid-column: 1 / -1;
    grid-row: 1;
    justify-self: end;
    margin: 0 0 0.125rem;
    white-space: nowrap;
  }

  .app-email .email-delivery-state {
    align-items: center;
    block-size: 2.25rem;
    display: inline-flex;
    grid-column: 1;
    grid-row: 2;
    inline-size: 2.25rem;
    justify-content: center;
    padding: 0;
  }

  .app-email .email-delivery-state-label {
    display: none;
  }

  .app-email .email-thread-quick-actions {
    display: contents;
  }

  .app-email .email-thread-quick-actions > :first-child {
    grid-column: 2;
    grid-row: 2;
  }

  .app-email .email-thread-quick-actions > :last-child {
    grid-column: 3;
    grid-row: 2;
  }

  .app-email .email-thread-more-actions {
    align-self: end;
    grid-column: 2;
    grid-row: 1;
    padding-block-end: 0.125rem;
  }

  .app-email .email-thread-more-actions > .btn,
  .app-email .email-thread-quick-actions > .btn {
    block-size: 2.75rem;
    inline-size: 2.75rem;
    min-block-size: 2.75rem;
    min-inline-size: 2.75rem;
  }

  .dtr-bs-modal .dtr-details td:first-child,
  .dtr-bs-modal .modal-body table td:first-child {
    inline-size: 38%;
  }

  .dtr-bs-modal .dtr-details td:last-child,
  .dtr-bs-modal .modal-body table td:last-child {
    inline-size: 62%;
  }
}

@media (max-width: 359.98px) {
  .app-email .email-message-header {
    grid-template-columns: minmax(0, 1fr);
  }

  .app-email .email-thread-actions {
    justify-self: end;
  }
}

html[dir='rtl'],
html[dir='rtl'] body,
html[dir='rtl'] .layout-wrapper,
html[dir='rtl'] .layout-page,
html[dir='rtl'] .content-wrapper {
  overflow-x: clip;
}

@supports not (overflow: clip) {
  html[dir='rtl'],
  html[dir='rtl'] body,
  html[dir='rtl'] .layout-wrapper,
  html[dir='rtl'] .layout-page,
  html[dir='rtl'] .content-wrapper {
    overflow-x: hidden;
  }
}

html[dir='rtl'] .drag-target {
  inset-inline-end: 0;
  inset-inline-start: auto;
}

@media (min-width: 1200px) {
  html[dir='rtl'] .layout-menu-fixed .layout-menu,
  html[dir='rtl'] .layout-menu-fixed-offcanvas .layout-menu {
    inset-inline-end: 0;
    inset-inline-start: auto;
  }

  html[dir='rtl'] .layout-menu-collapsed.layout-menu-offcanvas .layout-menu,
  html[dir='rtl'] .layout-menu-fixed-offcanvas.layout-menu-collapsed .layout-menu {
    transform: translateX(100%);
  }
}
