.fc-header-toolbar.fc-toolbar.fc-toolbar-ltr {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

/* The selected interface language must be obvious before the menu is used. */
.dropdown-language .dropdown-menu { min-width: 172px; padding: 6px; }
.dropdown-language .language-option { display: flex; align-items: center; gap: 10px; border-radius: 8px; }
.dropdown-language .language-option.is-active { color: #08745a; background: #e4f7ef; font-weight: 800; }
.dropdown-language .language-selection { margin-left: auto; font-size: 12px; }

/* In compact navigation the brand is an icon, never a clipped wordmark. */
.layout-menu-collapsed:not(.layout-menu-hover, .layout-menu-offcanvas, .layout-menu-fixed-offcanvas) .layout-menu .app-brand .brand-logo__word {
  display: none;
}
.layout-menu-collapsed:not(.layout-menu-hover, .layout-menu-offcanvas, .layout-menu-fixed-offcanvas) .layout-menu .app-brand-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  overflow: visible;
}
.layout-menu-collapsed:not(.layout-menu-hover, .layout-menu-offcanvas, .layout-menu-fixed-offcanvas) .layout-menu .app-brand .layout-menu-toggle {
  display: none;
}

/* Support conversations keep readable foregrounds on Bootstrap's dark skin. */
[data-bs-theme="dark"] .support-ticket-thread .card,
[data-bs-theme="dark"] .support-ticket-thread .card-header {
  border-color: #29413e;
  background: #122321;
}
[data-bs-theme="dark"] .support-ticket-thread .card-header,
[data-bs-theme="dark"] .support-ticket-thread h4,
[data-bs-theme="dark"] .support-ticket-thread h5,
[data-bs-theme="dark"] .support-ticket-thread h6,
[data-bs-theme="dark"] .support-ticket-thread .fw-semibold {
  color: #edf8f3;
}
[data-bs-theme="dark"] .support-ticket-thread .bg-label-secondary {
  color: #dceee7 !important;
  background: #283c3d !important;
}
[data-bs-theme="dark"] .support-ticket-thread .bg-label-primary {
  color: #dcefe7 !important;
  background: #183e35 !important;
}
[data-bs-theme="dark"] .support-ticket-thread .bg-label-success {
  color: #dcf6e8 !important;
  background: #145237 !important;
}
[data-bs-theme="dark"] .support-ticket-thread .text-muted {
  color: #a8c0b7 !important;
}

/*
 * Product brand contract. Keep the override here so it applies to every
 * authenticated panel without modifying third-party assets.
 */
:root,
[data-bs-theme="light"],
[data-bs-theme="dark"] {
  --bs-primary: #18A976;
  --bs-primary-rgb: 24, 169, 118;
  --bs-primary-text-emphasis: #0B6849;
  --bs-primary-bg-subtle: #DDF5EC;
  --bs-primary-border-subtle: #9FE0C6;
  --bs-link-color: #18A976;
  --bs-link-hover-color: #0D7553;
}

.btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-bg: #18A976;
  --bs-btn-border-color: #18A976;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #0D7553;
  --bs-btn-hover-border-color: #0D7553;
  --bs-btn-focus-shadow-rgb: 24, 169, 118;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #0A6044;
  --bs-btn-active-border-color: #0A6044;
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #18A976;
  --bs-btn-disabled-border-color: #18A976;
  color: #fff;
}

body .fc .fc-h-event .fc-event-main,
body .fc .fc-v-event .fc-event-main {
  color: var(--fc-event-text-color);
}

.tagify.tagify-users,
.tagify.tagify-assignee,
.tagify.tagify-select-arrow {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%234b4b4b' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e") !important;
  background-position: right 0.75rem center !important;
  background-repeat: no-repeat !important;
  background-size: 16px 12px !important;
  padding-right: 2.5rem !important;
}

.layout-menu,
#layout-menu {
  height: 100vh !important;
}

.client-kpi-card {
  align-items: center;
  background: var(--bs-card-bg);
  border: 1px solid var(--bs-border-color);
  border-radius: 0.9rem;
  display: flex;
  gap: 0.9rem;
  height: 100%;
  padding: 1rem;
}

.client-kpi-card strong,
.client-kpi-card span { display: block; }

.client-kpi-card strong {
  color: var(--bs-heading-color);
  font-size: 1.35rem;
  line-height: 1.2;
}

.client-kpi-card > div > span {
  color: var(--bs-secondary-color);
  font-size: 0.78rem;
  margin-top: 0.15rem;
}

.client-kpi-icon {
  align-items: center;
  border-radius: 0.7rem;
  display: inline-flex;
  flex: 0 0 2.65rem;
  font-size: 1.2rem;
  height: 2.65rem;
  justify-content: center;
}

.client-case-card {
  background: var(--bs-card-bg);
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.client-case-card:hover,
.client-case-card:focus-visible {
  border-color: var(--bs-primary) !important;
  box-shadow: 0 0.45rem 1.25rem rgba(34, 48, 62, 0.08);
  outline: none;
  transform: translateY(-2px);
}

.client-info-tile {
  background: var(--bs-light-bg-subtle);
  border-radius: 0.75rem;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  padding: 0.9rem 1rem;
}

.client-list-stack { display: flex; flex-direction: column; }

.client-list-row {
  align-items: center;
  border-top: 1px solid var(--bs-border-color);
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  padding: 0.9rem 0;
}

.client-list-icon {
  align-items: center;
  background: var(--bs-primary-bg-subtle);
  border-radius: 0.65rem;
  color: var(--bs-primary);
  display: inline-flex;
  flex: 0 0 2.5rem;
  height: 2.5rem;
  justify-content: center;
}

.min-w-0 { min-width: 0; }
.client-event-item { border-left: 2px solid var(--bs-primary); padding-left: 0.9rem; }

.lawyer-priority-item,
.lawyer-empty-state {
  align-items: center;
  border-top: 1px solid var(--bs-border-color);
  display: flex;
  gap: 0.85rem;
  padding: 0.9rem 0;
}

a.lawyer-priority-item {
  border-radius: 0.65rem;
  padding-left: 0.45rem;
  padding-right: 0.45rem;
  transition: background-color 150ms ease;
}

a.lawyer-priority-item:hover,
a.lawyer-priority-item:focus-visible {
  background: var(--bs-light-bg-subtle);
  outline: none;
}

.lawyer-priority-icon {
  align-items: center;
  border-radius: 0.65rem;
  display: inline-flex;
  flex: 0 0 2.5rem;
  height: 2.5rem;
  justify-content: center;
}

.management-header { overflow: hidden; }

.management-brand-icon {
  align-items: center;
  background: var(--bs-primary-bg-subtle);
  border-radius: 0.85rem;
  color: var(--bs-primary);
  display: inline-flex;
  flex: 0 0 3rem;
  font-size: 1.4rem;
  height: 3rem;
  justify-content: center;
}

.management-org-switcher { flex: 0 1 22rem; width: 100%; }

.management-tabs {
  display: flex;
  gap: 0.45rem;
  overflow-x: auto;
  scrollbar-width: thin;
}

.management-tab {
  align-items: center;
  border-radius: 0.65rem;
  color: var(--bs-secondary-color);
  display: inline-flex;
  flex: 0 0 auto;
  gap: 0.45rem;
  padding: 0.65rem 0.85rem;
  white-space: nowrap;
}

.management-tab:hover,
.management-tab:focus-visible { background: var(--bs-light-bg-subtle); color: var(--bs-primary); }
.management-tab.active { background: var(--bs-primary); color: #fff; }

.management-stat-card {
  align-items: center;
  background: var(--bs-card-bg);
  border: 1px solid var(--bs-border-color);
  border-radius: 0.9rem;
  color: var(--bs-body-color);
  display: flex;
  gap: 0.9rem;
  height: 100%;
  padding: 1rem;
  transition: border-color 150ms ease, box-shadow 150ms ease, transform 150ms ease;
}

a.management-stat-card:hover,
a.management-stat-card:focus-visible {
  border-color: var(--bs-primary);
  box-shadow: 0 0.45rem 1.25rem rgba(34, 48, 62, 0.08);
  outline: none;
  transform: translateY(-2px);
}

.management-stat-card > span:last-child { min-width: 0; }
.management-stat-card strong { color: var(--bs-heading-color); display: block; font-size: 1.35rem; line-height: 1.2; }
.management-stat-card small { color: var(--bs-secondary-color); display: block; margin-top: 0.2rem; }

.management-stat-icon,
.management-list-icon {
  align-items: center;
  border-radius: 0.7rem;
  display: inline-flex;
  flex: 0 0 2.7rem;
  font-size: 1.2rem;
  height: 2.7rem;
  justify-content: center;
}

.management-list-item,
.management-alert-item {
  align-items: center;
  border-top: 1px solid var(--bs-border-color);
  display: flex;
  gap: 0.85rem;
  padding: 0.9rem 0;
}

a.management-list-item { border-radius: 0.6rem; padding-left: 0.4rem; padding-right: 0.4rem; }
a.management-list-item:hover { background: var(--bs-light-bg-subtle); }

.management-empty {
  align-items: center;
  color: var(--bs-secondary-color);
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  justify-content: center;
  min-height: 8rem;
  padding: 1.5rem;
  text-align: center;
}

.management-empty > i { font-size: 2rem; }
.management-live-dot { background: var(--bs-secondary); border-radius: 50%; display: inline-block; height: 0.5rem; width: 0.5rem; }
.management-live-dot.is-live { background: var(--bs-success); box-shadow: 0 0 0 0.2rem rgba(var(--bs-success-rgb), 0.15); }
.management-json { background: var(--bs-light-bg-subtle); border-radius: 0.5rem; font-size: 0.75rem; max-width: 28rem; overflow: auto; padding: 0.75rem; white-space: pre-wrap; }
.management-edit-row > td { background: var(--bs-light-bg-subtle); }

.page-loading-state {
  align-items: center;
  background: rgba(20, 32, 40, 0.16);
  display: flex;
  inset: 0;
  justify-content: center;
  position: fixed;
  z-index: 2000;
}

.page-loading-state__card {
  align-items: center;
  background: var(--bs-body-bg);
  border: 1px solid var(--bs-border-color);
  border-radius: 0.75rem;
  box-shadow: 0 1rem 2.5rem rgba(20, 32, 40, 0.18);
  color: var(--bs-body-color);
  display: flex;
  gap: 0.75rem;
  max-width: min(28rem, calc(100vw - 2rem));
  padding: 1rem 1.25rem;
  text-align: left;
}

.page-loading-state[hidden] { display: none; }

@media (max-width: 767.98px) {
  .layout-navbar .navbar-nav-right { min-width: 0; }
  .layout-navbar .navbar-nav-right .navbar-nav { gap: 0.1rem; }
  .layout-navbar .nav-item.navbar-search-wrapper { flex: 1 1 auto; min-width: 0; }
  #global-search-input { display: none; }
  #navbar-collapse > .navbar-nav:first-child { flex: 0 0 auto; }
  .client-kpi-card { align-items: flex-start; flex-direction: column; gap: 0.55rem; }
  .lawyer-quick-actions > .btn { flex: 1 1 auto; }
  .management-stat-card { align-items: flex-start; flex-direction: column; gap: 0.55rem; }

  .client-responsive-table,
  .lawyer-responsive-table,
  .management-responsive-table { min-width: 0 !important; }

  .client-responsive-table thead,
  .lawyer-responsive-table thead,
  .management-responsive-table thead,
  .lawyer-responsive-table .lawyer-row-select { display: none; }

  .client-responsive-table tbody,
  .client-responsive-table tr,
  .client-responsive-table td,
  .lawyer-responsive-table tbody,
  .lawyer-responsive-table tr,
  .lawyer-responsive-table td,
  .management-responsive-table tbody,
  .management-responsive-table tr,
  .management-responsive-table td { display: block; width: 100%; }

  .client-responsive-table tr,
  .lawyer-responsive-table tr,
  .management-responsive-table tr {
    border: 1px solid var(--bs-border-color);
    border-radius: 0.8rem;
    margin: 0.85rem;
    padding: 0.75rem;
    width: auto;
  }

  .client-responsive-table td,
  .lawyer-responsive-table td,
  .management-responsive-table td {
    align-items: center;
    border: 0;
    display: flex;
    justify-content: space-between;
    padding: 0.45rem 0;
    text-align: right !important;
    white-space: normal;
  }

  .client-responsive-table td::before,
  .lawyer-responsive-table td::before,
  .management-responsive-table td::before {
    color: var(--bs-secondary-color);
    content: attr(data-label);
    flex: 0 0 35%;
    font-size: 0.75rem;
    margin-right: 1rem;
    text-align: left;
  }

  .client-responsive-table td:first-child {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.35rem;
    text-align: left !important;
  }
}
