.sync-conflict-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  padding: 12px 0;
  margin-bottom: 16px;
  border-bottom: 2px solid #c45120;
  color: #812c0b;
}
.sync-conflict-banner[hidden] { display: none; }
.sync-conflict-dialog {
  box-sizing: border-box;
  width: min(640px, calc(100% - 24px));
  max-height: calc(100dvh - 32px);
  margin: auto;
  padding: 20px;
  border: 1px solid #d9e3df;
  border-radius: 8px;
  background: #fff;
  color: #17251f;
  font: inherit;
  overflow: auto;
}
.sync-conflict-dialog::backdrop { background: rgb(0 0 0 / 45%); }
.sync-conflict-dialog h2 { font-size: 20px; line-height: 1.3; margin: 0 0 12px; }
.sync-conflict-dialog p { overflow-wrap: anywhere; }
.sync-conflict-dialog table { table-layout: fixed; border-collapse: collapse; width: 100%; margin: 16px 0; font-size: 13px; }
.sync-conflict-dialog td, .sync-conflict-dialog th { padding: 9px 6px; border-bottom: 1px solid #d9e3df; text-align: left; vertical-align: top; overflow-wrap: anywhere; }
.sync-conflict-dialog thead { background: #f0f5f2; }
.sync-conflict-note { font-size: 13px; color: #465a50; }
.sync-conflict-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.sync-conflict-actions button { white-space: normal; }
@media (max-width: 480px) {
  .sync-conflict-dialog { padding: 16px 12px; }
  .sync-conflict-actions { flex-direction: column; }
  .sync-conflict-actions button { width: 100%; }
}
