/* ============================================================
	ATTENTIQ DASHBOARD TABLE — Post Cards & Toolbar
	All colours use CSS variables from attentiq-admin.css
	All text meets WCAG AA (4.5:1) — minimum font-size: 12px
	============================================================ */

/* ── Post Cards Grid ──────────────────────────────────────── */
#attentiq-posts-grid {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

#attentiq-post-list {
	position: relative;
	min-height: 100px;
}

.iq-post-card {
	background: var(--surface);
	border-radius: 12px;
	border: 1px solid var(--border);
	padding: 16px 20px;
	box-shadow: var(--shadow-sm);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	transition: box-shadow 0.2s;
	text-decoration: none;
	color: inherit;
	margin-bottom: 8px;
}

.iq-post-card:hover {
	box-shadow: var(--shadow-md), 0 0 0 1px rgba(108,99,255,0.14);
}

/* ── Left side ────────────────────────────────────────────── */
.iq-post-card__left {
	display: flex;
	align-items: center;
	gap: 14px;
	min-width: 0;
	flex: 1;
}

/* Score ring */
.iq-score-ring {
	position: relative;
	width: 48px;
	height: 48px;
	flex-shrink: 0;
}

.iq-score-ring__fill {
	transition: stroke-dashoffset 0.8s cubic-bezier(0.4,0,0.2,1);
}

.iq-score-ring__num {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 12px;
	font-weight: 700;
	color: var(--text);
	font-family: var(--font-mono);
}

/* Post info */
.iq-post-card__info {
	min-width: 0;
	flex: 1;
}

.iq-post-card__title {
	font-size: 14px;
	font-weight: 600;
	color: var(--text);
	text-decoration: none;
	display: block;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	margin-bottom: 4px;
	max-width: 380px;
}

.iq-post-card__title:hover { color: var(--primary-text); }

.iq-post-card__meta {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}

.iq-post-type {
	font-size: 12px;
	font-weight: 600;
	color: var(--text-3-aa);
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

.iq-post-stat {
	font-size: 12px;
	color: var(--text-3-aa);
}

.iq-post-stat strong {
	font-weight: 600;
	color: var(--text);
}

.iq-post-card__actions {
	display: flex;
	align-items: center;
	gap: 10px;
}

/* ── Right side ───────────────────────────────────────────── */
.iq-post-card__right {
	display: flex;
	align-items: center;
	gap: 16px;
	flex-shrink: 0;
}

/* Slot column (label + badges) */
.iq-slot-col {
	display: flex;
	flex-direction: column;
	gap: 4px;
	width: 220px;
	flex-shrink: 0;
}

/* Shared label style across all right-panel stat columns */
.iq-slot-label,
.iq-post-card__rev-label {
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--text-3-aa);
	white-space: nowrap;
	font-family: var(--font-body);
}

.iq-slot-none {
	font-size: 13px;
	font-weight: 600;
	color: var(--text-3-aa);
	line-height: 1.6;
}

/* Slot badges */
.iq-slot-row {
	display: flex;
	align-items: center;
	gap: 5px;
	flex-wrap: wrap;
}

.iq-slot-badge {
	font-size: 12px;
	font-weight: 700;
	padding: 3px 9px;
	border-radius: 5px;
	border: 1px solid var(--border);
	color: var(--text-2);
	background: var(--surface-3);
	white-space: nowrap;
	line-height: 1.6;
}

.iq-slot-badge--best {
	background: var(--primary-soft);
	border-color: rgba(108,99,255,0.30);
	color: var(--primary-text);
	box-shadow: inset 0 0 0 1px rgba(108,99,255,0.15);
}

/* Revenue */
.iq-post-card__rev {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 72px;
}

.iq-post-card__rev-value {
	font-size: 14px;
	font-weight: 700;
	color: var(--text);
	font-family: var(--font-mono);
	letter-spacing: -0.3px;
	line-height: 1.6;
}

.iq-post-card__stat-box--always {
	display: block;
	background: var(--surface-3);
	border-radius: 8px;
	padding: 8px 10px;
}

.iq-post-card__best-slot {
	font-size: 12px;
	font-weight: 600;
	color: var(--text);
}

/* ── Toggle ───────────────────────────────────────────────── */
.iq-toggle {
	position: relative;
	width: 36px;
	height: 20px;
	flex-shrink: 0;
	cursor: pointer;
}

.iq-toggle input {
	opacity: 0;
	width: 0;
	height: 0;
	position: absolute;
}

.iq-toggle-track {
	position: absolute;
	inset: 0;
	background: var(--default-toggle-bg);
	border-radius: 99px;
	border: 1px solid var(--border);
	transition: background 0.2s, border-color 0.2s;
}

.iq-toggle input:checked ~ .iq-toggle-track {
	background: var(--primary);
	border-color: var(--primary);
}

.iq-toggle-thumb {
	position: absolute;
	top: 3px;
	left: 3px;
	width: 12px;
	height: 12px;
	background: var(--surface);
	border-radius: 50%;
	transition: transform 0.2s;
	pointer-events: none;
}

.iq-toggle input:checked ~ .iq-toggle-track .iq-toggle-thumb {
	transform: translateX(16px);
}

/* ── Scan button ──────────────────────────────────────────── */
.iq-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 12px;
	border-radius: 8px;
	font-size: 12px;
	font-weight: 600;
	cursor: pointer;
	border: 1px solid var(--border);
	background: var(--surface);
	color: var(--primary-text);
	transition: background 0.15s, border-color 0.15s;
	white-space: nowrap;
	font-family: var(--font-body);
}

.iq-btn:hover {
	background: var(--surface-3);
	border-color: rgba(108,99,255,0.25);
}

/* Insights link */
.iq-view-link {
	font-size: 12px;
	font-weight: 600;
	color: var(--primary-text);
	text-decoration: none;
	white-space: nowrap;
	opacity: 0;
	transition: opacity 0.15s;
}

.iq-post-card:hover .iq-view-link { opacity: 1; }

/* ── Toolbar ──────────────────────────────────────────────── */
.attentiq-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 16px;
	flex-wrap: nowrap;
}

.iq-filter-bar {
	display: flex;
	align-items: center;
	gap: 6px;
	flex-wrap: wrap;
	flex: 1;
}

.attentiq-scan-all,
.attentiq-tooltip {
	flex-shrink: 0;
	white-space: nowrap;
	align-self: center;
	width: auto !important;
	display: inline-flex;
	align-items: center;
}

.iq-filter-label {
	font-size: 12px;
	font-weight: 500;
	color: var(--text-3-aa);
	white-space: nowrap;
	margin-right: 2px;
}

.iq-filter-btn {
	padding: 6px 14px;
	border-radius: 5px;
	border: 1px solid var(--border);
	background: var(--surface);
	color: var(--text-3-aa);
	font-size: 12px;
	font-weight: 600;
	cursor: pointer;
	transition: all 0.15s;
	font-family: var(--font-body);
}

.iq-filter-btn:hover {
	background: var(--surface-3);
	color: var(--primary-text);
	border-color: rgba(108,99,255,0.25);
}

.iq-filter-btn.active {
	background: var(--primary);
	color: #fff;
	border-color: var(--primary);
}

.iq-search-input {
	padding: 5px 10px;
	border: 1px solid var(--border);
	border-radius: 7px;
	font-size: 12px;
	font-family: var(--font-body);
	color: var(--text);
	background: var(--surface);
	outline: none;
	width: 150px;
	transition: border-color 0.15s;
}

.iq-search-input::placeholder {
	color: var(--text-3-aa);
}

.iq-search-input:focus {
	border-color: rgba(108,99,255,0.40);
	box-shadow: 0 0 0 2px rgba(108,99,255,0.08);
}

/* ── Pagination ───────────────────────────────────────────── */
.iq-pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 20px 0 8px;
	flex-wrap: wrap;
}

.iq-page-btn {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 6px 12px;
	border: 1px solid var(--border);
	border-radius: 7px;
	background: var(--surface);
	color: var(--text);
	font-size: 12px;
	font-weight: 500;
	cursor: pointer;
	font-family: var(--font-body);
	transition: background 0.15s, border-color 0.15s;
}

.iq-page-btn:hover:not(:disabled) {
	background: var(--surface-3);
	border-color: rgba(108,99,255,0.25);
	color: var(--primary-text);
}

.iq-page-btn:disabled {
	opacity: 0.4;
	cursor: default;
}

.iq-page-numbers {
	display: flex;
	align-items: center;
	gap: 3px;
}

.iq-page-num {
	min-width: 32px;
	height: 32px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid transparent;
	border-radius: 6px;
	background: transparent;
	color: var(--text-3-aa);
	font-size: 12px;
	font-weight: 500;
	cursor: pointer;
	font-family: var(--font-body);
	transition: background 0.15s, color 0.15s;
}

.iq-page-num:hover {
	background: var(--surface-3);
	color: var(--text);
}

.iq-page-num.is-active {
	background: var(--primary);
	color: #fff;
	border-color: var(--primary);
	font-weight: 600;
}

.iq-page-ellipsis {
	color: var(--text-3-aa);
	font-size: 12px;
	padding: 0 4px;
}

.iq-pagination-info {
	font-size: 12px;
	color: var(--text-3-aa);
	text-align: center;
	margin-top: 6px;
	font-family: var(--font-mono);
}

.attentiq-no-results {
	padding: 40px;
	text-align: center;
	color: var(--text-3-aa);
	font-size: 13px;
	background: var(--surface);
	border: 1px solid var(--border);
	border-radius: 12px;
}

/* ── Skeleton loader ──────────────────────────────────────── */
.iq-post-list-loader {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.iq-skeleton-card {
	background: var(--surface);
	border: 1px solid var(--border);
	border-radius: 12px;
	padding: 20px;
	display: flex;
	align-items: center;
	gap: 16px;
	animation: iq-shimmer 1.4s ease-in-out infinite;
}

.iq-skeleton-ring {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: var(--border);
	flex-shrink: 0;
}

.iq-skeleton-lines {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.iq-skeleton-line {
	height: 10px;
	border-radius: 5px;
	background: var(--border);
}

.iq-skeleton-line--short { width: 40%; }
.iq-skeleton-line--med   { width: 65%; }
.iq-skeleton-line--long  { width: 90%; }

@keyframes iq-shimmer {
	0%,100% { opacity: 1; }
	50%      { opacity: 0.5; }
}

/* Pagination loading overlay */
.iq-list-loading {
	position: relative;
	pointer-events: none;
}

.iq-list-loading::after {
	content: '';
	position: absolute;
	inset: 0;
	background: rgba(247,248,252,0.7);
	border-radius: 12px;
	z-index: 10;
}

.iq-list-spinner {
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 9999;
	width: 32px;
	height: 32px;
	border: 3px solid rgba(108,99,255,0.15);
	border-top-color: var(--primary);
	border-radius: 50%;
	animation: iq-spin 0.7s linear infinite;
}

.iq-post-card__stats-row {
	display: contents;
}

@keyframes iq-spin {
	to { transform: translate(-50%, -50%) rotate(360deg); }
}

/* ── Responsive ───────────────────────────────────────────── */
@media screen and (max-width: 1380px) {
	.attentiq-stats-bar    { grid-template-columns: repeat(2, 1fr); }
	.attentiq-legend-card  { gap: 4px; padding: 8px 10px; }
	#attentiq-filter       { width: 100% !important; margin: 4px 0 !important; display: block !important; }
	#attentiq-table-wrap   { margin-top: 12px; }
	#attentiq-table.widefat thead th { padding: 10px !important; font-size: 12px !important; }
	#attentiq-table.widefat tbody td { padding: 10px !important; font-size: 12px !important; }
	.attentiq-ad-slot      { font-size: 12px; padding: 2px 7px; }
	#attentiq-pagination   { justify-content: center; }
	.attentiq-toolbar      { flex-direction: row; align-items: center; flex-wrap: wrap; gap: 10px; }
	.iq-filter-bar         { flex: 1; min-width: 200px; flex-wrap: wrap; }
}

@media (max-width: 1280px) {
	/* Collapse sort buttons to select earlier to make room for two filter dropdowns */
	.iq-filter-btns  { display: none !important; }
	.iq-filter-label { display: none !important; }
	#attentiq-sort-select { display: block !important; }
}

@media (max-width: 1100px) {
	.iq-post-card {
		flex-direction: column;
		gap: 0;
		padding: 14px 16px;
	}

	.iq-post-card__left {
		width: 100%;
		margin-bottom: 12px;
	}

	.iq-post-card__title {
		max-width: 100%;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.iq-post-card__right {
		width: 100%;
		flex-direction: column;
		gap: 8px;
		padding-top: 0;
		border-top: none;
	}

	.iq-post-card__stats-row {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 6px;
		width: 100%;
	}

	.iq-post-card__rev,
	.iq-post-card__stat-box {
		background: var(--surface-3);
		border-radius: 8px;
		padding: 8px 10px;
		text-align: left;
		min-width: 0;
	}

	.iq-btn { justify-content: center; margin-top: 2px; }

	.iq-view-link {
		display: block !important;
		opacity: 1;
		text-align: right;
	}

	.iq-post-card__actions {
		width: 100%;
		padding-top: 10px;
		border-top: 1px solid var(--border-soft);
		justify-content: space-between;
	}

	.iq-post-card__stats-row {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 6px;
		width: 100%;
	}

	.attentiq-toolbar {
		display: flex;
		align-items: center;
		justify-content: space-between;
		flex-wrap: nowrap;
		gap: 10px;
	}

	.iq-filter-bar { flex: 1; min-width: 0; }
	.iq-view-link  { display: none; }
}

@media (max-width: 782px) {
	.attentiq-toolbar {
		flex-direction: column !important;
		align-items: stretch !important;
		gap: 10px !important;
	}

	.attentiq-tooltip,
	.attentiq-scan-all,
	#attentiq-scan-all {
		width: 100% !important;
		display: block !important;
		text-align: center !important;
		margin: 0 !important;
		box-sizing: border-box !important;
		order: -1;
	}

	.iq-filter-bar {
		flex-direction: column !important;
		align-items: stretch !important;
		gap: 8px !important;
		width: 100% !important;
	}

	.iq-search-input,
	#attentiq-type-filter,
	#attentiq-slot-filter,
	#attentiq-sort-select {
		width: 100% !important;
		max-width: 100%;
		box-sizing: border-box !important;
	}

	.iq-filter-label  { display: none !important; }
	.iq-filter-btns   { display: none; }

	.iq-post-card {
		flex-direction: column;
		align-items: stretch;
		gap: 12px;
	}

	.iq-post-card__right {
		flex-wrap: wrap;
		gap: 10px;
	}

	.iq-post-card__title { max-width: 100%; }
	.iq-view-link        { display: block; opacity: 1; }
}