@charset "utf-8";

/* 전체게시물(new) 스킨 - site 051 전용.
   theme/vue-051/css/style.css의 .grid(1fr 312px 2단)/.col-main/.board-head/
   .board(table.list의 카드형 래퍼)/table.list(.num/.ttl/.author/.date/.hit)/
   .pager/.board-actions/.board-search/.btn(.btn-primary/.btn-ghost) 클래스를 그대로
   재사용한다. list.skin.php는 sidebar를 로그인폼+인기글+태그로 직접 구성하지만, 이건
   단일 게시판 전용 위젯 묶음이라 여러 게시판이 섞이는 전체게시물(관리자 화면)에는
   로그인폼이 맞지 않는다 - 대신 이 테마가 별도로 갖고 있는 gb_render_rail() 함수
   (인기글+바로가기 위젯만, 홈/다른 곳에서 쓰는 표준 사이드바)를 사용했다. name은 raw
   그대로 출력(strip_tags 금지, sv_wrap CSS-hide로 처리) - list.skin.php 자체는
   strip_tags를 쓰지만 그건 board.php 컨텍스트(팝업 마크업 없음)에서만 안전하다.

   [카드 overflow:hidden 클리핑 버그 - site028/037/048과 동일 패턴]
   .board가 모서리 둥글림(border-radius:var(--radius))을 위해 overflow:hidden을
   쓴다. table.list thead th는 var(--surface-alt) 배경이 별도로 있어 overflow를
   풀면 사각 모서리가 .board의 둥근 위쪽 모서리 밖으로 삐져나온다 -> thead 첫/마지막
   th에 위쪽 모서리만 복원. tbody 마지막 행은 hover 시에만 배경이 생기고(정적 배경
   없음, .board와 동일한 surface) 상태이므로 아래쪽 모서리는 별도 보정 불필요(확인
   완료). td.author(글쓴이 컬럼) 자체에는 overflow/ellipsis 속성이 없어 이중 클리핑은
   없다(단일 레이어). */

#fnewlist .board { overflow: visible; }
#fnewlist table.list thead tr:first-child th:first-child { border-top-left-radius: var(--radius); }
#fnewlist table.list thead tr:first-child th:last-child { border-top-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:40px;
  padding:0 12px;
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  background:var(--surface);
  color:var(--text);
  font-family:var(--font-body);
  font-size:.9rem;
}
.new-search select { background:var(--surface-alt); }
.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; }

/* 이 테마는 .chk_box를 비밀글 체크박스용으로, .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; cursor:auto; }
#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);
}
