.reminder-confirm-check {
  position: absolute;
  inset: 4px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: linear-gradient(145deg,#25a963,#44cb7c);
  box-shadow: 0 5px 12px rgba(31,156,87,.28);
  font-size: 19px;
  font-weight: 950;
  line-height: 1;
  opacity: 0;
  transform: scale(.42);
  pointer-events: none;
}

.wait-reminder .occupancy-icon {
  position: relative;
  overflow: visible;
}

.wait-reminder.reminder-confirmed .reminder-confirm-check {
  animation: reminder-check-confirm .82s cubic-bezier(.2,.82,.24,1) both;
}

.wait-reminder.reminder-confirmed [data-reminder-value] {
  animation: reminder-value-confirm .72s ease both;
}

@keyframes reminder-check-confirm {
  0% { opacity: 0; transform: scale(.42) rotate(-12deg); }
  22%,68% { opacity: 1; transform: scale(1) rotate(0); }
  100% { opacity: 0; transform: scale(1.08); }
}

@keyframes reminder-value-confirm {
  0%,100% { transform: none; }
  45% { color: #159052; transform: translateY(-1px); }
}

.cp-first-tip[hidden] {
  display: none !important;
}

.cp-first-tip {
  --tip-purple: #721fc3;
  position: fixed;
  z-index: 11000;
  display: grid;
  width: min(286px,calc(100vw - 24px));
  grid-template-columns: 31px minmax(0,1fr) auto;
  align-items: center;
  gap: 9px;
  padding: 10px;
  border: 1px solid rgba(107,28,172,.14);
  border-radius: 16px;
  color: #34263a;
  background: rgba(255,255,255,.98);
  box-shadow: 0 15px 36px rgba(25,6,40,.25);
  font-family: Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  opacity: 0;
  transform: translateY(7px) scale(.98);
  transition: opacity .2s ease,transform .24s cubic-bezier(.2,.82,.24,1),top .18s ease,left .18s ease;
  pointer-events: auto;
  backdrop-filter: blur(12px);
}

.cp-first-tip.is-visible {
  opacity: 1;
  transform: none;
}

.cp-first-tip-icon {
  display: grid;
  width: 31px;
  height: 31px;
  place-items: center;
  border-radius: 10px;
  color: #fff;
  background: linear-gradient(145deg,#5d12aa,#8a2bd8);
  box-shadow: 0 7px 15px rgba(111,27,192,.22);
  font-size: 14px;
}

.cp-first-tip-copy {
  min-width: 0;
  margin: 0;
  color: #766b7a;
  font-size: 11px;
  line-height: 1.32;
}

.cp-first-tip-copy strong {
  display: block;
  margin-bottom: 1px;
  color: #382340;
  font-size: 11px;
  font-weight: 950;
}

.cp-first-tip-dismiss {
  min-width: 52px;
  min-height: 31px;
  padding: 0 8px;
  border: 0;
  border-radius: 9px;
  color: var(--tip-purple);
  background: #f2e8fa;
  font: inherit;
  font-size: 8px;
  font-weight: 950;
  letter-spacing: .06em;
  cursor: pointer;
}

.cp-first-tip-dismiss:active {
  transform: scale(.95);
}

.cp-first-tip-dismiss:focus-visible {
  outline: 2px solid var(--tip-purple);
  outline-offset: 2px;
}

.cp-first-tip-arrow {
  position: absolute;
  width: 13px;
  height: 13px;
  border: 1px solid rgba(107,28,172,.14);
  background: #fff;
  transform: rotate(45deg);
}

.cp-first-tip[data-placement="below"] .cp-first-tip-arrow {
  top: -7px;
  border-right: 0;
  border-bottom: 0;
}

.cp-first-tip[data-placement="above"] .cp-first-tip-arrow {
  bottom: -7px;
  border-top: 0;
  border-left: 0;
}

.cp-first-tip-target {
  animation: cp-first-tip-target-pulse 1.35s ease-in-out infinite;
}

@keyframes cp-first-tip-target-pulse {
  0%,100% { box-shadow: 0 0 0 0 rgba(132,44,207,0),var(--cp-tip-original-shadow,0 0 transparent); }
  50% { box-shadow: 0 0 0 4px rgba(132,44,207,.23),var(--cp-tip-original-shadow,0 0 transparent); }
}

@media (max-width:360px) {
  .cp-first-tip { width: min(272px,calc(100vw - 18px)); grid-template-columns: 29px minmax(0,1fr) auto; gap: 7px; padding: 9px; }
  .cp-first-tip-icon { width: 29px; height: 29px; }
  .cp-first-tip-copy,.cp-first-tip-copy strong { font-size: 10px; }
  .cp-first-tip-dismiss { min-width: 46px; padding: 0 6px; font-size: 7px; }
}

@media (prefers-reduced-motion:reduce) {
  .wait-reminder.reminder-confirmed .reminder-confirm-check { animation: none; opacity: 1; transform: none; }
  .wait-reminder.reminder-confirmed [data-reminder-value],.cp-first-tip-target { animation: none; }
  .cp-first-tip { transition: none; }
}
