/* =======================================================
   ScaLinea — override setelah FlexAdmin/Bootstrap
   Dimuat terakhir agar bisa menimpa default vendor.
   ======================================================= */

/* Panel dropdown header (notifikasi, pengguna) tidak punya `top` sehingga
   mengikuti static position flex dan tampak naik menempel header. Paskan
   tepat di bawah tombol pemicunya. */
.header-action-wrap > .dropdown-menu {
  top: calc(100% + 10px);
  margin-top: 0;
}

/* Bootstrap memaksa `.badge { color: var(--bs-badge-color) }` dengan
   --bs-badge-color: #fff, sehingga utilitas `text-*` pada badge tidak berlaku
   dan teks menjadi putih di atas badge pastel (tak terbaca), baik mode terang
   maupun gelap. Kembalikan warna teks sesuai maksud kelas bg-nya. */
.badge.bg-brand-50,
.badge.bg-brand-100 {
  color: var(--color-brand-700);
}
.badge.bg-ink-100 {
  color: var(--color-ink-600);
}
.badge.bg-ink-100.text-ink-500 {
  color: var(--color-ink-500);
}
.badge.bg-ink-200 {
  color: var(--color-ink-700);
}
.badge.bg-indigo-100 {
  color: var(--color-indigo-700);
}
.badge.bg-sky-50,
.badge.bg-sky-100 {
  color: var(--color-sky-700);
}
.badge.bg-amber-50,
.badge.bg-amber-100 {
  color: var(--color-amber-700);
}
.badge.bg-emerald-50,
.badge.bg-emerald-100 {
  color: var(--color-emerald-700);
}
.badge.bg-red-50 {
  color: var(--color-red-600);
}
.badge.bg-orange-50 {
  color: var(--color-orange-700);
}

/* Semua tombol dibuat sedikit lebih rounded agar tampilan lebih modern. */
.btn,
.btn-primary,
.btn-secondary,
.btn-success,
.btn-danger,
.btn-warning,
.btn-info,
.btn-light,
.btn-dark,
.btn-outline-primary,
.btn-outline-secondary,
.btn-outline-danger,
.btn-ghost {
  border-radius: 0.75rem;
}

/* Logo tanpa kotak background; warna logo tetap sama di mode terang/gelap. */
.header-logo img {
  height: 28px;
  width: auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

[data-theme=dark] .header-logo img {
  filter: none;
}

/* Di layar lebar, logo dibuat sedikit lebih kecil dari lebar sidebar. */
@media (min-width: 1200px) {
  .header-logo img {
    height: auto;
    width: calc(var(--sidebar-width) - var(--spacing-lg) - 96px);
  }
}

/* Pencarian global (judul artikel/buku/literatur/proposal milik pengguna). */
.global-search {
  position: relative;
  width: 100%;
}

/* Mobile: input kini memakai ikon kiri (bukan tombol kanan), sesuaikan padding. */
.mobile-search .search-form input {
  padding-left: 40px;
  padding-right: 12px;
}

.global-search-panel {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  right: 0;
  z-index: 1050;
  max-height: 360px;
  overflow-y: auto;
  padding: 6px;
  border-radius: 14px;
  border: 1px solid var(--border-color);
  background: var(--surface-color);
  box-shadow: 0 18px 40px -18px rgba(15, 23, 42, 0.35);
}

.global-search-empty {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 14px 12px;
  font-size: 0.82rem;
  color: var(--muted-color);
}

.global-search-item {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 9px 10px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  text-align: left;
  cursor: pointer;
  color: var(--default-color);
}

.global-search-item.active,
.global-search-item:hover {
  background: color-mix(in srgb, var(--accent-color), transparent 90%);
}

.global-search-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 30px;
  height: 30px;
  border-radius: 9px;
  background: color-mix(in srgb, var(--accent-color), transparent 88%);
  color: var(--accent-color);
  font-size: 0.85rem;
}

.global-search-text {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.global-search-title {
  font-size: 0.84rem;
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.global-search-meta {
  font-size: 0.72rem;
  color: var(--muted-color);
}

.global-search-spin {
  display: inline-block;
  animation: global-search-spin 0.9s linear infinite;
}

@keyframes global-search-spin {
  to {
    transform: rotate(360deg);
  }
}
