@charset "utf-8";
/* ============================================================
   master 게시판/테이블 (2026 리뉴얼)
   - 클래스명/구조 보존, 톤·간격·라운드만 현대화
   ============================================================ */

/* ---------- board 상단정보 ---------- */
dd.board, dd.board2{ margin:0; padding:0; }
dd.board p.info, dd.board p.info3,
dd.board2 p.info{ display:block; float:left; padding-top:8px; margin:0; }
/* 총건수 + 행갯수 select: 한 줄 flex (오른쪽 정렬, 세로 중앙, 간격 0.5rem, 아래 여백 0.5rem) */
dd.board p.info2,
dd.board2 p.info2{ display:flex; align-items:center; justify-content:flex-end; gap:1rem;
  margin-bottom:1rem; font-size:13px; color:var(--m-text-sub); }
dd.board p.info2 span,
dd.board2 p.info2 span{ display:inline-flex; align-items:center; }
dd.board p.info2 strong{ color:var(--m-primary); }

/* 상단 검색(좌/우) */
p.srch, p.searchLeft, p.searchRight, p.searchLeft2{ display:block; padding-bottom:8px; }
p.srch, p.searchLeft, p.searchRight{ float:right; }
p.searchLeft2{ float:left; }
p.srch span.list, p.searchLeft span.list{ display:block; float:left; padding:8px 5px 0 0; }
p.srch span.btn, p.searchLeft span.btn{ display:block; float:left; padding-top:8px; }
p.srch label, p.searchLeft label{ font-weight:700; }

/* 상하 버튼 영역 */
dd.board .btn_top{ display:block; padding-bottom:10px; }
dd.board .btn_bottom{ display:block; clear:both; padding-top:14px; }

.textarea_eple{ overflow:hidden; overflow-y:auto; border-collapse:collapse;
  word-break:break-all; white-space:pre-wrap; vertical-align:top; }

/* ============================================================
   목록 테이블 (board_list / board_select)
   ============================================================ */
.board_list, .board_select{ clear:both; width:100%; margin-bottom:18px; word-break:break-all;
  border-top:2px solid var(--m-nav); }
/* thead: user notice-table 톤 (연한 청회색 헤더) */
.board_list th, .board_select th{ height:44px; text-align:center; font-weight:700; white-space:nowrap;
  color:#6d89a1; background:#e6edf3; border-bottom:1px solid #bfbfbf; }
.board_list td, .board_select td{ padding:11px 8px; text-align:center; color:var(--m-text);
  border-bottom:1px solid var(--m-border-soft); }
.board_list td.side, .board_select td.side{ padding-left:15px; text-align:left; font-weight:700;
  background:#f8fafc; color:var(--m-text-sub); }
.board_list td.side span, .board_select td.side span{ font-size:12px; font-weight:normal; color:var(--m-text-mute); }
.board_list td.align_l, .board_select td.align_l{ text-align:left; padding-left:12px; }
.board_list td.align_r, .board_select td.align_r{ text-align:right; padding-right:12px; }
.board_list td img, .board_select td img{ vertical-align:middle; }
.board_list td input, .board_select td input{ height:32px; border:1px solid var(--m-border);
  border-radius:var(--m-radius); color:var(--m-text); padding:0 8px; vertical-align:middle; }
.board_list td input.radio, .board_select td input.radio{ height:auto; border:none; margin:0; padding:0; }
.board_list .last_line, .board_select .last_line{ border-bottom:1px solid var(--m-border); }
.board_list tfoot td, .board_select tfoot td{ color:var(--m-primary); background:#fafcff; font-weight:700; }
.board_list td a, .board_select td a{ font-weight:600; }
.board_list tbody tr:hover,
.board_select tbody tr:hover{ background:#f5f9ff; cursor:pointer; }
/* 주소 등 긴 텍스트 컬럼: 폭 넘으면 한 줄 … 줄임 */
.board_list td.ellipsis{ max-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

/* ============================================================
   상세 보기 (board_view)
   ============================================================ */
.board_view{ width:100%; margin-bottom:18px; border-top:2px solid var(--m-nav); }
.board_view th{ padding:0 15px; height:46px; min-width:100px; white-space:nowrap; font-weight:700; color:var(--m-text-sub);
  background:#f8fafc; border-bottom:1px solid var(--m-border-soft); }
.board_view td{ padding:11px 12px; color:var(--m-text); border-bottom:1px solid var(--m-border-soft); }
.board_view td.info{ font-size:12px; color:var(--m-text-mute); }
.board_view td.info span.reg, .board_view td.info span.closing{ padding-right:18px; }
.board_view td.txt{ padding:24px 16px; line-height:1.8; }
.board_view td.file{ font-size:12px; }
.board_view td.file a{ padding-left:5px; color:var(--m-primary); }
.board_view .last_line{ border-bottom:1px solid var(--m-border); }

/* ============================================================
   입력/수정 폼 (board_write)
   ============================================================ */
.board_write{ width:100%; border:1px solid var(--m-border-soft); border-top:2px solid var(--m-nav);
  margin-bottom:18px; border-collapse:collapse; }
.board_write .last_line{ border-bottom:1px solid var(--m-border) !important; }
.board_write th{ padding:12px 15px; min-width:110px; white-space:nowrap; background:#f8fafc;
  border-bottom:1px solid var(--m-border-soft); border-right:1px solid var(--m-border-soft);
  font-weight:700; color:var(--m-text-sub); text-align:left; }
.board_write td{ padding:10px 12px; border-bottom:1px solid var(--m-border-soft);
  border-right:1px solid var(--m-border-soft); color:var(--m-text); }
.board_write td p{ display:block; padding:3px 0; }
.board_write td input{ height:34px; border:1px solid var(--m-border); border-radius:var(--m-radius);
  color:var(--m-text); padding:0 10px; vertical-align:middle; }
.board_write td input.check, .board_write td input.radio{ height:auto; border:none; margin:0; padding:0; vertical-align:middle; }
.board_write td label{ margin-right:13px; color:var(--m-text); }
.board_write td label.error{ color:#e02323; }
.board_write td textarea.type1{ width:100%; max-width:580px; height:150px; padding:8px; font-size:13px; }
.board_write td textarea.type2{ width:100%; max-width:620px; height:280px; padding:8px; font-size:13px; }
.board_write td span{ padding-left:5px; font-size:12px; color:var(--m-text-mute); }
/* 데이터 표시 span(전화/날짜/휴대폰)은 일반 본문과 동일하게 */
.board_write td span.fmt-tel, .board_write td span.fmt-date,
.fmt-tel, .fmt-date, #expertMobileDisplay{ padding-left:0; font-size:14px; color:var(--m-text); }
.board_write td span.c_red{ padding-left:0; font-size:13px; color:#e02323; }
.board_write td span.txt_down a{ text-decoration:underline; color:var(--m-primary); }
.board_write td img{ vertical-align:middle; }
.board_write td.txt{ padding:12px; }

/* 좌/우 셀 구분선 (line_right / line_left) */
.board_write td.line_right, .board_write th.line_right,
td.line_right, th.line_right{ border-right:1px solid var(--m-border-soft); }
.board_write td.line_left, .board_write th.line_left,
td.line_left, th.line_left{ border-left:1px solid var(--m-border-soft); }

/* ============================================================
   평가/점수 테이블 (board_rating)
   ============================================================ */
.board_rating{ border:1px solid var(--m-border); margin-bottom:18px; word-break:break-all; }
.board_rating .last_line{ border-bottom:1px solid var(--m-border) !important; }
.board_rating tbody{ border-top:1px solid var(--m-border-soft); }
.board_rating th{ height:auto; padding:10px 6px; background:#f1f5fa; text-align:center; font-weight:700;
  color:var(--m-text-sub); border-bottom:1px solid var(--m-border-soft); border-right:1px solid var(--m-border-soft); }
.board_rating td{ padding:9px 6px; font-size:13px; vertical-align:middle; text-align:center; color:var(--m-text);
  border-bottom:1px solid var(--m-border-soft); border-right:1px solid var(--m-border-soft); }
.board_rating td input{ font-weight:700; font-size:16px; width:100%; height:38px; border:1px solid var(--m-border);
  border-radius:var(--m-radius); color:var(--m-text); text-align:center; vertical-align:middle; }
.board_rating tr.error td{ color:#e02323 !important; text-decoration:underline !important; }
.board_rating tr.error td input{ color:#e02323 !important; }
.board_rating td.sum{ background:#fff1ec; }

/* ============================================================
   페이지네이션 (paginate / pages)
   ============================================================ */
/* user pagination_wrap 톤: 가운데 flex, 현재페이지 파란 원, 숫자 원형/이전다음 pill */
.paginate{ padding:18px 0; display:flex; align-items:center; justify-content:center; gap:0.4rem; }
.paginate a, .paginate strong,
.paginate a.pre, .paginate a.next, .paginate a.first, .paginate a.last{
  display:inline-flex; align-items:center; justify-content:center; min-width:2rem; height:2rem;
  margin:0; padding:0 0.6rem; border:none; border-radius:999px; color:var(--m-text-sub);
  font-size:14px; font-weight:600; line-height:1; text-decoration:none; background:transparent; }
.paginate strong{ color:#fff; background:var(--m-primary) !important; }
.paginate a:hover{ color:var(--m-primary); background:#eef5ff !important; }
.paginate a.none, .paginate a.none:hover{ color:#c0c0c0; background:transparent !important; cursor:default; }

.pages{ display:block; margin-top:24px; text-align:center; }
.pages span.current, .pages strong{ color:var(--m-primary); }
.pages span.disabled{ color:var(--m-text-mute); }
.pages ol *{ display:inline; }
.pages a, .pages strong{ display:inline-block; font-size:13px; padding:0 7px; font-weight:700; color:var(--m-text-sub); }
.pages a img{ vertical-align:middle; }

/* ============================================================
   게시판 페이지 (board-page): user 톤 — 콘텐츠 카드 테두리/그림자 제거 + 제목 가운데
   ============================================================ */
/* #rightZone 붙여 특이도 확보 (#rightZone .right 규칙 이기려면 ID 필요) */
#rightZone .right.board-page{ border:none; box-shadow:none; background:transparent; }
/* 제목: "게시판" 상위라벨 제거하고 게시판명(h2)만 가운데, 밑줄 없음 */
/* [조정] margin-top: 제목을 좌측 메뉴 헤더 높이쯤으로 내림. 값 키우면 더 아래로 */
#rightZone .right.board-page dd.tit{ border-bottom:none; text-align:center;
  padding-bottom:0; margin-top:1.25rem; margin-bottom:1.5rem; }
#rightZone .right.board-page dd.tit h2{ font-size:1.75rem; }

/* 섹션 제목(h4): 제목처럼 강조(굵게 + 좌측 파란 바) + 위 간격 확대 */
#rightZone .right.board-page h4{ position:relative; margin:2.5rem 0 0.9rem; padding-left:0.9rem;
  font-size:1.15rem; font-weight:700; color:var(--m-text); line-height:1.4; }
#rightZone .right.board-page h4:before{ content:''; position:absolute; left:0; top:50%;
  transform:translateY(-50%); width:4px; height:1.1rem; background:var(--m-nav); border-radius:2px; }
/* 첫 섹션 제목은 위 간격 줄임(제목 바로 아래) */
#rightZone .right.board-page dd.board:first-of-type h4{ margin-top:0.5rem; }

/* 목록 상단 툴바: 검색(좌) + 총건수·행수(우) 한 줄, 그 아래 바로 테이블 */
#rightZone .right .list-toolbar{ display:flex; align-items:center; justify-content:space-between;
  gap:1rem; flex-wrap:wrap; margin:0 0 1rem; }
#rightZone .right .list-toolbar .list-search{ display:flex; align-items:center; gap:0.5rem; }
#rightZone .right .list-toolbar p.info2{ margin:0; }
/* 툴바 다음 테이블 상단 여백 제거(제목·테이블 붙이기) */
#rightZone .right .list-toolbar + .board_list{ margin-top:0; }
/* 게시판/업무관리 목록·상세 테이블: 상단 파란선(#2383c8) 제거 (user 톤 통일) */
#rightZone .right.board-page .board_list{ border-top:none; }

/* board-page 정보표(board_write): user examination-table 톤
   - 격자선 제거 → 행 구분선(#D9D9D9)만
   - 라벨(th) 연한 헤더색(#F6FBFF) + 청회색 글자, 간격 확대 */
/* 정보표 최상단 구분선 (행 사이 선과 동일한 회색) — 표 시작 명확히 */
#rightZone .right.board-page .board_write{ border:none; border-top:1px solid #D9D9D9; }
#rightZone .right.board-page .board_write th,
#rightZone .right.board-page .board_write td{
  padding:1rem 1.5rem; border-right:none; border-left:none;
  border-bottom:1px solid #D9D9D9; vertical-align:middle; }
/* 라벨(tbody th): 목록표 헤더(#e6edf3)와 동일 배경 → 표 전체 톤 통일 */
#rightZone .right.board-page .board_write th{ background:#e6edf3; color:#6d89a1; font-weight:600; }
/* 섹션 제목 + 우측 버튼 한 줄 (좌/우 정렬) */
#rightZone .right.board-page .section-head{ display:flex; align-items:center; justify-content:space-between;
  margin-top:2.5rem; }
#rightZone .right.board-page .section-head h4{ margin:0; }
#rightZone .right.board-page .section-head p{ margin:0; }
/* 상단 안내행(thead th): 연한 파랑 헤더 (user examination thead 동일) */
#rightZone .right.board-page .board_write thead th{ background:#F6FBFF; color:#7692AB; font-weight:500;
  text-align:left; padding:0.75rem 1.5rem; border-bottom:1px solid #999; }
/* 정보표 하단 버튼: 파란색 + 가운데 (user 동일) */
#rightZone .right.board-page dd.board-btns-center{ margin-top:1.75rem; text-align:center; }
#rightZone .right.board-page dd.board-btns-center .btn{ min-width:120px; padding:0.7rem 1.5rem; font-weight:700; }

/* ---------- 게시판 상세 카드 (user notice-detail 톤) ---------- */
#rightZone .right.board-page .board-detail{ margin-top:1rem; }
.board-detail .board-detail-header{ display:flex; align-items:baseline; justify-content:space-between;
  gap:1rem; padding:1rem 1.5rem; background:#F6FBFF; border-bottom:1px solid #bfbfbf; }
.board-detail .board-detail-header h4{ font-size:1.25rem; font-weight:600; color:var(--m-text); line-height:1.5; }
.board-detail .board-detail-meta{ display:flex; align-items:center; gap:1.5rem;
  color:#7692AB; font-size:0.9rem; white-space:nowrap; }
.board-detail .board-detail-file{ padding:0.75rem 1.5rem; text-align:left; border-bottom:1px solid var(--m-border-soft); }
.board-detail .board-detail-file a{ text-decoration:underline; color:#0E74B8; }
.board-detail .board-detail-content{ padding:2rem 1.5rem; border-bottom:1px solid var(--m-border-soft);
  line-height:1.7; color:#555; word-break:break-all; }
.board-detail .board-detail-content p{ margin-bottom:1.5rem; }
.board-detail .board-detail-content img{ max-width:80%; height:auto; display:block; margin:0 auto 1.5rem; }
.board-detail-empty{ padding:2rem; text-align:center; color:var(--m-text-mute); border-top:1px solid #bfbfbf; }
/* 목록 버튼: 우측 정렬 */
#rightZone .right.board-page dd.board-detail-btns{ margin-top:1.75rem; text-align:right; }
