.pwa-install-card,.pwa-network-pill,.pwa-update-toast{position:fixed;z-index:10050;font-family:inherit}
.pwa-install-card{left:50%;bottom:18px;transform:translateX(-50%);width:min(620px,calc(100% - 24px));display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid rgba(129,140,248,.38);border-radius:18px;background:color-mix(in srgb,var(--bg-card,#111522) 94%,transparent);box-shadow:0 18px 60px rgba(0,0,0,.35);backdrop-filter:blur(18px)}
.pwa-install-card[hidden]{display:none}.pwa-install-icon{width:48px;height:48px;border-radius:50%;flex:0 0 auto}.pwa-install-copy{min-width:0;flex:1}.pwa-install-copy strong{display:block;color:var(--text-primary,#fff);font-size:.98rem}.pwa-install-copy small{display:block;color:var(--text-secondary,#aeb4c8);margin-top:3px;line-height:1.35}.pwa-install-actions{display:flex;gap:8px;align-items:center}.pwa-install-card button{white-space:nowrap}
.pwa-network-pill{right:12px;bottom:12px;padding:8px 12px;border-radius:999px;font-size:.78rem;font-weight:800;box-shadow:0 8px 28px rgba(0,0,0,.3);background:#7f1d1d;color:#fff}.pwa-network-pill.is-online{background:#065f46}.pwa-network-pill[hidden]{display:none}
.pwa-update-toast{right:18px;top:18px;max-width:360px;padding:14px 16px;border-radius:16px;border:1px solid rgba(129,140,248,.4);background:var(--bg-card,#111522);color:var(--text-primary,#fff);box-shadow:0 16px 50px rgba(0,0,0,.38)}
.pwa-settings-card{margin-top:18px;padding:18px;border:1px solid var(--border-subtle);border-radius:16px;background:color-mix(in srgb,var(--bg-card) 88%,var(--accent) 4%)}.pwa-settings-card h4{margin:0 0 8px;color:var(--text-primary)}.pwa-settings-card>p{margin:0 0 16px;color:var(--text-secondary);line-height:1.5}.pwa-setting-line{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:11px 0;border-top:1px solid var(--border-subtle)}.pwa-setting-line:first-of-type{border-top:0}.pwa-setting-line label{display:flex;gap:10px;align-items:flex-start;color:var(--text-primary);cursor:pointer}.pwa-setting-line input[type=checkbox]{margin-top:3px;accent-color:#4f46e5}.pwa-setting-line select{max-width:180px}.pwa-push-status{margin-top:12px;padding:10px 12px;border-radius:12px;background:rgba(79,70,229,.12);color:var(--text-secondary);font-size:.88rem}.pwa-push-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.pwa-draft-note{display:inline-flex;align-items:center;gap:6px;margin-left:8px;font-size:.78rem;color:var(--text-secondary)}
html[data-theme="light"] .pwa-install-card,html[data-theme="light"] .pwa-update-toast{background:rgba(255,255,255,.96);border-color:rgba(79,70,229,.25);box-shadow:0 18px 50px rgba(30,41,59,.18)}
@media(max-width:640px){.pwa-install-card{align-items:flex-start}.pwa-install-actions{flex-direction:column}.pwa-install-actions .btn{padding:9px 12px}.pwa-install-copy small{font-size:.76rem}.pwa-setting-line{flex-direction:column}.pwa-setting-line select{max-width:none;width:100%}}
@media(display-mode:standalone){.pwa-install-card{display:none!important}}

/* Visible install entry points · 2.1.2 desktop/theme hotfix */
.pwa-install-trigger[hidden]{display:none!important}
.install-app-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;border:1px solid rgba(240,196,90,.46)!important;border-radius:var(--radius-xs,10px);background:linear-gradient(180deg,#1b1c20 0%,#090a0c 100%)!important;color:#f0c45a!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.08),inset 0 0 20px rgba(240,196,90,.035),0 0 0 1px rgba(0,0,0,.3),0 7px 22px rgba(240,196,90,.10)!important;text-shadow:0 0 10px rgba(240,196,90,.16);font-weight:800;cursor:pointer;white-space:nowrap;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease,background .2s ease}
.install-app-button:hover{transform:translateY(-1px);border-color:rgba(240,196,90,.82)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 0 22px rgba(240,196,90,.20)!important}
.install-app-button .install-button-shield{width:22px;height:22px;flex:0 0 auto;display:block}
.install-app-button .install-button-download{width:20px;height:20px;flex:0 0 auto;display:block;padding-left:7px;border-left:1px solid rgba(240,196,90,.22);box-sizing:content-box}
.public-install-button{min-height:40px;border-radius:10px;padding:0 12px}
.public-app-action{min-height:46px;border-radius:10px;padding:0 18px}
.auth-install-card{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:10px 12px;margin:0 0 18px;padding:12px 13px;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--border-subtle));border-radius:15px;background:color-mix(in srgb,var(--bg-card) 91%,var(--accent) 5%);overflow:hidden}
.auth-install-card>img{width:44px;height:44px;border-radius:13px}
.auth-install-card strong{display:block;min-width:0;color:var(--text-primary);font-size:.94rem;line-height:1.3;overflow-wrap:anywhere}
.auth-install-card .install-app-button{grid-column:1/-1;width:100%;min-width:0;min-height:42px;padding:8px 12px;border-radius:10px}
.dashboard-install-banner{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:14px;margin:0 0 18px;padding:14px 16px;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--border-subtle));border-radius:18px;background:linear-gradient(135deg,color-mix(in srgb,var(--bg-card) 94%,var(--accent) 5%),color-mix(in srgb,var(--bg-card) 96%,transparent));box-shadow:0 12px 32px rgba(0,0,0,.12)}
.dashboard-install-banner>img{width:52px;height:52px;border-radius:15px}.dashboard-install-banner strong,.dashboard-install-banner span{display:block}.dashboard-install-banner strong{color:var(--text-primary);font-size:1rem}.dashboard-install-banner>div>span{margin-top:4px;color:var(--text-secondary);font-size:.86rem;line-height:1.4}
.dashboard-install-banner .install-app-button{min-height:42px;padding:8px 13px;border-radius:var(--radius-xs,10px)}
html[data-theme="light"] .auth-install-card,html[data-theme="light"] .dashboard-install-banner{border-color:rgba(77,79,143,.24);background:rgba(79,70,229,.065);box-shadow:0 10px 28px rgba(50,54,110,.08)}
html[data-theme="light"] .install-app-button{border-color:rgba(77,79,143,.56)!important;background:linear-gradient(135deg,#7376bb 0%,#5f62a5 48%,#4d4f8f 100%)!important;color:#fff!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 8px 22px rgba(77,79,143,.22)!important;text-shadow:none}
html[data-theme="light"] .install-app-button:hover{border-color:rgba(62,64,120,.78)!important;background:linear-gradient(135deg,#7c7fc3 0%,#686bb0 48%,#555897 100%)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.26),0 11px 28px rgba(77,79,143,.30)!important}
html[data-theme="light"] .install-app-button .install-button-shield,html[data-theme="light"] .install-app-button .install-button-download{filter:brightness(0) invert(1);opacity:.96}
html[data-theme="light"] .install-app-button .install-button-download{border-left-color:rgba(255,255,255,.28)}
@media(max-width:900px){.public-header-actions .public-install-button{display:none}.dashboard-install-banner{grid-template-columns:46px minmax(0,1fr);gap:11px;padding:13px}.dashboard-install-banner>img{width:46px;height:46px}.dashboard-install-banner .btn{grid-column:1/-1;width:100%}.public-app-action{width:100%}}
@media(max-width:700px){.auth-install-card{grid-template-columns:40px minmax(0,1fr);align-items:center}.auth-install-card>img{width:40px;height:40px}.auth-install-card .install-app-button{grid-column:1/-1;width:100%}}
@media(max-width:520px){.dashboard-install-banner>div>span{font-size:.8rem}.install-app-button .install-button-shield{width:20px;height:20px}.install-app-button .install-button-download{width:18px;height:18px}}
@media(display-mode:standalone){[data-pwa-install]{display:none!important}}
