/* PWA и уведомления: баннер новой версии, экран «Нет сети», шторка установки на iOS, раздел «Уведомления». */

/* баннер «Доступна новая версия» */
.update-bar{position:fixed;top:var(--sp-3);left:50%;transform:translateX(-50%);z-index:80;display:flex;align-items:center;gap:var(--sp-2);width:max-content;max-width:calc(100% - 32px);background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:6px 6px 6px var(--sp-4);font-size:14px;font-weight:500;animation:pop var(--dur) var(--ease)}
.update-bar .t{flex:1;min-width:0}

/* «Нет сети» — страница из SW, когда нет ни кэша, ни связи */
.offline{min-height:100dvh;display:grid;place-content:center;justify-items:start;gap:var(--sp-3);padding:var(--sp-6) var(--sp-4);max-width:420px;margin:0 auto}

/* шторка с инструкцией для iOS */
.ios-steps{display:grid;gap:var(--sp-2)}
.ios-step{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3);border:1px solid var(--line);border-radius:var(--r-md);font-size:14px}
.ios-step .n{width:24px;height:24px;border-radius:50%;background:var(--sunk);color:var(--ink2);display:grid;place-items:center;font-size:var(--fs-xs);font-weight:700;flex:none}
.ios-step .t{flex:1;min-width:0}
.ios-step .ic{color:var(--primary);flex:none}
.ios-sheet{display:grid;gap:var(--sp-4)}

/* раздел «Уведомления» */
.nt-title{display:flex;align-items:baseline;gap:var(--sp-3);margin-bottom:var(--sp-3)}
.settings .nt-title h2{margin-bottom:0}
.nt-saved{font-size:var(--fs-xs);color:var(--s-done-ink);font-weight:600}
.nt{display:grid;gap:var(--sp-4)}
.nt-chs{display:grid;border:1px solid var(--line);border-radius:var(--r-lg)}
.nt-ch{display:flex;gap:var(--sp-3);padding:var(--sp-4)}
.nt-chs>div+div .nt-ch{border-top:1px solid var(--line)}
.nt-ic{width:36px;height:36px;border-radius:var(--r-md);background:var(--sunk);color:var(--ink2);display:grid;place-items:center;flex:none}
.nt-body{flex:1;min-width:0;display:grid;gap:var(--sp-2)}
.nt-head{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap;min-height:24px}
.nt-head b{font-size:var(--fs-base);font-weight:600}
.nt-body .help{font-size:var(--fs-sm)}
.nt-warn{font-size:var(--fs-sm);color:var(--warn-ink);background:var(--warn-bg);border:1px solid var(--warn-line);border-radius:var(--r-md);padding:10px var(--sp-3)}
.nt-events{border:0;display:grid;gap:var(--sp-2);min-width:0}
.nt-events legend{font-size:13px;font-weight:600;color:var(--ink2);margin-bottom:var(--sp-2)}
.nt-ev-list{display:grid;border:1px solid var(--line);border-radius:var(--r-lg)}
.nt-ev{display:flex;align-items:flex-start;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);min-height:var(--touch);cursor:pointer}
.nt-ev+.nt-ev{border-top:1px solid var(--line)}
.nt-ev input{width:18px;height:18px;margin-top:2px;accent-color:var(--primary);flex:none}
.nt-ev b{display:block;font-weight:500;font-size:14px}
.nt-ev small{display:block;color:var(--muted);font-size:12.5px;margin-top:2px}
.nt-digest{margin-top:var(--sp-2)}
.nt-digest .sel:disabled{opacity:.55;cursor:not-allowed}
.nt-app{display:grid;gap:var(--sp-3)}

/* «Установить приложение» в списке «Ещё» */
.install-row{color:var(--primary);font-weight:500}
.install-row .t{color:var(--ink)}

@media (max-width:767px){
  .update-bar{top:auto;bottom:calc(var(--tabbar-h) + var(--sp-4) + env(safe-area-inset-bottom))}
  .scrim:has(.sheet-b){place-items:end stretch;padding:0}
  .modal.sheet-b{width:100%;border-radius:20px 20px 0 0;padding-bottom:calc(24px + env(safe-area-inset-bottom));animation:slide-up var(--dur) var(--ease)}
  .nt-ch{padding:var(--sp-3)}
  .nt-ch .acts .btn{flex:1 1 auto}
}
