@charset "UTF-8";
/* 게시판 관련 스타일 작성 */
.board-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
  table-layout: fixed;
}
.board-table tr:hover {
  background-color: var(--color-primary-300);
}
.board-table th {
  height: 38px;
  padding: 6px;
  border-left: 1px solid var(--color-white);
  background-color: var(--color-cool-gray-15);
  line-height: 1.4;
  font-weight: 600;
  text-align: center;
}
.board-table th[colspan], .board-table th.th-group {
  border-bottom: 1px solid var(--color-white);
}
.board-table td {
  height: 36px;
  padding: 3px;
  border-left: 1px solid var(--color-ddd);
  border-bottom: 1px solid var(--color-ddd);
  font-size: var(--h5);
  line-height: 1.4;
  text-align: center;
}
.board-table td:has(> .cell-stack) {
  padding: 0;
}
.board-table td.subject {
  text-align: left;
}
.board-table th, .board-table td {
  vertical-align: middle;
}
.board-table th .check-item label::before {
  background-color: var(--color-white);
}
.board-table .cell-stack {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.board-table .cell-stack-item {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 6px 8px;
  text-align: center;
}
.board-table .cell-stack-item ~ .cell-stack-item {
  border-top: 1px solid var(--color-ddd);
}
.board-table .check-item {
  width: 100%;
  height: 100%;
  padding: 0;
}
.board-table .check-item input[type=checkbox] + label {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding-left: unset;
}
.board-table .check-item input[type=checkbox] + label::before {
  position: static;
}
.board-table .check-item input[type=checkbox] + label::after {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.board-table .check-item input[type=checkbox]:checked + label::before {
  background-color: rgba(238, 244, 255, 0.5);
  border-color: var(--color-primary-500);
}
.board-table.type2 th {
  height: 26px;
}
.board-table.type3 {
  min-width: 1000px;
}
.board-table.even-row-bg tbody tr:nth-child(even) {
  background-color: #f4f4f4;
}
.board-table {
  /* 정렬 상태(th의 aria-sort)에 따라 화살표 강조 */
}
.board-table .js-th-sort .ico-sort .up,
.board-table .js-th-sort .ico-sort .down {
  fill: var(--color-666);
  transition: fill 0.15s;
}
.board-table {
  /* 정렬 상태 — th에 is-asc / is-desc 가 붙으면 색 변경 */
}
.board-table th.is-asc .js-th-sort .up {
  fill: var(--color-secondary);
}
.board-table th.is-desc .js-th-sort .down {
  fill: var(--color-secondary);
}
.board-table {
  /* 정렬 */
}
.board-table .is-sortable {
  position: relative;
}
.board-table .js-th-sort {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  border: 0;
  background: none;
  padding: 0;
  font-weight: 600;
  color: var(--color-black);
  cursor: pointer;
}
.board-table .js-th-sort .ico-sort {
  position: absolute;
  top: 0;
  right: 4px;
  height: 100%;
}
.board-table .js-th-sort .ico-sort .up,
.board-table .js-th-sort .ico-sort .down {
  fill: #9a9aa8;
  fill: var(--color-666);
  transition: fill 0.15s;
}

.board-table-empty {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 340px;
}
.board-table-empty .tit {
  text-align: center;
  font-size: var(--h5);
  line-height: 140%;
  color: var(--color-cool-gray-20);
}

.x-scroll {
  width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
}

/* Layout */
.border-search-block {
  padding: 14px;
  margin-bottom: 20px;
  border-radius: 8px;
  overflow: hidden;
  background-color: #F8FAFC;
  /* 추가 검색 버튼 — 높이만 축소, input-group 아이콘 검색 너비는 기존(150px) 유지 */
}
.border-search-block .input-group > .admin-list-search {
  min-width: 150px;
  width: auto;
  aspect-ratio: unset;
}
.border-search-block {
  /* Size */
}
.border-search-block.size-sm {
  padding: 8px 0;
  background-color: transparent;
}
.border-search-block.size-sm .border-search-top .input-group > .ud-btn {
  min-width: 100px;
}
.border-search-top {
  display: flex;
  align-items: center;
  gap: 8px;
}
.border-search-top .input-group {
  flex: 1;
  display: flex;
}
.border-search-top .input-group > .ud-select, .border-search-top .input-group > .ud-input-item .ud-input, .border-search-top .input-group > .ud-btn {
  border-radius: 0;
}
.border-search-top .input-group > .ud-select, .border-search-top .input-group > .ud-btn {
  flex-shrink: 0;
  min-width: 150px;
}
.border-search-top .input-group > .ud-select {
  border-right: 0;
}
.border-search-top .input-group > .ud-input-item {
  flex: 1;
}
.border-search-top .input-group > .ud-input-item > .ud-input {
  width: 100%;
}
.border-search-top .btn-group {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}
.border-search-top .btn-group > .ud-btn {
  background-color: var(--color-white);
  min-width: unset;
  padding: 0 10px;
}
.border-search-top .btn-group > .ud-btn [class^=ri-] {
  font-size: 16px;
}
.border-search-bottom {
  background: white;
}
.border-search-bottom .accordion-panel-body {
  padding: 12px 10px;
  border: 1px solid var(--color-primary-800);
  background-color: var(--color-white);
}
.border-search-bottom table.form-table th {
  padding: 4px 12px;
}
.border-search-bottom table.form-table td {
  padding: 4px 10px;
}
.border-search-bottom .ud-input, .border-search-bottom .ud-select {
  min-width: 180px;
}
.border-search-bottom .date-filter-block {
  flex-wrap: wrap;
  gap: 8px;
}
.border-search-bottom .input-date-block {
  gap: 8px;
  font-size: var(--h6);
}
.border-search-bottom .date-shortcut.h-md, .border-search-bottom .date-shortcut.h-md-2, .border-search-bottom .date-shortcut.h-sm {
  height: calc(var(--input-sz-search) + 4px);
  min-height: calc(var(--input-sz-search) + 4px);
}
.border-search-bottom .date-shortcut .btn {
  width: 56px;
  font-size: var(--h6);
  padding: 0 4px;
  line-height: 1.2;
}
.border-search-bottom .radio-item,
.border-search-bottom .check-item {
  padding: 4px 12px;
}
.border-search-bottom .table-search-block {
  width: 100%;
}
.border-search-bottom .table-search-block .input-group {
  gap: 6px;
}
.border-search-bottom > .ud-btn-block {
  padding-bottom: 14px;
  margin-top: 14px;
}

.ud-table-action {
  display: inline-flex;
  gap: 4px;
}

.board-body-tool {
  display: none;
  gap: 8px;
  margin-bottom: 10px;
}

.board-count {
  font-size: var(--h5);
  color: var(--color-8c);
}
.board-count b {
  padding: 0 2px 0 5px;
  font-weight: 700;
  color: var(--color-black);
}

/* Pagenation */
.pagenation-block {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding-top: 36px;
}
.pagenation-block .item ~ .item::before {
  display: none;
}
.pagenation-block .btn {
  width: 34px;
  height: 34px;
  font-size: 14px;
}
.pagenation-btn, .pagenation-num {
  border: none;
}
.pagenation-btn .item, .pagenation-num .item {
  flex: 0;
  border: 1px solid var(--color-d9);
  border-radius: var(--rounded-xs);
}
.pagenation-btn {
  gap: 8px;
}
.pagenation-num {
  gap: 8px;
}

/* Responsive */
@media screen and (max-width: 1600px) {
  .board-table.type3 {
    min-width: 1280px;
  }
}
@media screen and (max-width: 1440px) {
  .border-search-top .input-group .ud-btn {
    min-width: 150px;
  }
  .border-search-top .btn-group .ud-btn {
    padding: 0 10px;
    font-size: var(--h6);
  }
  .border-search-top .btn-group .ud-btn [class^=ri-] {
    font-size: 16px;
  }
}
@media screen and (max-width: 1024px) {
  .border-search-block {
    padding: 16px;
  }
  .border-search-top {
    flex-direction: column-reverse;
    margin-top: -10px;
  }
  .border-search-top .input-group {
    flex-wrap: wrap;
    gap: 4px;
    width: 100%;
  }
  .border-search-top .input-group .ud-select {
    border-right: 1px solid var(--color-ddd);
  }
  .border-search-top .btn-group {
    align-self: end;
  }
  .border-search-top .btn-group .ud-btn {
    min-width: unset;
    height: 44px;
    padding: 0 8px;
    margin-top: 4px;
    font-size: 15px;
    padding: 0 8px;
  }
  .border-search-top .btn-group .ud-btn [class^=ri-] {
    font-size: 18px;
  }
  .border-search-bottom .date-filter-block {
    flex-direction: column;
    flex-wrap: unset;
    align-items: flex-start;
    min-width: 0;
  }
  .border-search-bottom .date-shortcut {
    display: flex;
    min-width: 0;
    overflow-x: auto;
  }
  .board-table tr:hover {
    background-color: transparent;
  }
  .board-table td:has(.cell-stack) {
    -moz-column-gap: 0 !important;
         column-gap: 0 !important;
  }
  .board-table .cell-stack-item {
    justify-content: flex-start;
    width: 100%;
  }
  .board-body-tool {
    gap: 4px;
    width: 100%;
  }
  .board-body-tool .ud-select {
    flex: 2;
  }
  .board-body-tool .ud-btn {
    flex: 1;
  }
  /* type3 제외 : 풀너비로 쌓기 */
  .board-table:not(.type3) {
    display: block;
    width: 100%;
    table-layout: auto;
  }
  .board-table:not(.type3) colgroup {
    display: none;
  }
  .board-table:not(.type3) thead {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
  }
  .board-table:not(.type3) tbody,
  .board-table:not(.type3) tr,
  .board-table:not(.type3) td {
    display: block;
    width: 100%;
  }
  .board-table:not(.type3) tbody {
    border-top: 1px solid var(--color-ddd);
  }
  .board-table:not(.type3) tr:last-child td:last-child::before {
    border-bottom: 0;
  }
  .board-table:not(.type3) td {
    display: grid;
    grid-template-columns: 110px minmax(0, 1fr);
    -moz-column-gap: 16px;
         column-gap: 16px;
    align-items: center;
    height: auto;
    min-height: 42px;
    padding: 0;
    padding-right: 16px;
    text-align: left;
    border-bottom: 1px solid var(--color-ddd);
    overflow-wrap: anywhere;
  }
  .board-table:not(.type3) td::before {
    content: attr(data-label);
    align-self: stretch;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 5px;
    background: var(--color-cool-gray-15);
    border-bottom: 1px solid var(--color-white);
    font-size: 14px;
    font-weight: 500;
    text-align: center;
    line-height: 1.3;
  }
  .board-table:not(.type3) td .thum-aspect {
    margin: 10px;
    margin-left: 0;
  }
  .board-table:not(.type3) td .ud-input-item {
    margin: 6px 0;
  }
  .board-table .check-item input[type=checkbox] + label {
    display: inline-flex;
    width: unset;
  }
  .board-body-tool {
    display: flex;
  }
}
@media screen and (max-width: 768px) {
  .border-search-top .input-group .ud-btn {
    flex: 1 0 80px;
    min-width: unset;
  }
  .border-search-top .input-group .ud-select {
    flex: 1 1 140px;
    min-width: unset;
  }
  .border-search-top .input-group .ud-input-item {
    flex: 3.5 1 330px;
    min-width: unset;
  }
  .border-search-top .input-group .ud-input-item .ud-input {
    min-width: unset;
  }
  .border-search-top .btn-group {
    justify-content: flex-end;
    gap: 4px;
    width: 100%;
  }
  .ud-require-txt {
    display: block;
    width: 100%;
  }
  .filter-group .ud-select {
    width: 150px;
    min-width: unset;
  }
  .pagenation-block {
    flex-wrap: wrap;
    gap: 10px;
  }
  .pagenation-block .btn {
    width: clamp(28px, 2.941vw + 17.41px, 40px);
    height: clamp(28px, 2.941vw + 17.41px, 40px);
    line-height: clamp(28px, 2.941vw + 17.41px, 40px);
    font-size: 15px;
  }
  .pagenation-num {
    justify-content: center;
    flex-wrap: wrap;
    gap: 3px;
  }
  .pagenation-btn {
    gap: 4px;
  }
}
@media screen and (max-width: 360px) {
  .border-search-block {
    padding: 14px 10px;
    margin-bottom: 20px;
  }
  .border-search-block .btn-group .ud-btn {
    padding: 0 5px;
  }
  .border-search-top .btn-group .ud-btn:not(.trg-btn-accordion) {
    flex: 1;
  }
  .border-search-bottom .input-date-block {
    gap: 4px;
  }
  .border-search-bottom .accordion-panel-body {
    padding: 8px;
  }
  .board-body-tool .ud-select {
    min-width: unset;
  }
  .board-table:not(.type3) tbody td {
    height: unset;
    min-height: 36px;
  }
  .pagenation-block .btn {
    width: 28px;
    height: 28px;
    line-height: 28px;
  }
}