.app-install-bar { display:flex; align-items:center; justify-content:flex-end; max-width:1120px; margin:12px auto 0; padding:0; }
.app-shell:has(.discovery-page) .app-install-bar { max-width:960px; }
.app-install-bar[hidden], [data-app-install][hidden] { display:none!important; }
.app-install-button, .app-install-close { min-height:44px; padding:10px 16px; border:1px solid #076cb4; border-radius:2px; background:#076cb4; color:#fff; font:600 14px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; cursor:pointer; }
.app-install-button:hover, .app-install-close:hover { background:#07588e; }
.app-install-button:focus-visible, .app-install-close:focus-visible { outline:3px solid #e4a31a; outline-offset:3px; }
.app-install-button:disabled { opacity:.7; cursor:wait; }
.app-install-dialog { width:min(480px,calc(100vw - 32px)); max-height:calc(100dvh - 32px); margin:auto; padding:24px; border:1px solid #c9dce9; border-top:4px solid #076cb4; border-radius:2px; background:#fff; color:#16334a; font:16px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; overflow:auto; }
.app-install-dialog::backdrop { background:rgb(8 29 46 / .65); }
.app-install-dialog-header { display:flex; align-items:center; gap:14px; }
.app-install-dialog-header img { width:52px; height:52px; }
.app-install-dialog h2 { margin:0; font:650 24px/1.25 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.app-install-dialog p { margin:16px 0; }
.app-install-platforms { display:flex; gap:6px; margin-top:20px; }
.app-install-platforms button { flex:1; min-width:0; min-height:44px; padding:8px 5px; border:1px solid #c9dce9; border-radius:2px; background:#fff; color:#16334a; font:600 13px/1.3 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; cursor:pointer; }
.app-install-platforms button[aria-pressed="true"] { background:#e8f4ff; border-color:#076cb4; color:#07588e; }
.app-install-platforms button:focus-visible { outline:3px solid #e4a31a; outline-offset:2px; }
.app-install-dialog .app-install-steps { list-style:none; padding:0; margin:14px 0; }
.app-install-dialog .app-install-step { position:relative; display:grid; grid-template-columns:48px minmax(0,1fr); gap:14px; margin:0; padding:14px 0; border-top:1px solid #e0eaf0; }
.app-install-step-number { position:absolute; top:7px; left:33px; display:grid; place-items:center; width:20px; height:20px; border:2px solid #fff; border-radius:50%; background:#076cb4; color:#fff; font-size:11px; font-weight:700; }
.app-install-step-icon { box-sizing:border-box; width:48px; height:48px; padding:8px; border:1px solid #d5e5f0; border-radius:4px; background:#f3f8fc; }
.app-install-step-copy strong { display:block; margin-bottom:5px; font-size:16px; line-height:1.4; }
.app-install-step-copy span { display:block; color:#475e70; font-size:14px; line-height:1.5; }
.app-install-result { display:flex; align-items:center; gap:12px; padding:12px; background:#f3f8fc; }
.app-install-result img { flex:none; width:40px; height:40px; }
.app-install-dialog .app-install-result p { margin:0; font-size:14px; line-height:1.45; }
.app-install-note { border-top:1px solid #d5e1e9; padding-top:14px; font-size:13px; color:#475e70; }
.app-install-close { width:100%; }
@media(max-width:480px) { .app-install-button { width:100%; } .app-install-dialog { padding:20px; } }
@media(display-mode:standalone), (display-mode:fullscreen) { .app-install-bar { display:none!important; } }
@media print { .app-install-bar, .app-install-dialog { display:none!important; } }
