.install-trigger { display: inline-flex; align-items: center; justify-content: center; gap: .45rem; min-height: 44px; padding: .55rem .8rem; font-size: .78rem; white-space: nowrap; }
.install-trigger-symbol { font-size: 1.15rem; line-height: 1; }
.install-trigger[hidden], .install-dialog [hidden] { display: none !important; }
.login-card > .install-trigger { width: 100%; margin: 1.25rem 0 0; }
.install-dialog { position:fixed;inset:12px;margin:auto;box-sizing:border-box;width:min(540px,calc(100vw - 24px));max-height:calc(100dvh - 24px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));overflow:hidden;padding:0;border:1px solid var(--line);border-radius:22px;background:var(--paper);color:var(--body);box-shadow:0 20px 100px #15251a33; }
.install-dialog[open]{display:flex;flex-direction:column}
.install-content{overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;min-height:0;padding:0 22px 20px;flex:1 1 auto}
.install-selectors{display:grid;grid-template-columns:1fr 1fr;gap:12px}.install-selectors>div{min-width:0}.install-detected{font-size:11px;color:var(--muted);line-height:1.5;margin:8px 0 16px}
.install-dialog::backdrop { background: #0d1d15a6; backdrop-filter: blur(3px); }
.install-head { display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 22px;border-bottom:1px solid var(--line);flex:0 0 auto;background:var(--paper); }
.install-brand { display: flex; align-items: center; gap: 13px; }
.install-brand img { width:36px;height:36px;border-radius:10px;flex:0 0 auto; }
.install-brand h2 { margin: 0; color: var(--ink); font-size: 23px; line-height: 1.2; letter-spacing: -.5px; font-weight: 500; }
.install-close { min-height: 44px; padding: .5rem .65rem; font-size: .75rem; }
.install-intro { font-size:14px;margin:16px 0;line-height:1.5; }
.install-manual { margin-top:16px; }
.install-device-label { display: block; font-size: 12px; color: var(--muted); margin-bottom: 7px; }
.install-device { width: 100%; min-height: 46px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); color: var(--ink); font: inherit; }
.install-explanation { font-size:13px;margin:14px 0;font-weight:600;line-height:1.5; }
.install-steps { margin: 0; padding-left: 25px; font-size: 14px; }
.install-steps li { margin:12px 0;padding-left:4px;line-height:1.55; }
.install-steps li::marker { color: var(--forest); font-weight: 600; }
.install-native { width: 100%; min-height: 46px; }
.install-status { padding: 13px; border: 1px solid var(--line); border-radius: 10px; background: var(--green-wash); font-size: 13px; }
.install-help { display: inline-block; font-size: 12px; margin-top: 10px; }
.install-note { border-top: 1px solid var(--line); margin: 22px 0 0; padding-top: 16px; font-size: 11px; color: var(--muted); }
@media(max-width:620px){.topbar-actions{width:100%}.install-brand{gap:8px}.install-brand h2{font-size:20px}.install-head{padding:12px 16px;gap:8px}.install-content{padding:0 16px 16px}.install-brand img{display:none}.install-close{flex:0 0 auto;white-space:nowrap;font-size:12px}.install-selectors{gap:10px}.install-device{font-size:14px;padding:8px;min-height:44px}}
@media (prefers-reduced-motion: reduce) { .install-dialog *, .install-trigger { transition: none !important; } }
