sqlite-hub 1.2.0 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (169) hide show
  1. package/README.md +113 -71
  2. package/bin/sqlite-hub.js +723 -116
  3. package/docs/API.md +152 -0
  4. package/docs/CLI.md +249 -0
  5. package/docs/CLI_API_PARITY.md +61 -0
  6. package/docs/changelog.md +149 -0
  7. package/docs/guidelines/AGENTS.md +32 -0
  8. package/docs/guidelines/DESIGN.md +55 -0
  9. package/docs/shortkeys.md +27 -0
  10. package/docs/todo.md +4 -0
  11. package/examples/api/generate-types.js +52 -0
  12. package/frontend/assets/mockups/backups_1_1920.webp +0 -0
  13. package/frontend/assets/mockups/backups_2_create_backup_modal_1920.webp +0 -0
  14. package/frontend/assets/mockups/backups_3_edit_backup_modal_1920.webp +0 -0
  15. package/frontend/assets/mockups/backups_4_restore_backup_modal_1920.webp +0 -0
  16. package/frontend/assets/mockups/backups_5_delete_backup_modal_1920.webp +0 -0
  17. package/frontend/assets/mockups/charts_1_1920.webp +0 -0
  18. package/frontend/assets/mockups/charts_2_query_detail_1920.webp +0 -0
  19. package/frontend/assets/mockups/charts_3_create_query_chart_modal_1920.webp +0 -0
  20. package/frontend/assets/mockups/charts_4_edit_query_chart_modal_1920.webp +0 -0
  21. package/frontend/assets/mockups/charts_5_delete_query_chart_modal_1920.webp +0 -0
  22. package/frontend/assets/mockups/charts_6_copy_column_modal_1920.webp +0 -0
  23. package/frontend/assets/mockups/connections_1_1920.webp +0 -0
  24. package/frontend/assets/mockups/connections_2_create_connection_modal_1920.webp +0 -0
  25. package/frontend/assets/mockups/connections_3_open_connection_modal_1920.webp +0 -0
  26. package/frontend/assets/mockups/data_1_1920.webp +0 -0
  27. package/frontend/assets/mockups/data_2_roweditor_1920.webp +0 -0
  28. package/frontend/assets/mockups/data_3_data_export_modal_1920.webp +0 -0
  29. package/frontend/assets/mockups/documents_1_1920.webp +0 -0
  30. package/frontend/assets/mockups/documents_2_document_insert_table_modal_1920.webp +0 -0
  31. package/frontend/assets/mockups/documents_3_document_insert_note_modal_1920.webp +0 -0
  32. package/frontend/assets/mockups/media_tagging_queue_1_1920.webp +0 -0
  33. package/frontend/assets/mockups/media_tagging_setup_1_1920.webp +0 -0
  34. package/frontend/assets/mockups/media_tagging_setup_2_create_media_tagging_tag_table_modal_1920.webp +0 -0
  35. package/frontend/assets/mockups/media_tagging_setup_3_create_media_tagging_mapping_table_modal_1920.webp +0 -0
  36. package/frontend/assets/mockups/overview_1_1920.webp +0 -0
  37. package/frontend/assets/mockups/settings_1_1920.webp +0 -0
  38. package/frontend/assets/mockups/sql_editor_1_1920.webp +0 -0
  39. package/frontend/assets/mockups/sql_editor_2_query_detail_1920.webp +0 -0
  40. package/frontend/assets/mockups/sql_editor_3_query_export_modal_1920.webp +0 -0
  41. package/frontend/assets/mockups/structure_1_1920.webp +0 -0
  42. package/frontend/assets/mockups/structure_2_generate_types_modal_1920.webp +0 -0
  43. package/frontend/assets/mockups/structure_3_generate_types_modal_1920.webp +0 -0
  44. package/frontend/assets/mockups/table_designer_1_1920.webp +0 -0
  45. package/frontend/assets/mockups/table_designer_2_table_designer_constraints_modal_1920.webp +0 -0
  46. package/frontend/js/api.js +63 -0
  47. package/frontend/js/app.js +310 -10
  48. package/frontend/js/components/connectionCard.js +4 -2
  49. package/frontend/js/components/emptyState.js +4 -4
  50. package/frontend/js/components/generateTypesDropdown.js +33 -0
  51. package/frontend/js/components/metricCard.js +1 -1
  52. package/frontend/js/components/modal.js +555 -21
  53. package/frontend/js/components/pageHeader.js +1 -1
  54. package/frontend/js/components/queryHistoryDetail.js +3 -3
  55. package/frontend/js/components/queryHistoryHeader.js +1 -1
  56. package/frontend/js/components/queryHistoryPanel.js +1 -1
  57. package/frontend/js/components/rowEditorPanel.js +13 -3
  58. package/frontend/js/components/sidebar.js +41 -7
  59. package/frontend/js/components/topNav.js +2 -14
  60. package/frontend/js/router.js +38 -6
  61. package/frontend/js/store.js +870 -8
  62. package/frontend/js/utils/inputClear.js +36 -0
  63. package/frontend/js/utils/syntheticData.js +240 -0
  64. package/frontend/js/views/backups.js +581 -37
  65. package/frontend/js/views/charts.js +9 -9
  66. package/frontend/js/views/connections.js +2 -2
  67. package/frontend/js/views/data.js +17 -1
  68. package/frontend/js/views/documents.js +3 -3
  69. package/frontend/js/views/editor.js +6 -6
  70. package/frontend/js/views/logs.js +339 -0
  71. package/frontend/js/views/mediaTagging.js +7 -5
  72. package/frontend/js/views/overview.js +3 -3
  73. package/frontend/js/views/settings.js +80 -30
  74. package/frontend/js/views/structure.js +12 -1
  75. package/frontend/js/views/tableAdvisor.js +385 -0
  76. package/frontend/js/views/tableDesigner.js +6 -0
  77. package/frontend/styles/base.css +1 -40
  78. package/frontend/styles/components.css +258 -232
  79. package/frontend/styles/structure-graph.css +32 -68
  80. package/frontend/styles/tailwind.css +8 -4
  81. package/frontend/styles/tailwind.generated.css +1 -1
  82. package/frontend/styles/tokens.css +28 -21
  83. package/frontend/styles/views.css +102 -261
  84. package/package.json +18 -2
  85. package/server/routes/backups.js +18 -2
  86. package/server/routes/data.js +45 -0
  87. package/server/routes/externalApi.js +321 -2
  88. package/server/routes/logs.js +127 -0
  89. package/server/routes/structure.js +22 -0
  90. package/server/server.js +3 -0
  91. package/server/services/databaseCommandService.js +59 -0
  92. package/server/services/sqlite/backupDiff.js +914 -0
  93. package/server/services/sqlite/backupService.js +77 -1
  94. package/server/services/sqlite/dataBrowserService.js +36 -0
  95. package/server/services/sqlite/introspection.js +226 -22
  96. package/server/services/sqlite/structureService.js +7 -0
  97. package/server/services/sqlite/syntheticDataGenerator.js +728 -0
  98. package/server/services/sqlite/tableAdvisor.js +790 -0
  99. package/server/services/storage/appStateStore.js +773 -169
  100. package/server/services/typeGenerationService.js +663 -0
  101. package/tailwind.config.cjs +0 -1
  102. package/.github/funding.yml +0 -2
  103. package/.github/workflows/ci.yml +0 -36
  104. package/database.sqlite +0 -0
  105. package/frontend/assets/mockups/charts_1_bars_1200.webp +0 -0
  106. package/frontend/assets/mockups/charts_2_pie_1200.webp +0 -0
  107. package/frontend/assets/mockups/charts_3_scatter_plot_1200.webp +0 -0
  108. package/frontend/assets/mockups/connections_1200.webp +0 -0
  109. package/frontend/assets/mockups/data_1_1200.webp +0 -0
  110. package/frontend/assets/mockups/data_2_row_editor_1200.webp +0 -0
  111. package/frontend/assets/mockups/documents_1200.webp +0 -0
  112. package/frontend/assets/mockups/media_tagging_1_setup_1200.webp +0 -0
  113. package/frontend/assets/mockups/media_tagging_2_tagging_queue_1200.webp +0 -0
  114. package/frontend/assets/mockups/media_tagging_3_media_viewer_1200.webp +0 -0
  115. package/frontend/assets/mockups/overview_1200.webp +0 -0
  116. package/frontend/assets/mockups/settings_1200.webp +0 -0
  117. package/frontend/assets/mockups/sql_editor_1_1200.webp +0 -0
  118. package/frontend/assets/mockups/sql_editor_2_query_details_1200.webp +0 -0
  119. package/frontend/assets/mockups/sql_editor_3_export_column_1200.webp +0 -0
  120. package/frontend/assets/mockups/sql_editor_4_export_column_as_markdown_1200.webp +0 -0
  121. package/frontend/assets/mockups/sql_editor_5_export_query_result_1200.webp +0 -0
  122. package/frontend/assets/mockups/structure_1_1200.webp +0 -0
  123. package/frontend/assets/mockups/structure_2_inspector_1200.webp +0 -0
  124. package/frontend/assets/mockups/table_designer_1_1200.webp +0 -0
  125. package/frontend/assets/mockups/table_designer_2_checks_1200.webp +0 -0
  126. package/tests/api-token-auth.test.js +0 -279
  127. package/tests/backup-manager.test.js +0 -140
  128. package/tests/backups-view.test.js +0 -70
  129. package/tests/charts-height-preset-storage.test.js +0 -60
  130. package/tests/charts-route-state.test.js +0 -144
  131. package/tests/check-constraint-options.test.js +0 -90
  132. package/tests/cli-args.test.js +0 -113
  133. package/tests/cli-service-delegation.test.js +0 -140
  134. package/tests/connection-removal.test.js +0 -52
  135. package/tests/connections-file-dialog-route.test.js +0 -89
  136. package/tests/copy-column-modal.test.js +0 -131
  137. package/tests/database-command-service.test.js +0 -174
  138. package/tests/database-documents.test.js +0 -85
  139. package/tests/documents-view.test.js +0 -132
  140. package/tests/dropdown-button.test.js +0 -101
  141. package/tests/email-preview.test.js +0 -89
  142. package/tests/export-blob.test.js +0 -99
  143. package/tests/export-filenames.test.js +0 -38
  144. package/tests/file-path-preview.test.js +0 -165
  145. package/tests/form-controls.test.js +0 -34
  146. package/tests/json-preview.test.js +0 -49
  147. package/tests/local-request-security.test.js +0 -85
  148. package/tests/markdown-documents.test.js +0 -103
  149. package/tests/native-file-dialog.test.js +0 -105
  150. package/tests/query-editor.test.js +0 -28
  151. package/tests/query-history-detail.test.js +0 -37
  152. package/tests/query-history-header.test.js +0 -30
  153. package/tests/query-results-truncation.test.js +0 -20
  154. package/tests/risky-sql.test.js +0 -30
  155. package/tests/row-editor-json.test.js +0 -82
  156. package/tests/row-editor-null-values.test.js +0 -184
  157. package/tests/row-editor-timestamp-preview.test.js +0 -192
  158. package/tests/security-paths.test.js +0 -84
  159. package/tests/settings-api-tokens-route.test.js +0 -97
  160. package/tests/settings-metadata.test.js +0 -114
  161. package/tests/settings-view.test.js +0 -108
  162. package/tests/sql-formatter.test.js +0 -173
  163. package/tests/sql-highlight.test.js +0 -38
  164. package/tests/sql-identifier-safety.test.js +0 -171
  165. package/tests/sql-result-limit.test.js +0 -66
  166. package/tests/structure-view.test.js +0 -60
  167. package/tests/table-designer-v2-unique-constraints.test.js +0 -78
  168. package/tests/table-scroll-state.test.js +0 -70
  169. package/tests/text-cell-stats.test.js +0 -38
@@ -9,43 +9,13 @@
9
9
 
10
10
  .top-nav-brand {
11
11
  color: var(--color-primary-container);
12
- font-family: var(--font-family-headline);
12
+ font-family: var(--font-family-body);
13
13
  font-size: 1.25rem;
14
14
  font-weight: 900;
15
15
  letter-spacing: 0.2em;
16
16
  text-transform: uppercase;
17
17
  }
18
18
 
19
- .top-nav-links {
20
- align-items: center;
21
- display: none;
22
- gap: var(--spacing-4);
23
- height: 100%;
24
- }
25
-
26
- .top-nav-link {
27
- align-items: center;
28
- color: var(--text-muted);
29
- display: flex;
30
- font-family: var(--font-family-headline);
31
- height: 100%;
32
- letter-spacing: -0.04em;
33
- padding: 0 var(--spacing-2);
34
- text-transform: uppercase;
35
- transition:
36
- background-color var(--transition-fast),
37
- color var(--transition-fast);
38
- }
39
-
40
- .top-nav-link:hover {
41
- background: var(--color-surface-highest);
42
- }
43
-
44
- .top-nav-link.is-active {
45
- box-shadow: inset 0 -2px 0 var(--color-primary-container);
46
- color: var(--color-primary-container);
47
- }
48
-
49
19
  .top-nav-actions {
50
20
  align-items: center;
51
21
  display: flex;
@@ -91,8 +61,8 @@
91
61
  .sidebar-sublinks {
92
62
  display: flex;
93
63
  flex-direction: column;
94
- gap: 2px;
95
- margin: 4px 0 4px var(--spacing-6);
64
+ gap: calc(var(--spacing-1) / 2);
65
+ margin: var(--spacing-1) 0 var(--spacing-1) var(--spacing-6);
96
66
  padding-left: var(--spacing-6);
97
67
  border-left: 1px solid rgb(var(--rgb-outline) / 0.15);
98
68
  }
@@ -104,9 +74,9 @@
104
74
  font-family: var(--font-family-body);
105
75
  font-size: 0.6875rem;
106
76
  font-weight: 500;
107
- gap: var(--spacing-3);
77
+ gap: var(--spacing-4);
108
78
  letter-spacing: 0.06em;
109
- padding: 0.5rem var(--spacing-4);
79
+ padding: var(--spacing-2) var(--spacing-4);
110
80
  text-transform: none;
111
81
  transition:
112
82
  background-color var(--transition-fast),
@@ -114,12 +84,14 @@
114
84
  border-color var(--transition-fast);
115
85
  }
116
86
 
117
- .sidebar-sublink:hover {
87
+ .sidebar-sublink:hover,
88
+ .sidebar-link:hover {
118
89
  background: var(--color-surface-container);
119
90
  color: var(--color-primary-container);
120
91
  }
121
92
 
122
- .sidebar-sublink.is-active {
93
+ .sidebar-sublink.is-active,
94
+ .sidebar-link.is-active {
123
95
  background: var(--color-surface-high);
124
96
  box-shadow: inset 2px 0 0 var(--color-primary-container);
125
97
  color: var(--color-primary-container);
@@ -129,12 +101,12 @@
129
101
  align-items: center;
130
102
  color: rgb(var(--rgb-on-surface) / 0.4);
131
103
  display: flex;
132
- font-family: var(--font-family-headline);
104
+ font-family: var(--font-family-body);
133
105
  font-size: 0.75rem;
134
106
  font-weight: 700;
135
107
  gap: var(--spacing-4);
136
108
  letter-spacing: 0.15em;
137
- padding: 0.75rem var(--spacing-6);
109
+ padding: var(--spacing-4) var(--spacing-6);
138
110
  text-transform: uppercase;
139
111
  transition:
140
112
  background-color var(--transition-fast),
@@ -142,17 +114,6 @@
142
114
  border-color var(--transition-fast);
143
115
  }
144
116
 
145
- .sidebar-link:hover {
146
- background: var(--color-surface-container);
147
- color: var(--color-primary-container);
148
- }
149
-
150
- .sidebar-link.is-active {
151
- background: var(--color-surface-high);
152
- box-shadow: inset 2px 0 0 var(--color-primary-container);
153
- color: var(--color-primary-container);
154
- }
155
-
156
117
  .subnavi-panel {
157
118
  display: flex;
158
119
  flex: 0 0 var(--subnavi-width);
@@ -170,7 +131,7 @@
170
131
  gap: var(--spacing-2);
171
132
  min-height: 0;
172
133
  overflow: auto;
173
- padding: var(--spacing-3);
134
+ padding: var(--spacing-4);
174
135
  }
175
136
 
176
137
  .subnavi-item {
@@ -185,14 +146,14 @@
185
146
  flex-wrap: wrap;
186
147
  gap: var(--spacing-4);
187
148
  justify-content: space-between;
188
- padding: var(--spacing-5);
149
+ padding: var(--spacing-6);
189
150
  }
190
151
 
191
152
  .subnavi-header > :first-child {
192
153
  align-items: baseline;
193
154
  display: flex;
194
155
  flex-wrap: wrap;
195
- gap: var(--spacing-3);
156
+ gap: var(--spacing-4);
196
157
  justify-content: space-between;
197
158
  min-width: 0;
198
159
  width: 100%;
@@ -227,8 +188,8 @@
227
188
  display: flex;
228
189
  flex-wrap: wrap;
229
190
  gap: var(--spacing-4);
230
- min-height: calc(var(--button-height) + (var(--spacing-3) * 2));
231
- padding: var(--spacing-3) var(--spacing-6);
191
+ min-height: calc(var(--button-height) + (var(--spacing-4) * 2));
192
+ padding: var(--spacing-4) var(--spacing-6);
232
193
  }
233
194
 
234
195
  .workspace-header--low {
@@ -251,7 +212,7 @@
251
212
  border: 1px solid rgb(var(--rgb-outline) / 0.12);
252
213
  cursor: pointer;
253
214
  display: flex;
254
- gap: var(--spacing-3);
215
+ gap: var(--spacing-4);
255
216
  list-style: none;
256
217
  padding: var(--spacing-2);
257
218
  transition:
@@ -266,7 +227,9 @@
266
227
  border-color: var(--primary-alpha-24);
267
228
  }
268
229
 
269
- .sidebar-footer-card::-webkit-details-marker {
230
+ .sidebar-footer-card::-webkit-details-marker,
231
+ .dropdown-button__toggle::-webkit-details-marker,
232
+ .query-result-column-menu__toggle::-webkit-details-marker {
270
233
  display: none;
271
234
  }
272
235
 
@@ -303,7 +266,7 @@
303
266
  .sidebar-db-picker__panel {
304
267
  background: var(--color-surface-container);
305
268
  border: 1px solid rgb(var(--rgb-outline) / 0.2);
306
- bottom: calc(100% + var(--spacing-3));
269
+ bottom: calc(100% + var(--spacing-4));
307
270
  box-shadow: 0 18px 48px rgb(0 0 0 / 0.42);
308
271
  display: flex;
309
272
  flex-direction: column;
@@ -341,7 +304,7 @@
341
304
  color: var(--color-on-surface);
342
305
  cursor: pointer;
343
306
  display: flex;
344
- gap: var(--spacing-3);
307
+ gap: var(--spacing-4);
345
308
  min-width: 0;
346
309
  padding: var(--spacing-2);
347
310
  text-align: left;
@@ -357,7 +320,8 @@
357
320
  border-color: var(--primary-alpha-24);
358
321
  }
359
322
 
360
- .sidebar-db-picker-card.is-active {
323
+ .sidebar-db-picker-card.is-active,
324
+ .metric-card--accent {
361
325
  box-shadow: inset 2px 0 0 var(--color-primary-container);
362
326
  }
363
327
 
@@ -377,7 +341,8 @@
377
341
  color: var(--color-on-primary);
378
342
  }
379
343
 
380
- .sidebar-db-picker-card__body {
344
+ .sidebar-db-picker-card__body,
345
+ .query-result-column-label {
381
346
  display: block;
382
347
  min-width: 0;
383
348
  }
@@ -401,7 +366,7 @@
401
366
  color: rgb(var(--rgb-on-surface-variant) / 0.54);
402
367
  font-family: var(--font-family-mono);
403
368
  font-size: 9px;
404
- margin-top: 1px;
369
+ margin-top: calc(var(--spacing-1) / 4);
405
370
  }
406
371
 
407
372
  .sidebar-db-picker-card__meta {
@@ -410,7 +375,7 @@
410
375
  font-size: 8px;
411
376
  font-weight: 700;
412
377
  letter-spacing: 0.12em;
413
- margin-top: 2px;
378
+ margin-top: calc(var(--spacing-1) / 2);
414
379
  text-transform: uppercase;
415
380
  }
416
381
 
@@ -418,7 +383,7 @@
418
383
  border: 1px dashed rgb(var(--rgb-outline) / 0.16);
419
384
  color: rgb(var(--rgb-on-surface-variant) / 0.55);
420
385
  font-size: 0.72rem;
421
- padding: var(--spacing-3);
386
+ padding: var(--spacing-4);
422
387
  text-align: center;
423
388
  }
424
389
 
@@ -473,10 +438,180 @@
473
438
  border: 1px solid var(--border-subtle);
474
439
  }
475
440
 
441
+ .app-modal-shell {
442
+ display: flex;
443
+ flex-direction: column;
444
+ max-height: calc(100vh - var(--spacing-8));
445
+ max-height: calc(100dvh - var(--spacing-8));
446
+ overflow: hidden;
447
+ }
448
+
449
+ .app-modal-body {
450
+ flex: 1 1 auto;
451
+ min-height: 0;
452
+ overflow-y: auto;
453
+ }
454
+
455
+ .app-modal-body--no-scroll {
456
+ overflow: hidden;
457
+ }
458
+
459
+ .type-generation-code-preview {
460
+ display: block;
461
+ height: clamp(20rem, 50vh, 32rem);
462
+ overflow-x: hidden;
463
+ overflow-y: scroll;
464
+ scrollbar-gutter: stable;
465
+ }
466
+
467
+ .generate-data-modal-form {
468
+ display: flex;
469
+ flex-direction: column;
470
+ gap: var(--spacing-4);
471
+ min-height: 0;
472
+ }
473
+
474
+ .synthetic-generator-count-row {
475
+ display: grid;
476
+ gap: var(--spacing-4);
477
+ grid-template-columns: 12rem minmax(0, 1fr);
478
+ }
479
+
480
+ .synthetic-generator-grid {
481
+ border: 1px solid var(--border-subtle);
482
+ max-height: min(44vh, 34rem);
483
+ max-height: min(44dvh, 34rem);
484
+ overflow: auto;
485
+ }
486
+
487
+ .synthetic-generator-grid__header,
488
+ .synthetic-generator-grid__row {
489
+ display: grid;
490
+ gap: var(--spacing-4);
491
+ grid-template-columns: minmax(12rem, 0.95fr) minmax(9rem, 0.6fr) minmax(13rem, 0.75fr) minmax(18rem, 1.2fr);
492
+ min-width: 58rem;
493
+ }
494
+
495
+ .synthetic-generator-grid__header {
496
+ background: var(--color-surface-container-low);
497
+ border-bottom: 1px solid var(--border-subtle);
498
+ color: rgb(var(--rgb-on-surface-variant) / 0.65);
499
+ font-family: var(--font-family-mono);
500
+ font-size: 10px;
501
+ font-weight: 700;
502
+ letter-spacing: 0.18em;
503
+ padding: var(--spacing-4);
504
+ text-transform: uppercase;
505
+ }
506
+
507
+ .synthetic-generator-grid__row {
508
+ align-items: start;
509
+ background: var(--color-surface-container-lowest);
510
+ border-bottom: 1px solid var(--border-subtle);
511
+ padding: var(--spacing-4);
512
+ }
513
+
514
+ .synthetic-generator-grid__row:last-child {
515
+ border-bottom: 0;
516
+ }
517
+
518
+ .synthetic-generator-column-name {
519
+ color: var(--color-on-surface);
520
+ font-family: var(--font-family-body);
521
+ font-size: 13px;
522
+ font-weight: 900;
523
+ overflow-wrap: anywhere;
524
+ text-transform: uppercase;
525
+ }
526
+
527
+ .synthetic-generator-column-note {
528
+ color: rgb(var(--rgb-on-surface-variant) / 0.55);
529
+ font-size: 12px;
530
+ margin-top: var(--spacing-1);
531
+ }
532
+
533
+ .synthetic-generator-sqlite-type {
534
+ color: rgb(var(--rgb-on-surface-variant) / 0.78);
535
+ display: flex;
536
+ flex-direction: column;
537
+ font-family: var(--font-family-mono);
538
+ font-size: 11px;
539
+ gap: var(--spacing-1);
540
+ min-width: 0;
541
+ overflow-wrap: anywhere;
542
+ }
543
+
544
+ .synthetic-generator-sqlite-type span {
545
+ color: rgb(var(--rgb-primary) / 0.78);
546
+ font-size: 10px;
547
+ letter-spacing: 0.14em;
548
+ }
549
+
550
+ .synthetic-generator-options-grid {
551
+ display: grid;
552
+ gap: var(--spacing-2);
553
+ }
554
+
555
+ .synthetic-generator-options-grid--two {
556
+ grid-template-columns: repeat(2, minmax(0, 1fr));
557
+ }
558
+
559
+ .synthetic-generator-options-grid--three {
560
+ grid-template-columns: repeat(3, minmax(0, 1fr));
561
+ }
562
+
563
+ .synthetic-generator-options-grid--timestamp {
564
+ grid-template-columns: minmax(0, 1fr);
565
+ }
566
+
567
+ .synthetic-generator-preview {
568
+ border: 1px solid var(--border-subtle);
569
+ overflow: hidden;
570
+ }
571
+
572
+ .synthetic-generator-preview table {
573
+ border-collapse: collapse;
574
+ table-layout: fixed;
575
+ width: 100%;
576
+ }
577
+
578
+ .synthetic-generator-preview th,
579
+ .synthetic-generator-preview td {
580
+ border-bottom: 1px solid var(--border-subtle);
581
+ overflow: hidden;
582
+ padding: var(--spacing-2) var(--spacing-4);
583
+ text-align: left;
584
+ text-overflow: ellipsis;
585
+ white-space: nowrap;
586
+ }
587
+
588
+ .synthetic-generator-preview th {
589
+ background: var(--color-surface-container-low);
590
+ color: rgb(var(--rgb-on-surface-variant) / 0.65);
591
+ font-family: var(--font-family-mono);
592
+ font-size: 10px;
593
+ letter-spacing: 0.16em;
594
+ position: sticky;
595
+ text-transform: uppercase;
596
+ top: 0;
597
+ }
598
+
599
+ .synthetic-generator-preview td {
600
+ background: var(--color-surface-container-lowest);
601
+ color: var(--color-on-surface);
602
+ font-family: var(--font-family-mono);
603
+ font-size: 12px;
604
+ }
605
+
606
+ @media (max-width: 720px) {
607
+ .synthetic-generator-count-row {
608
+ grid-template-columns: 1fr;
609
+ }
610
+ }
611
+
476
612
  .standard-button,
477
613
  .signature-button,
478
614
  .delete-button,
479
- .toolbar-button,
480
615
  .dropdown-button__toggle,
481
616
  .query-history-icon-button,
482
617
  .top-nav-icon {
@@ -513,7 +648,7 @@
513
648
 
514
649
  .signature-button {
515
650
  color: #000;
516
- font-family: var(--font-family-headline);
651
+ font-family: var(--font-family-body);
517
652
  font-size: 10px;
518
653
  font-weight: 700;
519
654
  letter-spacing: 0.16em;
@@ -537,7 +672,7 @@
537
672
  align-items: center;
538
673
  display: flex;
539
674
  flex-wrap: nowrap;
540
- gap: var(--spacing-3);
675
+ gap: var(--spacing-4);
541
676
  overflow-x: auto;
542
677
  }
543
678
 
@@ -553,7 +688,6 @@
553
688
  .standard-button:focus-visible,
554
689
  .signature-button:focus-visible,
555
690
  .delete-button:focus-visible,
556
- .toolbar-button:focus-visible,
557
691
  .dropdown-button__toggle:focus-visible,
558
692
  .dropdown-button__item:focus-visible,
559
693
  .query-result-column-menu__toggle:focus-visible,
@@ -574,18 +708,6 @@
574
708
  z-index: 1;
575
709
  }
576
710
 
577
- .toolbar-button {
578
- gap: var(--spacing-2);
579
- height: var(--button-height);
580
- min-height: var(--button-height);
581
- padding: 0 var(--button-padding-inline);
582
- text-transform: uppercase;
583
- transition:
584
- background-color var(--transition-fast),
585
- box-shadow var(--transition-standard),
586
- color var(--transition-fast);
587
- }
588
-
589
711
  .dropdown-button {
590
712
  display: inline-flex;
591
713
  position: relative;
@@ -597,10 +719,6 @@
597
719
  list-style: none;
598
720
  }
599
721
 
600
- .dropdown-button__toggle::-webkit-details-marker {
601
- display: none;
602
- }
603
-
604
722
  .dropdown-button[open] .dropdown-button__toggle {
605
723
  background: var(--primary-alpha-12);
606
724
  border-color: rgb(var(--rgb-primary) / 0.38);
@@ -646,7 +764,7 @@
646
764
  gap: var(--spacing-2);
647
765
  justify-content: flex-start;
648
766
  line-height: 1.3;
649
- padding: 0.6rem 0.75rem;
767
+ padding: var(--spacing-2) var(--spacing-4);
650
768
  text-align: left;
651
769
  transition:
652
770
  background-color var(--transition-fast),
@@ -654,7 +772,10 @@
654
772
  width: 100%;
655
773
  }
656
774
 
657
- .dropdown-button__item:hover {
775
+ .dropdown-button__item:hover,
776
+ .query-result-column-menu__item:hover,
777
+ .query-history-icon-button:hover,
778
+ .query-history-icon-button.is-active {
658
779
  background: var(--color-surface-highest);
659
780
  color: var(--color-primary-container);
660
781
  }
@@ -669,7 +790,8 @@
669
790
  color: var(--color-error);
670
791
  }
671
792
 
672
- .dropdown-button__item .material-symbols-outlined {
793
+ .dropdown-button__item .material-symbols-outlined,
794
+ .query-result-column-menu__toggle .material-symbols-outlined {
673
795
  font-size: 18px;
674
796
  line-height: 1;
675
797
  }
@@ -687,7 +809,7 @@
687
809
  .query-result-column-header {
688
810
  align-items: center;
689
811
  display: flex;
690
- gap: 6px;
812
+ gap: calc(var(--spacing-1) * 1.5);
691
813
  min-width: 0;
692
814
  position: relative;
693
815
  }
@@ -709,11 +831,6 @@
709
831
  width: 100%;
710
832
  }
711
833
 
712
- .query-result-column-label {
713
- display: block;
714
- min-width: 0;
715
- }
716
-
717
834
  .query-result-column-menu {
718
835
  cursor: pointer;
719
836
  flex: 0 0 auto;
@@ -736,10 +853,6 @@
736
853
  width: 22px;
737
854
  }
738
855
 
739
- .query-result-column-menu__toggle::-webkit-details-marker {
740
- display: none;
741
- }
742
-
743
856
  .query-result-column-header:hover .query-result-column-menu__toggle,
744
857
  .query-result-column-menu[open] .query-result-column-menu__toggle {
745
858
  opacity: 1;
@@ -750,20 +863,15 @@
750
863
  color: var(--color-primary-container);
751
864
  }
752
865
 
753
- .query-result-column-menu__toggle .material-symbols-outlined {
754
- font-size: 18px;
755
- line-height: 1;
756
- }
757
-
758
866
  .query-result-column-menu__panel {
759
867
  background: var(--color-surface-container);
760
868
  border: 1px solid rgb(var(--rgb-outline) / 0.22);
761
869
  box-shadow: 0 18px 40px rgb(0 0 0 / 0.35);
762
870
  min-width: 13rem;
763
- padding: 4px;
871
+ padding: var(--spacing-1);
764
872
  position: absolute;
765
873
  right: 0;
766
- top: calc(100% + 6px);
874
+ top: calc(100% + (var(--spacing-1) * 1.5));
767
875
  z-index: 30;
768
876
  }
769
877
 
@@ -774,7 +882,7 @@
774
882
  font-family: var(--font-family-body);
775
883
  font-size: 0.75rem;
776
884
  line-height: 1.3;
777
- padding: 0.55rem 0.7rem;
885
+ padding: var(--spacing-2) var(--spacing-4);
778
886
  text-align: left;
779
887
  transition:
780
888
  background-color var(--transition-fast),
@@ -782,11 +890,6 @@
782
890
  width: 100%;
783
891
  }
784
892
 
785
- .query-result-column-menu__item:hover {
786
- background: var(--color-surface-highest);
787
- color: var(--color-primary-container);
788
- }
789
-
790
893
  .copy-column-preview {
791
894
  background: var(--color-surface-lowest);
792
895
  border: 1px solid rgb(var(--rgb-outline) / 0.12);
@@ -798,7 +901,7 @@
798
901
  max-height: 7.5rem;
799
902
  overflow: auto;
800
903
  overflow-wrap: anywhere;
801
- padding: var(--spacing-3);
904
+ padding: var(--spacing-4);
802
905
  white-space: pre-wrap;
803
906
  }
804
907
 
@@ -833,10 +936,6 @@
833
936
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr));
834
937
  }
835
938
 
836
- .metric-card--accent {
837
- box-shadow: inset 2px 0 0 var(--color-primary-container);
838
- }
839
-
840
939
  .status-badge {
841
940
  align-items: center;
842
941
  border: 1px solid transparent;
@@ -847,7 +946,7 @@
847
946
  justify-content: center;
848
947
  letter-spacing: 0.12em;
849
948
  line-height: 1;
850
- padding: 0.125rem 0.5rem;
949
+ padding: calc(var(--spacing-1) / 2) var(--spacing-2);
851
950
  text-transform: uppercase;
852
951
  white-space: nowrap;
853
952
  }
@@ -881,18 +980,6 @@
881
980
  color: var(--color-on-surface-variant);
882
981
  }
883
982
 
884
- .status-badge--alert {
885
- background: rgb(var(--rgb-error-container) / 0.2);
886
- border-color: rgb(var(--rgb-error) / 0.2);
887
- color: var(--color-error);
888
- }
889
-
890
- .status-badge--warning {
891
- background: rgba(245, 158, 11, 0.12);
892
- border-color: rgba(245, 158, 11, 0.28);
893
- color: #f59e0b;
894
- }
895
-
896
983
  .status-badge--success {
897
984
  background: rgb(var(--rgb-tertiary) / 0.1);
898
985
  color: var(--color-tertiary-dim);
@@ -921,12 +1008,6 @@
921
1008
  0 0 20px var(--primary-alpha-05);
922
1009
  }
923
1010
 
924
- .connection-card-footer {
925
- background: var(--color-surface-highest);
926
- height: 4px;
927
- width: 100%;
928
- }
929
-
930
1011
  .bottom-tab {
931
1012
  border-bottom: 1px solid transparent;
932
1013
  color: var(--text-variant-subtle);
@@ -937,7 +1018,8 @@
937
1018
  text-transform: uppercase;
938
1019
  }
939
1020
 
940
- .bottom-tab.is-active {
1021
+ .bottom-tab.is-active,
1022
+ .query-history-tab.is-active {
941
1023
  border-color: transparent;
942
1024
  box-shadow: inset 0 -1px 0 var(--color-primary-container);
943
1025
  color: var(--color-primary-container);
@@ -961,19 +1043,6 @@
961
1043
  width: 100%;
962
1044
  }
963
1045
 
964
- .view-card {
965
- background: var(--color-surface-low);
966
- border: 1px solid rgb(var(--rgb-outline) / 0.1);
967
- }
968
-
969
- .view-card-header {
970
- align-items: center;
971
- background: var(--color-surface-highest);
972
- display: flex;
973
- justify-content: space-between;
974
- padding: var(--spacing-3) var(--spacing-4);
975
- }
976
-
977
1046
  .query-history-panel {
978
1047
  display: flex;
979
1048
  flex: 0 0 clamp(20rem, 26vw, 22.5rem);
@@ -1012,7 +1081,7 @@
1012
1081
  .query-history-search__icon {
1013
1082
  color: rgb(var(--rgb-on-surface-variant) / 0.55);
1014
1083
  font-size: 1rem;
1015
- left: var(--spacing-3);
1084
+ left: var(--spacing-4);
1016
1085
  pointer-events: none;
1017
1086
  position: absolute;
1018
1087
  top: 50%;
@@ -1020,20 +1089,21 @@
1020
1089
  }
1021
1090
 
1022
1091
  .query-history-search__input {
1023
- padding-left: calc(var(--spacing-3) + 1rem + var(--spacing-2));
1092
+ padding-left: calc(var(--spacing-4) + var(--spacing-4) + var(--spacing-2));
1024
1093
  }
1025
1094
 
1026
1095
  .query-history-list-scroll {
1027
1096
  flex: 1;
1028
1097
  min-height: 0;
1029
1098
  overflow: auto;
1030
- padding: var(--spacing-3);
1099
+ padding: var(--spacing-4);
1031
1100
  }
1032
1101
 
1033
- .query-history-list {
1102
+ .query-history-list,
1103
+ .table-designer-constraints-modal__section {
1034
1104
  display: flex;
1035
1105
  flex-direction: column;
1036
- gap: var(--spacing-3);
1106
+ gap: var(--spacing-4);
1037
1107
  }
1038
1108
 
1039
1109
  .query-editor-toolbar {
@@ -1048,7 +1118,7 @@
1048
1118
  .query-editor-toolbar__right {
1049
1119
  align-items: center;
1050
1120
  display: flex;
1051
- gap: var(--spacing-3);
1121
+ gap: var(--spacing-4);
1052
1122
  }
1053
1123
 
1054
1124
  .query-editor-toolbar__center {
@@ -1092,7 +1162,7 @@
1092
1162
 
1093
1163
  .table-designer-preview__title {
1094
1164
  color: var(--color-on-surface);
1095
- font-family: var(--font-family-headline);
1165
+ font-family: var(--font-family-body);
1096
1166
  font-size: 1rem;
1097
1167
  font-weight: 700;
1098
1168
  letter-spacing: -0.04em;
@@ -1105,9 +1175,9 @@
1105
1175
  border: 1px solid var(--border-medium);
1106
1176
  box-sizing: border-box;
1107
1177
  min-height: var(--control-height);
1108
- margin: var(--spacing-4) var(--spacing-3) 0;
1178
+ margin: var(--spacing-4) var(--spacing-4) 0;
1109
1179
  display: flex;
1110
- gap: var(--spacing-3);
1180
+ gap: var(--spacing-4);
1111
1181
  padding: 0 var(--control-padding-inline);
1112
1182
  }
1113
1183
 
@@ -1134,11 +1204,7 @@ select.table-designer-field {
1134
1204
  }
1135
1205
 
1136
1206
  .table-designer-field:focus-visible,
1137
- .table-designer-main__name:focus-visible {
1138
- border-color: var(--primary-alpha-35);
1139
- box-shadow: var(--focus-ring-inset);
1140
- }
1141
-
1207
+ .table-designer-main__name:focus-visible,
1142
1208
  .table-designer-sidebar__search:focus-within {
1143
1209
  border-color: var(--primary-alpha-35);
1144
1210
  box-shadow: var(--focus-ring-inset);
@@ -1237,14 +1303,14 @@ input.table-designer-sidebar__search-input[type='search'] {
1237
1303
 
1238
1304
  .table-designer-main__empty-title {
1239
1305
  color: var(--color-primary-container);
1240
- font-family: var(--font-family-headline);
1306
+ font-family: var(--font-family-body);
1241
1307
  font-size: 1.2rem;
1242
1308
  font-weight: 700;
1243
1309
  letter-spacing: -0.04em;
1244
1310
  }
1245
1311
 
1246
1312
  .table-designer-main__empty-text {
1247
- margin-top: var(--spacing-3);
1313
+ margin-top: var(--spacing-4);
1248
1314
  max-width: 30rem;
1249
1315
  }
1250
1316
 
@@ -1263,7 +1329,7 @@ input.table-designer-sidebar__search-input[type='search'] {
1263
1329
  flex-wrap: wrap;
1264
1330
  gap: var(--spacing-4);
1265
1331
  justify-content: space-between;
1266
- padding: var(--spacing-5);
1332
+ padding: var(--spacing-6);
1267
1333
  }
1268
1334
 
1269
1335
  .table-designer-preview.is-collapsed .table-designer-preview__header {
@@ -1278,7 +1344,7 @@ input.table-designer-sidebar__search-input[type='search'] {
1278
1344
  align-items: center;
1279
1345
  display: flex;
1280
1346
  flex-wrap: wrap;
1281
- gap: var(--spacing-3);
1347
+ gap: var(--spacing-4);
1282
1348
  margin-top: 0;
1283
1349
  }
1284
1350
 
@@ -1292,7 +1358,7 @@ input.table-designer-sidebar__search-input[type='search'] {
1292
1358
  border-radius: 0;
1293
1359
  box-shadow: none;
1294
1360
  color: var(--color-primary-container);
1295
- font-family: var(--font-family-headline);
1361
+ font-family: var(--font-family-body);
1296
1362
  font-size: 1rem;
1297
1363
  font-weight: 900;
1298
1364
  letter-spacing: -0.04em;
@@ -1317,14 +1383,14 @@ input.table-designer-main__name[type='text'] {
1317
1383
  align-items: center;
1318
1384
  display: flex;
1319
1385
  flex-wrap: wrap;
1320
- gap: var(--spacing-3);
1386
+ gap: var(--spacing-4);
1321
1387
  }
1322
1388
 
1323
1389
  .table-designer-fill-toggle {
1324
1390
  background: var(--color-surface-container);
1325
1391
  border: 1px solid var(--border-medium);
1326
1392
  color: var(--color-on-surface);
1327
- gap: 0.75rem;
1393
+ gap: var(--spacing-4);
1328
1394
  }
1329
1395
 
1330
1396
  .table-designer-fill-toggle.is-disabled {
@@ -1384,16 +1450,17 @@ input.table-designer-main__name[type='text'] {
1384
1450
  background: rgb(var(--rgb-error-container) / 0.12);
1385
1451
  }
1386
1452
 
1387
- .table-designer-banner__header {
1453
+ .table-designer-banner__header,
1454
+ .table-designer-constraints-modal__section-header {
1388
1455
  align-items: center;
1389
1456
  display: flex;
1390
- gap: var(--spacing-3);
1457
+ gap: var(--spacing-4);
1391
1458
  justify-content: space-between;
1392
1459
  }
1393
1460
 
1394
1461
  .table-designer-banner__title {
1395
1462
  color: var(--color-on-surface);
1396
- font-family: var(--font-family-headline);
1463
+ font-family: var(--font-family-body);
1397
1464
  font-size: 0.95rem;
1398
1465
  font-weight: 700;
1399
1466
  }
@@ -1401,8 +1468,8 @@ input.table-designer-main__name[type='text'] {
1401
1468
  .table-designer-banner__list {
1402
1469
  display: flex;
1403
1470
  flex-direction: column;
1404
- gap: var(--spacing-3);
1405
- margin-top: var(--spacing-3);
1471
+ gap: var(--spacing-4);
1472
+ margin-top: var(--spacing-4);
1406
1473
  }
1407
1474
 
1408
1475
  .table-designer-banner__item-title {
@@ -1469,7 +1536,7 @@ input.table-designer-main__name[type='text'] {
1469
1536
  minmax(10rem, 1fr)
1470
1537
  minmax(13rem, max-content);
1471
1538
  min-width: 88rem;
1472
- padding: var(--spacing-3);
1539
+ padding: var(--spacing-4);
1473
1540
  }
1474
1541
 
1475
1542
  .table-designer-grid__header {
@@ -1488,7 +1555,7 @@ input.table-designer-main__name[type='text'] {
1488
1555
  .table-designer-constraints__list {
1489
1556
  align-items: start;
1490
1557
  display: grid;
1491
- gap: var(--spacing-3);
1558
+ gap: var(--spacing-4);
1492
1559
  grid-template-columns: repeat(auto-fit, minmax(min(24rem, 100%), 1fr));
1493
1560
  }
1494
1561
 
@@ -1498,7 +1565,7 @@ input.table-designer-main__name[type='text'] {
1498
1565
  gap: var(--spacing-4);
1499
1566
  max-height: min(62vh, 44rem);
1500
1567
  overflow: auto;
1501
- padding-right: 0.1rem;
1568
+ padding-right: calc(var(--spacing-1) / 2);
1502
1569
  }
1503
1570
 
1504
1571
  .table-designer-constraints-modal__summary {
@@ -1506,10 +1573,10 @@ input.table-designer-main__name[type='text'] {
1506
1573
  background: var(--color-surface-container-lowest);
1507
1574
  border: 1px solid rgb(var(--rgb-outline) / 0.1);
1508
1575
  display: flex;
1509
- gap: var(--spacing-3);
1576
+ gap: var(--spacing-4);
1510
1577
  justify-content: space-between;
1511
1578
  min-width: 0;
1512
- padding: var(--spacing-3) var(--spacing-4);
1579
+ padding: var(--spacing-4) var(--spacing-4);
1513
1580
  }
1514
1581
 
1515
1582
  .table-designer-constraints-modal__summary code {
@@ -1533,19 +1600,6 @@ input.table-designer-main__name[type='text'] {
1533
1600
  text-transform: uppercase;
1534
1601
  }
1535
1602
 
1536
- .table-designer-constraints-modal__section {
1537
- display: flex;
1538
- flex-direction: column;
1539
- gap: var(--spacing-3);
1540
- }
1541
-
1542
- .table-designer-constraints-modal__section-header {
1543
- align-items: center;
1544
- display: flex;
1545
- gap: var(--spacing-3);
1546
- justify-content: space-between;
1547
- }
1548
-
1549
1603
  .table-designer-constraints-modal__empty {
1550
1604
  background: var(--color-surface-container-lowest);
1551
1605
  border: 1px solid rgb(var(--rgb-outline) / 0.1);
@@ -1559,15 +1613,15 @@ input.table-designer-main__name[type='text'] {
1559
1613
  border: 1px solid rgb(var(--rgb-outline) / 0.14);
1560
1614
  display: flex;
1561
1615
  flex-direction: column;
1562
- gap: var(--spacing-3);
1616
+ gap: var(--spacing-4);
1563
1617
  min-width: 0;
1564
- padding: var(--spacing-3);
1618
+ padding: var(--spacing-4);
1565
1619
  }
1566
1620
 
1567
1621
  .table-designer-constraint-editor__header {
1568
1622
  align-items: flex-start;
1569
1623
  display: flex;
1570
- gap: var(--spacing-3);
1624
+ gap: var(--spacing-4);
1571
1625
  justify-content: space-between;
1572
1626
  }
1573
1627
 
@@ -1600,7 +1654,7 @@ input.table-designer-main__name[type='text'] {
1600
1654
  color: rgb(var(--rgb-on-surface) / 0.72);
1601
1655
  font-family: var(--font-family-mono);
1602
1656
  font-size: var(--font-size-status);
1603
- padding: 0.2rem 0.45rem;
1657
+ padding: var(--spacing-1) var(--spacing-2);
1604
1658
  }
1605
1659
 
1606
1660
  .table-designer-constraint__values {
@@ -1627,7 +1681,7 @@ input.table-designer-main__name[type='text'] {
1627
1681
  margin: 0;
1628
1682
  min-height: 7rem;
1629
1683
  overflow: auto;
1630
- padding: var(--spacing-3);
1684
+ padding: var(--spacing-4);
1631
1685
  resize: vertical;
1632
1686
  width: 100%;
1633
1687
  }
@@ -1653,7 +1707,7 @@ input.table-designer-main__name[type='text'] {
1653
1707
  .table-designer-field {
1654
1708
  height: var(--control-height);
1655
1709
  min-height: var(--control-height);
1656
- padding: 0 0.75rem;
1710
+ padding: 0 var(--spacing-4);
1657
1711
  }
1658
1712
 
1659
1713
  .table-designer-check {
@@ -1661,7 +1715,7 @@ input.table-designer-main__name[type='text'] {
1661
1715
  border: 1px solid var(--border-medium);
1662
1716
  color: rgb(var(--rgb-on-surface) / 0.75);
1663
1717
  font-size: 0.75rem;
1664
- gap: 0.5rem;
1718
+ gap: var(--spacing-2);
1665
1719
  }
1666
1720
 
1667
1721
  .table-designer-checkbox-override {
@@ -1696,7 +1750,7 @@ input.table-designer-main__name[type='text'] {
1696
1750
  margin: 0;
1697
1751
  min-height: 0;
1698
1752
  overflow: auto;
1699
- padding: var(--spacing-5);
1753
+ padding: var(--spacing-6);
1700
1754
  white-space: pre-wrap;
1701
1755
  }
1702
1756
 
@@ -1744,7 +1798,7 @@ input.table-designer-main__name[type='text'] {
1744
1798
  color: inherit;
1745
1799
  display: block;
1746
1800
  min-width: 0;
1747
- padding: var(--spacing-3);
1801
+ padding: var(--spacing-4);
1748
1802
  text-align: left;
1749
1803
  transition: background-color var(--transition-fast);
1750
1804
  }
@@ -1763,7 +1817,7 @@ input.table-designer-main__name[type='text'] {
1763
1817
  .query-history-item-title {
1764
1818
  color: var(--color-on-surface);
1765
1819
  display: block;
1766
- font-family: var(--font-family-headline);
1820
+ font-family: var(--font-family-body);
1767
1821
  font-size: 0.875rem;
1768
1822
  font-weight: 700;
1769
1823
  letter-spacing: 0;
@@ -1785,9 +1839,9 @@ input.table-designer-main__name[type='text'] {
1785
1839
  align-items: center;
1786
1840
  border-top: 1px solid var(--border-subtle);
1787
1841
  display: flex;
1788
- gap: var(--spacing-3);
1842
+ gap: var(--spacing-4);
1789
1843
  justify-content: space-between;
1790
- padding: var(--spacing-2) var(--spacing-3) var(--spacing-3);
1844
+ padding: var(--spacing-2) var(--spacing-4) var(--spacing-4);
1791
1845
  }
1792
1846
 
1793
1847
  .query-history-item-meta {
@@ -1822,12 +1876,6 @@ input.table-designer-main__name[type='text'] {
1822
1876
  width: var(--button-height);
1823
1877
  }
1824
1878
 
1825
- .query-history-icon-button:hover,
1826
- .query-history-icon-button.is-active {
1827
- background: var(--color-surface-highest);
1828
- color: var(--color-primary-container);
1829
- }
1830
-
1831
1879
  .query-history-tab {
1832
1880
  align-items: center;
1833
1881
  background: transparent;
@@ -1847,12 +1895,6 @@ input.table-designer-main__name[type='text'] {
1847
1895
  color var(--transition-fast);
1848
1896
  }
1849
1897
 
1850
- .query-history-tab.is-active {
1851
- border-color: transparent;
1852
- box-shadow: inset 0 -1px 0 var(--color-primary-container);
1853
- color: var(--color-primary-container);
1854
- }
1855
-
1856
1898
  .query-history-sql-preview {
1857
1899
  color: rgb(var(--rgb-on-surface-variant) / 0.75);
1858
1900
  display: -webkit-box;
@@ -1879,19 +1921,3 @@ input.table-designer-main__name[type='text'] {
1879
1921
  width: 100%;
1880
1922
  }
1881
1923
  }
1882
-
1883
- @media (min-width: 768px) {
1884
- .top-nav-links {
1885
- display: flex;
1886
- }
1887
- }
1888
-
1889
- .data-headline-container {
1890
- max-width: 69%;
1891
- }
1892
-
1893
- .data-headline-container h1 {
1894
- overflow: hidden;
1895
- white-space: nowrap;
1896
- text-overflow: ellipsis;
1897
- }