/* =====================================================================
   박·형압 금박생산계획 전용 스타일
   (공통 부분은 style.css = BIJU_PAPER_ORDER 원본을 그대로 사용하고,
    이 화면에서 추가·변경되는 것만 여기에 둔다)
   ===================================================================== */
.topbar .brand-sub { font-size: 12px; font-weight: 600; color: var(--muted); margin-left: 4px; }
.demo-flag {
  font-size: 12px; font-weight: 700; color: var(--warn);
  background: #fef3c7; border: 1px solid #fde68a; border-radius: 999px; padding: 3px 10px;
}
.admin-toolbar select { padding: 7px 10px; border: 1px solid var(--line); border-radius: 8px; font-size: 13px; }
.filterbar input[type="search"] {
  padding: 7px 12px; border: 1px solid var(--line); border-radius: 8px; font-size: 13px; min-width: 240px;
}

/* --- 표 폭 / 고정열 ---
   왼쪽: 제품코드·생산코드·제품명 / 오른쪽: 저장·삭제
   (가로 스크롤을 해도 어느 행의 저장 버튼인지 항상 보이도록 양쪽을 고정한다) */
.table-scroll > table { min-width: 1906px; }
.bc-itemcd { left: 0;    width: 88px;  min-width: 88px;  max-width: 88px; white-space: nowrap; }
.bc-code   { left: 88px; width: 92px;  min-width: 92px;  max-width: 92px; white-space: nowrap; }
.bc-item   { left: 180px; width: 180px; min-width: 180px; max-width: 180px;
             white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bc-qty     { width: 76px;  min-width: 76px; }
.bc-spec    { width: 84px;  min-width: 84px;  white-space: nowrap; }
.bc-date    { width: 104px; min-width: 104px; white-space: nowrap; }
.bc-indt    { width: 118px; min-width: 118px; }
.bc-in      { width: 110px; min-width: 110px; }
.bc-in-sm    { width: 74px;  min-width: 74px; }
.bc-in-multi { width: 104px; min-width: 104px; }   /* 기종·실린더: 4,1,5 처럼 여러 개 */
.bc-content { width: 150px; min-width: 150px;
              white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bc-equip   { width: 122px; min-width: 122px; white-space: nowrap; }
.bc-state   { width: 88px;  min-width: 88px;  white-space: nowrap; }
.bc-remark  { width: 92px;  min-width: 92px;  white-space: nowrap; }
.bc-save    { right: 92px; width: 96px;  min-width: 96px;  white-space: nowrap; }
.bc-del     { right: 0;    width: 92px;  min-width: 92px;  white-space: nowrap; }

/* 오른쪽 고정열(저장·삭제) */
.table-scroll td.stick-r,
.table-scroll th.stick-r { position: sticky; z-index: 1; background: #fff; }
.table-scroll thead th.stick-r { z-index: 4; background: #f8fafc; }
.table-scroll tbody tr:hover td.stick-r { background: #fafcff; }
.table-scroll tbody tr.rs td.stick-r { background: var(--rs-bg, #fff); }
.table-scroll tbody tr.rs:hover td.stick-r { background: var(--rs-bgh, #fafcff); }
/* 고정 영역 시작 열: 스크롤되는 열과 경계선 표시 */
.first-stick-r { box-shadow: -2px 0 0 rgba(15, 23, 42, .08); border-left: 1px solid var(--line); }
.bc-save .btn, .bc-del .btn { margin: 0; width: 100%; }
.table-scroll tbody td { padding: 7px 10px; }
.table-scroll thead th { padding: 9px 10px; line-height: 1.25; }

/* --- 기존 엑셀 화면과 같은 헤더 색 --- */
/* 입력 항목 = 주황, 생산기종/생산실린더 = 초록, 납기일 = 분홍 */
thead th.th-in   { background: #fde9d0; color: #92400e; }
thead th.th-prod { background: #dcfce7; color: #166534; }
thead th.th-due  { background: #fce7f3; color: #9d174d; }
td.td-prod { background: #f6fef9; }
.due-cell { background: #fdf2f8; font-weight: 600; }
.due-cell.today { color: var(--danger); }
.due-cell.over  { color: var(--danger); font-weight: 800; }

/* 행 배경(rs)보다 컬럼 고유 색(납기일 분홍 / 생산기종·실린더 초록)이 우선 */
.table-scroll tbody tr.rs td.due-cell,
.table-scroll tbody tr.rs:hover td.due-cell { background: #fdf2f8; }
.table-scroll tbody tr.rs td.td-prod,
.table-scroll tbody tr.rs:hover td.td-prod { background: #f6fef9; }

/* --- 계획 입력칸 --- */
input.pi {
  width: 100%; box-sizing: border-box; padding: 5px 7px; font-size: 13px;
  border: 1px solid #e5e7eb; border-radius: 6px; background: #fffdf7; color: var(--text);
}
input.pi:focus { outline: none; border-color: var(--warn); box-shadow: 0 0 0 3px rgba(217,119,6,.14); background: #fff; }
input.pi.pi-sm { text-align: center; }
input.pi.pi-date { padding: 4px 6px; font-size: 12px; font-family: "Consolas", ui-monospace, monospace; }
td.td-prod input.pi { background: #f3fdf7; }
td.td-prod input.pi:focus { border-color: var(--ok); box-shadow: 0 0 0 3px rgba(5,150,105,.14); }

/* --- 1~9 선택 항목(기종·실린더·생산기종·생산실린더) --- */
button.pi.pick {
  width: 100%; padding: 5px 6px; font-size: 13px; font-weight: 700; text-align: center;
  border: 1px solid #e5e7eb; border-radius: 6px; background: #fffdf7; color: var(--text);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
button.pi.pick:hover { border-color: var(--warn); background: #fff; }
button.pi.pick.empty { color: #b9c0cb; font-weight: 500; }
button.pi.pick.dirty { border-color: var(--warn); background: #fff7e6; box-shadow: inset 0 0 0 1px rgba(217,119,6,.25); }
button.pi.pick.missing { border-color: var(--danger); background: #fff1f1; box-shadow: inset 0 0 0 1px rgba(220,38,38,.3); }
td.td-prod button.pi.pick { background: #f3fdf7; }
td.td-prod button.pi.pick:hover { border-color: var(--ok); }

.picker {
  position: fixed; z-index: 60; width: 132px; padding: 6px;
  background: #fff; border: 1px solid var(--line); border-radius: 10px;
  box-shadow: 0 8px 24px rgba(15,23,42,.16);
}
.picker .pk-head {
  font-size: 11px; font-weight: 700; color: var(--muted); text-align: center;
  padding: 2px 0 6px; border-bottom: 1px solid var(--line); margin-bottom: 6px;
}
.picker .pk-head span { display: block; font-weight: 600; color: var(--warn); font-size: 10px; margin-top: 2px; }
.picker .pk-list { display: flex; flex-direction: column; gap: 3px; }   /* 세로 1~9 */
.picker .pk-item {
  display: flex; align-items: center; gap: 6px;
  padding: 6px 8px; font-size: 13px; font-weight: 700; text-align: left;
  border: 1px solid var(--line); border-radius: 6px; background: #fff; color: var(--text);
}
.picker .pk-item b { flex: 0 0 14px; text-align: center; font-size: 14px; }
.picker .pk-item .pk-nm { font-weight: 600; font-size: 12px; color: var(--muted); white-space: nowrap; }
.picker .pk-item.on .pk-nm { color: #dbeafe; }

/* 진행설비 셀: [번호] 설비명 — 번호(약칭)가 먼저, 잘 보이게 */
.eq-cell { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.eq-no {
  display: inline-flex; align-items: center; justify-content: center;
  width: 22px; height: 22px; border-radius: 6px;
  font-size: 13px; font-weight: 800; line-height: 1;
  background: var(--primary); color: #fff;
}
.eq-nm { font-size: 13px; font-weight: 700; color: var(--text); }
/* 작업 기록이 없어 '계획된 설비'만 아는 경우: 흐리게 + '예정' 꼬리표 */
.eq-plan .eq-no { background: #cbd5e1; color: #fff; }
.eq-plan .eq-nm { font-weight: 500; color: var(--muted); }
.eq-tag {
  display: inline-block; margin-left: 5px; padding: 1px 5px; border-radius: 4px;
  background: #f1f5f9; color: var(--muted); font-size: 10px; font-weight: 700;
  border: 1px solid var(--line);
}
.picker .pk-item:hover { background: #eef2ff; border-color: #c7d2fe; }
.picker .pk-item.on { background: var(--primary); border-color: var(--primary); color: #fff; }
.picker .pk-clear {
  width: 100%; margin-top: 6px; padding: 5px 0; font-size: 12px;
  border: none; border-radius: 6px; background: #eef2f7; color: var(--muted);
}
.picker .pk-clear:hover { background: #e2e8f0; color: var(--text); }

/* 저장 시 비어 있어 막힌 필수 항목 */
input.pi.missing { border-color: var(--danger); background: #fff1f1; box-shadow: inset 0 0 0 1px rgba(220,38,38,.3); }

/* 저장 안 된 변경분(dirty) 표시 */
input.pi.dirty { border-color: var(--warn); background: #fff7e6; box-shadow: inset 0 0 0 1px rgba(217,119,6,.25); }
.dirty-info { font-size: 12px; font-weight: 700; color: var(--warn); }
.dirty-info.on::before { content: "\25CF"; margin-right: 4px; }
.save-row:disabled { background: #eef2f7; color: var(--muted); opacity: 1; cursor: default; }
tr.rs.row-dirty { --rs-bg: #fff8e7; --rs-bgh: #fdf0d5; }

/* --- 작업구분 배지 --- */
.kind-badge {
  display: inline-block; min-width: 34px; text-align: center; font-size: 11px; font-weight: 700;
  border-radius: 999px; padding: 2px 7px; margin-right: 6px;
}
.kb-foil { background: #fef3c7; color: #92400e; }   /* 박 */
.kb-emb  { background: #e0e7ff; color: #3730a3; }   /* 형압 */
.kb-etc  { background: #f1f5f9; color: var(--muted); }

/* 계획완료 행 */
tr.rs-planned { --rs-bg: #eefaf2; --rs-bgh: #dff4e8; }

/* --- 긴급 작업(항상 목록 맨 위) --- */
.emg-badge {
  display: inline-block; margin-right: 6px; padding: 1px 6px;
  font-size: 11px; font-weight: 800; color: #fff; background: var(--danger);
  border-radius: 4px; letter-spacing: -.3px;
}
tr.rs.emg { --rs-bg: #fff0f0; --rs-bgh: #ffe4e4; }
.table-scroll tbody tr.rs.emg td.bc-itemcd { box-shadow: inset 3px 0 0 var(--danger); }
tr.rs.emg td.bc-code { color: var(--danger); }

/* --- 작업일지 기준 작업상태 배지 --- */
.state-badge {
  display: inline-block; padding: 2px 8px; border-radius: 12px;
  font-size: 11px; font-weight: 700; white-space: nowrap;
}
.st-run   { background: #fef3c7; color: #92400e; }   /* 작업 */
.st-ready { background: #dbeafe; color: #1d4ed8; }   /* 준비 */
.st-stop  { background: #fee2e2; color: #b91c1c; }   /* 중지 */
.st-part  { background: #ede9fe; color: #5b21b6; }   /* 부분완료 */
.st-done  { background: #d1fae5; color: #047857; }   /* 완료 */
.st-idle  { background: #f1f5f9; color: var(--muted); } /* 비가동 */
.st-etc   { background: #f1f5f9; color: var(--muted); }
