/* Installation and startup use the approved website palette; no screen redesign. */
.pwa-launch{box-sizing:border-box;min-height:75dvh;display:grid;align-content:center;justify-items:center;gap:12px;padding:32px 24px;text-align:center;background:#fbfaf6;color:#102f60;font-family:Arial,sans-serif}
.pwa-launch img{width:112px;height:112px;object-fit:contain;border-radius:24px}
.pwa-launch h1{font-size:1.8rem;line-height:1.2;margin:8px 0}
.pwa-launch p{margin:0;max-width:32ch;line-height:1.5}.pwa-launch small{font-size:1rem;color:#59665e}
.pwa-install-control{position:relative;z-index:2;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 14px;margin:12px 0;padding:6px;text-align:center;color:#102f60}
.pwa-install-control button{width:auto;min-width:140px;min-height:46px;margin:0;padding:10px 16px;border:1px solid #b89158;border-radius:10px;background:#fbfaf6;color:#102f60;font:700 1rem/1.4 Arial,sans-serif;cursor:pointer}
.pwa-install-control p{font:400 1rem/1.5 Arial,sans-serif;margin:0!important;background:none!important;color:#59665e!important}
.pwa-install-control button:focus-visible,.pwa-install-dialog :is(button,a):focus-visible{outline:3px solid #102f60;outline-offset:4px}
.pwa-install-dialog{box-sizing:border-box;position:fixed;inset:0;width:calc(100% - 32px);max-width:500px;max-height:calc(100dvh - 32px);margin:auto;padding:26px;overflow:auto;border:1px solid #b89158;border-radius:18px;background:#fbfaf6;color:#102f60;font:1rem/1.6 Arial,sans-serif;box-shadow:0 12px 40px #102f6033}
.pwa-install-dialog::backdrop{background:#102f6070}.pwa-install-dialog img{width:68px;height:68px;border-radius:16px}.pwa-install-dialog h2{font-size:1.6rem;line-height:1.2;margin:18px 0}.pwa-install-dialog p{line-height:1.6}.pwa-install-dialog ul{padding-left:22px}.pwa-install-dialog li{margin:10px 0}.pwa-install-dialog a{color:#36563e;overflow-wrap:anywhere}.pwa-install-dialog button{min-height:46px;width:auto;margin:8px 10px 0 0;padding:10px 18px;border:1px solid #42684d;border-radius:10px;background:#42684d;color:white;font:700 1rem/1.4 Arial,sans-serif;cursor:pointer}.pwa-install-dialog button.pwa-close{color:#102f60;background:#e8eee1;border-color:#b89158}.pwa-install-dialog [hidden]{display:none!important}
.pwa-install-dialog details{padding:12px 0;border-bottom:1px solid #ced8c5}.pwa-install-dialog summary{font-weight:700;cursor:pointer;min-height:32px}.pwa-install-dialog details p{margin:10px 0 0}.pwa-install-dialog summary:focus-visible{outline:3px solid #102f60;outline-offset:3px}.pwa-install-dialog h2:focus{outline:none}
.app-shell .approved-calm-footer:has(>.pwa-install-control){height:auto!important;min-height:160px!important;padding-bottom:48px!important}
html.pwa-standalone{background:#fbfaf6}html.pwa-standalone body{padding-top:env(safe-area-inset-top)}
@media(max-width:800px){html.pwa-standalone .navigation30-phone{padding-bottom:calc(6px + env(safe-area-inset-bottom))!important}html.pwa-standalone .app-side-navigation{max-height:calc(100dvh - 132px - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important}.pwa-install-control{flex-direction:column}.pwa-install-control button{font-size:1rem}.pwa-install-dialog{padding:24px 20px}}

/* Phone controls remain readable and usable in a standalone window. */
@media(max-width:800px){body.navigation30 .app-side-navigation .side-nav-links>.side-nav-link{font-size:1rem;line-height:1.4;min-height:48px}body.navigation30 .app-side-navigation .dashboard-menu-footer>a{font-size:.875rem;min-height:44px}body.navigation30 .navigation30-phone :is(a,button){font-size:.875rem;line-height:1.2}body.navigation30 :is(input,select,textarea){font-size:max(1rem,1em)}}

@media(max-width:500px){.pwa-install-dialog img{width:56px;height:56px}.pwa-install-dialog h2{font-size:1.5rem;margin:12px 0}.pwa-install-dialog p{margin:12px 0}.pwa-install-dialog .pwa-close{position:sticky;bottom:0;box-shadow:0 0 0 5px #fbfaf6}}
