.console-body {
	min-height: 100vh;
}

.console-shell .container {
	width: min(1560px, calc(100% - 2.5rem));
}

.console-main {
	position: relative;
	z-index: 1;
}

.auth-layout,
.console-section {
	padding-top: 4.5rem;
}

.auth-grid {
	display: grid;
	gap: 1.5rem;
	grid-template-columns: minmax(0, 820px);
	justify-content: center;
}

.auth-panel,
.auth-side,
.console-overview,
.console-column {
	background:
		linear-gradient(180deg, rgba(41, 18, 14, 0.94) 0%, rgba(22, 11, 10, 0.96) 100%);
	border: 1px solid rgba(255, 144, 92, 0.18);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow);
	padding: 2rem;
}

.auth-grid-simple {
	grid-template-columns: minmax(0, 760px);
}

.auth-panel h1 {
	margin: 0.3rem 0 1rem;
	font-size: clamp(2.2rem, 4vw, 3.6rem);
	line-height: 1.02;
	letter-spacing: -0.05em;
}

.console-overview h1 {
	margin: 0.2rem 0 0.8rem;
	max-width: none;
	font-size: clamp(1.85rem, 2.8vw, 2.7rem);
	line-height: 1.04;
	letter-spacing: -0.045em;
	text-wrap: balance;
}

.console-copy {
	color: var(--muted-strong);
	max-width: 58ch;
	line-height: 1.7;
}

.console-intro {
	max-width: 70ch;
}

.console-subcopy {
	margin-top: 1rem;
}

.console-brain-strip {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0.95rem;
	margin-top: 1.3rem;
}

.console-brain-card {
	padding: 1rem 1.05rem 1.1rem;
	border-radius: 1rem;
	background: rgba(10, 16, 30, 0.66);
	border: 1px solid rgba(116, 145, 255, 0.12);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.02);
}

.console-brain-card h3 {
	margin: 0.18rem 0 0.55rem;
	font-size: 1rem;
	line-height: 1.12;
	letter-spacing: -0.03em;
}

.console-brain-card p {
	margin: 0;
	color: var(--muted-strong);
	line-height: 1.62;
}

.workspace-brain-strip {
	margin-top: 1.15rem;
}

.auth-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.9rem;
	margin-top: 1.6rem;
}

.auth-actions-simple {
	align-items: center;
}

.auth-confirm-row {
	display: flex;
	gap: 0.65rem;
	align-items: flex-start;
	flex-basis: 100%;
}

.auth-confirm-row input {
	margin-top: 0.2rem;
}

.notice-banner {
	margin-top: 1.2rem;
	padding: 0.95rem 1rem;
	border-radius: 1rem;
	border: 1px solid rgba(255, 107, 74, 0.22);
	background: rgba(255, 107, 74, 0.08);
	color: #ffe3e9;
}

.notice-info {
	border-color: rgba(255, 144, 92, 0.22);
	background: rgba(255, 144, 92, 0.08);
	color: var(--muted-strong);
}

.auth-points,
.mini-stack {
	display: grid;
	gap: 0.9rem;
	margin-top: 1.5rem;
}

.auth-points {
	padding-left: 1.1rem;
	color: var(--muted-strong);
}

.auth-points-simple {
	margin-bottom: 0;
	max-width: 48rem;
}

.auth-points li {
	line-height: 1.5;
}

.mini-stack div {
	padding: 1rem 1.1rem;
	border-radius: 1rem;
	background: rgba(11, 18, 34, 0.72);
	border: 1px solid rgba(116, 145, 255, 0.12);
}

.mini-stack p,
.auth-terminal p {
	margin: 0.4rem 0 0;
	color: var(--muted);
}

.auth-terminal {
	margin-top: 1.4rem;
}

.console-grid {
	display: grid;
	gap: 1.5rem;
	grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.98fr) minmax(340px, 0.94fr);
	align-items: start;
}

.app-shell-grid {
	display: grid;
	gap: 1.5rem;
	grid-template-columns: minmax(300px, 1.1fr) minmax(320px, 0.95fr) minmax(300px, 0.9fr);
	align-items: start;
}

.app-header-panel {
	grid-column: 1 / -1;
	padding: 1.75rem 1.85rem;
}

.app-mini-stats,
.workspace-meta-row {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0.9rem;
	margin-top: 1.35rem;
}

.workspace-meta-row {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.stat-card-compact {
	min-width: 0;
	padding: 0.95rem 1rem;
	background: rgba(54, 23, 16, 0.76);
	border: 1px solid rgba(255, 144, 92, 0.16);
}

.stat-card-compact strong {
	font-size: 1.18rem;
	line-height: 1.2;
}

.cli-runtime-grid {
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.2fr) minmax(320px, 0.9fr);
}

.console-overview {
	grid-column: 1 / -1;
}

.overview-top > div:first-child {
	flex: 1 1 auto;
	min-width: 0;
}

.overview-top,
.column-head,
.repo-card-top,
.console-header-actions,
.stats-row,
.file-meta,
.editor-toolbar,
.file-meta-actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}

.stats-row {
	margin-top: 1.6rem;
	flex-wrap: wrap;
}

.console-guide-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
	margin-top: 1.35rem;
}

.console-guide-card {
	padding: 1.05rem 1.1rem 1.15rem;
	border-radius: 1rem;
	background: rgba(10, 16, 30, 0.56);
	border: 1px solid rgba(116, 145, 255, 0.12);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.02);
}

.console-guide-card .section-label {
	margin-bottom: 0.55rem;
}

.console-guide-list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 0.7rem;
	color: var(--muted-strong);
	line-height: 1.6;
}

.console-guide-list strong {
	color: var(--text);
	font-weight: 600;
}

.stat-card {
	min-width: 180px;
	padding: 1rem 1.1rem;
	border-radius: 1rem;
	background: rgba(54, 23, 16, 0.78);
	border: 1px solid rgba(255, 144, 92, 0.14);
}

.stat-card span,
.user-chip,
.workspace-card small,
.repo-card p,
.empty-state {
	color: var(--muted);
}

.stat-card strong {
	display: block;
	margin-top: 0.3rem;
	font-size: 1.6rem;
}

.user-chip {
	padding: 0.7rem 0.95rem;
	border-radius: 999px;
	background: rgba(43, 19, 15, 0.82);
	border: 1px solid rgba(255, 144, 92, 0.16);
	font-family: 'IBM Plex Mono', monospace;
}

.live-pill {
	background: rgba(255, 107, 74, 0.14);
	color: #ffd5bf;
}

.repo-search {
	min-width: 220px;
	border-radius: 999px;
	border: 1px solid rgba(255, 144, 92, 0.14);
	background: rgba(30, 14, 11, 0.86);
	color: var(--text);
	padding: 0.82rem 1rem;
	outline: none;
}

.repo-search:focus {
	border-color: rgba(255, 144, 92, 0.48);
	box-shadow: 0 0 0 4px rgba(255, 106, 61, 0.16);
}

.repo-list,
.workspace-list {
	display: grid;
	gap: 1rem;
	margin-top: 1.4rem;
}

.repo-card,
.workspace-card {
	padding: 1.15rem;
	border-radius: 1rem;
	background: rgba(31, 14, 11, 0.84);
	border: 1px solid rgba(255, 144, 92, 0.14);
}

.repo-card.is-selected {
	border-color: rgba(255, 144, 92, 0.5);
	background: rgba(60, 24, 17, 0.92);
	box-shadow: inset 0 0 0 1px rgba(255, 144, 92, 0.16);
}

.repo-card strong,
.workspace-card strong {
	display: block;
	font-size: 1rem;
}

.repo-card-meta,
.brief-meta-row,
.selected-repo-meta-row {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.55rem;
}

.repo-card-top a {
	font-family: 'IBM Plex Mono', monospace;
	font-size: 0.78rem;
	color: var(--blue-ice);
}

.repo-card button {
	margin-top: 1rem;
}

.repo-card-actions,
.workspace-card-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-top: 1rem;
}

.workspace-card p {
	margin: 0.45rem 0;
	color: var(--muted-strong);
}

.workspace-brief-preview {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	line-height: 1.6;
}

.console-log {
	margin-top: 1.2rem;
	max-height: 340px;
	overflow: auto;
}

.console-log p {
	margin: 0.5rem 0;
}

.cli-runtime-log {
	margin-top: 1.3rem;
	min-height: 460px;
	max-height: 620px;
}

.cli-log-entry-warn .prompt,
.cli-log-entry-error .prompt {
	color: #ffb7c3;
}

.cli-output-block {
	margin: 0.65rem 0;
	padding: 0.85rem 0.95rem;
	border-radius: 0.9rem;
	background: rgba(6, 10, 20, 0.92);
	border: 1px solid rgba(255, 144, 92, 0.12);
	color: #f8e7dc;
	font-family: 'IBM Plex Mono', monospace;
	font-size: 0.84rem;
	line-height: 1.55;
	white-space: pre-wrap;
	word-break: break-word;
}

.cli-output-stderr {
	border-color: rgba(255, 107, 74, 0.22);
	color: #ffd7de;
}

.empty-state {
	margin: 0;
	padding: 1rem;
	border-radius: 1rem;
	background: rgba(43, 18, 14, 0.55);
}

.console-side-panel {
	display: flex;
	flex-direction: column;
}

.console-tall-panel {
	min-height: 760px;
}

.console-brief-panel,
.console-context-panel {
	display: flex;
	flex-direction: column;
}

.console-side-copy {
	margin: 0.9rem 0 0;
}

.panel-intro {
	max-width: 34ch;
}

.selected-repo-card {
	margin-top: 1.2rem;
	padding: 1.1rem;
	border-radius: 1rem;
	border: 1px solid rgba(255, 144, 92, 0.14);
	background: rgba(31, 14, 11, 0.84);
}

.selected-repo-card strong {
	display: block;
	font-size: 1rem;
}

.selected-repo-card p {
	margin: 0.5rem 0 0;
	color: var(--muted-strong);
}

.selected-repo-link {
	display: inline-flex;
	margin-top: 0.95rem;
	font-family: 'IBM Plex Mono', monospace;
	font-size: 0.78rem;
	color: var(--blue-ice);
}

.brief-meta-row {
	margin-top: 0.95rem;
}

.meta-chip {
	display: inline-flex;
	align-items: center;
	padding: 0.4rem 0.7rem;
	border-radius: 999px;
	border: 1px solid rgba(255, 144, 92, 0.12);
	background: rgba(44, 19, 15, 0.82);
	color: var(--muted);
	font-family: 'IBM Plex Mono', monospace;
	font-size: 0.7rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.brief-label {
	display: block;
	margin-top: 1.25rem;
}

.brief-helper {
	margin-top: 1rem;
	padding: 0.95rem 1rem;
	border-radius: 1rem;
	background: rgba(10, 16, 30, 0.52);
	border: 1px solid rgba(116, 145, 255, 0.1);
}

.brief-helper-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.85rem;
	margin-top: 1rem;
}

.brief-helper-grid .brief-helper {
	margin-top: 0;
}

.brief-helper-title {
	margin: 0 0 0.55rem;
	color: var(--text);
	font-size: 0.86rem;
	font-weight: 600;
	letter-spacing: 0.01em;
}

.brief-helper-list {
	margin: 0;
	padding-left: 1rem;
	display: grid;
	gap: 0.35rem;
	color: var(--muted-strong);
	line-height: 1.55;
}

.brief-input {
	width: 100%;
	margin-top: 0.7rem;
	min-height: 180px;
	border-radius: 1rem;
	border: 1px solid rgba(255, 144, 92, 0.14);
	background: rgba(25, 11, 10, 0.86);
	color: var(--text);
	padding: 0.95rem 1rem;
	outline: none;
	font: inherit;
	line-height: 1.65;
	resize: vertical;
}

.cli-command-form {
	margin-top: 1rem;
}

.cli-command-input {
	min-height: 140px;
}

.cli-session-list {
	margin-top: 1rem;
}

.cli-session-meta {
	margin-top: 1.2rem;
}

.workspace-card-compact {
	padding: 0.95rem 1rem;
}

.cli-file-sample-list {
	margin-top: 1rem;
}

.cli-file-open-row {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin-top: 1rem;
}

.cli-file-path-input {
	flex: 1 1 auto;
	min-width: 0;
}

.cli-file-editor {
	min-height: 320px;
	font-family: 'IBM Plex Mono', monospace;
	font-size: 0.84rem;
	line-height: 1.6;
}

.cli-ai-summary {
	min-height: 92px;
}

.cli-agent-summary,
.cli-agent-results {
	margin-top: 1rem;
}

.cli-agent-results-head {
	margin-top: 0.2rem;
}

.cli-agent-lists {
	margin-top: 0.9rem;
}

.agent-list {
	margin: 0.6rem 0 0;
	padding-left: 1.2rem;
	color: var(--muted-strong);
	line-height: 1.65;
}

.agent-list li + li {
	margin-top: 0.45rem;
}

.cli-agent-command-list,
.cli-agent-search-list {
	margin-top: 0.9rem;
}

.cli-agent-search-matches {
	margin-top: 0.75rem;
}

.cli-agent-search-matches strong {
	font-size: 0.86rem;
}

.cli-diff-log {
	margin-top: 1rem;
	min-height: 220px;
	max-height: 340px;
}

.cli-diff-block {
	font-size: 0.8rem;
}

.brief-input:focus {
	border-color: rgba(255, 144, 92, 0.42);
	box-shadow: 0 0 0 4px rgba(255, 106, 61, 0.15);
}

.brief-input:disabled {
	opacity: 0.6;
	cursor: not-allowed;
}

.brief-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-top: 1rem;
}

.helper-note {
	margin: 0.95rem 0 0;
	font-size: 0.94rem;
}

.console-subsection-head {
	margin-top: 1.35rem;
	padding-top: 1.15rem;
	border-top: 1px solid rgba(116, 145, 255, 0.1);
}

.workspace-list-compact {
	max-height: 320px;
	overflow: auto;
	padding-right: 0.1rem;
}

.console-log-compact {
	margin-top: 0.85rem;
	max-height: 260px;
	padding: 1rem 1rem 1.1rem;
	border-radius: 1rem;
	background: rgba(25, 11, 10, 0.86);
	border: 1px solid rgba(255, 144, 92, 0.12);
}

.console-context-panel .workspace-list-compact {
	margin-top: 1.2rem;
	max-height: 380px;
}

.console-context-panel .console-log-compact {
	flex: 1 1 auto;
	max-height: none;
	min-height: 260px;
}

.is-disabled {
	opacity: 0.45;
	pointer-events: none;
}

.workspace-grid {
	display: grid;
	gap: 1.15rem;
	grid-template-columns: minmax(240px, 290px) minmax(0, 1.8fr) minmax(330px, 390px);
	align-items: stretch;
}

.workspace-header,
.workspace-overview {
	grid-column: 1 / -1;
	background:
		linear-gradient(180deg, rgba(41, 18, 14, 0.94) 0%, rgba(22, 11, 10, 0.96) 100%);
	border: 1px solid rgba(255, 144, 92, 0.18);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow);
	padding: 1.35rem 1.5rem;
}

.workspace-header h1,
.workspace-overview h1 {
	margin: 0.2rem 0 0.8rem;
	font-size: clamp(1.9rem, 2.8vw, 3.1rem);
	line-height: 0.98;
	letter-spacing: -0.05em;
	max-width: none;
	text-wrap: balance;
}

.workspace-header .console-copy,
.workspace-overview .console-copy {
	max-width: 72ch;
	font-size: 0.98rem;
	line-height: 1.65;
}

.workspace-overview .stats-row {
	margin-top: 1.25rem;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
}

.workspace-overview .stat-card {
	min-width: 0;
	padding: 0.95rem 1rem;
}

.workspace-overview .stat-card strong {
	font-size: 1.18rem;
	line-height: 1.2;
}

.workspace-command-strip {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.65rem;
	margin-top: 1rem;
	padding: 0.75rem;
	border: 1px solid rgba(255, 144, 92, 0.14);
	border-radius: 1rem;
	background: rgba(24, 11, 10, 0.78);
	color: var(--muted);
	font-family: 'IBM Plex Mono', monospace;
	font-size: 0.78rem;
}

.workspace-command-strip span {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.42rem 0.62rem;
	border-radius: 999px;
	background: rgba(255, 144, 92, 0.08);
}

.workspace-command-strip strong {
	color: var(--text);
	font-weight: 600;
}

.workspace-sidebar,
.workspace-editor,
.workspace-activity {
	background:
		linear-gradient(180deg, rgba(41, 18, 14, 0.94) 0%, rgba(22, 11, 10, 0.96) 100%);
	border: 1px solid rgba(255, 144, 92, 0.16);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow);
	padding: 1.2rem;
	min-height: 620px;
}

.workspace-sidebar {
	position: sticky;
	top: 6.25rem;
}

.workspace-activity {
	display: flex;
	flex-direction: column;
}

.workspace-sidebar h2,
.workspace-editor h2,
.workspace-activity h2 {
	margin: 0.18rem 0 0;
	font-size: 1.2rem;
	line-height: 1.08;
	letter-spacing: -0.04em;
}

.workspace-editor [data-file-title] {
	font-size: clamp(1.3rem, 1.5vw, 1.7rem);
}

.tree-root,
.tree-children {
	display: grid;
	gap: 0.25rem;
	margin-top: 1rem;
}

.tree-item-button {
	width: 100%;
	display: flex;
	align-items: center;
	gap: 0.7rem;
	padding: 0.72rem 0.8rem;
	padding-left: calc(0.8rem + (var(--tree-depth, 0) * 0.9rem));
	border: 1px solid rgba(255, 144, 92, 0.1);
	border-radius: 0.9rem;
	background: rgba(31, 14, 11, 0.8);
	color: var(--text);
	font: inherit;
	text-align: left;
	cursor: pointer;
	transition: border-color 120ms ease, transform 120ms ease, background 120ms ease;
}

.tree-item-button:hover {
	border-color: rgba(255, 144, 92, 0.28);
	transform: translateX(2px);
}

.tree-item-button.is-active {
	border-color: rgba(255, 144, 92, 0.46);
	background: rgba(70, 28, 19, 0.7);
}

.tree-item-icon {
	width: 1rem;
	color: var(--blue-ice);
	font-family: 'IBM Plex Mono', monospace;
}

.tree-item-dir .tree-item-icon {
	color: #ffd19a;
}

.tree-item-file .tree-item-icon {
	color: #ffb39b;
}

.tree-children {
	margin-top: 0.35rem;
}

.file-viewer,
.workspace-log {
	margin-top: 1.2rem;
	min-height: 520px;
	max-height: 70vh;
	overflow: auto;
}

.file-viewer-empty {
	margin-top: 1.2rem;
	padding: 1rem;
	border-radius: 1rem;
	background: rgba(43, 18, 14, 0.55);
	color: var(--muted);
}

.file-meta {
	align-items: flex-start;
}

.file-meta-actions {
	flex-wrap: wrap;
	justify-content: flex-end;
}

.editor-toolbar {
	margin-top: 1.2rem;
	padding: 0.9rem 1rem;
	border-radius: 1rem;
	border: 1px solid rgba(255, 144, 92, 0.14);
	background: rgba(31, 14, 11, 0.82);
	display: flex;
	align-items: center;
	gap: 0.75rem;
	flex-wrap: wrap;
}

.editor-toolbar-actions {
	display: flex;
	align-items: center;
	gap: 0.55rem;
	flex-wrap: wrap;
}

.editor-dirty-indicator {
	display: inline-flex;
	align-items: center;
	padding: 0.35rem 0.7rem;
	border-radius: 999px;
	background: rgba(255, 144, 92, 0.12);
	color: var(--muted-strong);
	font-family: 'IBM Plex Mono', monospace;
	font-size: 0.75rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.editor-dirty-indicator.is-dirty {
	background: rgba(255, 107, 74, 0.16);
	color: #ffd0d8;
}

.commit-message-input {
	flex: 1 1 240px;
	border-radius: 999px;
	border: 1px solid rgba(255, 144, 92, 0.14);
	background: rgba(25, 11, 10, 0.86);
	color: var(--text);
	padding: 0.75rem 0.95rem;
	outline: none;
	font: inherit;
}

.commit-message-input:focus {
	border-color: rgba(255, 144, 92, 0.42);
	box-shadow: 0 0 0 4px rgba(255, 106, 61, 0.15);
}

.assistant-copy {
	margin: 0.8rem 0 0;
}

.assistant-actions,
.assistant-mode-toggle,
.assistant-form-actions,
.assistant-status-row {
	display: flex;
	align-items: center;
	gap: 0.75rem;
}

.assistant-mode-toggle {
	margin-top: 0.95rem;
	padding: 0.35rem;
	border-radius: 999px;
	background: rgba(10, 16, 30, 0.48);
	border: 1px solid rgba(116, 145, 255, 0.1);
}

.assistant-scope-button {
	flex: 1 1 0;
	border: 0;
	border-radius: 999px;
	background: transparent;
	color: var(--muted);
	cursor: pointer;
	font-family: 'IBM Plex Mono', monospace;
	font-size: 0.72rem;
	letter-spacing: 0.08em;
	padding: 0.62rem 0.75rem;
	text-transform: uppercase;
}

.assistant-scope-button.is-active {
	background: rgba(255, 144, 92, 0.18);
	color: #ffe2d4;
	box-shadow: inset 0 0 0 1px rgba(255, 144, 92, 0.18);
}

.assistant-actions,
.assistant-status-row,
.assistant-thread,
.assistant-form,
.workspace-log-head {
	margin-top: 1.1rem;
}

.assistant-actions {
	flex-wrap: wrap;
}

.assistant-status-row {
	align-items: flex-start;
	flex-wrap: wrap;
}

.assistant-context,
.assistant-hint {
	color: var(--muted);
	font-size: 0.83rem;
	line-height: 1.5;
}

.assistant-thread {
	display: grid;
	gap: 0.9rem;
	min-height: 250px;
	max-height: 360px;
	overflow: auto;
	padding-right: 0.15rem;
}

.assistant-message {
	padding: 1rem;
	border-radius: 1rem;
	border: 1px solid rgba(255, 144, 92, 0.14);
	background: rgba(31, 14, 11, 0.78);
}

.assistant-message-user {
	border-color: rgba(255, 144, 92, 0.28);
	background: rgba(60, 24, 17, 0.86);
}

.assistant-message-assistant {
	border-color: rgba(255, 107, 74, 0.18);
	background: rgba(41, 17, 14, 0.88);
}

.assistant-message-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 0.75rem;
	color: var(--muted);
	font-size: 0.78rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.assistant-message-role {
	color: var(--blue-ice);
}

.assistant-message-body {
	margin: 0;
	white-space: pre-wrap;
	word-break: break-word;
	font-family: 'IBM Plex Mono', monospace;
	font-size: 0.86rem;
	line-height: 1.68;
	color: #f6e4d7;
}

.assistant-form {
	padding: 1rem;
	border-radius: 1rem;
	border: 1px solid rgba(255, 144, 92, 0.14);
	background: rgba(31, 14, 11, 0.82);
}

.assistant-label {
	display: block;
	margin-bottom: 0.7rem;
}

.assistant-input {
	width: 100%;
	min-height: 110px;
	border-radius: 1rem;
	border: 1px solid rgba(255, 144, 92, 0.14);
	background: rgba(25, 11, 10, 0.86);
	color: var(--text);
	padding: 0.9rem 1rem;
	outline: none;
	font: inherit;
	resize: vertical;
}

.assistant-input:focus {
	border-color: rgba(255, 144, 92, 0.42);
	box-shadow: 0 0 0 4px rgba(255, 106, 61, 0.15);
}

.assistant-form-actions {
	justify-content: space-between;
	flex-wrap: wrap;
	margin-top: 0.8rem;
}

.workspace-log-head {
	padding-top: 0.2rem;
	border-top: 1px solid rgba(255, 144, 92, 0.1);
}

.workspace-log {
	flex: 1 1 auto;
	min-height: 240px;
	max-height: none;
	margin-top: 0.85rem;
	padding: 1rem 1rem 1.15rem;
	border-radius: 1rem;
	background: rgba(25, 11, 10, 0.86);
	border: 1px solid rgba(255, 144, 92, 0.12);
}

.file-editor {
	width: 100%;
	margin-top: 1rem;
	min-height: 520px;
	border: 1px solid rgba(255, 144, 92, 0.12);
	background: rgba(17, 8, 8, 0.96);
	border-radius: 1rem;
	overflow: hidden;
	outline: none;
}

.file-editor:focus-within {
	border-color: rgba(255, 144, 92, 0.38);
	box-shadow: inset 0 0 0 1px rgba(255, 144, 92, 0.18);
}

.diff-review-panel {
	margin-top: 1rem;
	padding: 1rem;
	border-radius: 1rem;
	border: 1px solid rgba(255, 144, 92, 0.18);
	background:
		radial-gradient(circle at 12% 0%, rgba(255, 144, 92, 0.12), transparent 32%),
		rgba(24, 11, 10, 0.9);
}

.diff-review-panel[hidden] {
	display: none;
}

.diff-review-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 0.95rem;
}

.diff-review-head h3 {
	margin: 0.15rem 0 0;
	font-size: 1.05rem;
	letter-spacing: -0.03em;
	word-break: break-word;
}

.diff-review-actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 0.65rem;
}

.diff-editor {
	width: 100%;
	min-height: 460px;
	border: 1px solid rgba(255, 144, 92, 0.12);
	border-radius: 1rem;
	overflow: hidden;
	background: rgba(6, 10, 20, 0.92);
}

.app-stack-panel,
.workspace-activity {
	display: flex;
	flex-direction: column;
	gap: 1.2rem;
}

.security-audit-grid {
	display: grid;
	gap: 1.5rem;
	grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
	align-items: start;
}

.build-workspace-grid {
	display: grid;
	gap: 1.2rem;
	grid-template-columns: minmax(310px, 0.72fr) minmax(0, 1.28fr);
	grid-template-areas:
		'header header'
		'chat preview'
		'files preview';
	align-items: start;
}

.security-fix-grid {
	display: grid;
	gap: 1.2rem;
	grid-template-columns: minmax(320px, 0.72fr) minmax(0, 1.28fr);
	grid-template-areas: 'sidebar review';
	align-items: start;
}

.security-fix-sidebar {
	grid-area: sidebar;
	display: grid;
	gap: 1.2rem;
	align-items: start;
}

.security-audit-hero,
.security-audit-results,
.build-workspace-header,
.build-chat-panel,
.build-preview-panel,
.build-file-panel,
.security-fix-hero,
.security-fix-review,
.security-fix-explanation {
	background:
		radial-gradient(circle at 12% 0%, rgba(255, 144, 92, 0.18), transparent 34%),
		linear-gradient(180deg, rgba(41, 18, 14, 0.94) 0%, rgba(22, 11, 10, 0.96) 100%);
	border: 1px solid rgba(255, 144, 92, 0.18);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow);
	padding: 2rem;
}

.build-workspace-header {
	grid-area: header;
}

.build-chat-panel {
	grid-area: chat;
	display: grid;
	gap: 1rem;
}

.build-preview-panel {
	grid-area: preview;
	position: sticky;
	top: 1.5rem;
}

.build-file-panel {
	grid-area: files;
}

.build-context-card {
	display: grid;
	gap: 0.35rem;
	padding: 1rem;
	border: 1px solid rgba(255, 144, 92, 0.16);
	border-radius: 1rem;
	background: rgba(10, 16, 30, 0.5);
}

.build-context-card strong,
.build-context-card span {
	overflow-wrap: anywhere;
}

.build-context-card span {
	color: var(--muted-strong);
	font-size: 0.9rem;
}

.build-thread {
	min-height: 17rem;
	max-height: 28rem;
	overflow: auto;
	padding: 1rem;
	border: 1px solid rgba(255, 144, 92, 0.12);
	border-radius: 1rem;
	background: rgba(6, 10, 20, 0.58);
}

.build-form {
	margin-top: 0;
}

.build-preview-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
	justify-content: flex-end;
}

.build-preview-frame-wrap {
	margin-top: 1rem;
	overflow: hidden;
	border: 1px solid rgba(255, 144, 92, 0.18);
	border-radius: 1.3rem;
	background: rgba(6, 10, 20, 0.78);
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.03);
}

.build-preview-frame {
	display: block;
	width: 100%;
	min-height: 620px;
	border: 0;
	background: #05070c;
}

.build-file-list {
	max-height: 24rem;
	overflow: auto;
	padding-right: 0.25rem;
}

.security-audit-hero,
.security-fix-hero {
	position: sticky;
	top: 1.5rem;
}

.security-fix-hero {
	position: static;
}

.security-fix-review,
.security-fix-explanation {
	padding: 1.35rem;
}

.security-fix-review {
	grid-area: review;
}

.security-fix-explanation {
	grid-area: auto;
}

.security-finding-panel {
	margin-top: 1.2rem;
	padding: 1rem;
	min-width: 0;
	overflow: hidden;
	border-radius: 1rem;
	background: rgba(10, 16, 30, 0.52);
	border: 1px solid rgba(116, 145, 255, 0.12);
}

.security-finding-panel h2 {
	margin: 0.2rem 0 0.55rem;
	font-size: 1.08rem;
	letter-spacing: -0.03em;
	overflow-wrap: anywhere;
	word-break: break-word;
}

.security-finding-panel p,
.security-finding-panel .console-copy,
[data-finding-detail] {
	max-width: 100%;
	white-space: pre-wrap;
	overflow-wrap: anywhere;
	word-break: break-word;
}

.security-fix-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
	margin-top: 1rem;
}

.security-fix-diff {
	width: 100%;
	margin-top: 1rem;
	border: 1px solid rgba(255, 144, 92, 0.12);
	border-radius: 1rem;
	overflow: visible;
	background: rgba(6, 10, 20, 0.92);
	color: #dbe7ff;
	font-family: 'IBM Plex Mono', monospace;
	font-size: 0.82rem;
	line-height: 1.55;
}

.security-fix-code {
	margin: 1rem 0 0;
	padding: 1rem;
	overflow: visible;
	border: 1px solid rgba(255, 144, 92, 0.12);
	border-radius: 1rem;
	background: rgba(6, 10, 20, 0.92);
	color: #f6e4d7;
	font-family: 'IBM Plex Mono', monospace;
	font-size: 0.83rem;
	line-height: 1.6;
	white-space: pre-wrap;
}

.security-fix-empty {
	margin: 0;
	padding: 1rem;
	color: var(--muted);
}

.security-diff-header {
	position: sticky;
	top: 0;
	z-index: 1;
	padding: 0.8rem 1rem;
	border-bottom: 1px solid rgba(255, 144, 92, 0.14);
	background: rgba(10, 16, 30, 0.96);
	color: #ffe0c9;
	font-family: 'Space Grotesk', sans-serif;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.security-diff-row {
	display: grid;
	grid-template-columns: 3rem 3rem 1.5rem minmax(0, 1fr);
	gap: 0.35rem;
	padding: 0.12rem 0.75rem;
	border-bottom: 1px solid rgba(255, 255, 255, 0.03);
	white-space: pre-wrap;
	overflow-wrap: anywhere;
}

.security-diff-row code {
	font-family: inherit;
	color: inherit;
}

.security-diff-line-number {
	color: rgba(219, 231, 255, 0.38);
	text-align: right;
	user-select: none;
}

.security-diff-marker {
	color: rgba(219, 231, 255, 0.64);
	text-align: center;
	user-select: none;
}

.security-diff-row-added {
	background: rgba(44, 188, 121, 0.14);
	color: #c9ffe6;
}

.security-diff-row-removed {
	background: rgba(255, 98, 118, 0.13);
	color: #ffd5dd;
}

.security-consensus-list {
	display: grid;
	gap: 1rem;
	margin-top: 1rem;
}

.security-audit-stats {
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

.security-audit-actions {
	display: grid;
	gap: 1rem;
	margin-top: 1.4rem;
}

.security-file-list {
	display: grid;
	gap: 1rem;
	margin-top: 1.25rem;
}

.security-filter-row {
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
	margin-top: 1rem;
}

.security-filter-button {
	border: 1px solid rgba(255, 144, 92, 0.14);
	border-radius: 999px;
	background: rgba(31, 14, 11, 0.74);
	color: var(--muted);
	cursor: pointer;
	font-family: 'IBM Plex Mono', monospace;
	font-size: 0.7rem;
	letter-spacing: 0.08em;
	padding: 0.55rem 0.75rem;
	text-transform: uppercase;
}

.security-filter-button.is-active,
.security-filter-button:hover {
	background: rgba(255, 144, 92, 0.16);
	border-color: rgba(255, 144, 92, 0.32);
	color: #ffe2d4;
}

.security-file-card {
	padding: 1.15rem;
	border-radius: 1rem;
	background: rgba(31, 14, 11, 0.84);
	border: 1px solid rgba(255, 144, 92, 0.14);
}

.security-file-failed {
	border-color: rgba(255, 107, 74, 0.44);
	box-shadow: inset 0 0 0 1px rgba(255, 107, 74, 0.12);
}

.security-file-warning {
	border-color: rgba(255, 184, 108, 0.36);
}

.security-file-passed {
	border-color: rgba(82, 211, 166, 0.24);
}

.security-file-skipped {
	border-color: rgba(116, 145, 255, 0.22);
}

.security-file-header,
.security-file-badges,
.security-finding-meta {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 0.75rem;
}

.security-file-header strong {
	display: block;
	font-size: 1rem;
	word-break: break-word;
}

.security-file-header p,
.security-finding p {
	margin: 0.45rem 0 0;
	color: var(--muted-strong);
	line-height: 1.6;
}

.security-file-badges,
.security-finding-meta {
	align-items: center;
	flex-wrap: wrap;
	justify-content: flex-end;
}

.security-status,
.security-risk {
	display: inline-flex;
	align-items: center;
	padding: 0.38rem 0.68rem;
	border-radius: 999px;
	font-family: 'IBM Plex Mono', monospace;
	font-size: 0.68rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.security-status-passed,
.security-risk-none {
	background: rgba(82, 211, 166, 0.12);
	border: 1px solid rgba(82, 211, 166, 0.22);
	color: #b8f4dc;
}

.security-status-warning,
.security-risk-low,
.security-risk-medium {
	background: rgba(255, 184, 108, 0.12);
	border: 1px solid rgba(255, 184, 108, 0.24);
	color: #ffe0b8;
}

.security-status-failed,
.security-risk-high,
.security-risk-critical {
	background: rgba(255, 107, 74, 0.14);
	border: 1px solid rgba(255, 107, 74, 0.3);
	color: #ffd0c2;
}

.security-status-skipped {
	background: rgba(116, 145, 255, 0.1);
	border: 1px solid rgba(116, 145, 255, 0.18);
	color: #cfdbff;
}

.security-finding-list {
	display: grid;
	gap: 0.9rem;
	margin: 1rem 0 0;
	padding: 0;
	list-style: none;
}

.security-finding {
	padding: 0.95rem 1rem;
	border-radius: 0.9rem;
	background: rgba(10, 16, 30, 0.56);
	border: 1px solid rgba(116, 145, 255, 0.12);
}

.security-finding strong {
	display: block;
	margin-bottom: 0.55rem;
}

.security-recommendation {
	color: #ffe0c9;
}

.stack-section + .stack-section {
	padding-top: 1.2rem;
	border-top: 1px solid rgba(255, 144, 92, 0.1);
}

@media (max-width: 1100px) {
	.auth-grid,
	.console-grid,
	.cli-runtime-grid,
		.workspace-grid,
		.app-shell-grid,
		.build-workspace-grid,
		.security-audit-grid,
		.security-fix-grid {
		grid-template-columns: 1fr;
		grid-template-areas:
			'header'
			'chat'
			'preview'
			'files'
			'sidebar'
			'review';
	}

	.console-guide-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.console-brain-strip {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.console-overview {
		grid-column: auto;
	}

	.workspace-header,
	.workspace-overview {
		grid-column: auto;
	}

	.workspace-sidebar {
		position: static;
	}

	.security-audit-hero,
	.build-preview-panel,
	.security-fix-hero {
		position: static;
	}

	.security-fix-explanation {
		grid-area: auto;
	}

	.workspace-meta-row,
	.security-audit-stats,
	.workspace-overview .stats-row {
		grid-template-columns: 1fr;
	}

	.cli-file-open-row {
		flex-direction: column;
		align-items: stretch;
	}
}

@media (max-width: 720px) {
	.console-shell .container {
		width: min(1560px, calc(100% - 1.5rem));
	}

	.console-overview,
	.console-column,
	.workspace-header {
		padding: 1.45rem;
	}

	.console-overview h1,
	.workspace-header h1 {
		max-width: none;
		font-size: clamp(1.7rem, 7vw, 2.2rem);
	}

	.console-header-actions,
	.overview-top,
	.column-head,
	.repo-card-top,
	.repo-card-meta,
	.brief-meta-row,
	.selected-repo-meta-row,
		.file-meta,
		.editor-toolbar,
		.assistant-form-actions,
		.assistant-mode-toggle,
		.diff-review-head,
		.assistant-status-row {
		flex-direction: column;
		align-items: flex-start;
	}

	.assistant-mode-toggle {
		border-radius: 1rem;
		width: 100%;
	}

	.assistant-scope-button {
		width: 100%;
	}

	.console-guide-card,
	.selected-repo-card,
	.brief-helper {
		padding: 0.9rem;
	}

	.console-guide-grid,
	.brief-helper-grid,
	.console-brain-strip {
		grid-template-columns: 1fr;
	}

	.repo-search {
		width: 100%;
		min-width: 0;
	}

	.repo-card-actions,
	.workspace-card-actions,
	.brief-actions,
	.file-meta-actions,
	.security-file-header {
		width: 100%;
	}

	.security-file-header {
		flex-direction: column;
	}

	.diff-review-actions {
		width: 100%;
		justify-content: flex-start;
	}
}
