.tabulator{background-color:var(--surface,#fff);border:1px solid var(--border,#e5e7eb);font-size:var(--fs-body,13px);overflow:hidden;position:relative;text-align:left;-webkit-transform:translateZ(0);-moz-transform:translateZ(0);-ms-transform:translateZ(0);-o-transform:translateZ(0);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{background-color:var(--surface,#fff);border-bottom:1px solid var(--border,#e5e7eb);box-sizing:border-box;color:var(--muted,#6b7280);font-weight:700;outline:none;overflow:hidden;position:relative;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-o-user-select:none;white-space:nowrap;width:100%}.tabulator .tabulator-header.tabulator-header-hidden{display:none}.tabulator .tabulator-header .tabulator-header-contents{overflow:hidden;position:relative}.tabulator .tabulator-header .tabulator-header-contents .tabulator-headers{display:inline-block}.tabulator .tabulator-header .tabulator-col{background:var(--surface,#fff);border-right:1px solid var(--grid-line,#eef0f3);box-sizing:border-box;display:inline-flex;flex-direction:column;justify-content:flex-start;overflow:hidden;position:relative;text-align:left;vertical-align:bottom}.tabulator .tabulator-header .tabulator-col.tabulator-moving{background:#cdcdcd;border:1px solid #999;pointer-events:none;position:absolute}.tabulator .tabulator-header .tabulator-col.tabulator-range-highlight{background-color:#d6d6d6;color:#000}.tabulator .tabulator-header .tabulator-col.tabulator-range-selected{background-color:var(--gold-wash,rgba(15,118,110,.1));color:var(--ink,#111827)}.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;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom;white-space:nowrap;width:100%}.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{background:#fff;border:1px solid #999;box-sizing:border-box;padding:1px;width:100%}.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;bottom:0;display:flex;position:absolute;right:4px;top:0}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-sorter .tabulator-arrow{border-bottom:6px solid #bbb;border-left:6px solid transparent;border-right:6px solid transparent;height:0;width:0}.tabulator .tabulator-header .tabulator-col.tabulator-col-group .tabulator-col-group-cols{border-top:1px solid #aaa;display:flex;margin-right:-1px;overflow:hidden;position:relative}.tabulator .tabulator-header .tabulator-col .tabulator-header-filter{box-sizing:border-box;margin-top:2px;position:relative;text-align:center;width:100%}.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{height:0;width: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{background-color:#cdcdcd;cursor:pointer}}.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{border-bottom:6px solid #555;cursor:pointer}}.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=none] .tabulator-col-content .tabulator-col-sorter .tabulator-arrow{border-bottom:6px solid #bbb;border-top:none}.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{border-bottom:6px solid #555;cursor:pointer}}.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=ascending] .tabulator-col-content .tabulator-col-sorter .tabulator-arrow{border-bottom:6px solid #666;border-top:none}.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{border-top:6px solid #555;cursor:pointer}}.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=descending] .tabulator-col-content .tabulator-col-sorter .tabulator-arrow{border-bottom:none;border-top:6px solid #666;color:#666}.tabulator .tabulator-header .tabulator-col.tabulator-col-vertical .tabulator-col-content .tabulator-col-title{align-items:center;display:flex;justify-content:center;text-orientation:mixed;writing-mode:vertical-rl}.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-right:0;padding-top:20px}.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{bottom:auto;justify-content:center;left:0;right:0;top:4px}.tabulator .tabulator-header .tabulator-frozen{left:0;position:sticky;z-index:11}.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{background:#f3f3f3!important;border-bottom:1px solid #aaa;border-top:1px solid #aaa;box-sizing:border-box;display:inline-block}.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;overflow:auto;position:relative;white-space:nowrap;width:100%}.tabulator .tabulator-tableholder:focus{outline:none}.tabulator .tabulator-tableholder .tabulator-placeholder{align-items:center;box-sizing:border-box;display:flex;justify-content:center;min-width:100%;width:100%}.tabulator .tabulator-tableholder .tabulator-placeholder[tabulator-render-mode=virtual]{min-height:100%}.tabulator .tabulator-tableholder .tabulator-placeholder .tabulator-placeholder-contents{color:#ccc;display:inline-block;font-size:20px;font-weight:700;padding:10px;text-align:center;white-space:normal}.tabulator .tabulator-tableholder .tabulator-table{background-color:var(--surface,#fff);color:var(--ink,#111827);display:inline-block;overflow:visible;position:relative;white-space:nowrap}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.tabulator-calcs{background:#e2e2e2!important;font-weight:700}.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{inset:0;pointer-events:none;position:absolute;z-index:10}.tabulator .tabulator-tableholder .tabulator-range-overlay .tabulator-range{border:1px solid var(--primary,#0f766e);box-sizing:border-box;position:absolute}.tabulator .tabulator-tableholder .tabulator-range-overlay .tabulator-range.tabulator-range-active:after{background-color:var(--primary,#0f766e);border-radius:999px;bottom:-3px;content:"";height:6px;position:absolute;right:-3px;width:6px}.tabulator .tabulator-tableholder .tabulator-range-overlay .tabulator-range-cell-active{border:2px solid var(--primary,#0f766e);box-sizing:border-box;position:absolute}.tabulator .tabulator-footer{background-color:var(--surface,#fff);border-top:1px solid var(--border,#e5e7eb);color:var(--muted,#6b7280);font-weight:700;user-select:none;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-o-user-select:none;white-space:nowrap}.tabulator .tabulator-footer .tabulator-footer-contents{align-items:center;display:flex;flex-direction:row;justify-content:space-between;padding:5px 10px}.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-bottom-left-radius:5px;border-bottom-right-radius:5px;border-top:none;display:inline-block;font-size:.9em;padding:5px}.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{background:#f3f3f3!important;border-bottom:1px solid #aaa;border-top:1px solid #aaa;box-sizing:border-box;overflow:hidden;text-align:left;width:100%}.tabulator .tabulator-footer .tabulator-calcs-holder .tabulator-row{background:#f3f3f3!important;display:inline-block}.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:var(--muted,#6b7280);flex:1;font-family:inherit;font-size:inherit;font-weight:inherit;text-align:right}.tabulator .tabulator-footer .tabulator-page-size{border:1px solid #aaa;border-radius:3px;display:inline-block;margin:0 5px;padding:2px 5px}.tabulator .tabulator-footer .tabulator-pages{margin:0 7px}.tabulator .tabulator-footer .tabulator-page{background:hsla(0,0%,100%,.2);border:1px solid #aaa;border-radius:3px;display:inline-block;margin:0 2px;padding:2px 5px}.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{background:rgba(0,0,0,.2);color:#fff;cursor:pointer}}.tabulator .tabulator-col-resize-handle{display:inline-block;margin-left:-3px;margin-right:-3px;position:relative;vertical-align:middle;width:6px;z-index:11}@media (hover:hover) and (pointer:fine){.tabulator .tabulator-col-resize-handle:hover{cursor:ew-resize}}.tabulator .tabulator-col-resize-handle:last-of-type{margin-right:0;width:3px}.tabulator .tabulator-col-resize-guide{background-color:#999;height:100%;margin-left:-.5px;opacity:.5;position:absolute;top:0;width:4px}.tabulator .tabulator-row-resize-guide{background-color:#999;height:4px;left:0;margin-top:-.5px;opacity:.5;position:absolute;width:100%}.tabulator .tabulator-alert{align-items:center;background:rgba(0,0,0,.4);display:flex;height:100%;left:0;position:absolute;text-align:center;top:0;width:100%;z-index:100}.tabulator .tabulator-alert .tabulator-alert-msg{background:#fff;border-radius:10px;display:inline-block;font-size:16px;font-weight:700;margin:0 auto;padding:10px 20px}.tabulator .tabulator-alert .tabulator-alert-msg.tabulator-alert-state-msg{border:4px solid #333;color:#000}.tabulator .tabulator-alert .tabulator-alert-msg.tabulator-alert-state-error{border:4px solid #d00;color:#590000}.tabulator-row{background-color:var(--surface,#fff);box-sizing:border-box;min-height:22px;position:relative}.tabulator-row.tabulator-row-even{background-color:#efefef}@media (hover:hover) and (pointer:fine){.tabulator-row.tabulator-selectable:hover{background-color:#bbb;cursor:pointer}}.tabulator-row.tabulator-selected{background-color:var(--gold-wash,rgba(15,118,110,.1))}@media (hover:hover) and (pointer:fine){.tabulator-row.tabulator-selected:hover{background-color:#769bcc;cursor:pointer}}.tabulator-row.tabulator-row-moving{background:#fff;border:1px solid #000}.tabulator-row.tabulator-moving{border-bottom:1px solid #aaa;border-top:1px solid #aaa;pointer-events:none;position:absolute;z-index:15}.tabulator-row.tabulator-range-highlight .tabulator-cell.tabulator-range-row-header{background-color:#d6d6d6;color:#000}.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{background-color:var(--gold-wash,rgba(15,118,110,.1));color:var(--ink,#111827)}.tabulator-row .tabulator-row-resize-handle{bottom:0;height:5px;left:0;position:absolute;right:0}.tabulator-row .tabulator-row-resize-handle.prev{bottom:auto;top:0}@media (hover:hover) and (pointer:fine){.tabulator-row .tabulator-row-resize-handle:hover{cursor:ns-resize}}.tabulator-row .tabulator-responsive-collapse{border-bottom:1px solid #aaa;border-top:1px solid #aaa;box-sizing:border-box;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{border-right:1px solid var(--grid-line,#eef0f3);box-sizing:border-box;display:inline-block;outline:none;overflow:hidden;padding:4px;position:relative;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.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;display:inline-block;left:0;position:sticky;z-index:11}.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:transparent;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{background:transparent;border:1px;color:#d00}.tabulator-row .tabulator-cell.tabulator-row-handle{align-items:center;display:inline-flex;justify-content:center;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-o-user-select:none}.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;height:3px;margin-top:2px;width:100%}.tabulator-row .tabulator-cell.tabulator-range-selected:not(.tabulator-range-only-cell-selected):not(.tabulator-range-row-header){background-color:var(--gold-wash,rgba(15,118,110,.1))}.tabulator-row .tabulator-cell .tabulator-data-tree-branch-empty{display:inline-block;width:7px}.tabulator-row .tabulator-cell .tabulator-data-tree-branch{border-bottom:2px solid #aaa;border-bottom-left-radius:1px;border-left:2px solid #aaa;display:inline-block;height:9px;margin-right:5px;margin-top:-9px;vertical-align:middle;width:7px}.tabulator-row .tabulator-cell .tabulator-data-tree-control{align-items:center;background:rgba(0,0,0,.1);border:1px solid #333;border-radius:2px;display:inline-flex;height:11px;justify-content:center;margin-right:5px;overflow:hidden;vertical-align:middle;width:11px}@media (hover:hover) and (pointer:fine){.tabulator-row .tabulator-cell .tabulator-data-tree-control:hover{background:rgba(0,0,0,.2);cursor:pointer}}.tabulator-row .tabulator-cell .tabulator-data-tree-control .tabulator-data-tree-control-collapse{background:transparent;display:inline-block;height:7px;position:relative;width:1px}.tabulator-row .tabulator-cell .tabulator-data-tree-control .tabulator-data-tree-control-collapse:after{background:#333;content:"";height:1px;left:-3px;position:absolute;top:3px;width:7px}.tabulator-row .tabulator-cell .tabulator-data-tree-control .tabulator-data-tree-control-expand{background:#333;display:inline-block;height:7px;position:relative;width:1px}.tabulator-row .tabulator-cell .tabulator-data-tree-control .tabulator-data-tree-control-expand:after{background:#333;content:"";height:1px;left:-3px;position:absolute;top:3px;width:7px}.tabulator-row .tabulator-cell .tabulator-responsive-collapse-toggle{align-items:center;background:#666;border-radius:20px;color:#fff;display:inline-flex;font-size:1.1em;font-weight:700;height:15px;justify-content:center;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-o-user-select:none;width:15px}@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;display:inline-block;height:14px;width:14px}.tabulator-row.tabulator-group{background:#ccc;border-bottom:1px solid var(--border,#e5e7eb);border-right:1px solid var(--grid-line,#eef0f3);border-top:1px solid var(--border,#e5e7eb);box-sizing:border-box;font-weight:700;min-width:100%;padding:5px 5px 5px 10px}@media (hover:hover) and (pointer:fine){.tabulator-row.tabulator-group:hover{background-color:rgba(0,0,0,.1);cursor:pointer}}.tabulator-row.tabulator-group.tabulator-group-visible .tabulator-arrow{border-bottom:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid #666;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{border-bottom:6px solid transparent;border-left:6px solid #666;border-right:0;border-top:6px solid transparent;display:inline-block;height:0;margin-right:16px;vertical-align:middle;width:0}.tabulator-row.tabulator-group span{color:#d00;margin-left:10px}.tabulator-toggle{background:#dcdcdc;border:1px solid #ccc;box-sizing:border-box;display:flex;flex-direction:row}.tabulator-toggle.tabulator-toggle-on{background:#1c6cc2}.tabulator-toggle .tabulator-toggle-switch{background:#fff;border:1px solid #ccc;box-sizing:border-box}.tabulator-popup-container{-webkit-overflow-scrolling:touch;background:#fff;border:1px solid #aaa;box-shadow:0 0 5px 0 rgba(0,0,0,.2);box-sizing:border-box;display:inline-block;font-size:14px;overflow-y:auto;position:absolute;z-index:10000}.tabulator-popup{border-radius:3px;padding:5px}.tabulator-tooltip{border-radius:2px;box-shadow:none;font-size:12px;max-width:Min(500px,100%);padding:3px 5px;pointer-events:none}.tabulator-menu .tabulator-menu-item{box-sizing:border-box;padding:5px 10px;position:relative;user-select:none}.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{background:#efefef;cursor:pointer}}.tabulator-menu .tabulator-menu-item.tabulator-menu-item-submenu{padding-right:25px}.tabulator-menu .tabulator-menu-item.tabulator-menu-item-submenu:after{border-color:#aaa;border-style:solid;border-width:1px 1px 0 0;content:"";display:inline-block;height:7px;position:absolute;right:10px;top:calc(5px + .4em);transform:rotate(45deg);vertical-align:top;width:7px}.tabulator-menu .tabulator-menu-separator{border-top:1px solid #aaa}.tabulator-edit-list{-webkit-overflow-scrolling:touch;font-size:14px;max-height:200px;overflow-y:auto}.tabulator-edit-list .tabulator-edit-list-item{color:var(--ink,#111827);outline:none;padding:4px}.tabulator-edit-list .tabulator-edit-list-item.active{background:#1d68cd;color:#fff}.tabulator-edit-list .tabulator-edit-list-item.active.focused{outline:1px solid hsla(0,0%,100%,.5)}.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{background:#1d68cd;color:#fff;cursor:pointer}}.tabulator-edit-list .tabulator-edit-list-placeholder{color:var(--ink,#111827);padding:4px;text-align:center}.tabulator-edit-list .tabulator-edit-list-group{border-bottom:1px solid #aaa;color:var(--ink,#111827);font-weight:700;padding:6px 4px 4px}.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{direction:rtl;text-align:initial}.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{background-color:var(--primary,#0f766e);border-radius:999px;bottom:-3px;content:"";height:6px;left:-3px;position:absolute;right:auto;width:6px}.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-bottom-left-radius:0;border-bottom-right-radius:1px;border-left:initial;border-right:2px solid #aaa;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{margin-left:0;margin-right:-3px;width:3px}.tabulator.tabulator-rtl .tabulator-footer .tabulator-calcs-holder{text-align:initial}.tabulator-print-fullscreen{bottom:0;left:0;position:absolute;right:0;top:0;z-index:10000}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{border-bottom:2px solid #aaa;border-bottom-left-radius:1px;border-left:2px solid #aaa;display:inline-block;height:9px;margin-right:5px;margin-top:-9px;vertical-align:middle;width:7px}.tabulator-print-table .tabulator-print-table-group{background:#ccc;border-bottom:1px solid var(--border,#e5e7eb);border-right:1px solid var(--grid-line,#eef0f3);border-top:1px solid var(--border,#e5e7eb);box-sizing:border-box;font-weight:700;min-width:100%;padding:5px 5px 5px 10px}@media (hover:hover) and (pointer:fine){.tabulator-print-table .tabulator-print-table-group:hover{background-color:rgba(0,0,0,.1);cursor:pointer}}.tabulator-print-table .tabulator-print-table-group.tabulator-group-visible .tabulator-arrow{border-bottom:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid #666;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{border-bottom:6px solid transparent;border-left:6px solid #666;border-right:0;border-top:6px solid transparent;display:inline-block;height:0;margin-right:16px;vertical-align:middle;width:0}.tabulator-print-table .tabulator-print-table-group span{color:#d00;margin-left:10px}.tabulator-print-table .tabulator-data-tree-control{align-items:center;background:rgba(0,0,0,.1);border:1px solid #333;border-radius:2px;display:inline-flex;height:11px;justify-content:center;margin-right:5px;overflow:hidden;vertical-align:middle;width:11px}@media (hover:hover) and (pointer:fine){.tabulator-print-table .tabulator-data-tree-control:hover{background:rgba(0,0,0,.2);cursor:pointer}}.tabulator-print-table .tabulator-data-tree-control .tabulator-data-tree-control-collapse{background:transparent;display:inline-block;height:7px;position:relative;width:1px}.tabulator-print-table .tabulator-data-tree-control .tabulator-data-tree-control-collapse:after{background:#333;content:"";height:1px;left:-3px;position:absolute;top:3px;width:7px}.tabulator-print-table .tabulator-data-tree-control .tabulator-data-tree-control-expand{background:#333;display:inline-block;height:7px;position:relative;width:1px}.tabulator-print-table .tabulator-data-tree-control .tabulator-data-tree-control-expand:after{background:#333;content:"";height:1px;left:-3px;position:absolute;top:3px;width:7px}
/*# sourceMappingURL=tabulator.min.css.map */
/* === WantJoin manually adjusted (tabulator-tables@6.3.1 base + ui-guide) === */
/* Source: npm tabulator.min.css; local edits for WantJoin tokens. Do not replace wholesale from CDN without re-applying this block. */
/**
 * 3.2 多维表格 · Tabulator Manually Adjusted Theme
 * 对齐 docs/ui-guide（白表头、直角、斑马、gold-wash 选区、主色 #0f766e）
 * 在 tabulator.min.css 之后加载；不使用 Modern / Bootstrap 等预置皮。
 */

.list-shell .tabulator,
[data-bitable-host].tabulator,
[data-bitable-host] .tabulator {
  font-family: var(--font);
  font-size: var(--fs-body);
  color: var(--ink);
  background: var(--surface);
  border: 0;
  border-radius: var(--radius);
}

.list-shell .tabulator .tabulator-header,
[data-bitable-host] .tabulator .tabulator-header {
  background: var(--color-table-header);
  border-bottom: 1px solid var(--border);
  color: var(--muted);
  font-size: var(--fs-caption);
  font-weight: 600;
  box-shadow: 0 1px 0 var(--border);
}

.list-shell .tabulator .tabulator-header .tabulator-col,
[data-bitable-host] .tabulator .tabulator-header .tabulator-col {
  background: var(--color-table-header);
  border-right: 1px solid var(--grid-line);
  border-radius: 0;
}

.list-shell .tabulator .tabulator-header .tabulator-col.tabulator-sortable:hover,
[data-bitable-host] .tabulator .tabulator-header .tabulator-col.tabulator-sortable:hover {
  background: var(--row-hover);
}

.list-shell .tabulator .tabulator-header .tabulator-col .tabulator-col-content,
[data-bitable-host] .tabulator .tabulator-header .tabulator-col .tabulator-col-content {
  padding: var(--space-2) var(--cell-pad-x) var(--space-2);
  height: auto;
  min-height: var(--row-h);
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: var(--space-2);
}

.list-shell .tabulator .tabulator-header .tabulator-col .tabulator-col-title,
[data-bitable-host] .tabulator .tabulator-header .tabulator-col .tabulator-col-title {
  color: var(--muted);
  font-size: var(--fs-caption);
  font-weight: 600;
  padding: 0;
  line-height: var(--lh-tight);
  min-height: 16px;
}

.list-shell .tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort="ascending"] .tabulator-col-sorter,
.list-shell .tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort="descending"] .tabulator-col-sorter,
[data-bitable-host] .tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort="ascending"] .tabulator-col-sorter,
[data-bitable-host] .tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort="descending"] .tabulator-col-sorter {
  color: var(--primary);
}

/* 一律藏原生 sorter；可排主表列改用 .wj-bitable-sort-affordance，避免扁平子表列冒出 ▾ */
[data-bitable-host].tabulator .tabulator-header .tabulator-col .tabulator-col-sorter,
[data-bitable-host] .tabulator .tabulator-header .tabulator-col .tabulator-col-sorter {
  display: none !important;
}

/* 远程排序箭头（紧挨标题文字，不跟 fitDataStretch 拉到列右缘） */
[data-bitable-host].tabulator .tabulator-header .tabulator-col.wj-bitable-sortable-col .tabulator-col-title-holder,
[data-bitable-host] .tabulator .tabulator-header .tabulator-col.wj-bitable-sortable-col .tabulator-col-title-holder {
  display: inline-flex !important;
  align-items: center;
  gap: var(--space-1);
  min-height: 16px;
  max-width: 100%;
  width: auto !important;
}

[data-bitable-host].tabulator .tabulator-header .tabulator-col.wj-bitable-sortable-col .tabulator-col-title,
[data-bitable-host] .tabulator .tabulator-header .tabulator-col.wj-bitable-sortable-col .tabulator-col-title {
  cursor: pointer;
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: none;
  min-width: 0;
}

[data-bitable-host].tabulator .tabulator-header .tabulator-col .wj-bitable-sort-affordance,
[data-bitable-host] .tabulator .tabulator-header .tabulator-col .wj-bitable-sort-affordance {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  width: auto;
  height: 20px;
  padding: 0 2px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: var(--radius-sm, 6px);
  background: transparent;
  color: var(--muted);
  font: inherit;
  font-size: 14px;
  line-height: 1;
  cursor: pointer;
}

[data-bitable-host].tabulator .tabulator-header .tabulator-col .wj-bitable-sort-affordance:hover,
[data-bitable-host] .tabulator .tabulator-header .tabulator-col .wj-bitable-sort-affordance:hover {
  color: var(--ink);
  background: var(--row-hover);
}

[data-bitable-host].tabulator .tabulator-header .tabulator-col .wj-bitable-sort-affordance.is-active,
[data-bitable-host] .tabulator .tabulator-header .tabulator-col .wj-bitable-sort-affordance.is-active {
  color: var(--primary);
  font-weight: 700;
}

.list-shell .tabulator .tabulator-header .tabulator-col .tabulator-header-filter,
[data-bitable-host] .tabulator .tabulator-header .tabulator-col .tabulator-header-filter {
  margin-top: 0;
  text-align: left;
  position: relative;
  width: 100%;
}

/* 日期一段时间筛：起止两框左右排布 + 短连接符（host 自身即 .tabulator） */
.wj-bitable-date-range {
  display: flex !important;
  flex-direction: row !important;
  align-items: center;
  gap: var(--space-1, 4px);
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
}
/* 日期列不再强制表头 min-width：表头筛已迁工具栏；仅对 .tabulator-col 设 320 会导致表头宽于单元格错位 */
.wj-bitable-date-range-sep {
  flex: 0 0 auto;
  color: var(--muted, #6b7280);
  line-height: 1;
  user-select: none;
}
.wj-bitable-date-range > .ui-date {
  flex: 1 1 0 !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 50%;
}
.wj-bitable-date-range .ui-date-trigger {
  padding-left: 10px;
  padding-right: 28px;
  font-size: var(--fs-ctrl, 12px);
}
.wj-bitable-date-range input.ui-date-native,
.wj-bitable-date-range input[type="date"] {
  width: 1px !important;
  min-width: 0 !important;
  height: 1px !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* 日期单元格：手敲；日历在编辑期间常开（无触发图标） */
.wj-bitable-date-editor {
  position: relative;
  display: block !important;
  width: 140px !important;
  max-width: 100%;
  height: 100%;
  min-width: 0;
  box-sizing: border-box;
}
.list-shell .tabulator .tabulator-cell.tabulator-editing.ui-cell-date,
[data-bitable-host] .tabulator .tabulator-cell.tabulator-editing.ui-cell-date {
  overflow: visible !important;
}
.wj-bitable-date-editor > input[type="text"] {
  width: 100% !important;
  height: 100%;
}
.wj-bitable-date-editor > .ui-date {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;
}
.wj-bitable-date-editor .ui-date-trigger {
  opacity: 0;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  box-shadow: none;
  pointer-events: none;
}
.wj-bitable-date-editor input.ui-date-native,
.wj-bitable-date-editor input[type="date"] {
  width: 1px !important;
  min-width: 0 !important;
  height: 1px !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* V15：表头筛选用密控高度，外观对齐 ui-input；须压过 Tabulator 内联 padding:4px */
.list-shell .tabulator .tabulator-header .tabulator-col .tabulator-header-filter input,
.list-shell .tabulator .tabulator-header .tabulator-col .tabulator-header-filter select,
[data-bitable-host] .tabulator .tabulator-header .tabulator-col .tabulator-header-filter input,
[data-bitable-host] .tabulator .tabulator-header .tabulator-col .tabulator-header-filter select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  box-sizing: border-box !important;
  width: 100% !important;
  height: var(--control-h-sm) !important;
  min-height: var(--control-h-sm) !important;
  padding: 0 14px !important;
  border: 1px solid var(--color-border) !important;
  border-radius: var(--radius-md) !important;
  background-color: var(--color-bg) !important;
  color: var(--color-text) !important;
  font-family: inherit !important;
  font-size: var(--fs-body) !important;
  font-weight: var(--fw-regular) !important;
  line-height: var(--lh-normal) !important;
  transition:
    border-color var(--dur-fast) var(--ease),
    box-shadow var(--dur-fast) var(--ease);
}

.list-shell .tabulator .tabulator-header .tabulator-col .tabulator-header-filter input:hover:not(:disabled):not(:focus),
.list-shell .tabulator .tabulator-header .tabulator-col .tabulator-header-filter select:hover:not(:disabled):not(:focus),
[data-bitable-host] .tabulator .tabulator-header .tabulator-col .tabulator-header-filter input:hover:not(:disabled):not(:focus),
[data-bitable-host] .tabulator .tabulator-header .tabulator-col .tabulator-header-filter select:hover:not(:disabled):not(:focus) {
  border-color: var(--color-border-hover);
}

.list-shell .tabulator .tabulator-header .tabulator-col .tabulator-header-filter input:focus,
.list-shell .tabulator .tabulator-header .tabulator-col .tabulator-header-filter select:focus,
[data-bitable-host] .tabulator .tabulator-header .tabulator-col .tabulator-header-filter input:focus,
[data-bitable-host] .tabulator .tabulator-header .tabulator-col .tabulator-header-filter select:focus {
  outline: none;
  border-color: var(--color-primary);
  box-shadow: var(--shadow-focus);
}

.list-shell .tabulator .tabulator-header .tabulator-col .tabulator-header-filter input::placeholder,
[data-bitable-host] .tabulator .tabulator-header .tabulator-col .tabulator-header-filter input::placeholder {
  color: var(--color-text-tertiary);
}

/* 表头默认 user-select:none；筛框内须能拖选文字，不能当成拖列 */
.list-shell .tabulator .tabulator-header .tabulator-col .tabulator-header-filter,
.list-shell .tabulator .tabulator-header .tabulator-col .tabulator-header-filter input,
.list-shell .tabulator .tabulator-header .tabulator-col .tabulator-header-filter textarea,
[data-bitable-host] .tabulator .tabulator-header .tabulator-col .tabulator-header-filter,
[data-bitable-host] .tabulator .tabulator-header .tabulator-col .tabulator-header-filter input,
[data-bitable-host] .tabulator .tabulator-header .tabulator-col .tabulator-header-filter textarea {
  -webkit-user-select: text;
  -moz-user-select: text;
  user-select: text;
}

.list-shell .tabulator .tabulator-tableholder,
[data-bitable-host] .tabulator .tabulator-tableholder {
  background: var(--surface);
  overscroll-behavior: contain;
  overflow-anchor: none;
  overflow-y: auto;
}


.list-shell .tabulator .tabulator-row,
[data-bitable-host] .tabulator .tabulator-row {
  background: var(--surface);
  min-height: var(--row-h);
  border-bottom: 0;
}

.list-shell .tabulator .tabulator-row.tabulator-row-even,
[data-bitable-host] .tabulator .tabulator-row.tabulator-row-even {
  background: var(--stripe);
}

.list-shell .tabulator .tabulator-row:hover,
[data-bitable-host] .tabulator .tabulator-row:hover {
  background: var(--row-hover);
}

.list-shell .tabulator .tabulator-row.tabulator-selected,
.list-shell .tabulator .tabulator-row.tabulator-selected:hover,
[data-bitable-host] .tabulator .tabulator-row.tabulator-selected,
[data-bitable-host] .tabulator .tabulator-row.tabulator-selected:hover {
  background: var(--gold-wash);
}

.list-shell .tabulator .tabulator-row .tabulator-cell,
[data-bitable-host] .tabulator .tabulator-row .tabulator-cell {
  border-right: 1px solid var(--grid-line);
  border-bottom: 1px solid var(--grid-line);
  padding: 0 var(--cell-pad-x);
  height: var(--row-h);
  line-height: var(--lh-tight);
  font-size: var(--fs-body);
  color: var(--ink);
  background: transparent;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  /* V14：单元格内容 y 轴居中（含 Tag / 数字 / 文本） */
  display: inline-flex;
  align-items: center;
  vertical-align: middle;
  border-radius: 0;
  box-sizing: border-box;
}

/* 冻结列须不透明，否则横滚时后面的单元格会透过来叠在冻结格上 */
[data-bitable-host] .tabulator .tabulator-header .tabulator-frozen,
.list-shell .tabulator .tabulator-header .tabulator-frozen {
  background: var(--color-table-header) !important;
}
[data-bitable-host] .tabulator .tabulator-row .tabulator-cell.tabulator-frozen,
.list-shell .tabulator .tabulator-row .tabulator-cell.tabulator-frozen {
  background-color: var(--surface) !important;
  background-image: none;
  /* 高于 .tabulator-range-overlay(z-index:10)，选区蓝框不得压过/穿过序号等冻结列 */
  z-index: 11;
}
[data-bitable-host] .tabulator .tabulator-row.tabulator-row-even .tabulator-cell.tabulator-frozen,
.list-shell .tabulator .tabulator-row.tabulator-row-even .tabulator-cell.tabulator-frozen {
  background-color: var(--stripe) !important;
}
[data-bitable-host] .tabulator .tabulator-row:hover .tabulator-cell.tabulator-frozen,
.list-shell .tabulator .tabulator-row:hover .tabulator-cell.tabulator-frozen {
  background-color: var(--row-hover) !important;
}
[data-bitable-host] .tabulator .tabulator-row.tabulator-selected .tabulator-cell.tabulator-frozen,
[data-bitable-host] .tabulator .tabulator-row.tabulator-selected:hover .tabulator-cell.tabulator-frozen,
.list-shell .tabulator .tabulator-row.tabulator-selected .tabulator-cell.tabulator-frozen,
.list-shell .tabulator .tabulator-row.tabulator-selected:hover .tabulator-cell.tabulator-frozen,
[data-bitable-host] .tabulator .tabulator-cell.tabulator-frozen.tabulator-range-selected,
[data-bitable-host] .tabulator .tabulator-cell.tabulator-frozen.tabulator-range-only-cell-selected,
[data-bitable-host] .tabulator .tabulator-cell.tabulator-frozen.tabulator-range-row-header,
[data-bitable-host] .tabulator .tabulator-row.tabulator-range-selected .tabulator-cell.tabulator-frozen,
[data-bitable-host] .tabulator .tabulator-row.tabulator-range-highlight .tabulator-cell.tabulator-frozen,
.list-shell .tabulator .tabulator-cell.tabulator-frozen.tabulator-range-selected,
.list-shell .tabulator .tabulator-cell.tabulator-frozen.tabulator-range-only-cell-selected,
.list-shell .tabulator .tabulator-cell.tabulator-frozen.tabulator-range-row-header,
.list-shell .tabulator .tabulator-row.tabulator-range-selected .tabulator-cell.tabulator-frozen,
.list-shell .tabulator .tabulator-row.tabulator-range-highlight .tabulator-cell.tabulator-frozen {
  background-color: var(--surface) !important;
  background-image: linear-gradient(var(--color-table-selected), var(--color-table-selected)) !important;
  color: var(--ink) !important;
}

.list-shell .tabulator .tabulator-row.tabulator-row-even .tabulator-cell:not(.tabulator-frozen),
[data-bitable-host] .tabulator .tabulator-row.tabulator-row-even .tabulator-cell:not(.tabulator-frozen) {
  background: transparent;
}

/* 区域选择：浅灰底 + 墨色字（禁止官方蓝底白字，首列 row-header 同理） */
.list-shell .tabulator .tabulator-cell.tabulator-range-selected:not(.tabulator-frozen),
.list-shell .tabulator .tabulator-cell.tabulator-range-only-cell-selected:not(.tabulator-frozen),
.list-shell .tabulator .tabulator-cell.tabulator-range-row-header:not(.tabulator-frozen),
.list-shell .tabulator .tabulator-row.tabulator-range-selected .tabulator-cell.tabulator-range-row-header:not(.tabulator-frozen),
.list-shell .tabulator .tabulator-row.tabulator-range-highlight .tabulator-cell.tabulator-range-row-header:not(.tabulator-frozen),
[data-bitable-host] .tabulator .tabulator-cell.tabulator-range-selected:not(.tabulator-frozen),
[data-bitable-host] .tabulator .tabulator-cell.tabulator-range-only-cell-selected:not(.tabulator-frozen),
[data-bitable-host] .tabulator .tabulator-cell.tabulator-range-row-header:not(.tabulator-frozen),
[data-bitable-host] .tabulator .tabulator-row.tabulator-range-selected .tabulator-cell.tabulator-range-row-header:not(.tabulator-frozen),
[data-bitable-host] .tabulator .tabulator-row.tabulator-range-highlight .tabulator-cell.tabulator-range-row-header:not(.tabulator-frozen) {
  background: rgb(203 203 203 / 12%) !important;
  color: var(--ink) !important;
}

.list-shell .tabulator .tabulator-header .tabulator-col.tabulator-range-selected:not(.tabulator-frozen),
.list-shell .tabulator .tabulator-header .tabulator-col.tabulator-range-highlight:not(.tabulator-frozen),
[data-bitable-host] .tabulator .tabulator-header .tabulator-col.tabulator-range-selected:not(.tabulator-frozen),
[data-bitable-host] .tabulator .tabulator-header .tabulator-col.tabulator-range-highlight:not(.tabulator-frozen) {
  background: rgb(203 203 203 / 12%) !important;
  color: var(--ink) !important;
}

.list-shell .tabulator .tabulator-cell.tabulator-range-active,
[data-bitable-host] .tabulator .tabulator-cell.tabulator-range-active {
  border-color: var(--primary) !important;
  box-shadow: inset 0 0 0 1px var(--primary);
  color: var(--ink) !important;
}

/* 禁用 Tabulator 自带选区右下角蓝点；拖填充只用 .wj-bitable-fill-handle，且序号/不可写格不出柄 */
[data-bitable-host] .tabulator-tableholder .tabulator-range-overlay .tabulator-range.tabulator-range-active:after,
.list-shell .tabulator-tableholder .tabulator-range-overlay .tabulator-range.tabulator-range-active:after {
  display: none !important;
  content: none !important;
}

.list-shell .tabulator .tabulator-cell.tabulator-editing,
[data-bitable-host] .tabulator .tabulator-cell.tabulator-editing {
  border: 1px solid var(--primary) !important;
  outline: none;
  padding: 0;
}

.list-shell .tabulator .tabulator-cell.tabulator-editing input,
.list-shell .tabulator .tabulator-cell.tabulator-editing select,
[data-bitable-host] .tabulator .tabulator-cell.tabulator-editing input,
[data-bitable-host] .tabulator .tabulator-cell.tabulator-editing select {
  height: 100%;
  padding: 0 var(--cell-pad-x);
  border: 0;
  border-radius: 0;
  font-family: var(--font);
  font-size: var(--fs-body);
  color: var(--ink);
  background: var(--surface);
}

.list-shell .tabulator .tabulator-placeholder,
[data-bitable-host] .tabulator-placeholder,
[data-nested-host] .tabulator-placeholder {
  display: none !important;
}

.list-shell .tabulator .tabulator-footer,
[data-bitable-host] .tabulator .tabulator-footer {
  background: var(--page-bg);
  border-top: 1px solid var(--border);
  color: var(--muted);
  font-size: var(--fs-caption);
  border-radius: 0;
}

.list-shell .tabulator .tabulator-alert,
[data-bitable-host] .tabulator .tabulator-alert {
  background: var(--mask);
}

.list-shell .tabulator .tabulator-alert .tabulator-alert-msg,
[data-bitable-host] .tabulator .tabulator-alert .tabulator-alert-msg {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  color: var(--ink);
  font-family: var(--font);
}

/* 嵌套子表容器：作为主行的兄弟节点插在行后，宽度由 JS 锁到可视表体宽 */
[data-nested-host] {
  border-top: 1px solid var(--grid-line);
  display: block;
  position: relative;
  z-index: 2;
  pointer-events: auto;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  overflow-x: auto;
  overflow-y: visible;
  clear: both;
}

[data-nested-host] .tabulator {
  border: 1px solid var(--border);
  pointer-events: auto;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

[data-nested-host] .tabulator .tabulator-header {
  overflow: hidden !important;
}

[data-nested-host] .tabulator .tabulator-tableholder {
  overflow-x: auto !important;
  /* 禁止子表内纵向滚动，避免与主表抢滚轮导致「滑不动」 */
  overflow-y: hidden !important;
  pointer-events: auto;
  min-height: 72px;
  max-width: 100%;
}

[data-nested-host] .tabulator .tabulator-header,
[data-nested-host] .tabulator .tabulator-tableholder {
  scrollbar-gutter: auto;
}

[data-nested-host] .tabulator .tabulator-header .tabulator-col,
[data-nested-host] .tabulator .tabulator-row .tabulator-cell {
  box-sizing: border-box;
}

[data-nested-host] .tabulator .tabulator-table {
  max-width: 100%;
}

/* 未挂载：不占位 */
[data-nested-host][data-wj-nested-mounted="0"] {
  display: none !important;
  min-height: 0 !important;
  height: 0 !important;
  padding: 0 !important;
  border-top: 0 !important;
  overflow: hidden !important;
  background: transparent !important;
}

[data-nested-host][data-wj-nested-mounted="1"] {
  display: block;
  width: 100%;
  max-width: 100%;
}

/* Table Pro 单元格语义类：挂到 Tabulator 格上时对齐 uiguide */
[data-bitable-host] .tabulator-cell.ui-cell-int,
[data-bitable-host] .tabulator-cell.ui-cell-decimal,
[data-bitable-host] .tabulator-cell.ui-cell-money,
[data-bitable-host] .tabulator-cell.ui-cell-rate,
[data-bitable-host] .tabulator-col.ui-cell-int,
[data-bitable-host] .tabulator-col.ui-cell-decimal,
[data-bitable-host] .tabulator-col.ui-cell-money,
[data-bitable-host] .tabulator-col.ui-cell-rate {
  text-align: right;
  font-variant-numeric: tabular-nums;
}

[data-bitable-host] .tabulator-cell.ui-cell-money {
  font-weight: var(--fw-medium, 500);
}

[data-bitable-host] .tabulator-cell.ui-cell-money.is-neg {
  color: var(--color-danger, #dc2626);
}

[data-bitable-host] .tabulator-cell.ui-cell-id {
  font-weight: var(--fw-bold, 700);
}

[data-bitable-host] .tabulator-cell.ui-cell-status,
[data-bitable-host] .tabulator-cell.ui-cell-bool {
  overflow: hidden;
}

/* 表体 color 会继承到子节点；强制 Success Tag 语义色，避免只剩默认灰胶囊 */
[data-bitable-host] .tabulator-cell .ui-tag.ui-tag-success,
.list-shell .tabulator-cell .ui-tag.ui-tag-success {
  background: var(--color-success-soft, #e6faf6) !important;
  color: var(--color-success, #0f766e) !important;
}

[data-bitable-host] .tabulator-cell.ui-cell-status .ui-tag,
[data-bitable-host] .tabulator-cell.ui-cell-bool .ui-tag {
  vertical-align: middle;
}

/* 仅嵌套模式：钉死主表单元格高，防止 normalizeHeight 拉高（子表在行外兄弟节点；行高仍用全局 --row-h） */
[data-bitable-host][data-wj-bitable-mode="nested"].tabulator > .tabulator-tableholder > .tabulator-table > .tabulator-row,
.list-shell > .table-scroll [data-wj-bitable-mode="nested"].tabulator > .tabulator-tableholder > .tabulator-table > .tabulator-row {
  min-height: var(--row-h);
}

[data-bitable-host][data-wj-bitable-mode="nested"].tabulator > .tabulator-tableholder > .tabulator-table > .tabulator-row > .tabulator-cell,
.list-shell > .table-scroll [data-wj-bitable-mode="nested"].tabulator > .tabulator-tableholder > .tabulator-table > .tabulator-row > .tabulator-cell {
  height: var(--row-h) !important;
  max-height: var(--row-h) !important;
  min-height: var(--row-h) !important;
  display: inline-flex !important;
  align-items: center;
}

/* 主表滚动条槽：不要用 stable 强占宽（嵌套后易挤出横向条） */
.list-shell > .table-scroll .tabulator > .tabulator-header,
[data-bitable-host].tabulator > .tabulator-header,
[data-bitable-host] > .tabulator > .tabulator-header {
  box-sizing: border-box;
}

/* 主表表体横向滚动限制在 holder 内，不让嵌套内容把表宽无限撑开 */
[data-bitable-host].tabulator > .tabulator-tableholder,
[data-bitable-host] > .tabulator > .tabulator-tableholder,
.list-shell > .table-scroll .tabulator > .tabulator-tableholder {
  overflow-x: auto;
  overflow-y: auto;
  max-width: 100%;
}

/* 右键菜单（Tabulator + 空区自绘）对齐 ui-guide */
.tabulator-menu,
.wj-bitable-ctx-menu {
  background: var(--surface) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius) !important;
  box-shadow: var(--shadow-md) !important;
  padding: var(--space-1) 0 !important;
  min-width: 120px;
  z-index: 10000;
  font-family: var(--font);
  font-size: var(--fs-ctrl);
  color: var(--ink);
}

.wj-bitable-ctx-menu {
  position: fixed;
  display: flex;
  flex-direction: column;
}

.tabulator-menu .tabulator-menu-item,
.wj-bitable-ctx-menu button {
  background: transparent;
  border: 0;
  margin: 0;
  padding: var(--space-2) var(--space-3) !important;
  text-align: left;
  color: var(--ink);
  font-family: var(--font);
  font-size: var(--fs-ctrl);
  cursor: pointer;
  border-radius: 0;
  width: 100%;
  box-sizing: border-box;
}

.tabulator-menu .tabulator-menu-item:hover,
.wj-bitable-ctx-menu button:hover {
  background: var(--gold-wash) !important;
  color: var(--ink) !important;
}

[data-bitable-host] .tabulator-row.wj-bitable-row-placeholder .tabulator-cell {
  pointer-events: none;
  color: transparent !important;
  background: var(--stripe);
  position: relative;
}

[data-bitable-host] .tabulator-row.wj-bitable-row-placeholder .tabulator-cell::after {
  content: "";
  position: absolute;
  left: 12px;
  right: 12px;
  top: 50%;
  height: 10px;
  margin-top: -5px;
  border-radius: var(--radius-sm, 6px);
  background: linear-gradient(
    90deg,
    var(--border) 0%,
    var(--surface, #fff) 50%,
    var(--border) 100%
  );
  background-size: 200% 100%;
  animation: wj-bitable-ph-shimmer 1.1s ease-in-out infinite;
}

[data-bitable-host] .tabulator-row.wj-bitable-row-placeholder .tabulator-cell.col-index,
[data-bitable-host] .tabulator-row.wj-bitable-row-placeholder .tabulator-cell.col-index::after {
  color: var(--muted, #9aa4b2) !important;
  background: transparent;
  animation: none;
}

[data-bitable-host] .tabulator-header .tabulator-header-filter input[data-wj-serial-jump],
[data-bitable-host].tabulator .tabulator-header .tabulator-header-filter input[data-wj-serial-jump] {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  height: var(--control-h-sm, 32px);
  padding: 0 var(--space-2, 8px);
  text-align: right;
  font-variant-numeric: tabular-nums;
  box-sizing: border-box;
}

/* 扁平序号主/子双位：主号偏左上，子序独占右下角，避免叠字 */
[data-bitable-host] .tabulator-cell.col-index {
  position: relative;
}
[data-bitable-host] .wj-flat-dual-serial {
  display: block;
  position: relative;
  width: 100%;
  min-height: 1.35em;
  line-height: 1.2;
  font-variant-numeric: tabular-nums;
  box-sizing: border-box;
  /* 右侧留给子序，宽度由 fitSerialColumnWidth 按最大子序位数写入 */
  padding-right: var(--wj-serial-child-gutter, 10px);
  padding-bottom: 2px;
}
[data-bitable-host] .wj-flat-dual-serial__main {
  display: block;
  text-align: right;
  font-weight: 700;
  line-height: 1.2;
}
[data-bitable-host] .wj-flat-dual-serial--cont .wj-flat-dual-serial__main {
  visibility: hidden;
}
[data-bitable-host] .wj-flat-dual-serial__child {
  position: absolute;
  right: 0;
  bottom: 0;
  font-size: 10px;
  line-height: 1;
  font-weight: 400;
  color: var(--muted, #9aa4b2);
  font-variant-numeric: tabular-nums;
  pointer-events: none;
}

@keyframes wj-bitable-ph-shimmer {
  0% {
    background-position: 100% 0;
  }
  100% {
    background-position: -100% 0;
  }
}

.wj-bitable-fill-handle {
  position: fixed;
  z-index: 10000;
  width: 8px;
  height: 8px;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  background: var(--color-primary, #5687df);
  border: 1px solid #fff;
  box-shadow: 0 0 0 1px var(--color-primary, #5687df);
  cursor: ns-resize;
  pointer-events: auto;
}
.wj-bitable-fill-handle.is-dragging {
  box-shadow:
    0 0 0 2px #fff,
    0 0 0 4px var(--color-primary, #5687df);
}
.wj-bitable-fill-handle[hidden] {
  display: none !important;
}
.wj-bitable-fill-preview {
  position: fixed;
  z-index: 9999;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  pointer-events: none;
  border: 2px solid var(--color-primary, #5687df);
  background: rgba(86, 135, 223, 0.12);
}
.wj-bitable-fill-preview[hidden] {
  display: none !important;
}
html.wj-bitable-fill-dragging,
html.wj-bitable-fill-dragging * {
  cursor: ns-resize !important;
  user-select: none !important;
}

.wj-bitable-col-title {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
}

.wj-bitable-col-group-label {
  display: none;
}

.wj-bitable-col-group-title {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  font-weight: 600;
  color: var(--color-gray-70, #424242);
  line-height: 16px;
}

.wj-bitable-col-group-title .ri-grid-line {
  font-size: 14px;
  color: var(--color-gray-50, #757575);
}

.wj-bitable-col-name {
  display: inline-flex;
  align-items: center;
  min-width: 0;
}

.wj-bitable-req {
  color: var(--color-danger, #cf5050);
  font-weight: 700;
  margin-left: 4px;
}

.tabulator .tabulator-col.wj-bitable-grouped-leaf {
  /* 组内叶子列：组名已在 column group 上一行 */
}

.tabulator .tabulator-col.wj-bitable-col-selected {
  background: var(--color-brand-soft, #e8f0fb) !important;
  box-shadow: inset 0 0 0 2px var(--color-brand, #5687df) !important;
}

.tabulator .tabulator-col.wj-bitable-col-selected .tabulator-col-content {
  background: transparent !important;
}

.tabulator .tabulator-footer .tabulator-calcs-holder,
.tabulator .tabulator-tableholder .tabulator-calcs-holder {
  position: sticky;
  bottom: 0;
  z-index: 3;
  background: var(--color-surface, #fff);
}

.tabulator .tabulator-row.tabulator-calcs {
  font-weight: 600;
  background: var(--color-gray-5, #f7f7f7);
  pointer-events: none;
}

.tabulator .tabulator-row.tabulator-calcs .tabulator-cell.col-index,
.tabulator .tabulator-row.tabulator-calcs .tabulator-cell:first-child {
  font-weight: 600;
  color: var(--color-gray-70, #424242);
}

.tabulator-cell.wj-bitable-cell-error {
  box-shadow: inset 0 0 0 2px var(--color-danger, #cf5050);
  background: var(--color-danger-soft, #fceeee);
}

.tabulator .tabulator-col.wj-bitable-col-group-wrap {
  text-align: left !important;
  cursor: grab;
}

.tabulator.wj-bitable-group-drag-active,
.tabulator.wj-bitable-group-drag-active .tabulator-header {
  cursor: grabbing !important;
}

.tabulator .tabulator-col.wj-bitable-col-group-wrap.wj-bitable-group-dragging {
  opacity: 1;
  cursor: grabbing;
  background: var(--color-brand-5, #eef3fc) !important;
  box-shadow:
    inset 0 0 0 2px var(--color-brand-40, #5687df),
    0 8px 20px rgba(86, 135, 223, 0.28) !important;
  z-index: 6;
}

.tabulator .tabulator-col.wj-bitable-col-group-wrap.wj-bitable-group-dragging > .tabulator-col-content,
.tabulator .tabulator-col.wj-bitable-col-group-wrap.wj-bitable-group-dragging .tabulator-col-group-cols .tabulator-col {
  background: var(--color-brand-5, #eef3fc) !important;
}

.tabulator .tabulator-col.wj-bitable-group-drop-ahead {
  box-shadow: inset 3px 0 0 0 var(--color-brand-40, #5687df) !important;
  background: var(--color-brand-5, #eef3fc) !important;
}

.tabulator .tabulator-header .wj-bitable-group-drop-line {
  position: absolute;
  top: 0;
  width: 3px;
  margin-left: -1px;
  background: var(--color-brand-40, #5687df);
  border-radius: 2px;
  z-index: 30;
  pointer-events: none;
  box-shadow: 0 0 0 3px rgba(86, 135, 223, 0.25);
}

.tabulator .tabulator-header .wj-bitable-group-drop-line-tip {
  position: absolute;
  top: 6px;
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
  padding: 2px 8px;
  border-radius: 10px;
  font-size: 12px;
  font-weight: 600;
  line-height: 16px;
  color: #fff;
  background: var(--color-brand-40, #5687df);
  box-shadow: 0 2px 8px rgba(86, 135, 223, 0.35);
}

.tabulator .tabulator-header .wj-bitable-group-drag-tag {
  position: absolute;
  z-index: 31;
  pointer-events: none;
  transform: translateX(-50%);
  white-space: nowrap;
  padding: 4px 10px;
  border-radius: 10px;
  font-size: 12px;
  font-weight: 600;
  line-height: 16px;
  color: #fff;
  background: var(--color-brand-60, #2f5bb8);
  box-shadow: 0 4px 12px rgba(47, 91, 184, 0.4);
}

.tabulator .tabulator-col.wj-bitable-col-group-wrap > .tabulator-col-content {
  justify-content: flex-start;
}

.tabulator .tabulator-col-group .tabulator-col-group-cols {
  border-top: 1px solid var(--border, #e5e7eb);
}


