.gdv-track-wrap {
	max-width: 1600px;
}

.gdv-track-lead {
	color: #50575e;
	max-width: 900px;
	margin: 8px 0 16px;
	padding-left: 20px;
}

.gdv-track-lead li {
	margin: 4px 0;
}

.gdv-track-stats {
	display: flex;
	gap: 12px;
	margin: 16px 0;
	flex-wrap: wrap;
}

.gdv-track-stat {
	background: #fff;
	border: 1px solid #dcdcde;
	border-radius: 6px;
	min-width: 140px;
	padding: 12px 16px;
}

.gdv-track-stat-label {
	display: block;
	color: #646970;
	font-size: 12px;
	margin-bottom: 4px;
}

.gdv-track-stat strong {
	font-size: 22px;
	line-height: 1.2;
}

.gdv-track-stat-meta strong {
	font-size: 16px;
}

.gdv-track-toolbar {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	margin: 0 0 12px;
	flex-wrap: wrap;
}

.gdv-track-filters {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	margin: 0 0 12px;
	flex-wrap: wrap;
}

.gdv-filter-ip {
	display: flex;
	align-items: center;
	gap: 8px;
	font-weight: 600;
	flex-wrap: wrap;
}

.gdv-filter-ip input,
.gdv-filter-ip select {
	min-width: 180px;
}

#gdv-filter-ref {
	min-width: 160px;
}

.gdv-sort-group {
	display: flex;
	align-items: center;
	gap: 6px;
	flex-wrap: wrap;
}

.gdv-ip {
	cursor: pointer;
	display: inline-flex;
	align-items: baseline;
	gap: 0.35em;
	box-sizing: content-box;
	white-space: nowrap;
	font-family: ui-monospace, Consolas, Menlo, monospace;
	font-size: 12px;
	line-height: 1.45;
}

.gdv-ip-addr {
	display: inline-block;
	width: 15ch;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.gdv-ip-n {
	flex: 0 0 8ch;
	white-space: nowrap;
}

.gdv-ip-cell {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	max-width: 100%;
}

.gdv-ip-cell .gdv-badge {
	margin-right: 0;
	flex-shrink: 0;
}

.gdv-purge-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.gdv-track-purge .button-link-delete {
	color: #b32d2e;
}

.gdv-pager {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 10px 0 16px;
}

.gdv-pager[hidden] {
	display: none;
}

.gdv-track-table {
	width: 100%;
	table-layout: auto;
}

.gdv-track-table th,
.gdv-track-table td {
	vertical-align: middle;
}

.gdv-col-time,
.gdv-col-duration {
	width: 1%;
	white-space: nowrap;
}

.gdv-col-stt {
	width: 48px;
}

.gdv-col-warn {
	width: 1%;
	white-space: nowrap;
	text-align: right;
}

.gdv-warn-cell {
	display: inline-flex;
	align-items: center;
	justify-content: flex-end;
	gap: 4px;
	width: 100%;
	white-space: nowrap;
}

.gdv-col-booked {
	width: 88px;
	white-space: nowrap;
}

.gdv-booked-cell {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	flex-wrap: wrap;
}

.gdv-booked-cell .gdv-badge {
	margin-right: 0;
}

.gdv-badge-booked {
	background: #f0f0f1;
	color: #8c8f94;
	font-weight: 400;
	opacity: 0.7;
}

.gdv-row-staff td {
	background: #f0f6fc;
}

.gdv-col-ip {
	width: 1%;
	white-space: nowrap;
}

.gdv-col-url {
	width: auto;
	max-width: 18em;
}

.gdv-url {
	display: block;
	max-width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.gdv-col-ref {
	width: auto;
	max-width: 14em;
}

.gdv-ref {
	display: flex;
	align-items: center;
	gap: 6px;
	max-width: 100%;
	min-width: 0;
}

.gdv-ref .gdv-badge {
	flex-shrink: 0;
	margin-right: 0;
}

.gdv-ref-search {
	cursor: pointer;
}

.gdv-ref a {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.gdv-warn-cell .gdv-badge {
	margin-right: 0;
}

.gdv-block-btn.button-small {
	padding: 0 6px;
	min-height: 22px;
	line-height: 20px;
	font-size: 11px;
}

.gdv-block-btn.is-blocked {
	background: #fef7e0;
	border-color: #e2c36b;
	color: #8a5a00;
}

.gdv-badge-warn-low {
	background: #fef7e0;
	color: #8a5a00;
	font-weight: 600;
}

.gdv-badge-warn-high {
	background: #fce8e6;
	color: #c5221f;
	font-weight: 600;
}

.gdv-row-warn-low td {
	background: #fffbeb;
}

.gdv-row-warn-high td {
	background: #fde7e9;
}

.gdv-track-table code {
	font-size: 12px;
}

.gdv-ua {
	display: inline-block;
	max-width: 240px;
	font-size: 12px;
	line-height: 1.4;
	cursor: help;
}

.gdv-muted {
	color: #8c8f94;
	font-size: 12px;
}

.gdv-badge {
	display: inline-block;
	margin-right: 6px;
	padding: 1px 6px;
	border-radius: 99px;
	font-size: 11px;
	line-height: 1.6;
	background: #f0f0f1;
}

.gdv-badge-staff {
	background: #2271b1;
	color: #fff;
	font-weight: 600;
}

.gdv-badge-google {
	background: #e6f4ea;
	color: #137333;
}

.gdv-badge-search {
	background: #e8f0fe;
	color: #1967d2;
}

.gdv-badge-external {
	background: #fef7e0;
	color: #b06000;
}

.gdv-badge-internal {
	background: #f3e8fd;
	color: #7627bb;
}

.gdv-badge-direct {
	background: #f0f0f1;
	color: #50575e;
}

.gdv-badge-facebook {
	background: #e7f0ff;
	color: #1877f2;
}

.gdv-badge-instagram {
	background: #fce8f3;
	color: #c13584;
}

.gdv-badge-tiktok {
	background: #f3f3f3;
	color: #111111;
}

.gdv-badge-youtube {
	background: #fdeaea;
	color: #c00;
}

.gdv-badge-zalo {
	background: #e6f4ff;
	color: #0068ff;
}

.gdv-badge-chatgpt {
	background: #ececf1;
	color: #10a37f;
}

.gdv-badge-gemini {
	background: #e8f0fe;
	color: #1a73e8;
}

.gdv-badge-grok {
	background: #f3f3f3;
	color: #111111;
}

.gdv-badge-threads {
	background: #f3e8fd;
	color: #4f1d75;
}

.gdv-badge-google_ads {
	background: #e8f0fe;
	color: #1967d2;
}

.gdv-badge-youtube_ads {
	background: #fdecea;
	color: #c5221f;
}

.gdv-badge-facebook_ads {
	background: #e7f0ff;
	color: #1877f2;
}

.gdv-badge-instagram_ads {
	background: #fce8f3;
	color: #c13584;
}

.gdv-badge-tiktok_ads {
	background: #f3f3f3;
	color: #111111;
}

.gdv-badge-zalo_ads {
	background: #e6f4ff;
	color: #0068ff;
}

.gdv-track-settings {
	margin-top: 28px;
	padding: 16px 20px;
	background: #fff;
	border: 1px solid #dcdcde;
	border-radius: 6px;
	max-width: 640px;
}

.gdv-settings-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.gdv-settings-head h2 {
	margin: 0;
}

.gdv-track-settings.is-collapsed #gdv-settings-body {
	display: none;
}

.gdv-track-settings label {
	display: block;
	margin: 8px 0;
}

#gdv-tg-test-result {
	margin-left: 8px;
}

.gdv-track-live-flag {
	display: flex;
	align-items: center;
	gap: 8px;
	color: #1d2327;
	font-weight: 600;
}

.gdv-live-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #00a32a;
	box-shadow: 0 0 0 0 rgba(0, 163, 42, 0.6);
	animation: gdv-pulse 1.4s infinite;
}

@keyframes gdv-pulse {
	0% { box-shadow: 0 0 0 0 rgba(0, 163, 42, 0.5); }
	70% { box-shadow: 0 0 0 8px rgba(0, 163, 42, 0); }
	100% { box-shadow: 0 0 0 0 rgba(0, 163, 42, 0); }
}

.gdv-row-changed td {
	background: #e6f4ea !important;
}

.gdv-status-ok {
	color: #00a32a;
}

.gdv-status-bad {
	color: #d63638;
}

.gdv-live-dot.is-off {
	background: #d63638;
	animation: none;
}

.gdv-col-action {
	width: 88px;
}

.gdv-modal[hidden] {
	display: none;
}

.gdv-modal {
	position: fixed;
	inset: 0;
	z-index: 100000;
}

.gdv-modal-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.45);
}

.gdv-modal-box {
	position: relative;
	z-index: 1;
	width: min(1200px, calc(100% - 32px));
	max-height: calc(100vh - 64px);
	margin: 32px auto;
	padding: 16px 20px 20px;
	background: #fff;
	border-radius: 8px;
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.2);
	overflow: auto;
}

.gdv-modal-head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	margin-bottom: 8px;
}

.gdv-modal-head h2 {
	margin: 0;
	font-size: 18px;
}

.gdv-session-split td {
	background: #f0f6fc;
	font-weight: 600;
}

.gdv-track-stats-box {
	max-width: 1400px;
	overflow-x: auto;
}

.gdv-stats-ranges {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 12px;
}

.gdv-stats-table {
	width: 100%;
	margin: 0 0 16px;
	border-collapse: collapse;
}

.gdv-stats-table th,
.gdv-stats-table td {
	padding: 8px 10px;
	text-align: center;
	vertical-align: middle;
}

.gdv-stats-table th[scope="row"],
.gdv-stats-table tbody th {
	text-align: left;
	font-weight: 600;
	white-space: nowrap;
}

.gdv-stats-table thead tr:first-child th {
	text-align: center;
	background: #f0f0f1;
	font-size: 14px;
}

.gdv-stats-table-clicks {
	max-width: 560px;
}

.gdv-stats-table-clicks th:nth-child(2),
.gdv-stats-table-clicks th:nth-child(3),
.gdv-stats-table-clicks td {
	width: 120px;
}

.gdv-stats-table-clicks tbody th {
	max-width: 280px;
	overflow: hidden;
	text-overflow: ellipsis;
}

.gdv-stats-table-clicks tfoot th,
.gdv-stats-table-clicks tfoot td {
	font-weight: 700;
	background: #f6f7f7;
	border-top: 1px solid #c3c4c7;
}
