/* Structured data and action layout refinements. */
/* Distribución de datos estructurados y acciones. */
.page-heading {
	padding-bottom: 14px;
	border-bottom: 1px solid var(--line);
}
.page-heading > .btn {
	align-self: center;
}
.panel > .section-title {
	padding-bottom: 12px;
	border-bottom: 1px solid var(--line);
}
#recent .table-shell {
	margin: 0;
	border: 1px solid var(--line);
	border-radius: var(--radius-sm);
	background: var(--surface);
}
#recent table {
	min-width: 0;
}
.recent-reference {
	font-weight: 600;
}
.route-cell {
	color: var(--secondary);
}
#adminView .grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: stretch;
}
#adminView .grid form {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	padding: 17px;
	border: 1px solid var(--line);
	border-radius: var(--radius-sm);
	background: var(--surface-soft);
}
#adminView .grid form label:last-of-type,
#adminView .grid form .form-actions {
	grid-column: 1/-1;
}
#adminView .grid form .form-actions {
	display: flex;
	justify-content: flex-end;
	padding-top: 14px;
	border-top: 1px solid var(--line);
}
#modalContent {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	clear: both;
	padding-top: 8px;
}
#modalContent h2,
#modalContent .modal-actions {
	grid-column: 1/-1;
}
#modalContent .modal-actions {
	display: flex;
	justify-content: flex-end;
	gap: 10px;
	padding-top: 14px;
	border-top: 1px solid var(--line);
}
#detailView > .panel {
	padding: 0;
	overflow: hidden;
}
.detail-top {
	padding: 0 0 16px;
	border-bottom: 1px solid var(--line);
	margin-bottom: 18px;
}
.detail-top + .notice {
	padding: 14px;
}
#detailView #lines {
	display: table;
	width: 100%;
	border-collapse: collapse;
}
.line-grid {
	display: table-row;
}
.line-grid label,
.line-grid > input {
	display: table-cell;
	padding: 11px;
	border-right: 1px solid var(--line);
	border-bottom: 1px solid var(--line);
	vertical-align: middle;
}
.line-grid label {
	font-size: 0;
}
.line-grid label input {
	min-width: 105px;
}
.line-grid .remove {
	display: table-cell;
	border: 0;
	border-bottom: 1px solid var(--line);
	border-radius: 0;
	background: var(--surface-soft);
}
#detailView #addLine {
	margin: 16px;
}
.actions {
	margin: 0;
	padding: 16px 20px;
	background: var(--surface-soft);
}
@media (max-width: 760px) {
	#adminView .grid,
	#adminView .grid form,
	#modalContent {
		grid-template-columns: 1fr;
	}
	#modalContent h2,
	#modalContent .modal-actions,
	#adminView .grid form label:last-of-type,
	#adminView .grid form .form-actions {
		grid-column: auto;
	}
	.line-grid {
		display: grid;
		grid-template-columns: 1fr 1fr;
		padding: 12px;
	}
	.line-grid label,
	.line-grid > input,
	.line-grid .remove {
		display: block;
		border: 0;
		padding: 0;
	}
	.line-grid > input {
		display: none;
	}
	.line-grid label {
		font-size: 13px;
	}
	.line-grid .remove {
		justify-self: end;
		background: transparent;
	}
	.line-grid label input {
		min-width: 0;
	}
	.recent-reference {
		white-space: nowrap;
	}
}
