:root {
  --gtk-blue: #1565c0;
  --gtk-blue-dark: #0d47a1;
  --gtk-blue-deep: #0a3a7a;
  --gtk-yellow: #f9a825;
  --gtk-yellow-soft: #fff8e1;
  --gtk-red: #c62828;
  --gtk-white: #ffffff;
  --gtk-surface: #f3f6fb;
  --gtk-ink: #1a2332;
  --gtk-muted: #5b677a;
}

html, body {
  font-family: "Segoe UI Light", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-weight: 300;
  color: var(--gtk-ink);
  background: var(--gtk-surface);
}

h1, h2, h3, h4, .font-head, button, .btn, th, strong, .nav-label {
  font-family: "Segoe UI Semilight", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-weight: 600;
}

.brand-stripe {
  height: 4px;
  background: linear-gradient(90deg, var(--gtk-blue) 0 40%, var(--gtk-yellow) 40% 70%, var(--gtk-red) 70% 100%);
}

.mui-card {
  background: var(--gtk-white);
  border-radius: 12px;
  box-shadow: 0 1px 2px rgba(13, 71, 161, 0.06), 0 8px 24px rgba(13, 71, 161, 0.06);
  border: 1px solid rgba(21, 101, 192, 0.08);
}

.mui-appbar {
  background: var(--gtk-white);
  box-shadow: 0 1px 8px rgba(13, 71, 161, 0.08);
}

.sidebar {
  background: linear-gradient(180deg, var(--gtk-blue-deep) 0%, var(--gtk-blue-dark) 55%, #123a7a 100%);
}

.sidebar-link {
  color: rgba(255, 255, 255, 0.82);
  border-radius: 10px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  transition: background 0.15s ease, color 0.15s ease;
}

.sidebar-link:hover,
.sidebar-link.active {
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
}

.sidebar-link.active {
  box-shadow: inset 3px 0 0 var(--gtk-yellow);
}

.stat-card {
  position: relative;
  overflow: hidden;
}

.stat-card::after {
  content: "";
  position: absolute;
  right: -18px;
  top: -18px;
  width: 96px;
  height: 96px;
  border-radius: 50%;
  background: currentColor;
  opacity: 0.08;
}

.badge-pending,
.badge-proses,
.badge-selesai {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border-radius: 999px;
  padding: 4px 10px;
  font-size: 12px;
  font-weight: 600;
}

.badge-pending { background: #fff8e1; color: #f57f17; }
.badge-proses { background: #e3f2fd; color: #1565c0; }
.badge-selesai { background: #e8f5e9; color: #2e7d32; }

.btn-primary {
  background: var(--gtk-blue);
  color: #fff;
}
.btn-primary:hover { background: var(--gtk-blue-dark); }

.btn-yellow {
  background: var(--gtk-yellow);
  color: #1a2332;
}
.btn-yellow:hover { filter: brightness(0.95); }

.btn-red {
  background: var(--gtk-red);
  color: #fff;
}

.btn-wa {
  background: #25d366;
  color: #fff;
}
.btn-wa:hover { background: #1ebe5d; }

.table-gtk th {
  background: #eef4fb;
  color: var(--gtk-blue-dark);
  font-size: 12px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.table-gtk td, .table-gtk th {
  padding: 12px 14px;
  border-bottom: 1px solid #e8eef6;
}

.input-gtk {
  width: 100%;
  border: 1px solid #d5deea;
  border-radius: 10px;
  padding: 10px 12px;
  background: #fff;
  outline: none;
  font-family: inherit;
}
.input-gtk:focus {
  border-color: var(--gtk-blue);
  box-shadow: 0 0 0 3px rgba(21, 101, 192, 0.15);
}

.timeline-dot {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  border: 3px solid var(--gtk-blue);
  background: #fff;
}

.no-select {
  -webkit-user-select: none;
  user-select: none;
}

.hero-grid {
  background-image:
    linear-gradient(180deg, rgba(13, 71, 161, 0.92), rgba(21, 101, 192, 0.88)),
    radial-gradient(circle at 80% 20%, rgba(249, 168, 37, 0.35), transparent 40%);
}

.public-nav a:hover { color: var(--gtk-yellow); }

.pager a,
.pager span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  height: 36px;
  padding: 0 10px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 600;
  border: 1px solid #d5deea;
  color: var(--gtk-blue-dark);
  background: #fff;
}
.pager a:hover { background: #eef4fb; }
.pager a.is-active {
  background: var(--gtk-blue);
  border-color: var(--gtk-blue);
  color: #fff;
}
.pager span.is-disabled {
  color: #9aa7b8;
  background: #f5f7fa;
}
