/* ABC Cron — admin page styles */

.abc-cron {
	max-width: 1280px;
}

/* ----- Page header ----- */
.abc-cron .abc-cron__title {
	margin: 0 0 4px;
	font-size: 23px;
	font-weight: 400;
	line-height: 1.3;
	color: #1d2327;
}
.abc-cron__sub {
	margin: 0 0 22px;
	color: #646970;
	font-size: 13px;
}

/* ----- Status card ----- */
.abc-cron__status {
	background: #fff;
	border: 1px solid #c3c4c7;
	border-left: 3px solid #2271b1;
	border-radius: 4px;
	box-shadow: 0 1px 1px rgba(0, 0, 0, .04);
	margin-bottom: 22px;
	padding: 22px 26px;
}

.abc-cron__eyebrow {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: #3858a6;
	margin: 0 0 12px;
}

.abc-cron__time {
	font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
	font-size: 32px;
	font-weight: 500;
	color: #1d2327;
	line-height: 1;
	font-variant-numeric: tabular-nums;
}
.abc-cron__time-sep { color: #a7aaad; margin: 0 12px; font-weight: 400; }

.abc-cron__foot {
	font-size: 12.5px;
	color: #646970;
	margin-top: 12px;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
}
.abc-cron__foot-sep { color: #dcdcde; }
.abc-cron__spawn-state { color: #2c3338; font-weight: 500; }

/* ----- Metric grid (4 stat cards) ----- */
.abc-cron__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
	margin-bottom: 22px;
}
.abc-cron__stat {
	background: #fff;
	border: 1px solid #c3c4c7;
	border-radius: 4px;
	padding: 16px 18px 18px;
	box-shadow: 0 1px 1px rgba(0, 0, 0, .04);
}
.abc-cron__stat-eyebrow {
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: #646970;
	margin: 0 0 4px;
}
.abc-cron__stat-span {
	font-size: 12px;
	color: #8c8f94;
	margin: 0 0 10px;
}
.abc-cron__stat-row {
	display: flex;
	align-items: baseline;
	gap: 6px;
}
.abc-cron__num {
	font-size: 40px;
	font-weight: 600;
	color: #1d2327;
	line-height: .95;
	font-variant-numeric: tabular-nums;
	letter-spacing: -.02em;
}
.abc-cron__num--muted { color: #646970; }
.abc-cron__unit {
	font-size: 13px;
	color: #646970;
	font-weight: 500;
}

/* ----- Recent runs card ----- */
.abc-cron__card {
	background: #fff;
	border: 1px solid #c3c4c7;
	border-radius: 4px;
	box-shadow: 0 1px 1px rgba(0, 0, 0, .04);
}
.abc-cron__card-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	padding: 16px 20px;
	border-bottom: 1px solid #f0f0f1;
}
.abc-cron__card-head h2 {
	margin: 0;
	font-size: 14px;
	font-weight: 600;
	color: #1d2327;
}
.abc-cron__card-meta {
	font-size: 12px;
	color: #646970;
}
.abc-cron__empty {
	padding: 20px;
	color: #646970;
	margin: 0;
}

.abc-cron__table {
	width: 100%;
	border-collapse: collapse;
}
.abc-cron__table thead th {
	text-align: left;
	font-size: 12px;
	font-weight: 600;
	color: #646970;
	letter-spacing: .04em;
	text-transform: uppercase;
	padding: 10px 20px;
	background: #fafafa;
	border-bottom: 1px solid #e5e5e7;
}
.abc-cron__table tbody td {
	padding: 12px 20px;
	font-size: 13.5px;
	color: #1d2327;
	border-bottom: 1px solid #f0f0f1;
	font-variant-numeric: tabular-nums;
}
.abc-cron__table tbody tr:last-child td { border-bottom: 0; }
.abc-cron__table tbody tr:hover td { background: #eff5fb; }

.abc-cron__td-time {
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 12.5px;
	color: #2c3338;
	position: relative;
	white-space: nowrap;
}
.abc-cron__td-muted { color: #646970; }

.abc-cron__latest {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 11px;
	font-weight: 600;
	color: #005a87;
	background: #e5f2f9;
	padding: 2px 8px;
	border-radius: 10px;
	margin-left: 12px;
}

.abc-cron__card-foot {
	padding: 10px 20px;
	font-size: 12px;
	color: #646970;
	border-top: 1px solid #f0f0f1;
	background: #fafafa;
	border-radius: 0 0 4px 4px;
}

/* ----- Narrow-width hardening (no visual change above 680px) ----- */
.abc-cron { box-sizing: border-box; }
.abc-cron *,
.abc-cron *::before,
.abc-cron *::after { box-sizing: border-box; }
.abc-cron__sub { text-wrap: pretty; }

/* Last Run date and clock are separate units that never break mid-value. */
.abc-cron__time {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
}
.abc-cron__time-date,
.abc-cron__time-clock { white-space: nowrap; }

/* Long translated labels and units wrap instead of overflowing their card. */
.abc-cron__stat {
	min-width: 0;
	overflow-wrap: anywhere;
}
.abc-cron__stat-row {
	flex-wrap: wrap;
	column-gap: 6px;
	row-gap: 0;
}

.abc-cron__card { overflow: hidden; }
.abc-cron__card-head {
	flex-wrap: wrap;
	column-gap: 16px;
	row-gap: 2px;
}
.abc-cron__m-date { display: none; }

/* ----- Phone layout (680px and below, where the desktop Latest pill would overlap How Long Ago) ----- */
@media screen and (max-width: 680px) {
	.abc-cron__sub { margin-bottom: 16px; }

	/* Last Run: clock first, date beneath, foot wraps without bullets. */
	.abc-cron__status {
		padding: 16px 18px;
		margin-bottom: 12px;
	}
	.abc-cron__eyebrow { margin-bottom: 10px; }
	.abc-cron__time {
		flex-direction: column;
		align-items: flex-start;
	}
	.abc-cron__time-clock {
		order: -1;
		font-size: 36px;
		letter-spacing: -.01em;
	}
	.abc-cron__time-date {
		font-size: 14px;
		font-weight: 400;
		color: #50575e;
		margin-top: 8px;
	}
	.abc-cron__time-sep { display: none; }
	.abc-cron__foot {
		column-gap: 14px;
		row-gap: 4px;
		margin-top: 12px;
		padding-top: 12px;
		border-top: 1px solid #f0f0f1;
	}
	.abc-cron__foot-sep { display: none; }

	/* Metrics: one card split into a 2x2 grid; the 1px gap draws the dividers. */
	.abc-cron__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1px;
		background: #e5e5e7;
		border: 1px solid #c3c4c7;
		border-radius: 4px;
		overflow: hidden;
		box-shadow: 0 1px 1px rgba(0, 0, 0, .04);
		margin-bottom: 12px;
	}
	.abc-cron__stat {
		border: 0;
		border-radius: 0;
		box-shadow: none;
		padding: 14px 16px 16px;
	}
	.abc-cron__stat-span { margin-bottom: 8px; }
	.abc-cron__num { font-size: 32px; }

	/* Runs: each table row becomes a two-line grid row; thead stays for assistive tech. */
	.abc-cron__card-head { padding: 14px 16px; }
	.abc-cron__table thead {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0 0 0 0);
		clip-path: inset(50%);
		white-space: nowrap;
	}
	.abc-cron__table,
	.abc-cron__table tbody { display: block; }
	.abc-cron__table tbody tr {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		column-gap: 12px;
		row-gap: 3px;
		align-items: center;
		padding: 11px 16px;
		border-bottom: 1px solid #f0f0f1;
	}
	.abc-cron__table tbody tr:last-child { border-bottom: 0; }
	.abc-cron__table tbody tr:hover { background: #eff5fb; }
	.abc-cron__table tbody tr:hover td { background: transparent; }
	.abc-cron__table tbody td {
		display: block;
		padding: 0;
		border: 0;
		min-width: 0;
	}

	.abc-cron__table tbody td.abc-cron__td-time {
		grid-column: 1;
		grid-row: 1;
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 4px 8px;
		font-size: 15px;
		font-weight: 600;
		color: #1d2327;
	}
	.abc-cron__run-date {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0 0 0 0);
		clip-path: inset(50%);
		white-space: nowrap;
	}
	/* Desktop positions the pill absolutely to keep row height; here it sits in flow after the clock. */
	.abc-cron__latest {
		position: static;
		transform: none;
		margin-left: 0;
		font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
	}

	.abc-cron__table tbody td.abc-cron__td-ago {
		grid-column: 1;
		grid-row: 2;
		font-size: 12px;
		color: #646970;
	}
	.abc-cron__m-date { display: inline; }

	.abc-cron__table tbody td.abc-cron__td-gap {
		grid-column: 2;
		grid-row: 1 / 3;
		display: flex;
		flex-direction: column;
		align-items: flex-end;
		text-align: right;
		font-size: 13.5px;
		font-weight: 600;
		color: #1d2327;
	}
	.abc-cron__table tbody td.abc-cron__td-gap::after {
		content: attr(data-label);
		margin-top: 3px;
		font-size: 10px;
		font-weight: 700;
		letter-spacing: .1em;
		text-transform: uppercase;
		color: #8c8f94;
	}
	.abc-cron__table tbody td.abc-cron__td-gap .abc-cron__td-muted { color: #a7aaad; }

	.abc-cron__card-foot { padding: 10px 16px; }
}
