/* 테이블 커스텀 스타일 - 행 높이 및 여백 축소 (모든 앱 적용) */

/* 테이블 셀 패딩 축소 - 모든 테이블에 적용 */
table th,
table td {
  padding: 0.15rem 0.3rem !important; /* 여백 최소화 */
  vertical-align: middle;
}

/* 테이블 헤더 패딩 축소 - 모든 테이블에 적용 */
table thead th {
  padding: 0.2rem 0.3rem !important; /* 헤더 여백 최소화 */
  font-weight: 600;
}

/* 테이블 푸터 패딩 축소 - 모든 테이블에 적용 */
table tfoot th {
  padding: 0.15rem 0.3rem !important; /* 푸터 여백 최소화 */
}

/* DataTable 래퍼 여백 축소 */
div.dataTables_wrapper {
  div.dataTables_length,
  .dataTables_filter {
    margin-top: 0.3rem !important; /* 여백 최소화 */
    margin-bottom: 0.3rem !important;
  }

  div.dataTables_info {
    padding-top: 0.1rem !important; /* 여백 최소화 */
    padding-bottom: 0.1rem !important;
  }
}

/* DataTable 페이지네이션 여백 축소 */
div.dataTables_wrapper div.dataTables_paginate {
  margin-top: 0.2rem !important;
  margin-bottom: 0.2rem !important;
}

/* DataTable 스크롤 영역 여백 축소 */
.dataTables_scroll {
  margin-bottom: 0.2rem !important; /* 여백 최소화 */
}

/* 카드 내 DataTable 패딩 축소 */
div.card-datatable {
  padding-bottom: 0.2rem !important; /* 여백 최소화 */
}

/* 테이블 행 높이 최적화 - 모든 테이블에 적용 */
table tbody tr {
  line-height: 1 !important; /* 행 높이 최소화 */
}

/* 테이블 내 버튼 및 아이콘 크기 조정 - 모든 테이블에 적용 */
table .btn {
  padding: 0.1rem 0.3rem !important; /* 버튼 크기 최소화 */
  font-size: 0.8rem !important;
}

table .btn-sm {
  padding: 0.05rem 0.15rem !important;
  font-size: 0.7rem !important;
}

/* 테이블 내 아이콘 크기 조정 - 모든 테이블에 적용 */
table i,
table .bx {
  font-size: 1rem !important; /* 아이콘 크기 축소 */
}

/* 테이블 내 배지 크기 조정 - 모든 테이블에 적용 */
table .badge {
  font-size: 0.7rem !important;
  padding: 0.1rem 0.3rem !important;
}

/* 테이블 내 아바타 크기 조정 - 모든 테이블에 적용 */
table .avatar {
  width: 2rem !important;
  height: 2rem !important;
}

table .avatar-sm {
  width: 1.5rem !important;
  height: 1.5rem !important;
}

/* 테이블 내 체크박스 크기 조정 - 모든 테이블에 적용 */
table .form-check-input {
  width: 1rem !important;
  height: 1rem !important;
  margin-top: 0 !important;
}

/* DataTable 내 드롭다운 메뉴 패딩 축소 */
div.dataTables_wrapper .dt-button-collection {
  padding: 0.1rem !important;
}

div.dataTables_wrapper .dt-button-collection .dropdown-item {
  padding: 0.1rem 0.5rem !important;
}

/* 반응형 테이블 여백 축소 - 모든 테이블에 적용 */
@media screen and (max-width: 767.98px) {
  div.dataTables_wrapper div.dataTables_info {
    padding-bottom: 0.1rem !important;
  }

  table th,
  table td {
    padding: 0.1rem 0.25rem !important; /* 모바일에서 최소화 */
  }
}

/* 테이블 내 텍스트 크기 조정 - 모든 테이블에 적용 */
table {
  font-size: 0.875rem !important; /* 전체 폰트 크기 축소 */
}

table th {
  font-size: 0.875rem !important;
}

/* 테이블 내 링크 스타일 - 모든 테이블에 적용 */
table a {
  text-decoration: none;
  color: inherit;
}

table a:hover {
  text-decoration: underline;
}

/* 테이블 내 상태 표시 요소들 - 모든 테이블에 적용 */
table .status-badge {
  font-size: 0.7rem !important;
  padding: 0.05rem 0.25rem !important;
}

/* 테이블 내 액션 버튼 그룹 - 모든 테이블에 적용 */
table .action-buttons {
  display: flex;
  gap: 0.1rem;
  align-items: center;
}

table .action-buttons .btn {
  padding: 0.05rem 0.15rem !important;
  font-size: 0.7rem !important;
  line-height: 1;
}

/* 테이블 내 날짜/시간 텍스트 - 모든 테이블에 적용 */
table .datetime-text {
  font-size: 0.8rem !important;
  color: #6c757d;
}

/* 테이블 내 사용자명 텍스트 - 모든 테이블에 적용 */
table .username-text {
  font-weight: 500;
  font-size: 0.875rem !important;
}

/* 테이블 내 설명 텍스트 - 모든 테이블에 적용 */
table .description-text {
  font-size: 0.8rem !important;
  color: #6c757d;
  max-width: 200px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
} 