/* Override header kanan — dimuat setelah style.css agar tidak tertimpa */

/* Cegah celah/garis putih di atas header (beranda Laravel) */
header.header-one {
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  margin: 0 !important;
  border: 0 !important;
  border-top: none !important;
  box-sizing: border-box;
}

/* Beranda (tanpa bg-primary-app): tetap solid primary agar tidak tembus body putih */
header.header-one:not(.bg-primary-app) {
  background-color: var(--primary-color, #1c5871) !important;
  background: var(--primary-color, #1c5871) !important;
}

header.header-one.fixed {
  background-color: var(--primary-color, #1c5871) !important;
  background: var(--primary-color, #1c5871) !important;
}

.home,
.home .banner-section {
  margin-top: 0 !important;
  padding-left: 0;
  padding-right: 0;
}

header.header-one .header-btn.header-user-actions {
  gap: 14px !important;
  align-items: center !important;
}

header.header-one .header-btn.header-user-actions .header-action-item,
header.header-one .header-btn.header-user-actions > .icon-btn,
header.header-one .header-btn.header-user-actions > .profile-dropdown {
  margin: 0 !important;
  padding: 0 !important;
  flex: 0 0 auto !important;
  position: relative;
  overflow: visible !important;
}

header.header-one .header-btn.header-user-actions .header-action-item,
header.header-one .header-btn.header-user-actions > .icon-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  min-height: 36px;
}

header.header-one .header-btn.header-user-actions > .profile-dropdown {
  display: block;
}

header.header-one .header-btn.header-user-actions .profile-dropdown {
  margin-right: 0 !important;
  z-index: 1;
}

header.header-one .header-btn.header-user-actions .profile-dropdown.show {
  z-index: 1080;
}

/* Dropdown profil — geser ke bawah supaya tidak nembus bar header */
header.header-one .header-btn.header-user-actions .profile-dropdown > .dropdown-menu {
  position: absolute !important;
  top: calc(100% + 22px) !important;
  right: 0 !important;
  left: auto !important;
  bottom: auto !important;
  z-index: 1080 !important;
  margin: 0 !important;
  min-width: 260px;
  background: #fff !important;
  border: 1px solid #e5ecef !important;
  border-radius: 12px !important;
  box-shadow: 0 16px 40px -20px rgba(22, 70, 90, 0.45) !important;
  overflow: visible;
  transform: none !important;
}

header.header-one .header-btn.header-user-actions .profile-dropdown > .dropdown-menu .profile-header {
  background: #fff !important;
}

header.header-one .header-btn.header-user-actions {
  overflow: visible !important;
}

/* Tombol Masuk / Daftar — jarak lebih rapat */
header.header-one .header-btn.header-user-actions > .header-auth-btn {
  margin-right: 8px !important;
  margin-left: 0 !important;
}
header.header-one .header-btn.header-user-actions > .header-auth-btn:last-of-type {
  margin-right: 0 !important;
}

header.header-one .header-btn.header-user-actions .icon-btn {
  gap: 0 !important;
}

/* Semua tombol header kanan — ukuran seragam 36×36 */
header.header-one .header-btn.header-user-actions a.notification-toggle,
header.header-one .header-btn.header-user-actions .icon-btn > a.theme-toggle,
header.header-one .header-btn.header-user-actions .header-action-item.icon-btn > a.theme-toggle,
header.header-one .header-btn.header-user-actions .profile-dropdown > a,
header.header-one .header-btn.header-user-actions .header-profile-btn {
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  min-height: 36px !important;
  padding: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  flex: 0 0 36px !important;
  border-radius: 50% !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 16px !important;
  line-height: 1 !important;
}

header.header-one .header-btn.header-user-actions a.notification-toggle,
header.header-one .header-btn.header-user-actions .profile-dropdown > a,
header.header-one .header-btn.header-user-actions .header-profile-btn {
  display: inline-flex !important;
}

/* Theme toggle — hanya satu yang tampil (aktif) */
header.header-one .header-btn.header-user-actions .icon-btn > a.theme-toggle,
header.header-one .header-btn.header-user-actions .header-action-item.icon-btn > a.theme-toggle {
  display: none !important;
}

header.header-one .header-btn.header-user-actions .icon-btn > a.theme-toggle.activate,
header.header-one .header-btn.header-user-actions .header-action-item.icon-btn > a.theme-toggle.activate {
  display: inline-flex !important;
}

header.header-one .header-btn.header-user-actions .header-action-item.notification-dropdown,
header.header-one .header-btn.header-user-actions .notification-dropdown {
  position: relative !important;
  overflow: visible !important;
  width: 36px !important;
  height: 36px !important;
  flex: 0 0 36px !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
}

header.header-one .header-btn.header-user-actions a.notification-toggle {
  position: relative !important;
  overflow: visible !important;
  border: 1px solid rgba(255, 255, 255, 0.35) !important;
  background: rgba(255, 255, 255, 0.14) !important;
  color: #fff !important;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}

header.header-one .header-btn.header-user-actions a.notification-toggle:hover,
header.header-one .header-btn.header-user-actions a.notification-toggle:focus {
  background: rgba(255, 255, 255, 0.22) !important;
  border-color: rgba(255, 255, 255, 0.5) !important;
  color: #fff !important;
}

header.header-one .header-btn.header-user-actions a.notification-toggle.has-unread {
  background: rgba(255, 255, 255, 0.18) !important;
  border-color: rgba(255, 255, 255, 0.45) !important;
}

/*
 * Saat scroll header.header-one tetap teal (beranda & halaman lain).
 * Jangan ubah ikon notif ke warna gelap — akan "hilang" di background teal.
 */
header.header-one.fixed .header-btn.header-user-actions a.notification-toggle,
header.header-one.fixed .header-btn.header-user-actions a.notification-toggle:hover,
header.header-one.fixed .header-btn.header-user-actions a.notification-toggle:focus,
header.header-one.fixed .header-btn.header-user-actions a.notification-toggle.has-unread {
  border: 1px solid rgba(255, 255, 255, 0.35) !important;
  background: rgba(255, 255, 255, 0.14) !important;
  color: #fff !important;
}

header.header-one.fixed .header-btn.header-user-actions a.notification-toggle:hover,
header.header-one.fixed .header-btn.header-user-actions a.notification-toggle:focus {
  background: rgba(255, 255, 255, 0.22) !important;
  border-color: rgba(255, 255, 255, 0.5) !important;
}

header.header-one.fixed .header-btn.header-user-actions a.notification-toggle.has-unread {
  background: rgba(255, 255, 255, 0.18) !important;
  border-color: rgba(255, 255, 255, 0.45) !important;
}

header.header-one .header-btn.header-user-actions .notification-toggle .notification-badge {
  position: absolute !important;
  top: -4px !important;
  right: -4px !important;
  left: auto !important;
  bottom: auto !important;
  min-width: 18px !important;
  width: auto !important;
  height: 18px !important;
  padding: 0 4px !important;
  margin: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #e53935 !important;
  color: #fff !important;
  border-radius: 999px !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  border: 2px solid #1c5871 !important;
  box-sizing: border-box !important;
  pointer-events: none !important;
  z-index: 5 !important;
  transform: none !important;
}

header.header-one.fixed .header-btn.header-user-actions .notification-toggle .notification-badge {
  border-color: #1c5871 !important;
}

header.header-one .header-btn.header-user-actions .icon-btn > a.theme-toggle.activate,
header.header-one .header-btn.header-user-actions .header-action-btn:not(.notification-toggle) {
  border: 1px solid var(--white) !important;
  background: var(--white) !important;
  color: var(--gray-900) !important;
  text-decoration: none;
}

header.header-one .header-btn.header-user-actions .icon-btn > a.theme-toggle.activate:hover,
header.header-one .header-btn.header-user-actions .header-action-btn:not(.notification-toggle):hover {
  background: var(--light) !important;
  border-color: var(--white) !important;
  color: var(--gray-900) !important;
}

header.header-one.fixed .header-btn.header-user-actions .icon-btn > a.theme-toggle.activate,
header.header-one.fixed .header-btn.header-user-actions .header-action-btn:not(.notification-toggle) {
  border-color: var(--gray-100) !important;
  background: var(--white) !important;
  color: var(--gray-900) !important;
}

header.header-one .header-btn.header-user-actions .profile-dropdown > a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden;
  line-height: 0 !important;
  vertical-align: middle;
}

header.header-one .header-btn.header-user-actions .profile-dropdown > a .avatar {
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  min-height: 36px !important;
  max-width: 36px !important;
  max-height: 36px !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 50% !important;
  display: block !important;
  overflow: hidden;
  line-height: 0;
}

header.header-one .header-btn.header-user-actions .profile-dropdown > a .avatar img {
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  border-radius: 50% !important;
  object-fit: cover !important;
  display: block;
}

/* Popup notifikasi — tampilan diperbarui */
.notification-popup-modern {
  width: 380px;
  max-width: calc(100vw - 24px);
  border: 1px solid #e5ecef !important;
  border-radius: 14px !important;
  box-shadow: 0 16px 40px -24px rgba(22, 70, 90, 0.45) !important;
  overflow: hidden;
  margin-top: 12px !important;
}

.notification-popup-modern .notification-popup-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 12px 14px !important;
  background: #fff !important;
  border-bottom: 1px solid #eef2f4 !important;
}

.notification-popup-modern .notification-popup-header h4 {
  margin: 0;
  font-size: 15px;
  font-weight: 700;
  color: #212529;
}

.notification-popup-subtitle {
  display: block;
  margin-top: 2px;
  font-size: 11px;
  color: #8a969e;
}

.notification-mark-all-btn {
  color: #1c5871 !important;
  border: 1px solid color-mix(in srgb, #1c5871 35%, #fff) !important;
  background: color-mix(in srgb, #1c5871 8%, #fff) !important;
  font-size: 11px !important;
  font-weight: 600;
  padding: 4px 10px !important;
  border-radius: 8px !important;
  white-space: nowrap;
}

.notification-mark-all-btn:hover {
  color: #fff !important;
  background: #1c5871 !important;
  border-color: #1c5871 !important;
}

.notification-popup-modern .notification-popup-body {
  max-height: 360px;
  overflow-y: auto;
  background: #fff;
}

.notification-popup-empty {
  text-align: center;
  padding: 28px 16px;
  color: #8a969e;
}

.notification-popup-empty i {
  font-size: 28px;
  margin-bottom: 8px;
  display: block;
  opacity: 0.65;
}

.notification-popup-empty p {
  margin: 0;
  font-size: 13px;
}

.notification-popup-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: start;
  padding: 12px 14px;
  border-bottom: 1px solid #eef2f4;
}

.notification-popup-item:last-child {
  border-bottom: none;
}

.notification-popup-item.unread {
  background: color-mix(in srgb, #1c5871 4%, #fff);
  border-left: 3px solid #1c5871;
}

.notification-popup-content {
  min-width: 0;
}

.notification-popup-meta {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  margin-bottom: 4px;
}

.notification-popup-time {
  font-size: 11px;
  color: #8a969e;
}

.notification-popup-badge-baru {
  font-size: 10px;
  font-weight: 600;
  color: #fff;
  background: #1c5871;
  border-radius: 999px;
  padding: 2px 7px;
  line-height: 1.3;
}

.notification-popup-content h5 {
  margin: 0 0 4px;
  font-size: 13px;
  font-weight: 700;
  color: #212529;
  line-height: 1.35;
}

.notification-popup-content p {
  margin: 0;
  font-size: 12px;
  line-height: 1.45;
  color: #6c7a83;
}

.notification-popup-extra {
  margin-top: 4px !important;
  font-size: 11px !important;
  color: #1c5871 !important;
  font-weight: 500;
}

.notification-open-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin-top: 0.65rem;
  padding: 0.4rem 0.85rem;
  border-radius: 7px;
  border: 1px solid #cfd8dc;
  background: #fff;
  color: #3d5a66 !important;
  font-weight: 600;
  font-size: 0.78rem;
  line-height: 1.2;
  letter-spacing: 0.01em;
  text-decoration: none !important;
  transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.notification-open-btn:hover {
  background: #f4f7f8;
  border-color: #b0bec5;
  color: #1c5871 !important;
}

.notification-popup-actions {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
  padding-top: 2px;
}

.notification-popup-actions .btn-icon-action {
  width: 30px;
  height: 30px;
  padding: 0 !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  border: 1px solid transparent;
  line-height: 1;
}

.btn-mark-read-popup {
  color: #1c5871 !important;
  border-color: color-mix(in srgb, #1c5871 35%, #fff) !important;
  background: color-mix(in srgb, #1c5871 8%, #fff) !important;
}

.btn-mark-read-popup:hover {
  color: #fff !important;
  background: #1c5871 !important;
  border-color: #1c5871 !important;
}

.btn-delete-popup {
  color: #b02a37 !important;
  border-color: #f1c0c5 !important;
  background: #fff5f5 !important;
}

.btn-delete-popup:hover {
  color: #fff !important;
  background: #b02a37 !important;
  border-color: #b02a37 !important;
}

.notification-popup-modern .notification-popup-footer {
  padding: 10px 14px !important;
  text-align: center;
  border-top: 1px solid #eef2f4 !important;
  background: #f8fafb !important;
}

.notification-popup-modern .notification-popup-footer a {
  color: #1c5871 !important;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
}

.notification-popup-modern .notification-popup-footer a:hover {
  text-decoration: underline;
}

/* Panel filter pelatihan — layout checkbox + warna netral seperti peserta asli */
.course-content .filter-clear .filter-card.accordion-item .accordion-button {
  background: transparent !important;
  color: var(--gray-900, #191919) !important;
  border: none !important;
  box-shadow: none !important;
}

.course-content .filter-clear .filter-card.accordion-item .accordion-button i {
  color: var(--gray-900, #191919) !important;
}

.course-content .filter-clear .filter-option {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  position: relative;
  width: 100%;
  min-height: 40px;
  padding: 8px 10px !important;
  margin: 0 0 4px !important;
  border-radius: 6px;
  border: none !important;
  cursor: pointer;
  user-select: none;
}

.course-content .filter-clear .filter-option:last-child {
  margin-bottom: 0 !important;
}

.course-content .filter-clear .filter-option:hover {
  background: var(--light-900, #f4f6f9) !important;
}

.course-content .filter-clear .filter-option.is-checked {
  background: var(--light-900, #f4f6f9) !important;
  border: none !important;
}

.course-content .filter-clear .filter-option-input {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
  opacity: 0 !important;
}

.course-content .filter-clear .filter-option-box {
  flex: 0 0 16px !important;
  width: 16px !important;
  height: 16px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: static !important;
  top: auto !important;
  left: auto !important;
  border: 1px solid var(--gray-100, #e7e7e7);
  border-radius: 2px;
  background: #fff;
  box-sizing: border-box;
  font-size: 9px;
  line-height: 1;
  color: #fff;
}

.course-content .filter-clear .filter-option-box .fa-check {
  font-size: 9px;
  line-height: 1;
}

.course-content .filter-clear .filter-option.is-checked .filter-option-box {
  background: var(--secondary-color, #c0940f) !important;
  border-color: var(--secondary-color, #c0940f) !important;
}

.course-content .filter-clear .filter-option-label {
  display: inline-flex !important;
  align-items: center !important;
  flex-wrap: wrap;
  gap: 4px;
  min-width: 0;
  line-height: 1.35 !important;
  font-size: 14px;
  color: #5f6d75;
  padding: 0 !important;
  margin: 0 !important;
}

.course-content .filter-clear .filter-option.is-checked .filter-option-text {
  color: var(--gray-900, #191919) !important;
  font-weight: 500;
}

.course-content .filter-clear .filter-option-count {
  color: var(--gray-400, #888888);
  font-size: 13px;
}

.course-content .filter-clear .filter-option.is-checked .filter-option-count {
  color: var(--gray-500, #6d6d6d) !important;
}

