/*
 * Sobelzcom customer portal compatibility styles
 * Visual language based on the user-supplied Vuexy 10.7.0 starter kit.
 * Visual runtime: Vuexy 10.7.0 core on Bootstrap 5.3.3.
 * Legacy core class names are supported only as DOM/API contracts.
 */

:root {
  --sz-primary: #7367f0;
  --sz-primary-rgb: 115, 103, 240;
  --sz-radius: 8px;
  --sz-font-scale: 1;
  --sz-navbar-height: 68px;
  --sz-menu-height: 58px;
  --sz-container-max: 1440px;
  --sz-body-bg: #f8f7fa;
  --sz-paper: #ffffff;
  --sz-paper-rgb: 255, 255, 255;
  --sz-body-color: #6d6b77;
  --sz-heading-color: #444050;
  --sz-muted: #8c8a97;
  --sz-border: #e6e6e8;
  --sz-border-strong: #d9d8dc;
  --sz-menu-bg: #ffffff;
  --sz-menu-color: #6d6b77;
  --sz-input-bg: #ffffff;
  --sz-hover-bg: #f2f2f3;
  --sz-subtle-bg: #f6f6f7;
  --sz-shadow-sm: 0 0.125rem 0.375rem rgba(47, 43, 61, 0.08);
  --sz-shadow: 0 0.25rem 1.125rem rgba(47, 43, 61, 0.10);
  --sz-shadow-lg: 0 0.75rem 2.5rem rgba(47, 43, 61, 0.16);
  --sz-success: #28c76f;
  --sz-success-rgb: 40, 199, 111;
  --sz-info: #00bad1;
  --sz-info-rgb: 0, 186, 209;
  --sz-warning: #ff9f43;
  --sz-warning-rgb: 255, 159, 67;
  --sz-danger: #ff4c51;
  --sz-danger-rgb: 255, 76, 81;
  --sz-secondary: #808390;
  --sz-transition: 180ms ease;
}

html[data-sz-theme="dark"] {
  color-scheme: dark;
  --sz-body-bg: #25293c;
  --sz-paper: #2f3349;
  --sz-paper-rgb: 47, 51, 73;
  --sz-body-color: #acabc1;
  --sz-heading-color: #cfcde4;
  --sz-muted: #9290a5;
  --sz-border: #44485e;
  --sz-border-strong: #53576e;
  --sz-menu-bg: #2f3349;
  --sz-menu-color: #acabc1;
  --sz-input-bg: #2f3349;
  --sz-hover-bg: #383c52;
  --sz-subtle-bg: #292d42;
  --sz-shadow-sm: 0 0.125rem 0.375rem rgba(15, 17, 26, 0.28);
  --sz-shadow: 0 0.25rem 1.125rem rgba(15, 17, 26, 0.32);
  --sz-shadow-lg: 0 0.75rem 2.5rem rgba(15, 17, 26, 0.42);
}

@media (prefers-color-scheme: dark) {
  html[data-sz-theme="system"] {
    color-scheme: dark;
    --sz-body-bg: #25293c;
    --sz-paper: #2f3349;
    --sz-paper-rgb: 47, 51, 73;
    --sz-body-color: #acabc1;
    --sz-heading-color: #cfcde4;
    --sz-muted: #9290a5;
    --sz-border: #44485e;
    --sz-border-strong: #53576e;
    --sz-menu-bg: #2f3349;
    --sz-menu-color: #acabc1;
    --sz-input-bg: #2f3349;
    --sz-hover-bg: #383c52;
    --sz-subtle-bg: #292d42;
    --sz-shadow-sm: 0 0.125rem 0.375rem rgba(15, 17, 26, 0.28);
    --sz-shadow: 0 0.25rem 1.125rem rgba(15, 17, 26, 0.32);
    --sz-shadow-lg: 0 0.75rem 2.5rem rgba(15, 17, 26, 0.42);
  }
}

html,
body.sobelzcom-theme {
  min-height: 100%;
  background: var(--sz-body-bg);
}

body.sobelzcom-theme {
  margin: 0;
  color: var(--sz-body-color);
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Tahoma, Arial, sans-serif;
  font-size: calc(14px * var(--sz-font-scale));
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  transition: background-color var(--sz-transition), color var(--sz-transition);
}

.sobelzcom-theme *,
.sobelzcom-theme *::before,
.sobelzcom-theme *::after {
  box-sizing: border-box;
}

.sobelzcom-theme a {
  color: var(--sz-primary);
  transition: color var(--sz-transition), background-color var(--sz-transition), border-color var(--sz-transition), box-shadow var(--sz-transition), transform var(--sz-transition);
}

.sobelzcom-theme a:hover,
.sobelzcom-theme a:focus {
  color: var(--sz-primary);
  text-decoration: none;
}

.sobelzcom-theme :focus-visible {
  outline: 3px solid rgba(var(--sz-primary-rgb), 0.28);
  outline-offset: 2px;
}

.sobelzcom-skip-link {
  position: fixed;
  z-index: 10050;
  top: 0.75rem;
  inset-inline-start: 0.75rem;
  padding: 0.75rem 1rem;
  border-radius: var(--sz-radius);
  background: var(--sz-primary);
  color: #fff !important;
  box-shadow: var(--sz-shadow-lg);
  transform: translateY(-160%);
}

.sobelzcom-skip-link:focus {
  transform: translateY(0);
}

.sobelzcom-theme h1,
.sobelzcom-theme h2,
.sobelzcom-theme h3,
.sobelzcom-theme h4,
.sobelzcom-theme h5,
.sobelzcom-theme h6,
.sobelzcom-theme .h1,
.sobelzcom-theme .h2,
.sobelzcom-theme .h3,
.sobelzcom-theme .h4,
.sobelzcom-theme .h5,
.sobelzcom-theme .h6,
.sobelzcom-theme .section-heading,
.sobelzcom-theme .login-heading,
.sobelzcom-theme .register-heading {
  color: var(--sz-heading-color) !important;
  letter-spacing: -0.015em;
}

.sobelzcom-theme .text-muted,
.sobelzcom-theme .tw-text-neutral-500,
.sobelzcom-theme .tw-text-neutral-600 {
  color: var(--sz-muted) !important;
}

.sobelzcom-theme .text-dark,
.sobelzcom-theme .tw-text-neutral-700,
.sobelzcom-theme .tw-text-neutral-800,
.sobelzcom-theme .hover\:tw-text-neutral-800:hover,
.sobelzcom-theme .active\:tw-text-neutral-800:active {
  color: var(--sz-heading-color) !important;
}

.sobelzcom-theme hr {
  border-color: var(--sz-border);
}

/* Layout ------------------------------------------------------------------ */

.sobelzcom-theme #wrapper,
.sobelzcom-theme .layout-wrapper,
.sobelzcom-theme .layout-container,
.sobelzcom-theme .layout-page {
  width: 100%;
  min-height: 100%;
  margin: 0;
  padding: 0;
  background: transparent;
}

.sobelzcom-theme .layout-wrapper {
  display: flex;
  flex-direction: column;
}

.sobelzcom-theme .layout-container,
.sobelzcom-theme .layout-page,
.sobelzcom-theme .content-wrapper {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
}

.sobelzcom-theme .content-wrapper {
  min-height: calc(100vh - var(--sz-navbar-height) - var(--sz-menu-height));
}

.sobelzcom-theme #content {
  width: 100%;
  min-height: 1px;
  flex: 1 0 auto;
  background: var(--sz-body-bg);
}

.sobelzcom-theme .container-p-y {
  padding-top: 1.5rem;
  padding-bottom: 1.75rem;
}

.sobelzcom-theme .container-xxl {
  width: 100%;
  max-width: var(--sz-container-max);
  margin-inline: auto;
  padding-inline: 1.5rem;
}

.sobelzcom-theme .container-fluid {
  width: 100%;
  padding-inline: 1.5rem;
}

.sobelzcom-theme .sobelzcom-alerts-container:empty,
.sobelzcom-theme .sobelzcom-alerts-container .row:empty {
  display: none;
}

.sobelzcom-theme .content-backdrop {
  position: fixed;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  background: var(--sz-body-bg);
}

/* Top navbar --------------------------------------------------------------- */

.sobelzcom-theme .sobelzcom-navbar {
  min-height: var(--sz-navbar-height);
  margin: 0;
  border: 0;
  border-radius: 0;
  background: var(--sz-paper);
  box-shadow: none;
  z-index: 1035;
}

html[data-header-type="fixed"] .sobelzcom-navbar {
  position: sticky;
  top: 0;
}

.sobelzcom-theme .sobelzcom-navbar-container {
  min-height: var(--sz-navbar-height);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.sobelzcom-theme .sobelzcom-navbar-container::before,
.sobelzcom-theme .sobelzcom-navbar-container::after,
.sobelzcom-theme .sobelzcom-menu-container::before,
.sobelzcom-theme .sobelzcom-menu-container::after {
  display: none;
}

.sobelzcom-theme .sobelzcom-navbar-header {
  min-width: 0;
  float: none;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.sobelzcom-theme .navbar-brand {
  height: auto;
  min-height: 44px;
  max-width: min(280px, 42vw);
  float: none;
  display: inline-flex;
  align-items: center;
  margin: 0 !important;
  padding: 0.35rem 0;
  color: var(--sz-heading-color);
}

.sobelzcom-theme .navbar-brand img,
.sobelzcom-theme .navbar-brand .logo-img {
  width: auto;
  max-width: 100%;
  max-height: 42px;
  object-fit: contain;
}

.sobelzcom-theme .sobelzcom-navbar-actions {
  float: none !important;
  display: flex;
  align-items: center;
  gap: 0.4rem;
  margin: 0 !important;
}

.sobelzcom-theme .sobelzcom-navbar-actions > li {
  float: none;
}

.sobelzcom-theme .sobelzcom-navbar-actions > li > a {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.45rem 0.7rem;
  border-radius: calc(var(--sz-radius) + 2px);
  color: var(--sz-body-color);
  background: transparent !important;
}

.sobelzcom-theme .sobelzcom-navbar-actions > li > a:hover,
.sobelzcom-theme .sobelzcom-navbar-actions > li > a:focus,
.sobelzcom-theme .sobelzcom-navbar-actions > .open > a {
  color: var(--sz-primary) !important;
  background: rgba(var(--sz-primary-rgb), 0.10) !important;
}

.sobelzcom-theme .sobelzcom-icon-button {
  width: 42px;
  padding: 0 !important;
  font-size: 1.35rem;
}

.sobelzcom-theme .client-profile-image-small {
  width: 38px;
  height: 38px;
  margin: 0;
  border: 2px solid rgba(var(--sz-primary-rgb), 0.18);
  border-radius: 50%;
  object-fit: cover;
}

.sobelzcom-theme .sobelzcom-profile-toggle {
  padding-inline: 0.35rem 0.65rem !important;
}

.sobelzcom-theme .sobelzcom-profile-name {
  max-width: 150px;
  overflow: hidden;
  color: var(--sz-heading-color);
  font-weight: 600;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sobelzcom-theme .sobelzcom-profile-chevron,
.sobelzcom-theme .sobelzcom-submenu-chevron {
  width: 0.9em;
  height: 0.9em;
  color: var(--sz-muted);
}

.sobelzcom-theme .sobelzcom-menu-toggle,
.sobelzcom-theme .sobelzcom-menu-close {
  width: 42px;
  height: 42px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: calc(var(--sz-radius) + 2px);
  display: none;
  align-items: center;
  justify-content: center;
  background: rgba(var(--sz-primary-rgb), 0.10);
  color: var(--sz-primary);
  font-size: 1.45rem;
}

/* Horizontal menu ---------------------------------------------------------- */

.sobelzcom-theme .sobelzcom-horizontal-menu {
  min-height: var(--sz-menu-height);
  border: 0;
  border-top: 1px solid rgba(0, 0, 0, 0.025);
  border-bottom: 1px solid var(--sz-border);
  background: var(--sz-menu-bg);
  color: var(--sz-menu-color);
  box-shadow: var(--sz-shadow-sm);
  z-index: 1030;
  transition: transform 240ms ease, background-color var(--sz-transition), border-color var(--sz-transition);
}

html[data-header-type="fixed"] .sobelzcom-horizontal-menu {
  position: sticky;
  top: var(--sz-navbar-height);
}

html[data-menu-style="dark"] .sobelzcom-horizontal-menu {
  --sz-menu-bg: #2f3349;
  --sz-menu-color: #c8c7d5;
  border-color: #44485e;
}

html[data-menu-style="primary"] .sobelzcom-horizontal-menu {
  --sz-menu-bg: var(--sz-primary);
  --sz-menu-color: #ffffff;
  border-color: transparent;
}

.sobelzcom-theme .sobelzcom-menu-container {
  min-height: var(--sz-menu-height);
  display: flex;
  align-items: center;
}

.sobelzcom-theme .menu-inner {
  width: 100%;
  min-width: 0;
  float: none;
  display: flex;
  align-items: center;
  gap: 0.25rem;
  margin: 0;
  padding: 0.45rem 0;
  list-style: none;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: thin;
}

.sobelzcom-theme .menu-inner > li,
.sobelzcom-theme .menu-inner > .menu-item {
  float: none;
  flex: 0 0 auto;
  margin: 0;
}

.sobelzcom-theme .menu-inner > li > a,
.sobelzcom-theme .menu-inner .menu-link {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.65rem 0.85rem;
  border-radius: var(--sz-radius);
  color: var(--sz-menu-color);
  font-weight: 500;
  line-height: 1.2;
  white-space: nowrap;
}

.sobelzcom-theme .menu-inner .menu-icon {
  width: 1.2em;
  height: 1.2em;
  flex: 0 0 1.2em;
  font-size: 1.15rem;
  text-align: center;
}

.sobelzcom-theme .menu-inner > li > a:hover,
.sobelzcom-theme .menu-inner > li > a:focus {
  color: var(--sz-primary);
  background: rgba(var(--sz-primary-rgb), 0.10);
}

.sobelzcom-theme .menu-inner > li.active > a,
.sobelzcom-theme .menu-inner > li.active > a:hover,
.sobelzcom-theme .menu-inner > li.active > a:focus {
  color: #fff;
  background: var(--sz-primary);
  box-shadow: 0 0.2rem 0.65rem rgba(var(--sz-primary-rgb), 0.35);
}

html[data-menu-style="dark"] .sobelzcom-theme .menu-inner > li > a:hover,
html[data-menu-style="dark"] .sobelzcom-theme .menu-inner > li > a:focus {
  color: #fff;
  background: rgba(255, 255, 255, 0.09);
}

html[data-menu-style="primary"] .sobelzcom-theme .menu-inner > li > a:hover,
html[data-menu-style="primary"] .sobelzcom-theme .menu-inner > li > a:focus {
  color: #fff;
  background: rgba(255, 255, 255, 0.14);
}

html[data-menu-style="primary"] .sobelzcom-theme .menu-inner > li.active > a {
  color: var(--sz-primary);
  background: #fff;
  box-shadow: 0 0.2rem 0.75rem rgba(0, 0, 0, 0.16);
}

.sobelzcom-theme .sobelzcom-mobile-menu-heading {
  display: none;
}

/* Dropdowns --------------------------------------------------------------- */

.sobelzcom-theme .dropdown-menu {
  min-width: 220px;
  margin-top: 0.5rem;
  padding: 0.45rem;
  border: 1px solid var(--sz-border);
  border-radius: calc(var(--sz-radius) + 2px);
  background: var(--sz-paper);
  box-shadow: var(--sz-shadow-lg);
  color: var(--sz-body-color);
}

.sobelzcom-theme .dropdown-menu > li > a {
  min-height: 38px;
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.55rem 0.7rem;
  border-radius: calc(var(--sz-radius) - 1px);
  color: var(--sz-body-color);
  line-height: 1.35;
}

.sobelzcom-theme .dropdown-menu > li > a .ti {
  width: 1.15em;
  height: 1.15em;
  flex: 0 0 1.15em;
  font-size: 1.1rem;
  color: var(--sz-muted);
}

.sobelzcom-theme .dropdown-menu > li > a:hover,
.sobelzcom-theme .dropdown-menu > li > a:focus,
.sobelzcom-theme .dropdown-menu > .active > a,
.sobelzcom-theme .dropdown-menu > .active > a:hover,
.sobelzcom-theme .dropdown-menu > .active > a:focus {
  color: var(--sz-primary);
  background: rgba(var(--sz-primary-rgb), 0.10);
}

.sobelzcom-theme .dropdown-menu .divider {
  margin: 0.4rem 0;
  background: var(--sz-border);
}

.sobelzcom-theme .sobelzcom-profile-menu > .dropdown-menu {
  min-width: 280px;
}

.sobelzcom-theme .sobelzcom-profile-summary {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.55rem 0.7rem;
}

.sobelzcom-theme .sobelzcom-profile-summary img {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  object-fit: cover;
}

.sobelzcom-theme .sobelzcom-profile-summary strong,
.sobelzcom-theme .sobelzcom-profile-summary small {
  max-width: 185px;
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sobelzcom-theme .sobelzcom-profile-summary strong {
  color: var(--sz-heading-color);
}

.sobelzcom-theme .sobelzcom-profile-summary small {
  color: var(--sz-muted);
}

.sobelzcom-theme .dropdown-submenu {
  position: relative;
}

.sobelzcom-theme .dropdown-submenu > .dropdown-menu {
  top: -0.45rem;
  left: 100%;
  margin-top: 0;
}

.sobelzcom-theme .dropdown-submenu:hover > .dropdown-menu,
.sobelzcom-theme .dropdown-submenu:focus-within > .dropdown-menu {
  display: block;
}

.sobelzcom-theme .sobelzcom-theme-menu {
  min-width: 190px;
}

.sobelzcom-theme .sobelzcom-theme-menu a span {
  flex: 1 1 auto;
}

.sobelzcom-theme .sobelzcom-theme-check {
  display: none;
  margin-inline-start: auto;
  color: var(--sz-primary) !important;
}

html[data-sz-theme="light"] .sobelzcom-theme [data-sz-theme-value="light"] .sobelzcom-theme-check,
html[data-sz-theme="dark"] .sobelzcom-theme [data-sz-theme-value="dark"] .sobelzcom-theme-check,
html[data-sz-theme="system"] .sobelzcom-theme [data-sz-theme-value="system"] .sobelzcom-theme-check {
  display: inline-block;
}

/* Quick submenu ------------------------------------------------------------ */

.sobelzcom-theme .customer-top-submenu {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  margin: 0 0 1.1rem;
  padding: 0;
  list-style: none;
}

.sobelzcom-theme .customer-top-submenu > li {
  float: none;
  margin: 0;
}

.sobelzcom-theme .customer-top-submenu > li > a {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.5rem 0.75rem;
  border: 1px solid var(--sz-border);
  border-radius: var(--sz-radius);
  background: var(--sz-paper);
  color: var(--sz-body-color);
  box-shadow: var(--sz-shadow-sm);
}

.sobelzcom-theme .customer-top-submenu > li > a:hover,
.sobelzcom-theme .customer-top-submenu > li > a:focus {
  border-color: rgba(var(--sz-primary-rgb), 0.45);
  color: var(--sz-primary);
  background: rgba(var(--sz-primary-rgb), 0.08);
}

/* Cards and panels --------------------------------------------------------- */

.sobelzcom-theme .panel_s {
  margin-bottom: 1.5rem;
  border: 0;
  border-radius: var(--sz-radius);
  background: transparent;
  box-shadow: none;
}

.sobelzcom-theme .panel,
.sobelzcom-theme .panel_s > .panel-body,
.sobelzcom-theme .panel_s > .panel-heading,
.sobelzcom-theme .panel_s > .panel-footer {
  border-color: var(--sz-border);
  background: var(--sz-paper);
  color: var(--sz-body-color);
}

.sobelzcom-theme .panel,
.sobelzcom-theme .panel_s > .panel-body {
  border: 1px solid transparent;
  border-radius: var(--sz-radius);
  box-shadow: var(--sz-shadow);
}

html[data-skin="bordered"] .sobelzcom-theme .panel,
html[data-skin="bordered"] .sobelzcom-theme .panel_s > .panel-body,
html[data-skin="bordered"] .sobelzcom-theme .customer-top-submenu > li > a,
html[data-skin="bordered"] .sobelzcom-theme .invoices-stats > [class*="col-"] {
  border-color: var(--sz-border-strong);
  box-shadow: none;
}

.sobelzcom-theme .panel_s > .panel-body,
.sobelzcom-theme .panel-body {
  padding: 1.35rem;
}

.sobelzcom-theme .panel_s > .panel-heading,
.sobelzcom-theme .panel-heading {
  padding: 1rem 1.35rem;
  border-bottom: 1px solid var(--sz-border);
  border-radius: var(--sz-radius) var(--sz-radius) 0 0;
  color: var(--sz-heading-color);
}

.sobelzcom-theme .panel_s > .panel-footer,
.sobelzcom-theme .panel-footer {
  padding: 1rem 1.35rem;
  border-top: 1px solid var(--sz-border);
  border-radius: 0 0 var(--sz-radius) var(--sz-radius);
}

.sobelzcom-theme .panel-title {
  color: var(--sz-heading-color);
  font-weight: 600;
}

.sobelzcom-theme .panel_s.client-reply > .panel-body,
.sobelzcom-theme .panel_s.client-reply > .panel-heading {
  border-inline-start: 3px solid var(--sz-primary);
}

.sobelzcom-theme .tw-bg-neutral-50 {
  background-color: var(--sz-subtle-bg) !important;
}

.sobelzcom-theme .tw-border-neutral-100,
.sobelzcom-theme .tw-divide-neutral-100 > :not([hidden]) ~ :not([hidden]) {
  border-color: var(--sz-border) !important;
}

/* Forms ------------------------------------------------------------------- */

.sobelzcom-theme label,
.sobelzcom-theme .control-label {
  color: var(--sz-heading-color);
  font-weight: 500;
}

.sobelzcom-theme .form-control,
.sobelzcom-theme .bootstrap-select > .dropdown-toggle,
.sobelzcom-theme .input-group-addon,
.sobelzcom-theme .input-group-btn > .btn-default {
  min-height: 40px;
  border: 1px solid var(--sz-border-strong);
  border-radius: var(--sz-radius);
  background: var(--sz-input-bg);
  color: var(--sz-body-color);
  box-shadow: none;
  transition: border-color var(--sz-transition), box-shadow var(--sz-transition), background-color var(--sz-transition), color var(--sz-transition);
}

.sobelzcom-theme textarea.form-control {
  min-height: 110px;
  resize: vertical;
}

.sobelzcom-theme .form-control::placeholder {
  color: var(--sz-muted);
  opacity: 0.78;
}

.sobelzcom-theme .form-control:focus,
.sobelzcom-theme .bootstrap-select.open > .dropdown-toggle,
.sobelzcom-theme .bootstrap-select > .dropdown-toggle:focus {
  border-color: var(--sz-primary) !important;
  box-shadow: 0 0 0 0.2rem rgba(var(--sz-primary-rgb), 0.16) !important;
  outline: 0 !important;
}

.sobelzcom-theme .form-control[disabled],
.sobelzcom-theme .form-control[readonly],
.sobelzcom-theme fieldset[disabled] .form-control {
  background: var(--sz-subtle-bg);
  color: var(--sz-muted);
  opacity: 0.8;
}

.sobelzcom-theme .has-error .form-control {
  border-color: var(--sz-danger);
}

.sobelzcom-theme .has-error .help-block,
.sobelzcom-theme .text-danger {
  color: var(--sz-danger) !important;
}

.sobelzcom-theme .has-success .form-control {
  border-color: var(--sz-success);
}

.sobelzcom-theme .help-block {
  color: var(--sz-muted);
}

.sobelzcom-theme .input-group .form-control:first-child,
.sobelzcom-theme .input-group-addon:first-child,
.sobelzcom-theme .input-group-btn:first-child > .btn {
  border-start-end-radius: 0;
  border-end-end-radius: 0;
}

.sobelzcom-theme .input-group .form-control:last-child,
.sobelzcom-theme .input-group-addon:last-child,
.sobelzcom-theme .input-group-btn:last-child > .btn {
  border-start-start-radius: 0;
  border-end-start-radius: 0;
}

.sobelzcom-theme .input-group-addon {
  min-width: 40px;
  padding: 0.55rem 0.75rem;
  color: var(--sz-muted);
}

.sobelzcom-theme .bootstrap-select.btn-group .dropdown-menu li a span.text {
  color: inherit;
}

.sobelzcom-theme .bootstrap-select .dropdown-toggle .filter-option {
  color: var(--sz-body-color);
}

.sobelzcom-theme .checkbox label,
.sobelzcom-theme .radio label {
  color: var(--sz-body-color);
}

.sobelzcom-theme input[type="checkbox"],
.sobelzcom-theme input[type="radio"] {
  accent-color: var(--sz-primary);
}

.sobelzcom-theme .xdsoft_datetimepicker,
.sobelzcom-theme .colorpicker,
.sobelzcom-theme .bootstrap-select .dropdown-menu {
  border-color: var(--sz-border);
  background: var(--sz-paper);
  color: var(--sz-body-color);
  box-shadow: var(--sz-shadow-lg);
}

.sobelzcom-theme .xdsoft_datetimepicker .xdsoft_calendar td,
.sobelzcom-theme .xdsoft_datetimepicker .xdsoft_calendar th,
.sobelzcom-theme .xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box {
  border-color: var(--sz-border);
  background: var(--sz-paper);
  color: var(--sz-body-color);
}

.sobelzcom-theme .xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_current,
.sobelzcom-theme .xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box > div > div.xdsoft_current {
  background: var(--sz-primary) !important;
  box-shadow: none !important;
}

/* Buttons and ripple ------------------------------------------------------- */

.sobelzcom-theme .btn {
  min-height: 38px;
  padding: 0.55rem 0.95rem;
  border-radius: var(--sz-radius);
  font-weight: 500;
  line-height: 1.35;
  box-shadow: none;
  transition: transform var(--sz-transition), box-shadow var(--sz-transition), background-color var(--sz-transition), border-color var(--sz-transition), color var(--sz-transition);
}

.sobelzcom-theme .btn:hover,
.sobelzcom-theme .btn:focus {
  transform: translateY(-1px);
}

.sobelzcom-theme .btn:active,
.sobelzcom-theme .btn.active {
  transform: translateY(0);
}

.sobelzcom-theme .btn-primary,
.sobelzcom-theme .btn-primary:hover,
.sobelzcom-theme .btn-primary:focus,
.sobelzcom-theme .btn-primary:active,
.sobelzcom-theme .btn-primary.active,
.sobelzcom-theme .open > .dropdown-toggle.btn-primary {
  border-color: var(--sz-primary) !important;
  background: var(--sz-primary) !important;
  color: #fff !important;
}

.sobelzcom-theme .btn-primary:hover,
.sobelzcom-theme .btn-primary:focus {
  box-shadow: 0 0.3rem 0.8rem rgba(var(--sz-primary-rgb), 0.32);
}

.sobelzcom-theme .btn-default {
  border-color: var(--sz-border-strong);
  background: var(--sz-paper);
  color: var(--sz-body-color);
}

.sobelzcom-theme .btn-default:hover,
.sobelzcom-theme .btn-default:focus,
.sobelzcom-theme .btn-default:active,
.sobelzcom-theme .btn-default.active,
.sobelzcom-theme .open > .dropdown-toggle.btn-default {
  border-color: rgba(var(--sz-primary-rgb), 0.42);
  background: rgba(var(--sz-primary-rgb), 0.08);
  color: var(--sz-primary);
}

.sobelzcom-theme .btn-success {
  border-color: var(--sz-success);
  background: var(--sz-success);
  color: #fff;
}

.sobelzcom-theme .btn-info {
  border-color: var(--sz-info);
  background: var(--sz-info);
  color: #fff;
}

.sobelzcom-theme .btn-warning {
  border-color: var(--sz-warning);
  background: var(--sz-warning);
  color: #fff;
}

.sobelzcom-theme .btn-danger {
  border-color: var(--sz-danger);
  background: var(--sz-danger);
  color: #fff;
}

.sobelzcom-theme .btn-link {
  color: var(--sz-primary);
}

.sobelzcom-theme .btn[disabled],
.sobelzcom-theme .btn.disabled,
.sobelzcom-theme fieldset[disabled] .btn {
  transform: none;
  opacity: 0.58;
}

.sobelzcom-theme .sz-ripple-host {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

.sobelzcom-theme .sz-ripple {
  position: absolute;
  z-index: 0;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  pointer-events: none;
  background: currentColor;
  opacity: 0.18;
  transform: translate(-50%, -50%) scale(0);
  animation: sz-ripple 560ms ease-out forwards;
}

@keyframes sz-ripple {
  to {
    opacity: 0;
    transform: translate(-50%, -50%) scale(24);
  }
}

/* Tables and DataTables ---------------------------------------------------- */

.sobelzcom-theme .table-responsive {
  border: 0;
  border-radius: var(--sz-radius);
}

.sobelzcom-theme .table {
  width: 100% !important;
  margin-bottom: 0;
  border-collapse: separate;
  border-spacing: 0;
  background: var(--sz-paper);
  color: var(--sz-body-color);
}

.sobelzcom-theme .table > thead > tr > th {
  padding: 0.8rem 0.9rem;
  border-top: 0;
  border-bottom: 1px solid var(--sz-border-strong);
  background: var(--sz-subtle-bg);
  color: var(--sz-heading-color);
  font-size: 0.84em;
  font-weight: 600;
  letter-spacing: 0.025em;
  text-transform: uppercase;
  vertical-align: middle;
}

.sobelzcom-theme .table > tbody > tr > td,
.sobelzcom-theme .table > tfoot > tr > td,
.sobelzcom-theme .table > tfoot > tr > th {
  padding: 0.82rem 0.9rem;
  border-top: 1px solid var(--sz-border);
  background: transparent;
  color: var(--sz-body-color);
  vertical-align: middle;
}

.sobelzcom-theme .table-hover > tbody > tr:hover > td,
.sobelzcom-theme .table > tbody > tr:hover > td {
  background: rgba(var(--sz-primary-rgb), 0.045);
}

.sobelzcom-theme .table-striped > tbody > tr:nth-of-type(odd) > td {
  background: rgba(128, 131, 144, 0.035);
}

.sobelzcom-theme .dataTables_wrapper {
  color: var(--sz-body-color);
}

.sobelzcom-theme .dataTables_wrapper .dataTables_length,
.sobelzcom-theme .dataTables_wrapper .dataTables_filter,
.sobelzcom-theme .dataTables_wrapper .dataTables_info,
.sobelzcom-theme .dataTables_wrapper .dataTables_paginate {
  color: var(--sz-muted);
}

.sobelzcom-theme .dataTables_wrapper .dataTables_filter input,
.sobelzcom-theme .dataTables_wrapper .dataTables_length select {
  min-height: 36px;
  border: 1px solid var(--sz-border-strong);
  border-radius: var(--sz-radius);
  background: var(--sz-input-bg);
  color: var(--sz-body-color);
}

.sobelzcom-theme .pagination > li > a,
.sobelzcom-theme .pagination > li > span,
.sobelzcom-theme .dataTables_wrapper .dataTables_paginate .paginate_button {
  min-width: 34px;
  min-height: 34px;
  margin: 0 0.12rem;
  padding: 0.42rem 0.65rem;
  border: 0 !important;
  border-radius: var(--sz-radius) !important;
  background: transparent !important;
  color: var(--sz-body-color) !important;
  box-shadow: none !important;
}

.sobelzcom-theme .pagination > li > a:hover,
.sobelzcom-theme .pagination > li > span:hover,
.sobelzcom-theme .dataTables_wrapper .dataTables_paginate .paginate_button:hover {
  background: rgba(var(--sz-primary-rgb), 0.10) !important;
  color: var(--sz-primary) !important;
}

.sobelzcom-theme .pagination > .active > a,
.sobelzcom-theme .pagination > .active > span,
.sobelzcom-theme .dataTables_wrapper .dataTables_paginate .paginate_button.current,
.sobelzcom-theme .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
  background: var(--sz-primary) !important;
  color: #fff !important;
  box-shadow: 0 0.2rem 0.6rem rgba(var(--sz-primary-rgb), 0.28) !important;
}

/* Alerts, badges, progress ------------------------------------------------- */

.sobelzcom-theme .alert {
  padding: 0.9rem 1rem;
  border: 1px solid transparent;
  border-radius: var(--sz-radius);
  box-shadow: none;
}

.sobelzcom-theme .alert-success {
  border-color: rgba(var(--sz-success-rgb), 0.24);
  background: rgba(var(--sz-success-rgb), 0.13);
  color: var(--sz-success);
}

.sobelzcom-theme .alert-info {
  border-color: rgba(var(--sz-info-rgb), 0.24);
  background: rgba(var(--sz-info-rgb), 0.13);
  color: var(--sz-info);
}

.sobelzcom-theme .alert-warning {
  border-color: rgba(var(--sz-warning-rgb), 0.28);
  background: rgba(var(--sz-warning-rgb), 0.14);
  color: #c87622;
}

.sobelzcom-theme .alert-danger {
  border-color: rgba(var(--sz-danger-rgb), 0.24);
  background: rgba(var(--sz-danger-rgb), 0.13);
  color: var(--sz-danger);
}

.sobelzcom-theme .badge,
.sobelzcom-theme .label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.32em 0.58em;
  border-radius: 999px;
  font-weight: 600;
  line-height: 1;
}

.sobelzcom-theme .badge {
  background: var(--sz-danger);
  color: #fff;
}

.sobelzcom-theme .label-default {
  background: rgba(128, 131, 144, 0.16);
  color: var(--sz-secondary);
}

.sobelzcom-theme .label-primary {
  background: rgba(var(--sz-primary-rgb), 0.16);
  color: var(--sz-primary);
}

.sobelzcom-theme .label-success {
  background: rgba(var(--sz-success-rgb), 0.16);
  color: var(--sz-success);
}

.sobelzcom-theme .label-info {
  background: rgba(var(--sz-info-rgb), 0.16);
  color: var(--sz-info);
}

.sobelzcom-theme .label-warning {
  background: rgba(var(--sz-warning-rgb), 0.18);
  color: #c87622;
}

.sobelzcom-theme .label-danger {
  background: rgba(var(--sz-danger-rgb), 0.16);
  color: var(--sz-danger);
}

.sobelzcom-theme .progress {
  height: 7px;
  margin-bottom: 1rem;
  border-radius: 999px;
  background: var(--sz-hover-bg);
  box-shadow: none;
  overflow: hidden;
}

.sobelzcom-theme .progress-bar {
  background: var(--sz-primary);
  box-shadow: none;
}

.sobelzcom-theme .progress-bar-success { background: var(--sz-success); }
.sobelzcom-theme .progress-bar-info { background: var(--sz-info); }
.sobelzcom-theme .progress-bar-warning { background: var(--sz-warning); }
.sobelzcom-theme .progress-bar-danger { background: var(--sz-danger); }

.sobelzcom-theme .invoices-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 0;
  margin-inline: -0.5rem;
}

.sobelzcom-theme .invoices-stats > [class*="col-"] {
  min-height: 104px;
  margin-inline: 0.5rem;
  padding: 1rem;
  border: 1px solid transparent;
  border-radius: var(--sz-radius);
  background: var(--sz-paper);
  box-shadow: var(--sz-shadow-sm);
}

@media (min-width: 992px) {
  .sobelzcom-theme .invoices-stats > .col-md-3 {
    width: calc(25% - 1rem);
  }
}

/* Tabs, wells, lists ------------------------------------------------------- */

.sobelzcom-theme .nav-tabs {
  border-bottom: 1px solid var(--sz-border);
}

.sobelzcom-theme .nav-tabs > li > a {
  margin: 0;
  padding: 0.75rem 0.9rem;
  border: 0;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  background: transparent;
  color: var(--sz-muted);
  font-weight: 500;
}

.sobelzcom-theme .nav-tabs > li > a:hover,
.sobelzcom-theme .nav-tabs > li > a:focus {
  border-color: transparent;
  background: rgba(var(--sz-primary-rgb), 0.06);
  color: var(--sz-primary);
}

.sobelzcom-theme .nav-tabs > li.active > a,
.sobelzcom-theme .nav-tabs > li.active > a:hover,
.sobelzcom-theme .nav-tabs > li.active > a:focus {
  border: 0;
  border-bottom: 2px solid var(--sz-primary);
  background: transparent;
  color: var(--sz-primary);
}

.sobelzcom-theme .list-group-item,
.sobelzcom-theme .well {
  border-color: var(--sz-border);
  background: var(--sz-paper);
  color: var(--sz-body-color);
}

.sobelzcom-theme .list-group-item:hover {
  background: rgba(var(--sz-primary-rgb), 0.05);
}

/* Modals and popovers ------------------------------------------------------ */

.sobelzcom-theme .modal-content {
  border: 1px solid var(--sz-border);
  border-radius: calc(var(--sz-radius) + 2px);
  background: var(--sz-paper);
  color: var(--sz-body-color);
  box-shadow: var(--sz-shadow-lg);
}

.sobelzcom-theme .modal-header,
.sobelzcom-theme .modal-footer {
  border-color: var(--sz-border);
}

.sobelzcom-theme .modal-title {
  color: var(--sz-heading-color);
}

.sobelzcom-theme .close {
  color: var(--sz-heading-color);
  text-shadow: none;
  opacity: 0.7;
}

.sobelzcom-theme .popover,
.sobelzcom-theme .tooltip-inner {
  border-color: var(--sz-border);
  border-radius: var(--sz-radius);
  background: var(--sz-heading-color);
  color: var(--sz-paper);
  box-shadow: var(--sz-shadow);
}

.sobelzcom-theme .modal-backdrop.in {
  opacity: 0.52;
}

/* Knowledge base ----------------------------------------------------------- */

.sobelzcom-theme .kb-search-jumbotron {
  margin: -1.5rem 0 1.5rem;
  padding: 3rem 0;
  border-radius: 0;
  background:
    radial-gradient(circle at 15% 20%, rgba(255,255,255,0.18), transparent 28%),
    linear-gradient(135deg, var(--sz-primary-light, var(--sz-primary)), var(--sz-primary-dark, var(--sz-primary)));
  color: #fff;
  box-shadow: var(--sz-shadow);
}

.sobelzcom-theme .kb-search-jumbotron h1,
.sobelzcom-theme .kb-search-jumbotron h2,
.sobelzcom-theme .kb-search-jumbotron .kb-search-heading {
  color: #fff !important;
}

.sobelzcom-theme .kb-search-jumbotron .form-control {
  min-height: 48px;
  border-color: rgba(255,255,255,0.32);
  background: #fff;
  color: #444050;
}

.sobelzcom-theme .kb-search-jumbotron .btn {
  min-height: 48px;
  border-color: #fff !important;
  background: #fff !important;
  color: var(--sz-primary) !important;
}

/* Calendar, comments, Gantt, uploads -------------------------------------- */

.sobelzcom-theme .fc,
.sobelzcom-theme .fc-view-container,
.sobelzcom-theme .fc-unthemed td,
.sobelzcom-theme .fc-unthemed th,
.sobelzcom-theme .fc-unthemed .fc-divider,
.sobelzcom-theme .fc-unthemed .fc-list-heading td,
.sobelzcom-theme .fc-unthemed .fc-popover {
  border-color: var(--sz-border);
  background: var(--sz-paper);
  color: var(--sz-body-color);
}

.sobelzcom-theme .fc-toolbar h2 {
  color: var(--sz-heading-color);
  font-size: 1.25rem;
}

.sobelzcom-theme .fc-button {
  border-color: var(--sz-border-strong) !important;
  border-radius: var(--sz-radius) !important;
  background: var(--sz-paper) !important;
  color: var(--sz-body-color) !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

.sobelzcom-theme .fc-button.fc-state-active,
.sobelzcom-theme .fc-button:hover {
  border-color: var(--sz-primary) !important;
  background: var(--sz-primary) !important;
  color: #fff !important;
}

.sobelzcom-theme .comments,
.sobelzcom-theme .comments .commenting-field.main,
.sobelzcom-theme .comments .commenting-field .textarea-wrapper,
.sobelzcom-theme .comments .comment-wrapper {
  border-color: var(--sz-border) !important;
  background: var(--sz-paper) !important;
  color: var(--sz-body-color) !important;
}

.sobelzcom-theme .gantt-container,
.sobelzcom-theme .gantt .grid-background {
  background: var(--sz-paper);
}

.sobelzcom-theme .gantt .grid-header,
.sobelzcom-theme .gantt .grid-row,
.sobelzcom-theme .gantt .row-line,
.sobelzcom-theme .gantt .tick {
  stroke: var(--sz-border);
}

.sobelzcom-theme .dropzone,
.sobelzcom-theme .attachments_area {
  border-color: var(--sz-border-strong);
  border-radius: var(--sz-radius);
  background: var(--sz-subtle-bg);
  color: var(--sz-body-color);
}

.sobelzcom-theme .dropzone.dz-drag-hover {
  border-color: var(--sz-primary);
  background: rgba(var(--sz-primary-rgb), 0.08);
}

/* Authentication and public documents ------------------------------------ */

.sobelzcom-theme .login-heading,
.sobelzcom-theme .register-heading {
  margin-top: 0;
  font-size: 1.6rem;
}

.sobelzcom-theme .panel_s .panel-body > .login-heading:first-child,
.sobelzcom-theme .panel_s .panel-body > .register-heading:first-child {
  margin-bottom: 1rem;
}

.sobelzcom-theme .invoice-html,
.sobelzcom-theme .estimate-html,
.sobelzcom-theme .proposal-html,
.sobelzcom-theme .contract-html,
.sobelzcom-theme .subscription-html {
  color: var(--sz-body-color);
}

.sobelzcom-theme iframe {
  max-width: 100%;
  border-color: var(--sz-border);
  border-radius: var(--sz-radius);
}

/* Footer ------------------------------------------------------------------ */

.sobelzcom-theme .content-footer {
  flex: 0 0 auto;
  padding: 0;
  border-top: 1px solid var(--sz-border);
  background: var(--sz-paper);
  color: var(--sz-muted);
}

.sobelzcom-theme .footer-container {
  min-height: 70px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding-block: 1rem;
}

.sobelzcom-theme .footer-copyright {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem;
}

.sobelzcom-theme .footer-theme-signature {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  color: var(--sz-muted);
  font-size: 0.9em;
}

.sobelzcom-theme .footer-theme-signature .ti {
  color: var(--sz-primary);
}

/* Overlay and responsive off-canvas menu ---------------------------------- */

.sobelzcom-theme .layout-overlay {
  position: fixed;
  z-index: 1040;
  inset: 0;
  display: block;
  pointer-events: none;
  background: rgba(30, 27, 46, 0.48);
  opacity: 0;
  visibility: hidden;
  transition: opacity 240ms ease, visibility 240ms ease;
}

.sobelzcom-theme .drag-target {
  position: fixed;
  z-index: 1038;
  top: 0;
  bottom: 0;
  inset-inline-start: 0;
  width: 12px;
  pointer-events: none;
}

/* RTL --------------------------------------------------------------------- */

html[dir="rtl"] .sobelzcom-theme {
  direction: rtl;
  text-align: right;
}

html[dir="rtl"] .sobelzcom-theme .row > [class*="col-"] {
  float: right;
}

html[dir="rtl"] .sobelzcom-theme .pull-left {
  float: right !important;
}

html[dir="rtl"] .sobelzcom-theme .pull-right,
html[dir="rtl"] .sobelzcom-theme .navbar-right {
  float: left !important;
}

html[dir="rtl"] .sobelzcom-theme .text-left {
  text-align: right;
}

html[dir="rtl"] .sobelzcom-theme .text-right {
  text-align: left;
}

html[dir="rtl"] .sobelzcom-theme .dropdown-menu-right {
  right: auto;
  left: 0;
}

html[dir="rtl"] .sobelzcom-theme .dropdown-submenu > .dropdown-menu {
  right: 100%;
  left: auto;
}

html[dir="rtl"] .sobelzcom-theme .table > thead > tr > th,
html[dir="rtl"] .sobelzcom-theme .table > tbody > tr > td {
  text-align: right;
}

html[dir="rtl"] .sobelzcom-theme .tw-mr-1,
html[dir="rtl"] .sobelzcom-theme .tw-mr-2,
html[dir="rtl"] .sobelzcom-theme .tw-mr-3 {
  margin-right: 0 !important;
  margin-left: 0.25rem !important;
}

html[dir="rtl"] .sobelzcom-theme .tw-ml-1,
html[dir="rtl"] .sobelzcom-theme .tw-ml-2,
html[dir="rtl"] .sobelzcom-theme .tw-ml-3 {
  margin-left: 0 !important;
  margin-right: 0.25rem !important;
}

html[dir="rtl"] .sobelzcom-theme .border-right {
  border-right: 0 !important;
  border-left: 1px solid var(--sz-border) !important;
}

html[dir="rtl"] .sobelzcom-theme .pagination,
html[dir="rtl"] .sobelzcom-theme .nav-tabs,
html[dir="rtl"] .sobelzcom-theme .menu-inner {
  padding-right: 0;
}

html[dir="rtl"] .sobelzcom-theme .input-group .form-control:first-child,
html[dir="rtl"] .sobelzcom-theme .input-group-addon:first-child,
html[dir="rtl"] .sobelzcom-theme .input-group-btn:first-child > .btn {
  border-radius: 0 var(--sz-radius) var(--sz-radius) 0;
}

html[dir="rtl"] .sobelzcom-theme .input-group .form-control:last-child,
html[dir="rtl"] .sobelzcom-theme .input-group-addon:last-child,
html[dir="rtl"] .sobelzcom-theme .input-group-btn:last-child > .btn {
  border-radius: var(--sz-radius) 0 0 var(--sz-radius);
}

/* Responsive --------------------------------------------------------------- */

@media (max-width: 1199px) {
  .sobelzcom-theme .sobelzcom-menu-toggle,
  .sobelzcom-theme .sobelzcom-menu-close {
    display: inline-flex;
  }

  .sobelzcom-theme .sobelzcom-horizontal-menu {
    position: fixed !important;
    z-index: 1050;
    top: 0 !important;
    bottom: 0;
    left: 0;
    width: min(320px, 88vw);
    min-height: 100vh;
    border: 0;
    border-inline-end: 1px solid var(--sz-border);
    overflow: hidden;
    transform: translateX(-105%);
    box-shadow: var(--sz-shadow-lg);
  }

  html[dir="rtl"] .sobelzcom-theme .sobelzcom-horizontal-menu {
    right: 0;
    left: auto;
    border-right: 0;
    border-left: 1px solid var(--sz-border);
    transform: translateX(105%);
  }

  .sobelzcom-theme .sobelzcom-menu-container {
    width: 100%;
    height: 100%;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    padding: 0;
  }

  .sobelzcom-theme .sobelzcom-mobile-menu-heading {
    min-height: var(--sz-navbar-height);
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.75rem 1rem;
    border-bottom: 1px solid var(--sz-border);
    color: var(--sz-heading-color);
    font-size: 1.05rem;
    font-weight: 600;
  }

  .sobelzcom-theme .menu-inner {
    flex: 1 1 auto;
    display: block;
    padding: 0.75rem;
    overflow-x: hidden;
    overflow-y: auto;
  }

  .sobelzcom-theme .menu-inner > li,
  .sobelzcom-theme .menu-inner > .menu-item {
    width: 100%;
    margin-bottom: 0.15rem;
  }

  .sobelzcom-theme .menu-inner > li > a,
  .sobelzcom-theme .menu-inner .menu-link {
    width: 100%;
    justify-content: flex-start;
  }

  .sobelzcom-theme.sobelzcom-menu-open,
  body.sobelzcom-menu-open {
    overflow: hidden;
  }

  body.sobelzcom-menu-open .sobelzcom-horizontal-menu {
    transform: translateX(0) !important;
  }

  body.sobelzcom-menu-open .layout-overlay {
    pointer-events: auto;
    opacity: 1;
    visibility: visible;
  }

  .sobelzcom-theme .content-wrapper {
    min-height: calc(100vh - var(--sz-navbar-height));
  }

  .sobelzcom-theme .invoices-stats > [class*="col-"] {
    width: calc(50% - 1rem);
  }
}

@media (max-width: 767px) {
  :root {
    --sz-navbar-height: 62px;
  }

  .sobelzcom-theme .container-xxl,
  .sobelzcom-theme .container-fluid {
    padding-inline: 1rem;
  }

  .sobelzcom-theme .container-p-y {
    padding-top: 1rem;
    padding-bottom: 1.25rem;
  }

  .sobelzcom-theme .sobelzcom-profile-name,
  .sobelzcom-theme .sobelzcom-profile-chevron {
    display: none;
  }

  .sobelzcom-theme .sobelzcom-profile-toggle {
    padding: 0.15rem !important;
  }

  .sobelzcom-theme .navbar-brand {
    max-width: min(190px, 48vw);
  }

  .sobelzcom-theme .navbar-brand img,
  .sobelzcom-theme .navbar-brand .logo-img {
    max-height: 36px;
  }

  .sobelzcom-theme .panel_s > .panel-body,
  .sobelzcom-theme .panel-body {
    padding: 1rem;
  }

  .sobelzcom-theme .invoices-stats > [class*="col-"] {
    width: calc(100% - 1rem);
  }

  .sobelzcom-theme .table-responsive {
    margin-bottom: 0;
    border: 1px solid var(--sz-border);
  }

  .sobelzcom-theme .footer-container {
    flex-direction: column;
    justify-content: center;
    text-align: center;
  }

  .sobelzcom-theme .footer-copyright {
    justify-content: center;
  }

  .sobelzcom-theme .kb-search-jumbotron {
    padding: 2rem 0;
  }
}

@media (max-width: 420px) {
  .sobelzcom-theme .sobelzcom-theme-switcher {
    display: none;
  }

  .sobelzcom-theme .navbar-brand {
    max-width: 54vw;
  }
}

/* Motion and printing ------------------------------------------------------ */

html[data-reduced-motion="on"] *,
html[data-reduced-motion="on"] *::before,
html[data-reduced-motion="on"] *::after {
  scroll-behavior: auto !important;
  animation-duration: 0.001ms !important;
  animation-iteration-count: 1 !important;
  transition-duration: 0.001ms !important;
}

@media (prefers-reduced-motion: reduce) {
  html[data-reduced-motion="auto"] *,
  html[data-reduced-motion="auto"] *::before,
  html[data-reduced-motion="auto"] *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
  }
}

@media print {
  .sobelzcom-theme {
    background: #fff !important;
    color: #000 !important;
  }

  .sobelzcom-theme .sobelzcom-navbar,
  .sobelzcom-theme .sobelzcom-horizontal-menu,
  .sobelzcom-theme .customer-top-submenu,
  .sobelzcom-theme .content-footer,
  .sobelzcom-theme .layout-overlay,
  .sobelzcom-theme .drag-target,
  .sobelzcom-theme .btn,
  .sobelzcom-theme .dataTables_filter,
  .sobelzcom-theme .dataTables_length,
  .sobelzcom-theme .dataTables_paginate {
    display: none !important;
  }

  .sobelzcom-theme #content,
  .sobelzcom-theme .panel,
  .sobelzcom-theme .panel_s > .panel-body,
  .sobelzcom-theme .table {
    background: #fff !important;
    color: #000 !important;
    box-shadow: none !important;
  }

  .sobelzcom-theme .container-xxl,
  .sobelzcom-theme .container-fluid,
  .sobelzcom-theme .container {
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
  }
}

/* ========================================================================== 
   Sobelzcom 2.0 — Vuexy-native runtime and core DOM compatibility contracts
   ========================================================================== */

/* Vuexy/Bootstrap design tokens follow the customizer primary color. */
:root,
[data-bs-theme="light"],
[data-bs-theme="dark"] {
  --bs-primary: var(--sz-primary);
  --bs-primary-rgb: var(--sz-primary-rgb);
  --bs-link-color: var(--sz-primary);
  --bs-link-color-rgb: var(--sz-primary-rgb);
  --bs-link-hover-color: var(--sz-primary);
  --bs-focus-ring-color: rgba(var(--sz-primary-rgb), 0.28);
  --bs-border-radius: var(--sz-radius);
  --bs-border-radius-sm: max(3px, calc(var(--sz-radius) - 2px));
  --bs-border-radius-lg: calc(var(--sz-radius) + 2px);
  --bs-border-radius-xl: calc(var(--sz-radius) + 4px);
  --bs-body-font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Tahoma, Arial, sans-serif;
  --bs-paper-bg: var(--sz-paper);
  --bs-paper-bg-rgb: var(--sz-paper-rgb);
  --bs-body-bg: var(--sz-body-bg);
  --bs-body-color: var(--sz-body-color);
  --bs-heading-color: var(--sz-heading-color);
  --bs-secondary-color: var(--sz-muted);
  --bs-border-color: var(--sz-border);
  --bs-box-shadow: var(--sz-shadow);
  --bs-box-shadow-sm: var(--sz-shadow-sm);
  --bs-box-shadow-lg: var(--sz-shadow-lg);
}

/* Bootstrap 3 names remain only as layout contracts used by core views and
   modules. Their rendering is deliberately implemented with Bootstrap 5-era
   flexbox/logical properties instead of the old float-based runtime. */
.sobelzcom-theme .pull-left { float: left !important; }
.sobelzcom-theme .pull-right { float: right !important; }
.sobelzcom-theme .text-left { text-align: left !important; }
.sobelzcom-theme .text-right { text-align: right !important; }
.sobelzcom-theme .text-center { text-align: center !important; }
.sobelzcom-theme .display-block { display: block !important; }
.sobelzcom-theme .inline-block { display: inline-block !important; }
.sobelzcom-theme .full-width { width: 100% !important; }
.sobelzcom-theme .hide,
.sobelzcom-theme .hidden { display: none !important; }
.sobelzcom-theme .invisible { visibility: hidden !important; }
.sobelzcom-theme .show { display: block; }
.sobelzcom-theme .no-margin { margin: 0 !important; }
.sobelzcom-theme .no-mtop { margin-top: 0 !important; }
.sobelzcom-theme .no-mbot { margin-bottom: 0 !important; }
.sobelzcom-theme .no-padding { padding: 0 !important; }
.sobelzcom-theme .bold,
.sobelzcom-theme .font-medium { font-weight: 600 !important; }
.sobelzcom-theme .pointer { cursor: pointer; }
.sobelzcom-theme .center-block { display: block; margin-inline: auto; }
.sobelzcom-theme .img-responsive { display: block; max-width: 100%; height: auto; }
.sobelzcom-theme .sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.sobelzcom-theme .clearfix::after { display: block; clear: both; content: ""; }

.sobelzcom-theme .mtop5 { margin-top: .3125rem !important; }
.sobelzcom-theme .mtop10 { margin-top: .625rem !important; }
.sobelzcom-theme .mtop15 { margin-top: .9375rem !important; }
.sobelzcom-theme .mtop20 { margin-top: 1.25rem !important; }
.sobelzcom-theme .mtop25 { margin-top: 1.5625rem !important; }
.sobelzcom-theme .mtop30 { margin-top: 1.875rem !important; }
.sobelzcom-theme .mbot5 { margin-bottom: .3125rem !important; }
.sobelzcom-theme .mbot10 { margin-bottom: .625rem !important; }
.sobelzcom-theme .mbot15 { margin-bottom: .9375rem !important; }
.sobelzcom-theme .mbot20 { margin-bottom: 1.25rem !important; }
.sobelzcom-theme .mbot25 { margin-bottom: 1.5625rem !important; }
.sobelzcom-theme .mbot30 { margin-bottom: 1.875rem !important; }
.sobelzcom-theme .mleft5 { margin-inline-start: .3125rem !important; }
.sobelzcom-theme .mleft10 { margin-inline-start: .625rem !important; }
.sobelzcom-theme .mright5 { margin-inline-end: .3125rem !important; }
.sobelzcom-theme .mright10 { margin-inline-end: .625rem !important; }
.sobelzcom-theme .mright15 { margin-inline-end: .9375rem !important; }
.sobelzcom-theme .hr-10 { margin-block: .625rem !important; }

/* Legacy grid offsets absent from Bootstrap 5. */
@media (min-width: 768px) {
  .sobelzcom-theme .col-sm-offset-1 { margin-inline-start: 8.33333333%; }
  .sobelzcom-theme .col-sm-offset-2 { margin-inline-start: 16.66666667%; }
  .sobelzcom-theme .col-sm-offset-3 { margin-inline-start: 25%; }
  .sobelzcom-theme .col-sm-offset-4 { margin-inline-start: 33.33333333%; }
  .sobelzcom-theme .col-sm-offset-5 { margin-inline-start: 41.66666667%; }
  .sobelzcom-theme .col-sm-offset-6 { margin-inline-start: 50%; }
}
@media (min-width: 992px) {
  .sobelzcom-theme .col-md-offset-1 { margin-inline-start: 8.33333333%; }
  .sobelzcom-theme .col-md-offset-2 { margin-inline-start: 16.66666667%; }
  .sobelzcom-theme .col-md-offset-3 { margin-inline-start: 25%; }
  .sobelzcom-theme .col-md-offset-4 { margin-inline-start: 33.33333333%; }
  .sobelzcom-theme .col-md-offset-5 { margin-inline-start: 41.66666667%; }
  .sobelzcom-theme .col-md-offset-6 { margin-inline-start: 50%; }
}

/* Vuexy-native application shell. */
.sobelzcom-theme .layout-wrapper.layout-horizontal {
  min-height: 100vh;
  background: var(--bs-body-bg);
}
.sobelzcom-theme .layout-navbar.navbar {
  --bs-navbar-padding-y: .75rem;
  min-height: var(--sz-navbar-height);
  padding-block: .75rem;
  background: var(--bs-paper-bg);
  border-bottom: 0;
}
.sobelzcom-theme .layout-navbar > .container,
.sobelzcom-theme .layout-navbar > .container-fluid,
.sobelzcom-theme .layout-navbar > .container-xxl {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: .75rem;
}
.sobelzcom-theme .navbar-nav-right {
  min-width: 0;
  flex: 1 1 auto;
}
.sobelzcom-theme .sobelzcom-navbar-brand,
.sobelzcom-theme .sobelzcom-navbar-brand-mobile {
  min-width: 0;
  max-width: 260px;
}
.sobelzcom-theme .app-brand-link,
.sobelzcom-theme .app-brand-link.logo {
  display: inline-flex;
  min-width: 0;
  align-items: center;
  color: var(--bs-heading-color);
}
.sobelzcom-theme .app-brand-link img,
.sobelzcom-theme .app-brand-link .logo-img {
  width: auto;
  max-width: 100%;
  max-height: 42px;
  object-fit: contain;
}
.sobelzcom-theme .sobelzcom-navbar-actions {
  gap: .25rem;
  min-width: 0;
}
.sobelzcom-theme .sobelzcom-navbar-actions .nav-link {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  border-radius: calc(var(--sz-radius) + 2px);
  color: var(--bs-heading-color);
}
.sobelzcom-theme .sobelzcom-navbar-actions .nav-link:hover,
.sobelzcom-theme .sobelzcom-navbar-actions .nav-link:focus,
.sobelzcom-theme .sobelzcom-navbar-actions .nav-link.show {
  color: var(--bs-primary);
  background: rgba(var(--bs-primary-rgb), .12);
}
.sobelzcom-theme .avatar {
  position: relative;
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
}
.sobelzcom-theme .avatar.avatar-md { width: 2.75rem; height: 2.75rem; }
.sobelzcom-theme .avatar img { width: 100%; height: 100%; object-fit: cover; }

.sobelzcom-theme .layout-menu-horizontal {
  width: 100%;
  min-height: var(--sz-menu-height);
  background: var(--sz-menu-bg);
  color: var(--sz-menu-color);
  border-block: 1px solid var(--sz-border);
  box-shadow: var(--sz-shadow-sm);
}
.sobelzcom-theme .layout-menu-horizontal .menu-inner {
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  gap: .25rem;
  min-width: 0;
  margin: 0;
  padding-inline: 0;
  list-style: none;
}
.sobelzcom-theme .layout-menu-horizontal .menu-item {
  position: relative;
  flex: 0 0 auto;
  list-style: none;
}
.sobelzcom-theme .layout-menu-horizontal .menu-link {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  padding: .55rem .85rem;
  border-radius: var(--sz-radius);
  color: var(--sz-menu-color);
  font-weight: 500;
  white-space: nowrap;
}
.sobelzcom-theme .layout-menu-horizontal .menu-link:hover,
.sobelzcom-theme .layout-menu-horizontal .menu-link:focus,
.sobelzcom-theme .layout-menu-horizontal .menu-item.active > .menu-link {
  color: var(--bs-primary);
  background: rgba(var(--bs-primary-rgb), .12);
}
html[data-menu-style="dark"] .sobelzcom-theme .layout-menu-horizontal,
html[data-menu-style="primary"] .sobelzcom-theme .layout-menu-horizontal {
  --sz-menu-color: rgba(255, 255, 255, .9);
  --sz-border: rgba(255, 255, 255, .14);
}
html[data-menu-style="dark"] .sobelzcom-theme .layout-menu-horizontal { background: #2f3349; }
html[data-menu-style="primary"] .sobelzcom-theme .layout-menu-horizontal { background: var(--sz-primary); }
html[data-menu-style="dark"] .sobelzcom-theme .layout-menu-horizontal .menu-link:hover,
html[data-menu-style="dark"] .sobelzcom-theme .layout-menu-horizontal .menu-item.active > .menu-link,
html[data-menu-style="primary"] .sobelzcom-theme .layout-menu-horizontal .menu-link:hover,
html[data-menu-style="primary"] .sobelzcom-theme .layout-menu-horizontal .menu-item.active > .menu-link {
  color: #fff;
  background: rgba(255, 255, 255, .15);
}

/* Dropdowns including third-party hook output. */
.sobelzcom-theme .dropdown-menu {
  min-width: 13rem;
  padding: .5rem;
  border: 1px solid var(--bs-border-color);
  border-radius: calc(var(--sz-radius) + 2px);
  background: var(--bs-paper-bg);
  color: var(--bs-body-color);
  box-shadow: var(--bs-box-shadow-lg);
}
.sobelzcom-theme .dropdown-menu > li { list-style: none; }
.sobelzcom-theme .dropdown-menu > li > a,
.sobelzcom-theme .dropdown-menu > li > button,
.sobelzcom-theme .dropdown-item {
  width: 100%;
  min-height: 38px;
  display: flex;
  align-items: center;
  gap: .55rem;
  padding: .5rem .75rem;
  border: 0;
  border-radius: max(4px, calc(var(--sz-radius) - 2px));
  background: transparent;
  color: var(--bs-heading-color);
  text-align: start;
}
.sobelzcom-theme .dropdown-menu > li > a:hover,
.sobelzcom-theme .dropdown-menu > li > a:focus,
.sobelzcom-theme .dropdown-item:hover,
.sobelzcom-theme .dropdown-item:focus,
.sobelzcom-theme .dropdown-item.active {
  color: var(--bs-primary);
  background: rgba(var(--bs-primary-rgb), .12);
}
.sobelzcom-theme .dropdown-submenu { position: relative; }
.sobelzcom-theme .dropdown-submenu > .dropdown-menu {
  top: -.5rem;
  inset-inline-start: 100%;
  margin-inline-start: .35rem;
}
.sobelzcom-theme .dropdown-submenu > .dropdown-menu.show { display: block; }
.sobelzcom-theme .sobelzcom-theme-check { margin-inline-start: auto; opacity: 0; }
.sobelzcom-theme .sobelzcom-theme-check.visible { opacity: 1; }

/* Cards/panels: panel classes are transformed to cards by sobelzcom.js. */
.sobelzcom-theme .panel_s,
.sobelzcom-theme .panel,
.sobelzcom-theme .card {
  --bs-card-bg: var(--bs-paper-bg);
  --bs-card-border-color: var(--bs-border-color);
  border-radius: calc(var(--sz-radius) + 2px);
}
.sobelzcom-theme .panel_s.card,
.sobelzcom-theme .panel.card,
.sobelzcom-theme .card {
  background: var(--bs-paper-bg);
  color: var(--bs-body-color);
}
.sobelzcom-theme .panel_s.card,
.sobelzcom-theme .panel_s > .panel-body,
.sobelzcom-theme .card:not(.shadow-none) {
  box-shadow: var(--bs-box-shadow-sm);
}
.sobelzcom-theme .panel_s.card > .panel-body.card-body,
.sobelzcom-theme .panel_s > .panel-body,
.sobelzcom-theme .panel-body.card-body {
  border: 0;
  border-radius: inherit;
  background: var(--bs-paper-bg);
  color: var(--bs-body-color);
}
.sobelzcom-theme .panel-heading.card-header,
.sobelzcom-theme .panel-footer.card-footer {
  background: transparent;
  border-color: var(--bs-border-color);
}
.sobelzcom-theme .well {
  min-height: 1.25rem;
  padding: 1rem;
  margin-bottom: 1rem;
  border: 1px solid var(--bs-border-color);
  border-radius: var(--sz-radius);
  background: color-mix(in srgb, var(--bs-body-bg) 70%, var(--bs-paper-bg));
  box-shadow: none;
}
.sobelzcom-theme .well-sm { padding: .75rem; }
.sobelzcom-theme .well-lg { padding: 1.5rem; }
.sobelzcom-theme .media,
.sobelzcom-theme .media-body { min-width: 0; }
.sobelzcom-theme .media { display: flex; align-items: flex-start; gap: .75rem; }
.sobelzcom-theme .media-body { flex: 1 1 auto; }

/* Forms and controls normalized to Vuexy/Bootstrap 5. */
.sobelzcom-theme .form-group { margin-bottom: 1rem; }
.sobelzcom-theme .control-label,
.sobelzcom-theme label:not(.form-check-label) {
  display: inline-block;
  margin-bottom: .4rem;
  color: var(--bs-heading-color);
  font-weight: 500;
}
.sobelzcom-theme .form-control,
.sobelzcom-theme .form-select,
.sobelzcom-theme .bootstrap-select > .dropdown-toggle,
.sobelzcom-theme .input-group-addon {
  min-height: 38px;
  border-color: color-mix(in srgb, var(--bs-heading-color) 22%, var(--bs-paper-bg));
  border-radius: var(--sz-radius);
  background-color: var(--bs-paper-bg);
  color: var(--bs-body-color);
  box-shadow: none;
}
.sobelzcom-theme textarea.form-control { min-height: 96px; }
.sobelzcom-theme .form-control:focus,
.sobelzcom-theme .form-select:focus,
.sobelzcom-theme .bootstrap-select.show > .dropdown-toggle,
.sobelzcom-theme .bootstrap-select > .dropdown-toggle:focus {
  border-color: var(--bs-primary);
  box-shadow: 0 0 0 .2rem rgba(var(--bs-primary-rgb), .16) !important;
}
.sobelzcom-theme .form-control[disabled],
.sobelzcom-theme .form-control[readonly],
.sobelzcom-theme fieldset[disabled] .form-control {
  background: color-mix(in srgb, var(--bs-body-bg) 78%, var(--bs-paper-bg));
  opacity: .72;
}
.sobelzcom-theme .help-block,
.sobelzcom-theme .form-text { display: block; margin-top: .35rem; color: var(--bs-secondary-color); font-size: .8125rem; }
.sobelzcom-theme .has-error .form-control,
.sobelzcom-theme .form-control.error { border-color: var(--bs-danger); }
.sobelzcom-theme .has-error .help-block,
.sobelzcom-theme label.error { color: var(--bs-danger); }
.sobelzcom-theme .has-success .form-control { border-color: var(--bs-success); }

.sobelzcom-theme .checkbox,
.sobelzcom-theme .radio { position: relative; display: block; min-height: 1.5rem; margin-block: .5rem; }
.sobelzcom-theme .checkbox label,
.sobelzcom-theme .radio label,
.sobelzcom-theme .checkbox-inline,
.sobelzcom-theme .radio-inline {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  min-height: 1.5rem;
  margin: 0;
  padding: 0;
  cursor: pointer;
  font-weight: 400;
}
.sobelzcom-theme .checkbox input[type="checkbox"],
.sobelzcom-theme .radio input[type="radio"],
.sobelzcom-theme .checkbox-inline input[type="checkbox"],
.sobelzcom-theme .radio-inline input[type="radio"] { margin: 0; accent-color: var(--bs-primary); }

.sobelzcom-theme .input-group {
  position: relative;
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  width: 100%;
}
.sobelzcom-theme .input-group > .form-control,
.sobelzcom-theme .input-group > .form-select { position: relative; flex: 1 1 auto; width: 1%; min-width: 0; }
.sobelzcom-theme .input-group-addon,
.sobelzcom-theme .input-group-btn {
  display: flex;
  flex: 0 0 auto;
  align-items: stretch;
}
.sobelzcom-theme .input-group-addon {
  align-items: center;
  padding: .45rem .75rem;
  border: 1px solid var(--bs-border-color);
  white-space: nowrap;
}
.sobelzcom-theme .input-group > :not(:first-child) { margin-inline-start: -1px; border-start-start-radius: 0; border-end-start-radius: 0; }
.sobelzcom-theme .input-group > :not(:last-child) { border-start-end-radius: 0; border-end-end-radius: 0; }
.sobelzcom-theme .input-group-btn > .btn { height: 100%; border-radius: 0; }

/* bootstrap-select is retained as the core data/control adapter, but all of its
   Bootstrap 3 skinning is replaced here. */
.sobelzcom-theme .bootstrap-select {
  position: relative;
  display: inline-flex !important;
  width: 100% !important;
  vertical-align: middle;
}
.sobelzcom-theme select.bs-select-hidden,
.sobelzcom-theme select.selectpicker { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; clip: rect(0, 0, 0, 0) !important; border: 0 !important; }
.sobelzcom-theme .bootstrap-select > .dropdown-toggle {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
  padding: .45rem .8rem;
  text-align: start;
}
.sobelzcom-theme .bootstrap-select > .dropdown-toggle::after { margin-inline-start: auto; }
.sobelzcom-theme .bootstrap-select .filter-option { min-width: 0; flex: 1 1 auto; overflow: hidden; text-align: start; }
.sobelzcom-theme .bootstrap-select .filter-option-inner-inner { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sobelzcom-theme .bootstrap-select .dropdown-menu { width: max(100%, 15rem); max-width: min(32rem, 92vw); }
.sobelzcom-theme .bootstrap-select .dropdown-menu.inner { position: static; display: block; min-width: 0; max-height: 280px; padding: 0; margin: 0; border: 0; box-shadow: none; overflow-y: auto; }
.sobelzcom-theme .bootstrap-select .dropdown-menu.inner > li > a { display: flex; align-items: center; min-height: 36px; }
.sobelzcom-theme .bootstrap-select .bs-searchbox { padding: .25rem .25rem .5rem; }
.sobelzcom-theme .bootstrap-select .bs-actionsbox,
.sobelzcom-theme .bootstrap-select .bs-donebutton { padding: .25rem; }
.sobelzcom-theme .bootstrap-select .check-mark { margin-inline-start: auto; color: var(--bs-primary); }
.sobelzcom-theme .bootstrap-select .no-results { padding: .75rem; color: var(--bs-secondary-color); background: transparent; }

/* Buttons use Vuexy variants; old btn-default is a semantic alias only. */
.sobelzcom-theme .btn {
  --bs-btn-border-radius: var(--sz-radius);
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .4rem;
  font-weight: 500;
}
.sobelzcom-theme .btn-default,
.sobelzcom-theme .btn-secondary-outline {
  --bs-btn-color: var(--bs-heading-color);
  --bs-btn-bg: transparent;
  --bs-btn-border-color: var(--bs-border-color);
  --bs-btn-hover-color: var(--bs-primary);
  --bs-btn-hover-bg: rgba(var(--bs-primary-rgb), .1);
  --bs-btn-hover-border-color: var(--bs-primary);
  --bs-btn-active-color: var(--bs-primary);
  --bs-btn-active-bg: rgba(var(--bs-primary-rgb), .16);
  --bs-btn-active-border-color: var(--bs-primary);
  color: var(--bs-heading-color);
  border-color: var(--bs-border-color);
  background: transparent;
}
.sobelzcom-theme .btn-default:hover,
.sobelzcom-theme .btn-default:focus { color: var(--bs-primary); border-color: var(--bs-primary); background: rgba(var(--bs-primary-rgb), .1); }
.sobelzcom-theme .btn-block { display: flex; width: 100%; }
.sobelzcom-theme .btn-xs { min-height: 26px; padding: .2rem .45rem; border-radius: max(3px, calc(var(--sz-radius) - 3px)); font-size: .75rem; }
.sobelzcom-theme .btn.is-loading { position: relative; pointer-events: none; opacity: .78; }

/* Table and DataTables presentation is independent from the removed BS3 CSS. */
.sobelzcom-theme .table-responsive { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.sobelzcom-theme table.table { width: 100%; margin-bottom: 1rem; border-color: var(--bs-border-color); color: var(--bs-body-color); vertical-align: middle; }
.sobelzcom-theme .table > :not(caption) > * > * { padding: .8rem .9rem; border-bottom-color: var(--bs-border-color); background: transparent; box-shadow: none; }
.sobelzcom-theme .table > thead > tr > th { color: var(--bs-heading-color); font-size: .8125rem; font-weight: 600; letter-spacing: .01em; white-space: nowrap; }
.sobelzcom-theme .table-hover > tbody > tr:hover > * { background: rgba(var(--bs-primary-rgb), .045); color: var(--bs-body-color); }
.sobelzcom-theme .table-bordered > :not(caption) > * { border-width: 1px 0; }
.sobelzcom-theme .table-bordered > :not(caption) > * > * { border-width: 0 1px; }
.sobelzcom-theme .sobelzcom-sticky-table > thead > tr > th { position: sticky; z-index: 2; top: 0; background: var(--bs-paper-bg); box-shadow: inset 0 -1px var(--bs-border-color); }

.sobelzcom-theme .dataTables_wrapper,
.sobelzcom-theme .dt-container { position: relative; width: 100%; color: var(--bs-body-color); }
.sobelzcom-theme .dataTables_wrapper::after,
.sobelzcom-theme .dt-container::after { display: block; clear: both; content: ""; }
.sobelzcom-theme .dataTables_wrapper .dataTables_length,
.sobelzcom-theme .dataTables_wrapper .dataTables_filter,
.sobelzcom-theme .dt-container .dt-length,
.sobelzcom-theme .dt-container .dt-search { margin-block: .25rem .85rem; }
.sobelzcom-theme .dataTables_wrapper .dataTables_length,
.sobelzcom-theme .dt-container .dt-length { float: inline-start; }
.sobelzcom-theme .dataTables_wrapper .dataTables_filter,
.sobelzcom-theme .dt-container .dt-search { float: inline-end; text-align: end; }
.sobelzcom-theme .dataTables_wrapper .dataTables_filter label,
.sobelzcom-theme .dataTables_wrapper .dataTables_length label,
.sobelzcom-theme .dt-container .dt-search label,
.sobelzcom-theme .dt-container .dt-length label { display: inline-flex; align-items: center; gap: .5rem; margin: 0; font-weight: 400; }
.sobelzcom-theme .dataTables_wrapper .dataTables_filter input,
.sobelzcom-theme .dt-container .dt-search input { width: min(16rem, 55vw); margin: 0; }
.sobelzcom-theme .dataTables_wrapper .dataTables_length select,
.sobelzcom-theme .dt-container .dt-length select { width: auto; min-width: 4.5rem; }
.sobelzcom-theme .dataTables_wrapper .dataTables_info,
.sobelzcom-theme .dt-container .dt-info { float: inline-start; padding-top: .8rem; color: var(--bs-secondary-color); }
.sobelzcom-theme .dataTables_wrapper .dataTables_paginate,
.sobelzcom-theme .dt-container .dt-paging { float: inline-end; padding-top: .55rem; }
.sobelzcom-theme .dataTables_wrapper .dataTables_processing,
.sobelzcom-theme .dt-processing {
  position: absolute;
  z-index: 10;
  top: 50%;
  inset-inline-start: 50%;
  transform: translate(-50%, -50%);
  padding: .75rem 1rem;
  border: 1px solid var(--bs-border-color);
  border-radius: var(--sz-radius);
  background: var(--bs-paper-bg);
  box-shadow: var(--bs-box-shadow);
}
.sobelzcom-theme .pagination { display: flex; flex-wrap: wrap; gap: .25rem; padding: 0; margin: 0; list-style: none; }
.sobelzcom-theme .pagination > li { list-style: none; }
.sobelzcom-theme .pagination > li > a,
.sobelzcom-theme .pagination > li > span,
.sobelzcom-theme .page-link { min-width: 34px; min-height: 34px; display: inline-flex; align-items: center; justify-content: center; border: 0; border-radius: var(--sz-radius); }
.sobelzcom-theme table.dataTable thead .sorting,
.sobelzcom-theme table.dataTable thead .sorting_asc,
.sobelzcom-theme table.dataTable thead .sorting_desc { position: relative; padding-inline-end: 1.8rem; cursor: pointer; }
.sobelzcom-theme table.dataTable thead .sorting::after,
.sobelzcom-theme table.dataTable thead .sorting_asc::after,
.sobelzcom-theme table.dataTable thead .sorting_desc::after { position: absolute; inset-inline-end: .7rem; color: var(--bs-secondary-color); font-size: .72rem; content: "↕"; }
.sobelzcom-theme table.dataTable thead .sorting_asc::after { color: var(--bs-primary); content: "↑"; }
.sobelzcom-theme table.dataTable thead .sorting_desc::after { color: var(--bs-primary); content: "↓"; }

/* Project navigation becomes a Vuexy pill strip without changing its URLs or
   data-group hooks used by the AJAX project loader. */
.sobelzcom-theme .sobelzcom-project-tabs {
  position: relative;
  margin-bottom: 1rem;
  border: 1px solid var(--bs-border-color);
  border-radius: calc(var(--sz-radius) + 2px);
  background: var(--bs-paper-bg);
  box-shadow: var(--bs-box-shadow-sm);
}
.sobelzcom-theme .sobelzcom-project-tabs .horizontal-tabs { overflow-x: auto; scrollbar-width: thin; }
.sobelzcom-theme .sobelzcom-project-tabs .nav-tabs {
  width: max-content;
  min-width: 100%;
  display: flex;
  flex-wrap: nowrap;
  gap: .35rem;
  margin: 0;
  padding: .55rem;
  border: 0;
  list-style: none;
}
.sobelzcom-theme .sobelzcom-project-tabs .nav-tabs > li { float: none; flex: 0 0 auto; margin: 0; list-style: none; }
.sobelzcom-theme .sobelzcom-project-tabs .nav-tabs > li > a.nav-link {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  padding: .55rem .75rem;
  border: 0;
  border-radius: var(--sz-radius);
  color: var(--bs-secondary-color);
  white-space: nowrap;
}
.sobelzcom-theme .sobelzcom-project-tabs .nav-tabs > li > a.nav-link:hover,
.sobelzcom-theme .sobelzcom-project-tabs .nav-tabs > li.active > a.nav-link,
.sobelzcom-theme .sobelzcom-project-tabs .nav-tabs > li > a.nav-link.active {
  color: var(--bs-primary);
  background: rgba(var(--bs-primary-rgb), .14);
}
.sobelzcom-theme .sobelzcom-project-tabs .scroller {
  position: absolute;
  z-index: 4;
  top: 50%;
  width: 32px;
  height: 32px;
  display: none;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--bs-border-color);
  border-radius: 50%;
  background: var(--bs-paper-bg);
  color: var(--bs-heading-color);
  box-shadow: var(--bs-box-shadow-sm);
  transform: translateY(-50%);
}
.sobelzcom-theme .sobelzcom-project-tabs .scroller.arrow-left { inset-inline-start: .35rem; }
.sobelzcom-theme .sobelzcom-project-tabs .scroller.arrow-right { inset-inline-end: .35rem; }

/* Vuexy timeline replacement for the project activity feed. */
.sobelzcom-theme .sobelzcom-project-activity-card .card-body { padding-top: .25rem; }
.sobelzcom-theme .sobelzcom-activity-timeline { position: relative; margin: 0; padding: .25rem 0 .25rem 1.1rem; list-style: none; }
.sobelzcom-theme .sobelzcom-activity-timeline::before {
  position: absolute;
  top: .75rem;
  bottom: .75rem;
  inset-inline-start: .36rem;
  width: 1px;
  background: var(--bs-border-color);
  content: "";
}
.sobelzcom-theme .sobelzcom-activity-item { position: relative; padding: .55rem 0 1.15rem 1.55rem; list-style: none; }
.sobelzcom-theme .sobelzcom-activity-point {
  position: absolute;
  z-index: 1;
  top: 1rem;
  inset-inline-start: -.98rem;
  width: .72rem;
  height: .72rem;
  border: 2px solid var(--bs-paper-bg);
  border-radius: 50%;
  background: var(--bs-primary);
  box-shadow: 0 0 0 3px rgba(var(--bs-primary-rgb), .18);
}
.sobelzcom-theme .sobelzcom-activity-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.sobelzcom-theme .sobelzcom-activity-author { min-width: 0; display: flex; align-items: center; gap: .7rem; }
.sobelzcom-theme .sobelzcom-activity-author img { width: 36px; height: 36px; flex: 0 0 36px; margin: 0 !important; border-radius: 50%; object-fit: cover; }
.sobelzcom-theme .sobelzcom-activity-title { margin: 0; color: var(--bs-heading-color); font-weight: 500; overflow-wrap: anywhere; }
.sobelzcom-theme .sobelzcom-activity-time { flex: 0 0 auto; color: var(--bs-secondary-color); font-size: .8125rem; white-space: nowrap; }
.sobelzcom-theme .sobelzcom-activity-details { margin-top: .45rem; color: var(--bs-secondary-color); overflow-wrap: anywhere; }
.sobelzcom-theme .sobelzcom-activity-details:empty { display: none; }
.sobelzcom-theme .sobelzcom-activity-empty { padding: 2.25rem 1rem; text-align: center; color: var(--bs-secondary-color); }

/* Milestones, task cards and kanban receive Vuexy card treatment without
   changing draggable IDs/classes expected by the core. */
.sobelzcom-theme .kan-ban-col,
.sobelzcom-theme .kanban-column { border-radius: calc(var(--sz-radius) + 2px); background: color-mix(in srgb, var(--bs-body-bg) 82%, var(--bs-paper-bg)); }
.sobelzcom-theme .kan-ban-content,
.sobelzcom-theme .kanban-content { padding: .6rem; }
.sobelzcom-theme .kan-ban-content-wrapper,
.sobelzcom-theme .kan-ban-step-indicator { border-color: var(--bs-border-color); background: var(--bs-paper-bg); color: var(--bs-body-color); box-shadow: var(--bs-box-shadow-sm); }
.sobelzcom-theme .task-info { color: var(--bs-secondary-color); }

/* Native Sobelzcom Gantt --------------------------------------------------- */
.sobelzcom-theme .sobelzcom-gantt-card { overflow: hidden; }
.sobelzcom-theme .sobelzcom-gantt-header { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.25rem 1.25rem 1rem; }
.sobelzcom-theme .sobelzcom-gantt-view-switcher { display: inline-flex; flex-wrap: nowrap; overflow-x: auto; max-width: 100%; padding: .15rem; }
.sobelzcom-theme .sobelzcom-gantt-view-switcher .btn { min-width: 4.25rem; min-height: 34px; padding: .35rem .65rem; }
.sobelzcom-theme .sobelzcom-gantt-view-switcher .btn.active { color: #fff; border-color: var(--bs-primary); background: var(--bs-primary); box-shadow: 0 .2rem .6rem rgba(var(--bs-primary-rgb), .24); }
.sobelzcom-theme .sobelzcom-gantt-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; margin-bottom: 1rem; }
.sobelzcom-theme .sobelzcom-gantt-metric { min-width: 0; display: flex; align-items: center; gap: .7rem; padding: .8rem .9rem; border: 1px solid var(--bs-border-color); border-radius: var(--sz-radius); background: color-mix(in srgb, var(--bs-paper-bg) 92%, var(--bs-body-bg)); }
.sobelzcom-theme .sobelzcom-gantt-metric-icon { width: 2.35rem; height: 2.35rem; flex: 0 0 2.35rem; display: inline-flex; align-items: center; justify-content: center; border-radius: var(--sz-radius); }
.sobelzcom-theme .sobelzcom-gantt-metric small { display: block; color: var(--bs-secondary-color); line-height: 1.2; }
.sobelzcom-theme .sobelzcom-gantt-metric strong { display: block; margin-top: .15rem; color: var(--bs-heading-color); font-size: .9375rem; overflow-wrap: anywhere; }
.sobelzcom-theme .sobelzcom-gantt-stage {
  --sz-gantt-label-width: 280px;
  --sz-gantt-row-height: 56px;
  position: relative;
  min-height: 250px;
  border: 1px solid var(--bs-border-color);
  border-radius: calc(var(--sz-radius) + 2px);
  background: var(--bs-paper-bg);
  overflow: hidden;
}
.sobelzcom-theme .sobelzcom-gantt-stage:focus-visible { box-shadow: 0 0 0 .2rem rgba(var(--bs-primary-rgb), .16); }
.sobelzcom-theme .sobelzcom-gantt-shell { display: grid; grid-template-columns: var(--sz-gantt-label-width) minmax(0, 1fr); min-height: inherit; }
.sobelzcom-theme .sobelzcom-gantt-label-pane { position: relative; z-index: 4; min-width: 0; border-inline-end: 1px solid var(--bs-border-color); background: var(--bs-paper-bg); box-shadow: .35rem 0 .8rem rgba(47, 43, 61, .04); }
.sobelzcom-theme .sobelzcom-gantt-label-head,
.sobelzcom-theme .sobelzcom-gantt-time-head { height: 64px; border-bottom: 1px solid var(--bs-border-color); background: color-mix(in srgb, var(--bs-paper-bg) 94%, var(--bs-body-bg)); }
.sobelzcom-theme .sobelzcom-gantt-label-head { display: flex; align-items: center; padding-inline: 1rem; color: var(--bs-heading-color); font-size: .8125rem; font-weight: 600; }
.sobelzcom-theme .sobelzcom-gantt-label-row { height: var(--sz-gantt-row-height); display: flex; align-items: center; gap: .7rem; padding-inline: .9rem; border-bottom: 1px solid var(--bs-border-color); }
.sobelzcom-theme .sobelzcom-gantt-label-row:last-child { border-bottom: 0; }
.sobelzcom-theme .sobelzcom-gantt-task-index { width: 1.65rem; height: 1.65rem; flex: 0 0 1.65rem; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: rgba(var(--bs-primary-rgb), .12); color: var(--bs-primary); font-size: .72rem; font-weight: 600; }
.sobelzcom-theme .sobelzcom-gantt-label-copy { min-width: 0; flex: 1 1 auto; }
.sobelzcom-theme .sobelzcom-gantt-task-link,
.sobelzcom-theme .sobelzcom-gantt-task-name { display: block; overflow: hidden; color: var(--bs-heading-color); font-weight: 500; text-overflow: ellipsis; white-space: nowrap; }
.sobelzcom-theme .sobelzcom-gantt-task-link:hover { color: var(--bs-primary); }
.sobelzcom-theme .sobelzcom-gantt-task-dates { display: block; margin-top: .12rem; overflow: hidden; color: var(--bs-secondary-color); font-size: .72rem; text-overflow: ellipsis; white-space: nowrap; }
.sobelzcom-theme .sobelzcom-gantt-scroll { min-width: 0; overflow-x: auto; overflow-y: hidden; direction: ltr; scrollbar-width: thin; }
.sobelzcom-theme .sobelzcom-gantt-canvas { position: relative; min-width: 100%; }
.sobelzcom-theme .sobelzcom-gantt-time-head { position: relative; overflow: hidden; }
.sobelzcom-theme .sobelzcom-gantt-head-primary,
.sobelzcom-theme .sobelzcom-gantt-head-secondary { position: absolute; inset-inline: 0; display: flex; }
.sobelzcom-theme .sobelzcom-gantt-head-primary { top: 0; height: 31px; border-bottom: 1px solid var(--bs-border-color); }
.sobelzcom-theme .sobelzcom-gantt-head-secondary { top: 31px; height: 33px; }
.sobelzcom-theme .sobelzcom-gantt-head-cell { flex: 0 0 auto; display: flex; align-items: center; justify-content: center; padding-inline: .35rem; border-inline-end: 1px solid var(--bs-border-color); color: var(--bs-secondary-color); font-size: .7rem; white-space: nowrap; overflow: hidden; }
.sobelzcom-theme .sobelzcom-gantt-head-primary .sobelzcom-gantt-head-cell { color: var(--bs-heading-color); font-weight: 600; }
.sobelzcom-theme .sobelzcom-gantt-rows { position: relative; }
.sobelzcom-theme .sobelzcom-gantt-grid-row { position: relative; height: var(--sz-gantt-row-height); border-bottom: 1px solid var(--bs-border-color); background-image: linear-gradient(to right, var(--bs-border-color) 1px, transparent 1px); background-size: var(--sz-gantt-cell-width, 40px) 100%; }
.sobelzcom-theme .sobelzcom-gantt-grid-row:nth-child(even) { background-color: color-mix(in srgb, var(--bs-paper-bg) 97%, var(--bs-body-bg)); }
.sobelzcom-theme .sobelzcom-gantt-bar { position: absolute; z-index: 2; top: 14px; height: 28px; min-width: 6px; border-radius: 999px; background: color-mix(in srgb, var(--bs-primary) 78%, white); box-shadow: 0 .2rem .5rem rgba(var(--bs-primary-rgb), .2); overflow: hidden; }
.sobelzcom-theme a.sobelzcom-gantt-bar:hover { filter: brightness(.96); transform: translateY(-1px); }
.sobelzcom-theme .sobelzcom-gantt-bar-progress { position: absolute; inset-block: 0; inset-inline-start: 0; border-radius: inherit; background: var(--bs-primary); }
.sobelzcom-theme .sobelzcom-gantt-bar-label { position: relative; z-index: 2; height: 100%; display: flex; align-items: center; padding-inline: .65rem; color: #fff; font-size: .72rem; font-weight: 600; text-shadow: 0 1px 1px rgba(0,0,0,.18); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sobelzcom-theme .sobelzcom-gantt-today { position: absolute; z-index: 3; top: 0; bottom: 0; width: 2px; background: var(--bs-danger); pointer-events: none; }
.sobelzcom-theme .sobelzcom-gantt-today::before { position: absolute; top: 0; left: 50%; width: 8px; height: 8px; border-radius: 50%; background: var(--bs-danger); transform: translate(-50%, -50%); content: ""; }
.sobelzcom-theme .sobelzcom-gantt-dependencies { position: absolute; z-index: 1; inset: 0; width: 100%; height: 100%; pointer-events: none; overflow: visible; }
.sobelzcom-theme .sobelzcom-gantt-dependency { fill: none; stroke: color-mix(in srgb, var(--bs-primary) 55%, var(--bs-secondary-color)); stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.sobelzcom-theme .sobelzcom-gantt-fallback { margin-top: 1rem; }
.sobelzcom-theme .sobelzcom-gantt-card.is-enhanced .sobelzcom-gantt-fallback { display: none; }
.sobelzcom-theme .sobelzcom-gantt-card.is-fallback .sobelzcom-gantt-stage { display: none; }
.sobelzcom-theme .sobelzcom-empty-state { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 240px; text-align: center; }
.sobelzcom-theme .sobelzcom-empty-state-icon { width: 3.25rem; height: 3.25rem; display: inline-flex; align-items: center; justify-content: center; margin-bottom: .9rem; border-radius: 50%; }

/* Legacy modal/collapse state classes mirror Bootstrap 5 state events. */
.sobelzcom-theme .fade.in { opacity: 1; }
.sobelzcom-theme .collapse.in { display: block; }
.sobelzcom-theme .modal.in .modal-dialog { transform: none; }
.sobelzcom-theme .modal-backdrop.in { opacity: .5; }
.sobelzcom-theme button.close,
.sobelzcom-theme .close {
  width: 2rem;
  height: 2rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--bs-heading-color);
  font-size: 1.5rem;
  line-height: 1;
}
.sobelzcom-theme button.close:hover,
.sobelzcom-theme .close:hover { background: rgba(var(--bs-primary-rgb), .1); color: var(--bs-primary); }

/* Flatpickr-style Vuexy visual treatment for the existing datetimepicker
   adapter; no date serialization or callback behavior is changed. */
.sobelzcom-theme .xdsoft_datetimepicker {
  padding: .45rem;
  border: 1px solid var(--bs-border-color);
  border-radius: calc(var(--sz-radius) + 2px);
  background: var(--bs-paper-bg);
  color: var(--bs-body-color);
  box-shadow: var(--bs-box-shadow-lg);
}
.sobelzcom-theme .xdsoft_datetimepicker .xdsoft_calendar td,
.sobelzcom-theme .xdsoft_datetimepicker .xdsoft_calendar th {
  border: 0;
  border-radius: max(3px, calc(var(--sz-radius) - 3px));
  background: transparent;
  color: var(--bs-body-color);
}
.sobelzcom-theme .xdsoft_datetimepicker .xdsoft_calendar td:hover,
.sobelzcom-theme .xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_current,
.sobelzcom-theme .xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box > div > div:hover,
.sobelzcom-theme .xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box > div > div.xdsoft_current {
  background: var(--bs-primary) !important;
  color: #fff !important;
  box-shadow: none !important;
}
.sobelzcom-theme .xdsoft_datetimepicker .xdsoft_label,
.sobelzcom-theme .xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box { border-color: var(--bs-border-color); background: var(--bs-paper-bg); color: var(--bs-heading-color); }

/* RTL uses logical layout; cancel the old float-grid override. */
html[dir="rtl"] .sobelzcom-theme .row > [class*="col-"] { float: none !important; }
html[dir="rtl"] .sobelzcom-theme .pull-left { float: right !important; }
html[dir="rtl"] .sobelzcom-theme .pull-right,
html[dir="rtl"] .sobelzcom-theme .navbar-right { float: left !important; }
html[dir="rtl"] .sobelzcom-theme .text-left { text-align: right !important; }
html[dir="rtl"] .sobelzcom-theme .text-right { text-align: left !important; }
html[dir="rtl"] .sobelzcom-theme .sobelzcom-activity-timeline { padding-right: 1.1rem; padding-left: 0; }
html[dir="rtl"] .sobelzcom-theme .sobelzcom-activity-item { padding-right: 1.55rem; padding-left: 0; }
html[dir="rtl"] .sobelzcom-theme .sobelzcom-gantt-label-pane { box-shadow: -.35rem 0 .8rem rgba(47, 43, 61, .04); }
html[dir="rtl"] .sobelzcom-theme .sobelzcom-gantt-shell { direction: rtl; }
html[dir="rtl"] .sobelzcom-theme .sobelzcom-gantt-scroll,
html[dir="rtl"] .sobelzcom-theme .sobelzcom-gantt-canvas { direction: ltr; }
html[dir="rtl"] .sobelzcom-theme .sobelzcom-gantt-label-copy { text-align: right; }

/* Responsive Vuexy off-canvas behavior uses Helpers' layout-menu-expanded
   class, not the old body.sobelzcom-menu-open contract. */
@media (max-width: 1199.98px) {
  .sobelzcom-theme .sobelzcom-horizontal-menu {
    position: fixed !important;
    z-index: 1090;
    top: 0 !important;
    bottom: 0;
    inset-inline-start: 0;
    width: min(320px, 88vw);
    min-height: 100vh;
    transform: translateX(-105%);
    transition: transform .25s ease;
    overflow: hidden;
  }
  html[dir="rtl"] .sobelzcom-theme .sobelzcom-horizontal-menu { transform: translateX(105%); }
  html.layout-menu-expanded .sobelzcom-theme .sobelzcom-horizontal-menu { transform: translateX(0) !important; }
  html.layout-menu-expanded,
  html.layout-menu-expanded body { overflow: hidden; }
  html.layout-menu-expanded .sobelzcom-theme .layout-overlay {
    pointer-events: auto;
    opacity: 1;
    visibility: visible;
  }
  .sobelzcom-theme .sobelzcom-menu-container { width: 100%; height: 100%; min-height: 100vh; padding: .8rem; overflow-y: auto; }
  .sobelzcom-theme .layout-menu-horizontal .menu-inner { width: 100%; display: block; }
  .sobelzcom-theme .layout-menu-horizontal .menu-item { width: 100%; }
  .sobelzcom-theme .layout-menu-horizontal .menu-link { width: 100%; justify-content: flex-start; }
  .sobelzcom-theme .sobelzcom-gantt-stage { --sz-gantt-label-width: 220px; }
}

@media (max-width: 767.98px) {
  .sobelzcom-theme .dataTables_wrapper .dataTables_length,
  .sobelzcom-theme .dataTables_wrapper .dataTables_filter,
  .sobelzcom-theme .dataTables_wrapper .dataTables_info,
  .sobelzcom-theme .dataTables_wrapper .dataTables_paginate,
  .sobelzcom-theme .dt-container .dt-length,
  .sobelzcom-theme .dt-container .dt-search,
  .sobelzcom-theme .dt-container .dt-info,
  .sobelzcom-theme .dt-container .dt-paging { float: none; width: 100%; text-align: start; }
  .sobelzcom-theme .dataTables_wrapper .dataTables_filter input,
  .sobelzcom-theme .dt-container .dt-search input { width: 100%; }
  .sobelzcom-theme .dataTables_wrapper .dataTables_filter label,
  .sobelzcom-theme .dt-container .dt-search label { width: 100%; flex-direction: column; align-items: stretch; }
  .sobelzcom-theme .sobelzcom-gantt-header { align-items: stretch; }
  .sobelzcom-theme .sobelzcom-gantt-view-switcher { width: 100%; }
  .sobelzcom-theme .sobelzcom-gantt-view-switcher .btn { flex: 1 0 auto; }
  .sobelzcom-theme .sobelzcom-gantt-metrics { grid-template-columns: 1fr; }
  .sobelzcom-theme .sobelzcom-gantt-stage { --sz-gantt-label-width: 176px; }
  .sobelzcom-theme .sobelzcom-gantt-task-dates { display: none; }
  .sobelzcom-theme .sobelzcom-activity-header { flex-direction: column; gap: .35rem; }
  .sobelzcom-theme .sobelzcom-activity-time { padding-inline-start: 2.95rem; }
}

@media print {
  .sobelzcom-theme .sobelzcom-gantt-stage { display: none !important; }
  .sobelzcom-theme .sobelzcom-gantt-fallback { display: block !important; }
  .sobelzcom-theme .sobelzcom-project-tabs { box-shadow: none; }
}

/* Native Gantt renderer class map (kept separate from PHP view classes). */
.sobelzcom-theme .sobelzcom-gantt-labels {
  position: relative;
  z-index: 4;
  min-width: 0;
  border-inline-end: 1px solid var(--bs-border-color);
  background: var(--bs-paper-bg);
  box-shadow: .35rem 0 .8rem rgba(47, 43, 61, .04);
}
.sobelzcom-theme .sobelzcom-gantt-label-header,
.sobelzcom-theme .sobelzcom-gantt-time-header {
  position: relative;
  height: 64px;
  border-bottom: 1px solid var(--bs-border-color);
  background: color-mix(in srgb, var(--bs-paper-bg) 94%, var(--bs-body-bg));
}
.sobelzcom-theme .sobelzcom-gantt-label-header {
  display: flex;
  align-items: center;
  padding-inline: 1rem;
  color: var(--bs-heading-color);
  font-size: .8125rem;
  font-weight: 600;
}
.sobelzcom-theme .sobelzcom-gantt-timeline { position: relative; min-height: 100%; }
.sobelzcom-theme .sobelzcom-gantt-header-major,
.sobelzcom-theme .sobelzcom-gantt-header-minor {
  position: absolute;
  inset-inline: 0;
  overflow: hidden;
}
.sobelzcom-theme .sobelzcom-gantt-header-major { top: 0; height: 31px; border-bottom: 1px solid var(--bs-border-color); }
.sobelzcom-theme .sobelzcom-gantt-header-minor { top: 31px; height: 33px; }
.sobelzcom-theme .sobelzcom-gantt-header-segment {
  position: absolute;
  top: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-inline: .35rem;
  border-inline-end: 1px solid var(--bs-border-color);
  color: var(--bs-secondary-color);
  font-size: .7rem;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}
.sobelzcom-theme .sobelzcom-gantt-header-major .sobelzcom-gantt-header-segment { color: var(--bs-heading-color); font-weight: 600; }
.sobelzcom-theme .sobelzcom-gantt-label-row > .sobelzcom-gantt-task-link {
  min-width: 0;
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.sobelzcom-theme .sobelzcom-gantt-task-marker {
  width: .65rem;
  height: .65rem;
  flex: 0 0 .65rem;
  border: 2px solid var(--bs-paper-bg);
  border-radius: 50%;
  background: var(--bs-primary);
  box-shadow: 0 0 0 3px rgba(var(--bs-primary-rgb), .16);
}
.sobelzcom-theme .sobelzcom-gantt-row {
  position: relative;
  height: var(--sz-gantt-row-height);
  border-bottom: 1px solid var(--bs-border-color);
  background-image: linear-gradient(to right, var(--bs-border-color) 1px, transparent 1px);
  background-size: var(--sz-gantt-day-width, 40px) 100%;
}
.sobelzcom-theme .sobelzcom-gantt-row:nth-child(even) { background-color: color-mix(in srgb, var(--bs-paper-bg) 97%, var(--bs-body-bg)); }
.sobelzcom-theme .sobelzcom-gantt-row:last-of-type { border-bottom: 0; }
.sobelzcom-theme .sobelzcom-gantt-dependencies { position: absolute; z-index: 1; top: 0; left: 0; pointer-events: none; overflow: visible; }
.sobelzcom-theme .sobelzcom-gantt-dependency-line {
  fill: none;
  stroke: color-mix(in srgb, var(--bs-primary) 55%, var(--bs-secondary-color));
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.sobelzcom-theme .sobelzcom-gantt-today-label {
  position: absolute;
  top: .35rem;
  left: 50%;
  padding: .15rem .4rem;
  border-radius: 999px;
  background: var(--bs-danger);
  color: #fff;
  font-size: .65rem;
  font-weight: 600;
  white-space: nowrap;
  transform: translateX(-50%);
}
.sobelzcom-theme .sobelzcom-gantt-bar.is-complete { background: color-mix(in srgb, var(--bs-success) 78%, white); }
.sobelzcom-theme .sobelzcom-gantt-bar.is-complete .sobelzcom-gantt-bar-progress { background: var(--bs-success); }
.sobelzcom-theme .sobelzcom-gantt-bar.is-not-started { background: color-mix(in srgb, var(--bs-secondary) 48%, var(--bs-paper-bg)); }
.sobelzcom-theme .sobelzcom-gantt-bar.is-milestone {
  width: 18px !important;
  height: 18px;
  top: 19px;
  border-radius: 4px;
  transform: rotate(45deg);
  overflow: visible;
}
.sobelzcom-theme .sobelzcom-gantt-bar.is-milestone .sobelzcom-gantt-bar-progress { border-radius: inherit; }
html[dir="rtl"] .sobelzcom-theme .sobelzcom-gantt-labels { box-shadow: -.35rem 0 .8rem rgba(47, 43, 61, .04); }
.sobelzcom-theme .sobelzcom-gantt-dependency-arrow {
  fill: color-mix(in srgb, var(--bs-primary) 60%, var(--bs-secondary-color));
}

/* Horizontal Vuexy shell width contract. Vuexy's navbar-full rule sets the
 * content wrapper inline-size to zero for a different nesting variant; the
 * The customer shell keeps navbar/menu as siblings, so claim the full row. */
.sobelzcom-theme .layout-wrapper.layout-horizontal .layout-page,
.sobelzcom-theme .layout-wrapper.layout-horizontal .content-wrapper,
.sobelzcom-theme .layout-wrapper.layout-horizontal #content {
  inline-size: 100%;
  width: 100%;
  max-inline-size: 100%;
  min-inline-size: 0;
}

/* Logical float values are not consistently implemented by target browsers. */
.sobelzcom-theme .dataTables_wrapper .dataTables_length,
.sobelzcom-theme .dt-container .dt-length,
.sobelzcom-theme .dataTables_wrapper .dataTables_info,
.sobelzcom-theme .dt-container .dt-info {
  float: left;
}
.sobelzcom-theme .dataTables_wrapper .dataTables_filter,
.sobelzcom-theme .dt-container .dt-search,
.sobelzcom-theme .dataTables_wrapper .dataTables_paginate,
.sobelzcom-theme .dt-container .dt-paging {
  float: right;
}
html[dir="rtl"] .sobelzcom-theme .dataTables_wrapper .dataTables_length,
html[dir="rtl"] .sobelzcom-theme .dt-container .dt-length,
html[dir="rtl"] .sobelzcom-theme .dataTables_wrapper .dataTables_info,
html[dir="rtl"] .sobelzcom-theme .dt-container .dt-info {
  float: right;
}
html[dir="rtl"] .sobelzcom-theme .dataTables_wrapper .dataTables_filter,
html[dir="rtl"] .sobelzcom-theme .dt-container .dt-search,
html[dir="rtl"] .sobelzcom-theme .dataTables_wrapper .dataTables_paginate,
html[dir="rtl"] .sobelzcom-theme .dt-container .dt-paging {
  float: left;
}
@media (max-width: 767.98px) {
  .sobelzcom-theme .dataTables_wrapper .dataTables_length,
  .sobelzcom-theme .dataTables_wrapper .dataTables_filter,
  .sobelzcom-theme .dataTables_wrapper .dataTables_info,
  .sobelzcom-theme .dataTables_wrapper .dataTables_paginate,
  .sobelzcom-theme .dt-container .dt-length,
  .sobelzcom-theme .dt-container .dt-search,
  .sobelzcom-theme .dt-container .dt-info,
  .sobelzcom-theme .dt-container .dt-paging {
    float: none;
  }
}

/* -------------------------------------------------------------------------
 * Core-prefixed utility contract, implemented locally with Vuexy tokens.
 * No stock customer Tailwind stylesheet is loaded. Only utilities referenced by
 * the supplied customer views are exposed here.
 * ---------------------------------------------------------------------- */
.sobelzcom-theme .tw-block { display: block !important; }
.sobelzcom-theme .tw-inline-block { display: inline-block !important; }
.sobelzcom-theme .tw-flex { display: flex !important; }
.sobelzcom-theme .tw-inline-flex { display: inline-flex !important; }
.sobelzcom-theme .tw-grid { display: grid !important; }
.sobelzcom-theme .tw-flex-1 { flex: 1 1 0% !important; }
.sobelzcom-theme .tw-grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)) !important; }
.sobelzcom-theme .tw-min-w-0 { min-width: 0 !important; }
.sobelzcom-theme .tw-max-w-64 { max-width: 16rem !important; }
.sobelzcom-theme .tw-max-w-md { max-width: 28rem !important; }
.sobelzcom-theme .tw-w-5 { width: 1.25rem !important; }
.sobelzcom-theme .tw-w-7 { width: 1.75rem !important; }
.sobelzcom-theme .tw-h-5 { height: 1.25rem !important; }
.sobelzcom-theme .tw-h-7 { height: 1.75rem !important; }

.sobelzcom-theme .tw-items-baseline { align-items: baseline !important; }
.sobelzcom-theme .tw-items-center { align-items: center !important; }
.sobelzcom-theme .tw-items-end { align-items: flex-end !important; }
.sobelzcom-theme .tw-justify-between { justify-content: space-between !important; }
.sobelzcom-theme .tw-justify-center { justify-content: center !important; }
.sobelzcom-theme .tw-justify-end { justify-content: flex-end !important; }
.sobelzcom-theme .tw-self-start { align-self: flex-start !important; }
.sobelzcom-theme .tw-gap-2 { gap: .5rem !important; }

.sobelzcom-theme .tw-mb-0 { margin-bottom: 0 !important; }
.sobelzcom-theme .tw-mb-1 { margin-bottom: .25rem !important; }
.sobelzcom-theme .tw-mb-2 { margin-bottom: .5rem !important; }
.sobelzcom-theme .tw-mb-2\.5 { margin-bottom: .625rem !important; }
.sobelzcom-theme .tw-mb-3 { margin-bottom: .75rem !important; }
.sobelzcom-theme .tw-mb-4 { margin-bottom: 1rem !important; }
.sobelzcom-theme .tw-mb-5 { margin-bottom: 1.25rem !important; }
.sobelzcom-theme .tw-mb-10 { margin-bottom: 2.5rem !important; }
.sobelzcom-theme .tw-ml-1 { margin-left: .25rem !important; }
.sobelzcom-theme .tw-ml-3 { margin-left: .75rem !important; }
.sobelzcom-theme .tw-ml-4 { margin-left: 1rem !important; }
.sobelzcom-theme .tw-mr-1 { margin-right: .25rem !important; }
.sobelzcom-theme .tw-mt-0 { margin-top: 0 !important; }
.sobelzcom-theme .tw-mt-0\.5 { margin-top: .125rem !important; }
.sobelzcom-theme .tw-mt-1 { margin-top: .25rem !important; }
.sobelzcom-theme .tw-mt-1\.5 { margin-top: .375rem !important; }
.sobelzcom-theme .tw-mt-2 { margin-top: .5rem !important; }
.sobelzcom-theme .tw-mt-2\.5 { margin-top: .625rem !important; }
.sobelzcom-theme .tw-mt-3 { margin-top: .75rem !important; }
.sobelzcom-theme .tw-mt-4 { margin-top: 1rem !important; }
.sobelzcom-theme .tw-mt-5 { margin-top: 1.25rem !important; }
.sobelzcom-theme .tw-mt-6 { margin-top: 1.5rem !important; }
.sobelzcom-theme .tw-mt-7 { margin-top: 1.75rem !important; }
.sobelzcom-theme .tw-mt-8 { margin-top: 2rem !important; }
.sobelzcom-theme .tw-mt-px { margin-top: 1px !important; }
.sobelzcom-theme .tw-my-0 { margin-top: 0 !important; margin-bottom: 0 !important; }

.sobelzcom-theme .tw-pb-0 { padding-bottom: 0 !important; }
.sobelzcom-theme .tw-pt-3 { padding-top: .75rem !important; }
.sobelzcom-theme .tw-pt-5 { padding-top: 1.25rem !important; }
.sobelzcom-theme .tw-px-3 { padding-left: .75rem !important; padding-right: .75rem !important; }
.sobelzcom-theme .tw-px-4 { padding-left: 1rem !important; padding-right: 1rem !important; }
.sobelzcom-theme .tw-py-2 { padding-top: .5rem !important; padding-bottom: .5rem !important; }
.sobelzcom-theme .tw-py-2\.5 { padding-top: .625rem !important; padding-bottom: .625rem !important; }
.sobelzcom-theme .tw-py-5 { padding-top: 1.25rem !important; padding-bottom: 1.25rem !important; }

.sobelzcom-theme .tw-space-x-1 > :not([hidden]) ~ :not([hidden]) { margin-left: .25rem !important; }
.sobelzcom-theme .tw-space-x-2 > :not([hidden]) ~ :not([hidden]) { margin-left: .5rem !important; }
.sobelzcom-theme .tw-space-x-4 > :not([hidden]) ~ :not([hidden]) { margin-left: 1rem !important; }
html[dir="rtl"] .sobelzcom-theme .tw-space-x-1 > :not([hidden]) ~ :not([hidden]) { margin-left: 0 !important; margin-right: .25rem !important; }
html[dir="rtl"] .sobelzcom-theme .tw-space-x-2 > :not([hidden]) ~ :not([hidden]) { margin-left: 0 !important; margin-right: .5rem !important; }
html[dir="rtl"] .sobelzcom-theme .tw-space-x-4 > :not([hidden]) ~ :not([hidden]) { margin-left: 0 !important; margin-right: 1rem !important; }
html[dir="ltr"] .sobelzcom-theme .ltr\:tw-space-x-2 > :not([hidden]) ~ :not([hidden]) { margin-left: .5rem !important; }
.sobelzcom-theme .tw-space-y-3 > :not([hidden]) ~ :not([hidden]) { margin-top: .75rem !important; }
.sobelzcom-theme .tw-space-y-5 > :not([hidden]) ~ :not([hidden]) { margin-top: 1.25rem !important; }

.sobelzcom-theme .tw-border { border-width: 1px !important; }
.sobelzcom-theme .tw-border-solid { border-style: solid !important; }
.sobelzcom-theme .tw-border-l-0 { border-left-width: 0 !important; }
.sobelzcom-theme .tw-border-neutral-100 { border-color: rgba(var(--bs-secondary-color-rgb), .1) !important; }
.sobelzcom-theme .tw-border-neutral-200 { border-color: var(--bs-border-color) !important; }
.sobelzcom-theme .tw-divide-solid > :not([hidden]) ~ :not([hidden]) { border-style: solid !important; }
.sobelzcom-theme .tw-divide-y > :not([hidden]) ~ :not([hidden]) { border-top-width: 1px !important; }
.sobelzcom-theme .tw-divide-neutral-100 > :not([hidden]) ~ :not([hidden]) { border-color: rgba(var(--bs-secondary-color-rgb), .1) !important; }
.sobelzcom-theme .tw-divide-neutral-200 > :not([hidden]) ~ :not([hidden]) { border-color: var(--bs-border-color) !important; }
.sobelzcom-theme .tw-rounded-md { border-radius: max(.375rem, var(--sz-radius)) !important; }
.sobelzcom-theme .tw-rounded-full { border-radius: 9999px !important; }
.sobelzcom-theme .tw-ring-2 { box-shadow: 0 0 0 2px var(--sz-tw-ring-color, rgba(var(--bs-primary-rgb), .22)) !important; }
.sobelzcom-theme .tw-ring-white { --sz-tw-ring-color: var(--bs-paper-bg); }

.sobelzcom-theme .tw-bg-white { background-color: var(--bs-paper-bg) !important; }
.sobelzcom-theme .tw-bg-neutral-50 { background-color: rgba(var(--bs-secondary-bg-rgb), .72) !important; }
.sobelzcom-theme .hover\:tw-bg-neutral-100:hover { background-color: rgba(var(--bs-secondary-color-rgb), .08) !important; }

.sobelzcom-theme .tw-font-medium { font-weight: 500 !important; }
.sobelzcom-theme .tw-font-semibold { font-weight: 600 !important; }
.sobelzcom-theme .tw-font-bold { font-weight: 700 !important; }
.sobelzcom-theme .tw-font-neutral-500 { color: var(--bs-secondary-color) !important; }
.sobelzcom-theme .tw-text-xs { font-size: .75rem !important; line-height: 1rem !important; }
.sobelzcom-theme .tw-text-sm { font-size: .875rem !important; line-height: 1.25rem !important; }
.sobelzcom-theme .tw-text-base { font-size: 1rem !important; line-height: 1.5rem !important; }
.sobelzcom-theme .tw-text-lg { font-size: 1.125rem !important; line-height: 1.75rem !important; }
.sobelzcom-theme .tw-text-xl { font-size: 1.25rem !important; line-height: 1.75rem !important; }
.sobelzcom-theme .tw-text-normal { font-weight: 400 !important; }
.sobelzcom-theme .tw-text-center { text-align: center !important; }
.sobelzcom-theme .tw-text-neutral-500 { color: var(--bs-secondary-color) !important; }
.sobelzcom-theme .tw-text-neutral-600 { color: color-mix(in srgb, var(--bs-body-color) 72%, transparent) !important; }
.sobelzcom-theme .tw-text-neutral-700 { color: color-mix(in srgb, var(--bs-body-color) 86%, transparent) !important; }
.sobelzcom-theme .tw-text-neutral-800 { color: var(--bs-heading-color) !important; }
.sobelzcom-theme .tw-text-primary-600 { color: var(--bs-primary) !important; }
.sobelzcom-theme .hover\:tw-text-neutral-700:hover,
.sobelzcom-theme .hover\:tw-text-neutral-800:hover,
.sobelzcom-theme .hover\:tw-text-neutral-900:hover,
.sobelzcom-theme .active\:tw-text-neutral-700:active,
.sobelzcom-theme .active\:tw-text-neutral-800:active,
.sobelzcom-theme .active\:tw-text-neutral-900:active { color: var(--bs-heading-color) !important; }
.sobelzcom-theme .tw-tracking-tight { letter-spacing: -.025em !important; }
.sobelzcom-theme .tw-truncate { overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; }
.sobelzcom-theme .first\:tw-pt-0:first-child { padding-top: 0 !important; }
.sobelzcom-theme .last\:tw-pb-0:last-child { padding-bottom: 0 !important; }

@media (min-width: 640px) {
  .sobelzcom-theme .sm\:tw-flex { display: flex !important; }
  .sobelzcom-theme .sm\:tw-gap-4 { gap: 1rem !important; }
  .sobelzcom-theme .sm\:tw-justify-between { justify-content: space-between !important; }
  .sobelzcom-theme .sm\:tw-mt-0 { margin-top: 0 !important; }
  .sobelzcom-theme .sm\:tw-mt-8 { margin-top: 2rem !important; }
  .sobelzcom-theme .sm\:tw-px-4 { padding-left: 1rem !important; padding-right: 1rem !important; }
  .sobelzcom-theme .sm\:tw-py-2 { padding-top: .5rem !important; padding-bottom: .5rem !important; }
  .sobelzcom-theme .sm\:tw-self-end { align-self: flex-end !important; }
}
@media (min-width: 768px) {
  .sobelzcom-theme .md\:tw-block { display: block !important; }
  .sobelzcom-theme .md\:tw-grid-cols-5 { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; }
}
@media (min-width: 1024px) {
  .sobelzcom-theme .lg\:tw-flex { display: flex !important; }
}

/* ========================================================================== 
   Sobelzcom 4.0 — Native Vuexy customer application layer
   ========================================================================== */

:root {
  --sz-v3-body-bg: #f8f7fa;
  --sz-v3-card-bg: #fff;
  --sz-v3-card-border: rgba(47, 43, 61, .12);
  --sz-v3-card-shadow: 0 .25rem 1.125rem rgba(47, 43, 61, .10);
  --sz-v3-card-shadow-hover: 0 .5rem 2rem rgba(47, 43, 61, .16);
  --sz-v3-heading: #444050;
  --sz-v3-body: #6d6b77;
  --sz-v3-muted: #a8aaae;
  --sz-v3-soft: #f6f6f7;
  --sz-v3-table-head: #f6f6f7;
  --sz-v3-primary-soft: rgba(var(--sz-primary-rgb), .12);
  --sz-v3-primary-soft-hover: rgba(var(--sz-primary-rgb), .18);
  --sz-v3-success-soft: rgba(40, 199, 111, .14);
  --sz-v3-info-soft: rgba(0, 186, 209, .14);
  --sz-v3-warning-soft: rgba(255, 159, 67, .16);
  --sz-v3-danger-soft: rgba(255, 76, 81, .14);
  --sz-v3-secondary-soft: rgba(128, 131, 144, .14);
  --sz-v3-card-radius: max(var(--sz-radius), 10px);
  --sz-v3-control-radius: max(calc(var(--sz-radius) - 2px), 6px);
}

html[data-bs-theme="dark"] {
  --sz-v3-body-bg: #25293c;
  --sz-v3-card-bg: #2f3349;
  --sz-v3-card-border: rgba(225, 222, 245, .12);
  --sz-v3-card-shadow: 0 .25rem 1.125rem rgba(14, 16, 24, .32);
  --sz-v3-card-shadow-hover: 0 .65rem 2rem rgba(14, 16, 24, .44);
  --sz-v3-heading: #cfcde4;
  --sz-v3-body: #acabc1;
  --sz-v3-muted: #7983bb;
  --sz-v3-soft: #292d42;
  --sz-v3-table-head: #34384f;
}

body.sobelzcom-theme {
  background-color: var(--sz-v3-body-bg);
  color: var(--sz-v3-body);
}

.sobelzcom-theme #content {
  padding-block: 1.75rem 2.5rem;
}

.sobelzcom-theme .sobelzcom-content-container > .row {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 1.5rem;
}

.sobelzcom-theme .sz-page {
  min-width: 0;
}

/* Page title -------------------------------------------------------------- */
.sobelzcom-theme .sz-page-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
  margin-block-end: 1.5rem;
}

.sobelzcom-theme .sz-page-heading {
  display: flex;
  align-items: center;
  min-width: 0;
  gap: .875rem;
}

.sobelzcom-theme .sz-page-heading-icon {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 2.875rem;
  height: 2.875rem;
  border-radius: .75rem;
  background: var(--sz-v3-primary-soft);
  color: var(--sz-primary);
  box-shadow: inset 0 0 0 1px rgba(var(--sz-primary-rgb), .08);
}

.sobelzcom-theme .sz-page-heading-icon .ti {
  font-size: 1.45rem;
}

.sobelzcom-theme .sz-page-title {
  margin: 0;
  color: var(--sz-v3-heading) !important;
  font-size: clamp(1.25rem, 1.8vw, 1.5rem);
  font-weight: 650;
  letter-spacing: -.025em;
}

.sobelzcom-theme .sz-page-subtitle {
  margin: .2rem 0 0;
  color: var(--bs-secondary-color, var(--sz-v3-muted));
  font-size: .875rem;
}

.sobelzcom-theme .sz-page-actions {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: .625rem;
}

/* Native Vuexy cards ------------------------------------------------------ */
.sobelzcom-theme .card,
.sobelzcom-theme .sz-native-card,
.sobelzcom-theme .panel_s.card {
  border: 0;
  border-radius: var(--sz-v3-card-radius);
  background: var(--sz-v3-card-bg);
  box-shadow: var(--sz-v3-card-shadow);
}

html[data-skin="bordered"] .sobelzcom-theme .card,
html[data-skin="bordered"] .sobelzcom-theme .sz-native-card,
html[data-skin="bordered"] .sobelzcom-theme .panel_s.card {
  border: 1px solid var(--sz-v3-card-border);
  box-shadow: none;
}

.sobelzcom-theme .card-header {
  border-block-end: 1px solid var(--sz-v3-card-border);
  background: transparent;
  padding: 1.25rem 1.5rem;
}

.sobelzcom-theme .card-header:first-child {
  border-start-start-radius: var(--sz-v3-card-radius);
  border-start-end-radius: var(--sz-v3-card-radius);
}

.sobelzcom-theme .card-body {
  padding: 1.5rem;
}

.sobelzcom-theme .card-footer {
  border-block-start: 1px solid var(--sz-v3-card-border);
  background: transparent;
  padding: 1rem 1.5rem;
}

.sobelzcom-theme .sz-card-heading {
  margin: 0;
  color: var(--sz-v3-heading) !important;
  font-size: 1.0625rem;
  font-weight: 650;
  letter-spacing: -.015em;
}

.sobelzcom-theme .sz-card-subtitle {
  margin: .25rem 0 0;
  color: var(--bs-secondary-color, var(--sz-v3-muted));
  font-size: .8125rem;
}

.sobelzcom-theme .sz-card-header-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  margin-inline-end: .75rem;
  border-radius: .625rem;
  background: var(--sz-v3-primary-soft);
  color: var(--sz-primary);
}

/* Hero dashboard ---------------------------------------------------------- */
.sobelzcom-theme .sz-dashboard-hero {
  position: relative;
  overflow: hidden;
  min-height: 12rem;
  isolation: isolate;
  background:
    radial-gradient(circle at 92% 18%, rgba(255, 255, 255, .24) 0 4.2rem, transparent 4.3rem),
    radial-gradient(circle at 78% 126%, rgba(255, 255, 255, .16) 0 7.5rem, transparent 7.6rem),
    linear-gradient(118deg, var(--sz-primary-light, var(--sz-primary)) 0%, var(--sz-primary, #7367f0) 58%, var(--sz-primary-deep, var(--sz-primary)) 100%);
  color: #fff;
  box-shadow: 0 .55rem 1.75rem rgba(var(--sz-primary-rgb), .28);
}

.sobelzcom-theme .sz-dashboard-hero::before,
.sobelzcom-theme .sz-dashboard-hero::after {
  position: absolute;
  z-index: -1;
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 50%;
  content: "";
}

.sobelzcom-theme .sz-dashboard-hero::before {
  inset-block-start: -5.5rem;
  inset-inline-end: 8rem;
  width: 12rem;
  height: 12rem;
}

.sobelzcom-theme .sz-dashboard-hero::after {
  inset-block-end: -6.5rem;
  inset-inline-end: -2rem;
  width: 14rem;
  height: 14rem;
}

.sobelzcom-theme .sz-dashboard-hero .card-body {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: inherit;
  padding: 1.75rem 2rem;
}

.sobelzcom-theme .sz-hero-copy {
  position: relative;
  z-index: 2;
  max-width: 44rem;
}

.sobelzcom-theme .sz-hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  margin-block-end: .6rem;
  padding: .35rem .65rem;
  border: 1px solid rgba(255, 255, 255, .24);
  border-radius: 50rem;
  background: rgba(255, 255, 255, .12);
  color: rgba(255, 255, 255, .9);
  font-size: .75rem;
  font-weight: 600;
  backdrop-filter: blur(6px);
}

.sobelzcom-theme .sz-dashboard-hero h1,
.sobelzcom-theme .sz-dashboard-hero h2,
.sobelzcom-theme .sz-dashboard-hero h3,
.sobelzcom-theme .sz-dashboard-hero p {
  color: #fff !important;
}

.sobelzcom-theme .sz-dashboard-hero h1,
.sobelzcom-theme .sz-dashboard-hero h2 {
  margin: 0;
  font-size: clamp(1.45rem, 2.4vw, 2rem);
  font-weight: 700;
  letter-spacing: -.035em;
}

.sobelzcom-theme .sz-dashboard-hero p {
  max-width: 34rem;
  margin: .625rem 0 1.2rem;
  color: rgba(255, 255, 255, .82) !important;
  font-size: .925rem;
}

.sobelzcom-theme .sz-hero-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .65rem;
}

.sobelzcom-theme .sz-dashboard-hero .btn-light {
  border: 0;
  background: #fff;
  color: var(--sz-primary);
  box-shadow: 0 .25rem .75rem rgba(40, 35, 80, .18);
}

.sobelzcom-theme .sz-dashboard-hero .btn-hero-ghost {
  border-color: rgba(255, 255, 255, .36);
  background: rgba(255, 255, 255, .1);
  color: #fff;
  backdrop-filter: blur(6px);
}

.sobelzcom-theme .sz-hero-orbit {
  position: relative;
  flex: 0 0 11rem;
  width: 11rem;
  height: 9rem;
  margin-inline-end: 1rem;
}

.sobelzcom-theme .sz-hero-orbit .sz-orbit-main {
  position: absolute;
  inset: 50% auto auto 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 5rem;
  height: 5rem;
  border: 1px solid rgba(255, 255, 255, .32);
  border-radius: 1.25rem;
  background: rgba(255, 255, 255, .18);
  box-shadow: 0 .75rem 1.5rem rgba(37, 29, 95, .22);
  color: #fff;
  transform: translate(-50%, -50%) rotate(-7deg);
  backdrop-filter: blur(10px);
}

.sobelzcom-theme .sz-hero-orbit .sz-orbit-main i {
  font-size: 2.4rem;
}

.sobelzcom-theme .sz-hero-orbit .sz-orbit-chip {
  position: absolute;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.6rem;
  height: 2.6rem;
  border: 1px solid rgba(255, 255, 255, .26);
  border-radius: .75rem;
  background: rgba(255, 255, 255, .16);
  color: #fff;
  box-shadow: 0 .5rem 1rem rgba(37, 29, 95, .16);
  backdrop-filter: blur(8px);
}

.sobelzcom-theme .sz-orbit-chip-one { inset-block-start: .25rem; inset-inline-start: .25rem; transform: rotate(8deg); }
.sobelzcom-theme .sz-orbit-chip-two { inset-block-start: .8rem; inset-inline-end: 0; transform: rotate(-8deg); }
.sobelzcom-theme .sz-orbit-chip-three { inset-block-end: 0; inset-inline-start: 1.2rem; transform: rotate(-4deg); }

/* KPI cards --------------------------------------------------------------- */
.sobelzcom-theme .sz-kpi-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(12.5rem, 1fr));
  gap: 1rem;
}

.sobelzcom-theme .sz-kpi-card {
  position: relative;
  overflow: hidden;
  transition: transform var(--sz-transition), box-shadow var(--sz-transition), border-color var(--sz-transition);
}

.sobelzcom-theme a.sz-kpi-card {
  color: inherit;
}

.sobelzcom-theme .sz-kpi-card:hover {
  color: inherit;
  transform: translateY(-3px);
  box-shadow: var(--sz-v3-card-shadow-hover);
}

.sobelzcom-theme .sz-kpi-card .card-body {
  padding: 1.25rem;
}

.sobelzcom-theme .sz-kpi-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: .75rem;
}

.sobelzcom-theme .sz-kpi-icon,
.sobelzcom-theme .avatar-initial {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.sobelzcom-theme .sz-kpi-icon {
  width: 2.75rem;
  height: 2.75rem;
  border-radius: .7rem;
  background: var(--sz-v3-primary-soft);
  color: var(--sz-primary);
}

.sobelzcom-theme .sz-kpi-icon i { font-size: 1.35rem; }
.sobelzcom-theme .sz-kpi-card[data-tone="success"] .sz-kpi-icon { background: var(--sz-v3-success-soft); color: var(--sz-success); }
.sobelzcom-theme .sz-kpi-card[data-tone="info"] .sz-kpi-icon { background: var(--sz-v3-info-soft); color: var(--sz-info); }
.sobelzcom-theme .sz-kpi-card[data-tone="warning"] .sz-kpi-icon { background: var(--sz-v3-warning-soft); color: var(--sz-warning); }
.sobelzcom-theme .sz-kpi-card[data-tone="danger"] .sz-kpi-icon { background: var(--sz-v3-danger-soft); color: var(--sz-danger); }
.sobelzcom-theme .sz-kpi-card[data-tone="secondary"] .sz-kpi-icon { background: var(--sz-v3-secondary-soft); color: var(--sz-secondary); }

.sobelzcom-theme .sz-kpi-value {
  margin: 1rem 0 .15rem;
  color: var(--sz-v3-heading);
  font-size: 1.65rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -.035em;
}

.sobelzcom-theme .sz-kpi-label {
  overflow: hidden;
  margin: 0;
  color: var(--bs-secondary-color, var(--sz-v3-muted));
  font-size: .825rem;
  font-weight: 500;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sobelzcom-theme .sz-kpi-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  margin-block-start: .8rem;
  color: var(--bs-secondary-color, var(--sz-v3-muted));
  font-size: .75rem;
}

.sobelzcom-theme .sz-kpi-percent {
  color: var(--sz-v3-heading);
  font-weight: 600;
}

.sobelzcom-theme .sz-kpi-card .progress {
  height: .35rem;
  margin-block-start: .7rem;
  border-radius: 50rem;
  background: var(--sz-v3-soft);
}

.sobelzcom-theme .sz-kpi-card .progress-bar {
  border-radius: inherit;
  background: var(--sz-primary);
}

.sobelzcom-theme .sz-kpi-card[data-tone="success"] .progress-bar { background: var(--sz-success); }
.sobelzcom-theme .sz-kpi-card[data-tone="info"] .progress-bar { background: var(--sz-info); }
.sobelzcom-theme .sz-kpi-card[data-tone="warning"] .progress-bar { background: var(--sz-warning); }
.sobelzcom-theme .sz-kpi-card[data-tone="danger"] .progress-bar { background: var(--sz-danger); }
.sobelzcom-theme .sz-kpi-card[data-tone="secondary"] .progress-bar { background: var(--sz-secondary); }

.sobelzcom-theme .sz-status-kpi .sz-kpi-icon {
  background: color-mix(in srgb, var(--sz-status-color) 14%, transparent);
  color: var(--sz-status-color);
}

.sobelzcom-theme .sz-status-kpi .sz-kpi-accent {
  position: absolute;
  inset-block: 0;
  inset-inline-start: 0;
  width: .22rem;
  background: var(--sz-status-color);
  opacity: .9;
}

/* Data cards and actual Vuexy tables ------------------------------------- */
.sobelzcom-theme .sz-data-card {
  overflow: hidden;
}

.sobelzcom-theme .sz-data-card > .card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 4.5rem;
}

.sobelzcom-theme .sz-data-card-title {
  display: flex;
  align-items: center;
  min-width: 0;
}

.sobelzcom-theme .sz-data-card-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: .5rem;
}

.sobelzcom-theme .sz-data-card .card-datatable,
.sobelzcom-theme .sz-data-card .table-responsive {
  min-width: 0;
}

.sobelzcom-theme .sz-data-card .dataTables_wrapper,
.sobelzcom-theme .sz-data-card .dt-container {
  padding: 0;
}

.sobelzcom-theme .sz-datatable-toolbar {
  min-height: 4.35rem;
  padding: 1rem 1.5rem;
  border-block-end: 1px solid var(--sz-v3-card-border);
  background: var(--sz-v3-card-bg);
}

.sobelzcom-theme .sz-datatable-toolbar .dataTables_length,
.sobelzcom-theme .sz-datatable-toolbar .dataTables_filter,
.sobelzcom-theme .sz-datatable-toolbar .dt-length,
.sobelzcom-theme .sz-datatable-toolbar .dt-search {
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: start !important;
}

.sobelzcom-theme .sz-datatable-toolbar label {
  display: flex;
  align-items: center;
  gap: .5rem;
  margin: 0;
  color: var(--bs-secondary-color, var(--sz-v3-muted));
  font-size: .8125rem;
  font-weight: 500;
}

.sobelzcom-theme .sz-datatable-toolbar .dataTables_filter,
.sobelzcom-theme .sz-datatable-toolbar .dt-search {
  position: relative;
  min-width: min(18rem, 100%);
}

.sobelzcom-theme .sz-datatable-toolbar .dataTables_filter label,
.sobelzcom-theme .sz-datatable-toolbar .dt-search label {
  display: block;
  font-size: 0;
}

.sobelzcom-theme .sz-datatable-toolbar .dataTables_filter input,
.sobelzcom-theme .sz-datatable-toolbar .dt-search input {
  width: 100%;
  min-height: 2.55rem;
  margin: 0 !important;
  padding-inline: 2.6rem .85rem;
  border-color: var(--sz-v3-card-border);
  border-radius: var(--sz-v3-control-radius);
  background: var(--sz-v3-card-bg);
  font-size: .875rem;
}

.sobelzcom-theme .sz-dt-search-icon {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: .85rem;
  color: var(--bs-secondary-color, var(--sz-v3-muted));
  pointer-events: none;
  transform: translateY(-50%);
}

.sobelzcom-theme .sz-datatable-toolbar .dataTables_length select,
.sobelzcom-theme .sz-datatable-toolbar .dt-length select {
  width: auto;
  min-width: 4.5rem;
  min-height: 2.45rem;
  margin: 0 .2rem;
  border-color: var(--sz-v3-card-border);
  border-radius: var(--sz-v3-control-radius);
  background-color: var(--sz-v3-card-bg);
}

.sobelzcom-theme table.sz-vuexy-table,
.sobelzcom-theme .sz-data-card table.table {
  width: 100% !important;
  margin: 0 !important;
  border-collapse: separate !important;
  border-spacing: 0;
  color: var(--sz-v3-body);
}

.sobelzcom-theme table.sz-vuexy-table > thead > tr > th,
.sobelzcom-theme .sz-data-card table.table > thead > tr > th {
  padding: .9rem 1.25rem;
  border: 0;
  border-block-end: 1px solid var(--sz-v3-card-border);
  background: var(--sz-v3-table-head);
  color: var(--bs-secondary-color, var(--sz-v3-muted)) !important;
  font-size: .75rem;
  font-weight: 650;
  letter-spacing: .035em;
  line-height: 1.35;
  text-transform: uppercase;
  vertical-align: middle;
  white-space: nowrap;
}

.sobelzcom-theme table.sz-vuexy-table > tbody > tr > td,
.sobelzcom-theme .sz-data-card table.table > tbody > tr > td {
  padding: 1rem 1.25rem;
  border: 0;
  border-block-end: 1px solid var(--sz-v3-card-border);
  background: transparent;
  color: var(--sz-v3-body);
  font-size: .875rem;
  vertical-align: middle;
}

.sobelzcom-theme table.sz-vuexy-table > tbody > tr:last-child > td,
.sobelzcom-theme .sz-data-card table.table > tbody > tr:last-child > td {
  border-block-end: 0;
}

.sobelzcom-theme table.sz-vuexy-table > tbody > tr,
.sobelzcom-theme .sz-data-card table.table > tbody > tr {
  transition: background-color var(--sz-transition), box-shadow var(--sz-transition);
}

.sobelzcom-theme table.sz-vuexy-table > tbody > tr:hover,
.sobelzcom-theme .sz-data-card table.table > tbody > tr:hover {
  background: rgba(var(--sz-primary-rgb), .035);
  box-shadow: inset .18rem 0 0 var(--sz-primary);
}

html[dir="rtl"] .sobelzcom-theme table.sz-vuexy-table > tbody > tr:hover,
html[dir="rtl"] .sobelzcom-theme .sz-data-card table.table > tbody > tr:hover {
  box-shadow: inset -.18rem 0 0 var(--sz-primary);
}

.sobelzcom-theme .sz-density-compact table.sz-vuexy-table > tbody > tr > td,
.sobelzcom-theme .sz-density-compact .sz-data-card table.table > tbody > tr > td {
  padding-block: .72rem;
}

.sobelzcom-theme .sz-table-entity {
  display: flex;
  align-items: center;
  min-width: 12rem;
  gap: .75rem;
}

.sobelzcom-theme .sz-table-entity-icon {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 2.35rem;
  height: 2.35rem;
  border-radius: .6rem;
  background: var(--sz-v3-primary-soft);
  color: var(--sz-primary);
}

.sobelzcom-theme .sz-table-entity-icon[data-tone="success"] { background: var(--sz-v3-success-soft); color: var(--sz-success); }
.sobelzcom-theme .sz-table-entity-icon[data-tone="info"] { background: var(--sz-v3-info-soft); color: var(--sz-info); }
.sobelzcom-theme .sz-table-entity-icon[data-tone="warning"] { background: var(--sz-v3-warning-soft); color: var(--sz-warning); }
.sobelzcom-theme .sz-table-entity-icon[data-tone="danger"] { background: var(--sz-v3-danger-soft); color: var(--sz-danger); }

.sobelzcom-theme .sz-table-entity-copy {
  min-width: 0;
}

.sobelzcom-theme .sz-table-entity-title,
.sobelzcom-theme .sz-table-entity-title a {
  display: block;
  overflow: hidden;
  color: var(--sz-v3-heading) !important;
  font-weight: 600;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sobelzcom-theme .sz-table-entity-meta {
  display: block;
  overflow: hidden;
  margin-block-start: .15rem;
  color: var(--bs-secondary-color, var(--sz-v3-muted));
  font-size: .75rem;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sobelzcom-theme .sz-table-money {
  color: var(--sz-v3-heading);
  font-weight: 650;
  white-space: nowrap;
}

.sobelzcom-theme .sz-table-date {
  color: var(--sz-v3-body);
  white-space: nowrap;
}

.sobelzcom-theme .dataTables_wrapper > .row:last-child,
.sobelzcom-theme .dt-container > .dt-layout-row:last-child {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin: 0 !important;
  padding: 1rem 1.5rem;
  border-block-start: 1px solid var(--sz-v3-card-border);
}

.sobelzcom-theme .dataTables_wrapper .dataTables_info,
.sobelzcom-theme .dataTables_wrapper .dataTables_paginate {
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.sobelzcom-theme .dataTables_wrapper .pagination,
.sobelzcom-theme .dataTables_wrapper .dataTables_paginate {
  display: flex;
  align-items: center;
  gap: .25rem;
}

.sobelzcom-theme .dataTables_wrapper .paginate_button,
.sobelzcom-theme .dataTables_wrapper .page-link {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 2.25rem;
  height: 2.25rem;
  margin: 0 !important;
  padding: .35rem .55rem !important;
  border: 0 !important;
  border-radius: .5rem !important;
  background: var(--sz-v3-soft) !important;
  color: var(--sz-v3-body) !important;
  font-size: .8125rem;
  box-shadow: none !important;
}

.sobelzcom-theme .dataTables_wrapper .paginate_button:hover,
.sobelzcom-theme .dataTables_wrapper .page-link:hover {
  background: var(--sz-v3-primary-soft-hover) !important;
  color: var(--sz-primary) !important;
}

.sobelzcom-theme .dataTables_wrapper .paginate_button.current,
.sobelzcom-theme .dataTables_wrapper .page-item.active .page-link,
.sobelzcom-theme .dataTables_wrapper .active > .page-link {
  background: var(--sz-primary) !important;
  color: #fff !important;
  box-shadow: 0 .2rem .65rem rgba(var(--sz-primary-rgb), .35) !important;
}

/* Actual Vuexy buttons ---------------------------------------------------- */
.sobelzcom-theme .btn {
  --bs-btn-padding-y: .55rem;
  --bs-btn-padding-x: 1rem;
  --bs-btn-font-size: .875rem;
  --bs-btn-font-weight: 550;
  --bs-btn-line-height: 1.375;
  --bs-btn-border-radius: var(--sz-v3-control-radius);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  min-height: 2.5rem;
  letter-spacing: .005em;
  transition: transform 150ms ease, box-shadow 150ms ease, background-color 150ms ease, border-color 150ms ease, color 150ms ease;
}

.sobelzcom-theme .btn:hover:not(:disabled):not(.disabled) {
  transform: translateY(-1px);
}

.sobelzcom-theme .btn-primary {
  border-color: var(--sz-primary);
  background: var(--sz-primary);
  box-shadow: 0 .2rem .65rem rgba(var(--sz-primary-rgb), .32);
}

.sobelzcom-theme .btn-primary:hover,
.sobelzcom-theme .btn-primary:focus {
  border-color: color-mix(in srgb, var(--sz-primary) 88%, #000);
  background: color-mix(in srgb, var(--sz-primary) 92%, #000);
  box-shadow: 0 .35rem .9rem rgba(var(--sz-primary-rgb), .38);
}

.sobelzcom-theme .btn-label-primary,
.sobelzcom-theme .btn-default.btn-label-secondary,
.sobelzcom-theme .btn-label-secondary {
  border-color: transparent;
  background: var(--sz-v3-primary-soft);
  color: var(--sz-primary);
  box-shadow: none;
}

.sobelzcom-theme .btn-label-secondary {
  background: var(--sz-v3-secondary-soft);
  color: var(--sz-secondary);
}

.sobelzcom-theme .btn-label-primary:hover { background: var(--sz-v3-primary-soft-hover); color: var(--sz-primary); }
.sobelzcom-theme .btn-label-secondary:hover { background: rgba(128, 131, 144, .22); color: var(--sz-v3-heading); }
.sobelzcom-theme .btn-label-success { border-color: transparent; background: var(--sz-v3-success-soft); color: var(--sz-success); }
.sobelzcom-theme .btn-label-info { border-color: transparent; background: var(--sz-v3-info-soft); color: var(--sz-info); }
.sobelzcom-theme .btn-label-warning { border-color: transparent; background: var(--sz-v3-warning-soft); color: var(--sz-warning); }
.sobelzcom-theme .btn-label-danger { border-color: transparent; background: var(--sz-v3-danger-soft); color: var(--sz-danger); }

.sobelzcom-theme .btn-outline-secondary {
  border-color: var(--sz-v3-card-border);
  color: var(--sz-v3-body);
}

.sobelzcom-theme .btn-outline-secondary:hover {
  border-color: rgba(var(--sz-primary-rgb), .4);
  background: var(--sz-v3-primary-soft);
  color: var(--sz-primary);
}

.sobelzcom-theme .btn-icon {
  width: 2.5rem;
  min-width: 2.5rem;
  padding: .5rem;
}

.sobelzcom-theme .btn-sm {
  min-height: 2.15rem;
  padding: .4rem .75rem;
  font-size: .8125rem;
}

.sobelzcom-theme .btn-lg {
  min-height: 3rem;
  padding: .75rem 1.25rem;
}

.sobelzcom-theme .btn .ti,
.sobelzcom-theme .btn .fa,
.sobelzcom-theme .btn [class*="fa-"] {
  line-height: 1;
}

/* Badges / statuses ------------------------------------------------------- */
.sobelzcom-theme .badge,
.sobelzcom-theme .label,
.sobelzcom-theme .sz-status-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .3rem;
  min-height: 1.65rem;
  padding: .28rem .62rem;
  border: 0 !important;
  border-radius: 50rem !important;
  font-size: .72rem;
  font-weight: 650;
  line-height: 1;
  white-space: nowrap;
}

.sobelzcom-theme .bg-label-primary,
.sobelzcom-theme .label-primary { background: var(--sz-v3-primary-soft) !important; color: var(--sz-primary) !important; }
.sobelzcom-theme .bg-label-success,
.sobelzcom-theme .label-success { background: var(--sz-v3-success-soft) !important; color: var(--sz-success) !important; }
.sobelzcom-theme .bg-label-info,
.sobelzcom-theme .label-info { background: var(--sz-v3-info-soft) !important; color: var(--sz-info) !important; }
.sobelzcom-theme .bg-label-warning,
.sobelzcom-theme .label-warning { background: var(--sz-v3-warning-soft) !important; color: var(--sz-warning) !important; }
.sobelzcom-theme .bg-label-danger,
.sobelzcom-theme .label-danger { background: var(--sz-v3-danger-soft) !important; color: var(--sz-danger) !important; }
.sobelzcom-theme .bg-label-secondary,
.sobelzcom-theme .label-default { background: var(--sz-v3-secondary-soft) !important; color: var(--sz-secondary) !important; }

.sobelzcom-theme .project-status-1,
.sobelzcom-theme [class*="project-status-"] {
  background: color-mix(in srgb, currentColor 12%, transparent) !important;
}

/* Forms ------------------------------------------------------------------- */
.sobelzcom-theme .sz-form-group,
.sobelzcom-theme .form-group {
  margin-block-end: 1.25rem;
}

.sobelzcom-theme .form-label,
.sobelzcom-theme .control-label,
.sobelzcom-theme .form-group > label {
  margin-block-end: .45rem;
  color: var(--sz-v3-heading);
  font-size: .8125rem;
  font-weight: 550;
}

.sobelzcom-theme .form-control,
.sobelzcom-theme .form-select,
.sobelzcom-theme .bootstrap-select > .dropdown-toggle,
.sobelzcom-theme .select2-container .select2-selection,
.sobelzcom-theme .xdsoft_datetimepicker input {
  min-height: 2.75rem;
  border: 1px solid var(--sz-v3-card-border);
  border-radius: var(--sz-v3-control-radius);
  background-color: var(--sz-v3-card-bg);
  color: var(--sz-v3-body);
  font-size: .875rem;
  box-shadow: none;
  transition: border-color 150ms ease, box-shadow 150ms ease, background-color 150ms ease;
}

.sobelzcom-theme textarea.form-control { min-height: 7rem; }

.sobelzcom-theme .form-control:focus,
.sobelzcom-theme .form-select:focus,
.sobelzcom-theme .bootstrap-select.open > .dropdown-toggle,
.sobelzcom-theme .bootstrap-select > .dropdown-toggle:focus {
  border-color: rgba(var(--sz-primary-rgb), .75);
  background-color: var(--sz-v3-card-bg);
  color: var(--sz-v3-body);
  box-shadow: 0 0 0 .2rem rgba(var(--sz-primary-rgb), .14);
}

.sobelzcom-theme .input-group-text {
  border-color: var(--sz-v3-card-border);
  background: var(--sz-v3-soft);
  color: var(--bs-secondary-color, var(--sz-v3-muted));
}

.sobelzcom-theme .bootstrap-select .dropdown-menu {
  padding: .45rem;
  border: 1px solid var(--sz-v3-card-border);
  border-radius: .7rem;
  box-shadow: var(--sz-v3-card-shadow-hover);
}

.sobelzcom-theme .bootstrap-select .dropdown-menu > li > a {
  border-radius: .5rem;
  padding: .55rem .7rem;
}

.sobelzcom-theme .bootstrap-select .dropdown-menu > li.selected > a,
.sobelzcom-theme .bootstrap-select .dropdown-menu > li > a:hover {
  background: var(--sz-v3-primary-soft);
  color: var(--sz-primary);
}

/* Chart cards ------------------------------------------------------------- */
.sobelzcom-theme .sz-chart-card .card-body {
  padding-block-start: 1.25rem;
}

.sobelzcom-theme .sz-chart-toolbar {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .75rem;
}

.sobelzcom-theme .sz-chart-shell {
  position: relative;
  min-height: 21rem;
  padding: .5rem .25rem 0;
}

.sobelzcom-theme .sz-chart-shell canvas {
  width: 100% !important;
  max-height: 22rem;
}

.sobelzcom-theme .sz-chart-legend-note {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  color: var(--bs-secondary-color, var(--sz-v3-muted));
  font-size: .78rem;
}

.sobelzcom-theme .sz-chart-legend-note::before {
  width: .55rem;
  height: .55rem;
  border-radius: 50%;
  background: var(--sz-primary);
  content: "";
}

/* Project application ----------------------------------------------------- */
.sobelzcom-theme .sz-project-header-card {
  overflow: hidden;
  margin-block-end: 1rem;
  background:
    linear-gradient(110deg, rgba(var(--sz-primary-rgb), .12), transparent 44%),
    var(--sz-v3-card-bg);
}

.sobelzcom-theme .sz-project-header-card .card-body {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.sobelzcom-theme .sz-project-identity {
  display: flex;
  align-items: center;
  min-width: 0;
  gap: 1rem;
}

.sobelzcom-theme .sz-project-logo {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: .9rem;
  background: linear-gradient(135deg, var(--sz-primary-light, var(--sz-primary)), var(--sz-primary-dark, var(--sz-primary)));
  color: #fff;
  box-shadow: 0 .4rem 1rem rgba(var(--sz-primary-rgb), .28);
}

.sobelzcom-theme .sz-project-logo i { font-size: 1.7rem; }
.sobelzcom-theme .sz-project-name { margin: 0; font-size: 1.35rem; font-weight: 700; }
.sobelzcom-theme .sz-project-meta { display: flex; align-items: center; flex-wrap: wrap; gap: .55rem; margin-block-start: .4rem; }
.sobelzcom-theme .sz-project-members { display: flex; align-items: center; padding-inline-start: .45rem; }
.sobelzcom-theme .sz-project-members > span { margin-inline-start: -.45rem; }
.sobelzcom-theme .sz-project-members img { width: 2rem !important; height: 2rem !important; border: 2px solid var(--sz-v3-card-bg); border-radius: 50%; object-fit: cover; }

.sobelzcom-theme .sobelzcom-project-tabs,
.sobelzcom-theme .sz-project-tabs {
  margin: 0;
  padding: .55rem;
  border: 0;
  border-radius: var(--sz-v3-card-radius);
  background: var(--sz-v3-card-bg);
  box-shadow: var(--sz-v3-card-shadow);
}

.sobelzcom-theme .sz-project-tabs .horizontal-tabs {
  overflow-x: auto;
  scrollbar-width: none;
}

.sobelzcom-theme .sz-project-tabs .horizontal-tabs::-webkit-scrollbar { display: none; }

.sobelzcom-theme .sz-project-tabs .nav-tabs {
  display: flex;
  flex-wrap: nowrap;
  gap: .25rem;
  min-width: max-content;
  border: 0;
}

.sobelzcom-theme .sz-project-tabs .nav-tabs > li > a,
.sobelzcom-theme .sz-project-tabs .nav-link {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  min-height: 2.55rem;
  padding: .55rem .85rem;
  border: 0 !important;
  border-radius: .55rem;
  background: transparent;
  color: var(--sz-v3-body);
  font-size: .825rem;
  font-weight: 550;
  white-space: nowrap;
}

.sobelzcom-theme .sz-project-tabs .nav-tabs > li.active > a,
.sobelzcom-theme .sz-project-tabs .nav-tabs > li > a.active,
.sobelzcom-theme .sz-project-tabs .nav-link.active {
  background: var(--sz-v3-primary-soft);
  color: var(--sz-primary);
  box-shadow: none;
}

.sobelzcom-theme .sz-project-content-card {
  margin-block-start: 1rem;
}

.sobelzcom-theme .project-overview,
.sobelzcom-theme .project-overview-column {
  min-width: 0;
}

.sobelzcom-theme .sz-overview-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
  gap: 1rem;
}

.sobelzcom-theme .sz-overview-tile {
  padding: 1rem;
  border: 1px solid var(--sz-v3-card-border);
  border-radius: .75rem;
  background: var(--sz-v3-soft);
}

.sobelzcom-theme .sz-overview-tile-label { margin: 0; color: var(--bs-secondary-color, var(--sz-v3-muted)); font-size: .76rem; font-weight: 550; }
.sobelzcom-theme .sz-overview-tile-value { margin: .3rem 0 0; color: var(--sz-v3-heading); font-size: 1rem; font-weight: 650; }

/* Activity timeline ------------------------------------------------------- */
.sobelzcom-theme .sz-timeline {
  position: relative;
  margin: 0;
  padding: 0;
  list-style: none;
}

.sobelzcom-theme .sz-timeline::before {
  position: absolute;
  inset-block: .5rem;
  inset-inline-start: 1rem;
  width: 1px;
  background: var(--sz-v3-card-border);
  content: "";
}

.sobelzcom-theme .sz-timeline-item {
  position: relative;
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr);
  gap: 1rem;
  padding-block-end: 1.35rem;
}

.sobelzcom-theme .sz-timeline-marker {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border: .35rem solid var(--sz-v3-card-bg);
  border-radius: 50%;
  background: var(--sz-primary);
  color: #fff;
  box-shadow: 0 0 0 1px rgba(var(--sz-primary-rgb), .22);
}

.sobelzcom-theme .sz-timeline-content {
  min-width: 0;
  padding-block-start: .25rem;
}

/* Announcements ----------------------------------------------------------- */
.sobelzcom-theme .sz-announcement-list {
  display: grid;
  gap: 1rem;
}

.sobelzcom-theme .sz-announcement-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 1rem;
  padding: 1.15rem 1.25rem;
  border: 1px solid var(--sz-v3-card-border);
  border-radius: .75rem;
  background: var(--sz-v3-card-bg);
  color: inherit;
  transition: border-color var(--sz-transition), box-shadow var(--sz-transition), transform var(--sz-transition);
}

.sobelzcom-theme .sz-announcement-card:hover {
  border-color: rgba(var(--sz-primary-rgb), .34);
  color: inherit;
  box-shadow: 0 .35rem 1rem rgba(47, 43, 61, .09);
  transform: translateY(-2px);
}

.sobelzcom-theme .sz-announcement-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: .75rem;
  background: var(--sz-v3-warning-soft);
  color: var(--sz-warning);
}

.sobelzcom-theme .sz-announcement-title { margin: 0; color: var(--sz-v3-heading); font-size: .925rem; font-weight: 650; }
.sobelzcom-theme .sz-announcement-date { margin: .2rem 0 0; color: var(--bs-secondary-color, var(--sz-v3-muted)); font-size: .78rem; }
.sobelzcom-theme .sz-announcement-arrow { color: var(--bs-secondary-color, var(--sz-v3-muted)); }

/* Files / upload ---------------------------------------------------------- */
.sobelzcom-theme .sz-upload-card .card-body { padding: 1.25rem; }
.sobelzcom-theme .dropzone.sz-dropzone,
.sobelzcom-theme #files-upload.dropzone {
  min-height: 12rem;
  border: 1.5px dashed rgba(var(--sz-primary-rgb), .45);
  border-radius: .85rem;
  background: linear-gradient(135deg, rgba(var(--sz-primary-rgb), .06), transparent 70%);
  color: var(--sz-v3-body);
  transition: border-color var(--sz-transition), background-color var(--sz-transition);
}

.sobelzcom-theme .dropzone.sz-dropzone:hover,
.sobelzcom-theme #files-upload.dropzone:hover {
  border-color: var(--sz-primary);
  background: rgba(var(--sz-primary-rgb), .07);
}

.sobelzcom-theme .dropzone .dz-message {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .65rem;
  min-height: 9rem;
  margin: 0;
  text-align: center;
}

.sobelzcom-theme .sz-dropzone-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 4rem;
  height: 4rem;
  margin-block-end: .25rem;
  border-radius: 1rem;
  background: var(--sz-v3-primary-soft);
  color: var(--sz-primary);
}

.sobelzcom-theme .table-image,
.sobelzcom-theme .sz-file-thumbnail {
  overflow: hidden;
  width: 3rem;
  height: 3rem;
  border-radius: .65rem;
  background: var(--sz-v3-soft);
}

.sobelzcom-theme .table-image img,
.sobelzcom-theme .sz-file-thumbnail img { width: 100%; height: 100%; object-fit: cover; }

/* Calendar --------------------------------------------------------------- */
.sobelzcom-theme .sz-calendar-card .card-body { padding: 1.25rem; }
.sobelzcom-theme #calendar .fc-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-block-end: 1.25rem; }
.sobelzcom-theme #calendar .fc-toolbar h2 { color: var(--sz-v3-heading); font-size: 1.15rem; font-weight: 650; }
.sobelzcom-theme #calendar .fc-button {
  min-height: 2.35rem;
  border: 0;
  border-radius: .5rem;
  background: var(--sz-v3-soft);
  color: var(--sz-v3-body);
  text-shadow: none;
  box-shadow: none;
}
.sobelzcom-theme #calendar .fc-button:hover,
.sobelzcom-theme #calendar .fc-button.fc-state-active { background: var(--sz-primary); color: #fff; }
.sobelzcom-theme #calendar .fc-view-container { overflow: hidden; border: 1px solid var(--sz-v3-card-border); border-radius: .75rem; }
.sobelzcom-theme #calendar .fc-unthemed th,
.sobelzcom-theme #calendar .fc-unthemed td,
.sobelzcom-theme #calendar .fc-unthemed thead,
.sobelzcom-theme #calendar .fc-unthemed tbody,
.sobelzcom-theme #calendar .fc-unthemed .fc-divider,
.sobelzcom-theme #calendar .fc-unthemed .fc-row,
.sobelzcom-theme #calendar .fc-unthemed .fc-content,
.sobelzcom-theme #calendar .fc-unthemed .fc-popover,
.sobelzcom-theme #calendar .fc-unthemed .fc-list-view,
.sobelzcom-theme #calendar .fc-unthemed .fc-list-heading td { border-color: var(--sz-v3-card-border); }

/* Alerts and empty states ------------------------------------------------- */
.sobelzcom-theme .sz-alert,
.sobelzcom-theme .alert {
  gap: .75rem;
  border: 0;
  border-radius: .75rem;
  padding: .9rem 1rem;
}

.sobelzcom-theme .alert-success { background: var(--sz-v3-success-soft); color: var(--sz-success); }
.sobelzcom-theme .alert-info { background: var(--sz-v3-info-soft); color: var(--sz-info); }
.sobelzcom-theme .alert-warning { background: var(--sz-v3-warning-soft); color: #b4671d; }
.sobelzcom-theme .alert-danger { background: var(--sz-v3-danger-soft); color: var(--sz-danger); }

.sobelzcom-theme .sz-empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 13rem;
  padding: 2rem;
  color: var(--bs-secondary-color, var(--sz-v3-muted));
  text-align: center;
}

.sobelzcom-theme .sz-empty-state-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 4rem;
  height: 4rem;
  margin-block-end: 1rem;
  border-radius: 1rem;
  background: var(--sz-v3-primary-soft);
  color: var(--sz-primary);
}

/* Authentication/forms remain backend-compatible but visually Vuexy. */
.sobelzcom-theme .login-form,
.sobelzcom-theme .register-form,
.sobelzcom-theme .authentication-form {
  border: 0;
  border-radius: 1rem;
  background: var(--sz-v3-card-bg);
  box-shadow: 0 1rem 3rem rgba(47, 43, 61, .14);
}

/* Responsive -------------------------------------------------------------- */
@media (max-width: 1199.98px) {
  .sobelzcom-theme .sz-dashboard-hero .card-body { padding: 1.5rem; }
  .sobelzcom-theme .sz-hero-orbit { flex-basis: 9rem; width: 9rem; }
  .sobelzcom-theme .sz-data-card > .card-header { align-items: flex-start; flex-direction: column; }
  .sobelzcom-theme .sz-data-card-actions { width: 100%; justify-content: flex-start; }
}

@media (max-width: 767.98px) {
  .sobelzcom-theme #content { padding-block-start: 1.1rem; }
  .sobelzcom-theme .sz-page-header { align-items: flex-start; flex-direction: column; margin-block-end: 1rem; }
  .sobelzcom-theme .sz-page-actions { width: 100%; justify-content: flex-start; }
  .sobelzcom-theme .sz-page-actions .btn { flex: 1 1 auto; }
  .sobelzcom-theme .sz-dashboard-hero { min-height: auto; }
  .sobelzcom-theme .sz-dashboard-hero .card-body { padding: 1.35rem; }
  .sobelzcom-theme .sz-hero-orbit { display: none; }
  .sobelzcom-theme .sz-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
  .sobelzcom-theme .sz-kpi-card .card-body { padding: 1rem; }
  .sobelzcom-theme .sz-kpi-value { margin-block-start: .75rem; font-size: 1.35rem; }
  .sobelzcom-theme .sz-datatable-toolbar { align-items: stretch !important; padding: .9rem 1rem; }
  .sobelzcom-theme .sz-datatable-toolbar-start,
  .sobelzcom-theme .sz-datatable-toolbar-end,
  .sobelzcom-theme .sz-datatable-toolbar .dataTables_filter,
  .sobelzcom-theme .sz-datatable-toolbar .dt-search { width: 100%; min-width: 0; }
  .sobelzcom-theme .dataTables_wrapper > .row:last-child,
  .sobelzcom-theme .dt-container > .dt-layout-row:last-child { align-items: flex-start; flex-direction: column; padding: .9rem 1rem; }
  .sobelzcom-theme .sz-project-header-card .card-body { align-items: flex-start; flex-direction: column; }
  .sobelzcom-theme .sz-project-header-card .sz-page-actions { width: 100%; }
  .sobelzcom-theme .sz-announcement-card { grid-template-columns: auto minmax(0, 1fr); }
  .sobelzcom-theme .sz-announcement-arrow { display: none; }
}

@media (max-width: 575.98px) {
  .sobelzcom-theme .sz-kpi-grid { grid-template-columns: 1fr; }
  .sobelzcom-theme .card-header,
  .sobelzcom-theme .card-body,
  .sobelzcom-theme .card-footer { padding-inline: 1rem; }

  /* Optional card-like table rows retain the original DataTable DOM and event
     handlers. Only CSS layout changes at phone widths. */
  .sobelzcom-theme.sz-mobile-table-cards table.sz-vuexy-table,
  .sobelzcom-theme.sz-mobile-table-cards table.sz-vuexy-table tbody,
  .sobelzcom-theme.sz-mobile-table-cards table.sz-vuexy-table tr,
  .sobelzcom-theme.sz-mobile-table-cards table.sz-vuexy-table td {
    display: block;
    width: 100% !important;
  }

  .sobelzcom-theme.sz-mobile-table-cards table.sz-vuexy-table thead {
    position: absolute;
    overflow: hidden;
    width: 1px;
    height: 1px;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    clip-path: inset(50%);
  }

  .sobelzcom-theme.sz-mobile-table-cards table.sz-vuexy-table tbody {
    display: grid;
    gap: .8rem;
    padding: .9rem;
    background: var(--sz-v3-soft);
  }

  .sobelzcom-theme.sz-mobile-table-cards table.sz-vuexy-table tbody tr {
    overflow: hidden;
    border: 1px solid var(--sz-v3-card-border);
    border-radius: .75rem;
    background: var(--sz-v3-card-bg);
    box-shadow: 0 .18rem .6rem rgba(47, 43, 61, .06);
  }

  .sobelzcom-theme.sz-mobile-table-cards table.sz-vuexy-table tbody tr:hover {
    box-shadow: 0 .3rem 1rem rgba(47, 43, 61, .1);
  }

  .sobelzcom-theme.sz-mobile-table-cards table.sz-vuexy-table tbody td {
    display: grid;
    grid-template-columns: minmax(6.5rem, 40%) minmax(0, 1fr);
    align-items: center;
    gap: .75rem;
    padding: .72rem .9rem;
    text-align: end;
  }

  .sobelzcom-theme.sz-mobile-table-cards table.sz-vuexy-table tbody td::before {
    color: var(--bs-secondary-color, var(--sz-v3-muted));
    content: attr(data-label);
    font-size: .7rem;
    font-weight: 650;
    letter-spacing: .025em;
    text-align: start;
    text-transform: uppercase;
  }

  .sobelzcom-theme.sz-mobile-table-cards table.sz-vuexy-table tbody td:first-child {
    display: block;
    padding-block: .9rem;
    text-align: start;
  }

  .sobelzcom-theme.sz-mobile-table-cards table.sz-vuexy-table tbody td:first-child::before {
    display: none;
  }
}

/* RTL --------------------------------------------------------------------- */
html[dir="rtl"] .sobelzcom-theme .sz-dashboard-hero {
  background:
    radial-gradient(circle at 8% 18%, rgba(255, 255, 255, .24) 0 4.2rem, transparent 4.3rem),
    radial-gradient(circle at 22% 126%, rgba(255, 255, 255, .16) 0 7.5rem, transparent 7.6rem),
    linear-gradient(242deg, var(--sz-primary-light, var(--sz-primary)) 0%, var(--sz-primary, #7367f0) 58%, var(--sz-primary-deep, var(--sz-primary)) 100%);
}

html[dir="rtl"] .sobelzcom-theme .sz-dashboard-hero::before { inset-inline-start: 8rem; inset-inline-end: auto; }
html[dir="rtl"] .sobelzcom-theme .sz-dashboard-hero::after { inset-inline-start: -2rem; inset-inline-end: auto; }
html[dir="rtl"] .sobelzcom-theme .sz-hero-orbit .sz-orbit-main { transform: translate(50%, -50%) rotate(7deg); }
html[dir="rtl"] .sobelzcom-theme .sz-datatable-toolbar .dataTables_filter input,
html[dir="rtl"] .sobelzcom-theme .sz-datatable-toolbar .dt-search input { padding-inline: 2.6rem .85rem; }
html[dir="rtl"] .sobelzcom-theme .sz-timeline::before { inset-inline-start: 1rem; }

/* Print ------------------------------------------------------------------- */
@media print {
  .sobelzcom-theme .sz-dashboard-hero { background: #fff !important; color: #000 !important; box-shadow: none; }
  .sobelzcom-theme .sz-dashboard-hero * { color: #000 !important; }
  .sobelzcom-theme .sz-page-actions,
  .sobelzcom-theme .sz-datatable-toolbar,
  .sobelzcom-theme .dataTables_paginate { display: none !important; }
  .sobelzcom-theme .card { border: 1px solid #ddd !important; box-shadow: none !important; }
}

/* Sobelzcom 4.0 supplemental native view components ---------------------- */
.sobelzcom-theme .sz-overview-section {
  padding: 1.25rem;
  border: 1px solid var(--sz-v3-card-border);
  border-radius: .85rem;
  background: var(--sz-v3-card-bg);
}

.sobelzcom-theme .sz-project-progress-card {
  padding: 1rem;
  border: 1px solid var(--sz-v3-card-border);
  border-radius: .75rem;
  background: var(--sz-v3-soft);
}

.sobelzcom-theme .sz-project-progress-card .sz-kpi-icon { background: var(--sz-v3-primary-soft); color: var(--sz-primary); }
.sobelzcom-theme .sz-project-progress-card[data-tone="success"] .sz-kpi-icon { background: var(--sz-v3-success-soft); color: var(--sz-success); }
.sobelzcom-theme .sz-project-progress-card[data-tone="info"] .sz-kpi-icon { background: var(--sz-v3-info-soft); color: var(--sz-info); }
.sobelzcom-theme .sz-project-progress-card[data-tone="warning"] .sz-kpi-icon { background: var(--sz-v3-warning-soft); color: var(--sz-warning); }
.sobelzcom-theme .sz-project-progress-label { margin: 0; color: var(--bs-secondary-color, var(--sz-v3-muted)); font-size: .78rem; font-weight: 550; }
.sobelzcom-theme .sz-project-progress-value { margin: .25rem 0 0; color: var(--sz-v3-heading); font-size: 1.1rem; font-weight: 700; }
.sobelzcom-theme .sz-project-progress-card .progress { height: .4rem; margin: .65rem 0 0; border-radius: 50rem; background: var(--sz-v3-card-bg); }
.sobelzcom-theme .sz-project-progress-card .progress-bar { border-radius: inherit; background: var(--sz-primary); }
.sobelzcom-theme .sz-project-progress-card[data-tone="success"] .progress-bar { background: var(--sz-success); }
.sobelzcom-theme .sz-project-progress-card[data-tone="info"] .progress-bar { background: var(--sz-info); }
.sobelzcom-theme .sz-project-progress-card[data-tone="warning"] .progress-bar { background: var(--sz-warning); }

.sobelzcom-theme .sz-contact-avatar {
  flex: 0 0 auto;
  width: 2.5rem;
  height: 2.5rem;
  object-fit: cover;
  box-shadow: 0 0 0 2px var(--sz-v3-card-bg), 0 0 0 3px var(--sz-v3-card-border);
}

.sobelzcom-theme .sz-row-expired { background: rgba(255, 76, 81, .025); }
.sobelzcom-theme .sz-ticket-unread { background: rgba(255, 76, 81, .035); }
.sobelzcom-theme .sz-ticket-unread .sz-table-entity-title a { color: var(--sz-danger) !important; }
.sobelzcom-theme .min-w-0 { min-width: 0 !important; }

.sobelzcom-theme .sz-project-tabs { position: relative; }
.sobelzcom-theme .sz-project-tabs > .scroller {
  position: absolute;
  z-index: 4;
  inset-block-start: 50%;
  display: none;
  transform: translateY(-50%);
}
.sobelzcom-theme .sz-project-tabs > .arrow-left { inset-inline-start: .4rem; }
.sobelzcom-theme .sz-project-tabs > .arrow-right { inset-inline-end: .4rem; }
.sobelzcom-theme .sz-project-tabs.tabs-overflow > .scroller { display: inline-flex; }
.sobelzcom-theme .sz-project-tabs.tabs-overflow .horizontal-tabs { padding-inline: 2.65rem; }

/* Sobelzcom 4.0 — native project workspace components ==================== */
.sobelzcom-theme .sz-project-view-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
  margin: -.25rem 0 1.5rem;
}

.sobelzcom-theme .sz-project-view-intro,
.sobelzcom-theme .sz-project-view-actions {
  display: flex;
  align-items: center;
  gap: .75rem;
}

.sobelzcom-theme .sz-project-view-actions {
  flex-wrap: wrap;
  justify-content: flex-end;
}

.sobelzcom-theme .sz-project-section-title {
  margin: 0;
  color: var(--sz-v3-heading);
  font-size: 1rem;
  font-weight: 650;
  line-height: 1.35;
}

.sobelzcom-theme .sz-project-section-subtitle {
  margin: .15rem 0 0;
  color: var(--bs-secondary-color, var(--sz-v3-muted));
  font-size: .78rem;
}

.sobelzcom-theme .sz-project-inner-table {
  overflow: hidden;
  margin: 0 -1.5rem -1.5rem;
  border-block-start: 1px solid var(--sz-v3-card-border);
}

.sobelzcom-theme .sz-project-inner-table .dataTables_wrapper,
.sobelzcom-theme .sz-project-inner-table .dt-container {
  padding: 0;
}

.sobelzcom-theme .sz-table-description {
  min-width: 18rem;
  max-width: 32rem;
  color: var(--sz-v3-body);
  line-height: 1.55;
}

.sobelzcom-theme .sz-table-description p:last-child { margin-block-end: 0; }
.sobelzcom-theme .sz-table-avatar,
.sobelzcom-theme .sz-staff-entity img {
  width: 2.35rem;
  height: 2.35rem;
  flex: 0 0 2.35rem;
  object-fit: cover;
  border: 2px solid var(--sz-v3-card-bg);
  box-shadow: 0 0 0 1px var(--sz-v3-card-border);
}

/* Task board / milestone kanban ----------------------------------------- */
.sobelzcom-theme .sz-task-board {
  position: relative;
  overflow-x: auto;
  margin: 0 -1.5rem -1.5rem;
  padding: .25rem 1.5rem 1.5rem;
  scrollbar-width: thin;
  scrollbar-color: rgba(var(--sz-primary-rgb), .35) transparent;
}

.sobelzcom-theme .sz-task-board-row,
.sobelzcom-theme .kan-ban-row.sz-task-board-row {
  display: flex;
  align-items: flex-start;
  gap: 1.25rem;
  width: max-content;
  min-width: 100%;
}

.sobelzcom-theme .sz-task-phase,
.sobelzcom-theme .kan-ban-col.sz-task-phase {
  display: flex;
  flex: 0 0 21rem;
  flex-direction: column;
  width: 21rem;
  max-height: min(68vh, 46rem);
  margin: 0;
  overflow: hidden;
  border: 1px solid var(--sz-v3-card-border);
  border-radius: calc(var(--sz-radius) + .15rem);
  background: var(--sz-v3-soft);
  box-shadow: none;
}

.sobelzcom-theme .sz-task-phase-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: .75rem;
  min-height: auto;
  padding: 1rem;
  border: 0;
  border-block-start: .2rem solid var(--sz-phase-color, var(--sz-primary));
  border-block-end: 1px solid var(--sz-v3-card-border);
  background: var(--sz-v3-card-bg) !important;
  color: var(--sz-v3-heading) !important;
}

.sobelzcom-theme .sz-task-phase-heading {
  display: flex;
  align-items: flex-start;
  min-width: 0;
  gap: .65rem;
}

.sobelzcom-theme .sz-task-phase-dot {
  width: .65rem;
  height: .65rem;
  flex: 0 0 .65rem;
  margin-block-start: .32rem;
  border-radius: 50%;
  background: var(--sz-phase-color, var(--sz-primary));
  box-shadow: 0 0 0 .25rem color-mix(in srgb, var(--sz-phase-color, var(--sz-primary)) 13%, transparent);
}

.sobelzcom-theme .sz-task-phase-copy { min-width: 0; }
.sobelzcom-theme .sz-task-phase-title-row {
  display: flex;
  align-items: flex-start;
  min-width: 0;
  gap: .35rem;
}

.sobelzcom-theme .sz-task-phase-title {
  overflow: hidden;
  margin: 0;
  color: var(--sz-v3-heading);
  font-size: .875rem;
  font-weight: 650;
  line-height: 1.4;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sobelzcom-theme .sz-task-phase-dates {
  display: flex;
  align-items: center;
  gap: .3rem;
  margin: .25rem 0 0;
  color: var(--bs-secondary-color, var(--sz-v3-muted));
  font-size: .69rem;
  white-space: nowrap;
}

.sobelzcom-theme .sz-task-phase-body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: .75rem;
  min-height: 8rem;
  padding: .85rem;
  overflow-y: auto;
  background: transparent;
  scrollbar-width: thin;
}

.sobelzcom-theme .sz-task-card {
  position: relative;
  padding: .95rem;
  border: 1px solid var(--sz-v3-card-border);
  border-radius: .65rem;
  background: var(--sz-v3-card-bg);
  box-shadow: 0 .1rem .25rem rgba(47, 43, 61, .04);
  transition: border-color 150ms ease, box-shadow 150ms ease, transform 150ms ease;
}

.sobelzcom-theme .sz-task-card:hover {
  border-color: rgba(var(--sz-primary-rgb), .35);
  box-shadow: 0 .35rem 1rem rgba(47, 43, 61, .1);
  transform: translateY(-1px);
}

.sobelzcom-theme .sz-task-card::before {
  position: absolute;
  inset-block: .75rem;
  inset-inline-start: 0;
  width: .18rem;
  border-radius: 0 .25rem .25rem 0;
  background: var(--sz-phase-color, var(--sz-primary));
  content: "";
}

html[dir="rtl"] .sobelzcom-theme .sz-task-card::before { border-radius: .25rem 0 0 .25rem; }
.sobelzcom-theme .sz-task-card.is-overdue::before { background: var(--sz-danger); }
.sobelzcom-theme .sz-task-card.is-complete { opacity: .72; }
.sobelzcom-theme .sz-task-card.is-complete .sz-task-card-title { text-decoration: line-through; }

.sobelzcom-theme .sz-task-card-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: .5rem;
}

.sobelzcom-theme .sz-task-card-title {
  display: -webkit-box;
  overflow: hidden;
  color: var(--sz-v3-heading) !important;
  font-size: .84rem;
  font-weight: 650;
  line-height: 1.45;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.sobelzcom-theme .sz-task-card-status { margin-block-start: .55rem; }
.sobelzcom-theme .sz-task-card-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .45rem;
  margin: .75rem 0 0;
  padding-block-start: .7rem;
  border-block-start: 1px dashed var(--sz-v3-card-border);
}

.sobelzcom-theme .sz-task-card-meta > div { min-width: 0; }
.sobelzcom-theme .sz-task-card-meta dt {
  display: flex;
  align-items: center;
  gap: .25rem;
  margin: 0;
  color: var(--bs-secondary-color, var(--sz-v3-muted));
  font-size: .65rem;
  font-weight: 500;
}

.sobelzcom-theme .sz-task-card-meta dd {
  margin: .15rem 0 0;
  color: var(--sz-v3-body);
  font-size: .72rem;
  font-weight: 600;
}

.sobelzcom-theme .sz-task-phase-footer {
  padding: .85rem 1rem;
  border-block-start: 1px solid var(--sz-v3-card-border);
  background: var(--sz-v3-card-bg);
}

.sobelzcom-theme .sz-task-phase-progress-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  margin-block-end: .4rem;
  color: var(--bs-secondary-color, var(--sz-v3-muted));
  font-size: .68rem;
}

.sobelzcom-theme .sz-task-phase-progress-meta strong { color: var(--sz-v3-heading); }
.sobelzcom-theme .sz-task-phase-footer .progress { height: .3rem; margin: 0; }
.sobelzcom-theme .sz-task-phase-footer .progress-bar { background: var(--sz-phase-color, var(--sz-primary)); }
.sobelzcom-theme .sz-task-phase-time {
  display: flex;
  align-items: center;
  gap: .3rem;
  margin-block-start: .55rem;
  color: var(--bs-secondary-color, var(--sz-v3-muted));
  font-size: .67rem;
}

.sobelzcom-theme .sz-task-phase-empty {
  display: grid;
  place-items: center;
  min-height: 8rem;
  padding: 1rem;
  border: 1px dashed var(--sz-v3-card-border);
  border-radius: .65rem;
  color: var(--bs-secondary-color, var(--sz-v3-muted));
  text-align: center;
}

.sobelzcom-theme .sz-task-phase-empty .sz-empty-state-icon { width: 2.75rem; height: 2.75rem; }
.sobelzcom-theme .sz-task-phase-empty p { margin: .75rem 0 0; font-size: .78rem; }
.sobelzcom-theme .sz-task-status-filter { min-width: 13rem; }

/* Project uploads / file browser ---------------------------------------- */
.sobelzcom-theme .sz-project-upload-card {
  padding: .75rem;
  border: 1px solid var(--sz-v3-card-border);
  border-radius: .75rem;
  background: var(--sz-v3-soft);
}

.sobelzcom-theme .sz-native-dropzone,
.sobelzcom-theme .dropzone.sz-native-dropzone {
  min-height: 12rem;
  padding: 1.5rem;
  border: 1px dashed rgba(var(--sz-primary-rgb), .45) !important;
  border-radius: .7rem;
  background: var(--sz-v3-card-bg) !important;
}

.sobelzcom-theme .sz-native-dropzone .dz-message {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  min-height: 8rem;
  margin: 0;
  text-align: center;
}

.sobelzcom-theme .sz-native-dropzone .dz-message h4 {
  margin: .85rem 0 .25rem;
  color: var(--sz-v3-heading);
  font-size: .95rem;
  font-weight: 650;
}

.sobelzcom-theme .sz-native-dropzone .dz-message p {
  max-width: 34rem;
  margin: 0;
  color: var(--bs-secondary-color, var(--sz-v3-muted));
  font-size: .78rem;
}

.sobelzcom-theme .sz-dropbox-chooser:empty { display: none; }
.sobelzcom-theme .sz-file-entity { color: inherit; text-decoration: none; }
.sobelzcom-theme .sz-file-thumbnail {
  position: relative;
  display: inline-flex;
  flex: 0 0 2.75rem;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  overflow: hidden;
  border: 1px solid var(--sz-v3-card-border);
  border-radius: .55rem;
  background: var(--sz-v3-soft);
}

.sobelzcom-theme .sz-file-thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.sobelzcom-theme .sz-file-loading {
  position: absolute;
  display: grid;
  inset: 0;
  place-items: center;
  color: var(--sz-primary);
}

.sobelzcom-theme .sz-file-loading .ti { animation: sz-spin 1s linear infinite; }
@keyframes sz-spin { to { transform: rotate(360deg); } }

/* Discussion detail ------------------------------------------------------ */
.sobelzcom-theme .sz-discussion-detail-header {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding-block-end: 1.25rem;
  border-block-end: 1px solid var(--sz-v3-card-border);
}

.sobelzcom-theme .sz-discussion-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .5rem 1rem;
  margin-block-start: .6rem;
  color: var(--bs-secondary-color, var(--sz-v3-muted));
  font-size: .75rem;
}

.sobelzcom-theme .sz-discussion-meta span { display: inline-flex; align-items: center; gap: .3rem; }
.sobelzcom-theme .sz-discussion-description {
  margin-block: 1.25rem;
  padding: 1.25rem;
  border-radius: .7rem;
  background: var(--sz-v3-soft);
  color: var(--sz-v3-body);
  line-height: 1.65;
}

.sobelzcom-theme .sz-discussion-comments-card {
  padding-block-start: 1rem;
  border-block-start: 1px solid var(--sz-v3-card-border);
}

/* Dark and responsive project workspace -------------------------------- */
html[data-bs-theme="dark"] .sobelzcom-theme .sz-task-card {
  box-shadow: 0 .1rem .25rem rgba(0, 0, 0, .12);
}

@media (max-width: 767.98px) {
  .sobelzcom-theme .sz-project-view-toolbar,
  .sobelzcom-theme .sz-project-view-actions {
    align-items: stretch;
    width: 100%;
  }

  .sobelzcom-theme .sz-project-view-toolbar { flex-direction: column; }
  .sobelzcom-theme .sz-project-view-actions > .btn,
  .sobelzcom-theme .sz-project-view-actions > .bootstrap-select { flex: 1 1 auto; }
  .sobelzcom-theme .sz-task-status-filter,
  .sobelzcom-theme .sz-task-status-filter .bootstrap-select { width: 100% !important; min-width: 0; }
  .sobelzcom-theme .sz-task-board { margin-inline: -1rem; padding-inline: 1rem; }
  .sobelzcom-theme .sz-task-phase,
  .sobelzcom-theme .kan-ban-col.sz-task-phase { flex-basis: min(19rem, calc(100vw - 3rem)); width: min(19rem, calc(100vw - 3rem)); }
  .sobelzcom-theme .sz-project-inner-table { margin-inline: -1rem; margin-block-end: -1rem; }
}

@media print {
  .sobelzcom-theme .sz-project-view-actions,
  .sobelzcom-theme .sz-project-upload-card,
  .sobelzcom-theme .task-table-toggle { display: none !important; }
  .sobelzcom-theme .sz-task-board { overflow: visible; margin: 0; padding: 0; }
  .sobelzcom-theme .sz-task-board-row { display: block; min-width: 0 !important; }
  .sobelzcom-theme .sz-task-phase { width: 100%; max-height: none; margin-block-end: 1rem; break-inside: avoid; }
  .sobelzcom-theme .sz-task-phase-body { overflow: visible; }
}

/* Profile / settings application ---------------------------------------- */
.sobelzcom-theme .sz-form-card > .card-header,
.sobelzcom-theme .sz-password-card > .card-header {
  min-height: 4.75rem;
}

.sobelzcom-theme .sz-profile-photo-block {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-block-end: 1.5rem;
  padding: 1.1rem;
  border: 1px dashed var(--sz-v3-card-border);
  border-radius: .75rem;
  background: var(--sz-v3-soft);
}

.sobelzcom-theme .sz-profile-placeholder,
.sobelzcom-theme .sz-profile-photo-current img {
  width: 4.75rem;
  height: 4.75rem;
  flex: 0 0 4.75rem;
  object-fit: cover;
}

.sobelzcom-theme .sz-profile-photo-current {
  position: relative;
  flex: 0 0 4.75rem;
}

.sobelzcom-theme .sz-profile-photo-current .btn {
  position: absolute;
  inset-block-end: -.3rem;
  inset-inline-end: -.3rem;
  width: 1.9rem;
  min-width: 1.9rem;
  height: 1.9rem;
  min-height: 1.9rem;
  padding: .35rem;
  border: 2px solid var(--sz-v3-card-bg);
}

.sobelzcom-theme .sz-profile-photo-name {
  margin: 0;
  color: var(--sz-v3-heading);
  font-size: 1rem;
  font-weight: 650;
}

.sobelzcom-theme .sz-profile-photo-meta {
  margin: .2rem 0 0;
  color: var(--bs-secondary-color, var(--sz-v3-muted));
  font-size: .78rem;
}

.sobelzcom-theme .sz-custom-fields-grid > .form-group,
.sobelzcom-theme .sz-custom-fields-grid > .row {
  margin-block-end: 1rem;
}

.sobelzcom-theme .sz-form-section-divider {
  margin-block-start: .75rem;
  padding-block-start: 1.5rem;
  border-block-start: 1px solid var(--sz-v3-card-border);
}

.sobelzcom-theme .sz-form-section-title {
  display: flex;
  align-items: center;
  gap: .75rem;
  margin-block-end: 1rem;
}

.sobelzcom-theme .sz-form-section-title h3 {
  margin: 0;
  color: var(--sz-v3-heading);
  font-size: .9rem;
  font-weight: 650;
}

.sobelzcom-theme .sz-form-section-title p {
  margin: .15rem 0 0;
  color: var(--bs-secondary-color, var(--sz-v3-muted));
  font-size: .74rem;
}

.sobelzcom-theme .sz-notification-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
}

.sobelzcom-theme .sz-notification-option {
  display: flex;
  align-items: center;
  gap: .7rem;
  min-width: 0;
  padding: .85rem;
  border: 1px solid var(--sz-v3-card-border);
  border-radius: .65rem;
  background: var(--sz-v3-card-bg);
  cursor: pointer;
  transition: border-color 150ms ease, background-color 150ms ease, transform 150ms ease;
}

.sobelzcom-theme .sz-notification-option:hover {
  border-color: rgba(var(--sz-primary-rgb), .35);
  background: var(--sz-v3-primary-soft);
  transform: translateY(-1px);
}

.sobelzcom-theme .sz-notification-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  flex: 0 0 2.25rem;
  border-radius: .55rem;
  background: var(--sz-v3-primary-soft);
  color: var(--sz-primary);
}

.sobelzcom-theme .sz-notification-copy {
  display: flex;
  min-width: 0;
  flex: 1 1 auto;
  flex-direction: column;
}

.sobelzcom-theme .sz-notification-copy strong {
  overflow: hidden;
  color: var(--sz-v3-heading);
  font-size: .8rem;
  font-weight: 600;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sobelzcom-theme .sz-notification-copy small {
  color: var(--bs-secondary-color, var(--sz-v3-muted));
  font-size: .68rem;
}

.sobelzcom-theme .form-switch .form-check-input {
  width: 2.35rem;
  height: 1.25rem;
  margin: 0;
  border-color: rgba(128, 131, 144, .32);
  background-color: rgba(128, 131, 144, .22);
  cursor: pointer;
}

.sobelzcom-theme .form-switch .form-check-input:checked {
  border-color: var(--sz-primary);
  background-color: var(--sz-primary);
}

.sobelzcom-theme .sz-password-card {
  position: sticky;
  inset-block-start: 7.5rem;
}

.sobelzcom-theme .sz-password-card .last-password-change {
  display: flex;
  align-items: center;
  gap: .4rem;
  color: var(--bs-secondary-color, var(--sz-v3-muted));
  font-size: .74rem;
}

@media (max-width: 1199.98px) {
  .sobelzcom-theme .sz-password-card { position: static; }
}

@media (max-width: 575.98px) {
  .sobelzcom-theme .sz-notification-grid { grid-template-columns: 1fr; }
  .sobelzcom-theme .sz-profile-photo-block { align-items: flex-start; flex-direction: column; }
  .sobelzcom-theme .sz-profile-photo-current { margin-inline: auto; }
}

/* Support request composer ---------------------------------------------- */
.sobelzcom-theme .sz-ticket-attachment-card { position: sticky; inset-block-start: 7.5rem; }
.sobelzcom-theme .sz-ticket-attachment-card .attachment + .attachment { margin-block-start: .75rem; }
.sobelzcom-theme .sz-ticket-upload-note {
  display: flex;
  align-items: flex-start;
  gap: .75rem;
  margin-block-start: 1.25rem;
  padding: 1rem;
  border-radius: .7rem;
  background: var(--sz-v3-primary-soft);
}

.sobelzcom-theme .sz-ticket-upload-note p {
  margin: .1rem 0 0;
  color: var(--sz-v3-body);
  font-size: .75rem;
  line-height: 1.55;
}

.sobelzcom-theme .sz-form-sticky-actions {
  display: flex;
  justify-content: flex-end;
  margin-block-start: 1.25rem;
  padding: 1rem 1.25rem;
  border: 1px solid var(--sz-v3-card-border);
  border-radius: .75rem;
  background: color-mix(in srgb, var(--sz-v3-card-bg) 94%, transparent);
  box-shadow: var(--sz-v3-card-shadow);
  backdrop-filter: blur(10px);
}

@media (max-width: 1199.98px) {
  .sobelzcom-theme .sz-ticket-attachment-card { position: static; }
}

@media (max-width: 575.98px) {
  .sobelzcom-theme .sz-form-sticky-actions .btn { width: 100%; }
}

/* Ticket details and conversation --------------------------------------- */
.sobelzcom-theme .sz-ticket-project-alert {
  display: flex;
  align-items: center;
  gap: .75rem;
  margin-block-end: 1.25rem;
}

.sobelzcom-theme .sz-ticket-info-card { position: sticky; inset-block-start: 7.5rem; }
.sobelzcom-theme .sz-ticket-facts { margin: 0; }
.sobelzcom-theme .sz-ticket-facts > div {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding: .85rem 0;
  border-block-end: 1px solid var(--sz-v3-card-border);
}

.sobelzcom-theme .sz-ticket-facts > div:first-child { padding-block-start: 0; }
.sobelzcom-theme .sz-ticket-facts > div:last-child { padding-block-end: 0; border-block-end: 0; }
.sobelzcom-theme .sz-ticket-facts dt {
  display: flex;
  align-items: center;
  gap: .4rem;
  margin: 0;
  color: var(--bs-secondary-color, var(--sz-v3-muted));
  font-size: .75rem;
  font-weight: 500;
}

.sobelzcom-theme .sz-ticket-facts dd {
  min-width: 0;
  margin: 0;
  color: var(--sz-v3-heading);
  font-size: .78rem;
  font-weight: 600;
  text-align: end;
}

.sobelzcom-theme .sz-ticket-status-fact { align-items: center !important; }
.sobelzcom-theme .sz-ticket-thread {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.sobelzcom-theme .sz-ticket-message {
  position: relative;
  overflow: hidden;
  margin: 0;
}

.sobelzcom-theme .sz-ticket-message::before {
  position: absolute;
  inset-block: 0;
  inset-inline-start: 0;
  width: .23rem;
  background: var(--sz-primary);
  content: "";
}

.sobelzcom-theme .sz-ticket-message.is-staff-message::before { background: var(--sz-info); }
.sobelzcom-theme .sz-ticket-message-header {
  display: flex;
  align-items: center;
  gap: .75rem;
  padding-block-end: 1rem;
  border-block-end: 1px solid var(--sz-v3-card-border);
}

.sobelzcom-theme .sz-ticket-message-author {
  display: flex;
  min-width: 0;
  flex: 1 1 auto;
  flex-direction: column;
}

.sobelzcom-theme .sz-ticket-message-author strong {
  overflow: hidden;
  color: var(--sz-v3-heading);
  font-size: .83rem;
  font-weight: 650;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sobelzcom-theme .sz-ticket-message-author span,
.sobelzcom-theme .sz-ticket-message-header time {
  color: var(--bs-secondary-color, var(--sz-v3-muted));
  font-size: .69rem;
}

.sobelzcom-theme .sz-ticket-message-body {
  padding-block-start: 1rem;
  color: var(--sz-v3-body);
  font-size: .84rem;
  line-height: 1.7;
}

.sobelzcom-theme .sz-ticket-message-body p:last-child { margin-block-end: 0; }
.sobelzcom-theme .sz-ticket-attachments {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .65rem;
  margin-block-start: 1rem;
  padding-block-start: 1rem;
  border-block-start: 1px dashed var(--sz-v3-card-border);
}

.sobelzcom-theme .sz-ticket-attachment {
  display: flex;
  align-items: center;
  min-width: 0;
  gap: .65rem;
  padding: .65rem;
  border: 1px solid var(--sz-v3-card-border);
  border-radius: .6rem;
  background: var(--sz-v3-soft);
  color: var(--sz-v3-body) !important;
  text-decoration: none;
  transition: border-color 150ms ease, background-color 150ms ease, transform 150ms ease;
}

.sobelzcom-theme .sz-ticket-attachment:hover {
  border-color: rgba(var(--sz-primary-rgb), .35);
  background: var(--sz-v3-primary-soft);
  transform: translateY(-1px);
}

.sobelzcom-theme .sz-ticket-attachment-preview,
.sobelzcom-theme .sz-ticket-attachment-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  flex: 0 0 2.5rem;
  overflow: hidden;
  border-radius: .5rem;
  background: var(--sz-v3-card-bg);
  color: var(--sz-primary);
}

.sobelzcom-theme .sz-ticket-attachment-preview img { width: 100%; height: 100%; object-fit: cover; }
.sobelzcom-theme .sz-ticket-attachment-copy { display: flex; min-width: 0; flex: 1 1 auto; flex-direction: column; }
.sobelzcom-theme .sz-ticket-attachment-copy strong { overflow: hidden; color: var(--sz-v3-heading); font-size: .72rem; text-overflow: ellipsis; white-space: nowrap; }
.sobelzcom-theme .sz-ticket-attachment-copy small { color: var(--bs-secondary-color, var(--sz-v3-muted)); font-size: .64rem; }
.sobelzcom-theme .sz-ticket-attachment-download { flex: 0 0 auto; color: var(--sz-primary); }
.sobelzcom-theme .sz-ticket-scroll-link { position: fixed; inset-inline-end: 1.25rem; z-index: 1050; box-shadow: var(--sz-v3-card-shadow-hover); }
.sobelzcom-theme #toplink.sz-ticket-scroll-link { inset-block-end: 4.35rem; }
.sobelzcom-theme #botlink.sz-ticket-scroll-link { inset-block-end: 1.25rem; }

@media (max-width: 1199.98px) {
  .sobelzcom-theme .sz-ticket-info-card { position: static; }
}

@media (max-width: 575.98px) {
  .sobelzcom-theme .sz-ticket-attachments { grid-template-columns: 1fr; }
  .sobelzcom-theme .sz-ticket-facts > div { flex-direction: column; gap: .35rem; }
  .sobelzcom-theme .sz-ticket-facts dd { text-align: start; }
}
