/* ── what the phone says when things go wrong ──────────────────────────
   The error toast gets the notice's shape: the sentence, and one action
   beside it where there is one to offer — Try again, or Sign in when the
   trouble is that nobody is signed in. The rules mirror .toast.notice's
   above rather than sharing them: this toast is the red one, and its line
   WRAPS (a translated sentence is a sentence, not a label), which is the
   one thing the notice's .nt must never do. */
.toast { display: flex; align-items: center; gap: 12px; }
.toast .nt { flex: 1; min-width: 0; }
.toast .na { flex: none; color: #ffd7d7; font-weight: 800; font-size: 13px; padding: 4px 8px; margin: -4px -8px -4px 0; border-radius: 6px; white-space: nowrap; }
.toast .na:active { background: rgba(255, 255, 255, 0.12); }

/* a stub that is explaining a failure rather than an emptiness: the same
   card, with the backend's own words under the lead in the muted colour */
.stub.why { color: var(--text-muted); }

/* the two lines a screen says instead of a spinner that will not end */
.sec-note.rooms-note,
.sec-note.offline-note { color: #ffb4b4; }

/* the library folder the rescan could not reach — a row under the folder
   itself, so the path and what to do about it are in the same place. The
   path is drawn exactly as the Library folder row above it draws its own
   (`.m mono`, which .row does not give a face — leave that as it is rather
   than making these two rows disagree). */
.row.folder-gone .t { color: #ffb4b4; }
