.pwa-install-banner{display:grid;grid-template-columns:40px minmax(0,1fr) auto 32px;gap:10px;align-items:center;background:#edf7f4;border-block:1px solid #d0e5df;padding:12px 16px;color:#173e37}
.pwa-install-banner>img{border-radius:8px;width:40px;height:40px}
.pwa-install-banner b,.pwa-install-banner span{display:block;font-size:.72rem;line-height:1.4;overflow-wrap:anywhere;letter-spacing:0}
.pwa-install-banner span{font-size:.6rem;color:#45645f;margin-top:3px}
.pwa-install-banner button{min-height:44px;border:1px solid #bfd9d1;border-radius:6px;background:white;color:#126e5b;font:inherit;font-size:.65rem;font-weight:700;padding:8px 12px;cursor:pointer}
.pwa-install-banner .pwa-install-dismiss{padding:0;min-height:36px;width:32px;background:transparent;border:0;color:#45645f;font-size:1rem}
.pwa-device-dialog{box-sizing:border-box;width:min(460px,calc(100% - 24px));max-height:calc(100dvh - 32px);overflow:auto;margin:auto;padding:18px;border:1px solid #d5e0e3;border-radius:8px;background:#fff;color:#102b39}
.pwa-device-dialog::backdrop{background:rgba(16,43,57,.4)}
.pwa-device-dialog-head{display:flex;align-items:flex-start;gap:12px;justify-content:space-between;position:sticky;top:-18px;background:#fff;padding-block:12px;z-index:1}
.pwa-device-dialog h2{font-size:1rem;line-height:1.3;margin:0;overflow-wrap:anywhere}
.pwa-device-dialog-head button{flex-shrink:0;width:44px;height:44px;border:1px solid #d5e0e3;background:#fff;border-radius:6px;font-size:1rem;color:#52646d}
.pwa-device-dialog ol{padding-inline-start:1.3em;font-size:.78rem;line-height:1.6}
.pwa-device-dialog li{margin:12px 0;overflow-wrap:anywhere}
.pwa-device-secondary{font:inherit;font-size:.7rem;line-height:1.5;background:#f4f8f8;border:1px solid #d3dfe2;border-radius:6px;color:#274d59;padding:10px 14px;min-height:44px;white-space:normal}
.account-settings.pwa-phone-settings{min-width:0}
.pwa-phone-settings .pwa-push-description,.pwa-phone-settings .account-push-status,.pwa-phone-settings .pwa-push-result{font-size:.68rem;line-height:1.55;overflow-wrap:anywhere;color:#52646d;margin:12px 0}
.pwa-push-switch-row{display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:.75rem;line-height:1.4;min-height:48px;padding:8px 0;color:#173e37}
.pwa-push-switch-row span{min-width:0;overflow-wrap:anywhere}
.pwa-phone-settings input.pwa-push-switch{appearance:none;display:block;flex:0 0 48px;box-sizing:border-box;width:48px;height:28px;border:1px solid #8d9d9f;border-radius:20px;background:#9caaac;position:relative;cursor:pointer;margin:0;padding:0;transition:background .15s}
.pwa-phone-settings input.pwa-push-switch::before{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0002;transition:transform .15s}
.pwa-phone-settings input.pwa-push-switch:checked{background:#087a65;border-color:#087a65}
.pwa-phone-settings input.pwa-push-switch:checked::before{transform:translateX(20px)}
.pwa-phone-settings input.pwa-push-switch:focus-visible{outline:3px solid #42a48f;outline-offset:3px}
.pwa-phone-settings input.pwa-push-switch:disabled{opacity:.5;cursor:default}
.pwa-push-actions{display:grid;grid-template-columns:minmax(0,1fr) 48px;gap:10px}
.pwa-phone-settings .pwa-push-actions button{box-sizing:border-box;min-width:0;margin:0;min-height:48px;padding:8px 12px;background:#fff;border:1px solid #cddcdf;border-radius:6px;font:inherit;font-size:.72rem;font-weight:700;color:#126e5b;white-space:normal}
.pwa-phone-settings .pwa-push-actions button:disabled{opacity:.5;cursor:default}
.pwa-phone-settings .pwa-push-install{margin-top:12px;width:100%}
.pwa-phone-settings [hidden]{display:none!important}
@media(max-width:380px){.pwa-install-banner{grid-template-columns:32px minmax(0,1fr) 32px;gap:8px;padding:10px 12px}.pwa-install-banner>img{width:32px;height:32px}.pwa-install-banner>button[data-pwa-install-open]{grid-column:2;grid-row:2;justify-self:start}.pwa-install-banner .pwa-install-dismiss{grid-column:3;grid-row:1}}
