/* ==========================================
   Premium Dashboard Theme
   CodeIgniter 4
   WAHID Theme
   ========================================== */

:root {
  --primary: #123e73;
  --secondary: #c79a2b;
  --danger: #b32025;

  --white: #ffffff;

  --bg: #f4f6fb;

  --glass: rgba(255, 255, 255, 0.15);

  --border: rgba(255, 255, 255, 0.2);

  --shadow: 0 8px 32px rgba(0, 0, 0, 0.12);

  /* sebelumnya merah, sekarang Navy ATR/BPN -> Gold */
  --gradient: linear-gradient(135deg, #081f3a, #123e73, #7c4c05);

  --sidebar-width: 280px;

  --navbar-height: 75px;
}

.navbar-left {
  display: flex;
  align-items: center;
  gap: 20px;
}

.navbar-right {
  display: flex;
  align-items: center;
  gap: 20px;
}

.clock {
  font-weight: 600;
  color: #123e73;
}

.nav-icon:hover {
  transform: translateY(-4px);
}

.content {
  padding: 0 20px 20px;
}

/*====================================
  SIDEBAR COLLAPSE
  ====================================*/

.sidebar {
  transition: 300ms ease;
  z-index: 999;
}

.main {
  transition: 300ms ease;
}

.sidebar.close {
  width: 90px;
}

.sidebar.close .logo-text {
  display: none;
}

.sidebar.close .sidebar-menu span {
  display: none;
}

.sidebar.close .sidebar-footer div {
  display: none;
}

.sidebar.close .sidebar-menu a {
  justify-content: center;
}

.sidebar.close .sidebar-header {
  justify-content: center;
}

.sidebar.close .sidebar-footer {
  justify-content: center;
}

.main {
  margin-left: 280px;

  width: calc(100% - 280px);
}

.main.expand {
  margin-left: 90px;

  width: calc(100% - 90px);
}

.overlay {
  position: fixed;

  top: 0;

  left: 0;

  width: 100%;

  height: 100%;

  background: rgba(0, 0, 0, 0.45);

  display: none;

  z-index: 998;
}

.overlay.show {
  display: block;
}

.sidebar-menu a {
  position: relative;

  overflow: hidden;
}

.sidebar-menu a::before {
  content: "";

  position: absolute;

  left: -100%;

  top: 0;

  width: 100%;

  height: 100%;

  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.18), transparent);

  transition: 0.6s;
}

.sidebar-menu a:hover::before {
  left: 100%;
}

/*==================================
  DASHBOARD
  ==================================*/

.dashboard {
  display: flex;

  flex-direction: column;

  gap: 25px;
}

.welcome-card {
  display: flex;

  justify-content: space-between;

  align-items: center;

  padding: 40px;

  border-radius: 25px;

  background: rgba(255, 255, 255, 0.25);

  backdrop-filter: blur(25px);

  border: 1px solid rgba(255, 255, 255, 0.25);

  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
}

.welcome-card h1 {
  font-size: 32px;

  margin-bottom: 10px;
}

.welcome-card p {
  color: #666;
}

.welcome-logo {
  width: 130px;
}

.stat-grid {
  display: grid;

  grid-template-columns: repeat(4, 1fr);

  gap: 20px;
}

.stat-card {
  background: var(--gradient);

  color: white;

  border-radius: 22px;

  padding: 30px;

  display: flex;

  align-items: center;

  gap: 20px;

  cursor: pointer;

  transition: 0.35s;

  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.12);
}

.stat-card:hover {
  transform: translateY(-8px);
}

.stat-icon {
  width: 70px;

  height: 70px;

  border-radius: 18px;

  background: rgba(255, 255, 255, 0.2);

  display: flex;

  justify-content: center;

  align-items: center;

  font-size: 28px;
}

.stat-card h2 {
  font-size: 34px;

  font-weight: 700;
}

.stat-card span {
  opacity: 0.85;
}

/*=========================================
  FOOTER
  =========================================*/

.footer {
  margin: 25px;

  padding: 20px;

  text-align: center;

  color: #777;

  background: rgba(255, 255, 255, 0.35);

  backdrop-filter: blur(20px);

  border-radius: 20px;
}

.breadcrumb {
  font-size: 13px;

  color: #999;
}

/*=====================================
  GRID
  =====================================*/

.dashboard-grid {
  display: grid;

  grid-template-columns: 2fr 1fr;

  gap: 25px;

  margin-top: 25px;
}

.glass-card {
  background: rgba(255, 255, 255, 0.25);

  backdrop-filter: blur(20px);

  border-radius: 20px;

  padding: 25px;

  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);

  border: 1px solid rgba(255, 255, 255, 0.25);
}

.card-title {
  margin-bottom: 25px;

  font-size: 18px;

  font-weight: 600;
}

.timeline {
  list-style: none;
}

.timeline li {
  padding: 15px 0;

  border-bottom: 1px solid #eee;

  display: flex;

  flex-direction: column;

  gap: 5px;
}

.timeline span {
  font-size: 12px;

  color: #888;
}

.quick-grid {
  display: grid;

  grid-template-columns: repeat(2, 1fr);

  gap: 15px;
}

.quick-btn {
  padding: 18px;

  border: none;

  border-radius: 15px;

  background: var(--gradient);

  color: white;

  cursor: pointer;

  transition: 0.3s;

  font-size: 15px;

  display: flex;

  align-items: center;

  justify-content: center;

  gap: 10px;
}

.quick-btn:hover {
  transform: translateY(-5px);
}

.progress-item {
  margin-bottom: 20px;
}

.progress {
  height: 10px;

  background: #ddd;

  border-radius: 20px;

  overflow: hidden;

  margin-top: 8px;
}

.progress-bar {
  height: 100%;

  background: var(--gradient);
}

.w90 {
  width: 90%;
}

.w75 {
  width: 75%;
}

.w60 {
  width: 60%;
}

/*=========================================
  CHART
  =========================================*/

.chart-container {
  position: relative;

  width: 100%;

  height: 420px;
}

.chart-container canvas {
  width: 100% !important;

  height: 100% !important;
}
