/* Ticket overview visual differentiation (desktop app). */

:root {
  --ticket-row-bg-a: #f6f9ff;
  --ticket-row-bg-b: #eef4ff;
  --ticket-row-hover: #dfeeff;
  --ticket-row-selected: #0b5ad8;
  --ticket-border-soft: #d5e4ff;
  --ticket-priority-high: #ef4444;
  --ticket-priority-low: #64748b;
}

#ticket-overviews + * thead,
#main-content thead {
  background: linear-gradient(180deg, #f8fbff 0%, #edf4ff 100%);
  border-bottom: 1px solid var(--ticket-border-soft) !important;
}

#ticket-overviews + * tr[data-test-id='table-row'],
#main-content tr[data-test-id='table-row'] {
  transition: background-color 160ms ease, box-shadow 160ms ease,
    transform 160ms ease;
  box-shadow: inset 0 0 0 1px transparent, inset 4px 0 0 transparent;
}

#ticket-overviews + * tr[data-test-id='table-row']:nth-child(odd),
#main-content tr[data-test-id='table-row']:nth-child(odd) {
  background-color: var(--ticket-row-bg-a);
}

#ticket-overviews + * tr[data-test-id='table-row']:nth-child(even),
#main-content tr[data-test-id='table-row']:nth-child(even) {
  background-color: var(--ticket-row-bg-b);
}

#ticket-overviews + * tr[data-test-id='table-row']:hover,
#main-content tr[data-test-id='table-row']:hover {
  background-color: var(--ticket-row-hover);
  box-shadow: inset 0 0 0 1px var(--ticket-border-soft),
    inset 4px 0 0 #2563eb;
}

#ticket-overviews + * tr[data-test-id='table-row'].\!bg-blue-800,
#main-content tr[data-test-id='table-row'].\!bg-blue-800 {
  box-shadow: inset 4px 0 0 #93c5fd;
}

/* High-priority rows already include red link text; make row accent match. */
#ticket-overviews + * tr[data-test-id='table-row']:has(a.text-red-500),
#main-content tr[data-test-id='table-row']:has(a.text-red-500) {
  box-shadow: inset 0 0 0 1px rgba(239, 68, 68, 0.18),
    inset 4px 0 0 var(--ticket-priority-high);
}

/* Low-priority rows are muted to separate from active queues. */
#ticket-overviews + * tr[data-test-id='table-row']:has(a.text-stone-200),
#main-content tr[data-test-id='table-row']:has(a.text-stone-200) {
  opacity: 0.9;
  box-shadow: inset 0 0 0 1px rgba(100, 116, 139, 0.2),
    inset 4px 0 0 var(--ticket-priority-low);
}

/* Best-effort "new" emphasis: open-state indicator uses yellow in Zammad. */
#ticket-overviews + * tr[data-test-id='table-row']:has(.text-yellow-500) td,
#main-content tr[data-test-id='table-row']:has(.text-yellow-500) td {
  font-weight: 700 !important;
}

/* JS fallback for browsers/pages where :has() is not reliable. */
#main-content tr[data-test-id='table-row'].ticket-row-new td {
  font-weight: 700 !important;
}

/* Legacy (classic) ticket overview table. */
.table-overview tr.ticket-row-new td,
.table-overview tr.ticket-row-new td a,
.table-overview tr.ticket-row-new td span {
  font-weight: 700 !important;
}

.overview-table tr.ticket-row-new td,
.overview-table tr.ticket-row-new td a,
.overview-table tr.ticket-row-new td span {
  font-weight: 700 !important;
}

@media (max-width: 900px) {
  #ticket-overviews + * tr[data-test-id='table-row'],
  #main-content tr[data-test-id='table-row'] {
    box-shadow: inset 0 0 0 1px transparent, inset 3px 0 0 transparent;
  }
}

[data-theme='dark'] #ticket-overviews + * thead,
[data-theme='dark'] #main-content thead {
  background: linear-gradient(180deg, #212838 0%, #1a2030 100%);
  border-bottom-color: #2d3955;
}

[data-theme='dark'] #ticket-overviews + * tr[data-test-id='table-row']:nth-child(odd),
[data-theme='dark'] #main-content tr[data-test-id='table-row']:nth-child(odd) {
  background-color: #1b2231;
}

[data-theme='dark'] #ticket-overviews + * tr[data-test-id='table-row']:nth-child(even),
[data-theme='dark'] #main-content tr[data-test-id='table-row']:nth-child(even) {
  background-color: #20293a;
}

[data-theme='dark'] #ticket-overviews + * tr[data-test-id='table-row']:hover,
[data-theme='dark'] #main-content tr[data-test-id='table-row']:hover {
  background-color: #2a3a54;
  box-shadow: inset 0 0 0 1px #334766, inset 4px 0 0 #60a5fa;
}
