/* PZ-Med timesheet/vacation follow-up, 2026-08-30. */

/* Prevent the legacy tabs from flashing before the final Schedule navigation. */
html.pz-timesheet-pending .timesheet-section-nav {
  visibility: hidden !important;
}

.timesheet-page > .schedule-tabs {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 5px;
  padding: 5px;
  border: 1px solid rgba(27, 82, 79, 0.12);
  border-radius: 14px;
  background: var(--card-bg, var(--theme-surface, #fff));
}

.timesheet-page > .schedule-tabs a {
  padding: 9px 13px;
  border-radius: 9px;
  color: inherit;
  font-weight: 650;
  text-decoration: none;
}

.timesheet-page > .schedule-tabs a.is-active {
  color: #087c75;
  background: rgba(35, 140, 132, 0.12);
}

.timesheet-page > .schedule-tabs .schedule-tabs__settings {
  margin-left: auto;
}

.timesheet-quick-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: -8px;
}

.timesheet-quick-actions .btn {
  min-height: 36px;
  padding: 7px 12px;
}

/* Align the draft action with the input controls, not with the form baseline. */
.timesheet-page .timesheet-generate-action {
  padding-bottom: 7px;
}

/* The filter form does not need a second visible card/border. */
.timesheet-page .timesheet-create-card {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Loaded in <head>: dark controls exist before first paint instead of being
   recolored after schedules-followup JavaScript runs. */
html[data-theme="dark"] .timesheet-page input,
html[data-theme="dark"] .timesheet-page select,
html[data-theme="dark"] .timesheet-page textarea,
html[data-theme="dark"] .timesheet-page .remote-select__input {
  color: var(--theme-text, #effff9) !important;
  background: var(--theme-input-bg, #10221c) !important;
  border-color: #365249 !important;
  color-scheme: dark;
}

html[data-theme="dark"] .timesheet-page .timesheet-list-card,
html[data-theme="dark"] .timesheet-page .timesheet-table-card,
html[data-theme="dark"] .timesheet-page > .schedule-tabs {
  color: var(--theme-text, #effff9) !important;
  background: var(--theme-surface, #0d1915) !important;
  border-color: #304a42 !important;
}

html[data-theme="dark"] .timesheet-page > .schedule-tabs a.is-active {
  color: var(--theme-primary, #49ddb1) !important;
  background: color-mix(in srgb, var(--theme-primary, #49ddb1) 14%, transparent) !important;
}

/* Compact dates in the yearly vacation schedule. */
.vacation-table .vacation-name-col {
  height: auto !important;
  padding-top: 6px !important;
  padding-bottom: 6px !important;
  vertical-align: middle !important;
}

.vacation-table .vacation-name-col > strong {
  display: block;
  line-height: 1.12 !important;
}

.vacation-table .vacation-name-col > .muted {
  margin-top: 1px !important;
  margin-bottom: 0 !important;
  line-height: 1.08 !important;
}

.vacation-table .vacation-period-list {
  display: grid !important;
  gap: 1px !important;
  margin: 3px 0 0 !important;
  padding: 0 !important;
}

.vacation-table .vacation-period-line {
  display: flex !important;
  align-items: baseline !important;
  justify-content: flex-start !important;
  gap: 6px !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.08 !important;
  white-space: nowrap;
}

.vacation-table .vacation-period-line > span,
.vacation-table .vacation-period-line > strong {
  margin: 0 !important;
  padding: 0 !important;
  line-height: inherit !important;
  font-size: 11px !important;
}

@media (max-width: 700px) {
  .timesheet-page > .schedule-tabs .schedule-tabs__settings {
    margin-left: 0;
  }
  .timesheet-quick-actions {
    margin-top: -4px;
  }
  .timesheet-page .timesheet-generate-action {
    padding-bottom: 0;
  }
}
