.pwa-install[hidden],
.pwa-install [hidden] { display: none; }
.pwa-install { min-width: 0; margin-top: .75rem; }
.pwa-install--public { max-width: 28rem; margin: 1rem auto 2rem; padding: 0 1rem; }
.pwa-install .pwa-install__open { display: flex; align-items: center; justify-content: center; gap: .65rem; width: 100%; min-height: 44px; padding: .65rem .9rem; border: 1px solid currentColor; border-radius: .65rem; background: transparent; color: inherit; font: 600 .9375rem/1.4 var(--erkal-font-body, system-ui, sans-serif); cursor: pointer; }
.pwa-install .pwa-install__open span { color: inherit; font-size: inherit; }
.pwa-install .pwa-install__open span:first-child { font-size: 1.3rem; line-height: 1; }
.pwa-install.pwa-install--public .pwa-install__open { color: var(--erkal-text, #1d1d1f); background: var(--erkal-surface, #ffffff); border-color: var(--erkal-border, #dde1e8); }
.pwa-install__dialog { box-sizing: border-box; width: min(32rem, calc(100% - 2rem)); max-width: calc(100% - 2rem); max-height: calc(100dvh - 2rem); margin: auto; padding: 1.35rem; overflow-y: auto; border: 1px solid var(--erkal-border, #dde1e8); border-radius: 1rem; color: var(--erkal-text, #1d1d1f); background: var(--erkal-surface, #ffffff); box-shadow: var(--erkal-shadow-lg, 0 20px 64px rgb(20 35 59 / 18%)); text-align: left; font: 400 1rem/1.55 var(--erkal-font-body, system-ui, sans-serif); }
.pwa-install__dialog::backdrop { background: var(--erkal-overlay, rgb(10 20 37 / 48%)); }
.pwa-install__heading { display: grid; grid-template-columns: 56px minmax(0, 1fr) 44px; align-items: start; gap: .75rem; margin-bottom: 1.15rem; }
.pwa-install__heading img { display: block; width: 56px; height: 56px; border-radius: .65rem; }
.pwa-install__heading p { margin: 0 0 .15rem; font-size: .8125rem; font-weight: 600; color: var(--erkal-muted, #5c6470); }
.pwa-install__heading h2 { margin: 0; font: 600 1.125rem/1.3 var(--erkal-font-body, system-ui, sans-serif); overflow-wrap: anywhere; }
.pwa-install .pwa-install__dialog button { width: auto; box-sizing: border-box; min-height: 44px; font: 600 .9375rem/1.4 var(--erkal-font-body, system-ui, sans-serif); cursor: pointer; }
.pwa-install .pwa-install__dialog .pwa-install__close { width: 44px; padding: 0; border: 1px solid var(--erkal-control-border, #7e8899); border-radius: .6rem; color: var(--erkal-text, #1d1d1f); background: var(--erkal-surface-muted, #eef1f5); font-size: 1.5rem; }
.pwa-install__dialog > p { margin: 0 0 1rem; }
.pwa-install__steps { margin: 0 0 1rem; padding-left: 1.45rem; }
.pwa-install__steps li { padding-left: .2rem; margin: .7rem 0; }
.pwa-install__guide { padding: .8rem; border-radius: .6rem; background: var(--erkal-surface-muted, #eef1f5); }
.pwa-install__status { color: var(--erkal-muted, #5c6470); min-height: 1.5rem; }
.pwa-install__actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .65rem; }
.pwa-install__dialog .pwa-install__confirm, .pwa-install__dialog .pwa-install__later { padding: .7rem 1rem; border-radius: .65rem; border: 1px solid var(--erkal-control-border, #7e8899); }
.pwa-install__dialog .pwa-install__confirm { background: var(--erkal-primary, #14233b); color: var(--erkal-primary-text, #ffffff); border-color: var(--erkal-control-border, #7e8899); }
.pwa-install__dialog .pwa-install__later { background: var(--erkal-surface, #ffffff); color: var(--erkal-text, #1d1d1f); }
.pwa-install :is(button, a):focus-visible { outline: 3px solid var(--erkal-focus, #275bb5); outline-offset: 3px; }
@media (max-width: 440px) {
    .pwa-install__dialog { padding: 1rem; }
    .pwa-install__actions { flex-direction: column; }
    .pwa-install .pwa-install__actions button { width: 100%; }
}
