.grepicker-field-status {
	display: block;
	margin-block-start: 6px;
	color: #50575e;
	font-size: 0.875em;
	line-height: 1.4;
}

.grepicker-field-status[data-state="error"] {
	color: #b32d2e;
}

.grepicker-field-status[data-state="loading"] {
	color: #3858e9;
}

.grepicker-order-field input,
.grepicker-shipping-city,
.grepicker-billing-city,
.grepicker-cart-city {
	width: 100%;
}

.grepicker-order-details {
	margin-block: 32px;
}

.grepicker-order-details__list {
	margin: 0;
	border-block-start: 1px solid currentColor;
}

.grepicker-order-details__row {
	display: grid;
	grid-template-columns: minmax(140px, 0.45fr) minmax(0, 1fr);
	gap: 16px;
	padding-block: 12px;
	border-block-end: 1px solid currentColor;
}

.grepicker-order-details__row dt {
	font-weight: 600;
}

.grepicker-order-details__row dd {
	margin: 0;
	overflow-wrap: anywhere;
}

.grepicker-tracking {
	width: min(100%, 680px);
	margin: 24px auto;
	padding: 24px;
	border: 1px solid #c3c4c7;
	border-radius: 6px;
	background: #fff;
	color: #1d2327;
}

.grepicker-tracking h2 {
	margin-block: 0 18px;
	font-size: 1.5rem;
	line-height: 1.25;
	text-wrap: balance;
}

.grepicker-tracking label {
	display: block;
	margin-block-end: 6px;
	font-weight: 600;
}

.grepicker-tracking__controls {
	display: flex;
	align-items: stretch;
	gap: 8px;
}

.grepicker-tracking__controls input {
	min-width: 0;
	flex: 1;
	min-height: 44px;
	padding-inline: 12px;
	border: 1px solid #8c8f94;
	border-radius: 4px;
	background: #fff;
	color: #1d2327;
	font: inherit;
}

.grepicker-tracking__controls button {
	min-height: 44px;
	padding-inline: 18px;
	border: 1px solid #135e96;
	border-radius: 4px;
	background: #2271b1;
	color: #fff;
	font: inherit;
	font-weight: 600;
	cursor: pointer;
	transition:
		background-color 160ms ease-out,
		transform 120ms cubic-bezier(0.23, 1, 0.32, 1);
}

.grepicker-tracking__controls button:hover {
	background: #135e96;
}

.grepicker-tracking__controls button:active {
	transform: scale(0.97);
}

.grepicker-tracking__controls button:disabled {
	cursor: wait;
	opacity: 0.65;
}

.grepicker-tracking__controls input:focus-visible,
.grepicker-tracking__controls button:focus-visible {
	outline: 2px solid #3858e9;
	outline-offset: 2px;
}

.grepicker-tracking__result {
	min-height: 24px;
	margin-block-start: 18px;
	overflow-wrap: anywhere;
}

.grepicker-tracking__result.is-error {
	padding: 10px 12px;
	border: 1px solid #e6a7a7;
	border-radius: 4px;
	background: #fcf0f1;
	color: #8a2424;
}

.grepicker-tracking__data {
	max-height: 420px;
	margin: 0;
	padding: 14px;
	overflow: auto;
	border: 1px solid #c3c4c7;
	border-radius: 4px;
	background: #f6f7f7;
	color: #1d2327;
	font-size: 0.875rem;
	line-height: 1.5;
	white-space: pre-wrap;
	word-break: break-word;
}

@media (max-width: 520px) {
	.grepicker-order-details__row {
		grid-template-columns: 1fr;
		gap: 4px;
	}

	.grepicker-tracking {
		padding: 18px;
	}

	.grepicker-tracking__controls {
		flex-direction: column;
	}
}

@media (prefers-color-scheme: dark) {
	.grepicker-tracking {
		border-color: #50575e;
		background: #1d2327;
		color: #f0f0f1;
	}

	.grepicker-tracking__controls input {
		border-color: #8c8f94;
		background: #2c3338;
		color: #f0f0f1;
	}

	.grepicker-tracking__data {
		border-color: #50575e;
		background: #2c3338;
		color: #f0f0f1;
	}

	.grepicker-tracking__result.is-error {
		border-color: #b32d2e;
		background: #3d1f20;
		color: #ffb8b8;
	}
}

@media (prefers-reduced-motion: reduce) {
	.grepicker-tracking__controls button {
		transition: background-color 160ms ease-out;
	}

	.grepicker-tracking__controls button:active {
		transform: none;
	}
}

@media (forced-colors: active) {
	.grepicker-tracking,
	.grepicker-tracking__controls input,
	.grepicker-tracking__data {
		border-color: CanvasText;
	}
}
