.gmcap-results,
.gmcap-live-home {
	--gmcap-ink: #17202a;
	--gmcap-muted: #657080;
	--gmcap-line: #d9e1e8;
	--gmcap-soft: #eef8f6;
	--gmcap-accent: #0f766e;
	--gmcap-orange: #f59f00;
	--gmcap-orange-dark: #d97706;
	box-sizing: border-box;
	width: min(1280px, 100%);
	max-width: calc(100vw - 32px);
	margin: 24px auto;
	color: var(--gmcap-ink);
	font-size: 15px;
	text-align: left;
}

.gmcap-results *,
.gmcap-live-home * {
	box-sizing: border-box;
}

.gmcap-hero {
	display: flex;
	justify-content: space-between;
	gap: 18px;
	align-items: flex-start;
	padding: 20px 22px;
	border: 1px solid var(--gmcap-line);
	border-radius: 8px;
	background: linear-gradient(135deg, #f8fbfc, #edf7f5);
}

.gmcap-kicker {
	margin: 0 0 6px;
	color: var(--gmcap-accent);
	font-weight: 800;
	text-transform: uppercase;
	font-size: 12px;
	letter-spacing: 0;
}

.gmcap-hero h2 {
	margin: 0;
	font-size: clamp(24px, 2.2vw, 34px);
	line-height: 1.15;
}

.gmcap-meta {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	margin-top: 12px;
	color: var(--gmcap-muted);
}

.gmcap-meta span {
	padding: 5px 9px;
	border: 1px solid var(--gmcap-line);
	border-radius: 999px;
	background: #fff;
}

.gmcap-live-badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 11px;
	border-radius: 999px;
	background: #fff;
	color: var(--gmcap-accent);
	font-weight: 800;
	white-space: nowrap;
}

.gmcap-live-badge span {
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: #16a34a;
	box-shadow: 0 0 0 4px rgba(22, 163, 74, .14);
}

.gmcap-summary {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	margin: 12px 0;
}

.gmcap-summary > div {
	padding: 14px 16px;
	border: 1px solid var(--gmcap-line);
	border-radius: 8px;
	background: #fff;
}

.gmcap-summary strong {
	display: block;
	font-size: 22px;
}

.gmcap-summary span,
.gmcap-updated {
	color: var(--gmcap-muted);
	font-size: 13px;
}

.gmcap-toolbar {
	display: grid;
	grid-template-columns: minmax(260px, 2fr) minmax(150px, .8fr) minmax(130px, .6fr) 132px;
	gap: 8px;
	margin: 14px 0;
}

.gmcap-toolbar input,
.gmcap-toolbar select,
.gmcap-toolbar button,
.gmcap-home-search input {
	width: 100%;
	min-height: 42px;
	padding: 8px 11px;
	border: 1px solid var(--gmcap-line);
	border-radius: 8px;
	background: #fff;
}

.gmcap-toolbar button {
	background: var(--gmcap-accent);
	border-color: var(--gmcap-accent);
	color: #fff;
	font-weight: 800;
	cursor: pointer;
}

.gmcap-table-wrap,
.gmcap-program-wrap {
	width: 100%;
	overflow-x: auto;
	border: 1px solid var(--gmcap-line);
	border-radius: 8px;
	background: #fff;
}

.gmcap-table,
.gmcap-program {
	width: 100%;
	border-collapse: collapse;
	table-layout: auto;
}

.gmcap-table {
	min-width: 1280px;
}

.gmcap-table th,
.gmcap-table td,
.gmcap-program th,
.gmcap-program td {
	border-bottom: 1px solid var(--gmcap-line);
	padding: 12px 10px;
	text-align: left;
	vertical-align: middle;
	white-space: nowrap;
}

.gmcap-table th,
.gmcap-program th {
	background: #f3f7f8;
	font-weight: 900;
	color: #26323f;
}

.gmcap-table th:nth-child(3),
.gmcap-table td:nth-child(3),
.gmcap-table th:nth-child(4),
.gmcap-table td:nth-child(4) {
	min-width: 150px;
}

.gmcap-table th:nth-child(7),
.gmcap-table td:nth-child(7) {
	min-width: 190px;
	white-space: normal;
}

.gmcap-table tbody tr:nth-child(even),
.gmcap-program tbody tr:nth-child(even) {
	background: #fbfcfd;
}

.gmcap-table tbody tr:hover,
.gmcap-program tbody tr:hover {
	background: var(--gmcap-soft);
}

.gmcap-home-band {
	background: var(--gmcap-orange);
	color: #fff;
	padding: 22px 26px;
	border-radius: 8px;
}

.gmcap-home-band h1 {
	margin: 0;
	font-size: clamp(22px, 3vw, 34px);
	font-weight: 900;
}

.gmcap-home-tools {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr);
	gap: 18px;
	margin: 18px 0;
}

.gmcap-home-search,
.gmcap-home-info,
.gmcap-program-card {
	border: 1px solid var(--gmcap-line);
	border-radius: 8px;
	background: #fff;
	padding: 20px;
}

.gmcap-home-search label,
.gmcap-home-info h2,
.gmcap-program-card h2 {
	display: block;
	margin: 0 0 12px;
	font-size: 20px;
	font-weight: 900;
}

.gmcap-program-card h2 {
	text-align: center;
	font-size: 28px;
}

.gmcap-home-search p,
.gmcap-home-info p,
.gmcap-program small {
	margin: 10px 0 0;
	color: var(--gmcap-muted);
}

.gmcap-chip,
.gmcap-status,
.gmcap-view {
	display: inline-block;
	border-radius: 6px;
	color: #fff;
	font-size: 12px;
	font-weight: 800;
}

.gmcap-chip {
	margin-right: 8px;
	padding: 4px 8px;
	background: var(--gmcap-orange);
}

.gmcap-status {
	padding: 5px 8px;
	background: #6b7280;
}

.gmcap-view {
	padding: 8px 12px;
	background: var(--gmcap-orange);
	text-decoration: none;
}

.gmcap-view:hover {
	background: var(--gmcap-orange-dark);
	color: #fff;
}

.gmcap-runner-status {
	display: inline-block;
	padding: 4px 7px;
	border-radius: 6px;
	background: #e8f5f2;
	color: var(--gmcap-accent);
	font-size: 12px;
	font-weight: 800;
	white-space: nowrap;
}

.gmcap-empty {
	text-align: center;
	color: var(--gmcap-muted);
}

@media (min-width: 1200px) {
	.gmcap-results,
	.gmcap-live-home {
		width: min(1320px, calc(100vw - 96px));
	}
}

@media (max-width: 1024px) {
	.gmcap-results,
	.gmcap-live-home {
		max-width: calc(100vw - 24px);
	}

	.gmcap-home-tools {
		grid-template-columns: 1fr 1fr;
	}

	.gmcap-toolbar {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 760px) {
	.gmcap-results,
	.gmcap-live-home {
		max-width: calc(100vw - 16px);
		margin: 16px auto;
		font-size: 14px;
	}

	.gmcap-hero {
		display: block;
		padding: 16px;
	}

	.gmcap-live-badge {
		margin-top: 14px;
	}

	.gmcap-summary,
	.gmcap-toolbar,
	.gmcap-home-tools {
		grid-template-columns: 1fr;
	}

	.gmcap-table-wrap,
	.gmcap-program-wrap {
		border: 0;
		background: transparent;
		overflow: visible;
	}

	.gmcap-table,
	.gmcap-table thead,
	.gmcap-table tbody,
	.gmcap-table tr,
	.gmcap-table td,
	.gmcap-program,
	.gmcap-program thead,
	.gmcap-program tbody,
	.gmcap-program tr,
	.gmcap-program td {
		display: block;
		width: 100%;
		min-width: 0;
	}

	.gmcap-table thead,
	.gmcap-program thead {
		display: none;
	}

	.gmcap-table tr,
	.gmcap-program tr {
		margin: 0 0 10px;
		border: 1px solid var(--gmcap-line);
		border-radius: 8px;
		background: #fff;
		overflow: hidden;
	}

	.gmcap-table td,
	.gmcap-program td {
		display: flex;
		justify-content: space-between;
		gap: 12px;
		border-bottom: 1px solid #eef2f4;
		white-space: normal;
	}

	.gmcap-table td::before,
	.gmcap-program td::before {
		content: attr(data-label);
		color: var(--gmcap-muted);
		font-weight: 800;
	}

	.gmcap-table td:last-child,
	.gmcap-program td:last-child {
		border-bottom: 0;
	}

	.gmcap-program td:first-child {
		display: block;
	}

	.gmcap-program td:first-child::before {
		display: block;
		margin-bottom: 6px;
	}

	.gmcap-view {
		width: 100%;
		text-align: center;
	}
}
