/* Faz 4 — İş Takibi (kalibrasyon iş emirleri). inv-table tabanını yeniden kullanır. */

.jobs-page { padding: 0; }
.jobs-page .inv-toolbar { padding: 10px 16px; }
.jobs-page .jobs-stats {
  display: flex; gap: 14px; font-size: 12.5px; color: #4a5363;
}
.jobs-page .jobs-stats .stat-val { font-weight: 700; color: #1d2330; }
.jobs-page .jobs-stats .stat-val.warn { color: var(--color-warning); }
.jobs-page .jobs-stats .stat-val.danger { color: var(--color-danger); }

/* Header ? help icon */
.jobs-page th .help-icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 14px; height: 14px; margin-left: 4px;
  border-radius: 50%; background: #d9dee5; color: #4a5363;
  font-size: 10px; font-weight: 700; cursor: help; user-select: none;
  vertical-align: middle;
}
.jobs-page th .help-icon:hover { background: var(--color-primary); color: #fff; }

/* Durum chip'leri — D, E sütunları */
.status-pill {
  display: inline-block; padding: 2px 8px; border-radius: 3px;
  font-size: 11.5px; font-weight: 600; cursor: pointer; user-select: none;
  border: 1px solid transparent; white-space: nowrap;
}
.status-pill.status-baslanmadi { background: #eef1f5; color: #4a5363; }
.status-pill.status-suruyor    { background: #DBEAFE; color: #1d4ed8; }
.status-pill.status-ertelendi  { background: #FEF3C7; color: #B45309; }
.status-pill.status-tamamlandi { background: #D1FAE5; color: #047857; }
.status-pill:hover { border-color: var(--color-primary); }

/* Hesaplanan kolon — salt-okunur badge */
.jobs-page td.computed {
  background: #fafbfd; color: #4a5363; font-style: italic; cursor: not-allowed;
}
.jobs-page td.computed.overdue   { color: var(--color-danger); font-weight: 600; }
.jobs-page td.computed.upcoming  { color: var(--color-warning); font-weight: 600; }

/* Kalan gün yazısı */
.days-left { font-size: 10.5px; color: #7a8294; margin-left: 4px; }
.days-left.overdue  { color: var(--color-danger); }
.days-left.upcoming { color: var(--color-warning); }

/* Kal. türü chip */
.caltype-pill {
  display: inline-block; padding: 1px 7px; border-radius: 3px;
  font-size: 11px; font-weight: 700; letter-spacing: 0.4px;
}
.caltype-pill.S { background: #FEE2E2; color: #B91C1C; }  /* Sıcaklık - kırmızı */
.caltype-pill.P { background: #DBEAFE; color: #1d4ed8; }  /* Basınç - mavi */
.caltype-pill.D { background: #E0F2FE; color: #0369A1; }  /* Boyut - cyan */
.caltype-pill.E { background: #FEF3C7; color: #B45309; }  /* Elek - sarı */

/* Müşteri dropdown */
.jobs-page .customer-select {
  width: 100%; border: none; background: transparent;
  padding: 2px 4px; font: inherit; cursor: pointer;
}

/* Tablo daha sıkı */
.jobs-page table.inv-table {
  font-size: 12.5px;
}
.jobs-page table.inv-table th,
.jobs-page table.inv-table td {
  padding: 4px 6px;
}
.jobs-page table.inv-table th {
  font-size: 11px;
}

/* Batch paste modal */
.bulk-paste-area {
  width: 100%; min-height: 200px; font-family: 'JetBrains Mono', monospace;
  font-size: 11.5px; padding: 10px;
  border: 1px solid #d9dee5; border-radius: 6px;
}
.bulk-result {
  max-height: 200px; overflow: auto; font-size: 12px;
  margin-top: 10px; padding: 8px; background: #f5f7fa; border-radius: 6px;
}
.bulk-result .err { color: var(--color-danger); }
.bulk-result .ok  { color: var(--color-success); }

/* Doc popover */
.doc-pop {
  position: absolute; z-index: 100;
  background: #fff; border: 1px solid #d9dee5; border-radius: 8px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.12);
  min-width: 260px; max-width: 340px; padding: 8px;
}
.doc-pop .pop-head { font-size: 12px; color: #7a8294; padding: 4px 6px; }
.doc-pop .pop-body { display: flex; flex-direction: column; gap: 4px; }
.doc-pop .pop-item {
  display: flex; align-items: center; justify-content: space-between;
  padding: 6px 8px; border-radius: 4px; font-size: 12.5px;
}
.doc-pop .pop-item:hover { background: #f1f5fa; }
.doc-pop .pop-item .v { color: var(--color-primary); cursor: pointer; }
.doc-pop .pop-item .del { color: var(--color-danger); cursor: pointer; font-size: 14px; padding: 0 4px; }
.doc-pop .pop-empty { color: #9aa3b1; font-size: 12px; padding: 8px; text-align: center; }
.doc-pop .pop-upload {
  margin-top: 8px; padding-top: 8px; border-top: 1px dashed #d9dee5;
}
.doc-pop .pop-upload label {
  display: block; font-size: 11.5px; color: #4a5363; cursor: pointer;
  padding: 6px 8px; background: var(--color-primary-light); color: var(--color-primary);
  border-radius: 4px; text-align: center; font-weight: 600;
}
.doc-pop .pop-upload input { display: none; }

/* Action buttons in row */
.jobs-page .row-actions {
  display: flex; gap: 4px; align-items: center; justify-content: flex-start;
}
.jobs-page .row-actions button {
  background: transparent; border: 1px solid #d9dee5; border-radius: 4px;
  padding: 2px 6px; font-size: 11.5px; cursor: pointer; color: #4a5363;
}
.jobs-page .row-actions button:hover { background: var(--color-primary-light); color: var(--color-primary); border-color: var(--color-primary); }
.jobs-page .row-actions .del-btn:hover { background: var(--color-danger-bg); color: var(--color-danger); border-color: var(--color-danger); }
.jobs-page .row-actions .has-docs { font-weight: 700; color: var(--color-primary); border-color: var(--color-primary); }

/* Kolon başlığı — tıklanabilir etiket */
.jobs-page th { position: relative; }
.jobs-page th .th-label {
  display: inline-block; cursor: pointer; padding: 2px 4px;
  border-radius: 3px; user-select: none;
}
.jobs-page th .th-label:hover { background: var(--color-primary-light); color: var(--color-primary); }
.jobs-page th .th-label.th-active { color: var(--color-primary); font-weight: 700; }
.jobs-page th .filter-dot {
  display: inline-block; width: 6px; height: 6px; border-radius: 50%;
  background: var(--color-primary); margin-left: 4px; vertical-align: middle;
}

/* Kolon menüsü popover */
.col-menu {
  position: absolute; z-index: 200;
  background: #fff; border: 1px solid #d9dee5; border-radius: 6px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.12);
  width: 220px; padding: 6px; display: flex; flex-direction: column; gap: 4px;
}
.col-menu .cm-item {
  text-align: left; padding: 6px 10px; font-size: 12.5px; cursor: pointer;
  background: transparent; border: none; border-radius: 4px; color: #2a3140;
}
.col-menu .cm-item:hover { background: var(--color-primary-light); color: var(--color-primary); }
.col-menu .cm-sep { height: 1px; background: #eef1f5; margin: 2px 0; }
.col-menu .cm-filter {
  border: 1px solid #d9dee5; border-radius: 4px; padding: 5px 8px;
  font-size: 12.5px; font: inherit;
}
.col-menu .cm-actions {
  display: flex; gap: 6px; justify-content: flex-end; margin-top: 4px;
}
.col-menu .cm-actions button {
  padding: 4px 10px; font-size: 12px; border-radius: 4px; cursor: pointer;
}
.col-menu .cm-clear {
  background: #fff; border: 1px solid #d9dee5; color: #4a5363;
}
.col-menu .cm-clear:hover { border-color: var(--color-danger); color: var(--color-danger); }
