/* ===========================================
   쿠팡 PL 로그 전용 스타일
   =========================================== */

/* PL 페이지 헤더 */
.pl-page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem;flex-wrap:wrap;gap:10px;}
.pl-page-title{font-size:18px;font-weight:700;}
.pl-page-sub{font-size:12px;color:var(--text3);margin-top:2px;}

/* PL 입력 폼 */
.pl-form-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow);margin-bottom:1rem;}
.pl-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
@media(max-width:640px){.pl-form-grid{grid-template-columns:1fr;}}

/* 품목 자동완성 */
.pl-autocomplete{position:relative;}
.pl-ac-input{width:100%;padding:9px 11px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:13px;font-family:inherit;background:var(--surface);outline:none;}
.pl-ac-input:focus{border-color:var(--accent);}
.pl-ac-list{position:absolute;top:100%;left:0;right:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:0 4px 12px rgba(0,0,0,.08);max-height:280px;overflow-y:auto;z-index:50;display:none;margin-top:2px;}
.pl-ac-list.open{display:block;}
.pl-ac-option{padding:8px 11px;font-size:13px;cursor:pointer;border-bottom:1px solid var(--border);}
.pl-ac-option:last-child{border-bottom:none;}
.pl-ac-option:hover,.pl-ac-option.active{background:var(--accent-light);}
.pl-ac-option-name{font-weight:500;color:var(--text);}
.pl-ac-option-meta{font-size:11px;color:var(--text3);margin-top:2px;}
.pl-ac-empty{padding:14px;text-align:center;font-size:12px;color:var(--text3);}

/* 선택된 품목 표시 */
.pl-selected-product{background:var(--accent-light);border:1px solid var(--accent);border-radius:var(--radius-sm);padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px;}
.pl-selected-info{flex:1;min-width:0;}
.pl-selected-name{font-size:13px;font-weight:600;color:var(--accent-text);}
.pl-selected-meta{font-size:11px;color:var(--text2);margin-top:2px;}
.pl-selected-clear{padding:4px 10px;border:1px solid var(--accent);background:var(--surface);border-radius:4px;font-size:11px;color:var(--accent-text);cursor:pointer;font-family:inherit;flex-shrink:0;}

/* PL 분류 pill 그룹 */
.pl-pills{display:flex;flex-wrap:wrap;gap:5px;}
.pl-pill{padding:6px 12px;border:1px solid var(--border);border-radius:99px;background:var(--surface);font-size:12px;color:var(--text2);cursor:pointer;font-family:inherit;}
.pl-pill:hover{border-color:var(--border2);}
.pl-pill.active{background:var(--accent);border-color:var(--accent);color:#fff;}

/* PL 중요 표시 */
.pl-importance{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--surface2);border-radius:var(--radius-sm);}
.pl-importance input[type="checkbox"]{width:16px;height:16px;cursor:pointer;}
.pl-importance label{font-size:13px;color:var(--text);cursor:pointer;}
.pl-importance-hint{font-size:11px;color:var(--text3);margin-top:4px;}

/* PL 로그 카드 (타임라인/검색 결과) */
.pl-log-list{display:flex;flex-direction:column;gap:8px;}
.pl-log-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;box-shadow:var(--shadow);}
.pl-log-card.synced{border-left:3px solid var(--green);}
.pl-log-card.important{border-left:3px solid var(--amber);}
.pl-log-card.synced.important{border-left:3px solid var(--accent);}
.pl-log-header{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap;font-size:11px;}
.pl-log-time{color:var(--text3);}
.pl-log-product{color:var(--accent-text);font-weight:500;}
.pl-log-tags{display:flex;gap:4px;flex-wrap:wrap;}
.pl-log-tag{padding:2px 7px;border-radius:99px;font-size:10px;font-weight:500;}
.pl-tag-channel{background:var(--surface2);color:var(--text2);}
.pl-tag-direction{background:var(--accent-light);color:var(--accent-text);}
.pl-tag-category{background:var(--green-light);color:var(--green);}
.pl-tag-important{background:var(--amber-light);color:var(--amber);}
.pl-tag-synced{background:var(--green-light);color:var(--green);}
.pl-log-content{font-size:13px;line-height:1.65;white-space:pre-wrap;word-break:break-all;color:var(--text);}
.pl-log-meta{font-size:11px;color:var(--text3);margin-top:8px;display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
.pl-log-actions{display:flex;gap:4px;margin-top:8px;flex-wrap:wrap;}
.pl-btn-mini{padding:4px 10px;border:1px solid var(--border);border-radius:4px;background:var(--surface);font-size:11px;font-family:inherit;color:var(--text2);cursor:pointer;}
.pl-btn-mini:hover{background:var(--surface2);}
.pl-btn-mini.danger{color:var(--red);border-color:#fca5a5;}
.pl-btn-mini.danger:hover{background:var(--red-light);}
.pl-btn-mini.sync{color:var(--accent-text);border-color:var(--accent);background:var(--accent-light);}
.pl-btn-mini.sync:hover{background:var(--accent);color:#fff;}

/* 품목 그룹 칩 — 목록·카드의 그룹 라벨 */
.pl-group-chip{
  display:inline-block;padding:2px 8px;border-radius:10px;
  background:#f5f3ff;color:#6d28d9;font-size:11px;font-weight:600;
  white-space:nowrap;
}

/* PL 검색 필터 바 */
.pl-filter-bar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px;box-shadow:var(--shadow);margin-bottom:1rem;}
.pl-filter-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px;}
.pl-filter-row:last-child{margin-bottom:0;}
.pl-filter-label{font-size:11px;font-weight:500;color:var(--text3);align-self:center;margin-right:4px;}

/* PL 품목 관리 — 풀폭 페이지 (PL 보드와 동일 패턴, 기본 .page 의 max-width 해제) */
.page#page-pl-products {
  max-width: none; padding: 0; margin: 0; width: 100%; height: 100%;
}
.page#page-pl-products.active { display: block; }
.page#page-pl-products .pl-page-header { padding: 16px 24px 0; }
.page#page-pl-products > .pl-form-card { margin: 12px 24px; }

/* PL 품목 관리 테이블 */
.pl-product-table{width:100%;border-collapse:collapse;font-size:12px;background:var(--surface);}
.pl-product-table th{background:var(--surface2);padding:9px 11px;text-align:left;font-weight:500;color:var(--text2);border-bottom:1px solid var(--border);position:sticky;top:0;}
.pl-product-table td{padding:9px 11px;border-bottom:1px solid var(--border);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.pl-product-table tr:hover{background:var(--surface2);}
.pl-product-table .inactive{opacity:.5;}

/* 상품명 셀 — 2줄까지 표시. 다른 셀보다 넓게. */
.pl-product-table td.pl-cell-name {
  white-space: normal;
  vertical-align: middle;
  min-width: 280px;
  max-width: 420px;
}
.pl-name-clamp {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-height: 1.35;
  word-break: break-word;
}
/* 제조사 셀 — 좁게 (대부분 짧은 회사명) */
.pl-product-table td.pl-cell-vendor,
.pl-product-table th.pl-cell-vendor {
  max-width: 110px;
}

/* 발주 이력 모달 — 메모 입력칸 */
.pl-hist-note-input {
  width: 100%; padding: 5px 8px;
  border: 1px solid var(--border); border-radius: 5px;
  font-size: 12px; font-family: inherit;
  background: var(--surface);
  transition: outline .12s;
}
.pl-hist-note-input:focus {
  outline: 2px solid var(--accent); outline-offset: -1px;
}

/* 리스트 행 이미지 썸네일 */
.pl-product-thumb {
  width: 36px; height: 36px; border-radius: 6px;
  object-fit: cover; background: var(--surface2);
  display: block;
}
.pl-product-thumb-ph {
  width: 36px; height: 36px; border-radius: 6px;
  background: var(--surface2); display: flex;
  align-items: center; justify-content: center;
  color: var(--text3); font-size: 16px;
}

/* 발주 이력 아이콘 버튼 — 단가 셀 옆 */
.pl-btn-history {
  background: transparent; border: none;
  padding: 1px 5px; margin-left: 4px;
  font-size: 13px; cursor: pointer;
  color: var(--text3); border-radius: 3px;
}
.pl-btn-history:hover { background: var(--surface2); color: var(--accent); }

/* 발주 이력 모달의 변경 셀 강조 (이전 발주 대비 다른 값) */
.cp-hist-changed {
  position: relative;
  background: #fefce8 !important;
}
.cp-hist-changed::before {
  content: '•';
  position: absolute; left: 3px; top: 50%;
  transform: translateY(-50%);
  color: #ca8a04; font-weight: 700; font-size: 14px;
}

/* URL 버튼 — 코드 셀에 둠. 작고 깔끔하게 */
.pl-url-btn {
  display: inline-flex; align-items: center; gap: 3px;
  padding: 3px 8px; border-radius: 4px;
  background: #eff6ff; color: #1d4ed8;
  border: 1px solid #bfdbfe;
  font-size: 11px; font-weight: 600;
  text-decoration: none; white-space: nowrap;
}
.pl-url-btn:hover { background: #dbeafe; }

/* PL 빈 상태 */
.pl-empty{text-align:center;padding:3rem 1rem;color:var(--text3);background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius);}
.pl-empty-icon{font-size:32px;margin-bottom:8px;}
.pl-empty-title{font-size:14px;color:var(--text2);font-weight:500;margin-bottom:4px;}
.pl-empty-sub{font-size:12px;}

/* PL 통계 카드 */
.pl-stats{display:flex;gap:10px;margin-bottom:1rem;flex-wrap:wrap;}
.pl-stat{flex:1;min-width:120px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px;box-shadow:var(--shadow);}
.pl-stat-label{font-size:11px;color:var(--text3);}
.pl-stat-value{font-size:20px;font-weight:700;margin-top:2px;}

/* 업무일지 - 날짜 그룹 헤더 */
.pl-day-group{margin-bottom:1.5rem;}
.pl-day-header{display:flex;align-items:baseline;gap:10px;padding:8px 0;margin-bottom:8px;border-bottom:2px solid var(--border);}
.pl-day-date{font-size:15px;font-weight:700;color:var(--text);}
.pl-day-weekday{font-size:12px;color:var(--text2);}
.pl-day-relative{font-size:11px;color:var(--accent-text);background:var(--accent-light);padding:2px 8px;border-radius:99px;font-weight:500;}
.pl-day-count{font-size:11px;color:var(--text3);margin-left:auto;}

/* 인라인 수정 폼 */
.pl-edit-form{background:var(--surface2);border-top:1px solid var(--border);padding:14px;margin-top:8px;border-radius:0 0 var(--radius) var(--radius);}
.pl-edit-form .form-field{margin-bottom:10px;}
.pl-edit-form .form-label{font-size:11px;}
.pl-edit-form .pl-pills .pl-pill{padding:4px 10px;font-size:11px;}
.pl-edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
@media(max-width:640px){.pl-edit-grid{grid-template-columns:1fr;}}
.pl-edit-actions{display:flex;gap:6px;margin-top:10px;}

/* 인라인 삭제 확인 */
.pl-delete-confirm{background:var(--red-light);border-top:1px solid #fca5a5;padding:10px 14px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-radius:0 0 var(--radius) var(--radius);margin-top:8px;}
.pl-delete-msg{font-size:12px;color:var(--red);font-weight:500;}
.pl-delete-actions{display:flex;gap:6px;}
