/* Denial Code Lookup — frontend styles */

.dcl-lookup-tool {
	max-width: 900px;
	margin: 20px 0;
	font-family: inherit;
}

.dcl-controls {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 16px;
}

.dcl-search-input {
	flex: 1 1 280px;
	padding: 10px 14px;
	font-size: 16px;
	border: 1px solid #ccd0d4;
	border-radius: 6px;
}

.dcl-type-filter,
.dcl-category-filter {
	padding: 10px 12px;
	border: 1px solid #ccd0d4;
	border-radius: 6px;
	background: #fff;
}

.dcl-results {
	min-height: 60px;
}

.dcl-hint,
.dcl-empty {
	color: #666;
	font-style: italic;
}

.dcl-result-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 12px;
}

.dcl-result-card {
	display: block;
	padding: 14px 16px;
	border: 1px solid #e2e4e7;
	border-radius: 8px;
	text-decoration: none;
	color: inherit;
	transition: box-shadow 0.15s ease, border-color 0.15s ease;
}

.dcl-result-card:hover {
	border-color: #2271b1;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.dcl-result-code {
	font-weight: 700;
	font-size: 16px;
	display: block;
	margin-bottom: 4px;
}

.dcl-result-summary {
	font-size: 14px;
	color: #444;
}

.dcl-badge {
	display: inline-block;
	font-size: 12px;
	font-weight: 600;
	padding: 3px 8px;
	border-radius: 4px;
	margin-right: 6px;
	background: #eee;
	color: #333;
}

.dcl-badge-carc { background: #dbeafe; color: #1e40af; }
.dcl-badge-rarc { background: #fef3c7; color: #92400e; }
.dcl-badge-group { background: #ede9fe; color: #5b21b6; }

.dcl-single-header h1 {
	margin: 10px 0 6px;
	font-size: 2rem;
}

.dcl-summary {
	font-size: 1.1rem;
	color: #444;
}

.dcl-section {
	margin: 24px 0;
}

.dcl-section h2 {
	font-size: 1.25rem;
	margin-bottom: 8px;
}

.dcl-related-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.dcl-chip {
	display: inline-block;
	padding: 4px 10px;
	border-radius: 999px;
	background: #f0f0f1;
	color: #2271b1;
	text-decoration: none;
	font-size: 14px;
	font-weight: 600;
}

.dcl-chip-plain {
	color: #666;
	font-weight: 400;
}

.dcl-disclaimer {
	border-top: 1px solid #e2e4e7;
	padding-top: 12px;
	font-size: 13px;
	color: #666;
}

.dcl-listing-grid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 10px;
}

.dcl-listing-grid li a {
	display: block;
	padding: 10px 12px;
	border: 1px solid #e2e4e7;
	border-radius: 6px;
	text-decoration: none;
	color: inherit;
}

.dcl-listing-grid li a span {
	display: block;
	font-size: 13px;
	color: #666;
	margin-top: 2px;
}

.dcl-loading {
	color: #666;
}
