.roster-form-container {
	max-width: 1000px;
	margin: 20px auto;
	padding: 20px;
	background: #fff;
	border: 1px solid #ddd;
	border-radius: 4px;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

.roster-form {
	display: flex;
	flex-direction: column;
	gap: 25px;
}

.form-group {
	display: flex;
	flex-direction: column;
}

.form-group label {
	font-weight: 600;
	margin-bottom: 8px;
	color: #333;
	font-size: 14px;
}

.form-group .required {
	color: #d32f2f;
	margin-left: 2px;
}

.form-control {
	padding: 8px 12px;
	border: 1px solid #ccc;
	border-radius: 3px;
	font-size: 14px;
	font-family: inherit;
	transition: border-color 0.2s;
}

.form-control:focus {
	outline: none;
	border-color: #0073aa;
	box-shadow: 0 0 0 3px rgba(0, 115, 170, 0.1);
}

.players-section {
	border: 1px solid #ddd;
	padding: 20px;
	border-radius: 4px;
	background: #f9f9f9;
}

.players-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 20px;
}

.players-header h3 {
	margin: 0;
	font-size: 16px;
}

.player-count {
	font-size: 13px;
	color: #666;
	margin-left: 10px;
	background: #e8e8e8;
	padding: 2px 8px;
	border-radius: 3px;
}

.players-table {
	width: 100%;
	border-collapse: collapse;
	background: white;
}

.players-table thead {
	background-color: #f0f0f0;
	border-bottom: 2px solid #ddd;
}

.players-table th {
	padding: 12px;
	text-align: left;
	font-weight: 600;
	font-size: 13px;
	color: #333;
}

.players-table td {
	padding: 10px;
	border-bottom: 1px solid #eee;
}

.players-table tbody tr:hover {
	background-color: #f9f9f9;
}

.player-num {
	text-align: center;
	width: 40px;
	font-weight: 600;
	color: #666;
}

.players-table input[type="text"],
.players-table input[type="email"],
.players-table input[type="date"],
.players-table select {
	width: 100%;
	padding: 6px 8px;
	border: 1px solid #ccc;
	border-radius: 3px;
	font-size: 13px;
	box-sizing: border-box;
}

.players-table input:focus,
.players-table select:focus {
	outline: none;
	border-color: #0073aa;
	box-shadow: 0 0 0 2px rgba(0, 115, 170, 0.1);
}

.btn-remove {
	background: none;
	border: none;
	color: #d32f2f;
	font-size: 24px;
	cursor: pointer;
	padding: 0;
	width: 30px;
	text-align: center;
	transition: color 0.2s;
}

.btn-remove:hover {
	color: #b71c1c;
}

.form-actions {
	display: flex;
	gap: 10px;
	justify-content: flex-end;
	padding-top: 20px;
	border-top: 1px solid #ddd;
}

.btn {
	padding: 10px 20px;
	border: none;
	border-radius: 4px;
	cursor: pointer;
	font-size: 14px;
	font-weight: 600;
	transition: background-color 0.2s, color 0.2s;
}

.btn-primary {
	background-color: #0073aa;
	color: white;
}

.btn-primary:hover {
	background-color: #005a87;
}

.btn-success {
	background-color: #46b450;
	color: white;
}

.btn-success:hover {
	background-color: #2d8659;
}

.btn-secondary {
	background-color: #666;
	color: white;
}

.btn-secondary:hover {
	background-color: #555;
}

.btn:disabled {
	opacity: 0.6;
	cursor: not-allowed;
}

#status-message {
	padding: 15px;
	margin-top: 15px;
	border-radius: 4px;
	display: none;
}

#status-message.success {
	background-color: #d4edda;
	border: 1px solid #c3e6cb;
	color: #155724;
	display: block;
}

#status-message.error {
	background-color: #f8d7da;
	border: 1px solid #f5c6cb;
	color: #721c24;
	display: block;
}

#status-message.hidden {
	display: none;
}

.loading {
	opacity: 0.6;
	pointer-events: none;
}

.btn.loading::after {
	content: " ...";
}

@media (max-width: 768px) {
	.players-table {
		font-size: 12px;
	}

	.players-table th,
	.players-table td {
		padding: 8px;
	}

	.players-table input[type="text"],
	.players-table input[type="email"],
	.players-table input[type="date"],
	.players-table select {
		padding: 4px 6px;
	}

	.btn {
		padding: 8px 16px;
		font-size: 13px;
	}

	.form-actions {
		flex-direction: column;
	}

	.form-actions .btn {
		width: 100%;
	}
}
