        .custom-header-input {
            width: 100%;
            height: 100%;
            border: 1px solid #3b82f6; /* blue-500 */
            background-color: #111827; /* bg-gray-900 */
            color: white;
            padding: 0 4px;
            box-sizing: border-box;
        }

        html { color-scheme: dark; } /* FIX: Force dark theme for browser UI like scrollbars */
        body { overflow-x: hidden; }
        .sidebar { transition: transform 0.3s ease-in-out; }
        .fab-menu button {
            transition: opacity 0.3s ease, transform 0.3s ease;
            transform: translateY(10px) scale(0.9);
            opacity: 0;
            pointer-events: none;
        }
        body.sidebar-open .sidebar {
            transform: translateX(0);
        }
        body.modal-open {
            overflow: hidden;
        }
        .fab-menu.open button {
            transform: translateY(0) scale(1);
            opacity: 1;
            pointer-events: auto;
        }
        .highlight-field, .highlight-field:focus-within {
            border: 2px solid #FBBF24 !important;
            box-shadow: 0 0 10px rgba(251, 191, 36, 0.5) !important;
            border-radius: 0.5rem;
        }
        .dropzone { transition: background-color 0.2s; min-height: 80px; }
        .dropzone.drag-over { background-color: rgba(59, 130, 246, 0.2); border-style: dashed; }
        .draggable { cursor: grab; }
        .draggable:active { cursor: grabbing; }
        .draggable.dragging { opacity: 0.5; }
        .drop-indicator { height: 4px; background-color: #3b82f6; border-radius: 2px; margin: 2px 0; }
        .tag-suggestions {
            position: absolute;
            width: 100%;
            max-height: 150px;
            overflow-y: auto;
            border: 1px solid #4A5568;
            border-top: none;
            border-radius: 0 0 0.5rem 0.5rem;
            z-index: 10;
        }
        .tag-suggestion-item {
            padding: 0.5rem 1rem;
            cursor: pointer;
            background-color: #2D3748;
        }
        .tag-suggestion-item:hover {
            background-color: #4A5568;
        }
        #main-content { transition: margin-left 0.3s ease-in-out; }
        /* FIX: Hamburger menu logic now applies margin on desktop when sidebar is open */
        @media (min-width: 1024px) {
            body.sidebar-open #main-content {
                margin-left: 16rem; /* 256px */
            }
        }
        
        /* --- AG-Grid Dark Theme Customization --- */
        .ag-theme-alpine-dark {
            --ag-background-color: #111827; /* bg-gray-900 */
            --ag-header-background-color: #1f2937; /* bg-gray-800 */
            --ag-odd-row-background-color: #1f2937; /* bg-gray-800 */
            --ag-row-hover-color: #374151; /* bg-gray-700 */
            --ag-foreground-color: #d1d5db; /* text-gray-300 */
            --ag-header-foreground-color: #ffffff;
            --ag-border-color: #374151; /* bg-gray-700 */
            --ag-cell-horizontal-border: 1px solid var(--ag-border-color);
            --ag-font-family: inherit;
            --ag-grid-size: 8px;
            --ag-list-item-height: 28px;
            --ag-range-selection-border-color: #3b82f6; /* blue-500 */
            --ag-range-selection-background-color: rgba(59, 130, 246, 0.2);
        }
        .quick-add-fields {
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.5s ease-in-out;
        }

        .quick-add-fields.expanded {
            max-height: 50vh; /* Обмежуємо висоту і додаємо скрол */
            overflow-y: auto;
        }
        .mention-link {
        color: #60a5fa; /* blue-400 */
        background-color: rgba(59, 130, 246, 0.1); /* blue-500 з прозорістю */
        padding: 0 4px;
        border-radius: 4px;
        text-decoration: none;
        font-weight: 500;
        cursor: pointer;
        border-bottom: 1px dotted #3b82f6;
        transition: all 0.2s;
        }

        .mention-link:hover {
            background-color: rgba(59, 130, 246, 0.2);
            color: #93c5fd; /* blue-300 */
        }

        .mention-link.type-word { border-color: #10b981; color: #34d399; background-color: rgba(16, 185, 129, 0.1); }
        .mention-link.type-phrase { border-color: #f59e0b; color: #fbbf24; background-color: rgba(245, 158, 11, 0.1); }
        .mention-link.type-table { border-color: #8b5cf6; color: #a78bfa; background-color: rgba(139, 92, 246, 0.1); }
        .entity-block {
            display: block;
            margin: 1rem 0;
            padding: 0.5rem;
            border: 1px dashed #4b5563; /* Пунктирна рамка, щоб видно було межі */
            border-radius: 0.5rem;
            background-color: rgba(31, 41, 55, 0.5);
        }

        /* При наведенні на блок в едіторі */
        .entity-block:hover {
            border-color: #60a5fa;
            background-color: rgba(31, 41, 55, 0.8);
        }
        html, body {
            height: 100%; /* Або 100dvh */
            width: 100%;
            overflow-x: hidden; /* Запобігає горизонтальному скролу */
            overscroll-behavior-y: none; /* Вимикає ефект "гумки" при скролі всієї сторінки (optional) */
        }