/* 모던 대시보드 스타일 (sub_default와 동일 계열) */
body { background: #f8f9fa !important; }
.myoffice-dashboard { max-width: 1400px; margin: 0 auto; padding: 20px; background: #f8f9fa; }
/* gbs 게시판에서는 풋터 간격을 위해 min-height 제거 및 하단 여백 조정 */
.gbs-list-page.myoffice-dashboard { 
	min-height: auto !important; 
	padding-bottom: 20px !important; 
	margin-bottom: 0 !important; 
}
/* gbs 게시판 풋터 간격 조정 */
body:has(.gbs-list-page) { 
	padding-bottom: 0 !important; 
	margin-bottom: 0 !important;
}
body:has(.gbs-list-page) .myoffice-dashboard {
	min-height: auto !important;
}
/* gbs 게시판 마지막 섹션 하단 여백 제거 */
.gbs-list-page .table-section:last-child {
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
}
.gbs-list-page .table-container:last-child {
	margin-bottom: 0 !important;
}
.table-section { margin-bottom: 30px; }
.table-section + .table-section { margin-top: 0; }
.table-container { background: #fff; border-radius: 12px; box-shadow: 0 2px 8px rgba(0,0,0,0.08); overflow: hidden; display: flex !important; flex-direction: column !important; }
.table-header { display: flex !important; justify-content: space-between; align-items: center; padding: 18px 22px; border-bottom: 1px solid #e9ecef; background: #f8f9fa; order: 1 !important; margin-bottom: 0 !important; }
.table-header h3, .table-header h1 { margin: 0; font-size: 18px; font-weight: 700; color: #2c3e50; }
.table-wrapper { overflow-x: auto; order: 2 !important; margin-top: 0 !important; padding-top: 0 !important; }
.table-card { padding: 0; }

/* 상단 검색 테이블 스킨 정합 */
.search-card table[bgcolor="cfd6e6"] { background: transparent !important; border-collapse: separate !important; border-spacing: 1px !important; }
.search-card table[bgcolor="cfd6e6"] .font_q { background: #f5f7fb !important; border-right: 1px solid #e6ebf2 !important; }
.search-card table[bgcolor="cfd6e6"] td[bgcolor="ffffff"] { background: #ffffff !important; }
.search-card table[bgcolor="cfd6e6"] tr[height="30"] td { height: 56px !important; }
.search-card table[style*="table-layout:fixed"] td[bgcolor] { height: 1px !important; }

.btn-modern { border: none; border-radius: 8px; padding: 10px 16px; font-size: 13px; font-weight: 600; cursor: pointer; transition: all .25s ease; color: #fff; box-shadow: 0 2px 6px rgba(0,0,0,.08); white-space: nowrap; }
/* btn-two-thirds가 있을 때는 크기 2/3로 오버라이드 */
.btn-modern.btn-two-thirds { padding: 6.67px 10.67px !important; font-size: 9px !important; }
/* 설정 버튼 크기 1.2배 (btn-two-thirds 기준: padding 6.67px 10.67px, font-size 9px) */
.btn-modern.btn-setting,
a.btn-modern.btn-setting {
    padding: 8px 12.8px !important;
    font-size: 10.8px !important;
    min-width: auto !important;
    line-height: 1.2 !important;
    color: #ffffff !important;
}
/* 버튼 크기 조정 (현재 크기에서 1.1배: padding 6px 10px -> 7px 11px, font-size 10px -> 11px) */
.btn-modern.btn-half-size,
button.btn-modern.btn-half-size,
.btn-half-size.btn-modern.btn-primary,
.myoffice-dashboard .btn-modern.btn-half-size,
.myoffice-dashboard button.btn-modern.btn-half-size {
    padding: 7px 11px !important;
    font-size: 11px !important;
    min-width: auto !important;
    line-height: 1.2 !important;
}
.btn-modern.btn-primary { background: linear-gradient(135deg, #28a745 0%, #20c997 100%); }
.btn-modern.btn-primary:hover { background: linear-gradient(135deg, #20c997 0%, #28a745 100%); transform: translateY(-1px); }
.btn-modern[style*="background:#6c757d"]:hover { background: #545b62 !important; transform: translateY(-1px); }

/* sub_visit와 동일한 검색 버튼 스타일 */
.pub-btn--search {
    background: linear-gradient(135deg, #4873B9 0%, #3b5aa0 100%);
    color: #ffffff;
    border: none;
    padding: 8px 16px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease-in-out;
    font-family: "Malgun Gothic", "맑은 고딕", sans-serif;
}
.pub-btn--search:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(72, 115, 185, 0.3);
}

/* 입력 필드 스타일 (shop_sub_default.php 참조) */
.ed,
.pub-input--rounded {
    padding: 6px 10px !important;
    border: 1px solid #c7ced6 !important;
    border-radius: 4px !important;
    font-size: 13px !important;
    background: #ffffff !important;
    color: #333333 !important;
    transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease !important;
    height: 34px !important;
    box-sizing: border-box !important;
    line-height: 20px !important;
    box-shadow: none !important;
}
.ed:focus,
.pub-input--rounded:focus {
    border-color: #80bdff !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(0,123,255,.12) !important;
}

/* 선택박스 스타일 (라운드 스타일 포함) */
select.pub-input--rounded,
select.ed {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%2390a4ae' d='M1.41.59L6 5.17 10.59.59 12 2l-6 6-6-6z'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 12px center !important;
    background-size: 12px 8px !important;
    padding-right: 34px !important;
    padding: 6px 34px 6px 10px !important;
}

/* 리스트 카드 테이블 */
.list-card table { border-collapse: collapse !important; width: 100% !important; }
.list-card table[bgcolor] { background-color: transparent !important; }
.list-card table[bgcolor="cfd6e6"] { background-color: transparent !important; border-collapse: separate !important; border-spacing: 1px !important; }
.list-card td, .list-card th { border-bottom: 1px solid #e9ecef !important; padding: 12px 10px !important; }
/* 링크유형과 링크주소 사이 간격 확보 */
.list-card tr.list0 td[rowspan="2"]:nth-child(5),
.list-card tr.list1 td[rowspan="2"]:nth-child(5) {
    padding-right: 25px !important;
}
.list-card tr.list0 td[rowspan="2"]:nth-child(7),
.list-card tr.list1 td[rowspan="2"]:nth-child(7) {
    padding-left: 25px !important;
}
/* 링크유형 선택박스와 링크주소 입력박스 사이 간격 */
.list-card td[rowspan="2"] select.pub-input--rounded {
    margin-right: 10px !important;
}
.list-card td[rowspan="2"] textarea.pub-input--rounded {
    margin-left: 10px !important;
}
.list-card table { border: 1px solid #e9ecef !important; border-radius: 12px !important; overflow: hidden !important; background: #fff !important; }
.list-card .cell { background: #f8f9fa !important; color: #495057 !important; font-weight: 600 !important; border-bottom: 1px solid #e9ecef !important; padding: 12px 10px !important; text-align: center !important; white-space: nowrap !important; }
.list-card .table_cell1 { background: #f8f9fa !important; color: #495057 !important; font-weight: 600 !important; border-bottom: 1px solid #e9ecef !important; padding: 12px 10px !important; text-align: center !important; }
.list-card td { background: #ffffff !important; color: #6c757d !important; }
.list-card tr:hover td { background: #f9fafb !important; }
.list-card tr.list0 td, .list-card tr.list1 td { background: #ffffff !important; }
.list-card tr.list0:hover td, .list-card tr.list1:hover td { background: #f9fafb !important; }
.list-card .f_list0, .list-card .f_list1, .list-card .f_listb { color: #6c757d !important; background: #ffffff !important; }
.list-card .f_listb { font-weight: 600 !important; color: #495057 !important; }
.list-card tr { height: auto !important; }
.list-card input.input_Denim, .list-card textarea, .list-card select {
    padding: 6px 10px !important;
    border: 1px solid #c7ced6 !important;
    border-radius: 4px !important;
    font-size: 13px !important;
    background: #ffffff !important;
    color: #333 !important;
}
.list-card textarea.pub-input--rounded {
    height: 34px !important;
    line-height: 20px !important;
    resize: vertical !important;
    width: 100% !important;
    box-sizing: border-box !important;
}
.list-card input.pub-input--rounded,
.list-card select.pub-input--rounded {
    height: 34px !important;
    box-sizing: border-box !important;
}

/* 주문관리 배송추적 버튼과 입력박스 간격 조정 */
.list-card td.pd5 {
    width: auto !important;
    max-width: 100% !important;
    overflow: visible !important;
}
.list-card td.pd5 table {
    width: 100% !important;
    max-width: 100% !important;
    table-layout: fixed !important;
}
.list-card td.pd5 table td {
    vertical-align: middle !important;
    overflow: visible !important;
}
.list-card td.pd5 table td:first-child,
.list-card td.pd5 table td:nth-child(2) {
    width: 42% !important;
    max-width: 42% !important;
}
.list-card td.pd5 table td:last-child {
    width: 16% !important;
    min-width: 60px !important;
    padding: 0 !important;
}
.list-card td.pd5 table td:first-child select,
.list-card td.pd5 table td:nth-child(2) input {
    width: 100% !important;
    max-width: calc(100% - 2px) !important;
    min-width: 120px !important;
    box-sizing: border-box !important;
}
.list-card td.pd5 table td:nth-child(2) input {
    min-width: 150px !important;
}

.breadcrumb { font-size: 14px; color: #6c757d; }
.font_side { font-size: 13px; color: #495057; }
.btn-date { background: #e9ecef; color: #495057; border: 1px solid #ced4da; border-radius: 20px; padding: 6px 12px; font-size: 12px; margin-right: 4px; cursor: pointer; height: 36px; line-height: 24px; }
.btn-date:hover { background: #dee2e6; }

/* 주문관리 수령자명 셀 스타일 (배송추적 버튼이 있는 셀) */
.list-card td.f_list1:has(.order-delivery-btn--track),
.list-card td[rowspan="2"].f_list1:has(.order-delivery-btn--track) {
    padding-left: 10px !important;
    white-space: nowrap !important;
}
.list-card td.f_list1 .order-delivery-btn--track {
    margin-left: 8px !important;
    display: inline-block !important;
    vertical-align: middle !important;
}

/* 주문취소요청 예금주명 라벨 간격 조정 (계좌번호와 동일하게) */
.list-card table.t_horiz th.tar.PD-R5,
.list-card .t_horiz th.tar.PD-R5 {
    padding-right: 10px !important;
}

/* 배송추적 버튼 모던 스타일 (admin/order.php?code=5 참조) */
.order-delivery-btn--track {
    background: linear-gradient(135deg, #17a2b8 0%, #138496 100%);
    color: #ffffff !important;
    border: none;
    padding: 4px 12px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease-in-out;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    vertical-align: middle;
    font-family: 'Malgun Gothic', '맑은 고딕', sans-serif;
    display: inline-block;
    text-decoration: none;
}
.order-delivery-btn--track:hover {
    background: linear-gradient(135deg, #138496 0%, #117a8b 100%);
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(23, 162, 184, 0.3);
}
a .order-delivery-btn--track {
    border: none;
    text-decoration: none;
}

/* 폼 제출 및 취소 버튼 스타일 (shop_sub_default.php 참조) */
.btn-save,
.btn-request {
    background: linear-gradient(135deg, #28a745 0%, #20c997 100%);
    color: #ffffff;
    border: none;
    border-radius: 8px;
    padding: 12px 24px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 2px 4px rgba(40, 167, 69, 0.2);
    text-decoration: none;
    display: inline-block;
    font-family: 'Malgun Gothic', '맑은 고딕', Arial, sans-serif;
    line-height: 1.4;
    text-align: center;
    min-width: 80px;
    margin-right: 8px;
}
.btn-save:hover,
.btn-request:hover {
    background: linear-gradient(135deg, #20c997 0%, #28a745 100%);
    color: #ffffff;
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(40, 167, 69, 0.3);
}

/* 공통 모던 버튼 */
.btn-modern {
    border: none;
    border-radius: 8px;
    padding: 10px 16px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.25s ease;
    color: #fff;
    box-shadow: 0 2px 6px rgba(0,0,0,0.08);
    white-space: nowrap;
}

.btn-modern.btn-primary {
    background: linear-gradient(135deg, #28a745 0%, #20c997 100%);
}
.btn-modern.btn-primary:hover {
    background: linear-gradient(135deg, #20c997 0%, #28a745 100%);
    transform: translateY(-1px);
}

.btn-modern.btn-secondary {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: #ffffff !important;
}
.btn-modern.btn-secondary:hover {
    background: linear-gradient(135deg, #764ba2 0%, #667eea 100%);
    transform: translateY(-1px);
    color: #ffffff !important;
}
/* 샘플보기 버튼 스타일 */
.skin-color-btn--preview {
    background: linear-gradient(135deg, #007bff 0%, #0056b3 100%);
    color: #ffffff !important;
    border: none;
    border-radius: 6px;
    padding: 6px 12px;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease;
    box-shadow: 0 2px 4px rgba(0, 123, 255, 0.2);
    min-width: 80px;
    height: 30px;
    line-height: 1.5;
    font-family: 'Malgun Gothic', '맑은 고딕', sans-serif;
    display: inline-block;
    text-decoration: none;
}
.skin-color-btn--preview:hover {
    background: linear-gradient(135deg, #0056b3 0%, #004085 100%);
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(0, 123, 255, 0.3);
}

/* 하단 액션 버튼 스타일 */
.btn-action {
    border: none;
    border-radius: 8px;
    padding: 12px 24px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 2px 6px rgba(0,0,0,0.08);
    text-decoration: none;
    display: inline-block;
    font-family: 'Malgun Gothic', '맑은 고딕', Arial, sans-serif;
    line-height: 1.4;
    text-align: center;
    min-width: 100px;
    margin: 0 5px;
}
.btn-action:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}
.btn-action:active {
    transform: translateY(0);
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}
.btn-update {
    background: linear-gradient(135deg, #4873B9 0%, #3b5aa0 100%);
    color: #ffffff;
}
.btn-update:hover {
    background: linear-gradient(135deg, #3b5aa0 0%, #2d4473 100%);
    box-shadow: 0 4px 12px rgba(72, 115, 185, 0.3);
}
.btn-delete {
    background: linear-gradient(135deg, #dc3545 0%, #c82333 100%);
    color: #ffffff;
}
.btn-delete:hover {
    background: linear-gradient(135deg, #c82333 0%, #bd2130 100%);
    box-shadow: 0 4px 12px rgba(220, 53, 69, 0.3);
}

/* 하단 고정 메뉴바 (board_btn 스타일 - admin/design.php 참조) */
#board_btn {
    position: fixed !important;
    left: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    background: #2e75ae !important;
    margin-left: 0 !important;
    z-index: 1000;
    transition: transform 0.3s ease-in-out;
}
/* 스크롤 업(위로) 시 메뉴바 숨김 */
#board_btn.hidden {
    transform: translateY(100%) !important;
    opacity: 0 !important;
    pointer-events: none !important;
}
/* 하단 고정 메뉴바가 있을 때 하단 여백 추가 */
body:has(#board_btn) .myoffice-dashboard {
    padding-bottom: 60px;
}
.myoffice-dashboard:has(+ #board_btn) {
    padding-bottom: 60px;
}
/* 하단 여백 보완 */
div.myoffice-dashboard {
    padding-bottom: 60px;
}
#board_btn ul {
    display: table !important;
    width: 100% !important;
    border-spacing: 0 !important;
    border-top: 2px solid #095693 !important;
    background: transparent !important;
    margin: 0 !important;
    padding: 0 !important;
}
#board_btn ul li {
    display: table-cell;
    margin: 0;
    text-align: center;
    padding: 2px 10px;
    font-size: 12px;
    font-weight: bold;
    border: 1px solid #5592c2;
    border-width: 0 1px 0 0;
}
#board_btn ul li:last-child {
    border-right: none;
}
#board_btn ul li a {
    text-decoration: none;
    display: block;
    color: #ffffff;
    transition: background-color 0.2s ease;
}
#board_btn ul li a:hover {
    background-color: #095693;
}
#board_btn ul li a span {
    display: block;
    padding: 10px 0;
    color: #fff;
}

/* 모던 페이지네이션 */
.mem-pagination { display: inline-flex; align-items: center; gap: 6px; }
.mem-pagination a,
.mem-pagination span,
.mem-pagination strong {
  display: inline-block; min-width: 34px; height: 34px; line-height: 34px; padding: 0 10px; text-align: center;
  border: 1px solid #dee2e6; border-radius: 8px; background: #ffffff; color: #495057; text-decoration: none; font-size: 13px;
  box-shadow: 0 1px 2px rgba(0,0,0,0.04);
}
.mem-pagination a:hover { background: #f1f3f5; border-color: #ced4da; }
.mem-pagination strong,
.mem-pagination .current {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: #fff; border-color: transparent; font-weight: 700;
}

/* 검색 카드 내부 입력 UI (admin/mem.php 리스트 스타일 근접) */
.myoffice-dashboard .table-container.search-card .table-card .pub-input--rounded,
.myoffice-dashboard .table-container.search-card .table-card input.ed,
.myoffice-dashboard .table-container.search-card .table-card input[type="text"],
.myoffice-dashboard .table-container.search-card .table-card select {
  height: 34px !important;
  padding: 6px 10px !important;
  border: 1px solid #c7ced6 !important;
  border-radius: 4px !important;
  font-size: 13px !important;
  line-height: 20px !important;
  color: #333 !important;
  background-color: #ffffff !important;
  box-sizing: border-box !important;
  transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease !important;
  box-shadow: none !important;
}

/* 제거: 강제 배경 고정 오버라이드로 인한 부작용 회피 */
.myoffice-dashboard .table-container.search-card .table-card select,
select.pub-input--rounded {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%2390a4ae' d='M1.41.59L6 5.17 10.59.59 12 2l-6 6-6-6z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 12px 8px;
  padding-right: 34px !important;
}
.search-card textarea { padding: 10px 12px; border: 1px solid #ced4da; border-radius: 12px; font-size: 13px; box-sizing: border-box; }
.myoffice-dashboard .table-container.search-card .table-card .pub-input--rounded:focus,
.myoffice-dashboard .table-container.search-card .table-card input.ed:focus,
.myoffice-dashboard .table-container.search-card .table-card select:focus,
.myoffice-dashboard .table-container.search-card .table-card textarea:focus {
  outline: none !important;
  border-color: #80bdff !important;
  box-shadow: 0 0 0 3px rgba(0,123,255,.12), inset 0 2px 4px rgba(0,0,0,0.06) !important;
}

/* 라벨/셀 스타일 (mem.php list 상단 검색 영역 유사) */
.search-card .font_q {
  font-weight: 600 !important;
  color: #495057 !important;
  background: #f8f9fa !important;
}
.search-card td[bgcolor='ffffff'] { background: #ffffff !important; }
.search-card td { padding: 5px !important; }

/* 날짜 버튼: 라운드 고스트 스타일 */
.myoffice-dashboard .table-container.search-card .table-card .btn-date {
  height: 32px !important;
  line-height: 20px !important;
  padding: 6px 10px !important;
  border-radius: 4px !important;
  border: 1px solid #9aa2ac !important;
  background: #9aa2ac !important;
  color: #ffffff !important;
  box-shadow: none !important;
}
.myoffice-dashboard .table-container.search-card .table-card .btn-date:hover { background: #8c949e !important; border-color: #8c949e !important; }

/* 우측 검색 버튼 영역 정렬 보정 */
.search-card table[celpadding="0"][cellspacing="0"] td.font_side,
.search-card .font_side { vertical-align: middle !important; }
.search-card .font_q { font-weight: 600; color: #495057; background: #f8f9fa; }
.search-card td[bgcolor='ffffff'] { background: #fff; }
.search-card img[alt] { vertical-align: middle; }


/* 가입날짜 앞쪽 입력칸 배경을 뒤쪽과 동일하게 흰색으로 고정 */
.search-card #time_start,
.search-card #time_start:focus,
.search-card #time_end,
.search-card #time_end:focus {
  background: #ffffff !important;
}

/* Top 버튼 스타일 (sub_default와 동일 계열) */
#topBtn {
  position: fixed;
  bottom: 30px;
  right: 30px;
  width: 50px;
  height: 50px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  font-size: 18px;
  font-weight: bold;
  box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);
  transition: all 0.3s ease;
  z-index: 2000;
  display: none;
}

/* 검색 카드 스타일 (sub_recruit와 100% 동일) */
.search-card {
    background: #ffffff;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    margin-bottom: 20px;
    overflow: hidden;
}

.search-card .table-wrapper {
    padding: 0;
}

.search-card .table-card {
    background: transparent;
    box-shadow: none;
    margin: 0;
}

.search-card .font_q {
    font-weight: bold;
    color: #333;
    padding: 8px 10px;
    vertical-align: middle;
    text-align: center;
}

.search-card .ed {
    padding: 6px 10px !important;
    border: 1px solid #c7ced6 !important;
    border-radius: 4px !important;
    font-size: 13px !important;
    background: #ffffff !important;
    color: #333333 !important;
    height: 34px !important;
    box-sizing: border-box !important;
    line-height: 20px !important;
}

.search-card .pub-input--rounded {
    padding: 6px 10px !important;
    border: 1px solid #c7ced6 !important;
    border-radius: 4px !important;
    font-size: 13px !important;
    background: #ffffff !important;
    color: #333333 !important;
    height: 34px !important;
    box-sizing: border-box !important;
    line-height: 20px !important;
}

.search-card .btn-date {
    padding: 6px 10px;
    margin-left: 3px;
    margin-right: 0;
    border: 1px solid #6c757d;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 500;
    cursor: pointer;
    background: #6c757d;
    color: white;
    transition: all 0.2s ease;
    white-space: nowrap;
}

.search-card .btn-date:hover {
    background: #545b62;
    border-color: #545b62;
}

.search-card .button {
    padding: 8px 16px;
    border: 1px solid #007bff;
    border-radius: 4px;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    background: #007bff;
    color: white;
    transition: all 0.2s ease;
}

.search-card .button:hover {
    background: #0056b3;
    border-color: #0056b3;
}

/* 검색 결과 하이라이트 */
.search-highlight {
    background-color: #fff3cd !important;
    border-left: 4px solid #ffc107 !important;
}

.search-highlight td {
    background-color: #fff3cd !important;
}

/* 트리 토글 하이라이트 */
.tree-highlight {
    background-color: #e3f2fd !important;
    border-left: 4px solid #2196f3 !important;
}

.tree-highlight td {
    background-color: #e3f2fd !important;
}
#topBtn:hover {
  background: linear-gradient(135deg, #764ba2 0%, #667eea 100%);
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(102, 126, 234, 0.6);
}

/* Tree controls */
.tree-controls { display: flex; gap: 10px; padding: 8px 12px; }
.tree-controls .btn { border: none; border-radius: 6px; padding: 8px 14px; font-size: 13px; font-weight: 600; color: #fff; cursor: pointer; box-shadow: 0 1px 3px rgba(0,0,0,.1); }
.tree-controls .btn-zoom-out { background: #5661b3; }
.tree-controls .btn-reset { background: #10b981; }
.tree-controls .btn-zoom-in { background: #4f46e5; }
.tree-viewport { position: relative; overflow: auto; border: 1px solid #e5e7eb; border-radius: 10px; background: #fff; }
.tree-canvas { transform-origin: 0 0; }

/* Tree text list modernization */
.tree-viewport table { width: 100%; border-collapse: separate; border-spacing: 0; }
.tree-viewport table tr td { padding: 10px 12px; font-size: 13px; color: #374151; border-bottom: 1px solid #eef2f7; }
.tree-viewport table tr:hover td { background: #f9fafb; }
.tree-viewport table tr td:first-child { width: 36%; }
.tree-viewport table tr td:last-child { white-space: nowrap; color: #6b7280; }
.tree-viewport .badge { display: inline-block; padding: 2px 6px; border-radius: 9999px; font-size: 12px; line-height: 1; }
.tree-viewport .badge-blue { background: #e0e7ff; color: #3730a3; }
.tree-viewport .badge-gray { background: #e5e7eb; color: #374151; }
.tree-viewport .muted { color: #6b7280; }

/* Tree expander (+/-) */
.tree-expander { display: inline-flex; align-items: center; justify-content: center; width: 18px; height: 18px; border: 1px solid #cfd6e6; border-radius: 4px; font-weight: 700; font-size: 12px; color: #374151; background: #ffffff; cursor: pointer; user-select: none; margin-right: 6px; }
.tree-expander:hover { background: #f3f4f6; }

/* 상품분류 영역 스타일 */
/* 1. 선택박스 라운드 스타일 */
td[class="verti"] select,
td[class="verti"] select[name="gcate_new"],
td[class="verti"] select.pub-input--rounded {
    border-radius: 6px !important;
    border: 1px solid #c7ced6 !important;
    padding: 6px 10px !important;
}

/* 3. 텍스트박스(select[name="gcate_list"]) 높이 2배로 확장 */
select.select-category-list,
select[name="gcate_list"] {
    height: auto !important;
    min-height: 200px !important;
}
select.select-category-list[size="5"],
select[name="gcate_list"][size="5"] {
    min-height: 200px !important;
}

/* 버튼 크기 2/3로 조정 (원래 크기 기준: padding 10px 16px, font-size 13px) */
/* btn-category와 함께 사용될 때도 우선순위 확보를 위해 더 구체적인 선택자 사용 */
.myoffice-dashboard button.btn-modern.btn-category.btn-two-thirds,
.myoffice-dashboard button.btn-modern.btn-primary.btn-category.btn-two-thirds,
.myoffice-dashboard button.btn-modern.btn-secondary.btn-category.btn-two-thirds,
.myoffice-dashboard .btn-two-thirds.btn-modern.btn-category,
.myoffice-dashboard .btn-two-thirds.btn-modern.btn-primary,
.myoffice-dashboard .btn-two-thirds.btn-modern.btn-secondary,
.myoffice-dashboard .btn-two-thirds,
.myoffice-dashboard .btn-two-thirds.btn-modern,
.myoffice-dashboard .btn-two-thirds.btn-primary,
.myoffice-dashboard .btn-two-thirds.btn-secondary,
.myoffice-dashboard button.btn-two-thirds,
.myoffice-dashboard a.btn-two-thirds,
.myoffice-dashboard a.supply-btn--select.btn-two-thirds,
button.btn-modern.btn-category.btn-two-thirds,
button.btn-modern.btn-primary.btn-category.btn-two-thirds,
button.btn-modern.btn-secondary.btn-category.btn-two-thirds,
.btn-two-thirds.btn-modern.btn-category,
.btn-two-thirds.btn-modern.btn-primary,
.btn-two-thirds.btn-modern.btn-secondary,
.btn-two-thirds,
.btn-two-thirds.btn-modern,
.btn-two-thirds.btn-primary,
.btn-two-thirds.btn-secondary,
button.btn-two-thirds,
a.btn-two-thirds,
a.supply-btn--select.btn-two-thirds {
    padding: 6.67px 10.67px !important;
    font-size: 9px !important;
    min-width: auto !important;
    line-height: 1.2 !important;
    color: #ffffff !important;
    box-sizing: border-box !important;
}

/* 진열상태 영역 버튼 크기 1.2배 (btn-two-thirds 기준: padding 6.67px 10.67px -> 8px 12.8px, font-size 9px -> 10.8px) */
.search-card input.btn-modern.btn-secondary.btn-two-thirds,
.search-card input[type="button"].btn-modern.btn-secondary.btn-two-thirds,
table[bgcolor='cfd6e6'] input.btn-modern.btn-secondary.btn-two-thirds,
table[bgcolor='cfd6e6'] input[type="button"].btn-modern.btn-secondary.btn-two-thirds {
    padding: 8px 12.8px !important;
    font-size: 10.8px !important;
    min-width: auto !important;
    line-height: 1.2 !important;
    color: #ffffff !important;
    box-sizing: border-box !important;
}

/* btn-category 기본 스타일 (절반 크기) - btn-two-thirds가 없을 때만 적용 */
.btn-category:not(.btn-two-thirds) {
    padding: 5px 8px !important;
    font-size: 11px !important;
    min-width: auto !important;
    height: auto !important;
    line-height: 1.2 !important;
}

/* 공급업체 선택 버튼 스타일 (파란색) */
.supply-btn--select,
a.supply-btn--select {
    display: inline-block !important;
    background: linear-gradient(135deg, #007bff 0%, #0056b3 100%) !important;
    color: #ffffff !important;
    text-decoration: none !important;
    border-radius: 6px !important;
    font-weight: 600 !important;
    border: 1px solid #007bff !important;
    transition: all 0.2s ease-in-out !important;
    cursor: pointer !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important;
}

/* 판매자 입력박스 옆 선택 버튼 숨김 */
input[name="user_id"] + td .supply-btn--select,
input[name="user_id"] + td a.supply-btn--select,
td:has(input[name="user_id"]) + td .supply-btn--select,
td:has(input[name="user_id"]) + td a.supply-btn--select {
    display: none !important;
    visibility: hidden !important;
}
.supply-btn--select {
    white-space: nowrap !important;
    text-align: center !important;
    font-family: 'Malgun Gothic', '맑은 고딕', sans-serif !important;
}
.supply-btn--select:hover,
a.supply-btn--select:hover {
    background: linear-gradient(135deg, #0056b3 0%, #004085 100%) !important;
    border-color: #004085 !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 2px 8px rgba(0, 123, 255, 0.3) !important;
    color: #ffffff !important;
    text-decoration: none !important;
}

/* 무제한 버튼 모던 스타일 (기존 이미지 크기와 동일하게) */
.btn-unlimited,
a.btn-unlimited {
    display: inline-block !important;
    background: linear-gradient(135deg, #6c757d 0%, #5a6268 100%) !important;
    color: #ffffff !important;
    text-decoration: none !important;
    border-radius: 4px !important;
    font-weight: 500 !important;
    border: 1px solid #5a6268 !important;
    transition: all 0.2s ease-in-out !important;
    cursor: pointer !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1) !important;
    white-space: nowrap !important;
    text-align: center !important;
    font-family: 'Malgun Gothic', '맑은 고딕', sans-serif !important;
    padding: 2px 8px !important;
    font-size: 11px !important;
    line-height: 1.4 !important;
    vertical-align: middle !important;
}
.btn-unlimited:hover,
a.btn-unlimited:hover {
    background: linear-gradient(135deg, #5a6268 0%, #495057 100%) !important;
    border-color: #495057 !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15) !important;
    color: #ffffff !important;
    text-decoration: none !important;
}

/* 상품 필수정보 영역 항목 셀 입력박스 너비 조정 */
table.ui_horiz td[bgcolor='f9f9f9'] {
    width: auto !important;
    min-width: 250px !important;
    max-width: 520px !important;
}
table.ui_horiz td[bgcolor='f9f9f9'] input[type="text"] {
    width: 100% !important;
    max-width: 100% !important;
}
table.ui_horiz td:not([bgcolor='f9f9f9']) input[type="text"] {
    width: 100% !important;
    max-width: 100% !important;
}
/* 상품 필수정보 영역 셀 높이 자동 조정 */
table.ui_horiz tr[id^="content_"] {
    height: auto !important;
}
table.ui_horiz tr[id^="content_"] td {
    padding: 8px 5px !important;
    height: auto !important;
}
/* X 버튼 모던 스타일 */
.btn-delete-item {
    background: linear-gradient(135deg, #dc3545 0%, #c82333 100%) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 4px !important;
    font-weight: 600 !important;
    font-size: 18px !important;
    line-height: 1 !important;
    cursor: pointer !important;
    transition: all 0.2s ease-in-out !important;
    box-shadow: 0 1px 3px rgba(220, 53, 69, 0.3) !important;
    width: 28px !important;
    height: 28px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    vertical-align: middle !important;
}
.btn-delete-item:hover {
    background: linear-gradient(135deg, #c82333 0%, #bd2130 100%) !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 2px 6px rgba(220, 53, 69, 0.4) !important;
}
.btn-delete-item:active {
    transform: translateY(0) !important;
    box-shadow: 0 1px 2px rgba(220, 53, 69, 0.3) !important;
}

/* 상담상품 설정 영역 입력박스 라운드 스타일 */
.consulting input[type="text"],
.consulting input.input_ot,
.consulting input.ed {
    border-radius: 6px !important;
    border: 1px solid #c7ced6 !important;
    padding: 6px 10px !important;
}

