.gp-tracker-wrap {
	max-width: 640px;
	margin: 0 auto;
	padding: 32px 24px;
	font-family: inherit;
}

.gp-tracker-title {
	margin-bottom: 4px;
	font-size: 26px;
}

.gp-tracker-sub {
	margin-bottom: 20px;
	color: #555;
}

.gp-tracker-form {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
}

.gp-tracker-form input[type="text"] {
	flex: 1 1 240px;
	padding: 12px 14px;
	border: 1px solid #ccc;
	border-radius: 6px;
	font-size: 15px;
}

.gp-tracker-form button {
	padding: 12px 22px;
	background: #0b3d91;
	color: #fff;
	border: none;
	border-radius: 6px;
	font-size: 15px;
	cursor: pointer;
	transition: background 0.15s ease;
}

.gp-tracker-form button:hover { background: #092f70; }
.gp-tracker-form button:disabled { opacity: 0.6; cursor: default; }

.gp-tracker-result { margin-top: 24px; }
.gp-loading { color: #777; }

.gp-result-card {
	border: 1px solid #e2e2e2;
	border-radius: 8px;
	padding: 20px;
}

.gp-result-error {
	background: #fdecea;
	border-color: #f5c6cb;
	color: #7a1f1f;
}

.gp-result-header { margin-bottom: 16px; line-height: 1.7; }

.gp-route-badge {
	display: inline-block;
	margin-bottom: 8px;
	padding: 4px 12px;
	border-radius: 999px;
	font-size: 13px;
	font-weight: 600;
	background: #eef2ff;
	color: #0b3d91;
}

.gp-overall-status {
	display: inline-block;
	margin-top: 8px;
	padding: 4px 12px;
	border-radius: 999px;
	font-size: 13px;
	font-weight: 600;
	text-transform: capitalize;
	background: #eef2ff;
	color: #333;
}

.gp-overall-completed { background: #e3f9e5; color: #1e7e34; }
.gp-overall-received { background: #fff6e0; color: #8a6d00; }
.gp-overall-on_hold { background: #fdecea; color: #a33; }

.gp-timeline {
	list-style: none;
	margin: 0;
	padding: 0;
	border-left: 2px solid #e2e2e2;
	margin-left: 8px;
}

.gp-stage { position: relative; padding: 0 0 20px 24px; }
.gp-stage:last-child { padding-bottom: 0; }

.gp-stage-dot {
	position: absolute;
	left: -7px;
	top: 3px;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: #ccc;
	border: 2px solid #fff;
}

.gp-stage-completed .gp-stage-dot { background: #2e7d32; }
.gp-stage-in_progress .gp-stage-dot { background: #f9a825; }
.gp-stage-pending .gp-stage-dot { background: #bbb; }

.gp-stage-name { font-weight: 600; }
.gp-stage-meta { font-size: 13px; color: #666; margin-top: 2px; }
.gp-stage-notes { font-size: 13px; color: #444; margin-top: 4px; }

.gp-custom-fields {
	margin-top: 16px;
	padding-top: 16px;
	border-top: 1px dashed #e2e2e2;
	font-size: 13px;
}

.gp-custom-field { margin-bottom: 4px; }

.gp-last-updated { margin-top: 16px; font-size: 12px; color: #888; }

.gp-tracker-footnote { margin-top: 24px; font-size: 13px; color: #666; }
