/*
 * Maroon Horizon Smart Firewall - admin design layer (1.8.7, Vlad 25 Oct: "A+B" = one layout, dark + light look).
 * Loaded after sfais-admin.css on the plugin's own screens only. Brand: mh.ie/maroon-horizon-smart-firewall
 * (night #0a0714, gradient #5fb4ff -> #c58be0 -> #ff6f8e, Manrope). The look follows the user's choice in
 * Settings > Appearance: Auto (the computer's light/dark mode), Light or Dark - body class mhsf-ui-auto|light|dark.
 * Manrope is bundled (admin/fonts, SIL OFL 1.1) - no request to Google.
 */

@font-face {
	font-family: "MHSF Manrope";
	font-style: normal;
	font-weight: 400 800;
	font-display: swap;
	src: url("../fonts/manrope-latin-var.woff2") format("woff2");
}

body.mhsf-ui-light #wpcontent,
body.mhsf-ui-auto #wpcontent {
	background: #f4f5f9;
}

/* ---------- colour tokens ---------- */
.sfais-wrap {
	--mh-grad: linear-gradient(90deg, #0a7cc4, #7a3b78 55%, #d63d5e);
	--mh-grad-soft: linear-gradient(135deg, #0a7cc4, #d63d5e);
	--mh-bg: #f4f5f9;
	--mh-card: #ffffff;
	--mh-line: #e3e1ea;
	--mh-sub: #f7f6fb;
	--mh-text: #1c1530;
	--mh-head: #1c1530;
	--mh-muted: #5b5470;
	--mh-faint: #6b6480;
	--mh-kick: #b8304f;
	--mh-ok: #146c43;
	--mh-okbg: #e7f7ef;
	--mh-warn: #8a4b00;
	--mh-warnbg: #fff1dc;
	--mh-crit: #b42318;
	--mh-critbg: #fdeceb;
	--mh-info: #0a5d94;
	--mh-infobg: #e8f2fb;
	--mh-link: #0a6aa8;
	--mh-tab: #ffffff;
	--mh-tabon: #1c1530;
	--mh-tabon-text: #ffffff;
	--mh-track: #d6d2e0;
	--mh-code: #f1eff6;
	--mh-input: #ffffff;
	--mh-shadow: 0 1px 2px rgba(28, 21, 48, 0.06);
}

body.mhsf-ui-dark .sfais-wrap {
	--mh-bg: #0a0714;
	--mh-card: #120d1f;
	--mh-line: #2a1f3d;
	--mh-sub: #1a1329;
	--mh-text: #e9e3f3;
	--mh-head: #ffffff;
	--mh-muted: #b5a9c9;
	--mh-faint: #9a8db0;
	--mh-kick: #ff6f8e;
	--mh-ok: #5fdca0;
	--mh-okbg: rgba(95, 220, 160, 0.12);
	--mh-warn: #ffcf8a;
	--mh-warnbg: rgba(255, 190, 110, 0.12);
	--mh-crit: #ff9a8f;
	--mh-critbg: rgba(255, 107, 107, 0.13);
	--mh-info: #8cc8ff;
	--mh-infobg: rgba(95, 180, 255, 0.12);
	--mh-link: #7cc2ff;
	--mh-tab: #1a1329;
	--mh-tabon: #2f2347;
	--mh-tabon-text: #ffffff;
	--mh-track: #3a2d52;
	--mh-code: #1f1731;
	--mh-input: #0f0a1a;
	--mh-shadow: none;
}

@media (prefers-color-scheme: dark) {
	body.mhsf-ui-auto .sfais-wrap {
		--mh-bg: #0a0714;
		--mh-card: #120d1f;
		--mh-line: #2a1f3d;
		--mh-sub: #1a1329;
		--mh-text: #e9e3f3;
		--mh-head: #ffffff;
		--mh-muted: #b5a9c9;
		--mh-faint: #9a8db0;
		--mh-kick: #ff6f8e;
		--mh-ok: #5fdca0;
		--mh-okbg: rgba(95, 220, 160, 0.12);
		--mh-warn: #ffcf8a;
		--mh-warnbg: rgba(255, 190, 110, 0.12);
		--mh-crit: #ff9a8f;
		--mh-critbg: rgba(255, 107, 107, 0.13);
		--mh-info: #8cc8ff;
		--mh-infobg: rgba(95, 180, 255, 0.12);
		--mh-link: #7cc2ff;
		--mh-tab: #1a1329;
		--mh-tabon: #2f2347;
		--mh-tabon-text: #ffffff;
		--mh-track: #3a2d52;
		--mh-code: #1f1731;
		--mh-input: #0f0a1a;
		--mh-shadow: none;
	}
	body.mhsf-ui-auto,
	body.mhsf-ui-auto #wpwrap,
	body.mhsf-ui-auto #wpcontent,
	body.mhsf-ui-auto #wpfooter {
		background: #0a0714;
	}
	body.mhsf-ui-auto #wpfooter,
	body.mhsf-ui-auto #wpfooter a {
		color: #9a8db0;
	}
}

/* page background behind our screens (light first - the dark rules below must win) */
body.mhsf-ui-dark,
body.mhsf-ui-dark #wpwrap,
body.mhsf-ui-dark #wpcontent,
body.mhsf-ui-dark #wpfooter {
	background: #0a0714;
}
body.mhsf-ui-dark #wpfooter,
body.mhsf-ui-dark #wpfooter a {
	color: #9a8db0;
}

/* ---------- base ---------- */
.sfais-wrap {
	font-family: "MHSF Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	color: var(--mh-text);
	max-width: 1320px;
	margin: 18px 20px 0 2px;
}
.sfais-wrap h1,
.sfais-wrap h2,
.sfais-wrap h3,
.sfais-wrap h4 {
	color: var(--mh-head);
	font-family: inherit;
	letter-spacing: -0.2px;
}
.sfais-wrap h2 {
	font-size: 21px;
	font-weight: 800;
	margin: 22px 0 6px;
}
.sfais-wrap h3 {
	font-size: 16.5px;
	font-weight: 800;
}
.sfais-wrap p,
.sfais-wrap li,
.sfais-wrap td,
.sfais-wrap th,
.sfais-wrap label,
.sfais-wrap legend {
	color: var(--mh-text);
}
.sfais-wrap a:not(.button) {
	color: var(--mh-link);
}
.sfais-wrap .sfais-kicker,
.sfais-wrap .description,
.sfais-wrap .subtitle {
	color: var(--mh-muted) !important;
}
.sfais-wrap code {
	background: var(--mh-code);
	color: var(--mh-text);
	border-radius: 6px;
	padding: 2px 6px;
}
.sfais-wrap .mhsf-muted {
	color: var(--mh-muted) !important;
}
.sfais-wrap .mhsf-sub {
	background: var(--mh-sub) !important;
	border-color: var(--mh-line) !important;
}

/* ---------- header: official logo in its tile, two turning rings, soft glow ---------- */
.sfais-wrap .sfais-header {
	gap: 18px;
	padding: 6px 0 4px;
}
.sfais-wrap .sfais-logo-animated {
	gap: 18px;
}
.sfais-wrap .sfais-logo-mark {
	width: 64px;
	height: 64px;
	border-radius: 18px;
	background: #120d1f;
	border: 2px solid #d63d5e;
	display: flex;
	align-items: center;
	justify-content: center;
	flex: none;
}
.sfais-wrap .sfais-logo-mark img {
	width: 38px;
	height: 43px;
	border-radius: 0;
	filter: invert(1);
	object-fit: contain;
}
.sfais-wrap .sfais-logo-mark::before,
.sfais-wrap .sfais-logo-mark::after {
	inset: -7px;
	border: 1.5px solid transparent;
	background: conic-gradient(from 0deg, #5fb4ff, #c58be0, #ff6f8e, transparent 72%) border-box;
	-webkit-mask: linear-gradient(#000 0 0) padding-box, linear-gradient(#000 0 0);
	-webkit-mask-composite: xor;
	mask: linear-gradient(#000 0 0) padding-box exclude, linear-gradient(#000 0 0);
	opacity: 0.85;
	animation: sfais-orbit 6s linear infinite;
}
.sfais-wrap .sfais-logo-mark::after {
	inset: -13px;
	opacity: 0.45;
	animation-duration: 10s;
	animation-direction: reverse;
}
.sfais-wrap .sfais-logo-glow {
	inset: 2px;
	border-radius: 16px;
	box-shadow: 0 0 16px rgba(255, 111, 142, 0.6), 0 0 30px rgba(214, 61, 94, 0.35);
	animation: mhsf-glow 2.8s ease-in-out infinite;
}
@keyframes mhsf-glow {
	0%, 100% { opacity: 0.3; }
	50% { opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
	.sfais-wrap .sfais-logo-mark::before,
	.sfais-wrap .sfais-logo-mark::after,
	.sfais-wrap .sfais-logo-glow {
		animation: none;
	}
	.sfais-wrap .sfais-logo-glow {
		opacity: 0.6;
	}
}
.sfais-wrap .mhsf-brand-text {
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.sfais-wrap .mhsf-kick {
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--mh-kick);
}
.sfais-wrap .mhsf-kick-ver {
	text-transform: none; /* 1.8.17: 'v1.8.17', not 'V1.8.17' */
	letter-spacing: 1px;
}
.sfais-wrap .sfais-logo-title {
	font-size: 26px;
	font-weight: 800;
	letter-spacing: -0.6px;
	line-height: 1.15;
	color: var(--mh-head);
	padding: 0;
}
.sfais-wrap .mhsf-tagline {
	font-size: 13.5px;
	color: var(--mh-muted);
}
/* score label next to the grade ("Excellent", "Fair" ...): readable in both looks, never split */
.sfais-wrap .sfais-quick-card .sfais-rating-label {
	color: var(--mh-muted);
	font-weight: 700;
	white-space: nowrap;
}
.sfais-wrap > .subtitle {
	display: none;
}

/* ---------- buttons ---------- */
.sfais-wrap .button {
	font-family: inherit;
	border-radius: 10px;
	min-height: 34px;
	line-height: 32px;
	padding: 0 14px;
	font-weight: 700;
	border-color: var(--mh-link);
	color: var(--mh-link);
	background: transparent;
}
.sfais-wrap .button:hover,
.sfais-wrap .button:focus {
	background: var(--mh-infobg);
	border-color: var(--mh-link);
	color: var(--mh-link);
}
.sfais-wrap .button-primary {
	background: var(--mh-grad);
	border: 0;
	color: #ffffff !important;
	line-height: 34px;
	box-shadow: none;
	text-shadow: none;
}
.sfais-wrap .button-primary:hover,
.sfais-wrap .button-primary:focus {
	background: var(--mh-grad);
	filter: brightness(1.08);
	color: #ffffff !important;
}
.sfais-wrap .button[disabled],
.sfais-wrap .button-primary[disabled],
.sfais-wrap .button:disabled {
	background: var(--mh-sub) !important;
	color: var(--mh-faint) !important;
	border: 1px solid var(--mh-line) !important;
	filter: none;
	opacity: 1;
}
.sfais-wrap .sfais-pro-active-btn {
	background: var(--mh-okbg) !important;
	border: 1px solid var(--mh-ok) !important;
	color: var(--mh-ok) !important;
	border-radius: 999px;
	box-shadow: none;
}
.sfais-wrap .sfais-pro-active-btn:hover {
	filter: brightness(1.05);
}
.sfais-wrap .sfais-pro-active-btn.button-primary {
	background: var(--mh-grad) !important;
	border: 0 !important;
	color: #ffffff !important;
}

/* ---------- tabs: segmented control ---------- */
.sfais-wrap .sfais-tabs {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 4px;
	padding: 5px;
	margin: 16px 0 6px;
	background: var(--mh-tab);
	border: 1px solid var(--mh-line);
	border-radius: 14px;
	box-shadow: var(--mh-shadow);
}
.sfais-wrap .sfais-tabs a {
	border: 0;
	border-radius: 10px;
	padding: 8px 14px;
	margin: 0;
	background: transparent;
	color: var(--mh-muted);
	font-weight: 700;
	font-size: 13.5px;
	box-shadow: none;
}
.sfais-wrap .sfais-tabs a:hover {
	background: var(--mh-sub);
	color: var(--mh-head);
}
.sfais-wrap .sfais-tabs a.active {
	background: var(--mh-tabon);
	color: var(--mh-tabon-text);
}
.sfais-wrap .sfais-tabs a .sfais-tab-icon,
.sfais-wrap .sfais-tabs a.active .sfais-tab-icon {
	color: inherit;
}

/* ---------- cards ---------- */
.sfais-wrap .sfais-card,
.sfais-wrap .sfais-ip-card,
.sfais-wrap .sfais-tf-panel {
	background: var(--mh-card);
	border: 1px solid var(--mh-line);
	border-radius: 18px;
	box-shadow: var(--mh-shadow);
	color: var(--mh-text);
}
.sfais-wrap .sfais-card {
	padding: 22px 24px;
}

/* ---------- check table + badges ---------- */
.sfais-wrap .sfais-check-table td {
	border-color: var(--mh-line);
	color: var(--mh-text);
}
.sfais-wrap .sfais-check-table tr:hover td {
	background: var(--mh-sub);
}
.sfais-wrap .sfais-badge {
	border-radius: 999px;
	font-weight: 700;
	border: 0;
	white-space: nowrap;
}
.sfais-wrap .sfais-badge.ok { background: var(--mh-okbg); color: var(--mh-ok); }
.sfais-wrap .sfais-badge.warn { background: var(--mh-warnbg); color: var(--mh-warn); }
.sfais-wrap .sfais-badge.crit { background: var(--mh-critbg); color: var(--mh-crit); }
.sfais-wrap .sfais-badge.info,
.sfais-wrap .sfais-badge.pro { background: var(--mh-infobg); color: var(--mh-info); }

/* ---------- WordPress tables, notices, form fields inside our screens ---------- */
.sfais-wrap table.widefat,
.sfais-wrap .widefat td,
.sfais-wrap .widefat th,
.sfais-wrap .widefat thead td,
.sfais-wrap .widefat thead th {
	background: var(--mh-card);
	color: var(--mh-text);
	border-color: var(--mh-line);
}
.sfais-wrap .widefat.striped > tbody > :nth-child(odd),
.sfais-wrap .striped > tbody > :nth-child(odd) {
	background: var(--mh-sub);
}
.sfais-wrap .notice,
.sfais-wrap div.updated,
.sfais-wrap div.error {
	background: var(--mh-card);
	color: var(--mh-text);
	border-top-color: var(--mh-line);
	border-right-color: var(--mh-line);
	border-bottom-color: var(--mh-line);
	border-radius: 10px;
}
.sfais-wrap .notice p {
	color: var(--mh-text);
}
.sfais-wrap .notice-success { border-left-color: var(--mh-ok); }
.sfais-wrap .notice-error { border-left-color: var(--mh-crit); }
.sfais-wrap .notice-warning { border-left-color: var(--mh-warn); }
.sfais-wrap .notice-info { border-left-color: var(--mh-info); }
.sfais-wrap input[type="text"],
.sfais-wrap input[type="email"],
.sfais-wrap input[type="number"],
.sfais-wrap input[type="search"],
.sfais-wrap input[type="url"],
.sfais-wrap select,
.sfais-wrap textarea {
	background: var(--mh-input);
	color: var(--mh-text);
	border: 1px solid var(--mh-line);
	border-radius: 10px;
	min-height: 36px;
}
.sfais-wrap input::placeholder,
.sfais-wrap textarea::placeholder {
	color: var(--mh-faint);
}
.sfais-wrap input:focus,
.sfais-wrap select:focus,
.sfais-wrap textarea:focus {
	border-color: var(--mh-link);
	box-shadow: 0 0 0 1px var(--mh-link);
}

/* ---------- Security Patches: one switch per patch, result right under it ---------- */
.sfais-wrap .mhsf-patch-card {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	column-gap: 24px;
	align-items: start;
}
.sfais-wrap .mhsf-patch-card > h3 { grid-column: 1; margin: 0 0 6px; }
.sfais-wrap .mhsf-patch-card > p,
.sfais-wrap .mhsf-patch-card > div:not(.sfais-patch-result) { grid-column: 1; color: var(--mh-muted); margin-top: 0; }
.sfais-wrap .mhsf-patch-card > form,
.sfais-wrap .mhsf-patch-card > .mhsf-lock {
	grid-column: 2;
	grid-row: 1 / span 2;
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 2px 0 0;
}
.sfais-wrap .mhsf-patch-card > .sfais-patch-result {
	grid-column: 1 / -1;
}
.sfais-wrap .mhsf-switch {
	position: relative;
	width: 46px;
	height: 26px;
	min-height: 26px;
	padding: 0;
	border-radius: 999px;
	border: 0 !important;
	background: var(--mh-track) !important;
	font-size: 0;
	line-height: 0;
	cursor: pointer;
	flex: none;
	filter: none !important;
}
.sfais-wrap .mhsf-switch::after {
	content: "";
	position: absolute;
	top: 3px;
	left: 3px;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: #ffffff;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
	transition: left 0.18s ease;
}
.sfais-wrap .mhsf-switch[aria-checked="true"] {
	background: #1f9d5c !important;
}
.sfais-wrap .mhsf-switch[aria-checked="true"]::after {
	left: 23px;
}
.sfais-wrap .mhsf-switch:focus-visible {
	outline: 2px solid var(--mh-link);
	outline-offset: 2px;
}
.sfais-wrap .mhsf-switch[disabled] {
	opacity: 0.55;
	cursor: wait;
}
.sfais-wrap .mhsf-patch-card [data-status] {
	min-width: 56px;
	font-weight: 700;
	color: var(--mh-faint) !important;
}
.sfais-wrap .mhsf-patch-card [data-status].is-on {
	color: var(--mh-ok) !important;
}
.sfais-wrap .mhsf-patch-card [data-status].is-drift {
	color: var(--mh-warn) !important; /* 1.8.17: on, but the files are writable again */
	min-width: 0;
}
.sfais-wrap .mhsf-patch-card .mhsf-reapply {
	margin-left: 8px;
}
.sfais-wrap .mhsf-lock {
	font-size: 12.5px;
	font-weight: 700;
	color: var(--mh-info);
	background: var(--mh-infobg);
	border-radius: 999px;
	padding: 6px 12px;
	white-space: nowrap;
}
.sfais-wrap .sfais-patch-result .notice {
	margin: 12px 0 0;
}

/* ---------- Dashboard overview ---------- */
.sfais-wrap .mhsf-overview {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	margin: 18px 0;
}
.sfais-wrap .mhsf-overview .sfais-card {
	margin: 0;
}
.sfais-wrap .mhsf-score {
	display: flex;
	gap: 18px;
	align-items: center;
}
.sfais-wrap .mhsf-score svg {
	flex: none;
}
.sfais-wrap .mhsf-lbl {
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 1.4px;
	text-transform: uppercase;
	color: var(--mh-kick);
}
.sfais-wrap .mhsf-big {
	font-size: 26px;
	font-weight: 800;
	color: var(--mh-head);
	margin: 6px 0 2px;
	line-height: 1.2;
}
.sfais-wrap .mhsf-okline { font-size: 12.5px; font-weight: 700; color: var(--mh-ok); margin-top: 6px; }
.sfais-wrap .mhsf-warnline { font-size: 12.5px; font-weight: 700; color: var(--mh-warn); margin-top: 6px; }
.sfais-wrap .mhsf-shields {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
	margin: 0 0 18px;
}
.sfais-wrap .mhsf-shield {
	display: flex;
	gap: 12px;
	align-items: center;
	padding: 16px;
	margin: 0;
}
.sfais-wrap .mhsf-ico {
	width: 42px;
	height: 42px;
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--mh-grad-soft);
	flex: none;
}
.sfais-wrap .mhsf-ico svg { width: 21px; height: 21px; }
.sfais-wrap .mhsf-shield strong { display: block; font-size: 15px; color: var(--mh-head); }
.sfais-wrap .mhsf-shield span.mhsf-muted { font-size: 12.5px; }
.sfais-wrap .mhsf-two {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	margin: 0 0 18px;
}
.sfais-wrap .mhsf-two .sfais-card { margin: 0; }
.sfais-wrap .mhsf-span2 { grid-column: span 2; }
.sfais-wrap .mhsf-fix {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	padding: 11px 0;
	border-top: 1px solid var(--mh-line);
}
.sfais-wrap .mhsf-fix:first-of-type { border-top: 0; }
.sfais-wrap .mhsf-act {
	display: flex;
	gap: 12px;
	padding: 6px 0;
	font-size: 13.5px;
}
.sfais-wrap .mhsf-act time {
	color: var(--mh-faint);
	width: 112px;
	flex: none;
}
/* 1.8.15 Recent activity: up to 200 entries in a scroll box (about 9 rows visible) */
.sfais-wrap .mhsf-acts {
	max-height: 300px;
	overflow-y: auto;
	overscroll-behavior: contain;
	padding-right: 6px;
	scrollbar-width: thin;
	scrollbar-color: var(--mh-track) transparent;
}
.sfais-wrap .mhsf-acts .mhsf-act { border-top: 1px solid var(--mh-line); }
.sfais-wrap .mhsf-acts .mhsf-act:first-child { border-top: 0; }
.sfais-wrap .mhsf-acts:focus-visible { outline: 2px solid var(--mh-link); outline-offset: 2px; border-radius: 6px; }
.sfais-wrap .mhsf-acts::-webkit-scrollbar { width: 8px; }
.sfais-wrap .mhsf-acts::-webkit-scrollbar-thumb { background: var(--mh-track); border-radius: 8px; }
/* 1.8.15 Scanner: two cards side by side; when one of them shows results (a table) both go full width, one below the other */
.sfais-wrap .mhsf-pair {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
	margin: 0 0 18px;
	align-items: start;
}
.sfais-wrap .mhsf-pair > .sfais-card { margin: 0; height: 100%; box-sizing: border-box; }
.sfais-wrap .mhsf-pair:has(table) { grid-template-columns: minmax(0, 1fr); }
.sfais-wrap .mhsf-pair:has(table) > .sfais-card { height: auto; }
@media (max-width: 960px) {
	.sfais-wrap .mhsf-pair { grid-template-columns: minmax(0, 1fr); }
}
/* 1.8.15 desktop: row buttons side by side (they stacked into 3 lines per result) */
@media (min-width: 783px) {
	#sfais-tab-scanner .sfais-actions { display: flex; flex-wrap: nowrap; gap: 6px; justify-content: flex-end; }
	#sfais-tab-scanner .sfais-actions button { margin-right: 0; white-space: nowrap; }
	#sfais-tab-scanner .sfais-table-wrap td[data-label="Action"] { width: 1%; white-space: nowrap; }
}
/* 1.8.15 phone: quarantine + ignored files as compact rows (path, then reason · date, buttons side by side) - 10 files were 10 screens */
@media (max-width: 782px) {
	#sfais-tab-scanner #sfais-quarantine-results .sfais-table-wrap table.widefat tbody tr,
	#sfais-tab-scanner #sfais-ignored-results .sfais-table-wrap table.widefat tbody tr {
		padding: 8px 10px;
		margin: 6px 0;
		background: var(--mh-sub);
		border-color: var(--mh-line);
	}
	#sfais-tab-scanner #sfais-quarantine-results .sfais-table-wrap table.widefat tbody td,
	#sfais-tab-scanner #sfais-ignored-results .sfais-table-wrap table.widefat tbody td { padding: 2px 0; }
	#sfais-tab-scanner #sfais-quarantine-results .sfais-table-wrap table.widefat tbody td::before,
	#sfais-tab-scanner #sfais-ignored-results .sfais-table-wrap table.widefat tbody td::before { display: none; }
	#sfais-tab-scanner #sfais-quarantine-results td[data-label="Reason"],
	#sfais-tab-scanner #sfais-quarantine-results td[data-label="Date"],
	#sfais-tab-scanner #sfais-ignored-results td[data-label="Ignored on"] {
		display: inline !important;
		width: auto !important;
		font-size: 12px;
		color: var(--mh-faint);
	}
	#sfais-tab-scanner #sfais-quarantine-results td[data-label="Reason"]:not(:empty)::after { content: " · "; }
	#sfais-tab-scanner #sfais-quarantine-results td[data-label="Action"],
	#sfais-tab-scanner #sfais-ignored-results td[data-label="Action"] { padding-top: 6px !important; text-align: left !important; }
	#sfais-tab-scanner #sfais-quarantine-results .sfais-actions,
	#sfais-tab-scanner #sfais-ignored-results .sfais-actions { flex-wrap: nowrap; gap: 6px; }
	#sfais-tab-scanner #sfais-quarantine-results .sfais-actions .button,
	#sfais-tab-scanner #sfais-ignored-results .button { min-height: 30px !important; padding: 3px 10px !important; font-size: 12px !important; line-height: 22px; flex: 0 1 auto !important; }
	#sfais-tab-scanner #sfais-quarantine-results code,
	#sfais-tab-scanner #sfais-ignored-results code { font-size: 11.5px; padding: 2px 4px; background: transparent; }
	.sfais-wrap .mhsf-acts .mhsf-act { font-size: 13px; gap: 10px; }
	.sfais-wrap .mhsf-acts .mhsf-act time { width: 92px; font-size: 12px; }
}
.sfais-wrap .mhsf-pill {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 5px 12px;
	border-radius: 999px;
	font-weight: 700;
	font-size: 12.5px;
	background: var(--mh-infobg);
	color: var(--mh-info);
}

/* ---------- Settings > Appearance ---------- */
.sfais-wrap .mhsf-seg {
	display: inline-flex;
	border: 1px solid var(--mh-line);
	border-radius: 12px;
	overflow: hidden;
	background: var(--mh-card);
}
.sfais-wrap .mhsf-seg button {
	font: inherit;
	font-weight: 700;
	font-size: 13.5px;
	padding: 9px 16px;
	border: 0;
	background: transparent;
	color: var(--mh-muted);
	cursor: pointer;
}
.sfais-wrap .mhsf-seg button[aria-pressed="true"] {
	background: var(--mh-tabon);
	color: var(--mh-tabon-text);
}
.sfais-wrap .mhsf-seg button:focus-visible {
	outline: 2px solid var(--mh-link);
	outline-offset: -2px;
}

/* ---------- narrow screens ---------- */
@media (max-width: 1100px) {
	.sfais-wrap .mhsf-overview,
	.sfais-wrap .mhsf-two { grid-template-columns: minmax(0, 1fr); }
	.sfais-wrap .mhsf-span2 { grid-column: auto; }
	.sfais-wrap .mhsf-shields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
	.sfais-wrap { margin-right: 10px; }
	.sfais-wrap .mhsf-shields { grid-template-columns: minmax(0, 1fr); }
	.sfais-wrap .mhsf-patch-card { grid-template-columns: minmax(0, 1fr); }
	.sfais-wrap .mhsf-patch-card > form,
	.sfais-wrap .mhsf-patch-card > .mhsf-lock { grid-column: 1; grid-row: auto; margin-top: 10px; }
	.sfais-wrap .sfais-tabs { display: flex; }
	.sfais-wrap .sfais-logo-title { font-size: 21px; }
}

/* ---------- older components on the new colours (work in light and dark) ---------- */
.sfais-wrap .sfais-firewall-metric {
	background: var(--mh-infobg);
	color: var(--mh-info);
}
.sfais-wrap .sfais-autosync-pill {
	background: var(--mh-sub);
	border-color: var(--mh-line);
	color: var(--mh-text);
}
.sfais-wrap .sfais-autosync-pill span:not(.sfais-dot) {
	color: var(--mh-text) !important;
}
.sfais-wrap #sfais-tab-scanner .sfais-summary .metric,
.sfais-wrap .sfais-summary .metric {
	background: var(--mh-sub);
	box-shadow: 0 0 0 1px var(--mh-line);
	border-radius: 10px;
}
.sfais-wrap #sfais-tab-scanner .metric.ok { color: var(--mh-ok); }
.sfais-wrap #sfais-tab-scanner .metric.warn { color: var(--mh-warn); }
.sfais-wrap #sfais-tab-scanner .metric.crit { color: var(--mh-crit); }
.sfais-wrap #sfais-tab-scanner .metric.info { color: var(--mh-info); }
.sfais-wrap #sfais-tab-scanner .sfais-pill,
.sfais-wrap #sfais-tab-scanner .sfais-pilltag,
.sfais-wrap .sfais-chip {
	background: var(--mh-sub);
	color: var(--mh-text);
	border-color: var(--mh-line);
}
.sfais-wrap #sfais-tab-scanner .sfais-pill-on { background: var(--mh-okbg); color: var(--mh-ok); }
.sfais-wrap #sfais-tab-scanner .sfais-pill-off { background: var(--mh-warnbg); color: var(--mh-warn); }
.sfais-wrap #sfais-tab-scanner .sfais-pilltag-pro,
.sfais-wrap #sfais-tab-scanner .sfais-pilltag-lock { background: var(--mh-infobg); color: var(--mh-info); }
.sfais-wrap #sfais-tab-scanner .sfais-safety-note--info {
	background: var(--mh-infobg);
	border-color: var(--mh-line);
	border-left-color: #2563eb;
}
.sfais-wrap #sfais-tab-scanner .sfais-safety-note__body strong { color: var(--mh-head); }
.sfais-wrap #sfais-tab-scanner .sfais-safety-note__text { color: var(--mh-text); }
.sfais-wrap #sfais-tab-scanner .sfais-table-wrap table.widefat thead,
.sfais-wrap #sfais-tab-scanner .sfais-table-wrap th,
.sfais-wrap #sfais-tab-scanner .sfais-table-wrap td,
.sfais-wrap #sfais-tab-scanner .sfais-table-wrap table.widefat tbody tr {
	background: var(--mh-card);
	color: var(--mh-text);
	border-color: var(--mh-line);
}
.sfais-wrap .sfais-preview-warning {
	background: var(--mh-warnbg);
	border-color: var(--mh-line);
	color: var(--mh-text);
}
.sfais-wrap .sfais-preview-muted { color: var(--mh-muted); }
.sfais-wrap .sfais-skel { background: var(--mh-track); }
.sfais-wrap .sfais-country-pill,
.sfais-wrap .sfais-region-card {
	background: var(--mh-sub);
	border-color: var(--mh-line);
	color: var(--mh-text);
}
.sfais-wrap .sfais-country-pill.is-checked {
	background: var(--mh-infobg);
	border-color: var(--mh-link);
}
.sfais-wrap .sfais-cf-statusbar,
.sfais-wrap .sfais-cf-toolbar,
.sfais-wrap .sfais-tf-meta,
.sfais-wrap .sfais-tf-meta li {
	background: transparent;
	color: var(--mh-text);
	border-color: var(--mh-line);
}
.sfais-wrap input[type="checkbox"],
.sfais-wrap input[type="radio"] {
	background: var(--mh-input);
	border-color: var(--mh-faint);
}
.sfais-wrap .sfais-pro-active-btn .dashicons {
	margin-top: 0;
	vertical-align: -5px;
}

/* Settings cards are styled by ID in sfais-admin.css - same weight here so the theme wins */
.sfais-wrap #sfais-tab-settings .sfais-card {
	background: var(--mh-card);
	border: 1px solid var(--mh-line);
	border-radius: 18px;
	box-shadow: var(--mh-shadow);
}
.sfais-wrap #sfais-tab-settings h3 {
	color: var(--mh-head);
}
.sfais-wrap #sfais-tab-settings .sfais-pro-button[disabled] {
	background: var(--mh-sub) !important;
	color: var(--mh-faint) !important;
	border-color: var(--mh-line) !important;
}

/* ---------- IP Blocker rows (1.8.9) ---------- */
.sfais-wrap .sfais-ip-card {
	padding: 10px 12px 10px 16px;
	margin: 0 0 10px;
	box-shadow: none;
	border-radius: 12px;
}
.sfais-wrap .sfais-ip-card:hover {
	background: var(--mh-sub);
}
.sfais-wrap .sfais-ip-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	flex-wrap: wrap;
}
.sfais-wrap .sfais-ip-left {
	display: flex;
	align-items: center;
	gap: 8px;
	min-width: 0;
}
.sfais-wrap .sfais-ip-remove-form {
	margin: 0;
}
.sfais-wrap .button.sfais-ip-remove {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--mh-crit);
	border-color: var(--mh-line);
	background: transparent;
}
.sfais-wrap .button.sfais-ip-remove:hover,
.sfais-wrap .button.sfais-ip-remove:focus {
	background: var(--mh-critbg);
	color: var(--mh-crit);
	border-color: var(--mh-crit);
}
.sfais-wrap .button.sfais-ip-remove .dashicons {
	font-size: 16px;
	width: 16px;
	height: 16px;
}
.sfais-wrap .button.sfais-ip-remove.is-busy {
	opacity: 0.6;
	cursor: progress;
}
.sfais-wrap .sfais-ipb-result {
	margin: 0 0 10px;
}
.sfais-wrap .sfais-ipb-result .notice {
	margin: 8px 0 0;
}
.sfais-wrap #sfais-block-ip-form + .sfais-ipb-result {
	max-width: 640px;
}
.sfais-wrap .sfais-ip-left {
	flex-wrap: wrap;
}
.sfais-wrap .sfais-ip-status {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 3px 10px 3px 7px;
	border-radius: 999px;
	font-size: 12.5px;
	font-weight: 700;
	white-space: nowrap;
}
.sfais-wrap .sfais-ip-status .dashicons {
	font-size: 15px;
	width: 15px;
	height: 15px;
}
.sfais-wrap .sfais-ip-status.is-both {
	background: var(--mh-okbg);
	color: var(--mh-ok);
}
.sfais-wrap .sfais-ip-status.is-wp {
	background: var(--mh-infobg);
	color: var(--mh-info);
}
/* 1.8.13: "Blocked: server only" / "Not blocked" (rule only in .htaccess) */
.sfais-wrap .sfais-ip-status.is-server,
.sfais-wrap .sfais-ip-status.is-none {
	background: var(--mh-warnbg);
	color: var(--mh-warn);
}
.sfais-wrap .sfais-ip-why {
	font-size: 12.5px;
	color: var(--mh-muted);
}
.sfais-wrap .sfais-ip-summary {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin: 16px 0 4px;
	padding: 10px 14px;
	max-width: 820px;
	border-radius: 12px;
	background: var(--mh-sub);
	color: var(--mh-text);
	line-height: 1.5;
}
.sfais-wrap .sfais-ip-summary .dashicons {
	color: var(--mh-info);
	margin-top: 1px;
	flex: none;
}
