/* Wspólne drobne elementy funkcjonalne, niezależne od wybranego motywu. */
.device-row.data-stale .status-indicator { opacity: .72; }
.device-row.data-stale { --data-stale-outline: rgba(240,173,78,.28); }

.toast-container {
    position: fixed;
    right: max(14px, env(safe-area-inset-right));
    bottom: max(14px, env(safe-area-inset-bottom));
    z-index: 10050;
    display: flex;
    flex-direction: column;
    gap: 8px;
    width: min(360px, calc(100vw - 28px));
    pointer-events: none;
}
.dashboard-toast {
    padding: 10px 12px;
    border-radius: 10px;
    background: color-mix(in srgb, var(--bg-color, #111) 88%, #fff 12%);
    color: var(--text-primary, #fff);
    border: 1px solid color-mix(in srgb, currentColor 18%, transparent);
    box-shadow: 0 8px 28px rgba(0,0,0,.28);
    font: 600 .82rem/1.35 var(--font-family, system-ui, sans-serif);
    opacity: 0;
    transform: translateY(8px);
    animation: toast-in .18s ease forwards;
}
.dashboard-toast.error { border-color: color-mix(in srgb, var(--offline-color, #e34b4b) 55%, transparent); }
.dashboard-toast.success { border-color: color-mix(in srgb, var(--online-color, #29c46a) 55%, transparent); }
@keyframes toast-in { to { opacity: 1; transform: translateY(0); } }

