/* Install-app sheet (shared by the website and the admin panel) */
.installed[data-install], .installed[data-install-card] { display: none !important; }
.pwa-sheet { position: fixed; inset: 0; z-index: 100; background: rgba(4, 30, 20, .55); display: flex; align-items: flex-end; justify-content: center; animation: pwaFade .2s ease; font-family: inherit; }
@media (min-width: 640px) { .pwa-sheet { align-items: center; } }
.pwa-box { position: relative; background: #fff; width: 100%; max-width: 420px; border-radius: 24px 24px 0 0; padding: 22px 20px calc(20px + env(safe-area-inset-bottom)); animation: pwaUp .35s cubic-bezier(.2,.8,.2,1); color: #16201B; }
@media (min-width: 640px) { .pwa-box { border-radius: 24px; } }
.pwa-x { position: absolute; top: 12px; right: 12px; border: 0; background: #F2F5F3; width: 34px; height: 34px; border-radius: 50%; font-size: 14px; color: #5F6B66; cursor: pointer; }
.pwa-app { display: flex; align-items: center; gap: 14px; margin-bottom: 14px; padding-right: 30px; }
.pwa-app img { width: 64px; height: 64px; border-radius: 16px; box-shadow: 0 6px 16px rgba(6, 64, 42, .25); flex: none; }
.pwa-app b { display: block; font-size: 19px; color: #04301F; line-height: 1.3; }
.pwa-app small { color: #5F6B66; font-size: 13.5px; }
.pwa-perks { list-style: none; margin: 0 0 16px; padding: 12px 14px; background: #E8F5EE; border-radius: 14px; display: grid; gap: 6px; font-size: 14.5px; color: #1f3b2e; }
.pwa-actions { display: grid; grid-template-columns: 1fr 2fr; gap: 10px; }
.pwa-btn { border: 0; border-radius: 14px; min-height: 52px; font: inherit; font-weight: 700; font-size: 17px; cursor: pointer; background: linear-gradient(135deg, #0B5D3B, #04301F); color: #fff; box-shadow: 0 8px 18px rgba(11, 93, 59, .3); }
.pwa-btn.ghost { background: #F2F5F3; color: #5F6B66; box-shadow: none; font-weight: 600; font-size: 15px; }
.pwa-btn:active { transform: scale(.97); }
.pwa-wait { display: flex; align-items: center; justify-content: center; gap: 10px; padding: 18px 0; color: #5F6B66; }
.pwa-spin { width: 22px; height: 22px; border: 3px solid #CFE9DB; border-top-color: #0B5D3B; border-radius: 50%; animation: pwaSpin .8s linear infinite; }
.pwa-guide { font-size: 15px; color: #2b3631; }
.pwa-guide p { margin: 0 0 10px; }
.pwa-guide ol { margin: 0; padding-left: 22px; display: grid; gap: 8px; }
.pwa-guide .k { display: inline-block; background: #E8F5EE; color: #04301F; border-radius: 6px; padding: 0 6px; font-weight: 600; }
.pwa-done { text-align: center; font-size: 20px; font-weight: 700; color: #0B5D3B; padding: 12px 0; }
.pwa-done small { display: block; font-size: 14px; color: #5F6B66; font-weight: 400; }
@keyframes pwaFade { from { opacity: 0; } }
@keyframes pwaUp { from { transform: translateY(40px); opacity: 0; } }
@keyframes pwaSpin { to { transform: rotate(360deg); } }
