/* ============================
   타이틀 행 우측 액션 그룹
============================= */
.notif-title-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}

.notif-mobile-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

/* ============================
   필터 바 (필터 칩 + 우측 액션 버튼)
============================= */
.notif-filter-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-top: 32px;
}

.notif-filter-bar .notif-filter-row {
  margin-top: 0 !important;
  flex: 1;
}

.notif-filter-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

/* ============================
   액션 버튼 (읽은 알림 삭제 / 선택)
============================= */
.notif-action-btn {
  display: inline-flex;
  align-items: center;
  height: 32px;
  padding: 0 14px;
  border: 1px solid #3a3a3e;
  border-radius: 999px;
  background: transparent;
  font-family: 'Nanum Gothic', sans-serif;
  font-size: 13px;
  color: #b5b5b5;
  cursor: pointer;
  white-space: nowrap;
  transition: border-color 150ms ease, color 150ms ease;
}

.notif-action-btn:hover {
  border-color: #b5b5b5;
  color: #f1f1f1;
}

.notif-action-btn--danger {
  border-color: rgba(241, 99, 79, 0.35);
  color: #f1634f;
}

.notif-action-btn--danger:hover {
  border-color: #f1634f;
  color: #f1634f;
}

/* ============================
   선택 모드 바 (전체 선택 + 개수 + 삭제/취소 버튼)
============================= */
.notif-select-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 16px;
  background: #252527;
  border: 1px solid #3a3a3e;
  border-radius: 12px;
  margin-top: 16px;
}

.notif-select-bar-left {
  display: flex;
  align-items: center;
  gap: 12px;
}

.notif-select-all-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: transparent;
  border: none;
  padding: 0;
  font-family: 'Nanum Gothic', sans-serif;
  font-size: 13px;
  color: #b5b5b5;
  cursor: pointer;
  transition: color 150ms ease;
}

.notif-select-all-btn:hover {
  color: #f1f1f1;
}

/* 전체 선택 커스텀 체크박스 */
.notif-select-all-check {
  -webkit-appearance: none;
  appearance: none;
  width: 18px;
  height: 18px;
  border: 2px solid #4a4a4e;
  border-radius: 5px;
  background: #353539;
  cursor: pointer;
  flex-shrink: 0;
  transition: border-color 150ms ease, background 150ms ease;
  position: relative;
}

.notif-select-all-check:checked {
  background: #b7cd47;
  border-color: #b7cd47;
}

.notif-select-all-check:checked::after {
  content: '';
  position: absolute;
  left: 4px;
  top: 1px;
  width: 5px;
  height: 9px;
  border: 2px solid #1a1a1a;
  border-top: none;
  border-left: none;
  transform: rotate(45deg);
}

.notif-select-count {
  font-family: 'Nanum Gothic', sans-serif;
  font-size: 14px;
  font-weight: 700;
  color: #f1f1f1;
}

.notif-select-bar-right {
  display: flex;
  align-items: center;
  gap: 8px;
}

.notif-select-delete-btn {
  display: inline-flex;
  align-items: center;
  height: 34px;
  padding: 0 16px;
  background: #f1634f;
  border: none;
  border-radius: 8px;
  font-family: 'Nanum Gothic', sans-serif;
  font-size: 13px;
  font-weight: 700;
  color: #fff;
  cursor: pointer;
  transition: background 150ms ease;
}

.notif-select-delete-btn:hover {
  background: #d9503e;
}

.notif-select-delete-btn:disabled {
  background: #3a2e2b;
  color: #7a5a55;
  cursor: not-allowed;
}

.notif-select-cancel-btn {
  display: inline-flex;
  align-items: center;
  height: 34px;
  padding: 0 14px;
  background: transparent;
  border: 1px solid #3a3a3e;
  border-radius: 8px;
  font-family: 'Nanum Gothic', sans-serif;
  font-size: 13px;
  color: #b5b5b5;
  cursor: pointer;
  transition: border-color 150ms ease, color 150ms ease;
}

.notif-select-cancel-btn:hover {
  border-color: #b5b5b5;
  color: #f1f1f1;
}

/* ============================
   카드 체크박스 (선택 모드)
============================= */
.notif-card--selectable {
  cursor: pointer;
  transition: border-color 150ms ease, background 150ms ease;
}

.notif-card--selected {
  border-color: #b7cd47 !important;
  background: #2a2d22;
}

.notif-card-checkbox-wrap {
  display: flex;
  align-items: center;
  align-self: center;
  flex-shrink: 0;
}

.notif-card-checkbox {
  -webkit-appearance: none;
  appearance: none;
  width: 20px;
  height: 20px;
  border: 2px solid #4a4a4e;
  border-radius: 6px;
  background: #252527;
  cursor: pointer;
  flex-shrink: 0;
  transition: border-color 150ms ease, background 150ms ease;
  position: relative;
}

.notif-card-checkbox:checked {
  background: #b7cd47;
  border-color: #b7cd47;
}

.notif-card-checkbox:checked::after {
  content: '';
  position: absolute;
  left: 5px;
  top: 1px;
  width: 6px;
  height: 10px;
  border: 2px solid #1a1a1a;
  border-top: none;
  border-left: none;
  transform: rotate(45deg);
}

/* ============================
   모바일 반응형
============================= */
@media (max-width: 768px) {
  .notif-filter-bar {
    flex-wrap: wrap;
    gap: 10px;
  }

  .notif-filter-bar .notif-filter-row {
    flex: unset;
  }

  .notif-filter-actions {
    margin-left: auto;
  }

  .notif-action-btn {
    height: 30px;
    padding: 0 12px;
    font-size: 12px;
  }

  .notif-select-bar {
    padding: 8px 12px;
    border-radius: 10px;
  }

  .notif-select-count {
    font-size: 13px;
  }

  .notif-select-delete-btn {
    height: 30px;
    padding: 0 12px;
    font-size: 12px;
  }

  .notif-select-cancel-btn {
    height: 30px;
    padding: 0 10px;
    font-size: 12px;
  }

  .notif-select-all-btn {
    font-size: 12px;
  }
}
