body {
  font-family: "Inter", sans-serif;
  color: #334155;
  background: #f8fafc;
  margin: 0;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  min-height: 100vh;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

body,
html {
  font-size: 16px;
}

body > * {
  font-size: 14px;
}

rt.display-block {
  display: block;
}

.tooltip {
  position: fixed;
}

.color-white {
  color: #fff !important;
}

.col-xs-5ths,
.col-sm-5ths,
.col-md-5ths,
.col-lg-5ths {
  position: relative;
  min-height: 1px;
  padding-right: 15px;
  padding-left: 15px;
}

.col-xs-5ths {
  width: 20%;
  float: left;
}

@media (min-width: 768px) {
  .col-sm-5ths {
    width: 20%;
    float: left;
  }
}

@media (min-width: 992px) {
  .col-md-5ths {
    width: 20%;
    float: left;
  }
}

@media (min-width: 1200px) {
  .col-lg-5ths {
    width: 20%;
    float: left;
  }
}

[dir="rtl"] .mright5 {
  margin-right: 0px;
  margin-left: 5px;
}

[dir="rtl"] .mright10 {
  margin-right: 0px;
  margin-left: 10px;
}

[dir="rtl"] .mleft5 {
  margin-left: 0px;
  margin-right: 5px;
}

[dir="rtl"] .mleft10 {
  margin-left: 0px;
  margin-right: 10px;
}

[dir="rtl"] .input-group-addon:last-child {
  border-left: 1px solid #ccc;
}

[dir="rtl"] .colorpicker.colorpicker-visible.dropdown-menu {
  left: 0px !important;
  right: auto;
  padding-left: 3px;
  margin-left: 45px;
}

.border-right {
  border-right: 1px solid #f0f0f0;
}

.line-throught {
  text-decoration: line-through;
}

.full-width {
  width: 100%;
}

.no-margin {
  margin: 0px !important;
}

.no-mtop {
  margin-top: 0px !important;
}

.no-p-left {
  padding-left: 0px !important;
}

.no-p-right {
  padding-right: 0px;
}

.relative {
  position: relative;
}

.font-medium {
  font-size: 15px;
}

.inline-block {
  display: inline-block;
}

.alert-validation {
  margin-top: 5px;
}

.table-image {
  height: 75px;
  width: 250px;
  margin: 15px 0px;
}

.announcement small {
  font-size: 12px;
  color: #333;
}

.announcement {
  font-size: 14px;
}

.bgwhite {
  background: white;
  border: 1px solid #e4e5e7;
}

.warning-bg {
  background: #ff6f00 !important;
  color: #fff !important;
  border: 1px solid #ff6f00 !important;
}

.success-bg {
  background: #84c529 !important;
  color: #fff !important;
  border: 1px solid #84c529 !important;
}

.primary-bg {
  background: #28b8da;
  color: #fff !important;
  border: 1px solid #28b8da;
}

.info-bg {
  background: #03a9f4 !important;
  color: #fff !important;
  border: 1px solid #03a9f4 !important;
}

.danger-bg {
  background: #fc2d42 !important;
  color: #fff !important;
  border: 1px solid #fc2d42 !important;
}

.submenu {
  display: inline-block;
  float: right;
  margin-bottom: 25px;
}

.submenu li {
  display: inline-block;
  margin-right: 15px;
}

.submenu li:last-child {
  margin-right: 0px;
}

.submenu li a {
  font-size: 17px;
  color: #475569 !important;
}

.submenu li a:hover,
.submenu li a:active,
.submenu li a:focus {
  color: #1e293b !important;
}

.tickets table tr.text-danger a {
  color: #fc2d42;
}

.animated {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

.fadeIn {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn;
}

@-webkit-keyframes fadeOut {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}

@keyframes fadeOut {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}

.fadeOut {
  -webkit-animation-name: fadeOut;
  animation-name: fadeOut;
}

@-webkit-keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

.fadeInRight {
  -webkit-animation-name: fadeInRight;
  animation-name: fadeInRight;
}

@-webkit-keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

.fadeInLeft {
  -webkit-animation-name: fadeInLeft;
  animation-name: fadeInLeft;
}

@-webkit-keyframes fadeOutLeft {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}

@keyframes fadeOutLeft {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}

.fadeOutLeft {
  -webkit-animation-name: fadeOutLeft;
  animation-name: fadeOutLeft;
}

@-webkit-keyframes fadeOutRight {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}

@keyframes fadeOutRight {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}

.fadeOutRight {
  -webkit-animation-name: fadeOutRight;
  animation-name: fadeOutRight;
}

.text-white {
  color: #fff !important;
}

#wrapper {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

footer {
  background: #f1f5f9;
  padding: 15px;
  width: 100%;
  height: 50px;
  margin-top: 25px;
  border-top: 1px solid #e2e8f0;
}

h1,
h2,
h3,
h4 {
  font-weight: 400;
}

h1,
h2 {
  font-size: 24px;
}

h3 {
  font-size: 20px;
}

h4 {
  font-size: 18px;
}

.h4,
h4,
.h3,
h3 {
  font-weight: 400;
}

a:hover,
a:focus,
a:active,
a:visited {
  text-decoration: none;
}

.navbar {
  padding: 0px;
  min-height: 60px;
  border-radius: 0px;
}

.navbar-default {
  border: 0;
  border-bottom: 1px solid #e2e8f0;
  background: white;
}

.navbar-default .navbar-nav > li > a {
  color: #334155;
  line-height: 85px;
  font-size: 14.5px;
  display: inline;
  margin-right: 3px;
  font-weight: 500;
}

.navbar-default .navbar-nav > li > a i {
  margin-right: 5px;
  color: inherit;
}

.navbar-default .navbar-nav > li:last-child > a {
  margin-right: 0;
}

@media (min-width: 768px) {
  .navbar-nav > li > a {
    padding: 8px 10px;
  }
}

.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:focus,
.navbar-default .navbar-nav > .active > a:hover {
  color: #0f172a;
  border-radius: 6px;
  background: #f1f5f9;
}

.navbar-default .navbar-nav > li > a:focus,
.navbar-default .navbar-nav > li > a:hover {
  background: #f1f5f9;
  border-radius: 4px;
  color: #0f172a;
  transition: ease-in-out 0.2s;
}

.navbar-default .navbar-nav > li.dropdown > a.dropdown-toggle:focus,
.navbar-default .navbar-nav > li.dropdown > a.dropdown-toggle:hover {
  background: transparent;
  border-radius: 0;
}

.navbar a.navbar-brand {
  padding: 23px 0px 25px 0px;
  height: auto;
  margin-right: 10px;
}

.navbar a.navbar-brand img {
  width: auto;
  height: 34px;
}

.navbar-default .navbar-nav > li.customers-nav-item-login > a {
  background: #2563eb !important;
  color: #fff !important;
  display: inline;
  font-weight: 500;
  font-size: 14px;
  border-radius: 6px !important;
  padding: 8px 16px;
  margin-left: 10px;
}

.navbar-default .navbar-nav > li.customers-nav-item-login > a:hover,
.navbar-default .navbar-nav > li.customers-nav-item-login > a:active {
  background: #1d4ed8 !important;
  border-radius: 6px !important;
}

.navbar-default .navbar-nav > li.customers-nav-item-profile > a {
  padding-right: 0;
}

@media (max-width: 767px) {
  .customers-nav-item-languages {
    display: none;
  }
}

.btn.btn-input-group {
  padding: 7px 16px;
  border: 1px transparent;
}

.btn-icon {
  padding: 2px 6px 2px 6px !important;
}

.original-button {
  margin-top: 22px;
  padding: 6px 12px;
}

#client-home-chart {
  max-width: 100%;
}

.client-reply .panel-body {
  background: #fefce8 !important;
  color: #854d0e;
}

body.viewinvoice .alert {
  margin-top: 10px;
  margin-bottom: -7px;
  border-radius: 1px;
}

.navbar-default .navbar-brand.logo-text {
  font-size: 24px;
  margin-top: 13px;
  display: inline-block;
  color: #1e293b;
  font-weight: 600;
}

.logo-text:hover,
.logo-text:focus,
.logo-text:active {
  color: #0f172a;
}

@media (max-width: 767px) {
  .navbar a.navbar-brand img {
    margin-left: 25px;
  }

  .navbar-default .navbar-brand.logo-text {
    margin-left: 15px;
    margin-top: 15px;
  }
}

.p7 {
  padding: 7px;
}

.p8 {
  padding: 8px;
}

.p8-half {
  padding: 8.5px;
}

.p15 {
  padding: 15px;
}

.valign-middle {
  vertical-align: middle;
}

.mtop5 {
  margin-top: 5px;
}

.mtop7 {
  margin-top: 7px;
}

.mtop10 {
  margin-top: 10px;
}

.mtop15 {
  margin-top: 15px;
}

.mtop20 {
  margin-top: 20px;
}

.mtop25 {
  margin-top: 25px;
}

.mtop30 {
  margin-top: 30px;
}

.mtop40 {
  margin-top: 40px;
}

.mbot5 {
  margin-bottom: 5px;
}

.mbot10 {
  margin-bottom: 10px;
}

.mbot15 {
  margin-bottom: 15px;
}

.mbot20 {
  margin-bottom: 20px;
}

.mbot25 {
  margin-bottom: 25px;
}

.mbot30 {
  margin-bottom: 30px;
}

.mbot40 {
  margin-bottom: 40px;
}

.mleft5 {
  margin-left: 5px;
}

.mleft10 {
  margin-left: 10px;
}

.mright5 {
  margin-right: 5px;
}

.mright10 {
  margin-right: 10px;
}

.padding-30 {
  padding: 30px !important;
}

.no-mbot {
  margin-bottom: 0px;
}

.invoice-quick-info h5 {
  margin-top: 0px;
}

.table.items {
  margin-top: 25px;
  font-size: 13.5px;
}

.table.items thead {
  background: #f1f5f9;
  color: #1e293b;
}

.table.items > thead:first-child > tr:first-child > th {
  border-top: 1px solid #e2e8f0;
}

.table.items thead th {
  border-right: 1px solid #e2e8f0;
}

.table.items thead th:first-child {
  border-left: 1px solid #e2e8f0;
}

.table.items tbody > tr > td,
.table.items thead > tr > th {
  padding: 8px 10px;
}

.navbar-default .navbar-collapse,
.navbar-default .navbar-form {
  border-color: #e2e8f0;
}

.navbar-default .navbar-toggle {
  border-color: transparent;
}

.navbar-default .navbar-toggle .icon-bar {
  background-color: #cbd5e1;
}

.navbar-default .navbar-toggle:focus,
.navbar-default .navbar-toggle:hover {
  background-color: transparent;
}

@media (max-width: 767px) {
  .navbar-default .navbar-nav > li > a {
    line-height: 35px;
    color: #64748b;
  }

  .navbar-default .navbar-nav > .active > a,
  .navbar-default .navbar-nav > .active > a:focus,
  .navbar-default .navbar-nav > .active > a:hover,
  .navbar-default .navbar-nav > li > a:focus,
  .navbar-default .navbar-nav > li > a:hover {
    background: transparent;
  }

  .navbar-default .navbar-nav .open .dropdown-menu > li > a {
    color: #475569;
  }

  .navbar-default .navbar-nav > li.customers-nav-item-login {
    padding-bottom: 10px;
  }

  .navbar-default .navbar-nav > li.customers-nav-item-login > a {
    margin-left: 15px;
  }

  .navbar a.navbar-brand {
    padding: 13px 0px 19px 0px;
  }

  .navbar-toggle {
    margin-top: 15px;
  }

  #staff_logged_in {
    display: none;
  }

  .viewestimate .panel-body,
  .viewinvoice .panel-body {
    padding: 0px;
  }
}

.dataTables_length select {
  padding-top: 5px;
  height: inherit;
}

div.dataTables_wrapper > .row:first-child {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

div.dataTables_wrapper > .row:first-child > .col-md-7,
div.dataTables_wrapper > .row:first-child > .col-sm-7,
div.dataTables_wrapper > .row:first-child > .col-md-6,
div.dataTables_wrapper > .row:first-child > .col-sm-6,
div.dataTables_wrapper > .row:first-child > .col-md-5,
div.dataTables_wrapper > .row:first-child > .col-sm-5 {
  float: none;
}

div.dataTables_wrapper > .row:first-child > .col-md-7,
div.dataTables_wrapper > .row:first-child > .col-sm-7,
div.dataTables_wrapper > .row:first-child > .col-md-6,
div.dataTables_wrapper > .row:first-child > .col-sm-6 {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  flex: 1 1 auto;
  width: auto;
}

div.dataTables_wrapper > .row:first-child > .col-md-5,
div.dataTables_wrapper > .row:first-child > .col-sm-5 {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex: 0 0 auto;
  width: auto;
  margin-left: auto;
}

div.dataTables_wrapper > .row:first-child div.dataTables_length,
div.dataTables_wrapper > .row:first-child div.dt-buttons {
  margin-top: 0;
  margin-bottom: 0;
  float: none;
  width: auto;
  flex: 0 0 auto;
}

div.dataTables_wrapper > .row:first-child div.dataTables_length {
  display: inline-flex;
  align-items: center;
}

div.dataTables_wrapper > .row:first-child div.dataTables_length label {
  display: inline-flex;
  align-items: center;
  margin-bottom: 0;
}

div.dataTables_wrapper > .row:first-child div.dt-buttons {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-wrap: nowrap;
}

div.dataTables_wrapper > .row:first-child div.dt-buttons .btn {
  white-space: nowrap;
}

div.dataTables_wrapper > .row:first-child div.dataTables_filter {
  margin: 0 0 0 auto;
  float: none;
  width: auto;
}

div.dataTables_wrapper > .row:first-child div.dataTables_filter label {
  margin-bottom: 0;
}

@media (max-width: 767px) {
  div.dataTables_wrapper > .row:first-child > .col-md-7,
  div.dataTables_wrapper > .row:first-child > .col-sm-7,
  div.dataTables_wrapper > .row:first-child > .col-md-6,
  div.dataTables_wrapper > .row:first-child > .col-sm-6,
  div.dataTables_wrapper > .row:first-child > .col-md-5,
  div.dataTables_wrapper > .row:first-child > .col-sm-5 {
    width: 100%;
  }

  div.dataTables_wrapper > .row:first-child > .col-md-5,
  div.dataTables_wrapper > .row:first-child > .col-sm-5 {
    justify-content: flex-start;
    margin-left: 0;
  }

  div.dataTables_wrapper > .row:first-child div.dt-buttons {
    flex-wrap: wrap;
  }

  div.dataTables_wrapper > .row:first-child div.dataTables_filter {
    margin-left: 0;
  }
}

[dir="rtl"] div.dataTables_wrapper div.dataTables_filter {
  text-align: left;
}

[dir="rtl"] div.dataTables_wrapper {
  direction: rtl;
}

[dir="rtl"] div.dataTables_wrapper div.dataTables_filter .input-group-addon {
  border-right: 1px solid #bfcbd9;
}

.label-href:visited,
.label-href {
  outline: 0 !important;
  border: 0 !important;
}

.pointer {
  cursor: pointer;
}

.mime {
  background-repeat: no-repeat;
  background-position: 0 0;
  padding: 1px 0 4px 26px;
}

.mime-word {
  background-image: url(../../../images/mime/word.png);
}

.mime-excel {
  background-image: url(../../../images/mime/excel.png);
}

.mime-powerpoint {
  background-image: url(../../../images/mime/powerpoint.png);
}

.mime-pdf {
  background-image: url(../../../images/mime/pdf.png);
}

.mime-zip {
  background-image: url(../../../images/mime/zip.png);
}

.mime-image {
  background-image: url(../../../images/mime/image.png);
}

.mime-file {
  background-image: url(../../../images/mime/file.png);
}

.mime-photoshop {
  background-image: url(../../../images/mime/photoshop.png);
}

.mime-illustrator {
  background-image: url(../../../images/mime/illustrator.png);
}

.mime-video {
  background-image: url(../../../images/mime/video.png);
}

.mime-audio {
  background-image: url(../../../images/mime/audio.png);
}

.files-container {
  margin: 0 0 10px;
}

.files {
  padding-left: 0;
  list-style: none;
  margin: 0;
}

.hr-10 {
  margin-top: 10px;
  margin-bottom: 10px;
}

.mime > a {
  color: #555 !important;
  text-decoration: none;
}

.white {
  color: #fff;
}

.advanced-editor-wrapper {
  border: 1px solid #ccc;
  margin-bottom: 15px;
}

.staff-profile-image-small {
  height: 32px;
  width: 32px;
  border-radius: 50%;
}

.staff-profile-xs-image {
  width: 20px;
  height: 20px;
  border-radius: 50%;
}

.staff-profile-image-small {
  height: 32px;
  width: 32px;
  border-radius: 50%;
}

.staff-profile-image-thumb {
  height: 160px;
  width: 160px;
  border-radius: 50%;
}

.task-attachment {
  border: 1px solid #f0f0f0;
  padding: 10px;
  border-radius: 3px;
  max-height: 255px;
  min-height: 255px;
  overflow: hidden;
}

.task-attachment .task-attachment-no-preview {
  margin-top: 45px;
  text-align: center;
}

.task-attachment .preview_image {
  margin: 0px;
  width: 100%;
}

.task-attachment .open-in-external {
  position: absolute;
  right: 30px;
}

.task-attachment .task-attachment-user {
  padding-bottom: 10px;
  display: inline-block;
  width: 100%;
  margin-left: 0px;
  border-bottom: 1px solid #f0f0f0;
}

.media-body {
  word-break: break-word;
}

#proposal-wrapper {
  overflow: hidden;
  min-height: 100%;
}

#proposal-wrapper .proposal-left img {
  margin-left: 10px;
  margin-right: 10px;
}

div.proposal-wrapper img:not(.media-object) {
  display: block;
  max-width: 100%;
  height: auto;
}

.proposal-comment {
  display: inline-block;
  width: 100%;
  margin-bottom: 15px;
}

.table.proposal-items thead > tr > th {
  padding-left: 10px;
}

.table.proposal-items tbody > tr > td,
.table.proposal-items thead > tr > th {
  text-align: left;
}

.client-profile-image-small {
  height: 32px;
  width: 32px;
  border-radius: 50%;
}

.client-profile-image-thumb {
  height: 160px;
  width: 160px;
  border-radius: 50%;
}

#task h4 {
  font-size: 15px;
}

#task h5 {
  font-size: 14px;
}

#task .task-info {
  font-size: 10px;
  vertical-align: middle;
  padding: 10px;
}

#task .task-info h5 {
  font-size: 13px;
  font-weight: 400;
}

.jquery-comments [contentEditable="true"]:empty:not(:focus):before {
  color: #a1b4cc;
  font-size: 14px;
}

.jquery-comments ul.main {
  list-style: none !important;
}

.jquery-comments.tc-content ul.main ul:not(.child-comments) {
  list-style: initial !important;
}

.jquery-comments ul.navigation li,
.jquery-comments ul.main li.comment .actions > *,
.jquery-comments ul.main li.comment .name,
.jquery-comments .highlight-font-bold {
  font-weight: 500 !important;
}

.jquery-comments ul.main li.comment .name {
  color: #0081bb;
}

.jquery-comments ul.main li.comment .wrapper .content {
  padding: 5px 0px 5px 0px;
}

.jquery-comments ul.navigation li {
  color: #323a45;
}

.jquery-comments .textarea-wrapper .control-row > span.upload {
  padding: 5px 20px;
  background-color: #7d838b;
}

.jquery-comments .highlight-background {
  background: #03a9f4 !important;
}

.jquery-comments .textarea-wrapper .control-row > span {
  padding: 5px 20px !important;
  border-radius: 4px;
}

.jquery-comments .textarea-wrapper .control-row {
  margin-top: 10px;
}

.jquery-comments ul.main li.comment .actions > * {
  color: #7c838b;
}

.jquery-comments ul.navigation .navigation-wrapper {
  padding: 10px 0px 0px 0px;
}

.jquery-comments ul.navigation {
  border-bottom: 1px solid #efefef;
  margin-bottom: 1.5em;
}

.jquery-comments .textarea-wrapper {
  padding-left: 21px;
}

.jquery-comments .textarea-wrapper:before {
  border: 0px;
}

.jquery-comments .textarea-wrapper .textarea {
  border-radius: 3px;
  border: 1px solid #bfcbd9;
}

.project-info-bg {
  background: #fbfbfb !important;
  color: #333 !important;
  border-top: 1px solid #e4e5e7;
  border-left: 1px solid #e4e5e7;
  border-right: 1px solid #e4e5e7;
  font-weight: 500;
}

.no-radius {
  border-radius: 0px !important;
}

.team-members .panel-body {
  padding: 0px;
}

.team-members .media-left {
  padding: 10px;
}

.team-members .media-body {
  padding-right: 10px;
  padding-top: 12px;
}

.team-members .media:last-child {
  border-bottom: 0px;
}

.team-members .media {
  margin-top: 0px;
  border-bottom: 1px solid #f0f0f0;
}

.project-percent {
  position: absolute;
  font-size: 33px;
  font-weight: 500;
  top: 35%;
  left: 0;
  right: 0;
}

.project-file-image {
  border: 1px solid #f0f0f0;
  border-radius: 4px;
  margin-right: 15px;
}

#task-tracking-stats-modal {
  z-index: 999999999999;
}

.phase-logged-time {
  color: #3b6900;
}

.progress-bg-dark {
  background-color: #7c838b;
}

.project-overview-progress-bar {
  height: 50px;
  background-color: #7c838b;
  position: relative;
}

.project-overview-progress-bar .project-progress-number {
  font-size: 16px;
  position: absolute;
  display: block;
  width: 100%;
  color: #fff;
  font-weight: 500;
  margin-top: 15px;
  text-shadow: 0px 0px 2px #333;
}

.task-user {
  border: 1px solid #f0f0f0;
  padding: 2px;
  border-radius: 50%;
  vertical-align: middle;
  margin-right: 10px;
  display: inline-block;
  position: relative;
}

.task-checklist-indicator {
  border-radius: 50%;
  border: 1px solid #f0f0f0;
  width: 20px;
  height: 21px;
  display: inline-block;
}

.task-checklist-indicator i {
  margin: 0 auto;
  vertical-align: middle;
  margin-left: 3px;
}

#task-comments {
  background: #fdfdfd;
  margin-right: -20px;
  margin-left: -20px;
  padding: 20px;
  display: inline-block;
}

form.dropzone {
  background-color: #fbfdff;
  border: 1px dashed #c0ccda;
  border-radius: 6px;
}

.dropzone .dz-message {
  margin-top: 45px;
  color: #03a9f4;
}

@media (max-width: 768px) {
  #content {
    padding: 15px;
  }

  ._buttons .mleft5 {
    margin-left: 0px !important;
  }

  ._buttons .mright10 {
    margin-right: 0px !important;
  }

  ._buttons .pull-left,
  ._buttons .pull-right {
    float: none !important;
  }

  ._buttons .btn,
  ._buttons .btn-group {
    display: inline-block;
    margin-left: 0px !important;
    width: 100%;
    margin-bottom: 5px !important;
    float: none !important;
  }

  .project-overview-column {
    margin-top: 15px;
  }
}

.tasks-phases .kan-ban-col .panel-heading {
  padding-left: 15px;
  padding-right: 15px;
  padding-top: 5px;
  padding-bottom: 5px;
}

.tasks-phases .panel-body {
  background: #fbfbfb;
  padding: 10px;
}

.tasks-phases ._task_wrapper {
  background: #fff;
  padding: 5px 10px 5px 10px;
  border: 1px solid #e4e5e7;
  border-radius: 4px;
}

.activity-feed {
  padding: 15px;
}

.activity-feed .feed-item {
  position: relative;
  padding-bottom: 20px;
  padding-left: 30px;
  border-left: 2px solid #84c529;
}

.activity-feed .feed-item:last-child {
  border-color: transparent;
}

.activity-feed .feed-item:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: -6px;
  width: 10px;
  height: 10px;
  border-radius: 6px;
  background: #fff;
  border: 1px solid #4b5158;
}

.activity-feed .feed-item .date {
  position: relative;
  top: -5px;
  color: #333;
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 500;
}

.activity-feed .feed-item .text {
  position: relative;
  top: -3px;
}

.full-screen-modal {
  width: 90%;
  height: 90%;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  overflow-y: initial !important;
}

.full-screen-modal .modal-content {
  height: 100%;
  min-height: 100%;
  max-height: 100%;
}

.full-screen-modal .modal-footer {
  bottom: 0px;
  position: absolute;
  width: 100%;
}

.project_file_discusssions_area,
.project_file_area {
  overflow-y: scroll;
  height: 400px;
}

@media (max-width: 768px) {
  .project_file_discusssions_area,
  .project_file_area {
    height: auto !important;
  }

  .full-screen-modal {
    width: auto;
    height: auto;
    position: relative;
    left: auto;
    right: auto;
    top: auto;
    bottom: auto;
    margin: 10px;
    overflow-y: initial !important;
  }

  .project_file_discusssions_area {
    margin-top: 30px;
  }

  .full-screen-modal .modal-footer {
    width: auto;
    position: relative !important;
  }
}

.preview_image {
  height: auto;
  width: 250px;
  overflow: hidden;
  margin-bottom: 15px;
  margin-top: 15px;
}

.preview_image:last-child {
  margin-top: 0px;
  margin-bottom: 0px;
}

.preview_image img {
  width: 100%;
  height: auto;
}

.fc-event {
  padding: 8px !important;
  border: 0px !important;
  border-radius: 2px !important;
  margin: 5px 10px 5px 10px !important;
  font-size: 11px;
  cursor: pointer;
}

.fc-view {
  overflow-y: scroll;
}

#calendar .fc-header-toolbar button,
#calendar .fc-day-header,
#calendar .fc-toolbar .fc-center {
  text-transform: capitalize;
}

.tc-content ul,
.tc-content ol {
  list-style: inherit;
  margin-left: 15px;
}

.tc-content ol {
  list-style-type: decimal;
}

.tc-content ul {
  list-style-type: disc;
}

.tc-content table {
  margin-top: 0px;
  border-collapse: initial;
}

.tc-content table > tbody > tr > td {
  padding: 5px 10px 5px 10px;
}

.tc-content img {
  max-width: 100%;
}

.tc-content table[border="1"],
.tc-content table[border="1"] td {
  border: 1px solid;
}

.tc-content em {
  font-style: italic;
}

.tc-content p:empty:before {
  content: ' ';
  white-space: pre;
}

.proposal-view .tc-content ul,
.proposal-view .tc-content ol,
.contract-view .tc-content ul,
.contract-view .tc-content ol {
  margin-left: 0px;
}

.kb-search-jumbotron {
  margin-top: -20px;
  margin-bottom: 10px;
  background: #f9fafb;
}

.has-feedback.has-feedback-left .form-control-feedback {
  left: 0;
}

.kb-search .form-control-feedback {
  left: 6px !important;
  top: 17px;
  font-size: 16px;
}

.kb-search input[type="search"] {
  padding-left: 45px;
  height: 50px;
  font-size: 16px;
}

.kb-search button[type="submit"] {
  height: 50px;
  padding-left: 25px;
  padding-right: 25px;
  border-top-left-radius: 0px;
  border-bottom-left-radius: 0px;
  font-weight: 600;
}

#toplink,
#botlink {
  position: fixed;
  right: 7.5%;
  bottom: 53%;
  padding: 10px;
  margin: 0 -20px 0 0;
  color: #666;
  background: #e9ebef;
  font-size: 1.5em;
  border: 1px solid #b4b4b4;
  border-bottom: 1px solid #b8b8b8;
  border-radius: 6px 6px 0 0;
  z-index: 99;
  -webkit-box-shadow: 1px 2px 3px rgba(0, 0, 0, 0.25);
  box-shadow: 1px 2px 3px rgba(0, 0, 0, 0.25);
}

#botlink {
  top: 47%;
  padding: 10px;
  bottom: auto;
  border: 1px solid #b4b4b4;
  border-top: 1px solid #ddd;
  border-radius: 0 0 6px 6px;
}

#toplink:hover,
#botlink:hover {
  color: #84c529;
  background: #fcfcfc;
  text-decoration: none;
}

.panel-body.project-description {
  padding: 11px;
}

.custom-field-inline-edit-link {
  float: left;
  margin-right: 5px;
}

.task-single-status .label {
  float: left;
}

._task_wrapper.overdue-task {
  background: #f2dede !important;
  border-color: #eab8b7 !important;
}

.form-group + p.alert-validation {
  margin-top: -10px;
}

@media screen and (max-height: 575px),
  screen and (min-width: 992px) and (max-width: 1199px) {
  #rc-imageselect,
  .g-recaptcha {
    transform: scale(0.83);
    -webkit-transform: scale(0.83);
    transform-origin: 0 0;
    -webkit-transform-origin: 0 0;
  }
}

th[align="left"],
td[align="left"] {
  text-align: left;
}

th[align="right"],
td[align="right"] {
  text-align: right;
}

th[align="center"],
td[align="center"] {
  text-align: center !important;
}

[dir="rtl"] th[align="left"],
[dir="rtl"] td[align="left"] {
  text-align: right !important;
}

[dir="rtl"] th[align="right"],
[dir="rtl"] td[align="right"] {
  text-align: left !important;
}

.signature-pad--body {
  border-radius: 4px;
  position: relative;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  border: 1px solid #c0cbda;
}

.gdpr-right {
  background: white;
  border: 1px solid #e2e8f0;
  padding: 35px 15px;
  text-align: center;
  margin-bottom: 25px;
  border-radius: 6px;
}

.gdpr-right .gdpr-right-heading {
  margin-top: 0px;
  margin-bottom: 20px;
  font-size: 22px;
}

.gdpr-purpose {
  border: 1px solid #d8d8d8;
  padding: 15px;
  margin-bottom: 10px;
  border-radius: 4px;
}

.gdpr-purpose .gdpr-purpose-heading {
  margin-top: 0px;
  margin-bottom: 0px;
  font-size: 18px;
  font-weight: 500;
  color: #5a5a5a;
}

.list-status h3 {
  margin-top: 0px;
}

.list-status:last-child {
  border-right: 0px;
}

.list-status a {
  border: 1px solid #eeeeee;
  padding: 15px;
  display: inline-block;
  width: 100%;
  border-radius: 4px;
}

.list-status a.active {
  background: #f9fafb;
}

.ticket-info p:last-child {
  margin-bottom: 0px;
}

.gpicker {
  opacity: 0;
}

.gpicker + div[id^="dropbox-chooser"] {
  float: right;
  margin-left: 5px;
}

.gpicker {
  height: 14px;
  font-family: var(--cx-font-sans, "Inter", system-ui, sans-serif);
  font-size: 11px;
  color: #4c4c4c;
  text-decoration: none;
  padding: 1px 7px 5px 3px;
  border: 1px solid #ebebeb;
  border-radius: 2px;
  border-bottom-color: #d4d4d4;
  background: #fcfcfc;
  background: -webkit-gradient(
    linear,
    left top,
    left bottom,
    from(#fcfcfc),
    to(#f5f5f5)
  );
  background: linear-gradient(to bottom, #fcfcfc 0%, #f5f5f5 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fcfcfc', endColorstr='#f5f5f5', GradientType=0);
  line-height: 18px !important;
  text-decoration: none !important;
  box-sizing: content-box !important;
  -webkit-box-sizing: content-box !important;
  -moz-box-sizing: content-box !important;
}

.preview-sticky-header {
  z-index: 1;
  background: #fff;
  padding-top: 15px;
  padding-bottom: 15px;
  -webkit-box-shadow: 0px 1px 15px 1px rgba(90, 90, 90, 0.08);
  box-shadow: 0px 1px 15px 1px rgba(90, 90, 90, 0.08);
  width: 100% !important;
  left: 0px !important;
}

@media (max-width: 767px) {
  .preview-sticky-header {
    padding-right: 20px;
    padding-left: 20px;
  }
}

.preview-sticky-header .sticky-hidden {
  display: none !important;
}

.preview-sticky-header .sticky-visible {
  display: inherit !important;
}

.mobile .preview-sticky-header {
  padding: 15px;
}

/*
  ##Device = Desktops
  ##Screen = 1281px to higher resolution desktops

  ##Device = Laptops, Desktops
  ##Screen = B/w 1025px to 1280px
*/
@media (min-width: 1281px), (min-width: 1025px) and (max-width: 1280px) {
  .preview-top-wrapper {
    margin-top: 25px;
  }
}

[dir="rtl"] .bootstrap-select .dropdown-toggle .filter-option {
  right: 0;
  margin-right: auto;
  text-align: right;
  padding-right: 16px;
}

.task-comment .task-attachment-col-more {
  display: block !important;
}

.comment-content .task-attachment-col:nth-child(2),
.comment-content .task-attachment-col:nth-child(3),
.comment-content .task-attachment-col:nth-child(4) {
  margin-top: 15px;
}

.task-comment .task-attachment-col {
  margin-left: 0;
  padding-left: 0;
}

.tasks-phases {
  overflow: scroll hidden;
}

.kan-ban-col {
  width: 326px;
  height: 416px;
  margin-right: 6px;
  display: inline-block;
}

.tasks-phases .kan-ban-col .panel-body {
  height: 100%;
  overflow-y: auto;
}

@media (max-width: 768px) {
  .kan-ban-col {
    width: 216px;
    height: 416px;
    margin-right: 6px;
    display: inline-block;
  }
}

body[dir="rtl"].safari .table-responsive .table {
  max-width: none;
  -webkit-overflow-scrolling: touch !important;
}

@media (max-width: 991px) {
  .register-heading.text-right {
    text-align: center;
  }
}

.g-recaptcha > div {
  margin: 0 auto;
}

.honey-element {
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  height: 0;
  width: 0;
  z-index: -1;
}

@media screen and (max-height: 575px),
  screen and (min-width: 992px) and (max-width: 1199px) {
  #rc-imageselect,
  .g-recaptcha {
    transform: scale(0.83);
    -webkit-transform: scale(0.83);
    transform-origin: 0 0;
    -webkit-transform-origin: 0 0;
  }
}

/* CRMEXA Theme Overrides */
:root {
  --cx-client-bg: #f3f5fd;
  --cx-client-surface: #ffffff;
  --cx-client-text: #1f2937;
  --cx-client-muted: #667085;
  --cx-client-primary: #5a47f2;
  --cx-client-primary-2: #4f3df0;
  --cx-client-border: #dbe3ef;
}

body.customers {
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
  color: var(--cx-client-text);
}

body.customers .navbar.header {
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--cx-client-border);
}

body.customers .navbar .navbar-nav > li > a {
  border-radius: 10px;
  padding: 8px 12px;
  color: #334155;
}

body.customers .navbar .navbar-nav > li.active > a,
body.customers .navbar .navbar-nav > li > a:hover,
body.customers .navbar .navbar-nav > li > a:focus {
  background: rgba(90, 71, 242, 0.12);
  color: var(--cx-client-primary);
}

body.customers .dropdown-menu {
  border-radius: 12px;
  border: 1px solid var(--cx-client-border);
  box-shadow: 0 14px 32px rgba(17, 24, 39, 0.12);
}

body.customers .dropdown-menu > li > a:hover,
body.customers .dropdown-menu > li > a:focus {
  background: #eef2ff;
  color: var(--cx-client-primary);
}

body.customers .panel_s,
body.customers .panel,
body.customers .modal-content,
body.customers .card,
body.customers .table {
  background: var(--cx-client-surface);
  border-color: var(--cx-client-border);
  border-radius: 14px;
}

body.customers .panel_s,
body.customers .panel,
body.customers .modal-content {
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
}

body.customers .panel_s .panel-heading,
body.customers .panel .panel-heading {
  border-bottom: 1px solid var(--cx-client-border);
  border-top-left-radius: 14px;
  border-top-right-radius: 14px;
}

body.customers .table > thead > tr > th {
  background: #f8faff;
  color: #5f6c8f;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

body.customers .table > tbody > tr:hover > td {
  background: #f9fbff;
}

body.customers .form-control,
body.customers .bootstrap-select > .dropdown-toggle,
body.customers .select2-selection {
  border-color: var(--cx-client-border);
  border-radius: 10px;
  background: #ffffff;
}

body.customers .form-control:focus,
body.customers .bootstrap-select > .dropdown-toggle:focus,
body.customers .select2-selection:focus {
  border-color: #8f82ff;
  box-shadow: 0 0 0 3px rgba(90, 71, 242, 0.14);
}

body.customers .btn {
  border-radius: 10px;
}

body.customers .btn-default {
  border-color: var(--cx-client-border);
}

body.customers .btn-primary {
  background: linear-gradient(135deg, var(--cx-client-primary) 0%, var(--cx-client-primary-2) 100%);
  border-color: #5544f2;
  box-shadow: 0 8px 18px rgba(79, 61, 240, 0.24);
}

body.customers .btn-primary:hover,
body.customers .btn-primary:focus {
  background: linear-gradient(135deg, #6657f7 0%, #4c3ae9 100%);
}

body.customers .pagination > li > a,
body.customers .pagination > li > span {
  border-radius: 8px;
  margin: 0 2px;
  border-color: var(--cx-client-border);
}

body.customers .pagination > .active > a,
body.customers .pagination > .active > span {
  background: #5a47f2;
  border-color: #5a47f2;
}

body.customers .badge,
body.customers .label {
  border-radius: 999px;
}

body.customers .kan-ban-col .panel_s,
body.customers .kan-ban-col .panel,
body.customers .kan-ban-col .panel-body {
  border-radius: 12px;
}

body.customers .ticket-replies .media,
body.customers .task-comment .media,
body.customers .comment-content {
  border-radius: 12px;
}

body.customers .invoice_html,
body.customers .proposal-html,
body.customers .estimate-html {
  border-radius: 14px;
}

body.customers .announcement,
body.customers .kb-article,
body.customers .project-info,
body.customers .ticket-info {
  border-radius: 12px;
}

body.customers .subtitle,
body.customers .text-muted {
  color: var(--cx-client-muted) !important;
}

html[dir="rtl"] body.customers .navbar .navbar-nav > li > a {
  text-align: right;
}

@media (max-width: 991px) {
  body.customers .panel_s,
  body.customers .panel,
  body.customers .modal-content {
    border-radius: 12px;
  }

  body.customers .navbar .navbar-nav > li > a {
    padding: 9px 10px;
  }
}

/* CRMEXA Production Palette Refresh */
:root {
  --cx-client-bg: #F8F9FC;
  --cx-client-surface: #FFFFFF;
  --cx-client-text: #0F172A;
  --cx-client-muted: #64748B;
  --cx-client-primary: #6C4CF1;
  --cx-client-primary-2: #5B3FD6;
  --cx-client-border: #E0E4EC;
}

body.customers {
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
  color: var(--cx-client-text);
}

body.customers .navbar.header {
  background: rgba(255, 255, 255, 0.92);
  border-bottom-color: var(--cx-client-border);
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.04);
}

body.customers .navbar .navbar-nav > li > a {
  color: var(--cx-client-muted);
}

body.customers .navbar .navbar-nav > li.active > a,
body.customers .navbar .navbar-nav > li > a:hover,
body.customers .navbar .navbar-nav > li > a:focus {
  background: rgba(108, 76, 241, 0.10);
  color: var(--cx-client-primary-2);
}

body.customers .dropdown-menu {
  border-color: var(--cx-client-border);
  box-shadow: 0 14px 32px rgba(15, 23, 42, 0.10);
}

body.customers .dropdown-menu > li > a:hover,
body.customers .dropdown-menu > li > a:focus {
  background: #EBE7FF;
  color: var(--cx-client-primary-2);
}

body.customers .panel_s,
body.customers .panel,
body.customers .modal-content,
body.customers .card,
body.customers .table {
  border-color: var(--cx-client-border);
  background: #FFFFFF;
}

body.customers .panel_s,
body.customers .panel,
body.customers .modal-content {
  box-shadow: 0 12px 26px rgba(15, 23, 42, 0.06);
}

body.customers .panel_s .panel-heading,
body.customers .panel .panel-heading {
  border-bottom-color: var(--cx-client-border);
}

body.customers .table > thead > tr > th {
  background: #FAFBFF;
  color: var(--cx-client-muted);
}

body.customers .table > tbody > tr:hover > td {
  background: #FBFAFF;
}

body.customers .form-control,
body.customers .bootstrap-select > .dropdown-toggle,
body.customers .select2-selection {
  border-color: var(--cx-client-border);
  background: #FFFFFF;
  color: var(--cx-client-text);
}

body.customers .form-control:focus,
body.customers .bootstrap-select > .dropdown-toggle:focus,
body.customers .select2-selection:focus {
  border-color: rgba(108, 76, 241, 0.45);
  box-shadow: 0 0 0 3px rgba(108, 76, 241, 0.14);
}

body.customers .btn-default {
  border-color: var(--cx-client-border);
  color: var(--cx-client-text);
  background: #FFFFFF;
}

body.customers .btn-primary {
  background: linear-gradient(135deg, var(--cx-client-primary) 0%, var(--cx-client-primary-2) 100%);
  border-color: var(--cx-client-primary-2);
  box-shadow: 0 8px 18px rgba(91, 63, 214, 0.22);
}

body.customers .btn-primary:hover,
body.customers .btn-primary:focus {
  background: linear-gradient(135deg, #6444EC 0%, #5336CA 100%);
}

body.customers .pagination > .active > a,
body.customers .pagination > .active > span {
  background: var(--cx-client-primary);
  border-color: var(--cx-client-primary);
}

body.customers .subtitle,
body.customers .text-muted {
  color: var(--cx-client-muted) !important;
}

.label-success,
.badge-success,
.success-bg {
  background: #22C55E !important;
  border-color: #22C55E !important;
  color: #FFFFFF !important;
}

/* CRMEXA Client Button Harmonization */
body.customers .btn {
  border-radius: 10px;
  font-weight: 600;
  line-height: 1.25;
}

body.customers .btn:not(.btn-link):not(.btn-icon):not(.btn-xs):not(.btn-sm) {
  min-height: 40px;
  padding: 9px 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}

body.customers .btn.btn-sm {
  min-height: 34px;
  padding: 6px 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
}

body.customers .btn.btn-xs {
  min-height: 28px;
  padding: 4px 9px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
}

body.customers .btn.btn-icon {
  min-width: 34px;
  min-height: 34px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

body.customers .btn.btn-block {
  display: flex;
  width: 100%;
}

/* CRMEXA Auth Pages: Login/Register Redesign */
.cx-auth-shell {
  --cx-auth-primary: #5b3fd6;
  --cx-auth-primary-2: #6c4cf1;
  --cx-auth-bg: #f2f4f8;
  --cx-auth-text: #1f2937;
  --cx-auth-muted: #667085;
  --cx-auth-border: #d8deea;
  display: grid;
  grid-template-columns: minmax(320px, 48%) minmax(360px, 52%);
  min-height: calc(100vh - 220px);
  margin: 16px -15px 0;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 16px 44px rgba(16, 24, 40, 0.12);
  background: #fff;
}

.cx-auth-showcase {
  position: relative;
  padding: 46px 42px;
  color: #fff;
  background: linear-gradient(165deg, #4f20d3 0%, #4b1ebf 46%, #3a176f 100%);
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
}

.cx-auth-showcase::before,
.cx-auth-showcase::after {
  content: "";
  position: absolute;
  pointer-events: none;
}

.cx-auth-showcase::before {
  width: 640px;
  height: 640px;
  border-radius: 50%;
  right: -240px;
  bottom: -280px;
  background: radial-gradient(circle at center, rgba(145, 108, 255, 0.36), rgba(91, 63, 214, 0) 68%);
}

.cx-auth-showcase::after {
  width: 540px;
  height: 540px;
  right: -170px;
  bottom: -185px;
  background: repeating-radial-gradient(circle at center, rgba(199, 176, 255, 0.22) 0, rgba(199, 176, 255, 0.22) 2px, rgba(199, 176, 255, 0) 12px, rgba(199, 176, 255, 0) 24px);
  transform: rotate(-16deg);
  border-radius: 50%;
  opacity: 0.7;
}

.cx-auth-brand,
.cx-auth-title,
.cx-auth-copy,
.cx-auth-meta {
  position: relative;
  z-index: 2;
}

.cx-auth-brand {
  margin-bottom: 34px;
}

.cx-auth-logo {
  max-width: 273px;
  max-height: 94px;
  height: auto;
}

.cx-auth-logo-text {
  display: inline-block;
  font-size: 28px;
  font-weight: 800;
  letter-spacing: 0.02em;
  color: #fff;
}

.cx-auth-title {
  font-size: clamp(34px, 3vw, 54px);
  line-height: 1.08;
  font-weight: 800;
  margin: 0;
  max-width: 560px;
  color: #fff;
}

.cx-auth-copy {
  margin: 20px 0 0;
  font-size: 19px;
  line-height: 1.5;
  color: rgba(245, 243, 255, 0.94);
  max-width: 560px;
}

.cx-auth-meta {
  margin-top: 34px;
  display: inline-flex;
  align-items: center;
  gap: 14px;
  color: rgba(240, 235, 255, 0.96);
  font-size: 14px;
  font-weight: 600;
}

.cx-auth-avatar-stack {
  display: inline-flex;
  align-items: center;
}

.cx-auth-avatar {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 2px solid #fff;
  margin-left: -10px;
  background: linear-gradient(145deg, #fef3c7, #fecaca);
  color: #312e81;
  font-size: 12px;
  font-weight: 700;
}

.cx-auth-avatar:first-child {
  margin-left: 0;
}

.cx-auth-workspace {
  background: var(--cx-auth-bg);
  padding: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.cx-auth-card {
  width: min(480px, 100%);
  border-radius: 20px;
  padding: 30px;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid #e5eaf2;
  box-shadow: 0 16px 38px rgba(15, 23, 42, 0.12);
}

.cx-auth-card-register {
  width: 100%;
  max-width: 1080px;
  max-height: none;
  overflow: visible;
}

.cx-auth-shell-register {
  overflow: visible;
}

.cx-auth-shell-register .cx-auth-workspace {
  align-items: flex-start;
  justify-content: flex-start;
}

.cx-auth-shell-register .cx-auth-card-register {
  width: min(1120px, 100%);
  max-width: 1120px;
  margin: 0 auto;
}

.cx-auth-card-title {
  margin: 0;
  font-size: 37px;
  line-height: 1.14;
  font-weight: 800;
  color: var(--cx-auth-text);
}

.cx-auth-card-subtitle {
  margin: 8px 0 22px;
  color: var(--cx-auth-muted);
  font-size: 15px;
}

.cx-auth-register-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
  padding-bottom: 14px;
  border-bottom: 1px solid #e5eaf2;
  flex-wrap: wrap;
}

.cx-auth-register-head-main {
  min-width: 220px;
  flex: 1 1 320px;
}

.cx-auth-register-head .cx-auth-card-subtitle {
  margin: 6px 0 0;
}

.cx-auth-register-head .cx-auth-language-group {
  margin: 0;
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 0 0 auto;
  max-width: none;
}

.cx-auth-register-head .cx-auth-language-group label {
  margin: 0;
  white-space: nowrap;
}

.cx-auth-register-head .cx-auth-language-group .bootstrap-select {
  width: 220px !important;
}

.cx-auth-shell .form-group {
  margin-bottom: 14px;
}

.cx-auth-shell label {
  font-weight: 700;
  color: #334155;
  font-size: 13px;
  letter-spacing: 0.01em;
  margin-bottom: 6px;
}

.cx-auth-shell .form-control,
.cx-auth-shell .bootstrap-select > .dropdown-toggle {
  height: 46px;
  border: 1px solid var(--cx-auth-border);
  border-radius: 14px;
  background: #fff;
  color: #0f172a;
  box-shadow: none;
  font-size: 14px;
  padding-left: 13px;
  padding-right: 13px;
}

.cx-auth-shell textarea.form-control {
  min-height: 98px;
  height: auto;
  padding-top: 10px;
}

.cx-auth-shell .form-control:focus,
.cx-auth-shell .bootstrap-select > .dropdown-toggle:focus {
  border-color: #8d7cf4;
  box-shadow: 0 0 0 3px rgba(108, 76, 241, 0.17);
}

.cx-auth-shell .bootstrap-select > .dropdown-toggle .filter-option {
  line-height: 28px;
}

.cx-auth-label-row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: baseline;
}

.cx-auth-inline-link {
  color: #4f3df0;
  font-size: 12px;
  font-weight: 700;
}

.cx-auth-inline-link:hover,
.cx-auth-inline-link:focus {
  color: #3f2ed3;
  text-decoration: none !important;
}

.cx-auth-shell .checkbox label {
  font-weight: 600;
  color: #64748b;
  font-size: 13px;
}

.cx-auth-submit-group,
.cx-auth-register-actions {
  margin-top: 20px;
}

.cx-auth-register-actions {
  display: flex;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
}

.cx-auth-register-actions .btn {
  min-width: 180px;
}

.cx-auth-shell .btn.btn-primary {
  border: 0;
  color: #fff;
  border-radius: 14px;
  height: 48px;
  background: linear-gradient(135deg, var(--cx-auth-primary) 0%, var(--cx-auth-primary-2) 100%);
  box-shadow: 0 10px 24px rgba(91, 63, 214, 0.28);
}

.cx-auth-shell .btn.btn-primary:hover,
.cx-auth-shell .btn.btn-primary:focus {
  background: linear-gradient(135deg, #4f33cc 0%, #5f46e4 100%);
}

.cx-auth-switch {
  margin: 18px 0 0;
  text-align: center;
  font-size: 14px;
  color: #64748b;
}

.cx-auth-switch a {
  color: #4f3df0;
  font-weight: 700;
}

.cx-auth-shell .help-block,
.cx-auth-shell .text-danger {
  font-size: 12px;
}

.cx-auth-shell .g-recaptcha > div {
  margin: 0;
}

.cx-auth-form-columns {
  margin-left: -8px;
  margin-right: -8px;
}

.cx-auth-form-columns > [class*="col-"] {
  padding-left: 8px;
  padding-right: 8px;
}

.cx-auth-form-columns h4 {
  margin-top: 8px;
  margin-bottom: 12px;
  font-size: 17px;
  color: #111827;
}

@media (max-width: 1199px) {
  .cx-auth-card-register {
    max-height: none;
    overflow: visible;
  }
}

@media (max-width: 991px) {
  .cx-auth-shell {
    grid-template-columns: 1fr;
    margin: 16px 0 0;
    border-radius: 16px;
  }

  .cx-auth-showcase {
    padding: 28px 22px;
  }

  .cx-auth-workspace {
    padding: 22px;
  }

  .cx-auth-card,
  .cx-auth-card-register {
    width: 100%;
    padding: 22px;
    border-radius: 16px;
  }

  .cx-auth-title {
    font-size: 31px;
  }

  .cx-auth-copy {
    font-size: 15px;
  }
}

@media (max-width: 576px) {
  .cx-auth-shell {
    box-shadow: none;
    border-radius: 0;
  }

  .cx-auth-workspace,
  .cx-auth-showcase {
    padding: 16px;
  }

  .cx-auth-card,
  .cx-auth-card-register {
    padding: 16px;
  }

  .cx-auth-card-title {
    font-size: 30px;
  }

  .cx-auth-meta {
    margin-top: 18px;
  }

  .cx-auth-register-actions .btn {
    width: 100%;
    min-width: 0;
  }
}

/* CRMEXA Auth Pages: Fullscreen mode on login/register */
body.customers_login .navbar.header,
body.register .navbar.header {
  display: none;
}

body.customers_login #content,
body.register #content {
  padding-top: 0;
}

body.customers_login #content > .container:first-child,
body.register #content > .container:first-child {
  display: none;
}

body.customers_login #content > .container,
body.register #content > .container {
  width: 100%;
  max-width: none;
  padding-left: 0;
  padding-right: 0;
}

body.customers_login #content > .container > .row,
body.register #content > .container > .row {
  margin-left: 0;
  margin-right: 0;
}

body.customers_login .cx-auth-shell,
body.register .cx-auth-shell {
  margin: 0;
  border-radius: 0;
  min-height: 100vh;
  box-shadow: none;
}

body.customers_login .footer {
  display: none !important;
}

body.register .footer {
  display: none !important;
}

.cx-auth-input-wrap {
  position: relative;
}

.cx-auth-input-wrap .cx-auth-input {
  padding-left: 42px;
  padding-right: 38px;
}

.cx-auth-input-wrap .cx-auth-input-icon {
  position: absolute;
  top: 50%;
  left: 14px;
  transform: translateY(-50%);
  color: #94a3b8;
  font-size: 14px;
  line-height: 1;
}

.cx-auth-input-wrap .cx-auth-input-icon-right {
  left: auto;
  right: 14px;
}

.cx-auth-divider {
  margin-top: 18px;
  margin-bottom: 14px;
  text-align: center;
  position: relative;
  font-size: 11px;
  font-weight: 700;
  color: #94a3b8;
}

.cx-auth-divider::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  border-top: 1px solid #e2e8f0;
}

.cx-auth-divider span {
  position: relative;
  background: rgba(255, 255, 255, 0.92);
  padding: 0 10px;
}

.cx-auth-socials {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.cx-auth-social-btn {
  border: 1px solid #d6dbe8;
  border-radius: 999px;
  background: #fff;
  color: #334155;
  height: 38px;
  font-size: 13px;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.cx-auth-social-btn i {
  font-size: 15px;
}

@media (max-width: 991px) {
  body.customers_login .navbar.header,
  body.register .navbar.header {
    display: block;
  }

  body.customers_login #content > .container:first-child,
  body.register #content > .container:first-child {
    display: block;
  }

  body.customers_login .cx-auth-shell,
  body.register .cx-auth-shell {
    min-height: auto;
  }

  .cx-auth-socials {
    grid-template-columns: 1fr;
  }

  .cx-auth-register-head {
    display: block;
    margin-bottom: 14px;
    padding-bottom: 0;
    border-bottom: 0;
  }

  .cx-auth-register-head-main {
    margin-bottom: 14px;
  }

  .cx-auth-register-head .cx-auth-language-group {
    display: block;
    margin-top: 10px;
    max-width: none;
  }

  .cx-auth-register-head .cx-auth-language-group label {
    display: block;
    margin-bottom: 6px;
  }

  .cx-auth-register-head .cx-auth-language-group .bootstrap-select {
    width: 100% !important;
  }
}

/* CRMEXA Register Wizard */
body.register .cx-register-wizard {
  margin-bottom: 16px;
}

body.register .cx-register-step-nav {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

body.register .cx-register-step-trigger {
  border: 1px solid #d7dcef;
  border-radius: 999px;
  background: #fff;
  color: #344054;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  font-weight: 600;
  font-size: 13px;
}

body.register .cx-register-step-trigger .cx-register-step-num {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #e9e5ff;
  color: #4f3df0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 700;
}

body.register .cx-register-step-trigger.is-active {
  border-color: #7f6bf4;
  color: #2f1f9f;
  background: #f6f3ff;
}

body.register .cx-register-step {
  display: none;
}

body.register .cx-register-step.is-active {
  display: block;
}

body.register .cx-register-step-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 18px;
  flex-wrap: wrap;
}

body.register .cx-register-step-actions .btn {
  min-width: 130px;
}

@media (max-width: 768px) {
  body.register .cx-register-step-actions {
    flex-direction: column;
    align-items: stretch;
  }

  body.register .cx-register-step-actions .btn,
  body.register .cx-register-step-actions .cx-auth-inline-link {
    width: 100%;
    text-align: center;
  }
}

/* CRMEXA Register Step-1 two-column grid */
body.register .cx-register-account-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 12px;
}

body.register .cx-register-account-grid .form-group {
  margin-bottom: 0;
}

body.register .cx-register-account-grid .mtop15 {
  margin-top: 0;
}

@media (max-width: 768px) {
  body.register .cx-register-account-grid {
    grid-template-columns: 1fr;
  }
}

/* CRMEXA Customer Dashboard */
body.cx-client-shell-active {
  --cx-shell-sidebar-width: 230px;
  --cx-shell-topbar-height: 62px;
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
}

body.cx-client-shell-active #wrapper {
  width: auto;
  min-height: calc(100vh - var(--cx-shell-topbar-height));
  margin-left: var(--cx-shell-sidebar-width);
  padding-top: var(--cx-shell-topbar-height);
}

body.cx-client-shell-active #content {
  padding: 18px 0 32px;
}

body.cx-client-shell-active #content > .container {
  width: min(1480px, calc(100% - 48px));
  max-width: none;
}

body.cx-client-shell-active #content > .container > .row {
  margin-left: 0;
  margin-right: 0;
}

body.cx-client-shell-active footer.footer {
  margin-left: var(--cx-shell-sidebar-width);
  width: calc(100% - var(--cx-shell-sidebar-width));
  background: rgba(248, 250, 252, 0.92);
}

body.customers .cx-client-shell-sidebar {
  position: fixed;
  inset: 0 auto 0 0;
  z-index: 1040;
  display: flex;
  width: var(--cx-shell-sidebar-width);
  flex-direction: column;
  border-right: 1px solid #dfe5ef;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 18px 0 42px rgba(15, 23, 42, 0.04);
}

body.customers .cx-client-shell-brand {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: var(--cx-shell-topbar-height);
  padding: 0 16px;
  border-bottom: 1px solid #e4e9f2;
}

body.customers .cx-client-shell-logo,
body.customers .cx-client-shell-brand .logo,
body.customers .cx-client-shell-brand .navbar-brand {
  display: inline-flex;
  align-items: center;
  height: auto;
  margin: 0;
  padding: 0;
}

body.customers .cx-client-shell-brand .logo img {
  width: auto;
  max-width: 142px;
  max-height: 40px;
}

body.customers .cx-client-shell-menu-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 12px;
  background: transparent;
  color: #64748b;
  transition: background 0.18s ease, color 0.18s ease;
}

body.customers .cx-client-shell-menu-toggle:hover,
body.customers .cx-client-shell-menu-toggle:focus {
  background: #eef2ff;
  color: #5b3fd6;
}

body.customers .cx-client-shell-nav {
  flex: 1;
  min-height: 0;
  padding: 18px 10px;
  overflow-y: auto;
}

body.customers .cx-client-shell-nav ul {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}

body.customers .cx-client-shell-nav li {
  margin: 0;
  padding: 0;
}

body.customers .cx-client-shell-nav li > a {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 42px;
  padding: 10px 12px;
  border-radius: 12px;
  color: #4b5f7a !important;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none !important;
  transition: background 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}

body.customers .cx-client-shell-nav li > button.cx-client-shell-group-toggle {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 42px;
  padding: 10px 12px;
  border: 0;
  border-radius: 12px;
  background: transparent;
  color: #4b5f7a !important;
  font-size: 14px;
  font-weight: 700;
  text-align: left;
  transition: background 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}

body.customers .cx-client-shell-nav li > a i {
  width: 18px;
  color: #71839b;
  text-align: center;
  font-size: 15px;
}

body.customers .cx-client-shell-nav li > button.cx-client-shell-group-toggle i {
  width: 18px;
  color: #71839b;
  text-align: center;
  font-size: 15px;
}

body.customers .cx-client-shell-nav li > a .cx-client-shell-link-label {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.customers .cx-client-shell-nav li > button.cx-client-shell-group-toggle .cx-client-shell-link-label {
  min-width: 0;
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.customers .cx-client-shell-nav .cx-client-shell-group-chevron {
  margin-left: auto;
  transition: transform 0.18s ease;
}

body.customers .cx-client-shell-nav li.open > .cx-client-shell-group-toggle .cx-client-shell-group-chevron {
  transform: rotate(90deg);
}

body.customers .cx-client-shell-nav li.open > a.dropdown-toggle .cx-client-shell-group-chevron {
  transform: rotate(90deg);
}

body.customers .cx-client-shell-nav .cx-client-shell-submenu {
  display: none;
  gap: 4px;
  margin: 4px 0 6px 0;
  padding: 0 0 0 18px;
}

body.customers .cx-client-shell-nav li.open > .cx-client-shell-submenu {
  display: flex;
}

body.customers .cx-client-shell-nav .dropdown-menu.client-ul,
body.customers .cx-client-shell-nav .cx-client-shell-native-submenu {
  position: static;
  float: none;
  display: none;
  min-width: 0;
  width: 100%;
  margin: 4px 0 6px 0;
  padding: 0 0 0 18px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

body.customers .cx-client-shell-nav li.open > .dropdown-menu.client-ul,
body.customers .cx-client-shell-nav li.open > .cx-client-shell-native-submenu {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

body.customers .cx-client-shell-nav .cx-client-shell-submenu li > a {
  min-height: 36px;
  padding: 8px 10px;
  border-radius: 10px;
  font-size: 13px;
}

body.customers .cx-client-shell-nav .cx-client-shell-submenu li > a i {
  font-size: 13px;
}

body.customers .cx-client-shell-nav .dropdown-menu.client-ul li > a,
body.customers .cx-client-shell-nav .cx-client-shell-native-submenu li > a {
  min-height: 36px;
  padding: 8px 10px;
  border-radius: 10px;
  color: #4b5f7a !important;
  font-size: 13px;
  font-weight: 700;
}

body.customers .cx-client-shell-nav li > a.dropdown-toggle .cx-client-shell-link-label {
  flex: 1;
}

body.customers .cx-client-shell-nav li > a .qty_total {
  margin-left: auto;
  min-width: 20px;
  padding: 0 6px;
  border-radius: 999px;
  background: #e7ecfb;
  color: #4b32c3 !important;
  font-size: 11px;
  font-weight: 800;
  line-height: 20px;
  text-align: center;
}

body.customers .cx-client-shell-nav li.active > a,
body.customers .cx-client-shell-nav li > a:hover,
body.customers .cx-client-shell-nav li > a:focus,
body.customers .cx-client-shell-nav li.open > a.dropdown-toggle,
body.customers .cx-client-shell-nav li.active > button.cx-client-shell-group-toggle,
body.customers .cx-client-shell-nav li.open > button.cx-client-shell-group-toggle,
body.customers .cx-client-shell-nav li > button.cx-client-shell-group-toggle:hover,
body.customers .cx-client-shell-nav li > button.cx-client-shell-group-toggle:focus {
  background: #eee9ff;
  color: #4b32c3 !important;
  box-shadow: inset 0 0 0 1px rgba(91, 63, 214, 0.08);
}

body.customers .cx-client-shell-nav li.active > a i,
body.customers .cx-client-shell-nav li > a:hover i,
body.customers .cx-client-shell-nav li > a:focus i,
body.customers .cx-client-shell-nav li.open > a.dropdown-toggle i,
body.customers .cx-client-shell-nav li.active > button.cx-client-shell-group-toggle i,
body.customers .cx-client-shell-nav li.open > button.cx-client-shell-group-toggle i,
body.customers .cx-client-shell-nav li > button.cx-client-shell-group-toggle:hover i,
body.customers .cx-client-shell-nav li > button.cx-client-shell-group-toggle:focus i {
  color: #6c4cf1;
}

body.customers .cx-client-shell-nav li.active > a .qty_total,
body.customers .cx-client-shell-nav li > a:hover .qty_total,
body.customers .cx-client-shell-nav li > a:focus .qty_total {
  background: #ddd6fe;
  color: #4b32c3 !important;
}

body.customers .cx-client-shell-nav .customers-nav-item-crmexa-badge > a {
  justify-content: center;
  min-height: 34px;
  margin-top: 10px;
  background: transparent;
  box-shadow: none;
}

body.customers .cx-client-shell-workspace {
  padding: 14px 10px 18px;
  border-top: 1px solid #e4e9f2;
}

body.customers .cx-client-shell-workspace-card {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) 14px;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border: 1px solid #dfe5ef;
  border-radius: 14px;
  background: #ffffff;
  color: #0f172a;
  text-decoration: none !important;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
}

body.customers .cx-client-shell-workspace-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 12px;
  background: #f0ecff;
  color: #5b3fd6;
}

body.customers .cx-client-shell-workspace-copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
}

body.customers .cx-client-shell-workspace-copy strong,
body.customers .cx-client-shell-workspace-copy small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.customers .cx-client-shell-workspace-copy strong {
  color: #0f172a;
  font-size: 13px;
  font-weight: 800;
}

body.customers .cx-client-shell-workspace-copy small {
  color: #64748b;
  font-size: 11px;
  font-weight: 700;
}

body.customers .cx-client-shell-topbar {
  position: fixed;
  inset: 0 0 auto var(--cx-shell-sidebar-width);
  z-index: 1035;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: var(--cx-shell-topbar-height);
  padding: 0 16px 0 20px;
  border-bottom: 1px solid #dfe5ef;
  background: rgba(255, 255, 255, 0.94);
  backdrop-filter: blur(14px);
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
}

body.customers .cx-client-shell-topbar-left,
body.customers .cx-client-shell-topbar-right {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

body.customers .cx-client-shell-topbar > .cx-client-shell-topbar-left > .cx-client-shell-menu-toggle {
  display: none;
}

body.customers .cx-client-shell-search {
  position: relative;
  width: min(520px, 44vw);
}

body.customers .cx-client-shell-search i {
  position: absolute;
  top: 50%;
  left: 14px;
  color: #94a3b8;
  transform: translateY(-50%);
}

body.customers .cx-client-shell-search input {
  width: 100%;
  height: 38px;
  padding: 8px 14px 8px 38px;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  background: #f4f6fa;
  color: #0f172a;
  outline: none;
}

body.customers .cx-client-shell-search input:focus {
  border-color: rgba(91, 63, 214, 0.35);
  background: #ffffff;
  box-shadow: 0 0 0 3px rgba(91, 63, 214, 0.1);
}

body.customers .cx-client-shell-add,
body.customers .cx-client-shell-icon-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 12px;
  text-decoration: none !important;
}

body.customers .cx-client-shell-add {
  background: #2f65e8;
  color: #ffffff !important;
  box-shadow: 0 10px 20px rgba(47, 101, 232, 0.24);
}

body.customers .cx-client-shell-icon-btn {
  color: #5b6475 !important;
}

body.customers .cx-client-shell-icon-btn:hover,
body.customers .cx-client-shell-icon-btn:focus {
  background: #eef2ff;
  color: #5b3fd6 !important;
}

body.customers .cx-client-shell-alert-dot {
  position: absolute;
  top: 7px;
  right: 7px;
  width: 8px;
  height: 8px;
  border: 2px solid #ffffff;
  border-radius: 999px;
  background: #ef4444;
}

body.customers .cx-client-shell-profile-toggle {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #0f172a !important;
  text-decoration: none !important;
}

body.customers .cx-client-shell-profile-text {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  line-height: 1.1;
}

body.customers .cx-client-shell-profile-text strong {
  max-width: 160px;
  overflow: hidden;
  color: #0f172a;
  font-size: 12px;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.customers .cx-client-shell-profile-text small {
  color: #64748b;
  font-size: 11px;
  font-weight: 700;
}

body.customers .cx-client-shell-avatar {
  width: 34px;
  height: 34px;
  border: 2px solid #ffffff;
  border-radius: 999px;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.15);
}

body.customers .cx-client-shell-profile > .dropdown-menu {
  border-radius: 16px;
  border: 1px solid #dbe5f1;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.12);
  padding: 8px;
}

body.customers .cx-client-shell-profile > .dropdown-menu > li > a,
body.customers .cx-client-shell-profile > .dropdown-menu .dropdown-submenu > a {
  border-radius: 10px;
  padding: 10px 14px;
  font-weight: 600;
}

body.customers .cx-client-shell-profile > .dropdown-menu > li.active > a,
body.customers .cx-client-shell-profile > .dropdown-menu > li > a:hover,
body.customers .cx-client-shell-profile > .dropdown-menu > li > a:focus,
body.customers .cx-client-shell-profile > .dropdown-menu .dropdown-submenu > a:hover,
body.customers .cx-client-shell-profile > .dropdown-menu .dropdown-submenu > a:focus {
  background: #f5f3ff;
  color: #5b21b6;
}

body.customers .cx-client-shell-profile .dropdown-submenu {
  position: relative;
}

body.customers .cx-client-shell-profile .dropdown-submenu > a {
  position: relative;
  padding-right: 32px;
}

body.customers .cx-client-shell-profile .dropdown-submenu > a:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 12px;
  width: 0;
  height: 0;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 7px solid currentColor;
  transform: translateY(-50%);
  opacity: 0.7;
}

body.customers .cx-client-shell-profile .dropdown-submenu > .dropdown-menu,
body.customers .cx-client-shell-profile .dropdown-submenu.pull-left > .dropdown-menu {
  top: 0;
  left: auto;
  right: 100%;
  margin-top: -8px;
  margin-right: 10px;
  margin-left: 0;
  max-height: min(65vh, 460px);
  overflow-y: auto;
  border-radius: 16px 0 16px 16px;
  border: 1px solid #dbe5f1;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.12);
  padding: 8px;
}

body.customers .cx-client-shell-profile .dropdown-submenu > .dropdown-menu > li > a {
  border-radius: 10px;
  padding: 10px 14px;
  font-weight: 600;
  white-space: nowrap;
}

body.customers .cx-client-mobile-backdrop {
  display: none;
}

body.customers .submenu.customer-top-submenu {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 0 20px;
  padding: 10px 12px;
  border: 1px solid var(--cx-client-border);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.86);
  box-shadow: 0 12px 24px rgba(15, 23, 42, 0.05);
}

body.customers .submenu.customer-top-submenu li {
  margin: 0;
}

body.customers .submenu.customer-top-submenu li a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 38px;
  padding: 8px 14px;
  border-radius: 12px;
  color: var(--cx-client-muted) !important;
  font-size: 14px;
  font-weight: 600;
}

body.customers .submenu.customer-top-submenu li a:hover,
body.customers .submenu.customer-top-submenu li a:focus {
  background: rgba(108, 76, 241, 0.08);
  color: var(--cx-client-primary-2) !important;
}

body.customers .section-client-dashboard.cx-client-dashboard {
  display: flex;
  flex-direction: column;
  gap: 22px;
  padding-bottom: 8px;
}

body.customers .cx-client-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(280px, 0.95fr);
  gap: 24px;
  padding: 32px;
  border: 1px solid rgba(91, 63, 214, 0.12);
  border-radius: 28px;
  background:
    radial-gradient(620px 300px at 0% 0%, rgba(108, 76, 241, 0.12), transparent 58%),
    radial-gradient(540px 260px at 100% 0%, rgba(56, 189, 248, 0.1), transparent 52%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, #ffffff 100%);
  box-shadow: 0 24px 56px rgba(15, 23, 42, 0.08);
  overflow: hidden;
}

body.customers .cx-client-hero-main {
  display: flex;
  flex-direction: column;
  gap: 16px;
  min-width: 0;
}

body.customers .cx-client-eyebrow {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 34px;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(91, 63, 214, 0.08);
  color: #4c34bf;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

body.customers .cx-client-hero-title {
  margin: 0;
  color: #0f172a;
  font-size: clamp(28px, 4vw, 42px);
  line-height: 1.05;
  font-weight: 800;
}

body.customers .cx-client-hero-copy {
  max-width: 720px;
  margin: 0;
  color: #475569;
  font-size: 15px;
  line-height: 1.7;
}

body.customers .cx-client-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 4px;
}

body.customers .cx-client-hero-panel {
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding: 22px;
  border: 1px solid rgba(108, 76, 241, 0.14);
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(246, 244, 255, 0.95) 0%, rgba(255, 255, 255, 0.96) 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5);
}

body.customers .cx-client-hero-panel-top {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

body.customers .cx-client-hero-panel-label {
  color: #6c4cf1;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

body.customers .cx-client-hero-panel-top strong {
  color: #0f172a;
  font-size: 21px;
  line-height: 1.2;
  font-weight: 800;
}

body.customers .cx-client-identity-list {
  display: grid;
  gap: 12px;
}

body.customers .cx-client-identity-item {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 14px 16px;
  border: 1px solid rgba(224, 228, 236, 0.92);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.92);
}

body.customers .cx-client-identity-item span {
  color: #64748b;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

body.customers .cx-client-identity-item strong {
  color: #0f172a;
  font-size: 14px;
  line-height: 1.45;
  font-weight: 700;
  word-break: break-word;
}

body.customers .cx-client-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

body.customers .cx-client-summary-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-height: 152px;
  padding: 22px;
  border: 1px solid var(--cx-client-border);
  border-radius: 22px;
  background: #ffffff;
  box-shadow: 0 18px 34px rgba(15, 23, 42, 0.05);
  color: inherit;
  text-decoration: none !important;
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

body.customers .cx-client-summary-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  border-radius: 22px 0 0 22px;
  background: #6c4cf1;
}

body.customers .cx-client-summary-card:hover,
body.customers .cx-client-summary-card:focus {
  transform: translateY(-2px);
  border-color: rgba(91, 63, 214, 0.3);
  box-shadow: 0 24px 42px rgba(15, 23, 42, 0.08);
}

body.customers .cx-client-summary-card-sky::before {
  background: #0ea5e9;
}

body.customers .cx-client-summary-card-violet::before {
  background: #6c4cf1;
}

body.customers .cx-client-summary-card-amber::before {
  background: #f59e0b;
}

body.customers .cx-client-summary-card-emerald::before {
  background: #10b981;
}

body.customers .cx-client-summary-card-slate::before {
  background: #64748b;
}

body.customers .cx-client-summary-label {
  color: #64748b;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

body.customers .cx-client-summary-value {
  color: #0f172a;
  font-size: clamp(28px, 3vw, 36px);
  line-height: 1;
  font-weight: 800;
}

body.customers .cx-client-summary-link {
  margin-top: auto;
  color: #4f46e5;
  font-size: 13px;
  font-weight: 700;
}

body.customers .cx-client-banner-slot,
body.customers .cx-client-section {
  padding: 24px;
  border: 1px solid var(--cx-client-border);
  border-radius: 26px;
  background: rgba(255, 255, 255, 0.95);
  box-shadow: 0 18px 42px rgba(15, 23, 42, 0.06);
}

body.customers .cx-client-banner-slot > :last-child,
body.customers .cx-client-section-body > :last-child {
  margin-bottom: 0;
}

body.customers .cx-client-section-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 20px;
}

body.customers .cx-client-section-title {
  margin: 0;
  color: #0f172a;
  font-size: 24px;
  line-height: 1.2;
  font-weight: 800;
}

body.customers .cx-client-section-copy {
  margin: 6px 0 0;
  color: #64748b;
  font-size: 14px;
  line-height: 1.65;
}

body.customers .cx-client-saas-anchor {
  display: block;
  width: 100%;
  height: 0;
  overflow: hidden;
}

body.customers .cx-client-workspace-body .ps-container {
  margin: 0;
}

body.customers .cx-client-workspace-body .ps-view {
  margin: 0;
}

body.customers .cx-client-workspace-body .pricing-filter {
  justify-content: flex-start;
  margin-bottom: 20px;
}

body.customers .cx-client-workspace-body .panel_s.company,
body.customers .cx-client-workspace-body .panel_s[data-package-group],
body.customers .cx-client-workspace-body .saas-market-item-card .card {
  min-height: 100%;
  border: 1px solid rgba(224, 228, 236, 0.92);
  border-radius: 22px;
  background:
    radial-gradient(420px 180px at 100% 0%, rgba(108, 76, 241, 0.06), transparent 55%),
    #ffffff !important;
  box-shadow: 0 18px 36px rgba(15, 23, 42, 0.06) !important;
}

body.customers .cx-client-workspace-body .panel_s.company .panel_body,
body.customers .cx-client-workspace-body .panel_s[data-package-group] .panel_body {
  gap: 14px;
}

body.customers .cx-client-workspace-body .panel_s.company h3,
body.customers .cx-client-workspace-body .panel_s[data-package-group] h3 {
  margin-top: 8px;
  margin-bottom: 4px;
  color: #0f172a;
  font-size: 24px;
  line-height: 1.2;
  font-weight: 800;
}

body.customers .cx-client-workspace-body .panel_s[data-package-group] ul {
  width: 100%;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
}

body.customers .cx-client-workspace-body .panel_s[data-package-group] ul li {
  padding: 8px 0;
  border-bottom: 1px dashed rgba(224, 228, 236, 0.92);
  color: #334155;
}

body.customers .cx-client-workspace-body .panel_s[data-package-group] ul li:last-child {
  border-bottom: 0;
}

body.customers .cx-client-workspace-body .panel_s .panel_footer {
  gap: 10px;
}

body.customers .cx-client-workspace-body .panel_s .badge {
  padding: 7px 12px;
}

body.customers .cx-client-project-summary dl {
  margin: 0;
}

body.customers .cx-client-project-summary dl > a {
  position: relative;
  display: block;
  min-height: 148px;
  padding: 0;
  border: 1px solid rgba(224, 228, 236, 0.94);
  border-radius: 20px;
  background:
    linear-gradient(180deg, rgba(250, 251, 255, 0.96) 0%, #ffffff 100%);
  box-shadow: 0 16px 34px rgba(15, 23, 42, 0.05);
  text-decoration: none !important;
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}

body.customers .cx-client-project-summary dl > a:hover,
body.customers .cx-client-project-summary dl > a:focus {
  transform: translateY(-2px);
  box-shadow: 0 24px 40px rgba(15, 23, 42, 0.08);
}

body.customers .cx-client-project-summary dl > a > div {
  display: flex;
  height: 100%;
  min-height: 148px;
  flex-direction: column;
  justify-content: space-between;
  padding: 20px;
}

body.customers .cx-client-project-summary dt {
  font-size: 15px;
  font-weight: 700;
}

body.customers .cx-client-project-summary dd {
  margin: 0;
}

body.customers .cx-client-project-summary dd .tw-text-base {
  color: #0f172a;
  font-size: 34px;
  line-height: 1;
  font-weight: 800;
}

body.customers .cx-client-billing-panel {
  border: 1px solid rgba(224, 228, 236, 0.92);
  border-radius: 24px;
  background: #ffffff;
  box-shadow: 0 20px 42px rgba(15, 23, 42, 0.06);
  overflow: hidden;
}

body.customers .cx-client-billing-panel .panel-body {
  padding: 24px;
}

body.customers .cx-client-dashboard .invoice-quick-info.invoices-stats {
  margin: 0 -8px;
}

body.customers .cx-client-dashboard .invoice-quick-info.invoices-stats > [class*="col-"] {
  margin-bottom: 16px;
}

body.customers .cx-client-dashboard .invoice-quick-info.invoices-stats > [class*="col-"] > .row {
  min-height: 138px;
  margin: 0 8px;
  padding: 18px;
  border: 1px solid rgba(224, 228, 236, 0.94);
  border-radius: 20px;
  background:
    linear-gradient(180deg, rgba(250, 251, 255, 0.95) 0%, rgba(255, 255, 255, 0.98) 100%);
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.04);
}

body.customers .cx-client-dashboard .invoice-quick-info .stats-status a,
body.customers .cx-client-dashboard .invoice-quick-info .stats-numbers {
  color: #0f172a !important;
  font-size: 15px;
  font-weight: 700;
}

body.customers .cx-client-dashboard .invoice-quick-info .progress {
  height: 10px;
  margin-top: 16px;
  border-radius: 999px;
  background: #eef2ff;
  box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.06);
}

body.customers .cx-client-dashboard .invoice-quick-info .progress-bar {
  border-radius: 999px;
}

body.customers .cx-client-billing-filters {
  margin-top: 8px;
  padding-top: 12px;
}

body.customers .cx-client-chart-shell {
  margin-top: 12px;
  padding: 18px;
  border: 1px solid rgba(224, 228, 236, 0.94);
  border-radius: 22px;
  background:
    radial-gradient(520px 220px at 0% 0%, rgba(108, 76, 241, 0.05), transparent 56%),
    #ffffff;
}

body.customers .cx-client-chart-shell canvas {
  max-width: 100%;
}

body.customers .cx-client-section-extensions .panel_s,
body.customers .cx-client-section-extensions .panel,
body.customers .cx-client-section-extensions .card {
  border-radius: 20px;
}

@media (max-width: 1199px) {
  body.customers .cx-client-summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 991px) {
  body.cx-client-shell-active {
    --cx-shell-sidebar-width: 230px;
  }

  body.cx-client-shell-active #wrapper {
    margin-left: 0;
  }

  body.cx-client-shell-active footer.footer {
    width: 100%;
    margin-left: 0;
  }

  body.customers .cx-client-shell-sidebar {
    transform: translateX(-104%);
    transition: transform 0.22s ease;
  }

  body.cx-client-shell-open .cx-client-shell-sidebar {
    transform: translateX(0);
  }

  body.customers .cx-client-shell-topbar {
    left: 0;
  }

  body.customers .cx-client-shell-topbar > .cx-client-shell-topbar-left > .cx-client-shell-menu-toggle {
    display: inline-flex;
  }

  body.customers .cx-client-mobile-backdrop {
    position: fixed;
    inset: 0;
    z-index: 1039;
    display: block;
    border: 0;
    background: rgba(15, 23, 42, 0.42);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.22s ease;
  }

  body.cx-client-shell-open .cx-client-mobile-backdrop {
    opacity: 1;
    pointer-events: auto;
  }

  body.customers .cx-client-shell-search {
    width: min(460px, 52vw);
  }

  body.customers .cx-client-hero {
    grid-template-columns: 1fr;
    padding: 24px;
  }

  body.customers .cx-client-section-head {
    flex-direction: column;
  }
}

@media (max-width: 767px) {
  body.cx-client-shell-active #content {
    padding-top: 14px;
  }

  body.cx-client-shell-active #content > .container {
    width: calc(100% - 24px);
  }

  body.customers .cx-client-shell-topbar {
    padding: 0 12px;
  }

  body.customers .cx-client-shell-search {
    width: 42vw;
  }

  body.customers .cx-client-shell-topbar-right {
    gap: 4px;
  }

  body.customers .cx-client-shell-icon-btn {
    display: none;
  }

  body.customers .cx-client-shell-profile-text {
    display: none;
  }

  body.customers .submenu.customer-top-submenu {
    width: 100%;
  }

  body.customers .cx-client-summary-grid {
    grid-template-columns: 1fr;
  }

  body.customers .cx-client-banner-slot,
  body.customers .cx-client-section {
    padding: 18px;
    border-radius: 22px;
  }

  body.customers .cx-client-workspace-body .panel_s.company h3,
  body.customers .cx-client-workspace-body .panel_s[data-package-group] h3 {
    font-size: 20px;
  }

  body.customers .cx-client-project-summary dd .tw-text-base {
    font-size: 30px;
  }
}

/* CRMEXA Customer Content Layer */
body.customers {
  --cx-client-surface-strong: rgba(255, 255, 255, 0.95);
  --cx-client-line: rgba(148, 163, 184, 0.22);
  --cx-client-shadow-lg: 0 26px 60px rgba(15, 23, 42, 0.08);
  --cx-client-shadow-md: 0 18px 38px rgba(15, 23, 42, 0.06);
  --cx-client-shadow-sm: 0 12px 28px rgba(15, 23, 42, 0.05);
  --cx-client-success: #16a34a;
  --cx-client-warning: #f59e0b;
  --cx-client-danger: #ef4444;
  --cx-client-info: #2563eb;
}

body.customers #content .panel_s,
body.customers #content .panel,
body.customers #content .card,
body.customers #content .summary-card {
  border: 1px solid var(--cx-client-border);
  border-radius: 24px;
  background: var(--cx-client-surface-strong);
  box-shadow: var(--cx-client-shadow-sm);
}

body.customers #content .panel_s,
body.customers #content .panel,
body.customers #content .card {
  margin-bottom: 22px;
}

body.customers #content .panel_s > .panel-body,
body.customers #content .panel > .panel-body,
body.customers #content .card > .card-body,
body.customers #content .card > .card-block,
body.customers #content .summary-card {
  padding: 24px 26px;
}

body.customers #content .panel-footer,
body.customers #content .modal-footer {
  padding: 18px 26px;
  border-top: 1px solid var(--cx-client-line);
  background: linear-gradient(180deg, rgba(248, 250, 252, 0.9) 0%, rgba(255, 255, 255, 0.98) 100%);
  border-bottom-left-radius: 24px;
  border-bottom-right-radius: 24px;
}

body.customers #content .panel-heading,
body.customers #content .card-header,
body.customers #content .modal-header {
  padding: 20px 24px;
  border-bottom: 1px solid var(--cx-client-line);
  border-top-left-radius: 24px;
  border-top-right-radius: 24px;
}

body.customers #content hr {
  border-top-color: var(--cx-client-line);
}

body.customers .section-heading,
body.customers .section-text,
body.customers .wallet-greetings,
body.customers .tickets-summary-heading,
body.customers .contracts-summary-heading,
body.customers .kb-search-results h2 {
  margin: 0 0 18px;
  color: #0f172a;
  font-size: clamp(24px, 2.4vw, 34px);
  line-height: 1.08;
  font-weight: 800;
  letter-spacing: -0.03em;
}

body.customers .section-heading span.tw-text-sm,
body.customers .section-heading .tw-text-sm {
  margin-left: auto;
  color: var(--cx-client-primary-2);
  font-size: 13px;
  font-weight: 700;
}

body.customers .section-heading + p,
body.customers .wallet-greetings + p {
  margin-top: -6px;
  margin-bottom: 18px;
  color: var(--cx-client-muted);
  font-size: 15px;
  line-height: 1.7;
}

body.customers .panel_s.section-heading {
  background:
    radial-gradient(620px 260px at 0% 0%, rgba(108, 76, 241, 0.12), transparent 60%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(246, 248, 252, 0.94) 100%);
  border-color: rgba(108, 76, 241, 0.18);
  box-shadow: var(--cx-client-shadow-md);
}

body.customers .panel_s.section-heading .panel-body {
  padding: 20px 24px;
}

body.customers label,
body.customers .control-label,
body.customers .form-group label {
  margin-bottom: 8px;
  color: #475569;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

body.customers .form-control,
body.customers .bootstrap-select > .dropdown-toggle,
body.customers .select2-container .select2-selection--single,
body.customers .select2-container .select2-selection--multiple {
  min-height: 46px;
  border: 1px solid #d9e2ef;
  border-radius: 14px !important;
  background: #f8fafc;
  box-shadow: none;
  color: #0f172a;
}

body.customers textarea.form-control {
  min-height: 120px;
  padding-top: 12px;
  padding-bottom: 12px;
}

body.customers .bootstrap-select > .dropdown-toggle,
body.customers .select2-container .select2-selection--single {
  padding-top: 10px;
}

body.customers .form-control:focus,
body.customers .bootstrap-select > .dropdown-toggle:focus,
body.customers .select2-container--default.select2-container--focus .select2-selection--multiple,
body.customers .select2-container--default.select2-container--open .select2-selection--single {
  border-color: rgba(91, 63, 214, 0.3) !important;
  background: #ffffff;
  box-shadow: 0 0 0 4px rgba(91, 63, 214, 0.1) !important;
}

body.customers .input-group .form-control {
  border-right: 0;
}

body.customers .input-group-addon,
body.customers .input-group-btn > .btn {
  border-color: #d9e2ef;
  background: #f8fafc;
  color: #64748b;
}

body.customers .input-group-addon:last-child,
body.customers .input-group-btn:last-child > .btn {
  border-top-right-radius: 14px;
  border-bottom-right-radius: 14px;
}

body.customers .input-group-addon:first-child,
body.customers .input-group-btn:first-child > .btn {
  border-top-left-radius: 14px;
  border-bottom-left-radius: 14px;
}

body.customers .btn {
  min-height: 42px;
  padding: 10px 18px;
  border-radius: 14px;
  border-width: 1px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.01em;
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

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

body.customers .btn-default,
body.customers .btn-secondary {
  border-color: #dbe3ef;
  background: #ffffff;
  color: #334155;
  box-shadow: 0 10px 22px rgba(15, 23, 42, 0.04);
}

body.customers .btn-primary {
  border-color: #5b3fd6;
  background: linear-gradient(135deg, #6c4cf1 0%, #4f3df0 100%);
  color: #ffffff;
  box-shadow: 0 14px 26px rgba(91, 63, 214, 0.24);
}

body.customers .btn-success {
  border-color: #059669;
  background: linear-gradient(135deg, #22c55e 0%, #16a34a 100%);
  color: #ffffff;
  box-shadow: 0 14px 26px rgba(22, 163, 74, 0.18);
}

body.customers .btn-info {
  border-color: #2563eb;
  background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);
  color: #ffffff;
  box-shadow: 0 14px 26px rgba(37, 99, 235, 0.18);
}

body.customers .btn-danger {
  border-color: #dc2626;
  background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
  color: #ffffff;
  box-shadow: 0 14px 26px rgba(220, 38, 38, 0.18);
}

body.customers .btn-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  min-width: 42px;
  padding: 0;
}

body.customers .btn-block,
body.customers .btn-full,
body.customers .submitBtn.tw-w-full {
  width: 100%;
}

body.customers .label,
body.customers .badge,
body.customers .status-badge,
body.customers .project-status-1,
body.customers .project-status-2,
body.customers .project-status-3,
body.customers .project-status-4,
body.customers .project-status-5 {
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.04em;
}

body.customers .scroll,
body.customers .scroll-responsive,
body.customers .table-responsive,
body.customers .s_table {
  width: 100%;
  overflow-x: auto;
}

body.customers .table {
  margin-bottom: 0;
  border-collapse: separate;
  border-spacing: 0;
}

body.customers .table > thead > tr > th {
  padding: 14px 16px;
  border-top: 0;
  border-bottom: 1px solid #e6edf7;
  background: #f8fafc;
  color: #64748b;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  white-space: nowrap;
}

body.customers .table > thead > tr > th:first-child {
  border-top-left-radius: 18px;
}

body.customers .table > thead > tr > th:last-child {
  border-top-right-radius: 18px;
}

body.customers .table > tbody > tr > td,
body.customers .table > tbody > tr > th,
body.customers .table > tfoot > tr > td,
body.customers .table > tfoot > tr > th {
  padding: 16px;
  border-top: 1px solid rgba(226, 232, 240, 0.92);
  vertical-align: middle;
  color: #1e293b;
}

body.customers .table > tbody > tr:hover > td,
body.customers .table > tbody > tr:hover > th {
  background: rgba(91, 63, 214, 0.03);
}

body.customers .table a,
body.customers .table .invoice-number {
  color: #4f3df0;
  font-weight: 700;
}

body.customers .dataTables_wrapper .dataTables_length,
body.customers .dataTables_wrapper .dataTables_filter {
  margin-bottom: 18px;
}

body.customers .dataTables_wrapper .dataTables_length select,
body.customers .dataTables_wrapper .dataTables_filter input {
  min-height: 42px;
  padding: 8px 12px;
  border: 1px solid #d9e2ef;
  border-radius: 14px;
  background: #ffffff;
  color: #0f172a;
}

body.customers .dataTables_wrapper .dataTables_filter input {
  width: min(320px, 100%);
}

body.customers .dataTables_wrapper .dataTables_info {
  color: #64748b;
  font-size: 13px;
  font-weight: 600;
}

body.customers .dataTables_wrapper .dataTables_paginate {
  margin-top: 18px;
}

body.customers .dataTables_wrapper .dataTables_paginate .paginate_button {
  min-width: 38px;
  height: 38px;
  margin: 0 4px;
  border: 1px solid #dbe3ef !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: #475569 !important;
  line-height: 22px;
  box-shadow: none !important;
}

body.customers .dataTables_wrapper .dataTables_paginate .paginate_button.current,
body.customers .dataTables_wrapper .dataTables_paginate .paginate_button:hover {
  border-color: #d5ccff !important;
  background: #ede9fe !important;
  color: #4f3df0 !important;
  box-shadow: 0 10px 20px rgba(91, 63, 214, 0.12) !important;
}

body.customers .nav-tabs,
body.customers .nav-tabs-horizontal {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 18px;
  border-bottom: 0;
}

body.customers .nav-tabs > li,
body.customers .nav-tabs-horizontal > li {
  float: none;
  margin: 0;
}

body.customers .nav-tabs > li > a,
body.customers .nav-tabs-horizontal > li > a {
  margin: 0;
  padding: 10px 16px;
  border: 1px solid #dde5f0;
  border-radius: 14px;
  background: #ffffff;
  color: #475569;
  font-weight: 700;
}

body.customers .nav-tabs > li.active > a,
body.customers .nav-tabs > li.active > a:hover,
body.customers .nav-tabs > li.active > a:focus,
body.customers .nav-tabs-horizontal > li.active > a,
body.customers .nav-tabs-horizontal > li.active > a:hover,
body.customers .nav-tabs-horizontal > li.active > a:focus,
body.customers .nav-tabs > li > a:hover,
body.customers .nav-tabs-horizontal > li > a:hover {
  border-color: #d5ccff;
  background: #f5f3ff;
  color: #4f3df0;
  box-shadow: 0 12px 24px rgba(91, 63, 214, 0.08);
}

body.customers .horizontal-scrollable-tabs,
body.customers .horizontal-tabs {
  margin-bottom: 18px;
}

body.customers .horizontal-tabs .scroller {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 10px;
  background: #eef2ff;
  color: #4f3df0;
}

body.customers .breadcrumb {
  padding: 12px 16px;
  border: 1px solid var(--cx-client-border);
  border-radius: 16px;
  background: #f8fafc;
}

body.customers .breadcrumb > li + li:before {
  color: #94a3b8;
}

body.customers .list-group-custom li,
body.customers .list-group .list-group-item {
  border: 1px solid transparent !important;
  border-radius: 16px !important;
  background: transparent;
  transition: background 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

body.customers .list-group-custom li:hover,
body.customers .list-group .list-group-item:hover {
  background: #f8fafc;
}

body.customers .list-group-custom li.active,
body.customers .list-group .list-group-item.active {
  border-left: 1px solid #d7ceff !important;
  border-color: #d7ceff !important;
  background: #f5f3ff !important;
  color: #4f3df0 !important;
  box-shadow: inset 0 0 0 1px rgba(91, 63, 214, 0.06);
}

body.customers .kb-search-jumbotron {
  margin-bottom: 24px;
  border: 1px solid rgba(91, 63, 214, 0.14);
  border-radius: 30px;
  background:
    radial-gradient(680px 260px at 0% 0%, rgba(108, 76, 241, 0.14), transparent 58%),
    radial-gradient(520px 220px at 100% 0%, rgba(14, 165, 233, 0.1), transparent 50%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.99) 0%, rgba(247, 249, 252, 0.96) 100%);
  box-shadow: var(--cx-client-shadow-lg);
}

body.customers .kb-search-jumbotron .container {
  width: min(1120px, calc(100% - 36px));
}

body.customers .kb-search-heading {
  color: #0f172a;
  font-size: clamp(28px, 3.2vw, 42px);
  font-weight: 800;
  letter-spacing: -0.03em;
}

body.customers .kb-search-input {
  min-height: 54px;
  border-radius: 18px 0 0 18px;
}

body.customers .kb-search-button {
  min-width: 128px;
  border-radius: 0 18px 18px 0;
}

body.customers .kb-search-icon {
  color: #94a3b8;
}

body.customers .articles_list li {
  padding: 18px 0;
}

body.customers .room-items {
  height: 100%;
  border: 1px solid var(--cx-client-border);
  border-radius: 24px;
  background: #ffffff;
  box-shadow: var(--cx-client-shadow-sm);
  overflow: hidden;
}

body.customers .room-img {
  position: relative;
  height: 240px;
  background: linear-gradient(180deg, rgba(226, 232, 240, 0.8) 0%, rgba(248, 250, 252, 1) 100%);
  overflow: hidden;
}

body.customers .room-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.24s ease;
}

body.customers .room-items:hover .room-img img {
  transform: scale(1.03);
}

body.customers .property-button {
  position: absolute;
  top: 16px;
  left: 16px;
  z-index: 2;
}

body.customers .property-button .btn {
  min-height: 32px;
  padding: 6px 12px;
  border: 0;
  background: rgba(15, 23, 42, 0.76);
  color: #ffffff;
  box-shadow: 0 12px 24px rgba(15, 23, 42, 0.18);
}

body.customers .room-text {
  padding: 22px;
}

body.customers .room-title h5 {
  margin: 0 0 10px;
  color: #0f172a;
  font-size: 18px;
  font-weight: 800;
  line-height: 1.3;
}

body.customers .room-title a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-right: 12px;
  color: #64748b;
  font-size: 13px;
  font-weight: 600;
}

body.customers .room-features {
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid var(--cx-client-line);
}

body.customers .room-info p {
  margin-bottom: 6px;
  color: #94a3b8;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

body.customers .room-info span {
  color: #0f172a;
  font-size: 15px;
  font-weight: 800;
}

body.customers .room-price {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 14px;
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid var(--cx-client-line);
}

body.customers .room-price p {
  margin: 0;
  color: #64748b;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

body.customers .room-price span {
  color: #4f3df0;
  font-size: 22px;
  font-weight: 800;
  line-height: 1.1;
}

body.customers .map-content,
body.customers .listing_map,
body.customers #map_area {
  min-height: 460px;
  border: 1px solid var(--cx-client-border);
  border-radius: 24px;
  box-shadow: var(--cx-client-shadow-sm);
  overflow: hidden;
}

body.customers .accordion .card {
  margin-bottom: 14px;
}

body.customers .accordion .card-header {
  padding: 18px 22px;
}

body.customers .accordion .card-header h4 {
  color: #0f172a;
  font-size: 18px;
  font-weight: 800;
}

body.customers .accordion .card-body {
  padding: 22px 24px;
}

body.customers .boxed-check-label {
  width: 100%;
  min-height: 92px;
  border: 1px solid var(--cx-client-border);
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
  transition: border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

body.customers .boxed-check-input:checked + .boxed-check-label {
  border-color: #d7ceff;
  background: #f5f3ff;
  box-shadow: 0 16px 34px rgba(91, 63, 214, 0.12);
}

body.customers .repair-card-panel,
body.customers .device-card-panel {
  border-color: var(--cx-client-border);
  border-radius: 24px;
  background: #ffffff;
  box-shadow: var(--cx-client-shadow-sm);
  overflow: hidden;
}

body.customers .repair-card-header,
body.customers .device-image-container {
  border-color: var(--cx-client-line);
  background: linear-gradient(180deg, rgba(248, 250, 252, 0.95) 0%, rgba(255, 255, 255, 1) 100%);
}

body.customers .status-badge,
body.customers .device-status-indicator {
  box-shadow: 0 12px 22px rgba(15, 23, 42, 0.12);
}

body.customers .newsfeed_post {
  border: 1px solid var(--cx-client-border);
  border-radius: 24px;
  background: #ffffff;
  box-shadow: var(--cx-client-shadow-sm);
}

body.customers .newsfeed_post .panel-body,
body.customers .newsfeed_post .panel-footer {
  padding: 22px 24px;
}

body.customers .cx-client-mention-page {
  display: flex;
  flex-direction: column;
  gap: 22px;
}

body.customers .cx-client-mention-page .cx-tickets-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(320px, 0.95fr);
  gap: 24px;
  padding: 32px;
  border: 1px solid rgba(59, 130, 246, 0.12);
  border-radius: 28px;
  background:
    radial-gradient(520px 240px at 0% 0%, rgba(125, 211, 252, 0.22), transparent 60%),
    radial-gradient(460px 220px at 100% 0%, rgba(191, 219, 254, 0.18), transparent 56%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(249, 251, 255, 0.96) 100%);
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.06);
}

body.customers .cx-client-mention-page .cx-tickets-copy {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

body.customers .cx-client-mention-page .cx-tickets-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  min-height: 34px;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.9);
  color: #2563eb;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.06);
}

body.customers .cx-client-mention-page .cx-tickets-title {
  margin: 0;
  color: #0f172a;
  font-size: clamp(30px, 3vw, 40px);
  line-height: 1.05;
  font-weight: 800;
  letter-spacing: -0.04em;
}

body.customers .cx-client-mention-page .cx-tickets-subtitle {
  max-width: 720px;
  margin: 0;
  color: #64748b;
  font-size: 15px;
  line-height: 1.75;
}

body.customers .cx-client-mention-page .cx-tickets-hero-side {
  display: flex;
  flex-direction: column;
  gap: 18px;
  align-items: stretch;
}

body.customers .cx-client-mention-page .cx-tickets-actions {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  flex-wrap: wrap;
}

body.customers .cx-client-mention-page .cx-tickets-actions .btn {
  min-height: 44px;
  border-radius: 14px;
  font-weight: 700;
  box-shadow: none;
}

body.customers .cx-client-mention-page .cx-tickets-hero-summary {
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: flex-end;
}

body.customers .cx-client-mention-page .cx-tickets-hero-summary-label {
  color: #64748b;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

body.customers .cx-client-mention-page .crmexa-admin-summary-pills {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  width: 100%;
}

body.customers .cx-client-mention-page .crmexa-admin-summary-pill {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-height: 84px;
  padding: 16px 18px;
  border: 1px solid #dbe5f1;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.95);
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
}

body.customers .cx-client-mention-page .crmexa-admin-summary-pill strong {
  color: #0f172a;
  font-size: 18px;
  line-height: 1.2;
  font-weight: 800;
}

body.customers .cx-client-mention-page .crmexa-admin-summary-pill span {
  color: #334155;
  font-size: 13px;
  line-height: 1.45;
  font-weight: 700;
}

body.customers .cx-client-mention-page .cx-tickets-card {
  overflow: hidden;
  border: 1px solid var(--cx-client-border);
  border-radius: 26px;
  background: #ffffff;
  box-shadow: 0 18px 42px rgba(15, 23, 42, 0.06);
}

body.customers .cx-client-mention-page .cx-tickets-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 24px;
  border-bottom: 1px solid var(--cx-client-line);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(248, 250, 252, 0.92) 100%);
}

body.customers .cx-client-mention-page .cx-tickets-card-title {
  margin: 0;
  color: #0f172a;
  font-size: 18px;
  line-height: 1.25;
  font-weight: 800;
}

body.customers .cx-client-mention-page .cx-tickets-card-note {
  margin: 8px 0 0;
  color: #64748b;
  font-size: 13px;
  line-height: 1.7;
}

body.customers .cx-client-mention-page .cx-tickets-card-body {
  padding: 24px;
}

body.customers .cx-client-mention-composer-user a {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #4f46e5 !important;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none !important;
}

body.customers .cx-client-mention-composer-user .client-profile-image-small {
  width: 40px;
  height: 40px;
}

body.customers .cx-client-mention-page #inputor_post,
body.customers .cx-client-mention-page .comment-input .inputor,
body.customers .cx-client-mention-page .new_comment {
  border: 1px solid #d7e3f0;
  border-radius: 18px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
  color: #0f172a;
  font-size: 15px;
  line-height: 1.7;
  font-weight: 500;
}

body.customers .cx-client-mention-page #inputor_post {
  min-height: 150px;
  padding: 18px 20px;
}

body.customers .cx-client-mention-page .comment-input .inputor,
body.customers .cx-client-mention-page .new_comment {
  min-height: 48px;
  padding: 12px 14px;
}

body.customers .cx-client-mention-page #inputor_post:empty:before {
  color: #94a3b8;
}

body.customers .cx-client-mention-page #inputor_post *,
body.customers .cx-client-mention-page .comment-input .inputor *,
body.customers .cx-client-mention-page .new_comment * {
  font-size: inherit !important;
  line-height: inherit !important;
  font-weight: inherit !important;
}

body.customers .cx-client-mention-page .crmexa-mention-composer-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 16px;
}

body.customers .cx-client-mention-page .crmexa-mention-helper {
  margin: 0;
  color: #64748b;
  font-size: 13px;
  line-height: 1.7;
}

body.customers .cx-client-mention-page .crmexa-mention-composer-actions .btn {
  min-height: 46px;
  min-width: 128px;
  border-radius: 14px;
  font-weight: 700;
}

body.customers .cx-client-mention-page .crmexa-mention-feed {
  display: grid;
  gap: 16px;
}

body.customers .cx-client-mention-page .crmexa-mention-feed .panel_s.newsfeed_post_cus {
  margin: 0;
  overflow: hidden;
  border: 1px solid #dbe5f1;
  border-radius: 22px;
  box-shadow: 0 14px 28px rgba(15, 23, 42, 0.04);
}

body.customers .cx-client-mention-page .crmexa-mention-feed .panel-body.post-content,
body.customers .cx-client-mention-page #show_post_detail .panel-body.post-content {
  padding: 20px;
}

body.customers .cx-client-mention-page .crmexa-mention-feed .panel-footer.user-comment,
body.customers .cx-client-mention-page #show_post_detail .panel-footer.user-comment {
  padding: 18px 20px 20px !important;
  border-top: 1px solid #e7eef6 !important;
  background: linear-gradient(180deg, #fcfdff 0%, #f8fbff 100%) !important;
}

body.customers .cx-client-mention-page .crmexa-mention-feed .media,
body.customers .cx-client-mention-page #show_post_detail .media {
  display: flex;
  gap: 12px;
  align-items: flex-start;
}

body.customers .cx-client-mention-page .crmexa-mention-feed .media-left,
body.customers .cx-client-mention-page #show_post_detail .media-left {
  padding-right: 0;
}

body.customers .cx-client-mention-page .newsfeed_post .post-content,
body.customers .cx-client-mention-page .comment-content {
  color: #334155;
  font-size: 14px;
  line-height: 1.7;
}

body.customers .cx-client-mention-page .newsfeed_post h5,
body.customers .cx-client-mention-page .newsfeed_post .media-heading,
body.customers .cx-client-mention-page .newsfeed_post .media-heading a {
  margin: 0;
  color: #0f172a;
  font-size: 14px;
  line-height: 1.4;
  font-weight: 700;
}

body.customers .cx-client-mention-page .newsfeed_post small,
body.customers .cx-client-mention-page .newsfeed_post .text-muted {
  font-size: 12px;
}

body.customers .cx-client-mention-page .post_comments_wrapper {
  padding: 0 20px 4px;
  background: #fbfdff;
}

body.customers .cx-client-mention-page .post-comment {
  background: transparent;
}

body.customers .cx-client-mention-page .dropdown_style,
body.customers .cx-client-mention-page #show_post_detail .dropdown_style {
  top: 0;
  left: 0;
  margin-top: -6px;
}

body.customers .cx-client-mention-page .add_comment_style {
  margin-top: 8px;
  margin-right: 0;
}

body.customers .cx-client-mention-page .clearfix {
  display: block;
}

body.customers .cx-client-mention-page #show_post_detail .modal-dialog {
  width: min(960px, calc(100vw - 32px));
  margin: 30px auto;
}

body.customers .cx-client-mention-page #show_post_detail .modal-content {
  border: 1px solid #dbe5f1;
  border-radius: 24px;
  box-shadow: 0 24px 60px rgba(15, 23, 42, 0.18);
  overflow: hidden;
}

body.customers .cx-client-mention-page #show_post_detail .close {
  position: absolute;
  top: 18px;
  right: 20px;
  z-index: 3;
  opacity: 1;
}

body.customers #inputor_post,
body.customers .inputor,
body.customers .new_comment {
  min-height: 54px;
  padding: 14px 16px;
  border: 1px solid #d9e2ef;
  border-radius: 18px;
  background: #f8fafc;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75);
}

body.customers #inputor_post:empty:before,
body.customers .inputor[data-placeholder]:empty:before {
  content: attr(data-placeholder);
  color: #94a3b8;
}

body.customers .post-comment,
body.customers .panel-footer.user-comment {
  border-top: 1px solid var(--cx-client-line);
  background: transparent;
}

body.customers .comment_single_style {
  padding: 14px 0;
  border-bottom: 1px solid var(--cx-client-line);
}

body.customers .nav-tabs--vertical.nav {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 18px;
  border: 1px solid var(--cx-client-border);
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: var(--cx-client-shadow-sm);
}

body.customers .nav-tabs--vertical.nav li {
  margin: 0;
}

body.customers .nav-tabs--vertical.nav li.head {
  padding-bottom: 14px;
  border-bottom: 1px solid var(--cx-client-line);
}

body.customers .nav-tabs--vertical.nav li.head h5 {
  margin: 0 0 8px;
  color: #0f172a;
  font-size: 16px;
  font-weight: 800;
}

body.customers .nav-tabs--vertical.nav .view_all {
  color: #4f3df0;
  font-size: 12px;
  font-weight: 700;
}

body.customers .nav-tabs--vertical.nav .nav-link {
  display: block;
  padding: 11px 14px;
  border: 1px solid transparent;
  border-radius: 14px;
  background: transparent;
  color: #475569;
  font-weight: 700;
}

body.customers .nav-tabs--vertical.nav .nav-item.active .nav-link,
body.customers .nav-tabs--vertical.nav .nav-link:hover {
  border-color: #d7ceff;
  background: #f5f3ff;
  color: #4f3df0;
}

body.customers .product-cell {
  height: 100%;
  border: 1px solid var(--cx-client-border);
  border-radius: 24px;
  background: #ffffff;
  box-shadow: var(--cx-client-shadow-sm);
  overflow: hidden;
}

body.customers .product-image {
  position: relative;
  aspect-ratio: 1 / 1;
  background: linear-gradient(180deg, rgba(226, 232, 240, 0.85) 0%, rgba(248, 250, 252, 1) 100%);
  overflow: hidden;
}

body.customers .product-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

body.customers .product-content {
  padding: 18px 20px 0;
}

body.customers .product-content .title a {
  color: #0f172a;
  font-size: 16px;
  font-weight: 800;
  line-height: 1.4;
}

body.customers .price_w {
  margin-top: 12px;
}

body.customers .price_w .price {
  color: #4f3df0 !important;
  font-size: 18px;
  font-weight: 800;
}

body.customers .price_w .sub {
  display: block;
  opacity: 0.55;
  text-decoration: line-through;
  font-size: 13px;
}

body.customers .add-cart {
  display: grid;
  gap: 10px;
  padding: 18px 20px 20px;
}

body.customers .tag-item {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 2;
  margin: 0;
  padding: 0;
  list-style: none;
}

body.customers .tag-item .primary {
  border-radius: 999px;
  background: linear-gradient(135deg, #ef4444 0%, #ec4899 100%);
  box-shadow: 0 12px 24px rgba(239, 68, 68, 0.2);
}

body.customers .invoice.accounting-template .product.pic {
  width: 72px;
  height: 72px;
  margin-right: 14px;
  border-radius: 18px;
  object-fit: cover;
}

body.customers .invoice-items-table tbody td:first-child a {
  display: flex;
  align-items: center;
  color: #0f172a;
  font-weight: 700;
}

body.customers .old-price {
  text-decoration: line-through;
  opacity: 0.55;
}

body.customers .header-list {
  margin-bottom: 16px;
  padding: 12px 16px;
  border: 1px solid var(--cx-client-border);
  border-radius: 18px;
  background: #f8fafc;
}

body.customers .header-list ul {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

body.customers .header-list li {
  color: #64748b;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

body.customers .badge-portal {
  margin-left: 8px;
  padding: 5px 8px;
  border-radius: 999px;
  background: #fef3c7;
  color: #92400e;
}

body.customers #tree {
  padding: 18px;
  border: 1px solid var(--cx-client-border);
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: var(--cx-client-shadow-sm);
}

body.customers .file-form-group input[type="file"] {
  height: 120px;
}

body.customers .file-form-group input[type="file"]::before {
  border: 1px dashed #cbd5e1;
  border-radius: 18px;
  background:
    radial-gradient(520px 220px at 0% 0%, rgba(108, 76, 241, 0.09), transparent 56%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(248, 250, 252, 0.94) 100%);
  color: #64748b;
  line-height: 106px;
  font-size: 16px;
  font-weight: 700;
}

body.customers .btn-tool,
body.customers .btn-tool .btn,
body.customers .default-tool,
body.customers .bulk-action-btn {
  border-radius: 14px !important;
}

body.customers .btn-tool .btn {
  border-style: solid;
  border-color: var(--cx-client-border);
}

body.customers .border-right {
  border-right: 1px solid var(--cx-client-line);
}

body.customers .selectedFiles .list-group-item,
body.customers .pdf_attachment {
  border-radius: 16px;
}

body.customers .summary-card {
  padding: 22px;
}

body.customers .summary-card table {
  margin-bottom: 0;
}

body.customers .saas-market-item-card .card {
  height: 100%;
}

body.customers .saas-market-item-card .card-body {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 22px;
}

body.customers .saas-market-item-card img {
  width: 100%;
  aspect-ratio: 16 / 10;
  border-radius: 18px;
  object-fit: cover;
}

body.customers .saas-market-item-card .card-title {
  color: #0f172a;
  font-size: 18px;
  font-weight: 800;
}

body.customers .saas-market-item-card .description {
  min-height: 64px;
  color: #64748b;
  line-height: 1.65;
}

body.customers .steps {
  gap: 12px;
}

body.customers .step {
  min-width: 124px;
  flex: 1 1 0;
  text-align: center;
  opacity: 0.56;
}

body.customers .step.completed {
  opacity: 1;
}

body.customers .step-icon-wrap {
  display: flex;
  justify-content: center;
  margin-bottom: 10px;
}

body.customers .step-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 54px;
  height: 54px;
  border-radius: 18px;
  background: #eef2ff;
  color: #4f3df0;
  box-shadow: 0 12px 24px rgba(91, 63, 214, 0.1);
}

body.customers .step.completed .step-icon {
  background: linear-gradient(135deg, #6c4cf1 0%, #4f3df0 100%);
  color: #ffffff;
}

body.customers .step-title {
  color: #475569;
  font-size: 13px;
  font-weight: 800;
}

body.customers .activity-feed {
  padding: 18px 20px;
  border: 1px solid var(--cx-client-border);
  border-radius: 24px;
  background: #ffffff;
  box-shadow: var(--cx-client-shadow-sm);
}

body.customers .feed-item {
  position: relative;
  padding-left: 24px;
  margin-bottom: 18px;
}

body.customers .feed-item:before {
  content: "";
  position: absolute;
  top: 7px;
  left: 0;
  bottom: -18px;
  width: 1px;
  background: #dbe3ef;
}

body.customers .feed-item:after {
  content: "";
  position: absolute;
  top: 4px;
  left: -5px;
  width: 12px;
  height: 12px;
  border: 3px solid #eef2ff;
  border-radius: 999px;
  background: #6c4cf1;
}

body.customers .feed-item:last-child {
  margin-bottom: 0;
}

body.customers .feed-item:last-child:before {
  display: none;
}

body.customers .modal-content {
  border: 1px solid var(--cx-client-border);
  border-radius: 28px;
  box-shadow: 0 30px 70px rgba(15, 23, 42, 0.16);
}

body.customers .modal-header .close {
  margin-top: 0;
  color: #64748b;
  opacity: 0.9;
}

@media (max-width: 1199px) {
  body.customers .nav-tabs--vertical.nav {
    position: static;
  }

  body.customers .header-list ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 991px) {
  body.customers #content .panel_s > .panel-body,
  body.customers #content .panel > .panel-body,
  body.customers #content .card > .card-body,
  body.customers #content .card > .card-block,
  body.customers #content .summary-card {
    padding: 20px;
  }

  body.customers #content .panel-footer,
  body.customers #content .modal-footer,
  body.customers #content .panel-heading,
  body.customers #content .card-header,
  body.customers #content .modal-header {
    padding-left: 20px;
    padding-right: 20px;
  }

  body.customers .steps {
    flex-wrap: nowrap !important;
    overflow-x: auto;
    padding-bottom: 6px;
  }

  body.customers .step {
    min-width: 138px;
  }

  body.customers .activity-feed {
    margin-top: 18px;
  }

  body.customers .room-img {
    height: 220px;
  }
}

@media (max-width: 767px) {
  body.customers .section-heading,
  body.customers .section-text,
  body.customers .wallet-greetings,
  body.customers .tickets-summary-heading,
  body.customers .contracts-summary-heading,
  body.customers .kb-search-results h2 {
    font-size: 26px;
  }

  body.customers .section-heading span.tw-text-sm,
  body.customers .section-heading .tw-text-sm {
    display: block;
    margin-top: 8px;
    margin-left: 0;
  }

  body.customers #content .panel_s > .panel-body,
  body.customers #content .panel > .panel-body,
  body.customers #content .card > .card-body,
  body.customers #content .card > .card-block,
  body.customers #content .summary-card {
    padding: 18px;
  }

  body.customers #content .panel-footer,
  body.customers #content .modal-footer,
  body.customers #content .panel-heading,
  body.customers #content .card-header,
  body.customers #content .modal-header {
    padding-left: 18px;
    padding-right: 18px;
  }

  body.customers .table > thead > tr > th,
  body.customers .table > tbody > tr > td,
  body.customers .table > tfoot > tr > td {
    padding: 12px 14px;
  }

  body.customers .header-list ul {
    grid-template-columns: 1fr;
  }

  body.customers .room-text,
  body.customers .product-content,
  body.customers .add-cart {
    padding-left: 16px;
    padding-right: 16px;
  }

  body.customers .kb-search-button {
    min-width: 104px;
  }

  body.customers .cx-client-mention-page .cx-tickets-hero {
    grid-template-columns: 1fr;
    padding: 24px;
  }

  body.customers .cx-client-mention-page .cx-tickets-hero-side,
  body.customers .cx-client-mention-page .cx-tickets-hero-summary {
    align-items: stretch;
  }

  body.customers .cx-client-mention-page .cx-tickets-card-head,
  body.customers .cx-client-mention-page .cx-tickets-card-body {
    padding: 20px;
  }

  body.customers .cx-client-mention-page .crmexa-mention-composer-actions {
    align-items: stretch;
  }

  body.customers .cx-client-mention-page .crmexa-mention-composer-actions .btn {
    width: 100%;
    justify-content: center;
  }
}

@media (max-width: 767px) {
  body.customers .cx-client-mention-page .cx-tickets-title {
    font-size: 28px;
  }

  body.customers .cx-client-mention-page .cx-tickets-actions,
  body.customers .cx-client-mention-page .crmexa-admin-summary-pills {
    grid-template-columns: 1fr;
    flex-direction: column;
  }

  body.customers .cx-client-mention-page .cx-tickets-actions .btn {
    width: 100%;
  }

  body.customers .cx-client-mention-page .cx-tickets-card-head,
  body.customers .cx-client-mention-page .cx-tickets-card-body {
    padding: 18px;
  }
}

/* CRMEXA Client Portal internal pages refresh.
   Scope intentionally starts at #content so sidebar/topbar/menu UI stays unchanged. */
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content {
  --cx-portal-page-bg: #ffffff;
  --cx-portal-surface: rgba(255, 255, 255, 0.94);
  --cx-portal-surface-solid: #ffffff;
  --cx-portal-surface-soft: #f8fbff;
  --cx-portal-border: #d9e2ef;
  --cx-portal-border-soft: #e6edf6;
  --cx-portal-text: #0f172a;
  --cx-portal-muted: #64748b;
  --cx-portal-primary: #5a47f2;
  --cx-portal-primary-strong: #4f46e5;
  --cx-portal-info: #0ea5e9;
  --cx-portal-success: #10b981;
  --cx-portal-warning: #f59e0b;
  --cx-portal-danger: #ef4444;
  --cx-portal-radius: 16px;
  --cx-portal-radius-lg: 22px;
  --cx-portal-shadow: 0 18px 42px rgba(15, 23, 42, 0.07);
  --cx-portal-shadow-soft: 0 10px 26px rgba(15, 23, 42, 0.05);
  position: relative;
  color: var(--cx-portal-text);
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
}

body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content > .container {
  position: relative;
  z-index: 1;
}

body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content h1,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content h2,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content h3,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content h4,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content h5 {
  color: var(--cx-portal-text);
  font-weight: 800;
  letter-spacing: 0;
}

body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .section-heading,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .section-text,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .wallet-greetings,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .tickets-summary-heading,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .contracts-summary-heading,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .kb-search-results h2 {
  color: var(--cx-portal-text);
}

body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .text-muted,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .subtitle,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content small {
  color: var(--cx-portal-muted) !important;
}

body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content a:not(.btn):not(.label):not(.badge) {
  color: var(--cx-portal-primary-strong);
}

body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content a:not(.btn):not(.label):not(.badge):hover,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content a:not(.btn):not(.label):not(.badge):focus {
  color: #3727b5;
}

body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .panel_s,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .panel,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .card,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .well,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .summary-card,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .cx-client-section,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .cx-client-banner-slot,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .saas-market-item-card .card,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .activity-feed,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .invoice_html,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .proposal-html,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .estimate-html,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .announcement,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .kb-article,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .project-info,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .ticket-info,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .product-cell,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content #tree,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .nav-tabs--vertical.nav {
  border: 1px solid var(--cx-portal-border);
  border-radius: var(--cx-portal-radius-lg);
  background:
    radial-gradient(420px 180px at 100% 0%, rgba(90, 71, 242, 0.045), transparent 58%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(250, 252, 255, 0.95) 100%);
  box-shadow: var(--cx-portal-shadow);
  overflow: hidden;
}

body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .panel_s > .panel-body,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .panel > .panel-body,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .card > .card-body,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .card > .card-block,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .well,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .summary-card {
  padding: 24px;
}

body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .panel_s > .panel-heading,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .panel > .panel-heading,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .card-header,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .modal-header {
  padding: 18px 24px;
  border-bottom: 1px solid var(--cx-portal-border-soft);
  border-radius: var(--cx-portal-radius-lg) var(--cx-portal-radius-lg) 0 0;
}

body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .panel-footer,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .card-footer,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .modal-footer {
  padding: 16px 24px;
  border-top: 1px solid var(--cx-portal-border-soft);
  border-radius: 0 0 var(--cx-portal-radius-lg) var(--cx-portal-radius-lg);
  background: rgba(248, 250, 255, 0.92);
}

body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .modal-content {
  border: 1px solid var(--cx-portal-border);
  border-radius: 24px;
  background: var(--cx-portal-surface-solid);
  box-shadow: 0 30px 70px rgba(15, 23, 42, 0.18);
  overflow: hidden;
}

body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .cx-client-hero,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .cx-tickets-hero {
  border: 1px solid rgba(90, 71, 242, 0.14);
  border-radius: 26px;
  background:
    radial-gradient(620px 300px at 0% 0%, rgba(90, 71, 242, 0.14), transparent 58%),
    radial-gradient(540px 260px at 100% 0%, rgba(14, 165, 233, 0.12), transparent 52%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(250, 252, 255, 0.96) 100%);
  box-shadow: var(--cx-portal-shadow);
}

body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .cx-client-summary-card,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .crmexa-admin-summary-pill,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .cx-tickets-card,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .repair-card-panel,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .device-card-panel,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .newsfeed_post {
  border: 1px solid var(--cx-portal-border);
  border-radius: 20px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(249, 251, 255, 0.96) 100%);
  box-shadow: var(--cx-portal-shadow-soft);
}

body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .cx-client-summary-card:hover,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .product-cell:hover,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .saas-market-item-card .card:hover {
  border-color: rgba(90, 71, 242, 0.24);
  box-shadow: 0 24px 46px rgba(15, 23, 42, 0.1);
  transform: translateY(-1px);
}

body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .form-control,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .bootstrap-select > .dropdown-toggle,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .select2-selection,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .input-group-addon,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content textarea,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content input[type="text"],
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content input[type="email"],
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content input[type="number"],
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content input[type="password"],
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content input[type="search"],
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content input[type="url"],
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content select {
  border-color: #cbd8e8;
  border-radius: 14px;
  background-color: rgba(255, 255, 255, 0.98);
  color: var(--cx-portal-text);
  box-shadow: none;
}

body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .form-control:focus,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .bootstrap-select > .dropdown-toggle:focus,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .select2-selection:focus,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content textarea:focus,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content input:focus,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content select:focus {
  border-color: rgba(90, 71, 242, 0.46);
  box-shadow: 0 0 0 4px rgba(90, 71, 242, 0.12);
}

body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content label {
  color: #334155;
  font-size: 13px;
  font-weight: 800;
}

body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .btn {
  border-radius: 14px;
  font-weight: 800;
  letter-spacing: 0;
  box-shadow: none;
}

body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .btn-primary,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .btn-success,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .kb-search-button {
  border-color: transparent;
  color: #ffffff !important;
  background: linear-gradient(135deg, var(--cx-portal-primary) 0%, var(--cx-portal-info) 100%);
  box-shadow: 0 12px 24px rgba(79, 70, 229, 0.2);
}

body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .btn-primary:hover,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .btn-primary:focus,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .btn-success:hover,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .btn-success:focus,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .kb-search-button:hover,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .kb-search-button:focus {
  border-color: transparent;
  background: linear-gradient(135deg, #4f46e5 0%, #0284c7 100%);
  box-shadow: 0 16px 28px rgba(79, 70, 229, 0.24);
}

body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .btn-default {
  border-color: #d5dfed;
  background: #ffffff;
  color: #334155;
}

body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .btn-danger {
  border-color: transparent;
  background: linear-gradient(135deg, #ef4444 0%, #f97316 100%);
  color: #ffffff !important;
}

body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .btn-warning {
  border-color: transparent;
  background: linear-gradient(135deg, #f59e0b 0%, #f97316 100%);
  color: #ffffff !important;
}

body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .btn-info {
  border-color: transparent;
  background: linear-gradient(135deg, #0ea5e9 0%, #2563eb 100%);
  color: #ffffff !important;
}

body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .btn-icon,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .btn-tool .btn,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content ._delete.btn-icon,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .bulk-action-btn {
  border-radius: 999px !important;
}

body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .panel-heading i,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .card-header i,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .section-heading i,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content h1 i,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content h2 i,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content h3 i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  margin-right: 8px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--cx-portal-primary) 0%, var(--cx-portal-info) 100%);
  color: #ffffff;
  font-size: 14px;
  vertical-align: middle;
  box-shadow: 0 10px 20px rgba(79, 70, 229, 0.16);
}

body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .table-responsive {
  border: 1px solid var(--cx-portal-border);
  border-radius: 18px;
  background: #ffffff;
  box-shadow: var(--cx-portal-shadow-soft);
  overflow: auto;
}

body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .table {
  margin-bottom: 0;
  border-radius: 18px;
  background: #ffffff;
}

body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .table > thead > tr > th {
  border-bottom: 0;
  background: linear-gradient(180deg, #f8fbff 0%, #eef4ff 100%);
  color: #475569;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .table > tbody > tr > td,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .table > tfoot > tr > td {
  border-top-color: var(--cx-portal-border-soft);
  color: #334155;
  vertical-align: middle;
}

body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .table > tbody > tr:hover > td {
  background: rgba(238, 242, 255, 0.58);
}

body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content div.dataTables_wrapper > .row:first-child {
  align-items: center;
  margin: 0 0 14px;
  padding: 12px;
  border: 1px solid var(--cx-portal-border);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.86);
  box-shadow: var(--cx-portal-shadow-soft);
}

body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content div.dataTables_wrapper div.dataTables_filter input,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content div.dataTables_wrapper div.dataTables_length select {
  border-radius: 999px;
}

body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .pagination > li > a,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .pagination > li > span {
  margin: 0 3px;
  border-color: var(--cx-portal-border);
  border-radius: 999px;
  color: #475569;
}

body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .pagination > .active > a,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .pagination > .active > span {
  border-color: transparent;
  background: linear-gradient(135deg, var(--cx-portal-primary) 0%, var(--cx-portal-info) 100%);
  color: #ffffff;
}

body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .nav-tabs:not(.submenu) {
  border-bottom-color: var(--cx-portal-border);
}

body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .nav-tabs:not(.submenu) > li > a {
  border-radius: 14px 14px 0 0;
  color: #64748b;
  font-weight: 800;
}

body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .nav-tabs:not(.submenu) > li.active > a,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .nav-tabs:not(.submenu) > li > a:hover,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .nav-tabs:not(.submenu) > li > a:focus {
  border-color: var(--cx-portal-border);
  background: #ffffff;
  color: var(--cx-portal-primary-strong);
}

body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .alert {
  border-radius: 16px;
  border-width: 1px;
  box-shadow: var(--cx-portal-shadow-soft);
}

body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .label,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .badge,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .status-badge,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .device-status-indicator,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .badge-portal {
  border-radius: 999px;
  font-weight: 800;
}

body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .dropdown-menu {
  border: 1px solid var(--cx-portal-border);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: var(--cx-portal-shadow);
  padding: 8px;
}

body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .dropdown-menu > li > a {
  border-radius: 10px;
  color: #334155;
  font-weight: 700;
}

body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .dropdown-menu > li > a:hover,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .dropdown-menu > li > a:focus {
  background: #eef2ff;
  color: var(--cx-portal-primary-strong);
}

body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content form.dropzone,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .file-form-group input[type="file"]::before,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .selectedFiles .list-group-item,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .pdf_attachment,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .task-attachment,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .project-file-image {
  border-color: var(--cx-portal-border);
  border-radius: 16px;
  background:
    radial-gradient(420px 180px at 0% 0%, rgba(90, 71, 242, 0.06), transparent 58%),
    #ffffff;
}

body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .progress {
  height: 10px;
  border-radius: 999px;
  background: #e7edf6;
  box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.05);
}

body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .progress-bar {
  border-radius: 999px;
  background: linear-gradient(90deg, var(--cx-portal-primary) 0%, var(--cx-portal-info) 100%);
}

body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .kan-ban-col .panel_s,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .kan-ban-col .panel,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .kan-ban-col .panel-body,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .tasks-phases ._task_wrapper {
  border-color: var(--cx-portal-border);
  border-radius: 16px;
  background: #ffffff;
  box-shadow: var(--cx-portal-shadow-soft);
}

body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .fc-event {
  border-radius: 12px !important;
  background: linear-gradient(135deg, var(--cx-portal-primary) 0%, var(--cx-portal-info) 100%) !important;
  box-shadow: 0 10px 20px rgba(79, 70, 229, 0.14);
}

body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .tc-content img,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .proposal-left img,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .room-img,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .product-image,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .saas-market-item-card img {
  border-radius: 16px;
}

body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .comment-content,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .post-comment,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .comment_single_style,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content #inputor_post,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .inputor,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .new_comment {
  border-color: var(--cx-portal-border);
  border-radius: 16px;
  background: var(--cx-portal-surface-soft);
}

@media (max-width: 991px) {
  body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .panel_s > .panel-body,
  body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .panel > .panel-body,
  body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .card > .card-body,
  body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .card > .card-block,
  body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .well,
  body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .summary-card {
    padding: 20px;
  }

  body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .panel_s > .panel-heading,
  body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .panel > .panel-heading,
  body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .card-header,
  body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .modal-header,
  body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .panel-footer,
  body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .card-footer,
  body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .modal-footer {
    padding-left: 20px;
    padding-right: 20px;
  }
}

@media (max-width: 767px) {
  body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content h1,
  body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content h2,
  body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content h3,
  body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .section-heading,
  body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .wallet-greetings,
  body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .tickets-summary-heading,
  body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .contracts-summary-heading {
    font-size: 24px;
    line-height: 1.18;
  }

  body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .panel_s > .panel-body,
  body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .panel > .panel-body,
  body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .card > .card-body,
  body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .card > .card-block,
  body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .well,
  body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .summary-card {
    padding: 18px;
  }

  body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content div.dataTables_wrapper > .row:first-child {
    display: block;
  }

  body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .table > thead > tr > th,
  body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .table > tbody > tr > td,
  body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .table > tfoot > tr > td {
    padding: 12px 14px;
  }
}

/* CRMEXA Client Portal internal page corrections. */
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content > .container {
  z-index: auto;
}

body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content p,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content li,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content td,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content input,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content textarea,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content select,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .form-control,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .text-muted,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .client-package-modal-copy {
  font-weight: 400 !important;
}

body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content h1,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content h2,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content h3,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content h4,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content h5,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content h6,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .section-heading,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .modal-title,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .client-package-modal-title {
  font-weight: 700 !important;
}

body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content label,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content strong,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content th,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .btn,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content button,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .dropdown-menu > li > a,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .badge,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .label,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .tw-font-semibold,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .cpr-field label,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .cpr-hero__kicker,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .cpr-kicker,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .cpr-service strong,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .cpr-service small,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .status-badge,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .device-status-indicator {
  font-weight: 600 !important;
}

body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content > .container > .row > .submenu.customer-top-submenu,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content > .container > .row > .submenu.customer-top-submenu + .clearfix {
  display: none !important;
}

/* Reference-style client sidebar */
body.cx-client-shell-active {
  --cx-shell-sidebar-width: 292px;
  --cx-client-ref-sidebar-gap: 12px;
  --cx-client-ref-sidebar-offset: calc(var(--cx-shell-sidebar-width) + (var(--cx-client-ref-sidebar-gap) * 2));
  --cx-client-ref-purple: #6c4cf1;
  --cx-client-ref-purple-deep: #4f35d6;
  --cx-client-ref-muted: #6d7890;
  --cx-client-ref-ink: #1f293f;
}

/* Reference accuracy pass for the client shell sidebar. */
body.cx-client-shell-active {
  --cx-shell-sidebar-width: 242px;
  --cx-client-ref-sidebar-gap: 12px;
  --cx-client-ref-sidebar-offset: calc(var(--cx-shell-sidebar-width) + (var(--cx-client-ref-sidebar-gap) * 2));
}

body.customers .cx-client-shell-sidebar {
  padding: 0;
  border-radius: 26px;
}

body.customers .cx-client-shell-sidebar::before {
  border-radius: 25px;
}

body.customers .cx-client-shell-brand {
  min-height: 70px;
  padding: 4px 6px 10px;
}

body.customers .cx-client-shell-brand .logo img {
  max-width: 178px;
  max-height: 50px;
}

body.customers .cx-client-shell-nav {
  padding: 0 14px 8px;
}

body.customers .cx-client-shell-nav ul {
  gap: 6px;
}

body.customers .cx-client-shell-nav li > a,
body.customers .cx-client-shell-nav li > button.cx-client-shell-group-toggle {
  min-height: 40px;
  padding: 6px 9px;
  gap: 11px;
  border-radius: 17px;
  font-size: 13.5px;
  line-height: 1.18;
}

body.customers .cx-client-shell-nav li > a .cx-client-shell-link-label,
body.customers .cx-client-shell-nav li > button.cx-client-shell-group-toggle .cx-client-shell-link-label {
  font-size: 13.5px;
  line-height: 1.18;
}

body.customers .cx-client-shell-nav li > a i,
body.customers .cx-client-shell-nav li > button.cx-client-shell-group-toggle i:not(.cx-client-shell-group-chevron) {
  flex-basis: 28px;
  width: 28px;
  min-width: 28px;
  height: 28px;
  border-radius: 11px;
  font-size: 14px;
}

body.customers .cx-client-shell-workspace {
  padding: 10px 14px 12px;
}

body.customers .cx-client-shell-workspace-card {
  min-height: 58px;
  padding: 8px 10px;
  border-radius: 17px;
}

body.customers .cx-client-shell-workspace-icon {
  width: 38px;
  height: 38px;
  border-radius: 14px;
}

body.customers .cx-client-shell-footer-tiles {
  gap: 7px;
  margin-top: 10px;
}

body.customers .cx-client-shell-footer-tile {
  min-height: 53px;
  border-radius: 15px;
}

body.customers .cx-client-shell-footer-tile span {
  font-size: 10.8px;
}

@media (max-width: 991px) {
  body.cx-client-shell-active {
    --cx-shell-sidebar-width: min(242px, calc(100vw - 24px));
    --cx-client-ref-sidebar-offset: calc(var(--cx-shell-sidebar-width) + (var(--cx-client-ref-sidebar-gap) * 2));
  }
}

body.cx-client-shell-active #wrapper {
  margin-left: var(--cx-client-ref-sidebar-offset);
}

body.cx-client-shell-active footer.footer {
  margin-left: var(--cx-client-ref-sidebar-offset);
  width: calc(100% - var(--cx-client-ref-sidebar-offset));
}

body.customers .cx-client-shell-sidebar {
  inset: var(--cx-client-ref-sidebar-gap) auto var(--cx-client-ref-sidebar-gap) var(--cx-client-ref-sidebar-gap);
  width: var(--cx-shell-sidebar-width);
  border: 1px solid rgba(255, 255, 255, 0.92);
  border-radius: 30px;
  background:
    radial-gradient(260px 420px at -28px 32px, rgba(141, 111, 255, 0.20), transparent 64%),
    radial-gradient(280px 460px at calc(100% + 72px) 82%, rgba(170, 226, 216, 0.24), transparent 66%),
    linear-gradient(155deg, rgba(255, 255, 255, 0.88) 0%, rgba(246, 248, 255, 0.78) 52%, rgba(240, 250, 255, 0.86) 100%);
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.82),
    0 18px 46px rgba(73, 65, 139, 0.16);
  backdrop-filter: blur(18px) saturate(1.08);
  overflow: hidden;
}

body.customers .cx-client-shell-sidebar::before {
  content: "";
  position: absolute;
  inset: 1px;
  pointer-events: none;
  border-radius: 29px;
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.72), rgba(255, 255, 255, 0.18));
  z-index: 0;
}

body.customers .cx-client-shell-sidebar > * {
  position: relative;
  z-index: 1;
}

body.customers .cx-client-shell-brand {
  justify-content: center;
  min-height: 84px;
  padding: 6px 10px 14px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.78);
}

body.customers .cx-client-shell-brand .logo img {
  max-width: 214px;
  max-height: 64px;
}

body.customers .cx-client-shell-brand > .cx-client-shell-menu-toggle {
  position: absolute;
  left: 12px;
  top: 12px;
}

body.customers .cx-client-shell-nav {
  padding: 4px 20px 10px;
  scrollbar-width: thin;
  scrollbar-color: rgba(142, 126, 206, 0.36) transparent;
}

body.customers .cx-client-shell-nav::-webkit-scrollbar {
  width: 5px;
}

body.customers .cx-client-shell-nav::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: rgba(142, 126, 206, 0.34);
}

body.customers .cx-client-shell-nav ul {
  gap: 8px;
}

body.customers .cx-client-shell-nav li > a,
body.customers .cx-client-shell-nav li > button.cx-client-shell-group-toggle {
  gap: 14px;
  min-height: 46px;
  padding: 8px 12px;
  border: 1px solid transparent;
  border-radius: 18px;
  background: transparent;
  color: var(--cx-client-ref-muted) !important;
  box-shadow: none;
  font-size: 15px;
  font-weight: 760;
  line-height: 1.2;
  letter-spacing: 0;
}

body.customers .cx-client-shell-nav li > a i,
body.customers .cx-client-shell-nav li > button.cx-client-shell-group-toggle i:not(.cx-client-shell-group-chevron) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 34px;
  width: 34px;
  min-width: 34px;
  height: 34px;
  margin: 0;
  border: 1px solid #dde5f5;
  border-radius: 13px;
  background: rgba(255, 255, 255, 0.68);
  color: #766bcb;
  box-shadow: 0 9px 22px rgba(87, 79, 150, 0.08), inset 0 0 0 1px rgba(255, 255, 255, 0.58);
  font-size: 16px;
  line-height: 1;
}

body.customers .cx-client-shell-nav li > a:hover,
body.customers .cx-client-shell-nav li > a:focus,
body.customers .cx-client-shell-nav li > button.cx-client-shell-group-toggle:hover,
body.customers .cx-client-shell-nav li > button.cx-client-shell-group-toggle:focus {
  border-color: rgba(255, 255, 255, 0.82);
  background: rgba(255, 255, 255, 0.58);
  color: var(--cx-client-ref-purple-deep) !important;
  box-shadow: 0 14px 28px rgba(83, 70, 167, 0.10), inset 0 0 0 1px rgba(255, 255, 255, 0.54);
}

body.customers .cx-client-shell-nav li.active > a,
body.customers .cx-client-shell-nav li.open > a.dropdown-toggle,
body.customers .cx-client-shell-nav li.active > button.cx-client-shell-group-toggle,
body.customers .cx-client-shell-nav li.open > button.cx-client-shell-group-toggle {
  border-color: rgba(133, 91, 255, 0.46);
  background: linear-gradient(135deg, #6447ed 0%, #8f5cff 100%);
  color: #ffffff !important;
  box-shadow: 0 18px 34px rgba(100, 71, 237, 0.32), inset 0 0 0 1px rgba(255, 255, 255, 0.28);
}

body.customers .cx-client-shell-nav li.active > a i,
body.customers .cx-client-shell-nav li.open > a.dropdown-toggle i,
body.customers .cx-client-shell-nav li.active > button.cx-client-shell-group-toggle i,
body.customers .cx-client-shell-nav li.open > button.cx-client-shell-group-toggle i {
  border-color: rgba(255, 255, 255, 0.30);
  background: rgba(255, 255, 255, 0.18);
  color: #ffffff;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.18);
}

body.customers .cx-client-shell-nav .cx-client-shell-group-chevron {
  width: 18px;
  min-width: 18px;
  color: #9aa5c2;
  font-size: 16px;
}

body.customers .cx-client-shell-nav li.active > button.cx-client-shell-group-toggle .cx-client-shell-group-chevron,
body.customers .cx-client-shell-nav li.open > button.cx-client-shell-group-toggle .cx-client-shell-group-chevron {
  color: #ffffff;
}

body.customers .cx-client-shell-nav .cx-client-shell-submenu,
body.customers .cx-client-shell-nav .dropdown-menu.client-ul,
body.customers .cx-client-shell-nav .cx-client-shell-native-submenu {
  margin: 6px 0 8px 20px;
  padding: 0 0 0 18px;
  border-left: 1px solid rgba(157, 146, 211, 0.26);
}

body.customers .cx-client-shell-nav .cx-client-shell-submenu li > a,
body.customers .cx-client-shell-nav .dropdown-menu.client-ul li > a,
body.customers .cx-client-shell-nav .cx-client-shell-native-submenu li > a {
  min-height: 36px;
  padding: 6px 9px;
  border-radius: 13px;
  font-size: 13px;
  font-weight: 690;
}

body.customers .cx-client-shell-nav .cx-client-shell-submenu li > a i,
body.customers .cx-client-shell-nav .dropdown-menu.client-ul li > a i,
body.customers .cx-client-shell-nav .cx-client-shell-native-submenu li > a i {
  flex-basis: 26px;
  width: 26px;
  min-width: 26px;
  height: 26px;
  border-radius: 10px;
  font-size: 13px;
}

body.customers .cx-client-shell-workspace {
  padding: 12px 18px 14px;
  border-top: 1px solid rgba(255, 255, 255, 0.76);
}

body.customers .cx-client-shell-workspace-card {
  grid-template-columns: 42px minmax(0, 1fr) 18px;
  min-height: 62px;
  gap: 10px;
  padding: 9px 11px;
  border: 1px solid rgba(255, 255, 255, 0.78);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.50);
  color: var(--cx-client-ref-ink);
  box-shadow: inset 0 0 0 1px rgba(218, 225, 247, 0.52);
}

body.customers .cx-client-shell-workspace-icon {
  width: 42px;
  height: 42px;
  border-radius: 15px;
  background: linear-gradient(135deg, #5a46e8 0%, #7862ff 100%);
  color: #ffffff;
  box-shadow: 0 12px 24px rgba(91, 63, 214, 0.24);
}

body.customers .cx-client-shell-workspace-copy strong {
  color: var(--cx-client-ref-ink);
  font-size: 13px;
  font-weight: 850;
}

body.customers .cx-client-shell-workspace-copy small {
  color: #4e5870;
  font-size: 11px;
  font-weight: 730;
}

body.customers .cx-client-shell-footer-tiles {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-top: 12px;
}

body.customers .cx-client-shell-footer-tile {
  display: flex;
  min-width: 0;
  min-height: 58px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 7px 4px;
  border: 1px solid rgba(255, 255, 255, 0.78);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.46);
  color: var(--cx-client-ref-purple);
  box-shadow: inset 0 0 0 1px rgba(220, 226, 248, 0.58);
  text-align: center;
  text-decoration: none !important;
}

body.customers .cx-client-shell-footer-tile i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  color: currentColor;
  font-size: 19px;
  line-height: 1;
}

body.customers .cx-client-shell-footer-tile span {
  max-width: 100%;
  overflow: hidden;
  color: currentColor;
  font-size: 11.5px;
  font-weight: 820;
  line-height: 1.12;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.customers .cx-client-shell-footer-tile-partner {
  background: rgba(255, 250, 241, 0.56);
  border-color: rgba(245, 207, 151, 0.72);
}

body.customers .cx-client-shell-footer-tile-help {
  background: rgba(244, 247, 255, 0.62);
  border-color: rgba(206, 214, 255, 0.72);
}

body.customers .cx-client-shell-footer-tile-chat {
  background: rgba(238, 250, 246, 0.62);
  border-color: rgba(174, 222, 207, 0.72);
}

body.customers .cx-client-shell-footer-tile:hover,
body.customers .cx-client-shell-footer-tile:focus {
  color: #ffffff;
  background: linear-gradient(135deg, #6447ed 0%, #8f5cff 100%);
  border-color: rgba(133, 91, 255, 0.48);
  box-shadow: 0 14px 28px rgba(100, 71, 237, 0.26);
}

body.customers .cx-client-shell-topbar {
  left: var(--cx-client-ref-sidebar-offset);
}

html[dir="rtl"] body.cx-client-shell-active #wrapper {
  margin-left: 0;
  margin-right: var(--cx-client-ref-sidebar-offset);
}

html[dir="rtl"] body.cx-client-shell-active footer.footer {
  margin-left: 0;
  margin-right: var(--cx-client-ref-sidebar-offset);
}

html[dir="rtl"] body.customers .cx-client-shell-sidebar {
  left: auto;
  right: var(--cx-client-ref-sidebar-gap);
}

html[dir="rtl"] body.customers .cx-client-shell-brand > .cx-client-shell-menu-toggle {
  left: auto;
  right: 12px;
}

html[dir="rtl"] body.customers .cx-client-shell-nav .cx-client-shell-submenu,
html[dir="rtl"] body.customers .cx-client-shell-nav .dropdown-menu.client-ul,
html[dir="rtl"] body.customers .cx-client-shell-nav .cx-client-shell-native-submenu {
  margin-left: 0;
  margin-right: 20px;
  padding-left: 0;
  padding-right: 18px;
  border-left: 0;
  border-right: 1px solid rgba(157, 146, 211, 0.26);
}

html[dir="rtl"] body.customers .cx-client-shell-topbar {
  left: 0;
  right: var(--cx-client-ref-sidebar-offset);
}

@media (max-width: 991px) {
  body.cx-client-shell-active {
    --cx-shell-sidebar-width: min(292px, calc(100vw - 28px));
    --cx-client-ref-sidebar-offset: calc(var(--cx-shell-sidebar-width) + (var(--cx-client-ref-sidebar-gap) * 2));
  }

  body.cx-client-shell-active #wrapper,
  body.cx-client-shell-active footer.footer {
    margin-left: 0;
    width: 100%;
  }

  body.customers .cx-client-shell-sidebar {
    transform: translateX(calc(-1 * var(--cx-client-ref-sidebar-offset)));
  }

  html[dir="rtl"] body.customers .cx-client-shell-sidebar {
    transform: translateX(var(--cx-client-ref-sidebar-offset));
  }

  body.cx-client-shell-open .cx-client-shell-sidebar {
    transform: translateX(0);
  }

  body.customers .cx-client-shell-topbar {
    left: 0;
  }

  html[dir="rtl"] body.cx-client-shell-active #wrapper,
  html[dir="rtl"] body.cx-client-shell-active footer.footer {
    margin-right: 0;
  }

  html[dir="rtl"] body.customers .cx-client-shell-topbar {
    right: 0;
  }
}

/* Final reference accuracy pass for client sidebar ordering. */
body.cx-client-shell-active {
  --cx-shell-sidebar-width: 242px;
  --cx-client-ref-sidebar-gap: 12px;
  --cx-client-ref-sidebar-offset: calc(var(--cx-shell-sidebar-width) + (var(--cx-client-ref-sidebar-gap) * 2));
}

body.customers .cx-client-shell-sidebar {
  inset: var(--cx-client-ref-sidebar-gap) auto calc(var(--cx-client-ref-sidebar-gap) + env(safe-area-inset-bottom, 0px)) var(--cx-client-ref-sidebar-gap);
  width: var(--cx-shell-sidebar-width);
  max-height: calc(100vh - var(--cx-client-ref-sidebar-gap) - var(--cx-client-ref-sidebar-gap) - env(safe-area-inset-bottom, 0px));
  box-sizing: border-box;
  border-radius: 26px;
  border-color: rgba(255, 255, 255, 0.96);
  background:
    radial-gradient(260px 420px at -42px 22px, rgba(142, 108, 255, 0.30), transparent 66%),
    radial-gradient(300px 460px at calc(100% + 78px) 84%, rgba(181, 236, 225, 0.34), transparent 68%),
    linear-gradient(146deg, rgba(255, 255, 255, 0.82) 0%, rgba(249, 250, 255, 0.66) 50%, rgba(242, 251, 255, 0.78) 100%);
  box-shadow:
    0 34px 80px rgba(44, 35, 96, 0.22),
    0 12px 28px rgba(91, 63, 214, 0.14),
    inset 0 1px 0 rgba(255, 255, 255, 0.98),
    inset 0 -1px 0 rgba(196, 204, 236, 0.34),
    inset 0 0 0 1px rgba(224, 229, 247, 0.82);
  backdrop-filter: blur(22px) saturate(1.18);
  -webkit-backdrop-filter: blur(22px) saturate(1.18);
}

body.customers .cx-client-shell-sidebar::before {
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.78), rgba(255, 255, 255, 0.16) 48%, rgba(210, 218, 248, 0.12));
}

body.customers .cx-client-shell-sidebar::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: 26px;
  box-shadow:
    inset 10px 0 24px rgba(255, 255, 255, 0.38),
    inset -10px 0 24px rgba(126, 104, 218, 0.06),
    inset 0 14px 26px rgba(255, 255, 255, 0.52);
  z-index: 0;
}

body.customers .cx-client-shell-brand {
  min-height: 70px;
  padding: 4px 6px 10px;
}

body.customers .cx-client-shell-brand .logo img {
  max-width: 178px;
  max-height: 50px;
}

body.customers .cx-client-shell-nav {
  padding: 0 14px 8px;
}

body.customers .cx-client-shell-nav ul {
  gap: 6px;
}

body.customers .cx-client-shell-nav li > a,
body.customers .cx-client-shell-nav li > button.cx-client-shell-group-toggle {
  min-height: 40px;
  padding: 6px 9px;
  gap: 11px;
  border-radius: 17px;
  font-size: 13.5px;
  line-height: 1.18;
}

body.customers .cx-client-shell-nav li > a i,
body.customers .cx-client-shell-nav li > button.cx-client-shell-group-toggle i:not(.cx-client-shell-group-chevron) {
  flex-basis: 28px;
  width: 28px;
  min-width: 28px;
  height: 28px;
  border-radius: 11px;
  font-size: 14px;
}

body.customers .cx-client-shell-workspace {
  padding: 10px 14px 12px;
}

body.customers .cx-client-shell-workspace-card {
  min-height: 58px;
  padding: 8px 10px;
  border-radius: 17px;
}

body.customers .cx-client-shell-workspace-icon {
  width: 38px;
  height: 38px;
  border-radius: 14px;
}

body.customers .cx-client-shell-footer-tiles {
  gap: 7px;
  margin-top: 10px;
}

body.customers .cx-client-shell-footer-tile {
  min-height: 53px;
  border-radius: 15px;
}

body.customers .cx-client-shell-footer-tile span {
  font-size: 10.8px;
}

@media (max-width: 991px) {
  body.cx-client-shell-active {
    --cx-shell-sidebar-width: min(242px, calc(100vw - 24px));
    --cx-client-ref-sidebar-offset: calc(var(--cx-shell-sidebar-width) + (var(--cx-client-ref-sidebar-gap) * 2));
  }
}

body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content select.form-control {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding-right: 42px !important;
  background-color: #ffffff !important;
  background-image:
    linear-gradient(45deg, transparent 50%, #334155 50%),
    linear-gradient(135deg, #334155 50%, transparent 50%) !important;
  background-position:
    calc(100% - 18px) 50%,
    calc(100% - 13px) 50% !important;
  background-repeat: no-repeat !important;
  background-size: 5px 5px, 5px 5px !important;
}

body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content select.form-control::-ms-expand {
  display: none;
}

body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .bootstrap-select.form-control {
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .bootstrap-select,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .bootstrap-select > .dropdown-toggle {
  width: 100% !important;
}

body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .bootstrap-select > .dropdown-toggle {
  min-height: 44px;
  padding-right: 42px;
  border: 1px solid var(--cx-portal-border);
  border-radius: 14px;
  background: #ffffff !important;
  box-shadow: none;
}

body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .bootstrap-select > .dropdown-toggle .caret {
  right: 16px;
}

body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content div.dataTables_wrapper > .row:first-child {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content div.dataTables_wrapper > .row:first-child:empty,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content div.dataTables_wrapper > .row:first-child .dt-buttons:empty {
  display: none !important;
}

body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content div.dataTables_wrapper > .row:first-child div.dataTables_length,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content div.dataTables_wrapper > .row:first-child div.dataTables_filter {
  margin-bottom: 10px;
}

body.customers.cx-client-shell-active.modal-open #content .modal,
body.customers.cx-client-shell-active.modal-open .modal {
  z-index: 19990 !important;
  pointer-events: auto !important;
}

body.customers.cx-client-shell-active.modal-open .modal-backdrop {
  z-index: 19980 !important;
}

body.customers.cx-client-shell-active.modal-open #content .modal-dialog,
body.customers.cx-client-shell-active.modal-open #content .modal-content {
  pointer-events: auto !important;
}

/* Minimal public portal shell for storefront, tracking, and public cart routes. */
body.customers.cx-public-portal-active {
  --cx-shell-page-bg: #ffffff !important;
  --cx-portal-page-bg: #ffffff !important;
  --cx-page-bg: #ffffff !important;
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
}

body.customers.cx-public-portal-active #wrapper {
  padding-top: 0;
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
}

body.customers.cx-public-portal-active #content {
  min-height: calc(100vh - 78px);
  padding-top: 24px;
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
}

body.customers.cx-public-portal-active #content > .container {
  width: min(1180px, calc(100% - 32px));
  max-width: 1180px;
}

body.customers.cx-public-portal-active #content > .container > .row {
  margin-left: 0;
  margin-right: 0;
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
}

.cx-public-portal-topbar {
  position: sticky;
  top: 0;
  z-index: 1040;
  border-bottom: 1px solid #dbe5f1;
  background: rgba(255, 255, 255, 0.96);
  backdrop-filter: blur(14px);
  box-shadow: 0 10px 26px rgba(15, 23, 42, 0.06);
}

.cx-public-portal-topbar-inner {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 16px;
  width: min(1180px, calc(100% - 32px));
  min-height: 74px;
  margin: 0 auto;
}

.cx-public-portal-topbar-side,
.cx-public-portal-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.cx-public-portal-topbar-side {
  justify-content: flex-start;
}

.cx-public-portal-actions {
  justify-content: flex-end;
}

.cx-public-portal-brand {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 130px;
}

.cx-public-portal-brand .cx-public-portal-logo,
.cx-public-portal-brand .logo {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: auto;
  margin: 0;
  padding: 0;
}

.cx-public-portal-brand img {
  display: block;
  max-width: 152px;
  max-height: 42px;
  width: auto;
  height: auto;
}

.cx-public-portal-link,
.cx-public-portal-icon-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 40px;
  border: 1px solid #dbe5f1;
  border-radius: 8px;
  background: #ffffff;
  color: #334155 !important;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0;
  text-decoration: none !important;
  white-space: nowrap;
}

.cx-public-portal-link {
  padding: 9px 12px;
}

.cx-public-portal-icon-link {
  position: relative;
  width: 42px;
  padding: 0;
}

.cx-public-portal-link:hover,
.cx-public-portal-link:focus,
.cx-public-portal-icon-link:hover,
.cx-public-portal-icon-link:focus {
  border-color: #bfdbfe;
  color: #1d4ed8 !important;
  box-shadow: 0 8px 18px rgba(37, 99, 235, 0.12);
}

.cx-public-portal-link.is-primary {
  border-color: #2563eb;
  background: #2563eb;
  color: #ffffff !important;
}

.cx-public-portal-icon-link .qty_total {
  position: absolute;
  top: -7px;
  right: -7px;
}

@media (max-width: 900px) {
  .cx-public-portal-topbar-inner {
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 12px 0;
  }

  .cx-public-portal-topbar-side,
  .cx-public-portal-actions {
    justify-content: center;
    flex-wrap: wrap;
  }

  .cx-public-portal-brand {
    order: -1;
  }
}

@media (max-width: 520px) {
  body.customers.cx-public-portal-active #content {
    padding-top: 16px;
  }

  body.customers.cx-public-portal-active #content > .container {
    width: min(100% - 20px, 1180px);
  }

  .cx-public-portal-link {
    min-height: 38px;
    padding: 8px 10px;
    font-size: 12px;
  }
}

/* CRMEXA Auth Pages: Purple video-matched shell */
body.customers_login,
body.register,
body.cx-affiliate-portal-page,
body.cx-purple-auth-page {
  --cx-shell-page-bg: #ffffff !important;
  --cx-portal-page-bg: #ffffff !important;
  --cx-page-bg: #ffffff !important;
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
}

body.customers_login .navbar.header,
body.register .navbar.header,
body.cx-affiliate-portal-page .navbar.header,
body.cx-purple-auth-page .navbar.header,
body.customers_login .footer,
body.register .footer,
body.cx-affiliate-portal-page .footer,
body.cx-purple-auth-page .footer {
  display: none !important;
}

body.customers_login #content,
body.register #content,
body.cx-affiliate-portal-page #content,
body.cx-purple-auth-page #content {
  padding: 0 !important;
}

body.customers_login #content > .container,
body.register #content > .container,
body.cx-affiliate-portal-page #content > .container,
body.cx-purple-auth-page #content > .container {
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}

body.customers_login #content > .container > .row,
body.register #content > .container > .row,
body.cx-affiliate-portal-page #content > .container > .row,
body.cx-purple-auth-page #content > .container > .row {
  margin: 0 !important;
}

.cx-auth-shell {
  --cx-auth-purple-1: #641dff;
  --cx-auth-purple-2: #7127ff;
  --cx-auth-purple-3: #5420df;
  --cx-auth-line: rgba(255, 255, 255, 0.18);
  position: relative !important;
  display: block !important;
  min-height: calc(100vh - 24px) !important;
  margin: 12px !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  color: #0f172a !important;
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
  box-shadow: none !important;
  isolation: isolate;
}

.cx-auth-shell::before,
.cx-auth-shell::after {
  display: none !important;
  content: none !important;
  background: none !important;
  animation: none !important;
}

.cx-auth-shell::before {
  left: max(24px, 10vw);
  transform-origin: right center;
  transform: perspective(320px) rotateY(48deg) skewY(-7deg);
}

.cx-auth-shell::after {
  right: max(24px, 10vw);
  transform-origin: left center;
  transform: perspective(320px) rotateY(-48deg) skewY(7deg);
  animation-delay: -1.8s;
}

@keyframes cxAuthLines {
  0%, 100% { opacity: 0.28; scale: 0.9 1; }
  45% { opacity: 0.72; scale: 1.08 1; }
}

.cx-auth-showcase {
  position: absolute !important;
  inset: clamp(42px, 8vh, 72px) 0 auto !important;
  z-index: 3 !important;
  display: block !important;
  width: min(360px, calc(100% - 40px)) !important;
  margin: 0 auto !important;
  padding: 0 !important;
  overflow: visible !important;
  background: transparent !important;
  color: #fff !important;
  text-align: center !important;
}

.cx-auth-showcase::before,
.cx-auth-showcase::after {
  display: none !important;
}

.cx-auth-brand {
  margin: 0 !important;
}

.cx-auth-logo {
  max-width: 273px !important;
  max-height: 94px !important;
  object-fit: contain !important;
  filter: brightness(0) invert(1);
}

.cx-auth-logo-text {
  color: #fff !important;
  font-size: 23px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: 0.02em !important;
  text-transform: uppercase !important;
}

.cx-auth-title,
.cx-auth-copy,
.cx-auth-meta {
  display: none !important;
}

.cx-auth-workspace {
  position: relative !important;
  z-index: 2 !important;
  display: flex !important;
  min-height: calc(100vh - 24px) !important;
  padding: clamp(122px, 18vh, 150px) 18px 24px !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  background: transparent !important;
}

.cx-auth-card,
.cx-auth-card-register,
.cx-affiliate-auth-shell .cx-auth-card {
  width: min(360px, 100%) !important;
  max-width: 360px !important;
  max-height: none !important;
  margin: 0 auto !important;
  padding: 0 !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0.08)) !important;
  box-shadow: 0 22px 60px rgba(50, 0, 150, 0.18) !important;
  backdrop-filter: blur(14px);
  animation: cxAuthCardIn 0.55s ease both;
}

.cx-auth-card-register,
.cx-auth-card.is-wide,
.cx-affiliate-auth-shell .cx-auth-card-register {
  width: min(760px, 100%) !important;
  max-width: 760px !important;
}

@keyframes cxAuthCardIn {
  from { opacity: 0; transform: translateY(14px) scale(0.985); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

.cx-auth-card-title {
  margin: 20px 22px 2px !important;
  color: #fff !important;
  text-align: center !important;
  font-size: clamp(26px, 3vw, 34px) !important;
  line-height: 1.1 !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
}

.cx-auth-card-subtitle {
  margin: 0 22px 16px !important;
  color: rgba(255, 255, 255, 0.82) !important;
  text-align: center !important;
  font-size: 15px !important;
  line-height: 1.35 !important;
}

.cx-auth-form,
.cx-auth-card > form,
.cx-affiliate-auth-shell form {
  padding: 18px 16px 16px !important;
  margin: 0 !important;
}

.cx-auth-register-head {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

.cx-auth-register-head .cx-auth-language-group {
  padding: 0 16px 12px !important;
}

.cx-auth-shell .form-group,
.cx-auth-shell .cx-affiliate-field,
.cx-auth-shell .travel-portal-field {
  margin-bottom: 12px !important;
}

.cx-auth-shell label,
.cx-auth-shell .control-label,
.cx-affiliate-auth-shell label,
.travel-portal-auth label {
  margin: 0 0 6px !important;
  color: rgba(255, 255, 255, 0.88) !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.cx-auth-shell .form-control,
.cx-auth-shell input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.cx-auth-shell select,
.cx-auth-shell textarea,
.cx-auth-shell .bootstrap-select > .dropdown-toggle,
.travel-portal-auth input {
  min-height: 44px !important;
  height: 44px !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  border-radius: 10px !important;
  background: rgba(255, 255, 255, 0.9) !important;
  color: #5b2ec8 !important;
  box-shadow: none !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

.cx-auth-shell textarea.form-control,
.cx-auth-shell textarea {
  height: auto !important;
  min-height: 88px !important;
}

.cx-auth-shell .form-control::placeholder,
.cx-auth-shell input::placeholder,
.travel-portal-auth input::placeholder {
  color: rgba(108, 76, 120, 0.68) !important;
}

.cx-auth-shell .form-control:focus,
.cx-auth-shell input:focus,
.cx-auth-shell select:focus,
.cx-auth-shell textarea:focus,
.cx-auth-shell .bootstrap-select > .dropdown-toggle:focus,
.travel-portal-auth input:focus {
  border-color: rgba(255, 255, 255, 0.82) !important;
  background: #fff !important;
  box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.13) !important;
  outline: 0 !important;
}

.cx-auth-input-wrap .cx-auth-input {
  padding-left: 42px !important;
}

.cx-auth-input-wrap .cx-auth-input-icon,
.cx-auth-input-wrap .cx-auth-input-icon-right {
  color: #6d45f5 !important;
}

.cx-auth-inline-link,
.cx-auth-switch a,
.cx-auth-legal a,
.cx-auth-shell a,
.cx-affiliate-auth-shell a {
  color: #fff !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  text-underline-offset: 0;
}

.cx-auth-shell .checkbox,
.cx-auth-remember {
  margin: 0 !important;
  padding: 10px 12px !important;
  border-radius: 0 0 14px 14px !important;
  background: rgba(255, 255, 255, 0.08) !important;
}

.cx-auth-shell .checkbox input[type="checkbox"] {
  width: 15px !important;
  height: 15px !important;
  min-height: 15px !important;
  accent-color: #7b3dff;
}

.cx-auth-shell .checkbox label {
  color: rgba(255, 255, 255, 0.82) !important;
  font-size: 12px !important;
}

.cx-auth-submit-group,
.cx-register-step-actions,
.cx-otp-actions,
.cx-affiliate-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
  margin: 18px 0 0 !important;
}

.cx-auth-shell .btn.btn-primary,
.cx-auth-shell .btn-primary,
.cx-affiliate-btn.is-primary,
.travel-portal-btn {
  width: auto !important;
  min-width: 180px !important;
  min-height: 44px !important;
  height: 44px !important;
  padding: 10px 28px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: #6430d4 !important;
  box-shadow: 0 12px 24px rgba(43, 0, 116, 0.18) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}

.cx-auth-shell .btn.btn-primary:hover,
.cx-auth-shell .btn.btn-primary:focus,
.cx-auth-shell .btn.btn-primary:active,
.cx-affiliate-btn.is-primary:hover,
.travel-portal-btn:hover {
  background: #f7f2ff !important;
  color: #4e21bd !important;
  transform: translateY(-1px);
}

.cx-auth-shell .btn-default,
.cx-auth-shell .btn-link,
.cx-affiliate-btn,
.cx-auth-affiliate-btn {
  min-height: 40px !important;
  border-color: rgba(255, 255, 255, 0.32) !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.12) !important;
  color: #fff !important;
  box-shadow: none !important;
}

.cx-auth-switch,
.cx-auth-legal {
  color: rgba(255, 255, 255, 0.84) !important;
  text-align: center !important;
}

.cx-auth-switch {
  margin: 16px 16px 0 !important;
  font-size: 13px !important;
}

.cx-auth-legal {
  width: min(520px, 100%) !important;
  margin: 18px auto 0 !important;
  padding: 0 !important;
  border: 0 !important;
  font-size: 11px !important;
}

.cx-auth-divider,
.cx-auth-socials,
.cx-auth-affiliate-card {
  display: none !important;
}

.cx-register-step-nav {
  justify-content: center !important;
  padding: 0 16px 14px !important;
}

.cx-register-step-trigger {
  border-color: rgba(255, 255, 255, 0.18) !important;
  background: rgba(255, 255, 255, 0.12) !important;
  color: rgba(255, 255, 255, 0.82) !important;
}

.cx-register-step-trigger.is-active {
  border-color: rgba(255, 255, 255, 0.62) !important;
  background: rgba(255, 255, 255, 0.2) !important;
  color: #fff !important;
}

.cx-register-step-trigger .cx-register-step-num {
  background: #fff !important;
  color: #6430d4 !important;
}

.cx-register-account-grid,
.cx-register-company-grid,
.cx-affiliate-register-grid,
.cx-affiliate-form-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

.cx-register-account-grid > *,
.cx-register-company-grid > *,
.cx-affiliate-register-grid > *,
.cx-affiliate-form-grid > * {
  min-width: 0 !important;
}

.register-contact-info-heading,
.register-company-info-heading,
.cx-otp-card h4 {
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  text-align: center !important;
}

.cx-otp-card {
  border-color: rgba(255, 255, 255, 0.16) !important;
  background: rgba(255, 255, 255, 0.1) !important;
}

.cx-otp-card p,
.cx-affiliate-muted,
.cx-affiliate-copy {
  color: rgba(255, 255, 255, 0.78) !important;
}

.cx-auth-shell .alert {
  border: 0 !important;
  border-radius: 12px !important;
}

.cx-auth-shell .help-block,
.cx-auth-shell .text-danger,
.cx-auth-shell p.text-danger {
  color: #ffe1e1 !important;
  font-size: 12px !important;
}

body.cx-purple-auth-page .panel_s,
body.cx-purple-auth-page .panel-body {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

@media (max-width: 991px) {
  .cx-auth-shell {
    min-height: 100vh !important;
    margin: 0 !important;
    border-radius: 0 !important;
  }

  .cx-auth-workspace {
    min-height: 100vh !important;
  }

  .cx-auth-shell::before,
  .cx-auth-shell::after {
    opacity: 0.24;
  }
}

@media (max-width: 768px) {
  .cx-auth-card-register,
  .cx-auth-card.is-wide {
    width: min(480px, 100%) !important;
    max-width: 480px !important;
  }

  .cx-register-account-grid,
  .cx-register-company-grid,
  .cx-affiliate-register-grid,
  .cx-affiliate-form-grid {
    grid-template-columns: 1fr !important;
  }

  .cx-auth-shell::before,
  .cx-auth-shell::after {
    display: none !important;
  }

  .cx-auth-submit-group,
  .cx-register-step-actions,
  .cx-otp-actions,
  .cx-affiliate-actions {
    align-items: stretch !important;
    flex-direction: column !important;
  }

  .cx-auth-shell .btn,
  .cx-affiliate-btn,
  .travel-portal-btn {
    width: 100% !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cx-auth-shell,
  .cx-auth-shell::before,
  .cx-auth-shell::after,
  .cx-auth-workspace::before,
  .cx-auth-workspace::after,
  .cx-auth-card::before,
  .cx-auth-card-register::before,
  .cx-auth-card,
  .cx-auth-card-register {
    animation: none !important;
  }
}

/* CRMEXA Auth Pages: pure white refinement */
body.customers_login .cx-auth-shell,
body.register .cx-auth-shell,
body.cx-affiliate-portal-page .cx-auth-shell,
body.cx-purple-auth-page .cx-auth-shell,
.cx-auth-shell {
  --cx-auth-core-1: #4f3df0;
  --cx-auth-core-2: #5b3fd6;
  --cx-auth-core-3: #3a239b;
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
  background-size: auto !important;
  animation: none !important;
}

.cx-auth-shell::before,
.cx-auth-shell::after {
  display: none !important;
  content: none !important;
  background: none !important;
  animation: none !important;
}

.cx-auth-shell::before {
  background: none !important;
  filter: blur(34px) !important;
  transform: translate3d(-5%, -3%, 0) rotate(-5deg) scale(1.04) !important;
  animation: none !important;
}

.cx-auth-shell::after {
  background: none !important;
  filter: blur(48px) !important;
  opacity: 0.42 !important;
  transform: translate3d(3%, 4%, 0) rotate(0deg) scale(1.08) !important;
  animation: none !important;
}

.cx-auth-logo {
  max-width: 273px !important;
  max-height: 94px !important;
  filter: none !important;
}

.cx-auth-logo-text {
  font-size: 22px !important;
}

.cx-auth-workspace {
  padding-top: clamp(118px, 17vh, 146px) !important;
  overflow: visible !important;
}

.cx-auth-workspace::before,
.cx-auth-workspace::after {
  content: "" !important;
  position: absolute !important;
  z-index: 1 !important;
  width: min(860px, 78vw) !important;
  height: min(520px, 56vh) !important;
  border-radius: 0 !important;
  pointer-events: none !important;
  background-repeat: no-repeat !important;
  background-size: 100% 100% !important;
  filter: blur(16px) !important;
  mix-blend-mode: screen !important;
  opacity: 0.58;
  will-change: transform, opacity, filter !important;
}

.cx-auth-workspace::before {
  left: 50% !important;
  top: 43% !important;
  clip-path: polygon(0 44%, 18% 24%, 42% 14%, 72% 24%, 100% 50%, 74% 78%, 42% 86%, 14% 72%) !important;
  background:
    linear-gradient(100deg, transparent 0%, rgba(255, 255, 255, 0.18) 25%, rgba(196, 177, 255, 0.28) 48%, rgba(103, 72, 255, 0.2) 68%, transparent 100%) !important;
  transform: translate3d(-50%, -50%, 0) rotate(-7deg) scale(0.95);
  animation: cxAuthSilkRibbon 4.8s ease-in-out infinite !important;
}

.cx-auth-workspace::after {
  left: 50% !important;
  top: 48% !important;
  clip-path: polygon(7% 22%, 39% 6%, 70% 14%, 94% 42%, 86% 76%, 48% 95%, 15% 80%, 0 50%) !important;
  background:
    linear-gradient(70deg, transparent 0%, rgba(105, 77, 255, 0.26) 20%, rgba(255, 255, 255, 0.16) 52%, rgba(166, 133, 255, 0.24) 78%, transparent 100%) !important;
  transform: translate3d(-50%, -50%, 0) rotate(9deg) scale(0.86);
  animation: cxAuthSilkRibbonAlt 6.2s ease-in-out infinite !important;
  animation-delay: -1.7s !important;
}

.cx-auth-card,
.cx-auth-legal,
.cx-auth-logo-wrap {
  position: relative !important;
  z-index: 2 !important;
}

.cx-auth-card,
.cx-auth-card-register,
.cx-affiliate-auth-shell .cx-auth-card {
  position: relative !important;
}

.cx-auth-card::before,
.cx-auth-card-register::before,
.cx-affiliate-auth-shell .cx-auth-card::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  pointer-events: none !important;
  background: linear-gradient(105deg, transparent 0%, rgba(255, 255, 255, 0.13) 34%, rgba(255, 255, 255, 0.26) 48%, rgba(255, 255, 255, 0.08) 60%, transparent 76%) !important;
  opacity: 0 !important;
  transform: translateX(-72%) skewX(-10deg) !important;
  animation: cxAuthGlassSweep 5.8s ease-in-out infinite !important;
}

.cx-auth-card > *,
.cx-auth-card-register > *,
.cx-affiliate-auth-shell .cx-auth-card > * {
  position: relative !important;
  z-index: 1 !important;
}

@keyframes cxAuthGlassSweep {
  0%, 24%, 100% {
    opacity: 0;
    transform: translateX(-72%) skewX(-10deg);
  }
  38% {
    opacity: 0.55;
  }
  56% {
    opacity: 0;
    transform: translateX(72%) skewX(-10deg);
  }
}

@keyframes cxAuthStageFlow {
  0%, 100% {
    background-position: 48% 28%, 10% 90%, 90% 10%, 0 0;
  }
  45% {
    background-position: 54% 22%, 18% 82%, 78% 18%, 0 0;
  }
  72% {
    background-position: 44% 36%, 6% 76%, 84% 26%, 0 0;
  }
}

@keyframes cxAuthSilkOne {
  0%, 100% {
    opacity: 0.46;
    transform: translate3d(-6%, -4%, 0) rotate(-6deg) scale(1.02);
  }
  50% {
    opacity: 0.72;
    transform: translate3d(4%, 3%, 0) rotate(5deg) scale(1.12);
  }
}

@keyframes cxAuthSilkTwo {
  0%, 100% {
    opacity: 0.28;
    transform: translate3d(4%, 5%, 0) rotate(0deg) scale(1.06);
  }
  50% {
    opacity: 0.5;
    transform: translate3d(-3%, -2%, 0) rotate(22deg) scale(1.14);
  }
}

@keyframes cxAuthSilkRibbon {
  0%, 100% {
    opacity: 0.24;
    filter: blur(20px);
    transform: translate3d(-60%, -54%, 0) rotate(-14deg) scale(0.82);
  }
  45% {
    opacity: 0.76;
    filter: blur(11px);
    transform: translate3d(-43%, -46%, 0) rotate(10deg) scale(1.12);
  }
  72% {
    opacity: 0.46;
    filter: blur(15px);
    transform: translate3d(-50%, -52%, 0) rotate(2deg) scale(1);
  }
}

@keyframes cxAuthSilkRibbonAlt {
  0%, 100% {
    opacity: 0.18;
    filter: blur(22px);
    transform: translate3d(-38%, -45%, 0) rotate(16deg) scale(0.76);
  }
  48% {
    opacity: 0.68;
    filter: blur(12px);
    transform: translate3d(-59%, -55%, 0) rotate(-12deg) scale(1.1);
  }
}

.cx-auth-card,
.cx-affiliate-auth-shell .cx-auth-card {
  width: min(330px, 100%) !important;
  max-width: 330px !important;
  border-radius: 15px !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.18), rgba(255, 255, 255, 0.075)) !important;
}

.cx-auth-card-register,
.cx-auth-card.is-wide,
.cx-affiliate-auth-shell .cx-auth-card-register {
  width: min(720px, 100%) !important;
  max-width: 720px !important;
}

.cx-auth-card-title {
  margin-top: 18px !important;
  font-size: clamp(24px, 2.6vw, 31px) !important;
}

.cx-auth-card-subtitle {
  margin-bottom: 12px !important;
  font-size: 14px !important;
}

.cx-auth-form,
.cx-auth-card > form,
.cx-affiliate-auth-shell form {
  padding: 15px 15px 14px !important;
}

.cx-auth-shell .form-control,
.cx-auth-shell input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.cx-auth-shell select,
.cx-auth-shell textarea,
.cx-auth-shell .bootstrap-select > .dropdown-toggle,
.travel-portal-auth input {
  min-height: 40px !important;
  height: 40px !important;
  border-radius: 9px !important;
  color: #5636c8 !important;
}

.cx-auth-shell .btn.btn-primary,
.cx-auth-shell .btn-primary,
.cx-affiliate-btn.is-primary,
.travel-portal-btn {
  min-height: 42px !important;
  height: 42px !important;
  color: #5636c8 !important;
}

.cx-auth-input-wrap .cx-auth-input-icon,
.cx-auth-input-wrap .cx-auth-input-icon-right {
  color: #6d45f5 !important;
}

@media (max-width: 1200px) {
  .cx-auth-workspace::before {
    left: 50% !important;
  }

  .cx-auth-workspace::after {
    left: 50% !important;
  }
}

@media (max-width: 840px) {
  .cx-auth-workspace::before,
  .cx-auth-workspace::after {
    display: none !important;
  }
}

/* CRMexa universal popup header override for customer theme modals. */
body.customers .modal .modal-header,
body.customers #content .modal-header,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content .modal-header {
  position: relative !important;
  overflow: hidden !important;
  color: #ffffff !important;
  border-bottom: 1px solid rgba(217, 208, 255, 0.38) !important;
  background:
    radial-gradient(circle at 10% 0%, rgba(255, 255, 255, 0.16) 0%, rgba(255, 255, 255, 0) 36%),
    radial-gradient(circle at 92% 0%, rgba(217, 208, 255, 0.28) 0%, rgba(217, 208, 255, 0) 42%),
    linear-gradient(118deg, #4f3fd7 0%, #5a47f2 46%, #6c4cf1 72%, #7c6bff 100%) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.18) !important;
}

body.customers .modal .modal-header::after,
body.customers #content .modal-header::after {
  content: "" !important;
  position: absolute !important;
  inset: auto -8% -58px 36% !important;
  height: 108px !important;
  pointer-events: none !important;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.18) 50%, rgba(255, 255, 255, 0) 100%) !important;
  transform: rotate(-8deg) !important;
  z-index: 0 !important;
}

body.customers .modal .modal-header > *,
body.customers #content .modal-header > * {
  position: relative !important;
  z-index: 1 !important;
}

body.customers .modal .modal-header .modal-title,
body.customers .modal .modal-header h1,
body.customers .modal .modal-header h2,
body.customers .modal .modal-header h3,
body.customers .modal .modal-header h4,
body.customers .modal .modal-header h5,
body.customers .modal .modal-header h6,
body.customers #content .modal-header .modal-title {
  color: #ffffff !important;
  text-shadow: 0 1px 2px rgba(15, 23, 42, 0.22) !important;
}

body.customers .modal .modal-header .close,
body.customers .modal .modal-header button.close,
body.customers #content .modal-header .close {
  color: #ffffff !important;
  opacity: 0.94 !important;
  text-shadow: none !important;
}
/* Global active menu indicator */
body.customers .navbar-default .navbar-nav > li.active > a,
body.customers .navbar-default .navbar-nav > li.active > a:focus,
body.customers .navbar-default .navbar-nav > li.active > a:hover,
body.customers .cx-client-shell-nav li.active > a,
body.customers .cx-client-shell-nav li.active > button.cx-client-shell-group-toggle {
  background: linear-gradient(135deg, rgba(108, 76, 241, 0.14) 0%, rgba(108, 76, 241, 0.08) 100%) !important;
  border-color: rgba(108, 76, 241, 0.22) !important;
  border-radius: 10px !important;
  box-shadow: inset 3px 0 0 rgba(108, 76, 241, 0.78), 0 8px 18px rgba(15, 23, 42, 0.05) !important;
  color: #5b3fd6 !important;
  font-weight: 700 !important;
}

body.customers .cx-client-shell-nav li.active > a i,
body.customers .cx-client-shell-nav li.active > button.cx-client-shell-group-toggle i {
  color: #6c4cf1 !important;
}

/* Pure white client shell canvas */
body.customers.cx-client-shell-active:not(.customers_login):not(.register) {
  --cx-client-bg: #f6f8fb;
  --cx-client-surface: #ffffff;
  --cx-client-border: #dfe7f1;
  --cx-client-muted: #64748b;
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
  background-attachment: fixed !important;
  background-size: cover !important;
  background-blend-mode: normal !important;
}

body.customers.cx-client-shell-active:not(.customers_login):not(.register) #wrapper,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content {
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
}

body.customers.cx-client-shell-active:not(.customers_login):not(.register) .cx-client-shell-topbar {
  border: 1px solid rgba(223, 231, 241, 0.9) !important;
  background: rgba(255, 255, 255, 0.82) !important;
  box-shadow: 0 18px 45px rgba(15, 23, 42, 0.07) !important;
  backdrop-filter: blur(18px) saturate(1.08);
  -webkit-backdrop-filter: blur(18px) saturate(1.08);
}

body.customers.cx-client-shell-active:not(.customers_login):not(.register) .cx-client-shell-sidebar {
  border-color: rgba(226, 232, 240, 0.96) !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(250, 252, 255, 0.92) 52%, rgba(247, 250, 252, 0.94) 100%) !important;
  box-shadow:
    0 26px 70px rgba(15, 23, 42, 0.09),
    0 10px 28px rgba(15, 23, 42, 0.05),
    inset 0 1px 0 rgba(255, 255, 255, 0.96),
    inset 0 0 0 1px rgba(255, 255, 255, 0.72) !important;
}

body.customers.cx-client-shell-active:not(.customers_login):not(.register) .cx-client-shell-sidebar::before {
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.72), rgba(241, 245, 249, 0.16)) !important;
}

body.customers.cx-client-shell-active:not(.customers_login):not(.register) .cx-client-shell-sidebar::after {
  box-shadow:
    inset 10px 0 22px rgba(255, 255, 255, 0.34),
    inset 0 14px 26px rgba(255, 255, 255, 0.42) !important;
}

body.customers.cx-client-shell-active:not(.customers_login):not(.register) .cx-client-shell-nav li.active > a,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) .cx-client-shell-nav li.active > button.cx-client-shell-group-toggle {
  background: linear-gradient(135deg, rgba(108, 76, 241, 0.12) 0%, rgba(14, 165, 233, 0.08) 100%) !important;
  box-shadow: inset 3px 0 0 rgba(108, 76, 241, 0.7), 0 10px 22px rgba(15, 23, 42, 0.05) !important;
}

body.cx-client-shell-active {
  --cx-shell-page-bg: #ffffff;
  --cx-shell-header-bg: rgba(255, 255, 255, 0.84);
  --cx-shell-header-border: rgba(223, 231, 241, 0.9);
  background: var(--cx-shell-page-bg) !important;
  background-attachment: fixed !important;
  background-size: cover !important;
  background-blend-mode: normal !important;
}

body.cx-client-shell-active #wrapper,
body.cx-client-shell-active #content,
body.cx-client-shell-active .content {
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
}

body.cx-client-shell-active .cx-client-shell-topbar {
  border-color: rgba(223, 231, 241, 0.9) !important;
  background: rgba(255, 255, 255, 0.84) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72), 0 18px 45px rgba(15, 23, 42, 0.07) !important;
}

body.cx-client-shell-active .cx-client-shell-sidebar {
  border-color: rgba(226, 232, 240, 0.96) !important;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(250, 252, 255, 0.96) 54%, rgba(247, 250, 252, 0.98) 100%) !important;
  box-shadow:
    0 26px 70px rgba(15, 23, 42, 0.09),
    0 10px 28px rgba(15, 23, 42, 0.05),
    inset 0 1px 0 rgba(255, 255, 255, 0.96) !important;
}

/* CRMEXA Admin MFA: compact, readable verification form */
body.two-factor-authentication-code.crmexa-admin-auth .cx-auth-workspace {
  padding-top: clamp(82px, 12vh, 112px) !important;
  padding-bottom: 18px !important;
}

body.two-factor-authentication-code.crmexa-admin-auth .cx-auth-card-mfa {
  width: min(520px, calc(100vw - 32px)) !important;
  max-width: 520px !important;
  border-color: rgba(255, 255, 255, 0.18) !important;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0.11)) !important;
}

body.two-factor-authentication-code.crmexa-admin-auth .cx-auth-card-mfa .cx-auth-card-title {
  margin: 18px 22px 4px !important;
  font-size: clamp(27px, 2.4vw, 32px) !important;
}

body.two-factor-authentication-code.crmexa-admin-auth .cx-auth-card-mfa .cx-auth-card-subtitle {
  margin: 0 26px 10px !important;
  font-size: 14px !important;
  line-height: 1.32 !important;
}

body.two-factor-authentication-code.crmexa-admin-auth .cx-auth-card-mfa .cx-auth-form {
  padding: 14px 18px 16px !important;
}

body.two-factor-authentication-code.crmexa-admin-auth .cx-auth-methods {
  margin-bottom: 12px !important;
}

body.two-factor-authentication-code.crmexa-admin-auth .cx-auth-methods-label {
  display: block !important;
  margin-bottom: 8px !important;
  color: #ffffff !important;
  font-size: 12px !important;
  font-weight: 800 !important;
}

body.two-factor-authentication-code.crmexa-admin-auth .cx-auth-method-grid {
  display: grid !important;
  gap: 8px !important;
}

body.two-factor-authentication-code.crmexa-admin-auth .cx-auth-method-chip {
  position: relative !important;
  display: block !important;
  min-height: 62px !important;
  padding: 12px 44px 12px 14px !important;
  border: 1px solid rgba(255, 255, 255, 0.72) !important;
  border-radius: 14px !important;
  background: rgba(255, 255, 255, 0.94) !important;
  color: #111827 !important;
  text-decoration: none !important;
  box-shadow: 0 8px 18px rgba(31, 18, 87, 0.08) !important;
  transition: border-color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease;
}

body.two-factor-authentication-code.crmexa-admin-auth .cx-auth-method-chip:hover,
body.two-factor-authentication-code.crmexa-admin-auth .cx-auth-method-chip:focus {
  border-color: #ffffff !important;
  background: #ffffff !important;
  color: #111827 !important;
  box-shadow: 0 10px 22px rgba(31, 18, 87, 0.14) !important;
  transform: translateY(-1px);
}

body.two-factor-authentication-code.crmexa-admin-auth .cx-auth-method-chip.is-active {
  border-color: #ffffff !important;
  background: #ffffff !important;
  box-shadow: inset 4px 0 0 #6c4cf1, 0 12px 26px rgba(31, 18, 87, 0.18) !important;
}

body.two-factor-authentication-code.crmexa-admin-auth .cx-auth-method-chip.is-active::after {
  content: "\f00c";
  position: absolute;
  top: 14px;
  right: 14px;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  background: #6c4cf1;
  color: #ffffff;
  font-family: FontAwesome;
  font-size: 11px;
  line-height: 22px;
  text-align: center;
}

body.two-factor-authentication-code.crmexa-admin-auth .cx-auth-method-chip__title,
body.two-factor-authentication-code.crmexa-admin-auth .cx-auth-method-chip__desc {
  display: block !important;
  color: inherit !important;
}

body.two-factor-authentication-code.crmexa-admin-auth .cx-auth-method-chip__title {
  margin-bottom: 4px !important;
  color: #111827 !important;
  font-size: 15px !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
}

body.two-factor-authentication-code.crmexa-admin-auth .cx-auth-method-chip__desc {
  color: #475569 !important;
  font-size: 13px !important;
  line-height: 1.34 !important;
  font-weight: 700 !important;
}

body.two-factor-authentication-code.crmexa-admin-auth .cx-auth-helper-note {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  margin: 2px 0 12px !important;
  padding: 10px 12px !important;
  border: 1px solid rgba(255, 255, 255, 0.66) !important;
  border-radius: 12px !important;
  background: rgba(255, 255, 255, 0.94) !important;
  color: #334155 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  text-align: center !important;
}

body.two-factor-authentication-code.crmexa-admin-auth .cx-auth-helper-note a {
  color: #5b3fd6 !important;
  font-weight: 800 !important;
}

body.two-factor-authentication-code.crmexa-admin-auth .cx-auth-card-mfa .form-group {
  margin-bottom: 10px !important;
}

body.two-factor-authentication-code.crmexa-admin-auth .cx-auth-card-mfa .cx-auth-submit-group {
  margin-top: 14px !important;
}

body.two-factor-authentication-code.crmexa-admin-auth .cx-auth-card-mfa .cx-auth-switch {
  margin-top: 12px !important;
}

body.two-factor-authentication-code.crmexa-admin-auth .cx-auth-legal {
  margin-top: 12px !important;
}

@media (min-width: 640px) {
  body.two-factor-authentication-code.crmexa-admin-auth .cx-auth-method-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.two-factor-authentication-code.crmexa-admin-auth .cx-auth-method-grid .cx-auth-method-chip:only-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 576px) {
  body.two-factor-authentication-code.crmexa-admin-auth .cx-auth-workspace {
    padding-top: 76px !important;
  }

  body.two-factor-authentication-code.crmexa-admin-auth .cx-auth-card-mfa .cx-auth-card-title {
    font-size: 27px !important;
  }

  body.two-factor-authentication-code.crmexa-admin-auth .cx-auth-helper-note {
    flex-direction: column !important;
    gap: 3px !important;
  }
}

/* CRMEXA final pure white shell canvas override */
html body.cx-client-shell-active,
html body.customers.cx-client-shell-active:not(.customers_login):not(.register) {
  --cx-shell-page-bg: #ffffff !important;
  --cx-portal-page-bg: #ffffff !important;
  --cx-page-bg: #ffffff !important;
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
  background-attachment: fixed !important;
  background-size: auto !important;
  background-blend-mode: normal !important;
}

html body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content,
html body.customers.cx-client-shell-active:not(.customers_login):not(.register) #wrapper,
html body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content > .container,
html body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content > .container > .row {
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
}

html body.cx-client-shell-active .cx-client-shell-topbar,
html body.cx-client-shell-active .cx-client-shell-sidebar,
html body.customers.cx-public-portal-active #wrapper,
html body.customers.cx-public-portal-active #content,
html body.customers_login .cx-auth-shell,
html body.register .cx-auth-shell,
html body.cx-affiliate-portal-page .cx-auth-shell,
html body.cx-purple-auth-page .cx-auth-shell {
  box-shadow: none !important;
}

/* CRMEXA final global pure white canvas lock */
html,
html body,
html body.customers,
html body.customers_login,
html body.register,
html body.cx-affiliate-portal-page,
html body.cx-purple-auth-page,
html body.cx-client-shell-active,
html body.customers.cx-client-shell-active:not(.customers_login):not(.register),
html body.customers.cx-public-portal-active,
html body #wrapper,
html body #content,
html body .content,
html body #content > .container,
html body #content > .container > .row,
html body.customers.cx-client-shell-active:not(.customers_login):not(.register) #wrapper,
html body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content,
html body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content > .container,
html body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content > .container > .row,
html body.customers_login .cx-auth-shell,
html body.register .cx-auth-shell,
html body.cx-affiliate-portal-page .cx-auth-shell,
html body.cx-purple-auth-page .cx-auth-shell {
  --cx-shell-page-bg: #ffffff !important;
  --cx-admin-page-bg: #ffffff !important;
  --cx-portal-page-bg: #ffffff !important;
  --cx-page-bg: #ffffff !important;
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
}

html body::before,
html body::after,
html body #wrapper::before,
html body #wrapper::after,
html body #content::before,
html body #content::after,
html body .content::before,
html body .content::after,
html body.customers_login .cx-auth-shell::before,
html body.customers_login .cx-auth-shell::after,
html body.register .cx-auth-shell::before,
html body.register .cx-auth-shell::after,
html body.cx-affiliate-portal-page .cx-auth-shell::before,
html body.cx-affiliate-portal-page .cx-auth-shell::after,
html body.cx-purple-auth-page .cx-auth-shell::before,
html body.cx-purple-auth-page .cx-auth-shell::after {
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

html body.cx-client-shell-active .cx-client-shell-topbar,
html body.cx-client-shell-active .cx-client-shell-sidebar,
html body.customers.cx-public-portal-active #wrapper {
  box-shadow: none !important;
}

/* Final tenant client portal interaction and accessibility pass. */
body.customers.cx-client-shell-active:not(.customers_login):not(.register) .cx-client-shell-nav li.active > a,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) .cx-client-shell-nav li.active > button.cx-client-shell-group-toggle,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) .cx-client-shell-nav li.open > button.cx-client-shell-group-toggle {
  border-color: rgba(108, 76, 241, 0.28) !important;
  background: linear-gradient(135deg, rgba(108, 76, 241, 0.17), rgba(14, 165, 233, 0.10)) !important;
  color: #4329ad !important;
  box-shadow: inset 3px 0 0 #6c4cf1, 0 10px 24px rgba(91, 63, 214, 0.10) !important;
}

body.customers.cx-client-shell-active:not(.customers_login):not(.register) .cx-client-shell-nav li.active > a i,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) .cx-client-shell-nav li.active > button.cx-client-shell-group-toggle i,
body.customers.cx-client-shell-active:not(.customers_login):not(.register) .cx-client-shell-nav li.open > button.cx-client-shell-group-toggle i {
  border-color: rgba(108, 76, 241, 0.20) !important;
  background: rgba(255, 255, 255, 0.82) !important;
  color: #5b3fd6 !important;
}

body.customers .cx-client-shell-back-admin {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  gap: 8px;
  padding: 8px 13px;
  border: 1px solid rgba(108, 76, 241, 0.24);
  border-radius: 12px;
  background: linear-gradient(135deg, #5a47f2, #6c4cf1);
  color: #ffffff !important;
  font-size: 12px;
  font-weight: 750;
  text-decoration: none !important;
  box-shadow: 0 10px 22px rgba(91, 63, 214, 0.20);
}

body.customers .cx-client-shell-back-admin:hover,
body.customers .cx-client-shell-back-admin:focus {
  color: #ffffff !important;
  transform: translateY(-1px);
  box-shadow: 0 14px 28px rgba(91, 63, 214, 0.28);
}

body.customers .cx-client-empty-state .cx-client-section-body {
  padding: 44px 24px;
  text-align: center;
}

body.customers .cx-client-empty-state-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 58px;
  height: 58px;
  margin-bottom: 14px;
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(108, 76, 241, 0.14), rgba(14, 165, 233, 0.12));
  color: #5b3fd6;
  font-size: 24px;
}

body.customers .cx-client-empty-state h2 {
  margin: 0 0 8px;
  color: #172033;
}

body.customers .cx-client-empty-state p {
  max-width: 580px;
  margin: 0 auto 18px;
  color: #64748b;
}

body.customers .cx-client-shell-nav a:focus-visible,
body.customers .cx-client-shell-nav button:focus-visible,
body.customers .cx-client-shell-topbar a:focus-visible,
body.customers .cx-client-shell-topbar button:focus-visible {
  outline: 3px solid rgba(108, 76, 241, 0.28) !important;
  outline-offset: 2px;
}

@media (max-width: 991px) {
  body.customers .cx-client-shell-back-admin span {
    display: none;
  }

  body.customers .cx-client-shell-back-admin {
    width: 38px;
    padding: 8px;
  }
}

/* CRMEXA auth pages: white outer canvas, rounded purple animated stage. */
html body.customers_login,
html body.register,
html body.cx-affiliate-portal-page,
html body.cx-purple-auth-page,
html body.crmexa-admin-auth {
  --cx-shell-page-bg: #ffffff !important;
  --cx-admin-page-bg: #ffffff !important;
  --cx-portal-page-bg: #ffffff !important;
  --cx-page-bg: #ffffff !important;
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
  min-height: 100dvh !important;
}

html body.customers_login #wrapper,
html body.customers_login #content,
html body.customers_login #content > .container,
html body.customers_login #content > .container > .row,
html body.register #wrapper,
html body.register #content,
html body.register #content > .container,
html body.register #content > .container > .row,
html body.cx-affiliate-portal-page #wrapper,
html body.cx-affiliate-portal-page #content,
html body.cx-affiliate-portal-page #content > .container,
html body.cx-affiliate-portal-page #content > .container > .row,
html body.cx-purple-auth-page #wrapper,
html body.cx-purple-auth-page #content,
html body.cx-purple-auth-page #content > .container,
html body.cx-purple-auth-page #content > .container > .row,
html body.crmexa-admin-auth #wrapper,
html body.crmexa-admin-auth #content,
html body.crmexa-admin-auth #content > .container,
html body.crmexa-admin-auth #content > .container > .row {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}

html body.customers_login .cx-auth-shell,
html body.register .cx-auth-shell,
html body.cx-affiliate-portal-page .cx-auth-shell,
html body.cx-purple-auth-page .cx-auth-shell,
html body.crmexa-admin-auth #content .cx-auth-shell,
html body.crmexa-admin-auth .cx-auth-shell {
  --cx-shell-page-bg: #641dff !important;
  --cx-admin-page-bg: #641dff !important;
  --cx-portal-page-bg: #641dff !important;
  --cx-page-bg: #641dff !important;
  position: relative !important;
  min-height: calc(100dvh - 30px) !important;
  margin: 15px !important;
  border-radius: 28px !important;
  overflow: hidden !important;
  isolation: isolate !important;
  background:
    radial-gradient(circle at 18% 12%, rgba(255, 255, 255, 0.22) 0, rgba(255, 255, 255, 0) 28%),
    radial-gradient(circle at 82% 16%, rgba(159, 119, 255, 0.42) 0, rgba(159, 119, 255, 0) 30%),
    radial-gradient(circle at 50% 92%, rgba(255, 255, 255, 0.18) 0, rgba(255, 255, 255, 0) 34%),
    linear-gradient(145deg, #641dff 0%, #7127ff 46%, #4b16bf 100%) !important;
  background-color: #641dff !important;
  background-size: cover !important;
}

html body.customers_login #content .cx-auth-shell > .cx-auth-canvas-layer,
html body.register #content .cx-auth-shell > .cx-auth-canvas-layer,
html body.cx-affiliate-portal-page #content .cx-auth-shell > .cx-auth-canvas-layer,
html body.cx-purple-auth-page #content .cx-auth-shell > .cx-auth-canvas-layer,
html body.crmexa-admin-auth #content .cx-auth-shell > .cx-auth-canvas-layer,
html body.customers_login .cx-auth-shell > .cx-auth-canvas-layer,
html body.register .cx-auth-shell > .cx-auth-canvas-layer,
html body.cx-affiliate-portal-page .cx-auth-shell > .cx-auth-canvas-layer,
html body.cx-purple-auth-page .cx-auth-shell > .cx-auth-canvas-layer,
html body.crmexa-admin-auth .cx-auth-shell > .cx-auth-canvas-layer {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  opacity: 0.92 !important;
  visibility: visible !important;
  pointer-events: none !important;
}

html body.customers_login #content .cx-auth-shell .cx-auth-workspace,
html body.register #content .cx-auth-shell .cx-auth-workspace,
html body.cx-affiliate-portal-page #content .cx-auth-shell .cx-auth-workspace,
html body.cx-purple-auth-page #content .cx-auth-shell .cx-auth-workspace,
html body.crmexa-admin-auth #content .cx-auth-shell .cx-auth-workspace,
html body.customers_login .cx-auth-shell .cx-auth-workspace,
html body.register .cx-auth-shell .cx-auth-workspace,
html body.cx-affiliate-portal-page .cx-auth-shell .cx-auth-workspace,
html body.cx-purple-auth-page .cx-auth-shell .cx-auth-workspace,
html body.crmexa-admin-auth .cx-auth-shell .cx-auth-workspace,
html body.customers_login .cx-auth-shell .cx-auth-showcase,
html body.register .cx-auth-shell .cx-auth-showcase,
html body.cx-affiliate-portal-page .cx-auth-shell .cx-auth-showcase,
html body.cx-purple-auth-page .cx-auth-shell .cx-auth-showcase,
html body.crmexa-admin-auth .cx-auth-shell .cx-auth-showcase {
  position: relative !important;
  z-index: 3 !important;
  background: transparent !important;
}

/* Tenant client portal rebuild: admin-shell compatible dimensions and modern client pages. */
html body.customers.cx-client-shell-active:not(.customers_login):not(.register) {
  --cx-client-admin-sidebar-width: 230px;
  --cx-client-admin-header-height: 50px;
  --cx-client-admin-border: #e2e7f3;
  --cx-client-admin-primary: #5a47f2;
  --cx-client-admin-text: #0f172a;
  --cx-client-admin-muted: #64748b;
  min-height: 100vh !important;
  background:
    linear-gradient(rgba(226, 232, 240, 0.45) 1px, transparent 1px),
    linear-gradient(90deg, rgba(226, 232, 240, 0.45) 1px, transparent 1px),
    radial-gradient(circle at 18% 10%, rgba(108, 76, 241, 0.14), transparent 28%),
    radial-gradient(circle at 88% 8%, rgba(14, 165, 233, 0.14), transparent 30%),
    radial-gradient(circle at 72% 94%, rgba(16, 185, 129, 0.12), transparent 28%),
    #f8fbff !important;
  background-size: 106px 106px, 106px 106px, auto, auto, auto, auto !important;
}

html body.customers.cx-client-shell-active:not(.customers_login):not(.register) #wrapper,
html body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content,
html body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content > .container,
html body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content > .container > .row {
  background: transparent !important;
  background-color: transparent !important;
}

html body.customers.cx-client-shell-active:not(.customers_login):not(.register) #wrapper,
html body.customers.cx-client-shell-active:not(.customers_login):not(.register) footer.footer {
  margin-left: var(--cx-client-admin-sidebar-width) !important;
  width: calc(100% - var(--cx-client-admin-sidebar-width)) !important;
}

html[dir="rtl"] body.customers.cx-client-shell-active:not(.customers_login):not(.register) #wrapper,
html[dir="rtl"] body.customers.cx-client-shell-active:not(.customers_login):not(.register) footer.footer {
  margin-left: 0 !important;
  margin-right: var(--cx-client-admin-sidebar-width) !important;
}

html body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content {
  padding-top: calc(var(--cx-client-admin-header-height) + 24px) !important;
}

html body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content > .container {
  width: min(100%, 1680px) !important;
  max-width: 1680px !important;
  padding: 0 28px 42px !important;
}

html body.customers.cx-client-shell-active .cx-client-shell-sidebar {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  bottom: 0 !important;
  width: var(--cx-client-admin-sidebar-width) !important;
  height: 100vh !important;
  min-height: 100vh !important;
  max-height: none !important;
  display: flex !important;
  flex-direction: column !important;
  padding: 0 10px 12px !important;
  border: 0 !important;
  border-right: 1px solid var(--cx-client-admin-border) !important;
  border-radius: 0 !important;
  background: #ffffff !important;
  box-shadow: none !important;
  transform: none !important;
  overflow: hidden !important;
  z-index: 1001 !important;
}

html[dir="rtl"] body.customers.cx-client-shell-active .cx-client-shell-sidebar {
  left: auto !important;
  right: 0 !important;
  border-right: 0 !important;
  border-left: 1px solid var(--cx-client-admin-border) !important;
}

html body.customers.cx-client-shell-active .cx-client-shell-brand {
  min-height: var(--cx-client-admin-header-height) !important;
  height: var(--cx-client-admin-header-height) !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 0 8px !important;
  border-bottom: 1px solid var(--cx-client-admin-border) !important;
  background: #ffffff !important;
}

html body.customers.cx-client-shell-active .cx-client-shell-brand .logo img,
html body.customers.cx-client-shell-active .cx-client-shell-logo img,
html body.customers.cx-client-shell-active .cx-client-shell-brand img {
  max-height: 32px !important;
  max-width: 152px !important;
  width: auto !important;
  object-fit: contain !important;
}

html body.customers.cx-client-shell-active .cx-client-shell-menu-toggle {
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  border: 0 !important;
  border-radius: 9px !important;
  background: transparent !important;
  color: #5c6783 !important;
  box-shadow: none !important;
}

html body.customers.cx-client-shell-active .cx-client-shell-menu-toggle:hover,
html body.customers.cx-client-shell-active .cx-client-shell-menu-toggle:focus {
  background: #ebeeff !important;
  color: var(--cx-client-admin-primary) !important;
}

html body.customers.cx-client-shell-active .cx-client-shell-nav {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  margin-top: 11px !important;
  padding: 0 0 10px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
}

html body.customers.cx-client-shell-active .cx-client-shell-nav ul {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

html body.customers.cx-client-shell-active .cx-client-shell-nav li {
  margin: 0 0 3px !important;
}

html body.customers.cx-client-shell-active .cx-client-shell-nav li > a,
html body.customers.cx-client-shell-active .cx-client-shell-nav li > button.cx-client-shell-group-toggle {
  min-height: 35px !important;
  display: flex !important;
  align-items: center !important;
  gap: 9px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 6px 10px !important;
  border: 1px solid transparent !important;
  border-radius: 10px !important;
  background: transparent !important;
  color: #5c6783 !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  font-weight: 650 !important;
  text-decoration: none !important;
  box-shadow: none !important;
}

html body.customers.cx-client-shell-active .cx-client-shell-nav li > a i:not(.cx-client-shell-group-chevron),
html body.customers.cx-client-shell-active .cx-client-shell-nav li > button.cx-client-shell-group-toggle i:not(.cx-client-shell-group-chevron) {
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid #dfe6f6 !important;
  border-radius: 10px !important;
  background: #f7f8fc !important;
  color: #5a47f2 !important;
  font-size: 13px !important;
}

html body.customers.cx-client-shell-active .cx-client-shell-nav li:nth-child(5n+1) > a i:not(.cx-client-shell-group-chevron),
html body.customers.cx-client-shell-active .cx-client-shell-nav li:nth-child(5n+1) > button i:not(.cx-client-shell-group-chevron) {
  background: #eef2ff !important;
  color: #5a47f2 !important;
}

html body.customers.cx-client-shell-active .cx-client-shell-nav li:nth-child(5n+2) > a i:not(.cx-client-shell-group-chevron),
html body.customers.cx-client-shell-active .cx-client-shell-nav li:nth-child(5n+2) > button i:not(.cx-client-shell-group-chevron) {
  background: #e7f9f3 !important;
  color: #16a06b !important;
}

html body.customers.cx-client-shell-active .cx-client-shell-nav li:nth-child(5n+3) > a i:not(.cx-client-shell-group-chevron),
html body.customers.cx-client-shell-active .cx-client-shell-nav li:nth-child(5n+3) > button i:not(.cx-client-shell-group-chevron) {
  background: #fff7df !important;
  color: #d97706 !important;
}

html body.customers.cx-client-shell-active .cx-client-shell-nav li:nth-child(5n+4) > a i:not(.cx-client-shell-group-chevron),
html body.customers.cx-client-shell-active .cx-client-shell-nav li:nth-child(5n+4) > button i:not(.cx-client-shell-group-chevron) {
  background: #eef8ff !important;
  color: #0284c7 !important;
}

html body.customers.cx-client-shell-active .cx-client-shell-nav li:nth-child(5n+5) > a i:not(.cx-client-shell-group-chevron),
html body.customers.cx-client-shell-active .cx-client-shell-nav li:nth-child(5n+5) > button i:not(.cx-client-shell-group-chevron) {
  background: #fdf2f8 !important;
  color: #db2777 !important;
}

html body.customers.cx-client-shell-active .cx-client-shell-nav li.active > a,
html body.customers.cx-client-shell-active .cx-client-shell-nav li.open > button.cx-client-shell-group-toggle,
html body.customers.cx-client-shell-active .cx-client-shell-nav li > a:hover,
html body.customers.cx-client-shell-active .cx-client-shell-nav li > a:focus,
html body.customers.cx-client-shell-active .cx-client-shell-nav li > button.cx-client-shell-group-toggle:hover,
html body.customers.cx-client-shell-active .cx-client-shell-nav li > button.cx-client-shell-group-toggle:focus {
  border-color: #e3e8fb !important;
  background: #ebeeff !important;
  color: #5147f6 !important;
}

html body.customers.cx-client-shell-active .cx-client-shell-submenu,
html body.customers.cx-client-shell-active .cx-client-shell-native-submenu,
html body.customers.cx-client-shell-active .dropdown-menu.client-ul {
  margin: 4px 0 4px 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

html body.customers.cx-client-shell-active .cx-client-shell-submenu li > a,
html body.customers.cx-client-shell-active .cx-client-shell-native-submenu li > a,
html body.customers.cx-client-shell-active .dropdown-menu.client-ul li > a {
  min-height: 32px !important;
  padding: 5px 10px 5px 36px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}

html[dir="rtl"] body.customers.cx-client-shell-active .cx-client-shell-submenu li > a,
html[dir="rtl"] body.customers.cx-client-shell-active .cx-client-shell-native-submenu li > a,
html[dir="rtl"] body.customers.cx-client-shell-active .dropdown-menu.client-ul li > a {
  padding-right: 36px !important;
  padding-left: 10px !important;
}

html body.customers.cx-client-shell-active .cx-client-shell-group-chevron {
  margin-left: auto !important;
  color: #7b879e !important;
  transition: transform 0.16s ease !important;
}

html body.customers.cx-client-shell-active li.open > .cx-client-shell-group-toggle .cx-client-shell-group-chevron {
  transform: rotate(90deg) !important;
}

html body.customers.cx-client-shell-active .cx-client-shell-workspace {
  flex: 0 0 auto !important;
  margin-top: auto !important;
  padding-top: 6px !important;
  border-top: 1px solid var(--cx-client-admin-border) !important;
  background: #ffffff !important;
}

html body.customers.cx-client-shell-active .cx-client-shell-workspace-card {
  min-height: 53px !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 8px 10px !important;
  border: 1px solid #e5e9f5 !important;
  border-radius: 11px !important;
  background: #f7f8fc !important;
  color: var(--cx-client-admin-text) !important;
  text-decoration: none !important;
}

html body.customers.cx-client-shell-active .cx-client-shell-workspace-icon {
  width: 34px !important;
  height: 34px !important;
  border-radius: 11px !important;
  background: linear-gradient(135deg, #7464ff 0%, #5040f1 100%) !important;
  color: #ffffff !important;
}

html body.customers.cx-client-shell-active .cx-client-shell-workspace-copy strong {
  color: var(--cx-client-admin-text) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}

html body.customers.cx-client-shell-active .cx-client-shell-workspace-copy small {
  color: var(--cx-client-admin-muted) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}

html body.customers.cx-client-shell-active .cx-client-shell-topbar {
  position: fixed !important;
  top: 0 !important;
  left: var(--cx-client-admin-sidebar-width) !important;
  right: 0 !important;
  width: auto !important;
  min-height: var(--cx-client-admin-header-height) !important;
  height: var(--cx-client-admin-header-height) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  padding: 0 18px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--cx-client-admin-border) !important;
  border-radius: 0 !important;
  background: rgba(255, 255, 255, 0.92) !important;
  box-shadow: none !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  z-index: 1000 !important;
}

html[dir="rtl"] body.customers.cx-client-shell-active .cx-client-shell-topbar {
  left: 0 !important;
  right: var(--cx-client-admin-sidebar-width) !important;
}

html body.customers.cx-client-shell-active .cx-client-shell-topbar > .cx-client-shell-topbar-left > .cx-client-shell-menu-toggle {
  display: none !important;
}

html body.customers.cx-client-shell-active .cx-client-shell-topbar-left,
html body.customers.cx-client-shell-active .cx-client-shell-topbar-right {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  min-width: 0 !important;
}

html body.customers.cx-client-shell-active .cx-client-shell-search {
  width: min(540px, 38vw) !important;
  height: 36px !important;
  min-height: 36px !important;
  border-radius: 10px !important;
  border: 1px solid #dbe3ef !important;
  background: #f8fafc !important;
  box-shadow: none !important;
}

html body.customers.cx-client-shell-active .cx-client-shell-add,
html body.customers.cx-client-shell-active .cx-client-shell-icon-btn {
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  border-radius: 10px !important;
  box-shadow: none !important;
}

html body.customers.cx-client-shell-active .cx-client-shell-profile-toggle {
  min-height: 38px !important;
  padding: 5px 7px 5px 14px !important;
  border: 1px solid #e5e9f5 !important;
  border-radius: 999px !important;
  background: #f8fafc !important;
  box-shadow: none !important;
}

html body.customers.cx-client-shell-active .cx-client-shell-profile-text strong {
  color: var(--cx-client-admin-text) !important;
  font-size: 13px !important;
  line-height: 1.05 !important;
  font-weight: 800 !important;
}

html body.customers.cx-client-shell-active .cx-client-shell-profile-text small {
  color: var(--cx-client-admin-muted) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}

html body.customers.cx-client-shell-active .cx-client-shell-avatar {
  width: 30px !important;
  height: 30px !important;
  border-radius: 999px !important;
}

html body.customers.cx-client-shell-active .cx-client-shell-back-admin {
  min-height: 36px !important;
  padding: 8px 13px !important;
  border-radius: 10px !important;
  font-size: 12px !important;
}

body.customers .cx-client-account-page,
body.customers .cx-client-reports-page {
  max-width: 1440px;
  margin: 0 auto;
}

body.customers .cx-client-account-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 22px;
  padding: 24px;
  border: 1px solid rgba(219, 227, 239, 0.86);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: 0 18px 45px rgba(15, 23, 42, 0.07);
}

body.customers .cx-client-account-identity {
  display: flex;
  align-items: center;
  gap: 16px;
  min-width: 0;
}

body.customers .cx-client-account-avatar {
  width: 72px;
  height: 72px;
  min-width: 72px;
  border-radius: 22px;
  border: 4px solid #ffffff;
  object-fit: cover;
  box-shadow: 0 14px 28px rgba(91, 63, 214, 0.16);
}

body.customers .cx-client-account-hero h1 {
  margin: 3px 0 4px;
  color: #0f172a;
  font-size: clamp(28px, 3vw, 44px);
  line-height: 1;
  font-weight: 900;
}

body.customers .cx-client-account-hero p {
  margin: 0;
  color: #64748b;
  font-size: 14px;
  font-weight: 650;
}

body.customers .cx-client-account-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 420px);
  gap: 24px;
  align-items: start;
}

body.customers .cx-client-account-card {
  border: 1px solid rgba(219, 227, 239, 0.92);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 18px 45px rgba(15, 23, 42, 0.06);
  padding: 26px;
}

body.customers .cx-client-account-card-head {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 22px;
}

body.customers .cx-client-account-card-head h2 {
  margin: 0 0 5px;
  color: #172033;
  font-size: 22px;
  font-weight: 900;
}

body.customers .cx-client-account-card-head p {
  margin: 0;
  color: #64748b;
  font-weight: 650;
}

body.customers .cx-client-profile-upload {
  display: flex;
  gap: 16px;
  align-items: center;
  margin-bottom: 24px;
  padding: 16px;
  border: 1px solid #e3e8f4;
  border-radius: 18px;
  background: #f8fbff;
}

body.customers .cx-client-profile-upload-preview img {
  width: 64px;
  height: 64px;
  border-radius: 18px;
  object-fit: cover;
}

body.customers .cx-client-profile-upload-copy {
  flex: 1;
  min-width: 0;
}

body.customers .cx-client-profile-upload-copy label,
body.customers .cx-client-account-form label,
body.customers .cx-client-report-filter label {
  color: #334155;
  font-size: 12px;
  font-weight: 850;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

body.customers .cx-client-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

body.customers .cx-client-account-form .form-control,
body.customers .cx-client-report-filter .form-control {
  min-height: 44px;
  border-color: #dbe3ef;
  border-radius: 13px;
  box-shadow: none;
  color: #0f172a;
  font-size: 14px;
  font-weight: 650;
}

body.customers .cx-client-account-form .form-control:focus,
body.customers .cx-client-report-filter .form-control:focus {
  border-color: #9b8cff;
  box-shadow: 0 0 0 3px rgba(108, 76, 241, 0.12);
}

body.customers .cx-client-profile-image-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  color: #64748b;
  font-weight: 700;
}

body.customers .cx-client-notification-card {
  margin-top: 22px;
  padding: 18px;
  border: 1px solid #e3e8f4;
  border-radius: 18px;
  background: #f8fbff;
}

body.customers .cx-client-notification-card h3 {
  margin: 0 0 12px;
  color: #172033;
  font-size: 16px;
  font-weight: 900;
}

body.customers .cx-client-notification-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 16px;
}

body.customers .cx-client-account-actions {
  margin-top: 24px;
  text-align: right;
}

body.customers .cx-client-last-password-change {
  margin-top: 16px;
  padding: 12px 14px;
  border-radius: 14px;
  background: #f8fbff;
  color: #64748b;
  font-size: 13px;
  font-weight: 700;
}

body.customers .cx-client-service-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

body.customers .cx-client-service-card {
  display: flex;
  flex-direction: column;
  min-height: 154px;
  padding: 18px;
  border: 1px solid #e1e8f5;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.92);
  color: #172033 !important;
  text-decoration: none !important;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.05);
}

body.customers .cx-client-service-card:hover,
body.customers .cx-client-service-card:focus {
  transform: translateY(-2px);
  border-color: rgba(108, 76, 241, 0.24);
  box-shadow: 0 18px 38px rgba(15, 23, 42, 0.09);
}

body.customers .cx-client-service-icon {
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 14px;
  border-radius: 14px;
  background: #eef2ff;
  color: #5a47f2;
  font-size: 17px;
}

body.customers .cx-client-service-card-emerald .cx-client-service-icon { background: #e7f9f3; color: #16a06b; }
body.customers .cx-client-service-card-amber .cx-client-service-icon { background: #fff7df; color: #d97706; }
body.customers .cx-client-service-card-sky .cx-client-service-icon { background: #eef8ff; color: #0284c7; }
body.customers .cx-client-service-card-rose .cx-client-service-icon { background: #fdf2f8; color: #db2777; }

body.customers .cx-client-service-card strong {
  margin-bottom: 7px;
  font-size: 15px;
  font-weight: 900;
}

body.customers .cx-client-service-card small {
  color: #64748b;
  font-size: 13px;
  line-height: 1.45;
  font-weight: 650;
}

body.customers .cx-client-report-actions,
body.customers .cx-client-report-filter {
  display: flex;
  align-items: flex-end;
  gap: 12px;
  flex-wrap: wrap;
}

body.customers .cx-client-report-table {
  margin-top: 18px;
}

body.customers .cx-client-report-table table {
  margin-bottom: 0;
}

body.customers .cx-client-report-table th {
  color: #334155;
  font-size: 12px;
  font-weight: 850;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

@media (max-width: 1199px) {
  body.customers .cx-client-service-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 991px) {
  html body.customers.cx-client-shell-active:not(.customers_login):not(.register) {
    --cx-client-admin-sidebar-width: 230px;
  }

  html body.customers.cx-client-shell-active:not(.customers_login):not(.register) #wrapper,
  html body.customers.cx-client-shell-active:not(.customers_login):not(.register) footer.footer {
    margin-left: 0 !important;
    width: 100% !important;
  }

  html body.customers.cx-client-shell-active .cx-client-shell-sidebar {
    transform: translateX(-100%) !important;
    box-shadow: 0 24px 60px rgba(15, 23, 42, 0.20) !important;
  }

  html[dir="rtl"] body.customers.cx-client-shell-active .cx-client-shell-sidebar {
    transform: translateX(100%) !important;
  }

  html body.customers.cx-client-shell-open .cx-client-shell-sidebar {
    transform: translateX(0) !important;
  }

  html body.customers.cx-client-shell-active .cx-client-shell-topbar {
    left: 0 !important;
    right: 0 !important;
  }

  html body.customers.cx-client-shell-active .cx-client-shell-topbar > .cx-client-shell-topbar-left > .cx-client-shell-menu-toggle {
    display: inline-flex !important;
  }

  html body.customers.cx-client-shell-active .cx-client-shell-search {
    width: min(460px, 48vw) !important;
  }

  body.customers .cx-client-account-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  html body.customers.cx-client-shell-active:not(.customers_login):not(.register) #content > .container {
    padding: 0 14px 34px !important;
  }

  html body.customers.cx-client-shell-active .cx-client-shell-search {
    display: none !important;
  }

  html body.customers.cx-client-shell-active .cx-client-shell-profile-text {
    display: none !important;
  }

  body.customers .cx-client-account-hero {
    align-items: flex-start;
    flex-direction: column;
    padding: 18px;
  }

  body.customers .cx-client-form-grid,
  body.customers .cx-client-notification-grid,
  body.customers .cx-client-service-grid {
    grid-template-columns: 1fr;
  }

  body.customers .cx-client-account-card {
    padding: 18px;
  }
}
