.pm-overlay {
  position: fixed; inset: 0;
  background: rgba(0,0,0,var(--pm-overlay-opacity,.5));
  display: flex; align-items: center; justify-content: center;
  z-index: 9998;
}
.pm-popup {
  background: var(--pm-bg,#fff);
  color: var(--pm-fg,#222);
  border-radius: var(--pm-radius,16px);
  box-shadow: 0 10px 30px rgba(0,0,0,0.2);
  max-height: 90vh; overflow: hidden;
  display: flex; flex-direction: column;
  animation: pop .25s ease-out;
}
@keyframes pop{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}
.pm-header {
  color: rgb(0,104,151);
  font-size: 2em;
  font-weight: 900;
  text-align: center;
  padding: 14px 16px;
  display: flex; justify-content: space-between; align-items: center;
  border-bottom: 1px solid #eee;
  justify-content: center;
}
.pm-footer {
  padding: 14px 16px;
  display: flex; justify-content: space-between; align-items: center;
  border-bottom: 1px solid #eee;
}

.pm-body { padding:16px; overflow:auto; font-size: 1.3em; font-weight: bold;  text-align: center; justify-content: center; }
.pm-footer { border-top: 1px solid #eee; }
.pm-btn {
  background:rgb(0,104,151); color:#fff; border:0;
  padding:8px 14px; border-radius:10px; font-weight:600;
  cursor:pointer; transition:opacity .2s;
}
.pm-btn:hover { opacity:.85; }
.pm-close { background:none; border:0; font-size:20px; cursor:pointer; }
.pm-check { display:flex; align-items:center; gap:6px; font-size:13px; }