body{overflow:auto}

.discuss-layout{
  display:flex;margin-top:44px;height:calc(100vh - 44px);
}

/* --- Sidebar (дерево категорий) --- */
.sidebar{
  width:280px;min-width:280px;
  border-right:1px solid var(--border);
  background:var(--bg2);overflow-y:auto;
  display:flex;flex-direction:column;
}
.sidebar-search{padding:12px 12px 8px}
.sidebar-search input{width:100%}

.tree{flex:1;overflow-y:auto;padding:4px 0}
.tree-sector{
  font-size:11px;font-weight:500;
  color:var(--grpt);padding:8px 12px 4px;
  cursor:pointer;display:flex;align-items:center;gap:4px;
  user-select:none;
}
.tree-sector:hover{color:var(--text)}
.tree-sector .arrow{
  font-size:8px;transition:transform 0.2s;display:inline-block;
}
.tree-sector .arrow.open{transform:rotate(90deg)}
.tree-cats{display:none;padding-left:8px}
.tree-cats.open{display:block}
.tree-item{
  font-size:12px;padding:4px 12px 4px 20px;
  cursor:pointer;color:var(--text2);
  border-left:2px solid transparent;
  transition:all 0.1s;white-space:nowrap;
  overflow:hidden;text-overflow:ellipsis;
}
.tree-item:hover{background:var(--bg3);color:var(--text)}
.tree-item.active{border-left-color:var(--accent);color:var(--accent);background:var(--bg3)}
.tree-item .dot{
  display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:6px;
}
.tree-subitem{padding-left:32px;font-size:11px}
.tree-comment-count{
  font-size:9px;color:var(--text3);margin-left:auto;padding-right:8px;
  font-family:'JetBrains Mono',monospace;
}

/* --- Tabs --- */
.tabs{display:flex;border-bottom:1px solid var(--border);padding:0 16px;background:var(--bg2)}
.tab{
  font-size:12px;padding:10px 16px;cursor:pointer;
  color:var(--text2);border-bottom:2px solid transparent;
  transition:all 0.15s;
}
.tab:hover{color:var(--text)}
.tab.active{color:var(--accent);border-bottom-color:var(--accent)}

/* --- Main panel --- */
.main-panel{flex:1;display:flex;flex-direction:column;overflow:hidden}
.main-content{flex:1;overflow-y:auto;padding:20px 24px}

/* --- Category details --- */
.cat-header{margin-bottom:16px}
.cat-name{font-size:18px;font-weight:500;margin-bottom:4px}
.cat-meta{font-size:11px;color:var(--text3);font-family:'JetBrains Mono',monospace;margin-bottom:8px}
.cat-desc{font-size:13px;color:var(--text2);line-height:1.6;margin-bottom:8px}
.cat-examples{font-size:12px;color:var(--text2);margin-bottom:8px}
.cat-examples strong{color:var(--text);font-weight:500}
.cat-inherits{
  font-size:11px;color:var(--inht);background:var(--inhbg);
  padding:6px 10px;border-radius:5px;margin-bottom:12px;
  display:inline-block;
}

/* --- Comments --- */
.comments-section{margin-top:16px;border-top:1px solid var(--border);padding-top:16px}
.comments-title{font-size:13px;font-weight:500;margin-bottom:12px;color:var(--text2)}
.comment{
  background:var(--bg3);border:1px solid var(--border);
  border-radius:6px;padding:10px 12px;margin-bottom:8px;
}
.comment-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}
.comment-author{font-size:11px;font-weight:500;color:var(--accent)}
.comment-date{font-size:10px;color:var(--text3);font-family:'JetBrains Mono',monospace}
.comment-text{font-size:13px;color:var(--text2);line-height:1.5}
.comment-delete{
  font-size:9px;color:var(--danger);cursor:pointer;
  background:none;border:none;padding:2px 4px;
}

.comment-form{margin-top:12px}
.comment-form textarea{width:100%;margin-bottom:8px}

/* --- Proposals --- */
.proposal{
  background:var(--bg3);border:1px solid var(--border);
  border-radius:6px;padding:12px;margin-bottom:10px;
}
.proposal-header{display:flex;align-items:center;gap:8px;margin-bottom:6px;flex-wrap:wrap}
.proposal-name{font-size:14px;font-weight:500}
.proposal-meta{font-size:10px;color:var(--text3);margin-bottom:6px}
.proposal-desc{font-size:12px;color:var(--text2);margin-bottom:8px}
.proposal-actions{display:flex;gap:4px;margin-top:8px;flex-wrap:wrap}

.proposal-form{
  background:var(--bg3);border:1px solid var(--border);
  border-radius:6px;padding:16px;margin-bottom:16px;
}
.proposal-form h3{font-size:14px;margin-bottom:12px;font-weight:500}
.form-row{display:flex;gap:8px;margin-bottom:8px}
.form-row > *{flex:1}
.form-group{margin-bottom:8px}
.form-group label{font-size:10px;color:var(--text3);display:block;margin-bottom:3px}

/* --- Empty state --- */
.empty{
  text-align:center;padding:40px;color:var(--text3);font-size:13px;
}

/* --- Auth required message --- */
.auth-required{
  text-align:center;padding:20px;
  background:var(--bg3);border-radius:6px;
  margin-top:12px;
}
.auth-required p{font-size:12px;color:var(--text3);margin-bottom:8px}
