:root {
  --primary: #4a7443;
  --primary-hover: #355230;
  --primary-soft: #acbfa9;
  --primary-50: #EBEFEB;
  --primary-100: #c7d4c5;
  --primary-200: #A4B4A1;
  --primary-500: #395D33;
  --primary-700: #355230;
  --primary-strong: #1f311c;
  --secondary: #ef552a;
  --secondary-hover: #aa3c1e;
  --secondary-soft: #f8b19d;
  --secondary-strong: #642412;
  --success: #198754;
  --success-hover: #12603c;
  --success-soft: #95c8b0;
  --danger: #dc3545;
  --danger-hover: #9c2631;
  --danger-soft: #efa2a9;
  --danger-50: #fcebec;
  --danger-700: #9c2631;
  --danger-strong: #5c161d;
  --warning: #ffc107;
  --warning-50: #FFF9E6;
  --warning-hover: #b58905;
  --warning-soft: #ffecb2;
  --info: #0dcaf0;
  --info-hover: #098faa;
  --info-soft: #90e7f8;
  --info-50: #e7fafe;
  --info-700: #098faa;
  --info-strong: ##055565;

  --text-1: #ffffff;
  --text-2: #f5f5f5;
  --text-3: #ededed;
  --text-4: #e0e0e0;
  --text-5: #c2c2c2;
  --text-6: #9e9e9e;
  --text-7: #757575;
  --text-8: #616161;
  --text-9: #404040;
  --text-10: #0a0a0a;

  --text-soft-primary: #5b4400;
  --text-soft-secondary: #2a326b;
  --text-soft-success: #0e4a2e;
  --text-soft-danger: #791d26;
  --text-soft-warning: #8c6a04;
  --text-soft-info: #076f84;
  
  --gradient-green: linear-gradient(90deg, #3b5e34 0%, #9bbd58 100%);
  --gradient-orange: linear-gradient(90deg, #d63b10 0%, #ef552a 0%);

  --bs-menu-link-bg-color-active: var(--gradient-green) !important;
  --bs-menu-link-color-active: var(--text-1) !important;
}

@font-face {
  font-family: 'Material Symbol';
  src: url('/fonts/Material Symbols Variable.ttf') format('truetype');
}

.icon {
  font-family: 'Material Symbol' !important;
  font-weight: normal;
  font-style: normal;
  font-size: 20px;
  /* Preferred icon size */
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
}

.btn-add {
  --bs-btn-color: var(--primary-50);
  --bs-btn-bg: var(--primary);
  --bs-btn-border-color: #1b84ff;
  --bs-btn-hover-color: var(--primary-50);
  --bs-btn-hover-bg: var(--primary-hover);
  --bs-btn-hover-border-color: var(--primary);
  --bs-btn-focus-shadow-rgb: 23, 112, 217;
  --bs-btn-active-color: #000000;
  --bs-btn-active-bg: var(--primary-strong) !important;
  --bs-btn-border-radius: 0.25rem !important;
  --bs-btn-active-border-color: var(--primary);
  --bs-btn-active-shadow: none;
  --bs-btn-disabled-color: #000000;
  --bs-btn-disabled-bg: var(--primary);
  --bs-btn-disabled-border-color: var(--primary);
  --bs-btn-font-weight: 900;
}

.btn-custom-primary {
  --bs-btn-color: var(--primary-50);
  --bs-btn-bg: var(--primary);
  --bs-btn-border-color: #1b84ff;
  --bs-btn-hover-color: var(--primary-50);
  --bs-btn-hover-bg: var(--primary-hover);
  --bs-btn-hover-border-color: var(--primary);
  --bs-btn-focus-shadow-rgb: 23, 112, 217;
  --bs-btn-active-color: #000000;
  --bs-btn-active-bg: var(--primary-strong) !important;
  --bs-btn-border-radius: 0.25rem !important;
  --bs-btn-active-border-color: var(--primary);
  --bs-btn-active-shadow: none;
  --bs-btn-disabled-color: #000000;
  --bs-btn-disabled-bg: var(--primary);
  --bs-btn-disabled-border-color: var(--primary);
  --bs-btn-font-weight: 900;
  
}

.btn-custom-danger {
  --bs-btn-color: var(--danger-50);
  --bs-btn-bg: var(--danger);
  --bs-btn-border-color: #1b84ff;
  --bs-btn-hover-color: var(--danger-50);
  --bs-btn-hover-bg: var(--danger-hover);
  --bs-btn-hover-border-color: var(--danger);
  --bs-btn-focus-shadow-rgb: 23, 112, 217;
  --bs-btn-active-color: #000000;
  --bs-btn-active-bg: var(--danger-strong) !important;
  --bs-btn-border-radius: 0.25rem !important;
  --bs-btn-active-border-color: var(--danger);
  --bs-btn-active-shadow: none;
  --bs-btn-disabled-color: #000000;
  --bs-btn-disabled-bg: var(--danger);
  --bs-btn-disabled-border-color: var(--danger);
  --bs-btn-font-weight: 900;
}

.btn-custom-secondary {
  --bs-btn-color: white;
  --bs-btn-bg: var(--secondary);
  --bs-btn-border-color: #1b84ff;
  --bs-btn-hover-color: white;
  --bs-btn-hover-bg: var(--secondary-hover);
  --bs-btn-hover-border-color: var(--secondary);
  --bs-btn-focus-shadow-rgb: 23, 112, 217;
  --bs-btn-active-color: #000000;
  --bs-btn-active-bg: var(--secondary-strong) !important;
  --bs-btn-border-radius: 0.25rem !important;
  --bs-btn-active-border-color: var(--secondary);
  --bs-btn-active-shadow: none;
  --bs-btn-disabled-color: #000000;
  --bs-btn-disabled-bg: var(--secondary);
  --bs-btn-disabled-border-color: var(--secondary);
  --bs-btn-font-weight: 900;
}

.btn-custom-primary {
  height: 40px;
  padding: 12px 20px;
  justify-content: center;
  align-items: center;
  gap: 4px;
  border-radius: 12px, 4px;
  border: 1px solid #e0e0e0;
  background: var(--primary);
  color: #fff !important;
  font-weight: 900;
}

.btn-light {
  background-color: var(--primary-50) !important;
}

.nowrap {
  white-space: nowrap !important;
}

.btn-danger {
  /* height: 40px; */
  padding: 12px 20px;
  justify-content: center;
  align-items: center;
  gap: 4px;
  border-radius: 6px;
  border: 1px solid #e0e0e0;
  background: var(--secondary);
  color: #fff;
  font-weight: 900;
}
.btn-danger:hover {
  background: var(--danger-hover);
}

.btn-add-custom {
  /* height: 40px; */
  padding: 12px 20px;
  justify-content: center;
  align-items: center;
  gap: 4px;
  border-radius: 6px;
  border: 1px solid #e0e0e0;
  background: #fff;
  color: #000000 !important;
  font-weight: 900;
}
.btn-add-custom:hover {
  background-color: #f1f1f4;
}

.btn-custom {
  /* display: flex; */
  height: 40px;
  padding: 12px 15px;
  justify-content: center;
  display: flex;
  align-items: center;
  gap: 4px;
  font-weight: 500;
  border-radius: 12px, 4px;
  border: 1px solid #e0e0e0 !important;
  background: #fff;
  color: #000000 !important;
}

.btn {
  height: unset !important;
  border-radius: 4px !important;
}

.btn-secondary {
  background: var(--secondary) !important;
  color: #FFFFFF !important;
}

.btn-custom:hover {
  background-color: #f1f1f4;
}

.btn-custom-icon {
  /* display: flex; */
  height: 40px;
  padding: 12px 15px;
  justify-content: center;
  align-items: center;
  gap: 4px;
  border-radius: 12px, 4px;
  border: 1px solid #e0e0e0;
  background: #fff;
  color: #000000;
}

.btn-custom-icon:hover {
  background-color: #f1f1f4;
}

.btn-secondary{
  border-radius: 4px !important;
  background-color: var(--secondary) !important;
  font-size: 14px !important;
  font-style: normal !important;
  font-weight: 600 !important;
  line-height: 150% !important;
  color: #ffffff !important;
}

.text-primary-50 {
  color: var(--primary-50) !important;
}
.text-primary-700 {
  color: var(--primary-700) !important;
}

.text-primary-strong {
  color: var(--primary-strong) !important;
}

.text-primary-soft {
  color: var(--primary-soft) !important;
}

.text-primary {
  color: var(--primary) !important;
}

.text-primary-200 {
  color: var(--primary-200) !important;
}

.text-primary-500 {
  color: var(--primary-500) !important;
}

.text-black {
  color: black !important;
}

.text-red {
  color: var(--danger) !important;
}

.text-8{
  color: var(--text-8) !important;
}

.text-7{
  color: var(--text-7) !important;
}

.text-6{
  color: var(--text-6) !important;
}

.bg-primary {
  background-color: var(--primary) !important;
}

.bg-primary-50 {
  background-color: var(--primary-50) !important;
}

.bg-danger-50 {
  background-color: var(--danger-50) !important;
}

.bg-warning-50 {
  background-color: var(--warning-50) !important;
}

.border-bottom-primary {
  border-bottom: 1px solid #86a281 !important;
}

.border-gray {
  border-color: var(--text-4) !important;
}

.bg-red {
  background-color: red;
}

.bg-green {
  background-color: green;
}

.bg-yellow {
  background-color: yellow;
}

.bg-blue {
  background-color: blue;
}

.bg-white {
  background-color: white;
}

.uppercase {
  text-transform: uppercase;
}

.dashed-line {
  border: none; /* Hilangkan border default */
  border-top: 2px dashed #000; /* Ganti dengan garis putus-putus */
  color: #000; /* Warna garis */
  margin: 20px 0; /* Jarak atas dan bawah */
}

.menu-title {
  white-space: nowrap;
}

.menu-link:hover {
  transition: 0.3s ease-in-out;
  background-color: var(--primary-50);
}

.menu-link:hover .menu-title {
  color: var(--primary) !important;
}

.menu-link .active {
  background-color: var(--primary-50) !important;
}

.menu-active-bg .menu-item .menu-link.active {
  transition: color 0.2s ease;
  background: var(--bs-menu-link-bg-color-active) !important;
}

.menu-active-bg .menu-item .menu-link.active .menu-title {
  color: var(--bs-menu-link-color-active) !important;
}

a.menu-link > .menu-title {
  color: var(--text-7) !important;
} 

.active .menu-title {
  color: var(--primary) !important;
}

.sub-menu-active{
  color: var(--text-10) !important;
}

.menu-title {
  color: var(--primary-50) !important;
}

.theme-light-show {
  filter: brightness(0) invert(1);
}

.theme-dark-show {
  filter: brightness(0) invert(1);
}

.kv-grid-panel .table-bordered > thead.kv-table-header > tr,
.kv-grid-panel .table-bordered > thead.kv-table-header > tr > th,
.kv-grid-panel .table-bordered > thead.kv-table-header > tr > td,
.kv-grid-panel .kv-table-header > tr,
.kv-grid-panel .kv-table-header > tr > th,
.kv-grid-panel .kv-table-header > tr > td {
  border-bottom: none;
  border-top: none;
  color: #000000 !important;
}

tr th > a {
  color: #000000 !important;
}

.kv-grid-bs4 .card .kv-grid-table {
  margin: 0;
}

.kv-grid-bs4 .card .kv-grid-table fthfoot,
.kv-grid-bs4 .card .kv-grid-table fthfoot * {
  font-size: 0;
  line-height: 0;
  padding: 1.2em 0 !important;
  margin: 0;
  border: 0;
  border-radius: 50px !important;
}

.kv-grid-bs4 .card .kv-grid-table {
  margin: 0;
}

.kv-grid-loading .card,
.kv-grid-loading .table {
  /* background: transparent; */
  opacity: 0.6;
}

.kv-table-header,
.kv-table-footer {
  background: #fff;
}

.kv-table-header {
  background: #ffffff !important;
}

.btn-action {
  background-color: white;
  color: #000000;
  border: 1px solid var(--primary-50);
  transition: all 0.3s ease;
  padding: 0.5rem 0.7rem;
}

.btn-action:hover {
  background-color: var(--primary-50);
  color: var(--primary);
}

.pager-link {
  position: relative;
  display: block;
  padding: var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);
  font-size: var(--bs-pagination-font-size);
  color: var(--bs-pagination-color);
  /* background-color: var(--primary); */
  border: var(--bs-pagination-border-width) solid
    var(--bs-pagination-border-color);
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out,
    border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .pager-link {
    transition: none;
  }
}

.pager-link:hover {
  z-index: 2;
}
.pager-link:focus {
  z-index: 3;
  color: var(--primary);
  background-color: var(--primary);
  outline: 0;
  box-shadow: var(--bs-pagination-focus-box-shadow);
}
.pager-link.active,
.active > .pager-link {
  z-index: 3;
  color: var(--primary);
  background-color: var(--primary);
  border-color: var(--bs-pagination-active-border-color);
}
.next:hover {
  color: var(--primary) !important;
}

.pt-0 {
  padding-top: 0 !important;
}

.modal-footer > .btn-primary {
  background-color: var(--primary) !important;
}

.modal-footer:hover > .btn-primary:hover {
  background-color: var(--primary-hover) !important;
}

.modal-footer > .btn-default {
  background-color: var(--primary-50) !important;
}

.modal-footer > .btn-outline-primary {
  background-color: var(--primary-50) !important;
}

.btn-outline-primary {
  border-radius: 4px !important;
  background-color: var(--text-1) !important;
  color: var(--Neutral-100, #0A0A0A) !important;
  border: 1px solid var(--text-4, #E0E0E0) !important;
  /* font-family: "Open Sans" !important; */
  font-size: 14px !important;
  font-style: normal !important;
  font-weight: 600 !important;
  line-height: 150% !important;
}

.card-footer > div > div {
  color: #9e9e9e !important;
}

.app-navbar {
  position: relative;
}

.app-header{
  border-bottom: 1px solid #E0E0E0 !important; 
  background-color: var(--primary-soft) !important;
}

div.app-wrapper{
  background-color: var(--primary-soft) !important;
}

.menu-sub-dropdown {
  position: absolute;
  top: 100%;
  right: 0;
  z-index: 1000;
  display: none;
  background-color: white;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

#kt_header_user_menu_toggle:hover .menu-sub-dropdown {
  display: block;
}

.btn-login {
  background-color: var(--primary) !important;
  color: var(--primary-50) !important;
  border: 1px solid var(--primary-50) !important;
  width: 100%;
  padding: 0.9rem 0.7rem;
  border-radius: 5px;
  font-size: 1.2rem;
}

.container-table {
  width: 100% !important;
  height: 100% !important;
  padding: 1.5rem 2.5rem 1.5rem 2.5rem !important;
}

/* body{
  background-color: yellow !important;
  margin: 0 0 0 0 !important;
  padding: 0 0 0 0 !important;
} */
/* main, #kt_app_root, #kt_wrapper, #kt_content, #kt_login_container{
  width: 100% !important;
  height: 100% !important;
  background-color: blue !important;
  margin: 0 0 0 0 !important;
  padding: 0 0 0 0 !important;
} */

/* .container{
  width: 100% !important;
  height: 100% !important;
  background-color: blue !important;
  margin: 0 0 0 0 !important;
  padding: 0 0 0 0 !important;
} */

.page-link .active,
.active > .page-link {
  z-index: 3;
  color: var(--primary-50) !important;
  background-color: var(--primary) !important;
  border-color: var(--primary) !important;
}

.modal-footer > .btn-hapus {
  background-color: var(--danger);
}

.modal-footer:hover > .btn-hapus:hover {
  background-color: var(--danger-hover);
}

.modal-footer > .btn-simpan {
  background-color: var(--primary) !important;
}

.modal-footer:hover > .btn-simpan:hover {
  background-color: var(--primary-hover) !important;
}

.badge-custom-success {
  background-color: var(--primary-50) !important;
  color: var(--primary) !important;
}

.badge-custom-info {
  background-color: var(--info-50);
  color: var(--text-soft-info);
}

.badge-custom-danger {
  background-color: var(--danger-50);
  color: var(--danger);
}

.dot {
  height: 8px;
  width: 8px;
  background-color: currentColor;
  border-radius: 50%;
  display: inline-block;
  margin-right: 5px;
}

.badge-success .dot {
  background-color: #28a745;
}

.badge-danger .dot {
  background-color: #dc3545;
}

/* table style */

.card {
  box-shadow: none !important;
  border: 1px solid var(--text-4);
}

.card-header {
  border-bottom: 1px solid var(--text-4) !important;
}

.card-footer {
  border-top: 1px solid var(--text-4) !important;
}

.kv-table-header tr th {
  background-color: #fff !important;
  padding: 16px 24px;
  color: var(--text-10) !important;
  font-size: 14px;
  font-weight: 500;
}

.kv-table-header tr th a {
  color: var(--text-10) !important;
  font-size: 14px;
  font-weight: 500;
}

#kv-grid-table .kv-table-header tr {
  border-color: var(--text-4);
}

#kv-grid-table .kv-table-header tr {
  border-color: var(--text-4);
}

.kv-grid-table tbody tr {
  border-color: var(--text-4);
}

.kv-grid-table tbody tr {
  border-color: var(--text-4);
}

.kv-table-header {
  border-bottom: 1px solid var(--text-4) !important;
}

.table-active {
  --bs-table-active-bg: var(--text-2) !important;
}

.table.table-bordered {
  --bs-table-border-color: var(--text-4) !important;
}

.styled-pagination > nav > .pagination {
  justify-content: end !important;
}
.pagination .active a {
  background-color: var(--primary) !important;
  color: var(--text-1) !important;
}

.breadcrumb li {
  font-size: 14px !important;
}

/* *** === *** */

/* Custom Template Style */

.breadcrumb .active {
  color: var(--primary);
}

.rounded {
  border-radius: 6px !important;
}

.required::after {
  display: none !important;
}

@media (max-width: 992px) {
  .app-container {
    max-width: none;
    padding-left: 30px !important;
    padding-right: 30px !important;
  }
}

@media (max-width: 767px) {
  .dash-mesin { height: 95% !important;}
}

@media (max-width: 445px) {
  #dash-pegawai { margin-bottom: 20px !important;}
  #dash-pegawai-tidak-hadir { margin-bottom: 20px !important;}
  .dash-mesin { height: 100% !important;}
  #dash-jenis-absen { height: 50% !important;}
  #dash-jenis-absen > .card-body > .row > .col-4 { width:50% !important; }
  #dash-jenis-absen > .card-body > .row > .col-4.last { width:100% !important; }
}

@media (min-width: 768px) and (max-width: 992px) {
  .dash-mesin { height: 100% !important;}
  #dash-jenis-absen { height: 50% !important;}
  #dash-jenis-absen > .card-body > .row > .col-4 { width:50% !important; }
  #dash-jenis-absen > .card-body > .row > .col-4.last { width:100% !important; }
}


.kv-grid-container {
  border-left: 1px solid var(--text-4) !important;
  border-top: 1px solid var(--text-4) !important;
  border-right: 1px solid var(--text-4) !important;
  border-radius: 8px;
  border-bottom: 1px solid var(--text-4) !important;
}

.kv-grid-container .kv-grid-table tr:not(:last-child) td,
.kv-grid-container .kv-grid-table tr:not(:last-child) th {
  border-bottom: 1px solid var(--text-4) !important;
}

.table:not(.table-bordered) td:first-child,
.table:not(.table-bordered) th:first-child,
.table:not(.table-bordered) tr:first-child {
  padding-left: 24px;
}
/* #kv-grid-container .crud-datatable:last-child .crud-datatable {
  border-bottom: 0px !important;
} */

.kv-grid-container tr th {
  font-weight: 500 !important;
}

.kv-grid-container tr td {
  padding: 16px 24px !important;
}

.select2-container--krajee-bs5 {
  display: block;
}

.select2-container .select2-selection--single {
  height: 34px !important;
  line-height: 1.8 !important;
}

.select2-container .select2-search--inline .select2-search__field {
  margin-top: 0px !important;
  height: 30px !important;
}

.select2-selection--multiple {
  min-height: 35px !important;
}

.select2-selection--multiple .select2-search--inline .select2-search__field {
  height: 15px !important;
  padding: 9px 12px 6px 12px !important;
  margin-top: 9px !important;
  width: 100% !important;
}

.select2-selection--multiple ul.select2-selection__rendered {
  white-space: unset !important;
}

.stepper-item.current .stepper-title {
  color: var(--primary) !important;
}

/* .select2-container--krajee-bs5 .select2-selection--multiple .select2-search--inline .select2-search__field {
  margin-top: 0px !important;
  height: 30px !important;
} */

/* *** */

.dashed-line {
  height: 1.5px;
  /* Ketebalan garis putus-putus */
  width: 100%;
  /* Lebar garis putus-putus */
  background-image: repeating-linear-gradient(
    to right,
    var(--text-4, #e0e0e0),
    var(--text-4, #e0e0e0) 8px,
    transparent 8px,
    transparent 15px
  );
  /* Membuat pola garis putus-putus */
}

form input {
  border: 1px solid var(--text-4);
  font-size: 14px !important;
  height: 34px !important;
  border-radius: 6px !important;
}

.form-control.krajee-datepicker {
  border-top-left-radius: unset !important;
  border-bottom-left-radius: unset !important;
}

.input-number-control {
  border-radius: unset !important;
}

.kv-fileinput-caption {
  border-top-left-radius: unset !important;
  border-bottom-left-radius: unset !important;
}

form select {
  display: flex;
  height: 34px;
  font-size: 14px !important;
  padding: 10px 14px;
  align-items: center;
  /* gap: 8px; */
  align-self: stretch;
  line-height: 1 !important;
  border-radius: 6px !important;
}

form textarea {
  font-size: 14px !important;
  border-radius: 6px !important;
}

.input-group-text {
  height: 34px;
  background-color: var(--text-2);
  border-radius: 0.375rem;
}

input[inputmode="numeric"] {
  border-radius: unset !important;
}

input[readonly],
input[disabled] {
  background-color: var(--text-2) !important;
}

input[data-krajee-timepicker] {
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

.bs4.checkbox {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.bs4.checkbox > .form-label {
  margin-bottom: 0px;
}

.sticky-col {
  position: sticky;
  left: 0;
}

/* end table style */

/* untuk display gridview di modal tanpa button tambah dan headers */
#crud-datatable-min>.card.border- {
  box-shadow: unset !important;
  -webkit-box-shadow: unset !important;
  margin-bottom: 0px !important;
  border: unset !important;
}

#crud-datatable-min>.card.border- .card-footer {
  border: unset !important;
  padding: 20px 0px 0 0 !important;
}
