.confirm-overlay {
  position: fixed;
  z-index: 9999;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 18px;
  background: rgba(7, 35, 51, .68);
  backdrop-filter: blur(5px);
}
.confirm-overlay.open { display: flex; }
.confirm-box {
  width: min(400px, 100%);
  overflow: hidden;
  border: 2px solid #3193c2;
  border-radius: 14px;
  background: #f4fbff;
  color: #173f56;
  box-shadow: 0 22px 70px rgba(2, 27, 42, .58), 0 0 0 5px rgba(126, 210, 247, .18);
  animation: confirm-pop .16s ease-out;
}
.confirm-head {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 16px 18px;
  background: linear-gradient(135deg, #2188bc, #69bee5);
  color: #fff;
  font-size: 17px;
  font-weight: 700;
}
.confirm-icon {
  display: grid;
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  place-items: center;
  border-radius: 50%;
  border: 2px solid rgba(255, 255, 255, .75);
  background: rgba(255, 255, 255, .18);
  font-size: 20px;
}
.confirm-message { margin: 0; padding: 24px 20px; color: #173f56; font-size: 15px; font-weight: 600; line-height: 1.55; }
.confirm-actions { display: flex; justify-content: flex-end; gap: 11px; padding: 0 20px 20px; }
.confirm-actions button {
  min-width: 108px;
  height: 42px;
  border: 1px solid transparent;
  border-radius: 8px;
  cursor: pointer;
  font-weight: 700;
}
.confirm-cancel { border-color: #8cc8e4 !important; background: #dceff8; color: #245d78; }
.confirm-accept { background: #167fb3; color: #fff; box-shadow: 0 4px 12px rgba(22, 127, 179, .3); }
.confirm-actions button:hover { filter: brightness(1.07); transform: translateY(-1px); }
.confirm-actions button:focus-visible { outline: 3px solid rgba(25, 132, 185, .3); outline-offset: 2px; }
@keyframes confirm-pop { from { opacity: 0; transform: translateY(8px) scale(.97); } }
