:root{--fym-pwa-bg:#102631;--fym-pwa-line:#2e5162;--fym-pwa-text:#edf8fb;--fym-pwa-muted:#9bb3bf;--fym-pwa-accent:#22c1d6}
#fymPwaInstallButton{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));z-index:2147483000;display:none;align-items:center;gap:8px;max-width:calc(100vw - 32px);border:1px solid var(--fym-pwa-accent);border-radius:999px;padding:10px 14px;background:rgba(9,31,41,.96);color:var(--fym-pwa-text);font:700 13px/1.2 Segoe UI,Tahoma,Arial,sans-serif;box-shadow:0 14px 38px rgba(0,0,0,.35);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);cursor:pointer;white-space:nowrap}#fymPwaInstallButton[data-visible="1"]{display:inline-flex}#fymPwaInstallButton .fym-pwa-icon{width:20px;height:20px;border-radius:5px;display:block}
#fymPwaNotice{position:fixed;left:50%;bottom:max(72px,calc(env(safe-area-inset-bottom) + 72px));transform:translateX(-50%);z-index:2147483001;display:none;width:min(460px,calc(100vw - 28px));padding:12px 14px;border:1px solid var(--fym-pwa-line);border-radius:14px;background:rgba(10,31,40,.98);color:var(--fym-pwa-text);font:600 12px/1.55 Segoe UI,Tahoma,Arial,sans-serif;box-shadow:0 16px 44px rgba(0,0,0,.38);text-align:center}#fymPwaNotice[data-visible="1"]{display:block}
#fymPwaUpdateBanner{position:fixed;left:50%;top:max(12px,env(safe-area-inset-top));transform:translateX(-50%);z-index:2147483005;display:none;align-items:center;gap:12px;width:min(520px,calc(100vw - 28px));padding:10px 12px;border:1px solid #2f8299;border-radius:14px;background:rgba(8,35,46,.98);color:#eefcff;font:700 12px/1.35 Segoe UI,Tahoma,Arial,sans-serif;box-shadow:0 14px 42px rgba(0,0,0,.36)}#fymPwaUpdateBanner[data-visible="1"]{display:flex}#fymPwaUpdateBanner span{flex:1}#fymPwaUpdateBanner button{border:1px solid #48d3e8;border-radius:999px;background:#1f697a;color:white;padding:7px 12px;font-weight:800;cursor:pointer}
/* Notification control is intentionally compact. Use a line SVG instead of a large yellow emoji. */
@media(display-mode:standalone){#fymPwaInstallButton{display:none!important}}
@media(max-width:720px){#fymPwaInstallButton{right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));padding:9px 12px;font-size:12px}}
/* v1.2.1: notification entry lives inside the global hamburger drawer only. */
.fym-pwa-menu-notifications{position:relative;border:1px solid rgba(69,111,130,.34);background:rgba(18,49,63,.42);margin-bottom:5px}
.fym-pwa-menu-notifications:hover,.fym-pwa-menu-notifications:focus-visible,.fym-pwa-menu-notifications[data-unread="1"]{background:#153746;border-color:#4c8399;color:#fff}
.fym-pwa-menu-notifications .fym-pwa-menu-bell-icon{width:15px;height:15px;display:block;margin:auto}
.fym-pwa-menu-notifications .fym-pwa-menu-badge{flex:0 0 auto;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#e63f55;color:#fff;display:grid;place-items:center;font:800 9px/1 Segoe UI,Tahoma,Arial,sans-serif}
.fym-pwa-menu-notifications .fym-pwa-menu-badge[hidden]{display:none!important}
@media print{.fym-pwa-menu-notifications,#fymPwaForegroundToast{display:none!important}}

/* v1.2.2: visible foreground heads-up card. System notifications remain the
   source of truth in background/lock-screen mode; this card guarantees that
   an operator actively using FYM sees the actual push text immediately. */
#fymPwaForegroundToast{position:fixed;left:50%;top:max(12px,calc(env(safe-area-inset-top) + 12px));transform:translate(-50%,-18px);z-index:2147483010;width:min(520px,calc(100vw - 24px));min-height:58px;border:1px solid rgba(72,183,218,.72);border-radius:14px;padding:9px 11px;background:rgba(8,35,46,.985);color:#effbff;box-shadow:0 16px 44px rgba(0,0,0,.42);display:flex;align-items:center;gap:10px;text-align:left;font-family:Segoe UI,Tahoma,Arial,sans-serif;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .16s ease,transform .16s ease;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
#fymPwaForegroundToast[data-visible="1"]{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}
#fymPwaForegroundToast .fym-pwa-toast-mark{width:34px;height:34px;flex:0 0 34px;border-radius:10px;display:grid;place-items:center;background:#123c4e;border:1px solid #3f7187;color:#90eaff;font-size:17px}
#fymPwaForegroundToast .fym-pwa-toast-copy{flex:1;min-width:0;display:block}
#fymPwaForegroundToast .fym-pwa-toast-title{display:block;color:#fff;font-size:12px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#fymPwaForegroundToast .fym-pwa-toast-body{display:-webkit-box;margin-top:3px;color:#bcd5df;font-size:10px;line-height:1.35;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
#fymPwaForegroundToast .fym-pwa-toast-open{flex:0 0 auto;color:#8adcf5;font-size:23px;line-height:1}
@media(max-width:600px){#fymPwaForegroundToast{top:max(8px,calc(env(safe-area-inset-top) + 8px));width:calc(100vw - 16px);min-height:54px;padding:8px 9px;border-radius:12px}#fymPwaForegroundToast .fym-pwa-toast-mark{width:30px;height:30px;flex-basis:30px;font-size:15px}}
