.ability-guard-wrap .wp-list-table code {
	font-size: 12px;
}

.ag-badge {
	border-radius: 3px;
	display: inline-block;
	font-size: 11px;
	font-weight: 600;
	line-height: 1;
	padding: 4px 7px;
	text-transform: uppercase;
}

.ag-badge--success {
	background: #edfaef;
	color: #008a20;
}

.ag-badge--error {
	background: #fcf0f1;
	color: #b32d2e;
}

.ag-badge--rest {
	background: #eef6fc;
	color: #2271b1;
}

.ag-badge--cli {
	background: #f0f0ff;
	color: #3858e9;
}

.ag-badge--cron {
	background: #fcf8e8;
	color: #8c5a00;
}

.ag-badge--php {
	background: #f0f0f1;
	color: #2c3338;
}

.ag-badge--yes,
.ag-badge--risk-low {
	background: #edfaef;
	color: #008a20;
}

.ag-badge--no,
.ag-badge--risk-unknown {
	background: #f0f0f1;
	color: #50575e;
}

.ag-badge--neutral {
	background: #eef6fc;
	color: #2271b1;
}

.ag-badge--risk-medium {
	background: #fcf8e8;
	color: #8c5a00;
}

.ag-badge--risk-high {
	background: #fcf0f1;
	color: #b32d2e;
}

.ag-annotation {
	background: #f6f7f7;
	border: 1px solid #dcdcde;
	border-radius: 3px;
	display: inline-block;
	font-size: 11px;
	line-height: 1;
	margin: 0 4px 4px 0;
	padding: 4px 6px;
}

.ag-annotation--true {
	border-color: #8bd49c;
	color: #008a20;
}

.ag-annotation--false {
	border-color: #f2b8b5;
	color: #b32d2e;
}

.ag-annotation--unknown {
	color: #646970;
}

.ability-guard-summary {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
	margin: 18px 0;
	max-width: 1120px;
}

.ability-guard-summary__item {
	background: #fff;
	border: 1px solid #dcdcde;
	border-radius: 8px;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
	min-height: 86px;
	overflow: hidden;
	padding: 18px 18px 16px 66px;
	position: relative;
}

.ability-guard-summary__item::before {
	bottom: 0;
	content: "";
	left: 0;
	position: absolute;
	top: 0;
	width: 4px;
}

.ability-guard-summary__icon {
	align-items: center;
	border-radius: 8px;
	display: inline-flex;
	font: normal 19px/1 dashicons;
	height: 34px;
	justify-content: center;
	left: 18px;
	position: absolute;
	top: 18px;
	width: 34px;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.ability-guard-summary__icon::before {
	display: block;
}

.ability-guard-summary__icon--total::before {
	content: "\f332";
}

.ability-guard-summary__icon--high::before {
	content: "\f534";
}

.ability-guard-summary__icon--medium::before {
	content: "\f177";
}

.ability-guard-summary__icon--unknown::before {
	content: "\f223";
}

.ability-guard-summary__item--total::before {
	background: #3858e9;
}

.ability-guard-summary__item--total .ability-guard-summary__icon {
	background: #eef2ff;
	color: #3858e9;
}

.ability-guard-summary__item--high::before {
	background: #b32d2e;
}

.ability-guard-summary__item--high .ability-guard-summary__icon {
	background: #fcf0f1;
	color: #b32d2e;
}

.ability-guard-summary__item--medium::before {
	background: #b26200;
}

.ability-guard-summary__item--medium .ability-guard-summary__icon {
	background: #fcf8e8;
	color: #8c5a00;
}

.ability-guard-summary__item--unknown::before {
	background: #646970;
}

.ability-guard-summary__item--unknown .ability-guard-summary__icon {
	background: #f0f0f1;
	color: #50575e;
}

.ability-guard-summary__value {
	color: #1d2327;
	display: block;
	font-size: 30px;
	font-weight: 600;
	line-height: 1;
	margin-bottom: 8px;
}

.ability-guard-summary__label,
.ability-guard-muted {
	color: #646970;
}

.ability-guard-muted {
	font-size: 12px;
	margin-top: 4px;
}

.ability-guard-detail {
	background: #fff;
	border: 1px solid #c3c4c7;
	border-radius: 8px;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
	margin: 16px 0;
	padding: 16px;
}

.ability-guard-log-detail {
	padding: 0;
}

.ability-guard-detail th {
	width: 160px;
}

.ability-guard-detail__header {
	align-items: flex-start;
	border-bottom: 1px solid #dcdcde;
	display: flex;
	gap: 16px;
	justify-content: space-between;
	padding: 20px 22px;
}

.ability-guard-detail__header h2 {
	font-size: 18px;
	line-height: 1.3;
	margin: 0 0 8px;
}

.ability-guard-detail__ability {
	background: #f6f7f7;
	border: 1px solid #dcdcde;
	border-radius: 4px;
	display: inline-block;
	padding: 5px 7px;
}

.ability-guard-detail-grid {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
	padding: 16px 22px 0;
}

.ability-guard-detail-metric {
	background: #f6f7f7;
	border: 1px solid #dcdcde;
	border-radius: 6px;
	padding: 12px 14px;
}

.ability-guard-detail-metric__label {
	color: #646970;
	display: block;
	font-size: 12px;
	font-weight: 600;
	margin-bottom: 6px;
	text-transform: uppercase;
}

.ability-guard-detail-metric__value {
	color: #1d2327;
	font-size: 14px;
	font-weight: 500;
}

.ability-guard-json-panels {
	display: grid;
	gap: 16px;
	padding: 18px 22px 22px;
}

.ability-guard-json-panel {
	border: 1px solid #dcdcde;
	border-radius: 8px;
	overflow: hidden;
}

.ability-guard-json-panel__header {
	align-items: center;
	background: #f6f7f7;
	border-bottom: 1px solid #dcdcde;
	display: flex;
	justify-content: space-between;
	padding: 12px 14px;
}

.ability-guard-json-panel__header h3 {
	font-size: 14px;
	line-height: 1.3;
	margin: 0;
}

.ability-guard-json-panel__header span {
	color: #646970;
	font-size: 12px;
	font-weight: 600;
}

.ability-guard-json {
	background: #1d2327;
	color: #f0f0f1;
	margin: 0;
	max-height: 420px;
	overflow: auto;
	padding: 18px;
	white-space: pre-wrap;
}

.ability-guard-empty-state {
	color: #646970;
	padding: 18px;
}

.ability-guard-detail__actions {
	background: #f6f7f7;
	border-top: 1px solid #dcdcde;
	display: flex;
	gap: 8px;
	justify-content: flex-end;
	padding: 14px 22px;
}

.ability-guard-settings-layout {
	align-items: start;
	display: grid;
	gap: 18px;
	grid-template-columns: minmax(0, 1fr) 320px;
	margin-top: 16px;
	max-width: 1180px;
}

.ability-guard-settings-card,
.ability-guard-info-card {
	background: #fff;
	border: 1px solid #dcdcde;
	border-radius: 8px;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

.ability-guard-settings-card__header {
	border-bottom: 1px solid #dcdcde;
	padding: 18px 22px;
}

.ability-guard-settings-card__header h2,
.ability-guard-info-card h2 {
	font-size: 16px;
	line-height: 1.3;
	margin: 0 0 6px;
}

.ability-guard-settings-card__header p,
.ability-guard-info-card p {
	color: #646970;
	margin: 0;
}

.ability-guard-settings-card__body {
	padding: 0 22px 18px;
}

.ability-guard-settings-card .form-table {
	margin-top: 8px;
}

.ability-guard-settings-card .form-table th {
	padding-left: 0;
	width: 190px;
}

.ability-guard-settings-card .form-table td {
	padding-right: 0;
}

.ability-guard-settings-card__body > h2 {
	display: none;
}

.ability-guard-settings-side {
	display: grid;
	gap: 14px;
}

.ability-guard-info-card {
	padding: 16px;
}

.ability-guard-info-card .button {
	margin: 4px 4px 0 0;
}

@media (max-width: 960px) {
	.ability-guard-settings-layout {
		grid-template-columns: 1fr;
	}
}
