.csv-editor{--line:var(--hairline-soft);--accent-soft:#e8f1fb;--mono:"Cascadia Mono", "Consolas", "SF Mono", "Menlo", monospace;height:calc(100dvh - var(--top-bar-height));background:var(--canvas);color:var(--ink);flex-direction:column;margin-inline:-24px;display:flex;position:relative;overflow:hidden}.csv-editor .app-head{background:var(--canvas);border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:8px 14px;display:flex}.csv-editor .app-title.ant-typography{margin:0}.csv-editor .csv-file-name.ant-typography{font-family:var(--mono);color:var(--body);margin:0;font-size:13px}.csv-editor .csv-toolbar{background:var(--surface-card);border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:6px 14px;display:flex}.csv-editor .csv-body.ant-splitter{flex:1;min-width:0;min-height:0;padding:10px}.csv-editor .csv-body>.ant-splitter-panel{min-width:0;min-height:0;display:flex;overflow:hidden}.csv-editor .csv-body>.ant-splitter-panel>.panel{flex:1;min-width:0}.csv-editor .csv-body .ant-splitter-bar-dragger:before{background:#00000014}.csv-editor .csv-body .ant-splitter-bar-dragger:after{background:#0000004d}.csv-editor .panel{background:var(--surface-card);border:1px solid var(--line);border-radius:6px;flex-direction:column;min-height:0;display:flex;overflow:hidden}.csv-editor .panel-head{background:var(--surface-soft);border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:6px 10px;display:flex}.csv-editor .csv-search .ant-input-search-btn{width:36px;min-width:36px;height:36px;min-height:36px;padding:0}.csv-editor .csv-grid{flex:1;min-height:0;overflow:hidden}.csv-editor .csv-grid .ant-table-wrapper,.csv-editor .csv-grid .ant-table{height:100%}.csv-editor .csv-grid .ant-table-thead>tr>th{background:var(--surface-soft);color:var(--ink);font-weight:600}.csv-editor .csv-col-title{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.csv-editor .csv-grid .ant-table-tbody .ant-table-row{cursor:pointer}.csv-editor .csv-grid .ant-table-cell{vertical-align:top;font-size:13.5px}.csv-editor .csv-grid .csv-rownum{color:var(--ash);font-family:var(--mono);font-size:12px}.csv-editor .csv-grid.is-wrapped .csv-cell{white-space:pre-wrap;overflow-wrap:anywhere}.csv-editor .csv-grid .ant-table-row.is-selected>.ant-table-cell{background:var(--accent-soft)}.csv-editor .csv-cell mark{color:inherit;background:#ffe58f;border-radius:2px;padding:0}.csv-editor .csv-cell-editor.ant-input{width:calc(100% + 12px);margin:-4px -6px;font-size:13.5px;min-height:0!important}.csv-editor .csv-filter-on{color:var(--accent-blue)}.csv-editor .csv-sheet-tabs.ant-tabs{background:var(--surface-soft);border-top:1px solid var(--line);flex:none;padding:0 8px}.csv-editor .csv-sheet-tabs>.ant-tabs-content-holder{display:none}.csv-editor .csv-sheet-tabs>.ant-tabs-nav{margin:0}.csv-editor .csv-sheet-tabs>.ant-tabs-nav:before{border-bottom:0}.csv-editor .csv-sheet-tabs .ant-tabs-tab{color:var(--body);border-color:var(--line)!important;background:0 0!important}.csv-editor .csv-sheet-tabs .ant-tabs-tab-active{font-weight:600;background:var(--surface-card)!important;border-top-color:var(--surface-card)!important}.csv-editor .csv-sheet-tabs .ant-tabs-tab-active .ant-tabs-tab-btn{color:var(--ink)!important}.csv-editor .csv-sheet-tabs .ant-tabs-nav-add{color:var(--body);font-size:16px;border-color:var(--line)!important;background:0 0!important}.csv-editor .csv-sheet-label{text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;max-width:180px;display:inline-block;overflow:hidden}.csv-editor .csv-sheet-dirty{color:var(--primary-pressed)}.csv-editor .csv-sheet-rename.ant-input{width:140px;height:24px;min-height:0}.csv-editor .csv-side-tabs.ant-tabs{flex-direction:column;flex:1;min-height:0;display:flex}.csv-editor .csv-side-tabs>.ant-tabs-nav{background:var(--surface-soft);border-bottom:1px solid var(--line);margin:0;padding:0 12px}.csv-editor .csv-side-tabs .ant-tabs-content-holder,.csv-editor .csv-side-tabs .ant-tabs-content,.csv-editor .csv-side-tabs .ant-tabs-tabpane-active{height:100%;min-height:0}.csv-editor .csv-side-tabs .ant-tabs-content-holder{flex:1;overflow:hidden}.csv-editor .csv-side-tabs .ant-tabs-tabpane-active{overflow:auto}.csv-editor .csv-form{flex-direction:column;height:100%;min-height:0;display:flex}.csv-editor .csv-form-head{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;display:flex}.csv-editor .csv-form-filter{padding:8px 12px 0}.csv-editor .csv-form-body{flex:1;min-height:0;padding:6px 8px 14px;overflow:auto}.csv-editor .csv-form-empty,.csv-editor .csv-form-none{text-align:center;padding:24px 16px;display:block}.csv-editor .csv-field{border-radius:4px;grid-template-columns:22px minmax(90px,34%) 1fr;align-items:start;gap:8px;padding:4px;display:grid}.csv-editor .csv-field:hover{background:#f5f5f1}.csv-editor .csv-field.is-dragging{opacity:.4}.csv-editor .csv-field.drop-before{box-shadow:inset 0 2px 0 var(--accent-blue)}.csv-editor .csv-field.drop-after{box-shadow:inset 0 -2px 0 var(--accent-blue)}.csv-editor .csv-field-handle{width:22px;height:32px;color:var(--ash);cursor:grab;background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;padding:0;display:inline-flex}.csv-editor .csv-field-handle:hover,.csv-editor .csv-field-handle:focus-visible{color:var(--ink);background:var(--surface-soft);outline:none}.csv-editor .csv-field-handle:active{cursor:grabbing}.csv-editor .csv-field-label{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;padding-top:6px;font-size:13.5px;font-weight:500;overflow:hidden}.csv-editor .csv-field-input.ant-input{font-size:13.5px;min-height:32px!important}.csv-editor .csv-columns{padding:8px 12px 14px}.csv-editor .csv-column{border-bottom:1px solid var(--line);padding:10px 0}.csv-editor .csv-column-head{align-items:center;gap:8px;display:flex}.csv-editor .csv-column-name.ant-typography{overflow-wrap:anywhere;min-width:0;margin:0}.csv-editor .csv-column-actions{gap:2px;margin-inline-start:auto;display:inline-flex}.csv-editor .csv-column-stats{gap:2px;margin-top:4px;font-size:13px;display:grid}.csv-editor .csv-column-top{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.csv-editor .csv-top-value.ant-tag{gap:6px;max-width:100%;margin:0;display:inline-flex}.csv-editor .csv-top-text{text-overflow:ellipsis;white-space:nowrap;max-width:180px;overflow:hidden}.csv-editor .csv-top-count{color:var(--mute)}.csv-editor .csv-drop{border:2px dashed var(--accent-blue);color:var(--ink);pointer-events:none;z-index:10;background:#eeefe9e6;border-radius:8px;place-items:center;font-size:18px;font-weight:600;display:grid;position:absolute;inset:8px}.csv-filter{gap:8px;width:260px;padding:8px;display:grid}.csv-filter-actions{justify-content:flex-end}.csv-replace-options{flex-wrap:wrap;gap:8px 16px;margin-bottom:12px;display:flex}@media (max-width:768px){.csv-editor{margin-inline:-16px}}
