.ticket-reminder-modal .modal-dialog { max-width: 500px; }
.ticket-reminder-modal .modal-content { border-radius: 24px; }
.ticket-reminder-modal .modal-title { font-size: 1.25rem; }
.ticket-reminder-modal .ticket-reminder-description { font-size: .8rem; line-height: 1.6; word-break: keep-all; }
.ticket-reminder-modal .ticket-reminder-info { background: #f5f8fc; font-size: .9rem; }
.ticket-reminder-modal #notifyTargetName { color: var(--primary-color, #0b57b7); font-size: 1.05rem; }
.ticket-reminder-modal .ticket-reminder-opening { font-size: .8rem; }
.ticket-reminder-modal .ticket-reminder-delivery { color: #194d62; }
.ticket-reminder-modal .ticket-reminder-recipient { overflow-wrap: anywhere; }
.ticket-reminder-modal .ticket-reminder-recipient i { font-size: 1.2rem; }
.ticket-reminder-modal #notifyEvent { min-height: 44px; border: 1px solid #b7bec6; border-radius: 12px;
    background-color: white; color: #343a40; font-size: .9rem; cursor: pointer; }
.ticket-reminder-modal #notifyEvent:focus { border-color: #73808d; box-shadow: 0 0 0 3px #73808d26; }
.ticket-reminder-modal #notifySubmitButton { border-radius: 12px; font-size: 1.05rem; }
.ticket-reminder-modal #notifyMessage:empty, .ticket-reminder-modal #notifyReservations:empty { display: none; }
.ticket-reminder-modal [hidden], .ticket-reminder-toast[hidden] { display: none !important; }
.ticket-reminder-presets { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: center; gap: 8px; }
.ticket-reminder-modal .ticket-reminder-preset { min-height: 38px; padding: 8px 4px; border: 1px solid #6c757d;
    border-radius: 16px; color: #6c757d; background: white; font-size: .85rem; white-space: nowrap; }
.ticket-reminder-modal .ticket-reminder-preset.is-selected { background: #6c757d; border-color: #6c757d; color: white; font-weight: 700; }
.ticket-reminder-modal .ticket-reminder-preset:disabled { opacity: .5; }
.ticket-reminder-modal .ticket-reminder-preset:focus-visible { outline: 3px solid #73808d; outline-offset: 2px; }
.ticket-reminder-toast { position: fixed; z-index: 1090; bottom: 28px; left: 50%; transform: translateX(-50%);
    max-width: calc(100vw - 32px); width: max-content; padding: 12px 18px; border-radius: 12px;
    background: #25272b; color: white; font-size: .875rem; box-shadow: 0 4px 20px #0002; }
