/* === KB Content Editor Styles === */

.kb-editor-top-bar {
	display: flex;
	gap: var(--size-4-3);
	align-items: flex-end;
	margin-bottom: var(--size-4-4);
}

.kb-editor-top-bar .input-wrapper {
	flex: 1;
	margin: 0;
}

/* Навигация вкладок по принципу DRY наследует стили от глобального .l-tabs-nav в layout.css */

/* Специфические настройки панелей редактора БЗ.
   Панели наследуют структуру высот от базового класса .l-panel */
:root .kb-editor-panel {
	gap: var(--size-4-2);
}

/* Обнуление внешних отступов элементов внутри панелей для точного контроля зазоров через gap */
:root .kb-editor-panel .input-wrapper {
	margin: 0;
}

:root .kb-editor-panel .formatting-toolbar {
	margin: 0;
}

:root .kb-editor-panel .button-grid {
	margin: 0;
}

/* Растягивание поля ввода textarea во всю высоту панели */
:root .kb-editor-panel .input-wrapper:not(.field-row):not(.is-readonly) {
	flex: 1;
	display: flex;
	flex-direction: column;
	min-height: 0;
}

:root .kb-editor-panel textarea {
	flex: 1;
	font-family: 'Play', 'Courier New', Courier, monospace;
	font-size: var(--font-size-paragraph);
	line-height: var(--line-height-normal);
	padding: var(--size-4-4);
	resize: none;
	border: var(--divider-width) solid var(--background-modifier-border);
	border-radius: var(--input-radius);
	background-color: var(--background-primary);
	color: var(--text-normal);
	min-height: 0;
	height: 100%;
}

/* Превью */
:root .kb-editor-panel .kb-editor-right-preview {
	flex: 1;
	border: var(--divider-width) solid var(--background-modifier-border);
	border-radius: var(--input-radius);
	background-color: var(--background-primary);
	padding: var(--size-4-5);
	overflow-y: auto;
	min-height: 0;
}

/* Однострочная flex-раскладка для readonly-полей в панелях редактора БЗ */
:root .kb-editor-panel .input-wrapper.is-readonly,
:root #kb_editor_panel_meta .input-wrapper.is-readonly {
	display: flex;
	flex-direction: row;
	align-items: baseline;
	gap: var(--size-4-2);
	flex: none;
}

:root .kb-editor-panel .input-wrapper.is-readonly label,
:root #kb_editor_panel_meta .input-wrapper.is-readonly label {
	margin-bottom: 0;
	flex-shrink: 0;
}

:root .kb-editor-panel .input-wrapper.is-readonly .readonly-value,
:root #kb_editor_panel_meta .input-wrapper.is-readonly .readonly-value {
	flex: 1;
	min-width: 0;
	padding: 0;
}

/* Предотвращение сжатия спойлера flex-контейнером */
:root .kb-editor-panel .ui-spoiler {
	flex: none;
}

/* Двухколоночный макет для вкладки редактирования (повышенная специфичность) */
:root .kb-editor-panel.kb-editor-edit-layout {
	display: flex;
	flex-direction: row;
	gap: var(--size-4-4);
	flex: 1;
	min-height: 15rem;
}

:root .kb-editor-panel.kb-editor-edit-layout .kb-editor-edit-main {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: var(--size-4-2);
	min-width: 0;
	height: 100%;
}

:root .kb-editor-panel.kb-editor-edit-layout .kb-editor-edit-main .input-wrapper:not(.field-row):not(.is-readonly) {
	flex: 1;
	display: flex;
	flex-direction: column;
	min-height: 0;
}

:root .kb-editor-panel.kb-editor-edit-layout .kb-editor-edit-main textarea {
	flex: 1;
	min-height: 0;
	height: 100%;
}

:root .kb-editor-linter-sidebar {
	width: 320px;
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	min-width: 0;
	height: 100%;
}

:root .kb-editor-linter-sidebar.hidden {
	display: none;
}

/* Стилизация результатов проверки с использованием системных токенов */
.kb-editor-linter-results {
	flex: 1;
	padding: var(--size-4-3);
	background-color: var(--background);
	border: var(--divider-width) solid var(--background-modifier-border);
	border-radius: var(--radius-m);
	overflow-y: auto;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: var(--size-4-2);
}

.linter-heading {
	margin-top: 0;
}

.linter-item {
	padding: var(--size-4-2) var(--size-4-3);
	border-radius: var(--radius-s);
	border-left: 4px solid transparent;
	background-color: var(--background-secondary);
	transition: background-color 0.15s, border-color 0.15s;
}

.linter-item.warning {
	border-left-color: var(--status-warning);
}

.linter-item.error {
	border-left-color: var(--status-error);
}

.linter-item[data-line] {
	cursor: pointer;
}

.linter-item[data-line]:hover {
	background-color: var(--background-modifier-hover);
}

.linter-item-msg {
	/* Наследует обычный вес шрифта (400) от body */
	font-size: var(--font-size-paragraph);
}

.linter-item-tip {
	margin-top: var(--size-4-1);
	margin-bottom: 0;
}

/* Гарантированное скрытие неактивных панелей (повышенная специфичность + приоритет расположения) */
:root .l-panel.hidden,
:root .l-panel-scrollable.hidden,
:root #kb_editor_panel_meta.hidden {
	display: none;
}