body{padding-bottom:env(safe-area-inset-bottom,0px)}.pwa-link{font:inherit}.pwa-panel{margin-top:20px;padding:24px}.pwa-panel p{line-height:1.8}.pwa-panel button,.pwa-update button{font:inherit;cursor:pointer;border-radius:8px;padding:10px 16px;background:#244c38;color:white;border:0}.pwa-network{position:sticky;top:0;z-index:60;background:#fff3cb;color:#493d22;padding:9px 16px;font-size:13px;text-align:center}.pwa-update{position:fixed;bottom:calc(16px + env(safe-area-inset-bottom,0px));right:16px;z-index:80;background:#fff;border:1px solid #cdd9ce;box-shadow:0 4px 20px #0002;border-radius:12px;padding:14px;max-width:calc(100vw - 32px)}.pwa-update p{margin:0 0 8px;font-size:14px}.pwa-update button+button{margin-left:8px;background:#e5e9e2;color:#244c38}@media(display-mode:standalone){.topbar{padding-top:calc(16px + env(safe-area-inset-top,0px))}.sidebar{padding-top:calc(24px + env(safe-area-inset-top,0px))}}
.install-invite,.pwa-quick-install{display:none}
.install-invite[hidden],.pwa-quick-install[hidden],.pwa-link[hidden],.install-guide [hidden]{display:none!important}
.install-primary,.install-secondary,.install-guide button,.pwa-quick-install{font:inherit;cursor:pointer;min-height:44px;border-radius:12px}
.install-primary{border:0;background:#315840;color:#fff;padding:12px 18px;font-weight:650}
.install-primary:disabled{opacity:.65;cursor:wait}
.install-guide{box-sizing:border-box;width:min(440px,calc(100% - 24px));max-height:calc(100dvh - 32px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));padding:24px;border:1px solid #dce3d6;border-radius:24px;color:#293d30;background:#fcfbf5;overflow:auto;box-shadow:0 20px 70px #14281b33}
.install-guide::backdrop{background:#17281dd0}
.install-close{position:absolute;right:8px;top:8px;width:44px;border:0;background:transparent;color:#526753;font-size:26px!important}
.install-guide-puppy{display:block;width:68px;height:68px;object-fit:contain;margin:0 auto 8px}
.install-guide h2{font-size:23px;line-height:1.4;text-align:center;margin:0 12px 8px;outline-offset:4px}
.install-guide-intro{text-align:center;font-size:14px;line-height:1.7;margin:0 0 16px;color:#617261}
.install-device-choice{display:flex;gap:6px;background:#edf0e7;padding:4px;border-radius:14px;margin-bottom:16px}
.install-device-choice button{flex:1;border:0;background:transparent;color:#617261;font-size:14px}
.install-device-choice button[aria-pressed=true]{background:#fff;color:#284c35;box-shadow:0 1px 4px #273d2914;font-weight:650}
.install-steps{padding:0;list-style:none;margin:0;display:grid;gap:16px}
.install-steps li{display:flex;gap:12px;align-items:flex-start}
.install-step-icon{display:grid;place-items:center;flex:none;width:44px;height:44px;border:1px solid #d6dfcf;border-radius:12px;background:#eff2e7;color:#3c6245}
.install-step-icon svg{width:25px;height:25px}
.install-steps strong{display:block;font-size:15px;line-height:1.6}
.install-steps strong span{color:#6b806a}
.install-steps p,.install-guide-note,.install-browser-hint{font-size:13px;line-height:1.7;color:#657360;margin:3px 0 0}
.install-guide-note{margin-top:16px;background:#f0f1e6;border-radius:10px;padding:10px 12px}
.install-browser-hint{color:#735c31;margin:0 0 16px}
.install-guide-actions{display:flex;gap:8px;margin-top:12px}
.install-guide-actions button{flex:1;min-width:0}
.install-secondary{background:transparent;border:1px solid #ced8c9;color:#38543e;padding:10px 16px}
.install-status{font-size:13px;line-height:1.7;color:#375c40;margin:12px 0 0}
.install-status:empty{display:none}
.install-address{margin-top:14px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px}
.install-address label{grid-column:1/-1;font-size:12px;color:#657360}
.install-address input{min-width:0;width:100%;box-sizing:border-box;border:1px solid #ced8c9;border-radius:10px;background:#fff;padding:10px;font:inherit;font-size:13px;color:#34523c}
.install-address button{border:1px solid #ced8c9;background:#fff;padding:8px 10px;color:#34523c;font-size:13px}
.install-guide button:focus-visible,.install-invite button:focus-visible,.pwa-quick-install:focus-visible{outline:3px solid #b68b3d;outline-offset:3px}
@media(max-width:767px){
 .install-invite{position:relative;display:grid;grid-template-columns:46px minmax(0,1fr);gap:8px 12px;align-items:center;background:#edf2e5;border:1px solid #dce4d3;border-radius:18px;padding:14px 16px;margin:0 0 20px}
 .install-invite>img{width:46px;height:54px;object-fit:contain}
 .install-invite>div{padding-right:22px}
 .install-invite strong{font-size:15px;line-height:1.5;display:block;color:#2e5037}
 .install-invite p{font-size:12px;line-height:1.6;margin:3px 0 0;color:#65735f}
 .install-invite>.install-primary{grid-column:1/-1;width:100%;min-height:44px;font-size:14px;padding:10px}
 .install-dismiss{position:absolute;right:2px;top:2px;width:44px;min-height:44px;background:transparent;border:0;color:#64775f;font-size:24px;cursor:pointer}
 .pwa-quick-install{display:block;border:0;background:transparent;color:#426044;font-size:12px;padding:8px 4px;white-space:nowrap;flex:none}
 .topbar:has(.pwa-quick-install){gap:6px;flex-wrap:wrap;height:auto;min-height:56px;padding-top:8px;padding-bottom:8px;align-content:center}
 .journey-topbar:has(.pwa-quick-install) .journal-link{display:none}
 .install-guide{padding:20px;max-height:calc(100dvh - 24px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))}
 .install-guide h2{font-size:21px}
 .pwa-update{bottom:calc(90px + env(safe-area-inset-bottom,0px))}
}
