/* Keep drag handles positioned without overriding a table's sticky headings. */
.reorderable-header{position:relative}th.reorderable-header .sort-header{cursor:pointer;padding-right:16px}.column-move-handle{position:absolute;right:5px;top:50%;transform:translateY(-50%);width:14px;height:24px;padding:0;border:0;cursor:grab;background:radial-gradient(circle,#918399 1px,transparent 1.2px) 3px 3px/4px 5px;background-size:4px 5px;background-repeat:repeat-y;opacity:.25;z-index:2}.reorderable-header:hover .column-move-handle,.reorderable-header:focus-within .column-move-handle{opacity:1}.column-move-handle:hover{background-color:#eee6ed}.column-drag-preview{position:fixed;pointer-events:none;z-index:20000;padding:11px 17px;color:#87002b;background:#fff;border:1px solid #a77386;box-shadow:0 7px 20px #21122926;font-size:14px;white-space:nowrap}.column-drop-line{position:fixed;width:3px;transform:translateX(-1px);background:#87002b;box-shadow:0 0 0 2px #fff8;z-index:19000;pointer-events:none}.column-drop-line:before{content:'';position:absolute;top:-5px;left:-4px;border:5px solid transparent;border-top-color:#87002b}.column-moved{animation:column-placed .5s ease-out}@keyframes column-placed{from{background:#e7efea}to{background:transparent}}@media(prefers-reduced-motion:reduce){.column-moved{animation:none}}
/* Nested horizontal tables must pass vertical wheel input to the page or drawer. */
.workspace .data-region,.drawer-body .channel-business-scroll{overscroll-behavior-y:auto}
body.column-dragging,body.column-dragging *{cursor:grabbing!important;user-select:none!important}
th.column-drag-source{background:#f0e4e8!important;color:var(--accent)!important}
th.column-drop-target{box-shadow:inset 3px 0 var(--accent);background:#f8f2f4!important}
.table-column-tools{display:flex;justify-content:flex-end;margin:0 0 7px;font-size:11px}
.table-column-tools .icon{width:14px;height:14px}
.table-columns-popover{position:fixed;inset:auto;margin:0;min-width:180px;max-height:70vh;overflow:auto;background:#fff;border:1px solid var(--line);box-shadow:0 10px 30px #16131f18;padding:15px;z-index:1000}
.table-columns-popover strong{display:block;color:var(--accent);margin-bottom:9px}
.table-columns-popover [data-column-search]{display:block;width:100%;min-width:200px;margin:0 0 8px;padding:7px 9px;border:1px solid var(--line);background:#fff;font-size:13px}
.table-columns-popover label{display:flex;align-items:center;gap:9px;padding:6px 0;font-size:12px}
.table-columns-popover .btn{margin-top:9px;width:100%}
/* Reordering releases horizontal pinning, while every heading remains sticky vertically. */
#data-table.unfreeze-name>thead>tr>.identity-cell,.data-table.unfreeze-name>thead>tr>.identity-cell{position:sticky;left:auto;z-index:3}
.data-table.unfreeze-name>tbody>tr>.identity-cell{position:static}
.data-table.name-first>thead>tr>.identity-cell,.data-table.name-first>tbody>tr>.identity-cell{left:0}
.data-table.unfreeze-actions>thead>tr>.actions-cell{position:sticky;right:auto;z-index:3}
.data-table.unfreeze-actions>tbody>tr>.actions-cell{position:static}
.data-table>thead>tr>th:first-child:not(.identity-cell):not([data-column-key="序"]){position:sticky;left:auto;z-index:3}
.data-table>tbody>tr>td:first-child:not(.identity-cell):not(.row-number){position:static}
