#tableContainer{background:var(--bg);padding:20px;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.1)}.virtual-table-container{width:100%;display:flex;flex-direction:column;gap:10px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Arial,sans-serif}.virtual-table-search-wrapper{position:relative;width:100%}.virtual-table-search{width:60%;padding:10px 40px 10px 15px;font-size:14px;border:1px solid var(--border);border-radius:4px;box-sizing:border-box;transition:border-color .2s ease;background:var(--accent-bg);color:var(--text)}.virtual-table-search:focus{outline:0;border-color:#4caf50;box-shadow:0 0 0 2px rgba(76,175,80,.1)}.virtual-table-search-clear{position:absolute;right:8px;top:40%;transform:translateY(-50%);width:28px;height:28px;border:0;background:0 0;color:var(--text-light);font-size:22px;line-height:1;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none}.virtual-table-search-clear:hover{background:rgba(128,128,128,.15);color:var(--text)}.virtual-table-search-clear:active{background:rgba(0,0,0,.1)}.virtual-table-search-clear:focus{outline:2px solid #4caf50;outline-offset:2px}@media (hover:none) and (pointer:coarse){.virtual-table-search-clear{width:36px;height:36px;font-size:28px}}.virtual-table-wrapper{width:100%;height:600px;overflow-y:auto;overflow-x:auto;border:1px solid var(--border);border-radius:4px;background:var(--bg);position:relative}.virtual-table{width:100%;min-width:720px;border-collapse:collapse;table-layout:fixed}.virtual-table thead{position:sticky;top:0;z-index:10;background:var(--accent-bg)}.virtual-table th{padding:12px 15px;text-align:left;font-weight:600;font-size:14px;color:var(--text);border-bottom:2px solid var(--border);background:var(--accent-bg);white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none}.virtual-table th.sortable{cursor:pointer;transition:background-color .2s ease}.virtual-table th.sortable:hover{background-color:var(--border)}.virtual-table th.sortable .header-text{margin-right:5px}.virtual-table th.sortable .sort-indicator{display:inline-block;width:12px;font-size:10px;color:var(--text-light)}.virtual-table th.sorted{background-color:var(--accent-bg);color:var(--accent)}.virtual-table tbody tr:not(.virtual-table-spacer){transition:background-color .1s ease}.virtual-table tbody tr.even{background-color:var(--bg)}.virtual-table tbody tr.odd{background-color:var(--accent-bg)}.virtual-table tbody tr:not(.virtual-table-spacer):hover{background-color:var(--accent-bg);cursor:pointer}.virtual-table td{padding:10px 15px;font-size:14px;color:var(--text);border-bottom:1px solid var(--border)}.virtual-table-spacer{pointer-events:none}.virtual-table-spacer td{padding:0;border:0}.virtual-table-info{padding:8px 10px;font-size:13px;color:var(--text-light);text-align:right;border-top:1px solid var(--border);background:var(--accent-bg);border-radius:0 0 4px 4px}@media (max-width:768px){.virtual-table-wrapper{height:500px}.virtual-table td,.virtual-table th{padding:8px 10px;font-size:13px}.virtual-table-search{font-size:16px}}.virtual-table-wrapper::-webkit-scrollbar{width:10px;height:10px}.virtual-table-wrapper::-webkit-scrollbar-track{background:var(--accent-bg);border-radius:4px}.virtual-table-wrapper::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.virtual-table-wrapper::-webkit-scrollbar-thumb:hover{background:var(--accent)}.virtual-table-container.loading{opacity:.6;pointer-events:none}.virtual-table-container.loading::after{content:"Loading...";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--bg);padding:20px 40px;border-radius:4px;box-shadow:0 2px 10px rgba(0,0,0,.2);font-size:16px;font-weight:600;color:var(--text);z-index:100}.virtual-table tbody:empty::after{content:"No data to display";display:block;padding:40px;text-align:center;color:var(--text-light);font-size:14px}.virtual-table .currency-column,.virtual-table .number-column,.virtual-table .percentage-column{text-align:right;font-variant-numeric:tabular-nums}