#alertModalBackdrop{position:fixed;inset:0;background:rgba(0,0,0,.45);display:none;z-index:2147483645}
#alertModal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;width:min(520px,94vw);border-radius:14px;box-shadow:0 10px 35px rgba(0,0,0,.2);padding:22px;display:none;z-index:2147483646;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;pointer-events:auto}
#alertModal h3{margin:0 0 8px;font-size:1.25rem}
#alertModal p{margin:0 0 12px;color:#333}
#alertModal form{display:grid;gap:10px}
#alertModal input[type=email]{width:100%;padding:10px 12px;border:1px solid #d3d6db;border-radius:10px;font-size:16px}
#alertModal .row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
#alertModal button[type=submit]{background:#0a7cff;color:#fff;border:none;border-radius:10px;padding:10px 14px;font-weight:600;cursor:pointer;appearance:auto}
#alertModal .muted{font-size:12px;color:#5f697a}
#alertCloseTop{position:absolute;top:8px;right:8px;margin:0;z-index:2147483647}
#alertCloseTop button{width:38px;height:38px;border-radius:8px;background:#0a7cff;color:#fff;font-size:20px;line-height:1;box-shadow:0 1px 2px rgba(0,0,0,.2);cursor:pointer;appearance:auto}
#alertModal .success,#alertModal .error{display:none;padding:10px;border-radius:8px}
#alertModal .success{background:#eaf7ea;color:#166534}
#alertModal .error{background:#fde8e8;color:#991b1b}
/* Close cross (top-right) */
#alertModal .close-x{
  position:absolute;
  top:8px;
  right:8px;
  width:38px;
  height:38px;
  border-radius:10px;
  border:1px solid #e5e7eb;
  background:#ffffff;
  font-size:26px;
  line-height:1;
  color:#334155;
  cursor:pointer;
  box-shadow:0 1px 2px rgba(0,0,0,.12);
  display:flex;
  align-items:center;
  justify-content:center;
  transition:transform .08s ease, box-shadow .2s ease, background-color .2s ease;
  z-index:2147483647; /* above modal content */
}
#alertModal .close-x:hover{ transform:scale(1.05); box-shadow:0 6px 22px rgba(0,0,0,.14); background:#f8fafc; }
#alertModal .close-x:active{ transform:scale(0.98); box-shadow:0 3px 10px rgba(0,0,0,.16); }
