@dataengineeringformachinelearning/viking-ui 4.0.4 → 4.0.6

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 (246) hide show
  1. package/README.md +35 -11
  2. package/dist/README.md +35 -11
  3. package/dist/design-tokens.css +300 -85
  4. package/dist/fesm2022/dataengineeringformachinelearning-viking-ui.mjs +100 -64
  5. package/dist/fesm2022/dataengineeringformachinelearning-viking-ui.mjs.map +1 -1
  6. package/dist/icons.js +306 -0
  7. package/dist/package.json +24 -5
  8. package/{src/lib/site-drakkar/site-drakkar.config.ts → dist/site-drakkar.js} +64 -130
  9. package/dist/src/tokens/viking-tokens.json +9 -7
  10. package/dist/types/dataengineeringformachinelearning-viking-ui.d.ts +97 -3
  11. package/dist/viking-components.css +161 -70
  12. package/dist/viking-tokens.json +9 -7
  13. package/dist/viking-ui-elements.js +44 -32
  14. package/dist/viking-ui.css +1 -1
  15. package/dist/web-components.js +44 -32
  16. package/package.json +30 -8
  17. package/dist/scripts/build-web-components.mjs +0 -37
  18. package/dist/src/web/badge/viking-badge-wc.ts +0 -116
  19. package/dist/src/web/button/viking-button-wc.ts +0 -165
  20. package/dist/src/web/callout/viking-callout-wc.ts +0 -105
  21. package/dist/src/web/card/viking-card-wc.ts +0 -67
  22. package/dist/src/web/core/base.ts +0 -56
  23. package/dist/src/web/core/dom.ts +0 -53
  24. package/dist/src/web/core/icons-inline.ts +0 -44
  25. package/dist/src/web/core/styles.ts +0 -1261
  26. package/dist/src/web/core/types.ts +0 -19
  27. package/dist/src/web/field/viking-field-wc.ts +0 -154
  28. package/dist/src/web/index.ts +0 -73
  29. package/dist/src/web/input/viking-input-wc.ts +0 -211
  30. package/dist/src/web/modal/viking-modal-wc.ts +0 -187
  31. package/dist/src/web/search-palette/viking-search-palette-wc.ts +0 -495
  32. package/dist/src/web/select/viking-select-wc.ts +0 -218
  33. package/dist/src/web/suite-header/viking-suite-header-wc.ts +0 -729
  34. package/dist/src/web/suite-search-palette/viking-suite-search-palette-wc.ts +0 -234
  35. package/dist/src/web/theme-toggle/viking-theme-toggle-wc.ts +0 -139
  36. package/dist/src/web/types.ts +0 -37
  37. package/dist/src/web/web-components.spec.ts +0 -297
  38. package/src/assets/drakkar-favicon.svg +0 -17
  39. package/src/assets/fonts/inter/InterVariable-Italic.woff2 +0 -0
  40. package/src/assets/fonts/inter/InterVariable.woff2 +0 -0
  41. package/src/core/brand/deml-lockup.svg +0 -5
  42. package/src/core/brand/deml-mark-compact.svg +0 -4
  43. package/src/core/brand/deml-mark-filled.svg +0 -3
  44. package/src/core/brand/deml-mark-outline.svg +0 -4
  45. package/src/core/brand-icons.ts +0 -62
  46. package/src/core/icons.spec.ts +0 -52
  47. package/src/core/icons.ts +0 -206
  48. package/src/core/integration-brand-icons.ts +0 -77
  49. package/src/core/lucide-paths.generated.ts +0 -130
  50. package/src/core/types.ts +0 -85
  51. package/src/core/uid.ts +0 -7
  52. package/src/elements/button/viking-button.ts +0 -201
  53. package/src/elements/card/viking-card.ts +0 -60
  54. package/src/elements/core/dom.ts +0 -33
  55. package/src/elements/core/styles.ts +0 -28
  56. package/src/elements/modal/viking-modal.ts +0 -154
  57. package/src/index.ts +0 -1
  58. package/src/lib/accordion/accordion.ts +0 -126
  59. package/src/lib/app-header/app-header.scss +0 -274
  60. package/src/lib/app-header/app-header.ts +0 -43
  61. package/src/lib/app-sidebar/app-sidebar.scss +0 -415
  62. package/src/lib/app-sidebar/app-sidebar.ts +0 -29
  63. package/src/lib/auth-panel/auth-panel.spec.ts +0 -132
  64. package/src/lib/auth-panel/auth-panel.ts +0 -228
  65. package/src/lib/autocomplete/autocomplete.ts +0 -223
  66. package/src/lib/avatar/avatar.ts +0 -126
  67. package/src/lib/badge/badge.ts +0 -182
  68. package/src/lib/bar/bar.ts +0 -31
  69. package/src/lib/brand/brand.ts +0 -60
  70. package/src/lib/breadcrumbs/breadcrumbs.ts +0 -81
  71. package/src/lib/button/button-group.ts +0 -40
  72. package/src/lib/button/button.scss +0 -119
  73. package/src/lib/button/button.ts +0 -98
  74. package/src/lib/calendar/calendar.ts +0 -253
  75. package/src/lib/callout/callout.ts +0 -211
  76. package/src/lib/card/card-title.spec.ts +0 -27
  77. package/src/lib/card/card-title.ts +0 -50
  78. package/src/lib/card/card.ts +0 -200
  79. package/src/lib/carousel/carousel.ts +0 -206
  80. package/src/lib/chart/chart-zoom.spec.ts +0 -65
  81. package/src/lib/chart/chart-zoom.ts +0 -71
  82. package/src/lib/chart/chart.ts +0 -1257
  83. package/src/lib/chart-card-header/chart-card-header.ts +0 -80
  84. package/src/lib/chart-empty-state/chart-empty-state.ts +0 -146
  85. package/src/lib/chart-panel/chart-panel.ts +0 -133
  86. package/src/lib/checkbox/checkbox.ts +0 -139
  87. package/src/lib/color-picker/color-picker.ts +0 -148
  88. package/src/lib/command/command.ts +0 -260
  89. package/src/lib/composer/composer.ts +0 -180
  90. package/src/lib/confirm-dialog/confirm-dialog.ts +0 -163
  91. package/src/lib/confirm-dialog/dialog.service.ts +0 -79
  92. package/src/lib/context/context.ts +0 -75
  93. package/src/lib/core/brand-icons.ts +0 -62
  94. package/src/lib/core/cva.ts +0 -33
  95. package/src/lib/core/icons.ts +0 -206
  96. package/src/lib/core/integration-brand-icons.ts +0 -77
  97. package/src/lib/core/lucide-paths.generated.ts +0 -130
  98. package/src/lib/date-picker/date-picker.ts +0 -139
  99. package/src/lib/dropdown/dropdown.ts +0 -188
  100. package/src/lib/editor/editor.ts +0 -170
  101. package/src/lib/empty-state/empty-state.ts +0 -100
  102. package/src/lib/fab/fab.ts +0 -76
  103. package/src/lib/field/field.ts +0 -111
  104. package/src/lib/file-upload/file-upload.ts +0 -208
  105. package/src/lib/footer/footer.scss +0 -162
  106. package/src/lib/footer/footer.ts +0 -28
  107. package/src/lib/form-section/form-section.ts +0 -200
  108. package/src/lib/forms.spec.ts +0 -92
  109. package/src/lib/gauge-arc/gauge-arc.ts +0 -85
  110. package/src/lib/hud-panel/hud-panel.ts +0 -27
  111. package/src/lib/icon/icon.ts +0 -284
  112. package/src/lib/icon-badge/icon-badge.ts +0 -87
  113. package/src/lib/icon-heading/icon-heading.spec.ts +0 -32
  114. package/src/lib/icon-heading/icon-heading.ts +0 -38
  115. package/src/lib/icon-text/icon-text.ts +0 -120
  116. package/src/lib/input/input.ts +0 -119
  117. package/src/lib/kanban/kanban.ts +0 -211
  118. package/src/lib/kbd/kbd.ts +0 -32
  119. package/src/lib/label/label.ts +0 -39
  120. package/src/lib/loading-overlay/loading-overlay.ts +0 -80
  121. package/src/lib/menubar/menubar.ts +0 -77
  122. package/src/lib/metric-card/metric-card.ts +0 -33
  123. package/src/lib/modal/modal.ts +0 -207
  124. package/src/lib/native-select/native-select.ts +0 -124
  125. package/src/lib/navbar/navbar.ts +0 -124
  126. package/src/lib/navigation-menu/navigation-menu.ts +0 -116
  127. package/src/lib/otp-input/otp-input.ts +0 -164
  128. package/src/lib/page-back-link/page-back-link.ts +0 -74
  129. package/src/lib/page-header/page-header.ts +0 -70
  130. package/src/lib/pagination/pagination.ts +0 -157
  131. package/src/lib/pillbox/pillbox.ts +0 -157
  132. package/src/lib/popover/popover.ts +0 -92
  133. package/src/lib/profile/profile.ts +0 -73
  134. package/src/lib/progress/progress.ts +0 -123
  135. package/src/lib/radio/radio.ts +0 -132
  136. package/src/lib/ring-gauge/ring-gauge.ts +0 -75
  137. package/src/lib/scroll-area/scroll-area.ts +0 -57
  138. package/src/lib/search-palette/search-palette.scss +0 -288
  139. package/src/lib/search-palette/search-palette.ts +0 -114
  140. package/src/lib/select/select.ts +0 -292
  141. package/src/lib/separator/separator.ts +0 -59
  142. package/src/lib/sheet/sheet.ts +0 -192
  143. package/src/lib/sidebar-nav/sidebar-nav.scss +0 -218
  144. package/src/lib/sidebar-nav/sidebar-nav.ts +0 -158
  145. package/src/lib/site-drakkar/site-footer.ts +0 -133
  146. package/src/lib/site-drakkar/site-navbar.scss +0 -2
  147. package/src/lib/site-drakkar/site-navbar.ts +0 -286
  148. package/src/lib/site-drakkar/suite-search-items.spec.ts +0 -61
  149. package/src/lib/site-drakkar/suite-search-items.ts +0 -246
  150. package/src/lib/skeleton/skeleton.ts +0 -51
  151. package/src/lib/slider/slider.ts +0 -133
  152. package/src/lib/spinner/spinner.ts +0 -75
  153. package/src/lib/status-metric-row/status-metric-row.ts +0 -74
  154. package/src/lib/suite-search-palette/suite-search-palette.ts +0 -95
  155. package/src/lib/switch/switch.ts +0 -131
  156. package/src/lib/table/table.ts +0 -137
  157. package/src/lib/tabs/tab-panel.ts +0 -61
  158. package/src/lib/tabs/tab.ts +0 -107
  159. package/src/lib/tabs/tabs.ts +0 -109
  160. package/src/lib/textarea/textarea.ts +0 -103
  161. package/src/lib/theme-toggle/theme-toggle.spec.ts +0 -40
  162. package/src/lib/theme-toggle/theme-toggle.ts +0 -40
  163. package/src/lib/time-picker/time-picker.ts +0 -197
  164. package/src/lib/timeline/timeline.ts +0 -152
  165. package/src/lib/toast/toast.ts +0 -196
  166. package/src/lib/toggle/toggle-group.ts +0 -60
  167. package/src/lib/toggle/toggle.ts +0 -101
  168. package/src/lib/tooltip/tooltip.ts +0 -119
  169. package/src/lib/typography/heading.ts +0 -52
  170. package/src/lib/typography/text.ts +0 -51
  171. package/src/lib/uptime-bar/uptime-bar.ts +0 -55
  172. package/src/lib/verification-code-field/verification-code-field.ts +0 -149
  173. package/src/lib/whitepaper-cta/whitepaper-cta.scss +0 -130
  174. package/src/lib/whitepaper-cta/whitepaper-cta.ts +0 -78
  175. package/src/lib/wizard/wizard.ts +0 -80
  176. package/src/public-api.ts +0 -172
  177. package/src/styles/_buttons.scss +0 -386
  178. package/src/styles/_component-primitives.scss +0 -183
  179. package/src/styles/_drakkar-buttons.scss +0 -85
  180. package/src/styles/_fonts.scss +0 -22
  181. package/src/styles/_forms.scss +0 -66
  182. package/src/styles/_input.scss +0 -106
  183. package/src/styles/_layout-enforcement.scss +0 -229
  184. package/src/styles/_layout-rhythm.scss +0 -158
  185. package/src/styles/_legacy-aliases.scss +0 -212
  186. package/src/styles/_series-colors.scss +0 -24
  187. package/src/styles/_static-primitives.scss +0 -857
  188. package/src/styles/_typography.scss +0 -87
  189. package/src/styles/_variables.scss +0 -527
  190. package/src/styles/components/a11y.scss +0 -90
  191. package/src/styles/components/badges.scss +0 -102
  192. package/src/styles/components/extracted-utilities.scss +0 -459
  193. package/src/styles/components/footer.scss +0 -168
  194. package/src/styles/components/icon-heading.scss +0 -47
  195. package/src/styles/components/icon-inline.scss +0 -101
  196. package/src/styles/components/layout.scss +0 -59
  197. package/src/styles/components/utilities.scss +0 -131
  198. package/src/styles/components/viking-inspired.scss +0 -204
  199. package/src/styles/components/whitepaper-cta.scss +0 -130
  200. package/src/styles/components-bundle.scss +0 -9
  201. package/src/styles/components.scss +0 -442
  202. package/src/styles/deml-components.scss +0 -10
  203. package/src/styles/index.scss +0 -8
  204. package/src/styles/layout-shell.scss +0 -111
  205. package/src/styles/page-shell.scss +0 -859
  206. package/src/styles/static-navbar.scss +0 -1250
  207. package/src/styles/surfaces/backend.scss +0 -154
  208. package/src/styles/surfaces/docs-global.scss +0 -73
  209. package/src/styles/surfaces/docs-shell.scss +0 -437
  210. package/src/styles/surfaces/docs-showcase.scss +0 -1153
  211. package/src/styles/surfaces/marketing-cta.scss +0 -62
  212. package/src/styles/surfaces/marketing-docs-bento.scss +0 -67
  213. package/src/styles/surfaces/marketing-global.scss +0 -748
  214. package/src/styles/surfaces/marketing-landing.scss +0 -1526
  215. package/src/styles/surfaces/marketing-publication.scss +0 -535
  216. package/src/styles/surfaces/marketing-theme.scss +0 -14
  217. package/src/styles/surfaces/swagger-ui.scss +0 -1013
  218. package/src/styles/tokens-export.scss +0 -18
  219. package/src/styles/tokens.scss +0 -5
  220. package/src/styles/viking-ui-bundle.scss +0 -23
  221. package/src/styles/viking-ui.scss +0 -272
  222. package/src/tokens/series-presets.ts +0 -15
  223. package/src/tokens/tailwind.preset.js +0 -209
  224. package/src/tokens/viking-tokens.json +0 -318
  225. package/src/viking-ui.spec.ts +0 -416
  226. package/src/web/badge/viking-badge-wc.ts +0 -116
  227. package/src/web/button/viking-button-wc.ts +0 -165
  228. package/src/web/callout/viking-callout-wc.ts +0 -105
  229. package/src/web/card/viking-card-wc.ts +0 -67
  230. package/src/web/core/base.ts +0 -56
  231. package/src/web/core/dom.ts +0 -53
  232. package/src/web/core/icons-inline.ts +0 -44
  233. package/src/web/core/styles.ts +0 -1261
  234. package/src/web/core/types.ts +0 -19
  235. package/src/web/field/viking-field-wc.ts +0 -154
  236. package/src/web/index.ts +0 -73
  237. package/src/web/input/viking-input-wc.ts +0 -211
  238. package/src/web/modal/viking-modal-wc.ts +0 -187
  239. package/src/web/search-palette/viking-search-palette-wc.ts +0 -495
  240. package/src/web/select/viking-select-wc.ts +0 -218
  241. package/src/web/suite-header/viking-suite-header-wc.ts +0 -729
  242. package/src/web/suite-search-palette/viking-suite-search-palette-wc.ts +0 -234
  243. package/src/web/theme-toggle/viking-theme-toggle-wc.ts +0 -139
  244. package/src/web/types.ts +0 -37
  245. package/src/web/web-components.spec.ts +0 -297
  246. package/src/web-components/index.ts +0 -1
@@ -1,1013 +0,0 @@
1
- /**
2
- * Swagger UI — Viking-UI theme (single-panel, flat operation list).
3
- * Load after swagger-ui.css; tokens from the built viking-ui.css bundle.
4
- */
5
-
6
- body.backend-swagger {
7
- background: var(--viking-bg, var(--bg-color));
8
- }
9
-
10
- .backend-swagger-shell {
11
- padding-block: var(--viking-space-6) var(--viking-space-8);
12
- }
13
-
14
- /* ── VikingCard panel wrapping Swagger UI ──────────────────────────────────── */
15
- .backend-swagger-panel {
16
- padding: 0;
17
- overflow: hidden;
18
- }
19
-
20
- .backend-swagger-hero {
21
- border: none;
22
- border-radius: 0;
23
- box-shadow: none;
24
- border-bottom: 1px solid var(--viking-border);
25
- margin: 0;
26
- }
27
-
28
- .backend-swagger-toolbar {
29
- padding: var(--viking-space-3) var(--viking-card-padding);
30
- border-bottom: 1px solid var(--viking-border);
31
- background: color-mix(in srgb, var(--viking-surface-alt) 40%, transparent);
32
- }
33
-
34
- .backend-swagger-search {
35
- margin: 0;
36
- max-width: none;
37
- }
38
-
39
- .backend-swagger-search .viking-input-shell {
40
- width: 100%;
41
- }
42
-
43
- .backend-swagger-panel #swagger-ui {
44
- padding: var(--viking-space-2) var(--viking-card-padding)
45
- var(--viking-card-padding);
46
- }
47
-
48
- .swagger-ui .opblock .opblock-summary {
49
- flex-wrap: wrap;
50
- gap: var(--viking-space-1, 8px);
51
- }
52
-
53
- /* ── Base resets ─────────────────────────────────────────────────────────── */
54
- .swagger-ui .topbar {
55
- display: none;
56
- }
57
-
58
- .swagger-ui {
59
- font-family: var(--viking-font-family, "Inter", system-ui, sans-serif);
60
- color: var(--viking-text, var(--text-color));
61
- }
62
-
63
- .swagger-ui,
64
- .swagger-ui .wrapper,
65
- .swagger-ui section {
66
- background: transparent;
67
- }
68
-
69
- /* Hide duplicate Swagger title — page hero is authoritative */
70
- .swagger-ui .info .title {
71
- display: none;
72
- }
73
-
74
- .swagger-ui .info {
75
- margin: 0;
76
- padding: var(--viking-space-2, 16px) 0;
77
- border-bottom: 1px solid var(--viking-border, var(--border));
78
- }
79
-
80
- .swagger-ui .info .markdown,
81
- .swagger-ui .info .description {
82
- margin: 0;
83
- max-width: none;
84
- text-align: left;
85
- }
86
-
87
- .swagger-ui .info .base-url,
88
- .swagger-ui .info p,
89
- .swagger-ui .info li,
90
- .swagger-ui .info .markdown p {
91
- font-size: 0.92rem;
92
- line-height: 1.6;
93
- color: var(--viking-text-muted, var(--text-muted));
94
- }
95
-
96
- .swagger-ui .info .description {
97
- padding: var(--viking-space-2, 16px);
98
- border-radius: var(--viking-radius, 8px);
99
- border: 1px solid
100
- color-mix(
101
- in srgb,
102
- var(--viking-accent, var(--color-primary)) 22%,
103
- var(--border)
104
- );
105
- background: color-mix(
106
- in srgb,
107
- var(--viking-accent, var(--color-primary)) 6%,
108
- transparent
109
- );
110
- }
111
-
112
- .swagger-ui .info a {
113
- color: var(--viking-accent, var(--color-primary));
114
- text-decoration: none;
115
- }
116
-
117
- .swagger-ui .info a:hover,
118
- .swagger-ui .info a:focus-visible {
119
- text-decoration: underline;
120
- text-underline-offset: 3px;
121
- }
122
-
123
- /* ── Toolbar: authorize + filter ─────────────────────────────────────────── */
124
- .swagger-ui .scheme-container {
125
- display: flex;
126
- align-items: center;
127
- justify-content: flex-end;
128
- flex-wrap: wrap;
129
- gap: var(--viking-space-2, 16px);
130
- margin: 0;
131
- padding: var(--viking-space-2, 16px) 0;
132
- border: none;
133
- border-bottom: 1px solid var(--viking-border, var(--border));
134
- border-radius: 0;
135
- box-shadow: none !important;
136
- background: transparent !important;
137
- }
138
-
139
- .swagger-ui .scheme-container span {
140
- color: var(--viking-text, var(--text-color));
141
- }
142
-
143
- .swagger-ui .scheme-container .schemes > label {
144
- color: var(--viking-text-muted, var(--text-muted));
145
- font-size: 0.72rem;
146
- font-weight: 700;
147
- letter-spacing: 0.08em;
148
- text-transform: uppercase;
149
- }
150
-
151
- .swagger-ui .scheme-container select {
152
- background: var(--viking-surface-alt, var(--viking-charcoal-700));
153
- border: 1px solid var(--viking-border-strong, var(--border));
154
- border-radius: var(--viking-radius-sm, 6px);
155
- color: var(--viking-text, var(--text-color));
156
- font-family: inherit;
157
- font-size: var(--viking-font-size-sm, 14px);
158
- min-height: 36px;
159
- padding: 0 var(--viking-space-2, 16px);
160
- }
161
-
162
- .swagger-ui .filter-container {
163
- margin: 0;
164
- padding: 0;
165
- border: none;
166
- position: absolute;
167
- width: 1px;
168
- height: 1px;
169
- padding: 0;
170
- margin: -1px;
171
- overflow: hidden;
172
- clip: rect(0, 0, 0, 0);
173
- white-space: nowrap;
174
- border: 0;
175
- }
176
-
177
- .swagger-ui .filter-container input[type="text"] {
178
- width: 100%;
179
- max-width: 100%;
180
- min-height: 36px;
181
- padding: 0 var(--viking-space-2, 16px);
182
- border: 1px solid var(--viking-border, var(--border));
183
- border-radius: var(--viking-radius, 8px);
184
- background: var(--viking-surface-alt, var(--viking-charcoal-800));
185
- box-shadow: none;
186
- color: var(--viking-text, var(--text-color));
187
- }
188
-
189
- /* ── Buttons ─────────────────────────────────────────────────────────────── */
190
- .swagger-ui .btn {
191
- background: var(--viking-surface, var(--card-bg));
192
- border: 1px solid var(--viking-border-strong, var(--border));
193
- border-radius: var(--viking-radius, 8px);
194
- box-shadow: none;
195
- color: var(--viking-text, var(--text-color));
196
- font-family: inherit;
197
- font-size: 0.78rem;
198
- font-weight: 600;
199
- letter-spacing: 0.04em;
200
- min-height: 36px;
201
- padding: 0 var(--viking-space-2, 16px);
202
- text-transform: uppercase;
203
- transition: var(--viking-transition-interactive, all 0.2s ease);
204
- }
205
-
206
- .swagger-ui .btn:hover {
207
- background: var(--viking-surface-raised, var(--viking-charcoal-600));
208
- border-color: var(--viking-accent-strong, var(--viking-teal-400));
209
- transform: none;
210
- }
211
-
212
- .swagger-ui .btn:focus-visible {
213
- outline: var(--viking-ring-width, 2px) solid
214
- var(--viking-ring, var(--focus-ring-color));
215
- outline-offset: var(--viking-ring-offset, 2px);
216
- }
217
-
218
- .swagger-ui .scheme-container span.scheme-title {
219
- color: var(--viking-text, var(--text-color));
220
- }
221
-
222
- .swagger-ui .btn.authorize,
223
- .swagger-ui .btn.authorize.unlocked,
224
- .swagger-ui .btn.execute,
225
- .swagger-ui .authorization__btn {
226
- background: var(--viking-accent, var(--color-primary));
227
- border-color: color-mix(
228
- in srgb,
229
- var(--viking-accent) 82%,
230
- var(--viking-black)
231
- );
232
- color: var(--viking-accent-content, var(--viking-white-pure));
233
- box-shadow: var(--viking-shadow-sm);
234
- min-height: var(--viking-control-height, 40px);
235
- border-radius: var(--viking-radius, 8px);
236
- display: inline-flex;
237
- align-items: center;
238
- justify-content: center;
239
- gap: var(--viking-space-1, 8px);
240
- text-align: center;
241
- line-height: 1;
242
- min-width: auto;
243
- white-space: nowrap;
244
- justify-content: center;
245
- align-items: center;
246
- }
247
-
248
- .swagger-ui .btn.authorize .viking-icon,
249
- .swagger-ui .btn.authorize svg,
250
- .swagger-ui .btn.execute .viking-icon,
251
- .swagger-ui .btn.execute svg,
252
- .swagger-ui .authorization__btn svg {
253
- display: inline-flex;
254
- align-items: center;
255
- justify-content: center;
256
- }
257
-
258
- .swagger-ui .btn.authorize .viking-icon,
259
- .swagger-ui .btn.authorize svg,
260
- .swagger-ui .btn.execute .viking-icon,
261
- .swagger-ui .btn.execute svg,
262
- .swagger-ui .authorization__btn svg {
263
- display: inline-flex;
264
- align-items: center;
265
- justify-content: center;
266
- }
267
-
268
- .swagger-ui .btn.authorize:hover,
269
- .swagger-ui .btn.authorize.unlocked:hover,
270
- .swagger-ui .authorization__btn:hover,
271
- .swagger-ui .btn.execute:hover {
272
- background: var(--viking-accent-hover, var(--viking-teal-500));
273
- border-color: color-mix(
274
- in srgb,
275
- var(--viking-accent-hover) 82%,
276
- var(--viking-black)
277
- );
278
- color: var(--viking-accent-content, var(--viking-white-pure));
279
- box-shadow: var(--viking-shadow-md);
280
- }
281
-
282
- .swagger-ui .btn.authorize svg,
283
- .swagger-ui .btn.execute svg,
284
- .swagger-ui .btn.authorization__btn svg,
285
- .swagger-ui .authorization__btn svg {
286
- width: 16px;
287
- height: 16px;
288
- flex-shrink: 0;
289
- fill: var(--viking-accent-content, var(--viking-white-pure));
290
- display: inline-flex;
291
- align-items: center;
292
- justify-content: center;
293
- }
294
-
295
- .swagger-ui .btn.authorize .viking-icon,
296
- .swagger-ui .btn.execute .viking-icon,
297
- .swagger-ui .authorization__btn .viking-icon {
298
- width: 16px;
299
- height: 16px;
300
- flex-shrink: 0;
301
- display: inline-flex;
302
- align-items: center;
303
- justify-content: center;
304
- }
305
-
306
- .swagger-ui .btn.authorize .viking-icon svg,
307
- .swagger-ui .btn.execute .viking-icon svg,
308
- .swagger-ui .authorization__btn .viking-icon svg {
309
- display: inline-block;
310
- width: 100%;
311
- height: 100%;
312
- fill: currentColor;
313
- margin: 0;
314
- }
315
-
316
- .swagger-ui .btn.authorize .authorization-btn-icon,
317
- .swagger-ui .btn.execute .authorization-btn-icon,
318
- .swagger-ui .authorization__btn .authorization-btn-icon {
319
- display: inline-flex;
320
- align-items: center;
321
- justify-content: center;
322
- }
323
-
324
- .swagger-ui .scheme-container .authorization__btn,
325
- .swagger-ui .btn.authorization__btn {
326
- min-height: var(--viking-control-height, 40px);
327
- height: var(--viking-control-height, 40px);
328
- padding: 0 var(--viking-space-2, 16px);
329
- box-sizing: border-box;
330
- text-align: center;
331
- }
332
-
333
- /* ── Tag groups ──────────────────────────────────────────────────────────── */
334
- .swagger-ui .opblock-tag-section {
335
- margin: 0;
336
- }
337
-
338
- .swagger-ui .opblock-tag {
339
- margin: var(--viking-space-3, 24px) 0 var(--viking-space-1, 8px);
340
- padding: 0 0 var(--viking-space-1, 8px);
341
- border-bottom: 1px solid var(--viking-border, var(--border));
342
- font-size: 0.72rem;
343
- font-weight: 700;
344
- letter-spacing: 0.1em;
345
- text-transform: uppercase;
346
- color: var(--viking-text-muted, var(--text-muted));
347
- }
348
-
349
- .swagger-ui .opblock-tag small {
350
- font-size: 0.85rem;
351
- font-weight: 500;
352
- letter-spacing: normal;
353
- text-transform: none;
354
- }
355
-
356
- .swagger-ui .opblock-tag svg {
357
- fill: var(--viking-text-muted, var(--text-muted));
358
- }
359
-
360
- /* ── Operations — flat rows, no nested cards ─────────────────────────────── */
361
- .swagger-ui .opblock {
362
- margin: 0;
363
- border: none;
364
- border-bottom: 1px solid var(--viking-border, var(--border));
365
- border-radius: 0;
366
- box-shadow: none;
367
- background: transparent;
368
- }
369
-
370
- .swagger-ui .opblock.opblock-post,
371
- .swagger-ui .opblock.opblock-get,
372
- .swagger-ui .opblock.opblock-put,
373
- .swagger-ui .opblock.opblock-patch,
374
- .swagger-ui .opblock.opblock-delete,
375
- .swagger-ui .opblock.opblock-options,
376
- .swagger-ui .opblock.opblock-head {
377
- border: none;
378
- border-bottom: 1px solid var(--viking-border, var(--border));
379
- background: transparent;
380
- }
381
-
382
- .swagger-ui .opblock .opblock-summary {
383
- border: none;
384
- background: transparent !important;
385
- padding: var(--viking-space-3, 24px) 0;
386
- }
387
-
388
- .swagger-ui .opblock.is-open .opblock-summary {
389
- border-bottom: 1px solid var(--viking-border-subtle, var(--border));
390
- }
391
-
392
- .swagger-ui .opblock .opblock-summary-method {
393
- border-radius: var(--viking-radius-sm, 6px);
394
- font-family: var(--viking-font-family-mono, "JetBrains Mono", monospace);
395
- font-size: 0.68rem;
396
- font-weight: 700;
397
- letter-spacing: 0.06em;
398
- min-width: 64px;
399
- text-align: center;
400
- }
401
-
402
- .swagger-ui .opblock.opblock-get .opblock-summary-method {
403
- background: color-mix(in srgb, var(--viking-accent) 16%, transparent);
404
- color: var(--viking-accent-strong);
405
- }
406
-
407
- .swagger-ui .opblock.opblock-post .opblock-summary-method {
408
- background: color-mix(in srgb, var(--viking-accent) 16%, transparent);
409
- color: var(--viking-accent-strong);
410
- }
411
-
412
- .swagger-ui .opblock.opblock-put .opblock-summary-method,
413
- .swagger-ui .opblock.opblock-patch .opblock-summary-method {
414
- background: color-mix(in srgb, var(--viking-gold-500) 16%, transparent);
415
- color: var(--viking-gold-500);
416
- }
417
-
418
- .swagger-ui .opblock.opblock-delete .opblock-summary-method {
419
- background: color-mix(in srgb, var(--viking-crimson-600) 14%, transparent);
420
- color: var(--viking-crimson-400);
421
- }
422
-
423
- .swagger-ui .opblock .opblock-summary-path,
424
- .swagger-ui .opblock .opblock-summary-path__deprecated {
425
- color: var(--viking-text, var(--text-color));
426
- font-family: var(--viking-font-family-mono, "JetBrains Mono", monospace);
427
- font-size: 0.88rem;
428
- }
429
-
430
- .swagger-ui .opblock .opblock-summary-description {
431
- color: var(--viking-text-muted, var(--text-muted));
432
- font-size: 0.88rem;
433
- }
434
-
435
- .swagger-ui .opblock-body,
436
- .swagger-ui .opblock-section {
437
- background: color-mix(
438
- in srgb,
439
- var(--viking-bg, var(--bg-color)) 35%,
440
- transparent
441
- );
442
- }
443
-
444
- /* Inner operation panels — beat swagger-ui.css specificity (.opblock .opblock-section-header) */
445
- .swagger-ui .opblock .opblock-section-header {
446
- align-items: center;
447
- background: color-mix(
448
- in srgb,
449
- var(--viking-surface-alt, var(--viking-charcoal-800)) 72%,
450
- transparent
451
- ) !important;
452
- border-bottom: 1px solid var(--viking-border-subtle, var(--border));
453
- box-shadow: none !important;
454
- min-height: auto;
455
- padding: var(--viking-space-1-5, 12px) var(--viking-space-2, 16px);
456
- }
457
-
458
- .swagger-ui .opblock .opblock-section-header h4 {
459
- color: var(--viking-text-muted, var(--text-muted));
460
- flex: 1;
461
- font-family: inherit;
462
- font-size: 0.72rem;
463
- font-weight: 700;
464
- letter-spacing: 0.08em;
465
- margin: 0;
466
- text-transform: uppercase;
467
- }
468
-
469
- .swagger-ui .opblock .opblock-section-header > label {
470
- align-items: center;
471
- color: var(--viking-text-muted, var(--text-muted));
472
- display: flex;
473
- font-family: inherit;
474
- font-size: 0.72rem;
475
- font-weight: 700;
476
- letter-spacing: 0.08em;
477
- margin: 0 0 0 auto;
478
- text-transform: uppercase;
479
- }
480
-
481
- .swagger-ui .opblock .opblock-section-header > label > span {
482
- padding: 0 var(--viking-space-1, 8px) 0 0;
483
- }
484
-
485
- .swagger-ui .opblock-section-header {
486
- background: color-mix(
487
- in srgb,
488
- var(--viking-surface-alt, var(--viking-charcoal-800)) 72%,
489
- transparent
490
- ) !important;
491
- border-bottom: 1px solid var(--viking-border-subtle, var(--border));
492
- box-shadow: none !important;
493
- padding: var(--viking-space-1-5, 12px) 0;
494
- }
495
-
496
- .swagger-ui .opblock-section-header h4,
497
- .swagger-ui .opblock-section-header label {
498
- color: var(--viking-text-muted, var(--text-muted));
499
- font-size: 0.72rem;
500
- font-weight: 700;
501
- letter-spacing: 0.08em;
502
- text-transform: uppercase;
503
- }
504
-
505
- .swagger-ui .opblock-body {
506
- padding: var(--viking-space-3, 24px) 0;
507
- }
508
-
509
- .swagger-ui .opblock-description-wrapper,
510
- .swagger-ui .opblock-external-docs-wrapper,
511
- .swagger-ui .opblock-title_normal {
512
- background: transparent;
513
- color: var(--viking-text-muted, var(--text-muted));
514
- font-family: inherit;
515
- font-size: 0.88rem;
516
- margin: 0;
517
- padding: var(--viking-space-2, 16px) 0;
518
- }
519
-
520
- .swagger-ui .opblock-description-wrapper h4,
521
- .swagger-ui .opblock-external-docs-wrapper h4,
522
- .swagger-ui .opblock-title_normal h4 {
523
- color: var(--viking-text-muted, var(--text-muted));
524
- font-family: inherit;
525
- font-size: 0.72rem;
526
- font-weight: 700;
527
- letter-spacing: 0.08em;
528
- text-transform: uppercase;
529
- }
530
-
531
- .swagger-ui .table-container {
532
- background: transparent;
533
- padding: var(--viking-space-2, 16px) 0;
534
- }
535
-
536
- .swagger-ui .parameters-col_description,
537
- .swagger-ui .parameters-col_name {
538
- color: var(--viking-text, var(--text-color));
539
- }
540
-
541
- .swagger-ui .parameters-col_description .markdown p,
542
- .swagger-ui .parameters-col_description .renderedMarkdown p,
543
- .swagger-ui .opblock-body .markdown p,
544
- .swagger-ui .opblock-body .renderedMarkdown p {
545
- color: var(--viking-text-muted, var(--text-muted));
546
- font-size: 0.88rem;
547
- margin: 0;
548
- }
549
-
550
- .swagger-ui .parameter__name {
551
- color: var(--viking-text, var(--text-color));
552
- font-family: var(--viking-font-family-mono, "JetBrains Mono", monospace);
553
- font-size: 0.88rem;
554
- font-weight: 600;
555
- }
556
-
557
- .swagger-ui .parameter__name.required span {
558
- color: var(--viking-crimson-400, var(--color-error));
559
- }
560
-
561
- .swagger-ui .parameter__extension,
562
- .swagger-ui .parameter__in {
563
- color: var(--viking-text-muted, var(--text-muted));
564
- font-family: var(--viking-font-family-mono, "JetBrains Mono", monospace);
565
- font-size: 0.78rem;
566
- }
567
-
568
- .swagger-ui .tab {
569
- display: flex;
570
- gap: var(--viking-space-2, 16px);
571
- margin: 0 0 var(--viking-space-1, 8px);
572
- }
573
-
574
- .swagger-ui .tab li {
575
- color: var(--viking-text-muted, var(--text-muted));
576
- font-family: inherit;
577
- font-size: 0.78rem;
578
- font-weight: 600;
579
- letter-spacing: 0.04em;
580
- min-width: 0;
581
- padding: 0;
582
- text-transform: uppercase;
583
- }
584
-
585
- .swagger-ui .tab li:first-of-type:after {
586
- background: var(--viking-border-subtle, var(--border));
587
- }
588
-
589
- .swagger-ui .tab li.active {
590
- color: var(--viking-accent-strong, var(--viking-teal-400));
591
- font-weight: 700;
592
- }
593
-
594
- .swagger-ui .tab li button.tablinks {
595
- color: inherit;
596
- }
597
-
598
- .swagger-ui .body-param-options label {
599
- color: var(--viking-text-muted, var(--text-muted));
600
- font-size: 0.78rem;
601
- font-weight: 600;
602
- letter-spacing: 0.04em;
603
- padding: var(--viking-space-1, 8px) 0;
604
- text-transform: uppercase;
605
- }
606
-
607
- .swagger-ui .body-param__media-type,
608
- .swagger-ui .body-param__text {
609
- color: var(--viking-text, var(--text-color));
610
- }
611
-
612
- .swagger-ui .execute-wrapper {
613
- background: transparent;
614
- padding: var(--viking-space-2, 16px) 0 0;
615
- text-align: left;
616
- }
617
-
618
- .swagger-ui .execute-wrapper .btn {
619
- width: 100%;
620
- }
621
-
622
- .swagger-ui .responses-inner h4,
623
- .swagger-ui .responses-inner h5,
624
- .swagger-ui .response-control-media-type__title,
625
- .swagger-ui .response-control-examples__title {
626
- color: var(--viking-text-muted, var(--text-muted));
627
- font-family: inherit;
628
- font-size: 0.72rem;
629
- font-weight: 700;
630
- letter-spacing: 0.08em;
631
- text-transform: uppercase;
632
- }
633
-
634
- .swagger-ui .response-col_status,
635
- .swagger-ui .response-col_links {
636
- color: var(--viking-text, var(--text-color));
637
- font-family: inherit;
638
- font-size: 0.88rem;
639
- }
640
-
641
- .swagger-ui .response-col_status .response-undocumented {
642
- color: var(--viking-text-muted, var(--text-muted));
643
- }
644
-
645
- .swagger-ui .response-control-media-type__accept-message {
646
- color: var(--viking-success, var(--viking-green-500));
647
- }
648
-
649
- .swagger-ui
650
- .response-control-media-type--accept-controller
651
- select.content-type {
652
- border-color: var(--viking-success, var(--viking-green-500));
653
- }
654
-
655
- .swagger-ui .btn.cancel {
656
- background: transparent !important;
657
- border-color: var(--viking-border-strong, var(--border)) !important;
658
- color: var(--viking-text-muted, var(--text-muted)) !important;
659
- }
660
-
661
- .swagger-ui .btn.cancel:hover {
662
- background: color-mix(
663
- in srgb,
664
- var(--viking-crimson-500, var(--color-error)) 10%,
665
- transparent
666
- ) !important;
667
- border-color: var(--viking-crimson-400, var(--color-error)) !important;
668
- color: var(--viking-crimson-400, var(--color-error)) !important;
669
- }
670
-
671
- .swagger-ui .opblock-body pre.microlight {
672
- background: var(--viking-charcoal-950, #0a0a0a) !important;
673
- border: 1px solid var(--viking-border, var(--border));
674
- border-radius: var(--viking-radius, 8px);
675
- color: var(--viking-text, var(--text-color)) !important;
676
- font-family: var(
677
- --viking-font-family-mono,
678
- "JetBrains Mono",
679
- monospace
680
- ) !important;
681
- font-size: 0.84rem !important;
682
- padding: var(--viking-space-2, 16px) !important;
683
- }
684
-
685
- .swagger-ui .markdown p,
686
- .swagger-ui .renderedMarkdown p {
687
- color: var(--viking-text-muted, var(--text-muted));
688
- }
689
-
690
- .swagger-ui .markdown pre,
691
- .swagger-ui .renderedMarkdown pre {
692
- background: none;
693
- color: var(--viking-text, var(--text-color));
694
- font-weight: 400;
695
- padding: 0;
696
- }
697
-
698
- .swagger-ui .copy-to-clipboard {
699
- background: var(--viking-surface-alt, var(--viking-charcoal-700));
700
- border: 1px solid var(--viking-border, var(--border));
701
- }
702
-
703
- .swagger-ui .copy-to-clipboard:hover {
704
- background: var(--viking-surface-raised, var(--viking-charcoal-600));
705
- }
706
-
707
- /* ── Parameters & inputs ─────────────────────────────────────────────────── */
708
- .swagger-ui .parameters-col_description input[type="text"],
709
- .swagger-ui .parameters-col_description select,
710
- .swagger-ui .opblock-body input[type="text"],
711
- .swagger-ui .opblock-body input[type="password"],
712
- .swagger-ui .opblock-body input[type="search"],
713
- .swagger-ui .opblock-body input[type="email"],
714
- .swagger-ui .opblock-body input[type="url"],
715
- .swagger-ui .opblock-body textarea,
716
- .swagger-ui textarea,
717
- .swagger-ui input[type="text"],
718
- .swagger-ui input[type="password"],
719
- .swagger-ui input[type="search"],
720
- .swagger-ui input[type="email"],
721
- .swagger-ui input[type="url"],
722
- .swagger-ui select {
723
- background: var(--viking-surface, var(--card-bg));
724
- border: 1px solid var(--viking-border-strong, var(--border));
725
- border-radius: var(--viking-radius-sm, 6px);
726
- color: var(--viking-text, var(--text-color));
727
- font-family: var(--viking-font-family-mono, "JetBrains Mono", monospace);
728
- font-size: 0.88rem;
729
- min-height: var(--viking-control-height, 44px);
730
- padding: var(--viking-space-1, 8px) var(--viking-space-2, 16px);
731
- }
732
-
733
- .swagger-ui input:focus-visible,
734
- .swagger-ui textarea:focus-visible,
735
- .swagger-ui select:focus-visible {
736
- border-color: var(--viking-accent-strong, var(--viking-teal-400));
737
- outline: var(--viking-ring-width, 2px) solid
738
- var(--viking-ring, var(--focus-ring-color));
739
- outline-offset: var(--viking-ring-offset, 2px);
740
- }
741
-
742
- .swagger-ui .parameter__name,
743
- .swagger-ui .parameter__type,
744
- .swagger-ui .parameter__in {
745
- font-family: var(--viking-font-family-mono, "JetBrains Mono", monospace);
746
- font-size: 0.88rem;
747
- }
748
-
749
- .swagger-ui .parameter__in {
750
- color: var(--viking-text-muted, var(--text-muted));
751
- }
752
-
753
- .swagger-ui table thead tr th,
754
- .swagger-ui table thead tr td {
755
- border-bottom: 1px solid var(--viking-border, var(--border));
756
- color: var(--viking-text-muted, var(--text-muted));
757
- font-size: 0.68rem;
758
- font-weight: 700;
759
- letter-spacing: 0.08em;
760
- text-transform: uppercase;
761
- }
762
-
763
- .swagger-ui table tbody tr td {
764
- border-bottom: 1px solid var(--viking-border-subtle, var(--border));
765
- font-size: 0.88rem;
766
- padding: var(--viking-space-1-5, 12px) 0;
767
- }
768
-
769
- /* ── Responses & code ────────────────────────────────────────────────────── */
770
- .swagger-ui .responses-inner {
771
- padding: var(--viking-space-2, 16px) 0;
772
- }
773
-
774
- .swagger-ui .response-col_status {
775
- font-family: var(--viking-font-family-mono, "JetBrains Mono", monospace);
776
- font-weight: 700;
777
- }
778
-
779
- .swagger-ui .response-col_description__inner p,
780
- .swagger-ui .response-col_links {
781
- color: var(--viking-text-muted, var(--text-muted));
782
- font-size: 0.88rem;
783
- }
784
-
785
- .swagger-ui .highlight-code,
786
- .swagger-ui .microlight,
787
- .swagger-ui .renderedMarkdown pre,
788
- .swagger-ui pre {
789
- background: var(--viking-charcoal-950, #0a0a0a) !important;
790
- border: 1px solid var(--viking-border, var(--border));
791
- border-radius: var(--viking-radius, 8px);
792
- color: var(--viking-text, var(--text-color)) !important;
793
- font-family: var(
794
- --viking-font-family-mono,
795
- "JetBrains Mono",
796
- monospace
797
- ) !important;
798
- font-size: 0.84rem !important;
799
- line-height: 1.55;
800
- padding: var(--viking-space-2, 16px) !important;
801
- }
802
-
803
- .swagger-ui .markdown code,
804
- .swagger-ui .renderedMarkdown code {
805
- background: color-mix(
806
- in srgb,
807
- var(--viking-surface-alt, #1a1a1a) 70%,
808
- transparent
809
- );
810
- border: 1px solid var(--viking-border-subtle, var(--border));
811
- border-radius: 4px;
812
- color: var(--viking-accent-strong, var(--viking-teal-400));
813
- font-size: 0.84em;
814
- padding: 1px 5px;
815
- }
816
-
817
- /* ── Schemas — flat index, no gray pill buttons ────────────────────────────── */
818
- .swagger-ui section.models {
819
- margin-top: var(--viking-space-3, 24px);
820
- border: none;
821
- border-top: 1px solid var(--viking-border, var(--border));
822
- border-radius: 0;
823
- overflow: visible;
824
- }
825
-
826
- .swagger-ui section.models h4 {
827
- margin: 0;
828
- padding: var(--viking-space-3, 24px) 0 var(--viking-space-1, 8px);
829
- border: none;
830
- background: transparent;
831
- font-size: 0.72rem;
832
- font-weight: 700;
833
- letter-spacing: 0.1em;
834
- text-transform: uppercase;
835
- color: var(--viking-text-muted, var(--text-muted));
836
- }
837
-
838
- .swagger-ui section.models.is-open h4 {
839
- border-bottom: none;
840
- }
841
-
842
- .swagger-ui section.models .model-container {
843
- margin: 0;
844
- padding: 0;
845
- }
846
-
847
- .swagger-ui section.models .model-box {
848
- display: flex;
849
- align-items: center;
850
- flex-wrap: wrap;
851
- gap: var(--viking-space-1, 8px);
852
- margin: 0;
853
- padding: var(--viking-space-2, 16px) 0;
854
- border: none;
855
- border-bottom: 1px solid var(--viking-border-subtle, var(--border));
856
- border-radius: 0;
857
- background: transparent;
858
- }
859
-
860
- .swagger-ui section.models .model-box:last-child {
861
- border-bottom: none;
862
- }
863
-
864
- .swagger-ui section.models .model-box-control {
865
- flex: 1 1 auto;
866
- min-width: 0;
867
- display: flex;
868
- align-items: center;
869
- gap: var(--viking-space-1, 8px);
870
- margin: 0;
871
- padding: 0;
872
- border: none;
873
- background: transparent !important;
874
- box-shadow: none !important;
875
- text-align: left;
876
- }
877
-
878
- .swagger-ui section.models .model-box .btn,
879
- .swagger-ui section.models .model-toggle,
880
- .swagger-ui section.models button.model-box-control {
881
- background: transparent !important;
882
- border: none !important;
883
- box-shadow: none !important;
884
- min-height: auto;
885
- padding: 0;
886
- text-transform: none;
887
- letter-spacing: normal;
888
- font-weight: 600;
889
- color: var(--viking-text, var(--text-color));
890
- }
891
-
892
- .swagger-ui section.models .model-box > .btn {
893
- margin-left: auto;
894
- font-size: 0.75rem;
895
- font-weight: 500;
896
- color: var(--viking-text-muted, var(--text-muted));
897
- }
898
-
899
- .swagger-ui section.models .model-title,
900
- .swagger-ui section.models .model-title__text {
901
- color: var(--viking-text, var(--text-color));
902
- font-family: var(--viking-font-family-mono, "JetBrains Mono", monospace);
903
- font-size: 0.88rem;
904
- font-weight: 600;
905
- }
906
-
907
- .swagger-ui section.models .model .prop-type,
908
- .swagger-ui section.models .model .prop-format {
909
- margin-left: auto;
910
- color: var(--viking-accent, var(--color-primary));
911
- font-size: 0.78rem;
912
- }
913
-
914
- .swagger-ui .model .property-row {
915
- border-bottom: 1px solid var(--viking-border-subtle, var(--border));
916
- }
917
-
918
- /* ── Modal (Authorize) ───────────────────────────────────────────────────── */
919
- .swagger-ui .dialog-ux .modal-ux {
920
- background: color-mix(in srgb, #0a0a0a 72%, transparent);
921
- }
922
-
923
- .swagger-ui .dialog-ux .modal-ux-content {
924
- background: var(--viking-surface, var(--card-bg));
925
- border: 1px solid var(--viking-border-strong, var(--border));
926
- border-radius: var(--viking-radius-lg, 12px);
927
- box-shadow: var(--viking-shadow-lg, var(--shadow-lg));
928
- padding: var(--viking-space-3, 24px);
929
- }
930
-
931
- .swagger-ui .dialog-ux .modal-ux-header {
932
- border-bottom: 1px solid var(--viking-border, var(--border));
933
- padding: 0 0 var(--viking-space-2, 16px);
934
- margin-bottom: var(--viking-space-2, 16px);
935
- }
936
-
937
- .swagger-ui .dialog-ux .modal-ux-header h3 {
938
- font-size: 1.1rem;
939
- font-weight: 700;
940
- color: var(--viking-text, var(--text-color));
941
- }
942
-
943
- .swagger-ui .auth-container h4,
944
- .swagger-ui .auth-container label {
945
- color: var(--viking-text, var(--text-color));
946
- }
947
-
948
- /* ── Loading / errors ────────────────────────────────────────────────────── */
949
- .swagger-ui .loading-container .loading {
950
- color: var(--viking-text-muted, var(--text-muted));
951
- }
952
-
953
- .swagger-ui .errors-wrapper {
954
- background: color-mix(in srgb, var(--viking-crimson-500) 10%, transparent);
955
- border: 1px solid
956
- color-mix(in srgb, var(--viking-crimson-500) 30%, transparent);
957
- border-radius: var(--viking-radius, 8px);
958
- color: var(--viking-crimson-400);
959
- margin: var(--viking-space-2, 16px) 0;
960
- padding: var(--viking-space-2, 16px);
961
- }
962
-
963
- html[data-theme="light"] .swagger-ui .highlight-code,
964
- html[data-theme="light"] .swagger-ui .microlight,
965
- html[data-theme="light"] .swagger-ui pre,
966
- html[data-theme="light"] .swagger-ui .opblock-body pre.microlight {
967
- background: var(--viking-charcoal-900, #111111) !important;
968
- }
969
-
970
- html[data-theme="light"] .swagger-ui .opblock .opblock-section-header {
971
- background: color-mix(
972
- in srgb,
973
- var(--viking-surface-alt, var(--charcoal-800)) 35%,
974
- var(--viking-surface, var(--card-bg))
975
- ) !important;
976
- }
977
-
978
- html[data-theme="light"] .swagger-ui .filter-container input[type="text"] {
979
- background: var(--viking-surface, var(--card-bg));
980
- color: var(--viking-text, var(--text-color));
981
- }
982
-
983
- html[data-theme="light"] .swagger-ui .scheme-container select,
984
- html[data-theme="light"] .swagger-ui .opblock-body select,
985
- html[data-theme="light"] .swagger-ui select {
986
- background: var(--viking-surface, var(--card-bg));
987
- color: var(--viking-text, var(--text-color));
988
- }
989
-
990
- @media (prefers-reduced-motion: reduce) {
991
- .swagger-ui .btn:hover {
992
- transform: none;
993
- }
994
- }
995
-
996
- @media (min-width: 641px) {
997
- .backend-swagger-hero {
998
- padding: var(--viking-space-3) var(--viking-space-3) var(--viking-space-2);
999
- }
1000
-
1001
- .backend-swagger-toolbar {
1002
- padding: var(--viking-space-2) var(--viking-space-3);
1003
- }
1004
-
1005
- .backend-swagger-panel #swagger-ui {
1006
- padding: 0 var(--viking-space-3) var(--viking-space-3);
1007
- }
1008
-
1009
- .swagger-ui .opblock .opblock-summary {
1010
- flex-wrap: nowrap;
1011
- gap: 0;
1012
- }
1013
- }