.pwa-install-button { min-height:44px; gap:9px; white-space:normal; text-align:left; }
.login-card > .pwa-install-button { display:flex; width:100%; margin-top:20px; justify-content:center; }
.sidebar-bottom > .pwa-install-button { width:100%; margin-bottom:12px; border-color:#65837b; color:#e4ece6; background:#ffffff0a; font-size:11px; }
.pwa-settings-card { margin-top:24px; padding:24px; }
.pwa-settings-card h2 { margin-bottom:10px; font-size:17px; }
.pwa-settings-card p { line-height:1.7; }
.pwa-settings-card .pwa-install-button { margin:8px 0 12px; }
.pwa-install-dialog { width:min(560px,calc(100vw - 32px)); max-height:calc(100dvh - 32px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px)); padding:0; border:1px solid #d7e3d9; border-radius:14px; color:#29443d; background:#fff; overflow:auto; box-shadow:0 20px 70px #153c3933; }
.pwa-install-dialog::backdrop { background:#0f252399; }
.pwa-dialog-header { position:sticky; top:0; z-index:1; display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:12px; padding:18px 22px; border-bottom:1px solid #e4ece5; background:#fff; }
.pwa-dialog-header h2 { margin:0; font-size:20px; line-height:1.4; }
.pwa-dialog-actions { display:flex; align-items:center; gap:8px; }
.pwa-dialog-actions .icon-button { width:44px; height:44px; font-size:24px; }
.pwa-dialog-actions .locale-switch { min-height:44px; }
.pwa-dialog-body { padding:20px 22px; font-size:14px; line-height:1.7; overflow-wrap:anywhere; }
.pwa-dialog-body p { margin:0 0 16px; }
.pwa-dialog-body .button { margin-bottom:18px; min-height:44px; }
.pwa-platform-guide { margin:14px 0; border:1px solid #dce6df; border-radius:8px; background:#f7faf6; }
.pwa-platform-guide summary { min-height:44px; padding:12px 14px; font-weight:600; cursor:pointer; }
.pwa-platform-guide ol { margin:0; padding:0 18px 16px 34px; }
.pwa-platform-guide li + li { margin-top:10px; }
.pwa-platform-guide p { margin:0; padding:0 16px 16px; }
.pwa-address-note { padding:12px; border-left:3px solid #b4975e; background:#faf6e9; }
.pwa-installed { padding:12px; border:1px solid #c7dfcb; border-radius:7px; background:#f0f8ed; }
#pwa-network-status { position:fixed; z-index:1100; bottom:0; left:0; right:0; padding:12px max(18px,env(safe-area-inset-right,0px)) max(12px,env(safe-area-inset-bottom,0px)) max(18px,env(safe-area-inset-left,0px)); color:#684e21; background:#fff1cc; border-top:1px solid #d8c283; font-size:14px; line-height:1.6; }
#pwa-network-status[hidden] { display:none; }
body.pwa-is-offline { padding-bottom:var(--pwa-status-height,0px); }
@media(max-width:600px) {
  .pwa-dialog-header { padding:14px 16px; }
  .pwa-dialog-header h2 { font-size:18px; }
  .pwa-dialog-body { padding:16px; }
  .pwa-dialog-actions .locale-switch { font-size:16px; max-width:145px; }
  .pwa-settings-card { padding:20px; }
  .sidebar-bottom > .pwa-install-button { font-size:14px; }
}
