/* v5.4.0 - Globaler Techniker-Timer und lesbare Zeiteinträge */
.global-timebar {
  display:flex; align-items:center; gap:12px; padding:8px 18px; border-bottom:1px solid var(--outline-variant);
  background: color-mix(in srgb, var(--surface) 92%, var(--primary) 8%); position:relative; z-index:8; flex-wrap:wrap;
}
.global-timebar.is-empty { padding-block:6px; }
.global-timebar-head { display:flex; align-items:center; gap:8px; min-width:210px; color:var(--on-surface); }
.global-timebar-head small { color:var(--on-surface-variant); font-weight:600; }
.global-timebar .active-timers { flex:1; margin:0; padding:0; border:0; background:transparent; box-shadow:none; }
.rich-timers { display:flex; flex-direction:column; gap:8px; }
.rich-timers .active-timer { display:grid; grid-template-columns:auto minmax(160px, 1fr) minmax(210px, 1.2fr) minmax(180px, 1.2fr) minmax(120px,.7fr) minmax(160px,.8fr) auto; align-items:center; gap:8px; padding:8px; }
.timer-state { color:var(--primary); }
.timer-main strong { display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.timer-main small { color:var(--on-surface-variant); font-weight:600; }
.input.compact.timer-note { min-height:36px; padding:7px 10px; }
.timer-ticket-select { min-width:200px; }
.entry-submit-row, .entry-actions { align-items:center; gap:12px; }
.contact-list { margin:10px 0; display:flex; flex-direction:column; gap:5px; padding:10px; border:1px solid var(--outline-variant); border-radius:12px; background:var(--surface-container-low); }
.contact-list span { color:var(--on-surface-variant); font-size:13px; }
.ticket-detail-main .time-entry-details summary { font-size:16px; font-weight:800; }
@media (max-width: 1200px){
  .rich-timers .active-timer { grid-template-columns:auto 1fr; }
  .rich-timers .active-timer > select, .rich-timers .active-timer > input, .rich-timers .active-timer > .toolbar { grid-column:2; width:100%; }
}


/* v5.4.1 - Kalender kompakter: Beschreibungen raus, Spalten wachsen nach unten, 3-Monate entfernt. */
.calendar-board {
  align-items: start !important;
  grid-auto-rows: auto !important;
}
.calendar-board.day,
.calendar-board.week,
.calendar-board.month {
  overflow: visible;
}
.calendar-board.week {
  grid-template-columns: repeat(7, minmax(180px, 1fr)) !important;
}
.calendar-board.month {
  grid-template-columns: repeat(7, minmax(150px, 1fr)) !important;
}
.calendar-board.day .calendar-bucket,
.calendar-board.week .calendar-bucket,
.calendar-board.month .calendar-bucket {
  display: flex !important;
  flex-direction: column;
  align-items: stretch;
  align-self: start;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}
.calendar-board.day .calendar-bucket { min-height: 360px !important; }
.calendar-board.week .calendar-bucket { min-height: 260px !important; }
.calendar-board.month .calendar-bucket { min-height: 150px !important; }
.calendar-item {
  flex: 0 0 auto;
  overflow: visible !important;
  padding: 10px 12px !important;
}
.calendar-item > span {
  -webkit-line-clamp: 3 !important;
  line-clamp: 3;
}
.calendar-item > small {
  -webkit-line-clamp: 1 !important;
  line-clamp: 1;
  opacity: .92;
}
.calendar-item i.material-symbols-outlined {
  position: static !important;
  display: inline-flex;
  margin-top: .35rem;
}
.ticket-kanban .split-row .muted.small,
.ticket-filterbar > .muted.small {
  display: none !important;
}
@media (max-width: 1250px) {
  .calendar-board.week,
  .calendar-board.month { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important; }
}
@media (max-width: 760px) {
  .calendar-board.week,
  .calendar-board.month { grid-template-columns: 1fr !important; }
}

/* v5.5.0 - Kalender neu aufgebaut: lesbare Karten, adaptive Höhe, kein Überlappen. */
.calendar-board {
  display: grid !important;
  width: 100% !important;
  max-width: 100% !important;
  gap: 16px !important;
  align-items: start !important;
  grid-auto-rows: auto !important;
  overflow: visible !important;
}
.calendar-board.day {
  grid-template-columns: minmax(0, 1fr) !important;
}
.calendar-board.week {
  grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
}
.calendar-board.month {
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)) !important;
}
.calendar-bucket,
.calendar-board.day .calendar-bucket,
.calendar-board.week .calendar-bucket,
.calendar-board.month .calendar-bucket {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  align-self: start !important;
  gap: 10px !important;
  min-width: 0 !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
  padding: 14px !important;
  border-radius: 18px !important;
}
.calendar-board.day .calendar-bucket.has-items,
.calendar-board.week .calendar-bucket.has-items,
.calendar-board.month .calendar-bucket.has-items {
  min-height: 190px !important;
}
.calendar-board.day .calendar-bucket.is-empty,
.calendar-board.week .calendar-bucket.is-empty,
.calendar-board.month .calendar-bucket.is-empty {
  min-height: 110px !important;
}
.calendar-bucket h3 {
  margin: 0 0 4px !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  line-height: 1.2 !important;
  color: var(--on-surface) !important;
}
.calendar-item,
.calendar-board.month .calendar-item {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 4px 8px !important;
  align-items: start !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
  padding: 10px 12px !important;
  border-radius: 13px !important;
  line-height: 1.25 !important;
  text-align: left !important;
  white-space: normal !important;
}
.calendar-item .calendar-kind {
  grid-column: 1 / -1 !important;
  display: block !important;
  width: max-content !important;
  max-width: 100% !important;
  padding: 2px 7px !important;
  border-radius: 999px !important;
  background: color-mix(in srgb, var(--primary) 14%, transparent) !important;
  color: var(--on-surface-variant) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  text-transform: uppercase !important;
  letter-spacing: .03em !important;
}
.calendar-item.calendar-ticket .calendar-kind {
  background: color-mix(in srgb, var(--secondary) 18%, transparent) !important;
}
.calendar-title,
.calendar-item > span,
.calendar-item > strong,
.calendar-board.month .calendar-item > span,
.calendar-board.month .calendar-item > strong {
  grid-column: 1 / -1 !important;
  display: block !important;
  min-width: 0 !important;
  max-width: 100% !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  -webkit-line-clamp: unset !important;
  line-clamp: unset !important;
  -webkit-box-orient: initial !important;
  font-size: 14px !important;
  font-weight: 850 !important;
  color: var(--on-surface) !important;
}
.calendar-meta,
.calendar-item > small,
.calendar-board.month .calendar-item > small {
  grid-column: 1 / -1 !important;
  display: block !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  overflow-wrap: anywhere !important;
  -webkit-line-clamp: unset !important;
  line-clamp: unset !important;
  -webkit-box-orient: initial !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  color: var(--on-surface-variant) !important;
  opacity: .98 !important;
}
.calendar-item .dependency-mark,
.calendar-item i.material-symbols-outlined {
  position: static !important;
  grid-column: 2 !important;
  grid-row: 1 !important;
  display: inline-flex !important;
  justify-self: end !important;
  margin: 0 !important;
  font-size: 17px !important;
  color: var(--error) !important;
}
.calendar-empty-dot {
  display: block !important;
  font-size: 15px !important;
  color: var(--on-surface-variant) !important;
  opacity: .65 !important;
}
.calendar-item.done {
  opacity: .7 !important;
}
[data-theme="dark"] .calendar-item {
  background: color-mix(in srgb, var(--surface-container-low) 88%, var(--primary) 5%) !important;
}
[data-theme="dark"] .calendar-item.blocked {
  background: color-mix(in srgb, var(--error) 13%, var(--surface-container-lowest)) !important;
}
@media (max-width: 1400px) {
  .calendar-board.week {
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important;
  }
}
@media (max-width: 760px) {
  .calendar-board.week,
  .calendar-board.month {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}


/* v5.5.1 - Monatsansicht als echter Kalender: feste Wochenspalten, saubere Reihenhöhe, keine Kartenüberlagerung. */
.calendar-month-title {
  margin: -4px 0 10px !important;
  font-size: clamp(20px, 2vw, 28px) !important;
  line-height: 1.15 !important;
  font-weight: 850 !important;
  color: var(--on-surface) !important;
  text-transform: capitalize !important;
}
.calendar-month-weekdays {
  display: grid !important;
  grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
  gap: 12px !important;
  margin: 0 0 8px !important;
  width: 100% !important;
}
.calendar-month-weekdays span {
  display: block !important;
  padding: 0 4px !important;
  color: var(--on-surface-variant) !important;
  font-size: 12px !important;
  font-weight: 850 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}
.calendar-board.month.month-grid {
  grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
  grid-auto-flow: row !important;
  grid-auto-rows: auto !important;
  align-items: stretch !important;
  gap: 12px !important;
}
.calendar-board.month.month-grid .calendar-bucket {
  align-self: stretch !important;
  height: 100% !important;
  min-height: 156px !important;
  padding: 12px !important;
}
.calendar-board.month.month-grid .calendar-bucket.has-items {
  min-height: 176px !important;
}
.calendar-board.month.month-grid .calendar-bucket.is-empty {
  min-height: 118px !important;
}
.calendar-board.month.month-grid .calendar-bucket.other-month {
  opacity: .42 !important;
  background: color-mix(in srgb, var(--surface-container-lowest) 88%, transparent) !important;
}
.calendar-board.month.month-grid .calendar-bucket.other-month .calendar-empty-dot {
  opacity: .35 !important;
}
.calendar-board.month.month-grid .calendar-bucket h3 {
  font-size: 15px !important;
  line-height: 1.15 !important;
  margin-bottom: 8px !important;
}
.calendar-board.month.month-grid .calendar-item {
  min-height: 72px !important;
  padding: 9px 10px !important;
  gap: 3px 6px !important;
  border-radius: 12px !important;
}
.calendar-board.month.month-grid .calendar-item .calendar-kind {
  font-size: 10px !important;
  padding: 2px 6px !important;
}
.calendar-board.month.month-grid .calendar-title,
.calendar-board.month.month-grid .calendar-item > strong,
.calendar-board.month.month-grid .calendar-item > span {
  font-size: 13px !important;
  line-height: 1.22 !important;
  overflow-wrap: anywhere !important;
}
.calendar-board.month.month-grid .calendar-meta,
.calendar-board.month.month-grid .calendar-item > small {
  font-size: 11.5px !important;
  line-height: 1.3 !important;
}
.calendar-board.month.month-grid .calendar-item .dependency-mark,
.calendar-board.month.month-grid .calendar-item i.material-symbols-outlined {
  font-size: 15px !important;
}
@media (max-width: 1200px) {
  .calendar-month-weekdays { display: none !important; }
  .calendar-board.month.month-grid { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)) !important; }
  .calendar-board.month.month-grid .calendar-bucket.other-month { display: none !important; }
}
@media (max-width: 760px) {
  .calendar-board.month.month-grid { grid-template-columns: minmax(0, 1fr) !important; }
}

/* v5.6.0 - Ticket-Zeitbuchungen als View/Edit-Liste und mehrere Techniker pro Ticket. */
.avatar { position: relative; overflow: hidden; line-height: 1; }
.avatar > span { display: inline-grid; place-items: center; width: 100%; height: 100%; }
.avatar.has-image img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border-radius: inherit; }
.avatar.has-image > span { opacity: 0; }
.avatar.more { background: var(--surface-container-high); color: var(--on-surface); border-color: var(--outline-variant); }
.ticket-assignee-meta { display: flex; align-items: center; gap: 8px; min-width: 0; }
.ticket-assignee-meta > span:last-child { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.ticket-assignee-stack { display: inline-flex; align-items: center; padding-left: 0; }
.ticket-assignee-stack .avatar { box-shadow: 0 0 0 2px var(--surface); }
.ticket-assignee-picker { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 8px; width: 100%; }
.ticket-assignee-picker label { display: flex; align-items: center; gap: 9px; border: 1px solid var(--outline-variant); background: var(--surface-container-low); border-radius: 12px; padding: 10px; cursor: pointer; }
.ticket-assignee-picker label:hover { border-color: var(--primary); }
.ticket-assignee-picker small { display: block; color: var(--on-surface-variant); font-size: 12px; margin-top: 2px; }
.ticket-row > span:nth-child(4) { display: flex; align-items: center; gap: 8px; min-width: 160px; }
.visually-soft { color: var(--on-surface-variant); font-size: 13px; }
.ticket-time-log { display: grid; gap: 10px; margin-bottom: 12px; }
.time-entry-card { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 12px; align-items: start; border: 1px solid var(--outline-variant); background: var(--surface-container-low); border-radius: var(--radius); padding: 12px; }
.time-entry-card-main { display: grid; grid-template-columns: 30px minmax(0,1fr); gap: 10px; align-items: start; min-width: 0; }
.time-entry-card-main > .material-symbols-outlined { color: var(--primary); margin-top: 2px; }
.time-entry-card h3 { margin: 4px 0 2px; font-size: 16px; line-height: 1.25; }
.time-entry-card small { color: var(--on-surface-variant); display: block; }
.time-entry-card p { margin: 8px 0 0; color: var(--on-surface); }
.time-entry-card .toolbar { align-self: center; }
.dark .time-entry-card { background: color-mix(in srgb, var(--surface-container-low) 88%, white 2%); }
@media (max-width: 760px) {
  .time-entry-card { grid-template-columns: 1fr; }
  .time-entry-card .toolbar { justify-content: flex-start; }
  .ticket-row > span:nth-child(4) { min-width: 0; }
}

/* v5.7.0 - Persistenter Seiten-Scroll und skalierbare Ticket-Suche */
html, body { height: 100%; overflow: hidden; }
.app-shell, .layout { height: 100vh; min-height: 0; overflow: hidden; }
.main { height: 100vh; min-height: 0; overflow: hidden; }
.content { min-height: 0; overflow: auto; scroll-behavior: auto; }
.content-inner { width: min(100%, 1680px); max-width: 1680px; }

.advanced-ticket-search {
  display: grid !important;
  gap: 14px !important;
  align-items: stretch !important;
  margin-bottom: 18px !important;
}
.ticket-search-main {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) auto;
  gap: 16px;
  align-items: end;
}
.ticket-query-field,
.filter-combo {
  display: grid !important;
  gap: 6px !important;
  align-items: stretch !important;
  font-weight: 800 !important;
}
.ticket-query-field > span,
.filter-combo > span {
  font-size: 12px;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--on-surface-variant);
}
.query-input-wrap {
  position: relative;
  display: flex;
  align-items: center;
}
.query-input-wrap > .material-symbols-outlined {
  position: absolute;
  left: 12px;
  color: var(--on-surface-variant);
  pointer-events: none;
}
.query-input-wrap .input {
  width: 100%;
  padding-left: 42px;
  padding-right: 46px;
  min-height: 48px;
  font-size: 16px;
}
.query-input-wrap .search-mic {
  position: absolute;
  right: 8px;
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: var(--on-surface-variant);
  display: inline-grid;
  place-items: center;
}
.query-input-wrap .search-mic:hover { background: var(--surface-container-high); color: var(--on-surface); }
.ticket-search-summary {
  min-width: 190px;
  border: 1px solid var(--outline-variant);
  border-radius: 14px;
  background: var(--surface-container-low);
  padding: 10px 14px;
  display: grid;
  gap: 0;
}
.ticket-search-summary strong { font-size: 30px; line-height: 1; color: var(--primary); }
.ticket-search-summary small,
.ticket-search-summary em { color: var(--on-surface-variant); font-style: normal; font-size: 12px; }
.ticket-filter-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 10px;
}
.combo-field {
  position: relative;
  display: flex;
  align-items: center;
}
.combo-field .input {
  width: 100%;
  min-height: 42px;
  padding-right: 38px;
  background: var(--surface-container-lowest);
}
.combo-field .btn.icon-btn {
  position: absolute;
  right: 5px;
  width: 30px;
  height: 30px;
  min-height: 30px;
  padding: 0;
  opacity: .72;
}
.combo-field .btn.icon-btn:hover { opacity: 1; }
.ticket-filter-actions {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  border-top: 1px solid var(--outline-variant);
  padding-top: 12px;
}
.ticket-workbench { grid-template-columns: minmax(0, 1fr) minmax(300px, 360px); }
.ticket-queue-grid { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.ticket-queue { min-height: 0; }
.queue-more { margin: 4px 0 0; }
.ticket-list .notice.compact { margin: 8px 0 12px; padding: 10px 12px; }
.ticket-list-results .ticket-row { grid-template-columns: auto minmax(260px, 1fr) auto minmax(170px, auto) auto auto auto; }
.ticket-mini strong,
.ticket-row strong { overflow-wrap: anywhere; }
.ticket-mini small,
.ticket-row small { overflow-wrap: anywhere; }
[data-theme="dark"] .ticket-search-summary,
[data-theme="dark"] .combo-field .input,
[data-theme="dark"] .query-input-wrap .input {
  background: color-mix(in srgb, var(--surface-container-lowest) 84%, white 2%);
}
@media (max-width: 1200px) {
  .ticket-workbench { grid-template-columns: 1fr; }
  .ticket-right { position: static; max-height: none; }
  .ticket-list-results .ticket-row { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .ticket-search-main { grid-template-columns: 1fr; }
  .ticket-filter-actions { align-items: stretch; flex-direction: column; }
  .ticket-search-summary { min-width: 0; }
}
.portfolio-search-note {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
  flex-wrap: wrap;
}
.portfolio-search-note strong { font-size: 28px; color: var(--primary); line-height: 1; }
.portfolio-search-note span { font-weight: 800; }
.portfolio-search-note small { color: var(--on-surface-variant); }


/* v5.7.1 - Monatskalender neu gerendert: Wochenreihen wachsen sauber, keine überlappenden Karten. */
.calendar-month-clean {
  display: grid;
  gap: 10px;
  width: 100%;
  min-width: 0;
}
.calendar-month-clean-title {
  font-size: clamp(22px, 2vw, 30px);
  font-weight: 850;
  line-height: 1.15;
  color: var(--on-surface);
  text-transform: capitalize;
}
.calendar-month-clean-weekdays,
.calendar-month-clean-row {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 12px;
  align-items: stretch;
}
.calendar-month-clean-weekdays span {
  color: var(--on-surface-variant);
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding-inline: 4px;
}
.calendar-month-clean-rows {
  display: grid;
  gap: 12px;
}
.calendar-month-clean-cell {
  min-width: 0;
  min-height: 138px;
  height: auto;
  border: 1px solid var(--outline-variant);
  border-radius: 18px;
  background: var(--surface-container-lowest);
  padding: 12px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  overflow: visible;
}
.calendar-month-clean-cell.has-items {
  min-height: 172px;
}
.calendar-month-clean-cell.today {
  outline: 2px solid var(--primary);
  outline-offset: 0;
}
.calendar-month-clean-cell.other-month {
  opacity: .42;
  background: color-mix(in srgb, var(--surface-container-lowest) 86%, transparent);
}
.calendar-month-clean-cell h3 {
  margin: 0;
  color: var(--on-surface);
  font-size: 15px;
  line-height: 1.15;
  font-weight: 850;
  white-space: normal;
}
.month-event-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
}
.month-event {
  position: relative;
  width: 100%;
  min-width: 0;
  border: 1px solid var(--outline-variant);
  border-left: 5px solid var(--primary);
  border-radius: 13px;
  background: color-mix(in srgb, var(--surface-container-low) 92%, var(--primary) 4%);
  color: var(--on-surface);
  text-align: left;
  padding: 9px 10px;
  display: grid;
  gap: 3px;
  cursor: pointer;
  overflow: visible;
}
.month-event:hover {
  border-color: color-mix(in srgb, var(--primary) 55%, var(--outline-variant));
  box-shadow: 0 10px 20px rgba(0,0,0,.08);
  transform: translateY(-1px);
}
.month-event span {
  width: max-content;
  max-width: 100%;
  padding: 2px 7px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--primary) 18%, transparent);
  color: var(--on-surface-variant);
  font-size: 10px;
  line-height: 1.1;
  font-weight: 850;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.month-event-ticket {
  border-left-color: var(--secondary);
  background: color-mix(in srgb, var(--secondary) 10%, var(--surface-container-low));
}
.month-event-ticket span {
  background: color-mix(in srgb, var(--secondary) 22%, transparent);
}
.month-event.blocked,
.month-event.open.critical,
.month-event-task.blocked {
  border-left-color: var(--error);
  background: color-mix(in srgb, var(--error) 10%, var(--surface-container-low));
}
.month-event.done,
.month-event.closed,
.month-event.resolved {
  opacity: .72;
}
.month-event strong {
  display: block;
  min-width: 0;
  color: var(--on-surface);
  font-size: 13px;
  font-weight: 850;
  line-height: 1.22;
  white-space: normal;
  overflow-wrap: anywhere;
}
.month-event small {
  display: block;
  min-width: 0;
  color: var(--on-surface-variant);
  font-size: 11.5px;
  font-weight: 700;
  line-height: 1.3;
  white-space: normal;
  overflow-wrap: anywhere;
}
.month-event i.material-symbols-outlined {
  position: absolute;
  top: 8px;
  right: 8px;
  color: var(--error);
  font-size: 16px;
}
[data-theme="dark"] .calendar-month-clean-cell {
  background: color-mix(in srgb, var(--surface-container-lowest) 92%, white 2%);
}
[data-theme="dark"] .month-event {
  background: color-mix(in srgb, var(--surface-container-low) 84%, var(--primary) 7%);
  box-shadow: none;
}
[data-theme="dark"] .month-event-ticket {
  background: color-mix(in srgb, var(--surface-container-low) 84%, var(--secondary) 8%);
}
[data-theme="dark"] .month-event.blocked,
[data-theme="dark"] .month-event-task.blocked {
  background: color-mix(in srgb, var(--error) 14%, var(--surface-container-lowest));
}
@media (max-width: 1320px) {
  .calendar-month-clean-weekdays { display: none; }
  .calendar-month-clean-row {
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  }
  .calendar-month-clean-cell.other-month.is-empty { display: none; }
}
@media (max-width: 760px) {
  .calendar-month-clean-row { grid-template-columns: 1fr; }
  .calendar-month-clean-cell { min-height: 110px; }
}


