/* ChessForm Database Lookup Field */
.chessform-dblookup-wrapper {
	position: relative;
	display: inline-block;
	width: 100%;
}

.chessform-dblookup-dropdown {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	z-index: 1000;
	background: #fff;
	border: 1px solid #ccc;
	border-top: none;
	border-radius: 0 0 4px 4px;
	box-shadow: 0 4px 12px rgba(0,0,0,0.15);
	max-height: 300px;
	overflow-y: auto;
}

/* Table */
.chessform-dblookup-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 13px;
}

.chessform-dblookup-table thead {
	position: sticky;
	top: 0;
	z-index: 1;
}

.chessform-dblookup-table thead th {
	background: #f5f5f5;
	border-bottom: 2px solid #ddd;
	padding: 6px 10px;
	text-align: left;
	font-weight: 600;
	font-size: 12px;
	color: #555;
	white-space: nowrap;
}

.chessform-dblookup-table tbody tr {
	cursor: pointer;
	transition: background-color 0.15s;
}

.chessform-dblookup-table tbody tr:hover,
.chessform-dblookup-table tbody tr.chessform-dblookup-active {
	background-color: #e8f0fe;
}

.chessform-dblookup-table tbody td {
	padding: 6px 10px;
	border-bottom: 1px solid #eee;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 200px;
}

/* Loading spinner */
.chessform-dblookup-loading {
	padding: 15px;
	text-align: center;
}

.chessform-dblookup-spinner {
	display: inline-block;
	width: 20px;
	height: 20px;
	border: 2px solid #ddd;
	border-top-color: #3498db;
	border-radius: 50%;
	animation: chessform-dblookup-spin 0.6s linear infinite;
}

@keyframes chessform-dblookup-spin {
	to { transform: rotate(360deg); }
}

/* No results / Error */
.chessform-dblookup-noresults,
.chessform-dblookup-error {
	padding: 12px 15px;
	text-align: center;
	color: #888;
	font-size: 13px;
}

.chessform-dblookup-error {
	color: #d32f2f;
}

/* Load more button */
.chessform-dblookup-loadmore {
	display: block;
	width: 100%;
	padding: 8px;
	border: none;
	border-top: 1px solid #eee;
	background: #fafafa;
	color: #1976d2;
	font-size: 13px;
	cursor: pointer;
	text-align: center;
	transition: background-color 0.15s;
}

.chessform-dblookup-loadmore:hover {
	background: #f0f0f0;
}

.chessform-dblookup-loadmore:disabled {
	color: #999;
	cursor: default;
}
