/*
 * This is a manifest file that'll be compiled into application.css.
 *
 * With Propshaft, assets are served efficiently without preprocessing steps. You can still include
 * application-wide styles in this file, but keep in mind that CSS precedence will follow the standard
 * cascading order, meaning styles declared later in the document or manifest will override earlier ones,
 * depending on specificity.
 *
 * Consider organizing styles into separate files for maintainability.
 */

html {
  font-size: 15px;
  background-color: white;
}

.horizontal-scrollbar-hidden {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.horizontal-scrollbar-hidden::-webkit-scrollbar {
  display: none;
}

@view-transition {
  navigation: auto;
}

.tooltip {
  z-index: 9999;
  background-color: black;
  width: max-content;
  max-width: 50vw;
  color: white;
  border-radius: 4px;
  padding: 8px;
  font-size: .75rem;
  line-height: 1rem;
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  box-shadow: 0 4px 6px -1px #1018281a, 0 2px 4px -2px #1018281a
}

.tooltip.open {
  display: block
}

.absence-date-range calendar-month {
  --color-accent: #e86545;
  --color-text-on-accent: #ffffff;
}

.absence-date-range :is(calendar-range, calendar-date)::part(months) {
  display: flex;
  gap: 1.5rem;
  justify-content: center;
  flex-wrap: wrap;
}

.absence-date-range :is(calendar-range, calendar-date)::part(button) {
  border: 1px solid #e7e5e4;
  border-radius: .5rem;
  background: white;
  padding: .35rem .65rem;
  color: #44403c;
}

.absence-date-range calendar-month::part(button) {
  border-radius: .375rem;
}

.absence-date-range calendar-month::part(range-inner) {
  border-radius: 0;
  background-color: #f8c7bc;
  color: #9f2d17;
}

.absence-date-range calendar-month::part(range-start) {
  border-start-end-radius: 0;
  border-end-end-radius: 0;
}

.absence-date-range calendar-month::part(range-end) {
  border-start-start-radius: 0;
  border-end-start-radius: 0;
}

.absence-date-range calendar-month::part(range-start range-end) {
  border-radius: .375rem;
}

/* Selected days get a ring, so they stay visible on booked days. Each row of the selection (a week, or
   the part of it within one month) is outlined on its own, see absence_date_range_controller.js. */
.absence-date-range calendar-month::part(selected) {
  box-shadow: inset 0 2px 0 oklch(60% 0.24 56), inset 0 -2px 0 oklch(60% 0.24 56);
}

.absence-date-range calendar-month::part(range-start),
.absence-date-range calendar-month::part(selected day-1),
.absence-date-range calendar-month::part(selected month-first) {
  box-shadow: inset 2px 0 0 oklch(60% 0.24 56), inset 0 2px 0 oklch(60% 0.24 56), inset 0 -2px 0 oklch(60% 0.24 56);
  border-start-start-radius: .375rem;
  border-end-start-radius: .375rem;
}

.absence-date-range calendar-month::part(range-end),
.absence-date-range calendar-month::part(selected day-0),
.absence-date-range calendar-month::part(selected month-last) {
  box-shadow: inset -2px 0 0 oklch(60% 0.24 56), inset 0 2px 0 oklch(60% 0.24 56), inset 0 -2px 0 oklch(60% 0.24 56);
  border-start-end-radius: .375rem;
  border-end-end-radius: .375rem;
}

.absence-date-range calendar-month::part(range-start range-end),
.absence-date-range calendar-month::part(range-start selected day-0),
.absence-date-range calendar-month::part(range-start selected month-last),
.absence-date-range calendar-month::part(selected day-1 range-end),
.absence-date-range calendar-month::part(selected day-1 month-last),
.absence-date-range calendar-month::part(selected month-first range-end),
.absence-date-range calendar-month::part(selected month-first day-0) {
  box-shadow: inset 0 0 0 2px oklch(60% 0.24 56);
  border-radius: .375rem;
}

.absence-date-range calendar-month::part(free-day) {
  background-color: #f5f5f4;
  color: #a8a29e;
}

.absence-date-range calendar-month::part(special-day) {
  background-color: #fef3c7;
  color: #92400e;
  font-weight: 600;
}

.absence-date-range calendar-month::part(blackout-period) {
  background-color: #fee2e2;
  color: #b91c1c;
  font-weight: 600;
}

.absence-date-range calendar-month::part(absence-day) {
  background-color: #a8a29e;
  color: #ffffff;
}

.absence-date-range calendar-month::part(vacation-day) {
  background-color: #e0f2fe;
  color: #0369a1;
  font-weight: 600;
}

/* Booked days in the color of their absence type (AbsenceType#color_key), and the matching legend swatches. */
.absence-date-range calendar-month::part(absence-sky),
.absence-date-range .absence-swatch-sky {
  background-color: #bae6fd;
  color: #075985;
  font-weight: 600;
}

.absence-date-range calendar-month::part(absence-rose),
.absence-date-range .absence-swatch-rose {
  background-color: #fecdd3;
  color: #9f1239;
  font-weight: 600;
}

.absence-date-range calendar-month::part(absence-amber),
.absence-date-range .absence-swatch-amber {
  background-color: #fde68a;
  color: #92400e;
  font-weight: 600;
}

.absence-date-range calendar-month::part(absence-emerald),
.absence-date-range .absence-swatch-emerald {
  background-color: #a7f3d0;
  color: #065f46;
  font-weight: 600;
}

.absence-date-range calendar-month::part(absence-violet),
.absence-date-range .absence-swatch-violet {
  background-color: #ddd6fe;
  color: #5b21b6;
  font-weight: 600;
}

.absence-date-range calendar-month::part(absence-orange),
.absence-date-range .absence-swatch-orange {
  background-color: #fed7aa;
  color: #9a3412;
  font-weight: 600;
}

.absence-date-range calendar-month::part(absence-teal),
.absence-date-range .absence-swatch-teal {
  background-color: #99f6e4;
  color: #115e59;
  font-weight: 600;
}

.absence-date-range calendar-month::part(absence-fuchsia),
.absence-date-range .absence-swatch-fuchsia {
  background-color: #f5d0fe;
  color: #86198f;
  font-weight: 600;
}

.absence-date-range calendar-month::part(absence-lime),
.absence-date-range .absence-swatch-lime {
  background-color: #d9f99d;
  color: #3f6212;
  font-weight: 600;
}

.absence-date-range calendar-month::part(absence-slate),
.absence-date-range .absence-swatch-slate {
  background-color: #e2e8f0;
  color: #1e293b;
  font-weight: 600;
}

.absence-date-range calendar-month::part(absence-stone),
.absence-date-range .absence-swatch-stone {
  background-color: #e7e5e4;
  color: #292524;
  font-weight: 600;
}

.tooltip .arrow {
  background-color: black;
  z-index: -1;
  pointer-events: none;
  width: 8px;
  height: 8px;
  position: absolute;
  transform: rotate(45deg)
}
