:root{--primary-color: #2563eb;--secondary-color: #64748b;--background-color: #f8fafc;--border-color: #e2e8f0;--text-color: #1e293b;--filter-bg: #ffffff;--table-bg: #ffffff;--diff-bg: #f1f5f9;--hover-color: #f1f5f9;--selected-color: #dbeafe;--filter-selected: #3b82f6;--filter-unselected: #e2e8f0}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:12px;line-height:1.4;color:var(--text-color);background-color:var(--background-color);overflow:hidden}.Resizer{background:var(--border-color);opacity:.2;z-index:1;transition:opacity .2s}.Resizer:hover{opacity:.5}.Resizer.horizontal{height:4px;cursor:row-resize}.Resizer.vertical{width:4px;cursor:col-resize}.filter-block{background:var(--filter-bg);border:1px solid var(--border-color);border-radius:4px;margin-bottom:8px;padding:8px;font-size:11px}.filter-block h4{margin:0 0 6px;font-size:11px;font-weight:600;color:var(--text-color)}.filter-values{display:flex;flex-direction:column;gap:2px}.filter-value{display:flex;align-items:center;padding:2px 6px;border-radius:3px;cursor:pointer;transition:background-color .1s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10px}.filter-value:hover{background-color:var(--hover-color)}.filter-value.selected{background-color:var(--filter-selected);color:#fff}.filter-value-bar{position:absolute;left:0;top:0;bottom:0;background-color:var(--filter-unselected);border-radius:3px;z-index:-1}.filter-value.selected .filter-value-bar{background-color:var(--filter-selected)}.context-menu{font-size:12px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.context-menu-item{transition:background-color .1s}.context-menu-item:hover{background-color:var(--hover-color)}.table-container{background:var(--table-bg);border:1px solid var(--border-color);border-radius:4px;scrollbar-width:thin;scrollbar-color:var(--border-color) transparent}.table-container::-webkit-scrollbar{width:8px;height:8px}.table-container::-webkit-scrollbar-track{background:transparent}.table-container::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.table-container::-webkit-scrollbar-thumb:hover{background:var(--secondary-color)}.table-header{background:var(--background-color);border-bottom:1px solid var(--border-color);padding:8px;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.table-controls{display:flex;gap:8px;align-items:center}.btn{padding:4px 8px;border:1px solid var(--border-color);border-radius:3px;background:white;cursor:pointer;font-size:10px;transition:all .1s}.btn:hover{background:var(--hover-color)}.btn-primary{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.btn-primary:hover{background:#1d4ed8}.drop-zone{border:2px dashed var(--border-color);border-radius:8px;padding:40px;text-align:center;background:var(--background-color);transition:all .2s;cursor:pointer}.drop-zone.dragover{border-color:var(--primary-color);background:var(--selected-color)}.drop-zone h3{margin:0 0 16px;color:var(--text-color)}.drop-zone p{margin:0;color:var(--secondary-color)}.editable-cell{padding:4px 8px;border:1px solid transparent;border-radius:2px;cursor:pointer;transition:all .1s}.editable-cell:hover{border-color:var(--border-color);background:var(--hover-color)}.editable-cell.editing{border-color:var(--primary-color);background:white;padding:3px 7px}.editable-cell input{width:100%;border:none;outline:none;font-size:inherit;font-family:inherit;background:transparent}.diff-container{background:var(--diff-bg);border:1px solid var(--border-color);border-radius:4px;padding:8px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:10px;line-height:1.3}.diff-line{padding:1px 4px;white-space:pre}.diff-line.added{background:#dcfce7;color:#166534}.diff-line.removed{background:#fef2f2;color:#dc2626}.diff-line.unchanged{color:var(--secondary-color)}.filters-container{padding:8px}.filters-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border-color)}.filters-header h3{margin:0;font-size:12px;font-weight:600}.sort-controls{display:flex;gap:4px;margin-bottom:6px}.sort-btn{padding:2px 4px;border:1px solid var(--border-color);border-radius:2px;background:white;cursor:pointer;font-size:9px;transition:all .1s}.sort-btn.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.sort-btn:hover{background:var(--hover-color)}.sort-btn.active:hover{background:#1d4ed8}table{border-collapse:collapse;width:100%}thead{position:sticky;top:0;z-index:10;background:var(--background-color)}thead th{background:var(--background-color)}th{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:white;border-radius:8px;box-shadow:0 4px 12px #00000026;max-width:90vw;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.parse-error-modal{width:800px}.modal-header{padding:20px 24px 16px;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.modal-header h2{margin:0;font-size:18px;font-weight:600;color:var(--text-color)}.modal-close{background:none;border:none;font-size:24px;cursor:pointer;color:var(--secondary-color);padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.modal-close:hover{color:var(--text-color)}.modal-body{padding:20px 24px;overflow-y:auto;flex:1}.modal-footer{padding:16px 24px 20px;border-top:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.error-summary{margin-bottom:20px;padding:12px;background:#fef2f2;border:1px solid #fecaca;border-radius:4px;font-size:13px}.error-summary p{margin:0 0 8px}.error-summary p:last-child{margin-bottom:0}.errors-list{display:flex;flex-direction:column;gap:16px}.error-item{border:1px solid var(--border-color);border-radius:6px;padding:16px;background:white}.error-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.error-severity{font-weight:600;font-size:12px;display:flex;align-items:center;gap:4px}.error-location{font-size:11px;color:var(--secondary-color);font-family:Monaco,Menlo,Ubuntu Mono,monospace}.error-message{font-size:13px;margin-bottom:8px;color:var(--text-color);line-height:1.4}.error-type{font-size:11px;color:var(--secondary-color);margin-bottom:12px;text-transform:capitalize}.error-context{margin-top:12px}.context-header{font-size:11px;font-weight:600;color:var(--secondary-color);margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}.code-block{background:#f8fafc;border:1px solid var(--border-color);border-radius:4px;padding:8px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:11px;line-height:1.4;overflow-x:auto}.code-line{display:flex;position:relative}.code-line.error-line{background:#fef2f2;margin:-2px -4px;padding:2px 4px;border-radius:2px}.line-number{color:var(--secondary-color);width:40px;flex-shrink:0;text-align:right;margin-right:12px;-webkit-user-select:none;user-select:none}.line-content{flex:1;white-space:pre;min-height:1.4em}.error-pointer{position:absolute;color:#dc2626;font-weight:700;pointer-events:none;top:0;left:52px}.help-text{margin:0;font-size:12px;color:var(--secondary-color)}.button-secondary{padding:8px 16px;border:1px solid var(--border-color);border-radius:4px;background:white;cursor:pointer;font-size:12px;transition:all .1s}.button-secondary:hover{background:var(--hover-color)}.button-primary{padding:8px 16px;border:1px solid var(--primary-color);border-radius:4px;background:var(--primary-color);color:#fff;cursor:pointer;font-size:12px;transition:all .1s}.button-primary:hover{background:#1d4ed8}
