/* PWA: lista novej verzie, offline stranka, instalacia, safe-area v standalone rezime.
   Nacitava sa iba pri PWA_ENABLED. */
.pwa-update-bar { position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:300;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;max-width:560px;margin:0 auto;padding:12px 14px;border-radius:8px;background:var(--navy);color:#fff;box-shadow:0 12px 30px rgba(15,39,58,.35); }
.pwa-update-bar .button { background:#fff;color:var(--navy); }
.pwa-update-bar .button:focus-visible { outline:3px solid #f4b942;outline-offset:2px; }
.pwa-update-bar .button:disabled { opacity:.7;cursor:default; }
.pwa-card .button[hidden],.pwa-card p[hidden] { display:none; }
.pwa-card ol { margin:8px 0 0;padding-left:22px; }
.offline-page { max-width:520px;margin:12vh auto;padding:0 16px;text-align:center; }
.offline-logo { display:block;margin:0 auto 16px; }
@media (display-mode: standalone) {
  .topbar { padding-top:env(safe-area-inset-top); }
  main { padding-left:max(28px,env(safe-area-inset-left));padding-right:max(28px,env(safe-area-inset-right)); }
}
.is-standalone [data-pwa-install] { display:none; }
.push-actions { display:flex;flex-wrap:wrap;gap:10px;margin:12px 0; }
.push-actions .button[hidden],.push-level select[hidden] { display:none; }
.push-level { margin:12px 0; }
.push-level label { display:block;margin-bottom:4px;color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase; }
.push-level select { max-width:380px; }
.push-message { min-height:20px;margin:8px 0;color:var(--muted); }
.push-message.is-error { color:#a32b2b;font-weight:650; }
.push-devices { margin:0;padding:0;list-style:none; }
.push-device { display:grid;grid-template-columns:1fr auto;gap:2px 12px;align-items:center;padding:10px 0;border-top:1px solid var(--line); }
.push-device-name { font-weight:700; }
.push-device .subtitle { grid-column:1; margin:0; }
.push-device .button { grid-column:2;grid-row:1 / span 2; }
.push-device-empty { padding:10px 0;color:var(--muted); }
