.pwa-install-button {
  position:relative;
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-width:36px;
  height:36px;
  padding:0 11px;
  border:1px solid var(--border,#ddd6eb);
  border-radius:9px;
  background:var(--card-bg,#fff);
  color:var(--accent,#5a3e8a);
  box-shadow:none;
  font:700 13px/1.2 system-ui,-apple-system,"Segoe UI",sans-serif;
  cursor:pointer;
  transition:background .16s ease,border-color .16s ease,opacity .16s ease;
}
.pwa-install-button:hover { border-color:var(--accent,#5a3e8a); background:var(--tab-hover,#f6f2fb); }
.pwa-install-button:focus-visible { outline:3px solid rgba(139,92,246,.35); outline-offset:3px; }
.pwa-install-button[hidden] { display:none !important; }
.pwa-install-button svg { flex:none; width:20px; height:20px; }
.s-topbar-right .pwa-install-button,
.t-topbar-right .pwa-install-button { width:36px; padding:0; }
.s-topbar-right .pwa-install-button span,
.t-topbar-right .pwa-install-button span { display:none; }

.pwa-install-dialog {
  width:min(450px,calc(100vw - 28px));
  border:1px solid var(--border,#ddd6eb);
  border-radius:20px;
  padding:0;
  background:var(--card-bg,#fff);
  color:var(--text,#241d30);
  box-shadow:0 28px 90px rgba(25,18,37,.3);
}
.pwa-install-dialog::backdrop { background:rgba(18,13,27,.52); backdrop-filter:blur(3px); }
.pwa-install-dialog__body { padding:26px; }
.pwa-install-dialog h2 { margin:0 0 10px; font-size:1.35rem; }
.pwa-install-dialog p { margin:0; color:var(--text-muted,#706879); line-height:1.5; }
.pwa-install-dialog ol { margin:18px 0 22px; padding-left:22px; line-height:1.65; }
.pwa-install-dialog__actions { display:flex; gap:9px; margin-top:20px; }
.pwa-install-dialog button { flex:1; padding:11px 16px; border:0; border-radius:11px; background:#5a3e8a; color:#fff; font:700 14px system-ui,-apple-system,"Segoe UI",sans-serif; cursor:pointer; }
.pwa-install-dialog [data-pwa-installed] { border:1px solid var(--border,#ddd6eb); background:transparent; color:var(--text,#241d30); }

.web-push-card { margin:0 0 28px; padding:20px; border:1px solid var(--border,#ded8e8); border-radius:16px; background:var(--card-bg,#fff); }
.web-push-card h2 { margin-top:0; }
.web-push-card__status { margin:10px 0 14px; color:var(--text-muted,#706879); }
.web-push-card__status.is-on { color:#18743b; }
.web-push-card__status.is-error { color:#b42318; }
.web-push-card__actions { display:flex; gap:9px; flex-wrap:wrap; }
.web-push-card__actions button { min-width:150px; }
.web-push-card__actions button.secondary { background:transparent; color:var(--text,#241d30); border:1px solid var(--border,#ded8e8); }

@media (max-width:560px) {
  .pwa-install-button { width:36px; padding:0; }
  .pwa-install-button span { display:none; }
  .pwa-install-dialog__actions { flex-direction:column; }
}
.web-push-card__kinds { margin-top:18px; padding-top:14px; border-top:1px solid var(--border,#ded8e8); }
.web-push-card__kinds-title { font-weight:600; margin-bottom:8px; color:var(--text,#241d30); }
.web-push-card__kind { display:flex; align-items:center; gap:10px; padding:6px 0; cursor:pointer; color:var(--text,#241d30); }
.web-push-card__kind input { width:18px; height:18px; margin:0; accent-color:#7c5cd6; }
.web-push-card__saved { min-height:1.2em; font-size:.85rem; color:var(--text-muted,#706879); }
.web-push-card__actions button:not(.secondary) { padding:10px 16px; border:0; border-radius:10px; background:#5a3e8a; color:#fff; font-weight:600; cursor:pointer; }
.web-push-card__actions button.secondary { padding:10px 16px; border-radius:10px; font-weight:600; cursor:pointer; }
.web-push-card__actions button:disabled { opacity:.6; cursor:default; }
.push-nudge { position:fixed; left:16px; bottom:16px; z-index:9000; width:min(380px, calc(100vw - 32px)); display:flex; gap:12px; align-items:flex-start;
  padding:14px 16px; border:1px solid var(--border,#ded8e8); border-radius:16px; background:var(--card-bg,#fff); color:var(--text,#241d30);
  box-shadow:0 12px 32px rgba(36,29,48,.18); font:14px/1.4 system-ui,-apple-system,"Segoe UI",sans-serif; }
.push-nudge[hidden] { display:none; }
.push-nudge__icon { flex:0 0 36px; height:36px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:#efe9fb; color:#5a3e8a; }
.push-nudge__icon svg { width:20px; height:20px; }
.push-nudge__body { flex:1; min-width:0; }
.push-nudge__title { font-weight:700; margin-bottom:2px; }
.push-nudge__text { color:var(--text-muted,#706879); }
.push-nudge__actions { display:flex; gap:8px; margin-top:10px; flex-wrap:wrap; }
.push-nudge__actions[hidden] { display:none; }
.push-nudge__primary { padding:8px 16px; border:0; border-radius:10px; background:#5a3e8a; color:#fff; font-weight:600; cursor:pointer; }
.push-nudge__primary:disabled { opacity:.6; cursor:default; }
.push-nudge__later { padding:8px 12px; border:1px solid var(--border,#ded8e8); border-radius:10px; background:transparent; color:var(--text,#241d30); font-weight:600; cursor:pointer; }
body.theme-dark .push-nudge { box-shadow:0 12px 32px rgba(0,0,0,.45); }
body.theme-dark .push-nudge__icon { background:#3a2f55; color:#d8c9ff; }
body.theme-dark .push-nudge__primary { background:#7c5cd6; }
@media (max-width: 600px) { .push-nudge { left:16px; right:16px; width:auto; bottom:calc(16px + env(safe-area-inset-bottom, 0px)); } }
.push-howto { margin-top:18px; padding-top:14px; border-top:1px solid var(--border,#ded8e8); color:var(--text,#241d30); }
.push-howto summary { cursor:pointer; font-weight:600; color:#5a3e8a; }
body.theme-dark .push-howto summary { color:#c9b6ff; }
.push-howto__tabs { display:flex; gap:6px; flex-wrap:wrap; margin:12px 0 8px; }
.push-howto__tabs button { padding:7px 12px; border:1px solid var(--border,#ded8e8); border-radius:999px; background:transparent; color:var(--text,#241d30); font-weight:600; cursor:pointer; }
.push-howto__tabs button.is-active { background:#5a3e8a; border-color:#5a3e8a; color:#fff; }
body.theme-dark .push-howto__tabs button.is-active { background:#7c5cd6; border-color:#7c5cd6; }
.push-howto__pane ol { margin:6px 0 8px; padding-left:22px; line-height:1.55; }
.push-howto__pane li { margin:3px 0; }
.push-howto__pane[hidden] { display:none; }
.push-nudge__how { margin-left:auto; align-self:center; color:#5a3e8a; font-weight:600; text-decoration:underline; }
body.theme-dark .push-nudge__how { color:#c9b6ff; }
