.pwa-install-button {
  min-height: 38px;
  padding: 0 13px;
  border: 1px solid #9ed0d4;
  border-radius: 8px;
  background: #e8fafb;
  color: #147f89;
  font: inherit;
  font-size: 14px;
  font-weight: 850;
  cursor: pointer;
}

.pwa-install-button[hidden] { display: none; }

.pwa-dialog {
  width: min(460px, calc(100% - 32px));
  padding: 24px;
  border: 1px solid #cadde0;
  border-radius: 8px;
  background: #fff;
  color: #10233a;
  box-shadow: 0 24px 70px rgba(16, 35, 58, 0.25);
  font-family: Inter, "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;
}

.pwa-dialog::backdrop { background: rgba(13, 31, 45, 0.55); }
.pwa-dialog-head { display: flex; align-items: center; gap: 14px; }
.pwa-dialog-head img { border-radius: 8px; }
.pwa-dialog-head h2 { margin: 0; font-size: 25px; letter-spacing: 0; }
.pwa-dialog p { margin: 16px 0 0; line-height: 1.55; }
.pwa-install-lead { font-size: 17px; font-weight: 800; }
.pwa-platform-hint { padding: 14px; border-radius: 8px; background: #eef8f8; color: #155f67; font-weight: 800; }
.pwa-permission-note { color: #607089; font-size: 14px; font-weight: 650; }
.pwa-dialog-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 22px; }
.pwa-dialog-actions button { min-height: 44px; padding: 0 18px; border-radius: 8px; font: inherit; font-weight: 850; cursor: pointer; }
.pwa-dialog-close { border: 1px solid #cadde0; background: #fff; color: #465a70; }
.pwa-dialog-confirm { border: 1px solid #147f89; background: #147f89; color: #fff; }

.pwa-status-stack {
  position: fixed;
  z-index: 10000;
  right: max(14px, env(safe-area-inset-right));
  bottom: max(14px, env(safe-area-inset-bottom));
  width: min(430px, calc(100% - 28px));
}

.pwa-status {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 52px;
  padding: 12px 14px;
  border: 1px solid #c8dade;
  border-radius: 8px;
  background: #fff;
  color: #23384d;
  box-shadow: 0 12px 32px rgba(16, 35, 58, 0.18);
  font: 750 14px/1.4 Inter, "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;
}

.pwa-status-offline { border-color: #e2b4ad; background: #fff4f2; color: #803a31; }
.pwa-status-success { border-color: #b9dacb; background: #f0faf5; color: #28634b; }
.pwa-status-update { border-color: #a9d4d8; background: #effafa; color: #165e65; }
.pwa-status button { flex: 0 0 auto; min-height: 36px; padding: 0 12px; border: 0; border-radius: 7px; background: #147f89; color: #fff; font: inherit; cursor: pointer; }

@media (display-mode: standalone) {
  .pwa-install-button { display: none !important; }
}

@media (max-width: 560px) {
  .pwa-install-button { min-height: 34px; padding: 0 10px; font-size: 13px; }
  .pwa-dialog { padding: 20px; }
  .pwa-status { align-items: flex-start; flex-direction: column; }
}
