
.pwa-install { border:1px solid #006edc; border-radius:8px; padding:10px 14px; color:#006edc; background:white; font-family:inherit; font-size:12px; font-weight:600; cursor:pointer; }
.pwa-install[hidden],.pwa-notice[hidden] { display:none!important; }
.pwa-dialog { border:0; border-radius:20px; padding:28px; width:min(440px,calc(100% - 32px)); color:#031246; background:#fff; box-shadow:0 20px 80px #03124640; }
.pwa-dialog::backdrop { background:#03124688; }
.pwa-dialog h2 { font-size:24px; margin:12px 0; }
.pwa-dialog p { font-size:15px; line-height:1.6; }
.pwa-dialog button { border:0; background:#006edc; color:#fff; padding:12px 18px; border-radius:8px; margin-top:18px; cursor:pointer; }
.pwa-notice { position:fixed; z-index:10000; left:50%; transform:translateX(-50%); bottom:calc(22px + env(safe-area-inset-bottom)); width:max-content; max-width:calc(100% - 32px); padding:12px 18px; border-radius:12px; background:#031246; color:white; box-shadow:0 6px 24px #03124633; font:14px/1.4 sans-serif; }
.pwa-notice button { margin-left:12px; border:1px solid #fff; border-radius:6px; padding:7px 10px; color:white; background:transparent; cursor:pointer; }
.pwa-app-nav { display:none; }
.pwa-offline-page { background:#f3f4f8; color:#031246; font:16px/1.6 system-ui,sans-serif; padding:20px; }
.pwa-offline-page main { max-width:480px; margin:15vh auto; }
.pwa-offline-page a { color:#006edc; }
@media(display-mode:standalone) { body { padding-top:env(safe-area-inset-top); } }
@media(max-width:760px) { .pwa-standalone body { padding-bottom:calc(76px + env(safe-area-inset-bottom)); } .pwa-standalone .pwa-app-nav { display:flex; position:fixed; bottom:0; left:0; right:0; z-index:900; background:#fff; border-top:1px solid #e2e8f0; padding:12px 10px calc(12px + env(safe-area-inset-bottom)); justify-content:space-around; gap:8px; } .pwa-app-nav a { color:#3a4268; text-decoration:none; font-size:11px; text-align:center; padding:6px; } .pwa-app-nav a[aria-current="page"] { color:#006edc; font-weight:800; } .pwa-standalone .pwa-notice { bottom:calc(90px + env(safe-area-inset-bottom)); } }

/* Lift the PWA chat launcher by 8% of viewport height; clear the bottom menu. */
.pwa-chat-launcher { position:fixed; z-index:950; left:max(18px,env(safe-area-inset-left)); bottom:calc(20px + 8vh + env(safe-area-inset-bottom)); width:56px; height:56px; display:grid; place-items:center; border:0; border-radius:50%; background:#006edc; color:white; box-shadow:0 4px 18px #03124640; cursor:pointer; }
.pwa-chat-launcher[hidden] { display:none; }
.pwa-chat-launcher:focus-visible { outline:3px solid #007cfb; outline-offset:4px; }
@media(max-width:760px) { .pwa-chat-launcher { bottom:calc(max(88px,20px + 8vh) + env(safe-area-inset-bottom)); } }
