.ttr-calculator {
	max-width: 100%;
	box-sizing: border-box;
	font-size: 15px;
	line-height: 1.5;
}

.ttr-calculator * {
	box-sizing: border-box;
}

.ttr-controls {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 1.25em;
	margin-bottom: 1.25em;
	text-align: center;
}

.ttr-field label {
	display: block;
	font-weight: 600;
	margin-bottom: 0.35em;
}

.ttr-field input {
	padding: 0.4em 0.6em;
	border: 1px solid #ccd3da;
	border-radius: 4px;
	font-size: 1em;
}

.ttr-map-hint {
	margin: 0 0 0.5em;
	color: #566270;
	font-size: 0.92em;
}

.ttr-map-wrap {
	margin-bottom: 1.5em;
}

.ttr-map-container {
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
	border-radius: 6px;
	overflow: hidden;
	box-shadow: 0 0 0 1px #d5dce2;
	background: #ffffff;
}

.ttr-map-container svg {
	display: block;
	width: 100%;
	height: auto;
}

.ttr-map-container svg .landxx {
	cursor: pointer;
	transition: filter 0.1s ease;
}

.ttr-map-container svg .landxx:hover {
	filter: brightness( 1.15 );
}

.ttr-zones-section h3 {
	margin: 0 0 0.5em;
}

.ttr-zones-table,
.ttr-results-table {
	width: 100%;
	border-collapse: collapse;
	overflow-x: auto;
	display: block;
}

.ttr-zones-table thead,
.ttr-zones-table tbody,
.ttr-zones-table tr,
.ttr-results-table thead,
.ttr-results-table tbody,
.ttr-results-table tr {
	display: table;
	width: 100%;
	table-layout: fixed;
}

.ttr-zones-table th,
.ttr-zones-table td,
.ttr-results-table th,
.ttr-results-table td {
	padding: 0.45em 0.6em;
	border: 1px solid #e1e6eb;
	text-align: left;
	font-size: 0.92em;
}

.ttr-offset-cell {
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

.ttr-zones-empty {
	color: #7a8593;
	font-style: italic;
}

.ttr-zone-delete {
	background: none;
	border: none;
	cursor: pointer;
	font-size: 1.05em;
	padding: 0.1em 0.4em;
	border-radius: 4px;
}

.ttr-zone-delete:hover {
	background: #fbe4e0;
}

.ttr-actions {
	margin: 1.25em 0;
}

.ttr-calculate-btn {
	padding: 0.6em 1.4em;
	font-size: 1em;
	font-weight: 600;
	border: none;
	border-radius: 5px;
	background: #2f6fed;
	color: #fff;
	cursor: pointer;
}

.ttr-calculate-btn:disabled {
	background: #a9b8ce;
	cursor: not-allowed;
}

.ttr-results {
	margin-top: 1em;
	overflow-x: auto;
}

.ttr-best-notice {
	background: #eaf6ec;
	border: 1px solid #b7dfc0;
	border-radius: 5px;
	padding: 0.6em 0.9em;
	margin-bottom: 0.8em;
}

.ttr-results-table {
	min-width: 600px;
}

.ttr-utc-cell {
	white-space: nowrap;
	font-weight: 600;
	background: #f5f7f9;
}

.ttr-cell {
	text-align: center;
	white-space: nowrap;
}

.ttr-best-row td {
	box-shadow: inset 0 0 0 2px #2f6fed;
}

.ttr-error {
	color: #a3271b;
	background: #fbe4e0;
	border: 1px solid #f0b6ac;
	border-radius: 5px;
	padding: 0.6em 0.9em;
}

@media ( max-width: 600px ) {
	.ttr-controls {
		flex-direction: column;
		gap: 0.75em;
	}
}
