/* Invoice row actions (invoice-row-actions.js): the invoice state and buttons on a job row, the tick boxes, and the
   "N selected" bar. Compact like the rest of the Jobs list: buttons visible without hover, plain words. */
.irow { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; min-width: 0; font-size: var(--ds-text-sm); line-height: var(--ds-lh-sm); }
/* One line: state on the left (shortened with the full words on hover), buttons and Review on the right. */
.irow > .irow-st { flex: 1 1 auto; min-width: 0; }
.irow > .irow-acts { margin-left: auto; }
.irow .irow-st { padding: 0; border: 0; background: none; font: inherit; font-weight: var(--ds-w-medium); color: var(--ds-ink); text-align: left; cursor: pointer; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
.irow .irow-st:hover { text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--ds-field); }
.irow.irow-sent .irow-st, .irow.irow-none .irow-st, .irow .irow-wait { color: var(--ds-ink-3); font-weight: var(--ds-w-regular); }
.irow.irow-attention .irow-st, .irow.irow-no_email .irow-st, .irow.irow-big .irow-st { color: var(--ds-ink); }
.irow .irow-acts { display: inline-flex; gap: 6px; flex: none; }
.irow-b { height: 26px; padding: 0 10px; border: 0; border-radius: var(--ds-r-md); background: var(--ds-surface); box-shadow: inset 0 0 0 1px var(--ds-field); font: inherit; font-size: var(--ds-text-sm); font-weight: var(--ds-w-medium); color: var(--ds-ink); white-space: nowrap; cursor: pointer; }
.irow-b:hover { box-shadow: inset 0 0 0 1px var(--ds-ink-3); }
.irow-b.pri { background: var(--ds-action); color: var(--ds-action-fg); box-shadow: none; }
.irow-b.pri:hover { background: var(--ds-action-hover); }
.irow-b:focus-visible, .irow .irow-st:focus-visible, .irow-rv:focus-visible, .irow-clear:focus-visible, .irow-ck input:focus-visible { outline: var(--ds-focus-w) solid var(--ds-focus); outline-offset: 2px; }
.irow-rv, .irow-clear { padding: 0; border: 0; background: none; font: inherit; font-size: var(--ds-text-sm); color: var(--ds-ink-2); text-decoration: underline; text-decoration-color: var(--ds-field); text-underline-offset: 3px; cursor: pointer; white-space: nowrap; }
.irow .irow-why { flex-basis: 100%; color: var(--ds-ink-3); }
.irow .irow-why.bad { color: var(--ds-bad-ink); }
.irow-ck { display: inline-grid; place-items: center; width: 24px; height: 24px; cursor: pointer; }
.irow-ck input { width: 16px; height: 16px; margin: 0; accent-color: var(--ds-action); cursor: pointer; }
.irow-bar, .irow-sum { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; padding: 8px 12px; margin: 0 0 8px; border-radius: var(--ds-r-md); background: var(--ds-surface); box-shadow: inset 0 0 0 1px var(--ds-line); font-size: var(--ds-text-sm); }
.irow-bar { position: sticky; top: 0; z-index: 3; }
.irow-bar .irow-n { font-weight: var(--ds-w-medium); margin-right: 4px; }
.irow-bar .irow-barend { margin-left: auto; display: inline-flex; align-items: center; gap: 10px; }
.irow-sum .irow-clear { margin-left: auto; }
.irow-bar .irow-why { color: var(--ds-ink-3); }
/* Jobs list host (jobs-queue-after.js, Internal Billing Sent): the tick box column and the group's select-all. */
.jq .jq-c-ck { display: flex; align-items: flex-start; margin-top: -3px; }
.jq .jq-lhead .jq-c-ck { align-items: center; margin-top: 0; }
.jq .jq-c-inv { min-width: 0; }
.jq .jq-ghwrap { display: flex; align-items: center; position: sticky; top: var(--ds-lhead-h); z-index: 1; padding-left: calc(var(--ds-gutter) - 4px); background: var(--ds-surface); box-shadow: inset 0 -1px 0 var(--ds-line); }
.jq .jq-ghwrap .jq-ghead { position: static; flex: 1; min-width: 0; padding-left: var(--ds-s-2); box-shadow: none; }
.jq-afterlane .irow-bar { margin: 0 var(--ds-gutter) 8px; }
.jq-afterlane .irow-sum { margin: 0 var(--ds-gutter) 8px; }
