# code-snippets/trunk/css/manage/blueprints/_form-layout.scss

Code Snippets, version trunk. 163 lines.

- Page: https://pluginprobe.com/plugins/code-snippets/trunk/code/css/manage/blueprints/_form-layout.scss
- Raw: https://pluginprobe.com/plugins/code-snippets/trunk/raw/css/manage/blueprints/_form-layout.scss
- Modified: 2026-09-22T07:42:04+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/trunk/code/css/manage/blueprints/_form-layout.scss#L10-L20`.

```scss

.blueprint-form-layout {
	--cs-blueprint-sidebar-width: 220px;

	display: grid;
	grid-template-columns: var(--cs-blueprint-sidebar-width) 1fr;
	gap: 0;
	border: 1px solid var(--cs-color-border);
	border-radius: 0 0 var(--cs-card-radius) var(--cs-card-radius);
	overflow: hidden;

	@media (width <= 960px) {
		grid-template-columns: 1fr;
	}
}

.blueprint-form-sidebar {
	display: flex;
	flex-direction: column;
	background: var(--cs-color-surface-subtle);
	padding: 0;

	ul {
		flex: 0 0 auto;
		list-style: none;
		margin: 0;
		padding: 0;
	}

	li {
		margin: 0;
	}

	&__item {
		display: block;
		inline-size: 100%;
		padding: 12px 16px;
		border: none;
		border-block-end: 1px solid var(--cs-color-border-subtle);
		border-inline-end: 1px solid var(--cs-color-border);
		border-radius: 0;
		background: var(--cs-color-surface-subtle);
		color: var(--cs-color-text);
		cursor: pointer;
		font-weight: 400;
		text-align: start;
		transition:
			background 150ms ease,
			color 150ms ease;

		&:hover,
		&:focus-visible {
			background: var(--cs-color-accent-subtle);

			// The lighter accent reaches only 3.8:1 on this background; the
			// hover shade clears AA for normal text.
			color: var(--cs-color-accent-hover);
		}

		// The fill alone separates the focused item from its neighbours by
		// 1.26:1, so keyboard focus needs a border of its own. Drawn inside the
		// item, which sits flush against the ones above and below it.
		&:focus-visible {
			outline: 2px solid var(--cs-color-accent-hover);
			outline-offset: -2px;
		}

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

	&__generate-wrap {
		flex: 1 1 auto;
		min-block-size: 0;
		border-inline-end: 1px solid var(--cs-color-border-subtle);
		padding: 16px;
		display: flex;
		flex-direction: column;
	}

	&__generate {
		background-color: var(--cs-color-accent);
		border: none;
		border-radius: 5px;
		box-shadow: 0 1px 3px rgb(0 0 0 / 12%);
		color: #fff;
		cursor: pointer;
		display: block;
		font-size: 14px;
		font-weight: 600;
		line-height: 14px;
		margin: 0;
		padding: 12px;
		text-align: center;
		transition: box-shadow 0.15s ease;
		margin-block-start: auto;
		inline-size: 100%;

		&:hover,
		&:focus-visible {
			box-shadow: 0 2px 6px rgb(0 0 0 / 16%);
			outline: none;
		}
	}
}

.blueprint-form-content {
	background: var(--cs-color-surface);
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 28px 32px;

	h2 {
		margin: 0;
		font-size: 20px;
		font-weight: 500;
		color: var(--cs-color-text);
	}

	input[type='date'],
	input[type='datetime-local'],
	input[type='datetime'],
	input[type='email'],
	input[type='month'],
	input[type='number'],
	input[type='password'],
	input[type='search'],
	input[type='tel'],
	input[type='text'],
	input[type='time'],
	input[type='url'],
	input[type='week'] {
		padding: 0 8px;
		line-height: 3;
		min-block-size: 30px;
	}

	select {
		padding: 0 8px;
		min-block-size: 30px;
		line-height: 3;
		max-inline-size: 100%;
	}
}

.blueprint-form-section-description {
	color: var(--cs-color-text-muted);
	font-size: 0.95rem;
	line-height: 1.4;
	margin: 0 0 24px;
}

.blueprint-form-content .blueprint-form-field label {
	font-weight: 600;
	font-size: 14px;
	line-height: 1.5;
	color: var(--cs-color-text);
}

```
