/* Shift list */

.list-stack {
  gap: var(--tt-space-3);
}

.turnus-card {
  position: relative;
  overflow: hidden;
  width: 100%;
  padding: 14px var(--tt-space-4);
  border: var(--tt-border-width) solid var(--tt-border);
  border-radius: var(--tt-radius-lg);
  background: var(--tt-surface);
  color: var(--tt-text-primary);
  text-align: left;
}

.turnus-card::after {
  display: none;
}

.turnus-card.active-card {
  --tt-text-primary: var(--tt-text-on-action);
  --tt-text-secondary: rgba(23, 25, 26, 0.72);
  --tt-text-muted: rgba(23, 25, 26, 0.62);
  --tt-border: rgba(23, 25, 26, 0.22);
  --tt-border-soft: rgba(23, 25, 26, 0.14);
  border-color: transparent;
  background: var(--tt-action);
  color: var(--tt-text-on-action);
  box-shadow: var(--tt-shadow-2);
}

.turnus-card.planned-card {
  border-color: var(--tt-border-strong);
  background: var(--tt-surface-elevated);
  box-shadow: var(--tt-shadow-1);
}

.turnus-card:not(.active-card):not(.planned-card) {
  border-color: var(--tt-border-soft);
  background: var(--tt-surface-sunken);
  color: color-mix(in srgb, var(--tt-text-primary) 82%, transparent);
  box-shadow: none;
}

.turnus-card h3 {
  margin: var(--tt-space-3) 0 3px;
  font-size: 1.3rem;
  font-weight: 760;
  letter-spacing: -0.04em;
}

.turnus-card p {
  color: var(--tt-text-secondary);
  font-size: var(--tt-type-caption);
}

.turnus-open-status {
  margin-top: 5px;
  color: var(--tt-text-primary) !important;
  font-size: var(--tt-type-caption) !important;
  font-weight: 780;
}

.open-turnus-timeline {
  display: grid;
  grid-template-columns: auto minmax(52px, 1fr) auto;
  align-items: start;
  gap: 8px;
  margin-top: var(--tt-space-3);
}

.open-turnus-start,
.open-turnus-today {
  display: grid;
  justify-items: center;
  gap: 6px;
}

.open-turnus-start i,
.open-turnus-today i {
  display: block;
  width: 11px;
  height: 11px;
  border: 3px solid var(--tt-action);
  border-radius: 50%;
  background: var(--tt-surface-elevated);
}

.open-turnus-today i {
  background: var(--tt-action);
}

.open-turnus-start small,
.open-turnus-today small {
  color: var(--tt-text-secondary);
  font-size: var(--tt-type-micro);
  font-weight: 760;
  letter-spacing: var(--tt-tracking-label);
  text-transform: uppercase;
}

.open-turnus-route {
  position: relative;
  height: 11px;
}

.open-turnus-route::before {
  position: absolute;
  top: 4px;
  right: -3px;
  left: -3px;
  height: 3px;
  background: repeating-linear-gradient(90deg, var(--tt-action) 0 12px, transparent 12px 18px);
  content: "";
}

.open-turnus-route::after {
  position: absolute;
  top: 1px;
  right: -2px;
  width: 7px;
  height: 7px;
  border-top: 3px solid var(--tt-action);
  border-right: 3px solid var(--tt-action);
  content: "";
  transform: rotate(45deg);
}

.turnus-card .turnus-rate-summary {
  margin-top: 7px;
  color: var(--tt-text-primary);
  font-size: var(--tt-type-caption);
}

.card-topline {
  gap: var(--tt-space-3);
}

.pill {
  display: inline-flex;
  min-height: 27px;
  padding: 5px 9px;
  border: var(--tt-border-width) solid var(--tt-border);
  border-radius: var(--tt-radius-sm);
  background: color-mix(in srgb, var(--tt-surface-sunken) 82%, transparent);
  color: var(--tt-text-secondary);
  font-size: var(--tt-type-micro);
  font-weight: 820;
  letter-spacing: 0.055em;
  text-transform: uppercase;
  align-items: center;
  gap: 5px;
}

.pill.active {
  border-color: var(--tt-action-hover);
  background: var(--tt-action-soft);
  color: var(--tt-action);
}

.money {
  color: var(--tt-text-primary);
  font-size: 1.35rem;
  font-weight: 780;
  letter-spacing: -0.04em;
}

.turnus-card.active-card .money {
  color: var(--tt-text-on-action);
}

.turnus-card.planned-card .pill {
  border-color: var(--tt-border-strong);
  background: rgba(255, 255, 255, 0.035);
  color: var(--tt-text-primary);
}

.turnus-card.active-card .pill.active {
  border-color: rgba(23, 25, 26, 0.3);
  background: rgba(23, 25, 26, 0.11);
  color: var(--tt-text-on-action);
}

.turnus-card:not(.active-card):not(.planned-card) .pill {
  border-color: var(--tt-border-soft);
  background: transparent;
  color: var(--tt-text-muted);
}

.turnus-card:not(.active-card):not(.planned-card) .money {
  color: var(--tt-text-secondary);
}

.turnus-card-progress {
  position: relative;
  height: 5px;
  margin: var(--tt-space-3) 0 0;
  border-radius: var(--tt-radius-pill);
  background: var(--tt-surface-sunken);
}

.turnus-card-progress span {
  display: block;
  height: 100%;
  background: var(--tt-action);
  border-radius: inherit;
  animation: tt-progress-in var(--tt-duration-slow) var(--tt-ease-enter) both;
}

.turnus-card.active-card .turnus-card-progress {
  background: rgba(23, 25, 26, 0.16);
}

.turnus-card.active-card .turnus-card-progress span {
  background: var(--tt-text-on-action);
}

.turnus-finance-badge {
  display: inline-flex;
  min-height: 28px;
  margin-top: var(--tt-space-3);
  padding: 4px 8px 4px 5px;
  border: var(--tt-border-width) solid var(--tt-border);
  border-radius: var(--tt-radius-sm);
  gap: 6px;
  background: var(--tt-surface);
}

.turnus-finance-badge-icon {
  width: 21px;
  height: 21px;
  border-radius: var(--tt-radius-xs);
}

.turnus-finance-badge-icon .ui-icon {
  width: 13px;
  height: 13px;
}

.turnus-finance-badge strong {
  font-size: var(--tt-type-micro);
  letter-spacing: 0.02em;
}

.turnus-finance-badge.paid,
.turnus-finance-badge.partly-paid {
  border-color: color-mix(in srgb, var(--tt-success) 35%, var(--tt-border));
  background: var(--tt-success-soft);
  color: var(--tt-success);
}

.turnus-finance-badge.waiting {
  border-color: color-mix(in srgb, var(--tt-warning) 35%, var(--tt-border));
  background: var(--tt-warning-soft);
  color: var(--tt-warning);
}

.turnus-finance-badge.invoice {
  border-color: color-mix(in srgb, var(--tt-info) 35%, var(--tt-border));
  background: var(--tt-info-soft);
  color: var(--tt-info);
}

.turnus-card.active-card .turnus-finance-badge,
.turnus-card.active-card .turnus-finance-badge.paid,
.turnus-card.active-card .turnus-finance-badge.partly-paid,
.turnus-card.active-card .turnus-finance-badge.waiting,
.turnus-card.active-card .turnus-finance-badge.invoice {
  border-color: rgba(23, 25, 26, 0.2);
  background: rgba(23, 25, 26, 0.09);
  color: var(--tt-text-on-action);
}

.turnus-card.active-card .turnus-finance-badge-icon {
  background: rgba(23, 25, 26, 0.1);
}

.card-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  margin-top: var(--tt-space-4);
  padding-top: 0;
  border: 0;
  border-top: var(--tt-border-width) solid var(--tt-border);
  border-radius: 0;
  background: transparent;
}

.metric-mini {
  min-width: 0;
  padding: var(--tt-space-2);
  border-right: var(--tt-border-width) solid var(--tt-border-soft);
}

.metric-mini:last-child {
  border-right: 0;
}

.metric-mini strong {
  overflow: hidden;
  font-size: 0.95rem;
  font-weight: 760;
  text-overflow: ellipsis;
}

.metric-mini span {
  display: block;
  margin-top: 4px;
  color: var(--tt-text-muted);
  font-size: 0.52rem;
  letter-spacing: 0.04em;
  line-height: 1.3;
}

.trash-entry {
  min-height: 64px;
  padding: var(--tt-space-3) var(--tt-space-4);
  border: var(--tt-border-width) dashed var(--tt-border-strong);
  border-radius: var(--tt-radius-md);
  background: transparent;
}

.trash-count {
  border-radius: var(--tt-radius-xs);
  background: var(--tt-surface-sunken);
}
