/* Compact activity indicator; the technical detail stays one click away. */
.sync-float {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 100;
  max-width: calc(100vw - 32px);
  margin: 0;
  border: 1px solid rgba(168, 158, 140, .22);
  border-radius: 20px;
  background: rgba(37, 33, 29, .94);
  backdrop-filter: blur(20px);
  box-shadow: 0 12px 40px rgba(0, 0, 0, .28), inset 0 1px rgba(255, 255, 255, .04);
  overflow: hidden;
}
.sync-float summary {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 15px 18px;
  cursor: pointer;
  list-style: none;
  font-size: 13px;
  font-weight: 500;
  user-select: none;
}
.sync-float summary::-webkit-details-marker { display: none; }
.sync-float summary:focus-visible { outline: 2px solid var(--viva); outline-offset: -3px; border-radius: 18px; }
.sync-orbit { width: 17px; height: 17px; flex: 0 0 17px; border: 2px solid var(--linha); border-top-color: var(--viva); border-radius: 50%; animation: sync-spin .9s linear infinite; }
.sync-float[data-state=done] .sync-orbit { animation: none; border: 0; background: var(--viva-veu); color: var(--viva); text-align: center; line-height: 17px; }
.sync-float[data-state=done] .sync-orbit::after { content: '✓'; }
.sync-float[data-state=waiting] .sync-orbit { animation: none; border-color: var(--atencao); opacity: .7; }
.sync-float[data-state=error] .sync-orbit { animation: none; border: 0; background: var(--parada-veu); color: var(--parada); text-align: center; line-height: 17px; }
.sync-float[data-state=error] .sync-orbit::after { content: '!'; }
.sync-percent { color: var(--tinta-fraca); font-variant-numeric: tabular-nums; font-size: 12px; }
.sync-percent:empty { display: none; }
.sync-chevron { color: var(--tinta-apagada); margin-left: auto; transition: transform .2s; }
.sync-float[open] .sync-chevron { transform: rotate(90deg); }
.sync-expanded { width: 320px; max-width: calc(100vw - 32px); padding: 0 18px 16px; font-size: 12px; }
.sync-expanded p { margin: 8px 0 0; line-height: 1.5; overflow-wrap: anywhere; }
.sync-expanded progress { width: 100%; height: 4px; display: block; margin: 12px 0; border: 0; border-radius: 4px; overflow: hidden; accent-color: var(--viva); }
.sync-expanded progress::-webkit-progress-bar { background: var(--linha); }
.sync-expanded progress::-webkit-progress-value { background: var(--viva); border-radius: 4px; transition: width .3s; }
.operator-view main { padding-bottom: 96px; }
@keyframes sync-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .sync-orbit { animation: none; } .sync-chevron, .sync-expanded progress::-webkit-progress-value { transition: none; } }
@media (max-width: 540px) { .sync-float { right: 16px; bottom: 16px; } }
