/* GIFLOW PC 화면(업무지원팀·관리자). 이 파일은 넓은 화면(1100px 이상)에서만 불러 쓰고(link의 media), body 에 pc 가 붙은
   관리 화면(/admin/…, 신청 처리 상세)에서만 적용된다. 영업자 화면과 휴대폰 화면은 app.css 그대로다.
   색·글꼴은 app.css 의 것(남색·청록·프리텐다드)을 그대로 쓰고, 여기서는 폭·표·상태 색·간격만 다룬다.
   버튼·메뉴 이름, form 이름, 주소, 권한은 건드리지 않는다. 인라인 스크립트·외부 글꼴·외부 이미지 없음. */

body.pc { font-size: 15px; line-height: 1.5; }
body.pc .top { padding-bottom: 54px; }
body.pc .top-bar, body.pc .top-title { max-width: min(1760px, calc(100vw - 48px)); padding-left: 0; padding-right: 0; }
body.pc .top-title h1 { font-size: 23px; }
body.pc .top-title h1::after { margin-top: 9px; height: 4px; }
body.pc main { max-width: min(1760px, calc(100vw - 48px)); padding: 0 0 64px; margin-top: -38px; }
body.pc nav { flex-basis: auto; margin-top: 0; }
body.pc nav a { flex: 0 0 auto; min-width: 104px; min-height: 36px; font-size: 14px; }
body.pc .subnav { margin-bottom: 14px; gap: 5px; }
body.pc .subnav a { min-height: 34px; padding: 0 13px; font-size: 13px; }

/* 폼·안내 상자는 너무 넓게 퍼지지 않게 */
body.pc main > form.card, body.pc main > .card.stack, body.pc main > .card.narrow { max-width: 1040px; }
body.pc .notice { max-width: 1040px; }
body.pc .card { padding: 16px 20px; border-radius: 12px; }
body.pc .card.slim { max-width: 960px; }
body.pc .grid { grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); }
body.pc input, body.pc select, body.pc textarea { font-size: 15px; }
body.pc button { min-height: 38px; }
body.pc h2 { margin: 22px 0 10px; font-size: 16px; }

/* ── 표: 옆으로 밀리지 않게 넓게 쓰고, 머리글은 고정한다 ── */
body.pc .scroll { overflow: visible; }
body.pc .scroll td { white-space: normal; }
body.pc .card.scroll { padding: 0; border-top-width: 3px; }
body.pc table { font-size: 14px; }
body.pc table.contracts { min-width: 0; }
body.pc table.contracts th { position: sticky; top: 0; z-index: 3; padding: 9px 10px; background: #E7EFF7;
  box-shadow: 0 1px 0 #C3D2E2; white-space: normal; line-height: 1.3; }
body.pc table.contracts td { padding: 7px 10px; line-height: 1.4; }
body.pc table.contracts tbody tr:nth-child(even) td { background-color: #FAFCFE; }
body.pc table.contracts tbody tr:hover td { background-color: #EEF5FB; }
body.pc table.contracts td small { display: block; margin-top: 2px; min-width: 0; font-size: 12px; font-weight: 400; color: var(--sub); }
body.pc table.contracts .pick-cell { width: 36px; padding-left: 8px; padding-right: 4px; }

/* ── 상태 색: 글자 + 왼쪽 띠 + 옅은 바탕(색만으로 구분하지 않는다) ── */
body.pc table.contracts td.st { font-weight: 600; box-shadow: inset 3px 0 0 #9AA7B5; background-color: #F4F6F8; color: #4C5866; }
body.pc table.contracts td.st.pending { box-shadow: inset 3px 0 0 #9AA7B5; background-color: #F4F6F8; color: #4C5866; }   /* 확인 전 */
body.pc table.contracts td.st.done { box-shadow: inset 3px 0 0 #2E9E6B; background-color: #EEF9F3; color: #0E5A3A; }          /* 확인함·등록 완료 */
body.pc table.contracts td.st.none { box-shadow: inset 3px 0 0 #6F7DC4; background-color: #EFF1FB; color: #34408A; }          /* 일정표 미입력 */
body.pc table.contracts td.st.unsure { box-shadow: inset 3px 0 0 #D99A00; background-color: #FFF6DD; color: #6B4A00; }        /* 확인 필요 */
body.pc table.contracts td.st.failed { box-shadow: inset 3px 0 0 #B3261E; background-color: #FDECEA; color: var(--error); }    /* 실패 */
body.pc table.contracts td:empty { background-image: none; }

/* ── 계정 목록 ── */
body.pc .users summary { min-height: 40px; }

/* ── 신청 관리(applications.css 보다 뒤에 이겨야 하므로 body.pc 를 붙인다) ── */
body.pc .applications { max-width: none; }
body.pc .applications input, body.pc .applications select { min-height: 40px; font-size: 15px; }
body.pc .applications input[type=checkbox] { min-height: 22px; width: 22px; }
body.pc .applications button { min-height: 40px; }
body.pc .apply-links { margin-bottom: 14px; }
body.pc .apply-links a { padding: 8px 14px; border-radius: 9px; }
body.pc form.apply-grid { grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 10px 14px; }
body.pc .apply-table table { min-width: 0; }
body.pc .apply-table th { position: sticky; top: 0; z-index: 3; background: #E7EFF7; box-shadow: 0 1px 0 #C3D2E2; }
body.pc .apply-table td, body.pc .apply-table th { padding: 9px 12px; }
body.pc .apply-table { overflow: visible; }
body.pc .apply-item { padding: 12px 0; }
body.pc .apply-total { font-size: 22px; }

/* ── AI 설정·읽기 화면 ── */
body.pc .ai-review { gap: 18px; }

/* ── 다듬기(화면 확인 뒤): 조회 버튼이 늘어나지 않게, 내려받기 줄을 한 줄로, 올린 사람 고르기 폭 ── */
body.pc form.apply-grid button { align-self: end; min-height: 40px; }
body.pc .applications form[action*="/export."] { display: flex; flex-wrap: wrap; align-items: end; gap: 10px 12px; max-width: 760px; }
body.pc .applications form[action*="/export."] label { flex: 0 0 220px; }
body.pc .applications form[action*="/export."] p.hint { flex-basis: 100%; margin: 0; }
body.pc main > form:not(.card):not(:has(.scroll)) { max-width: 760px; }   /* 올린 사람 고르기 같은 짧은 줄만. 표를 담은 form은 넓게 */
