/* Installation UI shares FRAMA's theme tokens; no business content is stored offline. */
.pwa-install-strip{margin-top:25px;display:flex;justify-content:center;width:100%;max-width:355px}
.pwa-install-strip[hidden],#pwa-install[hidden]{display:none}
#pwa-open{display:grid;place-items:center;width:56px;height:52px;background:var(--surface-raised);color:var(--teal);border:1px solid var(--line);border-radius:12px;transition:background .15s}
#pwa-open:hover{background:var(--info-bg,var(--surface-subtle))}
#pwa-open svg{width:27px;height:27px}
#pwa-dialog{max-width:520px;max-height:calc(100dvh - 40px - env(safe-area-inset-top) - env(safe-area-inset-bottom));border-color:var(--line);background:var(--surface)}
#pwa-dialog .modal-heading{padding:23px 25px;gap:14px}
#pwa-dialog .eyebrow{margin:0 0 5px}
#pwa-close{width:44px;min-width:44px;height:44px}
.pwa-dialog-body{padding:24px}
#pwa-description{color:var(--muted);font-size:13px;margin-bottom:23px}
.pwa-platforms{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.pwa-platforms button{display:flex;align-items:center;flex-direction:column;gap:10px;padding:17px 4px 13px;border:1px solid var(--line);border-radius:11px;color:var(--muted);background:var(--surface);min-height:94px;font-size:11px}
.pwa-platforms button[aria-pressed=true]{color:var(--ink);border-color:var(--teal);background:var(--surface-raised);box-shadow:inset 0 0 0 1px var(--teal)}
.pwa-platforms svg{width:27px;height:27px}
.pwa-guide{margin-top:27px}
.pwa-guide h3{font-size:15px;margin-bottom:17px}
#pwa-steps{list-style:none;padding:0;margin:0;display:grid;gap:17px;counter-reset:step}
#pwa-steps li{display:flex;gap:13px;align-items:center;font-size:13px}
.pwa-step-icon{width:35px;min-width:35px;height:35px;border-radius:9px;background:var(--surface-raised);color:var(--teal);display:grid;place-items:center}
.pwa-step-icon svg{width:21px;height:21px}
.pwa-hint{font-size:11px;line-height:1.7;color:var(--muted);margin:20px 0 0}
.pwa-hint:empty,.pwa-status:empty{display:none}
#pwa-install{margin-top:22px;min-height:46px;width:100%;justify-content:center;font-size:13px}
.pwa-status{font-size:12px;color:var(--muted);margin:15px 0 0}
.login-layout,.login-story{min-height:100dvh}
.login-form-wrap{padding-top:calc(90px + env(safe-area-inset-top));padding-bottom:calc(40px + env(safe-area-inset-bottom))}
.login-theme{top:calc(24px + env(safe-area-inset-top));right:calc(28px + env(safe-area-inset-right))}
.sidebar{padding-top:calc(23px + env(safe-area-inset-top));padding-bottom:calc(12px + env(safe-area-inset-bottom));padding-left:calc(15px + env(safe-area-inset-left))}
.topbar{padding-top:calc(12px + env(safe-area-inset-top));padding-right:calc(37px + env(safe-area-inset-right))}
.app-footer{padding-bottom:calc(20px + env(safe-area-inset-bottom))}
dialog{max-height:calc(100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}
@media(max-width:940px){.app-area{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.login-form-wrap{padding-left:calc(30px + env(safe-area-inset-left));padding-right:calc(30px + env(safe-area-inset-right))}}
@media(max-width:640px){.login-story{min-height:0}.login-theme{top:calc(18px + env(safe-area-inset-top));right:calc(20px + env(safe-area-inset-right))}.topbar{padding-top:calc(10px + env(safe-area-inset-top));padding-right:18px}.login-form-wrap input{font-size:16px}#pwa-dialog .modal-heading{padding:18px}.pwa-dialog-body{padding:20px}.pwa-platforms{gap:6px}.pwa-platforms button{font-size:10px}.pwa-install-strip{margin-top:20px}}
@media(display-mode:standalone),(display-mode:fullscreen),(display-mode:minimal-ui){.pwa-install-strip{display:none}}
