.epwa-banner[hidden], .epwa-install[hidden], .epwa-ios[hidden] { display: none !important; }

.epwa-btn {
  display: inline-flex; align-items: center; gap: .5em;
  padding: .7em 1.4em; border: 0; border-radius: 999px; cursor: pointer;
  background: var(--epwa-theme, #0b3d91); color: #fff; font: inherit; font-weight: 600;
}

.epwa-banner {
  position: fixed; left: 12px; right: 12px; bottom: calc(12px + env(safe-area-inset-bottom, 0px));
  z-index: 99999; max-width: 560px; margin: 0 auto;
  display: flex; align-items: center; gap: 12px;
  padding: 12px 14px; border-radius: 14px;
  background: #fff; color: #1d2327; box-shadow: 0 8px 28px rgba(0,0,0,.18);
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; font-size: 15px; line-height: 1.35;
}
.epwa-banner img { width: 40px; height: 40px; border-radius: 10px; flex: none; }
.epwa-banner-text { flex: 1; }
.epwa-banner-btn {
  flex: none; padding: 9px 16px; border: 0; border-radius: 999px; cursor: pointer;
  background: var(--epwa-theme, #0b3d91); color: #fff; font-weight: 600; font-size: 14px;
}
.epwa-close { flex: none; background: none; border: 0; font-size: 24px; line-height: 1; color: #646970; cursor: pointer; padding: 4px; }

.epwa-ios {
  position: fixed; inset: 0; z-index: 100000; background: rgba(0,0,0,.45);
  display: flex; align-items: flex-end; justify-content: center; padding: 16px;
}
.epwa-ios-box {
  background: #fff; color: #1d2327; border-radius: 16px; padding: 20px; max-width: 420px; width: 100%;
  margin-bottom: env(safe-area-inset-bottom, 0px);
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; line-height: 1.45;
}
.epwa-ios-box ol { padding-left: 1.2em; margin: 12px 0; }
.epwa-ios-close {
  width: 100%; padding: 11px; border: 0; border-radius: 10px; cursor: pointer;
  background: var(--epwa-theme, #0b3d91); color: #fff; font-weight: 600;
}

@media (prefers-color-scheme: dark) {
  .epwa-banner, .epwa-ios-box { background: #1e1e1e; color: #f0f0f1; }
  .epwa-close { color: #c3c4c7; }
}
