.icon-color-ping {
  color: #dc1964;
}

.icon-color-green {
  color: #20b218;
}

.icon-color-rose {
  color: #e80de4;
}

.icon-color-yellow {
  color: #ffc700;
}

.icon-color-blue {
  color: #1500ff;
}

.icon-color-white {
  color: #fff;
}

.icon-color-coffee {
  color: #723a05;
}

.icon-color-red {
  color: #ff0000;
}

.icon-color-ligh-green {
  color: #3bf93b;
}

.validationError {
  color: red;
}

.ni-plus-circle {
  font-size: 1.6rem;
  color: #20b218;
}

.ni-cross-circle {
  font-size: 1.6rem;
  color: #ff0014;
}

.variant1 {
  border: 2px dotted rgba(111, 0, 255, 0.905);
  border-radius: 12px;
  margin: 5px;
  padding-bottom: 25px;
}

.specs1 {
  border: 2px dotted rgba(0, 255, 149, 0.905);
  border-radius: 12px;
  margin: 5px;
  padding-bottom: 25px;
}

.required:after {
  content: ' *';
  color: red;
}

.multiple_emails-close svg {
  height: unset !important;
}

.custom-icon {
  font-size: 1.125rem;
  line-height: 1;
  vertical-align: middle;
}

.custom-modal-dialog {
  max-width: 70% !important;
}

.err-input-admin {
  border: 1px solid rgb(151, 19, 19) !important;
}

input.err-input-admin::placeholder {
  font-weight: bold;
  opacity: 0.5;
  color: rgb(164, 10, 10);
}

.cursor-pointer {
  cursor: pointer;
}

/* 
.loader {
  padding: 2rem 4rem;
  font-family: monospace;
  font-weight: bold;
  color: #fff;
  border-style: solid;
  font-size: 2rem;
  --charge: hsl(var(--h, 0), 80%, 50%);
  -o-border-image: conic-gradient(
      var(--charge) var(--a),
      transparent calc(var(--a) + 0.5deg)
    )
    30;
  border-image: conic-gradient(
      var(--charge) var(--a),
      transparent calc(var(--a) + 0.5deg)
    )
    30;
  -webkit-animation: load 2s infinite ease-in-out;
  animation: load 2s infinite ease-in-out;
  text-transform: capitalize;
} */

.loader {
  font-family: monospace;
  font-weight: bold;
  font-size: 1.8rem;
  color: #1e293b;
  text-align: center;
  width: 100%;
  /* ensures proper centering under logo */
}

/* dots container with fixed width */
.dots {
  display: inline-block;
  width: 1.5em;
  /* fixed space prevents shifting */
  text-align: left;
}

/* animate dots without shifting text */
.dots::after {
  content: "...";
  animation: dots 1.5s steps(3, end) infinite;
}

@keyframes dots {
  0% {
    clip-path: inset(0 100% 0 0);
  }

  33% {
    clip-path: inset(0 66% 0 0);
  }

  66% {
    clip-path: inset(0 33% 0 0);
  }

  100% {
    clip-path: inset(0 0 0 0);
  }
}

/* #overlay,
#submit-loader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #0000008c;

} */

#pop-up,
#submit-pop-up {
  display: block;
  z-index: 1004;
  position: fixed;
  padding-left: 10px;
  margin: auto;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.mi_buttons {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.mi_button {
  display: flex;
  flex-direction: row;
  gap: 1rem;
}

.opacity0 {
  opacity: 0;
  visibility: hidden;
}

.addedModuleDiv {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 1rem;
}

.grid-col-3 {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 1rem;
}

.grid-box {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}

.grid-box>label {
  margin-bottom: 0 !important;
}

.addedSubModuleDiv {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 1rem;
}

.input_mini_close {
  position: absolute;
  top: -0.5rem;
  right: -0.25rem;
  background: #fff;
  cursor: pointer;
  width: 1rem;
  height: 1rem;
  border-radius: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.input_mini_close>em {
  font-size: 0.925rem;
  color: #707070 !important;
}

.items_end {
  align-items: end;
}

/* .mi_header_sticky {
  position: sticky;
  right: 0;
  top: 4rem;
  z-index: 10;
  
  padding: 0.6rem;
  margin-bottom: 1rem;
} */

.mi_heading {
  font-size: 1.25rem !important;
}

.mi_configuration_scroll {
  max-height: calc(100vh - 350px);
  overflow-y: auto;
  min-height: 300px;
  padding-right: 8px;
}

.mi_configuration_scroll::-webkit-scrollbar {
  width: 8px;
}

.mi_configuration_scroll::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 4px;
}

.mi_configuration_scroll::-webkit-scrollbar-thumb {
  background: #999;
  border-radius: 4px;
}

.mi_configuration_scroll::-webkit-scrollbar-thumb:hover {
  background: #555;
}

.configuration_wrapper {
  padding: 20px;
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  background-color: #fff;
  border-radius: 8px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}

.card_position_relative {
  position: relative;
}

.card_close_icon {
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 2.25rem;
  /* background-color: rgb(255, 152, 152); */
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 1.25rem;
  right: 1.25rem;
  cursor: pointer;
}

.card_close_icon>em {
  font-size: 1.25rem;
  color: red;
}

.mi_plus_space {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: end;
}

#addLang {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: end;
}

.mi_grid_delete {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 2.25rem;
  gap: 0.5rem;
}

.input_delete_icon {
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 2.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.mi_add_input {
  font-size: 1.5rem;
  color: green;
}

.mi_add_form {
  font-size: 1.5rem;
  color: rgb(43, 92, 254);
}

.flex_space {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.price_type {
  margin-top: 1.5rem !important;
}

thead>tr>th {
  text-align: center !important;
  background: #6576ff !important;
  color: #fff;
}

th,
td {
  border: 1px solid #ddd;
  padding: 8px;
  text-align: center !important;
}

.nk-tb-head .nk-tb-col {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  color: #fff;
  font-size: 0.9em;
  border-bottom: 1px solid #dbdfea;
}

.center_align {
  text-align: center !important;
  justify-content: center !important;
}

.flex_collection_container {
  display: flex;
  flex-direction: row;
  gap: 1rem;
}

.sidebar {
  width: 100%;
  padding: 10px;
  overflow-y: auto;
}

/* .main {
  flex-grow: 1;
  padding: 20px;
  background: #444;
  overflow-y: auto;
}

.drop-area {
  min-height: 500px;
  border: 2px dashed #888;
  padding: 10px;
  border-radius: 6px;
}

.dropped-item {
  background: #2b2b2b;
  padding: 10px;
  min-width: 200px;
  flex: 1;
  position: relative;
  border-radius: 4px;
}

.remove-btn {
  position: absolute;
  right: 10px;
  top: 10px;
  color: red;
  cursor: pointer;
}

.placeholder {
  opacity: 0.5;
  font-style: italic;
}

.sortable-placeholder {
  border: 2px dashed #aaa;
  background: #333;
  height: 60px;
  margin: 10px 0;
  border-radius: 4px;
  min-width: 200px;
  flex: 1;
}

.inline-dropArea:empty,
.inline-dropArea:not(:has(.dropped-item)) {
  display: none !important;
} */

.field-sidebar {
  background: #ffffff;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
  padding: 16px;
  border-radius: 8px;
}

.field {
  background: #fff;
  padding: 10px;
  margin: 10px 0;
  cursor: grab;
  border-radius: 4px;
  text-align: center;
  box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;

}

.main {
  flex-grow: 1;
  padding: 20px;
  background: #ffffff;
  overflow-y: auto;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}

.drop-area {
  min-height: 500px;
  border: 2px dashed #d0d7de;
  padding: 20px;
  border-radius: 10px;
  background-color: #f8f9fa;
  transition: all 0.3s ease;
}

.drop-area:hover {
  background-color: #f1f3f5;
}

.inline-dropArea {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin: 12px 0;
  padding: 12px;
  background: #ffffff;
  border: 2px dashed #d0d7de;
  border-radius: 6px;
  min-height: 60px;
  transition: all 0.2s ease-in-out;
  cursor: pointer;
}

.dropped-item {
  background: #f0f4f8;
  padding: 12px 16px;
  min-width: 200px;
  flex: 1;
  position: relative;
  border-radius: 6px;
  border: 1px solid #dee2e6;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.03);
  font-weight: 500;
  color: #212529;
}

.remove-btn {
  position: absolute;
  right: 10px;
  top: 0px;
  color: #ff4d4f;
  cursor: pointer;
  font-size: 20px;
}

.remove-btn:hover {
  color: #d9363e;
}

.placeholder {
  opacity: 0.6;
  font-style: italic;
  color: #adb5bd;
}

.sortable-placeholder {
  border: 2px dashed #adb5bd;
  background: #f1f3f5;
  height: 60px;
  margin: 10px 0;
  border-radius: 6px;
  min-width: 200px;
  flex: 1;
}

.inline-dropArea:empty,
.inline-dropArea:not(:has(.dropped-item)) {
  display: none !important;
}

.nk-head-flex {
  display: flex;
  align-items: end;
  gap: 2rem;
}

.mi-cols {
  width: 12rem !important;
}

.mi_cols_full {
  width: 100% !important;
}

.config_mode {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.config_mode label {
  white-space: nowrap;
}

.dt-container label {
  margin: 0 0.5rem !important;
}

.mi-buttons {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.mi-flex {
  display: flex;
  margin-top: 1rem;
}

.mi-flex.end {
  align-items: end;
}

.configuration-header {
  margin-bottom: 1.5rem;
}

.master_configuration {
  display: flex;
  flex-direction: column;
  width: 100%;
}

.master_configuration.mc-full-width {
  width: 100%;
  height: auto;
}

.mi-flex-col {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

tbody>tr>td {
  color: black;
}

.password-icon {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0.5rem;
}

.preview-form-container {
  display: grid;
  grid-template-columns: 1fr 3fr;
  gap: 1rem;
}

.translated_container {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}

.side-color-one {
  color: #00d3c5 !important;
}

.side-color-two {
  color: #d72765 !important;
}

.side-color-three {
  color: #38a62e !important;
}

.side-color-four {
  color: #86188a !important;
}

.side-color-five {
  color: #0be83b !important;
}

.side-color-six {
  color: #087f87 !important;
}

.side-color-seven {
  color: #2906f7 !important;
}

.side-color-eight {
  color: #597757 !important;
}

.side-color-nine {
  color: #8a0303 !important;
}

.side-color-ten {
  color: #da17ce !important;
}

.side-color-eleven {
  color: #83c9df !important;
}

.side-color-twelve {
  color: #7217da !important;
}

.side-color-thirteen {
  color: #0e26df !important;
}

.side-color-fourteen {
  color: #00ff0d !important;
}

.side-color-fifteen {
  color: #970a84 !important;
}

.side-color-sixteen {
  color: #fc7f02 !important;
}

.side-color-seventeen {
  color: #058dee !important;
}

.side-color-eighteen {
  color: #012a0b !important;
}

.side-color-nineteen {
  color: #ff0df3 !important;
}

.side-color-twenty {
  color: #ff9f04 !important;
}

.side-color-twenty-one {
  color: #fc0542 !important;
}

.side-color-twenty-two {
  color: #05ff9f !important;
}

.side-color-twenty-three {
  color: #05d5ff !important;
}

.side-color-twenty-four {
  color: #ff3f05 !important;
}

.side-color-twenty-five {
  color: #2605ff !important;
}

.side-color-twenty-six {
  color: #7e05ff !important;
}

.side-color-twenty-seven {
  color: #1cbc00 !important;
}

.side-color-twenty-eight {
  color: #ff00d9 !important;
}

.side-color-twenty-nine {
  color: #8094ae !important;
}

.side-color-thirty {
  color: #a6ff4e !important;
}

.side-color-thirty-one {
  color: #1601fc !important;
}

.side-color-thirty-two {
  color: #b400c1 !important;
}

.side-color-thirty-three {
  color: #c2b800 !important;
}

.side-color-thirty-four {
  color: #23f310 !important;
}

.side-color-thirty-five {
  color: #ffffff !important;
}

.side-color-thirty-six {
  color: #cd1717 !important;
}

.side-color-thirty-seven {
  color: #58db0c !important;
}

.side-color-thirty-eight {
  color: #0b1876 !important;
}

.side-color-thirty-nine {
  color: #e516f8 !important;
}

.side-color-fourty {
  color: #079c4f !important;
}

/* Latest Changes - July */

.card-empty {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.form-control-wrap {
  position: relative;
}

.form-control-wrap>.error {
  position: absolute;
  left: 0;
  color: #fff;
  font-size: 11px;
  line-height: 1;
  bottom: calc(100% + 4px);
  background: #e85347;
  padding: 0.3rem 0.5rem;
  z-index: 1;
  border-radius: 6px;
  white-space: nowrap;
  left: auto;
  right: 0;
}

.form-control-wrap>.error::before {
  left: auto;
  right: 10px;
  border-right-color: #ed756b;
  border-left-color: transparent;
  bottom: -4px;
  position: absolute;
  content: "";
  height: 0;
  width: 0;
  border-left: 6px solid #ed756b;
  border-left-color: rgb(237, 117, 107);
  border-left-color: rgb(237, 117, 107);
  border-right: 6px solid transparent;
  border-right-color: transparent;
  border-right-color: transparent;
  border-bottom: 6px solid transparent;
  bottom: -6px;
}

.err-msg-position {
  text-align: center;
  margin-top: 10px;
}

.err-msg {
  color: rgb(151, 19, 19) !important;
}

.success-msg {
  color: green !important;
}

.mi-width-wrapper.xs {
  width: 18%;
}

.mi-width-wrapper.sm {
  width: 8rem !important;
}

.mi-width-wrapper.md {
  display: flex;
  gap: 1rem;
  width: 15%;
}

.mi-width-wrapper.lg {
  display: flex;
  gap: 1rem;
  width: 20%;
}

.mi-width-wrapper.xlg {
  display: flex;
  gap: 1rem;
  width: 35%;
}

.mi-width-wrapper.xxl {
  display: flex;
  gap: 1rem;
  width: 50%;
}


.form-control-select {
  background: white !important;
}

.mi-flex-between {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.mi-flex-space {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.mi-grid-end {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: end;
  gap: 2rem;
}

.mi-grid-4 {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  align-items: center;
  /* gap: 0.5rem; */
}

section {
  margin: 50px;
}

.clickable {
  color: #007bff;
  cursor: pointer;
}

.collapsed {
  display: none;
}

.expanded {
  display: table-row;
}

.field-block {
  margin-bottom: 30px;
}

@media (max-width: 768px) {
  table {
    display: block;
    overflow-x: auto;
  }
}

.field-select {
  position: absolute;
  background-color: #e0e0e0;
  overflow: auto;
  max-height: 30%;
  border-radius: 5px;
  padding-left: 10px;

}

.multiselector {
  margin: 10px 0;
  background-color: rgb(73, 62, 62);
  padding: 10px;
  border-radius: 8px;

}

.inside-fileds:hover {
  width: 100%;
  background-color: #f2f4f6;
  border-radius: 5px;
  cursor: pointer;
}

.multiselector h4 {
  display: inline-block;
  margin-right: 10px;
  background: #dbeafe;
  padding: 5px 10px;
  border-radius: 5px;
  color: #000;
}

/* .chosen-select {
  min-width: 160px !important;
  width: auto !important;
} */
.field-select.chosen-container {
  max-height: 300px;
  overflow-y: auto;
  border-radius: 5px;
  box-sizing: border-box;
  background-color: #d31010;
}

.amount-save {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  background-color: #e6f7ec;
  border-radius: 50%;
  color: #20b218;
  font-size: 16px;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
}

.amount-save:hover {
  background-color: #20b218;
  color: #fff;
  transform: scale(1.1);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
}

.amount-save:active {
  transform: scale(0.95);
}

.amount-edit {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  background-color: #f0f4ff;
  border-radius: 50%;
  color: #1a73e8;
  font-size: 16px;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
}

.amount-edit:hover {
  background-color: #1a73e8;
  color: #fff;
  transform: scale(1.1);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
}

.amount-edit:active {
  transform: scale(0.95);
}

.text-green {
  color: #2aa83b;
}

.align-right {
  width: 70%;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 1rem;
}

.toggle-icon {
  transition: transform 0.3s ease;
}

button[aria-expanded="true"] .toggle-icon {
  transform: rotate(180deg);
}

.note_text {
  font-size: 10px;
  color: red;
}

.chart_container {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(500px, 1fr));
  gap: 30px;
  padding: 20px 0;
}

.chart_container>div {
  background: #ffffff;
  border: 1px solid #e6e8ef;
  border-radius: 12px;
  padding: 10px 15px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
  transition: box-shadow .2s ease, transform .15s ease;
}

.chart_container>div:hover {
  transform: translateY(-3px);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08);
}

.chart_container>div>div {
  height: 330px !important;
}

.chart_container .chart_title {
  font-size: 20px;
  font-weight: 600;
  text-align: center;
  margin-bottom: 10px;
  color: #2d2f38;
}

.cards-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr));
  gap: 20px;

}

.reports_card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  word-wrap: break-word;
  background-clip: border-box;
  background: #ffffff;
  border: 1px solid #e6e8ef;
  border-radius: 12px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
}

.reports_card:hover {
  transform: translateY(-8px) scale(1.01);
  box-shadow: 0 20px 50px rgba(2, 6, 23, 0.7);
  cursor: pointer;
}

.card-header,
.card-footer {
  background-color: transparent !important;
}

.marketting-heading {
  text-align: center;
  margin-top: 1rem;
}

.payments_container {
  display: flex;
  justify-content: space-around;
  align-items: center;
}

#is_247 {
  width: 18px;
  height: 18px;
  cursor: pointer;
  accent-color: blue;
}

.review-container {
  max-width: 100%;
  margin: 20px auto;
  padding: 50px 50px;

}

.review-title {
  font-size: 40px;
  font-weight: 800;
  color: #1A1446;
  margin-bottom: 10px;
}

.review-meta {
  color: #7a7a7a;
  font-size: 14px;
  margin-bottom: 35px;
}

.review-description {
  font-size: 18px;
  line-height: 1.7;
  color: #2c2c2c;
  margin-bottom: 35px;
}

.review-image img {
  width: 100%;
  border-radius: 2px;
  margin: 25px 0;
}

.review-longdesc {
  font-size: 18px;
  line-height: 1.8;
  color: #333;
}

.review-longdesc img {
  max-width: 100%;
  border-radius: 2px;
  margin: 25px 0;
}

#blogSlider .carousel-control-prev-icon,
#blogSlider .carousel-control-next-icon {
  filter: invert(1);
}

#blogSlider .carousel-control-prev,
#blogSlider .carousel-control-next {
  width: 50px;
}

#blogSlider .carousel-item img {
  height: 400px;
  width: 100%;
  object-fit: cover;
  border-radius: 2px;
}

.review-body {
  margin-top: 0;
}

.review-header {
  position: relative;
  margin-bottom: 80px;
}

.review-header .back-btn {
  position: absolute;
  top: 0;
  right: 0;
}




/* rework */
.dropdown-container {
  position: relative;
  width: 100%;
}

.dropdown-btn {
  width: 100%;
  padding: 12px;
  border: 1px solid #777;
  border-radius: 6px;
  background: #fff;
  cursor: pointer;
  font-weight: 500;
}

.dropdown-list {
  position: relative;
  /* FIXED CHANGE */
  width: 100%;
  background: white;
  border: 1px solid #aaa;
  border-radius: 6px;
  max-height: 200px;
  overflow-y: auto;
  z-index: 99999;
  padding: 6px;
  margin-top: 5px;
  display: none;
  box-shadow: 0 3px 10px rgba(0, 0, 0, .15);
}


.dropdown-item {
  display: flex;
  align-items: center;
  padding: 6px 2px;
  cursor: pointer;
}

.dropdown-item input {
  margin-right: 10px;
}

#item_end {
  display: flex;
  align-items: center;
  justify-content: space-around;
  padding: 10px 0;
}

#item_end .total-wrapper {
  font-weight: 600;
  font-size: 16px;
}

.popup-fixed {
  border-radius: 2px !important;
}

.swal2-confirm {
  background-color: #6576ff !important;
  border-radius: 4px !important;
}

.popup-fixed {
  border-radius: 2px !important;
}

.btn {
  white-space: nowrap;
}

.dropdown-btn {
  border: 1px solid #ccc;
  padding: 10px;
  border-radius: 2px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 14px;
}

.dropdown-list {
  border: 1px solid #ccc;
  border-radius: 2px;
  margin-top: 5px;
  display: none;
  max-height: 200px;
  overflow-y: auto;
  padding: 8px;
}

.template-checkbox {
  accent-color: #6576ff !important;
}

.newsletter-checkbox {
  accent-color: #6576ff !important;
  -webkit-appearance: checkbox !important;
  appearance: auto !important;
}

.review-container {
  max-width: 100%;
  margin: 20px auto;
  padding: 50px 50px;
}

.review-title {
  font-size: 40px;
  font-weight: 800;
  color: #1A1446;
  margin-bottom: 10px;
}

.review-meta {
  color: #7a7a7a;
  font-size: 14px;
  margin-bottom: 35px;
}

.review-description {
  font-size: 18px;
  line-height: 1.7;
  color: #2c2c2c;
  margin-bottom: 35px;
}

.review-image img {
  width: 100%;
  border-radius: 2px;
  margin: 25px 0;
}

.review-longdesc {
  font-size: 18px;
  line-height: 1.8;
  color: #333;
}

.review-longdesc img {
  max-width: 100%;
  border-radius: 2px;
  margin: 25px 0;
}

#blogSlider .carousel-control-prev-icon,
#blogSlider .carousel-control-next-icon {
  filter: invert(1);
}

#blogSlider .carousel-control-prev,
#blogSlider .carousel-control-next {
  width: 50px;
}

#blogSlider .carousel-item img {
  height: 400px;
  width: 100%;
  object-fit: cover;
  border-radius: 2px;
}

.accordion-button-custom {
  display: block;
  width: 100%;
  text-align: center;
  font-size: 2rem;
  padding: 0.25rem 1rem;
  border: none;
  outline: none;
}

.accordion-white-arrow::after {
  content: "";
  float: right;
  margin-top: 15px;
  border-top: 6px solid #fff;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  transition: transform 0.2s ease;
}

.accordion-button-custom[aria-expanded="true"]::after {
  transform: rotate(180deg);
}

.inner-table {
  font-size: 12px;
  border-color: #e5e7eb;
}

.inner-table td:first-child {
  width: 35%;
  font-weight: 500;
  color: #444;
}

.inner-table td:last-child {
  color: #111;
}

.inner-table td {
  vertical-align: middle;
  font-size: 13px;
}

.inner-table tr:last-child td {
  border-bottom: 0;
}

.card-header {
  background: #f8f9fa;
  border-bottom: 1px solid #e5e5e5;
}

.card-header-boeder-none {
  background: #ffffff;
  padding: 10px;

}

.card-header a {
  display: block;
  text-decoration: none;
}

.fw-600 {
  font-weight: 600;
}

.accordion .card {
  border: 1px solid #e5e9f2;
  border-radius: 2px;
  overflow: hidden;
}

.accordion .card-header {
  background: #f8f9fb;
  padding: 10px 14px;
  cursor: pointer;
  position: relative;
  border-bottom: 1px solid #e5e9f2;
}

.accordion .card-header::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 4px;
  height: 100%;
  background: #6576ff;
  opacity: 0.85;
}

.accordion .card-header h6 {
  font-size: 14px;
  font-weight: 600;
  margin: 0;
  color: #1f2937;
}

.accordion .card-header a {
  display: block;
  color: inherit;
  text-decoration: none;
}

.accordion .card-header:hover {
  background: #eef2ff;
}

.accordion .card-header a::after {
  content: "▾";
  float: right;
  font-size: 14px;
  transition: transform 0.2s ease;
}

.accordion .card-header a.collapsed::after {
  transform: rotate(-90deg);
}

.accordion .card-body {
  background: #ffffff;
  padding: 0;
}

.accordion table {
  margin-bottom: 0;
}

.accordion table td {
  padding: 8px 12px;
  font-size: 13px;
  border-color: #edf0f7;
}



.accordion .text-muted {
  font-size: 13px;
}

.accordion-body {
  padding: 0 !important;
}

.accordion>.card:first-child {
  margin-top: 0 !important;
}

.accordion>.card:last-child {
  margin-bottom: 0 !important;
}

.accordion .card {
  margin-bottom: 4px;
}

.accordion table {
  margin-bottom: 0 !important;
}

.accordion .card-header {
  margin: 0;
}

.modal-xxl {
  max-width: 1400px;
}

@media (min-width: 1600px) {
  .modal-xxl {
    max-width: 1600px;
  }
}

.mc-back-btn-wrap {
  margin-top: 30px;
}

.mc-preview-back {
  margin-top: 90px;
}

.back-btn-group {
  margin-top: 28px;
}

.mt-4-5 {
  margin-top: 2rem;
}

.wf-step {
  display: none;
}

.wf-step.wf-active {
  display: block;
}

.wf-row {
  display: flex;
  gap: 16px;
}

.wf-col {
  flex: 1;
}

.module-pair-table {
  width: 100%;
  table-layout: fixed;
  font-size: 16px;
  margin-bottom: 0 !important;
}

.module-pair-table .form-check-input {
  width: 18px;
  height: 18px;
  cursor: pointer;
}

.module-pair-table span {
  font-size: 16px;
}

.module-pair-table th,
.module-pair-table td {
  width: 50%;
  vertical-align: top;
  padding: 12px 16px;
}

.module-pair-table tr {
  background-color: rgb(255, 255, 255);
}

.modules-pairs-wrapper {
  overflow-x: auto;
}

.table-responsive {
  overflow-x: auto;
}

/* Action column: no wrap */
.dataTables_wrapper table.dataTable td:last-child {
  white-space: nowrap;
  max-width: none;
}

.full-screen-modules .card {
  border-radius: 0;
}


.module-head {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
}

.module-head span {
  margin-top: 6px;

}

.option-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  column-gap: 16px;
  row-gap: 14px;
  width: 100%;
  padding: 8px 4px;
}

.option-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  white-space: normal;
  justify-content: space-between;
  min-width: 0;
}

.option-inner {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  flex: 1;
  min-width: 0;
}

.option-text {
  display: inline-block;
  word-break: break-word;
  flex: 1;
  min-width: 0;
  line-height: 1.4;
}

.back-btn-fix {
  margin-right: -32px;
}

.msg-right .delete-btn {
  position: absolute;
  right: 10px;
  bottom: 20px;
  font-size: 12px;
}

.accordion-button-custom {
  padding: 6px 10px;
  font-weight: 600;
}

.form-check-input {
  width: 14px;
  height: 14px;
}

.accordion-body {
  padding: 6px 8px;
}

.remove-step {
  color: #dc2626 !important;
  border-color: #dc2626 !important;
  background-color: transparent;
  transition: all 0.2s ease-in-out;
}

.remove-step:hover {
  background-color: #fee2e2 !important;
  color: #b91c1c !important;
  border-color: #fca5a5 !important;
}

/* Client Support Details Card  */
.detail-card,
.msg-box {
  border-radius: 2px !important;
  border: 1px solid #e2e3e7;
  background: #ffffff;
  box-shadow: none !important;
  position: relative;
}

.detail-card {
  padding: 14px 18px;
  transition: background 0.15s;
}

.detail-card:hover {
  background: #fafafa;
}

.section-title {
  font-size: 24px;
  font-weight: 650;
  margin-bottom: 16px;
  color: #333;
}

.section-title.no-line {
  font-size: 24px;
  margin-bottom: 16px;
  color: #333;
}

.detail-card h6 {
  font-size: 13px;
  color: #6b7280;
  margin-bottom: 4px;
}

.detail-card p {
  font-size: 15px;
  color: #111;
}

.badge-status {
  display: inline-block;
  padding: 2px 8px !important;
  font-size: 11px !important;
  line-height: 1.1;
  font-weight: 600;
  border-radius: 2px !important;
}

.chat-wrapper {
  max-height: 50vh;
  overflow-y: auto;
}

.msg-box {
  padding: 10px 14px;
  margin-bottom: 12px;
}

.msg-left,
.msg-right {
  background: #ffffff !important;
  border: 1px solid #e2e3e7 !important;
  margin-left: 0;
}


.msg-left {
  border-left: 2px solid #4f46e5 !important;
}

.msg-right {
  border-right: 2px solid #4f46e5 !important;
  margin-left: auto;
}

.msg-header {
  font-size: 17px;
  margin-bottom: 3px;
  font-weight: 600;
}

.msg-body {
  font-size: 16px;
  line-height: 1.35;
  color: #1f2937;
}

.msg-time {
  font-size: 10px;
  margin-top: 4px;
  color: #6b7280;
}

#support_message {
  border-radius: 2px;
  padding: 10px;
  font-size: 14px;
  border-color: #d1d5db;
}

#support_message:focus {
  border-color: #6366f1;
  box-shadow: 0 0 0 2px rgba(99, 102, 241, 0.2);
}

.btn-send {
  padding: 8px 22px;
  font-size: 14px;
  border-radius: 2px;
}

/* .card-inner {
    padding: 20px !important;
} */

.msg-header,
.msg-body {
  display: inline;
  vertical-align: middle;
}

.msg-header::after {
  content: " | ";
  color: #9ca3af;
  font-weight: 400;
  margin: 0 4px;
}


.msg-header,
.msg-body {
  display: inline;
  vertical-align: middle;
}

.msg-header::after {
  content: " | ";
  color: #9ca3af;
  font-weight: 400;
  margin: 0 4px;
}

.delete-btn {
  float: right;
  font-size: 12px;
  margin-left: 12px;
}

.msg-time {
  display: block;
  clear: both;
  margin-top: 4px;
  font-size: 14px;
  color: #6b7280;
}

.checkbox-center {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 15px;
  line-height: 1;
  cursor: pointer;
}

.checkbox-center .form-check-input {
  margin: 0;
  position: relative;
  top: 0;
}

.sub-module-text {
  line-height: 1;
  white-space: nowrap;
}

.bookmark-link {
  display: inline-flex;
  align-items: center;
  position: relative;
  text-decoration: none;
}

.bookmark-icon {
  font-size: 1.2rem;
  cursor: pointer;
}

.hover-text {
  position: absolute;
  top: -25px;
  left: 50%;
  transform: translateX(-50%);
  background: #000;
  color: #fff;
  font-size: 1px;
  font-weight: 500;
  padding: 2px 6px;
  border-radius: 3px;
  white-space: nowrap;

  opacity: 0;
  visibility: hidden;
  transition: opacity 0.1s ease-in-out;
}

.bookmark-link:hover .hover-text {
  opacity: 1;
  visibility: visible;
}


.hover-text::after {
  content: '';
  position: absolute;
  bottom: -4px;
  left: 50%;
  transform: translateX(-50%);
  border-width: 4px;
  border-style: solid;
  border-color: #000 transparent transparent transparent;
}

.bi-bookmark-check-fill.fs-4 {
  color: #007bff;
}

.bi-gear-fill.fs-4 {
  color: #28a745;
}

.update-btn {
  width: 120px;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* custom range field */
.input-daterange .date-picker-custom {
  height: 32px;
  line-height: 32px;
  padding: 4px 10px;
}

.input-daterange .input-group-addon {
  height: 32px;
  padding: 0 10px;
  display: flex;
  align-items: center;
}

.form-select.js-select2 {
  height: 32px;
}

/* client suport pag ecard */
/* ONLY table should scroll horizontally */
.nk-tb-overflow-wrap.enterprise-requests-table {
  width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  /* smooth scroll for Mac */
}

/* Prevent table from shrinking */
.nk-tb-overflow-wrap.enterprise-requests-table table {
  min-width: 1200px;
  /* columns count-ku adjust pannalaam */
  white-space: nowrap;
}

/* Scroll bar neat-aa iruka */
.nk-tb-overflow-wrap.enterprise-requests-table::-webkit-scrollbar {
  height: 8px;
}

.nk-tb-overflow-wrap.enterprise-requests-table::-webkit-scrollbar-thumb {
  background: #c1c1c1;
  border-radius: 4px;
}

/* Client Support page */
.client-support-page .nk-block-head {
  padding-left: 0;
  padding-right: 0;
}

.client-support-page .nk-block-between {
  flex-wrap: wrap;
}

.client-support-page .align-right {
  margin-left: auto;
}

.client-support-page .nk-tb-overflow-wrap,
.client-support-page .card-inner {
  overflow-x: auto;
}

.client-support-page table {
  min-width: 1200px;
}

.client-support-page .nk-block-head-content,
.client-support-page .align-right {
  flex-shrink: 0;
}


.swal-close-black {
  color: #000 !important;
  font-size: 22px !important;
  font-weight: normal !important;
  top: 14px !important;
  right: 18px !important;
}

/* make all groups equal height */
.equal-group {
  display: flex;
  flex-direction: column;
}

/* label height fixed */
.equal-group .form-label {
  min-height: 20px;
  margin-bottom: 6px;
}

/* control area fixed height */
.equal-group .form-control-wrap,
.equal-group .radio-control {
  min-height: 44px;
  /* SAME as input height */
  display: flex;
  align-items: center;
}

/* radio alignment */
.radio-control {
  gap: 16px;
}

/* remove radio vertical jump */
.custom-control {
  margin-bottom: 0;
  /* #featuresTable thead th {
  color: #ffffff !important;
  background-color: #343a40;
} */
}

.submodule-chip {
  /* background-color: #eef2ff; */
  color: #6366f1;
  /* padding: 3px 10px; */
  /* border-radius: 4px; */
  /* font-size: 14px; */
  font-weight: 600;
  line-height: 1.4;
}

.nk-block-title {
  white-space: nowrap;
}

.table-scroll-wrapper {
  max-height: 260px;
  overflow-y: auto;
}

#featuresTable {
  width: 100%;
  table-layout: fixed;
}

#featuresTable th:nth-child(1),
#featuresTable td:nth-child(1) {
  width: 12%;
}

#featuresTable th:not(:first-child):not(:last-child),
#featuresTable td:not(:first-child):not(:last-child) {
  width: 10%;
  text-align: center;
}

#featuresTable th:last-child,
#featuresTable td:last-child {
  width: 6%;
  text-align: center;
}

#featuresTable thead th {
  position: sticky;
  top: 0;
  color: #fff;
  z-index: 1;
}

#subject-standard,
#language-select,
#question-language-select,
#subject-general,
#question-examtag,
#question-skilltag,
#subject-standard .vscomp-wrapper,
#question-examtag .vscomp-wrapper,
#question-skilltag .vscomp-wrapper {
  width: 100%;
  max-width: 520px;
}

@media (min-width: 1400px) {

  #subject-standard,
  #language-select,
  #question-language-select,
  #subject-general,
  #question-examtag,
  #question-skilltag,
  #subject-standard .vscomp-wrapper,
  #question-examtag .vscomp-wrapper,
  #question-skilltag .vscomp-wrapper {
    max-width: 750px;
  }

  .option-innerr {
    display: flex;
    gap: 5px;
  }
}

@media screen and (max-width: 1450px) {
  .option-grid {
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  }

  .option-item {
    gap: 8px;
  }

  .option-text {
    min-width: 0;
  }
}

.global-loader {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.7);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;

}

.global-loader .loader-wrapper {
  text-align: center;
}


.ui-datepicker {
  max-width: 280px !important;
  box-sizing: border-box;
}




.nk-tb-col-tools {
  display: flex !important;
  justify-content: center !important;
}

/* ── DataTable action column (ni-more-h) alignment fix ── */
td .nk-tb-col-tools,
.nk-tb-col-tools {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  width: 100%;
}

.nk-tb-col-tools .nk-tb-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 2px;
  flex-wrap: nowrap;
}

.nk-tb-col-tools .nk-tb-actions>li {
  display: inline-flex;
  align-items: center;
}

.nk-tb-col-tools .nk-tb-actions .drodown,
.nk-tb-col-tools .nk-tb-actions .dropdown {
  position: relative;
  display: inline-flex;
  align-items: center;
}

.nk-tb-col-tools .nk-tb-actions .btn-trigger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  padding: 0;
}

.nk-tb-col-tools .nk-tb-actions .dropdown-menu {
  min-width: 140px;
}

/* DataTable action column width constraint */
.dt-action-col {
  width: 80px !important;
  min-width: 80px;
  max-width: 100px;
  text-align: right;
  overflow: visible;
}

.timeline-item::before {
  background: #dbdfea;
}


.timeline-item.line-approved::before {
  background: #1ee0ac;
}



.wrap_checkbox {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 2rem;
  gap: 0.5rem;
  align-items: center;
}

.wrap_checkbox_container {
  display: flex;
  align-items: center;
  justify-content: start;
}

.flex-end {
  display: flex;
  justify-content: end;
  align-items: start;
  margin-bottom: 1rem;
}

.format_text {
  font-size: 9px !important;
}

.vscomp-options-list {
  height: 150px !important;
  width: 100% !important;
}

.analyze_check_container {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 6rem;
}

#analyzeStatus_margin {
  margin-bottom: 0;
}

.toggle-expand-content .select2-container {
  width: 180px !important;
}

.toggle-expand-content .select2-selection--single {
  min-width: 180px;
}

/*  */
.chart-box {
  height: 380px;
  max-height: 380px;
  width: 100%;
  position: relative;
}

.chart-box canvas {
  height: 100% !important;
  width: 100% !important;
}

.stat-card {
  background: #fff;
  border: 1px solid #eee;
  border-radius: 2px;
  transition: all 0.25s ease;
  cursor: default;
}

.stat-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
}

.card_height {
  height: 335px !important;
  display: flex;
  align-items: center;
  justify-content: center;
}

.trigger-btn {
  padding: 10px;
  width: 150px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.accordion-button-defult {
  display: block;
  width: 100%;
  text-align: center;
  font-size: 2rem;
  padding: 0.25rem 1rem;
  border: none;
  outline: none;
}

.header-edit-wrapper {
  position: relative;
}

.header-key-edit {
  position: absolute;
  top: 0;
  left: 0;
  max-width: 25% !important;
  min-height: 45px !important;
  width: 30px;
  font-size: large;

}

.header-edit-wrapper>.key-error {
  position: absolute;
  left: 0;
  color: #fefefe;
  font-size: 11px;
  line-height: 1;
  bottom: calc(100% + 4px);
  background: #ed756b;
  padding: 0.3rem 0.5rem;
  z-index: 1;
  border-radius: 3px;
  white-space: nowrap;
  left: 18%;

}

.full-width-select {
  width: 100% !important;
}

.full-width-select .select2-container {
  width: 100% !important;
}

.full-width-select .select2-selection {
  width: 100% !important;
  min-height: 42px !important;
  display: flex;
  align-items: center;
}

.correct-answer-row {
  background-color: #e6f7ea;
}

#wrap_checkbox_migration {
  display: flex;
  align-items: end;
  justify-content: space-around;
  height: 40px;
}

#fields_data {
  display: flex;
  flex-direction: column;
}

.fields_row {
  width: 100%;
}

.fields_data_body,
.collections_data_body {
  width: 100%;
  height: 50vh;
  overflow-y: auto;
}

.card_shadow {
  border: 1px solid #dbdfea;
}

.card_header_center {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.remove_max_width {
  max-width: none !important;
}

.draggable_same_height {
  height: 48px !important;
  justify-content: space-evenly;
}

.credentials {
  font-size: 1.3rem;
  color: #526484;
  opacity: .5;
  padding-top: 4px;
  padding-right: 8px;
}

.credentials:hover {
  color: #000;
}

/* reduce image height */
.thumb-img {
  height: 120px;
  /* 🔥 reduce from 180 */
  object-fit: cover;
}

/* reduce inner padding */
.card-inner {
  padding: 12px !important;
}

/* remove extra gap */
.project-head {
  margin-bottom: 6px;
}

/* smaller title */
.title {
  font-size: 14px;
  margin-bottom: 2px;
}

/* small category text */
.sub-text {
  font-size: 12px;
}

/* description limit to 2 lines */
.project-head p {
  font-size: 12px;
  line-height: 1.3;
  height: 32px;
  overflow: hidden;
  margin-bottom: 6px;
}

/* smaller play button */
.play-btn {
  width: 32px;
  height: 32px;
  font-size: 12px;
  background: rgba(255, 255, 255, 0.9);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

#field-select .vscomp-wrapper.has-clear-button .vscomp-toggle-button {
  padding-right: 90px !important;
}

.newsletter-id-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

.newsletter-id-wrapper input {
  margin: 0 !important;
}

.config-page .form-control-wrap>.error {
  bottom: calc(100% - 25px);
  right: 0;
  transform: translateY(0);
  padding: .35rem .6rem;
  font-size: 12px;
}

.menu-page .form-control-wrap>.error {
  left: 0px;
  transform: translateY(30px);
  /* FIXED */
  padding: .35rem .6rem;
  font-size: 12px;
}

.nk-block-head-content-title {
  width: auto;
  flex-shrink: 0;
}

.bg-yellow {
  background-color: #ffc107 !important;
}

#client-list {
  max-height: 500px;
  /* overflow-y: auto; */
  border-radius: 8px;
}

.client-item {
  cursor: pointer;
  transition: all 0.3s ease;
  border-left: 4px solid transparent;
}

.client-item:hover {
  background: #f3f6ff;
  border-left: 4px solid #6576ff;
}

.active-client {
  background: #e9edff;
  border-left: 4px solid #6576ff;
  font-weight: 600;
}

#map_view {
  border-radius: 10px;
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.08);
}

.nk-tb-col-tools li {
  cursor: pointer;
}

.sorting_disabled {
  width: 60px !important;
}

#data-table-list-all {
  width: 100% !important;
}

.form-control-select:has(.select2-container)::after {
  display: none !important;
}

.form-control-select:has(.vscomp-wrapper)::after {
  display: none !important;
}

.form-control-select:has(.vscomp-wrapper) {
  border: none !important;
  background: transparent !important;
  padding: 0 !important;
}

.d-none-important {
  display: none !important;
}

/* ===== MASTER CONFIGURATION UI ===== */

.master_configuration_container {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

/* Card */
.card-bordered {
  border-radius: 12px;
  transition: all .2s ease;
}

.card-bordered:hover {
  box-shadow: 0 8px 20px rgba(0, 0, 0, .08);
}

/* Grid wrapper */
.mc-grid {
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding: 16px;
}

/* Input groups */
.mi-grid-4 {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 12px;
}

/* Option groups */
.config_select_type_option_group,
.config_radio_type_option_group,
.config_check_type_option_group {
  display: flex;
  gap: 10px;
  align-items: center;
}

/* Rules section */
.mi_buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

/* Select option container */
.flex {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

/* Add icon */
.add_btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 6px;
  background: #eef2ff;
  cursor: pointer;
  transition: all .2s ease;
}

.add_btn:hover {
  background: #dbe3ff;
}

/* Delete icon */
.card_close_icon {
  position: absolute;
  right: 46px;
  top: 10px;
  cursor: pointer;
  display: flex;
  gap: 8px;
  align-items: center;
  width: auto;
  height: auto;
  border-radius: 0;
  justify-content: flex-start;
}

.mc_grid_key {
  padding-left: 10px;
}

.card_close_icon .mc-clone-btn {
  color: #6576ff !important;
  transition: color .2s ease;
}

.card_close_icon .mc-clone-btn:hover {
  color: #3d4edb !important;
}

.card_close_icon .ni-trash {
  color: #e85347;
  transition: color .2s ease;
}

.card_close_icon .ni-trash:hover {
  color: #c0392b;
}

/* Field flags row: Enter Key + checkboxes in one aligned row */
.mc-flags-row {
  display: flex;
  align-items: flex-end;
  gap: 16px;
  flex-wrap: wrap;
  width: 100%;
}

.mc-flags-key {
  flex: 0 0 200px;
  max-width: 100%;
}

.mc-flags-checks {
  flex: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 6px 20px;
  align-items: center;
  padding-bottom: 4px;
}

/* Accordion: collapsed card hides content grid */
.card.mc-card-collapsed .mc-grid {
  display: none;
}

.card.mc-card-collapsed {
  cursor: pointer;
}

.card.mc-card-collapsed .card_close_icon {
  display: none;
}

/* Expand/Collapse icon indicator */
.mc-expand-collapse-icon {
  position: absolute;
  right: 16px;
  top: 7px;
  cursor: pointer;
  font-size: 18px;
  color: #6c757d;
  transition: transform 0.3s ease, color 0.3s ease;
  user-select: none;
}

.mc-expand-collapse-icon:hover {
  color: #495057;
}

.card.mc-card-collapsed .mc-expand-collapse-icon {
  transform: rotate(180deg);
}

.config_mode {
  display: grid;
  grid-template-columns: repeat(5, auto);
  gap: 10px;
}

/* Responsive */

@media (max-width: 1200px) {

  .mi-grid-4 {
    grid-template-columns: repeat(3, 1fr);
  }

  .config_mode {
    grid-template-columns: repeat(3, auto);
  }

}

@media (max-width: 768px) {

  .mi-grid-4 {
    grid-template-columns: repeat(2, 1fr);
  }

  .config_mode {
    grid-template-columns: repeat(2, auto);
  }

  .mc-flags-key {
    flex: 0 0 100%;
  }

}

@media (max-width: 480px) {

  .mi-grid-4 {
    grid-template-columns: 1fr;
  }

  .config_mode {
    grid-template-columns: 1fr;
  }

}

.mi-flex-space {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  align-items: flex-end;
}

.mi-cols {
  min-width: 220px;
}

.configuration-header {
  margin-bottom: 16px;
}

/* ========== Layout: content-only scrolling ========== */
.nk-wrap {
  display: flex;
  flex-direction: column;
  height: 100vh;
  overflow: hidden;
}

.nk-content {
  flex: 1;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 12px 12px 24px !important;
}

@media (min-width: 576px) {
  .nk-content {
    padding: 14px 14px 24px !important;
  }
}

/* Full-width layout: strip container gutter and content margins */
.nk-content .container-fluid {
  padding-left: 0 !important;
  padding-right: 0 !important;
  max-width: 100% !important;
}

.nk-content-inner,
.nk-content-body {
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
}

/* Table card: no padding, no border-radius, flush to edges */
.nk-block .card-bordered,
.nk-block .card-stretch {
  border-radius: 0 !important;
  margin: 0 !important;
}

.nk-block .card-inner,
.nk-block .card-inner-group .card-inner {
  padding: 10px 12px !important;
}

/* Hide top menu bar space */
.nk-header-mobile {
  background: #fff;
  border-bottom: 1px solid #e5e9f2;
}

/* Override Dashlite header margin since we removed the fixed header */
.nk-header-mobile+.nk-content {
  margin-top: 0 !important;
}

/* ========== Sidebar: fixed footer + scrollable menus ========== */
.nk-sidebar {
  display: flex;
  flex-direction: column;
  /* Preserve DashLite's transform (mobile slide-in) + width (compact collapse) */
  transition: transform 450ms ease, width 450ms ease;
}

/* Smooth content region shift when sidebar expands / collapses.
   CRITICAL: a <script> element sits between .nk-sidebar and .nk-wrap in the HTML.
   CSS `+` (adjacent sibling) breaks when ANY element sits in between.
   We use BOTH `+` and `~` (general sibling) so the rules always apply. */
.nk-sidebar+.nk-wrap,
.nk-sidebar~.nk-wrap {
  transition: padding-left 450ms ease !important;
}

.nk-sidebar+.nk-wrap>.nk-header-fixed,
.nk-sidebar~.nk-wrap>.nk-header-fixed {
  transition: left 450ms ease !important;
}

/* Override DashLite's `+` padding rules with `~` — fixes content area shift */
@media (min-width: 1200px) {
  .nk-sidebar~.nk-wrap {
    padding-left: 290px !important;
  }

  .nk-sidebar.is-compact:not(.has-hover)~.nk-wrap {
    padding-left: 74px !important;
  }

  /* Hover-expanded sidebar overlays content — no layout shift */
  .nk-sidebar.is-compact.has-hover~.nk-wrap {
    padding-left: 74px !important;
  }

  .nk-sidebar~.nk-wrap .nk-header-fixed {
    left: 290px !important;
  }

  .nk-sidebar.is-compact:not(.has-hover)~.nk-wrap .nk-header-fixed {
    left: 74px !important;
  }

  .nk-sidebar.is-compact.has-hover~.nk-wrap .nk-header-fixed {
    left: 74px !important;
  }
}

/* Sidebar floats over content when hover-expanded (compact mode) */
.nk-sidebar.is-compact.has-hover {
  position: fixed;
  z-index: 999;
}

/* ── Sidebar compact-toggle pill button ──────────────────────── */
.sidebar-compact-btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.10);
  border: 1px solid rgba(255, 255, 255, 0.18);
  transition: background 0.2s, border-color 0.2s, transform 0.2s;
  position: relative;
  flex-shrink: 0;
}

.sidebar-compact-btn:hover {
  background: rgba(255, 255, 255, 0.20) !important;
  border-color: rgba(255, 255, 255, 0.35) !important;
}

/* ── Dual-icon toggle logic ──────────────────────────────────── */
/* Default (expanded): show left-chevron (→ collapse), hide right-chevron */
.sidebar-compact-btn .sidebar-icon-expand {
  display: none;
}

.sidebar-compact-btn .sidebar-icon-collapse {
  display: inline-flex;
}

/* Compact (collapsed): show right-chevron (→ expand), hide left-chevron */
.sidebar-compact-btn.compact-active .sidebar-icon-expand {
  display: inline-flex;
}

.sidebar-compact-btn.compact-active .sidebar-icon-collapse {
  display: none;
}

/* Hide collapse/expand toggle in mobile view */
@media (max-width: 1199.98px) {
  .sidebar-compact-btn {
    display: none !important;
  }
}

/* Icon colour */
.sidebar-compact-btn .icon {
  font-size: 1rem;
  color: rgba(255, 255, 255, 0.75) !important;
  transition: color 0.2s;
}

.sidebar-compact-btn:hover .icon,
.sidebar-compact-btn.compact-active .icon {
  color: #fff !important;
}

/* Accent underline when sidebar is collapsed */
.sidebar-compact-btn.compact-active {
  background: rgba(101, 118, 255, 0.25) !important;
  border-color: rgba(101, 118, 255, 0.5) !important;
}

.nk-sidebar .nk-sidebar-element.nk-sidebar-body {
  flex: 1;
  overflow: hidden;
  min-height: 0;
}

/* Padding inside simplebar content so last items scroll above footer */
.nk-sidebar .nk-sidebar-element.nk-sidebar-body .nk-sidebar-menu .nk-menu {
  padding-bottom: 10rem !important;
}

.nk-sidebar .nk-sidebar-element.nk-sidebar-footer {
  flex-shrink: 0;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.nk-sidebar-footer-inner {
  padding: 12px 16px;
}

/* Profile section */
.sidebar-profile-section {
  position: relative;
}

.sidebar-profile-toggle {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  border-radius: 6px;
  cursor: pointer;
  transition: background 0.15s;
  color: rgba(255, 255, 255, 0.8);
}

.sidebar-profile-toggle:hover {
  background: rgba(255, 255, 255, 0.08);
}

.sidebar-profile-info {
  flex: 1;
  min-width: 0;
}

.sidebar-profile-name {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: #fff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.sidebar-profile-role {
  display: block;
  font-size: 11px;
  color: rgba(255, 255, 255, 0.5);
}

.sidebar-profile-arrow {
  font-size: 16px;
  transition: transform 0.2s;
  color: rgba(255, 255, 255, 0.5);
}

.sidebar-profile-arrow.rotated {
  transform: rotate(180deg);
}

/* Profile dropdown - static positioning inside footer (avoids overflow clipping) */
.sidebar-profile-dropdown {
  display: none;
  position: static;
  background: #2e3138;
  border-radius: 6px;
  margin-bottom: 6px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
}

.sidebar-profile-dropdown.show {
  display: block;
}

.sidebar-profile-dropdown ul {
  list-style: none;
  margin: 0;
  padding: 6px 0;
}

.sidebar-profile-dropdown ul li {
  cursor: pointer;
}

.sidebar-profile-dropdown ul li a {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  color: rgba(255, 255, 255, 0.8);
  font-size: 13px;
  text-decoration: none;
  transition: background 0.15s;
  white-space: nowrap;
}

.sidebar-profile-dropdown ul li a:hover {
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
}

.sidebar-profile-dropdown ul li a .icon {
  font-size: 16px;
  flex-shrink: 0;
}

/* Copyright in sidebar footer */
.sidebar-footer-copyright {
  font-size: 9px;
  color: rgba(255, 255, 255, 0.35);
  text-align: center;
  padding-top: 6px;
  margin-top: 2px;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}

/* ========== Compact sidebar: ultra-level ========== */

/* --- Logo: abbr/full toggle --- */
.logo-abbr {
  display: none;
  font-weight: 700;
  font-size: 18px;
  color: #fff;
  background: linear-gradient(135deg, #4e7cf6, #a855f7);
  width: 34px;
  height: 34px;
  border-radius: 8px;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.logo-full {
  white-space: nowrap;
  transition: opacity 0.25s ease, width 0.25s ease;
}

.nk-sidebar.is-compact:not(.has-hover) .logo-abbr {
  display: inline-flex;
}

.nk-sidebar.is-compact:not(.has-hover) .logo-full {
  opacity: 0;
  width: 0;
  overflow: hidden;
}

.nk-sidebar.is-compact.has-hover .logo-abbr {
  display: none;
}

/* --- Sub-menu icons (smaller) --- */
.nk-menu-sub .nk-menu-icon.sm {
  width: 22px;
  min-width: 22px;
  font-size: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.nk-menu-sub .nk-menu-icon.sm .icon {
  font-size: 14px;
}



/* --- Compact: footer profile reduce --- */
.nk-sidebar.is-compact:not(.has-hover) .sidebar-profile-info,
.nk-sidebar.is-compact:not(.has-hover) .sidebar-profile-arrow,
.nk-sidebar.is-compact:not(.has-hover) .sidebar-footer-copyright {
  display: none;
}

.nk-sidebar.is-compact:not(.has-hover) .sidebar-profile-toggle {
  justify-content: center;
  padding: 8px;
}

.nk-sidebar.is-compact:not(.has-hover) .sidebar-profile-dropdown {
  display: none !important;
}

.nk-sidebar.is-compact:not(.has-hover) .nk-sidebar-footer-inner {
  padding: 8px;
}

/* Expanded compact hover: restore footer */
.nk-sidebar.is-compact.has-hover .sidebar-profile-info,
.nk-sidebar.is-compact.has-hover .sidebar-profile-arrow,
.nk-sidebar.is-compact.has-hover .sidebar-footer-copyright {
  display: block;
}

.nk-sidebar.is-compact.has-hover .sidebar-footer-copyright {
  text-align: center;
}

.nk-sidebar.is-compact.has-hover .sidebar-profile-toggle {
  justify-content: flex-start;
  padding: 8px 10px;
}

.nk-sidebar.is-compact.has-hover .nk-sidebar-footer-inner {
  padding: 10px 14px;
}

/* --- Compact: menu item tooltip on hover --- */
.nk-sidebar.is-compact:not(.has-hover) .nk-menu>.nk-menu-item>.nk-menu-link {
  position: relative;
}

.nk-sidebar.is-compact:not(.has-hover) .nk-menu>.nk-menu-item>.nk-menu-link:hover::after {
  content: attr(data-title);
  position: absolute;
  left: 100%;
  top: 50%;
  transform: translateY(-50%);
  margin-left: 8px;
  background: #1c2b46;
  color: #fff;
  font-size: 12px;
  font-weight: 500;
  padding: 6px 12px;
  border-radius: 6px;
  white-space: nowrap;
  z-index: 9999;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.3);
  pointer-events: none;
  animation: tooltipFadeIn 0.15s ease;
}

@keyframes tooltipFadeIn {
  from {
    opacity: 0;
    transform: translateY(-50%) translateX(-4px);
  }

  to {
    opacity: 1;
    transform: translateY(-50%) translateX(0);
  }
}

/* --- Compact footer: avatar tooltip --- */
.nk-sidebar.is-compact:not(.has-hover) .sidebar-profile-toggle {
  position: relative;
}

.nk-sidebar.is-compact:not(.has-hover) .sidebar-profile-toggle:hover::after {
  content: attr(data-username);
  position: absolute;
  left: 100%;
  top: 50%;
  transform: translateY(-50%);
  margin-left: 8px;
  background: #1c2b46;
  color: #fff;
  font-size: 12px;
  font-weight: 500;
  padding: 6px 12px;
  border-radius: 6px;
  white-space: nowrap;
  z-index: 9999;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.3);
  pointer-events: none;
}

/* --- Sidebar footer inner reduced --- */
.nk-sidebar-footer-inner {
  padding: 10px 14px;
}

/* Hide mobile user avatar from old topmenu references */
.sidebar-copyright {
  display: none;
}

/* ========== Menu active state persistence ========== */
.nk-menu-item.current-page>.nk-menu-link {
  color: #fff;
  font-weight: 600;
}

.nk-menu-sub .nk-menu-item.current-page>.nk-menu-link {
  color: #6576ff;
  font-weight: 600;
}

/* ========== Design alignment: Master Configurations & Module Fields ========== */
.configuration-header {
  background: #fff;
  border-radius: 8px;
  padding: 16px 20px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
  margin-bottom: 20px;
}

.mc-header-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
  position: relative;
}

.mc-header-top .page-title {
  margin: 0;
  flex: 1;
}

.mc-back-btn-wrap {
  position: absolute;
  top: 0;
  right: 0;
}

.configuration_sidebar {
  width: 100%;
}

.mc-grid-wrapper {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 16px;
  align-items: flex-end;
}

.mi-cols {
  display: flex;
  flex-direction: column;
}

.mi-cols .form-group {
  margin-bottom: 0;
}

.mc-add-btn-col {
  justify-content: flex-end;
  padding-top: 0;
}

.mc-add-btn-col .form-group {
  height: 100%;
  display: flex;
  align-items: flex-end;
}

.configuration-header .mi-flex-between {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.mi-width-wrapper {
  min-width: 180px;
}

/* Module Fields page header alignment */
.nk-block-head-sm .d-flex.align-items-start {
  align-items: flex-end !important;
}

.nk-block-head-sm .form-group.mb-0 {
  min-width: 160px;
}

.nk-block-head-sm .form-group.mb-none {
  min-width: none !important;
}

.back-btn-group {
  display: flex;
  align-items: flex-end;
  padding-bottom: 1px;
}


/* ╔══════════════════════════════════════════════════════════════════╗
   ║        GLASSMORPHISM THEME — SKAT TECH LOGO COLORS             ║
   ║  White/glass backgrounds, frosted blur cards, blue-purple      ║
   ║  gradient accent matching logo, translucent UI elements.       ║
   ╚══════════════════════════════════════════════════════════════════╝ */


:root {
  --glass-bg: #e8ecf4;
  --glass-card: rgba(255, 255, 255, 0.55);
  --glass-card-solid: #ffffff;
  --glass-card-hover: rgba(255, 255, 255, 0.72);
  --glass-border: rgba(255, 255, 255, 0.45);
  --glass-border-subtle: rgba(255, 255, 255, 0.25);
  --glass-blur: blur(18px);
  --glass-shadow: 0 4px 24px rgba(0, 0, 0, 0.06);
  --glass-shadow-lg: 0 8px 40px rgba(0, 0, 0, 0.10);

  /* Logo accent: blue → purple */
  --accent-blue: #4da8f6;
  --accent-purple: #8b5cf6;
  --accent-gradient: linear-gradient(135deg, #4da8f6, #8b5cf6);
  --accent-gradient-rev: linear-gradient(135deg, #8b5cf6, #4da8f6);
  --accent-glow: rgba(77, 168, 246, 0.25);
  --accent-glow-purple: rgba(139, 92, 246, 0.25);

  --text-primary: #1e2a4a;
  --text-secondary: #526484;
  --text-muted: #8094ae;
  --radius: 16px;
  --radius-sm: 10px;
  --radius-xs: 8px;

  /* Override Bootstrap */
  --bs-body-color: #1e2a4a;
  --bs-body-bg: #e8ecf4;
  --theme-font: 4px;

  --bg-color: #4e73df;
  --btn-color: #2e59d9;
  --text-color: #e12b2b;
  --border-color: #2653d4;
  --hover-color: #2653d4;
  --shadow-color: rgba(78, 115, 223, 0.4);
  --font-size: 6px --primaryColor: #4e73df;
  --backgroundColor: #ffffff;
  --textColor: #000000;
  --fontSize: 14px;
  --headerColor: #4e73df;
  --headerText: #ffffff;
  --hoverColor: #eaecf4;
  --btnBg: #4e73df;
  --btnText: #ffffff;
  --btnBorder: #2e59d9;
  --btnHover: #2653d4;
  --btnRadius: 6px;

  --formBg: #ffffff;
  --formLabelColor: #212529;
  --formInputBg: #ffffff;
  --formInputBorder: #ced4da;
  --formInputText: #212529;
  --formFocusBorder: #4e73df;
  --formError: #dc3545;
  --formRadius: 6px;

  --themeFontSize: 6px;
  --themeTextColor: red;

  --menuHover: var(--backgroundColor)
}


/* ── 1. BASE: gradient background with floating orbs ───────────── */
body.nk-body {
  background: var(--glass-bg) !important;
  color: var(--text-primary) !important;
  position: relative;
}

body.nk-body::before,
body.nk-body::after {
  content: '';
  position: fixed;
  border-radius: 50%;
  filter: blur(120px);
  z-index: 0;
  pointer-events: none;
  animation: orbDrift 12s ease-in-out infinite alternate;
}

body.nk-body::before {
  width: 500px;
  height: 500px;
  background: radial-gradient(circle, rgba(77, 168, 246, 0.25) 0%, transparent 70%);
  top: -120px;
  left: -100px;
}

body.nk-body::after {
  width: 420px;
  height: 420px;
  background: radial-gradient(circle, rgba(139, 92, 246, 0.22) 0%, transparent 70%);
  bottom: -80px;
  right: -80px;
  animation-delay: -6s;
}

@keyframes orbDrift {
  0% {
    transform: translate(0, 0) scale(1);
  }

  100% {
    transform: translate(25px, -18px) scale(1.08);
  }
}

.nk-app-root {
  position: relative;
  z-index: 1;
}

.bg-lighter,
.bg-light {
  background: transparent !important;
}

.bg-white {
  background: var(--glass-card) !important;
  backdrop-filter: var(--glass-blur) !important;
  -webkit-backdrop-filter: var(--glass-blur) !important;
}

.nk-content,
.nk-wrap,
.container-fluid,
.nk-content-body,
.nk-content-inner,
.nk-block {
  background: transparent !important;
}


/* ── 2. SIDEBAR: frosted glass panel ───────────────────────────── */
.nk-sidebar,
.nk-sidebar.is-dark {
  background: rgba(255, 255, 255, 0.40) !important;
  backdrop-filter: blur(22px) !important;
  -webkit-backdrop-filter: blur(22px) !important;
  border-right: 1px solid var(--glass-border) !important;
  box-shadow: 2px 0 16px rgba(0, 0, 0, 0.04) !important;
}

.nk-sidebar .nk-menu-text {
  color: var(--text-primary) !important;
}

.nk-sidebar .nk-menu-link:hover {
  background: rgba(255, 255, 255, 0.45) !important;
  border-radius: var(--radius-sm);
}

.nk-sidebar .nk-menu-item.active>.nk-menu-link,
.nk-sidebar .nk-menu-item.current-page>.nk-menu-link {
  background: var(--accent-gradient) !important;
  border-radius: var(--radius-sm) !important;
  color: #fff !important;
  font-weight: 600;
  box-shadow: 0 4px 16px rgba(77, 168, 246, 0.25) !important;
}

.nk-sidebar .nk-menu-item.active>.nk-menu-link .nk-menu-text,
.nk-sidebar .nk-menu-item.current-page>.nk-menu-link .nk-menu-text {
  color: #fff !important;
}

.nk-sidebar .nk-menu-item.active>.nk-menu-link .nk-menu-icon .icon,
.nk-sidebar .nk-menu-item.current-page>.nk-menu-link .nk-menu-icon .icon {
  color: #fff !important;
}

.nk-sidebar-element.nk-sidebar-head {
  border-bottom: 1px solid rgba(255, 255, 255, 0.3) !important;
}

/* Sidebar brand */
.logo-full {
  color: var(--text-primary) !important;
  font-weight: 700;
}

.logo-abbr {
  background: var(--accent-gradient) !important;
  color: #fff !important;
}

/* Sidebar footer / profile */
.nk-sidebar .nk-sidebar-element.nk-sidebar-footer {
  background: rgba(255, 255, 255, 0.30) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  border-top: 1px solid rgba(255, 255, 255, 0.35) !important;
}

.sidebar-profile-toggle {
  color: var(--text-primary) !important;
}

.sidebar-profile-toggle:hover {
  background: rgba(255, 255, 255, 0.4) !important;
}

.sidebar-profile-name {
  color: var(--text-primary) !important;
}

.sidebar-profile-role {
  color: var(--text-muted) !important;
}

.sidebar-profile-arrow {
  color: var(--text-muted) !important;
}

.sidebar-profile-dropdown {
  background: rgba(255, 255, 255, 0.75) !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
  border: 1px solid var(--glass-border) !important;
  box-shadow: var(--glass-shadow-lg) !important;
  border-radius: var(--radius-sm) !important;
}

.sidebar-profile-dropdown ul li a {
  color: var(--text-primary) !important;
}

.sidebar-profile-dropdown ul li a:hover {
  background: rgba(77, 168, 246, 0.08) !important;
  color: var(--accent-blue) !important;
}

.sidebar-profile-dropdown ul li a .icon {
  color: var(--accent-purple) !important;
}

.sidebar-footer-copyright {
  color: var(--text-muted) !important;
  border-top-color: rgba(255, 255, 255, 0.3) !important;
}

/* Sub-menu */
.nk-menu-sub {
  background: transparent !important;
}

.nk-menu-sub .nk-menu-link {
  color: var(--text-secondary) !important;
}

.nk-menu-sub .nk-menu-link:hover {
  color: var(--accent-purple) !important;
}

.nk-menu-sub .nk-menu-item.current-page>.nk-menu-link {
  color: var(--accent-purple) !important;
  font-weight: 600;
}

.nk-menu-sub .nk-menu-icon.sm .icon {
  color: #1567d2 !important;
}

.nk-menu-sub .nk-menu-item.current-page .nk-menu-icon.sm .icon {
  color: var(--accent-purple) !important;
}

/* Compact sidebar tooltip */
.nk-sidebar.is-compact:not(.has-hover) .nk-menu>.nk-menu-item>.nk-menu-link:hover::after {
  background: var(--text-primary) !important;
  color: #fff !important;
}

.nk-sidebar.is-compact:not(.has-hover) .sidebar-profile-toggle:hover::after {
  background: var(--text-primary) !important;
  color: #fff !important;
}

/* Sidebar toggle icons */
.nk-nav-compact .icon,
.nk-nav-toggle .icon {
  color: var(--text-secondary) !important;
}

.nk-nav-compact:hover .icon,
.nk-nav-toggle:hover .icon {
  color: var(--accent-blue) !important;
}

.nk-menu-badge {
  color: var(--text-muted) !important;
}


/* ── 3. CARDS: frosted glass ───────────────────────────────────── */
.card,
.card-bordered,
.card-full,
.card-stretch {
  background: var(--glass-card) !important;
  backdrop-filter: var(--glass-blur) !important;
  -webkit-backdrop-filter: var(--glass-blur) !important;
  border: 1px solid var(--glass-border) !important;
  border-radius: var(--radius) !important;
  box-shadow: var(--glass-shadow) !important;
  color: var(--text-primary);
  transition: box-shadow 0.25s ease, transform 0.25s ease, background 0.25s ease !important;
}

.card:hover,
.card-bordered:hover {
  background: var(--glass-card-hover) !important;
  box-shadow: var(--glass-shadow-lg) !important;
  transform: translateY(-2px);
}

.card-inner {
  color: var(--text-primary);
}

.card-header {
  background: transparent !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.35) !important;
  color: var(--text-primary);
}

.card-header-boeder-none {
  background: transparent !important;
}

.card-footer {
  background: transparent !important;
  border-top: 1px solid rgba(255, 255, 255, 0.35) !important;
}

.card-inner-group .card-inner {
  border-bottom-color: rgba(255, 255, 255, 0.25) !important;
}

.card_shadow {
  border-color: var(--glass-border) !important;
}

.border-end {
  border-color: rgba(255, 255, 255, 0.3) !important;
}


/* ── 4. TYPOGRAPHY ─────────────────────────────────────────────── */
.page-title,
.nk-block-title,
.card-title h6,
.card-title .title,
.section-title,
h1,
h2,
h3,
h4,
h5,
h6 {
  color: var(--text-primary) !important;
}

.text-soft,
.nk-block-des p,
.sub-text {
  color: var(--text-muted) !important;
}

p,
span,
label,
.form-label {
  color: var(--text-primary);
}

a:not(.btn) {
  color: var(--accent-purple);
}

a:not(.btn):hover {
  color: var(--accent-blue);
}

tbody>tr>td {
  color: var(--text-primary) !important;
}

.text-dark {
  color: var(--text-primary) !important;
}

.text-muted {
  color: var(--text-muted) !important;
}

.text-body {
  color: var(--text-primary) !important;
}


/* ── 5. TABLES & DATATABLES: glass ─────────────────────────────── */
thead>tr>th,
.nk-tb-head .nk-tb-col {
  background: var(--accent-gradient) !important;
  color: #fff !important;
  border: none !important;
  font-weight: 600;
}

th,
td {
  border-color: rgba(255, 255, 255, 0.25) !important;
}

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

table.dataTable tbody tr,
#modules-table tr {
  background: rgba(255, 255, 255, 0.35) !important;
}

table.dataTable tbody tr:nth-child(even) {
  background: rgba(255, 255, 255, 0.50) !important;
}

table.dataTable tbody tr:hover,
.nk-tb-list .nk-tb-item:hover {
  background: rgba(255, 255, 255, 0.65) !important;
}

.nk-tb-list .nk-tb-item {
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}

table.dataTable {
  border-collapse: separate !important;
  border-spacing: 0 3px !important;
}

/* DataTable controls */
.dataTables_wrapper .dataTables_length label,
.dataTables_wrapper .dataTables_filter label,
.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_paginate {
  color: var(--text-secondary) !important;
}

.dataTables_wrapper .dataTables_length select,
.dataTables_wrapper .dataTables_filter input {
  background: rgba(255, 255, 255, 0.5) !important;
  backdrop-filter: blur(10px) !important;
  border: 1px solid rgba(0, 0, 0, 0.18) !important;
  color: var(--text-primary) !important;
  border-radius: 4px !important;
  padding: 6px 12px !important;
}

/* Mobile: same row layout for length + filter controls */
@media (max-width: 767px) {
  .dataTables_wrapper>.row:first-child {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: 8px;
  }

  /* Length col: shrink to fit the dropdown */
  .dataTables_wrapper>.row:first-child>div:first-child {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: 80px !important;
  }

  /* Filter col: take remaining space */
  .dataTables_wrapper>.row:first-child>div:last-child {
    flex: 1 1 auto !important;
    width: 0 !important;
    min-width: 0 !important;
  }

  .dataTables_wrapper .dataTables_length {
    text-align: left !important;
  }

  .dataTables_wrapper .dataTables_filter {
    text-align: right !important;
  }

  .dataTables_wrapper .dataTables_length select {
    width: 70px !important;
  }

  .dataTables_wrapper .dataTables_filter input {
    width: 100% !important;
    margin-left: 0 !important;
  }

  .dataTables_wrapper .dataTables_filter label {
    display: flex !important;
    width: 100% !important;
  }
}

/* DataTable horizontal scroll — contained within card, no browser scroll */
.dataTables_wrapper {
  overflow-x: visible;
  overflow-y: visible;
  width: 100%;
  max-width: 100%;
}

/* Only the table row scrolls — controls (search + length) stay fixed */
.dataTables_wrapper>.row:nth-child(2)>[class*="col"] {
  overflow-x: auto;
  overflow-y: visible;
  -webkit-overflow-scrolling: touch;
}

.dataTables_wrapper>.row:nth-child(2)>[class*="col"]::-webkit-scrollbar {
  height: 4px;
}

.dataTables_wrapper>.row:nth-child(2)>[class*="col"]::-webkit-scrollbar-track {
  background: rgba(0, 0, 0, 0.05);
  border-radius: 2px;
}

.dataTables_wrapper>.row:nth-child(2)>[class*="col"]::-webkit-scrollbar-thumb {
  background: var(--accent-blue, #4da8f6);
  border-radius: 2px;
}

table.dataTable {
  min-width: max-content;
  width: 100% !important;
}

/* Scroll stays inside the card — no browser-level horizontal scrollbar */
html,
body.nk-body {
  overflow-x: hidden !important;
}

.nk-wrap,
.nk-content,
.container-fluid {
  min-width: 0;
  max-width: 100%;
  overflow-x: hidden;
}

.nk-block .card-inner,
.nk-block .card-inner-group .card-inner {
  overflow: visible;
}

.dataTables_wrapper .dataTables_paginate .paginate_button {
  background: rgba(255, 255, 255, 0.4) !important;
  color: var(--text-secondary) !important;
  border: 1px solid var(--glass-border) !important;
  border-radius: var(--radius-xs) !important;
  margin: 0 3px !important;
  backdrop-filter: blur(8px) !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
  background: var(--accent-gradient) !important;
  color: #fff !important;
  border-color: transparent !important;
  box-shadow: 0 4px 14px rgba(77, 168, 246, 0.30) !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
  background: rgba(255, 255, 255, 0.6) !important;
  color: var(--accent-purple) !important;
}

.inner-table td {
  color: var(--text-primary) !important;
}

.inner-table td:first-child {
  color: var(--text-secondary) !important;
}


/* ── 6. MODALS / POPUPS: frosted glass ─────────────────────────── */
.modal-content {
  background: rgba(255, 255, 255, 0.70) !important;
  backdrop-filter: blur(24px) !important;
  -webkit-backdrop-filter: blur(24px) !important;
  border: 1px solid var(--glass-border) !important;
  border-radius: 24px !important;
  box-shadow: var(--glass-shadow-lg), 0 25px 60px rgba(0, 0, 0, 0.10) !important;
  color: var(--text-primary);
}

.modal-header {
  background: transparent !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.35) !important;
  justify-content: center !important;
}

.modal-title,
.modal-header-title {
  color: var(--text-primary) !important;
}

.modal-body {
  color: var(--text-primary);
}

.modal .close,
.modal .close em {
  color: var(--text-primary) !important;
}

.modal .close:hover,
.modal .close:hover em {
  color: var(--text-primary) !important;
}

.modal-backdrop.show {
  opacity: 0.18 !important;
}

/* SweetAlert2 */
.swal2-popup {
  background: rgba(255, 255, 255, 0.80) !important;
  backdrop-filter: blur(24px) !important;
  -webkit-backdrop-filter: blur(24px) !important;
  border: 1px solid var(--glass-border) !important;
  border-radius: 24px !important;
  box-shadow: var(--glass-shadow-lg) !important;
  color: var(--text-primary) !important;
}

.swal2-title {
  color: var(--text-primary) !important;
}

.swal2-html-container {
  color: var(--text-secondary) !important;
}

.swal2-confirm {
  background: var(--accent-gradient) !important;
  border: none !important;
  border-radius: var(--radius-sm) !important;
  box-shadow: 0 4px 14px rgba(77, 168, 246, 0.30) !important;
}


/* ── 7. FORMS: glass inputs ────────────────────────────────────── */
.form-control {
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  border: 1px solid rgba(0, 0, 0, 0.18);
  color: var(--text-primary) !important;
  border-radius: 4px !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
  padding: 10px 14px;
}

.form-control:focus {
  background: rgba(255, 255, 255, 0.65) !important;
  border-color: var(--accent-blue) !important;
  box-shadow: 0 0 0 3px var(--accent-glow) !important;
  color: var(--text-primary) !important;
}

.form-control::placeholder {
  color: var(--text-muted) !important;
}

.form-label {
  color: var(--text-secondary) !important;
  font-weight: 600;
}

.form-select,
select.form-control,
.form-control-select {
  border: 1px solid rgba(0, 0, 0, 0.18) !important;
  color: var(--text-primary) !important;
  border-radius: 4px !important;
}

/* Checkbox / Radio */
.form-check-input {
  background-color: rgba(255, 255, 255, 0.5) !important;
  border: 1px solid rgba(0, 0, 0, 0.18) !important;
}

.form-check-input:checked {
  background-color: var(--accent-purple) !important;
  border-color: var(--accent-purple) !important;
  box-shadow: 0 2px 8px var(--accent-glow-purple) !important;
}

/* Select2 */
.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple {
  border: 1px solid rgba(0, 0, 0, 0.18) !important;
  border-radius: 4px !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
  color: var(--text-primary) !important;
}

.select2-dropdown {
  background: rgba(255, 255, 255, 0.85) !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
  border: 1px solid var(--glass-border) !important;
  box-shadow: var(--glass-shadow-lg) !important;
  border-radius: var(--radius-sm) !important;
}

.select2-results__option {
  color: var(--text-primary) !important;
}

.select2-results__option--highlighted {
  background: var(--accent-gradient) !important;
  color: #fff !important;
}

.select2-results__option--selected {
  background: rgba(77, 168, 246, 0.10) !important;
  color: var(--accent-purple) !important;
}

.select2-selection__choice {
  background: rgba(139, 92, 246, 0.10) !important;
  border: 1px solid rgba(139, 92, 246, 0.2) !important;
  color: var(--accent-purple) !important;
  border-radius: 6px !important;
}

.select2-selection__clear {
  color: var(--text-muted) !important;
}

/* Virtual Select */
.vscomp-wrapper {
  border: 1px solid rgba(0, 0, 0, 0.18) !important;
  color: var(--text-primary) !important;
  border-radius: 4px !important;
}

.vscomp-toggle-button {
  background: #fff !important;
  border: none !important;
  color: var(--text-primary) !important;
  border-radius: 4px !important;
}

.vscomp-dropbox-container {
  background: rgba(255, 255, 255, 0.85) !important;
  backdrop-filter: blur(20px) !important;
  border: 1px solid var(--glass-border) !important;
  box-shadow: var(--glass-shadow-lg) !important;
}

.vscomp-option-text {
  color: var(--text-primary) !important;
}

/* Custom dropdown-btn */
.dropdown-btn {
  border: 1px solid rgba(0, 0, 0, 0.18) !important;
  color: var(--text-primary) !important;
  border-radius: 4px !important;
}

.dropdown-list {
  background: rgba(255, 255, 255, 0.85) !important;
  backdrop-filter: blur(20px) !important;
  border: 1px solid var(--glass-border) !important;
  box-shadow: var(--glass-shadow-lg) !important;
  border-radius: var(--radius-sm) !important;
}


/* ── 8. BUTTONS: glass + logo gradient ─────────────────────────── */
.btn-primary {
  background: var(--accent-gradient) !important;
  border: none !important;
  color: #fff !important;
  border-radius: var(--radius-sm) !important;
  box-shadow: 0 4px 16px rgba(77, 168, 246, 0.30) !important;
  transition: all 0.25s ease !important;
}

.btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(77, 168, 246, 0.40) !important;
}

.btn-primary:active {
  transform: translateY(0);
  box-shadow: 0 2px 8px rgba(77, 168, 246, 0.25) !important;
}

.btn-outline-primary {
  background: rgba(255, 255, 255, 0.40) !important;
  backdrop-filter: blur(8px) !important;
  border: 1px solid rgba(77, 168, 246, 0.35) !important;
  color: var(--accent-blue) !important;
  border-radius: var(--radius-sm) !important;
}

.btn-outline-primary:hover {
  background: rgba(77, 168, 246, 0.08) !important;
  border-color: var(--accent-blue) !important;
  color: var(--accent-purple) !important;
}

.btn-secondary,
.btn-light {
  background: rgba(255, 255, 255, 0.45) !important;
  backdrop-filter: blur(8px) !important;
  border: 1px solid var(--glass-border) !important;
  color: var(--text-primary) !important;
  border-radius: var(--radius-sm) !important;
}

.btn-secondary:hover,
.btn-light:hover {
  background: rgba(255, 255, 255, 0.65) !important;
}

.btn-danger,
.btn-outline-danger {
  background: rgba(255, 255, 255, 0.40) !important;
  border: 1px solid rgba(232, 83, 71, 0.3) !important;
  color: #e85347 !important;
  border-radius: var(--radius-sm) !important;
}

.btn-danger:hover,
.btn-outline-danger:hover {
  background: rgba(232, 83, 71, 0.08) !important;
  border-color: #e85347 !important;
}

.btn-success,
.btn-outline-success {
  background: rgba(255, 255, 255, 0.40) !important;
  border: 1px solid rgba(22, 163, 74, 0.3) !important;
  color: #16a34a !important;
  border-radius: var(--radius-sm) !important;
}

.btn-success:hover,
.btn-outline-success:hover {
  background: rgba(22, 163, 74, 0.08) !important;
}

.btn-warning,
.btn-outline-warning {
  background: rgba(255, 255, 255, 0.40) !important;
  border: 1px solid rgba(217, 119, 6, 0.3) !important;
  color: #d97706 !important;
  border-radius: var(--radius-sm) !important;
}

.btn-info,
.btn-outline-info {
  background: rgba(255, 255, 255, 0.40) !important;
  border: 1px solid rgba(8, 145, 178, 0.3) !important;
  color: #0891b2 !important;
  border-radius: var(--radius-sm) !important;
}

.btn-icon.btn-trigger {
  color: var(--text-muted) !important;
  box-shadow: none !important;
}

.btn-icon.btn-trigger:hover {
  color: var(--accent-purple) !important;
  background: rgba(255, 255, 255, 0.5) !important;
}


/* ── 9. BADGES ─────────────────────────────────────────────────── */
.badge {
  background: rgba(255, 255, 255, 0.5) !important;
  backdrop-filter: blur(6px) !important;
  border: 1px solid var(--glass-border) !important;
  color: var(--text-primary) !important;
  border-radius: 8px !important;
}

.badge-success,
.badge.bg-success,
.bg-success:not(.btn):not(.user-avatar) {
  background: rgba(22, 163, 74, 0.12) !important;
  color: #16a34a !important;
  border-color: rgba(22, 163, 74, 0.2) !important;
}

.badge-danger,
.badge.bg-danger,
.bg-danger:not(.btn) {
  background: rgba(232, 83, 71, 0.12) !important;
  color: #e85347 !important;
  border-color: rgba(232, 83, 71, 0.2) !important;
}

.badge-warning,
.badge.bg-warning,
.bg-warning:not(.btn) {
  background: rgba(217, 119, 6, 0.12) !important;
  color: #d97706 !important;
  border-color: rgba(217, 119, 6, 0.2) !important;
}

.badge-info,
.badge.bg-info {
  background: rgba(8, 145, 178, 0.12) !important;
  color: #0891b2 !important;
  border-color: rgba(8, 145, 178, 0.2) !important;
}

.badge-primary,
.badge.bg-primary:not(.user-avatar) {
  background: rgba(77, 168, 246, 0.12) !important;
  color: var(--accent-blue) !important;
  border-color: rgba(77, 168, 246, 0.2) !important;
}

.bg-yellow {
  background: rgba(234, 179, 8, 0.12) !important;
}


/* ── 10. DASHBOARD: glass stat cards, charts ───────────────────── */
.stat-card {
  background: var(--glass-card) !important;
  backdrop-filter: var(--glass-blur) !important;
  -webkit-backdrop-filter: var(--glass-blur) !important;
  border: 1px solid var(--glass-border) !important;
  border-radius: var(--radius) !important;
  box-shadow: var(--glass-shadow) !important;
  color: var(--text-primary);
}

.stat-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--glass-shadow-lg) !important;
  background: var(--glass-card-hover) !important;
}

.card-amount .amount {
  color: var(--text-primary) !important;
  font-weight: 700;
}

.invest-data-amount .title {
  color: var(--text-muted) !important;
}

.invest-data-amount .amount {
  color: var(--text-primary) !important;
}

.chart_container>div {
  background: var(--glass-card) !important;
  backdrop-filter: var(--glass-blur) !important;
  border: 1px solid var(--glass-border) !important;
  border-radius: var(--radius) !important;
  box-shadow: var(--glass-shadow) !important;
}

.chart_container>div:hover {
  box-shadow: var(--glass-shadow-lg) !important;
  transform: translateY(-3px);
}

.chart_container .chart_title {
  color: var(--text-primary) !important;
}

.reports_card {
  background: var(--glass-card) !important;
  backdrop-filter: var(--glass-blur) !important;
  border: 1px solid var(--glass-border) !important;
  border-radius: var(--radius) !important;
  box-shadow: var(--glass-shadow) !important;
  color: var(--text-primary);
}

.reports_card:hover {
  transform: translateY(-4px);
  box-shadow: var(--glass-shadow-lg) !important;
}


/* ── 11. ACCORDION ─────────────────────────────────────────────── */
.accordion .card {
  background: var(--glass-card) !important;
  border: 1px solid var(--glass-border) !important;
  border-radius: var(--radius-sm) !important;
}

.accordion .card-header {
  background: transparent !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.3) !important;
}

.accordion .card-header::before {
  background: var(--accent-gradient) !important;
}

.accordion .card-header h6,
.accordion .card-header a {
  color: var(--text-primary) !important;
}

.accordion .card-header:hover {
  background: rgba(255, 255, 255, 0.3) !important;
}

.accordion .card-body {
  background: transparent !important;
}


/* ── 12. DROPDOWNS ─────────────────────────────────────────────── */
.dropdown-menu {
  background: rgba(255, 255, 255, 0.82) !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
  border: 1px solid var(--glass-border) !important;
  border-radius: var(--radius-sm) !important;
  box-shadow: var(--glass-shadow-lg) !important;
}

.dropdown-menu .dropdown-item,
.dropdown-menu li a {
  color: var(--text-primary) !important;
}

.dropdown-menu .dropdown-item:hover,
.dropdown-menu li a:hover {
  background: rgba(77, 168, 246, 0.08) !important;
  color: var(--accent-purple) !important;
}

.dropdown-toggle::after {
  border-top-color: var(--text-muted) !important;
}


/* ── 13. MOBILE HEADER ─────────────────────────────────────────── */
.nk-header-mobile {
  /* Theme sets position:absolute which lifts it out of flow and causes
     page titles to render directly behind the burger icon.
     Override to relative so it takes up space and content starts below it. */
  position: relative !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  width: 100% !important;
  background: rgba(255, 255, 255, 0.60) !important;
  backdrop-filter: blur(18px) !important;
  -webkit-backdrop-filter: blur(18px) !important;
  border-bottom: 1px solid var(--glass-border) !important;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04) !important;
}

.nk-header-mobile .icon {
  color: var(--text-primary) !important;
}


/* ── 14. SCROLLBARS ────────────────────────────────────────────── */
::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}

::-webkit-scrollbar-track {
  background: transparent;
}

::-webkit-scrollbar-thumb {
  background: rgba(139, 92, 246, 0.25);
  border-radius: 3px;
}

::-webkit-scrollbar-thumb:hover {
  background: rgba(139, 92, 246, 0.4);
}

.mi_configuration_scroll::-webkit-scrollbar-track {
  background: transparent !important;
}

.mi_configuration_scroll::-webkit-scrollbar-thumb {
  background: rgba(139, 92, 246, 0.25) !important;
}

#overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(232, 236, 244, 0.50) !important;
  backdrop-filter: blur(6px);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 3003;
}


/* ── 15. OVERLAYS & LOADERS ────────────────────────────────────── */
/* #overlay, #submit-loader {
    background: rgba(232,236,244,0.50) !important;
    backdrop-filter: blur(6px) !important;
} */
.loader {
  color: var(--text-primary) !important;
}

.global-loader {
  background: rgba(232, 236, 244, 0.45) !important;
}

/* MAIN FIX */
.loader_box {
  display: flex;
  flex-direction: column;
  align-items: center;
  /* horizontal center */
  justify-content: center;
  gap: 25px;
  /* equal spacing */
  text-align: center;
}

.loader_logo {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.loader_logo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  /* IMPORTANT: removes inline gap */
}


/* ── 16. DETAIL CARDS & CHAT ───────────────────────────────────── */
.detail-card {
  background: var(--glass-card) !important;
  backdrop-filter: var(--glass-blur) !important;
  border: 1px solid var(--glass-border) !important;
  border-radius: var(--radius-sm) !important;
  box-shadow: var(--glass-shadow) !important;
  color: var(--text-primary);
}

.detail-card:hover {
  box-shadow: var(--glass-shadow-lg) !important;
}

.detail-card h6 {
  color: var(--text-muted) !important;
}

.detail-card p {
  color: var(--text-primary) !important;
}

.msg-box {
  background: var(--glass-card) !important;
  backdrop-filter: blur(12px) !important;
  border: 1px solid var(--glass-border) !important;
  border-radius: var(--radius-sm) !important;
}

.msg-left {
  border-left: 3px solid var(--accent-blue) !important;
}

.msg-right {
  border-right: 3px solid var(--accent-purple) !important;
}

.msg-header {
  color: var(--text-primary) !important;
}

.msg-body {
  color: var(--text-primary) !important;
}

.msg-time {
  color: var(--text-muted) !important;
}


/* ── 17. SUBMODULE / REVIEW ────────────────────────────────────── */
.submodule-chip {
  /* background: rgba(77,168,246,0.10) !important; */
  color: var(--accent-blue) !important;
  /* border: 1px solid rgba(77,168,246,0.2); */
}

.review-container {
  color: var(--text-primary);
}

.review-title {
  color: var(--text-primary) !important;
}

.review-description,
.review-longdesc {
  color: var(--text-secondary) !important;
}


/* ── 18. CONFIGURATION COMPONENTS ──────────────────────────────── */
.configuration_wrapper {
  background: var(--glass-card) !important;
  backdrop-filter: var(--glass-blur) !important;
  border: 1px solid var(--glass-border) !important;
  border-radius: var(--radius) !important;
  box-shadow: var(--glass-shadow) !important;
  color: var(--text-primary);
}

.configuration-header {
  background: rgba(255, 255, 255, 0.45) !important;
  border: 1px solid var(--glass-border) !important;
  border-radius: var(--radius-sm) !important;
  color: var(--text-primary);
}



.field-sidebar {
  background: var(--glass-card) !important;
  backdrop-filter: var(--glass-blur) !important;
  border: 1px solid var(--glass-border) !important;
  border-radius: var(--radius-sm) !important;
}

.field {
  background: rgba(255, 255, 255, 0.40) !important;

  color: var(--text-primary);
}

.main {
  background: var(--glass-card) !important;
  backdrop-filter: var(--glass-blur) !important;
  border: 1px solid var(--glass-border) !important;
}

.drop-area {
  background: rgba(255, 255, 255, 0.25) !important;
  border: 2px dashed rgba(139, 92, 246, 0.3) !important;
}

.drop-area:hover {
  background: rgba(255, 255, 255, 0.40) !important;
}

.dropped-item {
  border: 1px solid var(--glass-border) !important;
  color: var(--text-primary) !important;
}

.inline-dropArea {
  background: rgba(255, 255, 255, 0.25) !important;
  border: 2px dashed rgba(139, 92, 246, 0.3) !important;
}


/* ── 20. JSON EDITOR ───────────────────────────────────────────── */
.jsoneditor {
  border: 1px solid var(--glass-border) !important;
  border-radius: var(--radius-sm) !important;
}


/* ── 21. DATEPICKER ────────────────────────────────────────────── */
.ui-datepicker {
  background: rgba(255, 255, 255, 0.85) !important;
  backdrop-filter: blur(20px) !important;
  border: 1px solid var(--glass-border) !important;
  box-shadow: var(--glass-shadow-lg) !important;
  border-radius: var(--radius-sm) !important;
  color: var(--text-primary) !important;
}

.ui-datepicker .ui-datepicker-header {
  background: transparent !important;
  color: var(--text-primary) !important;
}

.ui-datepicker td a {
  color: var(--text-primary) !important;
}

.ui-datepicker td a:hover {
  background: rgba(77, 168, 246, 0.10) !important;
}

.ui-datepicker .ui-state-active {
  background: var(--accent-gradient) !important;
  color: #fff !important;
}


/* ── 22. TOASTS / ALERTS ───────────────────────────────────────── */
.toast,
.alert {
  background: rgba(255, 255, 255, 0.70) !important;
  backdrop-filter: blur(16px) !important;
  border: 1px solid var(--glass-border) !important;
  box-shadow: var(--glass-shadow) !important;
  color: var(--text-primary) !important;
  border-radius: var(--radius-sm) !important;
}

.alert-success {
  border-left: 3px solid #16a34a !important;
}

.alert-danger {
  border-left: 3px solid #e85347 !important;
}

.alert-warning {
  border-left: 3px solid #d97706 !important;
}

.alert-info {
  border-left: 3px solid #0891b2 !important;
}


/* ── 23. MULTISELECTOR ─────────────────────────────────────────── */
.multiselector {
  background: rgba(255, 255, 255, 0.40) !important;
  border: 1px solid var(--glass-border) !important;
  border-radius: var(--radius-sm) !important;
}

.multiselector h4 {
  background: rgba(77, 168, 246, 0.10) !important;
  color: var(--accent-blue) !important;
}


/* ── 24. TIMELINE ──────────────────────────────────────────────── */
.timeline-item::before {
  background: rgba(139, 92, 246, 0.20) !important;
}

.timeline-item.line-approved::before {
  background: #16a34a !important;
}


/* ── 25. VARIANT / SPEC BORDERS ────────────────────────────────── */
.variant1 {
  border-color: rgba(139, 92, 246, 0.3) !important;
  background: rgba(139, 92, 246, 0.04);
}

.specs1 {
  border-color: rgba(77, 168, 246, 0.3) !important;
  background: rgba(77, 168, 246, 0.04);
}


/* ── 26. CLIENT LIST / MAP ─────────────────────────────────────── */
.client-item:hover {
  background: rgba(255, 255, 255, 0.5) !important;
  border-left-color: var(--accent-blue) !important;
}

.active-client {
  background: rgba(77, 168, 246, 0.08) !important;
  border-left-color: var(--accent-purple) !important;
}

#map_view {
  border: 1px solid var(--glass-border) !important;
  border-radius: var(--radius) !important;
  box-shadow: var(--glass-shadow) !important;
}


/* ── 27. AMOUNT ICONS ──────────────────────────────────────────── */
.amount-save {
  background: rgba(22, 163, 74, 0.12) !important;
  color: #16a34a !important;
}

.amount-save:hover {
  background: #16a34a !important;
  color: #fff !important;
}

.amount-edit {
  background: rgba(77, 168, 246, 0.12) !important;
  color: var(--accent-blue) !important;
}

.amount-edit:hover {
  background: var(--accent-blue) !important;
  color: #fff !important;
}


/* ── 28. ICON COLORS ───────────────────────────────────────────── */
.ni-plus-circle {
  color: #16a34a !important;
}

.ni-cross-circle {
  color: #e85347 !important;
}

.card_close_icon>em {
  color: #e85347 !important;
}

.ni-plus-circle-white {
  color: #ffffff !important;
}

/* ── 29. MISC ──────────────────────────────────────────────────── */
.correct-answer-row {
  background-color: rgba(22, 163, 74, 0.10) !important;
}

.credentials {
  color: var(--text-muted);
}

.credentials:hover {
  color: var(--text-primary);
}

.preview-form-container {
  color: var(--text-primary);
}

.badge-status {
  box-shadow: none !important;
}

/* Pagination */
.page-link {
  background: rgba(255, 255, 255, 0.40) !important;
  border: 1px solid var(--glass-border) !important;
  color: var(--text-secondary) !important;
  border-radius: var(--radius-xs) !important;
  margin: 0 2px;
  backdrop-filter: blur(8px) !important;
}

.page-item.active .page-link {
  background: var(--accent-gradient) !important;
  color: #fff !important;
  border-color: transparent !important;
}

/* Summernote editor */
.note-editor {
  border: 1px solid var(--glass-border) !important;
  border-radius: var(--radius-sm) !important;
  box-shadow: var(--glass-shadow) !important;
}

.note-toolbar {
  background: rgba(255, 255, 255, 0.40) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.25) !important;
}

.note-editable {
  background: transparent !important;
  color: var(--text-primary) !important;
}

/* Chosen select */
.chosen-container .chosen-single,
.chosen-container .chosen-choices {
  border: 1px solid var(--glass-border) !important;
  color: var(--text-primary) !important;
  border-radius: var(--radius-sm) !important;
}

.chosen-container .chosen-drop {
  background: rgba(255, 255, 255, 0.85) !important;
  backdrop-filter: blur(20px) !important;
  border: 1px solid var(--glass-border) !important;
  box-shadow: var(--glass-shadow-lg) !important;
}

/* Table responsive */
.table-responsive {
  background: transparent !important;
}

.bg-light {
  background: rgba(255, 255, 255, 0.30) !important;
}

.bg-secondary {
  background: rgba(255, 255, 255, 0.40) !important;
}

/* User avatar accent */
.user-avatar.bg-primary {
  background: var(--accent-gradient) !important;
  box-shadow: 0 4px 12px rgba(77, 168, 246, 0.25) !important;
}


/* ── 30. RESPONSIVE ────────────────────────────────────────────── */
@media (max-width: 768px) {

  .card,
  .card-bordered,
  .modal-content {
    border-radius: var(--radius-sm) !important;
  }
}


/* ── 31. DASHBOARD ANALYTICS ───────────────────────────────────── */
.analytic-au,
.analytic-ov,
.analytic-data-group {
  color: var(--text-primary);
}

.analytic-au-data .amount,
.analytic-ov-data .amount,
.analytic-data .amount {
  color: var(--text-primary) !important;
  font-weight: 700;
}

.analytic-au-data .sub,
.analytic-ov-data .sub,
.analytic-data .sub {
  color: var(--text-muted) !important;
}

.invest-data-history .amount {
  color: var(--text-primary) !important;
}

.invest-data-history .title {
  color: var(--text-muted) !important;
}

.change.up {
  color: #16a34a !important;
}

.change.down {
  color: #e85347 !important;
}

.lead-text {
  color: var(--text-primary) !important;
}

.user-card,
.user-info {
  color: var(--text-primary);
}

.user-card .user-name {
  color: var(--text-primary) !important;
}

.user-card .user-status {
  color: var(--text-muted) !important;
}

.chart-label,
.chart-label-group {
  color: var(--text-muted) !important;
}

.card-empty {
  color: var(--text-muted) !important;
}

.bg-primary-dim {
  background: rgba(77, 168, 246, 0.12) !important;
  color: var(--accent-blue) !important;
}


/* ── 32. ACCORDION BUTTON (Bootstrap 5) ────────────────────────── */
.accordion-button {
  background: rgba(255, 255, 255, 0.45) !important;
  color: var(--text-primary) !important;
  border: 1px solid var(--glass-border) !important;
  border-radius: var(--radius-sm) !important;
}

.accordion-button:not(.collapsed) {
  background: var(--accent-gradient) !important;
  color: #ffffff !important;
  border-color: transparent !important;
  box-shadow: 0 4px 14px rgba(77, 168, 246, 0.25) !important;
}

.accordion-button:focus {
  box-shadow: 0 0 0 3px var(--accent-glow) !important;
}

.accordion-button::after {
  filter: none !important;
}

.accordion-item {
  background: transparent !important;
  border: none !important;
}


/* ── 33. OUTLINE SECONDARY ─────────────────────────────────────── */
.btn-outline-secondary {
  background: rgba(255, 255, 255, 0.40) !important;
  border: 1px solid var(--glass-border) !important;
  color: var(--text-secondary) !important;
  border-radius: var(--radius-sm) !important;
}

.btn-outline-secondary:hover {
  background: rgba(255, 255, 255, 0.60) !important;
  color: var(--text-primary) !important;
}


/* ── 34. DATATABLE OVERLAY ─────────────────────────────────────── */
.dataTables_processing,
.overlay-data-table {
  background: rgba(232, 236, 244, 0.60) !important;
  backdrop-filter: blur(4px) !important;
  color: var(--text-primary) !important;
  border-radius: var(--radius-sm) !important;
}


/* ── 35. ACCENT VARIANTS ───────────────────────────────────────── */
.accent-purple .reports_card {
  border-left: 4px solid var(--accent-purple) !important;
}

.accent-orange .reports_card {
  border-left: 4px solid #f59e0b !important;
}


/* ── LOGIN PAGE ────────────────────────────────────────────────── */
body.nk-body.pg-auth {
  background: var(--glass-bg) !important;
}

body.nk-body.pg-auth .login-card {
  background: var(--glass-card) !important;
  backdrop-filter: var(--glass-blur) !important;
  -webkit-backdrop-filter: var(--glass-blur) !important;
  border: 1px solid var(--glass-border) !important;
  border-radius: 24px !important;
  box-shadow: var(--glass-shadow-lg) !important;
  color: var(--text-primary) !important;
}

body.nk-body.pg-auth .login-form-panel {
  background: var(--glass-card) !important;
  backdrop-filter: var(--glass-blur) !important;
  border: 1px solid var(--glass-border) !important;
  border-radius: 24px !important;
  box-shadow: var(--glass-shadow-lg) !important;
  color: var(--text-primary) !important;
}

body.nk-body.pg-auth .form-control {
  color: var(--text-primary) !important;
}

body.nk-body.pg-auth .form-control::placeholder {
  color: var(--text-muted) !important;
}

body.nk-body.pg-auth .form-control:focus {
  border-color: var(--accent-blue) !important;
  box-shadow: 0 0 0 3px var(--accent-glow) !important;
  background: rgba(255, 255, 255, 0.60) !important;
}

body.nk-body.pg-auth .form-label {
  color: var(--text-secondary) !important;
}

body.nk-body.pg-auth .nk-block-title {
  color: var(--text-primary) !important;
}

body.nk-body.pg-auth .nk-block-des,
body.nk-body.pg-auth .nk-block-des p {
  color: var(--text-muted) !important;
}

body.nk-body.pg-auth .login-form-footer {
  border-top: 1px solid rgba(255, 255, 255, 0.35) !important;
}

body.nk-body.pg-auth .login-form-footer p {
  color: var(--text-muted) !important;
}

body.nk-body.pg-auth .password-icon {
  color: var(--text-muted) !important;
}

body.nk-body.pg-auth .btn-primary {
  background: var(--accent-gradient) !important;
  color: #fff !important;
  border: none !important;
  box-shadow: 0 4px 16px rgba(77, 168, 246, 0.30) !important;
}

body.nk-body.pg-auth .btn-primary:hover {
  box-shadow: 0 8px 24px rgba(77, 168, 246, 0.40) !important;
}

body.nk-body.pg-auth .err-msg,
body.nk-body.pg-auth .error {
  color: white !important;
}

thead tr th span,
#reports_btn_dash,
#accordion_header_client_branch_module,
#accordion_header_client_fields {
  color: white;
}

.mi_gap_2 {
  gap: 1rem;
}

.mi_top_space {
  padding: 6px 0px;
}

/* .dataTables_wrapper:nth-of-type(2) > .col-sm-12 {
  min-height: 75vh !important;
}

/* ─────────────────────────────────────────────────────────────────────────
   SIDEBAR COMPACT: icon centering, text layout removal, head alignment
───────────────────────────────────────────────────────────────────────── */
/* Active / open state indicator on parent link */
.nk-menu-item.active>.nk-menu-link .nk-menu-icon {
  color: var(--accent-blue) !important;
}

.nk-menu-item.active>.nk-menu-link .nk-menu-text {
  color: #fff !important;
  font-weight: 600;
}

/* ── Compact: sidebar HEAD ──
   DashLite sets width:290px; padding:14px 24px on the head.
   When sidebar collapses to 74px, the head overflows and clips incorrectly.
   Solution: center just the toggle button; hide the brand. */
.nk-sidebar.is-compact:not(.has-hover) .nk-sidebar-head {
  justify-content: center !important;
  padding: 0 !important;
  width: 74px !important;
  min-width: 74px !important;
}

.nk-sidebar.is-compact:not(.has-hover) .nk-menu-trigger {
  margin: 0 !important;
}

.nk-sidebar.is-compact:not(.has-hover) .nk-sidebar-brand {
  display: none !important;
}

/* Hover-peek: restore head */
.nk-sidebar.is-compact.has-hover .nk-sidebar-head {
  justify-content: flex-start !important;
  padding: 14px 24px !important;
  width: 290px !important;
  min-width: 290px !important;
}

.nk-sidebar.is-compact.has-hover .nk-menu-trigger {
  margin-right: 1.125rem !important;
  margin-left: -0.25rem !important;
}

.nk-sidebar.is-compact.has-hover .nk-sidebar-brand {
  display: block !important;
}

/* ── Compact: menu link ──
   DashLite default: padding:0.625rem 40px 0.625rem 24px.
   In 74px wide sidebar: 24px left + 28px icon = 52px → icon is left-biased.
   Strip horizontal padding; flex centering does the job.
   Also: DashLite only sets opacity:0 on nk-menu-text, which still takes layout space.
   Remove from flow entirely with width:0. */
.nk-sidebar.is-compact:not(.has-hover) .nk-menu-link {
  padding: 0.625rem 0 !important;
  justify-content: center !important;
}

.nk-sidebar.is-compact:not(.has-hover) .nk-menu-text {
  width: 0 !important;
  max-width: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  flex: none !important;
  pointer-events: none !important;
}

.nk-sidebar.is-compact:not(.has-hover) .nk-menu-icon {
  margin: 0 !important;
  width: 2rem !important;
  min-width: 2rem !important;
  font-size: 1.25rem !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
}

/* Hover-peek: restore link layout */
.nk-sidebar.is-compact.has-hover .nk-menu-link {
  padding: 0.625rem 40px 0.625rem 24px !important;
  justify-content: flex-start !important;
}

.nk-sidebar.is-compact.has-hover .nk-menu-text {
  width: auto !important;
  max-width: none !important;
  overflow: visible !important;
  flex: 1 !important;
  pointer-events: auto !important;
}

/* Heading separator line in compact mode */
.nk-sidebar.is-compact:not(.has-hover) .nk-menu-heading {
  border-top: 1px solid rgba(255, 255, 255, 0.10);
  margin: 4px 8px;
}

/* DataTable wrapper — horizontal scroll on mobile */
.dataTables_wrapper,
.dataTables_scroll {
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch;
  width: 100% !important;
}

table.dataTable {
  min-width: max-content;
  width: 100% !important;
}

/* Sticky DataTable search/length controls */
.dataTables_wrapper>.row:first-child {
  position: sticky;
  top: 0;
  z-index: 6;
  background: #fff;
  padding: 6px 0;
}

/* ─────────────────────────────────────────────────────────────────────────
   ULTRA FIX 3 — DataTable operation dropdown: z-index & overflow lift
───────────────────────────────────────────────────────────────────────── */
/* When the menu is appended to <body> by the JS ultra-fix */
body>.dropdown-menu {
  z-index: 99999 !important;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.18) !important;
}

/* Ensure the action cell doesn't clip */
.nk-tb-col-tools {
  position: relative;
  overflow: visible !important;
}

.dataTables_wrapper table.dataTable td {
  overflow: visible !important;
}

.dataTables_wrapper:nth-of-type(3) {
  padding-bottom: 1rem;
}

.user-privileges .form-control-wrap>.error {
  bottom: calc(100% - 25px);
  right: 0;
  transform: translateY(0);
  padding: .35rem .6rem;
  font-size: 12px;
}

.nk-sidebar-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 70px;
  /* container height */
}

.admin-logo {
  max-width: 100%;
  max-height: 60px;
  object-fit: contain;
}

/* Custom time header styles */
.custom-top-header {
  position: fixed;
  top: 0;
  left: 290px;
  right: 0;
  height: 40px;
  background: #fff;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 20px 0 280px;
  z-index: 9999;
  border-bottom: 1px solid #eee;
}

.nk-wrap {
  padding-top: 0;
}

.right-section {
  display: flex;
  margin-left: auto;
  padding-right: 20px;
  align-items: center;
  gap: 20px;
}

.time-box {
  display: flex;
  align-items: center;
  gap: 8px;
  background: #eef2ff;
  padding: 6px 14px;
  cursor: pointer;
  transition: 0.3s;
  margin-left: auto;
  border-radius: 10px;
}

.time-box:hover {
  background: #e0ebff;
}

.sidebar-time-box {
  margin: 6px 0 0 0;
  background: rgba(255, 255, 255, 0.08);
  border-radius: 8px;
  padding: 5px 10px;
  font-size: 12px;
  color: #b0bec5;
  width: 100%;
  box-sizing: border-box;
  justify-content: center;
}

.sidebar-time-box:hover {
  background: rgba(255, 255, 255, 0.14);
}

.sidebar-time-box #current-time {
  color: #e0e0e0;
  font-weight: 600;
  font-size: 13px;
}

.sidebar-time-box .timezone {
  color: #90a4ae;
  font-size: 11px;
}

.nk-sidebar.is-compact:not(.has-hover) .sidebar-time-box {
  display: none;
}

.time-popup {
  display: none;
  position: absolute;
  bottom: 110px;
  left: 10px;
  width: 170px;
  background: #fff;
  border-radius: 12px;
  padding: 10px;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
  z-index: 10000;
}

.time-popup .title {
  font-size: 13px;
  color: #666;
  margin-bottom: 8px;
}

.time-popup .option {
  padding: 8px;
  border-radius: 8px;
  cursor: pointer;
}

.time-popup .option:hover {
  background: #f0f4ff;
}

.time-popup .option.active {
  background: #dce8ff;
  font-weight: 600;
  color: #3465e0;
}

.topbar-profile {
  display: flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
}

.topbar-profile-dropdown {
  position: absolute;
  top: 45px;
  right: 0;
  background: white;
  border: 1px solid #ddd;
  border-radius: 6px;
  display: none;
  z-index: 999;
  padding: 8px 12px;
}

.topbar-profile-dropdown.show {
  display: block;
}

.card-option {
  border: 1px solid #ccc;
  padding: 20px;
  border-radius: 10px;
  cursor: pointer;
  position: relative;
  z-index: 10;
}

.card-option.active {
  border: 2px solid blue;
  background: #eef5ff;
}

.topbar-profile .user-avatar {
  width: 30px !important;
  height: 30px !important;
}

.topbar-profile span {
  font-size: 16px;
}

.drag-handle {
  cursor: grab !important;
  display: inline-flex;
  align-items: center;
  padding: 4px;
  touch-action: none;
  /* ← critical for drag to work */
  user-select: none;
  -webkit-user-select: none;
}

.drag-handle:active {
  cursor: grabbing !important;
}

.sortable-placeholder {
  height: 42px;
  background: #f0f4ff;
  border: 2px dashed #6576ff;
  border-radius: 4px;
  list-style: none;
}

.ui-sortable-helper {
  background: #fff !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.12);
  border-radius: 4px;
}

/* Prevent text selection while dragging */
.sortable-group {
  user-select: none;
  -webkit-user-select: none;
}

/* Placeholder shown while dragging category */
.module-placeholder {
  height: 60px;
  background: #e9f0ff;
  border: 2px dashed #4a6cf7;
  border-radius: 6px;
  margin-bottom: 8px;
}

/* Placeholder shown while dragging module row */
.sub-placeholder {
  background: #f0f4ff;
  border: 2px dashed #a0b4f7;
  height: 48px;
}

/* Grab cursor on drag handles */
.category-drag-handle,
.module-drag-handle {
  cursor: grab;
  color: #888;
}

.category-drag-handle:active,
.module-drag-handle:active {
  cursor: grabbing;
}


.accordion-bg {
  background-color: var(--bg-color);
  color: var(--text-color);
  font-size: var(--font-size);
  border: none;
}

.accordion-bg:focus {
  /* Example for Bootstrap */
  outline: none !important;
  box-shadow: none !important;
}

.accordion-bg:hover {
  background-color: var(--menuHover);
}

/* Container */
.theme-container {
  width: 100%;
  font-size: var(--);
}

/* Grid */
.theme-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 16px;
}

/* Card */
.theme-card {
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 14px;
  background: #fff;
  transition: all 0.25s ease;
  cursor: pointer;
}

/* Hover */
.theme-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
}

/* Active */
.theme-card--active {
  border: 2px solid #4e73df;
  box-shadow: 0 0 12px rgba(78, 115, 223, 0.35);
}

/* Header */
.theme-card__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
}

/* Title */
.theme-card__title {
  font-size: 14px;
  font-weight: 600;
  margin: 0;
  color: #111827;
}

/* Actions */
.theme-card__actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

/* Badge */
.theme-badge {
  background: #22c55e;
  color: #fff;
  font-size: 10px;
  padding: 3px 8px;
  border-radius: 999px;
}

/* Colors */
.theme-card__colors {
  display: flex;
  gap: 6px;
  margin-bottom: 10px;
}

/* Color Box */
.theme-color {
  width: 18px;
  height: 18px;
  border-radius: 4px;
}

/* Preview */
.theme-card__preview {
  height: 30px;
  border-radius: 6px;
}

/* Dropdown */
.dropdown-menu {
  min-width: 160px;
  border-radius: 8px;
  padding: 6px 0;
}

/* ── Menu sketch container ── */
.menu-sketch {
  width: 100%;
  aspect-ratio: 4 / 3;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  overflow: hidden;
  background: #f5f6f8;
  display: flex;
}

/* Horizontal layouts (top / bottom) */
.menu-sketch--top,
.menu-sketch--bottom {
  flex-direction: column;
}

.menu-sketch--bottom {
  flex-direction: column-reverse;
}

/* Vertical layouts (left / right) */
.menu-sketch--right {
  flex-direction: row-reverse;
}

/* ── Nav bars ── */
.sk-nav-h {
  height: 22%;
  background: #1a5fa6;
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 0 8px;
  flex-shrink: 0;
}

.sk-nav-v {
  width: 28%;
  background: #1a5fa6;
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding: 8px 6px;
  flex-shrink: 0;
}

/* ── Body areas ── */
.sk-body-h {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 8px;
}

.sk-body-v {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 8px;
}

/* ── Skeleton pieces ── */
.sk-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .7);
  flex-shrink: 0;
}

.sk-item {
  /* vertical nav item */
  height: 6px;
  background: rgba(255, 255, 255, .35);
  border-radius: 2px;
  width: 85%;
}

.sk-item-h {
  /* horizontal nav item */
  width: 20px;
  height: 6px;
  background: rgba(255, 255, 255, .35);
  border-radius: 2px;
}

.sk-bar {
  /* content line */
  height: 6px;
  background: #d0d3db;
  border-radius: 2px;
}

.menu-ui {
  height: 120px;
  border: 1px solid #ddd;
  border-radius: 10px;
  overflow: hidden;
  display: flex;
  background: #fff;
}

.menu-ui__sidebar:hover {
  background-color: var(--menuHover);
}

.menu-ui__sidebar {
  background: var(--primaryColor, #4e73df);
}

.menu-ui__main {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.menu-ui__topbar {
  height: 24px;
  background: var(--primaryColor, #4e73df);
}

.menu-ui__content {
  flex: 1;
  background: #f8f9fc;
}

.menu-ui--top {
  flex-direction: column;
}

.menu-ui--top .menu-ui__sidebar {
  display: none;
}

.menu-ui--top .menu-ui__topbar {
  width: 100%;
}

.menu-ui--bottom {
  flex-direction: column-reverse;
}

.menu-ui--bottom .menu-ui__sidebar {
  display: none;
}

.menu-ui--bottom .menu-ui__topbar {
  width: 100%;
}

.menu-ui--left {
  flex-direction: row;
}

.menu-ui--left .menu-ui__sidebar {
  width: 28px;
}

.menu-ui--left .menu-ui__topbar {
  width: 100%;
}

.menu-ui--right {
  flex-direction: row-reverse;
}

.menu-ui--right .menu-ui__sidebar {
  width: 28px;
}

.menu-ui--right .menu-ui__topbar {
  width: 100%;
}




.menu-ui__sidebar {
  background: var(--primaryColor);
}

.menu-ui__topbar {
  background: var(--primaryColor);
}

.menu-ui__content {
  background: var(--backgroundColor);
}

#liveTablePreview thead>tr>th {
  background: var(--headerColor) !important;
  color: var(--headerText) !important;
}

#liveTablePreview tbody>tr>td {
  background: var(--tdColor) !important;
  color: var(--textColor) !important;
}

#liveTablePreview tbody>tr:hover>td {
  background: var(--hoverColor) !important;
}

/* Button */
.btn-preview {
  background-color: var(--btnBg);
  color: var(--btnText);
  border: 1px solid var(--btnBorder);
  border-radius: var(--btnRadius);
  padding: 8px 20px;
  cursor: pointer;
  transition: background 0.2s;
}

.btn-preview:hover {
  background-color: var(--btnHover);
}


.theme-font {
  font-size: var(--themeFontSize);
  color: var(--themeTextColor);
}


#formPreviewCard {
  background-color: var(--formBg);
}

/* All labels in the preview */
.form-preview-label {
  color: var(--formLabelColor);
}

/* All inputs/textareas in the preview */
.form-preview-input {
  display: block;
  width: 100%;
  padding: 0.375rem 0.75rem;
  background-color: var(--formInputBg);
  border: 1px solid var(--formInputBorder);
  color: var(--formInputText);
  border-radius: var(--formRadius);
  transition: border-color 0.15s ease-in-out;
}

.form-preview-input:focus {
  outline: none;
  border-color: var(--formFocusBorder);
  box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--formFocusBorder) 25%, transparent);
}

.form-preview-input.is-invalid {
  border-color: var(--formError);
}

table {
  color: green;
}

/* ═══════════════════════════════════════════════════════
   CUSTOM COLOR PICKER  —  .cp-* classes
═══════════════════════════════════════════════════════ */

/* Wrapper keeps the popover anchored */
.cp-wrap {
  position: relative;
}

/* Coloured swatch box inside the input-group */
.cp-swatch {
  width: 34px;
  min-width: 34px;
  height: 35px;
  border-radius: 4px 0 0 4px;
  border: 1px solid #ced4da;
  cursor: pointer;
  display: inline-block;
  /* checkerboard shows through transparent colours */
  background-image:
    linear-gradient(45deg, #ccc 25%, transparent 25%),
    linear-gradient(-45deg, #ccc 25%, transparent 25%),
    linear-gradient(45deg, transparent 75%, #ccc 75%),
    linear-gradient(-45deg, transparent 75%, #ccc 75%);
  background-size: 8px 8px;
  background-position: 0 0, 0 4px, 4px -4px, -4px 0;
  background-color: #fff;
}

/* The coloured layer painted over the checker inside .cp-swatch
   is applied as inline style="background:..." by JS */

/* ── Popover panel ──────────────────────────────────── */
.cp-popover {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  z-index: 1080;
  width: 220px;
  background: #fff;
  border: 1px solid #dee2e6;
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, .15);
  padding: 12px;
}

/* Native color wheel — stretched full width */
.cp-native {
  width: 100%;
  height: 120px;
  border: none;
  padding: 0;
  border-radius: 6px;
  cursor: pointer;
  display: block;
}

/* ── Opacity slider row ─────────────────────────────── */
.cp-opacity-wrap {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 10px;
}

/* Checkerboard + gradient track stack */
.cp-checker {
  position: relative;
  flex: 1;
  height: 14px;
  border-radius: 7px;
  overflow: hidden;
  /* checkerboard base */
  background-image:
    linear-gradient(45deg, #bbb 25%, transparent 25%),
    linear-gradient(-45deg, #bbb 25%, transparent 25%),
    linear-gradient(45deg, transparent 75%, #bbb 75%),
    linear-gradient(-45deg, transparent 75%, #bbb 75%);
  background-size: 8px 8px;
  background-position: 0 0, 0 4px, 4px -4px, -4px 0;
  background-color: #fff;
}

/* Colour-to-transparent gradient painted on top of checker */
.cp-gradient-track {
  position: absolute;
  inset: 0;
  border-radius: 7px;
  pointer-events: none;
}

/* Range input overlaid on top, fully transparent */
.cp-range {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  opacity: 0;
  /* hide default track — checker + gradient show through */
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
}

/* Show a visible thumb even though track is hidden */
.cp-checker:hover .cp-range,
.cp-checker:focus-within .cp-range {
  opacity: 1;
  background: transparent;
}

/* Thumb visible via pseudo on the wrapper instead */
.cp-checker::after {
  content: '';
  position: absolute;
  top: 50%;
  /* JS updates left via CSS var set per field if needed;
       here we just show the thumb via the native range */
  pointer-events: none;
}

/* Fallback: make thumb visible on all browsers */
.cp-range::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #fff;
  border: 2px solid #555;
  box-shadow: 0 1px 4px rgba(0, 0, 0, .3);
  cursor: pointer;
  opacity: 1;
  margin-top: -1px;
}

.cp-range::-moz-range-thumb {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #fff;
  border: 2px solid #555;
  box-shadow: 0 1px 4px rgba(0, 0, 0, .3);
  cursor: pointer;
  opacity: 1;
}

/* Make the thumb always visible (override opacity:0 on track) */
.cp-range {
  opacity: 1 !important;
  background: transparent !important;
  -webkit-appearance: none;
  appearance: none;
}

.cp-range::-webkit-slider-runnable-track {
  background: transparent;
  height: 14px;
}

.cp-range::-moz-range-track {
  background: transparent;
  height: 14px;
}

/* Percentage badge */
.cp-pct {
  font-size: 11px;
  color: #6c757d;
  min-width: 32px;
  text-align: right;
  white-space: nowrap;
}

/* ── Live preview chip + rgba string ────────────────── */
.cp-preview-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 10px;
  padding-top: 8px;
  border-top: 1px solid #f0f0f0;
}

.cp-chip {
  width: 22px;
  height: 22px;
  border-radius: 4px;
  border: 1px solid #dee2e6;
  flex-shrink: 0;
  /* checkerboard so transparency is visible */
  background-image:
    linear-gradient(45deg, #ccc 25%, transparent 25%),
    linear-gradient(-45deg, #ccc 25%, transparent 25%),
    linear-gradient(45deg, transparent 75%, #ccc 75%),
    linear-gradient(-45deg, transparent 75%, #ccc 75%);
  background-size: 6px 6px;
  background-position: 0 0, 0 3px, 3px -3px, -3px 0;
  background-color: #fff;
}

.cp-val {
  font-size: 10px;
  color: #6c757d;
  word-break: break-all;
  line-height: 1.2;
}

.field-theme {
  background: #fff;
  padding: 10px;
  margin: 10px 0;
  cursor: pointer;
  border-radius: 4px;
  text-align: center;
  box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;

}

.field-theme.active {
  background: transparent;
  color: #4e73df;
  font-weight: 600;
  border: 2px solid #4e73df;
}

li.module-row .select2-container {
  width: 80px !important;
  min-width: 150px !important;
  max-width: 80px !important;
}

.custom-input {
  border: none;
  background: transparent;
  outline: none;
  box-shadow: none;
  padding: 0;
}

.accordion-bg input,
.accordion-bg span {
  border: none;
  background: transparent;
  outline: none;
  box-shadow: none;
  padding: 0;
  color: var(--text-color);
}

/* ══════════════════════════════════════════════════════════════
   MENU PAGE — Input width + Error tooltip fix
══════════════════════════════════════════════════════════════ */

/* 1. Category name input — shrink to content, not full row */
.menu-page .category-name-input {
  width: auto !important;
  max-width: 200px !important;
  min-width: 80px;
}

/* 2. Wrap must not stretch either */
.menu-page .form-control-wrap {
  position: relative;
  display: inline-flex;
  flex-direction: column;
  overflow: visible;
  width: 100px !important;
}

/* 3. The accordion header div — allow tooltip overflow */
.menu-page .accordion-item .accordion-header>div {
  overflow: visible !important;
  position: relative;
}

/* 4. Error pill — below the input, right-aligned to wrap */
.menu-page .form-control-wrap>.error {
  position: absolute;
  top: calc(100% + 2px);
  bottom: auto;
  right: 0;
  left: auto;
  transform: none !important;

  width: max-content;
  max-width: 200px;
  white-space: nowrap;

  background: #e85347;
  color: #fff;
  font-size: 10px;
  font-weight: 500;
  line-height: 1.2;
  padding: 3px 8px;
  border-radius: 4px;
  z-index: 9999;
  pointer-events: none;
  box-shadow: 0 2px 6px rgba(232, 83, 71, 0.35);
}

/* 5. Arrow pointing UP */
.menu-page .form-control-wrap>.error::before {
  content: "";
  position: absolute;
  top: -5px;
  bottom: auto;
  right: 10px;
  left: auto;
  width: 0;
  height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-bottom: 5px solid #e85347;
  border-top: none;
}

/* 6. Raise stacking when error is active */
.menu-page .form-control-wrap:has(> .error:not(.d-none)) {
  z-index: 9999;
}

.accordion-item,
.accordion-header,
.accordion-header>div,
.accordion-collapse,
.accordion-body {
  overflow: visible !important;
}

.select2-container--open .select2-dropdown {
  z-index: 99999 !important;
}

/* Category name input — compact width */
.category-name-input {
  width: auto !important;
  max-width: 200px !important;
  min-width: 80px !important;
}

/* Wrap is the tooltip anchor */
.menu-page .form-control-wrap {
  position: relative !important;
  display: inline-flex !important;
  flex-direction: column;
  overflow: visible !important;
  width: auto !important;
}

/* ── Shared tooltip style for ALL three error spans ── */
.menu-page .form-control-wrap>.error,
.menu-page .form-control-wrap>.category-name-err,
.menu-page .form-control-wrap>.category-icon-err,
.menu-page .form-control-wrap>.module-icon-err {
  position: absolute !important;
  top: calc(100% + 3px) !important;
  bottom: auto !important;
  right: 0 !important;
  left: auto !important;
  transform: none !important;

  width: max-content;
  max-width: 220px;
  white-space: nowrap;

  background: #e85347;
  color: #fff;
  font-size: 10px;
  font-weight: 500;
  line-height: 1.2;
  padding: 3px 8px;
  border-radius: 4px;
  z-index: 9999;
  pointer-events: none;
  box-shadow: 0 2px 6px rgba(232, 83, 71, 0.35);
}

/* Arrow pointing UP toward the input */
.menu-page .form-control-wrap>.error::before,
.menu-page .form-control-wrap>.category-name-err::before,
.menu-page .form-control-wrap>.category-icon-err::before,
.menu-page .form-control-wrap>.module-icon-err::before {
  content: "";
  position: absolute;
  top: -5px;
  bottom: auto;
  right: 10px;
  left: auto;
  width: 0;
  height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-bottom: 5px solid #e85347;
  border-top: none;
}

/* Raise stacking when any error is visible */
.menu-page .form-control-wrap:has(> .error:not(.d-none)),
.menu-page .form-control-wrap:has(> .category-name-err:not(.d-none)),
.menu-page .form-control-wrap:has(> .category-icon-err:not(.d-none)),
.menu-page .form-control-wrap:has(> .module-icon-err:not(.d-none)) {
  z-index: 9999 !important;
}

/* ══════════════════════════════════════════════════════════════
   DRAG — background change while dragging
══════════════════════════════════════════════════════════════ */

/* Category row being dragged */
.accordion-item.ui-sortable-helper {
  background-color: #058dee !important;
  opacity: 0.92 !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25) !important;
  border: 2px dashed rgba(255, 255, 255, 0.4) !important;
  border-radius: 8px !important;
  transform: scale(1.01);
}

/* Module row being dragged */
.module-row.ui-sortable-helper {
  background-color: rebeccapurple !important;
  opacity: 0.92 !important;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.2) !important;
  border: 2px dashed rgba(255, 255, 255, 0.4) !important;
  border-radius: 6px !important;
  transform: scale(1.01);
}

/* ── Page header (nk-block-between) responsive fix ── */
@media (max-width: 767px) {
  .nk-block-head .nk-block-between {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.6rem;
  }

  .nk-block-head .nk-block-head-content {
    width: 100%;
  }

  .nk-block-head .align-right {
    width: 100%;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 0.5rem;
  }

  .nk-block-head .mi-width-wrapper.lg,
  .nk-block-head .mi-width-wrapper.xlg,
  .nk-block-head .mi-width-wrapper.xxl,
  .nk-block-head .mi-width-wrapper.md {
    width: 100%;
    flex: 1 1 auto;
    min-width: 0;
  }

  .nk-block-head .mi-width-wrapper.sm {
    width: auto;
    min-width: 80px;
  }

  .nk-block-head .align-right .btn-icon {
    flex-shrink: 0;
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
}

/* SkatJob User / Company profile detail pages */
.skat-profile-detail .list-group-item {
  padding-left: 0;
  padding-right: 0;
}

.skat-profile-detail .profile-meta-value {
  max-width: 58%;
  text-align: right;
  word-break: break-word;
}

.skat-profile-detail .skat-personal-info-card .card-inner {
  padding: 1.25rem 1.5rem !important;
}

.skat-profile-detail .skat-personal-info-card .skat-reg-info-grid {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.skat-profile-detail .skat-personal-info-card .skat-reg-info-item {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  min-height: 44px;
  padding: 0.65rem 1rem;
  border: 1px solid #e5e9f2;
  border-radius: 8px;
  background: #fafbfc;
}

.skat-profile-detail .skat-personal-info-card .skat-reg-info-item > span:first-child {
  flex: 0 0 auto;
  min-width: 7rem;
  font-size: 0.8125rem;
  color: #8094ae;
}

.skat-profile-detail .skat-personal-info-card .skat-reg-info-item > span:last-child,
.skat-profile-detail .skat-personal-info-card .skat-reg-info-item > a:last-child {
  flex: 1 1 auto;
  text-align: right;
  word-break: break-word;
  font-size: 0.875rem;
}

.skat-profile-detail .skat-stat-card {
  padding: 0.85rem 0.5rem;
  border: 1px solid #e5e9f2;
  border-radius: 8px;
  background: #fff;
  height: 100%;
}

.skat-profile-detail .skat-stat-card .skat-stat-label {
  font-size: 0.75rem;
  color: #8094ae;
  margin-bottom: 0.25rem;
}

.skat-profile-detail .skat-stat-card .skat-stat-value {
  font-size: 1.125rem;
  font-weight: 600;
  color: #364a63;
}

.skat-profile-detail .skat-feed-engagement-stat {
  display: flex;
  align-items: center;
  gap: 0.875rem;
  padding: 1rem 1.125rem;
  border: 1px solid #e5e9f2;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04), 0 1px 3px rgba(16, 24, 40, 0.06);
  height: 100%;
}

.skat-profile-detail .skat-feed-engagement-stat__icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #f5f6fa;
  color: #8094ae;
  font-size: 1.125rem;
}

.skat-profile-detail .skat-feed-engagement-stat__body {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.skat-profile-detail .skat-feed-engagement-stat__label {
  font-size: 0.75rem;
  font-weight: 500;
  color: #8094ae;
  letter-spacing: 0.02em;
  margin-bottom: 0.125rem;
}

.skat-profile-detail .skat-feed-engagement-stat__value {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.2;
  color: #364a63;
}

.skat-profile-detail .skat-feed-report-admin-action .card-inner {
  padding-bottom: 1.25rem;
}

.skat-profile-detail .skat-feed-report-admin-action__controls {
  display: flex;
  align-items: flex-end;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 8px;
}

.skat-profile-detail .skat-feed-report-admin-action .status-control {
  flex: 0 1 240px;
  min-width: 200px;
  max-width: 280px;
}

.skat-profile-detail .skat-feed-report-admin-action .status-control .form-label {
  margin-bottom: 0.375rem;
  font-size: 0.8125rem;
  font-weight: 500;
  color: #8094ae;
}

.skat-profile-detail .skat-feed-report-admin-action .status-control .form-select {
  height: 42px;
  min-height: 42px;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.skat-profile-detail .skat-feed-report-admin-action .action-buttons {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  flex: 1 1 auto;
}

.skat-profile-detail .skat-feed-report-admin-action .action-buttons .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 42px;
  min-width: 120px;
  padding: 0 1rem;
  white-space: nowrap;
}

@media (max-width: 991.98px) {
  .skat-profile-detail .skat-feed-report-admin-action .status-control {
    flex: 1 1 calc(50% - 12px);
    max-width: none;
  }

  .skat-profile-detail .skat-feed-report-admin-action .action-buttons {
    flex: 1 1 100%;
  }
}

@media (max-width: 575.98px) {
  .skat-profile-detail .skat-feed-report-admin-action__controls {
    flex-direction: column;
    align-items: stretch;
  }

  .skat-profile-detail .skat-feed-report-admin-action .status-control {
    flex: 1 1 auto;
    min-width: 0;
    max-width: none;
    width: 100%;
  }

  .skat-profile-detail .skat-feed-report-admin-action .action-buttons {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
  }

  .skat-profile-detail .skat-feed-report-admin-action .action-buttons .btn {
    width: 100%;
    min-width: 0;
  }
}

.skat-profile-detail .skat-recent-apps-table,
.skat-profile-detail .skat-resumes-table {
  table-layout: fixed;
  width: 100%;
}

.skat-profile-detail .skat-recent-apps-table th,
.skat-profile-detail .skat-resumes-table th {
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #8094ae;
  border-bottom-width: 1px;
  padding: 0.65rem 1rem;
  white-space: nowrap;
}

.skat-profile-detail .skat-recent-apps-table td,
.skat-profile-detail .skat-resumes-table td {
  padding: 0.75rem 1rem;
  vertical-align: middle;
  border-color: #e5e9f2;
  height: 3.25rem;
}

.skat-profile-detail .skat-recent-apps-table .skat-app-job-title {
  display: block;
  font-weight: 500;
  color: #364a63;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.skat-profile-detail .skat-recent-apps-table .skat-app-status {
  display: inline-block;
  min-width: 5.5rem;
  text-align: center;
  text-transform: capitalize;
}

.skat-profile-detail .skat-recent-apps-table .skat-app-date {
  white-space: nowrap;
  color: #8094ae;
  font-size: 0.8125rem;
}

.skat-profile-detail .skat-resumes-table .skat-resume-doc {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-width: 0;
}

.skat-profile-detail .skat-resumes-table .skat-resume-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 8px;
  background: rgba(220, 53, 69, 0.1);
  color: #dc3545;
  font-size: 1.125rem;
}

.skat-profile-detail .skat-resumes-table .skat-resume-name {
  display: block;
  flex: 1 1 auto;
  min-width: 0;
  font-weight: 500;
  color: #364a63;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.skat-profile-detail .skat-resumes-table .skat-resume-size {
  display: inline-block;
  color: #8094ae;
  font-size: 0.8125rem;
  white-space: nowrap;
}

.skat-profile-detail .skat-resumes-table .skat-resume-status {
  display: inline-block;
  min-width: 5.5rem;
  text-align: center;
}

.skat-profile-detail .skat-resumes-table .skat-resume-status--empty {
  color: #b6c2d6;
  font-size: 0.875rem;
}

.skat-profile-detail .skat-resumes-table .skat-resume-download {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  min-width: 2.25rem;
  min-height: 2rem;
  padding: 0.35rem 0.75rem;
  white-space: nowrap;
}

@media (max-width: 575.98px) {
  .skat-profile-detail .skat-recent-apps-table th,
  .skat-profile-detail .skat-recent-apps-table td,
  .skat-profile-detail .skat-resumes-table th,
  .skat-profile-detail .skat-resumes-table td {
    padding: 0.5rem 0.65rem;
  }

  .skat-profile-detail .skat-resumes-table .skat-resume-icon {
    width: 2rem;
    height: 2rem;
    font-size: 1rem;
  }

  .skat-profile-detail .skat-resumes-table .skat-resume-download {
    padding: 0.35rem 0.5rem;
  }

  .skat-profile-detail .skat-personal-info-card .skat-reg-info-item {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.25rem;
  }

  .skat-profile-detail .skat-personal-info-card .skat-reg-info-item > span:last-child,
  .skat-profile-detail .skat-personal-info-card .skat-reg-info-item > a:last-child {
    text-align: left;
  }
}

.skat-profile-detail .skat-skill-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  width: 100%;
}

.skat-profile-detail .skat-skill-chip {
  display: inline-flex;
  align-items: center;
  flex: 0 1 auto;
  max-width: 100%;
  padding: 0.4rem 0.85rem;
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1.35;
  border-radius: 20px;
  background: #e8f0fe !important;
  color: #3366ff !important;
  border: 1px solid rgba(51, 102, 255, 0.2) !important;
  white-space: normal;
  word-break: break-word;
}

.skat-profile-detail .skat-exp-block {
  width: 100%;
}

.skat-profile-detail .skat-exp-block + .skat-exp-block {
  border-top: 1px solid #e5e9f2;
  margin-top: 1rem;
  padding-top: 1rem;
}

.skat-profile-detail .skat-exp-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 0.75rem;
  width: 100%;
}

.skat-profile-detail .skat-exp-head .skat-exp-main {
  flex: 1 1 auto;
  min-width: 0;
}

.skat-profile-detail .skat-exp-head .skat-exp-main h6,
.skat-profile-detail .skat-exp-head .skat-exp-main .text-muted {
  overflow-wrap: anywhere;
  word-break: break-word;
}

.skat-profile-detail .skat-status-pill {
  display: inline-block;
  flex: 0 0 auto;
  padding: 0.25rem 0.65rem;
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.2;
  border-radius: 6px;
  white-space: nowrap;
}

.skat-profile-detail .skat-status-pill.is-current {
  background: rgba(22, 163, 74, 0.12) !important;
  color: #16a34a !important;
  border: 1px solid rgba(22, 163, 74, 0.2) !important;
}

.skat-profile-detail .skat-status-pill.is-past {
  background: rgba(128, 148, 174, 0.15) !important;
  color: #526484 !important;
  border: 1px solid rgba(128, 148, 174, 0.25) !important;
}

.skat-profile-detail .card-inner {
  overflow: visible;
  padding: 1.25rem 1.5rem;
}

.skat-profile-detail .col-lg-8 > .row.g-gs {
  width: 100%;
  margin-left: 0;
  margin-right: 0;
}

.skat-profile-detail {
  overflow-x: hidden;
}

.skat-profile-detail .skat-reg-info-card {
  overflow: visible !important;
}

.skat-profile-detail .skat-reg-info-card .card-inner,
.skat-profile-detail .skat-reg-info-inner {
  display: block !important;
  overflow: visible !important;
  height: auto !important;
  min-height: auto !important;
  padding: 1.25rem 1.5rem !important;
}

.skat-profile-detail .skat-reg-info-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.75rem;
  min-height: 48px;
  padding: 0.75rem 1rem;
  border: 1px solid #e5e9f2;
  border-radius: 8px;
  background: #fff;
}

.skat-profile-detail .skat-reg-info-item--status {
  align-items: center;
}

.skat-profile-detail .skat-reg-actions {
  margin-top: 1.25rem;
  padding: 1.25rem;
  border: 1px solid #e5e9f2;
  border-radius: 8px;
  background: #f8f9fc;
}

.skat-profile-detail .skat-reg-actions .btn {
  min-height: 40px;
  padding: 0.45rem 1.15rem;
}

.skat-profile-detail .skat-reg-info-card .skat-reg-info-grid {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.skat-profile-detail .skat-reg-info-card .skat-reg-info-item > span:first-child {
  flex: 0 0 auto;
  min-width: 7rem;
  font-size: 0.8125rem;
  color: #8094ae;
}

.skat-profile-detail .skat-reg-info-card .skat-reg-info-item > span:last-child:not(.badge) {
  flex: 1 1 auto;
  text-align: right;
  word-break: break-word;
  font-size: 0.875rem;
}

.skat-profile-detail .skat-reg-info-card .skat-reg-info-item > .badge {
  flex: 0 0 auto;
  width: auto;
  margin-left: auto;
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 500;
  padding: 0.35rem 0.65rem;
  line-height: 1.2;
  white-space: nowrap;
}

.skat-profile-detail .skat-reg-info-card .skat-reg-info-item--status {
  align-items: center;
}

.skat-profile-detail .skat-reg-info-card .skat-reg-info-item--status > .badge {
  text-align: center;
}

/* ── Contact hub (Company Profile) ─────────────────────────────────────── */

.skat-profile-detail .skat-contact-hub .card-inner {
  padding: 1.5rem 1.75rem !important;
}

.skat-profile-detail .skat-contact-hub__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.25rem;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid #eef2f6;
}

.skat-profile-detail .skat-contact-hub__title {
  margin: 0 0 0.25rem;
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #8094ae;
}

.skat-profile-detail .skat-contact-hub__subtitle {
  margin: 0;
  font-size: 0.875rem;
  color: #526484;
  line-height: 1.45;
}

.skat-profile-detail .skat-contact-hub__badge {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  padding: 0.35rem 0.75rem;
  font-size: 0.75rem;
  font-weight: 600;
  color: #526484;
  background: #f5f6fa;
  border: 1px solid #e5e9f2;
  border-radius: 999px;
  white-space: nowrap;
}

.skat-profile-detail .skat-contact-hub__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  width: 100%;
}

.skat-profile-detail .skat-contact-hub__grid--single {
  grid-template-columns: minmax(0, 1fr);
}

.skat-profile-detail .skat-contact-channel {
  display: flex;
  flex-direction: column;
  min-height: 0;
  padding: 1.25rem 1.35rem;
  border: 1px solid #e5e9f2;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 1px 2px rgba(16, 24, 40, 0.05);
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.skat-profile-detail .skat-contact-channel:hover {
  border-color: #d1d9e6;
  box-shadow: 0 4px 14px rgba(16, 24, 40, 0.07);
  transform: translateY(-1px);
}

.skat-profile-detail .skat-contact-channel--phone {
  background: linear-gradient(145deg, rgba(22, 163, 74, 0.06) 0%, #fff 38%);
}

.skat-profile-detail .skat-contact-channel--email {
  background: linear-gradient(145deg, rgba(51, 102, 255, 0.06) 0%, #fff 38%);
}

.skat-profile-detail .skat-contact-channel__head {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1rem;
}

.skat-profile-detail .skat-contact-channel__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 12px;
  font-size: 1.2rem;
}

.skat-profile-detail .skat-contact-channel--phone .skat-contact-channel__icon {
  color: #15803d;
  background: rgba(22, 163, 74, 0.14);
  box-shadow: inset 0 0 0 1px rgba(22, 163, 74, 0.12);
}

.skat-profile-detail .skat-contact-channel--email .skat-contact-channel__icon {
  color: #2952cc;
  background: rgba(51, 102, 255, 0.14);
  box-shadow: inset 0 0 0 1px rgba(51, 102, 255, 0.12);
}

.skat-profile-detail .skat-contact-channel__label {
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: #526484;
}

.skat-profile-detail .skat-contact-channel__body {
  flex: 1 1 auto;
  min-width: 0;
}

.skat-profile-detail .skat-contact-channel__value {
  margin: 0 0 0.4rem;
  font-size: 1.1875rem;
  font-weight: 700;
  line-height: 1.35;
  color: #1e293b;
  word-break: break-word;
}

.skat-profile-detail .skat-contact-channel__desc {
  margin: 0;
  font-size: 0.8125rem;
  line-height: 1.5;
  color: #8094ae;
}

.skat-profile-detail .skat-contact-channel__action {
  margin-top: 1.15rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(226, 232, 240, 0.9);
}

.skat-profile-detail .skat-contact-channel__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  width: 100%;
  min-height: 42px;
  padding: 0.55rem 1rem;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
  border-radius: 10px;
  border: 1px solid transparent;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

.skat-profile-detail .skat-contact-channel__btn--phone {
  color: #166534;
  background: rgba(22, 163, 74, 0.1);
  border-color: rgba(22, 163, 74, 0.22);
}

.skat-profile-detail .skat-contact-channel__btn--phone:hover {
  color: #fff;
  background: #16a34a;
  border-color: #16a34a;
  box-shadow: 0 2px 8px rgba(22, 163, 74, 0.28);
}

.skat-profile-detail .skat-contact-channel__btn--email {
  color: #2952cc;
  background: rgba(51, 102, 255, 0.1);
  border-color: rgba(51, 102, 255, 0.22);
}

.skat-profile-detail .skat-contact-channel__btn--email:hover {
  color: #fff;
  background: #3366ff;
  border-color: #3366ff;
  box-shadow: 0 2px 8px rgba(51, 102, 255, 0.28);
}

.skat-profile-detail .skat-contact-hub__empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 2.5rem 1.5rem;
  border: 1px dashed #dbe4ef;
  border-radius: 14px;
  background: linear-gradient(180deg, #fafbfc 0%, #f5f7fa 100%);
}

.skat-profile-detail .skat-contact-hub__empty-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  margin-bottom: 0.85rem;
  border-radius: 50%;
  font-size: 1.35rem;
  color: #8094ae;
  background: #eef2f6;
}

.skat-profile-detail .skat-contact-hub__empty-title {
  margin: 0 0 0.35rem;
  font-size: 0.9375rem;
  font-weight: 600;
  color: #364a63;
}

.skat-profile-detail .skat-contact-hub__empty-text {
  margin: 0;
  max-width: 22rem;
  font-size: 0.8125rem;
  line-height: 1.5;
  color: #8094ae;
}

@media (max-width: 991.98px) {
  .skat-profile-detail .skat-contact-hub__grid {
    grid-template-columns: 1fr;
  }

  .skat-profile-detail .skat-contact-hub__grid--single {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767.98px) {
  .skat-profile-detail .skat-reg-info-card .skat-reg-info-item {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.25rem;
  }

  .skat-profile-detail .skat-reg-info-card .skat-reg-info-item > span:last-child:not(.badge) {
    text-align: left;
  }

  .skat-profile-detail .skat-reg-info-card .skat-reg-info-item > .badge {
    margin-left: 0;
  }

  .skat-profile-detail .skat-contact-hub .card-inner {
    padding: 1.25rem !important;
  }

  .skat-profile-detail .skat-contact-hub__header {
    flex-direction: column;
    align-items: stretch;
    gap: 0.65rem;
  }

  .skat-profile-detail .skat-contact-hub__badge {
    align-self: flex-start;
  }
}

@media (max-width: 575.98px) {
  .skat-profile-detail .skat-contact-channel {
    padding: 1.1rem 1.15rem;
  }

  .skat-profile-detail .skat-contact-channel__value {
    font-size: 1.0625rem;
  }
}

/* ── Job Details page ─────────────────────────────────────────────────── */

.skat-job-detail .skat-job-company-logo {
  width: 80px;
  height: 80px;
  object-fit: cover;
}

.skat-job-detail .skat-job-hero .card-inner {
  padding: 1.35rem 1.5rem !important;
}

.skat-job-detail .skat-job-hero__top {
  margin-bottom: 1.15rem;
}

.skat-job-detail .skat-job-hero__title-wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem 1rem;
}

.skat-job-detail .skat-job-hero__title {
  margin: 0;
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1.3;
  color: #1e293b;
  flex: 1 1 auto;
  min-width: 0;
}

.skat-job-detail .skat-job-hero__badges {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem;
  flex-shrink: 0;
}

.skat-job-detail .skat-job-hero__badges .badge {
  font-size: 0.75rem;
  font-weight: 600;
  padding: 0.35rem 0.65rem;
}

.skat-job-detail .skat-job-hero__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem 1.25rem;
}

.skat-job-detail .skat-job-hero__meta-item {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.875rem;
  color: #526484;
  line-height: 1.35;
}

.skat-job-detail .skat-job-hero__meta-item .icon {
  font-size: 1rem;
  color: #8094ae;
  flex-shrink: 0;
}

.skat-job-detail .skat-job-overview-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.5rem;
  width: 100%;
}

.skat-job-detail .skat-job-overview-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  min-height: 48px;
  padding: 0.75rem 1rem;
  border: 1px solid #e5e9f2;
  border-radius: 8px;
  background: #fff;
}

.skat-job-detail .skat-job-overview-item__label {
  flex: 0 0 auto;
  font-size: 0.8125rem;
  color: #8094ae;
}

.skat-job-detail .skat-job-overview-item__value {
  flex: 1 1 auto;
  text-align: right;
  font-size: 0.875rem;
  font-weight: 600;
  color: #364a63;
  word-break: break-word;
}

.skat-job-detail .skat-job-overview-item > .badge {
  flex: 0 0 auto;
  margin-left: auto;
  font-size: 0.75rem;
  font-weight: 500;
  padding: 0.35rem 0.65rem;
  white-space: nowrap;
}

.skat-job-detail .skat-job-prose {
  font-size: 0.9375rem;
  line-height: 1.65;
  color: #526484;
  white-space: pre-line;
  word-break: break-word;
}

.skat-job-detail .skat-tag-chip {
  background: #f0fdf4 !important;
  color: #15803d !important;
  border-color: rgba(22, 163, 74, 0.22) !important;
}

@media (max-width: 767.98px) {
  .skat-job-detail .skat-job-overview-grid {
    grid-template-columns: 1fr;
  }

  .skat-job-detail .skat-job-overview-item {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.25rem;
  }

  .skat-job-detail .skat-job-overview-item__value {
    text-align: left;
  }

  .skat-job-detail .skat-job-overview-item > .badge {
    margin-left: 0;
  }

  .skat-job-detail .skat-job-hero__title-wrap {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* ── Candidate / User Profile Dashboard ───────────────────────────────── */

.skat-candidate-profile .skat-section-title {
  margin: 0 0 1rem;
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #8094ae;
}

.skat-candidate-profile .skat-candidate-cover-wrap {
  position: relative;
}

.skat-candidate-profile .skat-candidate-hero__cover {
  height: 200px;
  border-radius: 14px 14px 0 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.skat-candidate-profile .skat-candidate-hero__cover--placeholder {
  background: linear-gradient(135deg, #3366ff 0%, #1e3a8a 45%, #0f172a 100%);
  border-radius: 14px;
}

.skat-candidate-profile .skat-candidate-header-card {
  margin-top: -3.5rem;
  margin-left: 1rem;
  margin-right: 1rem;
  border-radius: 14px;
  box-shadow: 0 4px 20px rgba(15, 23, 42, 0.08);
  position: relative;
  z-index: 1;
}

.skat-candidate-profile .skat-candidate-header-card .card-inner {
  padding: 1.25rem 1.5rem 1.35rem !important;
}

.skat-candidate-profile .skat-candidate-header-card__layout {
  display: flex;
  align-items: flex-end;
  gap: 1.25rem;
  flex-wrap: wrap;
}

.skat-candidate-profile .skat-candidate-header-card__main {
  flex: 1 1 280px;
  min-width: 0;
}

.skat-candidate-profile .skat-candidate-hero__avatar-wrap {
  flex-shrink: 0;
}

.skat-candidate-profile .skat-candidate-hero__avatar {
  width: 110px;
  height: 110px;
  border-radius: 50%;
  object-fit: cover;
  border: 4px solid #fff;
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.12);
  background: #fff;
}

.skat-candidate-profile .skat-candidate-hero__avatar--initials {
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #3366ff, #1e40af);
  color: #fff;
  font-size: 2rem;
  font-weight: 700;
}

.skat-candidate-profile .skat-candidate-hero__title-row {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem 1rem;
}

.skat-candidate-profile .skat-candidate-hero__name {
  margin: 0 0 0.2rem;
  font-size: 1.5rem;
  font-weight: 700;
  color: #1e293b;
  line-height: 1.25;
}

.skat-candidate-profile .skat-candidate-hero__title {
  margin: 0;
  font-size: 0.9375rem;
  color: #526484;
}

.skat-candidate-profile .skat-candidate-hero__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  align-items: center;
}

.skat-candidate-profile .skat-candidate-hero__badges .badge {
  font-size: 0.75rem;
  font-weight: 600;
  padding: 0.35rem 0.65rem;
}

.skat-candidate-profile .skat-candidate-hero__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1.25rem;
}

.skat-candidate-profile .skat-candidate-hero__meta-item {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.875rem;
  color: #526484;
  line-height: 1.35;
  word-break: break-word;
}

.skat-candidate-profile .skat-candidate-hero__meta-item .icon {
  color: #8094ae;
  flex-shrink: 0;
}

.skat-candidate-profile .skat-candidate-stat {
  display: flex;
  align-items: center;
  gap: 0.875rem;
  padding: 1rem 1.125rem;
  border: 1px solid #e5e9f2;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04);
  height: 100%;
}

.skat-candidate-profile .skat-candidate-stat__icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 10px;
  font-size: 1.1rem;
}

.skat-candidate-profile .skat-candidate-stat--primary .skat-candidate-stat__icon {
  color: #2952cc;
  background: rgba(51, 102, 255, 0.12);
}

.skat-candidate-profile .skat-candidate-stat--info .skat-candidate-stat__icon {
  color: #0ea5e9;
  background: rgba(14, 165, 233, 0.12);
}

.skat-candidate-profile .skat-candidate-stat--success .skat-candidate-stat__icon {
  color: #15803d;
  background: rgba(22, 163, 74, 0.12);
}

.skat-candidate-profile .skat-candidate-stat--warning .skat-candidate-stat__icon {
  color: #b45309;
  background: rgba(245, 158, 11, 0.14);
}

.skat-candidate-profile .skat-candidate-stat--danger .skat-candidate-stat__icon {
  color: #b91c1c;
  background: rgba(239, 68, 68, 0.12);
}

.skat-candidate-profile .skat-candidate-stat__body {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.skat-candidate-profile .skat-candidate-stat__label {
  font-size: 0.75rem;
  font-weight: 500;
  color: #8094ae;
  margin-bottom: 0.125rem;
}

.skat-candidate-profile .skat-candidate-stat__value {
  font-size: 1.25rem;
  font-weight: 700;
  color: #364a63;
  line-height: 1.2;
  word-break: break-word;
}

.skat-candidate-profile .skat-skill-chip--sm {
  font-size: 0.75rem;
  padding: 0.2rem 0.55rem;
}

.skat-candidate-profile .skat-edu-block--bordered {
  border-top: 1px solid #e5e9f2;
  padding-top: 1rem;
  margin-top: 1rem;
}

.skat-candidate-profile .skat-lang-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.75rem;
  border: 1px solid #e5e9f2;
  border-radius: 8px;
  padding: 0.65rem 0.85rem;
  background: #fafbfc;
  height: 100%;
}

.skat-candidate-profile .skat-completion-ring-wrap {
  display: flex;
  justify-content: center;
  margin-bottom: 1.25rem;
}

.skat-candidate-profile .skat-completion-ring {
  --ring-size: 128px;
  --ring-thickness: 10px;
  width: var(--ring-size);
  height: var(--ring-size);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: conic-gradient(#3366ff calc(var(--pct, 0) * 1%), #eef2f6 0);
}

.skat-candidate-profile .skat-completion-ring--success {
  background: conic-gradient(#16a34a calc(var(--pct, 0) * 1%), #eef2f6 0);
}

.skat-candidate-profile .skat-completion-ring--warning {
  background: conic-gradient(#f59e0b calc(var(--pct, 0) * 1%), #eef2f6 0);
}

.skat-candidate-profile .skat-completion-ring--danger {
  background: conic-gradient(#ef4444 calc(var(--pct, 0) * 1%), #eef2f6 0);
}

.skat-candidate-profile .skat-completion-ring__inner {
  width: calc(var(--ring-size) - var(--ring-thickness) * 2);
  height: calc(var(--ring-size) - var(--ring-thickness) * 2);
  border-radius: 50%;
  background: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 0.5rem;
}

.skat-candidate-profile .skat-completion-ring__value {
  font-size: 1.375rem;
  font-weight: 700;
  color: #364a63;
  line-height: 1.1;
}

.skat-candidate-profile .skat-completion-ring__sub {
  font-size: 0.6875rem;
  color: #8094ae;
  margin-top: 0.15rem;
}

.skat-candidate-profile .skat-completion-list__heading {
  display: block;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: 0.5rem;
}

.skat-candidate-profile .skat-completion-list__item {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.8125rem;
  padding: 0.3rem 0;
  color: #526484;
}

.skat-candidate-profile .skat-completion-list__item.is-complete .icon {
  color: #16a34a;
}

.skat-candidate-profile .skat-completion-list__item.is-missing .icon {
  color: #ef4444;
}

.skat-candidate-profile .skat-profile-grid-2 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.65rem 1.25rem;
}

.skat-candidate-profile .skat-profile-grid-item {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  min-width: 0;
  padding: 0.65rem 0.85rem;
  border: 1px solid #e5e9f2;
  border-radius: 8px;
  background: #fafbfc;
}

.skat-candidate-profile .skat-profile-grid-item__label {
  font-size: 0.75rem;
  font-weight: 600;
  color: #8094ae;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.skat-candidate-profile .skat-profile-grid-item__value {
  font-size: 0.875rem;
  font-weight: 600;
  color: #364a63;
  word-break: break-word;
}

.skat-candidate-profile .skat-resume-section__content {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.skat-candidate-profile .skat-resume-section__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.skat-candidate-profile .skat-resume-section__empty {
  padding: 1rem 1.25rem;
  border: 1px dashed #dbe4ef;
  border-radius: 10px;
  background: #fafbfc;
}

.skat-candidate-profile .skat-mini-profile-card .card-inner {
  padding: 1rem 1.15rem !important;
}

.skat-candidate-profile .skat-mini-profile-card .skat-section-title {
  margin-bottom: 0.75rem;
}

.skat-candidate-profile .skat-resume-card__meta {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.skat-candidate-profile .skat-comment-list {
  max-height: 320px;
  overflow-y: auto;
}

.skat-candidate-profile .skat-comment-compose .input-group .form-control {
  border-right: 0;
}

.skat-candidate-profile .skat-comment-compose .input-group .btn {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.skat-candidate-profile .skat-comment-item {
  display: flex;
  gap: 0.75rem;
  padding: 0.75rem 0;
  border-bottom: 1px solid #eef2f6;
}

.skat-candidate-profile .skat-comment-item:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.skat-candidate-profile .skat-comment-item__avatar {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #3366ff, #1e40af);
  color: #fff;
  font-size: 0.875rem;
  font-weight: 700;
}

.skat-candidate-profile .skat-comment-item__content {
  flex: 1 1 auto;
  min-width: 0;
}

.skat-candidate-profile .skat-comment-item__head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.25rem;
}

.skat-candidate-profile .skat-comment-item__body {
  font-size: 0.875rem;
  color: #526484;
  line-height: 1.5;
  word-break: break-word;
}

.skat-candidate-profile .skat-activity-timeline {
  list-style: none;
  margin: 0;
  padding: 0;
}

.skat-candidate-profile .skat-activity-timeline__item {
  display: flex;
  gap: 0.85rem;
  padding-bottom: 1rem;
  position: relative;
}

.skat-candidate-profile .skat-activity-timeline__item:not(:last-child)::before {
  content: "";
  position: absolute;
  left: 15px;
  top: 32px;
  bottom: 0;
  width: 2px;
  background: #e5e9f2;
}

.skat-candidate-profile .skat-activity-timeline__dot {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f5f6fa;
  color: #8094ae;
  font-size: 0.9rem;
  border: 2px solid #e5e9f2;
}

.skat-candidate-profile .skat-activity-timeline__dot.is-latest {
  background: rgba(51, 102, 255, 0.12);
  color: #3366ff;
  border-color: rgba(51, 102, 255, 0.25);
}

.skat-candidate-profile .skat-activity-timeline__content {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding-top: 0.15rem;
}

.skat-candidate-profile .skat-activity-timeline__label {
  font-size: 0.875rem;
  font-weight: 600;
  color: #364a63;
}

.skat-candidate-profile .skat-activity-timeline__meta {
  font-size: 0.8125rem;
  color: #8094ae;
  margin-top: 0.1rem;
  word-break: break-word;
}

.skat-candidate-profile .skat-activity-timeline__date {
  font-size: 0.75rem;
  color: #94a3b8;
  margin-top: 0.15rem;
}

.skat-candidate-profile .skat-empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 1.75rem 1rem;
  border: 1px dashed #dbe4ef;
  border-radius: 12px;
  background: linear-gradient(180deg, #fafbfc 0%, #f5f7fa 100%);
}

.skat-candidate-profile .skat-empty-state__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  margin-bottom: 0.75rem;
  border-radius: 50%;
  font-size: 1.25rem;
  color: #8094ae;
  background: #eef2f6;
}

.skat-candidate-profile .skat-empty-state__title {
  margin: 0 0 0.25rem;
  font-size: 0.9375rem;
  font-weight: 600;
  color: #364a63;
}

.skat-candidate-profile .skat-empty-state__text {
  margin: 0;
  font-size: 0.8125rem;
  color: #8094ae;
  line-height: 1.45;
}

.skat-candidate-profile .skat-empty-inline {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.85rem 1rem;
  border: 1px dashed #dbe4ef;
  border-radius: 8px;
  background: #fafbfc;
  color: #8094ae;
  font-size: 0.875rem;
}

.skat-candidate-profile .skat-empty-inline .icon {
  font-size: 1.1rem;
  flex-shrink: 0;
}

.skat-candidate-profile .skat-job-prose {
  font-size: 0.9375rem;
  line-height: 1.65;
  color: #526484;
  white-space: pre-line;
  word-break: break-word;
}

@media (max-width: 767.98px) {
  .skat-candidate-profile .skat-candidate-header-card {
    margin-left: 0.5rem;
    margin-right: 0.5rem;
    margin-top: -2.75rem;
  }

  .skat-candidate-profile .skat-candidate-hero__avatar {
    width: 88px;
    height: 88px;
  }

  .skat-candidate-profile .skat-candidate-hero__name {
    font-size: 1.25rem;
  }

  .skat-candidate-profile .skat-candidate-hero__cover {
    height: 150px;
  }

  .skat-candidate-profile .skat-candidate-stat__value {
    font-size: 1.0625rem;
  }

  .skat-candidate-profile .skat-profile-grid-2 {
    grid-template-columns: 1fr;
  }

  .skat-candidate-profile .skat-resume-section__content {
    flex-direction: column;
    align-items: flex-start;
  }

  .skat-candidate-profile .skat-candidate-hero__title-row {
    flex-direction: column;
  }
}