/* Admin — shared styles for dashboard + discover pages */

/* ── Stat list (key-value definition list) ──────────────────── */
[data-stat-list] {
	margin: 0;
	padding: 0;
}

[data-stat-list] > div {
	display: flex;
	justify-content: space-between;
	padding: 0.25rem 0;
}

[data-stat-list] > div + div {
	border-top: 1px solid var(--border);
}

[data-stat-list] dt {
	color: var(--muted-foreground);
	font-size: 0.875rem;
}

[data-stat-list] dd {
	margin: 0;
	font-weight: 600;
	text-align: right;
}

/* ── Month picker (Financials card) ─────────────────────────── */
[data-month-picker] {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

[data-year-group] h4 {
	margin: 0 0 0.375rem;
	font-size: 0.8125rem;
	color: var(--muted-foreground);
	font-weight: 600;
}

[data-year-group] .month-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 0.375rem;
}

[data-year-group] .badge {
	cursor: pointer;
	user-select: none;
}

[data-year-group] .badge[data-selected] {
	background: var(--primary);
	color: var(--primary-foreground);
}

/* ── Status banner (discover page) ──────────────────────────── */
[data-status-banner] {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0.75rem 1rem;
	border-radius: var(--radius-medium);
	background: var(--muted);
	margin-bottom: 1rem;
	font-size: 0.875rem;
	color: inherit;
	text-decoration: none;
}

[data-status-banner]:hover {
	background: var(--muted-foreground-hover, var(--muted));
	opacity: 0.9;
}

[data-status-banner] [data-state] {
	font-weight: 600;
}

/* ── Filter sidebar (discover page) ─────────────────────────── */
[data-discover-filters] {
	padding: 1rem;
}

[data-discover-filters] h3 {
	font-size: 0.8125rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--muted-foreground);
	margin: 1rem 0 0.375rem;
}

[data-discover-filters] h3:first-child {
	margin-top: 0;
}

[data-filter-group] {
	list-style: none;
	margin: 0;
	padding: 0;
}

[data-filter-group] li {
	margin: 0;
}

[data-filter-group] a {
	display: flex;
	justify-content: space-between;
	padding: 0.25rem 0.5rem;
	border-radius: var(--radius-small);
	text-decoration: none;
	font-size: 0.875rem;
	color: var(--foreground);
}

[data-filter-group] a:hover {
	background: var(--muted);
}

[data-filter-group] a[data-active] {
	background: var(--primary);
	color: var(--primary-foreground);
}

[data-filter-group] .count {
	color: var(--muted-foreground);
	font-size: 0.8125rem;
}

[data-filter-group] a[data-active] .count {
	color: inherit;
	opacity: 0.75;
}

/* ── Discover toolbar (quick select + actions) ──────────────── */
[data-discover-toolbar] {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-bottom: 0.75rem;
	font-size: 0.875rem;
}

[data-discover-toolbar] .quick-select-group {
	display: flex;
	align-items: center;
	gap: 0.25rem;
}

[data-discover-toolbar] .quick-select-group button {
	font-size: 0.8125rem;
	padding: 0.125rem 0.5rem;
}

[data-discover-toolbar] .toolbar-actions {
	margin-left: auto;
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

[data-selection-count] {
	color: var(--muted-foreground);
	white-space: nowrap;
}

/* ── Discover table checkbox column ─────────────────────────── */
td[data-col="select"],
th[data-col="select"] {
	width: 2.5rem;
	text-align: center;
}

/* ── Stat card (label + big number) ────────────────────────── */
[data-stat-card] dt {
	font-size: 0.8125rem;
	color: var(--muted-foreground);
	margin-bottom: 0.25rem;
}

[data-stat-card] dd {
	margin: 0;
	font-size: 1.5rem;
	font-weight: 700;
}

/* ── Stat grid (auto-fit cards) ────────────────────────────── */
[data-stat-grid] {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(10rem, 1fr));
	gap: 1rem;
}

/* ── Page header pattern ───────────────────────────────────── */
[data-page-header] {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 1rem;
	margin-bottom: 1.5rem;
}

[data-page-header] p {
	color: var(--muted-foreground);
	margin: 0.25rem 0 0;
}

[data-page-header] > :last-child {
	flex-shrink: 0;
	white-space: nowrap;
}

/* Error banner */
[data-error-banner] {
	border: 1px solid var(--danger);
	border-radius: var(--radius-medium);
	padding: 0.75rem 1rem;
	margin-bottom: 0.75rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	background: color-mix(in srgb, var(--danger) 8%, transparent);
}

[data-error-banner] > div {
	display: flex;
	align-items: center;
}

[data-error-banner] p {
	margin: 0;
	color: var(--danger);
	font-size: 0.875rem;
}

/* ── Discover layout (sidebar + main) ──────────────────────── */
[data-discover-layout] {
	display: grid;
	grid-template-columns: 16rem 1fr;
	gap: 1.5rem;
	align-items: start;
}

@media (max-width: 1024px) {
	[data-discover-layout] {
		grid-template-columns: 1fr;
	}
}
