/* Comparison overview. Scoped to keep invoice previews and batch list unchanged. */
#xr-compare.xr-compare--review, .xr-source-view {
  --review-surface: #fff;
  --review-quiet: #f6f8fa;
  --review-text: #23333f;
  --review-muted: #596975;
  --review-line: #dce3e8;
  --review-blue: #006abd;
  --review-red: #b83246;
  --review-red-soft: #fcf0f1;
  --review-green: #24794e;
  --review-green-soft: #edf8f1;
  --review-amber: #886414;
  --review-amber-soft: #fbf6e9;
  --review-orange: #ad5700;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: var(--review-surface);
  color: var(--review-text);
}
body.darkmode #xr-compare.xr-compare--review, body.darkmode .xr-source-view {
  --review-surface: #202428;
  --review-quiet: #272c30;
  --review-text: #edf0f3;
  --review-muted: #b4bec6;
  --review-line: #465059;
  --review-blue: #82c4fa;
  --review-red: #f49da5;
  --review-red-soft: #36272c;
  --review-green: #88d4ad;
  --review-green-soft: #263c31;
  --review-amber: #e4c375;
  --review-amber-soft: #3a3425;
  --review-orange: #ffb575;
}
#xr-compare.xr-compare--review *, .xr-preview--review .xr-preview-header * { letter-spacing: 0; }
#xr-compare.xr-compare--review [hidden] { display: none !important; }
.xr-preview--review .xr-preview-header { margin-bottom: 12px; flex-wrap: wrap; gap: 16px; }
.xr-preview--review .xr-tabs { border-radius: 6px; box-shadow: none; }
.xr-preview--review .xr-tab { border-radius: 4px; font-weight: 600; }
body.darkmode .xr-preview--review .xr-tabs { background: #272c30; border-color: #465059; }
body.darkmode .xr-preview--review .xr-tab { color: #edf0f3; }
body.darkmode .xr-preview--review .xr-tab.is-active { background: #465059; }
#xr-compare.xr-compare--review .xr-compare-head { align-items: center; padding-bottom: 18px; gap: 16px; }
#xr-compare.xr-compare--review .xr-result-filename {
  display: flex; align-items: center; gap: 8px; min-width: 0;
  font-size: 14px; color: var(--review-muted); overflow-wrap: anywhere;
}
#xr-compare.xr-compare--review .xr-result-filename .material-icons-outlined { font-size: 20px; flex-shrink: 0; }
#xr-compare.xr-compare--review .xr-compare-actions { min-width: 0; max-width: 100%; }
#xr-compare.xr-compare--review .xr-testdata-wrap { min-width: 0; max-width: 100%; }
#xr-compare.xr-compare--review .xr-testdata-btn > :not(.material-icons-outlined) { min-width: 0; overflow-wrap: anywhere; }
#xr-compare.xr-compare--review .xr-testdata-btn {
  min-height: 42px; padding: 8px 12px; border: 1px solid var(--review-line);
  border-radius: 6px; background: var(--review-surface); color: var(--review-text);
  box-shadow: none; font-size: 14px; font-weight: 600; white-space: normal; max-width: 100%;
}
#xr-compare.xr-compare--review .xr-check-toolbar {
  display: flex; align-items: center; flex-wrap: wrap; gap: 12px 24px;
  padding: 14px 16px; border-block: 1px solid var(--review-line);
  background: var(--review-quiet);
}
#xr-compare.xr-compare--review .xr-check-toolbar:not(:has(.xr-check-status:not([hidden]), .xr-check-actions > :not([hidden]))) { display: none; }
#xr-compare.xr-compare--review .xr-check-status { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 8px; font-size: 13px; }
#xr-compare.xr-compare--review .xr-check-status small { font-size: 12px; color: var(--review-muted); }
#xr-compare.xr-compare--review .xr-check-status .material-icons-outlined { font-size: 18px; color: var(--review-blue); }
#xr-compare.xr-compare--review .xr-check-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-left: auto; }
#xr-compare.xr-compare--review :is(.xr-result-action, .xr-booking-advisory__action, .xr-vies-inline__action) {
  display: inline-flex; align-items: center; justify-content: center; gap: 7px;
  min-height: 40px; max-width: 100%; padding: 8px 12px; border: 1px solid var(--review-blue);
  border-radius: 6px; background: var(--review-surface); color: var(--review-blue);
  font-size: 13px; font-weight: 600; line-height: 1.4; white-space: normal;
  box-shadow: none; cursor: pointer; text-decoration: none;
}
#xr-compare.xr-compare--review :is(.xr-result-action, .xr-booking-advisory__action, .xr-vies-inline__action) .material-icons-outlined {
  font-size: 18px; color: currentColor;
}
#xr-compare.xr-compare--review .xr-booking-advisory__action [data-xr-ai-label] { color: inherit; font-size: inherit; }
#xr-compare.xr-compare--review button:disabled { cursor: default; opacity: .65; }
#xr-compare.xr-compare--review button:not(:disabled):hover { background: var(--review-quiet); }
#xr-compare.xr-compare--review :is(button, select, summary, a):focus-visible { outline: 2px solid var(--review-blue); outline-offset: 3px; }
#xr-compare.xr-compare--review .xr-compare-feedback:has(.xr-compare-chips:empty) { display: none; }
#xr-compare.xr-compare--review .xr-compare-chips { padding-block: 12px; }
#xr-compare.xr-compare--review .xr-compare-ai-summary { font-size: 13px; }
#xr-compare.xr-compare--review .xr-eval-grid { margin-block: 24px; gap: 20px; }
#xr-compare.xr-compare--review .xr-eval-card {
  min-width: 0; border: 1px solid var(--review-line); border-radius: 8px;
  background: var(--review-surface); overflow: hidden;
}
#xr-compare.xr-compare--review .xr-eval-card:has(> [hidden]) { display: none; }
#xr-compare.xr-compare--review .xr-eval-card > h3 {
  margin: 0; padding: 14px 20px; border-bottom: 1px solid var(--review-line);
  font-size: 13px; font-weight: 600; color: var(--review-muted); background: var(--review-quiet);
}
#xr-compare.xr-compare--review .xr-eval-card:has([data-validation-state="invalid"], .xr-booking-advisory--red) { border-color: var(--review-red); }
#xr-compare.xr-compare--review .xr-eval-card:has([data-validation-state="invalid"], .xr-booking-advisory--red) > h3 { background: var(--review-red-soft); }
#xr-compare.xr-compare--review .xr-eval-card:has([data-validation-state="valid"], .xr-booking-advisory--green) { border-color: var(--review-green); }
#xr-compare.xr-compare--review .xr-eval-card:has([data-validation-state="valid"], .xr-booking-advisory--green) > h3 { background: var(--review-green-soft); }
#xr-compare.xr-compare--review .xr-eval-card:has(.xr-booking-advisory--yellow) { border-color: var(--review-amber); }
#xr-compare.xr-compare--review .xr-eval-card:has(.xr-booking-advisory--yellow) > h3 { background: var(--review-amber-soft); }
#xr-compare.xr-compare--review :is(.xr-validation-result, .xr-booking-advisory) {
  margin: 0; border: 0; border-radius: 0; background: transparent; color: var(--review-text);
}
#xr-compare.xr-compare--review .xr-validation-result { padding: 20px; }
#xr-compare.xr-compare--review .xr-validation-summary { font-size: 18px; font-weight: 700; color: var(--review-text); }
#xr-compare.xr-compare--review .xr-validation-hint { margin-top: 8px; font-size: 14px; line-height: 1.6; color: var(--review-muted); }
#xr-compare.xr-compare--review .xr-validation-badges { margin-top: 16px; gap: 10px 18px; }
#xr-compare.xr-compare--review .xr-validation-badge {
  padding: 0; border: 0; border-radius: 0; background: transparent;
  color: var(--review-text); font-size: 13px; font-weight: 400;
}
#xr-compare.xr-compare--review :is(.xr-validation-summary--valid, .xr-validation-badge--valid) > .material-icons-outlined { color: var(--review-green); }
#xr-compare.xr-compare--review :is(.xr-validation-summary--invalid, .xr-validation-badge--invalid) > .material-icons-outlined { color: var(--review-red); }
#xr-compare.xr-compare--review .xr-validation-details { margin-top: 18px; }
#xr-compare.xr-compare--review .xr-validation-detail { font-size: 13px; line-height: 1.6; overflow-wrap: anywhere; }
#xr-compare.xr-compare--review .xr-validation-specifics { font-size: 12px; color: var(--review-muted); }
#xr-compare.xr-compare--review .xr-validation-technical { margin-top: 18px; font-size: 13px; }
#xr-compare.xr-compare--review .xr-validation-technical summary { color: var(--review-blue); opacity: 1; }
#xr-compare.xr-compare--review .xr-validation-technical:not([open]) > .xr-validation-technical-list { display: none; }
#xr-compare.xr-compare--review .xr-validation-technical-language { font-size: 12px; color: var(--review-muted); }
#xr-compare.xr-compare--review .xr-validation-technical-list { min-width: 0; overflow-wrap: anywhere; }
#xr-compare.xr-compare--review .xr-validation-report {
  margin: 0; padding: 12px; max-height: 24rem; min-width: 0; overflow: auto;
  border: 1px solid var(--review-line); border-radius: 4px;
  background: var(--review-quiet); color: var(--review-text);
  white-space: pre-wrap; overflow-wrap: anywhere; font: 12px/1.6 ui-monospace, monospace;
}
#xr-compare.xr-compare--review .xr-validation-meta { margin-top: 18px; font-size: 12px; color: var(--review-muted); }
#xr-compare.xr-compare--review .xr-booking-advisory__main { display: grid; grid-template-columns: 22px minmax(0, 1fr); padding: 20px; gap: 10px; }
#xr-compare.xr-compare--review .xr-booking-advisory__content { gap: 8px; min-width: 0; grid-template-columns: minmax(0, 1fr); overflow-wrap: anywhere; }
#xr-compare.xr-compare--review .xr-booking-advisory__content > strong { font-size: 18px; line-height: 1.4; }
#xr-compare.xr-compare--review .xr-booking-advisory__content > span { font-size: 14px; line-height: 1.6; color: var(--review-muted); }
#xr-compare.xr-compare--review .xr-booking-advisory__content > .xr-booking-advisory__next { padding-left: 10px; border-left: 2px solid var(--review-blue); font-weight: 400; }
#xr-compare.xr-compare--review .xr-booking-advisory__disclaimer { padding: 14px 20px; border-color: var(--review-line); font-size: 12px; line-height: 1.6; color: var(--review-muted); }
#xr-compare.xr-compare--review .xr-booking-advisory--red .xr-booking-advisory__main > .material-icons-outlined { color: var(--review-red); }
#xr-compare.xr-compare--review .xr-booking-advisory--yellow .xr-booking-advisory__main > .material-icons-outlined { color: var(--review-amber); }
#xr-compare.xr-compare--review .xr-booking-advisory--green .xr-booking-advisory__main > .material-icons-outlined { color: var(--review-green); }
#xr-compare.xr-compare--review .xr-vies-inline {
  grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 6px 8px;
  margin: 10px 0 0; padding: 14px 0 0; width: 100%; max-width: none;
  border: 0; border-top: 1px solid var(--review-line); border-radius: 0;
  background: transparent; color: var(--review-text); font-size: 13px;
}
#xr-compare.xr-compare--review .xr-vies-inline__label { font-weight: 600; }
#xr-compare.xr-compare--review .xr-vies-inline__explanation { width: 100%; font-size: 13px; line-height: 1.6; color: var(--review-muted); overflow-wrap: anywhere; }
#xr-compare.xr-compare--review .xr-vies-inline--valid { color: var(--review-green); }
#xr-compare.xr-compare--review .xr-vies-inline--invalid { color: var(--review-red); }
#xr-compare.xr-compare--review .xr-vies-inline > :is(.material-icons-outlined, .xr-vies-inline__label),
#xr-compare.xr-compare--review :is(.xr-vies-inline--valid, .xr-vies-inline--invalid) > .xr-vies-inline__explanation { color: inherit; }
#xr-compare.xr-compare--review .xr-vies-inline__actions { width: 100%; flex-wrap: wrap; gap: 8px; margin: 6px 0 0; }
#xr-compare.xr-compare--review .xr-comparison-summary { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px 24px; padding-bottom: 24px; }
#xr-compare.xr-compare--review .xr-comparison-summary > strong { font-size: 17px; font-weight: 600; }
#xr-compare.xr-compare--review .xr-comparison-counts { display: flex; flex-wrap: wrap; gap: 10px 20px; font-size: 13px; }
#xr-compare.xr-compare--review .xr-comparison-count--critical { color: var(--review-red); }
#xr-compare.xr-compare--review .xr-comparison-count--warn { color: var(--review-orange); }
#xr-compare.xr-compare--review .xr-comparison-count--uncertain { color: var(--review-amber); }
#xr-compare.xr-compare--review .xr-values-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-top: 20px; border-top: 1px solid var(--review-line); }
#xr-compare.xr-compare--review .xr-values-heading h3 { margin: 0; font-size: 17px; font-weight: 600; }
#xr-compare.xr-compare--review .xr-values-heading select { min-height: 42px; min-width: 0; max-width: 100%; padding: 8px 32px 8px 10px; font: inherit; font-size: 13px; background: var(--review-surface); color: var(--review-text); border: 1px solid var(--review-line); border-radius: 6px; }
#xr-compare.xr-compare--review .xr-compare-body { gap: 0; }
#xr-compare.xr-compare--review .xr-compare-group { border: 0; border-radius: 0; background: transparent; }
#xr-compare.xr-compare--review .xr-compare-group-title { padding: 18px 16px 4px; border: 0; color: var(--review-muted); font-size: 12px; font-weight: 600; }
#xr-compare.xr-compare--review .xr-compare-group-title small { display: none; }
#xr-compare.xr-compare--review .xr-compare-row {
  grid-template-columns: minmax(0, .9fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, .85fr);
  align-items: center; padding: 18px 16px; gap: 16px; border-top: 0; border-bottom: 1px solid var(--review-line);
}
#xr-compare.xr-compare--review .xr-compare-row--header { padding-block: 13px; background: var(--review-quiet); }
#xr-compare.xr-compare--review .xr-compare-row--header .xr-compare-colhead { display: flex; flex-direction: column; align-items: flex-start; gap: 3px; font-weight: 600; opacity: 1; }
#xr-compare.xr-compare--review .xr-compare-row--header .xr-compare-colhead-label { font-size: 14px; font-weight: 600; color: var(--review-text); }
#xr-compare.xr-compare--review .xr-compare-row--header .xr-compare-colhead-hint { font-size: 12px; font-weight: 400; color: var(--review-muted); white-space: normal; line-height: 1.5; }
#xr-compare.xr-compare--review .xr-compare-key { font-size: 14px; font-weight: 600; text-transform: none; color: var(--review-text); opacity: 1; overflow-wrap: anywhere; }
#xr-compare.xr-compare--review .xr-compare-field-id { display: block; margin-top: 3px; font-size: 11px; font-weight: 400; color: var(--review-muted); }
#xr-compare.xr-compare--review .xr-compare-val { color: var(--review-text); font-size: 15px; font-weight: 400; font-variant-numeric: tabular-nums; }
#xr-compare.xr-compare--review :is(.xr-compare-val--danger, .xr-compare-val--warn) { color: var(--review-orange); font-weight: 700; }
#xr-compare.xr-compare--review .xr-status-col { min-width: 0; width: 100%; align-items: flex-start; }
#xr-compare.xr-compare--review .xr-status { padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; font-size: 13px; font-weight: 400; white-space: normal; color: var(--review-muted); }
#xr-compare.xr-compare--review .xr-status-col .xr-status { align-self: flex-start; }
#xr-compare.xr-compare--review .xr-status--mismatch { color: var(--review-red); }
#xr-compare.xr-compare--review .xr-status--warn-mismatch { color: var(--review-orange); }
#xr-compare.xr-compare--review .xr-status--uncertain { color: var(--review-amber); }
#xr-compare.xr-compare--review .xr-status > .material-icons-outlined { color: currentColor; flex-shrink: 0; }
#xr-compare.xr-compare--review .xr-status--ok > .material-icons-outlined { color: var(--review-green); }
/* The site's dark theme forces blue icons; result icons must retain their status. */
body.darkmode #xr-compare .material-icons-outlined { color: inherit !important; }
body.darkmode #xr-compare :is(.xr-validation-summary--valid, .xr-validation-badge--valid, .xr-status--ok, .xr-vies-inline--valid) > .material-icons-outlined { color: var(--review-green) !important; }
body.darkmode #xr-compare :is(.xr-validation-summary--invalid, .xr-validation-badge--invalid, .xr-vies-inline--invalid) > .material-icons-outlined,
body.darkmode #xr-compare .xr-booking-advisory--red .xr-booking-advisory__main > .material-icons-outlined { color: var(--review-red) !important; }
body.darkmode #xr-compare .xr-booking-advisory--yellow .xr-booking-advisory__main > .material-icons-outlined { color: var(--review-amber) !important; }
body.darkmode #xr-compare .xr-booking-advisory--green .xr-booking-advisory__main > .material-icons-outlined { color: var(--review-green) !important; }
#xr-compare.xr-compare--review .xr-compare-footnote { font-size: 12px; color: var(--review-muted); }
@media (max-width: 980px) {
  #xr-compare.xr-compare--review .xr-eval-grid { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  #xr-compare.xr-compare--review .xr-compare-head { flex-wrap: wrap; }
  #xr-compare.xr-compare--review .xr-check-actions { margin-left: 0; }
  #xr-compare.xr-compare--review .xr-eval-grid { gap: 16px; margin-block: 20px; }
  #xr-compare.xr-compare--review :is(.xr-eval-card > h3, .xr-validation-result, .xr-booking-advisory__main, .xr-booking-advisory__disclaimer) { padding-inline: 16px; }
  #xr-compare.xr-compare--review .xr-values-heading { flex-wrap: wrap; gap: 8px; }
  #xr-compare.xr-compare--review .xr-values-heading select { width: 100%; }
  #xr-compare.xr-compare--review .xr-compare-row { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 18px 0; }
  #xr-compare.xr-compare--review .xr-compare-row--header { display: none; }
  #xr-compare.xr-compare--review :is(.xr-compare-key, .xr-status-col) { grid-column: 1 / -1; }
  #xr-compare.xr-compare--review .xr-compare-field-id { display: inline; margin-left: 6px; }
  #xr-compare.xr-compare--review .xr-compare-val::before { content: attr(data-label); display: block; margin-bottom: 5px; color: var(--review-muted); font-size: 11px; font-weight: 400; }
  #xr-compare.xr-compare--review .xr-compare-group-title { padding-inline: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .xr-preview--review .xr-tab { transition: none; }
  #xr-compare.xr-compare--review .xr-spin, #xr-compare.xr-compare--review .xr-tier-badge--running .material-icons-outlined { animation: none; }
}
