/* ============================================================
 * contract-v3-full.css — Stage 1.1: structural classes
 * Источник: contract-v3.html (эталон)
 * Использует fallback на рабочие переменные, если --panel/--border/--muted
 * не определены в текущей теме.
 * ============================================================ */

/* ─── WORKSPACE / EDITOR ───────────────────────────────────── */
.workspace {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 16px;
  align-items: flex-start;
  padding: 0;
}
.editor-pane {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.editor-header {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  background: var(--panel, var(--bg-secondary));
  border: 1px solid var(--border, var(--border-color));
  border-radius: var(--radius, 12px) var(--radius, 12px) 0 0;
  border-bottom: none;
  font-size: 13px;
}
.editor {
  padding: 16px;
  background: var(--panel, var(--bg-primary));
  border: 1px solid var(--border, var(--border-color));
  border-radius: 0 0 var(--radius, 12px) var(--radius, 12px);
  min-height: 500px;
  outline: none;
  font-family: inherit;
  font-size: 14px;
  line-height: 1.55;
  color: var(--text, var(--text-primary));
  overflow-y: auto;
}
.editor:empty:before {
  content: attr(data-placeholder);
  color: var(--muted, var(--text-muted));
  pointer-events: none;
}

/* ─── SIDE PANEL ───────────────────────────────────────────── */
.side-panel {
  background: var(--panel, var(--bg-secondary));
  border: 1px solid var(--border, var(--border-color));
  border-radius: var(--radius, 12px);
  display: flex;
  flex-direction: column;
  max-height: calc(100vh - 200px);
  overflow: hidden;
  min-height: 400px;
}
.side-tabs {
  display: flex;
  border-bottom: 1px solid var(--border, var(--border-color));
  background: var(--bg-tertiary, var(--bg-secondary));
}
.side-tab {
  flex: 1;
  padding: 10px 8px;
  background: none;
  border: none;
  font-size: 12px;
  font-weight: 500;
  color: var(--muted, var(--text-muted));
  cursor: pointer;
  border-bottom: 2px solid transparent;
  transition: color .15s, border-color .15s;
}
.side-tab:hover { color: var(--text, var(--text-primary)); }
.side-tab.active {
  color: var(--accent);
  border-bottom-color: var(--accent);
}
.side-content {
  padding: 12px;
  overflow-y: auto;
  flex: 1;
}

/* ─── TOOLBAR ─────────────────────────────────────────────── */
.toolbar button {
  padding: 4px 10px;
  border-radius: 6px;
  border: 1px solid transparent;
  background: transparent;
  font-size: 13px;
  color: var(--text, var(--text-primary));
  cursor: pointer;
  transition: background .15s, color .15s;
}
.toolbar button:hover { background: var(--input, var(--bg-input, rgba(0,0,0,.05))); }
.toolbar .icon-btn {
  width: 32px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
}
.toolbar .icon-btn.active {
  background: var(--accent);
  color: #fff;
  border-color: var(--accent);
}
.toolbar .sep {
  width: 1px;
  height: 20px;
  background: var(--border, var(--border-color));
  margin: 0 4px;
}

/* ─── BADGES ──────────────────────────────────────────────── */
.mode-badge {
  padding: 2px 8px;
  border-radius: 12px;
  font-size: 11px;
  font-weight: 500;
  background: var(--yellow-bg, rgba(234,179,8,.15));
  color: var(--yellow, #ca8a04);
  border: 1px solid var(--yellow-border, rgba(234,179,8,.3));
}
.type-badge {
  padding: 4px 12px;
  border-radius: 30px;
  background: var(--accent-light, rgba(37,99,235,.1));
  color: var(--accent);
  font-size: 12px;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

/* ─── RESPONSIVE ──────────────────────────────────────────── */
@media (max-width: 900px) {
  .workspace { grid-template-columns: 1fr; }
  .side-panel { max-height: none; }
}

/* ============================================================
 * Stage 1.3 — side-panel content + risk card / comment / draft
 * Источник: contract-v3.css (эталон). Переменные адаптированы
 * под рабочие: --bg-secondary / --border-color / --text-muted /
 * --text-secondary / --accent.
 * ============================================================ */

/* ─── RISK SUMMARY ─────────────────────────────────────────── */
.risk-summary { display:flex; gap:6px; margin-bottom:10px }
.risk-summary .chip { flex:1; padding:8px; border-radius:8px; text-align:center; font-size:11px; font-weight:600 }
.risk-summary .chip.critical { background:#fecaca; color:#991b1b }
.risk-summary .chip.high     { background:#fef3c7; color:#92400e }
.risk-summary .chip.info     { background:#f3f4f6; color:#374151 }

/* ─── RISK CARD ────────────────────────────────────────────── */
.risk-card { border:1px solid var(--border-color); border-radius:8px; margin-bottom:8px; overflow:hidden }
.risk-card .rc-head { display:flex; align-items:flex-start; gap:8px; padding:10px 12px; cursor:pointer }
.risk-card .rc-level { width:6px; height:6px; border-radius:50%; margin-top:7px; flex-shrink:0 }
.risk-card .rc-level.critical { background:#dc2626 }
.risk-card .rc-level.high     { background:#ca8a04 }
.risk-card .rc-level.info     { background:#6b7280 }
.risk-card .rc-title { flex:1; font-size:13px; font-weight:500 }
.risk-card .rc-title small { display:block; font-weight:400; font-size:11px; color:var(--text-muted); margin-top:2px }
.risk-card .rc-check { width:18px; height:18px; accent-color:var(--accent); flex-shrink:0; margin-top:2px }
.risk-card .rc-body { display:none; padding:0 12px 12px 26px; font-size:12.5px; color:var(--text-secondary) }
.risk-card.open .rc-body { display:block }
.risk-card .rc-explain { margin-bottom:8px; line-height:1.5 }
.risk-card .rc-quote { margin:8px 0; padding:8px 10px; background:#f3f4f6; border-left:3px solid var(--border-color); font-size:12px; color:var(--text-secondary); font-style:italic; border-radius:4px }
.risk-card .rc-fix { padding:8px 10px; background:#f0fdf4; border-left:3px solid #22c55e; font-size:12px; border-radius:4px; margin-bottom:8px }
.risk-card .rc-actions { display:flex; gap:6px }
.risk-card .rc-actions button { padding:4px 10px; border-radius:6px; border:1px solid var(--border-color); background:var(--bg-secondary); font-size:11.5px; cursor:pointer }
.risk-card .rc-actions button:hover { border-color:var(--accent); color:var(--accent) }
.risk-card .rc-norm-link { color:var(--accent); text-decoration:none; font-size:11px; display:inline-flex; align-items:center; gap:2px; margin-bottom:6px }
.risk-card .rc-norm-link:hover { text-decoration:underline }

/* ─── RISK MARK (highlight) ─────────────────────────────────── */
.editor mark.risk-mark { background:rgba(220,38,38,.12); border-bottom:2px solid #dc2626; cursor:pointer; border-radius:2px; padding:1px 0 }
.editor mark.risk-mark:hover { background:rgba(220,38,38,.22) }

/* ─── COMMENT CARD ─────────────────────────────────────────── */
.comment-card { padding:10px; border:1px solid var(--border-color); border-radius:8px; margin-bottom:6px; font-size:12.5px }
.comment-card .cc-quote { font-style:italic; color:var(--text-muted); margin-bottom:4px; font-size:11.5px }
.comment-card .cc-body { color:var(--text-secondary) }
.editor .comment-mark { background:rgba(37,99,235,.08); border-bottom:2px dashed var(--accent); cursor:pointer }

/* ─── DRAFT ITEM ───────────────────────────────────────────── */
.draft-item { padding:10px; border:1px solid var(--border-color); border-radius:8px; margin-bottom:6px; cursor:pointer; display:flex; justify-content:space-between; align-items:center }
.draft-item:hover { border-color:var(--accent); background:var(--bg-input) }
.draft-item .di-title { font-weight:500; font-size:13px }
.draft-item .di-meta { font-size:11px; color:var(--text-muted) }

/* ─── MODAL ────────────────────────────────────────────────── */
.modal-bg { position:fixed; inset:0; background:rgba(15,23,42,.5); z-index:200; display:none; align-items:center; justify-content:center; padding:20px }
.modal-bg.active { display:flex }
.modal { background:var(--bg-secondary); border-radius:14px; box-shadow:0 20px 60px rgba(0,0,0,.3); max-width:520px; width:100%; max-height:90vh; overflow-y:auto }
.modal-head { padding:16px 22px 10px; display:flex; justify-content:space-between; align-items:center }
.modal-head h2 { font-size:17px; font-weight:600 }
.modal-head .close { background:none; border:none; font-size:22px; color:var(--text-muted); cursor:pointer }
.modal-body { padding:4px 22px 20px; display:flex; flex-direction:column; gap:10px }
.modal-body label { font-size:11px; text-transform:uppercase; letter-spacing:.3px; color:var(--text-muted); font-weight:600 }
.modal-body select, .modal-body input { width:100%; padding:10px 12px; border-radius:8px; border:1px solid var(--border-color); font:inherit; font-size:14px; background:var(--bg-secondary) }
.modal-body select:focus, .modal-body input:focus { outline:2px solid var(--accent); outline-offset:-2px; border-color:transparent }
.modal-body .row { display:flex; gap:8px; margin-top:4px }
.modal-body .row button { flex:1; height:40px; border-radius:8px; font-weight:500 }
.modal-body .row .primary { background:var(--accent); color:#fff; border:1px solid var(--accent) }
.modal-body .row .secondary { background:var(--bg-secondary); color:var(--text-secondary); border:1px solid var(--border-color) }

/* ─── APPLY-BAR (внутри side-content) ──────────────────────── */
.apply-bar { display:flex; gap:6px; margin-top:10px }
.apply-bar button { flex:1; padding:8px; border-radius:8px; border:1px solid var(--border-color); background:var(--bg-secondary); font-size:12px; cursor:pointer }
.apply-bar button.apply-sel { background:var(--bg-secondary); color:var(--text-secondary) }
.apply-bar button.apply-all { background:var(--accent); color:#fff; border-color:var(--accent) }
.apply-bar button:hover { opacity:.9 }

/* Stage 1.4: сохранение переводов строк в contenteditable как в textarea */
.editor {
  white-space: pre-wrap;
  word-wrap: break-word;
}

/* Stage 1.5 fix2: ID-специфичность против app.v2.css .toolbar {gap:12px} и button {padding} */
#editorToolbar {
  gap: 8px;
  padding: 8px 0;
  border-bottom: 1px solid var(--border-color);
  justify-content: space-between;
}
#editorToolbar .icon-btn {
  width: 32px;
  height: 32px;
  padding: 0;
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
}
#editorToolbar .sep {
  width: 1px;
  height: 20px;
  margin: 0 4px;
}

/* Stage 1.5 fix3: !important против app.v2.css (у которого !important) */
#editorToolbar {
  gap: 8px !important;
  padding: 8px 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--border-color) !important;
  justify-content: space-between !important;
}
#editorToolbar .icon-btn,
#editorToolbar button.icon-btn {
  width: 32px !important;
  min-width: 32px !important;
  max-width: 32px !important;
  height: 32px !important;
  min-height: 32px !important;
  max-height: 32px !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 15px !important;
}
#editorToolbar .sep {
  width: 1px !important;
  height: 20px !important;
  margin: 0 4px !important;
  flex-shrink: 0 !important;
}

/* Stage 1.6.6e: высокоспецифичный override #docContent.editor (специфичность 1,1,0 > 1,0,0 в app.v2.css) */
#docContent.editor {
  width: 100% !important;
  min-height: 500px !important;
  padding: 16px !important;
  font-family: inherit !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
  background: var(--panel, var(--bg-primary)) !important;
  border: 1px solid var(--border, var(--border-color)) !important;
  border-radius: 0 0 var(--radius, 12px) var(--radius, 12px) !important;
  outline: none !important;
  color: var(--text, var(--text-primary)) !important;
  white-space: pre-wrap !important;
}

/* Stage 1.8: эталонная структура — sticky toolbar как header страницы */
header.toolbar, #editorToolbar {
  background: var(--bg-secondary, var(--panel)) !important;
}
#editorToolbar .logo {
  font-weight: 700;
  font-size: 16px;
  color: var(--accent);
  margin-right: 8px;
}
#editorToolbar .sep {
  width: 1px;
  height: 20px;
  background: var(--border-color);
  margin: 0 4px;
  flex-shrink: 0;
}
#editorToolbar .icon-btn {
  width: 32px !important;
  height: 32px !important;
  padding: 0 !important;
  min-width: 32px !important;
  max-width: 32px !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 15px !important;
}
#editorToolbar button:not(.icon-btn) {
  height: 32px !important;
  padding: 0 10px !important;
  font-size: 13px !important;
  border: 1px solid var(--border-color) !important;
  border-radius: 6px !important;
  background: transparent !important;
  color: var(--text-primary) !important;
  cursor: pointer !important;
}
#editorToolbar button.primary {
  background: var(--accent) !important;
  color: #fff !important;
  border-color: var(--accent) !important;
}

.editor-pane { display: block !important; }
.editor-header {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 8px 12px !important;
  background: var(--bg-secondary) !important;
  border: 1px solid var(--border-color) !important;
  border-bottom: none !important;
  border-radius: 12px 12px 0 0 !important;
  font-size: 13px !important;
}
.editor-header .type-badge { padding: 2px 8px; border-radius: 30px; background: rgba(37,99,235,.1); color: var(--accent); font-size: 12px; }
.editor-header .mode-badge { padding: 2px 8px; border-radius: 12px; background: rgba(234,179,8,.15); color: #ca8a04; font-size: 11px; }
.editor-header span#typeUnknown { flex: 1; color: var(--text-muted); }
.editor-header span#saveStatus { color: var(--text-muted); font-size: 12px; }

#editor, #editor.editor {
  font-family: inherit !important;
  color: var(--text-primary) !important;
}

/* ===== STAGE 1.9 HARD FIX: принудительный layout и шрифты ===== */

/* 1. Workspace — всегда grid с двумя колонками */
main.workspace, .workspace {
  grid-template-columns: 1fr 380px !important;
  max-width: 1500px !important;
  margin: 0 auto !important;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
}

/* 2. Editor-pane — block, не flex */
.editor-pane {
  display: block !important;
  min-width: 0 !important;
}

/* 3. Side-panel — всегда справа (grid-элемент) */
.side-panel {
  display: flex !important;
  flex-direction: column !important;
  width: 380px !important;
  max-width: 380px !important;
  background: var(--bg-secondary) !important;
  border: 1px solid var(--border-color) !important;
  border-radius: 12px !important;
  max-height: calc(100vh - 200px) !important;
  overflow: hidden !important;
  position: sticky !important;
  top: 80px !important;
}

/* 4. Шрифты — Inter везде */
body, .workspace, .editor-pane, .side-panel, .toolbar, .editor-header, #editor, .modal, .modal-body, button, input, textarea {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
}
#editor, .editor {
  font-size: 14px !important;
  line-height: 1.7 !important;
}
.toolbar, .editor-header, .side-panel, .side-tab, .side-content {
  font-size: 13px !important;
}

/* 5. Editor-header — 4 бейджа в строку */
.editor-header {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 8px 12px !important;
  background: var(--bg-secondary) !important;
  border: 1px solid var(--border-color) !important;
  border-bottom: none !important;
  border-radius: 12px 12px 0 0 !important;
}

/* 6. Editor — contenteditable, правильная рамка */
#editor, #editor.editor {
  display: block !important;
  width: 100% !important;
  min-height: 60vh !important;
  padding: 24px 32px !important;
  background: var(--bg-primary, #fff) !important;
  border: 1px solid var(--border-color) !important;
  border-top: none !important;
  border-radius: 0 0 12px 12px !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
  outline: none !important;
  white-space: pre-wrap !important;
  overflow-y: auto !important;
}

/* 7. Toolbar — sticky сверху */
header.toolbar, #editorToolbar {
  height: 56px !important;
}

/* 8. Side-tabs — правильный вид */
.side-tabs {
  display: flex !important;
  border-bottom: 1px solid var(--border-color) !important;
  background: var(--bg-tertiary, var(--bg-secondary)) !important;
  padding: 0 !important;
  gap: 0 !important;
}
.side-tab {
  flex: 1 !important;
  padding: 10px 8px !important;
  background: none !important;
  border: none !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  color: var(--text-muted) !important;
  cursor: pointer !important;
  border-bottom: 2px solid transparent !important;
}
.side-tab.active {
  color: var(--accent) !important;
  border-bottom-color: var(--accent) !important;
}

/* ===== STAGE 1.10: ТОЧНЫЕ ШРИФТЫ И GRID КАК В ЭТАЛОНЕ ===== */

/* 1. body — системный шрифт, 14px */
html, body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  font-size: 14px !important;
}
body * {
  font-family: inherit !important;
}

/* 2. workspace — grid 1fr 400px, без сжатия родителем */
main.workspace, .workspace {
  display: grid !important;
  grid-template-columns: 1fr 400px !important;
  gap: 16px !important;
  align-items: flex-start !important;
  padding: 16px 20px 40px !important;
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  font-size: 14px !important;
}

/* 3. editor-pane — block */
.editor-pane {
  display: block !important;
  min-width: 0 !important;
}

/* 4. side-panel — sticky справа */
.side-panel {
  display: flex !important;
  flex-direction: column !important;
  width: 400px !important;
  max-width: 400px !important;
  background: var(--bg-secondary) !important;
  border: 1px solid var(--border-color) !important;
  border-radius: 12px !important;
  max-height: calc(100vh - 120px) !important;
  overflow: hidden !important;
  position: sticky !important;
  top: 60px !important;
}

/* 5. #editor — МОНОШИРИННЫЙ шрифт как в эталоне */
#editor, #editor.editor, .editor {
  font-family: "SF Mono", Consolas, "Courier New", monospace !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
  display: block !important;
  width: 100% !important;
  min-height: 60vh !important;
  padding: 24px 32px !important;
  background: var(--bg-primary, #fff) !important;
  border: 1px solid var(--border-color) !important;
  border-top: none !important;
  border-radius: 0 0 12px 12px !important;
  outline: none !important;
  white-space: pre-wrap !important;
  overflow-y: auto !important;
  color: var(--text-primary) !important;
}

/* 6. toolbar — sticky, 44px (как в эталоне) */
header.toolbar, #editorToolbar {
  position: sticky !important;
  top: 0 !important;
  z-index: 100 !important;
  height: 44px !important;
  min-height: 44px !important;
  max-height: 44px !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 0 16px !important;
  margin: 0 !important;
  background: var(--bg-secondary) !important;
  border: none !important;
  border-bottom: 1px solid var(--border-color) !important;
  border-radius: 0 !important;
  font-size: 13px !important;
}

/* 7. editor-header — 4 бейджа */
.editor-header {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 8px 12px !important;
  background: var(--bg-secondary) !important;
  border: 1px solid var(--border-color) !important;
  border-bottom: none !important;
  border-radius: 12px 12px 0 0 !important;
  font-size: 13px !important;
}

/* 8. side-tabs — правильный вид */
.side-tabs {
  display: flex !important;
  border-bottom: 1px solid var(--border-color) !important;
  background: var(--bg-tertiary, var(--bg-secondary)) !important;
  padding: 0 !important;
  gap: 0 !important;
}
.side-tab {
  flex: 1 !important;
  padding: 10px 8px !important;
  background: none !important;
  border: none !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  color: var(--text-muted) !important;
  cursor: pointer !important;
  border-bottom: 2px solid transparent !important;
}
.side-tab.active {
  color: var(--accent) !important;
  border-bottom-color: var(--accent) !important;
}

/* 10. Медиа-запрос: на узких экранах — одна колонка */
@media (max-width: 900px) {
  main.workspace, .workspace {
    grid-template-columns: 1fr !important;
  }
  .side-panel {
    width: 100% !important;
    max-width: 100% !important;
    position: static !important;
    max-height: none !important;
  }
}

/* ============================================================
 * UI PATCH v1
 * 1. Logo suffix " Договор" (in style of .logo)
 * 2. Editor empty-state placeholder
 * 3. Side panel empty-state placeholder
 * 4. Toolbar: compact edit buttons, push Drafts/Share right
 * 5. Common card frame around editor + side panel
 * ============================================================ */

/* 2. Editor placeholder */
#editor:empty::before {
  content: "Вставьте текст договора или нажмите «📝 Новый»...";
  color: #94a3b8;
  pointer-events: none;
  display: block;
  padding: 8px 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-style: italic;
}

/* 3. Side panel empty state */
#sideContent:empty::before {
  content: "Нажмите «Проверить» для анализа документа";
  color: #94a3b8;
  display: block;
  padding: 40px 20px;
  text-align: center;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-size: 13px;
  line-height: 1.5;
}

/* 4. Toolbar compact + grouping */
.toolbar { gap: 3px !important; }
.toolbar .icon-btn {
  width: 28px !important;
  min-width: 28px !important;
  padding: 0 !important;
  font-size: 14px !important;
}
#btnDrafts { margin-left: auto !important; }
#btnDrafts, #btnShare {
  padding: 0 10px !important;
  font-size: 12px !important;
}

/* UI PATCH v3 — font-weight как в эталоне */
.toolbar button:not(.primary) { font-weight: 400 !important; }
.toolbar button.primary { font-weight: 500 !important; }
.toolbar .logo { font-weight: 700 !important; font-size: 15px !important; }
.side-tabs .side-tab,
.side-tabs .side-tab.active { font-weight: 500 !important; }
.editor-header span { font-weight: 500 !important; }
.side-panel button { font-weight: 500 !important; }



/* UI PATCH v4 — workspace hero-like bg, uniform 20px padding & gap */
main.workspace, .workspace {
  background: linear-gradient(135deg, #f8fafc 0%, #f0fdfa 100%) !important;
  padding: 20px !important;
  gap: 20px !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 12px !important;
  box-shadow: 0 1px 3px rgba(15,23,42,0.04) !important;
  margin-top: 20px !important;
}
main.workspace .editor-pane, .workspace .editor-pane {
  background: var(--bg-primary) !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 8px !important;
  padding: 0 !important;
}
main.workspace .side-panel, .workspace .side-panel {
  border: 1px solid #e2e8f0 !important;
  border-radius: 8px !important;
  background: var(--bg-primary) !important;
}

/* UI PATCH v5 — toolbar в рамке, скругление как у workspace */
.toolbar {
  border: 1px solid #e2e8f0 !important;
  border-radius: 12px !important;
  background: var(--bg-primary) !important;
  box-shadow: 0 1px 3px rgba(15,23,42,0.04) !important;
  padding: 6px 16px !important;
}

/* UI PATCH v5 — badge типа не определён: нижняя линия как в эталоне */
.editor-header .typeUnknown,
.editor-header [class*="typeUnknown"],
.editor-header [class*="type-badge"],
.editor-header [class*="unknown"],
#typeUnknown,
#typeBadge,
.badge-unknown {
  border-bottom: 1px solid #cbd5e1 !important;
  padding-bottom: 2px !important;
}

/* UI PATCH v5 — все кнопки на белом фоне */
.toolbar button,
.toolbar .btn,
.toolbar .icon-btn,
.toolbar a.btn,
.side-tabs .side-tab,
.side-panel button {
  background: var(--bg-primary) !important;
  border: 1px solid #e2e8f0 !important;
  color: inherit !important;
}
.toolbar button:hover,
.toolbar .icon-btn:hover,
.side-tabs .side-tab:hover,
.side-panel button:hover {
  background: var(--bg-secondary) !important;
}
.side-tabs .side-tab.active {
  background: var(--bg-primary) !important;
  color: var(--accent, #14b8a6) !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.08) !important;
}
.toolbar button.primary {
  background: #14b8a6 !important;
  color: #ffffff !important;
  border-color: #14b8a6 !important;
}

/* ============================================================
 * FINAL v8 — минимум правил с правильной специфичностью.
 * Только то, что перебивается более специфичными селекторами.
 * ============================================================ */

/* Toolbar: id-специфичность (1,0,0) чтобы перебить #editorToolbar { border-radius: 0 } */
#editorToolbar {
  border: 1px solid #e2e8f0 !important;
  border-radius: 12px !important;
}

/* Editor pane: перебить main.workspace .editor-pane { radius: 8 } (0,2,1) */
main.workspace .editor-pane.editor-pane,
.workspace .editor-pane.editor-pane {
  border: 1px solid #e2e8f0 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
}

/* Editor header: убрать лишние стороны, оставить только bb, без radius (обрежется pane) */
main.workspace .editor-header.editor-header,
.workspace .editor-header.editor-header {
  border: 0 !important;
  border-bottom: 1px solid #e2e8f0 !important;
  border-radius: 0 !important;
}

/* Side panel: перебить main.workspace .side-panel { radius: 8 } (0,2,1) */
main.workspace .side-panel.side-panel,
.workspace .side-panel.side-panel {
  border: 1px solid #e2e8f0 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
}

/* Side tabs контейнер: убрать ВСЮ рамку (было top/left/right 1px + bb 1px !important) */
.side-panel .side-tabs,
.side-tabs {
  border: 0 !important;
  border-radius: 0 !important;
}

/* typeUnknown: перебить #typeUnknown { border-bottom: 1px !important } (1,0,0, source order раньше) */
#typeUnknown {
  border-bottom: 0 !important;
}

/* FIX v9.1 — убрать линию под табами. line была на .side-content border-top */
.side-content,
#sideContent {
  border-top: 0 !important;
}

/* FIX v9.2 — рамки табов темнее, чтобы были видны при zoom браузера */
.side-panel .side-tab,
.side-tabs .side-tab,
.side-tab {
  border: 1px solid #cbd5e1 !important;
}
.side-tab.active {
  border: 1px solid #14b8a6 !important;
}

/* FIX v9.3 — единый серый фон. workspace = #f8fafc как toolbar/editor-header/side-tabs */
.workspace {
  background: var(--bg-secondary) !important;
}
.toolbar,
.editor-header,
.side-tabs {
  background: var(--bg-secondary) !important;
}

/* FIX v10.1 — убрать градиент workspace полностью */
.workspace {
  background-image: none !important;
  background-color: var(--bg-secondary) !important;
}

/* FIX v10.2 — неактивные табы нейтральные, только active teal */
.side-panel .side-tab:not(.active),
.side-tabs .side-tab:not(.active) {
  border: 1px solid #cbd5e1 !important;
}
.side-tab.active {
  border: 1px solid #14b8a6 !important;
}

/* FIX v11.1 — убрать градиент workspace. Специфичность 0,2,0 = main.workspace.workspace */
main.workspace.workspace,
.workspace.workspace {
  background-image: none !important;
  background-color: var(--bg-secondary) !important;
}

/* FIX v11.2 — aside-stack объединяет side-panel + articles вертикально */
.aside-stack {
  grid-column: 2 / 3 !important;
}

/* Статьи — тот же вид что side-panel */
.side-panel-articles {
  border: 1px solid #e2e8f0 !important;
  border-radius: 12px !important;
  background: var(--bg-primary) !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  min-height: 0 !important;
}
.side-panel-articles .side-panel-articles-head {
  padding: 10px 14px !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  color: #64748b !important;
  display: flex !important;
  gap: 8px !important;
  align-items: center !important;
}
.side-panel-articles .side-panel-articles-head i {
  color: #14b8a6 !important;
  font-size: 14px !important;
}
.side-panel-articles .side-panel-articles-body {
  padding: 8px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  overflow-y: auto !important;
  flex: 1 1 auto !important;
}
.side-panel-articles .card-article-link {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
  padding: 8px 10px !important;
  border-radius: 8px !important;
  text-decoration: none !important;
  color: inherit !important;
  transition: background .15s !important;
  cursor: pointer !important;
}
.side-panel-articles .card-article-link:hover {
  background: var(--bg-secondary) !important;
}
.side-panel-articles .card-article-title {
  display: flex !important;
  gap: 8px !important;
  align-items: center !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--text-primary) !important;
  line-height: 1.3 !important;
}
.side-panel-articles .card-article-title i {
  color: #14b8a6 !important;
  font-size: 14px !important;
  flex-shrink: 0 !important;
}
.side-panel-articles .card-article-sub {
  font-size: 11px !important;
  color: #64748b !important;
  line-height: 1.3 !important;
  padding-left: 22px !important;
}

/* FIX v12.3 — заголовок «Полезные статьи» отличается от названий статей */
.side-panel-articles .side-panel-articles-head {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--text-primary) !important;
  padding: 12px 14px !important;
  border-bottom: 1px solid #e2e8f0 !important;
  background: var(--bg-secondary) !important;
  letter-spacing: -0.01em !important;
}
.side-panel-articles .side-panel-articles-head i {
  color: #14b8a6 !important;
  font-size: 16px !important;
}

/* FIX v12.2 — редактор выше, убрать пустое место под ним */
.workspace {
  align-items: stretch !important;
}
main.workspace .editor-pane,
.workspace .editor-pane {
  min-height: calc(100vh - 280px) !important;
  height: auto !important;
}
.editor-pane #editor {
  min-height: calc(100vh - 400px) !important;
}
.aside-stack {
  max-height: calc(100vh - 280px) !important;
  overflow-y: auto !important;
}

/* FIX v12.1 — футер: соцсети справа, копирайт/лок по краям */
.ftr-heads > h4:last-child {
  text-align: right !important;
}
.ftr-cols .ftr-soc {
  text-align: right !important;
  align-items: flex-end !important;
}
.ftr-cols .ftr-soc .ftr-slink {
  justify-content: flex-end !important;
  text-align: right !important;
}
.ftr-btm {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 12px !important;
}

/* FIX v12.4 — сайт шире. Перебиваем body .container (0,1,1) своим (0,1,1) с source order позже */
body .container,
body header .container,
body header .header-inner,
body main .container,
body main#app.container,
body footer .container {
  max-width: 1680px !important;
  padding-left: 32px !important;
  padding-right: 32px !important;
}
html body > footer .container,
html body > footer .footer-inner {
  max-width: 1680px !important;
  padding-left: 32px !important;
  padding-right: 32px !important;
}
/* #app и main#app — уже min(1700px) в app.v2, но padding был clamp(24..56). Ставим 32 */
main#app,
#app.container,
main.container {
  padding-left: 32px !important;
  padding-right: 32px !important;
}

/* FIX v13.3 — side-panel без sticky (причина наложения), sticky на aside-stack */
main.workspace .side-panel,
.workspace .side-panel,
.aside-stack .side-panel {
  position: static !important;
  top: auto !important;
}
.aside-stack {
  position: sticky !important;
  top: 80px !important;
  align-self: start !important;
}
/* Убрать «пустое место» внизу статей — контент по высоте */
.side-panel-articles .side-panel-articles-body {
  flex: 0 1 auto !important;
}

/* FIX v13.4 — header/footer container = 1680, как у #app */
html body > header .container,
html body > header .header-inner,
body > header .container,
body > header .header-inner {
  max-width: 1680px !important;
  width: 100% !important;
  padding-left: 32px !important;
  padding-right: 32px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}
html body > footer .container,
html body > footer .footer-inner,
body > footer .container,
body > footer .footer-inner,
html body > footer .ftr-cont {
  max-width: 1680px !important;
  width: 100% !important;
  padding-left: 32px !important;
  padding-right: 32px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}
/* ftp-cols и ftp-heads должны быть одинаковой ширины */
.ftr-cont .ftr-heads,
.ftr-cont .ftr-cols,
.ftr-cont .ftr-btm {
  width: 100% !important;
  box-sizing: border-box !important;
}

/* FIX v14.A — Полезные статьи заполняют пустое место под ними */
.aside-stack {
  position: static !important;
  top: auto !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 20px !important;
}
.side-panel-articles {
  flex: 1 1 auto !important;
}
.side-panel-articles .side-panel-articles-body {
  flex: 0 1 auto !important;
  overflow-y: auto !important;
}

/* FIX v14.B — убрать двойную границу снизу редактора */
main.workspace .editor-pane,
.workspace .editor-pane,
.editor-pane {
  border-bottom: 0 !important;
}
/* Расширить границу рабочей области вниз (убрать gap до footer) */
.workspace {
  margin-bottom: 0 !important;
  padding-bottom: 24px !important;
}

/* FIX v14.C — кнопки в шапке выровнены по высоте и ширине */
.toolbar .icon-btn {
  width: 34px !important;
  min-width: 34px !important;
  max-width: 34px !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* FIX v15.C — кнопки в шапке: все 34px, белый фон, текст по центру */
.toolbar button {
  height: 34px !important;
  min-height: 34px !important;
  max-height: 34px !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.toolbar .icon-btn,
.toolbar button.icon-btn {
  width: 34px !important;
  min-width: 34px !important;
  max-width: 34px !important;
  height: 34px !important;
  min-height: 34px !important;
  max-height: 34px !important;
  padding: 0 !important;
  font-size: 14px !important;
}
.toolbar button:not(.primary) {
  background: var(--bg-primary) !important;
  border: 1px solid #e2e8f0 !important;
  color: inherit !important;
}
.toolbar button:not(.primary):hover {
  background: var(--bg-secondary) !important;
  border-color: #cbd5e1 !important;
}
.toolbar button.primary {
  background: #14b8a6 !important;
  border: 1px solid #14b8a6 !important;
  color: #ffffff !important;
}

/* FIX v15.E — убрать border-bottom у editor-pane (специфичность 0,3,1) */
main.workspace.workspace .editor-pane.editor-pane,
main.workspace .editor-pane.editor-pane,
.workspace .editor-pane.editor-pane {
  border-bottom: 0 !important;
}
/* Растянуть editor-pane и aside-stack на одну высоту */
main.workspace.workspace .editor-pane,
main.workspace .editor-pane {
  align-self: stretch !important;
  height: auto !important;
  min-height: calc(100vh - 280px) !important;
}
.aside-stack {
  align-self: stretch !important;
  height: 100% !important;
  min-height: calc(100vh - 280px) !important;
}
.side-panel-articles {
  flex: 1 1 0 !important;
  min-height: 300px !important;
  max-height: none !important;
}

/* FIX v15.G — меню в шапке + выпадающий список */
.nav-menu-wrap { position: relative; display: inline-block; margin-left: 8px; }
.nav-menu-btn {
  height: 34px; padding: 0 14px;
  border: 1px solid #e2e8f0; background: var(--bg-primary); border-radius: 8px;
  font: inherit; font-size: 14px; color: var(--text-primary); cursor: pointer;
  display: inline-flex; align-items: center; gap: 6px; white-space: nowrap;
}
.nav-menu-btn:hover { background: var(--bg-secondary); border-color: #cbd5e1; }
.nav-menu-btn .caret { font-size: 10px; opacity: 0.6; }
.nav-menu-drop {
  display: none; position: absolute; top: calc(100% + 4px); right: 0;
  min-width: 260px; max-height: 70vh; overflow-y: auto;
  background: var(--bg-primary); border: 1px solid #e2e8f0; border-radius: 12px;
  box-shadow: 0 12px 40px rgba(15,23,42,0.12);
  padding: 8px; z-index: 9999;
}
.nav-menu-wrap.open .nav-menu-drop { display: block; }
.nav-menu-drop h5 {
  font-size: 11px; text-transform: uppercase; letter-spacing: 0.04em;
  color: #94a3b8; margin: 6px 8px 4px; padding: 0;
}
.nav-menu-drop a {
  display: block; padding: 6px 10px; border-radius: 6px;
  color: #334155; text-decoration: none; font-size: 13px;
}
.nav-menu-drop a:hover { background: #f1f5f9; color: var(--text-primary); }

/* FIX v16.C — кнопки: id-специфичность для перебивания #editorToolbar правил */
#editorToolbar button:not(.primary) {
  background: var(--bg-primary) !important;
  background-color: var(--bg-primary) !important;
  border: 1px solid #e2e8f0 !important;
  color: inherit !important;
}
#editorToolbar .icon-btn,
#editorToolbar button.icon-btn {
  height: 34px !important;
  min-height: 34px !important;
  max-height: 34px !important;
  width: 34px !important;
  min-width: 34px !important;
  max-width: 34px !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 14px !important;
  line-height: 1 !important;
}
#editorToolbar button:not(.icon-btn) {
  height: 34px !important;
  min-height: 34px !important;
  max-height: 34px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* FIX v16.D — градиент белый → светло-бирюзовый на hero--compact (Проверка договора) */
section.hero.hero--compact,
.hero.hero--compact,
.hero--compact {
  background: linear-gradient(135deg, #ffffff 0%, #f0fdfa 60%, #ccfbf1 100%) !important;
  border: 1px solid #e2e8f0 !important;
}

/* FIX v18.S — #sideContent: белый фон (убираем градиент) */
.side-panel .side-content,
.side-panel #sideContent,
.side-content,
#sideContent {
  background: var(--bg-primary) !important;
  background-color: var(--bg-primary) !important;
  background-image: none !important;
}


/* FIX v18.N — nav-menu: все <li> 34px, все <a> inline-flex центр */
nav ul.nav-menu {
  align-items: center !important;
}
nav ul.nav-menu > li {
  display: flex !important;
  align-items: center !important;
  height: 34px !important;
  min-height: 34px !important;
  max-height: 34px !important;
  padding: 0 !important;
  list-style: none !important;
}
nav ul.nav-menu > li > a {
  display: inline-flex !important;
  align-items: center !important;
  height: 34px !important;
  line-height: 1 !important;
  padding: 0 12px !important;
  box-sizing: border-box !important;
  color: inherit !important;
  text-decoration: none !important;
}
nav ul.nav-menu > li.nav-menu-item {
  height: 34px !important;
}
nav ul.nav-menu > li.nav-menu-item .nav-menu-btn {
  height: 34px !important;
  min-height: 34px !important;
  max-height: 34px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 14px !important;
  line-height: 1 !important;
  box-sizing: border-box !important;
}

/* FIX v18.HA — header-actions: все кнопки 34px центр */
.header-actions button,
.header-actions .btn,
.header-actions .theme-toggle {
  height: 34px !important;
  min-height: 34px !important;
  max-height: 34px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  line-height: 1 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  vertical-align: middle !important;
}
.header-actions .theme-toggle {
  width: 34px !important;
  min-width: 34px !important;
  max-width: 34px !important;
  padding: 0 !important;
}
.header-actions {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

/* FIX v19.S — side-panel: только внешняя рамка, табы с одной нижней линией */
.side-panel:not(.side-panel-articles) {
  border: 1px solid #e2e8f0 !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  outline: 0 !important;
  overflow: hidden !important;
}
.side-panel:not(.side-panel-articles) .side-tabs {
  border: 0 !important;
  border-bottom: 1px solid #e2e8f0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
}
.side-panel:not(.side-panel-articles) .side-tab {
  border: 1px solid #e2e8f0 !important;
  outline: 0 !important;
}
.side-panel:not(.side-panel-articles) .side-tab.active {
  border: 1px solid #14b8a6 !important;
}
.side-panel:not(.side-panel-articles) .side-tab::before,
.side-panel:not(.side-panel-articles) .side-tab::after,
.side-panel:not(.side-panel-articles) .side-tabs::before,
.side-panel:not(.side-panel-articles) .side-tabs::after {
  content: none !important;
  border: 0 !important;
  background: transparent !important;
}
.side-panel:not(.side-panel-articles) .side-content,
.side-panel:not(.side-panel-articles) #sideContent {
  border: 0 !important;
  border-top: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
}


/* FIX v20.SC — side-content: убрать ВСЕ 4 линии по отдельности (перебиваем более специфичные border-left/right/bottom) */
.side-panel:not(.side-panel-articles) .side-content,
.side-panel:not(.side-panel-articles) #sideContent,
.side-content,
#sideContent {
  border-top: 0 !important;
  border-top-width: 0 !important;
  border-bottom: 0 !important;
  border-bottom-width: 0 !important;
  border-left: 0 !important;
  border-left-width: 0 !important;
  border-right: 0 !important;
  border-right-width: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
}

/* FIX v20.TABS — табы с отступом, чтобы рамки не слипались */
.side-panel:not(.side-panel-articles) .side-tabs {
  display: flex !important;
  gap: 4px !important;
  padding: 8px !important;
  border-bottom: 1px solid #e2e8f0 !important;
}
.side-panel:not(.side-panel-articles) .side-tab {
  flex: 1 !important;
  border-radius: 6px !important;
  background: var(--bg-primary) !important;
  padding: 6px 8px !important;
  box-shadow: none !important;
}
.side-panel:not(.side-panel-articles) .side-tab.active {
  border-color: #14b8a6 !important;
  background: var(--bg-primary) !important;
  box-shadow: 0 1px 3px rgba(20,184,166,0.15) !important;
}




/* FIX v20.BTN — кнопки тулбара с градиентом (кроме primary «Проверить») */
#editorToolbar button:not(.primary) {
  background: linear-gradient(135deg, var(--bg-primary) 0%, var(--bg-secondary) 100%) !important;
  background-color: var(--bg-primary) !important;
  background-image: linear-gradient(135deg, var(--bg-primary) 0%, var(--bg-secondary) 100%) !important;
  border: 1px solid #e2e8f0 !important;
}
#editorToolbar button:not(.primary):hover {
  background: linear-gradient(135deg, #f8fafc 0%, #ccfbf1 100%) !important;
  background-image: linear-gradient(135deg, #f8fafc 0%, #ccfbf1 100%) !important;
  border-color: #14b8a6 !important;
}
/* Сохраняем teal для primary «Проверить» */
#editorToolbar button.primary {
  background: #14b8a6 !important;
  background-image: none !important;
  background-color: #14b8a6 !important;
  border: 1px solid #14b8a6 !important;
  color: #ffffff !important;
}

/* FIX v20.TG — табы side-panel с градиентом (неактивные), активный остаётся teal-border */
.side-panel:not(.side-panel-articles) .side-tab:not(.active) {
  background: linear-gradient(135deg, var(--bg-primary) 0%, var(--bg-secondary) 100%) !important;
  background-color: var(--bg-primary) !important;
  background-image: linear-gradient(135deg, var(--bg-primary) 0%, var(--bg-secondary) 100%) !important;
  border: 1px solid #cbd5e1 !important;
}
.side-panel:not(.side-panel-articles) .side-tab:not(.active):hover {
  background: linear-gradient(135deg, #f8fafc 0%, #ccfbf1 100%) !important;
  background-image: linear-gradient(135deg, #f8fafc 0%, #ccfbf1 100%) !important;
  border-color: #14b8a6 !important;
}

/* FIX v21.BTN — все кнопки тулбара с постоянным градиентом (без hover-изменения) */
#editorToolbar button,
#editorToolbar button:not(.primary),
#editorToolbar button.primary,
#editorToolbar .icon-btn,
#editorToolbar button.icon-btn {
  background: linear-gradient(135deg, var(--bg-primary) 0%, var(--bg-secondary) 100%) !important;
  background-color: var(--bg-primary) !important;
  background-image: linear-gradient(135deg, var(--bg-primary) 0%, var(--bg-secondary) 100%) !important;
  border: 1px solid #e2e8f0 !important;
  color: var(--text-primary) !important;
}
/* Hover — тот же градиент, только рамка темнее */
#editorToolbar button:hover,
#editorToolbar button:not(.primary):hover,
#editorToolbar button.primary:hover,
#editorToolbar .icon-btn:hover,
#editorToolbar button.icon-btn:hover,
#editorToolbar button:focus,
#editorToolbar button:active,
#editorToolbar button:focus-visible {
  background: linear-gradient(135deg, var(--bg-primary) 0%, var(--bg-secondary) 100%) !important;
  background-color: var(--bg-primary) !important;
  background-image: linear-gradient(135deg, var(--bg-primary) 0%, var(--bg-secondary) 100%) !important;
  border-color: #14b8a6 !important;
  color: var(--text-primary) !important;
  box-shadow: 0 1px 3px rgba(20,184,166,0.15) !important;
}

/* FIX v21.TABS — все табы с постоянным градиентом */
.side-panel:not(.side-panel-articles) .side-tab,
.side-panel:not(.side-panel-articles) .side-tab:not(.active),
.side-panel:not(.side-panel-articles) .side-tab.active {
  background: linear-gradient(135deg, var(--bg-primary) 0%, var(--bg-secondary) 100%) !important;
  background-color: var(--bg-primary) !important;
  background-image: linear-gradient(135deg, var(--bg-primary) 0%, var(--bg-secondary) 100%) !important;
  color: var(--text-primary) !important;
}
.side-panel:not(.side-panel-articles) .side-tab {
  border: 1px solid #cbd5e1 !important;
}
.side-panel:not(.side-panel-articles) .side-tab.active {
  border: 2px solid #14b8a6 !important;
  color: #0f766e !important;
  font-weight: 600 !important;
}
.side-panel:not(.side-panel-articles) .side-tab:hover,
.side-panel:not(.side-panel-articles) .side-tab:not(.active):hover,
.side-panel:not(.side-panel-articles) .side-tab:focus {
  background: linear-gradient(135deg, var(--bg-primary) 0%, var(--bg-secondary) 100%) !important;
  background-image: linear-gradient(135deg, var(--bg-primary) 0%, var(--bg-secondary) 100%) !important;
  border-color: #14b8a6 !important;
  color: var(--text-primary) !important;
}





/* FIX v23.HOVER — на hover/focus/active фон тот же, что base. Никакой смены. */
#editorToolbar button:hover,
#editorToolbar button:focus,
#editorToolbar button:active,
#editorToolbar button:focus-visible,
#editorToolbar button:not(.primary):hover,
#editorToolbar button.primary:hover,
#editorToolbar .icon-btn:hover,
#editorToolbar button.icon-btn:hover,
#editorToolbar button.icon-btn:focus {
  background: linear-gradient(135deg, var(--bg-primary) 0%, var(--bg-secondary) 100%) !important;
  background-color: var(--bg-primary) !important;
  background-image: linear-gradient(135deg, var(--bg-primary) 0%, var(--bg-secondary) 100%) !important;
}
.side-panel .side-tab:hover,
.side-panel .side-tab:focus,
.side-panel .side-tab:active,
.side-panel .side-tab:not(.active):hover,
.side-panel .side-tabs .side-tab:hover,
.side-panel .side-tabs .side-tab.active:hover {
  background: linear-gradient(135deg, var(--bg-primary) 0%, var(--bg-secondary) 100%) !important;
  background-color: var(--bg-primary) !important;
  background-image: linear-gradient(135deg, var(--bg-primary) 0%, var(--bg-secondary) 100%) !important;
}

/* FIX v26.GRAD — видимый градиент (белый → #ccfbf1) на кнопки тулбара и табы */
#editorToolbar button,
#editorToolbar button:not(.primary),
#editorToolbar button.primary,
#editorToolbar .icon-btn,
#editorToolbar button.icon-btn {
  background: linear-gradient(135deg, var(--bg-primary) 0%, var(--bg-secondary) 100%) !important;
  background-color: var(--bg-primary) !important;
  background-image: linear-gradient(135deg, var(--bg-primary) 0%, var(--bg-secondary) 100%) !important;
  color: var(--text-primary) !important;
  border: 1px solid #5eead4 !important;
}
#editorToolbar button:hover,
#editorToolbar button:focus,
#editorToolbar button:active,
#editorToolbar button:focus-visible,
#editorToolbar button.primary:hover,
#editorToolbar .icon-btn:hover,
#editorToolbar button.icon-btn:hover {
  background: linear-gradient(135deg, var(--bg-primary) 0%, var(--bg-secondary) 100%) !important;
  background-color: var(--bg-primary) !important;
  background-image: linear-gradient(135deg, var(--bg-primary) 0%, var(--bg-secondary) 100%) !important;
  color: var(--text-primary) !important;
  border-color: #14b8a6 !important;
}
.side-panel .side-tab,
.side-panel .side-tab:not(.active),
.side-panel .side-tab.active {
  background: linear-gradient(135deg, var(--bg-primary) 0%, var(--bg-secondary) 100%) !important;
  background-color: var(--bg-primary) !important;
  background-image: linear-gradient(135deg, var(--bg-primary) 0%, var(--bg-secondary) 100%) !important;
  color: var(--text-primary) !important;
  border: 1px solid #5eead4 !important;
}
.side-panel .side-tab.active {
  border: 2px solid #14b8a6 !important;
  color: #0f766e !important;
  font-weight: 600 !important;
}
.side-panel .side-tab:hover,
.side-panel .side-tab:not(.active):hover,
.side-panel .side-tab.active:hover {
  background: linear-gradient(135deg, var(--bg-primary) 0%, var(--bg-secondary) 100%) !important;
  background-image: linear-gradient(135deg, var(--bg-primary) 0%, var(--bg-secondary) 100%) !important;
  color: var(--text-primary) !important;
  border-color: #14b8a6 !important;
}





/* FIX v29.FTR — компактный футер (без изменения ширины колонок и шрифтов) */
body > footer,
footer {
  padding-top: 8px !important;
  padding-bottom: 6px !important;
}
.ftr-cont {
  padding-left: 32px !important;
  padding-right: 32px !important;
}
.ftr-heads {
  padding-bottom: 6px !important;
  margin-bottom: 6px !important;
}
.ftr-cols {
  margin-bottom: 10px !important;
}
.ftr-btm {
  padding-top: 10px !important;
  padding-bottom: 0 !important;
}
.ftr-heads > h4 {
  margin: 0 !important;
  padding: 0 0 4px 0 !important;
}
.ftr-col,
.ftr-col li {
  margin-bottom: 2px !important;
}
.ftr-col li a,
.ftr-slink {
  padding-top: 1px !important;
  padding-bottom: 1px !important;
  line-height: 1.4 !important;
}



/* ─── B2: #editorWrap — прозрачная обёртка (НЕ #editorContent, чтобы не конфликтовать со старым CSS) ─── */
#editorWrap { display: contents; }
