
/* --- consolidated: /home/www/csv-to-woo-lnmp/assets/admin.css --- */
:root {
	--wcsi-bg: #f4f6f9;
	--wcsi-surface: #fff;
	--wcsi-subtle: #f7f8fa;
	--wcsi-border: #e3e6eb;
	--wcsi-border-strong: #cbd0d8;
	--wcsi-text: #16202c;
	--wcsi-muted: #6a7382;
	--wcsi-brand: #2563eb;
	--wcsi-brand-dark: #1d4ed8;
	--wcsi-brand-soft: #eef4ff;
	--wcsi-ok: #0f8a4a;
	--wcsi-warn: #b45309;
	--wcsi-danger: #d92d20;
	--wcsi-radius: 10px;
	--wcsi-radius-sm: 7px;
	--wcsi-shadow: 0 1px 2px rgba(16, 24, 40, .05), 0 6px 20px -12px rgba(16, 24, 40, .18);
}

.wcsi-page {
	min-height: 100vh;
	padding: 28px 24px 56px;
	box-sizing: border-box;
	background: var(--wcsi-bg);
	color: var(--wcsi-text);
	font: 14px/1.6 -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
	-webkit-font-smoothing: antialiased;
}

.wcsi-page *,
.wcsi-page *::before,
.wcsi-page *::after {
	box-sizing: border-box;
}

.wcsi-wrap {
	width: 100%;
	max-width: 1120px;
	margin: 0 auto;
}

.wcsi-wrap h1 {
	margin: 0;
	font-size: 26px;
	font-weight: 650;
	letter-spacing: -.01em;
	line-height: 1.25;
}

.wcsi-wrap h2 {
	margin: 0;
	font-size: 17px;
	font-weight: 650;
}

.wcsi-wrap h3 {
	font-size: 14px;
	font-weight: 650;
}

.wcsi-title-row {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 22px;
}

.wcsi-subtitle {
	margin: 6px 0 0;
	color: var(--wcsi-muted);
}

/* Controls */

.wcsi-wrap .button,
.wcsi-wrap button,
.wcsi-wrap select,
.wcsi-wrap input[type="number"],
.wcsi-wrap input[type="text"],
.wcsi-wrap input[type="password"] {
	min-height: 36px;
	padding: 0 14px;
	border: 1px solid var(--wcsi-border-strong);
	border-radius: var(--wcsi-radius-sm);
	background: var(--wcsi-surface);
	color: var(--wcsi-text);
	font: inherit;
	line-height: 34px;
	text-decoration: none;
	cursor: pointer;
	transition: border-color .15s, background .15s, box-shadow .15s, color .15s;
}

.wcsi-wrap select {
	padding-right: 34px;
	background-image: linear-gradient(45deg, transparent 50%, var(--wcsi-muted) 50%), linear-gradient(135deg, var(--wcsi-muted) 50%, transparent 50%);
	background-position: calc(100% - 17px) 15px, calc(100% - 12px) 15px;
	background-size: 5px 5px, 5px 5px;
	background-repeat: no-repeat;
	-webkit-appearance: none;
	appearance: none;
}

.wcsi-wrap input[type="number"],
.wcsi-wrap input[type="text"],
.wcsi-wrap input[type="password"] {
	cursor: text;
}

.wcsi-wrap input[type="number"] {
	width: 96px;
}

.wcsi-wrap input:focus,
.wcsi-wrap select:focus,
.wcsi-wrap button:focus-visible,
.wcsi-wrap .button:focus-visible {
	border-color: var(--wcsi-brand);
	box-shadow: 0 0 0 3px rgba(37, 99, 235, .16);
	outline: none;
}

.wcsi-wrap .button,
.wcsi-wrap button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	font-weight: 550;
	white-space: nowrap;
}

.wcsi-wrap .button:hover:not(:disabled),
.wcsi-wrap button:hover:not(:disabled) {
	border-color: var(--wcsi-brand);
	background: var(--wcsi-brand-soft);
	color: var(--wcsi-brand-dark);
}

.wcsi-wrap .button-primary {
	border-color: var(--wcsi-brand);
	background: var(--wcsi-brand);
	color: #fff;
	box-shadow: 0 1px 2px rgba(16, 24, 40, .08);
}

.wcsi-wrap .button-primary:hover:not(:disabled) {
	border-color: var(--wcsi-brand-dark);
	background: var(--wcsi-brand-dark);
	color: #fff;
}

.wcsi-wrap button:disabled,
.wcsi-wrap .button:disabled {
	cursor: default;
	opacity: .5;
}

.wcsi-wrap input[type="checkbox"] {
	width: 16px;
	height: 16px;
	margin: 0;
	accent-color: var(--wcsi-brand);
	cursor: pointer;
}

/* Cards */

.wcsi-panel,
.wcsi-help {
	margin-top: 18px;
	padding: 26px 28px;
	border: 1px solid var(--wcsi-border);
	border-radius: var(--wcsi-radius);
	background: var(--wcsi-surface);
	box-shadow: var(--wcsi-shadow);
}

.wcsi-panel {
	margin-top: 0;
}

.wcsi-section-title {
	margin: 0 0 12px;
	color: var(--wcsi-muted);
	font-size: 12px;
	font-weight: 650;
	letter-spacing: .06em;
	text-transform: uppercase;
}

/* Auth row */

.wcsi-site-auth {
	margin-bottom: 24px;
	padding: 16px 18px;
	border: 1px solid var(--wcsi-border);
	border-radius: var(--wcsi-radius);
	background: var(--wcsi-subtle);
}

.wcsi-site-fields {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(280px, .9fr);
	gap: 16px;
}

.wcsi-site-auth label {
	display: grid;
	min-width: 0;
	gap: 6px;
	font-size: 13px;
	font-weight: 600;
}

.wcsi-site-input,
.wcsi-site-blacklist {
	min-width: 0;
}

.wcsi-site-input {
	display: flex;
	align-items: center;
	width: 100%;
}

.wcsi-site-input textarea,
.wcsi-site-blacklist textarea {
	width: 100%;
	min-height: 108px;
	padding: 9px 15px;
	font-size: 15px;
	line-height: 1.55;
	resize: vertical;
}

.wcsi-site-input textarea:focus {
	position: relative;
	z-index: 1;
}

.wcsi-site-blacklist {
	display: grid;
	gap: 6px;
}

.wcsi-site-actions {
	display: flex;
	align-items: flex-end;
	gap: 16px;
	margin-top: 14px;
	padding-top: 14px;
	border-top: 1px solid var(--wcsi-border);
}

.wcsi-site-actions > label {
	flex: 1 1 320px;
}

.wcsi-token-input {
	display: flex;
	align-items: center;
	width: 100%;
	gap: 8px;
}

.wcsi-token-input input {
	flex: 1 1 auto;
	min-width: 0;
}

.wcsi-token-input .button {
	flex: 0 0 auto;
	padding: 0 12px;
}

.wcsi-product-count {
	display: flex;
	align-items: center;
	flex: 0 0 auto;
	gap: 12px;
	white-space: nowrap;
}

.wcsi-product-count strong {
	min-width: 90px;
	color: var(--wcsi-muted);
	font-size: 13px;
	font-variant-numeric: tabular-nums;
}

.wcsi-product-count strong.wcsi-product-count-done {
	color: #d33;
	font-weight: 700;
}

#wcsi-auth-status {
	display: inline-flex;
	flex: 0 1 auto;
	align-items: center;
	gap: 7px;
	min-width: 0;
	white-space: nowrap;
	color: var(--wcsi-muted);
	font-size: 13px;
}

#wcsi-auth-status.is-verified {
	color: var(--wcsi-ok);
	font-weight: 650;
}

#wcsi-auth-status.is-error {
	color: var(--wcsi-danger);
}

#wcsi-auth-status.is-verified::before {
	background: var(--wcsi-ok);
	box-shadow: 0 0 0 0 rgba(15, 138, 74, .42);
	animation: wcsi-auth-breathe 1.8s ease-out infinite;
}

#wcsi-auth-status.is-error::before {
	background: var(--wcsi-danger);
}

#wcsi-auth-status::before {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--wcsi-border-strong);
	content: "";
}

.wcsi-site-input.is-verified textarea {
	border-color: var(--wcsi-ok);
	background: #f0fbf4;
	color: var(--wcsi-ok);
}

@keyframes wcsi-auth-breathe {
	0%, 100% {
		opacity: .72;
		transform: scale(.9);
		box-shadow: 0 0 0 0 rgba(15, 138, 74, .42);
	}
	50% {
		opacity: 1;
		transform: scale(1.1);
		box-shadow: 0 0 0 5px rgba(15, 138, 74, 0);
	}
}

@media (prefers-reduced-motion: reduce) {
	#wcsi-auth-status.is-verified::before {
		animation: none;
	}
}

@media (max-width: 700px) {
	.wcsi-site-fields {
		grid-template-columns: 1fr;
	}

	.wcsi-site-actions {
		align-items: stretch;
		flex-direction: column;
		gap: 12px;
	}

	.wcsi-site-actions > label,
	.wcsi-product-count,
	#wcsi-auth-status {
		width: 100%;
		min-width: 0;
		flex: none;
	}
}

/* Upload workspace */

.wcsi-upload-workspace {
	display: grid;
	grid-template-columns: minmax(400px, 480px) minmax(0, 1fr);
	gap: 22px;
	align-items: stretch;
}

.wcsi-drop {
	position: relative;
	display: flex;
	min-height: 152px;
	justify-content: center;
	align-items: center;
	gap: 16px;
	padding: 24px;
	border: 1.5px dashed var(--wcsi-border-strong);
	border-radius: var(--wcsi-radius);
	background: var(--wcsi-subtle);
	text-align: center;
	transition: border-color .15s, background .15s;
}

.wcsi-drop:hover {
	border-color: var(--wcsi-brand);
	background: var(--wcsi-brand-soft);
}

.wcsi-drop.is-dragging {
	border-color: var(--wcsi-brand);
	background: var(--wcsi-brand-soft);
	box-shadow: 0 0 0 4px rgba(37, 99, 235, .12);
}

.wcsi-drop.is-busy {
	pointer-events: none;
	border-color: var(--wcsi-brand);
	background: var(--wcsi-brand-soft);
}

.wcsi-drop.is-busy .wcsi-upload-icon {
	animation: wcsi-pulse 1.1s ease-in-out infinite;
}

@keyframes wcsi-pulse {
	0%, 100% { opacity: 1; transform: translateY(0); }
	50% { opacity: .45; transform: translateY(-4px); }
}

.wcsi-drop input {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	cursor: pointer;
}

.wcsi-upload-icon {
	display: flex;
	width: 42px;
	height: 42px;
	justify-content: center;
	align-items: center;
	flex: 0 0 auto;
	border-radius: 50%;
	background: var(--wcsi-brand);
	color: #fff;
	font-size: 20px;
	font-weight: 700;
	line-height: 1;
}

.wcsi-drop-copy {
	display: grid;
	min-width: 0;
	max-width: calc(100% - 62px);
	gap: 5px;
	justify-items: center;
}

.wcsi-drop strong {
	overflow: hidden;
	font-size: 15px;
	font-weight: 600;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.wcsi-drop small {
	color: var(--wcsi-muted);
}

/* Options */

.wcsi-options {
	display: flex;
	min-width: 0;
	flex-direction: column;
	justify-content: center;
	gap: 18px;
	padding: 20px 22px;
	border: 1px solid var(--wcsi-border);
	border-radius: var(--wcsi-radius);
}

.wcsi-option-fields {
	display: grid;
	grid-template-columns: minmax(0, 1.6fr) minmax(0, 1.2fr) minmax(0, 1fr) minmax(0, 1fr);
	gap: 16px;
}

.wcsi-option-fields label {
	display: grid;
	gap: 6px;
	font-size: 13px;
	font-weight: 600;
}

.wcsi-option-fields select,
.wcsi-option-fields input {
	width: 100%;
}

.wcsi-option-actions {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 18px;
	padding-top: 16px;
	border-top: 1px solid var(--wcsi-border);
}

.wcsi-update-option {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	font-weight: 500;
	white-space: nowrap;
	cursor: pointer;
}

.wcsi-duplicate-label {
	color: var(--wcsi-text);
	font-size: 13px;
	font-weight: 650;
	white-space: nowrap;
}

.wcsi-update-option input[type="radio"] {
	width: 16px;
	height: 16px;
	min-height: 0;
	margin: 0;
	accent-color: var(--wcsi-brand);
	cursor: pointer;
}

.wcsi-options .button {
	flex: 0 0 auto;
}

/* Progress */

.wcsi-progress {
	margin-top: 26px;
	padding-top: 24px;
	border-top: 1px solid var(--wcsi-border);
}

.wcsi-actions,
.wcsi-stats,
.wcsi-progress-head {
	display: flex;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
}

.wcsi-progress-head {
	justify-content: space-between;
	gap: 16px;
}

.wcsi-progress-status {
	display: flex;
	align-items: baseline;
	gap: 14px;
	min-width: 0;
	flex-wrap: wrap;
}

#wcsi-stage {
	font-size: 16px;
	font-weight: 650;
}

#wcsi-time {
	color: var(--wcsi-muted);
	font-size: 13px;
	font-variant-numeric: tabular-nums;
}

#wcsi-percent {
	color: var(--wcsi-brand);
	font-size: 22px;
	font-weight: 650;
	font-variant-numeric: tabular-nums;
}

.wcsi-track {
	position: relative;
	height: 10px;
	margin-top: 12px;
	overflow: hidden;
	border-radius: 99px;
	background: #e6e9ef;
}

.wcsi-track.is-indeterminate::after {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, transparent, rgba(37, 99, 235, .55), transparent);
	animation: wcsi-sweep 1.2s ease-in-out infinite;
	content: "";
}

@keyframes wcsi-sweep {
	from { transform: translateX(-100%); }
	to { transform: translateX(100%); }
}

#wcsi-bar {
	width: 0;
	height: 100%;
	border-radius: 99px;
	background: linear-gradient(90deg, var(--wcsi-brand), #60a5fa);
	transition: width .25s ease;
}

#wcsi-detail {
	margin: 12px 0 0;
	color: var(--wcsi-muted);
	font-size: 13px;
}

/* Stat tiles */

.wcsi-stats,
.wcsi-preview-stats {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
	gap: 10px;
	margin: 20px 0;
}

.wcsi-stats span,
.wcsi-preview-stats span {
	display: flex;
	min-width: 0;
	flex-direction: column;
	gap: 2px;
	padding: 12px 14px;
	border: 1px solid var(--wcsi-border);
	border-radius: var(--wcsi-radius-sm);
	background: var(--wcsi-subtle);
	color: var(--wcsi-muted);
	font-size: 12px;
}

.wcsi-stats b,
.wcsi-preview-stats b {
	color: var(--wcsi-text);
	font-size: 22px;
	font-weight: 650;
	font-variant-numeric: tabular-nums;
	line-height: 1.2;
}

#wcsi-imported { color: var(--wcsi-ok); }
#wcsi-updated { color: var(--wcsi-brand); }
#wcsi-failed { color: var(--wcsi-danger); }

/* Log */

.wcsi-log-title {
	margin: 24px 0 10px;
}

.wcsi-live-log {
	height: 280px;
	margin: 0;
	overflow: auto;
	padding: 14px;
	border: 1px solid #10151c;
	border-radius: var(--wcsi-radius-sm);
	background: #11161d;
	color: #cfd6e0;
	font: 12px/1.65 ui-monospace, SFMono-Regular, Consolas, Monaco, monospace;
	white-space: pre-wrap;
	scrollbar-color: #3c4655 #11161d;
}

.wcsi-log-line {
	min-height: 20px;
	padding: 1px 6px;
	border-radius: 4px;
}

.wcsi-log-line:nth-child(odd) {
	background: rgba(255, 255, 255, .025);
}

.wcsi-log-line.is-error {
	margin: 3px 0;
	padding: 5px 9px;
	border-left: 3px solid #f97066;
	background: #47161a;
	color: #ffe5e3;
	font-weight: 600;
}

#wcsi-errors {
	max-height: 240px;
	margin-top: 14px;
	overflow: auto;
	padding: 14px;
	border: 1px solid #f3c7c4;
	border-left: 4px solid var(--wcsi-danger);
	border-radius: var(--wcsi-radius-sm);
	background: #fef4f3;
	color: #7a1d17;
	font-size: 12px;
	white-space: pre-wrap;
}

/* Preview */

.wcsi-preview {
	margin-top: 26px;
	padding-top: 24px;
	border-top: 1px solid var(--wcsi-border);
}

.wcsi-preview-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}

.wcsi-preview h3 {
	margin: 26px 0 10px;
}

.wcsi-table-wrap {
	max-width: 100%;
	overflow: auto;
	border: 1px solid var(--wcsi-border);
	border-radius: var(--wcsi-radius-sm);
}

.wcsi-table {
	width: 100%;
	border-collapse: collapse;
	background: var(--wcsi-surface);
	font-size: 13px;
}

.wcsi-table th,
.wcsi-table td {
	padding: 9px 12px;
	border-bottom: 1px solid var(--wcsi-border);
	text-align: left;
	vertical-align: top;
	white-space: nowrap;
}

.wcsi-table th {
	position: sticky;
	top: 0;
	z-index: 1;
	background: var(--wcsi-subtle);
	color: var(--wcsi-muted);
	font-size: 12px;
	font-weight: 650;
	letter-spacing: .03em;
	text-transform: uppercase;
}

.wcsi-table tbody tr:last-child td {
	border-bottom: 0;
}

.wcsi-table tbody tr:hover td {
	background: var(--wcsi-brand-soft);
}

.wcsi-sample td {
	max-width: 280px;
	overflow: hidden;
	text-overflow: ellipsis;
}

.wcsi-ok,
.wcsi-warn {
	display: inline-block;
	padding: 1px 9px;
	border-radius: 99px;
	font-size: 12px;
	font-weight: 600;
}

.wcsi-ok {
	background: #e7f6ed;
	color: var(--wcsi-ok);
}

.wcsi-warn {
	background: #fdf3e4;
	color: var(--wcsi-warn);
}

/* Help */

.wcsi-help p {
	margin: 0 0 10px;
	color: #3f4a58;
}

.wcsi-help code {
	padding: 1px 6px;
	border: 1px solid var(--wcsi-border);
	border-radius: 4px;
	background: var(--wcsi-subtle);
	color: #334155;
	font-family: ui-monospace, SFMono-Regular, Consolas, Monaco, monospace;
	font-size: 12.5px;
	white-space: nowrap;
}

.wcsi-notes {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 14px;
	margin: 18px 0 0;
}

.wcsi-note {
	padding: 16px 18px;
	border: 1px solid var(--wcsi-border);
	border-left: 3px solid var(--wcsi-brand);
	border-radius: var(--wcsi-radius-sm);
	background: var(--wcsi-brand-soft);
}

.wcsi-note h3 {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 8px;
	font-size: 14px;
}

.wcsi-note p {
	margin: 0 0 10px;
	color: #3f4a58;
}

.wcsi-note small {
	display: block;
	color: var(--wcsi-muted);
	font-size: 12.5px;
	line-height: 1.55;
}

.wcsi-note-example {
	display: flex;
	align-items: center;
	gap: 6px;
	overflow-x: auto;
	padding: 10px 12px;
	border: 1px solid var(--wcsi-border);
	border-radius: var(--wcsi-radius-sm);
	background: var(--wcsi-surface);
	font-family: ui-monospace, SFMono-Regular, Consolas, Monaco, monospace;
	font-size: 12.5px;
}

.wcsi-note-example span {
	padding: 2px 7px;
	border-radius: 4px;
	background: #e7f6ed;
	color: #0b6b3a;
	white-space: nowrap;
}

.wcsi-note-example b {
	flex: 0 0 auto;
	padding: 0 5px;
	border-radius: 4px;
	background: var(--wcsi-warn);
	color: #fff;
	font-size: 13px;
	font-weight: 700;
}

.wcsi-help-actions {
	margin-top: 18px;
	padding-top: 18px;
	border-top: 1px solid var(--wcsi-border);
}

@media (prefers-reduced-motion: reduce) {
	.wcsi-page * {
		transition: none !important;
		animation: none !important;
	}
}

@media (max-width: 850px) {
	.wcsi-upload-workspace {
		grid-template-columns: 1fr;
	}

	.wcsi-option-fields {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 700px) {
	.wcsi-option-fields {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 600px) {
	.wcsi-page {
		padding: 20px 14px 44px;
	}

	.wcsi-title-row {
		align-items: flex-start;
		flex-direction: column;
	}

	.wcsi-panel,
	.wcsi-help {
		padding: 18px 16px;
	}

	.wcsi-site-auth {
		align-items: stretch;
		flex-direction: column;
		padding: 16px;
	}

	.wcsi-site-auth input,
	.wcsi-site-auth textarea {
		width: 100%;
	}

	.wcsi-options {
		gap: 14px;
		padding: 16px;
	}

	.wcsi-option-actions {
		align-items: stretch;
		flex-direction: column;
	}

	.wcsi-preview-head {
		align-items: stretch;
		flex-direction: column;
	}

	.wcsi-options .button,
	.wcsi-preview-head .button {
		width: 100%;
	}
}

/* Shared polish for the importer and cleanup workspace. */
.wcsi-page {
	background: radial-gradient(circle at 12% 0%, rgba(37, 99, 235, .06), transparent 34%), var(--wcsi-bg);
}
.wcsi-panel,
.wcsi-help,
.wcsi-image-test,
.wcsi-blacklist-field {
	border-radius: 12px;
	box-shadow: 0 8px 28px -20px rgba(16, 24, 40, .28);
}
.wcsi-wrap input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.wcsi-wrap select,
.wcsi-wrap textarea {
	min-height: 40px;
	border-color: #cbd5e1;
	border-radius: 8px;
	background: #fff;
	transition: border-color .15s, box-shadow .15s, background .15s;
}
.wcsi-wrap textarea {
	padding: 9px 12px;
	line-height: 1.5;
}
.wcsi-wrap input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):focus,
.wcsi-wrap select:focus,
.wcsi-wrap textarea:focus {
	border-color: var(--wcsi-brand);
	box-shadow: 0 0 0 3px rgba(37, 99, 235, .13);
	outline: none;
}
.wcsi-wrap .button,
.wcsi-wrap button {
	min-height: 38px;
	border-radius: 8px;
	box-shadow: 0 1px 2px rgba(16, 24, 40, .06);
}
.wcsi-site-auth,
.wcsi-options {
	border-radius: 10px;
	background: linear-gradient(180deg, #fbfcfe, #f7f9fc);
}
.wcsi-option-actions {
	gap: 12px;
}
.wcsi-preview,
.wcsi-progress {
	border-radius: 10px;
}
.wcsi-site-input textarea {
	width: 100%;
	min-height: 108px;
	padding: 9px 15px;
	font-size: 15px;
	line-height: 1.55;
	resize: vertical;
}
/* 图片测试、黑名单工具 */
.wcsi-image-test,.wcsi-blacklist-field{margin-top:24px;padding:18px;border:1px solid #d9e1ec;border-radius:12px;background:#fff}
.wcsi-image-test-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.wcsi-image-test-head h2{margin:0 0 6px}.wcsi-image-test-head p{margin:0;color:#667085}
.wcsi-image-test-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}
.wcsi-image-test-fields input,.wcsi-blacklist-field textarea{width:100%;box-sizing:border-box;margin-top:6px}
.wcsi-image-test-hint{display:block;margin-top:10px;color:#667085}.wcsi-image-test-result,.wcsi-blacklist-report{margin-top:12px;padding:10px;white-space:pre-wrap}
.wcsi-image-test-result.is-success{color:#087443;background:#ecfdf3}.wcsi-image-test-result.is-error{color:#b42318;background:#fef3f2}
@media (max-width:700px){.wcsi-image-test-fields{grid-template-columns:1fr}.wcsi-image-test-head{display:block}.wcsi-image-test-head button{margin-top:12px}}

/* --- consolidated: /home/www/csv-to-woo-lnmp/assets/site-settings.css --- */
:root {
	--bg: #f4f6f9;
	--surface: #fff;
	--border: #e1e6ed;
	--text: #182230;
	--muted: #687386;
	--brand: #2563eb;
	--brand-soft: #eef4ff;
	--ok: #087443;
	--danger: #c62828;
	--warning: #8a4b08;
}

* { box-sizing: border-box; }
body { margin: 0; background: var(--bg); color: var(--text); font: 14px/1.6 -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif; }
.wcsi-page { min-height: 100vh; padding: 28px 24px 56px; }
.wcsi-wrap { width: 100%; max-width: 1120px; margin: 0 auto; }
.wcsi-header { margin-bottom: 22px; }
.wcsi-header h1 { margin: 0; font-size: 27px; line-height: 1.25; }
.wcsi-header p { margin: 7px 0 0; color: var(--muted); }
.wcsi-panel, .wcsi-card { border: 1px solid var(--border); border-radius: 10px; background: var(--surface); box-shadow: 0 5px 20px rgba(20, 35, 55, .05); }
.wcsi-layout { display: grid; grid-template-columns: minmax(0, 1fr) 310px; gap: 18px; align-items: start; }
.wcsi-results { display: grid; gap: 12px; min-width: 0; }
.wcsi-toolbar { position: sticky; top: 18px; display: flex; flex-direction: column; gap: 15px; min-height: 360px; padding: 22px; }
.wcsi-toolbar label, .wcsi-form-grid label, .wcsi-icon-row label { display: grid; gap: 6px; font-weight: 600; }
.wcsi-wide textarea { min-height: 235px; }
.wcsi-token-note { margin-top: -8px; color: var(--muted); font-size: 12px; }
.wcsi-ai-box { display: grid; gap: 10px; padding: 14px; border: 1px solid #cbdcf8; border-radius: 9px; background: #f5f8ff; }
.wcsi-ai-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.wcsi-ai-heading span { color: var(--muted); font-size: 12px; font-weight: 400; }
.wcsi-ai-heading span.is-configured { color: var(--ok); }
.wcsi-ai-heading span.is-missing { color: var(--warning); }
.wcsi-ai-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.wcsi-ai-help { color: var(--muted); font-size: 12px; font-weight: 400; }
textarea, input { width: 100%; min-height: 38px; border: 1px solid #c9d0da; border-radius: 7px; background: #fff; color: var(--text); font: inherit; padding: 8px 11px; }
textarea { resize: vertical; min-height: 100px; line-height: 1.5; }
select { width: 100%; min-height: 38px; border: 1px solid #c9d0da; border-radius: 7px; background: #fff; color: var(--text); font: inherit; padding: 0 10px; }
input:focus, textarea:focus { outline: 0; border-color: var(--brand); box-shadow: 0 0 0 3px rgba(37, 99, 235, .14); }
.wcsi-actions { display: flex; gap: 9px; flex-wrap: wrap; }
.wcsi-button { min-height: 38px; padding: 0 15px; border: 1px solid #bac4d1; border-radius: 7px; background: #fff; color: var(--text); font: inherit; font-weight: 600; cursor: pointer; }
.wcsi-button:hover:not(:disabled) { border-color: var(--brand); background: var(--brand-soft); color: #1d4ed8; }
.wcsi-button:disabled { cursor: default; opacity: .5; }
.wcsi-primary { border-color: var(--brand); background: var(--brand); color: #fff; }
.wcsi-primary:hover:not(:disabled) { background: #1d4ed8; color: #fff; }
.wcsi-save-one { border-color: #174ea6; background: #174ea6; color: #fff; }
.wcsi-save-one:hover:not(:disabled) { border-color: #103b82; background: #103b82; color: #fff; }
.wcsi-progress-wrap { width: 100%; margin-bottom: 18px; padding: 17px 22px; border: 1px solid var(--border); border-radius: 10px; background: var(--surface); box-shadow: 0 5px 20px rgba(20, 35, 55, .05); }
.wcsi-progress-head { display: flex; justify-content: space-between; gap: 10px; margin-bottom: 6px; font-size: 13px; }
.wcsi-progress-head span { color: var(--muted); }
.wcsi-progress-track { height: 9px; overflow: hidden; border-radius: 999px; background: #e8edf4; }
.wcsi-progress-track div { width: 0; height: 100%; border-radius: inherit; background: var(--brand); transition: width .2s ease; }
.wcsi-status { margin: auto 0 0; color: var(--muted); }
.wcsi-status.is-success { color: var(--ok); }
.wcsi-status.is-error { color: var(--danger); }
.wcsi-site-nav { position: sticky; top: 18px; z-index: 10; align-self: start; padding: 15px 17px; border: 1px solid #d8e0eb; border-radius: 10px; background: #fff; box-shadow: 0 8px 22px rgba(20, 35, 55, .1); }
.wcsi-site-nav[hidden] { display: none; }
.wcsi-site-nav-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.wcsi-site-nav-head strong { font-size: 15px; }
.wcsi-site-nav-count { margin-left: 7px; color: var(--muted); font-size: 12px; font-weight: 400; }
.wcsi-site-links { display: flex; flex-wrap: nowrap; gap: 8px; overflow-x: auto; padding-bottom: 2px; }
.wcsi-site-link { display: inline-flex; align-items: center; gap: 7px; max-width: 280px; min-height: 40px; padding: 6px 12px 6px 7px; overflow: hidden; border: 1px solid #d6dee9; border-radius: 8px; background: #f8fafd; color: var(--text); font: inherit; font-size: 13px; cursor: pointer; transition: border-color .15s, background .15s, color .15s, box-shadow .15s, transform .15s; }
.wcsi-site-link:hover { border-color: var(--brand); background: var(--brand-soft); color: #1d4ed8; transform: translateY(-1px); }
.wcsi-site-link.is-active { border-color: var(--brand); background: var(--brand); color: #fff; box-shadow: 0 4px 12px rgba(37, 99, 235, .22); }
.wcsi-site-link-number { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 23px; width: 23px; height: 23px; border-radius: 50%; background: #e8eef8; color: #355070; font-size: 12px; font-weight: 700; }
.wcsi-site-link.is-active .wcsi-site-link-number { background: rgba(255, 255, 255, .2); color: #fff; }
.wcsi-list { display: grid; align-content: start; gap: 18px; min-width: 0; }
.wcsi-empty { display: grid; place-items: center; align-content: center; min-height: 430px; padding: 40px 25px; border: 1.5px dashed #c7d0dc; border-radius: 10px; background: rgba(255, 255, 255, .66); text-align: center; }
.wcsi-empty-symbol { position: relative; display: grid; place-items: center; width: 64px; height: 64px; margin-bottom: 16px; border: 1px solid #d7e4ff; border-radius: 20px; background: linear-gradient(145deg, #f4f7ff 0%, #e6efff 100%); color: var(--brand); box-shadow: 0 10px 24px rgba(37, 99, 235, .12); }
.wcsi-empty-symbol::after { content: ""; position: absolute; top: 10px; right: 10px; width: 8px; height: 8px; border: 3px solid #eef4ff; border-radius: 50%; background: #60a5fa; }
.wcsi-empty-symbol svg { display: block; width: 46px; height: 46px; }
.wcsi-empty-symbol path { fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2.8; }
.wcsi-empty-symbol circle { fill: #f4f7ff; stroke: currentColor; stroke-width: 2.8; }
.wcsi-empty h2 { margin: 0; font-size: 20px; }
.wcsi-empty p { max-width: 430px; margin: 8px 0 20px; color: var(--muted); }
.wcsi-empty-steps { display: flex; justify-content: center; gap: 8px; flex-wrap: wrap; color: var(--muted); font-size: 12px; }
.wcsi-empty-steps span { padding: 5px 9px; border-radius: 999px; background: #eef1f5; }
.wcsi-card { --card-accent: #2563eb; --card-bg: #fff; --card-border: var(--border); position: relative; padding: 22px; overflow: hidden; border-color: var(--card-border); background: var(--card-bg); scroll-margin-top: 150px; transition: border-color .2s, box-shadow .2s, transform .2s; }
.wcsi-card::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 5px; background: var(--card-accent); }
.wcsi-card-tone-0 { --card-accent: #2563eb; --card-bg: #f7faff; --card-border: #cddcf7; }
.wcsi-card-tone-1 { --card-accent: #0f766e; --card-bg: #f5fcfb; --card-border: #c7e6e1; }
.wcsi-card-tone-2 { --card-accent: #b45309; --card-bg: #fffaf3; --card-border: #f0ddbd; }
.wcsi-card-tone-3 { --card-accent: #7c3aed; --card-bg: #faf8ff; --card-border: #ded2f7; }
.wcsi-card-tone-4 { --card-accent: #be185d; --card-bg: #fff8fb; --card-border: #f0cedd; }
.wcsi-card-tone-5 { --card-accent: #475569; --card-bg: #f8fafc; --card-border: #d6dee8; }
.wcsi-card.is-current { border-color: var(--card-accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--card-accent) 18%, transparent), 0 8px 24px rgba(20, 35, 55, .1); transform: translateY(-1px); }
.wcsi-card.is-site-hidden { display: none; }
.wcsi-card.is-loading { min-height: 100px; }
.wcsi-card.is-error { border-color: #efb4b4; }
.wcsi-card-head { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-bottom: 18px; }
.wcsi-card.is-collapsed .wcsi-card-head { margin-bottom: 0; }
.wcsi-card-heading { display: flex; align-items: center; gap: 11px; min-width: 0; }
.wcsi-card-number { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 36px; width: 36px; height: 36px; border-radius: 11px; background: var(--card-accent); color: #fff; font-size: 16px; font-weight: 800; box-shadow: 0 5px 12px color-mix(in srgb, var(--card-accent) 24%, transparent); }
.wcsi-card-head h2 { margin: 0; font-size: 19px; line-height: 1.3; }
.wcsi-card-status { display: block; margin-top: 3px; color: var(--muted); font-size: 13px; }
.wcsi-card-status.is-running { color: var(--brand); }
.wcsi-card-status.is-success { color: var(--ok); }
.wcsi-card-status.is-error { color: var(--danger); }
.wcsi-card-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; flex-wrap: wrap; }
.wcsi-ai-generate { border-color: #7c3aed; color: #6d28d9; }
.wcsi-ai-generate:hover:not(:disabled) { border-color: #6d28d9; background: #f5f3ff; color: #5b21b6; }
.wcsi-card-toggle { border-color: var(--card-accent); color: var(--card-accent); }
.wcsi-card-toggle:hover:not(:disabled) { border-color: var(--card-accent); background: #fff; color: var(--card-accent); }
.wcsi-card-body { display: block; }
.wcsi-card.is-collapsed .wcsi-card-body { display: none; }
.wcsi-theme-row { display: grid; grid-template-columns: minmax(240px, 430px) 1fr; align-items: end; gap: 18px; margin-bottom: 19px; padding: 13px 15px; border: 1px solid #dce4ee; border-radius: 8px; background: #f8fafd; }
.wcsi-theme-row label { display: grid; gap: 6px; font-weight: 600; }
.wcsi-theme-row small, .wcsi-theme-missing { padding-bottom: 9px; color: var(--muted); font-size: 12px; }
.wcsi-theme-missing { padding-bottom: 0; }
.wcsi-banner-row { display: grid; grid-template-columns: minmax(300px, 1fr) minmax(260px, 1fr); align-items: start; gap: 18px; margin-bottom: 19px; padding: 15px; border: 1px solid #dce4ee; border-radius: 8px; background: #f8fafd; }
.wcsi-banner-row > div, .wcsi-banner-row > .wcsi-upload-field { align-self: start; margin-top: 0; }
.wcsi-banner-row > div > strong, .wcsi-banner-row > .wcsi-upload-field > strong { display: block; min-height: 25px; line-height: 1.6; }
.wcsi-banner-preview { display: block; width: min(100%, 480px); height: 320px; margin-top: 7px; border: 1px solid var(--border); border-radius: 8px; object-fit: contain; background: #eef1f5; }
.wcsi-banner-meta { display: block; margin-top: 6px; color: var(--muted); font-size: 12px; word-break: break-all; }
.wcsi-banner-empty, .wcsi-banner-readonly { margin-top: 6px; color: var(--muted); font-size: 13px; }
.wcsi-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px 18px; }
.wcsi-policy-editor { margin-top: 22px; padding-top: 20px; border-top: 1px solid var(--border); }
.wcsi-policy-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 13px; }
.wcsi-policy-heading h3 { margin: 0; font-size: 17px; }
.wcsi-policy-heading p { margin: 4px 0 0; color: var(--muted); font-size: 12px; font-weight: 400; }
.wcsi-policy-heading > span { flex: 0 0 auto; padding: 4px 9px; border-radius: 999px; background: #eef4ff; color: var(--brand); font-size: 12px; }
.wcsi-policy-list { display: grid; gap: 12px; }
.wcsi-policy-item { padding: 14px; border: 1px solid #dce4ee; border-radius: 8px; background: #f8fafd; }
.wcsi-policy-item-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.wcsi-policy-item-head > div { display: grid; gap: 2px; }
.wcsi-policy-item-head small { color: var(--muted); font-size: 12px; font-weight: 400; }
.wcsi-policy-item-head a { color: var(--brand); font-size: 12px; }
.wcsi-policy-title-row { display: grid; grid-template-columns: minmax(0, 1fr) max-content; align-items: end; gap: 13px; margin-bottom: 10px; }
.wcsi-policy-title-row label, .wcsi-policy-item > label { display: grid; gap: 6px; font-weight: 600; }
.wcsi-policy-title-row > span { padding-bottom: 9px; color: var(--muted); font-size: 12px; word-break: break-all; }
.wcsi-policy-title-row code { color: var(--text); }
.wcsi-policy-content { min-height: 190px; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 12px; line-height: 1.55; }
.wcsi-icon-row { display: grid; grid-template-columns: max-content minmax(220px, 1fr) auto; align-items: end; gap: 18px; margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--border); }
.wcsi-icon-preview { display: block; width: 100px; height: 100px; margin-top: 7px; border: 1px solid var(--border); border-radius: 8px; object-fit: cover; background: #f7f8fa; }
.wcsi-icon-empty { display: inline-block; margin-top: 7px; color: var(--muted); font-size: 13px; }
.wcsi-upload-field { display: grid; gap: 6px; }
.wcsi-upload-box { position: relative; display: flex; align-items: center; gap: 12px; min-height: 88px; padding: 13px 15px; overflow: hidden; border: 1.5px dashed #b8c4d3; border-radius: 9px; background: #fbfcfe; color: var(--muted); transition: border-color .15s, background .15s, box-shadow .15s; }
.wcsi-upload-box:hover, .wcsi-upload-box.is-dragging { border-color: var(--brand); background: var(--brand-soft); box-shadow: 0 0 0 3px rgba(37, 99, 235, .09); }
.wcsi-upload-box.is-invalid { border-color: var(--danger); background: #fff7f7; }
.wcsi-upload-box input[type="file"] { position: absolute; inset: 0; z-index: 2; width: 100%; height: 100%; min-height: 0; padding: 0; opacity: 0; cursor: pointer; }
.wcsi-upload-symbol { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 38px; width: 38px; height: 38px; border-radius: 10px; background: var(--brand-soft); color: var(--brand); font-size: 25px; font-weight: 700; line-height: 1; }
.wcsi-upload-copy { display: grid; gap: 2px; font-size: 13px; font-weight: 500; }
.wcsi-upload-copy b { color: var(--brand); font-weight: 700; }
.wcsi-upload-copy small { color: var(--muted); font-size: 12px; font-weight: 400; }
.wcsi-check { display: flex !important; grid-template-columns: auto 1fr; align-items: center; gap: 7px !important; white-space: nowrap; font-weight: 500 !important; }
.wcsi-check input { width: 16px; min-height: 16px; }
.wcsi-warning { margin: 17px 0 0; padding: 9px 11px; border-radius: 6px; background: #fff7e8; color: var(--warning); font-size: 13px; }
.wcsi-error-text { margin: 0; color: var(--danger); }
@media (max-width: 760px) {
	.wcsi-page { padding: 20px 14px 44px; }
	.wcsi-layout { grid-template-columns: 1fr; }
	.wcsi-toolbar { position: static; min-height: 0; }
	.wcsi-wide textarea { min-height: 130px; }
	.wcsi-form-grid, .wcsi-icon-row, .wcsi-banner-row, .wcsi-policy-title-row { grid-template-columns: 1fr; }
	.wcsi-theme-row { grid-template-columns: 1fr; }
	.wcsi-theme-row small { padding-bottom: 0; }
	.wcsi-status { margin-top: 0; }
	.wcsi-card-head { align-items: flex-start; flex-direction: column; }
	.wcsi-card-actions { width: 100%; justify-content: flex-start; }
	.wcsi-save-one { width: 100%; }
	.wcsi-check { justify-self: start; }
}

/* Final compact header rules: one title, no reserved banner space. */
.wcsi-page > .wcsi-wrap > .wcsi-page-header {
	width: 100% !important;
	min-height: 0 !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 0 10px !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

.wcsi-page > .wcsi-wrap > .wcsi-page-header .wcsi-title-row,
.wcsi-page > .wcsi-wrap > .wcsi-page-header h1 {
	min-height: 0 !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
}

.wcsi-page > .wcsi-wrap > .wcsi-page-header h1 {
	font-size: 22px !important;
	line-height: 1.25 !important;
}

/* Shared visual language with the importer and cleanup workspace. */
body {
	background: radial-gradient(circle at 12% 0%, rgba(37, 99, 235, .06), transparent 34%), var(--bg);
}
.wcsi-page {
	padding-top: 30px;
}
.wcsi-panel,
.wcsi-card,
.wcsi-progress-wrap,
.wcsi-site-nav {
	border-radius: 12px;
	box-shadow: 0 8px 28px -20px rgba(16, 24, 40, .28);
}
.wcsi-toolbar {
	gap: 16px;
	padding: 20px;
}
.wcsi-toolbar input:not([type="file"]),
.wcsi-toolbar textarea,
.wcsi-toolbar select,
.wcsi-form-grid input:not([type="file"]),
.wcsi-form-grid textarea,
.wcsi-form-grid select,
.wcsi-policy-editor input,
.wcsi-policy-editor textarea,
.wcsi-theme-row select {
	min-height: 40px;
	border-color: #cbd5e1;
	border-radius: 8px;
	transition: border-color .15s, box-shadow .15s, background .15s;
}
.wcsi-toolbar textarea,
.wcsi-form-grid textarea,
.wcsi-policy-editor textarea {
	padding: 9px 12px;
	line-height: 1.5;
}
.wcsi-toolbar input:not([type="file"]):focus,
.wcsi-toolbar textarea:focus,
.wcsi-toolbar select:focus,
.wcsi-form-grid input:focus,
.wcsi-form-grid textarea:focus,
.wcsi-form-grid select:focus,
.wcsi-policy-editor input:focus,
.wcsi-policy-editor textarea:focus,
.wcsi-theme-row select:focus {
	border-color: var(--brand);
	box-shadow: 0 0 0 3px rgba(37, 99, 235, .13);
	outline: none;
}
.wcsi-button {
	min-height: 40px;
	border-radius: 8px;
	box-shadow: 0 1px 2px rgba(16, 24, 40, .06);
	transition: border-color .15s, background .15s, box-shadow .15s, color .15s, transform .15s;
}
.wcsi-button:hover:not(:disabled) {
	box-shadow: 0 3px 9px rgba(37, 99, 235, .12);
	transform: translateY(-1px);
}
.wcsi-card {
	padding: 24px;
}
.wcsi-card-head {
	margin-bottom: 20px;
}
.wcsi-form-grid {
	gap: 18px 20px;
}
.wcsi-theme-row,
.wcsi-banner-row,
.wcsi-policy-item {
	border-radius: 10px;
}
.wcsi-policy-editor {
	margin-top: 26px;
	padding-top: 22px;
}
@media (max-width: 760px) {
	.wcsi-page {
		padding-top: 22px;
	}
	.wcsi-card {
		padding: 18px;
	}
}

/* --- consolidated: /home/www/csv-to-woo-lnmp/assets/tool-tabs.css --- */
.wcsi-page-header {
	margin: 0 0 8px;
}
.wcsi-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 2px;
	color: var(--brand, var(--wcsi-brand, #2563eb));
	font-size: 9px;
	font-weight: 750;
	letter-spacing: .12em;
	line-height: 1.4;
	text-transform: uppercase;
}
.wcsi-eyebrow::before {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: currentColor;
	box-shadow: 0 0 0 4px color-mix(in srgb, currentColor 13%, transparent);
	content: "";
}
.wcsi-page-header .wcsi-title-row {
	display: block;
	margin: 0;
}
.wcsi-page-header h1 {
	margin: 0;
	font-size: clamp(18px, 1.5vw, 20px);
	font-weight: 720;
	letter-spacing: -.025em;
	line-height: 1.15;
}
.wcsi-page-header .wcsi-subtitle {
	max-width: 720px;
	margin: 3px 0 0;
	color: var(--muted, var(--wcsi-muted, #687386));
	font-size: 12px;
	line-height: 1.45;
}
.wcsi-tool-tabs {
	display: flex;
	gap: 4px;
	margin: 0 0 12px;
	padding: 4px;
	overflow-x: auto;
	border: 1px solid var(--border, var(--wcsi-border, #e1e6ed));
	border-radius: 12px;
	background: var(--brand-soft, var(--wcsi-brand-soft, #eef4ff));
	box-shadow: inset 0 1px 2px rgba(20, 35, 55, .04);
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}
.wcsi-tool-tabs::-webkit-scrollbar { display: none; }
.wcsi-tool-tabs a {
	flex: 0 0 auto;
	min-height: 32px;
	padding: 5px 14px;
	border: 1px solid transparent;
	border-radius: 8px;
	color: var(--muted, var(--wcsi-muted, #687386));
	font-size: 13px;
	font-weight: 600;
	line-height: 20px;
	text-decoration: none;
	white-space: nowrap;
	transition: color .15s, background .15s, border-color .15s, box-shadow .15s, transform .15s;
}
.wcsi-tool-tabs a:hover {
	border-color: color-mix(in srgb, var(--brand, var(--wcsi-brand, #2563eb)) 28%, transparent);
	background: rgba(255, 255, 255, .72);
	color: var(--brand, var(--wcsi-brand, #2563eb));
	transform: translateY(-1px);
}
.wcsi-tool-tabs a.is-active {
	border-color: rgba(37, 99, 235, .2);
	background: var(--surface, var(--wcsi-surface, #fff));
	box-shadow: 0 2px 7px rgba(37, 99, 235, .14), 0 1px 2px rgba(20, 35, 55, .08);
	color: var(--brand, var(--wcsi-brand, #2563eb));
	transform: translateY(-1px);
}
.wcsi-tool-tabs a:focus-visible {
	outline: 0;
	border-color: var(--brand, var(--wcsi-brand, #2563eb));
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--brand, var(--wcsi-brand, #2563eb)) 18%, transparent);
}

@media (max-width: 600px) {
	.wcsi-page-header {
		margin-bottom: 8px;
	}
	.wcsi-page-header h1 {
		font-size: 18px;
	}
	.wcsi-page-header .wcsi-subtitle {
		font-size: 12px;
	}
	.wcsi-tool-tabs {
		margin-bottom: 12px;
	}
}

/* --- consolidated: /home/www/csv-to-woo-lnmp/assets/ui-v2.css --- */
/* csv-to-woo-lnmp unified interface theme */
:root {
	--ui-bg: #eef2f7;
	--ui-surface: #ffffff;
	--ui-surface-2: #f7f9fc;
	--ui-ink: #172033;
	--ui-muted: #718096;
	--ui-line: #dce3ed;
	--ui-accent: #0f766e;
	--ui-accent-2: #115e59;
	--ui-accent-soft: #e6f5f2;
	--ui-shadow: 0 18px 45px rgba(25, 39, 67, .08);
	--ui-radius: 16px;
}

body {
	margin: 0 !important;
	background: var(--ui-bg) !important;
	color: var(--ui-ink) !important;
}

.wcsi-page,
.wcsi-page {
	padding-top: 18px !important;
	background:
		radial-gradient(circle at 5% 0%, rgba(15, 118, 110, .11), transparent 28rem),
		var(--ui-bg) !important;
}

.wcsi-wrap {
	max-width: 1240px !important;
}

.wcsi-page-header,
.wcsi-header,
.wcsi-panel,
.wcsi-panel,
.wcsi-help,
.wcsi-card,
.wcsi-progress-wrap {
	border-color: var(--ui-line) !important;
	border-radius: var(--ui-radius) !important;
	box-shadow: var(--ui-shadow) !important;
}

.wcsi-page-header,
.wcsi-header {
	padding: 4px 0 14px !important;
	min-height: 0 !important;
	height: auto !important;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--ui-ink) !important;
}

.wcsi-page-header h1,
.wcsi-header h1,
.wcsi-page-header .wcsi-subtitle,
.wcsi-header p {
	color: var(--ui-ink) !important;
}

.wcsi-page-header .wcsi-title-row {
	min-height: 0 !important;
	height: auto !important;
	margin: 0 !important;
}

.wcsi-page-header .wcsi-eyebrow,
.wcsi-page-header .wcsi-subtitle,
.wcsi-header p {
	display: none !important;
}

.wcsi-eyebrow {
	color: #a7f3d0 !important;
	letter-spacing: .14em !important;
}

.wcsi-tool-tabs,
.wcsi-site-nav {
	border-color: var(--ui-line) !important;
	border-radius: 12px !important;
	background: rgba(255,255,255,.88) !important;
	box-shadow: 0 8px 24px rgba(25,39,67,.07) !important;
}

.wcsi-tool-tabs a {
	border-radius: 9px !important;
	transition: .18s ease !important;
}

.wcsi-tool-tabs a:hover,
.wcsi-tool-tabs a.is-active {
	background: var(--ui-accent-soft) !important;
	color: var(--ui-accent-2) !important;
}

.wcsi-panel,
.wcsi-panel,
.wcsi-help,
.wcsi-card {
	background: var(--ui-surface) !important;
}

.wcsi-site-auth,
.wcsi-theme-row,
.wcsi-banner-row,
.wcsi-policy-item {
	border-color: var(--ui-line) !important;
	border-radius: 12px !important;
	background: var(--ui-surface-2) !important;
}

.wcsi-wrap input,
.wcsi-wrap select,
.wcsi-wrap textarea {
	border-color: #cbd5e1 !important;
	border-radius: 10px !important;
	background: #fff !important;
	transition: border-color .18s, box-shadow .18s !important;
}

.wcsi-wrap input:focus,
.wcsi-wrap select:focus,
.wcsi-wrap textarea:focus {
	border-color: var(--ui-accent) !important;
	box-shadow: 0 0 0 4px rgba(15,118,110,.13) !important;
	outline: 0 !important;
}

.wcsi-wrap .button-primary,
.wcsi-wrap button.button-primary,
.wcsi-primary {
	border-color: var(--ui-accent) !important;
	border-radius: 10px !important;
	background: var(--ui-accent) !important;
	box-shadow: 0 7px 16px rgba(15,118,110,.2) !important;
	color: #fff !important;
}

.wcsi-wrap .button-primary:hover,
.wcsi-wrap button.button-primary:hover,
.wcsi-primary:hover {
	border-color: var(--ui-accent-2) !important;
	background: var(--ui-accent-2) !important;
	color: #fff !important;
}

.wcsi-table-wrap,
.wcsi-list,
.wcsi-cleanup-preview {
	border-radius: 12px !important;
	box-shadow: 0 8px 24px rgba(25,39,67,.05) !important;
	background: var(--ui-surface) !important;
}

.wcsi-table th,
.wcsi-card-head {
	background: var(--ui-surface-2) !important;
}

.wcsi-cache-panel {
	max-width: 720px;
}

.wcsi-cache-panel .wcsi-subtitle {
	margin: 0 0 22px;
	color: var(--ui-muted);
}

.wcsi-cache-form {
	display: grid;
	max-width: 560px;
	gap: 10px;
}

.wcsi-cache-form label {
	margin-top: 8px;
	font-weight: 650;
}

.wcsi-cache-form .wcsi-cache-check {
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 44px;
	margin-top: 4px;
	padding: 10px 12px;
	border: 1px solid var(--ui-line);
	border-radius: 10px;
	background: var(--ui-surface-2);
	color: var(--ui-text, #243044);
	font-size: 13px;
	font-weight: 600;
	line-height: 1.45;
	cursor: pointer;
	transition: border-color .18s, background .18s, box-shadow .18s;
}

.wcsi-cache-form .wcsi-cache-check:hover {
	border-color: var(--ui-accent);
	background: var(--ui-accent-soft);
}

.wcsi-cache-form .wcsi-cache-check input[type="checkbox"] {
	flex: 0 0 18px;
	width: 18px !important;
	height: 18px;
	min-height: 18px;
	margin: 0 !important;
	padding: 0 !important;
	border-radius: 5px !important;
	accent-color: var(--ui-accent);
}

.wcsi-cache-form button {
	justify-self: start;
	margin-top: 8px;
}

@media (max-width: 760px) {
	.wcsi-page,
	.wcsi-page { padding: 0 12px 36px !important; }
	.wcsi-page-header,
	.wcsi-header { padding: 20px !important; }
	.wcsi-layout { display: block !important; }
	.wcsi-toolbar { position: static !important; margin-bottom: 16px; }
}
		.wcsi-cleanup-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 22px}
		.wcsi-cleanup-fields label{display:grid;gap:7px;font-weight:600}
		.wcsi-cleanup-fields label > span{font-size:13px}
		.wcsi-cleanup-fields input,.wcsi-cleanup-fields select{width:100%}
		.wcsi-cleanup-help{margin:3px 0 0;color:var(--wcsi-muted);font-size:12px;font-weight:400}
		.wcsi-cleanup-check{display:flex!important;align-items:center;gap:8px;align-self:end;min-height:36px}
		.wcsi-cleanup-check input{width:16px!important}
		.wcsi-cleanup-actions{display:flex;align-items:center;gap:10px;margin-top:22px;padding-top:20px;border-top:1px solid var(--wcsi-border)}
		.wcsi-cleanup-status{margin-left:auto;color:var(--wcsi-muted);font-size:13px}
		.wcsi-cleanup-message{margin:0 0 18px;padding:12px 14px;border-radius:var(--wcsi-radius-sm);background:var(--wcsi-brand-soft);color:var(--wcsi-brand-dark)}
		.wcsi-cleanup-message.error{background:#fff1f0;color:var(--wcsi-danger)}
		.wcsi-cleanup-preview{margin-top:22px;padding-top:22px;border-top:1px solid var(--wcsi-border)}
		.wcsi-cleanup-preview-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
		.wcsi-cleanup-preview-head h2{margin:0}
		.wcsi-cleanup-stats{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}
		.wcsi-cleanup-stat{padding:10px 14px;border:1px solid var(--wcsi-border);border-radius:var(--wcsi-radius-sm);background:var(--wcsi-subtle)}
		.wcsi-cleanup-stat b{display:block;font-size:20px;line-height:1.2}
		.wcsi-cleanup-stat span{color:var(--wcsi-muted);font-size:12px}
		.wcsi-cleanup-confirm{max-width:320px;margin-top:16px}
		.wcsi-cleanup-confirm label{display:grid;gap:7px;font-weight:600;font-size:13px}
		.wcsi-cleanup-confirm input{width:100%}
		.wcsi-cleanup-progress{margin-top:18px;padding:16px;border:1px solid var(--wcsi-border);border-radius:var(--wcsi-radius-sm);background:var(--wcsi-subtle)}
		.wcsi-cleanup-progress progress{width:100%;height:10px}
		@media (max-width:720px){.wcsi-cleanup-fields{grid-template-columns:1fr}.wcsi-cleanup-status{width:100%;margin-left:0}.wcsi-cleanup-preview-head{align-items:flex-start;flex-direction:column}}
