Files
eveAI/nginx/static/assets/css/eveai.css
Josako 1fdbd2ff45 - Move global config files to globals iso global folder, as the name global conflicts with python language
- Creation of Traicie Vancancy Definition specialist
- Allow to invoke non-interaction specialists from withing Evie's mgmt interface (eveai_app)
- Improvements to crewai specialized classes
- Introduction to json editor for showing specialists arguments and results in a better way
- Introduction of more complex pagination (adding extra arguments) by adding a global 'get_pagination_html'
- Allow follow-up of ChatSession / Specialist execution
- Improvement in logging of Specialists (but needs to be finished)
2025-05-26 11:26:03 +02:00

914 lines
24 KiB
CSS

/*Overriding Colors*/
:root {
--bs-primary: #76599a;
--bs-secondary: #b14f9d;
--bs-success: #f8e1a9;
--bs-info: #423372;
--bs-warning: #eb7f31;
--bs-danger: #9c2d66;
}
/* Overriding the background gradient and text colors */
.bg-gradient-success {
background: linear-gradient(90deg, var(--bs-primary) 0%, var(--bs-secondary) 100%);
}
.shadow-success {
box-shadow: 0px 4px 20px 0px rgba(118, 89, 154, 0.5); /* Adjusting shadow color */
}
.border-radius-lg {
border-radius: 1rem; /* Assuming you want to keep the large border-radius */
}
.text-white {
color: #f8e1a9 !important; /* Adjust text to the EveAI success color */
}
.text-sm {
font-size: 0.875rem; /* Adjust size if needed, keeping original */
}
/* Override for the link with text-success and text-gradient classes */
.text-success {
color: var(--bs-primary) !important; /* Use EveAI primary color */
}
.text-gradient {
background-image: linear-gradient(90deg, var(--bs-primary), var(--bs-secondary));
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
.font-weight-bold {
font-weight: 700; /* Retain bold text */
}
/* Navbar customization */
.navbar-light .navbar-brand {
color: var(--bs-primary) !important; /* Primary color for the brand text */
}
.navbar-light .navbar-nav .nav-link {
color: var(--bs-secondary) !important; /* Secondary color for the nav links */
}
/* Ensure consistent alignment for all dropdown icons */
.navbar-nav .nav-link i.material-icons {
font-size: 24px; /* Ensures all icons are the same size */
vertical-align: middle; /* Align icons vertically with text */
margin-right: 8px; /* Space between icon and text */
line-height: 1; /* Prevents misalignment due to line-height issues */
}
.navbar-nav .nav-link {
display: flex;
align-items: center; /* Aligns icon and text vertically */
padding: 0; /* Remove any additional padding */
}
/* Adjust the size and spacing of the material-symbols-outlined icons */
.navbar-nav .nav-link .material-symbols-outlined {
font-size: 20px; /* Adjust the icon size */
vertical-align: middle; /* Ensure vertical alignment with text */
margin-right: 8px; /* Add space between the icon and the text */
line-height: 1; /* Maintain alignment */
}
.navbar-light .navbar-nav .nav-link:hover,
.navbar-light .navbar-nav .nav-link:focus {
color: var(--bs-primary) !important; /* Primary color on hover/focus */
}
.bg-white {
background-color: var(--bs-light) !important; /* Adjust the background to a custom light color if needed */
}
.btn.bg-gradient-primary {
background: linear-gradient(90deg, var(--bs-primary) 0%, var(--bs-secondary) 100%);
color: var(--bs-white) !important; /* Ensures text is readable on the gradient */
border: none;
}
.navbar-toggler .navbar-toggler-bar {
background-color: var(--bs-secondary); /* Adjusts color of the toggler bars */
}
.dropdown-menu {
background-color: var(--bs-light); /* Light background for dropdown */
border-radius: 0.375rem; /* Retains rounded corners */
}
.dropdown-item {
color: var(--bs-primary) !important; /* Primary color for dropdown items */
}
.dropdown-item:hover,
.dropdown-item:focus {
background-color: var(--bs-secondary) !important; /* Secondary color for hover/focus background */
color: var(--bs-white) !important; /* White text on hover/focus */
}
.btn.bg-gradient-primary {
background: linear-gradient(90deg, var(--bs-primary) 0%, var(--bs-secondary) 100%);
color: var(--bs-white) !important;
}
/* Page header customization */
.page-header {
background-size: cover;
background-position: center;
min-height: 25vh;
position: relative;
}
.page-header .mask {
background: linear-gradient(90deg, var(--bs-primary), var(--bs-secondary)) !important; /* Gradient overlay */
opacity: 0.8; /* Adjust opacity to let the background image show through */
}
.page-header h1 {
color: var(--bs-success) !important; /* Use the success color for the header text */
margin-top: -1.5rem; /* Adjusted margin to align text properly */
}
.page-header p.lead {
color: var(--bs-info) !important; /* Use the info color for the lead text */
padding-left: 1.5rem;
padding-right: 1.5rem;
}
/* Ensure consistent padding */
.page-header .container {
padding-top: 3rem;
padding-bottom: 3rem;
}
.page-header .col-lg-7 {
margin-top: -5rem; /* Adjust margin to improve vertical alignment */
}
/* Card and table customization */
.card {
border: 1px solid var(--bs-secondary) !important; /* Secondary color for the card border */
border-radius: 0.5rem; /* Keeps the border-radius consistent */
box-shadow: 0 4px 8px rgba(118, 89, 154, 0.2); /* Soft shadow with primary color */
}
.table {
color: var(--bs-body-color) !important; /* Ensure the text color matches the theme */
background-color: var(--bs-light) !important; /* Light background color */
border-collapse: separate !important; /* Ensure borders do not collapse */
border-spacing: 0; /* Remove spacing between table cells */
border-radius: 0.375rem; /* Rounded corners */
overflow: hidden; /* Ensure the rounded corners apply to the entire table */
border: 1px solid var(--bs-secondary) !important; /* Apply border with secondary color */
}
.table thead th {
color: var(--bs-info) !important; /* Info color for the table headers */
background-color: var(--bs-light) !important; /* Background for table headers */
border-bottom: 1px solid var(--bs-secondary) !important; /* Secondary color for the header bottom border */
}
/* Ensures corners are colored */
.table thead th:first-child {
border-top-left-radius: 0.375rem !important;
}
.table thead th:last-child {
border-top-right-radius: 0.375rem !important;
}
.table tbody tr:last-child td:first-child {
border-bottom-left-radius: 0.375rem !important;
}
.table tbody tr:last-child td:last-child {
border-bottom-right-radius: 0.375rem !important;
}
.table tbody tr {
border-top: 1px solid var(--bs-gray-300) !important; /* Subtle border between rows */
}
.table tbody tr:hover {
background-color: var(--bs-secondary) !important; /* Secondary color on row hover */
color: var(--bs-white) !important; /* White text on hover */
}
.table tbody tr:hover a,
.table tbody tr:hover p,
.table tbody tr:hover td {
color: var(--bs-white) !important; /* Ensure all text, links, and paragraphs change to white */
}
.table tbody tr:hover .text-xs {
color: var(--bs-white) !important; /* Ensure the smaller text also changes to white */
}
.table .text-xs {
color: var(--bs-body-color) !important; /* Consistent text color in the table cells */
}
input[type="radio"] {
accent-color: var(--bs-primary); /* Primary color for radio buttons */
}
/* Buttons customization */
.btn-primary {
background-color: var(--bs-primary) !important;
border-color: var(--bs-primary) !important;
color: var(--bs-white) !important;
}
.btn-secondary {
background-color: var(--bs-secondary) !important;
border-color: var(--bs-secondary) !important;
color: var(--bs-white) !important;
}
.btn-success {
background-color: var(--bs-warning) !important;
border-color: var(--bs-warning) !important;
color: var(--bs-white) !important;
}
/* Adjust the form group margin */
.form-group {
margin-top: 1.5rem; /* Adjust for better spacing */
}
/* Card footer customization */
.card-footer {
/*background-color: var(--bs-light) !important; !* Light background for the footer *!*/
padding-top: 1rem; /* Adjust padding for consistent spacing */
padding-bottom: 1rem; /* Adjust padding for consistent spacing */
/*border-top: 1px solid var(--bs-secondary) !important; !* Border with secondary color *!*/
padding-left: 0 !important;
padding-right: 0 !important;
}
.card-footer .pagination {
padding-left: 0 !important; /* Remove extra padding */
padding-right: 0 !important; /* Remove extra padding */
}
/* Pagination customization */
.pagination {
display: flex;
justify-content: center;
padding-left: 0;
list-style: none;
border-radius: 0.375rem;
margin-left: 0 !important;
margin-right: 0 !important;
padding-left: 0 !important; /* Add some padding inside the pagination */
padding-right: 0 !important; /* Add some padding inside the pagination */
}
.pagination .page-item {
margin-left: 0 !important;
margin-right: 0 !important;
}
.page-item.disabled .page-link {
color: var(--bs-gray-500) !important; /* Disabled state color */
background-color: var(--bs-gray-200) !important; /* Disabled state background */
border-color: var(--bs-gray-300) !important; /* Disabled state border */
}
.page-item.active .page-link {
z-index: 1;
color: var(--bs-white) !important; /* Active page color */
background-color: var(--bs-primary) !important; /* Active page background */
border-color: var(--bs-primary) !important; /* Active page border */
}
.page-item .page-link {
border-radius: 50% !important; /* Ensure circular buttons */
margin: 0 5px; /* Add some spacing between buttons */
}
.page-link {
color: var(--bs-primary) !important; /* Default link color */
background-color: var(--bs-light) !important; /* Light background for links */
border: 1px solid var(--bs-secondary) !important; /* Border with secondary color */
border-radius: 0.375rem; /* Rounded corners */
padding: 0.5rem 0.75rem;
margin: 0 0.25rem; /* Adjust margin for spacing */
}
.page-link:hover {
color: var(--bs-white) !important; /* Hover state text color */
background-color: var(--bs-secondary) !important; /* Hover state background */
border-color: var(--bs-secondary) !important; /* Hover state border */
}
.page-link i.fa {
margin-right: 0.25rem; /* Add spacing between icon and text */
}
/* Align text centrally */
.text-center {
text-align: center !important;
}
/* Form and Input Fields */
.form-group label.form-label {
color: var(--bs-secondary) !important; /* Secondary color for labels */
font-weight: 500; /* Slightly bolder labels */
}
.form-group:last-of-type {
margin-bottom: 2rem; /* Adjust this value to control spacing */
}
.form-control {
background-color: var(--bs-light) !important; /* Light background for input fields */
border-color: var(--bs-secondary) !important; /* Secondary color for borders */
color: var(--bs-body-color) !important; /* Text color consistent with the theme */
}
/* Style for both disabled and readonly fields - same gray background */
.form-control:disabled,
.form-control[readonly] {
background-color: var(--bs-gray-100) !important; /* Gray background */
color: var(--bs-gray-600) !important; /* Dimmed text color */
}
/* Light orange background for editable fields */
/* TODO
.form-control:not([readonly]):not(:disabled) {
background-color: #ffe4d6 !important;
}
*/
.form-check-input:checked {
background-color: var(--bs-primary) !important; /* Primary color for checked checkboxes */
border-color: var(--bs-primary) !important; /* Primary color for checkbox border */
}
.form-check-label {
color: var(--bs-body-color) !important; /* Consistent text color for check labels */
}
/* Tabs Navigation */
.nav-pills .nav-link {
color: var(--bs-primary) !important; /* Primary color for inactive tab text */
border-radius: 0.375rem !important; /* Rounded corners for tabs */
transition: background-color 0.3s ease, color 0.3s ease; /* Smooth transitions */
}
.nav-pills .nav-link.active {
background-color: var(--bs-primary) !important; /* Primary background for active tab */
color: var(--bs-white) !important; /* White text for active tab */
}
.nav-pills .nav-link:hover {
background-color: var(--bs-secondary) !important; /* Secondary background on hover */
color: var(--bs-white) !important; /* White text on hover */
}
/* Tabs Content */
.tab-pane {
padding-top: 1rem; /* Consistent padding inside tabs */
}
.moving-tab {
background-color: var(--bs-primary) !important; /* Primary color for the moving tab indicator */
}
/* Buttons */
.btn-primary:hover {
background-color: var(--bs-secondary) !important;
border-color: var(--bs-secondary) !important;
}
#copy-message {
color: var(--bs-success) !important; /* Success color for the copy message */
}
/* Danger Button Styling */
.btn-danger {
background-color: var(--bs-danger) !important; /* Use the danger color from the EveAI theme */
border-color: var(--bs-danger) !important;
color: var(--bs-white) !important; /* Ensure text is white for readability */
transition: background-color 0.3s ease, color 0.3s ease; /* Smooth transition on hover */
}
.btn-danger:hover {
background-color: darken(var(--bs-danger), 10%) !important; /* Darken the background on hover */
border-color: darken(var(--bs-danger), 10%) !important; /* Darken the border on hover */
color: var(--bs-white) !important; /* Ensure the text remains white and readable */
}
/* Success Alert Styling */
.alert-success {
background-color: var(--bs-success) !important; /* EveAI success background color */
color: var(--bs-dark) !important; /* Dark color for the text for better readability */
border-color: var(--bs-success) !important; /* Matching border color */
border-radius: 0.375rem; /* Rounded corners for the alert box */
padding: 1rem; /* Consistent padding */
box-shadow: 0px 4px 10px rgba(118, 89, 154, 0.2); /* Soft shadow for some depth */
}
.alert-success .alert-heading {
color: var(--bs-dark) !important; /* Ensure the heading stands out */
font-weight: 600; /* Slightly bolder heading */
}
.alert-success p {
margin-bottom: 0; /* Remove extra margin from paragraphs inside alerts */
}
.form-control {
border: 1px solid #d2d6da;
padding: 0.625rem 0.75rem;
}
.form-control:focus {
color: #495057;
background-color: transparent;
border-color: #d2d6da;
outline: 0;
box-shadow: none;
}
/* Custom styles for chat session view */
.accordion-button:not(.collapsed) {
background-color: var(--bs-primary);
color: var(--bs-white);
}
.accordion-button:focus {
box-shadow: 0 0 0 0.25rem rgba(118, 89, 154, 0.25);
}
.interaction-question {
font-size: 1rem; /* Normal text size */
}
.interaction-icons {
display: flex;
align-items: center;
}
.interaction-icons .material-icons {
font-size: 24px;
margin-left: 8px;
}
.thumb-icon.filled {
color: var(--bs-success);
}
.thumb-icon.outlined {
color: var(--thumb-icon-outlined);
}
/* Algorithm icon colors */
.algorithm-icon.rag_tenant {
color: var(--algorithm-color-rag-tenant);
}
.algorithm-icon.rag_wikipedia {
color: var(--algorithm-color-rag-wikipedia);
}
.algorithm-icon.rag_google {
color: var(--algorithm-color-rag-google);
}
.algorithm-icon.llm {
color: var(--algorithm-color-llm);
}
.accordion-body {
background-color: var(--bs-light);
}
/* Markdown content styles */
.markdown-content {
font-size: 1rem;
line-height: 1.5;
}
.markdown-content p {
margin-bottom: 1rem;
}
.markdown-content h1, .markdown-content h2, .markdown-content h3,
.markdown-content h4, .markdown-content h5, .markdown-content h6 {
margin-top: 1.5rem;
margin-bottom: 1rem;
}
.markdown-content ul, .markdown-content ol {
margin-bottom: 1rem;
padding-left: 2rem;
}
.markdown-content code {
background-color: #f8f9fa;
padding: 0.2em 0.4em;
border-radius: 3px;
}
.markdown-content pre {
background-color: #f8f9fa;
padding: 1rem;
border-radius: 5px;
overflow-x: auto;
}
/* Hide Select2's custom elements */
.select2-container-hidden {
position: absolute !important;
left: -9999px !important;
}
.select2-dropdown-hidden {
display: none !important;
}
/* Ensure the original select is visible and styled */
select.select2 {
display: block !important;
width: 100% !important;
height: auto !important;
padding: .375rem .75rem !important;
font-size: 1rem !important;
line-height: 1.5 !important;
color: #495057 !important;
background-color: #fff !important;
background-clip: padding-box !important;
border: 1px solid #ced4da !important;
border-radius: .25rem !important;
transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out !important;
}
/* Style for multiple select */
select.select2[multiple] {
height: auto !important;
}
/* REQUIRED FIELD SETTINGS ---------------------------------------------------- */
/* Required field indicator styling */
.field-label-wrapper {
display: flex;
align-items: baseline; /* Changed from center to baseline for proper text alignment */
gap: 0.25rem;
}
.required-field-indicator {
display: inline-flex;
align-items: baseline; /* Match the wrapper's alignment */
}
.required-field-indicator .required-icon {
font-size: 0.7rem;
transition: transform 0.2s ease-in-out;
opacity: 0.8;
line-height: 1; /* Ensure proper vertical alignment */
}
/* Hover animation */
.field-label-wrapper:hover .required-icon {
transform: scale(1.2);
opacity: 1;
}
/* Animation when field is invalid */
.is-invalid + .field-label-wrapper .required-icon {
color: var(--bs-danger);
animation: pulse 1s infinite;
}
@keyframes pulse {
0% {
transform: scale(1);
opacity: 0.8;
}
50% {
transform: scale(1.2);
opacity: 1;
}
100% {
transform: scale(1);
opacity: 0.8;
}
}
/* Hide visually but maintain accessibility */
.visually-hidden {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap;
border: 0;
}
/* TAB ERROR STYLES ----------------------------------------------------------- */
/* Style for tabs with errors */
.nav-link.has-error {
position: relative;
}
.nav-link.has-error::after {
content: '';
position: absolute;
top: 0;
right: 0;
width: 8px;
height: 8px;
background-color: var(--bs-danger);
border-radius: 50%;
transform: translate(50%, -50%);
}
/* Enhance the invalid field visualization */
.form-control:invalid {
border-color: var(--bs-danger);
box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
}
/* Add smooth transition for tab changes */
.tab-pane {
transition: opacity 0.15s linear;
}
.tab-pane.fade {
opacity: 0;
}
.tab-pane.fade.show {
opacity: 1;
}
.interaction-header {
font-size: 0.9rem;
display: flex;
flex-direction: column;
width: 100%;
padding: 0.5rem 0;
}
.interaction-metadata {
display: flex;
gap: 1rem;
align-items: center;
margin-bottom: 0.5rem;
}
.interaction-time {
font-size: 0.9rem;
}
.specialist-info {
display: flex;
gap: 0.5rem;
align-items: center;
}
.interaction-question {
font-size: 0.9rem;
font-weight: bold;
line-height: 1.4;
}
.badge {
font-size: 0.9rem;
padding: 0.35em 0.65em;
white-space: nowrap;
}
.accordion-button {
padding: 0.5rem 1rem;
}
.accordion-button::after {
margin-left: 1rem;
}
.list-group-item {
font-size: 0.9rem;
}
.material-icons {
font-size: 1.1rem;
}
/* Aanpassingen voor JSONEditor */
.json-editor-container {
height: 400px;
margin-bottom: 1rem;
border-radius: 8px;
overflow: hidden;
border: 1px solid #e9ecef;
}
/* Hoofdmenu styling */
.jsoneditor-menu {
background-color: #ee912e !important;
border-bottom: 1px solid #ee912e !important;
color: #495057 !important;
}
/* Speciaal voor read-only modus */
.jsoneditor-readonly-mode .jsoneditor-menu {
background-color: #ee912e !important;
border-bottom: 1px solid #ee912e !important;
}
/* Verberg bewerkingsknoppen in readonly mode, maar behoud expand/collapse knoppen */
.jsoneditor-readonly-mode .jsoneditor-modes,
.jsoneditor-readonly-mode button.jsoneditor-separator,
.jsoneditor-readonly-mode button.jsoneditor-repair,
.jsoneditor-readonly-mode button.jsoneditor-undo,
.jsoneditor-readonly-mode button.jsoneditor-redo,
.jsoneditor-readonly-mode button.jsoneditor-compact,
.jsoneditor-readonly-mode button.jsoneditor-sort,
.jsoneditor-readonly-mode button.jsoneditor-transform {
display: none !important;
}
/* Toon belangrijke navigatieknoppen in read-only modus */
.jsoneditor-readonly-mode .jsoneditor-expand-all,
.jsoneditor-readonly-mode .jsoneditor-collapse-all,
.jsoneditor-readonly-mode .jsoneditor-search {
display: inline-block !important;
}
/* Verberg alle bewerkingselementen in de tree-view */
.jsoneditor-readonly-mode td.jsoneditor-tree button.jsoneditor-button.jsoneditor-contextmenu-button {
visibility: hidden !important;
}
/* Behoud wel de expand/collapse knoppen in de tree */
.jsoneditor-readonly-mode td.jsoneditor-tree button.jsoneditor-button.jsoneditor-expanded,
.jsoneditor-readonly-mode td.jsoneditor-tree button.jsoneditor-button.jsoneditor-collapsed {
visibility: visible !important;
}
/* Knoppen in het menu */
.jsoneditor-menu button {
background-color: transparent !important;
color: #495057 !important;
border: none !important;
}
.jsoneditor-menu button:hover {
background-color: #e8a34d !important;
}
/* Mode selector (Tree ▾) */
.jsoneditor-modes button {
background-color: transparent !important;
color: #495057 !important;
border: none !important;
padding: 4px 10px !important;
}
.jsoneditor-modes button:hover {
background-color: #e8a34d !important;
}
/* Zoekbalk */
.jsoneditor-search {
background-color: transparent !important;
}
.jsoneditor-search input {
border: 1px solid #ced4da !important;
border-radius: 4px !important;
color: #495057 !important;
padding: 4px 8px !important;
}
.jsoneditor-search button {
background-color: transparent !important;
color: #495057 !important;
}
/* Binnengebied */
.jsoneditor-outer {
border: none !important;
background-color: #fff !important;
}
/* Tree view */
.jsoneditor-tree {
background-color: #fff !important;
color: #212529 !important;
}
/* Read-only tree achtergrond */
.jsoneditor-readonly-mode .jsoneditor-tree {
background-color: #f8f9fa !important;
}
/* Value & field styling */
div.jsoneditor-field, div.jsoneditor-value {
color: #212529 !important;
}
div.jsoneditor-value.jsoneditor-string {
color: #0d6efd !important; /* Bootstrap primary color voor strings */
}
div.jsoneditor-value.jsoneditor-number {
color: #198754 !important; /* Bootstrap success color voor getallen */
}
div.jsoneditor-value.jsoneditor-boolean {
color: #dc3545 !important; /* Bootstrap danger color voor booleans */
}
div.jsoneditor-value.jsoneditor-null {
color: #6c757d !important; /* Bootstrap secondary color voor null */
}
/* Expand/collapse knoppen */
.jsoneditor-button.jsoneditor-expanded,
.jsoneditor-button.jsoneditor-collapsed {
filter: brightness(0.8) !important;
}
/* Context menu buttons (drie puntjes) */
.jsoneditor-button.jsoneditor-contextmenu-button {
filter: brightness(0.8) !important;
}
/* Verberg context menu knoppen in read-only modus */
.jsoneditor-readonly-mode .jsoneditor-contextmenu-button {
display: none !important;
}
/* Hover effect op rijen */
.jsoneditor-tree tr:hover {
background-color: rgba(0, 123, 255, 0.05) !important;
}
/* Geselecteerde rij */
.jsoneditor-tree tr.jsoneditor-selected {
background-color: rgba(0, 123, 255, 0.1) !important;
}
/* Consistent font */
.jsoneditor, .jsoneditor-tree, div.jsoneditor-field, div.jsoneditor-value {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
font-size: 0.875rem !important;
}
/* Consistente separators */
td.jsoneditor-separator {
color: #6c757d !important;
}
/* Contextmenu indien nodig */
div.jsoneditor-contextmenu {
box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
border-radius: 4px !important;
border: 1px solid rgba(0, 0, 0, 0.15) !important;
}
div.jsoneditor-contextmenu ul li button {
color: #212529 !important;
}
div.jsoneditor-contextmenu ul li button:hover {
background-color: #f8f9fa !important;
}
/* Onzichtbare dragarea buttons verbergen voor een schoner uiterlijk */
.jsoneditor-button.jsoneditor-dragarea {
visibility: hidden !important;
}
/* Alleen tonen bij hover */
tr:hover .jsoneditor-button.jsoneditor-dragarea {
visibility: visible !important;
opacity: 0.6 !important;
}
/* Verberg de textarea met JSON-data */
.d-none {
display: none !important;
}
/* Zorg ervoor dat de JSONEditor goed zichtbaar is */
.jsoneditor {
width: 100% !important;
height: 100% !important;
border: none !important;
}