/*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; 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: var(--bs-secondary) !important; border-color: var(--bs-secondary) !important; 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; } /* JSON Editor Styling - EveAI Aanpassingen ---------------------------------------------------- */ :root { /* Hoofdkleuren gebaseerd op EveAI kleurenschema */ --jse-theme-color: var(--bs-primary); /* Paars als hoofdkleur */ --jse-theme-color-highlight: var(--bs-secondary); /* Secundair paars voor highlights */ /* Achtergrondkleuren */ --jse-background-color: #fff; --jse-panel-background: #f8f9fa; --jse-panel-border: 1px solid var(--bs-secondary); --jse-panel-border-radius: 0.375rem; /* Tekstkleuren */ --jse-text-color: var(--bs-body-color); --jse-text-color-inverse: #ffffff; /* Navigatie */ --jse-navigation-bar-background: linear-gradient(90deg, var(--bs-primary) 0%, var(--bs-secondary) 100%); --jse-navigation-bar-background-highlight: var(--bs-secondary); --jse-navigation-bar-text-color: #ffffff; /* Status balk */ --jse-status-bar-background: var(--bs-light); --jse-status-bar-color: var(--bs-body-color); --jse-status-bar-border: 1px solid var(--bs-secondary); --jse-status-bar-border-radius: 0 0 0.375rem 0.375rem; /* Main menu bar */ --jse-main-menu-background: linear-gradient(90deg, var(--bs-primary) 0%, var(--bs-secondary) 100%); --jse-main-menu-color: #ffffff; --jse-main-menu-button-background-highlight: var(--bs-secondary); --jse-main-menu-button-color-highlight: #ffffff; /* Contextmenu */ --jse-context-menu-background: #fff; --jse-context-menu-background-highlight: var(--bs-secondary); --jse-context-menu-color: var(--bs-body-color); --jse-context-menu-color-highlight: #ffffff; --jse-context-menu-border: 1px solid var(--bs-secondary); --jse-context-menu-box-shadow: 0 4px 8px rgba(118, 89, 154, 0.2); --jse-context-menu-border-radius: 0.375rem; /* Knoppen */ --jse-button-background: var(--bs-primary); --jse-button-background-highlight: var(--bs-secondary); --jse-button-color: #ffffff; --jse-button-color-highlight: #ffffff; --jse-button-border-radius: 0.375rem; /* JSON Tree Mode */ --jse-key-color: var(--bs-info); --jse-delimiter-color: #666; --jse-string-color: var(--bs-primary); --jse-number-color: var(--bs-warning); --jse-boolean-color: var(--bs-danger); --jse-null-color: #888; --jse-invalid-color: #e0b4b4; --jse-readonly-color: #888; --jse-readonly-background-color: #f0f0f0; /* Selectie */ --jse-selection-background-color: rgba(118, 89, 154, 0.2); --jse-selection-background-inactive-color: rgba(118, 89, 154, 0.1); /* Foutmeldingen */ --jse-error-color: var(--bs-danger); --jse-error-background-color: rgba(156, 45, 102, 0.1); /* Tooltips */ --jse-tooltip-background: var(--bs-primary); --jse-tooltip-color: #ffffff; --jse-tooltip-border-radius: 0.375rem; --jse-tooltip-box-shadow: 0 4px 8px rgba(118, 89, 154, 0.2); } /* Extra stijlen voor de containers */ .jsoneditor-initialized { border: 1px solid var(--bs-secondary); border-radius: 0.375rem; min-height: 300px; box-shadow: 0 4px 8px rgba(118, 89, 154, 0.1); } .jsoneditor-readonly-mode { background-color: var(--bs-light); } /* Stijlen voor de knoppen in de editor */ .jse-button { border: none !important; transition: background-color 0.3s ease; } /* Stijlen voor veldlabels in de boom */ .jse-tree .jse-key { font-weight: 500; } /* Stijlen voor waarden in de boom */ .jse-tree .jse-value { font-family: monospace; } /* Verbeter de leesbaarheid van de tekstmodus */ .jse-text-mode { font-family: monospace; line-height: 1.5; } /* Tabulator styling / ordered_list ------------------------------------------------------------ */ .ordered-list-editor { margin-bottom: 1rem; min-height: 200px; /* Minimum height, will expand as needed */ } /* Make sure the Tabulator container has a proper height */ .ordered-list-editor .tabulator { height: auto; /* Auto height to display all rows */ min-height: 200px; /* Minimum height */ width: 100%; border: 1px solid var(--bs-primary); /* Primary color for border */ border-radius: 0.375rem; /* Match application's border-radius */ margin-bottom: 0.5rem; box-shadow: 0 4px 8px rgba(118, 89, 154, 0.2); /* Match application's shadow style */ } /* Ensure the table holder has a scrollbar */ .ordered-list-editor .tabulator-tableholder { /* overflow-y: auto !important; - Removed to allow Tabulator to handle overflow */ /* max-height: calc(100% - 42px) !important; - Removed to allow Tabulator to handle height */ /* Consider using non-!important values if specific scrolling behavior is needed */ overflow-y: auto; max-height: calc(100% - 42px); } /* Style for the table element */ .ordered-list-editor .tabulator-table { display: table !important; /* Force display as table */ width: 100% !important; table-layout: fixed !important; /* Use fixed table layout for consistent column widths */ } /* Style for the handle column */ .ordered-list-editor .tabulator-row-handle { cursor: move; background-color: var(--bs-light, #f8f9fa); border-right: 1px solid var(--bs-gray-300, #dee2e6); transition: background-color 0.3s ease; /* Smooth transition for hover effect */ } /* Hover effect for handle column */ .ordered-list-editor .tabulator-row:hover .tabulator-row-handle { background-color: var(--bs-secondary); /* Secondary color on hover */ } /* Style for the handle bars to make them more visible */ .ordered-list-editor .tabulator-row-handle-box { display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100%; } .ordered-list-editor .tabulator-row-handle-bar { background: var(--bs-primary); /* Primary color for handle bars */ display: inline-block; width: 10px; height: 2px; margin: 1px 0; transition: background-color 0.3s ease; /* Smooth transition for hover effect */ } /* Change handle bar color on hover */ .ordered-list-editor .tabulator-row:hover .tabulator-row-handle-bar { background: #ffffff; /* White handle bars on hover */ } /* Style for the delete button */ .ordered-list-editor .tabulator-cell button.btn-danger { padding: 0.25rem 0.5rem; font-size: 0.75rem; } /* Style for boolean columns */ .ordered-list-editor .tabulator-cell[data-type="boolean"] { text-align: center; } /* Style for boolean cell icons */ .ordered-list-editor .tabulator-cell .material-icons { font-size: 1.2rem; vertical-align: middle; } /* Style for true/checked icons */ .ordered-list-editor .tabulator-cell[aria-checked="true"] .material-icons { color: var(--bs-primary); /* Primary color for checked state */ } /* Style for false/unchecked icons */ .ordered-list-editor .tabulator-cell[aria-checked="false"] .material-icons { color: var(--bs-danger); /* Danger color for unchecked state */ } /* Style for the table header */ .ordered-list-editor .tabulator-header { background: linear-gradient(90deg, var(--bs-primary) 0%, var(--bs-secondary) 100%); /* Match JSE gradient */ border-bottom: 2px solid var(--bs-secondary); /* Secondary color for border */ color: #ffffff; /* White text for better contrast on gradient */ } /* Style for the headers container */ .ordered-list-editor .tabulator-headers { display: table-row !important; /* Force display as table row */ } /* Style for the header cells */ .ordered-list-editor .tabulator-col { background: transparent; /* Let the header gradient show through */ padding: 8px; font-weight: bold; text-align: center; display: table-cell !important; /* Force display as table cell */ box-sizing: border-box !important; /* Include padding in width calculation */ position: relative !important; /* Ensure proper positioning */ color: #ffffff; /* White text for better contrast on gradient */ } /* Override any inline styles that might hide column headers */ .ordered-list-editor .tabulator-col[style*="display: none"] { display: table-cell !important; /* Force display as table cell */ } /* Ensure header cells have the same width as their corresponding data cells */ .ordered-list-editor .tabulator-col, .ordered-list-editor .tabulator-cell { } /* Style for the header cell content */ .ordered-list-editor .tabulator-col-title { white-space: normal; /* Allow header text to wrap */ word-break: break-word; /* Break words to prevent horizontal overflow */ font-weight: bold; color: #ffffff; /* White text for better contrast on gradient */ } /* Style for the table rows */ .ordered-list-editor .tabulator-row { border-bottom: 1px solid var(--bs-gray-300, #dee2e6); /* Match application's row border color */ display: table-row !important; /* Force display as table row */ } /* Hover effect for rows */ .ordered-list-editor .tabulator-row:hover { background-color: var(--bs-secondary) !important; /* Secondary color on hover */ color: #ffffff !important; /* White text on hover */ } /* Ensure all text in hovered rows changes to white */ .ordered-list-editor .tabulator-row:hover .tabulator-cell, .ordered-list-editor .tabulator-row:hover .tabulator-cell * { color: #ffffff !important; /* White text for all elements in hovered rows */ } /* Style for even rows */ .ordered-list-editor .tabulator-row-even { background-color: #f8f9fa; /* Light gray for even rows */ } /* Style for odd rows */ .ordered-list-editor .tabulator-row-odd { background-color: #ffffff; /* White for odd rows */ } /* Style for selected rows */ .ordered-list-editor .tabulator-row.tabulator-selected { background-color: var(--bs-primary) !important; /* Primary color for selected rows */ color: #ffffff !important; /* White text for contrast */ } /* Style for row being moved */ .ordered-list-editor .tabulator-row.tabulator-moving { background-color: var(--bs-primary) !important; /* Primary color for moving rows */ color: #ffffff !important; /* White text for contrast */ border: 2px dashed var(--bs-secondary) !important; /* Dashed border to indicate movement */ opacity: 0.9 !important; /* Slightly transparent to distinguish from other rows */ box-shadow: 0 0 10px rgba(118, 89, 154, 0.5) !important; /* Shadow for depth */ z-index: 100 !important; /* Ensure it appears above other rows */ pointer-events: none !important; /* Allow events to pass through to elements below */ transform: scale(1.02) !important; /* Slightly larger to stand out */ transition: transform 0.2s ease !important; /* Smooth transition */ } /* Style for cells in the row being moved */ .ordered-list-editor .tabulator-row.tabulator-moving .tabulator-cell { color: #ffffff !important; /* Ensure text is white for contrast */ background-color: transparent !important; /* Use the row's background color */ border-color: transparent !important; /* Hide cell borders */ display: table-cell !important; /* Ensure cells are visible */ overflow: visible !important; /* Show all content */ } /* Style for the moving element (the ghost row that follows the cursor) */ .tabulator-moving-element { background-color: var(--bs-primary) !important; /* Primary color for moving element */ color: #ffffff !important; /* White text for contrast */ border: 2px dashed var(--bs-secondary) !important; /* Dashed border to indicate movement */ opacity: 0.9 !important; /* Slightly transparent */ box-shadow: 0 0 15px rgba(118, 89, 154, 0.7) !important; /* Stronger shadow for better visibility */ border-radius: 0.375rem !important; /* Rounded corners */ overflow: visible !important; /* Show all content */ width: auto !important; /* Allow width to adjust to content */ max-width: none !important; /* Don't limit width */ pointer-events: none !important; /* Allow events to pass through */ display: table !important; /* Ensure it's displayed as a table */ table-layout: fixed !important; /* Fixed table layout for consistent cell widths */ } /* Style for cells in the moving element */ .tabulator-moving-element .tabulator-cell, .tabulator-moving-element .tabulator-row .tabulator-cell { color: #ffffff !important; /* White text for contrast */ background-color: transparent !important; /* Use the row's background color */ border-color: transparent !important; /* Hide cell borders */ display: table-cell !important; /* Ensure cells are visible */ overflow: visible !important; /* Show all content */ padding: 8px !important; /* Consistent padding */ white-space: normal !important; /* Allow text to wrap */ word-break: break-word !important; /* Break words to prevent overflow */ font-size: 0.85rem !important; /* Consistent font size */ vertical-align: middle !important; /* Center content vertically */ } /* Style for the active moving element */ .tabulator-moving-element-active { opacity: 1 !important; /* Fully opaque when active */ transform: scale(1.05) !important; /* Slightly larger when active */ box-shadow: 0 0 20px rgba(118, 89, 154, 0.8) !important; /* Stronger shadow when active */ z-index: 1000 !important; /* Higher z-index to ensure it's on top */ } /* Style for the table cells */ .ordered-list-editor .tabulator-cell { padding: 8px; white-space: normal; /* Allow text to wrap */ overflow: visible; /* Show overflowing content */ height: auto !important; /* Allow cell to grow as needed */ word-break: break-word; /* Break words to prevent horizontal overflow */ display: table-cell !important; /* Force display as table cell */ scroll-margin-top: 100px; /* Prevent unwanted scrolling when focusing */ scroll-behavior: auto; /* Disable smooth scrolling which might cause jumping */ font-size: 0.85rem; /* Smaller font size */ } /* Style for truncated cells */ .ordered-list-editor .truncated-cell { position: relative; padding-right: 20px; } .ordered-list-editor .truncated-content { white-space: normal; word-break: break-word; } .ordered-list-editor .show-more { position: absolute; right: 0; top: 50%; transform: translateY(-50%); color: var(--bs-primary); /* Use primary color for the show more indicator */ cursor: pointer; transition: color 0.3s ease; /* Smooth transition for hover effect */ } .ordered-list-editor .show-more:hover { color: var(--bs-secondary); /* Use secondary color on hover */ } /* Style for the visible cells */ .ordered-list-editor .tabulator-cell-visible { display: table-cell !important; /* Force display as table cell */ } /* Override any inline styles that might hide cells */ .ordered-list-editor .tabulator-cell[style*="display: none"] { display: table-cell !important; /* Force display as table cell */ } /* Style for the textarea editor */ .ordered-list-editor .tabulator-cell textarea { min-height: 60px; resize: vertical; width: 100%; /* Ensure textarea fills the cell */ border: 1px solid var(--bs-gray-300, #dee2e6); /* Match application's input border */ border-radius: 0.375rem; /* Match application's border-radius */ padding: 0.625rem 0.75rem; /* Match application's input padding */ transition: border-color 0.3s ease, box-shadow 0.3s ease; /* Smooth transition for focus effect */ } /* Focus state for textarea */ .ordered-list-editor .tabulator-cell textarea:focus { border-color: var(--bs-primary); /* Primary color for focus state */ outline: 0; box-shadow: 0 0 0 0.2rem rgba(118, 89, 154, 0.25); /* Subtle glow with primary color */ } /* Style for the placeholder */ .ordered-list-editor .tabulator-placeholder { padding: 20px; text-align: center; color: var(--bs-secondary); /* Secondary color for placeholder text */ font-style: italic; background-color: var(--bs-light, #f8f9fa); /* Light background for placeholder */ border-radius: 0.375rem; /* Match application's border-radius */ margin: 10px; border: 1px dashed var(--bs-gray-300, #dee2e6); /* Dashed border for empty state */ } /* Style for the Add Row button */ .ordered-list-editor + .btn-primary { margin-top: 0.5rem; background-color: var(--bs-primary) !important; border-color: var(--bs-primary) !important; color: #ffffff !important; transition: background-color 0.3s ease, border-color 0.3s ease; } /* Hover effect for primary button */ .ordered-list-editor + .btn-primary:hover { background-color: var(--bs-secondary) !important; border-color: var(--bs-secondary) !important; } /* Style for the Expand button */ .ordered-list-editor + .btn-primary + .btn-secondary { margin-top: 0.5rem; background-color: var(--bs-secondary) !important; border-color: var(--bs-secondary) !important; color: #ffffff !important; transition: background-color 0.3s ease, border-color 0.3s ease; } /* Hover effect for secondary button */ .ordered-list-editor + .btn-primary + .btn-secondary:hover { background-color: var(--bs-primary) !important; border-color: var(--bs-primary) !important; } /* Fullscreen mode styles */ .ordered-list-editor.fullscreen-mode { position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; z-index: 9999; background: var(--bs-light, #f8f9fa); /* Use light background color */ padding: 20px; margin: 0; overflow: auto; box-sizing: border-box; border: 2px solid var(--bs-primary); /* Primary color border */ box-shadow: 0 0 20px rgba(118, 89, 154, 0.3); /* Larger shadow for modal effect */ } .ordered-list-editor.fullscreen-mode .tabulator { height: calc(100vh - 100px) !important; width: 100% !important; border: 1px solid var(--bs-primary); /* Consistent border */ box-shadow: 0 4px 8px rgba(118, 89, 154, 0.2); /* Consistent shadow */ } /* Tekst in invoervelden zwart maken voor betere leesbaarheid */ .ordered-list-editor .tabulator-row:hover .tabulator-cell input, .ordered-list-editor .tabulator-row:hover .tabulator-cell select, .ordered-list-editor .tabulator-row:hover .tabulator-cell textarea, .ordered-list-editor .tabulator-row:hover .tabulator-cell .tabulator-editor, .ordered-list-editor .tabulator-row.tabulator-selected .tabulator-cell input, .ordered-list-editor .tabulator-row.tabulator-selected .tabulator-cell select, .ordered-list-editor .tabulator-row.tabulator-selected .tabulator-cell textarea, .ordered-list-editor .tabulator-row.tabulator-selected .tabulator-cell .tabulator-editor { color: #000000 !important; /* Zwarte tekst op witte achtergrond */ background-color: #ffffff !important; /* Witte achtergrond verzekeren */ border: 1px solid var(--bs-primary) !important; /* Duidelijke rand toevoegen */ }