.data-refresh-panel { width:min(420px,calc(100vw - 24px)); padding:16px; font-size:13px; line-height:1.5; }
.data-refresh-panel h2 { margin:0; font:500 16px/1.4 var(--shrift); color:var(--ink); }
.data-refresh-panel p { margin:12px 0 0; }
.data-refresh-panel .data-refresh-zone { margin-top:4px; font-size:12px; color:var(--ink-3); }
.data-refresh-hours { display:grid; grid-template-columns:max-content minmax(0,1fr); gap:8px 16px; margin:16px 0; }
.data-refresh-hours dt { font-weight:500; font-variant-numeric:tabular-nums; }
.data-refresh-hours dd { margin:0; }
.data-refresh-state { padding:8px 12px; background:var(--field); border-radius:6px; }
.data-refresh-note { color:var(--ink-3); }
.data-refresh-panel a { display:inline-block; margin-top:12px; }
@media(max-width:480px) { .data-refresh-hours { grid-template-columns:1fr; gap:4px; }.data-refresh-hours dd { margin-bottom:8px; } }

.data-refresh-admin{margin-top:16px;padding-top:12px;border-top:1px solid var(--line)}
.data-refresh-admin form{margin:0}.data-refresh-admin .knopka{min-height:var(--organ,36px)}
.data-refresh-panel .data-refresh-result{margin-top:8px}.data-refresh-panel .data-refresh-duration{margin-top:8px;color:var(--ink-3);font-size:12px}
.data-refresh-result[data-error]{color:var(--red)}

.data-refresh-panel .data-refresh-latest{white-space:nowrap;font-variant-numeric:tabular-nums;font-size:clamp(11px,2.9vw,13px)}

.data-refresh-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}
.data-refresh-heading form{margin:0;flex:none}
.data-refresh-trigger.knopka{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;padding:10px;background:var(--red);color:#fff;border:0;border-radius:8px}
.data-refresh-trigger svg{display:block;width:24px;height:24px;flex:none}
.data-refresh-trigger:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.data-refresh-trigger.is-busy svg{animation:refresh-rotate 1.2s linear infinite}
.data-refresh-trigger:disabled{opacity:.6;cursor:wait}
.data-refresh-panel .data-refresh-details{display:block;width:fit-content;margin-top:4px}
.refresh-source-code{display:block;margin-top:2px}.refresh-timestamp{white-space:nowrap;font-variant-numeric:tabular-nums}
.refresh-source-selected{background:var(--field)}.refresh-history{margin-top:32px;scroll-margin-top:80px}
.refresh-history-pages{display:flex;align-items:center;gap:16px;margin:16px 0}
@keyframes refresh-rotate{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.data-refresh-trigger.is-busy svg{animation:none}}
