/* Reuse the gem table's existing tokens. This control never creates a board row. */
.offline-compact { position: relative; flex: 0 0 auto; min-width: 0; max-width: 100%; }
.table-header .offline-button { position: relative; display: block; min-height: 44px; max-width: 100%; padding-inline: 8px; font-size: .76rem; white-space: nowrap; }
.offline-compact[data-offline-state="ready"] .offline-button { color: var(--text-body, #e2e8f0); }
.offline-compact[data-offline-state="failed"] .offline-button { color: var(--accent-gold, #fbbf24); }
.offline-compact > progress { position: absolute; pointer-events: none; bottom: 3px; left: 5px; width: calc(100% - 10px); height: 4px; border: 0; border-radius: 2px; overflow: hidden; appearance: none; background: var(--border-color, #2a364f); accent-color: var(--accent-gold, #fbbf24); }
.offline-compact > progress::-webkit-progress-bar { background: var(--border-color, #2a364f); }
.offline-compact > progress::-webkit-progress-value { background: var(--accent-gold, #fbbf24); }
.offline-compact > progress::-moz-progress-bar { background: var(--accent-gold, #fbbf24); }
.offline-button:focus-visible, #offline-details button:focus-visible { outline: 2px solid var(--accent-gold, #fbbf24); outline-offset: 2px; }
#offline-details { box-sizing: border-box; width: min(440px, calc(100vw - 24px)); max-height: calc(100dvh - 32px); overflow: auto; margin: auto; padding: 18px; color: var(--text-body, #e2e8f0); background: var(--bg-panel, #131926); border: 1px solid var(--border-color, #2a364f); border-radius: 8px; }
#offline-details::backdrop { background: #000b; }
#offline-details h2 { margin: 0 0 12px; color: var(--accent-gold, #fbbf24); font-size: 1rem; }
#offline-details p { margin-block: 10px; line-height: 1.6; overflow-wrap: anywhere; }
#offline-counts { font-size: .82rem; color: var(--text-muted, #94a3b8); font-variant-numeric: tabular-nums; }
#offline-details button { min-height: 44px; margin: 4px 8px 0 0; padding: 8px 12px; }
@media (max-width: 480px) { .header-actions { max-width: 100%; flex-wrap: wrap; } .table-header .offline-button { padding-inline: 6px; font-size: .72rem; } }
@media (prefers-reduced-motion: reduce) { .offline-compact *, #offline-details, #offline-details * { animation: none !important; transition: none !important; } }
