/* Vehicle checks (SETTINGS > Vehicle checks forms, REPORTS > Vehicle checks forms and Vehicle faults) and item barcodes */
.link-btn { background: none; border: 0; padding: 0; color: var(--blue-link); cursor: pointer; font: inherit; text-decoration: underline; }
.link-btn:hover { color: var(--blue-hover); }
.checks-howto { margin-left: 14px; font-size: 13px; align-self: center; }
.row-acts { display: inline-flex; gap: 4px; }

/* the form dialog: a grid of checks */
.checks-dlg .dlg-body { max-height: 70vh; overflow: auto; }
.checks-grid-wrap { margin-top: 14px; border: 1px solid var(--line); border-radius: 4px; overflow: auto; max-height: 46vh; }
.checks-grid { width: 100%; border-collapse: collapse; }
.checks-grid th { text-align: left; padding: 8px 10px; background: var(--grid-head); font-weight: 500; border-bottom: 1px solid var(--line); position: sticky; top: 0; }
.checks-grid td { padding: 6px 10px; border-bottom: 1px solid var(--line-soft); vertical-align: middle; }
.checks-grid tr.cg-row { cursor: pointer; }
.checks-grid tr.cg-row:hover { background: var(--grid-hover); }
.checks-grid tr.dragging { background: var(--blue-tint); opacity: .85; }
.checks-grid .cg-handle { width: 34px; padding-right: 0; }
.checks-grid .cg-mand { width: 90px; text-align: center; }
.checks-grid .cg-trash { width: 40px; text-align: right; }
.cg-grip { cursor: grab; touch-action: none; color: var(--muted); }
.cg-grip:active { cursor: grabbing; }
.checks-empty { padding: 18px; text-align: center; }
.checks-add { margin-top: 10px; }
.checks-q .sf { margin-bottom: 12px; }

/* a submitted check and a fault */
.cv-dlg .dlg-body { max-height: 74vh; overflow: auto; }
.cv-head { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px 18px; margin-bottom: 14px; }
.cv-kv { display: flex; flex-direction: column; min-width: 0; }
.cv-k { font-size: 11px; color: var(--muted); text-transform: uppercase; letter-spacing: .04em; }
.cv-v { overflow-wrap: anywhere; }
.cv-table { width: 100%; }
.cv-table td, .cv-table th { vertical-align: top; text-align: left; padding: 6px 8px; }
.cv-desc { font-size: 12px; }
.cv-pass { color: #2E7D32; font-weight: 500; }
.cv-fail { color: #B3261E; font-weight: 700; }
.cv-warn { color: #B26A00; display: inline-flex; vertical-align: middle; }
.cv-flags { list-style: none; margin: 8px 0; padding: 8px 12px; border: 1px solid #E7C98C; background: #FFF6E0; border-radius: 6px; color: #7A4A00; }
.cv-flags li { display: flex; align-items: center; gap: 6px; }
.cv-thumbs { display: inline-flex; flex-wrap: wrap; gap: 4px; }
.cv-thumb { border: 1px solid var(--line); background: #fff; padding: 0; border-radius: 3px; cursor: zoom-in; }
.cv-thumb img { display: block; width: 54px; height: 40px; object-fit: cover; border-radius: 2px; }
.cv-fphotos { margin: 8px 0; }
.cv-sig { margin-top: 14px; }
.cv-sig img { display: block; max-width: 300px; max-height: 150px; border: 1px solid var(--line); border-radius: 4px; margin: 4px 0; background: #fff; }
.cv-photo { text-align: center; }
.cv-big { max-width: 100%; max-height: 62vh; border-radius: 4px; }
.cv-chip { display: inline-block; padding: 1px 10px; border-radius: 10px; font-size: 12px; font-weight: 500; }
.cv-chip-warn { background: #FFF1D6; color: #8A5A00; }
.cv-chip-ok { background: #DFF1E2; color: #1F6B2A; }

/* item barcodes (order dialog, settings page) */
.bc-list { list-style: none; margin: 8px 0; padding: 0; }
.bc-list li { display: flex; align-items: center; gap: 8px; padding: 5px 0; border-bottom: 1px solid var(--line-soft); }
.bc-list .bc-code { font-family: ui-monospace, Consolas, monospace; }
.bc-add { display: grid; grid-template-columns: 1fr 1fr auto; gap: 8px; margin-top: 10px; }
.bc-note { font-size: 12px; color: var(--muted); margin: 6px 0; }
.checks-grid td { height: auto; overflow: visible; text-overflow: clip; white-space: normal; }
.checks-grid .cg-trash { width: 56px; }
.cv-table td { height: auto; white-space: normal; overflow: visible; text-overflow: clip; }
.bc-more { color: var(--muted); }
.bc-boxes { margin: 0 0 10px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 4px; background: var(--grid-head); }
.bc-box-row { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 6px; }
.bc-box { min-width: 26px; height: 22px; padding: 0 4px; box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; font-size: 11px; border: 1px solid var(--line-strong); border-radius: 3px; color: var(--muted); background: #fff; }
.bc-box.on { background: var(--blue); border-color: var(--blue); color: #fff; }
.bc-box.over { background: #B26A00; border-color: #B26A00; }
.bc-over { color: #B26A00; }
.bc-list .spacer { flex: 1; }
