@import "https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Inter:wght@300;400;500;600&display=swap";
*{box-sizing:border-box;margin:0;padding:0}body{color:#1e293b;background:#f5f7fa;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow:hidden}.app-container{flex-direction:column;max-width:100vw;height:100vh;display:flex;overflow:hidden}.toolbar{background:#fff;border-bottom:2px solid #e2e8f0;justify-content:space-between;align-items:center;gap:1rem;width:100%;height:auto;padding:.5rem 1rem;display:flex;box-shadow:0 1px 3px #0000000d}.toolbar-left,.toolbar-center,.toolbar-right{align-items:center;gap:.75rem;display:flex}.toolbar-left{white-space:nowrap;flex:0;align-items:center;gap:.5rem;display:flex}.toolbar-center{flex:0;justify-content:center;display:none}.toolbar-right{flex-shrink:0}.stats-badge{color:#fff;white-space:nowrap;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:6px;padding:.375rem .75rem;font-size:.75rem;font-weight:600;box-shadow:0 2px 8px #667eea40}.clear-filters-btn{color:#78350f;cursor:pointer;white-space:nowrap;background:#fbbf24;border:none;border-radius:4px;padding:.375rem .625rem;font-size:.7rem;font-weight:600;transition:background-color .2s,transform .2s}.clear-filters-btn:hover{background:#f59e0b;transform:translateY(-1px)}.search-container{width:100%;max-width:500px;position:relative}.search-icon{color:#94a3b8;pointer-events:none;width:1.125rem;height:1.125rem;position:absolute;top:50%;left:1rem;transform:translateY(-50%)}.search-input{color:#1e293b;background:#f8fafc;border:2px solid #e2e8f0;border-radius:10px;width:100%;padding:.75rem 2.75rem;font-size:.875rem;transition:border-color .2s,background-color .2s,box-shadow .2s}.search-input:focus{background:#fff;border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea1a}.clear-search{color:#64748b;cursor:pointer;background:#e2e8f0;border:none;border-radius:50%;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;font-size:1.25rem;line-height:1;transition:background-color .2s;display:flex;position:absolute;top:50%;right:1rem;transform:translateY(-50%)}.clear-search:hover{background:#cbd5e1}.add-column-btn{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:6px;align-items:center;gap:.375rem;padding:.375rem .875rem;font-size:.75rem;font-weight:600;transition:transform .2s,box-shadow .2s;display:flex}.add-column-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.btn-icon{width:1rem;height:1rem}.dialog-body{flex-direction:column;gap:1rem;padding:1rem 0;display:flex}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-group label{color:#334155;font-size:.875rem;font-weight:600}.table-wrapper{background:#fff;border-top:1px solid #e2e8f0;flex:1;margin:0;display:flex;overflow:hidden}.loading-state{color:#64748b;flex-direction:column;justify-content:center;align-items:center;height:100%;display:flex}.loading-icon{color:#667eea;width:3rem;height:3rem;margin-bottom:1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}.table-container{width:-webkit-fit-content;width:fit-content;height:100%;position:relative;overflow:auto}.table-container::-webkit-scrollbar{width:12px;height:12px}.table-container::-webkit-scrollbar-track{background:#f1f5f9}.table-container::-webkit-scrollbar-thumb{background:#cbd5e1;border:2px solid #f1f5f9;border-radius:6px}.table-container::-webkit-scrollbar-thumb:hover{background:#94a3b8}.table-container::-webkit-scrollbar-corner{background:#f1f5f9}.table-header-row,.table-body-row{border-bottom:1px solid #e2e8f0;display:flex}.header-cell-wrapper{flex-shrink:0;position:relative}.table-header-row{z-index:10;background:linear-gradient(#f8fafc 0%,#f1f5f9 100%);border-bottom:2px solid #cbd5e1;height:40px;position:-webkit-sticky;position:sticky;top:0}.table-summary-row{z-index:9;border-bottom:1px solid #e2e8f0;display:flex;position:-webkit-sticky;position:sticky;top:40px}.table-summary-cell{color:#0f172a;white-space:nowrap;text-overflow:ellipsis;border-right:1px solid #e5e7eb;flex-shrink:0;align-items:center;padding:.25rem;font-size:.8125rem;font-weight:700;display:flex;overflow:hidden}.table-summary-cell:nth-child(odd){background-color:#f5f5f5;border:1px solid #e5e7eb}.table-summary-cell:nth-child(2n){background-color:#fff;border:1px solid #e5e7eb}.table-header-cell{color:#475569;text-transform:uppercase;letter-spacing:.05em;-webkit-user-select:none;user-select:none;white-space:nowrap;border-right:1px solid #e2e8f0;flex-shrink:0;justify-content:center;align-items:center;gap:.15rem;min-width:auto;height:40px;padding:.375rem .25rem;font-family:Space Grotesk,sans-serif;font-size:.8125rem;font-weight:600;line-height:1;display:flex;position:relative;overflow:hidden}.header-cell-wrapper:nth-child(odd) .table-header-cell{border:1px solid #e5e7eb;background-color:#f5f5f5!important}.header-cell-wrapper:nth-child(2n) .table-header-cell{border:1px solid #e5e7eb;background-color:#fff!important}.table-header-cell:hover{opacity:.8}.header-cell-content{white-space:nowrap;cursor:pointer;flex:0 auto;align-items:center;gap:.2rem;width:100%;min-width:auto;height:100%;padding:4px;display:flex;overflow:hidden}.header-cell-content span{text-overflow:clip;white-space:nowrap;overflow:visible}.header-icons{flex-shrink:0;align-items:center;display:flex}.header-actions{flex-shrink:0;align-items:center;gap:.25rem;height:100%;margin-left:.25rem;display:flex}.freeze-btn{cursor:pointer;background:#f8fafc;border:1px solid #cbd5e1;border-radius:3px;justify-content:center;align-items:center;width:20px;height:20px;font-size:12px;transition:all .2s;display:flex}.freeze-btn:hover{background:#e2e8f0;border-color:#94a3b8}.freeze-btn.frozen{color:#fff;background:#3b82f6;border-color:#2563eb}.header-cell-wrapper.frozen-column{background:inherit;min-width:-webkit-fit-content;min-width:fit-content;box-shadow:2px 0 4px #00000026;z-index:20!important;position:-webkit-sticky!important;position:sticky!important;left:0!important}.table-body-cell.frozen-column,.table-summary-cell.frozen-column{background:inherit;min-width:-webkit-fit-content;min-width:fit-content;box-shadow:2px 0 4px #00000026;z-index:10!important;position:-webkit-sticky!important;position:sticky!important;left:0!important}.filter-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:1.5rem;min-width:1.5rem;height:1.5rem;padding:0;line-height:1;transition:background-color .2s,color .2s;display:flex}.filter-btn:hover{color:#667eea;background:#e0e7ff}.filter-btn.active{color:#0284c7;background:#dbeafe}.filter-icon{width:.875rem;height:.875rem}.table-body-row{background:#f8fafc}.table-body-cell{color:#334155;white-space:nowrap;text-overflow:unset;border-right:1px solid #f1f5f9;flex-shrink:0;padding:.25rem;font-size:.8125rem;overflow:hidden}.table-body-cell:nth-child(odd){background-color:#f5f5f5}.table-body-cell:nth-child(2n){background-color:#fff}@media (max-width:1024px){.toolbar{flex-wrap:wrap}.toolbar-center{flex-basis:100%;order:3}.search-container{max-width:100%}}@media (max-width:768px){.toolbar{padding:.75rem}.stats-badge{padding:.375rem .75rem;font-size:.75rem}.add-column-btn{padding:.5rem .875rem;font-size:.8125rem}}.filter-dropdown{z-index:100;background:#fff;border:1px solid #e2e8f0;border-radius:8px;flex-direction:column;max-height:300px;margin-top:.5rem;display:flex;position:absolute;top:100%;left:0;box-shadow:0 10px 25px #0000001a}.filter-header{border-bottom:1px solid #e2e8f0;flex-shrink:0;justify-content:space-between;align-items:center;padding:.75rem;display:flex}.filter-title{color:#334155;font-size:.8125rem;font-weight:600}.filter-clear{color:#667eea;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.25rem .5rem;font-size:.75rem;font-weight:600;transition:background-color .2s}.filter-clear:hover{background:#f1f5f9}.filter-options{flex:1;padding:.5rem;overflow-y:auto}.filter-option{cursor:pointer;color:#334155;border-radius:4px;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.8125rem;transition:background-color .2s;display:flex}.filter-option:hover{background:#f1f5f9}.filter-checkbox{cursor:pointer;accent-color:#667eea;width:1rem;height:1rem}.filter-option span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}
