diff --git a/frontend/public/logo-tooltip.svg b/frontend/public/logo-tooltip.svg
new file mode 100644
index 000000000..2d53f287c
--- /dev/null
+++ b/frontend/public/logo-tooltip.svg
@@ -0,0 +1,4 @@
+
\ No newline at end of file
diff --git a/frontend/src/components/shared/QuickAccessBar.tsx b/frontend/src/components/shared/QuickAccessBar.tsx
index 22a49617e..4497a8975 100644
--- a/frontend/src/components/shared/QuickAccessBar.tsx
+++ b/frontend/src/components/shared/QuickAccessBar.tsx
@@ -213,6 +213,7 @@ const QuickAccessBar = ({
return (
{/* Fixed header outside scrollable area */}
diff --git a/frontend/src/components/shared/Tooltip.README.md b/frontend/src/components/shared/Tooltip.README.md
new file mode 100644
index 000000000..2ef438af3
--- /dev/null
+++ b/frontend/src/components/shared/Tooltip.README.md
@@ -0,0 +1,221 @@
+# Tooltip Component
+
+A flexible, accessible tooltip component that supports both regular positioning and special sidebar positioning logic with click-to-pin functionality. The tooltip is controlled by default, appearing on hover and pinning on click.
+
+## Features
+
+- 🎯 **Smart Positioning**: Automatically positions tooltips to stay within viewport bounds
+- 📱 **Sidebar Support**: Special positioning logic for sidebar/navigation elements
+- ♿ **Accessible**: Works with both mouse and keyboard interactions
+- 🎨 **Customizable**: Support for arrows, structured content, and custom JSX
+- 🌙 **Theme Support**: Built-in dark mode and theme variable support
+- ⚡ **Performance**: Memoized calculations and efficient event handling
+- 📜 **Scrollable**: Content area scrolls when content exceeds max height
+- 📌 **Click-to-Pin**: Click to pin tooltips open, click outside or the close button to unpin
+- 🔗 **Link Support**: Full support for clickable links in descriptions, bullets, and body content
+- 🎮 **Controlled by Default**: Always uses controlled state management for consistent behavior
+
+## Behavior
+
+### Default Behavior (Controlled)
+- **Hover**: Tooltips appear on hover with a small delay when leaving to prevent flickering
+- **Click**: Click the trigger to pin the tooltip open
+- **Click tooltip**: Pins the tooltip to keep it open
+- **Click close button**: Unpins and closes the tooltip (red X button in top-right when pinned)
+- **Click outside**: Unpins and closes the tooltip
+- **Visual indicator**: Pinned tooltips have a blue border and close button
+
+### Manual Control (Optional)
+- Use `open` and `onOpenChange` props for complete external control
+- Useful for complex state management or custom interaction patterns
+
+## Basic Usage
+
+```tsx
+import { Tooltip } from '@/components/shared';
+
+function MyComponent() {
+ return (
+
+
+
+ );
+}
+```
+
+## API Reference
+
+### Props
+
+| Prop | Type | Default | Description |
+|------|------|---------|-------------|
+| `content` | `ReactNode` | - | Custom JSX content to display in the tooltip |
+| `tips` | `TooltipTip[]` | - | Structured content with title, description, bullets, and optional body |
+| `children` | `ReactElement` | **required** | Element that triggers the tooltip |
+| `sidebarTooltip` | `boolean` | `false` | Enables special sidebar positioning logic |
+| `position` | `'right' \| 'left' \| 'top' \| 'bottom'` | `'right'` | Tooltip position (ignored if `sidebarTooltip` is true) |
+| `offset` | `number` | `8` | Distance in pixels between trigger and tooltip |
+| `maxWidth` | `number \| string` | `280` | Maximum width constraint for the tooltip |
+| `open` | `boolean` | `undefined` | External open state (makes component fully controlled) |
+| `onOpenChange` | `(open: boolean) => void` | `undefined` | Callback for external control |
+| `arrow` | `boolean` | `false` | Shows a small triangular arrow pointing to the trigger element |
+| `portalTarget` | `HTMLElement` | `undefined` | DOM node to portal the tooltip into |
+| `header` | `{ title: string; logo?: ReactNode }` | - | Optional header with title and logo |
+
+### TooltipTip Interface
+
+```typescript
+interface TooltipTip {
+ title?: string; // Optional pill label
+ description?: string; // Optional description text (supports HTML including tags)
+ bullets?: string[]; // Optional bullet points (supports HTML including tags)
+ body?: React.ReactNode; // Optional custom JSX for this tip
+}
+```
+
+## Usage Examples
+
+### Default Behavior (Recommended)
+
+```tsx
+// Simple tooltip with hover and click-to-pin
+
+
+
+
+// Structured content with tips
+Auto skips pages that already contain text.",
+ "Force re-processes every page.",
+ "Strict stops if text is found.",
+ "Learn more"
+ ]
+ }
+ ]}
+ header={{
+ title: "Basic Settings Overview",
+ logo:
+ }}
+>
+
+
+```
+
+### Custom JSX Content
+
+```tsx
+
+