.tool-issue-dialog {
  width: min(760px, calc(100vw - 32px));
  max-width: none;
  max-height: 90dvh;
  margin: auto;
  padding: 0;
  border: 1px solid var(--border-color, #dce4ec);
  border-radius: 8px;
  color: var(--text-primary, #17202e);
  background: #fff;
}
.tool-issue-dialog::backdrop { background: rgb(15 23 42 / 45%); }
.tool-issue-form { display: flex; flex-direction: column; max-height: calc(90dvh - 2px); }
.tool-issue-form header { display: flex; align-items: center; gap: 12px; padding: 16px 20px; border-bottom: 1px solid var(--border-color, #dce4ec); }
.tool-issue-form h2 { margin: 0; flex: 1; font-size: 20px; line-height: 1.4; overflow-wrap: anywhere; }
.tool-issue-form header button, .tool-issue-remove { display: grid; place-items: center; flex: none; width: 36px; height: 36px; border: 1px solid var(--border-color, #dce4ec); border-radius: 6px; background: #fff; color: #475569; font-size: 22px; cursor: pointer; }
.tool-issue-body { padding: 20px; overflow: auto; min-height: 0; }
.tool-issue-field { display: grid; gap: 6px; color: #64748b; font-size: 12px; font-weight: 700; min-width: 0; }
.tool-issue-form select { min-width: 0; width: 100%; padding: 10px; border: 1px solid var(--border-color, #dce4ec); border-radius: 6px; background: #f8fafc; color: #17202e; font: inherit; font-size: 14px; }
.tool-issue-form input:not([type=checkbox]), .tool-issue-form textarea { width: 100%; min-width: 0; font-size: 14px; font-weight: 400; }
.tool-issue-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 20px 0 0; }
.tool-issue-heading strong { font-size: 15px; }
.tool-issue-line { padding: 16px 0; border-bottom: 1px solid var(--border-color, #dce4ec); }
.tool-issue-line-fields { display: grid; grid-template-columns: minmax(0, 1fr) 92px 36px; align-items: end; gap: 12px; }
.tool-issue-type { display: grid; gap: 6px; min-width: 0; }
.tool-issue-type > label, .tool-issue-serial-heading { color: #64748b; font-size: 12px; font-weight: 700; }
.tool-issue-type > input { margin-bottom: 2px; }
.tool-issue-serials { margin-top: 14px; }
.tool-issue-serial-heading { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 6px; }
.tool-issue-serial-heading strong { color: #0f766e; }
.tool-issue-units { max-height: 180px; overflow: auto; margin-top: 8px; }
.tool-issue-unit { display: flex; align-items: center; gap: 12px; padding: 10px 4px; border-bottom: 1px solid #edf1f5; cursor: pointer; }
.tool-issue-unit input { flex: none; width: 18px; height: 18px; accent-color: #0f766e; }
.tool-issue-unit > span { flex: 1; min-width: 0; }
.tool-issue-unit strong, .tool-issue-unit small { display: block; overflow-wrap: anywhere; }
.tool-issue-unit strong { font-size: 13px; }
.tool-issue-unit small { color: #64748b; font-size: 12px; }
.tool-issue-unit > small { max-width: 30%; }
.tool-issue-meta { display: grid; grid-template-columns: 1fr 2fr; gap: 12px; margin-top: 16px; }
.tool-issue-form footer { flex: none; padding: 14px 20px; border-top: 1px solid var(--border-color, #dce4ec); background: #f8fafc; }
.tool-issue-form footer > strong { display: block; font-size: 13px; }
.tool-issue-confirm { display: flex; align-items: center; gap: 8px; margin: 8px 0; font-size: 13px; }
.tool-issue-confirm input { width: 18px; height: 18px; accent-color: #0f766e; }
#toolIssueMessage { color: #dc2626; font-size: 13px; overflow-wrap: anywhere; }
.tool-issue-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 10px; }
.tool-issue-empty { padding: 16px 0; color: #64748b; font-size: 13px; }
.tool-issue-dialog button:disabled { opacity: .5; cursor: default; }
.tool-issue-dialog :focus-visible { outline: 2px solid #0891b2; outline-offset: 2px; }
@media (max-width: 600px) {
  .tool-issue-dialog { width: calc(100vw - 16px); max-height: 94dvh; }
  .tool-issue-form { max-height: calc(94dvh - 2px); }
  .tool-issue-form header, .tool-issue-body, .tool-issue-form footer { padding: 14px; }
  .tool-issue-form h2 { font-size: 18px; }
  .tool-issue-line-fields { grid-template-columns: minmax(0, 1fr) 36px; gap: 10px; }
  .tool-issue-type { grid-column: 1 / -1; }
  .tool-issue-line-fields > .tool-issue-field { max-width: 120px; }
  .tool-issue-meta { grid-template-columns: 1fr; }
  .tool-issue-actions { flex-wrap: wrap; }
  .tool-issue-actions .btn { flex: 1 1 auto; white-space: normal; padding: 9px 10px; }
}
