@charset "utf-8";

/* 전체게시물(new) 스킨 - site 097 전용.
   theme/vue-097/css/style.css의 .layout/.section/.sec-head/table.board
   (thead/.col-no/.subj/.ribbon/.cmt/.col-meta)/.pager/.board-actions/
   .board-search/.btn(.btn-secondary) 클래스를 그대로 재사용한다. 관리자
   체크박스 컬럼(.col-chk)을 번호 앞에 추가했다(thead th 대응 추가, colspan
   계산 반영). 그룹/게시판을 기존 .ribbon(뱃지) 자리에 합쳐 넣었다. name은
   raw 그대로 출력(strip_tags 금지, sv_wrap CSS-hide로 처리) - list.skin.php
   자체는 name에 htmlspecialchars를 쓰지만 그건 board.php 컨텍스트(팝업 마크업
   없음)에서만 안전하다.

   [rail 없음 - 의도된 것, site087과 동일 패턴] gb_render_rail() 함수 자체는
   gb_webzine.php에 정의돼 있지만 list.skin.php가 실제로는 호출하지 않고
   정적 레일(검색+분류색인+안내문)을 직접 마크업으로 쓴다. new.php도 이 관례를
   그대로 따라 정적 레일을 복제했다(인기글 위젯 없음).

   [테이블 래퍼 overflow:hidden 클리핑 버그 - site048/051/058/067/070/073/079/
   080/081/082/084/087/088/090/091/092/094/095와 동일 패턴, 이번엔 table.board
   자체에 직접 걸림] table.board가 모서리 둥글림(border-radius:var(--radius))을
   위해 overflow:hidden을 쓴다. border-collapse:collapse 테이블이라 overflow만
   풀면 사각 모서리가 드러나므로, site033에서 확립된 표준 우회기법으로 모서리를
   복원했다: 첫 행 첫/끝 th에 top-left/top-right, 마지막 행 첫/끝 td에
   bottom-left/bottom-right radius를 각각 되살렸다. .col-meta에는 overflow/
   ellipsis가 없다(이중 클리핑 없음). */

#fnewlist table.board { overflow: visible; }
#fnewlist table.board thead tr:first-child th:first-child { border-top-left-radius: var(--radius); }
#fnewlist table.board thead tr:first-child th:last-child { border-top-right-radius: var(--radius); }
#fnewlist table.board tbody tr:last-child td:first-child { border-bottom-left-radius: var(--radius); }
#fnewlist table.board tbody tr:last-child td:last-child { border-bottom-right-radius: var(--radius); }

.new-actions { margin:16px 0; }
.new-search { border:none; margin:0; padding:0; display:flex; flex-wrap:wrap; align-items:center; gap:8px; width:100%; }
.new-search legend { position:absolute; margin:0; padding:0; font-size:0; line-height:0; text-indent:-9999em; overflow:hidden; }
.new-search form { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.new-search select,
.new-search input[type="text"] {
  height:38px;
  padding:0 12px;
  border:1px solid var(--border);
  border-radius:var(--radius);
  background:var(--surface);
  color:var(--text);
  font-family:var(--font-body);
  font-size:.88rem;
}
.new-search select { background:var(--surface-alt); cursor:pointer; }
.new-search input[type="text"] { min-width:180px; }
.new-search select:focus,
.new-search input:focus { outline:none; border-color:var(--accent); }
.new-search-hint { flex:1 1 100%; margin:8px 0 0; font-family:var(--font-mono); font-size:.76rem; color:var(--muted); }

.admin_new_btn { display:flex; align-items:center; justify-content:flex-end; gap:16px; margin:14px 0; }
.new-allchk { margin-right:auto; }
.col-chk { width:36px; text-align:center; }

/* 이 테마는 .selec_chk에 accent-color(네이티브 체크박스 그대로 표시)를 전역으로
   이미 정의해뒀다. 그 규칙과 충돌하지 않도록 전체게시물 폼(#fnewlist) 안에서만
   그누보드 관리자 표준 체크박스 패턴(hidden input + label span 커스텀 박스)으로
   재정의한다. */
#fnewlist .selec_chk { position:absolute; top:0; left:0; width:0; height:0; opacity:0; outline:0; z-index:-1; overflow:hidden; }
#fnewlist .chk_box { position:relative; display:inline-flex; align-items:center; justify-content:center; font-size:inherit; color:inherit; }
#fnewlist .chk_box label { display:inline-flex; }
#fnewlist .chk_box input[type="checkbox"] + label { position:relative; padding-left:22px; color:var(--muted); cursor:pointer; font-size:.78rem; }
#fnewlist .chk_box input[type="checkbox"] + label:hover { color:var(--accent-dark); }
#fnewlist .chk_box input[type="checkbox"] + label span {
  position:absolute; top:1px; left:0; width:15px; height:15px; display:block;
  margin:0; background:var(--surface); border:1px solid var(--border); border-radius:3px;
}
#fnewlist .chk_box input[type="checkbox"]:checked + label { color:var(--text); }
#fnewlist .chk_box input[type="checkbox"]:checked + label span {
  background:var(--accent) url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M3 8.5l3 3 7-7" fill="none" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>') no-repeat 50% 50%;
  border-color:var(--accent-dark);
}
