/* Obsync — оформление панели синхронизации и модальных окон. */

.obsync-statusbar {
  cursor: pointer;
}

.obsync-panel {
  padding: 0 12px 12px;
}

.obsync-status {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 12px 0 4px;
}

.obsync-status-text {
  font-weight: 600;
}

.obsync-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--text-muted);
  flex: 0 0 auto;
}

.obsync-dot--idle {
  background: var(--color-green, #3aa757);
}

.obsync-dot--syncing {
  background: var(--color-blue, #3a7bd5);
}

.obsync-dot--offline,
.obsync-dot--paused {
  background: var(--color-yellow, #d5a53a);
}

.obsync-dot--error {
  background: var(--color-red, #d53a3a);
}

.obsync-badge {
  font-size: var(--font-ui-smaller);
  padding: 1px 6px;
  border-radius: 10px;
  background: var(--background-modifier-border);
}

.obsync-badge--warn {
  background: var(--background-modifier-error);
  color: var(--text-on-accent);
}

.obsync-subtle {
  color: var(--text-muted);
  font-size: var(--font-ui-smaller);
  margin: 2px 0 8px;
}

.obsync-error {
  color: var(--text-error);
  font-size: var(--font-ui-smaller);
}

.obsync-empty {
  color: var(--text-muted);
  font-style: italic;
}

.obsync-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 12px;
}

.obsync-log {
  list-style: none;
  margin: 0;
  padding: 0;
  max-height: 60vh;
  overflow-y: auto;
}

.obsync-log-item {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px;
  padding: 4px 0;
  border-bottom: 1px solid var(--background-modifier-border);
  font-size: var(--font-ui-smaller);
}

.obsync-log-time {
  color: var(--text-faint);
  font-variant-numeric: tabular-nums;
}

.obsync-log-kind {
  color: var(--text-muted);
  text-transform: lowercase;
}

.obsync-log-item--conflict .obsync-log-kind,
.obsync-log-item--error .obsync-log-kind {
  color: var(--text-error);
}

.obsync-log-item--merged .obsync-log-kind {
  color: var(--color-green, #3aa757);
}

.obsync-log-path {
  word-break: break-all;
}

.obsync-log-message {
  flex-basis: 100%;
  color: var(--text-muted);
}

.obsync-history-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.obsync-history-list li {
  padding: 8px 0;
  border-bottom: 1px solid var(--background-modifier-border);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
}

.obsync-input {
  width: 100%;
  margin: 8px 0;
}
