.sync-indicator {
  border: 1px solid rgba(127, 151, 185, 0.5);
  background: rgba(18, 36, 61, 0.9);
  color: #eef5ff;
  border-radius: 999px;
  padding: 0.45rem 0.7rem;
  font: inherit;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  cursor: pointer;
}

.sync-indicator[data-sync-state="ready"] { border-color: #34d399; color: #86efac; }
.sync-indicator[data-sync-state="syncing"] { border-color: #60a5fa; color: #bfdbfe; }
.sync-indicator[data-sync-state="offline"] { border-color: #f59e0b; color: #fde68a; }
.sync-indicator[data-sync-state="warn"] { border-color: #f59e0b; color: #fde68a; }
.sync-indicator[data-sync-state="error"] { border-color: #ef4444; color: #fecaca; }

.sync-settings-card {
  border: 1px solid rgba(96, 165, 250, 0.65);
  border-radius: 1rem;
  padding: 1rem;
  margin: 1rem 0;
  background: rgba(14, 28, 49, 0.82);
}

.sync-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.7rem;
}

.sync-heading h3 { margin: 0.1rem 0 0; }
.sync-identity { font-size: 0.8rem; opacity: 0.8; text-align: right; }
.sync-explainer { margin: 0 0 0.85rem; }
.sync-status {
  border-radius: 0.7rem;
  border: 1px solid rgba(127, 151, 185, 0.35);
  padding: 0.75rem;
  margin-bottom: 0.85rem;
  background: rgba(4, 14, 29, 0.45);
}
.sync-status[data-sync-state="ready"] { border-color: rgba(52, 211, 153, 0.7); }
.sync-status[data-sync-state="warn"],
.sync-status[data-sync-state="offline"] { border-color: rgba(245, 158, 11, 0.75); }
.sync-status[data-sync-state="error"] { border-color: rgba(239, 68, 68, 0.75); }
.sync-grid { display: grid; grid-template-columns: 1fr; gap: 0.75rem; }
.sync-actions { margin: 0.75rem 0; }
.sync-advanced { margin-top: 0.75rem; padding-top: 0.6rem; border-top: 1px solid rgba(127, 151, 185, 0.25); }
.sync-advanced summary { cursor: pointer; font-weight: 700; margin-bottom: 0.75rem; }

@media (min-width: 760px) {
  .sync-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 1050px) {
  .app-shell { max-width: 1320px; margin-left: auto; margin-right: auto; }
  .sync-settings-card { padding: 1.25rem 1.4rem; }
  .sync-settings-card .sync-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body { --desktop-content-width: 1320px; }
}
