/* Бейдж часового слота в перегляді заявки та списку заявок.
   Колір тексту задано явно: виділений рядок списку (.context-menu-selection)
   ставить майже білий color !important, який успадкувався б бейджем і зникав на світлому фоні. */
/* Таблиці на сторінці налаштувань плагіна. Тема розтягує поля вводу на всю ширину комірки,
   тому ширини задаємо явно, а вміст комірок центруємо. */
table.tim-slot-grid td {
  text-align: center;
  vertical-align: middle;
}

table.tim-slot-grid select {
  width: 12em;
}

/* Теми стилізують лише input[type=text|date|password|search], тому поля часу й кількості
   лишаються з типовим виглядом браузера. Повторюємо оформлення сусіднього select. */
table.tim-slot-grid input[type="time"],
table.tim-slot-grid input[type="number"] {
  height: 24px;
  padding: 1px 6px;
  border: 1px solid #e0e2e3;
  border-radius: 3px;
  background-color: #fff;
  color: #3d454c;
  box-sizing: border-box;
}

table.tim-slot-grid input[type="time"]:focus,
table.tim-slot-grid input[type="number"]:focus {
  border-color: #2996cc;
  outline: none;
}

table.tim-slot-grid input[type="time"] {
  width: 8em;
}

table.tim-slot-grid input[type="number"] {
  width: 5em;
}

table.tim-slot-towns td:first-child {
  width: 12em;
  vertical-align: middle;
}

table.tim-slot-towns textarea {
  width: 100%;
  box-sizing: border-box;
}

/* Категорія і слот у вже створеній заявці. Браузер сам робить вимкнений селект блідим,
   лишається показати, що це не збій, а заборона. */
select.tim-locked,
input.tim-locked {
  cursor: not-allowed;
}

/* Інлайн-редагування дати виконання (redmine_issue_dynamic_edit) гаситься разом із полем форми:
   міняти дату можна лише через модалку переносу. Кнопка "Перенести" лежить сусідом .value
   у тому ж .attribute, тому під заборону не потрапляє. */
.tim-locked-date .value {
  pointer-events: none;
}

/* Підказка зі списком населених пунктів категорії та попередження про НП поза списком.
   Обидва елементи блокові — інакше довгий список ліз би у сусіднє поле форми. */
.tim-town-hint,
.tim-town-warning {
  display: block;
  font-size: 0.9em;
  font-style: normal;
}

.tim-town-hint {
  color: #888;
}

.tim-town-warning {
  color: #bb0000;
}

input.tim-town-unknown {
  border-color: #bb0000;
}

/* Кнопки пошуку вільної заготовки над списком задач. Кольори беруться з теми, тут лише розкладка. */
.tim-placeholder-buttons {
  display: block;
  margin-top: 8px;
}

.tim-placeholder-label {
  margin-right: 6px;
  color: #888;
}

a.tim-placeholder-button {
  display: inline-block;
  margin-right: 6px;
  padding: 3px 8px;
  border: 1px solid #d0d7de;
  border-radius: 4px;
  cursor: pointer;
  text-decoration: none;
}

a.tim-placeholder-button.tim-placeholder-active {
  border-color: #2996cc;
  background: #eaf4fb;
}

.tim-placeholder-count {
  color: #888;
}

/* Підсвітка знайдених заготовок. Власний клас, а не context-menu-selection: та належить
   механізму виділення рядків Redmine і плуталася б із чекбоксами контекстного меню. */
tr.issue.tim-placeholder-match td {
  background-color: #1f4e79;
  color: #fff;
}

/* Тема й id заявки — посилання, тож тему успадковують і на темному тлі пропали б. */
tr.issue.tim-placeholder-match td a {
  color: #fff;
}

/* Категорія у списку задач і в атрибутах заявки: тултіп зі списком НП. Пунктир — єдина ознака,
   що під наведенням щось є. */
.tim-town-tip {
  cursor: help;
  text-decoration: underline dotted;
}

/* Модалка переносу. Кольори беруться з теми Redmine, тут лише розкладка. */
#tnc-modal .tnc-modal-bar,
#tnc-modal .tnc-modal-foot {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  padding: 6px 0;
}

#tnc-modal .tnc-week-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin: 8px 0;
}

#tnc-modal .tnc-week-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border: 1px solid #d0d7de;
  border-radius: 4px;
  font-size: 22px;
  line-height: 1;
  text-decoration: none;
}

#tnc-modal .tnc-week-arrow.disabled {
  border-color: #ebeef1;
  color: #ccc;
  cursor: default;
}

#tnc-modal .tnc-day {
  border: 1px solid #d0d7de;
  border-radius: 5px;
  margin-bottom: 6px;
}

#tnc-modal .tnc-day-header {
  display: flex;
  justify-content: space-between;
  padding: 4px 8px;
  background: #f6f8fa;
}

#tnc-modal .tnc-day-slots {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 6px 8px;
}

#tnc-modal .tnc-chip {
  border: 1px solid #d0d7de;
  border-radius: 4px;
  padding: 2px 8px;
  cursor: pointer;
  white-space: nowrap;
}

#tnc-modal .tnc-chip.free {
  background: #eaf7ee;
  font-weight: bold;
}

#tnc-modal .tnc-chip.full {
  color: #888;
}

#tnc-modal .tnc-chip.here {
  cursor: default;
  border-color: #2996cc;
}

#tnc-modal .tnc-chip.picked {
  outline: 2px solid #2996cc;
}

#tnc-modal .tnc-loading {
  opacity: .5;
  pointer-events: none;
}

span.tim-slot {
  display: inline-block;
  padding: 0 4px;
  border: 1px solid #d0d7de;
  border-radius: 3px;
  background: #f6f8fa;
  color: #333;
  white-space: nowrap;
}
