/* Concierge Desk — left funnel queue. */

.queue {
  border-right: 1px solid var(--ha-border); background: var(--ha-pane-bg);
  overflow-y: auto;
}
.queue-head {
  padding: 14px 16px 8px; display: flex; align-items: center; justify-content: space-between;
}
.queue-head h2 {
  font-size: 13px; letter-spacing: 0.01em; color: var(--ha-ink-muted);
  font-weight: var(--ha-weight-medium); margin: 0;
}
/* ---- Local Market filter control (worklist head + queue head) ---- */
.mkt-filter { position: relative; }
.mkt-filter[open] { z-index: 20; }
.mkt-filter-trigger {
  list-style: none; cursor: pointer; display: inline-flex; align-items: center;
  gap: var(--ha-space-2); padding: 5px 12px; border: 1px solid var(--ha-border);
  border-radius: var(--ha-radius-pill); background: var(--ha-surface);
  font-size: 12px; font-weight: var(--ha-weight-medium); color: var(--ha-ink);
}
.mkt-filter-trigger::-webkit-details-marker { display: none; }
.mkt-filter-trigger:hover { background: var(--ha-row-hover); }
.mkt-filter-trigger svg { color: var(--ha-ink-muted); flex: none; }
.mkt-filter-label { white-space: nowrap; }
.mkt-filter-dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--ha-blue-accent); flex: none;
}
.mkt-filter.is-compact .mkt-filter-trigger { padding: 3px 10px; font-size: 11px; }

.mkt-filter-pop {
  position: absolute; top: calc(100% + 6px); right: 0; min-width: 220px;
  background: var(--ha-surface); border: 1px solid var(--ha-border);
  border-radius: var(--ha-radius-md); box-shadow: var(--ha-shadow-sheet);
  padding: var(--ha-space-3); z-index: 30;
}
.mkt-filter-list { list-style: none; margin: 0; padding: 0; max-height: 260px; overflow-y: auto; }
.mkt-filter-opt label {
  display: flex; align-items: center; gap: var(--ha-space-2);
  padding: 6px 4px; font-size: 13px; color: var(--ha-ink); cursor: pointer;
}
.mkt-filter-opt label:hover { background: var(--ha-row-hover); border-radius: var(--ha-radius-xs); }
.mkt-filter-opt--none { border-top: 1px solid var(--ha-border); margin-top: var(--ha-space-2); padding-top: var(--ha-space-2); }
.mkt-filter-actions { margin-top: var(--ha-space-3); }
.mkt-filter-apply {
  width: 100%; height: 32px; border: 0; border-radius: var(--ha-radius-pill);
  background: var(--ha-blue-primary-soft); color: var(--ha-blue-text);
  font: inherit; font-size: 12px; font-weight: var(--ha-weight-bold); cursor: pointer;
}
.mkt-filter-apply:hover { background: var(--ha-accent-tint); }
.mkt-filter-hint { margin: var(--ha-space-2) 0 0; font-size: 11px; color: var(--ha-ink-muted); }

.group { margin-bottom: 2px; }
.group-head {
  display: flex; align-items: center; gap: 8px; width: 100%;
  padding: 7px 16px; background: transparent; border: 0; cursor: pointer;
  font: inherit; color: var(--ha-ink); text-align: left;
}
.group-head:hover { background: var(--ha-row-hover); }
.group-head .chev { color: var(--ha-ink-muted); transition: transform 120ms ease; }
.group-head[aria-expanded="false"] .chev { transform: rotate(-90deg); }
.group-head .name { font-weight: var(--ha-weight-bold); font-size: 13px; }
.group-head .count { color: var(--ha-ink-muted); font-weight: var(--ha-weight-book); }
.group-body[hidden] { display: none; }

.row {
  display: flex; flex-direction: column; gap: 4px;
  padding: 9px 16px 10px 32px; cursor: pointer; text-decoration: none; color: var(--ha-ink);
  background: var(--ha-surface);
}
.row + .row { border-top: 1px solid var(--ha-border); }
.row:nth-child(even) { background: var(--ha-row-stripe); }
.row:hover { background: var(--ha-row-hover); }
.row.selected {
  background: var(--ha-row-selected); box-shadow: inset 2px 0 0 0 var(--ha-blue-text);
}
.row.stale { background: var(--ha-row-stale); }
.row:focus-visible { outline: none; box-shadow: inset 0 0 0 2px var(--ha-blue-accent); }
.row .who {
  font-weight: var(--ha-weight-bold); font-size: 14px;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.row .age { font-size: 12px; color: var(--ha-ink-muted); }
.row .meta {
  display: flex; align-items: center; gap: 10px;
  font-size: 12px; color: var(--ha-ink-muted);
}
.row .meta .reply { display: inline-flex; align-items: center; gap: 4px; }
.dotk { width: 7px; height: 7px; border-radius: 50%; display: inline-block; }
.owner-chip {
  font-size: 11px; font-weight: var(--ha-weight-bold); color: var(--ha-blue-primary-soft);
}

.queue-empty { padding: 24px 16px; font-size: 13px; color: var(--ha-ink-muted); }
