/* 两套系统共用的刷新控件规范；图形来自本系统 assets/icons/refresh.svg。 */
button.refresh-icon-button {
  --refresh-control-size: 36px;
  --refresh-glyph-size: 20px;
  width: var(--refresh-control-size) !important;
  min-width: var(--refresh-control-size) !important;
  height: var(--refresh-control-size) !important;
  min-height: var(--refresh-control-size) !important;
  padding: 0 !important;
  margin: 0;
  gap: 0;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  line-height: 1;
  vertical-align: middle;
}
button.refresh-icon-button:not([hidden]):not(.permission-hidden) {
  display: inline-grid;
  place-items: center;
}
button.refresh-icon-button > svg.refresh-icon {
  display: block;
  width: var(--refresh-glyph-size) !important;
  height: var(--refresh-glyph-size) !important;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  transform-origin: center;
}
button.refresh-icon-button[aria-busy="true"] > svg.refresh-icon {
  animation: aqua-refresh-spin .8s linear infinite;
}
button.refresh-icon-button:disabled { cursor: wait; }
button.refresh-icon-button:focus-visible { outline: 2px solid #60a5fa; outline-offset: 3px; }
.mobile-icon-button.refresh-icon-button,
.schedule-refresh.refresh-icon-button { --refresh-control-size: 44px; }
.screen-actions .refresh-icon-button {
  --refresh-control-size: clamp(30px, 2vw, 76px);
  --refresh-glyph-size: clamp(18px, 1.2vw, 46px);
}
@keyframes aqua-refresh-spin { to { transform: rotate(360deg); } }
@media (max-width: 900px) {
  .monitor-refresh-btn.refresh-icon-button { --refresh-control-size: 34px; }
}
@media (prefers-reduced-motion: reduce) {
  button.refresh-icon-button[aria-busy="true"] > svg.refresh-icon { animation: none; }
}
