/* The issues list. Split from files.css so each sheet has one job. Tokens only. */
/* Issues (board Main): the page, the waiting line, the progress bar, the list with its filters, the side lists. */
.ab-page:has(> .ab-issues) {
	max-width: 1440px;
	padding: var(--space-6) 32px 64px;
}
.ab-issues {
	display: flex;
	flex-direction: column;
	gap: 20px;
}
.ab-issues-head {
	display: flex;
	align-items: center;
	gap: var(--space-4);
}
.ab-issues-head h1 {
	margin: 0;
	font-size: 26px;
	font-weight: 750;
	letter-spacing: -0.01em;
}
.ab-issues-head .ab-file-note {
	margin: 0;
	color: var(--muted);
	font-size: 13px;
}
.ab-issues-head .ab-btn {
	margin-left: auto;
}

.ab-wait-line {
	display: flex;
	align-items: center;
	gap: var(--space-3);
	min-height: 44px;
	padding: 0 var(--space-3) 0 var(--space-4);
	background: var(--surface);
	border-radius: 8px;
	box-shadow: inset 0 0 0 1px var(--rule-strong);
}
.ab-wait-line.is-none {
	color: var(--muted);
	font-size: 13px;
	margin: 0;
	padding: var(--space-3) var(--space-4);
}
.ab-wait-line .lead {
	display: inline-flex;
	align-items: center;
	gap: var(--space-2);
	color: var(--ink);
}
.ab-wait-line .lead:hover {
	text-decoration: none;
}
.ab-wait-line .count,
.ab-issues .count {
	color: var(--muted);
	font-weight: 500;
	font-variant-numeric: tabular-nums;
}
.ab-wait-line .rule {
	width: 1px;
	align-self: stretch;
	margin: var(--space-2) 0;
	background: var(--rule-strong);
}
.ab-wait-line .ask {
	flex: 1 1 0;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	color: var(--ink);
}
.ab-wait-line .due {
	flex: none;
	color: var(--ink);
	font-size: 13px;
}
.ab-wait-line .lead + .ab-btn {
	margin-left: auto;
}

.ab-progress {
	display: flex;
	flex-direction: column;
	gap: var(--space-3);
}
.ab-progress-head {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: var(--space-1) var(--space-3);
}
.ab-progress-head h2 {
	display: flex;
	align-items: baseline;
	gap: var(--space-2);
	margin: 0;
	font-size: 16px;
	font-weight: 650;
}
.ab-progress-head h2 a {
	color: var(--muted);
	font-variant-numeric: tabular-nums;
}
.ab-progress-head .note {
	color: var(--muted);
	font-size: 13px;
}
.ab-progress-head .legend {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--space-1) var(--space-4);
	margin: 0 0 0 auto;
	padding: 0;
	list-style: none;
	font-size: 12px;
	color: var(--muted);
}
.ab-progress-head .legend li {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}
.ab-progress-head .legend b {
	color: var(--ink);
	font-weight: 600;
	font-variant-numeric: tabular-nums;
}
.ab-progress .segments {
	display: flex;
	gap: var(--space-1);
	margin: 0;
	padding: 0;
	list-style: none;
}
.ab-progress .seg {
	flex: 1 1 0;
	height: 10px;
	border-radius: var(--radius-pill);
	background: var(--ink);
}
.ab-progress .seg a {
	display: block;
	height: 100%;
	border-radius: inherit;
}
.ab-progress .seg a:focus-visible {
	outline: 2px solid var(--ink);
	outline-offset: 2px;
}
.ab-progress .seg.is-open,
.ab-progress .seg.is-dropped {
	background: var(--rule);
}
.ab-progress .seg.is-in-progress {
	background: transparent;
	border: 1.5px dashed var(--ink);
}
.ab-progress .seg.is-in-review,
.ab-progress .seg.is-blocked {
	background: transparent;
	box-shadow: inset 0 0 0 1.5px var(--ink);
}

.ab-issues-cols {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 280px;
	gap: var(--space-8) 32px;
	align-items: start;
}
.ab-issues-filters {
	display: flex;
	align-items: flex-end;
	gap: var(--space-4);
	margin-bottom: var(--space-3);
	border-bottom: 1px solid var(--rule);
}
.ab-issues-filters .ab-tabs {
	margin-top: 0;
	gap: var(--space-4);
	flex-wrap: wrap;
}
.ab-issues-filters .ab-tabs a {
	display: inline-flex;
	align-items: baseline;
	gap: 6px;
	margin-bottom: -1px;
	padding: var(--space-2) 0;
}
.ab-label-filter {
	display: flex;
	align-items: center;
	gap: var(--space-2);
	margin: 0 0 var(--space-2);
	color: var(--muted);
	font-size: 13px;
}
.ab-tabs + .ab-label-filter {
	margin-left: auto;
}
.ab-label-filter select {
	font-family: var(--font-mono);
	font-size: 12px;
}
.ab-agent-filter {
	display: flex;
	gap: var(--space-1);
	margin: 0 0 var(--space-2) auto;
}
.ab-agent-filter a {
	display: inline-flex;
	border-radius: var(--radius);
}
.ab-agent-filter a.is-on .ab-mono {
	box-shadow:
		0 0 0 2px var(--paper),
		0 0 0 3.5px var(--ink);
}
.ab-issues-empty {
	margin: var(--space-6) 0;
	color: var(--muted);
}

.ab-issues-list {
	border-radius: 8px;
	box-shadow: inset 0 0 0 1px var(--rule);
	overflow: hidden;
}
.ab-issues-list ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
.ab-issues-group {
	display: flex;
	align-items: center;
	gap: var(--space-2);
	height: 34px;
	margin: 0;
	padding: 0 var(--space-4);
	background: var(--surface);
	font-size: 13px;
	font-weight: 650;
	border-top: 1px solid var(--rule);
}
.ab-issues-list section:first-child .ab-issues-group {
	border-top: 0;
}
.ab-irow {
	display: grid;
	grid-template-columns: 16px 40px minmax(0, 1fr) 104px 116px 76px;
	align-items: center;
	column-gap: var(--space-3);
	height: 40px;
	padding: 0 var(--space-4);
	color: var(--ink);
	border-top: 1px solid var(--rule);
}
.ab-irow {
	position: relative;
}
.ab-irow:hover {
	background: var(--wash);
	text-decoration: none;
}
.ab-irow:has(.rowlink:focus-visible) {
	outline: 2px solid var(--ink);
	outline-offset: -2px;
}
.ab-irow .rowlink {
	display: flex;
	flex: 0 1 auto;
	min-width: 0;
	color: inherit;
	text-decoration: none;
}
.ab-irow .rowlink::after {
	content: "";
	position: absolute;
	inset: 0;
}
.ab-irow .labels {
	position: relative;
	flex: none;
	display: inline-flex;
	align-items: center;
	gap: var(--space-1);
}
.ab-irow .labels .ab-chip {
	line-height: 20px;
}
.ab-irow .labels .more {
	color: var(--muted);
	font-family: var(--font-mono);
	font-size: 12px;
}
.ab-irow .id {
	color: var(--muted);
	font-size: 12px;
	font-variant-numeric: tabular-nums;
}
.ab-irow .main {
	display: flex;
	align-items: center;
	gap: var(--space-2);
	min-width: 0;
}
.ab-irow .title {
	flex: 0 1 auto;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-size: 14px;
	font-weight: 500;
}
.ab-irow .parent {
	flex: none;
	display: inline-flex;
	align-items: center;
	height: 20px;
	padding: 0 6px;
	border-radius: var(--radius);
	box-shadow: inset 0 0 0 1px var(--rule);
	color: var(--muted);
	font-size: 12px;
	font-variant-numeric: tabular-nums;
}
.ab-irow .detail {
	flex: none;
	white-space: nowrap;
	color: var(--muted);
	font-size: 12px;
}
.ab-irow .versions,
.ab-irow .time {
	color: var(--muted);
	font-size: 12px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.ab-irow .time {
	text-align: right;
}
.ab-irow .agent {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-width: 0;
	font-size: 13px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.ab-issues-side {
	display: flex;
	flex-direction: column;
	gap: var(--space-6);
}
.ab-side-list h2 {
	display: flex;
	align-items: baseline;
	gap: var(--space-2);
	margin: 0 0 var(--space-2);
	font-size: 13px;
	font-weight: 650;
}
.ab-side-list ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
.ab-side-list li {
	display: grid;
	grid-template-columns: 34px minmax(0, 1fr) auto;
	align-items: center;
	column-gap: var(--space-3);
	min-height: 44px;
	border-top: 1px solid var(--rule);
	font-size: 13px;
}
.ab-side-list li .what {
	display: flex;
	flex-direction: column;
	min-width: 0;
}
.ab-side-list li .what b {
	font-weight: 600;
}
.ab-side-list li .sub {
	color: var(--muted);
	font-size: 12px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.ab-side-list li .none {
	color: var(--faint);
	font-size: 12px;
}
.ab-side-list .note {
	margin: var(--space-2) 0 0;
	color: var(--muted);
	font-size: 12px;
}
.ab-side-list ul.is-versions li {
	grid-template-columns: 16px 34px minmax(0, 1fr) auto;
	min-height: 30px;
	column-gap: var(--space-2);
}
.ab-side-list ul.is-versions .v {
	font-weight: 600;
	font-size: 12px;
	font-variant-numeric: tabular-nums;
}
.ab-side-list ul.is-versions .what {
	display: block;
	color: var(--muted);
	font-size: 12px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.ab-side-list ul.is-versions .when {
	display: inline-flex;
	align-items: center;
	gap: var(--space-2);
	color: var(--muted);
	font-size: 12px;
}
.ab-irow .ab-progress {
	flex: 0 1 160px;
	min-width: 60px;
}
.ab-progress .segments.is-small {
	gap: 2px;
}
.ab-progress .segments.is-small .seg {
	height: 6px;
}

@media (max-width: 900px) {
	.ab-issues-cols {
		grid-template-columns: minmax(0, 1fr);
	}
}
@media (max-width: 720px) {
	.ab-page:has(> .ab-issues) {
		padding: var(--space-4) var(--space-4) 48px;
	}
	.ab-issues {
		gap: var(--space-4);
	}
	.ab-issues-head h1 {
		font-size: 22px;
	}
	.ab-wait-line {
		flex-wrap: wrap;
		padding: var(--space-2) var(--space-3);
	}
	.ab-wait-line .rule {
		display: none;
	}
	.ab-wait-line .lead {
		order: 1;
	}
	.ab-wait-line .ab-btn {
		order: 2;
		margin-left: auto;
	}
	.ab-wait-line .ask {
		flex-basis: 100%;
		order: 3;
		white-space: normal;
	}
	.ab-wait-line .due {
		flex-basis: 100%;
		order: 4;
		color: var(--muted);
	}
	.ab-progress-head .legend {
		margin-left: 0;
	}
	.ab-issues-filters {
		flex-wrap: wrap;
	}
	.ab-issues-filters .ab-tabs {
		gap: 0 var(--space-3);
	}
	.ab-issues-filters .ab-tabs a {
		white-space: nowrap;
	}
	.ab-agent-filter {
		margin-left: 0;
	}
	.ab-irow {
		grid-template-columns: 16px 36px minmax(0, 1fr) 76px;
		height: auto;
		min-height: 44px;
		padding: var(--space-2) var(--space-3);
		row-gap: 2px;
	}
	.ab-irow .versions,
	.ab-irow .agent,
	.ab-irow .labels {
		display: none;
	}
	.ab-irow .main {
		flex-wrap: wrap;
	}
	.ab-irow .title {
		white-space: normal;
	}
}
.ab-issue-main .ab-md {
	max-width: none;
	margin: 0 0 var(--space-4);
	padding: 0;
}
