/**
* former templates/default/app.css
*/

/*Media print classes*/
@media print{
  #calendar-view.et2_container, #calendar-planner.et2_container, #calendar-list.et2_container {
    position: static;
    height: auto !important;
  }
  #calendar-todo.et2_container {
    display: none !important;
  }
  .calendar_calDayTodos .calendar_calDayTodosTable {
    position: relative;
  }
  .calendar_plannerWidget
  {
    height: auto !important;
  }
  .calendar_plannerWidget .calendar_plannerHeader {
    margin-right: 2px !important;
  }
  .calendar_plannerWidget .calendar_plannerRows {
    height: auto !important;
    overflow: visible !important;
  }
  .calendar_plannerWidget .verticalBar {
    display: none;
  }
  /* Don't split a calendar week across pages */
  #calendar-view_view > tbody > tr.view_row {
    page-break-inside: avoid;
  }
  /* Try to keep it on the page */
  .calendar_calTimeGrid {
    max-height: 18cm;
    max-width: 90vw;
  }
  .calendar_calTimeGrid .calendar_calTimeGridScroll {
    overflow-y: hidden !important;
  }

  /* Let hidden user names be visible */
  #calendar-view_view.hideDayColHeader tr:not(:first-of-type) .calendar_calGridHeader > et2-description {
    position: static;
  }
  #calendar-view_view.hideDayColHeader tr:not(:first-of-type) .calendar_calGridHeader > et2-description {
    overflow: visible !important;
  }

  div.calendar_calEvent {
    opacity:1;
    filter:opacity(0.85);
    -webkit-filter:opacity(0.85);
    border: 1px solid;
  }
  /* Make times & all day description bold for better visibility */
  div.calendar_calDayColAllDay div.calendar_calEventBodySmall,
  div.calendar_calEventHeader, div.calendar_calEventHeaderSmall
  {
    font-weight: bold;
  }
}

/**
 * Sidebox
 */
#calendar-et2_target {
  position: relative;
}
#calendar-et2_target > div {
  position: relative;
}
#calendar-sidebox_cat_id ~ * {
  vertical-align: top;
  display: inline-block;
  border: none;
  box-shadow: none;
}
.flatpickr-current-month .numInputWrapper{
  color: inherit;
}

/*overrides above for disabled et2-box*/
#calendar-sidebox_cat_id ~ et2-box[disabled]{
  display: none;
}

#calendar-sidebox_weekend {
  /* Special css styling goes here */
}



#calendar-sidebox_date div.flatpickr-calendar.inline {
  width: 100% !important;
  box-shadow: none;
}

#calendar-sidebox_date .flatpickr-day {
  font-size: 11px;
}
#calendar-sidebox_date .inRange {
  background-color: var(--row_hover);
  box-shadow: none;
}
/* Hide email in sidebox */
#calendar-sidebox_owner::part(tag__suffix) {
  display: none;
}

/* Conflict display */
.calendar_conflicts {
  max-height: 540px;
  overflow-y: auto;
}
.calendar_conflicts img {
  width: 22px;
  height: 22px;
}
.calendar_conflicts table[id*="conflicting_participants"] > tbody > tr.r .et2_label {
  /* Color for resources */
  color: blue;
}

/* Loader - hide sizing behind overlay*/
#egw-loadin-prompt_calendar::before {
  opacity: 1;
  background-color: #e6e6e6;
}

/* Space for toolbar */
#calendar-view, #calendar-todo, #calendar-planner, #calendar-list {
  position: absolute;
  left: 0px;
  right: 0px;
}
#calendar-todo {
  position: absolute;
  width: 30%;
  margin-top: 0px;
  z-index: 10;
  bottom: -10px;
  height: calc(~"100% - 92px");
}

#calendar-view {
  width: 100%;
}
#calendar-view_view td {
  padding: 0px;
}

.calendar_inputFullWidth input { width: 100%; }

/******************************************************************
 * CSS settings for the day, week and month view (timeGridWidget) *
 ******************************************************************/

/*
Names used in the "graphic" are the css classes from this file.
The function names in class uiviews have the leading cal removed and a trailing Widget added:
e.g. the div with class calendar_calTimeGrid is generated by the timeGridWidget method of uiviews.

+++ calendar_calTimeGrid +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+                #### calendar_calDayCols[12h|NoGrip] ###########################################################
+                #... calendar_calDayCol ............................. ... calendar_calDayCol ..........................
+                #.+- calendar_calDayColHeader ---------------------+. .+- calendar_calDayColHeader ------------------+.
+                #.|                                       |. .|                                    |.
+                #.+---------------------------------------+. .+------------------------------------+.
+.calendar_calTimeRowTime.#.** calendar_calEventCol ***** ** calendar_calEventCol *****. .** calendar_calEventCol ***********************.
+.              .#.*                  * *                  *. .*                                    *.
+.              .#.*                  * *                  *. .*                                    *.
+................#.*+- calendar_calEvent -----+* *                  *. .*                                    *.
+.calendar_calTimeRowTime.#.*|                |* *                  *. .*+- calendar_calEvent[Private] --------------+*.
+.              .#.*|                |* *+- calendar_calEvent -----+*. .*|                                  |*.
+.              .#.*+----------------+* *|                |*. .*|                                  |*.
+................#.*                  * *|                |*. .*|                                  |*.
+.calendar_calTimeRowTime.#.*                  * *+----------------+*. .*|                                  |*.
+.              .#.*                  * *                  *. .*+----------------------------------+*.

*/

/* custom ui-tooltip style for calendar
*/
.calendar_uitooltip {
  padding: 0px;
  position: absolute;
  border: none;
  max-height: 400px;
  z-index: 9999;
  max-width: 300px;
  -webkit-box-shadow: 0 0 5px;
  -moz-box-shadow: 0 0 5px;
  box-shadow: 0 0 5px;
}

/* Current time indicator */
.calendar_now {
  position: absolute;
  background: red;
}
.calendar_calTimeGrid .calendar_now {
  height: 2px;
  width: 100%;
  left: 0px
}
.calendar_calTimeGridList .calendar_now {
  display: none;
}
.calendar_plannerWidget .calendar_now {
  height: 100%;
  width: 2px;
  top: 0px;
}


.calendar_size120b { font-size: 120%; font-weight: bold; }

/* marks a day in the colum-header as today
 */
.calendar_calToday,
.calendar_calTimeGrid .calendar_calDayColHeader .calendar_calToday,
.calendar_calTimeGrid .calendar_calDayColHeader .calendar_calToday.et2_link.et2_clickable {
  color: var(--sl-color-sky-900);
  font-weight: var(--sl-font-weight-bold);
  background-color: var(--current-day-color);
}
.calendar_calWeek{
  background: var(--current-day-color,#ffffcc);
  width:auto;
  margin:0 auto;
  text-align:center;
}
.calendar_calMonth{
  background: var(--current-day-color,#ffffcc);
  width:auto;
  margin:0 auto;
  text-align:center;
}

/* marks a day in the colum-header as holiday
 */
.calendar_calHoliday,
.calendar_calTimeGrid .calendar_calDayColHeader .calendar_calHoliday.et2_link.et2_clickable {
  background-color: rgba(103, 159, 210, 0.5);
}
/* marks a day in the column-header additionaly as birthday of some contact,
 * it should work together with the backgrounds of calendar_calToday, calendar_calHoliday, th, row_on and row_off
 */
#calendar-view .calendar_calBirthday, #calendar-planner .calendar_plannerHeader .calendar_calBirthdayIcon {
  &::before{
    position: absolute;
    right: 1em;
    font-family: bootstrap-icons;
    content: "\f6ed"; //bi-cake2 icon
  }
}
/* Supress tooltips on holidays shown as events */
.calendar_calEventTooltip.calendar_calBirthday, .calendar_calEventTooltip.calendar_calHoliday {
  display: none;
}

/* timeGridWidget, contains timeRow's and dayCol's
 */
.calendar_calTimeGrid{
  position: relative;
  top: 0px;
  left: 0px;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  overflow: hidden;

  display: flex;
  flex-direction: column;

  page-break-inside: avoid;
}

.calendar_calTimeGrid .calendar_calTimeGridScroll {
  position: relative;
  bottom: 0px;
  width: 100%;
  height: 100%;
  overflow-y: auto;
  overflow-x: hidden;
  cursor: default;
}
.calendar_calTimeGrid .calendar_calTimeLabels {
  height: 100%;
}

.calendar_calTimeGrid .loading,.calendar_plannerWidget .loading {
  top: 0px;
  bottom: 0px;
  left: 0px;
  right: 0px;
  position: absolute;
}
.calendar_calTimeGrid .loading::before ,.calendar_plannerWidget .loading::before {
  opacity: 1;
  background-color: #E6E6E6;
}
/* Timegrid that has hit a minimum size */
.calendar_calTimeGridFixed .calendar_calTimeGridScroll {
  overflow: hidden;
}

/*
Show the day headers for single week view only once.
Hide subsequent headers in week view with non-consolidated owners
*/
#calendar-view_view.hideDayColHeader tr:not(:first-of-type) .calendar_calGridHeader .calendar_calDayColHeader
{
  min-height: 0.5em;
}
#calendar-view_view.hideDayColHeader tr:not(:first-of-type) .calendar_calGridHeader .calendar_calDayColHeader > div[data-date] {
  display:none;
}
#calendar-view_view.hideDayColHeader tr:first-of-type .calendar_calGridHeader  > et2-description
{
  position: absolute;
  top: 2em;
}
#calendar-view_view.hideDayColHeader tr:first-of-type .calendar_calGridHeader .calendar_calDayColHeader_spacer
{
  height:calc(1.5em + 32px);
}
#calendar-view_view.hideDayColHeader tr .calendar_calGridHeader  > et2-description {
  white-space:nowrap;
  display: block;
  position: static;
  width: calc(100% - 58px);
  margin-left: 58px;
  color: white;
  background-color: #2D6393;
  text-align: center;
  line-height: 1.5em;
  font-size: 14px;
  z-index: 35;
}

/* single row in the time-line you dont need to set a bgcolor, but you can
 */
.calendar_calTimeRow {
  width: 100%;
  /* set via inline style on runtime:
   *  height:
   *  top:
   */
}
.calendar_calTimeRow:not(.calendar_calWorkHours)
{
  background-color: rgba(120,120,120,0.1);
}

/* time in a timeRow
 */
.calendar_calTimeRowTime {
  padding-left: 5px;
  height: 100%;
  line-height: 14px;
  font-size:8pt;
  text-align: left;
}
.calendar_calTimeRowTime[data-minute='0'] {
  border-top: 1px solid var(--sl-color-neutral-400,silver);
  background-image: none;
}
/* contains (multiple) dayCol's
 */
.calendar_calDayCols,.calendar_calDayCols12h,.calendar_calDayColsNoGrid{
  position: absolute;
  top: 0px;
  /*	bottom: 0px; does NOT work in IE, IE needs height: 100%! */
  height: 100%;
  left: 58px;
  right: 0px;
  white-space: nowrap;
}
/* 12h timeformat with am/pm
 */
.calendar_calDayCols12h{
  left: 65px;
}
/* no time grid --> no time column
 */
.calendar_calDayColsNoTime{
  left: 0px;
}

/* contains (multiple) eventCol's
 */
.calendar_calDayCol{
  position: absolute;
  top: 0px;
  height: 100%;/* set via inline style on runtime:
 *  left:
 *  width:
 */
  border-left: 1px solid var(--sl-color-neutral-400,silver);
  transition: none;
}
/* Calendar Id #
*/
.calendar_calId:before {}
#calendar-edit_id { display: inline;}
#calendar-edit_id:before { content:"#"}

/* header for the dayCol
 */
.calendar_calDayColHeader,.calendar_calGridHeader,.calendar_calGridHeader > div {
  font-size: 100%;
  line-height: 16px;
}
.calendar_calDayColHeader {
  display: inline-block;
  position: relative;
  vertical-align: top;
  border-right: 1px solid var(--sl-color-neutral-400,silver);
  height: initial;
  min-height: 2em;

  transition: none;
  z-index:30;
  white-space: initial;
  padding-bottom: 2ex;
}
.calendar_calDayColHeader > div[data-date] {
  font-size: 14px;
  line-height: 27px;
  text-align: center;
  border-bottom: 1px solid var(--sl-color-neutral-400);
  white-space: nowrap;
  overflow: hidden;
  background-color: var(--sl-color-neutral-100);
}
.hideDayColHeader .calendar_calDayColHeader > div[data-date] {
  position:fixed;
  width: inherit;
  z-index: 100;
}
.blue_title {
  color: white !important;
  background: #2D6393 !important;
}

/* Seperate long and short day names */
.calendar_calDayColHeader > div[data-date] .short_date,
.calendar_calDayColHeader > div[data-date] .long_date {
  padding-right: 1ex;
}
.calendar_calDayColHeader > div[data-date] .short_date {
  display: none;
}

/* Keep header dates when showing one week, multiple users */
.calendar_calTimeGridFixed:not(.calendar_TimeGridNoLabel) .calendar_calDayColHeader > div.et2_clickable.et2_link {
  position: fixed;
  width: inherit;
  margin-top: -1px;
}
/* Indicators for offscreen events */
.calendar_calDayColHeader .hiddenEventBefore, .calendar_calDayCol .hiddenEventAfter {
  width: 80%;
  left: 10%;
  position: absolute;
  border-radius: 5px;
  border: 6px solid;
  border-left: 0px;
  border-right: 0px;
  overflow: hidden;
  z-index: 40;
  cursor: pointer;
}
.calendar_calDayColHeader .hiddenEventBefore {
  height: 2px;
  bottom: -6px;
  border-top: none;
}
.calendar_calDayColHeader .hiddenEventBefore:hover {
  bottom: -20px;
  height: 16px;
  border-left: 1px;
  border-right: 1px;
  border-top-left-radius: 0px;
  border-top-right-radius: 0px;
  background-color: white;
}
.calendar_calDayCol .hiddenEventAfter {
  border-bottom: none;
  height: 6px;
}
.calendar_calDayCol .hiddenEventAfter:hover {
  margin-top: -20px;
  height: 20px;
  background-color: white;
}
.calendar_calTimeGridFixed .calendar_calDayCol .hiddenEventAfter:hover .calendar_calEvent {
  position: relative;
}

/* Days in a different month, but shown to fill out the week */
.calendar_calDayColHeader.calendar_differentMonth > * {
  color: rgb(106, 106, 106);
}
.calendar_calDayCol.calendar_differentMonth {
  background-color: rgba(200,200,200,0.1);
}

/* Daily sortable */
.calendar_calDayColHeader .ui-sortable-handle {
  cursor: ew-resize;
}

.calendar_calDayColAllDay {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  align-items:flex-start;
  width: 100%;

  /* Set max height of all day section */
  max-height: 4.2em;
  overflow: hidden;
}
/* If more all day events than shown, show ellipsis & show all on hover */
.calendar_calDayColHeader .calendar_calDayColAllDay.overflown:hover {
  max-height: none;
  overflow: visible;
  position: absolute;
  background-color: #f0f0f0;
  z-index: 50;
  padding-bottom: 2ex;
}
.calendar_calDayColHeader .calendar_calDayColAllDay.overflown:not(:hover)::after {
  content: "\02026";
  line-height: 0.5em;
  height: 1em;
  position: absolute;
  bottom: 0px;
  left: 0px;
  right: 0px;
  text-align: center;
}
.calendar_calDayColAllDay .calendar_calEventHeader {
  display: none;
}
.calendar_calDayColAllDay > .calendar_calEventBodySmall {
  white-space: nowrap;
}
.calendar_calGridHeader > div {
  position: relative;
  height: 100%;
  margin-left: 58px;
  width: initial;
  white-space: nowrap;
  border-left: 1px solid var(--sl-color-neutral-400,silver);
  display:flex;
  align-items: stretch;
}
#calendar-view_view.hideDayColHeader .calendar_calGridHeader > div {
  height: auto;
}
.calendar_calGridHeader > label {
  float: left;
  font-size: 14px;
  line-height: 27px;
  width: 58px;
  text-align: center;
  position: absolute;
  top: 0px;
}

.calendar_calGridHeader > span.et2_label {
  position: absolute;
  width: 55px;
}
.calendar_TimeGridNoLabel > .calendar_calGridHeader > span.et2_label {
  display: none;
}
.calendar_calDayColHeader img {
  vertical-align: middle;
}
.calendar_calWeekNavHeader,.calendar_calMonthNavHeader {
  top: 0px;
  left: 0px;
  width: 100%;
  right: 0px;
}
.calendar_calWeekNavHeader,.calendar_calMonthNavHeader img {
  vertical-align: middle;
}
.calendar_calViewUserNameBox {
  position: absolute;
  top: -1px;
  width: 95%;
  text-align: left;
  font-size: 120%;
  white-space: nowrap;
  border: 1px solid gray;
  height: 17px;
  left: -1px;
  padding-top: 0px;
  padding-left: 10px;
  background: #dac0c0;
}
.calendar_calViewUserName {
  font-weight: normal;
}
.calendar_calViewUserName:first-letter {
  text-transform:uppercase;
}
.calendar_calViewUserNameFirst {
}
.calendar_calViewUserNameFirst:after {
  content: ", ";
}
/* alarm_date widget disabled class
*/
.calendar_alarm_date_display {
  display: none;
}
/*overwirte margin applied by egwGridView*/
.calendar_alarm_grid{
  margin-left: 0 !important;
}
/* header of the time-grid, eg. for the weeks in the month-view (leftmost of the day-col-headers)
 */
.calendar_calGridHeader {
  text-align: left;
  z-index: 29;
  border-bottom: 1px solid var(--sl-color-neutral-400, silver);
  min-height: 1ex;
  flex: 0 0 auto;
}
#calendar-view_view tbody.ui-sortable {
  cursor: default;
}
#calendar-view_view tbody.ui-sortable .calendar_calGridHeader {
  cursor: ns-resize;
}
#calendar-view_view tbody.ui-sortable-disabled .calendar_calGridHeader,
#calendar-view_view tbody.ui-sortable-disabled .calendar_calGridHeader label {
  cursor: pointer;
}

/* contains (multiple) events's
 */
.calendar_calEventCol{
  position: absolute;
  top: 0px;
  /*	bottom: 0px; does NOT work in IE, IE needs height: 100%! */
  height: 100%;
  /* set via inline style on runtime:
   *  left:
   *  width:
   */
}

/* contains one event: header-row & -body
 */
.calendar_calEvent {
  position: absolute;
  left: 0px;
  right: 0px;
  overflow: hidden;
  z-index: 20;
  padding-left: 6px;
  min-height: 1.2em;
  min-width: 5px;
  line-height: 1em;
  /* It is important there are no CSS transitions, it breaks resize */
  -webkit-transition:none;
  -moz-transition: none !important;
  -o-transition: none !important;
  -ms-transition: none !important;
  transition: none !important;

  opacity: 0.85;
  -moz-opacity: 0.85;
  box-sizing: border-box;
  touch-action:none;

  /* set via inline style on runtime:
   *  top: depending on startime
   *  height: depending on length
   *  border-color: depending on category
   *  background: depending on category (shade)
   *
   */
  border-color: #808080;
  background-color: #808080;
}

:is(html[data-darkmode='1'],.sl-theme-dark,.kdots-dark) .calendar_calEvent{
  /*set color to be black so it still looks good in dark-mode*/
  color: black;
  filter: brightness(0.8);
}

.calendar_calEvent:not(.rowNoView):hover{
  cursor: pointer;
}

/** Multi-line ellipsis */
.calendar_calEvent .calendar_calEventBody {
  overflow: hidden;
}
.calendar_calTimeGrid:not(.calendar_calTimeGridList) *:not(.calendar_calDayColAllDay) > .calendar_calEvent::after {
  width: 100%;
  background-color: rgba(255,255,255,0.8);
  height: 5px;
  content: "\02026";
  left: 0px;
  float: right;
  padding-bottom: 5em;
  text-indent: 5px;
  line-height: 5px;
}
/**
 * User has not accepted the invitation
 */
.calendar_calEventUnknown {
  border-color: white;
}
.calendar_calEventUnknown .calendar_calEventBody,
.calendar_calEventUnknown .calendar_calEventBodySmall {
  background-color: white !important;
}
/**
 * All participants accepted the invitation
 */
.calendar_calEventAllAccepted {
}

/**
 * All participants answered the invitation, but not all accepted
 */
.calendar_calEventAllAnswered {
  background-image: linear-gradient(transparent 50%, rgba(255,255,255,.8) 50%);
  background-repeat: repeat-y;
  background-size: 6px 2px;
}

/**
 * Some participants did NOT answer the invitation
 */
.calendar_calEventSomeUnknown:not(.calendar_calEventUnknown) {
  background-image: linear-gradient(transparent 50%, rgba(255,255,255,.5) 50%);
  background-repeat: repeat-y;
  background-size: 6px 5px;
}
.calendar_calEvent:not([class*=" cat_"]) {
  /* Defaults for no category, so we don't override it */
  background-color: #808080;
}
/**
 * Events in the header (all day)
 */
.calendar_calDayColHeader .calendar_calEvent {
  position: static;
  display: inline-block;
  white-space: nowrap;
  /* This determines how many per line */
  flex: 1 1 auto;
}
.calendar_calDayColHeader .calendar_calEvent .calendar_calEventBody {
  white-space: nowrap;
  text-overflow: ellipsis;
}
.calendar_calDayColHeader .calendar_calEvent.calendar_calBirthday .calendar_calEventBody{
  padding-right: 3em; //space for the icon
}
.calendar_calEventTooltip{
  padding-left: 6px;
  max-height: 400px;
  min-width: 25ex;
  overflow: auto;

  /* Do not show icons in header, only tooltip */
  .calendar_calEventIcons {
    display: inline-block;
  }

  .calendar_calEventCategoryIcons {
    display: inline-flex;
    padding-inline-end: var(--sl-spacing-medium);
    gap: var(--sl-spacing-2x-small);
  }

  .calendar_calEventBody, .calendar_calEventBodySmall {
    padding-bottom: 1em;
  }

  img {
    max-width: 1.5em;
    vertical-align: middle;
    padding-left: 5px;
  }

  [data-videoconference] {
    cursor: pointer;
  }

  a{
    color: rgb(0,0,238)//This is the default light color for links, always use it(even in darkmode)
  }
}

.calendar_calAddEvent{
  width: 100%;
  z-index: 10;
}

.calendar_calDayColHeader .calendar_calAddEvent:hover{
  background-color: #D2D7FF;
  cursor: pointer;
}

/* header-row of the event
 */
.calendar_calEventHeader,.calendar_calEventHeaderSmall{
  position: relative;	/* as the calendar_calEventIcons use postion: absolute! */
  text-align: left;
  left: 0px;
  right: 0px;
  padding-left: 2px;
  min-height: 1em;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  /* set via inline style on runtime
   *  background-color: depending on category
   *	color: white || black depending on cat;
   */
  background-color: rgba(255,255,255,0.8);
}
.calendar_calEventHeader .calendar_calEventTitle {
  display: none;
}
.calendar_calEventHeaderSmall{
  font-size: 8pt;
  line-height: 10pt;
}
.calendar_calEvent[data-priority='3'] .calendar_calEventTitle {
  color: red;
}
.calendar_calEventIcons{
  position: absolute;
  right: 0px;
  top: 0px;
  /* Do not show icons in header, only tooltip */
  display: none;
}
.calendar_calEventIcons img{
  height: 13px;
}
.calendar_calEventHeaderSmall .calendar_calEventIcons img{
  height: 13px;
}

/* body of the event
 */
.calendar_calEventBody,.calendar_calEventBodySmall{
  padding: 0px 3px 0px;
  left: 2px;
  right: 2px;
  height: 99%;
  white-space: normal;
  background-color: rgba(255,255,255,0.8);
}
.calendar_calEventBody > p, .calendar_calEventBodySmall > p {
  white-space: pre-wrap;
}
.calendar_calEventBody .calendar_calTimespan {
  display: none;
}
.calendar_calTimeGrid .calendar_calEventBodySmall{
  font-size: 95%;
}
.calendar_calEventLabel{
  font-weight: bold;
  font-size: 90%;
  display:inline;
}

.calendar_calEventTitle{
  font-weight: bold;
  font-size:100%;
  display:inline;
}

/* Event is too small for full display */
.calendar_calTimeGrid:not(.calendar_calTimeGridList)
.calendar_calEventSmall[data-visible_lines='1'] .calendar_calTimespan {
  display: none;
}
.calendar_calTimeGrid:not(.calendar_calTimeGridList)
.calendar_calEventSmall[data-visible_lines='2'] .calendar_calTimespan,
.calendar_calTimeGrid:not(.calendar_calTimeGridList)
.calendar_calEventSmall[data-visible_lines='3'] .calendar_calTimespan {
  display: inline;
}

.calendar_calTimeGrid:not(.calendar_calTimeGridList)
.calendar_calEventSmall[data-visible_lines='1'] .calendar_calEventTitle,
.calendar_calTimeGrid:not(.calendar_calTimeGridList)
.calendar_calEventSmall[data-visible_lines='2'] .calendar_calEventTitle,
.calendar_calTimeGrid:not(.calendar_calTimeGridList)
.calendar_calEventSmall[data-visible_lines='3'] .calendar_calEventTitle {
  display: inline;
}
.calendar_calTimeGrid:not(.calendar_calTimeGridList)
.calendar_calEventSmall .calendar_calEventBody {
  padding-top: 4em;
}
.calendar_plannerRowWidget .calendar_calEvent:not(.calendar_calEventSmall) .calendar_calTimespan {
  display: none;
}
.calendar_plannerRowWidget .calendar_calEvent:not(.calendar_calEventSmall) .calendar_calEventHeader .calendar_calEventTitle {
  display: inline;
  font-weight: normal;
}

/* Events as displayed in a list, not sized by time */
.calendar_calTimeGridList .calendar_calTimeGridScroll {
  overflow-y: hidden;
}
.calendar_calTimeGridList .calendar_calGridHeader {
  min-height: 1em;
}
.calendar_calTimeGridList .calendar_calDayColAllDay {
  display: none;
}
.calendar_calTimeGridList .calendar_calDayColHeader {
  min-height: initial;
  padding-bottom: 0px;
}
.calendar_calTimeGridList .calendar_calDayColHeader > div[data-date] {
  border: none;
}
.calendar_calTimeGridList .calendar_calDayCol > div.event_wrapper
{
  position: absolute;
  top: 0px;
  bottom: 3em;
  width: 100%;
}
.calendar_calTimeGridList .calendar_calEvent {
  height: 1.1em;
  position: relative;
  border: none;
  border-bottom: none;
  border-right: none;
  border-radius: 0px;
  padding-left: 6px;
}
.calendar_calTimeGridList .calendar_calEvent:not([data-full_day]) {
}
.calendar_calTimeGridList .calendar_calEventHeader {
  display: none !important;
}
.calendar_calTimeGridList .calendar_calEventTitle {
  font-weight: normal;
  display: inline-block;
  white-space: nowrap;
  flex: 1 1;
  overflow: hidden;
  text-overflow: ellipsis;
}
.calendar_calTimeGridList .calendar_calEventBody {
  overflow: hidden;
  border:none;
  background: white !important;
  height: 100%;
  padding-left: 6px;
  display: flex;
}
.calendar_calTimeGridList .calendar_calEventBody .calendar_calTimespan {
  display: inline-block;
  text-align: right;
  padding-right: 1px;
  opacity: 0.8;
  font-size: 90%;
  flex: 0 0 auto;
}
.calendar_calTimeGridList .calendar_calEventBody > p {
  display: none;
}
.calendar_calTimeGridList .calendar_calDayCol .hiddenEventAfter {
  left: 0px;
  width: 100%;
  margin-top: -1.5ex;
  height: 2.1ex;
  border-bottom-left-radius: 0px;
  overflow: visible;
}
.calendar_calTimeGridList .calendar_calDayCol .hiddenEventAfter:before {
  content: attr(data-hidden_label);
  display:block;
  height: 100%;
  min-height: 3ex;
  background: white;
  z-index: 21;
  padding-left: 12px;
}
.calendar_calTimeGridList .calendar_calDayCol .hiddenEventAfter:hover {
  /* Need !important to override calculated height*/
  top: initial !important;
  bottom: 0px;
  white-space: pre;
  background: white;
  height: 100%;
  overflow: auto;
}
.calendar_calTimeGridList .calendar_calDayCol .hiddenEventAfter:hover:before {
  display:none;
}
/* table of the dayView containing 2 cols: 1) day-view, 2) todos
*/
.calendar_calDayView{
  width: 100%;
}
/* calDayTods is the day-view's todo column, containing the calDayTodoHeader and the calDayTodoTable
 */
.calendar_calDayTodos .calendar_calDayTodosHeader {
  margin: 0px;
  padding: 2px;
  font-weight: bold;
  height: 23px;
  line-height: 23px;
}
.calendar_calDayTodos .calendar_calDayTodosTable {
  overflow: auto;
  position: absolute;
  top: 3em;
  bottom: 8px;
  width: 100%;
}
.calendar_calDayTodos {
  width: 98%;
  border: 1px solid var(--sl-color-neutral-400,silver);
}
.calendar_calDayTodosHeader {
  text-align: center;
}
.calendar_calDayTodosTable tr {
  page-break-inside: avoid;
  display: flex;
}
.calendar_calDayTodosTable tr td span:first-child {
  white-space: nowrap;
}

.calendar_calDayTodosHeader button {
  width: 24px;
  height: 24px;
  padding-left: 0px;
  margin: 0px 4px 1px 0;
  border-radius: 3px;
  border: 1px solid var(--sl-color-neutral-400,silver);
  background-color: #fafafa;
  position: absolute;
  left: 2px;
}

/******************************************************
 * CSS settings for the planner views (calendar_plannerWidget) *
 ******************************************************/

/* calendar_plannerWidget represents the whole planner, consiting of the calendar_plannerHeader and multiple plannerRowWidgets
 */
.calendar_plannerWidget {
  position: relative;
  top: 0px;
  left: 0px;
  width: 99.5%;
}
.calendar_plannerWidget > div:not(.calendar_plannerHeader) {
  overflow-y: auto;
  overflow-x: hidden;
}
/* calendar_plannerHeader contains a calendar_plannerHeaderTitle and multiple calendar_plannerHeaderRows
 */
.calendar_plannerHeader {
  position: relative;
  top: 0px;
  left: 0px;
}
.calendar_plannerRows {
  position:relative;
}
.calendar_plannerGrid {
  position: absolute;
  top: 0px;
  bottom: 0px;
  left: 172px;
  right: 0px;
  overflow:hidden;
  height: 100%;
  border-left: 1px solid var(--sl-color-neutral-400,silver);
  margin-left: -1px;
  z-index: 1;
}
.calendar_plannerGrid > .calendar_plannerScale,
.calendar_plannerGrid > .calendar_plannerScaleDay {
  height: 100%;
  position: absolute;
}
.calendar_plannerGrid .calendar_calToday, .calendar_plannerGrid .calendar_calHoliday {
  background-color: initial;
}
.calendar_plannerGrid > div:nth-last-child(2) > div {
  border: none;
  border-right: 1px solid var(--sl-color-neutral-400,silver);
}
.calendar_plannerGrid > div:last-child > div {
  border: none;
}
.calendar_plannerGrid > div:last-child > div:not(:first-child)  {
  background-image: linear-gradient(0deg, rgba(192, 192, 192, 0.75) 4px, transparent 0%);
  background-position: top left;
  background-size: 1px 10px;
  background-repeat: repeat-y;
}
/* calendar_plannerRowWidget contains a calendar_plannerRowHeader and multiple eventRowWidgets in an calendar_eventRows
 */
.calendar_plannerRowWidget {
  position: relative;
  top: 0px;
  left: 0px;
  width: 100%;
  min-height: 20px;
  z-index: 2;
}
.calendar_plannerRowWidget:not(:first-child) {
  border-top: 1px solid var(--sl-color-neutral-400,silver);
}
.calendar_plannerRowWidget[data-has_children]:before {
  padding-right: 20px;
  position: absolute;
  content: " \25B6";
  background-repeat: no-repeat;
  left: 10px;
  top: 2px;
}

.calendar_plannerRowWidget.current_user {
  background-color: rgba(0,0,0,0.05);
}
.calendar_plannerRowWidget:hover {
  background-color: rgba(103, 159, 210, 0.2);
}

/* calendar_plannerScale represents a scale-row of the calendar_plannerHeader, containing multiple planner{Day|Week|Month}Scales
 */
.calendar_plannerScale,.calendar_plannerScaleDay {
  position: relative;
  top: 0px;
  left: 0%;
  width: 100%;
  height: 20px;
  line-height: 20px;
  display: flex;
  flex-wrap: nowrap;
  align-content: stretch;
}
.calendar_plannerDayScale,.calendar_plannerMonthScale,.calendar_plannerWeekScale,.calendar_plannerHourScale,.calendar_plannerDayOfMonthScale {
  position: absolute;
  top: 0px;
  /* left+width: is set by the code on runtime */
  text-align: center;
  height: 100%;
  border-right: 1px solid var(--sl-color-neutral-400,silver);
  border-bottom: 1px solid var(--sl-color-neutral-400,silver);
  min-height: 2ex;
  /* set via inline style on runtime:
   *  left:
   *  width:
   */
}
.calendar_plannerDayScale,.calendar_plannerWeekScale,.calendar_plannerHourScale {
  position: static;
  flex: 1 1 14%;
}
.calendar_plannerHourScale {
  font-size: 90%;
}
.calendar_plannerDayScale {
  font-size: 90%;
}
.calendar_plannerWeekScale {
  line-height: 20px;
}
.calendar_plannerMonthScale {
  font-weight: bold;
}
.calendar_plannerDayScale img,.calendar_plannerWeekScale img,.calendar_plannerMonthScale img,.calendar_plannerDayOfMonthScale img {
  vertical-align: middle;
}

/* calendar_plannerRowHeader contains the user or category name of the calendar_plannerRowWidget
 */
.calendar_plannerRowHeader, .calendar_plannerHeaderTitle {
  position: absolute;
  top: 0px;
  left: 0%;
  width: 150px;
  height: 100%;
  line-height: 20px;
  text-overflow: ellipsis;
  white-space:nowrap;
  overflow:hidden;
  padding-left: 20px;
  padding-right: 1px;
}
.calendar_plannerRowHeader:hover {
  overflow:visible;
  z-index: 30;
  cursor: pointer;
}
.calendar_plannerHeaderTitle {
  border-right: 1px solid var(--sl-color-neutral-400,silver);
}

/* calendar_eventRows contain multiple eventRowWidgets
 */
.calendar_eventRows, .calendar_plannerHeaderRows {
  position: relative;
  top: 0px;
  left: 0px;
  right: 0px;
  margin-left: 172px;/* need to be identical for calendar_eventRows and calendar_plannerHeaderRows and match width of calendar_plannerRowHeader/calendar_plannerHeaderTitle */
  min-height: 20px;
  height: 100%;
}
.calendar_plannerWidget .verticalBar {
  width: 8ex;
  height: 100%;
  position: absolute;
  top: 0px;
  border-right: 1px dotted;
  pointer-events: none;
  z-index: 40;
  display: none;
}
.calendar_plannerWidget .verticalBar > span {
  position: absolute;
  bottom: 0px;
  right: 0px;
  background-color: rgba(255,255,255,.8);
}


/**
 * Filler for month with less then 31 days in yearly planner
 */
.calendar_eventRowsFiller {
  position: absolute;
  top: 0px;
  right: 0px;
  height: 93%;
  background-color: white;
  border: 1px dashed gray;
  border-right: none;
}

/**
 * Weekend or other special days in yearly planner
 */
.calendar_eventRowsMarkedDay {
  position: absolute;
  top: 0px;
  height: 100%;
  z-index: 10;
}
.calendar_eventRowsMarkedDay.calendar_weekend {
  background-color: #e0e0e0;
}

/* calendar_eventRowWidget contains non-overlapping events
 */
.calendar_eventRowWidget {
  position: relative;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 20px;
  border: 1px solid white;
}

.calendar_plannerWidget .calendar_calEventHeader,.calendar_calEventHeaderSmall {
  height: 100%;
  padding-top: 2px;
}
.calendar_plannerWidget .calendar_calEventSmall[data-full_day='true'] .calendar_calTimespan {
  display: none;
}
.calendar_plannerWidget .calendar_calEventSmall .calendar_calEventTitle {
  display: inline;
}

/* Special colors for the year view */
.calendar_cal_year_legend_weekend {
  background-color: #CCCCCC;
}
.calendar_cal_year_legend {
  background-color: #EFEFEF;
}
.calendar_cal_year_legend {
  background-color: var(--current-day-color,#ffffcc);
  z-index: 0;
}
.calendar_cal_year_weekend {
  background-color: #F9F9CC;
  z-index: 0;
}
.calendar_cal_year_today {
  border-color: #EE0000;
  border-width: 2px;
}

/**
 * edit series or exception popup used in eventWidget and
 * delete series and exceptions popup used in edit event
 */

#dialog-content {
  display:block;
  height:100px;
  padding:6px;
  color:#666666;
  font-size:13px;
  margin: -2px -1px 0px -2px;
  width:410px;
}
/**
 * Calendar Drag and Drop
 */
.calendar_d-n-d_helper
{
  position: absolute;
  z-index:initial;
}
/* Class for div to show forbiden drop */
.calendar_d-n-d_timeCounter > span {
  position: absolute;
  background-color: #808080;
  color: white;
  left: 0;
  width: 100% !important;
  align: center;
  border: dashed white 1px;
  border-radius: 1px;
}

.calendar_timeDemo {
  position: absolute;
  bottom: 0;
  left: 0;
  background-color: #808080;
  color: white;
  width: 100%;
  min-width: 5em;
  align: center;
  border:dashed white 1px;
  border-radius: 1px;
}
.calendar_d-n-d_forbiden
{
  background-color: red;
  height: 100%;
  width: 100%;
  text-align: center;
}
/*Class for div to demonstrate dragging time*/
.calendar_d-n-d_timeCounter
{
  font-size: 1.1em;
  font-weight: bold;
  text-align: center;
  min-width: 10em;
}
.calendar_d-n-d_timeCounter .loading
{
  width: 16px;
  height: 16px;
  position: absolute;
  bottom: 0px;
  right: 0px;
}

#calendar-list_undelete_popup, #calendar-list_delete_popup   {
  display: none;
}

.calendar_freetime_header { font-size: 120%; font-weight: bold; }
.calendar_freetime_timeframe { position: relative;}

et2-image.calendar_print_button, et2-appicon.calendar_print_appicon, et2-appicon.calendar_print_appicon img {
  height: 24px;
  width: 24px;
  font-size: 24px;
}
et2-image.calendar_print_button::before{
  vertical-align: -.125em;/*reset to bootstrap chosen alignment*/
}

/*Sortable views*/
.srotable_cal_wk_ph {
  border: 2px	dashed gray;
  height: 230px;
  width: 99%;
  background-color: #ece2f7;
}
.srotable_cal_day_ph {
  position: relative;
  width: 33.333333%;
  height: 99%;
  border: 2px	dashed gray;
  background-color: #ece2f7;
  display: inline-block;
}

/**
 * View animation stuff
 */
.calendar_slide {
  /* There is a cleanup timeout in calendar app.js line 563 that must match */
  transition-duration: 0s; /* was 2s */
  transition-delay: 50ms;
}

/**
 * Home page portlets
 */
.calendar_favorite_portlet .calendar_calMonthNavHeader a img,
.calendar_favorite_portlet .calendar_calWeekNavHeader a img,
.calendar_favorite_portlet .calendar_calDayColHeader a img,
.calendar_favorite_portlet .calendar_plannerScale a img{
  display: none;
}

#calendar-edit_account + .chzn-container .chzn-results {
  max-height: 195px;
}
#calendar_sidebox_content .ui-datepicker div.ui-datepicker-buttonpane {
  border-top: 0;
  margin: 0;
  padding-right: 3px;
}

/*weekend slideSwitch in toolbar*/

#calendar-toolbar_app_header {
  color: #000;
  font-size: 14px;
  height: 1.6em;
  padding: 4px 3px 3px;
  background: #b4cee773;
  border-radius: var(--sl-border-radius-medium, 3px);
  min-width: fit-content;
  border: 1px solid #d4d4d8;
  text-align: center;
}

/* Integration slide switches in toolbar */
#calendar-toolbar_toolbar et2-switch {
  --sl-toggle-size-medium: 30px;
  --height: 30px;
  height: var(--height);
  display: inline-flex;
}

#calendar-toolbar_toolbar span[data-group="integration"] > et2-switch,
#toolbar-menulist et2-switch[id^="calendar-toolbar_toolbar-integration"] ,
#toolbar-menulist et2-switch[id^="calendar-toolbar_toolbar-video_toggle"] {
  background-size: 20px;
  background-repeat: no-repeat;
  background-position: center;
  --width: var(--height);
}
#calendar-toolbar_toolbar span[data-group="integration"] > et2-switch::part(base),
#toolbar-menulist et2-switch[id^="calendar-toolbar_toolbar-integration"] ,
#toolbar-menulist et2-switch[id^="calendar-toolbar_toolbar-video_toggle"] {
  filter: brightness(0) contrast(0.3) opacity(0.7);
}
et2-switch#calendar-toolbar_toolbar-weekend {
  background-image: none !important;
}
#calendar-toolbar_toolbar et2-switch#calendar-toolbar_toolbar-weekend::part(base){width: 100%; height: 100%;}
#calendar-toolbar_toolbar et2-switch#calendar-toolbar_toolbar-weekend .label span {
  background-size: 20px;
}
#calendar-toolbar_toolbar et2-switch#calendar-toolbar_toolbar-weekend .label {
  width: 100%;
  height: 100%;
  align-items: normal;
}
#calendar-toolbar_toolbar et2-switch#calendar-toolbar_toolbar-weekend {min-width: 60px;}
et2-switch#calendar-toolbar_toolbar-weekend::part(control) {width: 100%;}
et2-switch#calendar-toolbar_toolbar-weekend::part(label) {width: 100%; height: 100%;}

#calendar-toolbar_toolbar span[data-group="integration"] > et2-switch[checked],
#toolbar-menulist et2-switch[id^="calendar-toolbar_toolbar-integration"][checked] ,
#toolbar-menulist et2-switch[id^="calendar-toolbar_toolbar-video_toggle"][checked]{
  filter: none;
  box-shadow: inset 1px 1px 1px 1px gray !important;
}
#calendar-toolbar_toolbar span[data-group="integration"] > et2-switch span.label,
#toolbar-menulist et2-switch[id^="calendar-toolbar_toolbar-video_toggle"] span.label,
#toolbar-menulist et2-switch[id^="calendar-toolbar_toolbar-integration"] span.label{
  background: none;
  min-width: 24px;
}
#calendar-toolbar_toolbar et2-switch::part(control) {
  visibility: hidden;
}
#calendar-toolbar_toolbar et2-switch {
  display: inline-block;
  vertical-align: top;
  border-radius: var(--sl-border-radius-medium, 3px);
}
.ui-toolbar-menulist et2-switch,
.ui-toolbar-menulist et2-switch::part(base),
.ui-toolbar-menulist et2-switch::part(label),
.ui-toolbar-menulist et2-switch .label {width: 100%!important;}


#calendar-toolbar button#toolbar-today {
  color: #616161;
  font-weight: 500;
}

#calendar-edit .dialogFooterToolbar {min-width: 800px;}

#calendar_edit_recur_data_chzn {width:99% !important;max-width:99% !important;}


/* Use media queries and day counts to toggle full days & abbreviations in day labels
  Width breakpoints in media queries chosen somewhat arbitrarily, looking at 'Wednesday'
  to see if it still fits.
*/
@media all and (max-width: 1000px) and (min-width: 481px) {
  /* styles assigned when width is smaller than 1000px */
  .calendar_calDayColHeader > div[data-date] .long_date
  {
    display: inline;
  }
  .calendar_calDayColHeader > div[data-date] .short_date
  {
    display: none;
  }
  /* 7 day needs short day labels */
  .calendar_calDayColHeader:first-child:nth-last-child(7)  > div[data-date] .short_date,
  .calendar_calDayColHeader:first-child:nth-last-child(7) ~ .calendar_calDayColHeader  > div[data-date] .short_date
  {
    display: inline;
  }
  .calendar_calDayColHeader:first-child:nth-last-child(7)  > div[data-date] .long_date,
  .calendar_calDayColHeader:first-child:nth-last-child(7) ~ .calendar_calDayColHeader  > div[data-date] .long_date
  {
    display: none;
  }
}
@media all and (max-width: 580px) {
  .calendar_calDayColHeader:first-child:nth-last-child(5)  > div[data-date] .long_date,
  .calendar_calDayColHeader:first-child:nth-last-child(5) ~ .calendar_calDayColHeader  > div[data-date] .long_date
  {
    display:none;
  }
  .calendar_calDayColHeader:first-child:nth-last-child(5)  > div[data-date] .short_date,
  .calendar_calDayColHeader:first-child:nth-last-child(5) ~ .calendar_calDayColHeader  > div[data-date] .short_date
  {
    display: inline;
  }
}
@media all and (max-width: 480px) {
  /* styles assigned when width is smaller than 480px; */
  .calendar_calDayColHeader > div[data-date] .long_date,
  .calendar_calDayColHeader > div[data-date] .short_date
  {
    display: none;
  }
  /* 5 day and less fits short day labels */
  .calendar_calDayColHeader:first-child:nth-last-child(3)  > div[data-date] .short_date,
  .calendar_calDayColHeader:first-child:nth-last-child(3) ~ .calendar_calDayColHeader  > div[data-date] .short_date,
  .calendar_calDayColHeader:first-child:nth-last-child(4)  > div[data-date] .short_date,
  .calendar_calDayColHeader:first-child:nth-last-child(4) ~ .calendar_calDayColHeader  > div[data-date] .short_date,
  .calendar_calDayColHeader:first-child:nth-last-child(5)  > div[data-date] .short_date,
  .calendar_calDayColHeader:first-child:nth-last-child(5) ~ .calendar_calDayColHeader  > div[data-date] .short_date
  {
    display: inline;
  }
  /* 2 day view and less has enough room for full label */
  .calendar_calDayColHeader:first-child:nth-last-child(1)  > div[data-date] .long_date,
  .calendar_calDayColHeader:first-child:nth-last-child(1) ~ .calendar_calDayColHeader  > div[data-date] .long_date,
  .calendar_calDayColHeader:first-child:nth-last-child(2)  > div[data-date] .long_date,
  .calendar_calDayColHeader:first-child:nth-last-child(2) ~ .calendar_calDayColHeader  > div[data-date] .long_date
  {
    display:inline;
  }
}

#calendar-edit_quantity.et2_textbox_ro {opacity:0.5;}
#calendar-edit_quantity, #calendar-edit_role {float:left;}

.category_report_cats {height:80%;overflow-y: auto;display:block;}
#calendar-category_report_grid {display:block;max-height: 550px;overflow-y: auto;}

#toolbar-weekend {background-image: none !important; filter:none;}

#calendar-list_nm .nextmatch_header .header_count {margin-right:-4px;}

#calendar-list_nm .nextmatch_header .search {
  display: none;
}

#calendar-edit_calendar-edit-description::part(base) {
  display: flex;
  flex-direction: column;
}

.calendar-edit_description {
  flex: 7 1 70%;
  margin-bottom: 2em;
}

et2-button#calendar-toolbar_toolbar-today::part(label) {
  font-weight: bold;
  color: dimgrey;
}

/**
 * Kdots
 */

egw-app {
  --current-day-color: var(--sl-color-emerald-400,#009966);
}

#calendar-sidebox_date {
  flex-grow: 0;
  	.flatpickr-day {
	  color: var(--sl-color-neutral-900);
	}

  .flatpickr-day.selected {
    background-color: hsl(from var(--current-day-color) h s l /.5);
  }

  .flatpickr-day.today {
    border-color: var(--current-day-color);
	background-color: var(--current-day-color);
	color: var(--sl-color-neutral-900)
  }


}


#calendar-view, #calendar-todo, #calendar-planner, #calendar-list {
  position: relative;
  width: 100% !important;
}

#calendar-sidebox {
  flex-grow: 0;
  width: 100%;
  height: fit-content;
  display: block !important;
  iframe {
	display: none;
  }
}
#calendar-sidebox_date {
  flex-grow: 0;
}

#calendar-toolbar {
  overflow: hidden;
  .app_header_wrapper{
	display: flex;
	flex-grow: 1;
	justify-content: center;
  }
  #calendar-toolbar_app_header {
	color: inherit;
	background-color: transparent;
	border-color: inherit;
	align-items: center;
	border: none;
  }
  #calendar-toolbar_toolbar_today {
	min-width: 0;
  }
}
#calendar-todo {
  width: 100%;
  height: 100%;
  left: initial ;
  right: initial ;
  bottom: initial ;
}
#calendar-add_calendar-add {
  width: min-content;
}

[slot="filter"] {
  &::part(base) {
	display: flex;
	flex-direction: column;
	gap: var(--gap-width);
  }
}

.calendar_calEvent:not([class*=" cat_"]) {
  background-color: var(--primary-background-color)
}

/* CalendarOwner needs this to round avatars */
  .kdots-glassy {
	egw-app[id="calendar"] {
	.et2-input-widget {
	  &:not([disabled]) {
		&::part(base), &::part(input-control), &::part(combobox) {
		  --sl-border-radius-medium: var(--sl-input-height-medium);
		}
	  }
	}
  }
}