:root {
  color: #172a3a;
  background: #f3f7f8;
  font-family: Inter, "Segoe UI", Arial, sans-serif;
  font-synthesis: none;
}

* { box-sizing: border-box; }
body { margin: 0; background: #f3f7f8; color: #172a3a; }
button, input, select, textarea { font: inherit; }

.app-shell { min-height: 100vh; display: grid; grid-template-columns: 232px minmax(0, 1fr); }
.sidebar { position: sticky; top: 0; height: 100vh; padding: 28px 18px; color: #dce8ee; background: #102b3f; }
.brand { margin: 0 10px 30px; color: #fff; font-size: 25px; font-weight: 800; }
.brand span { display: block; margin-top: 3px; color: #8fb1c3; font-size: 11px; font-weight: 600; text-transform: uppercase; }
.sidebar nav { display: grid; gap: 5px; }
.nav-item { min-height: 43px; display: flex; flex-direction: column; justify-content: center; padding: 8px 12px; border-radius: 6px; font-size: 14px; font-weight: 650; }
.nav-item.active { color: #fff; background: #087f8c; }
.nav-item.disabled { color: #9eb2be; }
.nav-item small { margin-top: 2px; color: #6f8b9a; font-size: 10px; font-weight: 500; }
.sidebar-note { position: absolute; right: 28px; bottom: 22px; left: 28px; color: #8ca5b3; font-size: 11px; line-height: 1.5; }

.main-content { min-width: 0; padding: 30px clamp(24px, 4vw, 56px) 56px; }
.page-header { display: flex; justify-content: space-between; gap: 24px; align-items: flex-start; }
.eyebrow { margin: 0 0 7px; color: #087f8c; font-size: 11px; font-weight: 800; text-transform: uppercase; }
h1 { max-width: 920px; margin: 0; color: #102b3f; font-size: 29px; line-height: 1.2; }
h2 { margin: 0; color: #102b3f; font-size: 19px; }
.buyer { margin: 9px 0 0; color: #607481; font-size: 14px; }
.deadline { flex: 0 0 auto; padding: 9px 12px; border: 1px solid #bfd0d7; border-radius: 6px; background: #fff; font-size: 12px; font-weight: 750; }
.deadline-danger { color: #a63030; border-color: #e7b5b5; background: #fff4f4; }
.deadline-warning { color: #885d00; border-color: #ead194; background: #fff9e8; }

.facts { display: grid; grid-template-columns: repeat(6, minmax(120px, 1fr)); margin-top: 24px; border: 1px solid #d7e2e6; border-radius: 7px; background: #fff; overflow: hidden; }
.facts div { min-width: 0; padding: 14px 16px; border-right: 1px solid #e3ebee; }
.facts div:last-child { border-right: 0; }
.facts span, .status-block span { display: block; margin-bottom: 5px; color: #6a7d87; font-size: 11px; text-transform: uppercase; }
.facts strong { display: block; overflow-wrap: anywhere; font-size: 13px; }

.status-strip { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 16px; }
.status-block { padding: 13px 15px; border: 1px solid #d6e2e6; border-left: 4px solid #7893a1; border-radius: 6px; background: #fff; }
.status-block.internal { border-left-color: #087f8c; }
.status-block.decision { border-left-color: #3a6ea5; }
.status-block.decision-participar { border-left-color: #23835a; }
.status-block.decision-no_participar { border-left-color: #b45151; }
.status-block.decision-seguir_revisando { border-left-color: #3a6ea5; }
.status-block strong { font-size: 14px; text-transform: capitalize; }

.content-grid { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 18px; margin-top: 18px; }
.panel { border: 1px solid #d5e1e5; border-radius: 7px; background: #fff; box-shadow: 0 1px 2px rgba(15, 43, 61, .04); }
.qualification-panel, .ai-panel, .history-panel, .admissibility-panel { padding: 20px; }
.document-status { display: flex; justify-content: space-between; gap: 24px; align-items: center; padding: 16px 18px; margin: 18px 0; border: 1px solid #d7e4dc; border-left: 4px solid #76857e; background: #fff; }
.document-status span, .document-status dt { color: #52665e; font-size: 12px; }
.document-status strong { display: block; margin-top: 3px; color: #0a3325; }
.document-status p { margin: 5px 0 0; color: #52665e; font-size: 13px; }
.document-status dl { display: flex; gap: 24px; margin: 0; }
.document-status dl div { min-width: 110px; }
.document-status dd { margin: 3px 0 0; color: #0a3325; font-size: 18px; font-weight: 700; }
.document-status-success { border-left-color: #0b7a45; }
.document-status-info { border-left-color: #2878a8; }
.document-status-warning { border-left-color: #b7791f; }
.document-status-danger { border-left-color: #b42318; }
.document-obtain-button { flex: 0 0 auto; white-space: nowrap; }
.panel-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; margin-bottom: 18px; }
.save-state { min-height: 18px; color: #087f8c; font-size: 12px; font-weight: 700; }
.save-state.error { color: #a63030; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
label { display: grid; gap: 6px; color: #405864; font-size: 12px; font-weight: 700; }
input, select, textarea { width: 100%; min-width: 0; border: 1px solid #bfcfd6; border-radius: 5px; padding: 10px 11px; color: #172a3a; background: #fff; }
input:focus, select:focus, textarea:focus { outline: 2px solid #9bd6da; border-color: #087f8c; }
textarea { resize: vertical; line-height: 1.45; }
.form-grid + label { margin-top: 14px; }
.rejection-fields { display: grid; grid-template-columns: minmax(220px, .8fr) minmax(0, 1.2fr); gap: 14px; margin-top: 14px; padding: 15px; border: 1px solid #ead9ba; border-radius: 6px; background: #fffbf1; }
.is-hidden { display: none; }
.form-actions { display: flex; align-items: center; gap: 14px; margin-top: 18px; }
.primary-button { border: 0; border-radius: 5px; padding: 10px 15px; color: #fff; background: #087f8c; font-weight: 750; cursor: pointer; }
.primary-button:hover { background: #066c77; }
.primary-button:disabled { cursor: wait; opacity: .65; }
.form-help, .read-only-note { color: #70818a; font-size: 11px; }
.pending-warning { margin-top: 14px; padding: 10px 12px; border-left: 3px solid #c68a13; color: #77520b; background: #fff8e8; font-size: 12px; font-weight: 700; }

.ai-panel { background: #f7fbfd; }
.ai-decision { margin: 16px 0; color: #245f87; font-size: 22px; font-weight: 800; }
.ai-panel dl { margin: 0; }
.ai-panel dl div { display: flex; justify-content: space-between; gap: 15px; padding: 9px 0; border-top: 1px solid #dbe8ed; font-size: 12px; }
.ai-panel dt { color: #68808d; }
.ai-panel dd { margin: 0; font-weight: 700; }
.ai-panel > p:not(.eyebrow) { color: #516b78; font-size: 13px; line-height: 1.5; }
.ai-warning { margin-top: 17px; padding: 10px; border-left: 3px solid #5a8ead; color: #4b6e82; background: #eaf4f8; font-size: 11px; line-height: 1.45; }

.items-panel, .history-panel, .admissibility-panel { margin-top: 18px; }

.admissibility-progress { display: grid; grid-template-columns: repeat(6, minmax(110px, 1fr)); border: 1px solid #d7e4dc; margin: 14px 0; }
.admissibility-progress span { padding: 10px 12px; border-right: 1px solid #d7e4dc; color: #52665e; font-size: 13px; }
.admissibility-progress span:last-child { border-right: 0; }
.admissibility-progress strong { display: block; color: #0a3325; font-size: 18px; }
.admissibility-list { display: grid; gap: 12px; }
.admissibility-requirement { border: 1px solid #d7e4dc; border-left: 4px solid #0b7a45; padding: 16px; background: #fff; }
.admissibility-requirement header { display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; }
.admissibility-requirement h3 { margin: 4px 0 8px; font-size: 17px; }
.category-label { color: #52665e; font-size: 12px; text-transform: uppercase; }
.requirement-kind { padding: 5px 8px; font-size: 12px; white-space: nowrap; border: 1px solid #b7c9bf; }
.requirement-kind.mandatory { color: #8b1d1d; border-color: #d8abab; background: #fff5f5; }
.requirement-kind.optional { color: #52665e; background: #f4f7f5; }
.evidence-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: #d7e4dc; border: 1px solid #d7e4dc; margin: 12px 0; }
.evidence-grid div { background: #f7faf8; padding: 10px; }
.evidence-grid .evidence-excerpt { grid-column: 1 / -1; }
.evidence-grid dt { color: #52665e; font-size: 12px; }
.evidence-grid dd { margin: 4px 0 0; white-space: pre-wrap; }
.admissibility-review-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.admissibility-notes { grid-column: 1 / -1; }
.admissibility-requirement footer { display: flex; gap: 12px; align-items: center; justify-content: flex-end; margin-top: 12px; color: #52665e; font-size: 12px; }
.admissibility-alert { padding: 12px; margin: 10px 0; border-left: 4px solid; }
.admissibility-alert.warning { background: #fff8e6; border-color: #b7791f; }
.admissibility-alert.danger { background: #fff1f1; border-color: #b42318; color: #7a1712; }

@media (max-width: 900px) {
  .admissibility-progress { grid-template-columns: repeat(2, 1fr); }
  .admissibility-progress span { border-bottom: 1px solid #d7e4dc; }
  .evidence-grid, .admissibility-review-grid { grid-template-columns: 1fr; }
  .admissibility-notes, .evidence-grid .evidence-excerpt { grid-column: auto; }
  .admissibility-requirement header, .admissibility-requirement footer { align-items: stretch; flex-direction: column; }
}
.items-panel .panel-heading { padding: 20px 20px 0; }
.items-panel > .read-only-note { margin: 12px 20px 18px; }
.review-progress { display: grid; grid-template-columns: repeat(5, minmax(120px, 1fr)); gap: 1px; margin: 0 20px 18px; border: 1px solid #d8e3e7; border-radius: 6px; overflow: hidden; background: #d8e3e7; }
.review-progress span { padding: 10px 12px; color: #617681; background: #f7fafb; font-size: 11px; }
.review-progress strong { display: block; margin-top: 3px; color: #153246; font-size: 18px; }
.table-scroll { max-width: 100%; overflow-x: auto; }
table { width: 100%; border-collapse: collapse; font-size: 12px; }
th { padding: 10px 12px; color: #5c717d; background: #edf3f5; text-align: left; white-space: nowrap; }
td { padding: 11px 12px; border-top: 1px solid #e2eaed; vertical-align: top; line-height: 1.4; }
td strong { display: block; min-width: 140px; font-size: 12px; }
td small { display: block; margin-top: 3px; color: #73858e; }
.match-score { color: #245f87; font-weight: 800; white-space: nowrap; }
.no-match { color: #7b6c55; font-weight: 700; white-space: nowrap; }
.review-state { display: inline-block; padding: 3px 6px; border-radius: 4px; font-weight: 700; white-space: nowrap; }
.review-state.accepted { color: #176343; background: #e8f5ee; }
.review-state.corrected { color: #245f87; background: #e8f2f8; }
.review-state.rejected { color: #913838; background: #fff0f0; }
.review-state.pending { color: #677983; background: #edf2f4; }
.empty-state { color: #73858f; font-size: 13px; }
.item-review-row td { padding: 0 12px 12px; background: #f7fafb; }
.item-review { border: 1px solid #d5e1e5; border-radius: 6px; background: #fff; }
.item-review summary { padding: 10px 12px; color: #17677b; font-weight: 750; cursor: pointer; }
.item-review[open] summary { border-bottom: 1px solid #e1e9ec; }
.item-review-grid { display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 12px; padding: 14px; }
.item-review-grid > div { min-width: 0; padding: 11px; border: 1px solid #e0e8eb; border-radius: 5px; }
.item-review-grid span { display: block; margin-bottom: 5px; color: #6b7e88; font-size: 10px; font-weight: 800; text-transform: uppercase; }
.item-review-grid strong, .item-review-grid small { display: block; overflow-wrap: anywhere; }
.item-review-grid small { margin-top: 4px; color: #73858e; }
.review-actions { display: flex; flex-wrap: wrap; gap: 8px; padding: 0 14px 14px; }
.review-actions button, .catalog-result { border: 1px solid #bfcfd6; border-radius: 5px; padding: 9px 11px; color: #294653; background: #fff; cursor: pointer; }
.review-actions button:hover, .review-actions button.selected { border-color: #087f8c; color: #066c77; background: #eaf7f7; }
.review-actions button:disabled { cursor: not-allowed; opacity: .45; }
.catalog-picker { margin: 0 14px 14px; padding: 13px; border: 1px solid #bdd9df; border-radius: 6px; background: #f3fafb; }
.catalog-results { display: grid; gap: 6px; max-height: 310px; margin-top: 8px; overflow-y: auto; }
.catalog-result { display: block; width: 100%; text-align: left; }
.catalog-result strong, .catalog-result small { display: block; }
.catalog-result small { margin-top: 3px; color: #6f818a; }
.catalog-result.selected { border-color: #087f8c; background: #e8f7f5; }
.review-meta { display: grid; grid-template-columns: minmax(180px, .4fr) minmax(0, 1fr); gap: 12px; padding: 0 14px 14px; }
.review-save { display: flex; align-items: center; gap: 12px; padding: 0 14px 14px; color: #087f8c; font-size: 12px; font-weight: 700; }
.review-error { color: #a63030; }

@media (max-width: 1180px) {
  .app-shell { grid-template-columns: 205px minmax(0, 1fr); }
  .facts { grid-template-columns: repeat(3, 1fr); }
  .facts div:nth-child(3) { border-right: 0; }
  .facts div:nth-child(-n+3) { border-bottom: 1px solid #e3ebee; }
  .content-grid { grid-template-columns: minmax(0, 1fr) 280px; }
}

@media (max-width: 900px) {
  .app-shell { grid-template-columns: 180px minmax(0, 1fr); }
  .main-content { padding: 24px 20px 40px; }
  .content-grid { grid-template-columns: 1fr; }
  .status-strip { grid-template-columns: 1fr; }
  .document-status, .document-status dl { align-items: stretch; flex-direction: column; }
  .form-grid, .rejection-fields { grid-template-columns: 1fr; }
  .sidebar { padding-right: 12px; padding-left: 12px; }
  .review-progress { grid-template-columns: repeat(2, 1fr); }
  .item-review-grid, .review-meta { grid-template-columns: 1fr; }
}
.opportunity-list { display: grid; }
.opportunity-list-row { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(150px, 1fr); align-items: center; gap: 16px; padding: 14px 4px; border-bottom: 1px solid #dbe5df; color: inherit; text-decoration: none; }
.opportunity-list-row:last-child { border-bottom: 0; }
.opportunity-list-row span:first-child { display: grid; gap: 4px; }
.opportunity-list-row small { color: #52665e; }
.opportunity-list-row select { min-height: 80px; }
.toggle-row { display: flex; align-items: center; gap: 10px; }
.table-scroll { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; text-align: left; }
th, td { padding: 12px 8px; border-bottom: 1px solid #dbe5df; }
fieldset { border: 1px solid #dbe5df; display: grid; gap: 8px; grid-column: 1 / -1; }
.pagination { display: flex; justify-content: flex-end; align-items: center; gap: 16px; padding-top: 16px; }
@media (max-width: 700px) { .opportunity-list-row { grid-template-columns: 1fr; } }

/* Shared visual system */
:root {
  color: #18342f;
  background: #f4f7f5;
  --ink: #18342f;
  --muted: #667873;
  --line: #dce6e1;
  --canvas: #f4f7f5;
  --paper: #fff;
  --brand: #087c59;
  --brand-dark: #066548;
  --brand-soft: #e8f4ee;
  --blue: #356f91;
  --blue-soft: #eaf2f7;
  --gold: #946514;
  --gold-soft: #fbf4e4;
  --red: #a43f3f;
  --red-soft: #fbefef;
  --success: #237653;
}
body { color: var(--ink); background: var(--canvas); }
.app-shell { background: var(--canvas); }
.sidebar { background: #fff; color: var(--ink); border-right: 1px solid var(--line); }
.brand { display: grid; gap: 11px; align-items: start; margin: 0 6px 23px; padding: 8px 8px 19px; border-bottom: 1px solid #e5ede8; }
.brand-logo { display: block; width: min(100%, 174px); height: auto; border-radius: 2px; }
.brand span { margin: 0; color: var(--muted); font-size: 10px; font-weight: 750; letter-spacing: .5px; text-transform: uppercase; }
.sidebar nav { gap: 6px; }
.nav-item { border: 1px solid transparent; transition: background-color .16s ease, color .16s ease, border-color .16s ease; }
.nav-item { color: #4d655a; }
.nav-item:hover { color: var(--brand-dark); background: #f2f8f4; }
.nav-item.active { color: #075f43; border-color: #c8e2d3; background: #e8f4ee; }
.nav-item.disabled { color: #afc2ba; }
.nav-item small { color: var(--muted); }
.sidebar-note { position: static; margin: auto 10px 12px; padding-top: 14px; border-top: 1px solid var(--line); color: var(--muted); }
.main-content { background: var(--canvas); }
h1, h2 { color: #183a32; }
.eyebrow { color: var(--brand); }
.buyer, .facts span, .status-block span { color: var(--muted); }
.deadline { border-color: var(--line); border-radius: 7px; box-shadow: 0 2px 8px rgba(24, 52, 47, .04); }
.facts { border-color: var(--line); border-radius: 8px; box-shadow: 0 3px 12px rgba(24, 52, 47, .035); }
.facts div { border-color: #e7eeea; }
.status-block { border-color: var(--line); border-radius: 7px; box-shadow: 0 2px 8px rgba(24, 52, 47, .025); }
.status-block.internal { border-left-color: var(--brand); }
.status-block.decision { border-left-color: var(--blue); }
.content-grid { gap: 16px; }
.panel { border-color: var(--line); border-radius: 8px; box-shadow: 0 3px 12px rgba(24, 52, 47, .045); }
.document-status { border-color: var(--line); border-radius: 7px; background: #fff; }
.document-status strong, .document-status dd { color: #23483b; }
.document-status-success { border-left-color: var(--success); }
.document-status-info { border-left-color: var(--blue); }
.document-status-warning { border-left-color: #b27b1b; }
.document-status-danger { border-left-color: var(--red); }
input, select, textarea { border-color: #cbd9d2; border-radius: 6px; color: var(--ink); }
input::placeholder, textarea::placeholder { color: #899892; }
input:focus, select:focus, textarea:focus { outline: 3px solid rgba(8, 124, 89, .16); border-color: var(--brand); }
button, a { -webkit-tap-highlight-color: transparent; }
.primary-button { min-height: 40px; border-radius: 6px; background: var(--brand); transition: background-color .16s ease, transform .16s ease, box-shadow .16s ease; }
.primary-button:hover { background: var(--brand-dark); box-shadow: 0 3px 9px rgba(8, 100, 69, .18); }
.primary-button:active { transform: translateY(1px); }
.secondary-button { display: inline-flex; min-height: 40px; align-items: center; justify-content: center; padding: 0 13px; border: 1px solid #cbd9d2; border-radius: 6px; color: #31574a; background: #fff; font-size: 13px; font-weight: 700; text-decoration: none; cursor: pointer; }
.secondary-button:hover { border-color: #8db6a1; color: var(--brand-dark); background: #f6faf7; }
.sidebar form { margin: 18px 0 0; }
.sidebar form .secondary-button { width: 100%; border-color: #d4e1da; color: #31574a; background: #fff; }
.sidebar form .secondary-button:hover { border-color: #8db6a1; color: var(--brand-dark); background: #f6faf7; }
.panel-heading { margin-bottom: 16px; }
.save-state, .review-save { color: var(--brand); }
.ai-panel { border-color: #d7e6e9; background: #f5faf9; }
.ai-decision { color: var(--blue); }
.ai-panel dl div { border-color: #e0ebe8; }
.ai-warning { border-left-color: var(--blue); color: #456b7c; background: var(--blue-soft); }
.pending-warning { border-radius: 0 6px 6px 0; border-left-color: #c58a24; color: #77550f; background: var(--gold-soft); }
.rejection-fields { border-color: #eadfbe; border-radius: 7px; background: #fffbf1; }
.admissibility-progress { border-color: var(--line); border-radius: 7px; overflow: hidden; background: var(--line); }
.admissibility-progress span { border-color: var(--line); color: #52665e; background: #fff; }
.admissibility-progress strong { color: #23483b; }
.admissibility-requirement { border-color: var(--line); border-left-color: var(--success); border-radius: 7px; }
.category-label { color: var(--muted); }
.requirement-kind { border-radius: 5px; }
.requirement-kind.mandatory { color: #963b3b; border-color: #e6c6c6; background: var(--red-soft); }
.requirement-kind.optional { color: #52665e; background: #f1f5f2; }
.evidence-grid { gap: 1px; border-color: var(--line); background: var(--line); border-radius: 6px; overflow: hidden; }
.evidence-grid div { background: #f7faf8; }
.admissibility-alert.warning { border-color: #b27b1b; background: var(--gold-soft); }
.admissibility-alert.danger { border-color: var(--red); border-radius: 0 6px 6px 0; background: var(--red-soft); color: #7a2929; }
.review-progress { border-color: var(--line); border-radius: 7px; background: var(--line); }
.review-progress span { color: var(--muted); background: #f7faf8; }
.review-progress strong { color: #23483b; }
.table-scroll { border-radius: 7px; }
table { color: #314740; }
th { color: #5b7168; background: #f0f5f2; font-size: 11px; font-weight: 750; }
th, td { border-color: #e4ece7; }
tbody tr { transition: background-color .12s ease; }
tbody tr:hover { background: #f7faf8; }
td strong { color: #24483b; }
td small { color: #71817b; }
.match-score, .item-review summary { color: var(--blue); }
.review-state { border-radius: 5px; }
.review-state.accepted { color: #226744; background: #eaf5ed; }
.review-state.corrected { color: #356785; background: var(--blue-soft); }
.review-state.rejected { color: #963b3b; background: var(--red-soft); }
.review-state.pending { color: #667873; background: #eff3f1; }
.item-review, .item-review-grid > div { border-color: var(--line); border-radius: 7px; }
.item-review summary { transition: background-color .15s ease; }
.item-review summary:hover { background: #f6faf8; }
.item-review[open] summary { border-color: var(--line); }
.review-actions button, .catalog-result { border-color: #cbd9d2; border-radius: 6px; color: #31574a; }
.review-actions button:hover, .review-actions button.selected { border-color: var(--brand); color: var(--brand-dark); background: var(--brand-soft); }
.catalog-picker { border-color: #d2e4db; border-radius: 7px; background: #f5faf7; }
.catalog-result.selected { border-color: var(--brand); background: var(--brand-soft); }
.review-error { color: var(--red); }
.opportunity-list-row { border-color: #e4ece7; border-radius: 6px; transition: background-color .15s ease, padding .15s ease; }
.opportunity-list-row:hover { padding-right: 9px; padding-left: 9px; background: #f6faf7; }
.opportunity-list-row small { color: var(--muted); }
fieldset { border-color: var(--line); border-radius: 7px; }
.pagination { color: var(--muted); }
.pagination a { color: var(--brand); font-weight: 700; text-decoration: none; }
.pagination a:hover { color: var(--brand-dark); text-decoration: underline; }
.catalog-toolbar { border-color: var(--line); border-radius: 8px 8px 0 0; background: #fff; }
.catalog-help { color: var(--muted); }
.catalog-stock strong { color: var(--success); }
.catalog-stock.pending strong { color: var(--gold); }
.catalog-stock small { color: var(--muted); }
.empty-state { color: var(--muted); }
.readiness-panel { border-left: 4px solid var(--success); }
.readiness-panel.needs-work { border-left-color: #b27b1b; background: #fffcf4; }
.readiness-panel ul { margin: 0 0 12px; padding-left: 22px; }
.readiness-panel li { margin: 5px 0; color: #77550f; }
.bulk-review-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 12px; border: 1px solid var(--line); border-radius: 7px; background: #f7faf8; }
.bulk-review-toolbar > span:first-child { margin-right: auto; color: var(--muted); }
.bulk-review-toolbar button:disabled { opacity: .5; cursor: not-allowed; }
.bulk-review-toolbar [role="status"] { flex-basis: 100%; color: var(--muted); }
.stock-inline { display: block; color: #3f6455; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.coverage-issues { margin: 8px 0; padding-left: 22px; }
.coverage-run { display: grid; gap: 4px; }
#matching-learning-summary { display: flex; flex-wrap: wrap; gap: 1px; margin: 12px 0; }
#matching-learning-summary span { padding: 12px 16px; background: #f7faf8; }
:focus-visible { outline: 3px solid rgba(8, 124, 89, .35); outline-offset: 2px; }

@media (max-width: 700px) {
  .main-content { padding: 22px 16px 36px; }
  .sidebar { padding-top: 20px; }
  .catalog-toolbar { border-radius: 8px 8px 0 0; }
  .catalog-search .primary-button, .catalog-search .secondary-button { width: 100%; }
}
