/* Pursuits calendar: styles for the dynamically-created longest-gap summary card. */
[data-pursuit-calendar].has-gap-stat .calendar-summary {
  grid-template-columns: repeat(4, minmax(92px, 1fr)) !important;
  min-width: min(100%, 490px) !important;
}

[data-pursuit-calendar] .calendar-summary [data-summary-gap] {
  min-width: 0;
  padding: 13px;
  border: 1px solid #efcaca;
  border-radius: 15px;
  background: linear-gradient(180deg,#fff,#fffafa);
  text-align: center;
  box-shadow: 0 8px 22px rgba(127,29,29,.055);
  cursor: pointer;
  user-select: none;
  transition: background .15s ease, border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}

[data-pursuit-calendar] .calendar-summary [data-summary-gap]:hover {
  border-color: #e79e9e;
  background: #fff7f7;
  box-shadow: 0 11px 26px rgba(127,29,29,.10);
  transform: translateY(-1px);
}

[data-pursuit-calendar] .calendar-summary [data-summary-gap]:focus-visible {
  outline: 2px solid #ef4444;
  outline-offset: 2px;
}

[data-pursuit-calendar] .calendar-summary [data-summary-gap].longest-gap-selected {
  border-color: #ef9a9a;
  background: #fff0f0;
  box-shadow: 0 10px 26px rgba(185,28,28,.10), inset 0 0 0 1px rgba(220,38,38,.06);
}

[data-pursuit-calendar] .calendar-summary [data-summary-gap].longest-gap-selected strong {
  color: #b91c1c;
}

[data-pursuit-calendar] .calendar-summary [data-summary-gap].longest-gap-selected > span:not(.longest-gap-action) {
  color: #9f1d1d;
}

[data-pursuit-calendar] .calendar-summary [data-summary-gap][hidden] {
  display: none !important;
}

[data-pursuit-calendar] .calendar-summary [data-summary-gap] strong {
  display: block;
  color: #111827;
  font-size: 1.35rem;
  line-height: 1.15;
  white-space: nowrap;
}

[data-pursuit-calendar] .calendar-summary [data-summary-gap] > span:not(.longest-gap-action) {
  display: block;
  margin-top: 2px;
  color: #707786;
  font-size: .69rem;
  white-space: nowrap;
}

/* This must read as a control before hover, not as a decorative badge. */
[data-pursuit-calendar] .calendar-summary [data-summary-gap] .longest-gap-action {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 30px;
  margin-top: 9px;
  padding: 6px 8px;
  border: 1px solid #e9a8a8;
  border-radius: 8px;
  background: #fff0f0;
  color: #991b1b;
  box-shadow: 0 3px 8px rgba(185,28,28,.08);
  font-size: .58rem;
  font-weight: 900;
  line-height: 1.15;
  letter-spacing: .01em;
  white-space: nowrap;
  transition: background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease;
}

[data-pursuit-calendar] .calendar-summary [data-summary-gap]:hover .longest-gap-action {
  border-color: #dc7777;
  background: #fee2e2;
  color: #7f1d1d;
  box-shadow: 0 4px 10px rgba(185,28,28,.12);
}

[data-pursuit-calendar] .calendar-summary [data-summary-gap].longest-gap-selected .longest-gap-action {
  border-color: #dc6b6b;
  background: #fecaca;
  color: #7f1d1d;
  box-shadow: inset 0 0 0 1px rgba(185,28,28,.05);
}

[data-pursuit-calendar] .calendar-grid[data-view="year"] .year-day.longest-gap-day .year-day-number {
  color: #9f1d1d !important;
  font-weight: 900;
}

/* Historical inactivity should read differently from future/unavailable time.
   The heat script marks completely past zero-activity months with year-month--empty.
   These deliberately use stronger selectors to override its injected baseline styles. */
html body [data-pursuit-calendar] .calendar-grid[data-view="year"] .year-month.year-month--empty {
  background: #e9edf2 !important;
  border-color: #cbd3dd !important;
  box-shadow: inset 0 0 0 1px rgba(100,116,139,.035) !important;
}

html body [data-pursuit-calendar] .calendar-grid[data-view="year"] .year-month.year-month--empty h4 {
  color: #46505e !important;
}

html body [data-pursuit-calendar] .calendar-grid[data-view="year"] .year-month.year-month--empty .year-month-status {
  background: #dce2e9 !important;
  border-color: #c2cad5 !important;
  color: #4f5967 !important;
}

html body [data-pursuit-calendar] .calendar-grid[data-view="year"] .year-month.year-month--empty .year-day:not(.year-day--blank) {
  background: rgba(255,255,255,.36) !important;
  border-color: #d9dfe7 !important;
  color: #77818e !important;
}

@media (max-width: 820px) {
  [data-pursuit-calendar].has-gap-stat .calendar-summary {
    width: 100%;
    min-width: 0 !important;
  }
}

@media (max-width: 620px) {
  [data-pursuit-calendar].has-gap-stat .calendar-summary {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  }

  [data-pursuit-calendar] .calendar-summary [data-summary-gap] {
    padding: 10px 7px;
  }

  [data-pursuit-calendar] .calendar-summary [data-summary-gap] .longest-gap-action {
    min-height: 32px;
    margin-top: 7px;
    padding: 6px;
    font-size: .56rem;
  }
}

html.dark [data-pursuit-calendar] .calendar-summary [data-summary-gap],
body.dark [data-pursuit-calendar] .calendar-summary [data-summary-gap] {
  background: linear-gradient(180deg,#111827,#191517);
  border-color: rgba(248,113,113,.30);
}

html.dark [data-pursuit-calendar] .calendar-summary [data-summary-gap]:hover,
body.dark [data-pursuit-calendar] .calendar-summary [data-summary-gap]:hover {
  background: #271719;
  border-color: rgba(248,113,113,.48);
}

html.dark [data-pursuit-calendar] .calendar-summary [data-summary-gap].longest-gap-selected,
body.dark [data-pursuit-calendar] .calendar-summary [data-summary-gap].longest-gap-selected {
  background: #32191c;
  border-color: rgba(248,113,113,.55);
}

html.dark [data-pursuit-calendar] .calendar-summary [data-summary-gap] strong,
body.dark [data-pursuit-calendar] .calendar-summary [data-summary-gap] strong {
  color: #f8fafc;
}

html.dark [data-pursuit-calendar] .calendar-summary [data-summary-gap] > span:not(.longest-gap-action),
body.dark [data-pursuit-calendar] .calendar-summary [data-summary-gap] > span:not(.longest-gap-action) {
  color: #94a3b8;
}

html.dark [data-pursuit-calendar] .calendar-summary [data-summary-gap] .longest-gap-action,
body.dark [data-pursuit-calendar] .calendar-summary [data-summary-gap] .longest-gap-action {
  background: #3a1d20;
  border-color: rgba(248,113,113,.48);
  color: #fecaca;
  box-shadow: 0 3px 8px rgba(0,0,0,.18);
}

html.dark [data-pursuit-calendar] .calendar-summary [data-summary-gap]:hover .longest-gap-action,
body.dark [data-pursuit-calendar] .calendar-summary [data-summary-gap]:hover .longest-gap-action {
  background: #4a2024;
  border-color: rgba(248,113,113,.64);
  color: #fee2e2;
}

html.dark [data-pursuit-calendar] .calendar-summary [data-summary-gap].longest-gap-selected strong,
body.dark [data-pursuit-calendar] .calendar-summary [data-summary-gap].longest-gap-selected strong,
html.dark [data-pursuit-calendar] .calendar-summary [data-summary-gap].longest-gap-selected > span:not(.longest-gap-action),
body.dark [data-pursuit-calendar] .calendar-summary [data-summary-gap].longest-gap-selected > span:not(.longest-gap-action) {
  color: #fecaca;
}

html.dark [data-pursuit-calendar] .calendar-summary [data-summary-gap].longest-gap-selected .longest-gap-action,
body.dark [data-pursuit-calendar] .calendar-summary [data-summary-gap].longest-gap-selected .longest-gap-action {
  background: #5d252b;
  border-color: rgba(248,113,113,.68);
  color: #fee2e2;
}

html.dark body [data-pursuit-calendar] .calendar-grid[data-view="year"] .year-month.year-month--empty,
body.dark [data-pursuit-calendar] .calendar-grid[data-view="year"] .year-month.year-month--empty {
  background: #17202d !important;
  border-color: rgba(148,163,184,.26) !important;
  box-shadow: none !important;
}

html.dark body [data-pursuit-calendar] .calendar-grid[data-view="year"] .year-month.year-month--empty .year-month-status,
body.dark [data-pursuit-calendar] .calendar-grid[data-view="year"] .year-month.year-month--empty .year-month-status {
  background: #222d3c !important;
  border-color: rgba(148,163,184,.24) !important;
  color: #b3bdc9 !important;
}
