/* Backup choices stay readable without exposing every optional detail at once. */
.backup-comparison-dialog { --merge-dialog-padding: var(--space-3xl); width: min(820px, calc(100vw - 32px)); padding: var(--merge-dialog-padding); scroll-padding-bottom: 160px; }
.backup-comparison-dialog > .dialog-actions { position: sticky; bottom: calc(-1 * var(--merge-dialog-padding)); z-index: 1; margin: var(--space-xl) calc(-1 * var(--merge-dialog-padding)) calc(-1 * var(--merge-dialog-padding)); padding: var(--space-lg) var(--merge-dialog-padding) var(--merge-dialog-padding); background: var(--surface-1); }
.backup-merge { min-width: 0; margin-block: var(--space-xl); }
.merge-overview { padding: var(--space-xl); border-radius: var(--radius-sm); background: var(--surface-2); }
.merge-overview > p { margin: 0; }
.merge-overview > p + p { margin-top: var(--space-xs); }
.merge-resolution-status { font-size: var(--type-lg); font-weight: 650; color: var(--text-primary); }
.merge-explanation, .merge-muted { color: var(--text-secondary); font-size: var(--type-xs); }
.merge-bulk { margin-top: var(--space-md); font-size: var(--type-xs); }
.merge-bulk > summary, .merge-addition-details > summary { cursor: pointer; color: var(--accent); }
.merge-bulk-actions { display: flex; flex-wrap: wrap; gap: var(--space-sm); margin-top: var(--space-md); }
.merge-bulk button { min-width: 0; max-width: 100%; white-space: normal; overflow-wrap: anywhere; font-size: var(--type-xs); }
.merge-groups { display: grid; gap: var(--space-xl); }
.merge-vehicle { min-width: 0; }
.merge-vehicle > h3 { margin: var(--space-xl) 0 var(--space-md); font-size: var(--type-sm); color: var(--text-secondary); overflow-wrap: anywhere; }
.merge-group { min-width: 0; padding: var(--space-xl); border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface-1); }
.merge-group + .merge-group { margin-top: var(--space-md); }
.merge-group > h4 { margin: 0; font-size: var(--type-md); overflow-wrap: anywhere; }
.merge-group-body { min-width: 0; }
.merge-difference { min-width: 0; margin-top: var(--space-lg); }
.merge-difference + .merge-difference { padding-top: var(--space-lg); border-top: 1px solid var(--border); }
.merge-difference > h5 { margin: 0 0 var(--space-sm); font-size: var(--type-xs); font-weight: 600; overflow-wrap: anywhere; }
.merge-values { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-md); }
.merge-side { display: flex; flex-direction: column; min-width: 0; padding: var(--space-lg); border: 1px solid transparent; border-radius: var(--radius-sm); background: var(--surface-2); }
.merge-side[data-selected="true"] { border-color: var(--accent); background: var(--accent-wash); }
.merge-source { margin: 0 0 var(--space-sm); color: var(--text-secondary); font-size: var(--type-2xs); font-weight: 600; overflow-wrap: anywhere; }
.merge-value { min-width: 0; margin-bottom: var(--space-md); font-size: var(--type-sm); overflow-wrap: anywhere; }
.merge-text { white-space: pre-wrap; }
.merge-pick { align-self: flex-start; min-height: 40px; max-width: 100%; margin-top: auto; padding: var(--space-sm) var(--space-md); border: 1px solid var(--border-strong); border-radius: var(--radius-sm); background: var(--surface-1); color: var(--text-primary); font: inherit; font-size: var(--type-xs); font-weight: 600; cursor: pointer; white-space: normal; overflow-wrap: anywhere; }
.merge-pick[aria-pressed="true"] { border-color: var(--accent); color: var(--accent); background: var(--accent-wash); }
.merge-pick[aria-pressed="true"]::before { content: "✓ "; }
.merge-pick:hover:not(:disabled) { border-color: var(--accent); }
.merge-pick:focus-visible, .merge-keep:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.merge-pick:disabled { cursor: wait; opacity: .6; }
.merge-document { display: grid; gap: var(--space-2xs); }
.merge-document strong { font-weight: 600; }
.merge-document > p { margin: var(--space-xs) 0; }
.merge-document > span { font-size: var(--type-xs); }
.merge-binary-change { margin: 0 0 var(--space-md); color: var(--accent); font-size: var(--type-xs); }
.merge-location { display: grid; gap: var(--space-xs); margin-bottom: var(--space-sm); font-size: var(--type-xs); }
.merge-difference-excerpt { margin: 0 0 var(--space-md); font-size: var(--type-xs); color: var(--text-secondary); overflow-wrap: anywhere; }
.merge-difference-excerpt > span { display: block; white-space: pre-wrap; color: var(--text-primary); }
.merge-value-fields { margin: 0; }
.merge-value-fields > div + div { margin-top: var(--space-sm); }
.merge-value-fields dt { color: var(--text-secondary); font-size: var(--type-2xs); }
.merge-value-fields dd { margin: 0; }
.merge-atomic-fields > div + div { padding-top: var(--space-sm); border-top: 1px solid var(--border); }
.merge-value-list { margin: 0; padding-left: var(--space-xl); }
.merge-value-list > li + li { margin-top: var(--space-xs); }
.merge-value-more { margin-top: var(--space-sm); }
.merge-value-more > summary { font-size: var(--type-xs); cursor: pointer; color: var(--accent); }
.merge-value-more pre { font: inherit; white-space: pre-wrap; max-height: 260px; overflow-y: auto; overflow-wrap: anywhere; margin-block: var(--space-sm) 0; }
.merge-consequence { margin: var(--space-sm) 0 0; color: var(--text-secondary); font-size: var(--type-xs); overflow-wrap: anywhere; }
.merge-additions { min-width: 0; margin-top: var(--space-xl); border: 1px solid var(--border); border-radius: var(--radius-sm); padding: var(--space-lg); }
.merge-additions-summary { cursor: pointer; font-size: var(--type-sm); font-weight: 600; overflow-wrap: anywhere; }
.merge-additions > .merge-explanation { margin-block: var(--space-sm) var(--space-lg); }
.merge-addition { min-width: 0; padding-block: var(--space-lg); border-top: 1px solid var(--border); }
.merge-addition:last-child { padding-bottom: 0; }
.merge-addition-heading { display: flex; align-items: center; justify-content: space-between; gap: var(--space-lg); }
.merge-addition-heading > div { min-width: 0; }
.merge-addition h4 { margin: 0; font-size: var(--type-sm); overflow-wrap: anywhere; }
.merge-addition-heading p { margin: var(--space-xs) 0 0; color: var(--text-secondary); font-size: var(--type-2xs); overflow-wrap: anywhere; }
.merge-keep { flex: 0 0 auto; width: auto; max-width: 100%; font-size: var(--type-xs); }
.merge-addition-details { margin-top: var(--space-sm); font-size: var(--type-xs); }
.merge-addition-details > .merge-side { margin-top: var(--space-md); }
.merge-empty { padding: var(--space-xl); margin-block: var(--space-xl); background: var(--accent-wash); border: 1px solid var(--border); border-radius: var(--radius-sm); overflow-wrap: anywhere; }
.merge-empty p { margin: var(--space-xs) 0 0; color: var(--text-secondary); font-size: var(--type-sm); }
@media (max-width: 760px) {
  .backup-comparison-dialog { --merge-dialog-padding: var(--space-2xl); }
}
@media (max-width: 580px) {
  .merge-values { grid-template-columns: minmax(0, 1fr); }
  .merge-overview, .merge-group { padding: var(--space-lg); }
  .merge-bulk button { width: 100%; }
  .merge-pick { width: 100%; }
  .merge-addition-heading { align-items: flex-start; flex-direction: column; gap: var(--space-sm); }
  .merge-keep { width: 100%; }
}
