body {
	background-color: #f8f9fa;
}

h1 {
	color: #343a40;
}

/* Lighter placeholder text */
::placeholder {
	color: #c0c0c0 !important;
	opacity: 1;
}

/* Card headers match site style */
.card-header {
	background-color: #343a40;
	color: white;
}

.card-header .badge-light {
	background-color: rgba(255, 255, 255, 0.2);
	color: white;
}

.card-footer {
	background-color: #f8f9fa;
	border-top: 1px solid #e9ecef;
}

.share-propose-section {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	align-items: flex-start;
}

/* Franchise selection */
.form-check-label {
	cursor: pointer;
	font-weight: 500;
	color: #495057;
	transition: color 0.15s;
}

.form-check-input:checked + .form-check-label {
	color: #007bff;
}

/* Input group styling */
.input-group-text {
	background-color: #e9ecef;
	border-color: #ced4da;
	min-width: 38px;
	justify-content: center;
}

/* Color-coded input backgrounds for add-asset form */
.input-group-text.player-icon {
	background-color: rgba(40, 167, 69, 0.15);
	border-color: rgba(40, 167, 69, 0.3);
}

.input-group-text.pick-icon {
	background-color: rgba(23, 162, 184, 0.15);
	border-color: rgba(23, 162, 184, 0.3);
}

.input-group-text.cash-icon {
	background-color: rgba(255, 193, 7, 0.2);
	border-color: rgba(255, 193, 7, 0.4);
}

/* Amount input */
input.amount {
	max-width: 100px;
}

/* Separator between form and assets */
.asset-separator {
	border-top: 1px solid #e9ecef;
	margin: 0.5rem 0 1rem 0;
}

/* Trade machine asset content needs flex to push remove button right */
.gets .asset-list .asset-content {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

.gets .asset-list .asset-details {
	flex: 1;
}

/* Remove button styling */
.asset-list .remove-asset {
	color: #dc3545;
	opacity: 0.5;
	transition: opacity 0.15s;
	line-height: 1;
	flex-shrink: 0;
	margin-left: 0.5rem;
}

.asset-list .remove-asset:hover {
	opacity: 1;
	color: #dc3545;
	text-decoration: none;
}


/* Select dropdowns */
select.form-control {
	font-size: 0.875rem;
}

/* Franchise selection - 2 columns on small screens, 1 on large */
.franchise-list {
	column-count: 2;
	column-gap: 1rem;
}

@media (min-width: 992px) {
	.franchise-list {
		column-count: 1;
	}
}

/* Prevent items from breaking across columns */
.franchise-list .form-check {
	break-inside: avoid;
}

/* Party sections within Trade Details card */
.party-header {
	margin-bottom: 0.75rem;
}

.party-name {
	font-size: 1rem;
}

.party-separator {
	margin: 1.5rem 0;
	border-top: 2px solid #e9ecef;
}


/* Vertically center empty state in two-column layout */
@media (min-width: 1200px) {
	.gets .col-xl-6:last-child {
		display: flex;
		align-items: flex-start;
	}
	
	.gets .col-xl-6:last-child:has(.empty-state:not(.d-none)) {
		align-items: center;
	}
	
	.gets .assets-container {
		width: 100%;
	}
	
	.gets .empty-state {
		text-align: center;
	}
}

/* Match asset list font size to input-group-sm */
.gets .asset-list {
	font-size: 0.875rem;
}


/* Budget impact table */
.budget-impact .table {
	font-size: 0.8rem;
}

.budget-impact .table th,
.budget-impact .table td {
	white-space: nowrap;
	padding: 0.25rem 0.4rem;
}

.budget-impact .table th {
	font-weight: 500;
	color: #6c757d;
}

/* Responsive adjustments */
@media (max-width: 991px) {
	.gets {
		margin-bottom: 1rem !important;
	}
}

/* Card hover effect for selected parties */
.gets .card {
	transition: box-shadow 0.2s;
}

.gets .card:hover {
	box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.1);
}
