/* === Тайм-трекер === */
.time-tracker-indicator{
  /* Кнопка-индикатор в шапке (вкл/выкл виджет учёта времени) */
  margin-left: 12px;
  padding: 4px 6px;
  border-radius: 8px;
  border: none;
  background: transparent;
  color: #111;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  font-weight: normal;
  font-size: inherit;
  font-family: inherit;
  cursor: pointer;
}

.time-tracker-indicator__icon{
  display: none;
  align-items: center;
  justify-content: center;
}

.time-tracker-indicator__icon .ui-icon{
  width: 18px;
  height: 18px;
  color: currentColor;
}

.time-tracker-indicator__icon--idle{
  display: inline-flex;
}

.time-tracker-indicator:hover{
  color: inherit;
}

.time-tracker-indicator.has-selected-task{
  color: #0b66ff;
}

.time-tracker-indicator.has-selected-task .time-tracker-indicator__icon--idle{
  display: none;
}

.time-tracker-indicator.has-selected-task .time-tracker-indicator__icon--selected{
  display: inline-flex;
}

.time-tracker-indicator.is-running .time-tracker-indicator__icon--idle,
.time-tracker-indicator.is-running .time-tracker-indicator__icon--selected{
  display: none;
}

.time-tracker-indicator.is-running .time-tracker-indicator__icon--running{
  display: inline-flex;
}

.time-tracker-indicator.is-running .time-tracker-indicator__icon--running .ui-icon{
  animation: time-tracker-rainbow 3s linear infinite;
}

.time-tracker-indicator__label{
  line-height: 1;
  color: #111;
  font-weight: normal;
  font-size: inherit;
}

@keyframes time-tracker-rainbow{
  0% { color: #ff3b30; }
  16% { color: #ff9500; }
  33% { color: #ffcc00; }
  50% { color: #34c759; }
  66% { color: #0b66ff; }
  83% { color: #5856d6; }
  100% { color: #af52de; }
}

.task-tracker{
  gap: 12px;
}

.task-tracker__controls{
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 10px;
}

.task-tracker__timer{
  font-size: 22px;
  font-weight: 700;
  color: #0f172a;
}

.task-tracker__summary{
  display: none;
  margin-top: 8px;
  margin-bottom: 8px;
}

.task-tracker__summary-label{
  color: #6a7280;
  margin-right: 6px;
}

.task-tracker__add{
  margin-top: 12px;
}

.task-tracker-row-icon{
  display: none;
  align-items: center;
  justify-content: center;
  margin-left: 8px;
  width: 18px;
  height: 18px;
  color: #c0c6d4;
  vertical-align: middle;
}

.task-tracker-row-icon svg{
  width: 18px;
  height: 18px;
}

.task-tracker-row-icon.is-active{
  display: inline-flex;
  color: #0b66ff;
}

.task-tracker-row-icon.is-active svg{
  animation: time-tracker-rainbow 3s linear infinite;
}

.time-tracker-widget{
  /* Плавающий виджет тайм‑трекера в правом нижнем углу */
  position: fixed;
  right: 24px;
  bottom: 24px;
  width: 280px;
  background: #fff;
  border: 1px solid #dfe4ec;
  border-radius: 16px;
  box-shadow: 0 16px 40px rgba(15, 23, 42, 0.15);
  z-index: 900;
  display: flex;
  flex-direction: column;
  --time-tracker-fly-x: 0px;
  --time-tracker-fly-y: 0px;
  transition: opacity 0.2s ease, transform 0.2s ease;
}

body.body--lock .time-tracker-widget{
  z-index: 1;
  pointer-events: auto;
  cursor: default;
}

.time-tracker-widget.is-hidden{
  opacity: 0;
  pointer-events: none;
  cursor: default;
  transform: translate(var(--time-tracker-fly-x), var(--time-tracker-fly-y)) scale(0.2);
}

.time-tracker-widget.is-animating-hide{
  pointer-events: none;
  cursor: default;
  animation: time-tracker-hide 0.35s ease forwards;
}

.time-tracker-widget.is-animating-show{
  animation: time-tracker-show 0.35s ease forwards;
}

.time-tracker-widget__header{
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 14px;
  border-bottom: 1px solid #edf0f6;
  cursor: grab;
}

.time-tracker-widget.is-dragging .time-tracker-widget__header{
  cursor: grabbing;
}

.time-tracker-widget__title{
  font-weight: 600;
  color: #0f172a;
}

.time-tracker-widget__collapse{
  border: none;
  background: transparent;
  font-size: 13px;
  color: #6a7280;
  cursor: pointer;
  padding: 0;
  font-family: inherit;
}

.time-tracker-widget__collapse-text{
  font-size: 13px;
  color: #6a7280;
  font-weight: 400;
}

.time-tracker-widget__body{
  padding: 14px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.time-tracker-widget__mobile-toggle{
  display: none;
}

.time-tracker-widget__task{
  font-size: 13px;
  color: #6a7280;
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.time-tracker-widget__task-label{
  color: inherit;
}

.time-tracker-widget__task-link{
  color: #c7ccd4;
  font-size: 14px;
}

.time-tracker-widget__task-link:hover{
  color: #c7ccd4;
}

.time-tracker-widget__task-empty{
  color: var(--link-color);
  font-size: 14px;
  text-decoration: underline;
}

.time-tracker-widget__task-empty:hover{
  color: var(--link-hover);
}

.time-tracker-widget__task-empty:visited{
  color: var(--link-visited);
}

.time-tracker-widget__task-remove{
  width: 18px;
  height: 18px;
  border: none;
  border-radius: 50%;
  background: #e2e8f0;
  color: #475569;
  cursor: pointer;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 0;
}

.time-tracker-widget__task-remove .ui-icon{
  width: 10px;
  height: 10px;
}

.time-tracker-widget.has-selected-task:not(.is-active) .time-tracker-widget__task-remove{
  display: inline-flex;
}

.time-tracker-widget__task-remove:focus{
  outline: none;
}

.time-tracker-widget__task-remove:focus-visible{
  outline: 2px solid rgba(15, 23, 42, 0.3);
  outline-offset: 2px;
}

.time-tracker-modal-layer{
  --modal-z-backdrop: 1400;
  --modal-z-modal: 1401;
}

.time-tracker-select-table{
  width: 100%;
  border-collapse: collapse;
}

.time-tracker-select-table td{
  text-align: left;
  padding: 8px 4px;
  border-bottom: 1px solid #edf0f6;
  font-size: 14px;
}

.time-tracker-select-link{
  border: none;
  background: transparent;
  padding: 0;
  color: var(--link-color);
  font: inherit;
  font-size: 14px;
  cursor: pointer;
  text-align: left;
}

.time-tracker-select-link:hover{
  color: var(--link-hover);
}

.time-tracker-select-link:focus{
  outline: none;
}

.time-tracker-select-link:focus-visible{
  outline: 2px solid rgba(15, 23, 42, 0.3);
  outline-offset: 2px;
}

.time-tracker-select-empty{
  margin: 12px 0 0;
  font-size: 14px;
  color: #6a7280;
}


.time-tracker-widget__time{
  font-size: 22px;
  font-weight: 700;
  color: #0f172a;
  font-variant-numeric: tabular-nums;
}

.time-tracker-widget__actions{
  display: flex;
  gap: 8px;
}

.time-tracker-widget__actions .btn{
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.time-tracker-widget__action-icon{
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.time-tracker-widget__action-icon .ui-icon{
  width: 16px;
  height: 16px;
}

.time-tracker-widget__action-icon--stop{
  display: none;
}

.time-tracker-widget__actions .btn.is-running .time-tracker-widget__action-icon--start{
  display: none;
}

.time-tracker-widget__actions .btn.is-running .time-tracker-widget__action-icon--stop{
  display: inline-flex;
}

.time-tracker-widget__actions .btn:disabled{
  background: transparent;
  border-color: #cbd5e1;
  color: #94a3b8;
  cursor: not-allowed;
}

.time-tracker-entry-detail{
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-top: var(--modal-field-first, 8px);
}

.time-tracker-entry-detail .field{
  margin-bottom: 0;
}

.tracker-summary{
  font-size: 12px;
  color: #0b66ff;
  margin-bottom: 6px;
}

@media (max-width: 768px){
  .time-tracker-indicator{
    width: 28px;
    height: 28px;
    padding: 0;
    margin: 0;
    border-radius: 8px;
  }

  .time-tracker-indicator__icon .ui-icon{
    width: 22px;
    height: 22px;
  }

  .time-tracker-indicator.time-tracker-indicator--mobile-hidden{
    display: none;
  }

  .time-tracker-widget{
    position: static;
    top: auto;
    left: auto;
    right: auto;
    bottom: auto;
    width: 100%;
    margin: 0;
    border-radius: 0;
    border: none;
    background: #3f454e;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08);
    z-index: 1100;
    transition: none;
  }

  .time-tracker-widget.is-hidden{
    display: none;
    opacity: 1;
    pointer-events: auto;
    transform: none;
  }

  .time-tracker-widget.is-animating-hide,
  .time-tracker-widget.is-animating-show{
    animation: none;
  }

  .time-tracker-widget__header{
    display: none;
  }

  .time-tracker-widget__body{
    flex-direction: row;
    align-items: center;
    gap: 10px;
    padding: 8px 20px;
  }

  .time-tracker-widget__mobile-toggle{
    width: 22px;
    height: 22px;
    border: none;
    border-radius: 999px;
    background: transparent;
    color: #fff;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    cursor: pointer;
  }

  .time-tracker-widget__mobile-icon{
    display: none;
    align-items: center;
    justify-content: center;
  }

  .time-tracker-widget__mobile-icon .ui-icon{
    width: 18px;
    height: 18px;
    color: currentColor;
    transform: translateX(-3px);
  }

  .time-tracker-widget__mobile-icon--idle{
    display: inline-flex;
  }

  .time-tracker-widget.has-selected-task .time-tracker-widget__mobile-icon--idle{
    display: none;
  }

  .time-tracker-widget.has-selected-task .time-tracker-widget__mobile-icon--selected{
    display: inline-flex;
  }

  .time-tracker-widget.is-active .time-tracker-widget__mobile-icon--idle,
  .time-tracker-widget.is-active .time-tracker-widget__mobile-icon--selected{
    display: none;
  }

  .time-tracker-widget.is-active .time-tracker-widget__mobile-icon--running{
    display: inline-flex;
  }

  .time-tracker-widget.is-active .time-tracker-widget__mobile-icon--running .ui-icon{
    animation: time-tracker-rainbow 3s linear infinite;
  }

  .time-tracker-widget__task{
    flex: 1 1 auto;
    min-width: 0;
    flex-wrap: nowrap;
    gap: 2px;
    padding-right: 12px;
    overflow: hidden;
    color: #fff;
  }

  .time-tracker-widget__task-label{
    display: none;
  }

  .time-tracker-widget__task-link,
  .time-tracker-widget__task-link:visited,
  .time-tracker-widget__task-empty,
  .time-tracker-widget__task-empty:visited{
    font-size: 14px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: block;
    color: #a9b1bc;
    text-decoration: none;
  }

  .time-tracker-widget__task-link:hover,
  .time-tracker-widget__task-link:focus,
  .time-tracker-widget__task-link:focus-visible,
  .time-tracker-widget__task-empty:hover,
  .time-tracker-widget__task-empty:focus,
  .time-tracker-widget__task-empty:focus-visible{
    color: #c3c9d1;
    text-decoration: none;
  }

  .time-tracker-widget__task-link[hidden],
  .time-tracker-widget__task-empty[hidden],
  .time-tracker-widget__task-remove[hidden]{
    display: none !important;
  }

  .time-tracker-widget__task-empty{
    text-decoration: none;
    color: #a9b1bc;
  }

  .time-tracker-widget__task-remove{
    background: transparent;
    border-radius: 0;
    color: #c7ccd4;
    width: 14px;
    height: 14px;
    transform: translateY(1px);
  }

  .time-tracker-widget__task-remove .ui-icon{
    width: 14px;
    height: 14px;
  }

  .time-tracker-widget__time{
    flex: 0 0 auto;
    font-size: 18px;
    line-height: 1;
    color: #fff;
  }

  .time-tracker-widget__actions{
    flex: 0 0 auto;
  }

  .time-tracker-widget__actions .btn{
    min-width: 62px;
    padding: 6px 10px;
    font-size: 14px;
  }
}

@keyframes time-tracker-hide{
  from{
    opacity: 1;
    transform: translate(0, 0) scale(1);
  }
  to{
    opacity: 0;
    transform: translate(var(--time-tracker-fly-x), var(--time-tracker-fly-y)) scale(0.2);
  }
}

@keyframes time-tracker-show{
  from{
    opacity: 0;
    transform: translate(var(--time-tracker-fly-x), var(--time-tracker-fly-y)) scale(0.2);
  }
  to{
    opacity: 1;
    transform: translate(0, 0) scale(1);
  }
}
