/* v5.23.64 - Schätzmodus blendet Termine aus und macht den Planungsmodus klarer */
.task-appointments.is-hidden-by-estimate { display:none; }
.task-estimate-toggle-row {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:10px;
}
.task-estimate-toggle-row strong,
.task-estimate-toggle-row small { display:block; }
.task-estimate-toggle-row .switch { flex:0 0 auto; }
@media (max-width:640px) {
  .task-estimate-toggle-row { align-items:flex-start; }
}

/* v5.23.68 - Sichtbare Planungsart-Auswahl im Aufgaben-Dialog */
.task-planning-choice {
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
}
.task-planning-option {
  display:flex;
  align-items:flex-start;
  gap:10px;
  border:1px solid var(--outline-variant);
  border-radius:14px;
  padding:12px;
  background:var(--surface);
  cursor:pointer;
}
.task-planning-option input { margin-top:3px; }
.task-planning-option strong,
.task-planning-option small { display:block; }
.task-planning-option small { color:var(--muted); margin-top:3px; line-height:1.35; }
.task-planning-option.active {
  border-color:var(--primary);
  background:var(--primary-container);
}
@media (max-width:720px) {
  .task-planning-choice { grid-template-columns:1fr; }
}

/* v5.23.70 - Projektlisten-Sortierung, Ressourcen-Hover und längeres Timer-Menü */
.project-overview-table .table-sort-btn {
  width: 100%;
  justify-content: flex-start;
}
.time-panel {
  top: 44px;
  max-height: calc(100vh - 48px);
}
.time-panel-content {
  overflow: auto;
}
.time-panel .active-timers,
.time-panel .active-timers.single-active-timer,
.time-panel .active-timers.has-many-timers {
  max-height: calc(100vh - 128px);
  overflow-y: auto;
}
.time-panel .timer-segment-preview-list {
  max-height: none;
  overflow: visible;
}
.time-panel .timer-sections-panel {
  align-content: start;
}
.timer-actions .btn:disabled,
.time-panel .timer-actions .btn:disabled {
  pointer-events: none;
  opacity: .62;
}
@media (max-width: 560px) {
  .time-panel {
    top: 42px;
    max-height: calc(100vh - 46px);
  }
  .time-panel .active-timers,
  .time-panel .active-timers.single-active-timer,
  .time-panel .active-timers.has-many-timers {
    max-height: calc(100vh - 118px);
  }
}

/* v5.23.70 - Approval, skill category picker and calendar assignee icons */
.task-card.approval-required {
  border-color: color-mix(in srgb, #7c3aed 62%, var(--outline-variant));
  box-shadow: inset 5px 0 0 #7c3aed, var(--shadow-1);
}
.task-card.approval-required.blocked {
  border-color: color-mix(in srgb, #7c3aed 70%, var(--error));
  box-shadow: inset 5px 0 0 #7c3aed, 0 0 0 1px color-mix(in srgb, #7c3aed 22%, transparent), var(--shadow-1);
}
.approval-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: color-mix(in srgb, #7c3aed 13%, var(--surface-container-high));
  color: #5b21b6;
  border-color: color-mix(in srgb, #7c3aed 35%, var(--outline-variant));
}
.approval-badge .material-symbols-outlined {
  font-size: 14px;
}
[data-theme="dark"] .approval-badge {
  color: #ddd6fe;
}
.calendar-item,
.month-event {
  position: relative;
}
.calendar-item.calendar-task,
.month-event.month-event-task {
  padding-right: 42px;
}
.calendar-assignee-avatar {
  position: absolute;
  right: 8px;
  top: 8px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  pointer-events: auto;
}
.calendar-assignee-avatar .avatar.xs {
  width: 22px;
  height: 22px;
  font-size: 9px;
  box-shadow: 0 0 0 2px var(--surface);
}
.calendar-item .calendar-assignee-avatar + .calendar-kind,
.month-event .calendar-assignee-avatar + span {
  padding-right: 30px;
}
.month-event .calendar-assignee-avatar {
  top: 7px;
  right: 7px;
}

