@import url('https://fonts.googleapis.com/css2?family=Lato:wght@100;200;300;400;500;600;700;800;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

:root {
  /* color */
  --primary: #2A9DDD;
  --secondary: #13969E;
  --muted: #82939D;
  --white: #ffffff;
  /* utilities */
  --rounded: 12px;
  --shadow: 0 4px 25px #cccccc32;
}

body {
  font-family: "Poppins", 'Helvetica', sans-serif;
  font-size: 14px;
}

/* background */
.bg-gradient {
  background: linear-gradient(45deg, var(--primary), var(--secondary) 100%);
}

.bg-pattern {
  position: relative;
}

.bg-pattern::after {
  content: "";
  background-image: url(https://img.freepik.com/free-vector/white-background-with-wavy-line_361591-3164.jpg?t=st=1726066218~exp=1726069818~hmac=d05280352d2f4d3a68adfa7190c2082361be6dd20da25d018520dacdbe51d1d5&w=1380);
  mix-blend-mode: multiply;
  position: absolute;
  inset: 0;
  background-size: cover;
  opacity: 0.75;
}

/* button */
.btn-primary {
  background-color: var(--primary);
  border-color: var(--primary);

  &:hover {
    background-color: #3087b5;
    border-color: #3087b5;
  }
}

/* component */
.topbar-gradient #page-topbar:not(.bg-white) .dropdown.show button[aria-expanded="true"] {
  background-color: var(--secondary);
}

.card {
  border-radius: var(--rounded);
}

.card.mini-stats-wid {
  border: 1px solid var(--primary);
}

.card-custom {
  box-shadow: var(--shadow);
  border: 1px solid transparent;
  transition: .4s;
}

.card-custom:hover {
  border: 1px solid var(--primary);
}

.card-custom .card-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  border-radius: 4px;
  background-color: #c1e9ff48;
}

.card-custom .card-icon i {
  font-size: 24px;
  color: var(--primary);
}

.card-custom .card-body {
  padding: 24px;
}

.pagination .page-item.previous .page-link {
  border-radius: 12px 0 0 12px;
}

.pagination .page-item.next .page-link {
  border-radius: 0 12px 12px 0;
}

.form-custom {
  font-size: 14px;
  padding: 12px;
  background-color: transparent !important;
  border: 1px solid #7d7d7dcc !important;
  min-height: 41px;
  color: #495057 !important;
}

select.form-custom option {
  color: #495057 !important;
}

.form-custom::placeholder {
  color: #495057;
}

.form-custom:focus {
  color: #495057;
  border: 1px solid var(--primary) !important;
}

.form-control {
  border-radius: 8px;
}

.form-control:focus {
  border: 1px solid var(--primary);
}

.form-control:disabled,
.form-control[readonly] {
  background-color: #f4f4f4 !important;
}

.line-hover:hover {
  text-decoration: underline !important;
  color: var(--primary) !important;
}

.h-screen {
  height: 100vh;
}

/* header */
#page-topbar {
  background-color: transparent;
  box-shadow: none;
}

body[data-sidebar="light"] .navbar-brand-box {
  background-color: var(--white);
  border-right: 1px solid #82939d27;
}

.navbar-brand-box {
  min-width: 84px;
  width: 120px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.topbar-gradient #page-topbar:not(.bg-white) * :not(.dropdown-menu *) {
  color: var(--white);
}

#page-topbar .dropdown .dropdown-menu {
  border-top: 3px solid var(--primary);
}

/* sidebar */
body[data-sidebar="light"] .vertical-menu {
  background-color: var(--white);
  border-right: 1px solid #82939d27;
  box-shadow: none;
}

.vertical-menu {
  min-width: 84px;
  max-width: 120px;
  width: 100%;
  padding: 12px;
}

#sidebar-menu .metismenu li a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 12px 6px;
  border-radius: var(--rounded);
  margin-bottom: 12px;
  transition: all .4s;
}

#sidebar-menu .metismenu li a.has-arrow::after {
  float: none;
  position: absolute;
  right: 4px;
  bottom: 10px;
  font-size: 16px;
  color: var(--muted);
}

#sidebar-menu .metismenu li a.has-arrow:hover::after {
  color: var(--primary);
}

#sidebar-menu .metismenu li a.has-arrow span {
  margin-left: -16px;
}

#sidebar-menu .metismenu li a :where(i, span) {
  color: var(--muted);
  transition: all .4s;
  text-align: center;
}

#sidebar-menu .metismenu li a:hover,
#sidebar-menu .metismenu li.mm-active>a {
  background-color: var(--primary);
  color: white;
}

#sidebar-menu .metismenu li.mm-active a :where(i, span),
#sidebar-menu .metismenu li a:hover :where(i, span) {
  color: white !important;
}

#sidebar-menu .metismenu li.mm-active a :where(span) {
  font-weight: 600;
}

#sidebar-menu .metismenu li a i {
  font-size: 20px;
  min-width: 20px;
}

#sidebar-menu .metismenu li ul.sub-menu li a {
  padding: 12px 6px;
  color: var(--muted);
}

#sidebar-menu .metismenu li ul.sub-menu li a:hover,
#sidebar-menu .metismenu li ul.sub-menu li a:hover :where(span, i) {
  background-color: var(--primary);
  color: white !important;
}

/* content */
.topbar-gradient .page-title-box * {
  color: var(--white);
}

.main-content {
  margin-left: 120px;
}

[class*="bg-"].position-absolute {
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  min-height: 190px;
}

/* footer */
.footer {
  left: 120px;
  background-color: transparent;
  border-top: 1px solid #82939d27;
}

/* login page */
.login-screen {
  padding: 40px;
}

.col-form {
  border-radius: 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  overflow: clip;
  position: relative;
}

.col-form::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background-color: #00000049;
}

.col-form img.position-absolute {
  opacity: .07;
  transform: translate(-50%, -50%);
  top: 50%;
  left: 50%;
  pointer-events: none;
  /* filter: grayscale(100%); */
}

.form-wrapper {
  padding: 48px 24px;
  background-color: #ffffffe3;
  box-shadow: 0 4px 30px #85858518;
  border: 1px solid #ffffffa6;
  backdrop-filter: blur(10px);
  border-radius: 16px;
  max-width: 400px;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.nav-tabs.bordered-b .nav-link {
  color: var(--primary) !important;
}

.nav-tabs.bordered-b .nav-link:hover {
  border: 1px solid transparent !important;
  border-bottom: 3px solid var(--primary) !important;
}

.nav-tabs.bordered-b .nav-link.active {
  background-color: var(--primary) !important;
  border: 1px solid transparent !important;
  border-bottom: 3px solid var(--primary) !important;
  color: white !important;
  border-radius: 8px;
}

.nav-link.active-cstm {
  color: #fff;
  background-color: var(--primary);
  border-color: #ced4da #ced4da #fff;
  border-radius: 5px;
}

.nav-tabs .nav-item.show .nav-link,
.nav-tabs .nav-link.active {
  color: #fff;
  background-color: var(--primary);
  border-color: #ced4da #ced4da #fff;
}

.nav-tabs .nav-link {
  border: 1px solid transparent;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  background: #fff;
}

.nav-tabs .nav-link:focus,
.nav-tabs .nav-link:hover {
  border-color: #00a1d3;
}

/* chart pie jumlah anggaran  */
#chartdiv-jumlah-anggaran {
  width: 100%;
  height: 400px;
}

#chartdiv-penggunaan-anggaran {
  width: 100%;
  height: 400px;
}

/* chart pie sisa anggaran */
#chartdiv-pie-sisa-anggaran-daljab-prajab {
  width: 100%;
  height: 400px;
}

/* chart diagram */
#chartdiv-diagram-dana-rab {
  width: 100%;
  height: 400px;
}

#chartdiv-diagram-pengunaan-anggaran {
  width: 100%;
  height: 500px;
}

#chartdiv-diagram-total-pengajuan {
  width: 100%;
  height: 500px;
}

#chartdiv-diagram-total-pengajuan-kategori {
  width: 100%;
  height: 500px;
}

#chartdiv-diagram-total-pengajuan-prajab-daljab {
  width: 100%;
  height: 500px;
}

#chartdiv-diagram-sisa-rab {
  width: 100%;
  height: 500px;
}

#chartdiv-diagram-sisa-daljab-prajab {
  width: 100%;
  height: 500px;
}

#chartdiv-diagram-sisa-anggaran-kategori {
  width: 100%;
  height: 1569px;
}

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

th,
td {
  padding: 10px 8px !important;
}

th {
  white-space: nowrap;
}

th:not(:first-child) {
  min-width: 180px !important;
}

.dataTables_wrapper .row:last-child {
  margin-top: 12px !important;
}

.cs-data-label {
  font-size: 13px;
  color: #9ca3af;
  display: block;
  font-weight: 500;
  margin-bottom: 4px;
}

.border-slate-200 {
  border-color: #e2e8f0 !important;
}

.size-12 {
  width: 3rem;
  height: 3rem;
}

/* responsive */
@media (max-width: 992px) {
  body:not(.sidebar-enable) .navbar-brand-box {
    background-color: transparent !important;
  }

  .footer {
    left: 0;
  }
}

@media (max-width: 768px) {
  .login-screen {
    padding: 24px;
  }

  .login-screen .row {
    margin: 0;
  }

  /* .login-screen :where([class*="col-"]){
    padding: 0;
  } */
  .form-wrapper {
    max-width: 300px;
  }
}