/* 기능별 별도 모듈 스타일: 자동취합 진행창, index1 노출정책, PC 부품 단가 산정 */
.progress-window,
#autoRegisterProgress,
#indexPolicyStatus {
  font-size: 12px;
  line-height: 1.55;
}
.pc-builder-card { margin-top: 22px; }
.pc-builder-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
  gap: 18px;
  padding: 12px;
}
.pc-parts-table select {
  min-width: 260px;
  max-width: 100%;
}
.pc-part-link {
  margin-top: 4px;
  font-size: 12px;
}
.pc-builder-total,
.pc-build-total {
  font-weight: 900;
  color: var(--brand);
  margin: 10px 0 8px;
}
.pc-build-card {
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 14px;
  margin-bottom: 12px;
  background: #fff;
}
.pc-build-card h4 { margin: 0 0 8px; }
.pc-build-card ul { margin: 8px 0; padding-left: 20px; }
.pc-build-card li { margin: 4px 0; }
.policy-chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 4px 8px;
  margin: 2px;
  background: #f8fafc;
  font-size: 12px;
}
.number-cell { text-align: right; white-space: nowrap; }
@media (max-width: 920px) {
  .pc-builder-grid { grid-template-columns: 1fr; }
  .pc-parts-table select { min-width: 180px; }
}
.spec-table-line {
  margin-top: 8px;
  background: #f8fafc;
  border: 1px dashed var(--line);
  border-radius: 12px;
  padding: 8px;
}
.spec-table-line span { margin-right: 10px; }
.wide-field { grid-column: 1 / -1; }
.sheet-status { display:inline-flex; border-radius:999px; padding:3px 8px; font-size:12px; font-weight:800; border:1px solid #d7deea; background:#f3f6fb; }
.sheet-status.reviewed, .sheet-status.done, .sheet-status.ordered { background:#e7f8ef; color:#075e3b; border-color:#9bd4b3; }
.sheet-status.needs_source, .sheet-status.hold { background:#fff6dc; color:#7a4f00; border-color:#f0d98c; }
.sheet-status.excluded { background:#ffe0e0; color:#8a1f1f; border-color:#f0aaaa; }
.sheet-status.pending, .sheet-status.new { background:#eef2ff; color:#253d8a; border-color:#c3cdfd; }
.customer-row-selected { background:#eef6ff !important; }
.spec-needs-source { background:#fff8e6 !important; }
.spec-excluded { background:#fff1f1 !important; }
/* v18: DB page sheet tabs and lazy 10-row loading */
.admin-sheet-tabs{position:sticky;top:0;z-index:50;display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px;padding:12px;background:rgba(245,247,251,.96);backdrop-filter:blur(6px);border:1px solid #dfe5ef;border-radius:16px;box-shadow:0 8px 24px rgba(20,35,70,.08)}
.admin-sheet-tab{border:1px solid #cfd8e7;background:#fff;color:#172033;border-radius:999px;padding:10px 16px;font-weight:800}
.admin-sheet-tab.is-active{background:#1f5eff;color:#fff;border-color:#1f5eff;box-shadow:0 8px 18px rgba(31,94,255,.22)}
.admin-sheet{display:none!important}
.admin-sheet.is-active{display:block!important;margin-bottom:18px}
.admin-grid.admin-sheet.is-active,.admin-grid.wide-left.admin-sheet.is-active{display:grid!important}
.stats-grid.admin-sheet.is-active{display:grid!important}
.sheet-pager{display:flex;gap:8px;align-items:center;justify-content:flex-end;padding:10px;border-top:1px solid #e6ebf4;background:#fbfcff}
.sheet-pager button{padding:7px 11px}
.sheet-count-note{padding:8px 10px;color:#62708a;font-size:13px}
a.company-open-link{display:inline-flex;align-items:center;border:1px solid #d7deea;border-radius:10px;padding:8px 11px;text-decoration:none;background:#fff;color:#172033}

/* v32 product spec sheet form view */
.spec-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:#f8fafc;border:1px solid #dfe5ef;border-bottom:0;border-radius:14px 14px 0 0}
.spec-sheet-table td{vertical-align:top!important}
.spec-pair-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:6px}
.spec-pair{display:grid;grid-template-columns:72px minmax(0,1fr);gap:6px;align-items:start;padding:6px 8px;border:1px solid #e4e9f2;border-radius:10px;background:#fff}
.spec-pair b{font-size:12px;color:#667085;white-space:nowrap}
.spec-pair span{font-size:13px;color:#172033;word-break:break-word}
.badge.warn{background:#fff6dc;color:#7a4f00;border:1px solid #f0d98c;border-radius:999px;padding:2px 7px;font-size:12px;font-weight:800}
.badge.ok{background:#e7f8ef;color:#075e3b;border:1px solid #9bd4b3;border-radius:999px;padding:2px 7px;font-size:12px;font-weight:800}
.badge.gray{background:#eef2f7;color:#465568;border:1px solid #d7deea;border-radius:999px;padding:2px 7px;font-size:12px;font-weight:800}
.error-box{padding:14px;border:1px solid #f0aaaa;background:#fff1f1;color:#8a1f1f;border-radius:12px}
.muted{color:#667085}
