From 8fb2ad43c573a3d6d6df3bf3f0ccf487ab71bfd4 Mon Sep 17 00:00:00 2001 From: Josako Date: Fri, 30 May 2025 10:04:39 +0200 Subject: [PATCH] Moved styling elements in eveai_ordered_list_editor.html to eveai.css for consistency --- .../templates/eveai_ordered_list_editor.html | 367 ---------------- nginx/static/assets/css/eveai.css | 394 +++++++++++++++++- nginx/static/dist/main.css | 2 + 3 files changed, 381 insertions(+), 382 deletions(-) create mode 100644 nginx/static/dist/main.css diff --git a/eveai_app/templates/eveai_ordered_list_editor.html b/eveai_app/templates/eveai_ordered_list_editor.html index 5e44342..7c0e855 100644 --- a/eveai_app/templates/eveai_ordered_list_editor.html +++ b/eveai_app/templates/eveai_ordered_list_editor.html @@ -362,370 +362,3 @@ document.addEventListener('DOMContentLoaded', function() { }); - diff --git a/nginx/static/assets/css/eveai.css b/nginx/static/assets/css/eveai.css index c89dda4..02fb058 100644 --- a/nginx/static/assets/css/eveai.css +++ b/nginx/static/assets/css/eveai.css @@ -8,7 +8,7 @@ --bs-danger: #9c2d66; } -/* Overriding the background gradient and text colors */ +/* Overriding the background gradient and text colors ------------------------------------------ */ .bg-gradient-success { background: linear-gradient(90deg, var(--bs-primary) 0%, var(--bs-secondary) 100%); } @@ -44,7 +44,7 @@ font-weight: 700; /* Retain bold text */ } -/* Navbar customization */ +/* Navbar customization ------------------------------------------------------------------------ */ .navbar-light .navbar-brand { color: var(--bs-primary) !important; /* Primary color for the brand text */ } @@ -114,7 +114,7 @@ color: var(--bs-white) !important; } -/* Page header customization */ +/* Page header customization ------------------------------------------------------------------- */ .page-header { background-size: cover; background-position: center; @@ -148,7 +148,7 @@ margin-top: -5rem; /* Adjust margin to improve vertical alignment */ } -/* Card and table customization */ +/* 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 */ @@ -258,7 +258,6 @@ input[type="radio"] { .pagination { display: flex; justify-content: center; - padding-left: 0; list-style: none; border-radius: 0.375rem; margin-left: 0 !important; @@ -314,7 +313,7 @@ input[type="radio"] { text-align: center !important; } -/* Form and Input Fields */ +/* Form and Input Fields ----------------------------------------------------------------------- */ .form-group label.form-label { color: var(--bs-secondary) !important; /* Secondary color for labels */ font-weight: 500; /* Slightly bolder labels */ @@ -353,7 +352,7 @@ input[type="radio"] { color: var(--bs-body-color) !important; /* Consistent text color for check labels */ } -/* Tabs Navigation */ +/* 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 */ @@ -370,7 +369,7 @@ input[type="radio"] { color: var(--bs-white) !important; /* White text on hover */ } -/* Tabs Content */ +/* Tabs Content -------------------------------------------------------------------------------- */ .tab-pane { padding-top: 1rem; /* Consistent padding inside tabs */ } @@ -379,7 +378,7 @@ input[type="radio"] { background-color: var(--bs-primary) !important; /* Primary color for the moving tab indicator */ } -/* Buttons */ +/* Buttons ------------------------------------------------------------------------------------- */ .btn-primary:hover { background-color: var(--bs-secondary) !important; @@ -436,7 +435,7 @@ input[type="radio"] { box-shadow: none; } -/* Custom styles for chat session view */ +/* Custom styles for chat session view --------------------------------------------------------- */ .accordion-button:not(.collapsed) { background-color: var(--bs-primary); color: var(--bs-white); @@ -489,7 +488,7 @@ input[type="radio"] { background-color: var(--bs-light); } -/* Markdown content styles */ +/* Markdown content styles --------------------------------------------------------------------- */ .markdown-content { font-size: 1rem; line-height: 1.5; @@ -533,7 +532,7 @@ input[type="radio"] { display: none !important; } -/* Ensure the original select is visible and styled */ +/* Ensure the original select is visible and styled -------------------------------------------- */ select.select2 { display: block !important; width: 100% !important; @@ -554,7 +553,7 @@ select.select2[multiple] { height: auto !important; } -/* REQUIRED FIELD SETTINGS ---------------------------------------------------- */ +/* REQUIRED FIELD SETTINGS --------------------------------------------------------------------- */ /* Required field indicator styling */ .field-label-wrapper { display: flex; @@ -614,7 +613,7 @@ select.select2[multiple] { border: 0; } -/* TAB ERROR STYLES ----------------------------------------------------------- */ +/* TAB ERROR STYLES ---------------------------------------------------------------------------- */ /* Style for tabs with errors */ .nav-link.has-error { position: relative; @@ -704,7 +703,7 @@ select.select2[multiple] { font-size: 1.1rem; } -/* JSON Editor Styling - EveAI Aanpassingen */ +/* JSON Editor Styling - EveAI Aanpassingen ---------------------------------------------------- */ :root { /* Hoofdkleuren gebaseerd op EveAI kleurenschema */ --jse-theme-color: var(--bs-primary); /* Paars als hoofdkleur */ @@ -813,4 +812,369 @@ select.select2[multiple] { 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 */ +} diff --git a/nginx/static/dist/main.css b/nginx/static/dist/main.css new file mode 100644 index 0000000..801fc4a --- /dev/null +++ b/nginx/static/dist/main.css @@ -0,0 +1,2 @@ +.tabulator{text-align:left;background-color:#888;border:1px solid #999;font-size:14px;position:relative;overflow:hidden;transform:translateZ(0)}.tabulator[tabulator-layout=fitDataFill] .tabulator-tableholder .tabulator-table{min-width:100%}.tabulator[tabulator-layout=fitDataTable]{display:inline-block}.tabulator.tabulator-block-select,.tabulator.tabulator-ranges .tabulator-cell:not(.tabulator-editing){user-select:none}.tabulator .tabulator-header{box-sizing:border-box;color:#555;-webkit-user-select:none;-moz-user-select:none;-khtml-user-select:none;-o-user-select:none;white-space:nowrap;background-color:#e6e6e6;border-bottom:1px solid #999;outline:none;width:100%;font-weight:700;position:relative;overflow:hidden}.tabulator .tabulator-header.tabulator-header-hidden{display:none}.tabulator .tabulator-header .tabulator-header-contents{position:relative;overflow:hidden}.tabulator .tabulator-header .tabulator-header-contents .tabulator-headers{display:inline-block}.tabulator .tabulator-header .tabulator-col{box-sizing:border-box;text-align:left;vertical-align:bottom;background:#e6e6e6;border-right:1px solid #aaa;flex-direction:column;justify-content:flex-start;display:inline-flex;position:relative;overflow:hidden}.tabulator .tabulator-header .tabulator-col.tabulator-moving{pointer-events:none;background:#cdcdcd;border:1px solid #999;position:absolute}.tabulator .tabulator-header .tabulator-col.tabulator-range-highlight{color:#000;background-color:#d6d6d6}.tabulator .tabulator-header .tabulator-col.tabulator-range-selected{color:#fff;background-color:#3876ca}.tabulator .tabulator-header .tabulator-col .tabulator-col-content{box-sizing:border-box;padding:4px;position:relative}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-header-popup-button{padding:0 8px}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-header-popup-button:hover{cursor:pointer;opacity:.6}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-title-holder{position:relative}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-title{box-sizing:border-box;text-overflow:ellipsis;vertical-align:bottom;white-space:nowrap;width:100%;overflow:hidden}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-title.tabulator-col-title-wrap{text-overflow:clip;white-space:normal}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-title .tabulator-title-editor{box-sizing:border-box;background:#fff;border:1px solid #999;width:100%;padding:1px}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-title .tabulator-header-popup-button+.tabulator-title-editor{width:calc(100% - 22px)}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-sorter{align-items:center;display:flex;position:absolute;top:0;bottom:0;right:4px}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-sorter .tabulator-arrow{border-bottom:6px solid #bbb;border-left:6px solid #0000;border-right:6px solid #0000;width:0;height:0}.tabulator .tabulator-header .tabulator-col.tabulator-col-group .tabulator-col-group-cols{border-top:1px solid #aaa;margin-right:-1px;display:flex;position:relative;overflow:hidden}.tabulator .tabulator-header .tabulator-col .tabulator-header-filter{box-sizing:border-box;text-align:center;width:100%;margin-top:2px;position:relative}.tabulator .tabulator-header .tabulator-col .tabulator-header-filter textarea{height:auto!important}.tabulator .tabulator-header .tabulator-col .tabulator-header-filter svg{margin-top:3px}.tabulator .tabulator-header .tabulator-col .tabulator-header-filter input::-ms-clear{width:0;height:0}.tabulator .tabulator-header .tabulator-col.tabulator-sortable .tabulator-col-title{padding-right:25px}@media (hover:hover) and (pointer:fine){.tabulator .tabulator-header .tabulator-col.tabulator-sortable.tabulator-col-sorter-element:hover{cursor:pointer;background-color:#cdcdcd}}.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=none] .tabulator-col-content .tabulator-col-sorter{color:#bbb}@media (hover:hover) and (pointer:fine){.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=none] .tabulator-col-content .tabulator-col-sorter.tabulator-col-sorter-element .tabulator-arrow:hover{cursor:pointer;border-bottom:6px solid #555}}.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=none] .tabulator-col-content .tabulator-col-sorter .tabulator-arrow{border-top:none;border-bottom:6px solid #bbb}.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=ascending] .tabulator-col-content .tabulator-col-sorter{color:#666}@media (hover:hover) and (pointer:fine){.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=ascending] .tabulator-col-content .tabulator-col-sorter.tabulator-col-sorter-element .tabulator-arrow:hover{cursor:pointer;border-bottom:6px solid #555}}.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=ascending] .tabulator-col-content .tabulator-col-sorter .tabulator-arrow{border-top:none;border-bottom:6px solid #666}.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=descending] .tabulator-col-content .tabulator-col-sorter{color:#666}@media (hover:hover) and (pointer:fine){.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=descending] .tabulator-col-content .tabulator-col-sorter.tabulator-col-sorter-element .tabulator-arrow:hover{cursor:pointer;border-top:6px solid #555}}.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=descending] .tabulator-col-content .tabulator-col-sorter .tabulator-arrow{color:#666;border-top:6px solid #666;border-bottom:none}.tabulator .tabulator-header .tabulator-col.tabulator-col-vertical .tabulator-col-content .tabulator-col-title{text-orientation:mixed;writing-mode:vertical-rl;justify-content:center;align-items:center;display:flex}.tabulator .tabulator-header .tabulator-col.tabulator-col-vertical.tabulator-col-vertical-flip .tabulator-col-title{transform:rotate(180deg)}.tabulator .tabulator-header .tabulator-col.tabulator-col-vertical.tabulator-sortable .tabulator-col-title{padding-top:20px;padding-right:0}.tabulator .tabulator-header .tabulator-col.tabulator-col-vertical.tabulator-sortable.tabulator-col-vertical-flip .tabulator-col-title{padding-bottom:20px;padding-right:0}.tabulator .tabulator-header .tabulator-col.tabulator-col-vertical.tabulator-sortable .tabulator-col-sorter{justify-content:center;inset:4px 0 auto}.tabulator .tabulator-header .tabulator-frozen{z-index:11;position:sticky;left:0}.tabulator .tabulator-header .tabulator-frozen.tabulator-frozen-left{border-right:2px solid #aaa}.tabulator .tabulator-header .tabulator-frozen.tabulator-frozen-right{border-left:2px solid #aaa}.tabulator .tabulator-header .tabulator-calcs-holder{box-sizing:border-box;border-top:1px solid #aaa;border-bottom:1px solid #aaa;display:inline-block;background:#f3f3f3!important}.tabulator .tabulator-header .tabulator-calcs-holder .tabulator-row{background:#f3f3f3!important}.tabulator .tabulator-header .tabulator-calcs-holder .tabulator-row .tabulator-col-resize-handle{display:none}.tabulator .tabulator-header .tabulator-frozen-rows-holder{display:inline-block}.tabulator .tabulator-header .tabulator-frozen-rows-holder:empty{display:none}.tabulator .tabulator-tableholder{-webkit-overflow-scrolling:touch;white-space:nowrap;width:100%;position:relative;overflow:auto}.tabulator .tabulator-tableholder:focus{outline:none}.tabulator .tabulator-tableholder .tabulator-placeholder{box-sizing:border-box;justify-content:center;align-items:center;width:100%;min-width:100%;display:flex}.tabulator .tabulator-tableholder .tabulator-placeholder[tabulator-render-mode=virtual]{min-height:100%}.tabulator .tabulator-tableholder .tabulator-placeholder .tabulator-placeholder-contents{color:#ccc;text-align:center;white-space:normal;padding:10px;font-size:20px;font-weight:700;display:inline-block}.tabulator .tabulator-tableholder .tabulator-table{color:#333;white-space:nowrap;background-color:#fff;display:inline-block;position:relative;overflow:visible}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.tabulator-calcs{font-weight:700;background:#e2e2e2!important}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.tabulator-calcs.tabulator-calcs-top{border-bottom:2px solid #aaa}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.tabulator-calcs.tabulator-calcs-bottom{border-top:2px solid #aaa}.tabulator .tabulator-tableholder .tabulator-range-overlay{pointer-events:none;z-index:10;position:absolute;inset:0}.tabulator .tabulator-tableholder .tabulator-range-overlay .tabulator-range{box-sizing:border-box;border:1px solid #2975dd;position:absolute}.tabulator .tabulator-tableholder .tabulator-range-overlay .tabulator-range.tabulator-range-active:after{content:"";background-color:#2975dd;border-radius:999px;width:6px;height:6px;position:absolute;bottom:-3px;right:-3px}.tabulator .tabulator-tableholder .tabulator-range-overlay .tabulator-range-cell-active{box-sizing:border-box;border:2px solid #2975dd;position:absolute}.tabulator .tabulator-footer{color:#555;user-select:none;-khtml-user-select:none;-o-user-select:none;white-space:nowrap;background-color:#e6e6e6;border-top:1px solid #999;font-weight:700}.tabulator .tabulator-footer .tabulator-footer-contents{flex-direction:row;justify-content:space-between;align-items:center;padding:5px 10px;display:flex}.tabulator .tabulator-footer .tabulator-footer-contents:empty{display:none}.tabulator .tabulator-footer .tabulator-spreadsheet-tabs{margin-top:-5px;overflow-x:auto}.tabulator .tabulator-footer .tabulator-spreadsheet-tabs .tabulator-spreadsheet-tab{border:1px solid #999;border-top:none;border-bottom-right-radius:5px;border-bottom-left-radius:5px;padding:5px;font-size:.9em;display:inline-block}.tabulator .tabulator-footer .tabulator-spreadsheet-tabs .tabulator-spreadsheet-tab:hover{cursor:pointer;opacity:.7}.tabulator .tabulator-footer .tabulator-spreadsheet-tabs .tabulator-spreadsheet-tab.tabulator-spreadsheet-tab-active{background:#fff}.tabulator .tabulator-footer .tabulator-calcs-holder{box-sizing:border-box;text-align:left;border-top:1px solid #aaa;border-bottom:1px solid #aaa;width:100%;overflow:hidden;background:#f3f3f3!important}.tabulator .tabulator-footer .tabulator-calcs-holder .tabulator-row{display:inline-block;background:#f3f3f3!important}.tabulator .tabulator-footer .tabulator-calcs-holder .tabulator-row .tabulator-col-resize-handle{display:none}.tabulator .tabulator-footer .tabulator-calcs-holder:only-child{border-bottom:none;margin-bottom:-5px}.tabulator .tabulator-footer>*+.tabulator-page-counter{margin-left:10px}.tabulator .tabulator-footer .tabulator-page-counter{font-weight:400}.tabulator .tabulator-footer .tabulator-paginator{color:#555;font-family:inherit;font-size:inherit;font-weight:inherit;text-align:right;flex:1}.tabulator .tabulator-footer .tabulator-page-size{border:1px solid #aaa;border-radius:3px;margin:0 5px;padding:2px 5px;display:inline-block}.tabulator .tabulator-footer .tabulator-pages{margin:0 7px}.tabulator .tabulator-footer .tabulator-page{background:#fff3;border:1px solid #aaa;border-radius:3px;margin:0 2px;padding:2px 5px;display:inline-block}.tabulator .tabulator-footer .tabulator-page.active{color:#d00}.tabulator .tabulator-footer .tabulator-page:disabled{opacity:.5}@media (hover:hover) and (pointer:fine){.tabulator .tabulator-footer .tabulator-page:not(disabled):hover{color:#fff;cursor:pointer;background:#0003}}.tabulator .tabulator-col-resize-handle{vertical-align:middle;z-index:11;width:6px;margin-left:-3px;margin-right:-3px;display:inline-block;position:relative}@media (hover:hover) and (pointer:fine){.tabulator .tabulator-col-resize-handle:hover{cursor:ew-resize}}.tabulator .tabulator-col-resize-handle:last-of-type{width:3px;margin-right:0}.tabulator .tabulator-col-resize-guide{opacity:.5;background-color:#999;width:4px;height:100%;margin-left:-.5px;position:absolute;top:0}.tabulator .tabulator-row-resize-guide{opacity:.5;background-color:#999;width:100%;height:4px;margin-top:-.5px;position:absolute;left:0}.tabulator .tabulator-alert{text-align:center;z-index:100;background:#0006;align-items:center;width:100%;height:100%;display:flex;position:absolute;top:0;left:0}.tabulator .tabulator-alert .tabulator-alert-msg{background:#fff;border-radius:10px;margin:0 auto;padding:10px 20px;font-size:16px;font-weight:700;display:inline-block}.tabulator .tabulator-alert .tabulator-alert-msg.tabulator-alert-state-msg{color:#000;border:4px solid #333}.tabulator .tabulator-alert .tabulator-alert-msg.tabulator-alert-state-error{color:#590000;border:4px solid #d00}.tabulator-row{box-sizing:border-box;background-color:#fff;min-height:22px;position:relative}.tabulator-row.tabulator-row-even{background-color:#efefef}@media (hover:hover) and (pointer:fine){.tabulator-row.tabulator-selectable:hover{cursor:pointer;background-color:#bbb}}.tabulator-row.tabulator-selected{background-color:#9abcea}@media (hover:hover) and (pointer:fine){.tabulator-row.tabulator-selected:hover{cursor:pointer;background-color:#769bcc}}.tabulator-row.tabulator-row-moving{background:#fff;border:1px solid #000}.tabulator-row.tabulator-moving{pointer-events:none;z-index:15;border-top:1px solid #aaa;border-bottom:1px solid #aaa;position:absolute}.tabulator-row.tabulator-range-highlight .tabulator-cell.tabulator-range-row-header{color:#000;background-color:#d6d6d6}.tabulator-row.tabulator-range-highlight.tabulator-range-selected .tabulator-cell.tabulator-range-row-header,.tabulator-row.tabulator-range-selected .tabulator-cell.tabulator-range-row-header{color:#fff;background-color:#3876ca}.tabulator-row .tabulator-row-resize-handle{height:5px;position:absolute;bottom:0;left:0;right:0}.tabulator-row .tabulator-row-resize-handle.prev{top:0;bottom:auto}@media (hover:hover) and (pointer:fine){.tabulator-row .tabulator-row-resize-handle:hover{cursor:ns-resize}}.tabulator-row .tabulator-responsive-collapse{box-sizing:border-box;border-top:1px solid #aaa;border-bottom:1px solid #aaa;padding:5px}.tabulator-row .tabulator-responsive-collapse:empty{display:none}.tabulator-row .tabulator-responsive-collapse table{font-size:14px}.tabulator-row .tabulator-responsive-collapse table tr td{position:relative}.tabulator-row .tabulator-responsive-collapse table tr td:first-of-type{padding-right:10px}.tabulator-row .tabulator-cell{box-sizing:border-box;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap;border-right:1px solid #aaa;outline:none;padding:4px;display:inline-block;position:relative;overflow:hidden}.tabulator-row .tabulator-cell.tabulator-row-header{background:#e6e6e6;border-bottom:1px solid #aaa;border-right:1px solid #999}.tabulator-row .tabulator-cell.tabulator-frozen{background-color:inherit;z-index:11;display:inline-block;position:sticky;left:0}.tabulator-row .tabulator-cell.tabulator-frozen.tabulator-frozen-left{border-right:2px solid #aaa}.tabulator-row .tabulator-cell.tabulator-frozen.tabulator-frozen-right{border-left:2px solid #aaa}.tabulator-row .tabulator-cell.tabulator-editing{border:1px solid #1d68cd;outline:none;padding:0}.tabulator-row .tabulator-cell.tabulator-editing input,.tabulator-row .tabulator-cell.tabulator-editing select{background:0 0;border:1px;outline:none}.tabulator-row .tabulator-cell.tabulator-validation-fail{border:1px solid #d00}.tabulator-row .tabulator-cell.tabulator-validation-fail input,.tabulator-row .tabulator-cell.tabulator-validation-fail select{color:#d00;background:0 0;border:1px}.tabulator-row .tabulator-cell.tabulator-row-handle{-webkit-user-select:none;-moz-user-select:none;-khtml-user-select:none;-o-user-select:none;justify-content:center;align-items:center;display:inline-flex}.tabulator-row .tabulator-cell.tabulator-row-handle .tabulator-row-handle-box{width:80%}.tabulator-row .tabulator-cell.tabulator-row-handle .tabulator-row-handle-box .tabulator-row-handle-bar{background:#666;width:100%;height:3px;margin-top:2px}.tabulator-row .tabulator-cell.tabulator-range-selected:not(.tabulator-range-only-cell-selected):not(.tabulator-range-row-header){background-color:#9abcea}.tabulator-row .tabulator-cell .tabulator-data-tree-branch-empty{width:7px;display:inline-block}.tabulator-row .tabulator-cell .tabulator-data-tree-branch{vertical-align:middle;border-bottom:2px solid #aaa;border-left:2px solid #aaa;border-bottom-left-radius:1px;width:7px;height:9px;margin-top:-9px;margin-right:5px;display:inline-block}.tabulator-row .tabulator-cell .tabulator-data-tree-control{vertical-align:middle;background:#0000001a;border:1px solid #333;border-radius:2px;justify-content:center;align-items:center;width:11px;height:11px;margin-right:5px;display:inline-flex;overflow:hidden}@media (hover:hover) and (pointer:fine){.tabulator-row .tabulator-cell .tabulator-data-tree-control:hover{cursor:pointer;background:#0003}}.tabulator-row .tabulator-cell .tabulator-data-tree-control .tabulator-data-tree-control-collapse{background:0 0;width:1px;height:7px;display:inline-block;position:relative}.tabulator-row .tabulator-cell .tabulator-data-tree-control .tabulator-data-tree-control-collapse:after{content:"";background:#333;width:7px;height:1px;position:absolute;top:3px;left:-3px}.tabulator-row .tabulator-cell .tabulator-data-tree-control .tabulator-data-tree-control-expand{background:#333;width:1px;height:7px;display:inline-block;position:relative}.tabulator-row .tabulator-cell .tabulator-data-tree-control .tabulator-data-tree-control-expand:after{content:"";background:#333;width:7px;height:1px;position:absolute;top:3px;left:-3px}.tabulator-row .tabulator-cell .tabulator-responsive-collapse-toggle{color:#fff;-webkit-user-select:none;-moz-user-select:none;-khtml-user-select:none;-o-user-select:none;background:#666;border-radius:20px;justify-content:center;align-items:center;width:15px;height:15px;font-size:1.1em;font-weight:700;display:inline-flex}@media (hover:hover) and (pointer:fine){.tabulator-row .tabulator-cell .tabulator-responsive-collapse-toggle:hover{cursor:pointer;opacity:.7}}.tabulator-row .tabulator-cell .tabulator-responsive-collapse-toggle.open .tabulator-responsive-collapse-toggle-close{display:initial}.tabulator-row .tabulator-cell .tabulator-responsive-collapse-toggle.open .tabulator-responsive-collapse-toggle-open{display:none}.tabulator-row .tabulator-cell .tabulator-responsive-collapse-toggle svg{stroke:#fff}.tabulator-row .tabulator-cell .tabulator-responsive-collapse-toggle .tabulator-responsive-collapse-toggle-close{display:none}.tabulator-row .tabulator-cell .tabulator-traffic-light{border-radius:14px;width:14px;height:14px;display:inline-block}.tabulator-row.tabulator-group{box-sizing:border-box;background:#ccc;border-top:1px solid #999;border-bottom:1px solid #999;border-right:1px solid #aaa;min-width:100%;padding:5px 5px 5px 10px;font-weight:700}@media (hover:hover) and (pointer:fine){.tabulator-row.tabulator-group:hover{cursor:pointer;background-color:#0000001a}}.tabulator-row.tabulator-group.tabulator-group-visible .tabulator-arrow{border:6px solid #0000;border-top-color:#666;border-bottom:0;margin-right:10px}.tabulator-row.tabulator-group.tabulator-group-level-1{padding-left:30px}.tabulator-row.tabulator-group.tabulator-group-level-2{padding-left:50px}.tabulator-row.tabulator-group.tabulator-group-level-3{padding-left:70px}.tabulator-row.tabulator-group.tabulator-group-level-4{padding-left:90px}.tabulator-row.tabulator-group.tabulator-group-level-5{padding-left:110px}.tabulator-row.tabulator-group .tabulator-group-toggle{display:inline-block}.tabulator-row.tabulator-group .tabulator-arrow{vertical-align:middle;border:6px solid #0000;border-left-color:#666;border-right:0;width:0;height:0;margin-right:16px;display:inline-block}.tabulator-row.tabulator-group span{color:#d00;margin-left:10px}.tabulator-toggle{box-sizing:border-box;background:#dcdcdc;border:1px solid #ccc;flex-direction:row;display:flex}.tabulator-toggle.tabulator-toggle-on{background:#1c6cc2}.tabulator-toggle .tabulator-toggle-switch{box-sizing:border-box;background:#fff;border:1px solid #ccc}.tabulator-popup-container{-webkit-overflow-scrolling:touch;box-sizing:border-box;z-index:10000;background:#fff;border:1px solid #aaa;font-size:14px;display:inline-block;position:absolute;overflow-y:auto;box-shadow:0 0 5px #0003}.tabulator-popup{border-radius:3px;padding:5px}.tabulator-tooltip{box-shadow:none;pointer-events:none;border-radius:2px;max-width:min(500px,100%);padding:3px 5px;font-size:12px}.tabulator-menu .tabulator-menu-item{box-sizing:border-box;user-select:none;padding:5px 10px;position:relative}.tabulator-menu .tabulator-menu-item.tabulator-menu-item-disabled{opacity:.5}@media (hover:hover) and (pointer:fine){.tabulator-menu .tabulator-menu-item:not(.tabulator-menu-item-disabled):hover{cursor:pointer;background:#efefef}}.tabulator-menu .tabulator-menu-item.tabulator-menu-item-submenu{padding-right:25px}.tabulator-menu .tabulator-menu-item.tabulator-menu-item-submenu:after{content:"";vertical-align:top;border:1px solid #aaa;border-width:1px 1px 0 0;width:7px;height:7px;display:inline-block;position:absolute;top:calc(5px + .4em);right:10px;transform:rotate(45deg)}.tabulator-menu .tabulator-menu-separator{border-top:1px solid #aaa}.tabulator-edit-list{-webkit-overflow-scrolling:touch;max-height:200px;font-size:14px;overflow-y:auto}.tabulator-edit-list .tabulator-edit-list-item{color:#333;outline:none;padding:4px}.tabulator-edit-list .tabulator-edit-list-item.active{color:#fff;background:#1d68cd}.tabulator-edit-list .tabulator-edit-list-item.active.focused{outline:1px solid #ffffff80}.tabulator-edit-list .tabulator-edit-list-item.focused{outline:1px solid #1d68cd}@media (hover:hover) and (pointer:fine){.tabulator-edit-list .tabulator-edit-list-item:hover{color:#fff;cursor:pointer;background:#1d68cd}}.tabulator-edit-list .tabulator-edit-list-placeholder{color:#333;text-align:center;padding:4px}.tabulator-edit-list .tabulator-edit-list-group{color:#333;border-bottom:1px solid #aaa;padding:6px 4px 4px;font-weight:700}.tabulator-edit-list .tabulator-edit-list-group.tabulator-edit-list-group-level-2,.tabulator-edit-list .tabulator-edit-list-item.tabulator-edit-list-group-level-2{padding-left:12px}.tabulator-edit-list .tabulator-edit-list-group.tabulator-edit-list-group-level-3,.tabulator-edit-list .tabulator-edit-list-item.tabulator-edit-list-group-level-3{padding-left:20px}.tabulator-edit-list .tabulator-edit-list-group.tabulator-edit-list-group-level-4,.tabulator-edit-list .tabulator-edit-list-item.tabulator-edit-list-group-level-4{padding-left:28px}.tabulator-edit-list .tabulator-edit-list-group.tabulator-edit-list-group-level-5,.tabulator-edit-list .tabulator-edit-list-item.tabulator-edit-list-group-level-5{padding-left:36px}.tabulator.tabulator-ltr{direction:ltr}.tabulator.tabulator-rtl{text-align:initial;direction:rtl}.tabulator.tabulator-rtl .tabulator-header .tabulator-col{border-left:1px solid #aaa;border-right:initial;text-align:initial}.tabulator.tabulator-rtl .tabulator-header .tabulator-col.tabulator-col-group .tabulator-col-group-cols{margin-left:-1px;margin-right:0}.tabulator.tabulator-rtl .tabulator-header .tabulator-col.tabulator-sortable .tabulator-col-title{padding-left:25px;padding-right:0}.tabulator.tabulator-rtl .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-sorter{left:8px;right:auto}.tabulator.tabulator-rtl .tabulator-tableholder .tabulator-range-overlay .tabulator-range.tabulator-range-active:after{content:"";background-color:#2975dd;border-radius:999px;width:6px;height:6px;position:absolute;bottom:-3px;left:-3px;right:auto}.tabulator.tabulator-rtl .tabulator-row .tabulator-cell{border-left:1px solid #aaa;border-right:initial}.tabulator.tabulator-rtl .tabulator-row .tabulator-cell .tabulator-data-tree-branch{border-left:initial;border-right:2px solid #aaa;border-bottom-right-radius:1px;border-bottom-left-radius:0;margin-left:5px;margin-right:0}.tabulator.tabulator-rtl .tabulator-row .tabulator-cell .tabulator-data-tree-control{margin-left:5px;margin-right:0}.tabulator.tabulator-rtl .tabulator-row .tabulator-cell.tabulator-frozen.tabulator-frozen-left{border-left:2px solid #aaa}.tabulator.tabulator-rtl .tabulator-row .tabulator-cell.tabulator-frozen.tabulator-frozen-right{border-right:2px solid #aaa}.tabulator.tabulator-rtl .tabulator-row .tabulator-col-resize-handle:last-of-type{width:3px;margin-left:0;margin-right:-3px}.tabulator.tabulator-rtl .tabulator-footer .tabulator-calcs-holder{text-align:initial}.tabulator-print-fullscreen{z-index:10000;position:absolute;inset:0}body.tabulator-print-fullscreen-hide>:not(.tabulator-print-fullscreen){display:none!important}.tabulator-print-table{border-collapse:collapse}.tabulator-print-table .tabulator-data-tree-branch{vertical-align:middle;border-bottom:2px solid #aaa;border-left:2px solid #aaa;border-bottom-left-radius:1px;width:7px;height:9px;margin-top:-9px;margin-right:5px;display:inline-block}.tabulator-print-table .tabulator-print-table-group{box-sizing:border-box;background:#ccc;border-top:1px solid #999;border-bottom:1px solid #999;border-right:1px solid #aaa;min-width:100%;padding:5px 5px 5px 10px;font-weight:700}@media (hover:hover) and (pointer:fine){.tabulator-print-table .tabulator-print-table-group:hover{cursor:pointer;background-color:#0000001a}}.tabulator-print-table .tabulator-print-table-group.tabulator-group-visible .tabulator-arrow{border:6px solid #0000;border-top-color:#666;border-bottom:0;margin-right:10px}.tabulator-print-table .tabulator-print-table-group.tabulator-group-level-1 td{padding-left:30px!important}.tabulator-print-table .tabulator-print-table-group.tabulator-group-level-2 td{padding-left:50px!important}.tabulator-print-table .tabulator-print-table-group.tabulator-group-level-3 td{padding-left:70px!important}.tabulator-print-table .tabulator-print-table-group.tabulator-group-level-4 td{padding-left:90px!important}.tabulator-print-table .tabulator-print-table-group.tabulator-group-level-5 td{padding-left:110px!important}.tabulator-print-table .tabulator-print-table-group .tabulator-group-toggle{display:inline-block}.tabulator-print-table .tabulator-print-table-group .tabulator-arrow{vertical-align:middle;border:6px solid #0000;border-left-color:#666;border-right:0;width:0;height:0;margin-right:16px;display:inline-block}.tabulator-print-table .tabulator-print-table-group span{color:#d00;margin-left:10px}.tabulator-print-table .tabulator-data-tree-control{vertical-align:middle;background:#0000001a;border:1px solid #333;border-radius:2px;justify-content:center;align-items:center;width:11px;height:11px;margin-right:5px;display:inline-flex;overflow:hidden}@media (hover:hover) and (pointer:fine){.tabulator-print-table .tabulator-data-tree-control:hover{cursor:pointer;background:#0003}}.tabulator-print-table .tabulator-data-tree-control .tabulator-data-tree-control-collapse{background:0 0;width:1px;height:7px;display:inline-block;position:relative}.tabulator-print-table .tabulator-data-tree-control .tabulator-data-tree-control-collapse:after{content:"";background:#333;width:7px;height:1px;position:absolute;top:3px;left:-3px}.tabulator-print-table .tabulator-data-tree-control .tabulator-data-tree-control-expand{background:#333;width:1px;height:7px;display:inline-block;position:relative}.tabulator-print-table .tabulator-data-tree-control .tabulator-data-tree-control-expand:after{content:"";background:#333;width:7px;height:1px;position:absolute;top:3px;left:-3px} +/*# sourceMappingURL=main.css.map */