/* === TREE VIEW === */ .tree-view { padding: 20px; overflow-y: auto; height: 100%; display: none; } .tree-root { margin-bottom: 12px; } .tree-node { margin-left: 28px; } .tree-item { display: flex; align-items: center; padding: 10px 12px; cursor: pointer; border-radius: 8px; margin: 3px 0; transition: background 0.15s ease; } .tree-item:hover { background: var(--bg-card); } .tree-item.selected { background: rgba(124,138,255,0.15); } .tree-toggle { width: 24px; height: 24px; display: flex; align-items: center; justify-content: center; color: var(--text-muted); font-size: 1em; font-weight: bold; flex-shrink: 0; } .tree-checkbox { width: 20px; height: 20px; border-radius: 5px; background: var(--bg); border: 2px solid var(--border); margin-right: 12px; display: none; flex-shrink: 0; } .tree-checkbox.visible { display: block; } .tree-checkbox.checked { background: var(--accent); border-color: var(--accent); } .tree-img { width: 32px; height: 32px; border-radius: 6px; margin-right: 12px; object-fit: cover; flex-shrink: 0; background: var(--bg-card); } .tree-name { font-size: 0.9em; } .tree-children { display: none; } .tree-children.open { display: block; }