.cst-public-wrap {
	max-width: 720px;
	margin: 0 auto;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

.cst-search-form {
	display: flex;
	gap: 8px;
	margin-bottom: 24px;
	flex-wrap: wrap;
}

.cst-search-form input[type="text"] {
	flex: 1 1 260px;
	padding: 12px 14px;
	border: 1px solid #ccd0d4;
	border-radius: 6px;
	font-size: 15px;
}

.cst-search-btn {
	padding: 12px 22px;
	background: #0b2545;
	color: #fff;
	border: none;
	border-radius: 6px;
	font-size: 15px;
	cursor: pointer;
}

.cst-search-btn:hover {
	background: #143a6b;
}

.cst-notice {
	padding: 14px 16px;
	border-radius: 6px;
	margin-bottom: 16px;
}

.cst-notice-error {
	background: #fdecea;
	color: #7a1f1f;
	border: 1px solid #f3c1bd;
}

.cst-result {
	border: 1px solid #e2e4e7;
	border-radius: 10px;
	padding: 24px;
	background: #fff;
}

.cst-result-header {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
	gap: 12px;
	border-bottom: 1px solid #eee;
	padding-bottom: 16px;
	margin-bottom: 16px;
}

.cst-result-header h3 {
	margin: 2px 0 0;
	font-size: 22px;
	letter-spacing: 0.5px;
}

.cst-label {
	text-transform: uppercase;
	font-size: 11px;
	color: #6b7280;
	letter-spacing: 0.06em;
}

.cst-status-pill {
	padding: 6px 14px;
	border-radius: 999px;
	background: #0b2545;
	color: #fff;
	font-size: 13px;
	font-weight: 600;
	white-space: nowrap;
	height: fit-content;
}

.cst-summary-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 16px;
	margin-bottom: 18px;
}

.cst-summary-grid p {
	margin: 4px 0 0;
	font-size: 15px;
}

.cst-update-cadence {
	padding: 10px 14px;
	border-radius: 6px;
	font-size: 13.5px;
	margin-bottom: 20px;
}

.cst-update-cadence.cst-ontrack {
	background: #ecfdf3;
	color: #036b3d;
	border: 1px solid #b7ebc9;
}

.cst-update-cadence.cst-overdue {
	background: #fff8ec;
	color: #8a5300;
	border: 1px solid #f3dfa7;
}

.cst-timeline-heading {
	margin-bottom: 10px;
}

.cst-timeline {
	list-style: none;
	margin: 0;
	padding: 0;
	border-left: 2px solid #e2e4e7;
}

.cst-timeline li {
	position: relative;
	padding: 0 0 18px 20px;
}

.cst-timeline li::before {
	content: "";
	position: absolute;
	left: -6px;
	top: 4px;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #0b2545;
}

.cst-timeline-date {
	display: block;
	font-size: 12px;
	color: #6b7280;
}

.cst-timeline-status {
	display: block;
	font-weight: 600;
	font-size: 15px;
}

.cst-timeline-location {
	display: block;
	font-size: 13.5px;
	color: #374151;
}

.cst-timeline-note {
	margin: 4px 0 0;
	font-size: 13px;
	color: #4b5563;
}

.cst-privacy-note {
	margin-top: 20px;
	font-size: 12px;
	color: #9ca3af;
	border-top: 1px solid #f0f0f0;
	padding-top: 12px;
}
