:root {
    --bg: #111826;
    --color_1: #13181F;
    --color_2: #1c222f;
    --color_2-rgb: 28, 34, 47;
    --color_3: #283041;
    --primary: #9d78ff;
    --primary_hover: #9269ff;
    --bs-primary-rgb: 157, 120, 255;
    --primary_2: #9269ff;
    --primary_3: #9d78ff99;
    --text_1: #FFFFFF;
    --text_2: #767f93;
    --text_3: #c9c9c9;
    --border: #2d3649;
    
}
body {
    background-color: var(--bg);
    color: var(--text_1);
    font-size: 14px;
    font-family: "Outfit", sans-serif;
    background-size: 100% 950px;
    background-repeat: no-repeat;
}
a {
    text-decoration: none;
    color: var(--primary_2);
}
#toolbarContainer {
    display: none;
}
.btn {
    color: var(--text_1);
    font-size: 14px;
    outline: none !important;
    box-shadow: none !important;
    border: none !important;
    border-radius: 12px;
    padding: 16px 28px;
    line-height: 14px;
    font-weight: 600;
}
.btn:hover {
    opacity: .85;
}

.btn-primary {
    background: var(--primary) !important;
    color: var(--text_1) !important;
}
.btn-outline-white {
    border: 1px solid #fff !important;
    padding: 15px 27px;
    color: #fff !important;
}
label {
    margin-bottom: 10px;
    font-weight: 500;
}
.form-control {
    font-size: 14px;
    outline: none !important;
    border: 1px solid var(--border) !important;
    border-radius: 12px;
    padding: 16px 16px;
    line-height: 14px;
    background-color: var(--color_2) !important;
    color: #fff !important;
    transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease;
}
.form-control:focus {
    border-color: var(--primary) !important;
    box-shadow: 0 0 0 4px rgba(var(--bs-primary-rb),.14);
    color: #fff;
    outline: 0;
}
::placeholder {
    color: #696f7b !important;
    font-weight: 500;
    opacity: 1;
}
::-ms-input-placeholder {
    color: #696f7b !important;
    font-weight: 500;
}
.form-check:not(.form-switch) {
    padding: 0;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 8px;
}
.form-check:not(.form-switch) .form-check-input[type=checkbox] {
    width: 16px;
    height: 16px;
    border: none !important;
    padding: 0;
    margin: 0;
}
.form-check-input[type=checkbox]:focus, .form-check-input[type=checkbox]:active {
    box-shadow: 0 0 0 .25rem rgb(116 68 253 / 26%);
}
.form-check-input[type=checkbox]:checked {
    background-color: var(--primary) !important;
    border-color: var(--primary) !important;
}
.form-check-label {
    margin: 0;
}
.nav {
    border-bottom: none;
    margin-bottom: 20px;
}
.nav-link {
    color: var(--text_1);
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    border-radius: 8px !important;
}
.nav-link:hover {
    color: var(--primary_2);
}
.nav-link.active {
    background-color: var(--primary) !important;
    color: var(--text_1) !important;
}
.card {
    margin-bottom: 24px;
    border: none;
    background-color: var(--color_2);
    color: var(--text_1);
    border-radius: 12px;
}
.card-header {
    padding: 16px 22px;
    font-size: 16px;
    font-weight: 600;
    border-color: var(--border);
}
.card-body {
    background-color: transparent;
    padding: 22px;
    overflow: hidden;
}
.input-group-text {
    color: var(--text_1);
    font-size: 14px;
    padding: 0 18px;
    border: none;
    background-color: var(--border);
    border-radius: 12px 0 0 12px;
}
.input-group-text.right {
    border-radius: 0 12px 12px 0;
}
.btn-sm {
    padding: 8px 12px;
}
#datatable {
    border-radius: 8px;
    overflow: hidden;
}
#datatable tr th, #datatable tr td {
    text-align: left;
    background-color: transparent;
    color: var(--text_1);
    border-color: var(--border) !important;
    padding: 10px 16px;
}
#datatable tr:last-child td {
    border-bottom: none;
}
.dt-container .dt-layout-row:first-child {
    margin-top: 0;
}
div.dt-container div.dt-layout-row {
    margin: 14px 0 0 0;
}
div.dt-container .dt-paging .dt-paging-button {
    outline: none !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 8px;
}
div.dt-container .dt-paging .dt-paging-button:hover, div.dt-container .dt-paging .dt-paging-button.current, div.dt-container .dt-paging .dt-paging-button.current:hover {
    background: var(--primary) !important;
}
div.dt-container .dt-paging .dt-paging-button.disabled, div.dt-container .dt-paging .dt-paging-button.disabled:hover, div.dt-container .dt-paging .dt-paging-button.disabled:active {
    display: none;
}
div.dt-container div.dt-layout-row:first-child {
    justify-content: flex-start;
    gap: 12px;
}
div.dt-container div.dt-layout-row:first-child div.dt-layout-cell.dt-layout-end {
    margin-left: 0;
}
div.dt-container div.dt-layout-row:first-child div.dt-layout-cell.dt-layout-start {
    margin-right: 0;
}
.dt-length label, .dt-search label {
    margin: 0;
    display: none;
}
div.dt-container .dt-search input {
    width: 100%;
    max-width: 500px;
    min-width: 320px;
}
div.dt-container .dt-search input, div.dt-container select.dt-input {
    margin: 0;
    font-size: 14px;
    outline: none !important;
    box-shadow: none !important;
    border: 1px solid var(--border) !important;
    border-radius: 12px;
    padding: 16px 16px;
    line-height: 14px;
    background-color: transparent !important;
    color: #fff !important;
}
div.dt-container select.dt-input option {
    color: #333;
    font-weight: 500;
}
.dt-layout-table {
    overflow: auto;
    border: 1px solid var(--border);
    border-radius: 12px;
}
option {
    color: #333;
    font-weight: 500;
}
.badge {
    font-size: 12px;
    line-height: 12px;
    padding: 6px 8px;
    border-radius: 8px;
    font-weight: 500;
}
input[type=file] {
    position: relative;
}
input[type=file]::before {
    content: 'Pilih File';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 98px;
    background: var(--border);
    display: flex;
    align-items: center;
    justify-content: center;
}
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
input[type=number] {
    -moz-appearance: textfield;
}
textarea.form-control {
    line-height: 22px;
}
input.form-control:read-only {
    background: #212837 !important;
    color: #6c768b !important;
}
.form-check.form-switch .form-check-input {
    height: 20px;
    width: 38px;
    cursor: pointer;
}
.text-muted {
    color: var(--text_2) !important;
}
.nowrap {
    white-space: nowrap;
}
.form-switch .form-check-input:focus {
    background-image: url(/assets/images/circle.svg);
}
.list-style-none {
    list-style: none;
}
.form-control-sm {
    padding: 10px 12px;
    border-radius: 8px;
}
.choices__inner {
    background: transparent;
    border: 1px solid var(--border) !important;
    border-radius: 12px !important;
    padding: 16px 16px !important;
    font-size: 14px;
    line-height: 14px;
}
.choices__list--single {
    padding: 0;
}
.choices__list--dropdown, .choices__list[aria-expanded] {
    border: none !important;
    background-color: #2a303e;
    border-radius: 10px !important;
    margin-top: 10px;
}
.choices[data-type*=select-one] .choices__input {
    border: 1px solid #394359;
    background-color: #2b313f;
    border-radius: 8px;
    color: var(--text_1);
    margin: 12px;
    width: calc(100% - 24px);
}
.choices__list {
    font-size: 14px;
}
.choices__list::-webkit-scrollbar {
    width: 0;
}
.choices__list--dropdown .choices__item--selectable.is-highlighted, .choices__list[aria-expanded] .choices__item--selectable.is-highlighted {
    background-color: #313745;
}
#service+.choices__list .choices__item {
    line-height: 22px !important;
}
.mh-320px {
    max-height: 320px;
    overflow: auto;
}

.alert {
    border: 1px solid transparent;
    border-radius: 12px;
    padding: 12px 14px;
}
.alert-primary {
    background: #7444fd54;
    border-color: var(--primary);
    color: #b8a0fd;
}
.alert-success {
    background: #4caf504f;
    border-color: #4CAF50;
    color: #62d967;
}
.alert-danger {
    background: #f4433654;
    border-color: #F44336;
    color: #ff7b71;
}
.alert-warning {
    background: #ffc10754;
    border-color: #FFC107;
    color: #ffd24c;
}
.breadcrumb-item a, .breadcrumb-item+.breadcrumb-item::before {
    color: var(--text_3);
}
.breadcrumb-item.active {
    color: var(--primary_2);
}
.form-control-lg {
    font-size: 20px;
}
.modal-content {
    border: none;
    background: var(--color_2);
    border-radius: 16px;
    position: relative;
}
.modal-header {
    border-color: var(--border);
    padding: 18px 22px;
}
.modal-footer {
    border-color: var(--border);
}
.modal.fade .modal-dialog {
    transition: transform .3sease-out;
    transform: scale(0.80);
}
.modal.fade.show .modal-dialog {
    transform: scale(1);
}
.modal-dialog.modal-lg {
    max-width: 620px;
}
.btn-close {
    background-image: url(/assets/images/x.svg);
    background-repeat: no-repeat;
    opacity: 1;
    background-color: #363f53;
    position: absolute;
    right: -9px;
    top: -10px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background-size: 18px;
    background-position: center;
    outline: none !important;
    border: none !important;
    box-shadow: none !important;
}
.modal-title {
    font-size: 18px;
}
.modal-body {
    padding: 22px;
}
.badge.bg-success {
    background-color: #1e9d23 !important;
}
.badge.bg-warning {
    background-color: #cf9b00 !important;
}
.badge.bg-info {
    background-color: #03A9F4 !important;
}
.badge.bg-primary {
    background-color: var(--primary) !important;
}
.badge.bg-danger {
    background-color: #e32e21 !important;
}
.btn .spinner-border {
    width: 12px;
    height: 12px;
}
.fw-500 {
    font-weight: 500;
}
.text-danger {
    color: #ff5d5d !important;
}
.btn-success {
    background: #1e9d23 !important;
}
.btn-danger {
    background: #e32e21 !important;
}
.btn-info {
    color: #fff !important;
}
.btn-warning {
    color: #fff !important;
}
.loader {
    width: 50px;
    padding: 8px;
    aspect-ratio: 1;
    border-radius: 50%;
    background: var(--primary);
    --_m: 
    conic-gradient(#0000 10%,#000),
    linear-gradient(#000 0 0) content-box;
    -webkit-mask: var(--_m);
            mask: var(--_m);
    -webkit-mask-composite: source-out;
            mask-composite: subtract;
    animation: l3 1s infinite linear;
  }
@keyframes l3 {
    to {
        transform: rotate(1turn)
    }
}
.toastify {
    display: flex;
    gap: 14px;
    padding: 10px 6px 10px 14px;
    border-radius: 8px;
}
.cursor-pointer {
    cursor: pointer;
}
.modal-backdrop.show {
    background: #11182661;
    backdrop-filter: blur(1px);
    opacity: 1;
}
.tawk-max-container {
    border: none !important;
}
div.dt-container div.dt-layout-row:not(.dt-layout-table) div.dt-layout-cell>*, div.dt-container div.dt-layout-row:not(.dt-layout-table) div.dt-layout-cell>* {
    margin: 0 !important;
}
.choices .choices__list--dropdown {
    top: 100% !important;
    bottom: auto !important;
    margin-top: 20px !important;
}
.d-none-pc {
    display: none !important;
}
.min-width-260 {
    min-width: 260px !important;
    display: block;
}
.min-width-180 {
    min-width: 180px !important;
    display: block;
}
.min-width-110 {
    min-width: 110px !important;
    display: block;
}
.cke_notifications_area {
    display: none !important;
}
.text-success {
    color: #61dd66 !important;
}
.text-warning {
    color: #f5c840 !important;
}
.text-primary {
    color: var(--primary) !important;
}
.text-danger {
    color: #ff6f64 !important;
}
.table {
  --bs-table-bg: transparent;
  --bs-table-color: #ffffff;
  --bs-table-border-color: var(--border);
  --bs-table-striped-bg: #1c1c1e;
  --bs-table-striped-color: #ffffff;
  --bs-table-hover-bg: #2a2a2c;
  --bs-table-hover-color: #ffffff;
  width: 100%;
  margin-bottom: 1rem;
  vertical-align: top;
  border-collapse: separate !important;
  border-spacing: 0;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid var(--border) !important;
}

.table > :not(caption) > * > * {
  border-width: 0 !important;
}

.table > :not(caption) > * > * {
  border-bottom: 1px solid var(--border) !important;
}

.table > :not(caption) > * > *:not(:last-child) {
  border-right: 1px solid var(--border) !important;
}

.table tbody tr:last-child > * {
  border-bottom: none !important;
}

.table thead tr:first-child th:first-child {
  border-top-left-radius: 12px;
}

.table thead tr:first-child th:last-child {
  border-top-right-radius: 12px;
}

.table tbody tr:last-child td:first-child,
.table tbody tr:last-child th:first-child {
  border-bottom-left-radius: 12px;
}

.table tbody tr:last-child td:last-child,
.table tbody tr:last-child th:last-child {
  border-bottom-right-radius: 12px;
}
.accordion {
  --bs-accordion-bg:                   var(--color_2);
  --bs-accordion-color:                var(--text_1);
  --bs-accordion-border-color:         var(--border);
  --bs-accordion-border-radius:        12px;
  --bs-accordion-inner-border-radius:  calc(12px - 1px); /* ← hapus double semicolon */
  --bs-accordion-btn-color:            var(--text_1);
  --bs-accordion-btn-bg:               var(--color_2);
  --bs-accordion-btn-focus-box-shadow: none;
  --bs-accordion-active-color:         var(--primary);
  --bs-accordion-active-bg:            var(--primary);
  /* ← stroke diganti %23ffffff (putih) */
  --bs-accordion-btn-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 5L8 11L14 5'/%3E%3C/svg%3E");
  --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 5L8 11L14 5'/%3E%3C/svg%3E");
  margin-bottom: 24px;
}
.accordion-item {
  background-color: var(--color_2);
  border-color: var(--border) !important;
}
.accordion-button {
  background-color: var(--color_2) !important;
  color: var(--text_1) !important;
  font-weight: 600;
  box-shadow: none !important;
}
.accordion-button:not(.collapsed) {
  background-color: rgba(var(--bs-primary-rgb), 0.2) !important;
  color: var(--primary) !important;
}
.accordion-button::after {
  width: 0.85rem;
  height: 0.85rem;
  margin-left: auto;
  background-size: 0.85rem;
  background-position: center;
  filter: none !important;
  transition: transform 0.2s ease-in-out;
}
.accordion-button:not(.collapsed)::after {
  transform: rotate(-180deg);
}
.accordion-body {
  background-color: var(--color_2);
  color: var(--text_1);
  border-top: 1px solid var(--border);
  font-size: 14px;
  line-height: 1.7;
}
.accordion-item:last-child {
  border-bottom-left-radius:  12px !important;
  border-bottom-right-radius: 12px !important;
  overflow: hidden;
}
.accordion-item:last-child .accordion-collapse.show {
  border-bottom-left-radius:  12px;
  border-bottom-right-radius: 12px;
  overflow: hidden;
}
.accordion-item:last-child .accordion-button.collapsed {
  border-bottom-left-radius:  calc(12px - 1px) !important;
  border-bottom-right-radius: calc(12px - 1px) !important;
}

.referral-detail__address {
  display: flex;
  align-items: center;
  gap: 20px;
  background: #141a25;
  border: 1px solid #1f2838;
  border-radius: 15px;
  padding: 11px 12px;
  width: 100%;
  font-weight: 600;
  font-size: 16px;
  line-height: 20px;
  color: #767f93;
}

.referral-detail__address a {
  color: #767f93 !important;
  text-decoration: none;
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.referral-detail__address-button {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #8456ff;
  border-radius: 10px;
  height: 48px;
  width: 48px;
  border: none;
  outline: none;
  transition: all 0.2s;
  flex: none;
}

.referral-detail__address-button * {
  font-size: 24px;
  color: #fff;
}

.referral-detail__address-button:hover {
  background: #7542ff;
}

.referral-detail__item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 24px;
  background: #141a25;
  border: 1px solid #1f2838;
  border-radius: 15px;
  width: 100%;
}

.referral-detail__item-text {
  display: flex;
  justify-content: space-between;
  width: 100%;
  font-weight: 600;
  font-size: 16px;
  color: #767f93;
}

.referral-detail__list {
  margin-bottom: 24px;
}

.referral-detail__list.row {
  row-gap: 20px;
}

.referral-content {
  background: #141a25;
  border: 1px solid #1f2838;
  border-radius: 15px;
  padding: 50px;
  display: flex;
  flex-direction: column;
  gap: 22px;
}

.referral-content__title {
  font-weight: 600;
  font-size: 25px;
  line-height: 30px;
  letter-spacing: -0.03em;
  color: #fff;
}

.referral-content__texts p {
  font-weight: 600;
  font-size: 14px;
  line-height: 20px;
  letter-spacing: -0.03em;
  color: #fff;
  margin-bottom: 20px;
}

.referral-content__texts p:last-child {
  margin-bottom: 0;
}

@media (max-width: 991.98px) {
  .referral-content {
    padding: 24px;
  }
}

@media (max-width: 767.98px) {
  .referral-detail {
    gap: 16px;
  }
}

@media (max-width: 575.98px) {
  .referral-detail__item {
    padding: 14px;
  }

  .referral-detail__item-text {
    line-height: 30px;
  }

  .referral-detail__address {
    gap: 12px;
  }

  .referral-detail__address-button {
    height: 42px;
    width: 42px;
  }

  .referral-content {
    padding: 18px;
    gap: 14px;
  }

  .referral-content__title {
    font-size: 20px;
    line-height: 24px;
  }
}
.icon {
  height: 1em;
  width: 1em;
  font-size: 24px;
  color: #fff;
}
.new-order-card {
  background: radial-gradient(
      108.49% 108.49% at 56.95% -13.74%,
      rgba(101, 128, 164, 0.2) 0,
      transparent 100%
    ),
    linear-gradient(180deg, #141a25, rgba(20, 26, 37, 0)),
    #141a25;

  border: 1px solid #1f2838;
  backdrop-filter: blur(10px);
  border-radius: 15px;
  padding: 20px;
  display: flex;
  flex-direction: column;
  align-items: center;       
  justify-content: center;
  text-align: center;
  gap: 12px;
  margin-bottom: 24px;
}

.new-order-card__name-icon {
  --statu-bg-opacity: 0.15;
  height: 50px;
  width: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 22px;
}

.new-order-card__name-icon * {
  font-size: 30px;
}

.new-order-card__name-text {
  font-weight: 600;
  font-size: 15px;
  line-height: 18px;
  letter-spacing: -0.03em;
  color: #fff;
}

.new-order-card__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
}

.new-order-card__content-value {
  font-weight: 600;
  font-size: 20px;
  line-height: 20px;
  letter-spacing: -0.03em;
  color: #fff;
}
.bg-subtle-primary {
  background-color: #9d78ff26;
}

.bg-subtle-success {
  background-color: rgba(34, 197, 94, 0.15);
}