/* Only the four approved due/follow-up reminders. No generic modal, task
   message notification, collection reminder or announcement styles here. */
body .business-due-reminder.company-task-reminder-toast-mode {
  position: fixed;
  inset: 76px 24px auto auto;
  z-index: 3190;
  width: min(500px, calc(100vw - 32px));
  padding: 0;
  display: block;
  overflow: visible;
  border: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  pointer-events: none;
}
body .business-due-reminder.hidden { display: none !important; }
.business-due-reminder .company-task-time-reminder-card {
  width: 100%;
  max-height: calc(100vh - 96px);
  max-height: calc(100dvh - 96px);
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
}
.business-due-reminder .company-task-time-reminder-head > div { overflow-wrap: anywhere; }
.business-due-reminder .company-task-reminder-summary { background: #fff; }
.business-due-reminder .business-due-reminder-object-label {
  display: block;
  margin-bottom: 5px;
  font-size: 11px;
  font-weight: 700;
  color: #526778;
}
.business-due-reminder .company-task-reminder-summary dt { color: #526778; font-size: 11px; }
.business-due-reminder .company-task-reminder-summary dd { overflow-wrap: anywhere; }
.business-due-reminder .company-task-reminder-summary dl div { background: #f7f9fb; }
.business-due-reminder .company-task-reminder-context {
  max-height: none;
  overflow: visible;
  background: #fff;
}
.business-due-reminder .company-task-reminder-context-item {
  padding: 12px 14px;
  border-color: #cbd6df;
  background: #fff;
  box-shadow: none;
}
.business-due-reminder .company-task-reminder-context-item.latest {
  border-color: #c0d6e6;
  border-left: 3px solid #2c719e;
  background: #eff6fc;
  box-shadow: none;
}
.business-due-reminder .company-task-reminder-context-item.original { background: #fff; }
.business-due-reminder .company-task-reminder-context-item header { flex-wrap: wrap; gap: 4px 12px; }
.business-due-reminder .company-task-reminder-context-item header strong { color: #245574; font-size: 12px; }
.business-due-reminder .company-task-reminder-context-item.original header strong { color: #526778; }
.business-due-reminder .company-task-reminder-context-item header time { color: #526778; font-size: 11px; }
.business-due-reminder .company-task-reminder-context-item p {
  margin-top: 9px;
  max-height: none;
  overflow: visible;
  color: #193247;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.75;
  overflow-wrap: anywhere;
}
.business-due-reminder .company-task-reminder-context-item p.collapsed { max-height: 3.5em; overflow: hidden; }
.business-due-reminder .company-task-reminder-context-item > button { font-size: 12px; }
.business-due-reminder .company-task-reminder-context-loading,
.business-due-reminder .company-task-reminder-context-empty { color: #526778; font-size: 12px; }
.business-due-reminder .company-task-reminder-quick-actions { background: #f7f9fb; }
.business-due-reminder .business-due-reminder-single-action { grid-template-columns: minmax(0, 1fr); }
.business-due-reminder .company-task-reminder-card > footer { flex-wrap: wrap; }
.business-due-reminder .business-due-reminder-with-completion > [data-business-reminder-complete] {
  min-width: 90px;
  flex: 0 0 90px;
  margin-right: auto;
}
.business-due-reminder button:focus-visible,
.business-due-reminder summary:focus-visible { outline: 2px solid #27648e; outline-offset: 2px; }
@media (max-width: 900px) {
  body .business-due-reminder.company-task-reminder-toast-mode {
    inset: 12px 12px auto auto;
    width: min(500px, calc(100vw - 24px));
  }
  /* Phone work mode keeps due reminders available without letting a polling
     response cover the control the operator is currently using.  The compact
     mobile reminder entry explicitly adds mobile-reminder-open when the user
     chooses to inspect the full reminder. */
  body.mobile-work-mode .order-time-reminder-toast.business-due-reminder:not(.hidden),
  body.mobile-work-mode .company-task-reminder-modal.company-task-reminder-toast-mode.business-due-reminder:not(.hidden) {
    display: none !important;
  }
  body.mobile-work-mode.mobile-reminder-open .order-time-reminder-toast.business-due-reminder:not(.hidden),
  body.mobile-work-mode.mobile-reminder-open .company-task-reminder-modal.company-task-reminder-toast-mode.business-due-reminder:not(.hidden) {
    display: block !important;
  }
  .business-due-reminder .company-task-time-reminder-card {
    max-height: calc(100vh - 24px);
    max-height: calc(100dvh - 24px);
  }
}
@media (max-width: 520px) {
  .business-due-reminder .company-task-time-reminder-card > .company-task-time-reminder-head {
    grid-template-columns: 36px minmax(0, 1fr);
  }
  .business-due-reminder .company-task-time-reminder-head > b { grid-column: 2; justify-self: start; }
  .business-due-reminder .company-task-reminder-card > footer > button { min-width: 0; flex: 1 1 130px; padding: 7px 10px; }
}
@media (max-width: 520px) {
  .business-due-reminder .company-task-reminder-card > footer.business-due-reminder-with-completion {
    display: grid;
    grid-template-columns: 90px minmax(0, 1fr);
    column-gap: 24px;
  }
  .business-due-reminder .business-due-reminder-with-completion > [data-business-reminder-complete] {
    grid-column: 1;
    grid-row: 2;
    align-self: end;
  }
  .business-due-reminder .business-due-reminder-with-completion > button:not([data-business-reminder-complete]) { grid-column: 2; }
}
@media (prefers-reduced-motion: reduce) {
  body .business-due-reminder.company-task-reminder-toast-mode { transition: none; transform: none; }
}

/* Order time reminders only: business context and deliberately separated actions. */
body .business-due-reminder.order-time-reminder-rich { width: min(600px, calc(100vw - 32px)); }
.business-due-reminder.order-time-reminder-rich .company-task-time-reminder-card { border-radius: 14px; }
.business-due-reminder.order-time-reminder-rich .order-reminder-number {
  border: 0; background: none; box-shadow: none; padding: 0; min-height: 0;
  color: #245574; font-size: 20px; font-weight: 700; text-align: left;
  overflow-wrap: anywhere; cursor: pointer;
}
.business-due-reminder.order-time-reminder-rich .order-reminder-number:hover { text-decoration: underline; }
.business-due-reminder.order-time-reminder-rich .order-reminder-parties { display: flex; flex-wrap: wrap; gap: 8px 22px; margin: 16px 0; }
.business-due-reminder.order-time-reminder-rich .order-reminder-parties > div { display: flex; align-items: baseline; gap: 7px; max-width: 100%; min-width: 0; background: none; padding: 0; }
.business-due-reminder.order-time-reminder-rich .order-reminder-parties dd { margin: 0; font-size: 14px; font-weight: 500; }
.business-due-reminder.order-time-reminder-rich .order-reminder-route { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; border: 1px solid #e2eaf0; background: #f6f9fb; border-radius: 8px; padding: 14px; }
.business-due-reminder.order-time-reminder-rich .order-reminder-route span { display: block; color: #687e8f; font-size: 12px; margin-bottom: 6px; }
.business-due-reminder.order-time-reminder-rich .order-reminder-route strong { display: block; color: #203d53; font-size: 14px; overflow-wrap: anywhere; }
.business-due-reminder.order-time-reminder-rich .company-task-reminder-context-item.original { background: #f3f8fc; border-left: 3px solid #3778a5; }
.business-due-reminder.order-time-reminder-rich .company-task-reminder-card > footer { gap: 10px; }
.business-due-reminder.order-time-reminder-rich .company-task-reminder-card > footer button {
  border-radius: 999px; padding: 10px 17px; border: 1px solid #b5c9d8;
  background: linear-gradient(#fff,#eaf1f7); color: #345b78;
  box-shadow: inset 0 1px 0 #fff, 0 2px 4px #23476614;
}
.business-due-reminder.order-time-reminder-rich .company-task-reminder-card > footer [data-time-reminder-list-only] {
  background: linear-gradient(#4184b2,#29618b); color: #fff; border-color: #29618b;
  box-shadow: inset 0 1px 0 #ffffff40, 0 2px 5px #244d7133;
}
.business-due-reminder.order-time-reminder-rich .company-task-reminder-card > footer [data-business-reminder-complete] { background: linear-gradient(#fff,#f4f7fa); }
.business-due-reminder.order-time-reminder-rich .company-task-reminder-card > footer button:disabled { opacity: .55; cursor: wait; }
@media (max-width: 520px) {
  .business-due-reminder.order-time-reminder-rich .order-reminder-route { gap: 8px; padding: 10px; }
  .business-due-reminder.order-time-reminder-rich .company-task-reminder-card > footer button { padding: 9px 12px; }
}
.business-due-reminder.order-time-reminder-rich .order-reminder-parties > div { border: 0; box-shadow: none; border-radius: 0; }
.business-due-reminder.order-time-reminder-rich .company-task-time-reminder-head h2 { font-size: 22px; }
.business-due-reminder.order-time-reminder-rich .company-task-reminder-card > footer button { font-size: 13px; font-weight: 600; }
.business-due-reminder.order-time-reminder-rich .company-task-reminder-context-item header time { font-size: 12px; font-weight: 600; }

.business-due-reminder.order-time-reminder-rich .order-reminder-parties dt { flex-shrink: 0; }
.business-due-reminder.order-time-reminder-rich .order-reminder-parties dd { min-width: 0; overflow-wrap: anywhere; }

.business-due-reminder .order-reminder-factory-more { display: inline-block; position: relative; margin-left: 6px; vertical-align: baseline; }
.business-due-reminder .order-reminder-factory-more summary { display: inline-block; cursor: pointer; color: #2873a5; font-size: 12px; font-weight: 600; padding: 2px 7px; border: 1px solid #c5dae8; border-radius: 999px; background: #f1f7fb; list-style: none; white-space: nowrap; }
.business-due-reminder .order-reminder-factory-more summary::-webkit-details-marker { display: none; }
.business-due-reminder .order-reminder-factory-more ul { position: absolute; z-index: 5; right: 0; top: 100%; width: 220px; max-width: 65vw; max-height: 160px; overflow: auto; margin: 5px 0 0; padding: 10px 14px; list-style: none; background: #fff; border: 1px solid #c5dae8; border-radius: 10px; box-shadow: 0 6px 20px #183d6026; }
.business-due-reminder .order-reminder-factory-more li { padding: 4px 0; overflow-wrap: anywhere; }
