.ticket-board-filters { flex-wrap: wrap; overflow: visible; }
.ticket-board-filters .filter-search { min-width: min(100%, 200px); }
.ticket-board-filters .filter-search input { padding-right: 44px; }
.ticket-board-search-clear { position: absolute; right: 0; top: 0; display: grid; place-items: center; width: 44px; height: 42px; padding: 10px; border: 0; border-radius: 0 12px 12px 0; color: var(--muted); background: transparent; cursor: pointer; }
.ticket-board-search-clear svg { position: static; width: 17px; height: 17px; }
.ticket-board-search-clear:hover { color: var(--text); background: var(--surface-hover); }
.ticket-board-search-clear:active { background: var(--info-bg); }
.ticket-board-search-clear:focus-visible { box-shadow: var(--focus); }
.ticket-board-preference-feedback { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.ticket-board-preference-feedback p { margin-bottom: 8px; }
.ticket-board-table-wrap { max-width: 100%; overflow-x: auto; }
.ticket-board-table th { padding: 0 8px; white-space: nowrap; }
.ticket-board-table th button { display: flex; align-items: center; justify-content: space-between; gap: 7px; width: 100%; min-height: 44px; padding: 9px 5px; border: 0; border-radius: 7px; color: inherit; background: transparent; font: inherit; letter-spacing: inherit; text-transform: inherit; cursor: pointer; }
.ticket-board-table th button:hover { color: var(--text); background: var(--surface-hover); }
.ticket-board-table th button:active { background: var(--info-bg); }
.ticket-board-table th button:focus-visible { box-shadow: var(--focus); color: var(--text); }
.ticket-board-table th[aria-sort="ascending"], .ticket-board-table th[aria-sort="descending"] { color: var(--primary); }
.ticket-board-table th button span { font-size: 16px; font-weight: 700; }
.ticket-board-table [data-board-updated] { min-width: 145px; font-variant-numeric: tabular-nums; }
.ticket-board-table [data-board-updated] time { display: block; }
.ticket-board-identity { display: grid; grid-template-columns: 28px minmax(0, 1fr); align-items: center; gap: 10px; }
.ticket-board-identity .ticket-board-requester { width: 28px; height: 28px; font-size: .6rem; }
.ticket-board-open { color: var(--text); text-decoration: none; }
.ticket-board-open:hover { color: var(--primary); text-decoration: underline; text-underline-offset: 3px; }
.ticket-board-open:focus-visible { border-radius: 4px; box-shadow: var(--focus); }
.ticket-board-pagination { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 12px; }
.ticket-board-pagination p { margin: 0; color: var(--muted); font-size: .78rem; }
.ticket-board-pagination > div { display: flex; gap: 8px; }
.ticket-board-bulk-bar { flex-wrap: wrap; justify-content: center; }
.ticket-board-bulk-bar > strong { white-space: nowrap; }
.ticket-board-bulk-bar > button { min-width: 0; max-width: 100%; white-space: normal; }
.ticket-board-kanban { grid-template-columns: repeat(var(--board-column-count), minmax(0, 1fr)); align-items: start; overflow: visible; }
.ticket-board-kanban .kanban-column, .ticket-board-kanban .kanban-items, .ticket-board-kanban .kanban-card { min-width: 0; }
.ticket-board-kanban .kanban-items { grid-template-columns: minmax(0, 1fr); align-items: start; align-content: start; }
.ticket-board-kanban .kanban-card { cursor: pointer; overflow-wrap: anywhere; }
.ticket-board-kanban .kanban-card:focus-visible { outline: none; box-shadow: var(--focus); }
.ticket-board-kanban .kanban-card-meta { gap: 8px; }
.ticket-board-kanban .kanban-card-meta > span:first-child { min-width: 0; }
.ticket-board-kanban-archive .kanban-items { grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); }
@media (any-pointer: coarse) {
  .ticket-board-search-clear { height: 44px; }
  .ticket-board-open { display: inline-flex; align-items: center; min-height: 44px; }
}
@media (max-width: 900px) {
  .ticket-board-kanban { grid-template-columns: minmax(0, 1fr); }
}
/* Keep every sortable header reachable on narrow screens. This table owns its
   horizontal overflow; surrounding forms and the document retain their height. */
@media (max-width: 680px) {
  .ticket-board-bulk-bar > button { min-height: 44px; }
  .ticket-board-filters .filter-search { flex-basis: 100%; }
  .ticket-board-filters select { min-width: 0; flex: 1 1 140px; max-width: 100%; }
  .ticket-board-table-wrap { overflow-x: auto; border: 1px solid var(--stroke); border-radius: 16px; }
  .ticket-board-table { display: table; min-width: 840px; }
  .ticket-board-table thead { display: table-header-group; }
  .ticket-board-table tbody { display: table-row-group; }
  .ticket-board-table tr { display: table-row; position: static; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; }
  .ticket-board-table th, .ticket-board-table td, .ticket-board-table td:nth-child(n+4) { display: table-cell; width: auto; position: static; margin: 0; }
  .ticket-board-table td, .ticket-board-table td:first-child { position: static; padding: 12px 13px; }
  .ticket-board-table td:nth-child(2) { min-width: 250px; max-width: 340px; }
  .ticket-board-pagination { align-items: flex-start; flex-direction: column; }
}
