# code-snippets/4.0.0-beta.2/css/manage/_ai-agent.scss

Code Snippets, version 4.0.0-beta.2. 749 lines.

- Page: https://pluginprobe.com/plugins/code-snippets/4.0.0-beta.2/code/css/manage/_ai-agent.scss
- Raw: https://pluginprobe.com/plugins/code-snippets/4.0.0-beta.2/raw/css/manage/_ai-agent.scss
- Modified: 2026-09-22T07:44:40+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/code-snippets/4.0.0-beta.2/code/css/manage/_ai-agent.scss#L10-L20`.

```scss
.ai-agent-layout {
	display: grid;
	gap: var(--cs-sidebar-gap);
	grid-template-columns: minmax(0, 1fr) var(--cs-sidebar-width);
	grid-template-areas: 'main sidebar';
	align-items: start;

	@media screen and (width <= 782px) {
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas: 'main' 'sidebar';
	}
}

.ai-agent-layout__main {
	grid-area: main;
	display: flex;
	flex-direction: column;
	gap: 20px;
	min-inline-size: 0;
	min-block-size: 600px;
	padding: 20px;
	background: var(--cs-color-surface-subtle);
	border: 1px solid var(--cs-color-border-subtle);
	border-radius: var(--cs-card-radius);
}

.ai-agent-loading {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding-block: 48px;
	color: var(--cs-color-text-secondary);
}

.ai-agent-layout__sidebar {
	grid-area: sidebar;
}

/* History rail */

.ai-agent-history {
	display: flex;
	flex-direction: column;
	gap: 8px;
	min-block-size: 0;
	position: relative;
}

.ai-agent-history--loading {
	flex-direction: row;
	align-items: center;
	gap: 6px;
	color: var(--cs-color-text-secondary);
	font-size: 13px;
}

.ai-agent-history__empty {
	color: var(--cs-color-text-subtle);
	font-style: italic;
}

.ai-agent-history__list {
	margin: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 6px;
	flex: 1 1 auto;
	min-block-size: 0;
	overflow-y: auto;
	padding-block-end: 24px;
	scrollbar-width: thin;
}

.ai-agent-history__item {
	display: flex;
	align-items: stretch;
	border: 1px solid var(--cs-color-border-subtle);
	border-radius: 5px;
	background: var(--cs-color-surface);
	margin: 0;

	&.is-active {
		border-color: var(--cs-color-accent);
		box-shadow: inset 3px 0 0 var(--cs-color-accent);
	}
}

.ai-agent-history__open {
	flex: 1 1 0;
	min-inline-size: 0;
	display: flex;
	flex-direction: column;
	gap: 6px;
	align-items: flex-start;
	padding-block: 8px;
	padding-inline: 12px;
	background: none;
	border: 0;
	cursor: pointer;
	text-align: start;
}

.ai-agent-history__title {
	display: block;
	inline-size: 100%;
	font-weight: 600;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.ai-agent-history__status {
	display: inline-block;
	padding: 0 8px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 600;
	line-height: 18px;
	background: var(--cs-color-surface-muted);
	color: var(--cs-color-text-secondary);

	&.is-plan {
		background: #e5f0fb;
		color: var(--cs-color-accent);
	}

	&.is-done {
		background: #edfaef;
		color: #007017;
	}

	&.is-failed {
		background: #fcf0f1;
		color: #b32d2e;
	}
}

.ai-agent-history__delete {
	flex: 0 0 auto;
	border: 0;
	background: none;
	cursor: pointer;
	color: var(--cs-color-text-subtle);
	font-size: 18px;
	padding-inline: 10px;
	opacity: 0;
	pointer-events: none;
	transition: opacity 120ms ease, color 120ms ease;

	&:focus-visible,
	&:hover {
		color: var(--cs-color-error);
	}

	.ai-agent-history__item:hover &,
	.ai-agent-history__item:focus-within & {
		opacity: 1;
		pointer-events: auto;
	}
}

.ai-agent-history__delete-icon {
	block-size: 18px;
	inline-size: 18px;
	display: block;
}

.ai-agent-history::after {
	content: '';
	position: absolute;
	inset-inline: 0;
	inset-block-end: 0;
	block-size: 48px;
	pointer-events: none;
	background: linear-gradient(to bottom, rgb(255 255 255 / 0%), #fff 85%);
}

/* Conversation thread */

.ai-agent-thread {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.ai-agent-message {
	padding-block: 10px;
	padding-inline: 14px;
	border-radius: var(--cs-card-radius);
	max-inline-size: 90%;

	&.is-user {
		align-self: flex-end;
		background: color-mix(in srgb, var(--cs-color-surface-subtle) 97%, #000 3%);
	}

	&.is-assistant {
		align-self: flex-start;
		background: var(--cs-color-surface);
	}
}

.ai-agent-message__role {
	display: block;
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	color: var(--cs-color-text-subtle);
	margin-block-end: 4px;
}

.ai-agent-message__content {
	white-space: pre-wrap;
}

.ai-agent-typing {
	display: flex;
	align-items: center;
	gap: 8px;
	color: var(--cs-color-text-secondary);
	animation: ai-agent-fade-in 0.25s ease;
}

.ai-agent-plan,
.ai-agent-result {
	animation: ai-agent-fade-in 0.25s ease;
	border-radius: var(--cs-card-radius);
	background: var(--cs-color-surface);
	padding: 16px;
}

@keyframes ai-agent-fade-in {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

.ai-agent-typing__dots {
	display: inline-flex;
	gap: 4px;

	i {
		inline-size: 6px;
		block-size: 6px;
		border-radius: 50%;
		background: var(--cs-color-accent);
		animation: ai-agent-blink 1.4s infinite both;

		&:nth-child(2) {
			animation-delay: 0.2s;
		}

		&:nth-child(3) {
			animation-delay: 0.4s;
		}
	}
}

@keyframes ai-agent-blink {
	0%,
	80%,
	100% {
		opacity: 0.2;
	}

	40% {
		opacity: 1;
	}
}

/* Plan card */

.ai-agent-plan__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-block-end: 12px;
}

.ai-agent-plan__title {
	margin: 0;
	font-size: 15px;
}

.ai-agent-plan__badge {
	font-size: 11px;
	font-weight: 600;
	padding-block: 2px;
	padding-inline: 8px;
	border-radius: 999px;
	background: var(--cs-color-surface-muted);
	color: var(--cs-color-text-secondary);
	white-space: nowrap;

	&.is-bundle {
		background: #e5f0fb;
		color: var(--cs-color-accent);
	}

	&.is-done {
		background: #edfaef;
		color: #007017;
	}
}

.ai-agent-plan__overview {
	margin-block: 0 16px;
	color: var(--cs-color-text);
	line-height: 1.6;
	white-space: pre-wrap;
}

.ai-agent-plan__parts-heading {
	margin-block: 0 8px;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	color: var(--cs-color-text-secondary);
}

.ai-agent-plan__parts {
	margin: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.ai-agent-plan__part {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 4px 10px;
	align-items: center;
	padding: 10px 12px;
	margin: 0;
	background: var(--cs-color-surface-subtle);
	border: 0;
	border-radius: var(--cs-control-radius);

	.badge {
		align-self: start;
	}
}

.ai-agent-plan__part-name {
	font-weight: 600;
}

.ai-agent-plan__part-desc {
	grid-column: 2;
	margin: 0;
	color: var(--cs-color-text-muted);
	font-size: 13px;
	line-height: 1.5;
}

.ai-agent-plan__actions {
	display: flex;
	gap: 8px;
	margin-block-start: 16px;
}

/* Result card */

.ai-agent-result__lead {
	color: var(--cs-color-text-secondary);
	margin-block: 0 12px;
}

.ai-agent-result__rows {
	margin: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.ai-agent-result__row {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 12px;
	margin: 0;
	background: var(--cs-color-surface-subtle);
	border-radius: var(--cs-control-radius);
}

.ai-agent-result__name {
	font-weight: 600;
	flex: 1;
}

.ai-agent-result__status.is-error {
	color: var(--cs-color-error);
	font-size: 12px;
}

.ai-agent-result__status.is-deleted {
	color: var(--cs-color-error);
	font-weight: 600;
	text-decoration: underline;
	text-decoration-color: var(--cs-color-error);
}

.ai-agent-result__status.is-checking {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	color: var(--cs-color-text-subtle);
	font-size: 12px;
}

.ai-agent-result__link {
	white-space: nowrap;
}

.ai-agent-result__edit {
	margin-block-start: 16px;
	padding-block-start: 16px;
	border-block-start: 1px solid var(--cs-color-surface-muted);
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
}

.ai-agent-result__edit-head {
	inline-size: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	font-size: 13px;
	color: var(--cs-color-text-secondary);
}

.ai-agent-result__edit-actions {
	display: flex;
	align-items: center;
	gap: 16px;
}

/* Borderless treatment for the inline preview / make-changes / select buttons. */
.ai-agent-result .button-link {
	border: 0;
	box-shadow: none;
	padding-inline: 2px;
}

/* Use plugin accent colour for preview/edit links. */
.wp-core-ui .ai-agent-result .ai-agent-result__row .button-link,
.ai-agent-result .ai-agent-result__link {
	color: var(--cs-color-accent);

	&:hover {
		color: var(--cs-color-accent-hover);
	}
}

/* Error panel */

// The agent asking to widen the context. Deliberately not styled as an error:
// nothing has gone wrong, and the user is being asked to consent.
.ai-agent-context-request {
	border: 1px solid #c3d9ed;
	border-radius: var(--cs-card-radius);
	padding: 16px;
	background: var(--cs-color-surface-info);

	.ai-agent-context-request__detail {
		margin-block: 0 12px;
		font-size: 13px;
		color: var(--cs-color-text-secondary);
	}

	.ai-agent-context-request__actions {
		display: flex;
		flex-wrap: wrap;
		gap: 8px;
	}
}

// Shown in place of the typing indicator once the user stops waiting on a
// generation the cloud may still be running.
.ai-agent-stopped {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	border: 1px solid var(--cs-color-border-subtle);
	border-radius: var(--cs-card-radius);
	padding: 12px 16px;
	background: var(--cs-color-surface-subtle);

	p {
		margin: 0;
		font-size: 13px;
		color: var(--cs-color-text-secondary);
	}
}

.ai-agent-error {
	border: 1px solid #f0c33c;
	border-radius: var(--cs-card-radius);
	padding: 16px;
	background: #fcf9e8;

	p {
		margin-block: 0 12px;
	}
}


/* Prompt box */

.ai-agent-prompt {
	border: 1px solid var(--cs-color-border-subtle);
	border-radius: var(--cs-card-radius);
	background: var(--cs-color-surface);
	padding: 8px;

	&:focus-within {
		border-color: var(--cs-color-accent);
		box-shadow: 0 0 0 1px var(--cs-color-accent);
	}
}

.ai-agent-prompt__input {
	box-sizing: border-box;
	inline-size: 100%;
	max-inline-size: 100%;
	border: 0;
	resize: vertical;
	min-block-size: 90px;
	font-size: 14px;
	padding: 6px;
	background: var(--cs-color-surface);
	color: var(--cs-color-text);

	&:focus {
		outline: none;
		box-shadow: none;
	}

	&:disabled {
		background: var(--cs-color-surface);
		color: var(--cs-color-text);
		opacity: 1;
	}
}

.ai-agent-prompt__footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-block-start: 6px;
}

.ai-agent-prompt__hint {
	font-size: 12px;
	color: var(--cs-color-text-muted);
}

.ai-agent-result__edit .ai-agent-prompt {
	inline-size: 100%;
}

/* Push the composer to the bottom of the main column. */
.ai-agent-layout__main > .ai-agent-prompt {
	margin-block-start: auto;
}

/* Empty state — starter prompts in the blank area. */
.ai-agent-empty {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 12px;
	text-align: center;
	padding: 24px;
}

.ai-agent-empty__eyebrow {
	margin: 0;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--cs-color-text-muted);
}

.ai-agent-empty__chips {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
	max-inline-size: 560px;
}

.ai-agent-empty__chip {
	padding: 8px 16px;
	border: 1px solid var(--cs-color-border-subtle);
	border-radius: 999px;
	background: var(--cs-color-surface);
	color: var(--cs-color-text);
	font-size: 14px;
	line-height: 1.5;
	cursor: pointer;

	&:hover {
		border-color: var(--cs-color-accent);
		color: var(--cs-color-accent);
	}
}

/* Sidebar */

.ai-agent-sidebar {
	border: 1px solid var(--cs-color-border-subtle);
	border-radius: var(--cs-card-radius);
	background: var(--cs-color-surface);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	max-block-size: 634px;
}

.ai-agent-sidebar__tabs {
	display: flex;
	border-block-end: 1px solid var(--cs-color-border-subtle);
}

.ai-agent-sidebar__tab {
	flex: 1;
	padding-block: 12px;
	padding-inline: 8px;
	border: 0;
	background: var(--cs-color-surface-subtle);
	cursor: pointer;
	font-weight: 600;
	color: var(--cs-color-text-secondary);
	border-block-end: 2px solid transparent;

	&:hover {
		color: var(--cs-color-accent);
	}

	&.is-active {
		background: var(--cs-color-surface);
		color: var(--cs-color-accent);
		border-block-end-color: var(--cs-color-accent);
	}
}

.ai-agent-sidebar__panel {
	display: flex;
	flex-direction: column;
	gap: 20px;
	padding: 16px;
	min-block-size: 0;
	overflow: hidden;
}

.ai-agent-sidebar__panel[hidden] {
	display: none;
}

.ai-agent-sidebar__heading {
	margin-block: 0 8px;
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	color: var(--cs-color-text-secondary);
}

.ai-agent-examples {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.ai-agent-examples__chip {
	text-align: start;
	padding-block: 8px;
	padding-inline: 10px;
	border: 1px solid var(--cs-color-border-subtle);
	border-radius: 5px;
	background: var(--cs-color-surface-subtle);
	cursor: pointer;

	&:disabled {
		opacity: 0.5;
		cursor: not-allowed;
	}

	&:hover:not(:disabled) {
		border-color: var(--cs-color-accent);
		color: var(--cs-color-accent);
	}
}

.ai-agent-quota__row {
	margin-block-end: 10px;
}

.ai-agent-quota__label {
	display: flex;
	justify-content: space-between;
	font-size: 12px;
	color: var(--cs-color-text-secondary);
	margin-block-end: 4px;
}

.ai-agent-quota__fill {
	block-size: 100%;
	background: var(--cs-color-accent);
}

.ai-agent-quota__track {
	block-size: 8px;
	border-radius: 999px;
	background: var(--cs-color-surface-muted);
	overflow: hidden;

	&.is-warning .ai-agent-quota__fill {
		background: var(--cs-color-error);
	}
}

.ai-agent-message-limit__value {
	margin: 0;
	font-size: 13px;
	color: var(--cs-color-text-secondary);

	&.is-warning {
		color: var(--cs-color-error);
	}
}

```
