/* © 2026 VEYRO (ИП Макаров И. В.). appagent — проприетарная программа. Использование — по лицензионному договору https://appagent.ru/legal/offer/. Копирование и распространение без разрешения запрещены. */
/* Экран «Уведомления»: лента событий, каналы и выключатель. Подключён в index.html после server.css; значения — только из tokens.css, размеры в rem.
   Светлая и тёмная темы переключаются токенами. Движения нет, кроме короткого сдвига ползунка (токены длительности сами сводятся к нулю
   при prefers-reduced-motion). Общая раскладка страниц (.notify, ошибка связи) — в pages.css. */

/* ---------- Уведомления ---------- */
.notify { max-width: var(--layout-narrow); }
.notify { display: grid; gap: var(--tile-gap); }
.notify > section { display: grid; gap: var(--space-3); align-content: start; }
.notify > section > * + * { margin-top: 0; }
.notify__top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-3) var(--space-4); }
.notify__err:empty { display: none; }

/* Лента: метка вида и время сверху, ниже фраза и пояснение. Строка со ссылкой целиком кликабельна, касание не меньше 44 px. */
.nlist { display: grid; gap: 0; }
.nitem { border-top: 1px solid var(--color-line); }
.nitem:first-child { border-top: 0; }
.nitem__a {
  display: grid; gap: var(--space-2); justify-items: start; min-height: var(--size-touch-min);
  padding: var(--space-4) 0; color: var(--color-ink); text-decoration: none; min-width: 0;
}
a.nitem__a:hover .nitem__title { text-decoration: underline; text-underline-offset: .2em; }
.nitem__top { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2) var(--space-3); }
.nitem__t { color: var(--color-ink3); font-size: var(--text-label-size); white-space: nowrap; }
.nitem__title, .nitem__hint, .nitem__p { overflow-wrap: anywhere; min-width: 0; }
.nitem__hint { color: var(--color-ink2); }
.nitem__p { color: var(--color-ink3); }
.nlist__more { padding-top: var(--space-3); border-top: 1px solid var(--color-line); }
.notify__seg { margin-bottom: var(--space-2); }
.chans { display: grid; gap: 0; }
.chan {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-3) var(--space-4);
  min-height: var(--size-control); padding: var(--space-3) 0; border-top: 1px solid var(--color-line);
}
.chan:first-child { border-top: 0; }
.chan__t { display: flex; align-items: center; gap: var(--space-3); flex: 1 1 12rem; min-width: 0; }
.chan__t > .ic { color: var(--color-ink3); }
.chan__tx { display: grid; gap: var(--space-1); min-width: 0; }
.chan__tx .caption { overflow-wrap: anywhere; }
.chan--off .chan__tx .ui-strong { color: var(--color-ink2); }
.notify__msg:empty, .notify__mem:empty { display: none; }
.notify__msg { color: var(--color-ink); }
.notify__mem { color: var(--color-ink2); }

/* Выключатель: слово «Включено» или «Выключено» и дорожка с ползунком. Выключен — рамка и серый ползунок; включён — акцентная заливка. */
.sw {
  display: inline-flex; align-items: center; gap: var(--space-3); min-height: var(--size-touch-min); padding: 0;
  background: none; border: 0; color: var(--color-ink); cursor: pointer;
  font: var(--text-ui-weight) var(--text-caption-size)/1 var(--font-sans);
}
.sw__word { min-width: 5.5rem; text-align: right; color: var(--color-ink2); }
.sw__track {
  position: relative; flex: none; width: calc(var(--space-10) + var(--space-1)); height: var(--space-6);
  background: var(--color-panel2); border: var(--size-focus-width) solid var(--color-ink3); border-radius: var(--radius-pill);
  transition: background-color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out);
}
.sw__thumb {
  position: absolute; top: 50%; left: var(--space-1); width: var(--space-3); height: var(--space-3);
  background: var(--color-ink3); border-radius: var(--radius-round); transform: translate(0, -50%);
  transition: transform var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out);
}
.sw[aria-checked="true"] .sw__track { background: var(--color-acc); border-color: var(--color-acc); }
.sw[aria-checked="true"] .sw__thumb { background: var(--color-on-acc); transform: translate(var(--space-5), -50%); }
.sw:disabled { cursor: not-allowed; color: var(--color-ink2); }
.sw:disabled .sw__track { border-color: var(--color-line2); }
.sw:disabled .sw__thumb { background: var(--color-line2); }
@media (max-width: 40rem) {
  .sw__word { min-width: 0; }
}
