/* ───────────────────────────────────────────────────────────────────────────
 * Inventory tracker styles. Layered on top of the shared dashboard tokens
 * (styles.css) and the modal/field/button classes (fbo-dashboard.css), which
 * inventory.js reuses verbatim. Adds:
 *   • the Due / Reorder / All segmented control + toolbar
 *   • item rows with urgency left-border + the round-ish Confirm button
 *   • the add/edit form grid, the detail modal grid, and the history log
 *   • the confirm-count dialog
 * ─────────────────────────────────────────────────────────────────────────── */

/* ─── Toolbar + segmented control ───────────────────────────────────────────── */
.inv-toolbar {
  display: flex; gap: 12px; flex-wrap: wrap; align-items: center;
  justify-content: space-between; margin-bottom: 22px;
}
.inv-segs { display: inline-flex; gap: 4px; padding: 4px;
  background: var(--bg-subtle, #F4F4F2); border-radius: 999px;
  border: 1px solid var(--border, rgba(0,0,0,0.08));
  max-width: 100%; overflow-x: auto; }
.inv-seg {
  border: none; background: transparent; cursor: pointer;
  font-family: var(--font-body, sans-serif); font-weight: 600; font-size: 13px;
  color: var(--fg-muted, #575760);
  padding: 7px 16px; border-radius: 999px; transition: all 0.15s ease-out;
}
.inv-seg:hover { color: var(--fg-strong, #0A0A0A); }
.inv-seg.active { background: var(--bg, #fff); color: var(--fg-strong, #0A0A0A);
  box-shadow: var(--shadow-card, 0 2px 8px rgba(0,0,0,0.08)); }
.inv-seg-n {
  display: inline-block; min-width: 18px; padding: 0 5px; margin-left: 4px;
  font-size: 11px; font-weight: 700; line-height: 16px; text-align: center;
  border-radius: 999px; background: var(--border, rgba(0,0,0,0.10));
  color: var(--fg-muted, #575760);
}
.inv-seg.active .inv-seg-n { background: var(--gold, #B79B58); color: #fff; }

/* ─── "Assigned to" toggle ──────────────────────────────────────────────────── */
.inv-assignee { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: -6px 0 18px; }
.inv-assignee-label {
  font-size: 11px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--fg-faint, #999); margin-right: 4px;
}
.inv-aseg {
  border: 1px solid var(--border, rgba(0,0,0,0.10)); background: var(--bg, #fff); cursor: pointer;
  font-family: var(--font-body, sans-serif); font-weight: 600; font-size: 12.5px;
  color: var(--fg-muted, #575760); padding: 6px 14px; border-radius: 999px;
  transition: all 0.15s ease-out;
}
.inv-aseg:hover { color: var(--fg-strong, #0A0A0A); border-color: var(--gold, #B79B58); }
.inv-aseg.active { background: var(--gold, #B79B58); border-color: var(--gold, #B79B58); color: #fff; }

/* ─── Feed + sections ───────────────────────────────────────────────────────── */
.inv-feed { display: flex; flex-direction: column; gap: 10px; }
.inv-feed .empty-row {
  text-align: center; padding: 44px 16px; color: var(--fg-faint, #888);
  font-size: 14px; font-weight: 500;
}
.inv-section-head {
  margin: 22px 0 4px; font-family: var(--font-body, sans-serif);
  font-weight: 700; font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--fg-muted, #575760);
}
.inv-section-head:first-child { margin-top: 4px; }
.inv-section-n { color: var(--fg-faint, #999); margin-left: 6px; }

/* ─── Item row ──────────────────────────────────────────────────────────────── */
.inv-row {
  display: flex; align-items: center; gap: 14px;
  background: var(--bg, #fff);
  border: 1px solid var(--border, rgba(0,0,0,0.08));
  border-left: 4px solid var(--gold, #B79B58);
  border-radius: var(--radius-lg, 14px);
  box-shadow: var(--shadow-card, 0 4px 24px rgba(0,0,0,0.06));
  padding: 12px 16px; transition: box-shadow 0.15s ease-out, border-color 0.15s ease-out;
}
.inv-row:hover { box-shadow: var(--shadow-elevated, 0 12px 48px rgba(0,0,0,0.12)); }
.inv-row.urg-soon     { border-left-color: #E5A000; }
.inv-row.urg-overdue  { border-left-color: #B42318; }
.inv-row.reorder      { border-left-color: #B42318; }

.inv-row-main { flex: 1 1 auto; min-width: 0; cursor: pointer; }
.inv-row-top { display: flex; align-items: center; gap: 8px; }
.inv-name { font-size: 15px; font-weight: 600; color: var(--fg-strong, #0A0A0A); word-break: break-word; }
.inv-row-meta { display: flex; flex-wrap: wrap; gap: 4px 12px; margin-top: 3px; }
.inv-qty { font-size: 13px; font-weight: 600; color: var(--fg, #333); }
.inv-sub { font-size: 12.5px; color: var(--fg-muted, #575760); }

.inv-tag { font-size: 10px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase;
  padding: 2px 7px; border-radius: 999px; }
.inv-tag.reorder { background: #FEF0EF; color: #B42318; }

.inv-row-due { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; flex: 0 0 auto; }
.inv-due-label { font-size: 12px; font-weight: 700; color: var(--fg-muted, #575760); white-space: nowrap; }
.inv-due-label.urg-soon { color: #B54708; }
.inv-due-label.urg-overdue { color: #B42318; }
.inv-due-date { font-size: 11px; color: var(--fg-faint, #999); white-space: nowrap; }

.inv-confirm {
  flex: 0 0 auto; cursor: pointer;
  font-family: var(--font-body, sans-serif); font-weight: 700; font-size: 12px;
  color: var(--gold-dark, #9A8145); background: #FBF7EC;
  border: 1px solid var(--gold, #B79B58); border-radius: 999px;
  padding: 7px 14px; transition: all 0.15s ease-out;
}
.inv-confirm:hover { background: var(--gold, #B79B58); color: #fff; }
.inv-row.reorder .inv-row-due { flex-direction: row; align-items: center; }

/* ─── All-view filter bar ───────────────────────────────────────────────────── */
.inv-filterbar { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 14px; }
.inv-search { flex: 1 1 240px; }
.inv-cat-select { flex: 0 0 auto; max-width: 220px; }

.inv-viewall-wrap { text-align: center; margin-top: 22px; }

/* ─── Add / edit modal ──────────────────────────────────────────────────────── */
.inv-edit-dialog, .inv-detail-dialog { max-width: 640px; width: 100%; }
.inv-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 16px; }
.inv-form-grid .field-wide { grid-column: 1 / -1; }

/* ─── Confirm-count dialog ──────────────────────────────────────────────────── */
.inv-confirm-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 8px 0 4px; }
#inv-confirm-old { font-weight: 700; color: var(--fg-muted, #575760); }

/* ─── Detail modal ──────────────────────────────────────────────────────────── */
.inv-detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 18px; margin: 6px 0 4px; }
.inv-detail-cell { display: flex; flex-direction: column; gap: 1px; }
.inv-detail-k { font-size: 10.5px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--fg-faint, #999); }
.inv-detail-v { font-size: 14px; font-weight: 600; color: var(--fg-strong, #0A0A0A); }
.inv-detail-link { display: inline-block; margin-top: 10px; font-size: 13px; font-weight: 600; color: var(--gold-dark, #9A8145); }
.inv-detail-actions { display: flex; align-items: center; gap: 10px; }
.inv-detail-spacer { flex: 1 1 auto; }

/* ─── History / change log ──────────────────────────────────────────────────── */
.inv-history { margin-top: 20px; border-top: 1px solid var(--border, rgba(0,0,0,0.08)); padding-top: 14px; }
.inv-history-head { font-size: 11px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--fg-muted, #575760); margin-bottom: 10px; }
.inv-history-list { display: flex; flex-direction: column; gap: 10px; max-height: 280px; overflow-y: auto; }
.inv-ev { border-left: 2px solid var(--border, rgba(0,0,0,0.10)); padding-left: 12px; }
.inv-ev-top { display: flex; gap: 10px; align-items: baseline; }
.inv-ev-who { font-size: 13px; font-weight: 700; color: var(--fg-strong, #0A0A0A); }
.inv-ev-when { font-size: 11px; color: var(--fg-faint, #999); }
.inv-ev-body { font-size: 13px; color: var(--fg, #333); margin-top: 1px; }
.inv-ev-from { color: var(--fg-faint, #999); }
.inv-ev-chg { color: var(--fg-muted, #575760); }
.inv-ev-badge { font-size: 10px; font-weight: 700; padding: 1px 6px; border-radius: 999px; margin-left: 4px; }
.inv-ev-badge.ontime { background: #ECFDF3; color: #027A48; }
.inv-ev-badge.late { background: #FEF3F2; color: #B42318; }

@media (max-width: 560px) {
  .inv-form-grid, .inv-detail-grid, .inv-confirm-grid { grid-template-columns: 1fr; }
  .inv-row { flex-wrap: wrap; }
}
