.pwa-controls { display:flex; justify-content:center; padding:12px 0; }
.pwa-button { font:600 14px/1.4 "Be Vietnam Pro",system-ui,sans-serif; cursor:pointer; min-height:44px; padding:10px 16px; border:1px solid #BFD5D1; border-radius:12px; background:#fff; color:#12383C; }
.pwa-button:focus-visible { outline:3px solid #007D80; outline-offset:3px; }
.pwa-button--primary { color:white; background:#007D80; border-color:#007D80; }
.pwa-notice { position:fixed; z-index:11000; top:calc(12px + env(safe-area-inset-top,0px)); left:50%; transform:translateX(-50%); width:min(480px,calc(100% - 24px)); padding:16px; border-radius:16px; border:1px solid #BFD5D1; background:#fff; color:#12383C; box-shadow:0 6px 24px #12383c26; font:14px/1.5 system-ui,sans-serif; }
.pwa-notice p { margin:0 0 12px; }
.pwa-actions { display:flex; flex-wrap:wrap; gap:8px; }
.pwa-dialog { position:fixed; inset:0; margin:auto; box-sizing:border-box; width:min(440px,calc(100% - 32px)); max-width:calc(100% - 32px); max-height:80vh; max-height:min(80dvh,calc(100dvh - 32px)); overflow:auto; padding:24px; border:1px solid #BFD5D1; border-radius:16px; background:#fff; color:#12383C; font:16px/1.5 system-ui,sans-serif; }
.pwa-dialog::backdrop { background:#12383c80; }
.pwa-dialog h2 { font-size:24px; margin:0 0 16px; }
.pwa-dialog p { margin:0 0 16px; }
.pwa-dialog li { margin-bottom:12px; }
