/* ============================================================
   Tool room (.tr-*) — the equipment screen.
   Module-local only; nothing here touches a shared primitive.
   ============================================================ */
.tr-sub-l { font-size:13.5px; color:var(--ink-soft); margin:4px 0 0; max-width:70ch; }
.tr-lede  { font-size:13.5px; color:var(--ink-soft); margin:0 0 16px; max-width:70ch; }
.tr-dim   { color:var(--ink-faint); font-weight:400; }

/* View switcher */
.tr-seg { display:inline-flex; gap:2px; padding:3px; background:var(--bg2); border-radius:10px; margin-bottom:18px; }
.tr-seg-b { display:inline-flex; align-items:center; gap:6px; border:0; background:transparent; cursor:pointer;
  padding:7px 14px; border-radius:8px; font-size:13px; font-weight:600; color:var(--ink-soft); }
.tr-seg-b:hover { color:var(--ink); }
.tr-seg-b.on { background:var(--white); color:var(--ink); box-shadow:var(--shadow); }
.tr-seg-b .ti { font-size:16px; }
/* The count is the point of the Shop tab — it is what tells you to look. */
.tr-seg-n { min-width:18px; height:18px; padding:0 5px; border-radius:9px; background:#C8553D; color:#fff;
  font-size:10.5px; font-weight:700; display:inline-flex; align-items:center; justify-content:center; }

/* Queue blocks */
.tr-block { margin-bottom:20px; }
.tr-block-h { display:flex; align-items:center; gap:8px; font-size:12px; font-weight:700; text-transform:uppercase;
  letter-spacing:.05em; color:var(--ink-soft); padding-bottom:7px; margin-bottom:9px; border-bottom:2px solid var(--bd); }
.tr-block-h.bad  { color:#B91C1C; border-bottom-color:color-mix(in srgb,#B91C1C 35%,var(--bd)); }
.tr-block-h.warn { color:#B45309; border-bottom-color:color-mix(in srgb,#B45309 35%,var(--bd)); }
.tr-block-h.info { color:var(--accent); border-bottom-color:color-mix(in srgb,var(--accent) 35%,var(--bd)); }
.tr-n { min-width:20px; height:20px; padding:0 6px; border-radius:10px; background:var(--bg2); color:var(--ink-soft);
  font-size:11px; display:inline-flex; align-items:center; justify-content:center; }

/* Tables */
.tr-wrap { border:1px solid var(--bd); border-radius:11px; overflow:auto; box-shadow:var(--shadow); }
.tr-table { width:100%; border-collapse:collapse; font-size:13px; }
.tr-table th { position:sticky; top:0; z-index:1; background:var(--bg2); text-align:left; padding:8px 12px;
  font-size:10.5px; text-transform:uppercase; letter-spacing:.04em; color:var(--ink-faint); border-bottom:1.5px solid var(--bd); }
.tr-table td { padding:8px 12px; border-bottom:1px solid color-mix(in srgb,var(--bd) 55%,transparent); vertical-align:middle; }
.tr-table tbody tr:hover { background:color-mix(in srgb,var(--accent) 5%,transparent); }
.tr-sub { font-size:11.5px; color:var(--ink-faint); margin-top:2px; }
.tr-od  { color:#B91C1C; font-weight:700; }
.tr-act { text-align:right; white-space:nowrap; }
.tr-flag { font-size:11px; font-weight:700; text-transform:capitalize; color:#B45309;
  background:color-mix(in srgb,#B45309 12%,transparent); padding:2px 8px; border-radius:999px; }
.tr-rent { font-size:11px; font-weight:700; color:var(--accent);
  background:color-mix(in srgb,var(--accent) 12%,transparent); padding:2px 8px; border-radius:999px; }

/* Empty states carry WHY there is nothing, not just that there is nothing. */
.tr-empty { font-size:13px; color:var(--ink-faint); padding:14px 2px; }
.tr-empty-lg { text-align:center; padding:48px 16px; }
.tr-empty-lg .ti { font-size:34px; color:var(--ink-faint); display:block; margin-bottom:10px; }
.tr-empty-lg h3 { margin:0 0 6px; font-size:16px; color:var(--ink); }

.tr-bar { margin-bottom:14px; }
.tr-search { flex:1; min-width:180px; max-width:340px; padding:7px 11px; border:1px solid var(--bd);
  border-radius:8px; background:var(--white); color:var(--ink); font-size:13px; }

/* Register data table — density comes from PTTable (.ptt-d-*), so padding is
   set there, not here. */
.tr-bar-r { display:inline-flex; align-items:center; gap:8px; margin-left:auto; }
.tr-strong { font-weight:600; color:var(--ink); }
.tr-act-h { width:1%; }
.tr-cf { color:var(--ink-soft); }

/* Custom-field manager */
.tr-frow { display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:9px 0; border-bottom:1px solid color-mix(in srgb,var(--bd) 55%,transparent); }
.tr-fadd { margin-top:14px; padding-top:14px; border-top:2px solid var(--bd); }
.tr-chk { display:flex; align-items:center; gap:7px; font-size:13px; color:var(--ink); margin:6px 0 12px; cursor:pointer; }
.tr-cfblock { margin-top:14px; padding-top:12px; border-top:2px solid var(--bd); }
.tr-cfblock-h { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.05em;
  color:var(--ink-faint); margin-bottom:9px; }
