/* Shared centered popup — see views/partials/centered_popup.php */
.ctp-popup {
  position: fixed; inset: 0; z-index: 100002;
  display: none; align-items: center; justify-content: center;
  padding: 20px;
}
.ctp-popup.ctp-popup-open { display: flex; }
.ctp-popup-backdrop {
  position: absolute; inset: 0; background: rgba(15,23,42,.6);
  animation: ctpFadeIn .15s ease;
}
.ctp-popup-box {
  position: relative; z-index: 1;
  background: var(--surface, #fff);
  border: 1px solid var(--border, #e2e8f0);
  padding: 28px 30px;
  border-radius: 18px;
  max-width: 420px; width: 100%;
  text-align: center;
  animation: ctpPopIn .2s ease;
  box-shadow: 0 30px 60px rgba(0,0,0,.3);
  white-space: pre-line;
}
.ctp-popup-icon { font-size: 2.2rem; margin-bottom: 10px; }
.ctp-popup-box.ctp-popup-info .ctp-popup-icon    { color: var(--brand, #2563eb); }
.ctp-popup-box.ctp-popup-success .ctp-popup-icon { color: #16a34a; }
.ctp-popup-box.ctp-popup-warning .ctp-popup-icon { color: #d97706; }
.ctp-popup-box.ctp-popup-error .ctp-popup-icon   { color: #dc2626; }
.ctp-popup-msg { color: var(--txt, #0f172a); font-size: .92rem; line-height: 1.6; margin-bottom: 18px; }
.ctp-popup-ok { padding: 9px 28px !important; }
@keyframes ctpFadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes ctpPopIn {
  from { opacity: 0; transform: scale(.9) translateY(10px); }
  to   { opacity: 1; transform: scale(1) translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
  .ctp-popup-backdrop, .ctp-popup-box { animation: none; }
}
