/* Review queue as one shared inbox (spec 1625). Builds on the /assignments chrome (the page carries
   .assignments-page), so tables, toolbar controls and row buttons are the shared ones. This file only
   lays out the sections, the document group headers, the selection bar and the Undo notice. */

.review-inbox { display: flex; flex-direction: column; gap: var(--space-4); padding-bottom: 96px; min-width: 0; }
.review-inbox .inbox-header { margin-bottom: 0; }
.review-inbox .inbox-summary { margin: 0; color: var(--color-text-secondary); font-size: var(--text-subhead); }
.review-inbox .inbox-summary strong { color: var(--color-navy); }
.review-inbox .inbox-summary-link { margin-left: var(--space-2); color: var(--color-text-link); }
.review-inbox .inbox-panel { display: flex; flex-direction: column; gap: var(--space-5); min-width: 0; }

/* Toolbar: one 44px row that wraps on narrow screens. */
.review-inbox .inbox-toolbar-card { overflow: visible; }
.review-inbox .inbox-toolbar { gap: var(--space-3); padding: var(--space-3) var(--space-4); border-bottom: none; }
.review-inbox .inbox-toolbar .search-field { max-width: 420px; min-width: 240px; }
.review-inbox .inbox-check { display: inline-flex; align-items: center; gap: var(--space-2); height: 44px; font-size: var(--text-subhead); color: var(--color-navy); white-space: nowrap; cursor: pointer; }
.review-inbox .inbox-date { display: inline-flex; align-items: center; gap: var(--space-2); font-size: var(--text-caption1); color: var(--color-text-secondary); }
.review-inbox .inbox-date input { height: 44px; padding: 0 var(--space-2); font-family: inherit; }
.review-inbox .inbox-export { margin-left: auto; height: 44px; }

.review-inbox .inbox-match { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--space-2); margin: calc(-1 * var(--space-2)) 0 0; font-size: var(--text-subhead); color: var(--color-text-secondary); }
.review-inbox .inbox-match strong { color: var(--color-navy); }
.review-inbox .inbox-keys { font-size: var(--text-caption1); color: var(--color-service-grey); }

/* Sections */
.review-inbox .inbox-section { display: flex; flex-direction: column; gap: var(--space-3); min-width: 0; }
.review-inbox .inbox-section-head { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2) var(--space-4); }
.review-inbox .inbox-section-title { margin: 0; font-family: var(--font-heading); font-size: var(--text-title3); font-weight: var(--font-medium); color: var(--color-navy); display: inline-flex; align-items: center; gap: var(--space-2); }
.review-inbox .inbox-count { display: inline-flex; align-items: center; justify-content: center; min-width: 28px; height: 22px; padding: 0 var(--space-2); border-radius: var(--radius-full); background: var(--color-surface); border: 1px solid var(--color-border-light); font-size: var(--text-caption1); font-family: var(--font-primary); color: var(--color-text-secondary); }
.review-inbox .inbox-section-note { flex: 1 1 280px; font-size: var(--text-caption1); color: var(--color-service-grey); }
.review-inbox .inbox-section-note a { color: var(--color-text-link); text-decoration: underline; text-underline-offset: 2px; }
.review-inbox .inbox-section-head .btn { height: 40px; }

.review-inbox .inbox-strong { display: block; color: var(--color-navy); font-weight: var(--font-medium); }
.review-inbox .inbox-sub { display: block; margin-top: 2px; font-size: var(--text-caption1); color: var(--color-text-secondary); }
.review-inbox .inbox-note { display: block; margin-top: 2px; font-size: var(--text-caption1); color: var(--color-navy); font-style: italic; }
.review-inbox .inbox-muted { color: var(--color-service-grey); }
.review-inbox .inbox-nowrap { white-space: nowrap; }
.review-inbox .inbox-doc-code { font-family: var(--font-mono); font-size: var(--text-caption1); color: var(--color-text-secondary); white-space: nowrap; }
.review-inbox .inbox-tag { display: inline-flex; align-items: center; padding: 1px var(--space-2); border-radius: var(--radius-full); background: var(--color-surface); border: 1px solid var(--color-border-light); font-size: var(--text-caption2); font-weight: var(--font-medium); color: var(--color-text-secondary); white-space: nowrap; }
.review-inbox .inbox-tag-confirmed, .review-inbox .inbox-tag-approved { background: var(--color-success-tint); border-color: var(--color-success-tint-border); color: var(--color-success); }
.review-inbox .inbox-tag-rejected { background: var(--color-error-tint); border-color: var(--color-error-tint-border); color: var(--color-error); }
.review-inbox .inbox-tag-reopened, .review-inbox .inbox-tag-edited { background: var(--color-info-tint); border-color: var(--color-info-tint-border); color: var(--color-info); }
.review-inbox .inbox-score { font-weight: var(--font-medium); color: var(--color-text-secondary); }
.review-inbox .inbox-score-new { color: var(--color-warning); }
.review-inbox td.inbox-actions { white-space: nowrap; width: 1%; }
.review-inbox td.inbox-actions .row-cta { display: inline-flex; width: auto; }
.review-inbox td.inbox-actions .row-cta + .row-cta { margin-left: var(--space-2); }
.review-inbox .inbox-row-error { margin-top: var(--space-1); font-size: var(--text-caption1); color: var(--color-error); white-space: normal; text-align: left; }
.review-inbox .inbox-reopen-note { margin: var(--space-2) var(--space-4); font-size: var(--text-caption1); color: var(--color-text-secondary); }
.review-inbox .inbox-reject-row td { background: var(--color-surface); }
.review-inbox .inbox-label { display: block; margin-bottom: var(--space-1); font-size: var(--text-caption1); color: var(--color-text-secondary); }
.review-inbox .inbox-reject-form { display: flex; flex-wrap: wrap; gap: var(--space-2); align-items: center; }
.review-inbox .inbox-input { flex: 1 1 280px; height: 40px; padding: 0 var(--space-3); border: 1.5px solid var(--color-control-border); border-radius: var(--radius-md); font: inherit; }
.review-inbox .inbox-more, .review-inbox .inbox-link-btn { align-self: flex-start; padding: var(--space-1) 0; border: none; background: none; font: inherit; font-size: var(--text-subhead); color: var(--color-text-link); cursor: pointer; }
.review-inbox .inbox-link-btn:disabled { color: var(--color-service-grey); cursor: default; }
.review-inbox .inbox-more:hover, .review-inbox .inbox-link-btn:hover:not(:disabled) { text-decoration: underline; }

/* Document groups */
.review-inbox .inbox-group { border: 1px solid var(--color-border-light); border-radius: var(--radius-md); background: var(--color-white); min-width: 0; }
.review-inbox .inbox-group + .inbox-group { margin-top: var(--space-2); }
.review-inbox .inbox-group-head { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2) var(--space-4); padding: var(--space-2) var(--space-4) var(--space-2) var(--space-2); }
.review-inbox .inbox-group-toggle { display: inline-flex; align-items: center; gap: var(--space-2); flex: 1 1 320px; min-width: 0; min-height: 44px; padding: 0 var(--space-2); border: none; background: none; font: inherit; text-align: left; justify-content: flex-start; cursor: pointer; border-radius: var(--radius-sm); }
.review-inbox .inbox-group-toggle:focus-visible { outline: none; box-shadow: var(--shadow-focus); }
.review-inbox .inbox-chevron { flex: none; width: 16px; height: 16px; color: var(--color-service-grey); transition: transform var(--duration-fast, .14s); }
.review-inbox .inbox-group.open .inbox-chevron { transform: rotate(90deg); }
.review-inbox .inbox-group-title { display: flex; align-items: baseline; gap: var(--space-3); min-width: 0; }
.review-inbox .inbox-doc-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: var(--font-medium); color: var(--color-navy); }
.review-inbox .inbox-group-counts { display: inline-flex; flex-wrap: wrap; gap: var(--space-3); font-size: var(--text-caption1); color: var(--color-text-secondary); }
.review-inbox .inbox-group-counts strong { color: var(--color-navy); }
.review-inbox .inbox-blocked { color: var(--color-warning); }
.review-inbox .inbox-group-confirm { height: 40px; }
.review-inbox .inbox-group-body { border-top: 1px solid var(--color-border-light); padding: var(--space-2) var(--space-2) var(--space-3); min-width: 0; }
.review-inbox .inbox-group-body .data-table-wrapper { border: none; box-shadow: none; }
.review-inbox .inbox-group-empty { margin: var(--space-3); color: var(--color-text-secondary); font-size: var(--text-subhead); }

/* Selection bar: sticky at the bottom of the viewport while rows are selected. */
.review-inbox .inbox-bulkbar { position: sticky; bottom: var(--space-4); z-index: 20; display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2) var(--space-4); padding: var(--space-3) var(--space-4); background: var(--color-navy); color: var(--color-white); border-radius: var(--radius-md); box-shadow: var(--shadow-lg); }
.review-inbox .inbox-bulkbar .inbox-link-btn { color: var(--color-white); text-decoration: underline; }
.review-inbox .inbox-bulk-confirm { margin-left: auto; height: 40px; background: var(--color-white); color: var(--color-navy); }
.review-inbox .inbox-bulk-confirm:hover:not(:disabled) { background: var(--color-surface); color: var(--color-navy); }
.inbox-bulk-facts { margin: 0 0 var(--space-3); padding-left: var(--space-5); display: flex; flex-direction: column; gap: var(--space-1); font-size: var(--text-subhead); color: var(--color-navy); }

/* Edit dialog */
.inbox-edit-subject { display: flex; flex-direction: column; gap: 2px; margin-bottom: var(--space-3); padding: var(--space-3); border-radius: var(--radius-sm); background: var(--color-surface); }
.inbox-edit-kinds { display: flex; flex-direction: column; gap: var(--space-1); margin: 0 0 var(--space-3); padding: 0; border: none; }
.inbox-edit-consequence { margin: var(--space-2) 0 0; font-size: var(--text-caption1); color: var(--color-text-secondary); }
.inbox-icon-btn { min-width: 32px; min-height: 32px; display: inline-flex; align-items: center; justify-content: center; }

/* Undo notice */
.review-inbox .inbox-toast { position: fixed; left: 50%; bottom: var(--space-6); transform: translateX(-50%); z-index: 300; display: flex; align-items: center; gap: var(--space-3); max-width: calc(100vw - 32px); padding: var(--space-2) var(--space-2) var(--space-2) var(--space-4); border-radius: var(--radius-full); background: var(--color-deep-navy); color: var(--color-white); font-size: var(--text-subhead); box-shadow: var(--shadow-lg); }
.review-inbox .inbox-toast-undo { padding: var(--space-1) var(--space-3); border: 1px solid var(--color-white); border-radius: var(--radius-full); background: none; color: var(--color-white); font: inherit; font-weight: var(--font-medium); cursor: pointer; }
.review-inbox .inbox-toast-undo:hover { background: var(--color-white); color: var(--color-deep-navy); }
.review-inbox .inbox-toast-close { display: inline-flex; padding: var(--space-1); border: none; background: none; color: var(--color-white); cursor: pointer; border-radius: var(--radius-full); }

/* History */
.review-inbox .inbox-history-policy td { background: var(--color-surface); }
.review-inbox .inbox-pager { display: flex; align-items: center; justify-content: center; gap: var(--space-4); padding: var(--space-3); font-size: var(--text-subhead); color: var(--color-text-secondary); }

@media (max-width: 720px) {
    .review-inbox .inbox-toolbar > .filter-select, .review-inbox .inbox-toolbar > .inbox-check { flex: 1 1 calc(50% - var(--space-3)); min-width: 0; }
    .review-inbox td.inbox-actions { white-space: normal; }
    .review-inbox .inbox-toolbar .search-field { max-width: none; flex-basis: 100%; }
    .review-inbox .inbox-group-confirm, .review-inbox .inbox-bulk-confirm { width: 100%; margin-left: 0; }
    .review-inbox .inbox-export { margin-left: 0; }
    .review-inbox .inbox-keys { display: none; }
    .review-inbox .inbox-doc-name { white-space: normal; }
}

/* Regulation matches (feature 1624, stage 2): groups by regulation, the passage opens the source. */
.review-inbox .inbox-reg-title { flex: 1 1 320px; padding: 0 var(--space-2); }
.review-inbox .inbox-reg-table .inbox-reg-select { width: 44px; }
.review-inbox .inbox-reg-passage { width: 100%; border: none; background: none; text-align: left; font-family: inherit; }
