/**
 * AgenticTrack – Agentic Commerce Readiness for WooCommerce — admin styles.
 *
 * The "warm editorial paper" brand system. Everything is a small design system
 * built on tokens declared on .arwc-wrap, and EVERY rule is scoped under
 * .arwc-wrap so it never leaks into the rest of wp-admin (the admin bar, left
 * menu and other plugins are untouched — only the plugin's own content column
 * is branded).
 *
 * Fonts (Bricolage Grotesque / IBM Plex Sans / IBM Plex Mono) are enqueued
 * separately in ARWC_Admin::enqueue_assets(), on the plugin screens only.
 */

/* ---- Tokens + branded content band ---------------------------------------- */

.arwc-wrap {
	--paper: #F4F1EA;
	--surface: #FBFAF6;
	--ink: #16140D;
	--body: #3D4340;
	--muted: #57534A;
	--faint: #8A8579;
	--border: #DDD7C9;
	--border-2: #E7E2D6;
	--divider: #EFEADD;
	--green: #0C5A3C;
	--green-dark: #0A4B32;
	--green-bg: #EAF3ED;
	--green-border: #C7D8CE;
	--amber-ink: #8A5A00;
	--amber-bar: #B57A1E;
	--amber-bg: #F7EFDB;
	--amber-border: #E4D3B0;
	--clay-ink: #A8431F;
	--clay: #C25733;
	--clay-bg: #F7E9E2;
	--clay-border: #E4C3B4;
	--dark: #12100A;
	--mint: #3CB37E;
	--field-border: #C6BFAE;

	--sans: 'IBM Plex Sans', system-ui, -apple-system, sans-serif;
	--mono: 'IBM Plex Mono', ui-monospace, 'SFMono-Regular', monospace;
	--disp: 'Bricolage Grotesque', var(--sans);

	/* Full-bleed the branded paper band across #wpcontent's left padding so it
	   sits flush against the WP menu; right stays at the content edge. If your
	   install shows a gutter, nudge the left value against #wpcontent padding. */
	margin: 0 0 0 -20px;
	padding: 34px 40px 48px;
	max-width: none;
	background: var(--paper);
	color: var(--body);
	font-family: var(--sans);
	font-size: 14px;
	line-height: 1.5;
}

.arwc-wrap *,
.arwc-wrap *::before,
.arwc-wrap *::after {
	box-sizing: border-box;
}

/* Square corners on everything inside the branded column. */
.arwc-wrap .arwc-card,
.arwc-wrap .button,
.arwc-wrap .button-primary,
.arwc-wrap .button-secondary,
.arwc-wrap input[type="text"],
.arwc-wrap input[type="password"],
.arwc-wrap input[type="search"],
.arwc-wrap select,
.arwc-wrap textarea,
.arwc-wrap .arwc-badge,
.arwc-wrap .arwc-pill,
.arwc-wrap .arwc-score-pill,
.arwc-wrap .arwc-sev-tag,
.arwc-wrap .arwc-issue-count,
.arwc-wrap .arwc-flag-tag,
.arwc-wrap .arwc-table,
.arwc-wrap .arwc-table th,
.arwc-wrap .arwc-table td,
.arwc-wrap .arwc-empty,
.arwc-wrap .arwc-notice {
	border-radius: 0;
}

/* ---- App shell (header + in-app sub-nav) ---------------------------------- */

.arwc-app-header {
	display: flex;
	align-items: center;
	gap: 16px;
	padding-bottom: 18px;
	margin-bottom: 22px;
	border-bottom: 1px solid var(--border);
}

.arwc-app-brand {
	display: flex;
	align-items: center;
	gap: 10px;
}

.arwc-app-mark {
	display: block;
	flex: none;
}

.arwc-app-wordmark {
	font-family: var(--disp);
	font-size: 20px;
	font-weight: 800;
	letter-spacing: -0.02em;
	color: var(--ink);
}

.arwc-app-header-right {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-left: auto;
}

.arwc-app-score,
.arwc-app-score:visited {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 5px 12px;
	background: var(--surface);
	border: 1px solid var(--border);
	font-family: var(--mono);
	font-size: 11px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--faint);
	text-decoration: none;
}

.arwc-app-score strong {
	font-family: var(--disp);
	font-size: 16px;
	letter-spacing: -0.02em;
	color: var(--ink);
}

.arwc-app-score.arwc-grade-good strong {
	color: var(--green);
}

.arwc-app-score.arwc-grade-fair strong {
	color: var(--amber-ink);
}

.arwc-app-score.arwc-grade-poor strong {
	color: var(--clay-ink);
}

/* Brief highlight when the score chip is refreshed after an audit, so the update
   is visible even if the number is unchanged. */
@keyframes arwc-score-refresh {
	0% {
		background: var(--green-bg);
		border-color: var(--green);
	}
	100% {
		background: var(--surface);
		border-color: var(--border);
	}
}

.arwc-app-score.arwc-just-updated {
	animation: arwc-score-refresh 1.1s ease;
}

@media (prefers-reduced-motion: reduce) {
	.arwc-app-score.arwc-just-updated {
		animation: none;
	}
}

.arwc-app-body {
	display: flex;
	align-items: flex-start;
	gap: 28px;
}

.arwc-app-nav {
	flex: none;
	width: 190px;
	display: flex;
	flex-direction: column;
	gap: 2px;
	position: sticky;
	top: 44px;
}

.arwc-app-nav-item,
.arwc-app-nav-item:visited {
	display: flex;
	align-items: center;
	gap: 11px;
	padding: 10px 13px;
	font-family: var(--sans);
	font-size: 14px;
	font-weight: 500;
	color: var(--muted);
	text-decoration: none;
	border-left: 2px solid transparent;
	transition: background 0.12s ease, color 0.12s ease;
}

.arwc-app-nav-item:hover {
	background: var(--surface);
	color: var(--ink);
}

.arwc-app-nav-item .dashicons {
	font-size: 18px;
	width: 18px;
	height: 18px;
	color: var(--faint);
}

.arwc-app-nav-item.is-active {
	background: var(--green-bg);
	border-left-color: var(--green);
	color: var(--green);
	font-weight: 600;
}

.arwc-app-nav-item.is-active .dashicons {
	color: var(--green);
}

.arwc-app-content {
	flex: 1 1 auto;
	min-width: 0;
}

@media (max-width: 900px) {
	.arwc-app-body {
		flex-direction: column;
	}

	.arwc-app-nav {
		width: 100%;
		flex-direction: row;
		flex-wrap: wrap;
		position: static;
	}
}

/* ---- Toggle switches ------------------------------------------------------ */

.arwc-toggle-row {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	font-family: var(--sans);
	font-size: 14px;
	color: var(--body);
	cursor: pointer;
	max-width: 640px;
}

.arwc-wrap input.arwc-toggle {
	appearance: none;
	-webkit-appearance: none;
	flex: none;
	width: 40px;
	height: 22px;
	margin: 1px 0 0;
	padding: 0;
	background: #D9D3C4;
	border: 1px solid var(--field-border);
	border-radius: 0;
	position: relative;
	cursor: pointer;
	transition: background 0.15s ease, border-color 0.15s ease;
}

.arwc-wrap input.arwc-toggle::before {
	content: "";
	position: absolute;
	top: 2px;
	left: 2px;
	width: 16px;
	height: 16px;
	background: #fff;
	transition: left 0.15s ease;
}

.arwc-wrap input.arwc-toggle:checked {
	background: var(--green);
	border-color: var(--green);
}

.arwc-wrap input.arwc-toggle:checked::before {
	left: 20px;
}

.arwc-wrap input.arwc-toggle:focus-visible {
	outline: 2px solid var(--green);
	outline-offset: 2px;
}

/* ---- Filter pills (products table) ---------------------------------------- */

.arwc-filter-pills {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	padding: 12px 20px;
	border-bottom: 1px solid var(--border-2);
}

.arwc-wrap .arwc-filter-pill {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 5px 12px;
	background: var(--surface);
	border: 1px solid var(--border);
	border-radius: 0;
	color: var(--muted);
	font-family: var(--sans);
	font-size: 12.5px;
	font-weight: 600;
	cursor: pointer;
}

.arwc-filter-pill span {
	font-family: var(--mono);
	font-size: 11px;
	color: var(--faint);
}

.arwc-wrap .arwc-filter-pill:hover {
	border-color: var(--ink);
	color: var(--ink);
}

.arwc-wrap .arwc-filter-pill.is-active {
	background: var(--green);
	border-color: var(--green);
	color: var(--paper);
}

.arwc-filter-pill.is-active span {
	color: rgba(244, 241, 234, 0.75);
}

/* ---- Agent Orders (Pro analytics) ----------------------------------------- */

.arwc-app-nav-pro {
	margin-left: auto;
	font-family: var(--mono);
	font-size: 9px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	padding: 1px 5px;
	background: var(--amber-bg);
	color: var(--amber-ink);
	border: 1px solid var(--amber-border);
}

.arwc-orders-explainer {
	margin: 16px 0 0;
	max-width: 760px;
	background: var(--surface);
	border: 1px solid var(--border);
}

.arwc-orders-explainer > summary {
	cursor: pointer;
	padding: 13px 16px;
	font-family: var(--sans);
	font-size: 13.5px;
	font-weight: 600;
	color: var(--ink);
	list-style-position: inside;
}

.arwc-orders-explainer[open] > summary {
	border-bottom: 1px solid var(--border-2);
}

.arwc-orders-explainer-body {
	padding: 14px 16px 4px;
}

.arwc-orders-explainer-body p {
	margin: 0 0 12px;
	font-family: var(--sans);
	font-size: 13px;
	line-height: 1.6;
	color: var(--body);
}

.arwc-orders-explainer-body strong {
	color: var(--ink);
}

.arwc-orders-explainer-terms {
	color: var(--faint) !important;
	font-size: 12.5px !important;
}

.arwc-orders-locked {
	display: flex;
	gap: 18px;
	align-items: flex-start;
	margin-top: 22px;
	padding: 24px;
}

.arwc-orders-locked-icon .dashicons {
	font-size: 34px;
	width: 34px;
	height: 34px;
	color: var(--faint);
}

.arwc-orders-locked-body {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.arwc-orders-teaser {
	margin: 0;
	font-family: var(--sans);
	font-size: 15px;
	color: var(--ink);
}

.arwc-orders-locked-body .button-primary {
	align-self: flex-start;
	margin-top: 6px;
}

.arwc-orders-freebar {
	display: flex;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
	margin: 20px 0 0;
	padding: 14px 18px;
	background: var(--amber-bg);
	border: 1px solid var(--amber-border);
	border-left: 3px solid var(--amber-bar);
}

.arwc-orders-freebar .dashicons {
	color: var(--amber-ink);
	flex: none;
}

.arwc-orders-freebar-text {
	display: flex;
	flex-direction: column;
	gap: 2px;
	flex: 1 1 320px;
	min-width: 220px;
	font-family: var(--sans);
	font-size: 13px;
	color: var(--body);
}

.arwc-orders-freebar-text strong {
	color: var(--ink);
}

.arwc-orders-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	flex-wrap: wrap;
}

.arwc-orders-export-form {
	margin: 18px 0 0;
}

.arwc-orders-export-form .dashicons {
	font-size: 15px;
	width: 15px;
	height: 15px;
	vertical-align: text-bottom;
	margin-right: 3px;
}

.arwc-orders-window {
	margin: 18px 0 0;
	font-family: var(--mono);
	font-size: 11px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--faint);
}

.arwc-orders-kpis {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 16px;
	margin-top: 14px;
}

.arwc-kpi {
	padding: 20px 22px;
}

/* Tier accents — Verified (provable) reads green; Inferred (estimate) amber. */
.arwc-kpi-verified {
	border-top: 2px solid var(--green);
}

.arwc-kpi-verified .arwc-kpi-label,
.arwc-kpi-verified .arwc-kpi-value {
	color: var(--green);
}

.arwc-kpi-verified .arwc-kpi-label .dashicons {
	font-size: 14px;
	width: 14px;
	height: 14px;
	vertical-align: middle;
	color: var(--green);
}

.arwc-kpi-inferred {
	border-top: 2px solid var(--amber-border);
}

.arwc-kpi-inferred .arwc-kpi-label {
	color: var(--amber-ink);
}

.arwc-kpi-label {
	font-family: var(--mono);
	font-size: 11px;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	color: var(--faint);
}

.arwc-kpi-value {
	margin-top: 8px;
	font-family: var(--disp);
	font-size: 34px;
	font-weight: 800;
	letter-spacing: -0.03em;
	line-height: 1;
	color: var(--ink);
}

.arwc-kpi-sub {
	margin-top: 6px;
	font-family: var(--sans);
	font-size: 13px;
	color: var(--muted);
}

.arwc-orders-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
	margin-top: 16px;
}

@media (max-width: 900px) {
	.arwc-orders-grid {
		grid-template-columns: 1fr;
	}
}

.arwc-orders-by-agent h3,
.arwc-orders-timeline h3 {
	margin: 0 0 14px;
	font-family: var(--mono);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	color: var(--faint);
}

.arwc-agent-list {
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.arwc-agent-row {
	display: grid;
	grid-template-columns: 1fr auto auto;
	grid-template-areas: "name count rev" "bar bar bar";
	align-items: center;
	gap: 4px 12px;
	margin: 0;
}

.arwc-agent-name {
	grid-area: name;
	font-family: var(--sans);
	font-size: 13.5px;
	font-weight: 500;
	color: var(--ink);
}

.arwc-agent-count {
	grid-area: count;
	font-family: var(--disp);
	font-size: 16px;
	font-weight: 700;
	color: var(--ink);
}

.arwc-agent-rev {
	grid-area: rev;
	font-family: var(--mono);
	font-size: 12px;
	color: var(--muted);
}

.arwc-agent-bar {
	grid-area: bar;
	display: block;
	height: 6px;
	background: var(--border-2);
	overflow: hidden;
}

.arwc-agent-bar > span {
	display: block;
	height: 100%;
	background: var(--green);
}

.arwc-timeline-bars {
	display: flex;
	align-items: flex-end;
	gap: 3px;
	height: 120px;
}

.arwc-timeline-bar {
	flex: 1 1 0;
	display: flex;
	align-items: flex-end;
	height: 100%;
	background: var(--paper);
}

.arwc-timeline-fill {
	display: block;
	width: 100%;
	background: var(--green);
}

.arwc-orders-disclaimer {
	margin: 18px 0 0;
	font-family: var(--sans);
	font-size: 12px;
	line-height: 1.5;
	color: var(--faint);
	max-width: 720px;
}

/* ---- Page header ---------------------------------------------------------- */

.arwc-wrap > h1,
.arwc-title {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 4px;
	padding: 0;
	font-family: var(--disp);
	font-size: 30px;
	font-weight: 800;
	letter-spacing: -0.03em;
	line-height: 1.1;
	color: var(--ink);
}

.arwc-title::before {
	content: none;
}

.arwc-badge {
	font-family: var(--mono);
	font-size: 10px;
	font-weight: 500;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	padding: 4px 9px;
	background: var(--green-bg);
	color: var(--green);
	border: 1px solid var(--green-border);
}

.arwc-badge-pro {
	background: var(--green);
	color: var(--paper);
	border-color: var(--green);
}

.arwc-intro {
	max-width: 640px;
	margin: 14px 0 0;
	font-family: var(--sans);
	font-size: 15px;
	line-height: 1.6;
	color: var(--muted);
}

/* ---- Buttons -------------------------------------------------------------- */

.arwc-wrap .button-primary,
.arwc-wrap .button-primary:visited {
	background: var(--green);
	border: 1px solid var(--green);
	color: var(--paper);
	box-shadow: none;
	text-shadow: none;
	font-family: var(--sans);
	font-weight: 600;
	font-size: 14px;
	padding: 9px 20px;
	height: auto;
	line-height: 1.3;
}

.arwc-wrap .button-primary:hover,
.arwc-wrap .button-primary:focus {
	background: var(--green-dark);
	border-color: var(--green-dark);
	color: var(--paper);
}

/* Secondary buttons — must exclude .button-primary, which also carries the
   .button class, or this later, equal-specificity rule would clobber the green
   primary style above. */
.arwc-wrap .button:not(.button-primary),
.arwc-wrap .button-secondary:not(.button-primary),
.arwc-wrap .button:not(.button-primary):visited {
	background: var(--surface);
	border: 1px solid var(--field-border);
	color: var(--ink);
	box-shadow: none;
	text-shadow: none;
	font-family: var(--sans);
	font-weight: 600;
	font-size: 14px;
	padding: 9px 18px;
	height: auto;
	line-height: 1.3;
}

.arwc-wrap .button:not(.button-primary):hover,
.arwc-wrap .button-secondary:not(.button-primary):hover,
.arwc-wrap .button:not(.button-primary):focus {
	background: #fff;
	border-color: var(--ink);
	color: var(--ink);
}

.arwc-wrap .button:disabled,
.arwc-wrap .button-primary:disabled,
.arwc-wrap .button[disabled] {
	opacity: 0.55;
	cursor: not-allowed;
}

.arwc-wrap .button:focus-visible,
.arwc-wrap .button-primary:focus-visible {
	outline: 2px solid var(--green);
	outline-offset: 2px;
	box-shadow: none;
}

/* ---- Inputs --------------------------------------------------------------- */

.arwc-wrap input[type="text"],
.arwc-wrap input[type="password"],
.arwc-wrap input[type="search"],
.arwc-wrap .regular-text,
.arwc-wrap .arwc-fix-input {
	background: #fff;
	border: 1px solid var(--field-border);
	color: var(--ink);
	box-shadow: none;
	padding: 8px 11px;
	font-family: var(--sans);
	font-size: 13px;
	line-height: 1.4;
}

.arwc-wrap input[type="text"]:focus,
.arwc-wrap input[type="password"]:focus,
.arwc-wrap input[type="search"]:focus,
.arwc-wrap .regular-text:focus,
.arwc-wrap .arwc-fix-input:focus {
	border-color: var(--green);
	box-shadow: 0 0 0 1px var(--green);
	outline: none;
}

/* ---- Pills ---------------------------------------------------------------- */

.arwc-pill {
	display: inline-block;
	font-family: var(--mono);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	padding: 3px 9px;
	margin-left: 6px;
	vertical-align: middle;
	background: var(--green-bg);
	color: var(--green);
	border: 1px solid var(--green-border);
}

.arwc-pill-pro {
	background: var(--amber-bg);
	color: var(--amber-ink);
	border-color: var(--amber-border);
}

.arwc-pill-invalid {
	background: var(--clay-bg);
	color: var(--clay-ink);
	border-color: var(--clay-border);
}

/* ---- Toolbar -------------------------------------------------------------- */

.arwc-toolbar {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 24px 0 0;
	flex-wrap: wrap;
}

.arwc-total {
	margin-left: 4px;
	font-family: var(--sans);
	font-size: 14px;
	color: var(--muted);
}

.arwc-total strong {
	color: var(--ink);
}

/* ---- Progress bar --------------------------------------------------------- */

.arwc-progress {
	margin: 18px 0 0;
}

.arwc-progress-bar {
	height: 8px;
	background: var(--border-2);
	overflow: hidden;
}

.arwc-progress-bar span {
	display: block;
	height: 100%;
	width: 0;
	background: var(--green);
	transition: width 0.25s ease;
}

.arwc-progress-text {
	margin-top: 8px;
	font-family: var(--mono);
	font-size: 12px;
	letter-spacing: 0.04em;
	color: var(--faint);
}

/* ---- Checks legend -------------------------------------------------------- */

.arwc-checks-legend {
	margin-top: 26px;
	border-top: 1px solid var(--border);
	padding-top: 22px;
}

.arwc-checks-heading {
	margin: 0 0 16px;
	padding: 0;
	font-family: var(--mono);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	color: var(--faint);
}

.arwc-checks-legend ul {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 0;
	margin: 0;
	border-left: 1px solid var(--border);
}

.arwc-legend-item {
	margin: 0;
	padding: 0 18px;
	border-right: 1px solid var(--border);
	background: none;
	box-shadow: none;
}

.arwc-legend-name {
	display: block;
	font-family: var(--sans);
	font-size: 13.5px;
	font-weight: 600;
	color: var(--ink);
	margin-bottom: 5px;
}

.arwc-legend-desc {
	display: block;
	font-family: var(--sans);
	font-size: 12.5px;
	line-height: 1.5;
	color: var(--muted);
}

/* The Pro tag inside a legend name uses tighter metrics. */
.arwc-legend-name .arwc-pill-pro {
	font-size: 9px;
	padding: 1px 5px;
	margin-left: 4px;
	letter-spacing: 0.04em;
}

/* ---- Results grid + cards ------------------------------------------------- */

.arwc-results-grid {
	display: grid;
	grid-template-columns: 300px 1fr 1fr;
	gap: 16px;
	margin: 26px 0 0;
}

@media (max-width: 1100px) {
	.arwc-results-grid {
		grid-template-columns: 1fr;
	}
}

.arwc-card {
	background: var(--surface);
	border: 1px solid var(--border);
	padding: 20px 22px;
	box-shadow: none;
}

.arwc-card h3 {
	margin: 0 0 14px;
	font-family: var(--mono);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	color: var(--faint);
}

/* ---- Scorecard: SVG score ring -------------------------------------------- */

.arwc-scorecard {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 20px;
	padding: 24px;
}

.arwc-score-ring {
	position: relative;
	width: 104px;
	height: 104px;
	flex: none;
}

.arwc-score-ring svg {
	display: block;
	transform: rotate(-90deg);
}

.arwc-ring-track {
	fill: none;
	stroke: var(--border-2);
	stroke-width: 10;
}

.arwc-ring-arc {
	fill: none;
	stroke: var(--faint);
	stroke-width: 10;
	stroke-linecap: butt;
	stroke-dasharray: 100;
	stroke-dashoffset: var(--arwc-arc, 100);
	animation: arwc-ring-sweep 900ms ease-out;
}

@keyframes arwc-ring-sweep {
	from {
		stroke-dashoffset: 100;
	}
}

.arwc-scorecard.arwc-grade-good .arwc-ring-arc {
	stroke: var(--green);
}

.arwc-scorecard.arwc-grade-fair .arwc-ring-arc {
	stroke: var(--amber-bar);
}

.arwc-scorecard.arwc-grade-poor .arwc-ring-arc {
	stroke: var(--clay);
}

.arwc-score-number {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	font-family: var(--disp);
	font-size: 34px;
	font-weight: 800;
	letter-spacing: -0.035em;
	line-height: 1;
	color: var(--ink);
	background: none;
	border: none;
}

.arwc-score-number span {
	margin-top: 3px;
	font-family: var(--mono);
	font-size: 9px;
	font-weight: 500;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--faint);
}

.arwc-scorecard-kicker {
	font-family: var(--mono);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	color: var(--faint);
}

.arwc-score-label {
	margin-top: 4px;
	font-family: var(--disp);
	font-size: 18px;
	font-weight: 700;
	color: var(--ink);
}

.arwc-partial {
	margin: 6px 0 0;
	font-family: var(--mono);
	font-size: 11px;
	color: var(--amber-ink);
}

.arwc-score-nudge {
	margin: 8px 0 0;
	font-family: var(--sans);
	font-size: 12.5px;
	line-height: 1.5;
	color: var(--muted);
}

.arwc-score-nudge strong {
	color: var(--ink);
}

/* ---- Distribution --------------------------------------------------------- */

.arwc-dist-list {
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 11px;
}

.arwc-dist-list li {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 0;
	border: none;
	font-family: var(--sans);
	font-size: 13.5px;
	color: var(--body);
}

.arwc-dist-list strong {
	margin-left: auto;
	font-family: var(--disp);
	font-size: 16px;
	font-weight: 700;
	color: var(--ink);
}

.arwc-dot {
	width: 9px;
	height: 9px;
	border-radius: 50%;
	display: inline-block;
	flex: none;
	background: currentColor;
}

.arwc-dot.arwc-grade-good {
	color: var(--green);
}

.arwc-dot.arwc-grade-fair {
	color: var(--amber-bar);
}

.arwc-dot.arwc-grade-poor {
	color: var(--clay);
}

.arwc-dist-range {
	color: var(--faint);
}

.arwc-dist-bar {
	display: flex;
	height: 8px;
	margin-top: 16px;
	overflow: hidden;
	background: var(--border-2);
}

.arwc-dist-seg {
	display: block;
	height: 100%;
}

.arwc-dist-seg.arwc-grade-good {
	background: var(--green);
}

.arwc-dist-seg.arwc-grade-fair {
	background: var(--amber-bar);
}

.arwc-dist-seg.arwc-grade-poor {
	background: var(--clay);
}

/* ---- Top issues ----------------------------------------------------------- */

.arwc-issue-list {
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 11px;
}

.arwc-issue {
	display: flex;
	gap: 11px;
	align-items: center;
	padding: 0;
	border: none;
}

.arwc-issue-count {
	min-width: 34px;
	text-align: center;
	font-family: var(--mono);
	font-size: 13px;
	font-weight: 600;
	padding: 3px 0;
	color: var(--faint);
	background: var(--surface);
	border: 1px solid var(--border-2);
}

.arwc-sev-critical .arwc-issue-count {
	color: var(--clay-ink);
	background: var(--clay-bg);
	border-color: var(--clay-border);
}

.arwc-sev-warning .arwc-issue-count {
	color: var(--amber-ink);
	background: var(--amber-bg);
	border-color: var(--amber-border);
}

.arwc-sev-info .arwc-issue-count {
	color: var(--faint);
	background: var(--surface);
	border-color: var(--border-2);
}

.arwc-issue-message {
	font-family: var(--sans);
	font-size: 13px;
	color: var(--body);
}

.arwc-good-news {
	color: var(--green);
	font-weight: 600;
}

/* ---- Score pills ---------------------------------------------------------- */

.arwc-score-pill {
	display: inline-block;
	min-width: 34px;
	text-align: center;
	font-family: var(--mono);
	font-size: 11px;
	font-weight: 600;
	padding: 3px 9px;
	background: var(--surface);
	border: 1px solid var(--border-2);
	color: var(--body);
}

.arwc-score-pill.arwc-grade-good {
	color: var(--green);
	background: var(--green-bg);
	border-color: var(--green-border);
}

.arwc-score-pill.arwc-grade-fair {
	color: var(--amber-ink);
	background: var(--amber-bg);
	border-color: var(--amber-border);
}

.arwc-score-pill.arwc-grade-poor {
	color: var(--clay-ink);
	background: var(--clay-bg);
	border-color: var(--clay-border);
}

/* ---- Tables --------------------------------------------------------------- */

.arwc-products {
	margin-top: 16px;
	padding: 0;
}

.arwc-products > h3 {
	margin: 0;
	padding: 15px 20px;
	border-bottom: 1px solid var(--border-2);
	font-family: var(--disp);
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0;
	text-transform: none;
	color: var(--ink);
}

.arwc-wrap .arwc-table,
.arwc-wrap .arwc-table.widefat {
	border: none;
	border-collapse: collapse;
	box-shadow: none;
	background: var(--surface);
	width: 100%;
}

.arwc-wrap .arwc-table.widefat thead th,
.arwc-wrap .arwc-table thead th {
	background: var(--paper);
	border-bottom: 1px solid var(--border-2);
	color: var(--faint);
	font-family: var(--mono);
	font-size: 10.5px;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	padding: 11px 20px;
}

.arwc-wrap .arwc-table.widefat tbody td,
.arwc-wrap .arwc-table tbody td {
	background: var(--surface);
	border-bottom: 1px solid var(--divider);
	padding: 14px 20px;
	font-family: var(--sans);
	font-size: 13px;
	color: var(--body);
	vertical-align: top;
}

.arwc-wrap .arwc-table.widefat tbody tr:last-child td {
	border-bottom: none;
}

.arwc-wrap .arwc-table.widefat tbody tr:hover td,
.arwc-wrap .arwc-table.widefat.striped tbody tr:nth-child(odd) td {
	background: var(--surface);
}

.arwc-wrap .arwc-table.widefat tbody tr:hover td {
	background: var(--paper);
}

.arwc-table th.arwc-sortable {
	cursor: pointer;
	user-select: none;
}

.arwc-table th.arwc-sortable::after {
	content: "\2195";
	opacity: 0.5;
	margin-left: 4px;
}

.arwc-table th.arwc-sorted-asc::after {
	content: "\2191";
	opacity: 1;
	color: var(--green);
}

.arwc-table th.arwc-sorted-desc::after {
	content: "\2193";
	opacity: 1;
	color: var(--green);
}

.arwc-col-name {
	color: var(--ink);
	font-weight: 500;
}

.arwc-col-name a,
.arwc-col-name a:visited {
	color: var(--green);
	font-weight: 500;
	text-decoration: none;
}

.arwc-col-name a:hover {
	color: var(--green-dark);
	text-decoration: underline;
}

.arwc-row-issues {
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 5px;
	font-size: 12.5px;
}

.arwc-row-issues li {
	margin: 0;
	padding: 0;
	color: var(--body);
	font-size: 12.5px;
}

.arwc-sev-tag {
	display: inline-block;
	font-family: var(--mono);
	font-size: 9px;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	padding: 1px 5px;
	margin-right: 7px;
	background: none;
	border: 1px solid var(--border-2);
	color: var(--faint);
}

.arwc-sev-critical .arwc-sev-tag {
	color: var(--clay-ink);
	border-color: var(--clay-border);
	background: none;
}

.arwc-sev-warning .arwc-sev-tag {
	color: var(--amber-ink);
	border-color: var(--amber-border);
	background: none;
}

.arwc-sev-info .arwc-sev-tag {
	color: var(--faint);
	border-color: var(--border-2);
	background: none;
}

.arwc-no-issues {
	color: var(--faint);
	font-size: 12.5px;
}

/* ---- Empty state ---------------------------------------------------------- */

.arwc-empty {
	background: var(--surface);
	border: 1px dashed var(--field-border);
	padding: 44px 40px;
	margin-top: 22px;
	text-align: center;
	color: var(--muted);
}

.arwc-empty a {
	color: var(--green);
	font-weight: 600;
}

/* ---- Notices (Fix view) --------------------------------------------------- */

.arwc-notice {
	padding: 12px 16px;
	margin: 20px 0 0;
	font-family: var(--sans);
	font-size: 13.5px;
	line-height: 1.55;
	border: 1px solid transparent;
	display: flex;
	align-items: center;
	gap: 11px;
}

.arwc-notice-safe {
	background: var(--green-bg);
	border-color: var(--green-border);
	border-left: 3px solid var(--green);
	color: var(--ink);
}

.arwc-notice-safe::before {
	content: "";
	flex: none;
	width: 16px;
	height: 16px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M3 8.5 L6.5 12 L13 4' stroke='%230C5A3C' stroke-width='2'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
}

.arwc-notice-safe strong {
	color: var(--ink);
}

.arwc-notice-pro {
	background: var(--amber-bg);
	border-color: var(--amber-border);
	color: var(--body);
}

.arwc-notice-pro a,
.arwc-notice-pro a:visited {
	margin-left: auto;
	white-space: nowrap;
	font-weight: 600;
	color: var(--green);
	text-decoration: none;
}

.arwc-notice-pro a:hover {
	text-decoration: underline;
}

/* ---- Fix table ------------------------------------------------------------ */

.arwc-fix-table {
	margin-top: 22px;
}

.arwc-fix-table.widefat td {
	vertical-align: middle;
}

.arwc-review-btn {
	padding: 7px 14px !important;
	font-size: 13px !important;
}

/* ---- Quick wins banner ---------------------------------------------------- */

.arwc-quickwins {
	display: flex;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
	margin: 20px 0 0;
	padding: 15px 18px;
	background: var(--green-bg);
	border: 1px solid var(--green-border);
	border-left: 3px solid var(--green);
}

.arwc-quickwins-icon {
	font-size: 22px;
	width: 22px;
	height: 22px;
	color: var(--green);
	flex: none;
}

.arwc-quickwins-text {
	display: flex;
	flex-direction: column;
	gap: 2px;
	flex: 1 1 300px;
	min-width: 220px;
}

.arwc-quickwins-text strong {
	font-family: var(--sans);
	font-size: 14.5px;
	color: var(--ink);
}

.arwc-quickwins-sub {
	font-family: var(--sans);
	font-size: 12.5px;
	color: var(--muted);
}

.arwc-wrap .arwc-quickwins-cta {
	white-space: nowrap;
}

/* ---- CSV bulk SKU/GTIN import --------------------------------------------- */

.arwc-csv-import {
	margin: 22px 0 0;
	background: var(--surface);
	border: 1px solid var(--border);
}

.arwc-csv-import > summary {
	cursor: pointer;
	padding: 14px 18px;
	font-family: var(--sans);
	font-size: 14px;
	font-weight: 600;
	color: var(--ink);
	list-style-position: inside;
}

.arwc-csv-import[open] > summary {
	border-bottom: 1px solid var(--border-2);
}

.arwc-csv-import-body {
	padding: 16px 18px 6px;
}

.arwc-csv-step {
	margin: 0 0 14px;
	max-width: 720px;
	font-family: var(--sans);
	font-size: 13px;
	line-height: 1.6;
	color: var(--muted);
}

.arwc-csv-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 16px 24px;
	align-items: center;
}

.arwc-csv-form {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
}

.arwc-csv-form .dashicons {
	font-size: 15px;
	width: 15px;
	height: 15px;
	vertical-align: text-bottom;
	margin-right: 3px;
}

.arwc-csv-file input[type="file"] {
	font-family: var(--sans);
	font-size: 12.5px;
	color: var(--muted);
	max-width: 220px;
}

.arwc-csv-hint {
	margin: 14px 0 6px;
	font-family: var(--sans);
	font-size: 12px;
	line-height: 1.55;
	color: var(--faint);
	max-width: 720px;
}

/* ---- Store-wide "fix all products" bar ------------------------------------ */

.arwc-bulk-all {
	display: flex;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
	margin: 22px 0 0;
	padding: 16px 18px;
	background: var(--surface);
	border: 1px solid var(--border);
	border-left: 3px solid var(--green);
}

.arwc-bulk-all-text {
	flex: 1 1 340px;
	min-width: 240px;
	display: flex;
	flex-direction: column;
	gap: 3px;
}

.arwc-bulk-all-title {
	font-family: var(--disp);
	font-size: 15px;
	font-weight: 700;
	color: var(--ink);
}

.arwc-bulk-all-desc {
	font-family: var(--sans);
	font-size: 12.5px;
	line-height: 1.5;
	color: var(--muted);
}

.arwc-bulk-all-status {
	flex-basis: 100%;
}

/* ---- Fix panel ------------------------------------------------------------ */

.arwc-fix-panel {
	padding: 4px 0 8px;
	background: none;
}

/* Bulk "Apply all safe fixes" bar — the one dark surface in the system. */
.arwc-fix-bulk {
	display: flex;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
	margin: 0 0 14px;
	padding: 13px 16px;
	background: var(--dark);
	border: none;
	box-shadow: none;
}

.arwc-fix-bulk-label {
	font-family: var(--mono);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #8FE3B0;
}

.arwc-wrap .arwc-fix-bulk .arwc-bulk-btn,
.arwc-wrap .arwc-fix-bulk .button.arwc-bulk-btn {
	margin-left: auto;
	white-space: nowrap;
	background: var(--mint);
	border: 1px solid var(--mint);
	color: #04110b;
	font-family: var(--sans);
	font-weight: 600;
	font-size: 13px;
	padding: 8px 16px;
}

.arwc-wrap .arwc-fix-bulk .arwc-bulk-btn:hover {
	background: #34a06f;
	border-color: #34a06f;
	color: #04110b;
}

.arwc-fix-bulk .arwc-fix-status {
	margin-left: auto;
	color: #A9B6B0;
}

.arwc-fix-group {
	background: var(--surface);
	border: 1px solid var(--border);
	padding: 16px 18px;
	margin: 0 0 12px;
	box-shadow: none;
}

.arwc-fix-group-head {
	display: flex;
	align-items: center;
	gap: 10px;
}

.arwc-fix-group-title {
	font-family: var(--disp);
	font-size: 15px;
	font-weight: 700;
	color: var(--ink);
}

.arwc-fix-group-desc {
	margin: 6px 0 12px;
	font-family: var(--sans);
	font-size: 13px;
	line-height: 1.5;
	color: var(--muted);
}

.arwc-fix-locked {
	display: flex;
	align-items: center;
	gap: 11px;
	background: var(--paper);
	border: 1px dashed var(--field-border);
	padding: 12px 15px;
	color: var(--muted);
	font-family: var(--sans);
	font-size: 13px;
}

.arwc-fix-locked::before {
	content: "\1F512"; /* lock */
	font-size: 15px;
}

.arwc-fix-locked a,
.arwc-fix-locked a:visited {
	margin-left: auto;
	font-weight: 600;
	color: var(--green);
	text-decoration: none;
}

.arwc-fix-quota {
	margin: 0 0 10px;
	font-family: var(--mono);
	font-size: 11px;
	letter-spacing: 0.03em;
	color: var(--amber-ink);
}

/* ---- Fix proposals -------------------------------------------------------- */

.arwc-proposal {
	border-top: 1px solid var(--divider);
	padding: 12px 0;
}

.arwc-proposal:first-of-type {
	border-top: none;
}

.arwc-proposal-done {
	opacity: 0.75;
}

.arwc-proposal-label {
	margin-bottom: 6px;
	font-family: var(--mono);
	font-size: 11px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--faint);
}

.arwc-proposal-diff {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	font-family: var(--sans);
	font-size: 13px;
}

.arwc-diff-before {
	color: var(--clay);
	text-decoration: line-through;
	background: none;
	padding: 0;
}

.arwc-diff-arrow {
	color: var(--faint);
	font-weight: 400;
}

.arwc-diff-after {
	color: var(--ink);
	background: var(--green-bg);
	border: 1px solid var(--green-border);
	padding: 2px 8px;
}

.arwc-proposal-note {
	margin: 8px 0;
	font-family: var(--sans);
	font-size: 12.5px;
	color: var(--muted);
}

.arwc-proposal-controls {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: 10px;
	flex-wrap: wrap;
}

.arwc-wrap .arwc-fix-input {
	width: 220px;
}

.arwc-wrap .arwc-apply-btn {
	padding: 8px 18px;
	font-size: 13px;
}

.arwc-flag-tag {
	display: inline-block;
	font-family: var(--mono);
	font-size: 10px;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	padding: 2px 7px;
	background: none;
	border: 1px solid var(--border-2);
	color: var(--faint);
}

/* Actionable flag (e.g. "Set image in editor →") — a real link, not a dead tag. */
.arwc-flag-link,
.arwc-flag-link:visited {
	display: inline-block;
	font-family: var(--sans);
	font-size: 13px;
	font-weight: 600;
	color: var(--green);
	text-decoration: none;
}

.arwc-flag-link:hover {
	color: var(--green-dark);
	text-decoration: underline;
}

/* Multi-line fix inputs (description editor, AI review). */
.arwc-wrap textarea.arwc-fix-textarea {
	width: 100%;
	min-height: 104px;
	line-height: 1.5;
	resize: vertical;
	font-family: var(--sans);
}

.arwc-fix-status {
	font-family: var(--mono);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.04em;
}

.arwc-fix-status-ok {
	color: var(--green);
}

.arwc-fix-status-ok::before {
	content: "\2713";
	margin-right: 5px;
}

.arwc-fix-status-error {
	color: var(--clay-ink);
}

.arwc-fix-status-busy {
	color: var(--faint);
}

.arwc-undo-wrap {
	margin: 4px 0 8px;
}

.arwc-wrap .arwc-undo-btn {
	color: var(--muted) !important;
	text-decoration: none;
	font-family: var(--sans);
	font-weight: 400;
	font-size: 12.5px;
}

.arwc-wrap .arwc-undo-btn:hover {
	color: var(--ink) !important;
	text-decoration: underline;
}

/* ---- Settings ------------------------------------------------------------- */

.arwc-license-status {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	margin: 18px 0 0;
	padding: 0;
	background: none;
	border: none;
	box-shadow: none;
}

.arwc-license-status .arwc-pill {
	margin-left: 0;
}

/* An active licence in the settings header reads as a positive, so it takes the
   green "active" treatment (the amber .arwc-pill-pro elsewhere still flags
   Pro-gated features). */
.arwc-license-status .arwc-pill-pro {
	background: var(--green);
	color: var(--paper);
	border-color: var(--green);
}

.arwc-plan-name {
	font-family: var(--sans);
	font-size: 13.5px;
	color: var(--muted);
}

.arwc-plan-name,
.arwc-license-status .arwc-plan-name {
	color: var(--ink);
}

.arwc-license-reason {
	flex-basis: 100%;
	margin: 2px 0 0;
	color: var(--clay-ink);
}

/* Section headings become branded display type with a hairline above. */
.arwc-settings-form h2 {
	margin: 30px 0 0;
	border-top: 1px solid var(--border);
	padding-top: 22px;
	font-family: var(--disp);
	font-size: 19px;
	font-weight: 700;
	color: var(--ink);
}

.arwc-ai-intro {
	max-width: 640px;
	margin: 10px 0 0;
	font-family: var(--sans);
	font-size: 13.5px;
	line-height: 1.6;
	color: var(--muted);
}

/* Turn the WP form-table into a 180px / 1fr label + field grid. */
.arwc-settings-wrap .form-table,
.arwc-settings-wrap .form-table tbody {
	display: block;
	margin: 16px 0 0;
}

.arwc-settings-wrap .form-table tr {
	display: grid;
	grid-template-columns: 180px 1fr;
	gap: 20px;
	align-items: start;
	margin-bottom: 20px;
}

@media (max-width: 782px) {
	.arwc-settings-wrap .form-table tr {
		grid-template-columns: 1fr;
		gap: 8px;
	}
}

.arwc-settings-wrap .form-table th,
.arwc-settings-wrap .form-table td {
	display: block;
	padding: 0;
	width: auto;
}

.arwc-settings-wrap .form-table th {
	padding-top: 10px;
	font-family: var(--sans);
	font-size: 14px;
	font-weight: 600;
	color: var(--ink);
}

.arwc-settings-wrap .form-table th label {
	font-weight: 600;
	color: var(--ink);
}

.arwc-settings-wrap .description {
	margin: 8px 0 0;
	font-family: var(--sans);
	font-size: 12.5px;
	line-height: 1.5;
	color: var(--faint);
}

.arwc-model-picker,
.arwc-key-row {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}

.arwc-model-picker .regular-text,
.arwc-key-row .regular-text {
	flex: 1;
	min-width: 220px;
}

.arwc-model-status,
.arwc-key-status {
	display: block;
	margin-top: 8px;
	font-family: var(--mono);
	font-size: 12px;
	color: var(--faint);
}

.arwc-key-inline {
	display: inline-block;
	margin: 10px 0 0;
	padding: 3px 10px;
	font-family: var(--mono);
	font-size: 12px;
	font-weight: 600;
	border: 1px solid var(--border-2);
}

.arwc-key-inline.arwc-key-ok {
	color: var(--green);
	background: var(--green-bg);
	border-color: var(--green-border);
}

.arwc-key-inline.arwc-key-ok::before {
	content: "\2713 ";
}

.arwc-key-inline.arwc-key-error {
	color: var(--clay-ink);
	background: var(--clay-bg);
	border-color: var(--clay-border);
}

.arwc-key-inline.arwc-key-error::before {
	content: "\2715 ";
}

.arwc-key-inline.arwc-key-busy {
	color: var(--amber-ink);
	background: var(--amber-bg);
	border-color: var(--amber-border);
}

.arwc-key-ok {
	color: var(--green);
	font-weight: 500;
}

.arwc-key-error {
	color: var(--clay-ink);
	font-weight: 500;
}

.arwc-key-busy {
	color: var(--faint);
}

.arwc-settings-form .submit {
	margin: 28px 0 0;
	border-top: 1px solid var(--border);
	padding: 22px 0 0;
}

/* ---- Agent Access page ---------------------------------------------------- */

.arwc-access-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
	margin: 22px 0 6px;
}

@media (max-width: 1100px) {
	.arwc-access-grid {
		grid-template-columns: 1fr;
	}
}

.arwc-access-card {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.arwc-access-card-head {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 2px;
}

.arwc-access-card-title {
	font-family: var(--disp);
	font-size: 15px;
	font-weight: 700;
	color: var(--ink);
}

.arwc-access-card-head .arwc-pill {
	margin-left: auto;
}

.arwc-access-stat {
	margin: 0;
	font-family: var(--sans);
	font-size: 13.5px;
	color: var(--muted);
}

.arwc-access-big {
	font-family: var(--disp);
	font-size: 28px;
	font-weight: 800;
	letter-spacing: -0.02em;
	color: var(--ink);
	margin-right: 6px;
}

.arwc-access-note {
	margin: 0;
	font-family: var(--sans);
	font-size: 12.5px;
	line-height: 1.5;
	color: var(--muted);
}

.arwc-access-ok {
	color: var(--green);
}

.arwc-access-warn {
	color: var(--clay-ink);
}

.arwc-access-mono {
	font-family: var(--mono);
	font-size: 11.5px;
	color: var(--faint);
	word-break: break-all;
}

.arwc-access-link,
.arwc-access-link:visited {
	margin-top: auto;
	padding-top: 4px;
	font-family: var(--sans);
	font-size: 13px;
	font-weight: 600;
	color: var(--green);
	text-decoration: none;
}

.arwc-access-link:hover {
	color: var(--green-dark);
	text-decoration: underline;
}

.arwc-access-conflict {
	margin-top: 16px;
	align-items: center;
}

.arwc-access-deactivate-form {
	margin: 0 0 0 auto;
	flex: none;
}

/* In-page robots.txt / llms.txt previews — code panels, so users never open the
   raw files or leave the plugin. */
.arwc-code-panel {
	margin-top: 16px;
}

.arwc-code-panel-head {
	display: flex;
	align-items: baseline;
	gap: 12px;
	margin-bottom: 4px;
}

.arwc-code-panel-meta {
	margin-left: auto;
	font-family: var(--mono);
	font-size: 11px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--faint);
}

.arwc-wrap .arwc-code-box {
	margin: 10px 0 0;
	padding: 16px 18px;
	max-height: 420px;
	overflow: auto;
	background: var(--dark);
	color: #C9D6CF;
	font-family: var(--mono);
	font-size: 12px;
	line-height: 1.7;
	white-space: pre-wrap;
	word-break: break-word;
	border: none;
	border-radius: 0;
}

/* ---- "What is Good" explainer --------------------------------------------- */

.arwc-good-explainer {
	margin: 22px 0 0;
	max-width: 760px;
	background: var(--surface);
	border: 1px solid var(--border);
}

.arwc-good-explainer > summary {
	cursor: pointer;
	padding: 13px 16px;
	font-family: var(--sans);
	font-size: 13.5px;
	font-weight: 600;
	color: var(--ink);
	list-style-position: inside;
}

.arwc-good-explainer[open] > summary {
	border-bottom: 1px solid var(--border-2);
}

.arwc-good-explainer-body {
	padding: 14px 16px 4px;
}

.arwc-good-explainer-body p {
	margin: 0 0 12px;
	font-family: var(--sans);
	font-size: 13px;
	line-height: 1.6;
	color: var(--body);
}

/* ---- Score-history trend (sparkline) -------------------------------------- */

.arwc-trend {
	margin: 22px 0 0;
	padding: 18px 22px 16px;
}

.arwc-trend-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
}

.arwc-trend-kicker {
	display: block;
	font-family: var(--mono);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	color: var(--faint);
}

.arwc-trend-window {
	display: block;
	margin-top: 3px;
	font-family: var(--sans);
	font-size: 13px;
	color: var(--muted);
}

.arwc-trend-delta {
	font-family: var(--disp);
	font-size: 20px;
	font-weight: 800;
	letter-spacing: -0.02em;
	line-height: 1;
}

.arwc-trend-delta span {
	font-family: var(--mono);
	font-size: 10px;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--faint);
	margin-left: 2px;
}

.arwc-trend-delta.is-up {
	color: var(--green);
}

.arwc-trend-delta.is-down {
	color: var(--clay-ink);
}

.arwc-trend-chart {
	margin: 14px 0 0;
	height: 90px;
}

.arwc-trend-chart svg {
	display: block;
	width: 100%;
	height: 100%;
}

.arwc-trend-line {
	stroke: var(--faint);
	stroke-width: 2;
	stroke-linejoin: round;
	stroke-linecap: round;
	vector-effect: non-scaling-stroke;
}

.arwc-trend-dot {
	fill: var(--faint);
}

.arwc-trend-chart.arwc-grade-good .arwc-trend-line,
.arwc-trend-chart.arwc-grade-good .arwc-trend-dot {
	stroke: var(--green);
	fill: var(--green);
}

.arwc-trend-chart.arwc-grade-fair .arwc-trend-line,
.arwc-trend-chart.arwc-grade-fair .arwc-trend-dot {
	stroke: var(--amber-bar);
	fill: var(--amber-bar);
}

.arwc-trend-chart.arwc-grade-poor .arwc-trend-line,
.arwc-trend-chart.arwc-grade-poor .arwc-trend-dot {
	stroke: var(--clay);
	fill: var(--clay);
}

.arwc-trend-foot {
	margin: 12px 0 0;
	font-family: var(--sans);
	font-size: 12.5px;
	color: var(--muted);
}

.arwc-trend-foot strong {
	color: var(--ink);
}

.arwc-trend-pro {
	color: var(--amber-ink);
	font-weight: 600;
}

/* ---- Dashboard onboarding polish ------------------------------------------ */

.arwc-toolbar-hint {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 14px 0 0;
	font-family: var(--sans);
	font-size: 13px;
	color: var(--muted);
}

.arwc-toolbar-hint .dashicons {
	font-size: 16px;
	width: 16px;
	height: 16px;
	color: var(--green);
}

.arwc-toolbar-hint a,
.arwc-toolbar-hint a:visited {
	color: var(--green);
	font-weight: 600;
	text-decoration: none;
}

.arwc-toolbar-hint a:hover {
	text-decoration: underline;
}

.arwc-empty-lg {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	padding: 52px 40px;
}

.arwc-empty-icon {
	font-size: 34px;
	width: 34px;
	height: 34px;
	color: var(--green);
	margin-bottom: 6px;
}

.arwc-empty-title {
	margin: 0;
	font-family: var(--disp);
	font-size: 21px;
	font-weight: 700;
	letter-spacing: -0.02em;
	color: var(--ink);
}

.arwc-empty-text {
	max-width: 460px;
	margin: 4px 0 8px;
	font-family: var(--sans);
	font-size: 14px;
	line-height: 1.6;
	color: var(--muted);
}

/* ---- Setup wizard --------------------------------------------------------- */

.arwc-setup {
	min-height: calc(100vh - 32px);
}

.arwc-setup-shell {
	max-width: 720px;
	margin: 0 auto;
	padding: 8px 0 40px;
}

.arwc-setup-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 26px;
}

.arwc-setup-skip,
.arwc-setup-skip:visited {
	font-family: var(--sans);
	font-size: 13px;
	color: var(--faint);
	text-decoration: none;
}

.arwc-setup-skip:hover {
	color: var(--ink);
	text-decoration: underline;
}

.arwc-setup-steps {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 20px;
	padding: 0;
	list-style: none;
}

.arwc-setup-step {
	display: flex;
	align-items: center;
	gap: 8px;
	flex: 0 0 auto;
	font-family: var(--sans);
	font-size: 13px;
	color: var(--faint);
}

.arwc-setup-step:not(:last-child)::after {
	content: "";
	display: block;
	width: 26px;
	height: 1px;
	margin-left: 4px;
	background: var(--border);
}

.arwc-setup-step-num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	background: var(--surface);
	border: 1px solid var(--border);
	font-family: var(--mono);
	font-size: 11px;
	font-weight: 600;
	color: var(--faint);
}

.arwc-setup-step.is-active {
	color: var(--ink);
	font-weight: 600;
}

.arwc-setup-step.is-active .arwc-setup-step-num {
	background: var(--green);
	border-color: var(--green);
	color: var(--paper);
}

.arwc-setup-step.is-done .arwc-setup-step-num {
	background: var(--green-bg);
	border-color: var(--green-border);
	color: var(--green);
}

.arwc-setup-card {
	background: var(--surface);
	border: 1px solid var(--border);
	padding: 34px 36px 38px;
}

.arwc-setup-kicker {
	display: block;
	font-family: var(--mono);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	color: var(--green);
}

.arwc-setup-title {
	margin: 10px 0 0;
	padding: 0;
	font-family: var(--disp);
	font-size: 27px;
	font-weight: 800;
	letter-spacing: -0.03em;
	line-height: 1.15;
	color: var(--ink);
}

.arwc-setup-lead {
	max-width: 560px;
	margin: 12px 0 0;
	font-family: var(--sans);
	font-size: 15px;
	line-height: 1.6;
	color: var(--muted);
}

.arwc-setup-list {
	margin: 22px 0 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.arwc-setup-list li {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin: 0;
	font-family: var(--sans);
	font-size: 14px;
	line-height: 1.5;
	color: var(--body);
}

.arwc-setup-list .dashicons {
	flex: none;
	font-size: 20px;
	width: 20px;
	height: 20px;
	color: var(--green);
	margin-top: 1px;
}

.arwc-setup-list strong {
	display: block;
	color: var(--ink);
}

.arwc-setup-actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
	margin: 26px 0 0;
}

.arwc-wrap .arwc-setup-cta {
	font-size: 15px;
	padding: 11px 24px;
}

.arwc-setup-fineprint {
	margin: 16px 0 0;
	font-family: var(--sans);
	font-size: 13px;
	line-height: 1.55;
	color: var(--faint);
}

.arwc-setup-next a,
.arwc-setup-next a:visited {
	color: var(--green);
	font-weight: 600;
	text-decoration: none;
}

.arwc-setup-next a:hover {
	text-decoration: underline;
}

.arwc-setup-progress {
	margin-top: 24px;
}

.arwc-setup-error {
	margin: 18px 0 0;
	font-family: var(--sans);
	font-size: 14px;
	color: var(--clay-ink);
}

.arwc-setup-scoreblock {
	display: flex;
	align-items: center;
	gap: 22px;
	margin: 16px 0 0;
	padding: 0;
	background: none;
	border: none;
}

.arwc-setup-scoreblock .arwc-setup-title {
	margin-top: 2px;
}

.arwc-setup-scoreblock .arwc-setup-lead {
	margin-top: 8px;
}

.arwc-setup-subhead {
	margin: 26px 0 12px;
	padding: 0;
	font-family: var(--mono);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	color: var(--faint);
}

.arwc-setup-issues {
	margin-top: 6px;
}

.arwc-setup-goodnews {
	margin: 24px 0 0;
	font-size: 15px;
}

/* ---- Get Started guide ---------------------------------------------------- */

.arwc-gs-status {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 20px 0 0;
	padding: 14px 18px;
	background: var(--surface);
	border: 1px solid var(--border);
}

.arwc-gs-status-text {
	font-family: var(--sans);
	font-size: 14px;
	color: var(--muted);
}

.arwc-gs-status-text strong {
	color: var(--ink);
}

.arwc-gs-steps {
	margin: 24px 0 0;
	padding: 0;
	list-style: none;
	counter-reset: none;
}

.arwc-gs-step {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	margin: 0;
	padding: 20px 0;
	border-top: 1px solid var(--divider);
}

.arwc-gs-step:first-child {
	border-top: none;
}

.arwc-gs-marker {
	flex: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	background: var(--surface);
	border: 1px solid var(--border);
	font-family: var(--mono);
	font-size: 13px;
	font-weight: 600;
	color: var(--muted);
}

.arwc-gs-step.is-done .arwc-gs-marker {
	background: var(--green);
	border-color: var(--green);
	color: var(--paper);
}

.arwc-gs-step.is-done .arwc-gs-marker .dashicons {
	font-size: 18px;
	width: 18px;
	height: 18px;
}

.arwc-gs-body {
	flex: 1 1 auto;
	min-width: 0;
}

.arwc-gs-titlerow {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}

.arwc-gs-title {
	font-family: var(--disp);
	font-size: 17px;
	font-weight: 700;
	color: var(--ink);
}

.arwc-gs-titlerow .arwc-pill {
	margin-left: 0;
}

.arwc-gs-desc {
	max-width: 620px;
	margin: 6px 0 12px;
	font-family: var(--sans);
	font-size: 13.5px;
	line-height: 1.6;
	color: var(--muted);
}

.arwc-gs-replay {
	margin: 22px 0 0;
	padding-top: 18px;
	border-top: 1px solid var(--border);
	font-family: var(--sans);
	font-size: 13px;
	color: var(--faint);
}

.arwc-gs-replay a,
.arwc-gs-replay a:visited {
	color: var(--green);
	font-weight: 600;
	text-decoration: none;
}

.arwc-gs-replay a:hover {
	text-decoration: underline;
}

/* ---- Agent preview modal -------------------------------------------------- */

.arwc-modal-overlay {
	position: fixed;
	inset: 0;
	z-index: 100000;
	background: rgba(18, 16, 10, 0.55);
	display: flex;
	align-items: flex-start;
	justify-content: center;
	padding: 6vh 16px;
	overflow: auto;
}

.arwc-modal {
	position: relative;
	width: 100%;
	max-width: 640px;
	background: var(--surface);
	border: 1px solid var(--border);
	padding: 26px 28px 28px;
	font-family: var(--sans);
	color: var(--body);
	box-shadow: 0 20px 60px rgba(18, 16, 10, 0.3);
}

.arwc-modal-close {
	position: absolute;
	top: 10px;
	right: 12px;
	border: none;
	background: none;
	font-size: 26px;
	line-height: 1;
	color: var(--faint);
	cursor: pointer;
}

.arwc-modal-close:hover {
	color: var(--ink);
}

.arwc-modal-title {
	margin: 0;
	font-family: var(--disp);
	font-size: 20px;
	font-weight: 800;
	letter-spacing: -0.02em;
	color: var(--ink);
}

.arwc-modal-name {
	margin: 4px 0 0;
	font-family: var(--sans);
	font-size: 14px;
	font-weight: 600;
	color: var(--green);
}

.arwc-modal-intro {
	margin: 10px 0 16px;
	font-size: 13px;
	line-height: 1.55;
	color: var(--muted);
}

.arwc-agent-table {
	width: 100%;
	border-collapse: collapse;
	margin: 0 0 6px;
}

.arwc-agent-table th,
.arwc-agent-table td {
	text-align: left;
	vertical-align: top;
	padding: 8px 10px;
	border-bottom: 1px solid var(--divider);
	font-size: 13px;
}

.arwc-agent-table th {
	width: 130px;
	font-family: var(--mono);
	font-size: 11px;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--faint);
	font-weight: 500;
}

.arwc-agent-table tr.is-ok td {
	color: var(--ink);
}

.arwc-agent-table tr.is-missing td {
	color: var(--clay-ink);
}

.arwc-modal-sub {
	margin: 18px 0 6px;
	font-family: var(--mono);
	font-size: 11px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--faint);
}

.arwc-agent-desc {
	max-height: 200px;
	overflow: auto;
	padding: 12px 14px;
	background: var(--paper);
	border: 1px solid var(--border-2);
	font-size: 13px;
	line-height: 1.6;
	white-space: pre-wrap;
	color: var(--body);
}

.arwc-agent-desc.is-missing {
	color: var(--clay-ink);
	font-style: italic;
}

/* ---- Accessibility -------------------------------------------------------- */

.arwc-wrap a:focus-visible {
	outline: 2px solid var(--green);
	outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
	.arwc-ring-arc {
		animation: none;
	}

	.arwc-progress-bar span {
		transition: none;
	}
}
