@flood-md/react 0.2.10 → 0.2.12

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 (57) hide show
  1. package/README.md +275 -5
  2. package/dist/app-shell.d.ts +3 -0
  3. package/dist/app-shell.js +66 -0
  4. package/dist/bulk-action-bar.d.ts +3 -0
  5. package/dist/bulk-action-bar.js +17 -0
  6. package/dist/collection-toolbar.d.ts +3 -0
  7. package/dist/collection-toolbar.js +26 -0
  8. package/dist/collection-view-switcher.d.ts +3 -0
  9. package/dist/collection-view-switcher.js +19 -0
  10. package/dist/combobox.d.ts +6 -1
  11. package/dist/combobox.js +77 -29
  12. package/dist/command-list.d.ts +5 -1
  13. package/dist/command-list.js +2 -2
  14. package/dist/data-display.js +28 -4
  15. package/dist/data-table-columns.d.ts +25 -0
  16. package/dist/data-table-columns.js +271 -0
  17. package/dist/data-table-expansion.d.ts +21 -0
  18. package/dist/data-table-expansion.js +79 -0
  19. package/dist/data-table.js +140 -12
  20. package/dist/date-picker.js +2 -2
  21. package/dist/date-range-picker.js +2 -2
  22. package/dist/date-time-picker.js +2 -2
  23. package/dist/date-time-range-picker.js +2 -2
  24. package/dist/disclosure.d.ts +2 -1
  25. package/dist/disclosure.js +4 -4
  26. package/dist/editable.js +57 -18
  27. package/dist/filter-condition.d.ts +3 -0
  28. package/dist/filter-condition.js +21 -0
  29. package/dist/filter-group.d.ts +2 -0
  30. package/dist/filter-group.js +62 -0
  31. package/dist/foundations.css +1131 -93
  32. package/dist/index.d.ts +469 -5
  33. package/dist/index.js +72 -9
  34. package/dist/menu.js +5 -4
  35. package/dist/menubar.d.ts +2 -0
  36. package/dist/menubar.js +85 -0
  37. package/dist/navigation-group.d.ts +3 -0
  38. package/dist/navigation-group.js +13 -0
  39. package/dist/navigation-item.d.ts +3 -0
  40. package/dist/navigation-item.js +68 -0
  41. package/dist/navigation-layout.d.ts +2 -1
  42. package/dist/navigation-layout.js +12 -4
  43. package/dist/navigation-tree.js +51 -7
  44. package/dist/navigation.js +2 -2
  45. package/dist/overflow-actions.d.ts +2 -0
  46. package/dist/overflow-actions.js +75 -0
  47. package/dist/overlay-runtime.d.ts +6 -2
  48. package/dist/overlay-runtime.js +41 -5
  49. package/dist/overlays.d.ts +1 -0
  50. package/dist/overlays.js +34 -18
  51. package/dist/select.js +4 -1
  52. package/dist/sidebar.d.ts +2 -0
  53. package/dist/sidebar.js +58 -0
  54. package/dist/sparkline.d.ts +2 -0
  55. package/dist/sparkline.js +65 -0
  56. package/dist/toolbar.js +2 -2
  57. package/package.json +2 -2
@@ -13,7 +13,7 @@
13
13
  .flood-root .flood-list[data-marker="false"] { list-style: none; padding: 0; }
14
14
  .flood-root .flood-empty-state { box-sizing: border-box; align-items: center; text-align: center; padding-block: var(--flood-sys-space-8); padding-inline: min(var(--flood-sys-space-8), 8%); }
15
15
  .flood-root .flood-empty-state[data-density="compact"] { padding-block: var(--flood-sys-space-6); padding-inline: min(var(--flood-sys-space-6), 8%); }
16
- .flood-root .flood-empty-state__icon { display:grid; place-items:center; flex:none; padding: var(--flood-sys-space-3); border-radius: var(--flood-sys-radius-action); background: var(--flood-sys-color-surface-default); }
16
+ .flood-root .flood-empty-state__icon { display:grid; place-items:center; flex:none; padding: var(--flood-sys-space-3); border-radius: var(--flood-sys-radius-action); background: var(--flood-sys-color-surface-muted); }
17
17
  .flood-root .flood-empty-state__actions { justify-content: center; }
18
18
  .flood-root :is(.flood-container, .flood-grid, .flood-aspect-ratio, .flood-list, .flood-image, .flood-empty-state)[hidden] { display: none; }
19
19
 
@@ -29,11 +29,15 @@
29
29
  .flood-root .flood-card[hidden] { display: none; }
30
30
  @media (forced-colors: active) { .flood-root .flood-card { border: var(--flood-sys-stroke-width) solid CanvasText; background: Canvas !important; color: CanvasText; } }
31
31
 
32
- .flood-root .flood-kbd { display: inline-flex; flex: none; align-items: center; justify-content: center; vertical-align: middle; box-sizing: border-box; min-inline-size: var(--flood-sys-size-keycap-sm); min-block-size: var(--flood-sys-size-keycap-sm); padding-inline: var(--flood-sys-space-1); border: var(--flood-sys-stroke-width) solid var(--flood-sys-color-border-decorative); border-radius: var(--flood-sys-radius-indicator); background: var(--flood-sys-color-surface-default); color: var(--flood-sys-color-content-subtle); font-family: var(--flood-sys-font-mono); font-size: var(--flood-sys-type-helper-size); font-weight: var(--flood-sys-type-helper-weight); line-height: var(--flood-sys-type-helper-line-height); white-space: nowrap; }
32
+ .flood-root .flood-kbd { display: inline-flex; flex: none; align-items: center; justify-content: center; vertical-align: middle; box-sizing: border-box; min-inline-size: var(--flood-sys-size-keycap-sm); min-block-size: var(--flood-sys-size-keycap-sm); padding-inline: var(--flood-sys-space-1); border: var(--flood-sys-stroke-width) solid var(--flood-sys-color-border-decorative); border-radius: var(--flood-sys-radius-indicator); background: var(--flood-sys-color-surface-muted); color: var(--flood-sys-color-content-subtle); font-family: var(--flood-sys-font-mono); font-size: var(--flood-sys-type-helper-size); font-weight: var(--flood-sys-type-helper-weight); line-height: var(--flood-sys-type-helper-line-height); white-space: nowrap; }
33
33
  .flood-root .flood-kbd[data-size="md"] { min-inline-size: var(--flood-sys-size-keycap-md); min-block-size: var(--flood-sys-size-keycap-md); font-size: var(--flood-sys-type-compact-size); }
34
34
  .flood-root .flood-kbd[data-size="lg"] { min-inline-size: var(--flood-sys-size-keycap-lg); min-block-size: var(--flood-sys-size-keycap-lg); font-size: var(--flood-sys-type-body-size); }
35
35
  .flood-root .flood-toolbar { display: inline-flex; flex-wrap: wrap; align-items: center; gap: var(--flood-sys-space-1); box-sizing: border-box; inline-size: fit-content; max-inline-size: 100%; min-inline-size: 0; padding: var(--flood-sys-space-1); border: var(--flood-sys-stroke-width) solid var(--flood-sys-color-border-decorative); border-radius: var(--flood-sys-radius-field); background: var(--flood-sys-color-surface-default); }
36
36
  .flood-root .flood-toolbar[data-orientation="vertical"] { flex-direction: column; align-items: stretch; }
37
+ .flood-root .flood-toolbar[data-shape="pill"] { border-radius: var(--flood-sys-radius-action); }
38
+ .flood-root .flood-toolbar[data-shape="pill"][data-orientation="vertical"] { flex-wrap: nowrap; align-items: center; }
39
+ .flood-root .flood-toolbar[data-variant="plain"] { padding:0; border:0; background:transparent; }
40
+ .flood-root .flood-toolbar[data-shape="pill"][data-orientation="horizontal"] { flex-wrap: nowrap; overflow: auto; }
37
41
  .flood-root .flood-toolbar:focus-visible { outline: var(--flood-sys-focus-width) solid var(--flood-sys-color-focus-ring); outline-offset: calc(-1 * var(--flood-sys-focus-width)); }
38
42
  .flood-root .flood-toolbar[data-orientation="horizontal"] > .flood-divider { align-self: stretch; inline-size: var(--flood-sys-stroke-width); block-size: auto; border: 0; border-inline-start: var(--flood-sys-stroke-width) solid var(--flood-sys-color-divider-decorative); margin-inline: var(--flood-sys-space-1); margin-block: var(--flood-sys-space-1); }
39
43
  .flood-root .flood-toolbar[data-orientation="vertical"] > .flood-divider { align-self: stretch; inline-size: 100%; block-size: var(--flood-sys-stroke-width); border: 0; border-block-start: var(--flood-sys-stroke-width) solid var(--flood-sys-color-divider-decorative); margin-block: var(--flood-sys-space-1); }
@@ -79,23 +83,33 @@
79
83
  .flood-root .flood-table caption { text-align: start; padding-block-end: var(--flood-sys-space-3); font-weight: var(--flood-sys-type-label-weight); color: var(--flood-sys-color-content-default); }
80
84
  .flood-root .flood-table :is(th, td) { text-align: start; vertical-align: middle; padding: var(--flood-data-padding) var(--flood-sys-space-3); overflow-wrap: break-word; }
81
85
  .flood-root .flood-table :is(th, td)[data-wrap="anywhere"] { overflow-wrap: anywhere; }
82
- .flood-root .flood-table[data-cell-vertical-align="top"] :is(th, td) { vertical-align: top; }
83
- .flood-root .flood-table[data-cell-vertical-align="middle"] :is(th, td) { vertical-align: middle; }
84
- .flood-root .flood-table[data-cell-vertical-align="bottom"] :is(th, td) { vertical-align: bottom; }
86
+ .flood-root .flood-table[data-cell-vertical-align="top"] > :where(thead, tbody, tfoot) > :where(tr) > :is(th, td) { vertical-align: top; }
87
+ .flood-root .flood-table[data-cell-vertical-align="bottom"] > :where(thead, tbody, tfoot) > :where(tr) > :is(th, td) { vertical-align: bottom; }
85
88
  .flood-root .flood-table th { font-weight: var(--flood-sys-type-label-weight); }
86
- .flood-root .flood-table thead th { color: var(--flood-sys-color-content-subtle); border-block-end: var(--flood-sys-stroke-width) solid var(--flood-sys-color-divider-decorative); }
87
- .flood-root .flood-table tbody > tr:not(:last-child) > :is(th, td) { border-block-end: var(--flood-sys-stroke-width) solid var(--flood-sys-color-divider-decorative); }
88
- .flood-root .flood-table tfoot > tr:first-child > :is(th, td) { border-block-start: var(--flood-sys-stroke-width) solid var(--flood-sys-color-divider-decorative); }
89
- .flood-root .flood-table tfoot { background: color-mix(in srgb, var(--flood-sys-color-content-default) 8%, transparent); }
90
- .flood-root .flood-table tfoot :is(th, td) { font-weight: var(--flood-sys-type-label-weight); }
91
- .flood-root .flood-table[data-striped="true"] tbody > tr:nth-child(even) { background: color-mix(in srgb, var(--flood-sys-color-content-default) 4%, transparent); }
89
+ .flood-root .flood-table > thead > :where(tr) > th { color: var(--flood-sys-color-content-subtle); border-block-end: var(--flood-sys-stroke-width) solid var(--flood-sys-color-divider-decorative); }
90
+ .flood-root .flood-table[data-sticky-header] > thead {
91
+ position: sticky;
92
+ inset-block-start: 0;
93
+ z-index: 2;
94
+ background-color: var(--flood-sys-color-surface-canvas);
95
+ background-image: linear-gradient(var(--flood-sys-color-surface-current), var(--flood-sys-color-surface-current));
96
+ }
97
+ .flood-root .flood-table[data-sticky-header] > thead > tr:last-child > :is(th, td) {
98
+ box-shadow: inset 0 calc(-1 * var(--flood-sys-stroke-width)) var(--flood-sys-color-divider-decorative);
99
+ }
100
+ .flood-root .flood-table > tbody > tr:not(:last-child) > :is(th, td) { border-block-end: var(--flood-sys-stroke-width) solid var(--flood-sys-color-divider-decorative); }
101
+ .flood-root .flood-table > tfoot > tr:first-child > :is(th, td) { border-block-start: var(--flood-sys-stroke-width) solid var(--flood-sys-color-divider-decorative); }
102
+ .flood-root .flood-table > tfoot { background: color-mix(in srgb, var(--flood-sys-color-content-default) 8%, transparent); }
103
+ .flood-root .flood-table > tfoot > :where(tr) > :is(th, td) { font-weight: var(--flood-sys-type-label-weight); }
104
+ .flood-root .flood-table[data-striped="true"] > tbody > :where(tr:nth-child(even of :not(.flood-data-table__expanded-row))) { background: color-mix(in srgb, var(--flood-sys-color-content-default) 4%, transparent); }
92
105
  .flood-root .flood-table [data-numeric] { text-align: end; font-variant-numeric: tabular-nums; white-space: nowrap; }
93
106
  .flood-root .flood-table [data-align="center"] { text-align: center; }
94
107
  .flood-root .flood-table [data-align="end"] { text-align: end; }
95
108
  .flood-root .flood-table [data-align="start"] { text-align: start; }
96
109
  .flood-root :is(.flood-description-list, .flood-table-container, .flood-table)[hidden] { display: none; }
97
110
  @media (forced-colors: active) {
98
- .flood-root .flood-table[data-striped="true"] tbody > tr:nth-child(even) { background: Canvas; }
111
+ .flood-root .flood-table[data-sticky-header] > thead { background: Canvas; }
112
+ .flood-root .flood-table[data-striped="true"] > tbody > :where(tr:nth-child(even of :not(.flood-data-table__expanded-row))) { background: Canvas; }
99
113
  .flood-root .flood-table tfoot { background: Canvas; }
100
114
  .flood-root .flood-table :is(th, td), .flood-root .flood-description-list[data-dividers="true"] > .flood-description-list__item { border-color: CanvasText; }
101
115
  }
@@ -114,11 +128,19 @@
114
128
  .flood-root .flood-indicator__fill { display: block; flex: none; block-size: 100%; border-radius: inherit; background: var(--flood-indicator-color); transition: inline-size var(--flood-sys-motion-duration-normal) var(--flood-sys-motion-easing); }
115
129
  .flood-root .flood-indicator[data-indeterminate="true"] .flood-indicator__fill { inline-size: 100%; background: linear-gradient(90deg, transparent, var(--flood-indicator-color), transparent); background-size: 200% 100%; animation: flood-indeterminate 1.4s linear infinite; }
116
130
  @keyframes flood-indeterminate { from { background-position: 200% 0; } to { background-position: -200% 0; } }
117
- .flood-root .flood-alert { --flood-alert-color: var(--flood-sys-color-content-subtle); position: relative; display: flex; align-items: flex-start; gap: var(--flood-sys-space-3); box-sizing: border-box; min-inline-size: 0; padding: var(--flood-sys-space-4); border: var(--flood-sys-stroke-width) solid var(--flood-sys-color-border-decorative); border-radius: var(--flood-sys-radius-field); background: color-mix(in srgb, var(--flood-alert-color) 4%, var(--flood-sys-color-surface-canvas)); color: var(--flood-sys-color-content-default); }
131
+ .flood-root .flood-alert { --flood-alert-color: var(--flood-sys-color-content-subtle); position: relative; display: flex; align-items: flex-start; gap: var(--flood-sys-space-3); box-sizing: border-box; min-inline-size: 0; padding: var(--flood-sys-space-4); border: var(--flood-sys-stroke-width) solid var(--flood-sys-color-border-decorative); border-radius: var(--flood-sys-radius-field); background: color-mix(in srgb, var(--flood-alert-color) 4%, var(--flood-sys-color-surface-current)); color: var(--flood-sys-color-content-default); }
118
132
  .flood-root .flood-alert[data-tone="info"] { --flood-alert-color: var(--flood-sys-color-feedback-info); }
119
133
  .flood-root .flood-alert[data-tone="success"] { --flood-alert-color: var(--flood-sys-color-feedback-success); }
120
134
  .flood-root .flood-alert[data-tone="warning"] { --flood-alert-color: var(--flood-sys-color-feedback-warning); }
121
135
  .flood-root .flood-alert[data-tone="error"] { --flood-alert-color: var(--flood-sys-color-feedback-error); }
136
+ .flood-root .flood-alert:not([data-tone="neutral"]) {
137
+ --flood-sys-color-action-subtle-rest: color-mix(in srgb, var(--flood-sys-color-surface-current), var(--flood-alert-color) 8%);
138
+ --flood-sys-color-action-subtle-hover: color-mix(in srgb, var(--flood-sys-color-surface-current), var(--flood-alert-color) 14%);
139
+ --flood-sys-color-action-subtle-pressed: color-mix(in srgb, var(--flood-sys-color-surface-current), var(--flood-alert-color) 20%);
140
+ --flood-sys-color-action-ghost-hover: var(--flood-sys-color-action-subtle-hover);
141
+ --flood-sys-color-action-ghost-pressed: var(--flood-sys-color-action-subtle-pressed);
142
+ }
143
+ .flood-root .flood-alert:not(:has(> .flood-alert__content > .flood-alert__title)):has(> .flood-alert__content > .flood-alert__body > .flood-inline:only-child) { align-items: center; }
122
144
  .flood-root .flood-alert__icon { display: inline-flex; flex: none; inline-size: var(--flood-sys-control-md-icon-size); block-size: var(--flood-sys-control-md-icon-size); color: var(--flood-alert-color); }
123
145
  .flood-root .flood-alert__icon > svg { inline-size: 100%; block-size: 100%; }
124
146
  .flood-root .flood-alert__content { flex: 1 1 auto; min-inline-size: 0; overflow-wrap: break-word; font-size: var(--flood-sys-type-compact-size); line-height: var(--flood-sys-type-compact-line-height); }
@@ -140,7 +162,7 @@
140
162
  .flood-root :is(.flood-alert__icon, .flood-alert__body) { color: CanvasText; }
141
163
  }
142
164
 
143
- .flood-root .flood-badge { --flood-badge-color: var(--flood-sys-color-content-default); display: inline-flex; align-items: center; vertical-align: middle; gap: var(--flood-sys-space-1); box-sizing: border-box; max-inline-size: 100%; min-inline-size: 0; padding: var(--flood-sys-space-1) var(--flood-sys-space-2); border: var(--flood-sys-stroke-width) solid transparent; border-radius: var(--flood-sys-radius-action); background: color-mix(in srgb, var(--flood-badge-color) 9%, var(--flood-sys-color-surface-canvas)); color: var(--flood-badge-color); font-size: var(--flood-sys-type-helper-size); line-height: var(--flood-sys-type-helper-line-height); font-weight: var(--flood-sys-type-label-weight); letter-spacing: var(--flood-sys-type-helper-tracking); overflow-wrap: break-word; }
165
+ .flood-root .flood-badge { --flood-badge-color: var(--flood-sys-color-content-default); display: inline-flex; align-items: center; vertical-align: middle; gap: var(--flood-sys-space-1); box-sizing: border-box; max-inline-size: 100%; min-inline-size: 0; padding: var(--flood-sys-space-1) var(--flood-sys-space-2); border: var(--flood-sys-stroke-width) solid transparent; border-radius: var(--flood-sys-radius-action); background: color-mix(in srgb, var(--flood-badge-color) 9%, var(--flood-sys-color-surface-current)); color: var(--flood-badge-color); font-size: var(--flood-sys-type-helper-size); line-height: var(--flood-sys-type-helper-line-height); font-weight: var(--flood-sys-type-label-weight); letter-spacing: var(--flood-sys-type-helper-tracking); overflow-wrap: break-word; }
144
166
  .flood-root .flood-badge[data-size="sm"] { padding-block: 0; }
145
167
  .flood-root .flood-badge[data-size="lg"] { padding-inline: var(--flood-sys-space-3); font-size: var(--flood-sys-type-compact-size); line-height: var(--flood-sys-type-compact-line-height); }
146
168
  .flood-root .flood-badge[data-tone="accent"] { --flood-badge-color: var(--flood-sys-color-accent-content); }
@@ -155,7 +177,7 @@
155
177
  .flood-root .flood-skeleton[data-shape="circle"] { inline-size: 2.5rem; block-size: 2.5rem; border-radius: var(--flood-sys-radius-action); }
156
178
  .flood-root .flood-skeleton[data-animate="true"] { animation: flood-skeleton-pulse 1.8s ease-in-out infinite; }
157
179
  @keyframes flood-skeleton-pulse { 50% { opacity: .5; } }
158
- .flood-root .flood-avatar { --flood-avatar-size: var(--flood-sys-control-md-height); position: relative; display: inline-grid; place-items: center; vertical-align: middle; flex: none; inline-size: var(--flood-avatar-size); block-size: var(--flood-avatar-size); box-sizing: border-box; overflow: hidden; border-radius: var(--flood-sys-radius-action); background: var(--flood-sys-color-surface-overlay); color: var(--flood-sys-color-content-subtle); font-size: var(--flood-sys-type-compact-size); font-weight: var(--flood-sys-type-label-weight); line-height: 1; user-select: none; }
180
+ .flood-root .flood-avatar { --flood-avatar-size: var(--flood-sys-control-md-height); position: relative; display: inline-grid; place-items: center; vertical-align: middle; flex: none; inline-size: var(--flood-avatar-size); block-size: var(--flood-avatar-size); box-sizing: border-box; overflow: hidden; border-radius: var(--flood-sys-radius-action); background: var(--flood-sys-color-surface-avatar); color: var(--flood-sys-color-content-subtle); font-size: var(--flood-sys-type-compact-size); font-weight: var(--flood-sys-type-label-weight); line-height: 1; user-select: none; }
159
181
  .flood-root .flood-avatar[data-size="sm"] { --flood-avatar-size: var(--flood-sys-control-sm-height); font-size: var(--flood-sys-type-helper-size); }
160
182
  .flood-root .flood-avatar[data-size="lg"] { --flood-avatar-size: var(--flood-sys-control-xl-height); }
161
183
  .flood-root .flood-avatar[data-shape="rounded"] { border-radius: var(--flood-sys-radius-field); }
@@ -186,6 +208,31 @@
186
208
  .flood-root .flood-tabs__panel { min-inline-size: 0; padding: var(--flood-sys-space-4); font-size: var(--flood-sys-type-compact-size); line-height: var(--flood-sys-type-compact-line-height); overflow-wrap: break-word; }
187
209
  .flood-root .flood-tabs__panel[hidden] { display: none; }
188
210
  .flood-root .flood-tabs__panel:focus-visible { outline: var(--flood-sys-focus-width) solid var(--flood-sys-color-focus-ring); outline-offset: calc(-1 * var(--flood-sys-focus-width)); }
211
+ .flood-root .flood-tabs[data-variant="line"] {
212
+ gap: var(--flood-sys-space-4);
213
+ border: 0;
214
+ border-radius: 0;
215
+ background: transparent;
216
+ }
217
+ .flood-root .flood-tabs[data-variant="line"] .flood-tabs__scroll { background: transparent; }
218
+ .flood-root .flood-tabs[data-variant="line"] .flood-tab { position: relative; }
219
+ .flood-root .flood-tabs[data-variant="line"] .flood-tab[aria-selected="true"] { background: transparent; }
220
+ .flood-root .flood-tabs[data-variant="line"] .flood-tab[aria-selected="true"]::after {
221
+ position: absolute;
222
+ inset-inline: var(--flood-sys-space-2);
223
+ inset-block-end: 0;
224
+ block-size: var(--flood-sys-focus-width);
225
+ background: currentColor;
226
+ content: "";
227
+ pointer-events: none;
228
+ }
229
+ .flood-root .flood-tabs[data-variant="line"] .flood-tabs__panel { padding: 0; }
230
+ .flood-root .flood-tabs[data-variant="line"][data-orientation="vertical"] .flood-tab[aria-selected="true"]::after {
231
+ inset-inline: auto 0;
232
+ inset-block: var(--flood-sys-space-2);
233
+ inline-size: var(--flood-sys-focus-width);
234
+ block-size: auto;
235
+ }
189
236
  .flood-root :is(.flood-breadcrumb, .flood-pagination) { min-inline-size: 0; max-inline-size: 100%; font-size: var(--flood-sys-type-compact-size); line-height: var(--flood-sys-type-compact-line-height); }
190
237
  .flood-root :is(.flood-breadcrumb ol, .flood-pagination ul) { display: flex; flex-wrap: wrap; align-items: center; padding: 0; margin: 0; list-style: none; gap: var(--flood-sys-space-2); }
191
238
  .flood-root .flood-breadcrumb { inline-size: max-content; }
@@ -229,13 +276,25 @@
229
276
  .flood-root .flood-disclosure__heading { margin: 0; padding: 0; font: inherit; }
230
277
  .flood-root .flood-disclosure .flood-disclosure__trigger { inline-size: 100%; max-inline-size: none; justify-content: space-between; text-align: start; border-radius: calc(var(--flood-sys-radius-field) - var(--flood-sys-stroke-width)); }
231
278
  .flood-root .flood-disclosure__title { min-inline-size: 0; }
232
- .flood-root .flood-disclosure__indicator { flex: none; inline-size: calc(var(--flood-control-icon) * .4); block-size: calc(var(--flood-control-icon) * .4); border-right: var(--flood-sys-stroke-width) solid currentColor; border-block-end: var(--flood-sys-stroke-width) solid currentColor; transform: rotate(45deg); transition: transform var(--flood-sys-motion-duration-fast) var(--flood-sys-motion-easing); margin-inline: var(--flood-sys-space-1); }
233
- .flood-root .flood-disclosure[data-open="true"] > .flood-disclosure__heading .flood-disclosure__indicator { transform: rotate(225deg); }
279
+ .flood-root .flood-disclosure__indicator { transition: transform var(--flood-sys-motion-duration-fast) var(--flood-sys-motion-easing); }
280
+ .flood-root .flood-disclosure[data-open="true"] > .flood-disclosure__heading .flood-disclosure__indicator { transform: rotate(180deg); }
234
281
  .flood-root .flood-disclosure__panel { padding: 0 var(--flood-control-padding) var(--flood-control-padding); font-size: var(--flood-sys-type-compact-size); line-height: var(--flood-sys-type-compact-line-height); overflow-wrap: break-word; }
235
282
  .flood-root .flood-disclosure__panel[hidden] { display: none; }
283
+ .flood-root .flood-disclosure:not(.flood-accordion > .flood-disclosure, .flood-navigation-group__disclosure) {
284
+ --flood-disclosure-header-inset: var(--flood-sys-space-1);
285
+ --flood-disclosure-content-inset: calc(var(--flood-control-padding) + var(--flood-disclosure-header-inset));
286
+ }
287
+ .flood-root .flood-disclosure:not(.flood-accordion > .flood-disclosure, .flood-navigation-group__disclosure) > .flood-disclosure__heading {
288
+ padding: var(--flood-disclosure-header-inset);
289
+ }
290
+ .flood-root .flood-disclosure:not(.flood-accordion > .flood-disclosure, .flood-navigation-group__disclosure) > .flood-disclosure__heading > .flood-disclosure__trigger {
291
+ border-radius: max(0px, calc(var(--flood-sys-radius-field) - var(--flood-sys-stroke-width) - var(--flood-disclosure-header-inset)));
292
+ }
293
+ .flood-root .flood-disclosure:not(.flood-accordion > .flood-disclosure, .flood-navigation-group__disclosure) > .flood-disclosure__panel {
294
+ padding: var(--flood-sys-space-2) var(--flood-disclosure-content-inset) var(--flood-disclosure-content-inset);
295
+ }
236
296
  .flood-root .flood-accordion > .flood-disclosure { border: 0; border-radius: 0; background: transparent; }
237
297
  .flood-root .flood-accordion > .flood-disclosure + .flood-disclosure { border-block-start: var(--flood-sys-stroke-width) solid var(--flood-sys-color-divider-decorative); }
238
- .flood-root .flood-disclosure[data-open="true"] > .flood-disclosure__heading > .flood-disclosure__trigger { border-end-start-radius: 0; border-end-end-radius: 0; }
239
298
  .flood-root .flood-accordion > .flood-disclosure > .flood-disclosure__heading > .flood-disclosure__trigger { border-radius: 0; }
240
299
  .flood-root .flood-accordion > .flood-disclosure:first-child > .flood-disclosure__heading > .flood-disclosure__trigger { border-start-start-radius: calc(var(--flood-sys-radius-field) - var(--flood-sys-stroke-width)); border-start-end-radius: calc(var(--flood-sys-radius-field) - var(--flood-sys-stroke-width)); }
241
300
  .flood-root .flood-accordion > .flood-disclosure:last-child[data-open="false"] > .flood-disclosure__heading > .flood-disclosure__trigger { border-end-start-radius: calc(var(--flood-sys-radius-field) - var(--flood-sys-stroke-width)); border-end-end-radius: calc(var(--flood-sys-radius-field) - var(--flood-sys-stroke-width)); }
@@ -326,8 +385,6 @@
326
385
  box-sizing: border-box;
327
386
  border-radius: var(--flood-sys-radius-block);
328
387
  min-inline-size: 0;
329
- --flood-surface-action-rest: var(--flood-sys-color-action-on-surface-rest);
330
- --flood-surface-action-hover: var(--flood-sys-color-action-on-surface-hover);
331
388
  }
332
389
  .flood-root .flood-divider { border: 0; border-block-start: var(--flood-sys-stroke-width) solid var(--flood-sys-color-divider-decorative); margin: 0; inline-size: 100%; }
333
390
  .flood-root .flood-button {
@@ -354,18 +411,6 @@
354
411
  .flood-root .flood-button:active:not(:disabled) { background: var(--flood-action-pressed); }
355
412
  .flood-root .flood-button:disabled { background: var(--flood-action-disabled); color: var(--flood-action-disabled-content); opacity: 1; }
356
413
  .flood-root .flood-button[aria-pressed="true"]:not(:disabled) { background: var(--flood-sys-color-selection-background); color: var(--flood-sys-color-selection-content); }
357
- .flood-root .flood-surface .flood-button--subtle {
358
- --flood-action-rest: var(--flood-surface-action-rest);
359
- --flood-action-hover: var(--flood-surface-action-hover);
360
- --flood-action-pressed: var(--flood-sys-color-action-on-surface-pressed);
361
- --flood-action-content: var(--flood-sys-color-action-on-surface-content);
362
- --flood-action-disabled: var(--flood-sys-color-action-on-surface-disabled);
363
- --flood-action-disabled-content: var(--flood-sys-color-action-on-surface-disabled-content);
364
- }
365
- .flood-root .flood-surface[data-flood-elevation="overlay"] {
366
- --flood-surface-action-rest: var(--flood-sys-color-action-on-surface-hover);
367
- --flood-surface-action-hover: var(--flood-sys-color-action-on-surface-pressed);
368
- }
369
414
  .flood-root .flood-button--outline { border-color: var(--flood-sys-color-field-border); }
370
415
  .flood-root .flood-icon-button { min-inline-size: var(--flood-control-height); padding: var(--flood-sys-space-1); }
371
416
  .flood-root .flood-icon { display: inline-flex; align-items: center; justify-content: center; line-height: 1; flex: none; inline-size: var(--flood-icon-size); block-size: var(--flood-icon-size); color: inherit; }
@@ -387,6 +432,8 @@
387
432
  font-weight: var(--flood-sys-type-compact-weight);
388
433
  }
389
434
  .flood-root .flood-number-input > .flood-input { text-align: center; appearance: textfield; font-variant-numeric: tabular-nums; }
435
+ .flood-root .flood-input-group.flood-number-input { flex-wrap: nowrap; min-inline-size: calc(2 * var(--flood-group-height) + 2 * var(--flood-control-gap) + 2ch); }
436
+ .flood-root .flood-input-group.flood-number-input > .flood-input { flex: 1 1 4ch; min-inline-size: 2ch; }
390
437
  .flood-root .flood-number-input > .flood-input::-webkit-inner-spin-button,
391
438
  .flood-root .flood-number-input > .flood-input::-webkit-outer-spin-button { appearance: none; margin: 0; }
392
439
  .flood-root .flood-slider { --flood-slider-thumb: var(--flood-control-icon); min-inline-size: 0; inline-size: 100%; }
@@ -419,7 +466,7 @@
419
466
  .flood-root .flood-input::placeholder { color: var(--flood-sys-color-field-placeholder); opacity: 1; }
420
467
  .flood-root .flood-input[aria-invalid="true"] { border-color: var(--flood-sys-color-feedback-error); }
421
468
  .flood-root .flood-input[readonly] { cursor: text; }
422
- .flood-root .flood-input[readonly]:not(:disabled) { background: var(--flood-sys-color-surface-canvas); }
469
+ .flood-root .flood-input[readonly]:not(:disabled) { background: var(--flood-sys-color-field-readonly); }
423
470
  .flood-root .flood-input[readonly]:not(:disabled):not(:focus-visible) { border-style: dashed; }
424
471
  .flood-root [data-status="error"] { --flood-field-feedback: var(--flood-sys-color-feedback-error); }
425
472
  .flood-root [data-status="warning"] { --flood-field-feedback: var(--flood-sys-color-feedback-warning); }
@@ -459,6 +506,7 @@
459
506
  .flood-root .flood-select[hidden] { display: none; }
460
507
  .flood-root .flood-select--custom .flood-select__control { position: relative; text-align: start; font-family: inherit; }
461
508
  .flood-root .flood-select--custom .flood-select__control::after { content: ""; box-sizing: border-box; position: absolute; pointer-events: none; inset-inline-end: var(--flood-control-padding); inset-block-start: 50%; inline-size: var(--flood-sys-space-2); block-size: var(--flood-sys-space-2); border-right: var(--flood-sys-focus-width) solid currentColor; border-bottom: var(--flood-sys-focus-width) solid currentColor; transform: translateY(-75%) rotate(45deg); }
509
+ .flood-root .flood-select--custom .flood-select__control[aria-expanded="true"]::after { transform: translateY(-25%) rotate(225deg); }
462
510
  .flood-root .flood-select__value { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
463
511
  .flood-root .flood-select__native[hidden] { display: none; }
464
512
  .flood-root .flood-select__menu {
@@ -550,7 +598,7 @@
550
598
  .flood-root .flood-switch-input:disabled::before { background: var(--flood-sys-color-field-disabled-content); }
551
599
  .flood-root .flood-link { font-size: inherit; color: var(--flood-sys-color-content-default); text-underline-offset: var(--flood-sys-space-1); }
552
600
  .flood-root .flood-link--button { font-size: var(--flood-control-text); color: var(--flood-action-content); text-decoration: none; }
553
- .flood-root .flood-link--button[aria-current="page"] { background: var(--flood-sys-color-selection-background); color: var(--flood-sys-color-selection-content); }
601
+ .flood-root .flood-link--button:is([aria-current="page"],[aria-current="location"]) { background: var(--flood-sys-color-selection-background); color: var(--flood-sys-color-selection-content); }
554
602
  .flood-root :where(.flood-button, .flood-check, .flood-switch-input, .flood-link):focus-visible { outline: var(--flood-sys-focus-width) solid var(--flood-sys-color-focus-ring); outline-offset: var(--flood-sys-focus-offset); }
555
603
  .flood-root .flood-spinner { inline-size: var(--flood-control-icon); block-size: var(--flood-control-icon); border-width: var(--flood-sys-focus-width); }
556
604
  @media (pointer: coarse) {
@@ -615,6 +663,12 @@
615
663
  --flood-type-tracking: var(--flood-sys-type-section-tracking);
616
664
  --flood-type-weight: var(--flood-sys-type-section-weight);
617
665
  }
666
+ .flood-root .flood-type--group {
667
+ --flood-type-size: var(--flood-sys-type-group-title-size);
668
+ --flood-type-line: var(--flood-sys-type-group-title-line-height);
669
+ --flood-type-tracking: var(--flood-sys-type-group-title-tracking);
670
+ --flood-type-weight: var(--flood-sys-type-group-title-weight);
671
+ }
618
672
  .flood-root .flood-type--body {
619
673
  --flood-type-size: var(--flood-sys-type-body-size);
620
674
  --flood-type-line: var(--flood-sys-type-body-line-height);
@@ -763,7 +817,7 @@
763
817
  .flood-root .flood-button-group[data-orientation="vertical"] > .flood-button:nth-last-child(1 of .flood-button:not([hidden])) { border-end-start-radius: var(--flood-sys-radius-field); border-end-end-radius: var(--flood-sys-radius-field); }
764
818
  .flood-root .flood-input-group { flex-wrap: wrap; --flood-group-stroke: var(--flood-sys-stroke-width); --flood-group-height: var(--flood-control-height); --flood-group-inset: max(var(--flood-sys-space-1), var(--flood-sys-focus-width)); box-sizing: border-box; display: flex; align-items: center; gap: var(--flood-control-gap); min-inline-size: 0; inline-size: 100%; min-block-size: var(--flood-group-height); padding-inline: calc(var(--flood-control-padding) - var(--flood-group-stroke)); padding-block: calc(var(--flood-group-inset) - var(--flood-group-stroke)); border: var(--flood-group-stroke) solid var(--flood-sys-color-field-border); border-radius: var(--flood-sys-radius-field); background: var(--flood-sys-color-field-background); color: var(--flood-sys-color-field-content); }
765
819
  .flood-root .flood-input-group[data-status] { border-color: var(--flood-field-feedback); }
766
- .flood-root .flood-input-group[data-readonly="true"] { background: var(--flood-sys-color-surface-canvas); border-style: dashed; }
820
+ .flood-root .flood-input-group[data-readonly="true"] { background: var(--flood-sys-color-field-readonly); border-style: dashed; }
767
821
  .flood-root .flood-input-group[data-disabled="true"] { background: var(--flood-sys-color-field-disabled); border-color: var(--flood-sys-color-field-border); color: var(--flood-sys-color-field-disabled-content); }
768
822
  .flood-root .flood-input-group:has(> .flood-input:focus-visible) { --flood-group-stroke: var(--flood-sys-focus-width); border-color: var(--flood-sys-color-focus-ring); border-style: solid; }
769
823
  .flood-root .flood-input-group > .flood-input { flex: 1 1 4rem; align-self: stretch; inline-size: 0; min-inline-size: min(100%, 4rem); min-block-size: calc(var(--flood-group-height) - 2 * var(--flood-group-inset)); border: 0; border-radius: 0; background: transparent; padding-inline: 0; padding-block: max(0px, calc((var(--flood-control-height) - var(--flood-control-text) * var(--flood-control-line)) / 2 - var(--flood-group-inset))); }
@@ -794,6 +848,8 @@
794
848
  .flood-root .flood-segmented .flood-choice-group[data-orientation="vertical"] > .flood-choice { inline-size: 100%; }
795
849
  .flood-root .flood-segmented--icons .flood-choice { padding-inline: var(--flood-sys-space-1); min-inline-size: calc(var(--flood-control-height) - 2 * var(--flood-sys-space-1)); }
796
850
  .flood-root .flood-segmented .flood-choice > span { display: inline-flex; align-items: center; justify-content: center; gap: var(--flood-control-gap); }
851
+ .flood-root .flood-segmented__counted-label { display: inline-flex; align-items: baseline; gap: var(--flood-sys-space-1); }
852
+ .flood-root .flood-segmented__count { font-size: min(var(--flood-control-text), var(--flood-sys-type-helper-size)); font-variant-numeric: tabular-nums; white-space: nowrap; }
797
853
  .flood-root .flood-segmented .flood-choice > .flood-check { position: absolute; inset: 0; inline-size: 100%; min-inline-size: 0; max-inline-size: none; block-size: 100%; margin: 0; border: 0; opacity: 0; cursor: inherit; }
798
854
  .flood-root .flood-segmented .flood-choice > .flood-check::before { display: none; }
799
855
  .flood-root .flood-segmented .flood-choice:has(input:checked) { background: var(--flood-sys-color-selection-background); color: var(--flood-sys-color-selection-content); }
@@ -831,11 +887,13 @@
831
887
  .flood-root .flood-combobox__control > .flood-input-group__addon--end { flex: none; max-inline-size: 100%; margin-inline-start: auto; }
832
888
  .flood-root .flood-combobox__control:has(> .flood-input-group__addon--end .flood-combobox__actions) { padding-inline-end: calc(var(--flood-group-inset) - var(--flood-group-stroke)); }
833
889
  .flood-root .flood-combobox__actions > .flood-button { --flood-control-height: calc(var(--flood-group-height) - 2 * var(--flood-group-inset)); border-radius: max(0px, calc(var(--flood-sys-radius-field) - var(--flood-group-inset))); }
890
+ /* Nested icon actions budget their inset against the reduced inner target. */
891
+ .flood-root :is(.flood-input-group__addon, .flood-combobox__actions) > .flood-icon-button { padding:max(0px,calc((var(--flood-control-height) - var(--flood-control-icon) - 2 * var(--flood-sys-stroke-width)) / 2)); }
834
892
  .flood-root .flood-combobox__clear-empty { visibility: hidden; }
835
893
  .flood-root .flood-combobox__option-text { display: grid; gap: var(--flood-sys-space-1); min-inline-size: 0; }
836
894
  .flood-root .flood-combobox__description { color: var(--flood-sys-color-content-subtle); font-size: var(--flood-sys-type-helper-size); line-height: var(--flood-sys-type-helper-line-height); }
837
895
  @media (forced-colors: active) { .flood-root .flood-combobox__description { color: inherit; } }
838
- .flood-root .flood-tag { --flood-tag-height: var(--flood-sys-control-xs-height); display: inline-flex; align-items: center; gap: var(--flood-sys-space-1); box-sizing: border-box; min-inline-size: 0; max-inline-size: 100%; min-block-size: var(--flood-tag-height); padding: calc(var(--flood-sys-space-1) / 2) var(--flood-sys-space-2); border: var(--flood-sys-stroke-width) solid var(--flood-sys-color-border-decorative); border-radius: var(--flood-sys-radius-action); background: var(--flood-sys-color-surface-raised); color: var(--flood-sys-color-content-default); font-size: var(--flood-sys-type-compact-size); line-height: var(--flood-sys-type-compact-line-height); letter-spacing: var(--flood-sys-type-compact-tracking); vertical-align: middle; }
896
+ .flood-root .flood-tag { --flood-tag-height: var(--flood-sys-control-xs-height); display: inline-flex; align-items: center; gap: var(--flood-sys-space-1); box-sizing: border-box; min-inline-size: 0; max-inline-size: 100%; min-block-size: var(--flood-tag-height); padding: calc(var(--flood-sys-space-1) / 2) var(--flood-sys-space-2); border: var(--flood-sys-stroke-width) solid var(--flood-sys-color-border-decorative); border-radius: var(--flood-sys-radius-action); background: var(--flood-sys-color-surface-supporting); color: var(--flood-sys-color-content-default); font-size: var(--flood-sys-type-compact-size); line-height: var(--flood-sys-type-compact-line-height); letter-spacing: var(--flood-sys-type-compact-tracking); vertical-align: middle; }
839
897
  .flood-root .flood-tag[data-size="sm"] { --flood-tag-height: var(--flood-sys-control-2xs-height); font-size: var(--flood-sys-type-helper-size); }
840
898
  .flood-root .flood-tag[data-size="lg"] { --flood-tag-height: var(--flood-sys-control-sm-height); font-size: var(--flood-sys-type-body-size); }
841
899
  .flood-root .flood-tag__label { min-inline-size: 0; overflow-wrap: break-word; }
@@ -843,8 +901,10 @@
843
901
  .flood-root .flood-tag > .flood-tag__remove { --flood-control-height: calc(var(--flood-tag-height) - var(--flood-sys-space-1) - 2 * var(--flood-sys-stroke-width)); min-block-size: var(--flood-control-height); min-inline-size: var(--flood-control-height); flex: none; padding: 0; border-radius: var(--flood-sys-radius-action); }
844
902
  .flood-root .flood-tag[data-disabled="true"] { color: var(--flood-sys-color-content-subtle); }
845
903
  .flood-root .flood-tag[hidden] { display: none; }
846
- .flood-root .flood-multi-select__control { padding: calc(var(--flood-group-inset) - var(--flood-group-stroke)); gap: var(--flood-sys-space-1); }
904
+ .flood-root .flood-multi-select__control { --flood-multi-select-action-count:1; padding: calc(var(--flood-group-inset) - var(--flood-group-stroke)); gap: var(--flood-sys-space-1); }
905
+ .flood-root .flood-multi-select__control.flood-control--sm { gap:calc(var(--flood-sys-space-1) / 2); }
847
906
  .flood-root .flood-multi-select__control > .flood-tag { --flood-tag-height: calc(var(--flood-group-height) - 2 * var(--flood-group-inset)); border-radius: max(0px, calc(var(--flood-sys-radius-field) - var(--flood-group-inset))); font-size: var(--flood-control-text); line-height: var(--flood-control-line); }
907
+ .flood-root .flood-multi-select__control > .flood-tag { padding-block:max(0px,min(calc(var(--flood-sys-space-1) / 2),calc((var(--flood-tag-height) - var(--flood-control-text) * var(--flood-control-line) - 2 * var(--flood-sys-stroke-width)) / 2))); }
848
908
  @media (pointer: coarse) {
849
909
  .flood-root .flood-tag:has(> .flood-tag__remove) { padding-block: 0; }
850
910
  .flood-root .flood-tag > .flood-tag__remove { min-block-size: var(--flood-sys-size-touch); min-inline-size: var(--flood-sys-size-touch); }
@@ -856,6 +916,10 @@
856
916
  .flood-root .flood-multi-select__editor { display: flex; align-items: center; gap: var(--flood-sys-space-1); flex: 1 1 10rem; min-inline-size: min(100%, calc(var(--flood-group-height) + 4rem)); max-inline-size: 100%; }
857
917
  .flood-root .flood-multi-select__editor > .flood-input { inline-size: 0; min-inline-size: 0; flex: 1 1 0; min-block-size: calc(var(--flood-group-height) - 2 * var(--flood-group-inset)); border: 0; border-radius: 0; background: transparent; padding: 0 var(--flood-sys-space-2); }
858
918
  .flood-root .flood-multi-select__editor > .flood-input:focus-visible { outline: none; border: 0; padding: 0 var(--flood-sys-space-2); }
919
+ .flood-root .flood-multi-select__control[data-has-selection="true"]:not([data-query]) { --flood-multi-select-idle-width:calc((var(--flood-group-height) - 2 * var(--flood-group-inset) + var(--flood-sys-space-1)) * var(--flood-multi-select-action-count) + 1px); }
920
+ .flood-root .flood-multi-select__control[data-clearable="true"] { --flood-multi-select-action-count:2; }
921
+ .flood-root .flood-multi-select__control[data-has-selection="true"]:not([data-query]) .flood-multi-select__editor { flex-basis:var(--flood-multi-select-idle-width); min-inline-size:min(100%,var(--flood-multi-select-idle-width)); }
922
+ .flood-root .flood-multi-select__control[data-has-selection="true"]:not([data-query]) .flood-multi-select__editor > .flood-input { padding-inline:0; }
859
923
  .flood-root .flood-multi-select__control:has(.flood-multi-select__editor > .flood-input:focus-visible) { --flood-group-stroke: var(--flood-sys-focus-width); border-color: var(--flood-sys-color-focus-ring); border-style: solid; }
860
924
 
861
925
  /* Flood owns the single clear action; suppress duplicate browser decoration. */
@@ -893,6 +957,7 @@
893
957
  .flood-root .flood-file-input__file > .flood-icon-button { flex: none; }
894
958
 
895
959
  .flood-root .flood-alert-dialog { inline-size: min(26rem, calc(100% - var(--flood-sys-space-8))); }
960
+ .flood-root .flood-alert-dialog > .flood-overlay-description { white-space: pre-line; }
896
961
  .flood-root .flood-alert-dialog__actions { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: var(--flood-sys-space-2); margin-block-start: var(--flood-sys-space-6); }
897
962
  .flood-root .flood-alert-dialog__actions > .flood-button { max-inline-size: 100%; overflow-wrap: break-word; }
898
963
  @media (max-width: 32rem) {
@@ -910,19 +975,33 @@
910
975
  .flood-root .flood-drawer:is([data-side="top"], [data-side="bottom"]) { left: 0; right: auto; inline-size: 100vw; block-size: min(var(--flood-drawer-size), 100dvh); }
911
976
  .flood-root .flood-drawer[data-side="top"] { inset-block-start: 0; inset-block-end: auto; border-end-start-radius: var(--flood-sys-radius-block); border-end-end-radius: var(--flood-sys-radius-block); --flood-drawer-y: -100%; }
912
977
  .flood-root .flood-drawer[data-side="bottom"] { inset-block-start: auto; inset-block-end: 0; border-start-start-radius: var(--flood-sys-radius-block); border-start-end-radius: var(--flood-sys-radius-block); --flood-drawer-y: 100%; }
978
+ .flood-root .flood-drawer.flood-sheet[data-side="bottom"] {
979
+ inset-inline: 0;
980
+ margin-inline: auto;
981
+ inline-size: min(100%, 36rem);
982
+ block-size: auto;
983
+ max-block-size: min(var(--flood-drawer-size), calc(100dvh - max(var(--flood-sys-space-4), env(safe-area-inset-top))));
984
+ grid-template-rows: auto auto minmax(0, 1fr) auto;
985
+ }
913
986
  .flood-root .flood-drawer > .flood-overlay-header { grid-area: header; }
914
987
  .flood-root .flood-drawer > .flood-overlay-description { grid-area: description; }
915
988
  .flood-root .flood-drawer__body { grid-area: body; min-block-size: 0; min-inline-size: 0; margin-block-start: var(--flood-sys-space-4); }
989
+ .flood-root .flood-drawer > .flood-overlay-description + .flood-drawer__body { margin-block-start: min(var(--flood-sys-space-6), 5dvh); }
916
990
  .flood-root .flood-drawer .flood-overlay-body { margin: 0; }
917
991
  .flood-root .flood-drawer__footer { grid-area: footer; display: flex; flex-wrap: wrap; justify-content: flex-end; gap: var(--flood-sys-space-2); margin-block-start: min(var(--flood-sys-space-4), 2dvh); padding-block-start: min(var(--flood-sys-space-4), 2dvh); border-block-start: var(--flood-sys-stroke-width) solid var(--flood-sys-color-border-decorative); }
918
992
  .flood-root .flood-drawer__footer > * { max-inline-size: 100%; }
919
- @keyframes flood-drawer-enter { from { transform: translate(var(--flood-drawer-x), var(--flood-drawer-y)); } to { transform: translate(0, 0); } }
920
- @media (prefers-reduced-motion: no-preference) { .flood-root .flood-drawer[open] { animation: flood-drawer-enter var(--flood-sys-motion-duration-fast) var(--flood-sys-motion-easing); } }
921
993
 
922
994
  .flood-root .flood-drawer__body > .flood-scroll-area { block-size: 100%; }
923
995
  .flood-root .flood-drawer > .flood-overlay-header { position: relative; padding-inline-end: calc(max(var(--flood-sys-control-sm-height), var(--flood-sys-size-touch)) + var(--flood-sys-space-2)); align-items: flex-start; }
924
996
  .flood-root .flood-drawer > .flood-overlay-header > .flood-overlay-close { position: absolute; inset-block-start: 0; inset-inline-end: 0; }
925
997
  .flood-root .flood-drawer > .flood-overlay-description { margin-block-start: var(--flood-sys-space-1); padding-inline-end: calc(max(var(--flood-sys-control-sm-height), var(--flood-sys-size-touch)) + var(--flood-sys-space-2)); }
998
+ .flood-root .flood-sheet > .flood-overlay-header { align-items: center; padding-inline-end: 0; }
999
+ .flood-root .flood-sheet > .flood-overlay-header > .flood-overlay-close { position: static; align-self: center; }
1000
+ .flood-root .flood-sheet > .flood-overlay-description { padding-inline-end: 0; }
1001
+ .flood-root .flood-sheet > .flood-drawer__body { margin-block-start: var(--flood-sys-space-2); }
1002
+ .flood-root .flood-sheet { --flood-sheet-scroll-offset: calc(var(--flood-sys-scrollbar-size) + var(--flood-sys-scrollbar-inset) + var(--flood-sys-stroke-width)); }
1003
+ .flood-root .flood-sheet:dir(rtl) { --flood-sheet-scroll-offset: calc(-1 * (var(--flood-sys-scrollbar-size) + var(--flood-sys-scrollbar-inset) + var(--flood-sys-stroke-width))); }
1004
+ .flood-root .flood-sheet > .flood-drawer__body > .flood-scroll-area > .flood-scroll-area__track--vertical { translate: var(--flood-sheet-scroll-offset); }
926
1005
  @container flood-drawer (max-width:20rem) {
927
1006
  .flood-root .flood-drawer > .flood-overlay-description { padding-inline-end: 0; }
928
1007
  }
@@ -945,8 +1024,8 @@
945
1024
  .flood-root .flood-avatar-group { display: flex; flex-wrap: wrap; align-items: center; padding: 0; margin: 0; list-style: none; gap: 0; }
946
1025
  .flood-root .flood-avatar-group > li { display: flex; min-inline-size: 0; }
947
1026
  .flood-root .flood-avatar-group > li + li { margin-inline-start: calc(-1 * var(--flood-sys-space-2)); }
948
- .flood-root .flood-avatar-group .flood-avatar { border: var(--flood-sys-stroke-width) solid var(--flood-sys-color-border-decorative); box-shadow: 0 0 0 var(--flood-sys-stroke-width) var(--flood-sys-color-surface-canvas); }
949
- .flood-root .flood-avatar-group__overflow { color: var(--flood-sys-color-content-default); background: var(--flood-sys-color-surface-raised); font-size: var(--flood-sys-type-helper-size); font-variant-numeric: tabular-nums; }
1027
+ .flood-root .flood-avatar-group .flood-avatar { border: var(--flood-sys-stroke-width) solid var(--flood-sys-color-border-decorative); box-shadow: 0 0 0 var(--flood-sys-stroke-width) var(--flood-sys-color-surface-current); }
1028
+ .flood-root .flood-avatar-group__overflow { color: var(--flood-sys-color-content-default); background: var(--flood-sys-color-surface-supporting); font-size: var(--flood-sys-type-helper-size); font-variant-numeric: tabular-nums; }
950
1029
  .flood-root .flood-status-indicator { --flood-status-color: var(--flood-sys-color-content-subtle); display: inline-flex; align-items: center; gap: var(--flood-sys-space-2); max-inline-size: 100%; min-inline-size: 0; font-size: var(--flood-sys-type-compact-size); line-height: var(--flood-sys-type-compact-line-height); overflow-wrap: break-word; }
951
1030
  .flood-root .flood-status-indicator[data-size="sm"] { font-size: var(--flood-sys-type-helper-size); }
952
1031
  .flood-root .flood-status-indicator[data-size="lg"] { font-size: var(--flood-sys-type-body-size); }
@@ -964,7 +1043,7 @@
964
1043
  .flood-root .flood-blockquote__quote > :first-child { margin-block-start: 0; }
965
1044
  .flood-root .flood-blockquote__quote > :last-child { margin-block-end: 0; }
966
1045
  .flood-root .flood-blockquote__attribution { margin-block-start: var(--flood-sys-space-2); color: var(--flood-sys-color-content-subtle); font-size: var(--flood-sys-type-helper-size); line-height: var(--flood-sys-type-helper-line-height); overflow-wrap: break-word; }
967
- .flood-root .flood-inline-code { border-radius: var(--flood-sys-radius-field); background: var(--flood-sys-color-surface-raised); color: var(--flood-sys-color-content-default); font-family: var(--flood-sys-font-mono); font-size: .875em; line-height: inherit; padding: .125em var(--flood-sys-space-2); box-decoration-break: clone; -webkit-box-decoration-break: clone; overflow-wrap: anywhere; white-space: break-spaces; }
1046
+ .flood-root .flood-inline-code { border-radius: var(--flood-sys-radius-field); background: var(--flood-sys-color-surface-supporting); color: var(--flood-sys-color-content-default); font-family: var(--flood-sys-font-mono); font-size: .875em; line-height: inherit; padding: .125em var(--flood-sys-space-2); box-decoration-break: clone; -webkit-box-decoration-break: clone; overflow-wrap: anywhere; white-space: break-spaces; }
968
1047
  .flood-root .flood-inline-code[data-size="sm"] { font-size: var(--flood-sys-type-helper-size); }
969
1048
  .flood-root .flood-inline-code[data-size="lg"] { font-size: var(--flood-sys-type-body-size); }
970
1049
  .flood-root .flood-inline-code[data-wrap="false"] { white-space: pre; overflow-wrap: normal; }
@@ -985,7 +1064,7 @@
985
1064
  .flood-root .flood-timeline__item { position: relative; display: grid; grid-template-columns: 1.25rem minmax(0, 1fr); gap: var(--flood-sys-space-3); padding-block-end: var(--flood-sys-space-4); }
986
1065
  .flood-root .flood-timeline__item:last-child { padding-block-end: 0; }
987
1066
  .flood-root .flood-timeline__item:not(:last-child)::before { content: ""; position: absolute; inset-inline-start: calc(.625rem - var(--flood-sys-stroke-width) / 2); inset-block-start: 1.25rem; inset-block-end: 0; inline-size: var(--flood-sys-stroke-width); background: var(--flood-sys-color-border-decorative); }
988
- .flood-root .flood-timeline__marker { z-index: 1; box-sizing: border-box; display: grid; place-items: center; inline-size: 1.25rem; block-size: 1.25rem; border: var(--flood-sys-stroke-width) solid var(--flood-sys-color-border-decorative); border-radius: var(--flood-sys-radius-action); color: var(--flood-sys-color-content-subtle); background: var(--flood-sys-color-surface-default); }
1067
+ .flood-root .flood-timeline__marker { z-index: 1; box-sizing: border-box; display: grid; place-items: center; inline-size: 1.25rem; block-size: 1.25rem; border: var(--flood-sys-stroke-width) solid var(--flood-sys-color-border-decorative); border-radius: var(--flood-sys-radius-action); color: var(--flood-sys-color-content-subtle); background: var(--flood-sys-color-surface-muted); }
989
1068
  .flood-root .flood-timeline__marker > svg { inline-size: 100%; block-size: 100%; }
990
1069
  .flood-root .flood-timeline__item[data-state="current"] .flood-timeline__marker { color: var(--flood-sys-color-accent-content); }
991
1070
  .flood-root .flood-timeline__item[data-state="current"] .flood-timeline__marker > span { inline-size: .375rem; block-size: .375rem; background: currentColor; border-radius: var(--flood-sys-radius-action); }
@@ -1002,26 +1081,20 @@
1002
1081
  .flood-root .flood-timeline__marker { color: CanvasText; background: Canvas; border-color: CanvasText; }
1003
1082
  }
1004
1083
 
1005
- .flood-root .flood-navigation-list { min-inline-size: 0; }
1006
- .flood-root .flood-navigation-list :is(ul, li) { padding: 0; margin: 0; list-style: none; }
1007
- .flood-root .flood-navigation-list__group + .flood-navigation-list__group { margin-block-start: var(--flood-sys-space-4); }
1008
- .flood-root .flood-navigation-list__group-title { margin: 0; padding: var(--flood-sys-space-2) var(--flood-sys-space-3); color: var(--flood-sys-color-content-subtle); font-size: var(--flood-sys-type-helper-size); line-height: var(--flood-sys-type-helper-line-height); }
1009
- .flood-root .flood-navigation-list__link { display: flex; align-items: center; gap: var(--flood-sys-space-2); box-sizing: border-box; min-inline-size: 0; min-block-size: var(--flood-sys-control-md-height); padding: var(--flood-sys-space-2) var(--flood-sys-space-3); border-radius: var(--flood-sys-radius-field); color: var(--flood-sys-color-content-default); text-decoration: none; font-size: var(--flood-sys-type-compact-size); line-height: var(--flood-sys-type-compact-line-height); }
1010
- .flood-root .flood-navigation-list[data-size="sm"] .flood-navigation-list__link { min-block-size: var(--flood-sys-control-sm-height); }
1011
- .flood-root .flood-navigation-list[data-size="lg"] .flood-navigation-list__link { min-block-size: var(--flood-sys-control-lg-height); }
1012
- .flood-root .flood-navigation-list__link:hover { background: var(--flood-sys-color-surface-raised); }
1013
- .flood-root .flood-navigation-list__link[aria-current="page"] { background: var(--flood-sys-color-selection-background); color: var(--flood-sys-color-selection-content); }
1014
- .flood-root :is(.flood-navigation-list__text,.flood-steps__text) { display: grid; min-inline-size: 0; gap: var(--flood-sys-space-1); }
1015
- .flood-root :is(.flood-navigation-list__label,.flood-steps__title) { overflow-wrap: break-word; }
1016
- .flood-root :is(.flood-navigation-list__description,.flood-steps__description) { color: var(--flood-sys-color-content-subtle); font-size: var(--flood-sys-type-helper-size); line-height: var(--flood-sys-type-helper-line-height); overflow-wrap: break-word; }
1017
- .flood-root .flood-navigation-list__link > .flood-icon { flex: none; }
1018
- .flood-root :is(.flood-navigation-list__link,.flood-steps__action):focus-visible { outline: var(--flood-sys-focus-width) solid var(--flood-sys-color-focus-ring); outline-offset: var(--flood-sys-focus-offset); }
1084
+ .flood-root .flood-navigation-list { min-inline-size:0; }
1085
+ .flood-root .flood-navigation-list :is(ul,li) { padding:0; margin:0; list-style:none; min-inline-size:0; }
1086
+ .flood-root .flood-navigation-list ul { display:grid; row-gap:var(--flood-sys-space-1); }
1087
+ .flood-root .flood-navigation-list__group + .flood-navigation-list__group { margin-block-start:var(--flood-sys-space-4); }
1088
+ .flood-root .flood-steps__text { display:grid; min-inline-size:0; gap:var(--flood-sys-space-1); }
1089
+ .flood-root .flood-steps__title { overflow-wrap:break-word; }
1090
+ .flood-root .flood-steps__description { color:var(--flood-sys-color-content-subtle); font-size:var(--flood-sys-type-helper-size); line-height:var(--flood-sys-type-helper-line-height); overflow-wrap:break-word; }
1091
+ .flood-root .flood-steps__action:focus-visible { outline:var(--flood-sys-focus-width) solid var(--flood-sys-color-focus-ring); outline-offset:var(--flood-sys-focus-offset); }
1019
1092
 
1020
1093
  .flood-root .flood-steps { display: flex; align-items: flex-start; gap: var(--flood-sys-space-4); padding: 0; margin: 0; min-inline-size: 0; list-style: none; }
1021
1094
  .flood-root .flood-steps > li { flex: 1 1 0; min-inline-size: 0; }
1022
1095
  .flood-root .flood-steps__content { display: flex; gap: var(--flood-sys-space-2); align-items: flex-start; min-inline-size: 0; box-sizing: border-box; font: inherit; color: var(--flood-sys-color-content-default); text-align: start; }
1023
1096
  .flood-root .flood-steps__action { inline-size: 100%; min-block-size: var(--flood-sys-control-md-height); padding: var(--flood-sys-space-1); border: 0; border-radius: var(--flood-sys-radius-field); background: transparent; cursor: pointer; }
1024
- .flood-root .flood-steps__action:hover:not(:disabled) { background: var(--flood-sys-color-surface-raised); }
1097
+ .flood-root .flood-steps__action:hover:not(:disabled) { background: var(--flood-sys-color-action-ghost-hover); }
1025
1098
  .flood-root .flood-steps__action:disabled { color: var(--flood-sys-color-field-disabled-content); cursor: not-allowed; }
1026
1099
  .flood-root .flood-steps__indicator { display: inline-grid; place-items: center; flex: none; inline-size: var(--flood-sys-control-xs-height); block-size: var(--flood-sys-control-xs-height); box-sizing: border-box; border: var(--flood-sys-stroke-width) solid var(--flood-sys-color-border-decorative); border-radius: var(--flood-sys-radius-action); font-size: var(--flood-sys-type-helper-size); font-weight: var(--flood-sys-type-label-weight); color: var(--flood-sys-color-content-subtle); }
1027
1100
  .flood-root .flood-steps__indicator > svg { inline-size: var(--flood-sys-control-xs-icon-size); block-size: var(--flood-sys-control-xs-icon-size); }
@@ -1041,7 +1114,43 @@
1041
1114
  .flood-root .flood-section__description > :first-child { margin-block-start: 0; }
1042
1115
  .flood-root .flood-section__description > :last-child { margin-block-end: 0; }
1043
1116
  .flood-root .flood-section__actions { display: flex; flex-wrap: wrap; gap: var(--flood-sys-space-2); max-inline-size: 100%; }
1117
+ .flood-root .flood-page-header { align-items: center; min-inline-size: 0; }
1118
+ .flood-root .flood-page-header .flood-section__heading { gap: var(--flood-sys-space-2); flex-basis: 16rem; }
1119
+ .flood-root .flood-page-header .flood-section__description { font-size: var(--flood-sys-type-body-size); line-height: var(--flood-sys-type-body-line-height); }
1120
+
1121
+ .flood-root .flood-app-shell { display: flex; min-inline-size: 0; min-block-size: 0; }
1122
+ .flood-root .flood-app-shell[data-scroll="content"] { block-size: 100dvh; }
1123
+ .flood-root .flood-app-shell__navigation { display: flex; flex: none; min-block-size: 0; min-inline-size: 0; }
1124
+ .flood-root .flood-app-shell__workspace { display: flex; flex: 1 1 0; flex-direction: column; min-block-size: 0; min-inline-size: 0; }
1125
+ .flood-root .flood-app-shell__main { flex: 1 1 auto; min-block-size: 0; min-inline-size: 0; }
1126
+ .flood-root .flood-app-shell[data-scroll="content"] .flood-app-shell__main { display: grid; grid-template: minmax(0, 1fr) / minmax(0, 1fr); }
1127
+ .flood-root .flood-app-shell__scroll { block-size: 100%; overscroll-behavior: contain; }
1128
+ .flood-root .flood-app-top-bar {
1129
+ position: relative;
1130
+ display: flex;
1131
+ flex: none;
1132
+ flex-wrap: wrap;
1133
+ align-items: center;
1134
+ gap: var(--flood-sys-space-2) var(--flood-sys-space-4);
1135
+ min-block-size: calc(var(--flood-sys-control-md-height) + 2 * var(--flood-sys-space-2));
1136
+ padding: var(--flood-sys-space-2) var(--flood-sys-space-4);
1137
+ box-sizing: border-box;
1138
+ }
1139
+ .flood-root .flood-app-top-bar[data-bordered]::after {
1140
+ content: "";
1141
+ position: absolute;
1142
+ inset-inline: 0;
1143
+ inset-block-end: 0;
1144
+ border-block-end: var(--flood-sys-stroke-width) solid var(--flood-sys-color-divider-decorative);
1145
+ pointer-events: none;
1146
+ }
1147
+ .flood-root .flood-app-top-bar__start, .flood-root .flood-app-top-bar__end { min-inline-size: 0; max-inline-size: 100%; }
1148
+ .flood-root .flood-app-top-bar__end { margin-inline-start: auto; }
1149
+ .flood-root :is(.flood-app-shell, .flood-app-top-bar)[hidden] { display: none; }
1044
1150
  .flood-root .flood-section__body { margin-block-start: var(--flood-sys-space-4); min-inline-size: 0; }
1151
+ .flood-root .flood-section:has(> .flood-section__header .flood-type--group) > .flood-section__body {
1152
+ margin-block-start: var(--flood-sys-space-3);
1153
+ }
1045
1154
 
1046
1155
  .flood-root .flood-split { container: flood-split / inline-size; min-inline-size: 0; inline-size: 100%; }
1047
1156
  .flood-root .flood-split__layout { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: var(--flood-layout-gap); align-items: start; min-inline-size: 0; }
@@ -1060,9 +1169,9 @@
1060
1169
  .flood-root .flood-skip-link { position: fixed; inset-block-start: var(--flood-sys-space-3); inset-inline-start: var(--flood-sys-space-3); z-index: var(--flood-sys-layer-popover); padding: var(--flood-sys-space-2) var(--flood-sys-space-4); border: var(--flood-sys-stroke-width) solid var(--flood-sys-color-border-decorative); border-radius: var(--flood-sys-radius-action); background: var(--flood-sys-color-surface-raised); color: var(--flood-sys-color-content-default); font-size: var(--flood-sys-type-compact-size); line-height: var(--flood-sys-type-compact-line-height); }
1061
1170
  .flood-root .flood-skip-link:not(:focus) { inline-size: 1px; block-size: 1px; padding: 0; margin: 0; border: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
1062
1171
  .flood-root .flood-skip-link:focus-visible { outline: var(--flood-sys-focus-width) solid var(--flood-sys-color-focus-ring); outline-offset: var(--flood-sys-focus-offset); }
1063
- .flood-root :is(.flood-navigation-list,.flood-steps,.flood-section,.flood-split,.flood-center,.flood-skip-link)[hidden] { display: none; }
1064
- @media (pointer: coarse) { .flood-root .flood-navigation-list__link, .flood-root .flood-steps__action { min-block-size: var(--flood-sys-size-touch); } }
1065
- @media (forced-colors: active) { .flood-root .flood-navigation-list__link[aria-current="page"] { background: Highlight; color: HighlightText; forced-color-adjust: none; } .flood-root .flood-steps__indicator { border-color: CanvasText; } .flood-root :is(.flood-navigation-list__link,.flood-steps__action,.flood-skip-link):focus-visible { outline-color: Highlight; } }
1172
+ .flood-root :is(.flood-navigation-list,.flood-steps,.flood-section,.flood-page-header,.flood-split,.flood-center,.flood-skip-link)[hidden] { display: none; }
1173
+ @media (pointer: coarse) { .flood-root .flood-steps__action { min-block-size: var(--flood-sys-size-touch); } }
1174
+ @media (forced-colors: active) { .flood-root .flood-steps__indicator { border-color: CanvasText; } .flood-root :is(.flood-steps__action,.flood-skip-link):focus-visible { outline-color: Highlight; } }
1066
1175
 
1067
1176
  /* Relationships: labels → controls use .25rem; rows own their compact hit areas. */
1068
1177
  .flood-root .flood-form-control__label { display: block; margin: 0 0 var(--flood-sys-space-1); padding: 0; color: var(--flood-sys-color-content-default); font-size: var(--flood-sys-type-label-size); line-height: var(--flood-sys-type-label-line-height); font-weight: var(--flood-sys-type-label-weight); }
@@ -1072,7 +1181,7 @@
1072
1181
  .flood-root .flood-list-box:focus-visible { outline: var(--flood-sys-focus-width) solid var(--flood-sys-color-focus-ring); outline-offset: calc(-1 * var(--flood-sys-focus-width)); }
1073
1182
  .flood-root .flood-list-box-field { position:relative; }
1074
1183
  .flood-root .flood-list-box[data-status] { border-color:var(--flood-field-feedback); }
1075
- .flood-root .flood-list-box[aria-readonly="true"][data-appearance="surface"] { background:var(--flood-sys-color-surface-canvas); border-style:dashed; }
1184
+ .flood-root .flood-list-box[aria-readonly="true"][data-appearance="surface"] { background:var(--flood-sys-color-field-readonly); border-style:dashed; }
1076
1185
  .flood-root .flood-list-box__feedback { margin-block-start:var(--flood-sys-space-1); }
1077
1186
  .flood-root .flood-list-box[data-appearance="plain"] { max-block-size:none; overflow:visible; padding:0; border:0; border-radius:0; background:transparent; }
1078
1187
  .flood-root .flood-list-box__option { display: flex; align-items: center; justify-content: space-between; gap: var(--flood-sys-space-2); padding: var(--flood-sys-space-2) var(--flood-sys-space-3); min-block-size: var(--flood-control-height); box-sizing: border-box; border-radius: max(0px, calc(var(--flood-sys-radius-field) - var(--flood-sys-space-1) - var(--flood-sys-stroke-width))); cursor: pointer; font-size: var(--flood-control-text); line-height: var(--flood-control-line); }
@@ -1087,7 +1196,7 @@
1087
1196
  .flood-root .flood-pin-input__slot { box-sizing: border-box; flex: 0 1 var(--flood-control-height); min-inline-size: 0; inline-size: var(--flood-control-height); block-size: var(--flood-control-height); display: grid; place-items: center; border: var(--flood-sys-stroke-width) solid var(--flood-sys-color-field-border); border-radius: var(--flood-sys-radius-field); background: var(--flood-sys-color-field-background); font-size: var(--flood-control-text); line-height: var(--flood-control-line); font-variant-numeric: tabular-nums; pointer-events: none; }
1088
1197
  .flood-root .flood-pin-input:has(.flood-pin-input__editor:focus-visible) .flood-pin-input__slot[data-active] { border: var(--flood-sys-focus-width) solid var(--flood-sys-color-focus-ring); }
1089
1198
  .flood-root .flood-pin-input[data-status] .flood-pin-input__slot { border-color: var(--flood-field-feedback); }
1090
- .flood-root .flood-pin-input[data-readonly] .flood-pin-input__slot { background: var(--flood-sys-color-surface-canvas); border-style: dashed; }
1199
+ .flood-root .flood-pin-input[data-readonly] .flood-pin-input__slot { background: var(--flood-sys-color-field-readonly); border-style: dashed; }
1091
1200
  .flood-root .flood-pin-input:has(.flood-pin-input__editor:disabled) .flood-pin-input__slot { background: var(--flood-sys-color-field-disabled); color: var(--flood-sys-color-field-disabled-content); }
1092
1201
  .flood-root .flood-rating { display: block; min-inline-size: 0; max-inline-size: 100%; border: 0; padding: 0; margin: 0; }
1093
1202
  .flood-root .flood-rating__choices { display: flex; align-items: center; flex-wrap: wrap; gap: var(--flood-sys-space-1); }
@@ -1095,7 +1204,7 @@
1095
1204
  .flood-root .flood-rating--sm .flood-rating__choice { inline-size: var(--flood-sys-control-xs-height); block-size: var(--flood-sys-control-xs-height); }
1096
1205
  .flood-root .flood-rating--lg .flood-rating__choice { inline-size: var(--flood-sys-control-md-height); block-size: var(--flood-sys-control-md-height); }
1097
1206
  .flood-root .flood-rating__choice > input { position: absolute; inset: 0; margin: 0; inline-size: 100%; block-size: 100%; opacity: 0; cursor: inherit; }
1098
- .flood-root .flood-rating__choice > svg { inline-size: 1.25rem; block-size: 1.25rem; pointer-events: none; }
1207
+ .flood-root .flood-rating__choice > svg { inline-size: 1.25rem; block-size: 1.25rem; pointer-events: none; fill: transparent; }
1099
1208
  .flood-root .flood-rating--sm .flood-rating__choice > svg { inline-size: 1rem; block-size: 1rem; }
1100
1209
  .flood-root .flood-rating--lg .flood-rating__choice > svg { inline-size: 1.5rem; block-size: 1.5rem; }
1101
1210
  .flood-root .flood-rating__choice[data-filled] > svg { fill: currentColor; }
@@ -1154,8 +1263,35 @@
1154
1263
  .flood-root .flood-editable__preview { justify-content: space-between; min-inline-size: 0; inline-size: 100%; text-align: start; gap: var(--flood-sys-space-2); }
1155
1264
  .flood-root .flood-editable__value { flex: 1 1 0; min-inline-size: 0; overflow-wrap: break-word; }
1156
1265
  .flood-root .flood-editable__value[data-empty] { color: var(--flood-sys-color-content-subtle); }
1266
+ .flood-root .flood-editable__error { margin: 0; white-space: normal; overflow-wrap: break-word; }
1267
+ .flood-root .flood-editable__preview[aria-hidden="true"] { visibility: hidden; }
1268
+ .flood-root .flood-overlay-panel.flood-editable__overlay {
1269
+ padding: 0;
1270
+ border: 0;
1271
+ background: var(--flood-sys-color-surface-floating);
1272
+ backdrop-filter: none;
1273
+ }
1274
+ .flood-root .flood-editable__overlay > .flood-editable__error { padding: var(--flood-sys-space-2) var(--flood-sys-space-3); }
1275
+ .flood-root .flood-table td[data-numeric] .flood-editable :is(.flood-editable__preview, input) { text-align: end; }
1157
1276
  .flood-root .flood-editable__preview > .flood-icon { flex: none; color: var(--flood-sys-color-content-subtle); }
1158
- .flood-root .flood-editable .flood-input-group:has(.flood-editable__actions) { padding-inline-end: calc(var(--flood-group-inset) - var(--flood-group-stroke)); }
1277
+ .flood-root .flood-editable .flood-input-group:has(.flood-editable__actions) {
1278
+ flex-wrap: nowrap;
1279
+ padding-inline-end: calc(var(--flood-group-inset) - var(--flood-group-stroke));
1280
+ }
1281
+ .flood-root .flood-editable .flood-input-group:has(.flood-editable__actions) > .flood-input {
1282
+ flex: 1 1 0;
1283
+ min-inline-size: 0;
1284
+ }
1285
+ .flood-root .flood-editable__overlay[data-fit-draft] .flood-input-group > .flood-input {
1286
+ flex: 1 1 auto;
1287
+ inline-size: auto;
1288
+ min-inline-size: 4ch;
1289
+ field-sizing: content;
1290
+ }
1291
+ .flood-root .flood-editable .flood-input-group__addon:has(> .flood-editable__actions) {
1292
+ flex: none;
1293
+ max-inline-size: none;
1294
+ }
1159
1295
  .flood-root .flood-editable__actions { display: inline-flex; align-items: center; gap: var(--flood-sys-space-1); flex: none; }
1160
1296
  .flood-root .flood-editable__actions > .flood-button { --flood-control-height: calc(var(--flood-group-height) - 2 * var(--flood-group-inset)); min-inline-size: var(--flood-control-height); flex: none; border-radius: max(0px, calc(var(--flood-sys-radius-field) - var(--flood-group-inset))); }
1161
1297
  @media (forced-colors: active) { .flood-root .flood-editable__value[data-empty] { color: CanvasText; } }
@@ -1172,7 +1308,7 @@
1172
1308
  .flood-root .flood-command-list { display: grid; min-inline-size: 0; gap: var(--flood-sys-space-1); }
1173
1309
  .flood-root .flood-command-list[hidden] { display: none; }
1174
1310
  .flood-root .flood-command-list > .flood-command-list__surface { border: var(--flood-sys-stroke-width) solid var(--flood-sys-color-border-decorative); border-radius: var(--flood-sys-radius-field); }
1175
- .flood-root .flood-command-list__viewport { border-radius: max(0px, calc(var(--flood-sys-radius-field) - var(--flood-sys-space-1) - var(--flood-sys-stroke-width))); }
1311
+ .flood-root .flood-command-list__viewport { max-block-size: 18rem; border-radius: max(0px, calc(var(--flood-sys-radius-field) - var(--flood-sys-space-1) - var(--flood-sys-stroke-width))); }
1176
1312
  .flood-root .flood-command-list__option { box-sizing: border-box; display: grid; align-content: center; min-inline-size: 0; min-block-size: var(--flood-control-height); padding: var(--flood-sys-space-2) var(--flood-sys-space-3); gap: calc(var(--flood-sys-space-1) / 2); border-radius: max(0px, calc(var(--flood-sys-radius-field) - var(--flood-sys-space-1) - var(--flood-sys-stroke-width))); color: var(--flood-sys-color-content-default); font-size: var(--flood-control-text); line-height: var(--flood-control-line); overflow-wrap: break-word; cursor: pointer; }
1177
1313
  .flood-root .flood-command-list__option[data-active="true"] { background: var(--flood-sys-color-selection-background); color: var(--flood-sys-color-selection-content); }
1178
1314
  .flood-root .flood-command-list__description { font-size: var(--flood-sys-type-helper-size); line-height: var(--flood-sys-type-helper-line-height); color: var(--flood-sys-color-content-subtle); }
@@ -1188,6 +1324,68 @@
1188
1324
  .flood-root .flood-command-list__option[aria-disabled="true"], .flood-root .flood-command-list__option[aria-disabled="true"] .flood-command-list__description { color: GrayText; }
1189
1325
  }
1190
1326
 
1327
+ .flood-root .flood-dialog.flood-command-palette {
1328
+ --flood-palette-search-height: 3.5rem;
1329
+ padding: 0;
1330
+ inset-block-start: min(12dvh, 6rem);
1331
+ inset-block-end: auto;
1332
+ margin-block: 0;
1333
+ max-block-size: calc(100dvh - min(12dvh, 6rem) - var(--flood-sys-space-4));
1334
+ }
1335
+ .flood-root .flood-command-palette > .flood-overlay-header {
1336
+ position: absolute;
1337
+ inset-block-start: 0;
1338
+ inset-inline-end: var(--flood-sys-space-3);
1339
+ block-size: var(--flood-palette-search-height);
1340
+ align-items: center;
1341
+ z-index: 1;
1342
+ }
1343
+ .flood-root .flood-command-palette .flood-overlay-title {
1344
+ position: absolute;
1345
+ inline-size: 1px;
1346
+ block-size: 1px;
1347
+ overflow: hidden;
1348
+ clip-path: inset(50%);
1349
+ }
1350
+ .flood-root .flood-command-palette .flood-overlay-close { align-self: center; }
1351
+ .flood-root .flood-dialog.flood-command-palette > .flood-overlay-body { margin: 0; }
1352
+ .flood-root .flood-command-palette__search-icon {
1353
+ position: absolute;
1354
+ z-index: 1;
1355
+ inset-block-start: 0;
1356
+ inset-inline-start: var(--flood-sys-space-4);
1357
+ block-size: var(--flood-palette-search-height);
1358
+ display: grid;
1359
+ place-items: center;
1360
+ color: var(--flood-sys-color-content-subtle);
1361
+ pointer-events: none;
1362
+ }
1363
+ .flood-root .flood-command-palette .flood-command-list { gap: 0; }
1364
+ .flood-root .flood-command-palette .flood-command-list > .flood-input {
1365
+ block-size: var(--flood-palette-search-height);
1366
+ padding-inline: var(--flood-sys-space-12) calc(var(--flood-sys-space-12) + var(--flood-sys-space-2));
1367
+ padding-block: 0;
1368
+ border: 0;
1369
+ border-radius: 0;
1370
+ background: transparent;
1371
+ }
1372
+ .flood-root .flood-command-palette .flood-command-list > .flood-command-list__surface {
1373
+ border: 0;
1374
+ border-block-start: var(--flood-sys-stroke-width) solid var(--flood-sys-color-border-decorative);
1375
+ border-radius: 0;
1376
+ }
1377
+ .flood-root .flood-command-palette .flood-command-list__viewport {
1378
+ min-block-size: 5rem;
1379
+ max-block-size: min(18rem, calc(100dvh - min(12dvh, 6rem) - var(--flood-palette-search-height) - var(--flood-sys-space-8)));
1380
+ }
1381
+ @media (forced-colors: active) {
1382
+ .flood-root .flood-command-palette .flood-command-list > .flood-command-list__surface { border-block-start-color: CanvasText; }
1383
+ .flood-root .flood-command-palette .flood-command-list > .flood-input:focus-visible {
1384
+ outline: var(--flood-sys-focus-width) solid Highlight;
1385
+ outline-offset: calc(-1 * var(--flood-sys-focus-width));
1386
+ }
1387
+ }
1388
+
1191
1389
  .flood-root .flood-date-field { display:grid; gap:var(--flood-sys-space-1); min-inline-size:0; inline-size:100%; container-type:inline-size; container-name:flood-date; }
1192
1390
  .flood-root .flood-date-field[hidden] { display:none; }
1193
1391
  .flood-root .flood-date-field > .flood-label { margin:0; }
@@ -1206,7 +1404,7 @@
1206
1404
  .flood-root .flood-date-field__control[data-status="warning"] { --flood-field-feedback:var(--flood-sys-color-feedback-warning); }
1207
1405
  .flood-root .flood-date-field__control[data-status="success"] { --flood-field-feedback:var(--flood-sys-color-feedback-success); }
1208
1406
  .flood-root .flood-date-field__control[data-status="info"] { --flood-field-feedback:var(--flood-sys-color-feedback-info); }
1209
- .flood-root .flood-date-field__control[data-readonly] { background:var(--flood-sys-color-surface-canvas); border-style:dashed; }
1407
+ .flood-root .flood-date-field__control[data-readonly] { background:var(--flood-sys-color-field-readonly); border-style:dashed; }
1210
1408
  .flood-root .flood-date-field__control:has(.flood-date-field__segment:focus-visible) { border-color:var(--flood-sys-color-focus-ring); border-style:solid; }
1211
1409
  .flood-root .flood-date-field__control[data-disabled] { background:var(--flood-sys-color-field-disabled); color:var(--flood-sys-color-field-disabled-content); border-color:var(--flood-sys-color-field-border); }
1212
1410
  .flood-root .flood-date-field__description,.flood-root .flood-date-field__error { font-size:var(--flood-sys-type-helper-size); line-height:var(--flood-sys-type-helper-line-height); }
@@ -1235,7 +1433,7 @@
1235
1433
  .flood-root .flood-time-field__segment::placeholder { color: var(--flood-sys-color-field-placeholder); opacity: 1; }
1236
1434
  .flood-root .flood-time-field__separator { padding-inline: var(--flood-sys-space-1); color: var(--flood-sys-color-content-subtle); font-size:var(--flood-control-text); line-height:var(--flood-control-line); }
1237
1435
  .flood-root .flood-time-field__control[data-status] { border-color: var(--flood-field-feedback); }
1238
- .flood-root .flood-time-field__control[data-readonly] { background: var(--flood-sys-color-surface-canvas); border-style: dashed; }
1436
+ .flood-root .flood-time-field__control[data-readonly] { background: var(--flood-sys-color-field-readonly); border-style: dashed; }
1239
1437
  .flood-root .flood-time-field__control:has(.flood-time-field__segment:focus-visible) { --flood-time-stroke: var(--flood-sys-focus-width); border-color: var(--flood-sys-color-focus-ring); border-style: solid; }
1240
1438
  .flood-root .flood-time-field__control[data-disabled] { border-color: var(--flood-sys-color-field-border); background: var(--flood-sys-color-field-disabled); color: var(--flood-sys-color-field-disabled-content); }
1241
1439
  .flood-root .flood-time-field__description, .flood-root .flood-time-field__error { font-size: var(--flood-sys-type-helper-size); line-height: var(--flood-sys-type-helper-line-height); }
@@ -1389,27 +1587,26 @@
1389
1587
  @media(pointer:coarse){.flood-root .flood-tree__row { min-block-size:max(var(--flood-control-height),var(--flood-sys-size-touch)); }}
1390
1588
  @media(forced-colors:active){.flood-root .flood-tree__row[data-selected]{background:Highlight;color:HighlightText;forced-color-adjust:none;}.flood-root .flood-tree__item:focus-visible>.flood-tree__row{border-color:Highlight;}.flood-root .flood-tree__item[data-disabled]>.flood-tree__row{color:GrayText;}.flood-root .flood-tree__description,.flood-root .flood-tree__disclosure,.flood-root .flood-tree__icon{color:inherit;}}
1391
1589
 
1392
- .flood-root .flood-navigation-tree { min-inline-size:0; --flood-navigation-row:var(--flood-sys-control-md-height); --flood-navigation-text:var(--flood-sys-control-md-text-size); --flood-navigation-line:var(--flood-sys-control-md-line-height); --flood-navigation-padding:var(--flood-sys-control-md-padding-inline); }
1393
- .flood-root .flood-navigation-tree[data-size="sm"] { --flood-navigation-row:var(--flood-sys-control-sm-height); --flood-navigation-text:var(--flood-sys-control-sm-text-size); --flood-navigation-line:var(--flood-sys-control-sm-line-height); --flood-navigation-padding:var(--flood-sys-control-sm-padding-inline); }
1394
- .flood-root .flood-navigation-tree[data-size="lg"] { --flood-navigation-row:var(--flood-sys-control-lg-height); --flood-navigation-text:var(--flood-sys-control-lg-text-size); --flood-navigation-line:var(--flood-sys-control-lg-line-height); --flood-navigation-padding:var(--flood-sys-control-lg-padding-inline); }
1395
- .flood-root .flood-navigation-tree ul { list-style:none; padding:0; margin:0; }
1396
- .flood-root .flood-navigation-tree li { min-inline-size:0; }
1397
- .flood-root .flood-navigation-tree__row { display:flex; align-items:center; gap:var(--flood-sys-space-1); min-inline-size:0; border-radius:var(--flood-sys-radius-action); }
1398
- .flood-root .flood-navigation-tree__row[data-current] { background:var(--flood-sys-color-action-on-surface-hover); }
1399
- .flood-root .flood-navigation-tree__row .flood-navigation-tree__link,
1400
- .flood-root .flood-navigation-tree__text { display:flex; flex:1; justify-content:flex-start; align-items:center; gap:var(--flood-sys-space-2); min-inline-size:0; min-block-size:var(--flood-navigation-row); box-sizing:border-box; white-space:normal; text-align:start; color:var(--flood-sys-color-content-default); }
1401
- .flood-root .flood-navigation-tree__text { padding-inline:var(--flood-navigation-padding); font-size:var(--flood-navigation-text); line-height:var(--flood-navigation-line); font-weight:var(--flood-sys-type-control-weight); letter-spacing:var(--flood-sys-type-control-tracking); }
1402
- .flood-root .flood-navigation-tree__text[aria-disabled] { color:var(--flood-sys-color-field-disabled-content); }
1403
- .flood-root .flood-navigation-tree__label { overflow-wrap: break-word; min-inline-size:0; }
1404
- .flood-root .flood-navigation-tree__row .flood-navigation-tree__disclosure { flex:none; }
1405
- .flood-root .flood-navigation-tree__disclosure svg { rotate:0deg; }
1406
- .flood-root .flood-navigation-tree:dir(rtl) .flood-navigation-tree__disclosure svg { rotate:180deg; }
1407
- .flood-root .flood-navigation-tree__disclosure[aria-expanded="true"] svg { rotate:90deg; }
1408
- .flood-root .flood-navigation-tree__branch { padding-inline-start:var(--flood-sys-space-4); }
1590
+ .flood-root .flood-navigation-tree { min-inline-size:0; --flood-navigation-icon:var(--flood-sys-control-md-icon-size); --flood-navigation-guide:none; }
1591
+ .flood-root .flood-navigation-tree[data-branch-guides] { --flood-navigation-guide:""; }
1592
+ .flood-root .flood-navigation-tree[data-size="sm"] { --flood-navigation-icon:var(--flood-sys-control-sm-icon-size); }
1593
+ .flood-root .flood-navigation-tree[data-size="lg"] { --flood-navigation-icon:var(--flood-sys-control-lg-icon-size); }
1594
+ .flood-root :is(.flood-navigation-tree,.flood-navigation-tree__branch) > ul { display:grid; row-gap:var(--flood-sys-space-1); list-style:none; padding:0; margin:0; }
1595
+ .flood-root :is(.flood-navigation-tree,.flood-navigation-tree__branch) > ul > li { min-inline-size:0; }
1596
+ .flood-root .flood-navigation-tree__branch { padding-inline-start:calc(var(--flood-navigation-icon) + var(--flood-sys-space-2)); padding-block-start:var(--flood-sys-space-1); }
1597
+ .flood-root .flood-navigation-tree__branch:has(> ul) { position:relative; }
1598
+ .flood-root .flood-navigation-tree__branch:has(> ul)::before {
1599
+ content:var(--flood-navigation-guide);
1600
+ position:absolute;
1601
+ inset-block:0 var(--flood-sys-space-1);
1602
+ inset-inline-start:calc(var(--flood-sys-space-3) + (var(--flood-navigation-icon) - var(--flood-sys-stroke-width)) / 2);
1603
+ border-inline-start:var(--flood-sys-stroke-width) solid var(--flood-sys-color-divider-decorative);
1604
+ pointer-events:none;
1605
+ }
1409
1606
  .flood-root .flood-navigation-tree__content { padding:var(--flood-sys-space-2) var(--flood-sys-space-3); color:var(--flood-sys-color-content-subtle); font-size:var(--flood-sys-type-helper-size); line-height:var(--flood-sys-type-helper-line-height); }
1410
1607
  .flood-root .flood-navigation-tree:focus-visible { outline:var(--flood-sys-focus-width) solid var(--flood-sys-color-focus-ring); outline-offset:0; }
1411
- @media(pointer:coarse) { .flood-root .flood-navigation-tree__row { min-block-size:var(--flood-sys-size-touch); } .flood-root .flood-navigation-tree__text { min-block-size:var(--flood-sys-size-touch); } }
1412
- @media(forced-colors:active) { .flood-root .flood-navigation-tree__row[data-current] { outline:1px solid Highlight; } .flood-root .flood-navigation-tree__text[aria-disabled] { color:GrayText; } .flood-root .flood-navigation-tree:focus-visible { outline-color:Highlight; } }
1608
+ .flood-root .flood-navigation-tree__flyout { inline-size:16rem; max-inline-size:calc(100vw - 2rem); }
1609
+ @media(forced-colors:active) { .flood-root .flood-navigation-tree:focus-visible { outline-color:Highlight; } }
1413
1610
 
1414
1611
  [data-flood-foundations="neutral"] .flood-date-time-picker { min-inline-size:0; inline-size:100%; }
1415
1612
  [data-flood-foundations="neutral"] .flood-date-time-picker__fields { display:grid; grid-template-columns:minmax(0, 1.5fr) minmax(0, 1fr); align-items:start; gap:var(--flood-sys-space-3); }
@@ -1444,7 +1641,7 @@
1444
1641
  .flood-root .flood-tree-select[hidden] { display:none; }
1445
1642
  .flood-root .flood-tree-select>.flood-label { margin:0; }
1446
1643
  .flood-root .flood-tree-select [data-placeholder] { color:var(--flood-sys-color-field-placeholder); }
1447
- .flood-root .flood-tree-select [data-readonly]:not(:focus-visible) { background:var(--flood-sys-color-surface-canvas); border-style:dashed; cursor:default; }
1644
+ .flood-root .flood-tree-select [data-readonly]:not(:focus-visible) { background:var(--flood-sys-color-field-readonly); border-style:dashed; cursor:default; }
1448
1645
  .flood-root .flood-tree-select__panel { inline-size:min(var(--flood-tree-select-width,22rem),var(--flood-overlay-available-width,calc(100dvw - 1rem))); padding:var(--flood-sys-space-1); }
1449
1646
  .flood-root .flood-tree-select__panel>.flood-overlay-header { display:none; }
1450
1647
  .flood-root .flood-tree-select__panel>.flood-overlay-body { margin-block-start:0; }
@@ -1485,19 +1682,300 @@
1485
1682
  @media(max-width:30rem) { .flood-root .flood-data-list-item { flex-wrap:wrap; } .flood-root .flood-data-list-item__trailing { max-inline-size:100%; } }
1486
1683
 
1487
1684
  .flood-root .flood-data-table { min-inline-size:0; inline-size:100%; }
1685
+ .flood-root .flood-data-table[data-inset="roomy"] { --flood-data-table-edge:var(--flood-sys-space-6); }
1686
+ .flood-root .flood-data-table__toolbar {
1687
+ padding:var(--flood-sys-space-4) var(--flood-data-table-edge,var(--flood-sys-space-3));
1688
+ }
1689
+ .flood-root .flood-data-table__toolbar-content { flex: 1 1 auto; min-inline-size: 0; }
1690
+ .flood-root .flood-data-table__columns { margin-inline-start: auto; max-inline-size: 100%; }
1691
+ .flood-root .flood-data-table__table { --flood-data-table-edge:var(--flood-sys-space-3); }
1692
+ .flood-root .flood-data-table__table[data-inset="roomy"] { --flood-data-table-edge:var(--flood-sys-space-6); }
1693
+ .flood-root .flood-data-table__table[data-inset="roomy"] > :is(thead,tbody) > tr > :first-child { padding-inline-start:var(--flood-data-table-edge); }
1694
+ .flood-root .flood-data-table__table[data-inset="roomy"] > :is(thead,tbody) > tr > :last-child { padding-inline-end:var(--flood-data-table-edge); }
1695
+ .flood-root .flood-data-table__table[data-inset="roomy"] > thead > tr > th[data-sortable]:first-child { padding-inline-start:calc(var(--flood-data-table-edge) - var(--flood-sys-space-2)); }
1696
+ .flood-root .flood-data-table__table[data-inset="roomy"] > thead > tr > th[data-sortable]:last-child { padding-inline-end:calc(var(--flood-data-table-edge) - var(--flood-sys-space-2)); }
1697
+ .flood-root .flood-data-table[data-inset="roomy"] .flood-data-table__footer { padding-inline:var(--flood-data-table-edge); }
1698
+ .flood-root .flood-data-table .flood-data-table__primary-action {
1699
+ min-block-size:0;
1700
+ padding:0;
1701
+ border:0;
1702
+ border-radius:var(--flood-sys-radius-indicator);
1703
+ background:transparent;
1704
+ color:inherit;
1705
+ text-align:inherit;
1706
+ font-size:inherit;
1707
+ line-height:inherit;
1708
+ white-space:normal;
1709
+ overflow-wrap:anywhere;
1710
+ }
1711
+ .flood-root .flood-data-table .flood-data-table__primary-action:is(:hover,:active) { background:transparent; }
1712
+ .flood-root .flood-data-table .flood-data-table__primary-action:disabled,
1713
+ .flood-root .flood-data-table .flood-data-table__primary-action[aria-disabled="true"] { color:var(--flood-sys-color-field-disabled-content); }
1714
+ .flood-root .flood-data-table__table > tbody > tr[data-primary-action] { cursor:pointer; }
1715
+ .flood-root .flood-data-table__table > tbody > tr[data-primary-action]:not([data-selected]):focus-within { background:var(--flood-sys-color-action-on-surface-hover); }
1716
+ @media (hover:hover) {
1717
+ .flood-root .flood-data-table__table > tbody > tr[data-primary-action]:not([data-selected]):hover { background:var(--flood-sys-color-action-on-surface-hover); }
1718
+ }
1488
1719
  .flood-root .flood-data-table[hidden] { display:none; }
1489
- .flood-root .flood-data-table thead th { vertical-align:middle; }
1490
- .flood-root .flood-data-table thead th[data-sortable] { padding-inline:max(0px,calc(var(--flood-data-padding) - var(--flood-sys-space-2))); }
1491
- .flood-root .flood-data-table__sort { gap:var(--flood-sys-space-2); min-block-size:var(--flood-sys-control-sm-height); padding-inline:calc(var(--flood-sys-space-2) - var(--flood-sys-stroke-width)); color:inherit; font:inherit; font-weight:500; }
1720
+ .flood-root .flood-data-table__table > thead > tr > th { vertical-align:middle; }
1721
+ .flood-root .flood-data-table__table > thead > tr > th[data-sortable] { padding-inline:max(0px,calc(var(--flood-data-padding) - var(--flood-sys-space-2))); }
1722
+ .flood-root .flood-data-table__sort { gap:var(--flood-sys-space-1); min-block-size:var(--flood-sys-control-sm-height); padding-inline:calc(var(--flood-sys-space-2) - var(--flood-sys-stroke-width)); color:inherit; font:inherit; font-weight:500; }
1723
+ .flood-root .flood-data-table__header-content { display:inline-flex; align-items:center; gap:var(--flood-sys-space-1); max-inline-size:100%; vertical-align:middle; }
1724
+ .flood-root .flood-data-table__header-content:focus-visible { outline:var(--flood-sys-focus-width) solid var(--flood-sys-color-focus-ring); border-radius:var(--flood-sys-radius-indicator); }
1725
+ .flood-root .flood-data-table__header-label { min-inline-size:0; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
1726
+ .flood-root .flood-data-table__table:not([data-fixed-columns]) .flood-data-table__header-label { min-inline-size:max-content; }
1727
+ .flood-root .flood-data-table__header-unit { flex:none; color:var(--flood-sys-color-content-subtle); }
1492
1728
  .flood-root .flood-data-table__choice { inline-size:1%; white-space:nowrap; }
1493
1729
  .flood-root .flood-data-table__choice .flood-choice { min-block-size:var(--flood-sys-control-sm-height); }
1494
- .flood-root .flood-data-table tr[data-selected] { background:var(--flood-sys-color-selection-background); }
1730
+ .flood-root .flood-data-table__table > tbody > tr[data-selected] { background:var(--flood-sys-color-selection-background); }
1731
+ .flood-root .flood-data-table th[aria-sort="descending"] .flood-data-table__sort svg { rotate:180deg; }
1495
1732
  .flood-root .flood-data-table .flood-data-table__state { padding-block:var(--flood-sys-space-8); text-align:center; }
1496
1733
  .flood-root .flood-data-table__state>.flood-stack { align-items:center; }
1497
1734
  .flood-root .flood-data-table__footer { display:flex; align-items:center; flex-wrap:wrap; gap:var(--flood-sys-space-3); padding:var(--flood-sys-space-3) var(--flood-sys-space-4); border-block-start:var(--flood-sys-stroke-width) solid var(--flood-sys-color-border-decorative); background:var(--flood-sys-color-surface-default); border-end-start-radius:var(--flood-sys-radius-field); border-end-end-radius:var(--flood-sys-radius-field); }
1498
1735
  .flood-root .flood-data-table__footer p { margin:0; }
1499
1736
  .flood-root .flood-data-table__footer nav { margin-inline-start:auto; max-inline-size:100%; }
1500
- @media(forced-colors:active) { .flood-root .flood-data-table tr[data-selected] { outline:1px solid Highlight; } }
1737
+ @media(forced-colors:active) { .flood-root .flood-data-table__table > tbody > tr[data-selected] { outline:1px solid Highlight; } }
1738
+
1739
+ .flood-root .flood-data-table__table[data-fixed-columns] > thead > tr > th { box-sizing:border-box; }
1740
+ .flood-root .flood-data-table__table[data-fixed-columns] > :is(thead,tbody) > tr > [data-data-table-column] {
1741
+ overflow:hidden;
1742
+ overflow-wrap:anywhere;
1743
+ }
1744
+ .flood-root .flood-data-table__table[data-fixed-columns] > thead > tr > th > .flood-data-table__sort {
1745
+ max-inline-size:100%;
1746
+ text-align:inherit;
1747
+ }
1748
+ .flood-root .flood-data-table__table > thead > tr > th[data-resize-edge] {
1749
+ --flood-data-table-resize-hit:var(--flood-sys-space-6);
1750
+ --flood-data-table-resize-inset:var(--flood-sys-space-1);
1751
+ position:relative;
1752
+ }
1753
+ .flood-root .flood-data-table__table > thead > tr > th[data-resize-edge="end"] {
1754
+ padding-inline-end:max(calc(var(--flood-data-table-resize-hit) + 2 * var(--flood-data-table-resize-inset)),var(--flood-data-table-edge));
1755
+ }
1756
+ .flood-root .flood-data-table__table > thead > tr > th[data-resize-edge="start"] {
1757
+ padding-inline-start:max(calc(var(--flood-data-table-resize-hit) + 2 * var(--flood-data-table-resize-inset)),var(--flood-data-table-edge));
1758
+ }
1759
+ .flood-root .flood-data-table__resize {
1760
+ position:absolute;
1761
+ inset-block:0;
1762
+ inset-inline-end:0;
1763
+ inline-size:calc(var(--flood-data-table-resize-hit) + var(--flood-data-table-resize-inset));
1764
+ padding-inline-end:var(--flood-data-table-resize-inset);
1765
+ box-sizing:border-box;
1766
+ display:grid;
1767
+ place-items:center;
1768
+ cursor:col-resize;
1769
+ touch-action:none;
1770
+ user-select:none;
1771
+ }
1772
+ .flood-root .flood-data-table__resize-icon {
1773
+ box-sizing:border-box;
1774
+ inline-size:var(--flood-data-table-resize-hit);
1775
+ block-size:var(--flood-data-table-resize-hit);
1776
+ display:grid;
1777
+ place-items:center;
1778
+ color:var(--flood-sys-color-content-default);
1779
+ background:var(--flood-sys-color-action-on-surface-hover);
1780
+ border:var(--flood-sys-stroke-width) solid var(--flood-sys-color-border-decorative);
1781
+ border-radius:var(--flood-sys-radius-action);
1782
+ }
1783
+ .flood-root th[data-resize-edge="start"] > .flood-data-table__resize {
1784
+ inset-inline:0 auto;
1785
+ padding-inline:var(--flood-data-table-resize-inset) 0;
1786
+ }
1787
+ .flood-root .flood-data-table__resize:is(:hover,:focus-visible,[data-dragging]) > .flood-data-table__resize-icon {
1788
+ background:var(--flood-sys-color-surface-supporting);
1789
+ border-color:var(--flood-sys-color-content-subtle);
1790
+ }
1791
+ .flood-root .flood-data-table__resize:focus-visible { outline:none; }
1792
+ .flood-root .flood-data-table__resize:focus-visible > .flood-data-table__resize-icon {
1793
+ outline:var(--flood-sys-focus-width) solid var(--flood-sys-color-focus-ring);
1794
+ outline-offset:calc(-1 * var(--flood-sys-focus-width));
1795
+ }
1796
+ @media (hover:hover) and (pointer:fine) {
1797
+ .flood-root .flood-data-table__resize:not(:hover,:focus-visible,[data-dragging]) > .flood-data-table__resize-icon { opacity:0; }
1798
+ }
1799
+ .flood-root .flood-data-table__resize[aria-disabled="true"] { visibility:hidden; }
1800
+ @media (pointer:coarse) {
1801
+ .flood-root .flood-data-table__table > thead > tr > th[data-resize-edge] {
1802
+ --flood-data-table-resize-hit:var(--flood-sys-space-8);
1803
+ }
1804
+ }
1805
+ .flood-root .flood-data-table__table > :is(thead,tbody) > tr > :is(th,td)[data-pin-edge] {
1806
+ --flood-data-table-pin-state:transparent;
1807
+ position:sticky;
1808
+ z-index:1;
1809
+ background-color:var(--flood-sys-color-surface-canvas);
1810
+ background-image:
1811
+ linear-gradient(var(--flood-data-table-pin-state),var(--flood-data-table-pin-state)),
1812
+ linear-gradient(var(--flood-sys-color-surface-current),var(--flood-sys-color-surface-current));
1813
+ }
1814
+ .flood-root .flood-data-table__table > :is(thead,tbody) > tr > [data-pin-edge="start"] {
1815
+ inset-inline-start:var(--flood-data-table-pin-offset);
1816
+ }
1817
+ .flood-root .flood-data-table__table > :is(thead,tbody) > tr > [data-pin-edge="end"] {
1818
+ inset-inline-end:calc(var(--flood-data-table-pin-offset) + var(--flood-scroll-content-inline, 0px));
1819
+ }
1820
+ .flood-root .flood-data-table__table > :is(thead,tbody) > tr > [data-pin-boundary="true"]::before {
1821
+ content:"";
1822
+ position:absolute;
1823
+ inset-block:0;
1824
+ inset-inline-end:0;
1825
+ inline-size:var(--flood-sys-stroke-width);
1826
+ background:var(--flood-sys-color-divider-decorative);
1827
+ pointer-events:none;
1828
+ }
1829
+ .flood-root .flood-data-table__table > :is(thead,tbody) > tr > [data-pin-edge="end"][data-pin-boundary="true"]::before {
1830
+ inset-inline:0 auto;
1831
+ }
1832
+ .flood-root .flood-data-table__table[data-striped="true"] > tbody > :where(tr:nth-child(even of :not(.flood-data-table__expanded-row))) > [data-pin-edge] {
1833
+ --flood-data-table-pin-state:color-mix(in srgb,var(--flood-sys-color-content-default) 4%,transparent);
1834
+ }
1835
+ .flood-root .flood-data-table__table > tbody > tr[data-primary-action]:not([data-selected]):focus-within > [data-pin-edge] {
1836
+ --flood-data-table-pin-state:var(--flood-sys-color-action-on-surface-hover);
1837
+ }
1838
+ @media (hover:hover) {
1839
+ .flood-root .flood-data-table__table > tbody > tr[data-primary-action]:not([data-selected]):hover > [data-pin-edge] {
1840
+ --flood-data-table-pin-state:var(--flood-sys-color-action-on-surface-hover);
1841
+ }
1842
+ }
1843
+ .flood-root .flood-data-table__table > tbody > tr[data-selected] > [data-pin-edge] {
1844
+ --flood-data-table-pin-state:var(--flood-sys-color-selection-background);
1845
+ }
1846
+ @media (forced-colors:active) {
1847
+ .flood-root .flood-data-table__resize-icon { color:CanvasText; }
1848
+ .flood-root .flood-data-table__resize:focus-visible > .flood-data-table__resize-icon { outline-color:Highlight; }
1849
+ .flood-root .flood-data-table__table > :is(thead,tbody) > tr > [data-pin-edge] { background:Canvas; }
1850
+ }
1851
+
1852
+ .flood-root .flood-table :is(th, td).flood-data-table__expand {
1853
+ inline-size: 1%;
1854
+ padding-block: 0;
1855
+ padding-inline: var(--flood-data-table-edge);
1856
+ text-align: center;
1857
+ white-space: nowrap;
1858
+ }
1859
+ .flood-root .flood-data-table__expand:not([data-pin-edge]) { position: relative; }
1860
+ .flood-root .flood-data-table__expand[data-detail-visible]::after {
1861
+ content: "";
1862
+ position: absolute;
1863
+ inset-block: calc(50% + var(--flood-sys-space-2)) 0;
1864
+ inset-inline-start: calc(50% - var(--flood-sys-stroke-width) / 2);
1865
+ border-inline-start: var(--flood-sys-stroke-width) solid var(--flood-sys-color-divider-decorative);
1866
+ pointer-events: none;
1867
+ }
1868
+ .flood-root .flood-data-table__disclosure[aria-expanded="true"] svg { rotate: 180deg; }
1869
+ .flood-root .flood-data-table__expanded-row > td {
1870
+ padding-block: 0;
1871
+ background: color-mix(in srgb, var(--flood-sys-color-content-default) 3%, transparent);
1872
+ }
1873
+ .flood-root .flood-data-table__detail-reveal {
1874
+ display: grid;
1875
+ grid-template-rows: 0fr;
1876
+ }
1877
+ .flood-root .flood-data-table__detail-reveal[data-open] { grid-template-rows: 1fr; }
1878
+ .flood-root .flood-data-table__detail-clip { min-block-size: 0; overflow: clip; }
1879
+ .flood-root .flood-data-table__expanded-content {
1880
+ --flood-data-table-branch-start: max(0px, calc(var(--flood-data-table-disclosure-center, var(--flood-data-table-edge)) - var(--flood-data-table-edge)));
1881
+ --flood-data-table-branch-arm: var(--flood-sys-space-3);
1882
+ contain: inline-size;
1883
+ position: sticky;
1884
+ inset-inline-start: var(--flood-data-table-edge);
1885
+ box-sizing: border-box;
1886
+ padding-block: var(--flood-sys-space-3) var(--flood-sys-space-4);
1887
+ padding-inline: calc(var(--flood-data-table-branch-start) + var(--flood-data-table-branch-arm) + var(--flood-sys-space-2)) var(--flood-sys-space-2);
1888
+ }
1889
+ .flood-root .flood-data-table__expanded-content::before {
1890
+ content: "";
1891
+ position: absolute;
1892
+ inset-block-start: 0;
1893
+ inset-inline-start: calc(var(--flood-data-table-branch-start) - var(--flood-sys-stroke-width) / 2);
1894
+ inline-size: var(--flood-data-table-branch-arm);
1895
+ box-sizing: border-box;
1896
+ block-size: calc(var(--flood-data-table-branch-target, var(--flood-sys-space-6)) + var(--flood-sys-stroke-width) / 2);
1897
+ border-inline-start: var(--flood-sys-stroke-width) solid var(--flood-sys-color-divider-decorative);
1898
+ border-block-end: var(--flood-sys-stroke-width) solid var(--flood-sys-color-divider-decorative);
1899
+ border-end-start-radius: var(--flood-sys-radius-indicator);
1900
+ pointer-events: none;
1901
+ }
1902
+
1903
+ @media (prefers-reduced-motion: no-preference) {
1904
+ .flood-root .flood-data-table__detail-reveal:not([data-flood-motion="reduce"] *) {
1905
+ transition: grid-template-rows var(--flood-sys-motion-duration-exit) var(--flood-sys-motion-easing);
1906
+ }
1907
+ .flood-root .flood-data-table__detail-reveal[data-open]:not([data-flood-motion="reduce"] *) {
1908
+ transition-duration: var(--flood-sys-motion-duration-enter);
1909
+ }
1910
+ @starting-style {
1911
+ .flood-root .flood-data-table__detail-reveal[data-open]:not([data-flood-motion="reduce"] *) {
1912
+ grid-template-rows: 0fr;
1913
+ }
1914
+ }
1915
+ .flood-root:not([data-flood-motion="reduce"]) .flood-data-table__disclosure:not(:where([data-flood-motion="reduce"] *)) svg {
1916
+ transition: rotate var(--flood-sys-motion-duration-normal) var(--flood-sys-motion-easing);
1917
+ }
1918
+ }
1919
+
1920
+ .flood-root .flood-sparkline {
1921
+ --flood-sparkline-color: var(--flood-sys-color-content-subtle);
1922
+ --flood-sparkline-height: var(--flood-sys-space-8);
1923
+ display: inline-grid;
1924
+ gap: var(--flood-sys-space-1);
1925
+ inline-size: 6rem;
1926
+ max-inline-size: 100%;
1927
+ min-inline-size: 0;
1928
+ vertical-align: middle;
1929
+ }
1930
+
1931
+ .flood-root .flood-sparkline[data-size="sm"] {
1932
+ --flood-sparkline-height: var(--flood-sys-space-6);
1933
+ inline-size: 5rem;
1934
+ }
1935
+
1936
+ .flood-root .flood-sparkline[data-tone="success"] { --flood-sparkline-color: var(--flood-sys-color-feedback-success); }
1937
+ .flood-root .flood-sparkline[data-tone="accent"] { --flood-sparkline-color: var(--flood-sys-color-accent-content); }
1938
+ .flood-root .flood-sparkline[data-tone="warning"] { --flood-sparkline-color: var(--flood-sys-color-feedback-warning); }
1939
+ .flood-root .flood-sparkline[data-tone="error"] { --flood-sparkline-color: var(--flood-sys-color-feedback-error); }
1940
+
1941
+ .flood-root .flood-sparkline__plot {
1942
+ display: block;
1943
+ inline-size: 100%;
1944
+ block-size: var(--flood-sparkline-height);
1945
+ color: var(--flood-sparkline-color);
1946
+ overflow: visible;
1947
+ }
1948
+
1949
+ .flood-root :is(.flood-sparkline__line, .flood-sparkline__point, .flood-sparkline__halo) {
1950
+ fill: none;
1951
+ stroke: currentColor;
1952
+ stroke-linecap: round;
1953
+ stroke-linejoin: round;
1954
+ vector-effect: non-scaling-stroke;
1955
+ }
1956
+
1957
+ .flood-root .flood-sparkline__line { stroke-width: calc(1.5 * var(--flood-sys-stroke-width)); }
1958
+ .flood-root .flood-sparkline__point { stroke-width: calc(3 * var(--flood-sys-stroke-width)); }
1959
+ .flood-root .flood-sparkline__point[data-latest] { stroke-width: calc(4 * var(--flood-sys-stroke-width)); }
1960
+ .flood-root .flood-sparkline__halo { stroke-width: calc(8 * var(--flood-sys-stroke-width)); opacity: .16; }
1961
+ .flood-root .flood-sparkline__area { opacity: .88; }
1962
+ .flood-root .flood-sparkline__label { overflow-wrap: anywhere; }
1963
+
1964
+ @media (hover: hover) {
1965
+ .flood-root .flood-sparkline:hover .flood-sparkline__halo { opacity: .34; }
1966
+ .flood-root .flood-sparkline:hover .flood-sparkline__area { opacity: 1; }
1967
+ }
1968
+ @media (hover: hover) and (prefers-reduced-motion: no-preference) {
1969
+ .flood-root:not([data-flood-motion="reduce"]) :is(.flood-sparkline__halo, .flood-sparkline__area):not(:where([data-flood-motion="reduce"] *)) {
1970
+ transition: opacity var(--flood-sys-motion-duration-fast) var(--flood-sys-motion-easing);
1971
+ }
1972
+ }
1973
+ .flood-root .flood-sparkline__empty { display: grid; place-items: center; min-block-size: var(--flood-sparkline-height); }
1974
+
1975
+ @media (forced-colors: active) {
1976
+ .flood-root .flood-sparkline__plot { color: CanvasText; }
1977
+ .flood-root :is(.flood-sparkline__area, .flood-sparkline__halo) { display: none; }
1978
+ }
1501
1979
 
1502
1980
  .flood-root .flood-file-list { box-sizing:border-box; padding-inline:var(--flood-sys-space-4); border:var(--flood-sys-stroke-width) solid var(--flood-sys-color-border-decorative); border-radius:var(--flood-sys-radius-field); background:var(--flood-sys-color-surface-default); container-type:inline-size; container-name:flood-files; }
1503
1981
  .flood-root .flood-file-item__thumbnail { display:grid; place-items:center; flex:none; inline-size:var(--flood-sys-control-md-height); block-size:var(--flood-sys-control-md-height); border-radius:var(--flood-sys-radius-action); color:var(--flood-sys-color-content-subtle); overflow:hidden; background:var(--flood-sys-color-field-background); }
@@ -1535,3 +2013,563 @@
1535
2013
  .flood-root .flood-time-picker__scroll { max-block-size:min(15rem,calc(var(--flood-overlay-available-height,60dvh) - 1rem)); }
1536
2014
 
1537
2015
  .flood-root .flood-date-time-range-picker { min-inline-size:0; inline-size:100%; }
2016
+
2017
+ .flood-root .flood-overflow-actions { position:relative; inline-size:100%; min-inline-size:0; }
2018
+ .flood-root .flood-overflow-actions__bar { display:flex; flex-wrap:nowrap; gap:var(--flood-sys-space-2); inline-size:fit-content; max-inline-size:100%; min-inline-size:0; overflow:auto; }
2019
+ .flood-root .flood-overflow-actions__bar > button { flex:none; }
2020
+ .flood-root :is(.flood-overflow-actions__leading,.flood-overflow-actions__trailing) { display:flex; align-items:center; flex:none; min-inline-size:0; }
2021
+ .flood-root .flood-overflow-actions__trailing { margin-inline-start:auto; }
2022
+ .flood-root .flood-overflow-actions__measure { position:absolute; visibility:hidden; pointer-events:none; inline-size:max-content; block-size:0; overflow:hidden; display:flex; gap:var(--flood-sys-space-2); }
2023
+ .flood-root .flood-menubar { display:flex; align-items:center; gap:var(--flood-sys-space-1); min-inline-size:0; max-inline-size:100%; overflow:auto; }
2024
+ .flood-root .flood-menubar > button { flex:none; }
2025
+ .flood-root .flood-button[data-tone="danger"] { --flood-action-content:var(--flood-sys-color-action-danger-content); }
2026
+ .flood-root .flood-button--solid[data-tone="danger"] {
2027
+ --flood-action-rest:var(--flood-sys-color-action-danger-content);
2028
+ --flood-action-hover:color-mix(in srgb,var(--flood-sys-color-action-danger-content),white 10%);
2029
+ --flood-action-pressed:color-mix(in srgb,var(--flood-sys-color-action-danger-content),black 10%);
2030
+ --flood-action-content:var(--flood-sys-color-surface-canvas);
2031
+ }
2032
+
2033
+ /* BulkActionBar shares Toolbar geometry and adaptive command ownership. */
2034
+ .flood-root .flood-bulk-action-bar { inline-size:100%; max-inline-size:32rem; }
2035
+ .flood-root .flood-bulk-action-bar > .flood-overflow-actions__bar { inline-size:100%; background:var(--flood-sys-color-surface-floating); border-color:var(--flood-sys-color-border-floating); box-shadow:0 var(--flood-sys-effect-floating-shadow-offset) var(--flood-sys-effect-floating-shadow-blur) var(--flood-sys-color-shadow-floating); }
2036
+ .flood-root .flood-bulk-action-bar > .flood-overflow-actions__bar > .flood-overflow-actions__leading { max-inline-size:35%; }
2037
+ .flood-root .flood-bulk-action-bar__selection { box-sizing:border-box; inline-size:7rem; max-inline-size:100%; padding-inline:var(--flood-sys-space-2); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-variant-numeric:tabular-nums; }
2038
+ .flood-root .flood-bulk-action-bar__selection[data-counter="number"] { inline-size:3rem; text-align:center; }
2039
+ @media(forced-colors:active) { .flood-root .flood-bulk-action-bar > .flood-overflow-actions__bar { background:Canvas; border-color:CanvasText; box-shadow:none; } }
2040
+
2041
+ /* Nearest material owners establish their own inherited recipes. Absolute surface
2042
+ palette roles stay unchanged; descendants consume the existing semantic roles. */
2043
+ .flood-root :where(.flood-surface, .flood-dialog, .flood-overlay-panel,
2044
+ .flood-select__menu, .flood-toast, .flood-toolbar:not([data-variant="plain"]), .flood-calendar:not(.flood-date-picker__panel .flood-calendar):not(.flood-date-range-picker__panel .flood-calendar),
2045
+ .flood-file-list, .flood-color-picker__panel, .flood-bulk-action-bar,
2046
+ .flood-tabs:not([data-variant="line"]), .flood-disclosure:not(.flood-accordion > .flood-disclosure), .flood-accordion,
2047
+ .flood-segmented .flood-choice-group, .flood-data-table__footer, .flood-code-snippet),
2048
+ .flood-root :where([data-flood-surface="filled"], [data-flood-surface="floating"]),
2049
+ .flood-root:is([data-flood-surface="filled"], [data-flood-surface="floating"]) {
2050
+ --flood-sys-color-action-subtle-rest: var(--flood-sys-color-context-filled-action-rest);
2051
+ --flood-sys-color-action-subtle-hover: var(--flood-sys-color-context-filled-action-hover);
2052
+ --flood-sys-color-action-subtle-pressed: var(--flood-sys-color-context-filled-action-pressed);
2053
+ --flood-sys-color-action-subtle-disabled: var(--flood-sys-color-context-filled-action-disabled);
2054
+ --flood-sys-color-action-ghost-hover: var(--flood-sys-color-context-filled-action-hover);
2055
+ --flood-sys-color-action-ghost-pressed: var(--flood-sys-color-context-filled-action-pressed);
2056
+ --flood-sys-color-action-on-surface-rest: var(--flood-sys-color-context-filled-action-rest);
2057
+ --flood-sys-color-action-on-surface-hover: var(--flood-sys-color-context-filled-action-hover);
2058
+ --flood-sys-color-action-on-surface-pressed: var(--flood-sys-color-context-filled-action-pressed);
2059
+ --flood-sys-color-action-on-surface-disabled: var(--flood-sys-color-context-filled-action-disabled);
2060
+ --flood-sys-color-field-background: var(--flood-sys-color-context-filled-field-background);
2061
+ --flood-sys-color-field-border: var(--flood-sys-color-context-filled-field-border);
2062
+ --flood-sys-color-field-readonly: var(--flood-sys-color-context-filled-field-readonly);
2063
+ --flood-sys-color-field-disabled: var(--flood-sys-color-context-filled-field-disabled);
2064
+ --flood-sys-color-selection-background: var(--flood-sys-color-context-filled-selection-background);
2065
+ --flood-sys-color-border-decorative: var(--flood-sys-color-context-filled-border-decorative);
2066
+ --flood-sys-color-divider-decorative: var(--flood-sys-color-context-filled-divider-decorative);
2067
+ --flood-sys-color-surface-supporting: var(--flood-sys-color-context-filled-supporting-background);
2068
+ --flood-sys-color-surface-avatar: var(--flood-sys-color-context-filled-avatar-background);
2069
+ --flood-sys-color-surface-muted: var(--flood-sys-color-context-filled-muted-background);
2070
+ --flood-sys-color-indicator-track: var(--flood-sys-color-context-filled-indicator-track);
2071
+ --flood-sys-color-loading-placeholder: var(--flood-sys-color-context-filled-loading-placeholder);
2072
+ }
2073
+
2074
+ .flood-root[data-flood-surface="filled"],
2075
+ .flood-root :where([data-flood-surface="filled"], .flood-surface[data-flood-elevation="default"], .flood-toolbar:not([data-variant="plain"]), .flood-file-list, .flood-color-picker__panel,
2076
+ .flood-tabs:not([data-variant="line"]), .flood-disclosure:not(.flood-accordion > .flood-disclosure), .flood-accordion,
2077
+ .flood-segmented .flood-choice-group, .flood-data-table__footer, .flood-code-snippet) {
2078
+ --flood-sys-color-surface-current: var(--flood-sys-color-surface-default);
2079
+ }
2080
+ .flood-root :where(.flood-surface[data-flood-elevation="raised"], .flood-calendar:not(.flood-date-picker__panel .flood-calendar):not(.flood-date-range-picker__panel .flood-calendar)) {
2081
+ --flood-sys-color-surface-current: var(--flood-sys-color-surface-raised);
2082
+ }
2083
+ .flood-root :where(.flood-surface[data-flood-elevation="overlay"], .flood-dialog) {
2084
+ --flood-sys-color-surface-current: var(--flood-sys-color-surface-overlay);
2085
+ }
2086
+ .flood-root[data-flood-surface="floating"],
2087
+ .flood-root :where(.flood-overlay-panel, .flood-select__menu, .flood-toast, .flood-bulk-action-bar,
2088
+ .flood-bulk-action-bar > .flood-overflow-actions__bar, [data-flood-surface="floating"]) {
2089
+ --flood-sys-color-surface-current: var(--flood-sys-color-surface-floating);
2090
+ }
2091
+ /* Picker calendars shed their standalone material; the popup is their owner. */
2092
+ .flood-root :where(.flood-date-picker__panel, .flood-date-range-picker__panel) .flood-calendar {
2093
+ --flood-sys-color-surface-current: inherit;
2094
+ }
2095
+
2096
+ /* Explicit canvas scopes reset every role after automatic material owners. */
2097
+ .flood-root[data-flood-surface="base"],
2098
+ .flood-root :where([data-flood-surface="base"], .flood-dropzone,
2099
+ .flood-tabs:not([data-variant="line"]) > .flood-tabs__scroll) {
2100
+ --flood-sys-color-action-subtle-rest: var(--flood-sys-color-context-base-action-rest);
2101
+ --flood-sys-color-action-subtle-hover: var(--flood-sys-color-context-base-action-hover);
2102
+ --flood-sys-color-action-subtle-pressed: var(--flood-sys-color-context-base-action-pressed);
2103
+ --flood-sys-color-action-subtle-disabled: var(--flood-sys-color-context-base-action-disabled);
2104
+ --flood-sys-color-action-ghost-hover: var(--flood-sys-color-context-base-action-hover);
2105
+ --flood-sys-color-action-ghost-pressed: var(--flood-sys-color-context-base-action-pressed);
2106
+ --flood-sys-color-action-on-surface-rest: var(--flood-sys-color-context-base-on-surface-action-rest);
2107
+ --flood-sys-color-action-on-surface-hover: var(--flood-sys-color-context-base-on-surface-action-hover);
2108
+ --flood-sys-color-action-on-surface-pressed: var(--flood-sys-color-context-base-on-surface-action-pressed);
2109
+ --flood-sys-color-action-on-surface-disabled: var(--flood-sys-color-context-base-on-surface-action-disabled);
2110
+ --flood-sys-color-field-background: var(--flood-sys-color-context-base-field-background);
2111
+ --flood-sys-color-field-border: var(--flood-sys-color-context-base-field-border);
2112
+ --flood-sys-color-field-readonly: var(--flood-sys-color-context-base-field-readonly);
2113
+ --flood-sys-color-field-disabled: var(--flood-sys-color-context-base-field-disabled);
2114
+ --flood-sys-color-selection-background: var(--flood-sys-color-context-base-selection-background);
2115
+ --flood-sys-color-border-decorative: var(--flood-sys-color-context-base-border-decorative);
2116
+ --flood-sys-color-divider-decorative: var(--flood-sys-color-context-base-divider-decorative);
2117
+ --flood-sys-color-surface-supporting: var(--flood-sys-color-context-base-supporting-background);
2118
+ --flood-sys-color-surface-avatar: var(--flood-sys-color-context-base-avatar-background);
2119
+ --flood-sys-color-surface-muted: var(--flood-sys-color-context-base-muted-background);
2120
+ --flood-sys-color-indicator-track: var(--flood-sys-color-context-base-indicator-track);
2121
+ --flood-sys-color-loading-placeholder: var(--flood-sys-color-context-base-loading-placeholder);
2122
+ --flood-sys-color-surface-current: var(--flood-sys-color-surface-canvas);
2123
+ }
2124
+
2125
+ /* Explicit host preference also works in engines without the media feature. */
2126
+ .flood-root[data-flood-transparency="reduced"] :is(.flood-overlay-panel, .flood-select__menu),
2127
+ .flood-root [data-flood-transparency="reduced"] :is(.flood-overlay-panel, .flood-select__menu),
2128
+ .flood-root :is(.flood-overlay-panel, .flood-select__menu)[data-flood-transparency="reduced"] {
2129
+ background: var(--flood-sys-color-surface-floating);
2130
+ backdrop-filter: none;
2131
+ }
2132
+
2133
+ @media (forced-colors: active) {
2134
+ .flood-root[data-flood-transparency="reduced"] :is(.flood-overlay-panel, .flood-select__menu),
2135
+ .flood-root [data-flood-transparency="reduced"] :is(.flood-overlay-panel, .flood-select__menu),
2136
+ .flood-root :is(.flood-overlay-panel, .flood-select__menu)[data-flood-transparency="reduced"] {
2137
+ background: Canvas;
2138
+ }
2139
+ .flood-root, .flood-root :where(.flood-surface, .flood-dialog, .flood-overlay-panel,
2140
+ .flood-select__menu, .flood-toast, .flood-toolbar:not([data-variant="plain"]), .flood-calendar:not(.flood-date-picker__panel .flood-calendar):not(.flood-date-range-picker__panel .flood-calendar),
2141
+ .flood-file-list, .flood-color-picker__panel, .flood-bulk-action-bar,
2142
+ .flood-tabs:not([data-variant="line"]), .flood-disclosure:not(.flood-accordion > .flood-disclosure), .flood-accordion,
2143
+ .flood-segmented .flood-choice-group, .flood-data-table__footer, .flood-code-snippet,
2144
+ .flood-dropzone, .flood-tabs:not([data-variant="line"]) > .flood-tabs__scroll, [data-flood-surface]) {
2145
+ --flood-sys-color-surface-current: Canvas;
2146
+ --flood-sys-color-surface-supporting: Canvas;
2147
+ --flood-sys-color-surface-avatar: Canvas;
2148
+ --flood-sys-color-surface-muted: Canvas;
2149
+ --flood-sys-color-field-readonly: Canvas;
2150
+ }
2151
+ }
2152
+
2153
+ .flood-root .flood-filter-condition { container: flood-filter-condition / inline-size; min-inline-size:0; }
2154
+ .flood-root .flood-filter-condition__row { grid-template-columns:minmax(7rem,.9fr) minmax(8rem,1fr) minmax(10rem,1.6fr); align-items:center; }
2155
+ .flood-root .flood-filter-condition[data-removable="true"] .flood-filter-condition__row { grid-template-columns:minmax(7rem,.9fr) minmax(8rem,1fr) minmax(10rem,1.6fr) auto; }
2156
+ .flood-root .flood-filter-condition__values { min-inline-size:0; }
2157
+ @container flood-filter-condition (max-width:34rem) {
2158
+ .flood-root .flood-filter-condition__row,
2159
+ .flood-root .flood-filter-condition[data-removable="true"] .flood-filter-condition__row { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
2160
+ .flood-root .flood-filter-condition[data-removable="true"] .flood-filter-condition__row { grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto; }
2161
+ .flood-root .flood-filter-condition__values { grid-column:1 / -1; }
2162
+ .flood-root .flood-filter-condition[data-removable="true"] .flood-filter-condition__values { grid-column:1 / 3; }
2163
+ .flood-root .flood-filter-condition__remove { grid-column:3; grid-row:2; }
2164
+ }
2165
+ @container flood-filter-condition (max-width:22rem) {
2166
+ .flood-root .flood-filter-condition__row,
2167
+ .flood-root .flood-filter-condition[data-removable="true"] .flood-filter-condition__row { grid-template-columns:minmax(0,1fr); }
2168
+ .flood-root .flood-filter-condition__row > :is(.flood-field,.flood-filter-condition__values) { grid-column:1 / -1; }
2169
+ .flood-root .flood-filter-condition__remove { grid-column:1; grid-row:auto; justify-self:end; }
2170
+ }
2171
+ .flood-root .flood-filter-group .flood-segmented > .flood-fieldset__body { grid-template-columns: minmax(0, 1fr); }
2172
+ .flood-root .flood-filter-group .flood-segmented .flood-choice-group { max-inline-size: 100%; }
2173
+ .flood-root .flood-filter-group .flood-segmented .flood-choice { flex: 1 1 auto; min-inline-size: 0; }
2174
+
2175
+ .flood-root .flood-collection-toolbar { inline-size:100%; min-inline-size:0; container-type:inline-size; }
2176
+ .flood-root .flood-collection-toolbar__row { min-inline-size:0; display:grid; grid-template-columns:minmax(12rem,24rem) minmax(0,1fr) auto; }
2177
+ .flood-root .flood-collection-toolbar__search { min-inline-size:0; max-inline-size:100%; }
2178
+ .flood-root .flood-collection-toolbar__summaries { min-inline-size:0; max-inline-size:100%; }
2179
+ .flood-root .flood-collection-toolbar__commands { margin-inline-start:auto; max-inline-size:100%; justify-content:flex-end; }
2180
+ .flood-root .flood-collection-toolbar__clear[data-visible="false"] { visibility:hidden; }
2181
+ .flood-root .flood-collection-toolbar__commands { grid-column:3; }
2182
+ @container (max-width:46rem) {
2183
+ .flood-root .flood-collection-toolbar__row { grid-template-columns:minmax(0,1fr) auto; }
2184
+ .flood-root .flood-collection-toolbar__commands { grid-column:2; grid-row:1; }
2185
+ .flood-root .flood-collection-toolbar__summaries { grid-column:1 / -1; grid-row:2; }
2186
+ }
2187
+ @container (max-width:28rem) {
2188
+ .flood-root .flood-collection-toolbar__row { grid-template-columns:minmax(0,1fr); }
2189
+ .flood-root .flood-collection-toolbar__commands { grid-column:1; grid-row:2; }
2190
+ .flood-root .flood-collection-toolbar__summaries { grid-row:3; }
2191
+ }
2192
+
2193
+ .flood-root .flood-collection-view-switcher { min-inline-size:0; }
2194
+ .flood-root .flood-collection-view-switcher__select { flex:0 1 13rem; min-inline-size:0; max-inline-size:100%; }
2195
+ .flood-root .flood-collection-view-switcher__actions { flex:1 1 16rem; min-inline-size:0; max-inline-size:36rem; }
2196
+ .flood-root .flood-collection-view-switcher[hidden] { display:none; }
2197
+
2198
+ .flood-root .flood-sidebar { display:flex; flex-direction:column; box-sizing:border-box; inline-size:var(--flood-sidebar-width,16rem); max-inline-size:100%; block-size:100%; min-block-size:0; min-inline-size:0; flex-shrink:0; padding-block:var(--flood-sys-space-3); padding-inline:0; gap:var(--flood-sys-space-4); background:var(--flood-sys-color-surface-default); border-inline-end:var(--flood-sys-stroke-width) solid var(--flood-sys-color-border-decorative); }
2199
+ .flood-root .flood-sidebar { --flood-sidebar-edge:var(--flood-sys-space-3); --flood-sidebar-icon:var(--flood-sys-control-md-icon-size); --flood-sidebar-row:var(--flood-sys-control-md-height); --flood-sidebar-rail-width:4.5rem; }
2200
+ .flood-root .flood-sidebar[data-size="sm"] { --flood-sidebar-icon:var(--flood-sys-control-sm-icon-size); --flood-sidebar-row:var(--flood-sys-control-sm-height); }
2201
+ .flood-root .flood-sidebar[data-size="lg"] { --flood-sidebar-icon:var(--flood-sys-control-lg-icon-size); --flood-sidebar-row:var(--flood-sys-control-lg-height); }
2202
+ .flood-root .flood-sidebar[data-variant="quiet"] { --flood-sys-color-surface-default:var(--flood-sys-color-surface-canvas); }
2203
+ .flood-root .flood-sidebar[data-side="end"] { border-inline-end:0; border-inline-start:var(--flood-sys-stroke-width) solid var(--flood-sys-color-border-decorative); }
2204
+ .flood-root .flood-sidebar[data-collapsed="true"] { --flood-sidebar-edge:var(--flood-sys-space-2); inline-size:var(--flood-sidebar-rail-width); }
2205
+ .flood-root .flood-sidebar__header { display:flex; align-items:center; gap:var(--flood-sys-space-2); min-inline-size:0; min-block-size:var(--flood-sidebar-row); box-sizing:border-box; flex:none; padding-inline:calc(var(--flood-sidebar-edge) + var(--flood-sys-space-3)); }
2206
+ .flood-root .flood-sidebar__identity { flex:1; min-inline-size:0; overflow-wrap:anywhere; }
2207
+ .flood-root .flood-sidebar[data-collapsed="true"] .flood-sidebar__header { flex-direction:column; justify-content:center; padding-inline:var(--flood-sidebar-edge); }
2208
+ .flood-root .flood-sidebar[data-collapsed="true"] > .flood-sidebar__header[data-collapsible="false"] > .flood-sidebar__identity { flex:none; }
2209
+ .flood-root .flood-sidebar__header[data-collapsible="true"] { display:grid; }
2210
+ .flood-root .flood-sidebar[data-header-layout="inline"][data-collapsed="false"] > .flood-sidebar__header[data-collapsible="true"] { grid-template-columns:minmax(0,1fr) auto; padding-inline-end:calc(var(--flood-sidebar-edge) + var(--flood-sys-space-1)); }
2211
+ .flood-root .flood-sidebar[data-header-layout="inline"][data-collapsed="false"] .flood-sidebar__toggle { grid-area:1 / 2; margin-inline-start:0; }
2212
+ .flood-root .flood-sidebar[data-header-layout="inline"][data-collapsed="false"] .flood-sidebar__identity { grid-area:1 / 1; }
2213
+ .flood-root .flood-sidebar[data-collapsed="true"] .flood-sidebar__header[data-collapsible="true"] { justify-items:center; }
2214
+ .flood-root .flood-sidebar:not([data-collapsed="true"]) .flood-sidebar__toggle {
2215
+ justify-self:start;
2216
+ margin-inline-start:calc((var(--flood-sidebar-rail-width) - var(--flood-sys-stroke-width) - var(--flood-sidebar-row)) / 2 - var(--flood-sidebar-edge) - var(--flood-sys-space-3));
2217
+ }
2218
+ @media (forced-colors: none) {
2219
+ .flood-root .flood-sidebar__toggle.flood-icon-button:focus-visible {
2220
+ outline:none;
2221
+ background:var(--flood-sys-color-selection-background);
2222
+ color:var(--flood-sys-color-selection-content);
2223
+ }
2224
+ }
2225
+ @media(pointer:coarse) {
2226
+ .flood-root .flood-sidebar { --flood-sidebar-rail-width:5rem; }
2227
+ .flood-root .flood-sidebar:not([data-collapsed="true"]) .flood-sidebar__toggle {
2228
+ margin-inline-start:calc((var(--flood-sidebar-rail-width) - var(--flood-sys-stroke-width) - max(var(--flood-sidebar-row), var(--flood-sys-size-touch))) / 2 - var(--flood-sidebar-edge) - var(--flood-sys-space-3));
2229
+ }
2230
+ }
2231
+ .flood-root .flood-sidebar > .flood-scroll-area { flex:1; min-block-size:0; min-inline-size:0; }
2232
+ .flood-root .flood-sidebar__body { block-size:100%; min-block-size:0; min-inline-size:0; }
2233
+ .flood-root .flood-sidebar__navigation { padding-inline:var(--flood-sidebar-edge); }
2234
+ .flood-root .flood-sidebar__navigation :is(.flood-navigation-group__label,.flood-navigation-item__label,.flood-navigation-item__description) {
2235
+ min-inline-size:0;
2236
+ overflow:hidden;
2237
+ text-overflow:ellipsis;
2238
+ white-space:nowrap;
2239
+ }
2240
+ .flood-root .flood-sidebar__group-label { padding-inline:var(--flood-sys-space-3); }
2241
+ .flood-root .flood-sidebar__group[data-icon-column] .flood-navigation-group__label { padding-inline-start:calc(var(--flood-sys-space-3) + var(--flood-sidebar-icon) + var(--flood-sys-space-2)); }
2242
+ .flood-root .flood-sidebar__footer { display:flex; flex-direction:column; align-items:stretch; gap:var(--flood-sys-space-1); flex:none; min-inline-size:0; padding-block-start:var(--flood-sys-space-3); padding-inline:var(--flood-sidebar-edge); }
2243
+ .flood-root .flood-sidebar[data-footer-separator="true"] .flood-sidebar__footer { border-block-start:var(--flood-sys-stroke-width) solid var(--flood-sys-color-divider-decorative); }
2244
+ .flood-root .flood-sidebar[data-collapsed="true"] .flood-sidebar__footer { align-items:center; }
2245
+ .flood-root .flood-sidebar[data-collapsed="true"] .flood-sidebar__navigation { padding-inline:var(--flood-sidebar-edge); }
2246
+ .flood-root .flood-sidebar[hidden] { display:none; }
2247
+ @media(forced-colors:active) { .flood-root .flood-sidebar { background:Canvas; border-color:CanvasText; } }
2248
+
2249
+ .flood-root .flood-sidebar[data-header-separator="true"] .flood-sidebar__header { padding-block-end:var(--flood-sys-space-3); border-block-end:var(--flood-sys-stroke-width) solid var(--flood-sys-color-divider-decorative); }
2250
+
2251
+ .flood-root .flood-navigation-item { --flood-navigation-item-height:var(--flood-sys-control-md-height); --flood-navigation-item-target:var(--flood-navigation-item-height); --flood-navigation-item-text:var(--flood-sys-control-md-text-size); --flood-navigation-item-line:var(--flood-sys-control-md-line-height); --flood-navigation-item-inset:var(--flood-sys-space-3); display:flex; align-items:center; min-inline-size:0; box-sizing:border-box; border-radius:var(--flood-sys-radius-indicator); color:var(--flood-sys-color-content-subtle); }
2252
+ .flood-root .flood-navigation-item[data-size="sm"] { --flood-navigation-item-height:var(--flood-sys-control-sm-height); --flood-navigation-item-text:var(--flood-sys-control-sm-text-size); --flood-navigation-item-line:var(--flood-sys-control-sm-line-height); }
2253
+ .flood-root .flood-navigation-item[data-size="lg"] { --flood-navigation-item-height:var(--flood-sys-control-lg-height); --flood-navigation-item-text:var(--flood-sys-control-lg-text-size); --flood-navigation-item-line:var(--flood-sys-control-lg-line-height); }
2254
+ .flood-root .flood-navigation-item[data-variant="standard"] { color:var(--flood-sys-color-content-default); border-radius:var(--flood-sys-radius-action); }
2255
+ .flood-root .flood-navigation-item[data-current] { background:var(--flood-sys-color-selection-background); color:var(--flood-sys-color-selection-content); }
2256
+ .flood-root .flood-navigation-item[data-ancestor-current]:not([data-current],[data-disabled]) { color:var(--flood-sys-color-content-default); box-shadow:inset 0 0 0 var(--flood-sys-stroke-width) var(--flood-sys-color-divider-decorative); }
2257
+ @media (hover:hover) {
2258
+ .flood-root .flood-navigation-item:not([data-disabled],[data-current]):hover { background:var(--flood-sys-color-action-on-surface-hover); }
2259
+ }
2260
+ .flood-root .flood-navigation-item:not([data-disabled],[data-current]):has(> :is(a,button).flood-navigation-item__control:active) { background:var(--flood-sys-color-selection-background); }
2261
+ .flood-root .flood-navigation-item[data-disabled] { color:var(--flood-sys-color-field-disabled-content); }
2262
+ .flood-root .flood-navigation-item .flood-navigation-item__control { display:flex; flex:1; justify-content:flex-start; align-items:center; min-inline-size:0; min-block-size:var(--flood-navigation-item-target); box-sizing:border-box; padding:var(--flood-sys-space-1) var(--flood-navigation-item-inset); gap:var(--flood-sys-space-2); border:0; border-radius:inherit; background:transparent; color:inherit; font-size:var(--flood-navigation-item-text); line-height:var(--flood-navigation-item-line); font-weight:var(--flood-sys-type-body-weight); letter-spacing:var(--flood-sys-type-control-tracking); white-space:normal; text-align:start; text-decoration:none; }
2263
+ .flood-root .flood-navigation-item[data-variant="standard"] .flood-navigation-item__control { font-weight:var(--flood-sys-type-control-weight); }
2264
+ .flood-root .flood-navigation-item .flood-navigation-item__control:is(:hover,:active,[aria-current],[disabled]),.flood-root .flood-navigation-item .flood-navigation-item__disclosure:is(:hover,:active,[disabled]) { background:transparent; color:inherit; }
2265
+ .flood-root .flood-navigation-item__content { display:flex; flex:1; flex-direction:column; min-inline-size:0; }
2266
+ .flood-root .flood-navigation-item .flood-navigation-item__label { color:inherit; font-size:inherit; font-weight:inherit; line-height:inherit; letter-spacing:inherit; overflow-wrap:anywhere; }
2267
+ .flood-root .flood-navigation-item__description { overflow-wrap:anywhere; }
2268
+ .flood-root .flood-navigation-item__trailing,.flood-root .flood-navigation-item__indicator { display:flex; flex:none; justify-content:center; align-items:center; min-inline-size:var(--flood-navigation-item-target); margin-inline-start:auto; }
2269
+ .flood-root .flood-navigation-item:is([data-disclosure],[data-trailing-action]),
2270
+ .flood-root .flood-navigation-item .flood-navigation-item__control:has(> :is(.flood-navigation-item__trailing,.flood-navigation-item__indicator)) { padding-inline-end:var(--flood-sys-space-1); }
2271
+ .flood-root .flood-navigation-item:is([data-disclosure],[data-trailing-action]) .flood-navigation-item__control { padding-inline-end:0; }
2272
+ .flood-root .flood-navigation-item__accessories { display:grid; grid-auto-flow:column; column-gap:var(--flood-sys-space-1); align-items:center; justify-items:center; flex:none; min-inline-size:var(--flood-navigation-item-target); }
2273
+ .flood-root .flood-navigation-item__action { display:flex; align-items:center; justify-content:center; min-inline-size:var(--flood-navigation-item-target); }
2274
+ .flood-root .flood-navigation-item__action .flood-icon-button:not(:disabled,[aria-disabled="true"]):is(:hover,:active) {
2275
+ background:transparent;
2276
+ color:var(--flood-sys-color-content-default);
2277
+ }
2278
+ .flood-root .flood-navigation-item .flood-navigation-item__disclosure { flex:none; inline-size:var(--flood-navigation-item-target); min-block-size:var(--flood-navigation-item-target); background:transparent; color:inherit; }
2279
+ .flood-root .flood-navigation-item :is(.flood-navigation-item__indicator,.flood-navigation-item__disclosure) svg { rotate:0deg; }
2280
+ .flood-root .flood-navigation-item:dir(rtl) :is(.flood-navigation-item__indicator,.flood-navigation-item__disclosure) svg { rotate:180deg; }
2281
+ .flood-root .flood-navigation-item[data-expanded="true"] :is(.flood-navigation-item__indicator,.flood-navigation-item__disclosure) svg { rotate:90deg; }
2282
+ .flood-root .flood-navigation-item[data-compact] { inline-size:var(--flood-navigation-item-target); margin-inline:auto; }
2283
+ .flood-root .flood-navigation-item[data-compact] .flood-navigation-item__control { flex:none; justify-content:center; inline-size:var(--flood-navigation-item-target); padding-inline:0; }
2284
+ .flood-root .flood-navigation-item[data-compact] .flood-navigation-item__content { position:absolute; inline-size:1px; block-size:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
2285
+ @media(pointer:coarse) { .flood-root .flood-navigation-item { --flood-navigation-item-target:max(var(--flood-navigation-item-height),var(--flood-sys-size-touch)); } }
2286
+ @media(forced-colors:active) { .flood-root .flood-navigation-item[data-current] { outline:1px solid Highlight; color:Highlight; } .flood-root .flood-navigation-item[data-disabled] { color:GrayText; } }
2287
+ .flood-root .flood-navigation-item[hidden] { display:none; }
2288
+
2289
+ .flood-root .flood-navigation-group { display:grid; row-gap:var(--flood-sys-space-2); min-inline-size:0; }
2290
+ .flood-root .flood-navigation-group[data-separator] { padding-block-start:var(--flood-sys-space-3); border-block-start:var(--flood-sys-stroke-width) solid var(--flood-sys-color-divider-decorative); }
2291
+ .flood-root .flood-navigation-group__heading { display:flex; align-items:center; justify-content:space-between; gap:var(--flood-sys-space-2); min-inline-size:0; }
2292
+ .flood-root .flood-navigation-group__label { padding-inline:var(--flood-sys-space-3); min-inline-size:0; overflow-wrap:anywhere; }
2293
+ .flood-root .flood-navigation-group__action { display:flex; align-items:center; justify-content:center; flex:none; }
2294
+ .flood-root .flood-navigation-group:not([data-compact]) > .flood-navigation-group__heading > .flood-navigation-group__action {
2295
+ margin-inline-start:auto;
2296
+ padding-inline-end:var(--flood-sys-space-1);
2297
+ }
2298
+ .flood-root .flood-navigation-group__body { display:grid; row-gap:var(--flood-sys-space-1); min-inline-size:0; }
2299
+ .flood-root .flood-disclosure__heading:has(> .flood-disclosure__action) { display:flex; align-items:center; gap:var(--flood-sys-space-2); }
2300
+ .flood-root .flood-disclosure__heading:has(> .flood-disclosure__action) > .flood-disclosure__trigger { flex:1; min-inline-size:0; }
2301
+ .flood-root .flood-disclosure__action { display:flex; align-items:center; flex:none; padding-inline-end:var(--flood-sys-space-2); }
2302
+ .flood-root .flood-navigation-group > .flood-navigation-group__disclosure { display:grid; border:0; border-radius:0; background:transparent; }
2303
+ .flood-root .flood-navigation-group__disclosure > .flood-disclosure__heading > .flood-disclosure__trigger { border-radius:var(--flood-sys-radius-indicator); padding-inline:var(--flood-sys-space-3); color:var(--flood-sys-color-content-subtle); font-size:var(--flood-sys-type-helper-size); line-height:var(--flood-sys-type-helper-line-height); font-weight:var(--flood-sys-type-body-weight); }
2304
+ .flood-root .flood-navigation-group__disclosure > .flood-disclosure__heading > .flood-disclosure__action { padding-inline-end:var(--flood-sys-space-1); }
2305
+ .flood-root .flood-navigation-group__disclosure > .flood-disclosure__panel { padding:var(--flood-sys-space-2) 0 0; }
2306
+ .flood-root .flood-navigation-group[data-hide-label] > .flood-navigation-group__disclosure > .flood-disclosure__heading .flood-disclosure__title { position:absolute; inline-size:1px; block-size:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
2307
+ .flood-root .flood-navigation-group[data-hide-label] > .flood-navigation-group__disclosure > .flood-disclosure__heading > .flood-disclosure__trigger { justify-content:flex-end; }
2308
+ .flood-root .flood-navigation-group[data-compact] > .flood-navigation-group__heading { justify-content:center; }
2309
+ .flood-root .flood-navigation-group[data-compact] > .flood-navigation-group__disclosure > .flood-disclosure__heading { display:contents; }
2310
+ .flood-root .flood-navigation-group[data-compact] > .flood-navigation-group__disclosure > .flood-disclosure__heading > .flood-disclosure__trigger { display:none; }
2311
+ .flood-root .flood-navigation-group[data-compact] > .flood-navigation-group__disclosure > .flood-disclosure__heading > .flood-disclosure__action { justify-content:center; padding:0 0 var(--flood-sys-space-2); }
2312
+ .flood-root .flood-navigation-group[data-compact] > .flood-navigation-group__disclosure > .flood-disclosure__panel { display:grid; gap:var(--flood-sys-space-2); padding:0; }
2313
+ .flood-root .flood-navigation-group[hidden] { display:none; }
2314
+ @media(forced-colors:active) { .flood-root .flood-navigation-group[data-separator] { border-color:CanvasText; } }
2315
+
2316
+ /* Shared visual owners keep motion separate from form, focus and layout state. */
2317
+ @media (prefers-reduced-motion: no-preference) and (forced-colors: none) {
2318
+ .flood-root .flood-sidebar:not(:where([data-flood-motion="reduce"] *)) {
2319
+ transition: inline-size var(--flood-sys-motion-duration-normal) var(--flood-sys-motion-easing);
2320
+ }
2321
+
2322
+ .flood-root:not([data-flood-motion="reduce"]) :is(
2323
+ .flood-navigation-item,
2324
+ .flood-tree__row,
2325
+ .flood-select__option,
2326
+ .flood-command-list__option,
2327
+ .flood-list-box__option,
2328
+ .flood-calendar__day,
2329
+ .flood-steps__action,
2330
+ .flood-choice-card,
2331
+ .flood-scroll-area__thumb,
2332
+ .flood-data-table tbody > tr,
2333
+ .flood-menu__item,
2334
+ .flood-segmented .flood-choice
2335
+ ):not(:where([data-flood-motion="reduce"] *)) {
2336
+ transition: background-color var(--flood-sys-motion-duration-fast) var(--flood-sys-motion-easing);
2337
+ }
2338
+
2339
+ .flood-root:not([data-flood-motion="reduce"]) .flood-check:not(:where([data-flood-motion="reduce"] *))::before {
2340
+ transition: opacity var(--flood-sys-motion-duration-press) var(--flood-sys-motion-easing);
2341
+ }
2342
+ .flood-root .flood-rating__choice > svg:not(:where([data-flood-motion="reduce"] *)) {
2343
+ transition: fill var(--flood-sys-motion-duration-fast) var(--flood-sys-motion-easing),
2344
+ color var(--flood-sys-motion-duration-fast) var(--flood-sys-motion-easing);
2345
+ }
2346
+ .flood-root .flood-data-table__sort svg:not(:where([data-flood-motion="reduce"] *)) {
2347
+ transition: rotate var(--flood-sys-motion-duration-normal) var(--flood-sys-motion-easing);
2348
+ }
2349
+ .flood-root .flood-select--custom .flood-select__control:not(:where([data-flood-motion="reduce"] *))::after {
2350
+ transition: transform var(--flood-sys-motion-duration-normal) var(--flood-sys-motion-easing);
2351
+ }
2352
+ .flood-root:not([data-flood-motion="reduce"]) .flood-switch-input:not(:where([data-flood-motion="reduce"] *))::before {
2353
+ transition: inset-inline-start var(--flood-sys-motion-duration-normal) var(--flood-sys-motion-easing);
2354
+ }
2355
+
2356
+ .flood-root:not([data-flood-motion="reduce"]) :is(
2357
+ .flood-tree__chevron,
2358
+ .flood-navigation-item__indicator svg,
2359
+ .flood-navigation-item__disclosure svg
2360
+ ):not(:where([data-flood-motion="reduce"] *)) {
2361
+ transition: rotate var(--flood-sys-motion-duration-normal) var(--flood-sys-motion-easing);
2362
+ }
2363
+ .flood-root:not([data-flood-motion="reduce"]) .flood-disclosure__indicator:not(:where([data-flood-motion="reduce"] *)) {
2364
+ transition-duration: var(--flood-sys-motion-duration-normal);
2365
+ }
2366
+ .flood-root:not([data-flood-motion="reduce"]) :is(.flood-disclosure__panel, .flood-tabs__panel):not(:where([data-flood-motion="reduce"] *)):not([hidden]) {
2367
+ animation: flood-reveal-content var(--flood-sys-motion-duration-normal) var(--flood-sys-motion-easing-enter) both;
2368
+ }
2369
+ .flood-root:not([data-flood-motion="reduce"]) .flood-navigation-tree__branch:not(:where([data-flood-motion="reduce"] *)) {
2370
+ animation: flood-reveal-navigation-branch var(--flood-sys-motion-duration-enter) var(--flood-sys-motion-easing-enter);
2371
+ }
2372
+ .flood-root:not([data-flood-motion="reduce"]) .flood-tabs[data-variant="line"] .flood-tab[aria-selected="true"]:not(:where([data-flood-motion="reduce"] *))::after {
2373
+ animation: flood-reveal-mark var(--flood-sys-motion-duration-fast) var(--flood-sys-motion-easing-enter) both;
2374
+ }
2375
+
2376
+ .flood-root:not([data-flood-motion="reduce"]) .flood-copy-button__labels > span[data-visible]:not(:first-child) > .flood-icon:not(:where([data-flood-motion="reduce"] *)) {
2377
+ animation: flood-reveal-mark var(--flood-sys-motion-duration-normal) var(--flood-sys-motion-easing-enter) both;
2378
+ }
2379
+ .flood-root:not([data-flood-motion="reduce"]) .flood-avatar .flood-avatar__image:not(:where([data-flood-motion="reduce"] *)) {
2380
+ transition: opacity var(--flood-sys-motion-duration-normal) var(--flood-sys-motion-easing-enter);
2381
+ }
2382
+ .flood-root:not([data-flood-motion="reduce"]) .flood-spinner:not(:where([data-flood-motion="reduce"] *)) {
2383
+ animation-duration: var(--flood-sys-motion-duration-loop);
2384
+ }
2385
+ .flood-root:not([data-flood-motion="reduce"]) .flood-indicator[data-indeterminate="true"] .flood-indicator__fill:not(:where([data-flood-motion="reduce"] *)) {
2386
+ animation-duration: var(--flood-sys-motion-duration-loop);
2387
+ }
2388
+ .flood-root:not([data-flood-motion="reduce"]) .flood-skeleton[data-animate="true"]:not(:where([data-flood-motion="reduce"] *)) {
2389
+ animation-duration: calc(2 * var(--flood-sys-motion-duration-loop));
2390
+ }
2391
+ .flood-root :is(
2392
+ button.flood-button:not(.flood-button-group > .flood-button, .flood-disclosure__trigger, .flood-navigation-item__control),
2393
+ .flood-check:not(.flood-segmented .flood-check),
2394
+ .flood-switch-input,
2395
+ .flood-segmented .flood-choice
2396
+ ):not(:where([data-flood-motion="reduce"] *, :disabled, [aria-disabled="true"], [aria-busy="true"], :has(input:disabled))) {
2397
+ transition: scale var(--flood-sys-motion-duration-fast) var(--flood-sys-motion-easing-enter),
2398
+ background-color var(--flood-sys-motion-duration-fast) var(--flood-sys-motion-easing);
2399
+ }
2400
+ .flood-root :is(
2401
+ button.flood-button:not(.flood-button-group > .flood-button, .flood-disclosure__trigger, .flood-navigation-item__control):active,
2402
+ .flood-choice:active > :is(.flood-check:not(.flood-segmented .flood-check), .flood-switch-input),
2403
+ .flood-segmented .flood-choice:active
2404
+ ):not(:where([data-flood-motion="reduce"] *, :disabled, [aria-disabled="true"], [aria-busy="true"], :has(input:disabled))) {
2405
+ scale: .96;
2406
+ transition-duration: var(--flood-sys-motion-duration-press);
2407
+ }
2408
+ }
2409
+
2410
+ @media (prefers-reduced-motion: no-preference) and (forced-colors: none) and (hover: hover) {
2411
+ .flood-root:not([data-flood-motion="reduce"]) :is(
2412
+ .flood-input,
2413
+ .flood-input-group,
2414
+ .flood-date-field__control,
2415
+ .flood-time-field__control
2416
+ ):not(:where([data-flood-motion="reduce"] *)) {
2417
+ transition: background-color var(--flood-sys-motion-duration-fast) var(--flood-sys-motion-easing);
2418
+ }
2419
+ }
2420
+
2421
+ @media (hover: hover) and (forced-colors: none) {
2422
+ .flood-root :is(
2423
+ .flood-input:not(.flood-input-group > .flood-input, .flood-command-palette .flood-input),
2424
+ .flood-input-group:not(:has(input:disabled)),
2425
+ .flood-date-field__control,
2426
+ .flood-time-field__control
2427
+ ):not(:disabled, [readonly], [aria-readonly="true"], [aria-disabled="true"], [data-readonly], [data-disabled]):hover {
2428
+ background-color: color-mix(in srgb, var(--flood-sys-color-field-background) 95%, var(--flood-sys-color-field-content));
2429
+ }
2430
+ .flood-root .flood-segmented .flood-choice:not(:has(input:is(:checked, :disabled))):hover {
2431
+ background-color: var(--flood-sys-color-action-on-surface-hover);
2432
+ }
2433
+ }
2434
+
2435
+ @keyframes flood-reveal-content {
2436
+ from { opacity: .84; }
2437
+ to { opacity: 1; }
2438
+ }
2439
+ @keyframes flood-reveal-mark {
2440
+ from { opacity: .55; }
2441
+ to { opacity: 1; }
2442
+ }
2443
+ @keyframes flood-reveal-navigation-branch {
2444
+ from { opacity:0; translate:0 calc(-1 * var(--flood-sys-motion-distance-small)); }
2445
+ to { opacity:1; translate:0 0; }
2446
+ }
2447
+
2448
+ @keyframes flood-motion-layer-in {
2449
+ from { opacity: .72; }
2450
+ }
2451
+
2452
+ @keyframes flood-motion-hint-in {
2453
+ from { opacity: .85; }
2454
+ }
2455
+
2456
+ @keyframes flood-motion-layer-content-in {
2457
+ from { translate: var(--flood-motion-layer-x, 0) var(--flood-motion-layer-y, 0); }
2458
+ }
2459
+
2460
+ @keyframes flood-toast-enter {
2461
+ from { opacity: .35; translate: 0 var(--flood-toast-entry-offset, 0px); }
2462
+ }
2463
+
2464
+ @media (prefers-reduced-motion: no-preference) {
2465
+ /* The native layer owns open state and positioning. Its measured box stays still. */
2466
+ .flood-root :where(.flood-overlay-panel, .flood-select__menu, .flood-dialog) {
2467
+ --flood-motion-layer-x: 0;
2468
+ --flood-motion-layer-y: 0;
2469
+ }
2470
+
2471
+ .flood-root :is(.flood-overlay-panel, .flood-select__menu):not(.flood-tooltip,.flood-menu,[data-chrome="title-only"]):popover-open:not([data-flood-motion="reduce"] *),
2472
+ .flood-root .flood-dialog[open]:not([data-flood-motion="reduce"] *) {
2473
+ --flood-motion-layer-duration: var(--flood-sys-motion-duration-enter);
2474
+ animation: flood-motion-layer-in var(--flood-motion-layer-duration) var(--flood-sys-motion-easing-enter);
2475
+ }
2476
+
2477
+ .flood-root .flood-tooltip:popover-open:not([data-flood-motion="reduce"] *) {
2478
+ animation: flood-motion-hint-in var(--flood-sys-motion-duration-fast) var(--flood-sys-motion-easing-enter);
2479
+ }
2480
+
2481
+ .flood-root .flood-dialog[open]:not([data-flood-motion="reduce"] *) {
2482
+ --flood-motion-layer-duration: var(--flood-sys-motion-duration-layer);
2483
+ }
2484
+
2485
+ .flood-root .flood-dialog[open]:not([data-flood-motion="reduce"] *)::backdrop {
2486
+ animation: flood-motion-layer-in var(--flood-motion-layer-duration) var(--flood-sys-motion-easing-enter);
2487
+ }
2488
+
2489
+ .flood-root :is(.flood-overlay-panel, .flood-select__menu)[data-side="bottom"] { --flood-motion-layer-y: calc(-1 * var(--flood-sys-motion-distance-small)); }
2490
+ .flood-root :is(.flood-overlay-panel, .flood-select__menu)[data-side="top"] { --flood-motion-layer-y: var(--flood-sys-motion-distance-small); }
2491
+ .flood-root :is(.flood-overlay-panel, .flood-select__menu)[data-side="left"] { --flood-motion-layer-x: var(--flood-sys-motion-distance-small); }
2492
+ .flood-root :is(.flood-overlay-panel, .flood-select__menu)[data-side="right"] { --flood-motion-layer-x: calc(-1 * var(--flood-sys-motion-distance-small)); }
2493
+
2494
+ .flood-root .flood-drawer:is([data-side="start"][data-drawer-direction="ltr"], [data-side="end"][data-drawer-direction="rtl"]) { --flood-motion-layer-x: calc(-1 * var(--flood-sys-motion-distance-panel)); }
2495
+ .flood-root .flood-drawer:is([data-side="end"][data-drawer-direction="ltr"], [data-side="start"][data-drawer-direction="rtl"]) { --flood-motion-layer-x: var(--flood-sys-motion-distance-panel); }
2496
+ .flood-root .flood-drawer[data-side="top"] { --flood-motion-layer-y: calc(-1 * var(--flood-sys-motion-distance-panel)); }
2497
+ .flood-root .flood-drawer[data-side="bottom"] { --flood-motion-layer-y: var(--flood-sys-motion-distance-panel); }
2498
+
2499
+ .flood-root :is(.flood-overlay-panel, .flood-select__menu)[data-side]:popover-open > :is(.flood-overlay-body, .flood-hover-card__body, .flood-scroll-area):not([data-flood-motion="reduce"] *),
2500
+ .flood-root .flood-drawer[open] > .flood-drawer__body:not([data-flood-motion="reduce"] *) {
2501
+ animation: flood-motion-layer-content-in var(--flood-motion-layer-duration) var(--flood-sys-motion-easing-enter);
2502
+ }
2503
+
2504
+ .flood-root .flood-bulk-action-bar:not([data-flood-motion="reduce"] *) {
2505
+ animation: flood-motion-hint-in var(--flood-sys-motion-duration-enter) var(--flood-sys-motion-easing-enter);
2506
+ }
2507
+
2508
+ .flood-root .flood-toast-region:not([data-inline]):not([data-flood-motion="reduce"] *) {
2509
+ --flood-toast-travel: calc(2 * var(--flood-sys-motion-distance-small));
2510
+ box-sizing: border-box;
2511
+ }
2512
+
2513
+ /* Reserve room within the scrolling region for the card's entry. */
2514
+ .flood-root .flood-toast-region[data-placement^="bottom"]:has(.flood-toast):not([data-inline]):not([data-flood-motion="reduce"] *) {
2515
+ --flood-toast-entry-offset: var(--flood-toast-travel);
2516
+ padding-block-end: var(--flood-toast-travel);
2517
+ margin-block-end: calc(-1 * var(--flood-toast-travel));
2518
+ }
2519
+
2520
+ .flood-root .flood-toast-region[data-placement^="top"]:has(.flood-toast):not([data-inline]):not([data-flood-motion="reduce"] *) {
2521
+ --flood-toast-entry-offset: calc(-1 * var(--flood-toast-travel));
2522
+ padding-block-start: var(--flood-toast-travel);
2523
+ margin-block-start: calc(-1 * var(--flood-toast-travel));
2524
+ }
2525
+
2526
+ .flood-root .flood-toast:not([data-flood-motion="reduce"] *) {
2527
+ animation: flood-toast-enter var(--flood-sys-motion-duration-enter) var(--flood-sys-motion-easing-enter);
2528
+ }
2529
+ }
2530
+
2531
+ .flood-root :is(.flood-menu,.flood-popover[data-chrome="title-only"])[aria-hidden="true"] { pointer-events:none; }
2532
+
2533
+ @media (prefers-reduced-motion: no-preference) and (forced-colors: none) {
2534
+ .flood-root :is(.flood-menu,.flood-popover[data-chrome="title-only"]):not([data-flood-motion="reduce"] *) {
2535
+ opacity:0;
2536
+ transition:
2537
+ opacity var(--flood-sys-motion-duration-exit) var(--flood-sys-motion-easing),
2538
+ display var(--flood-sys-motion-duration-exit) allow-discrete,
2539
+ overlay var(--flood-sys-motion-duration-exit) allow-discrete;
2540
+ }
2541
+ .flood-root :is(.flood-menu,.flood-popover[data-chrome="title-only"]):popover-open:not([data-flood-motion="reduce"] *) {
2542
+ opacity:1;
2543
+ transition-duration:var(--flood-sys-motion-duration-enter);
2544
+ }
2545
+ @starting-style {
2546
+ .flood-root .flood-menu:popover-open:not([data-flood-motion="reduce"] *) { opacity:0; }
2547
+ .flood-root .flood-popover[data-chrome="title-only"]:popover-open:not([data-flood-motion="reduce"] *) { opacity:.8; }
2548
+ }
2549
+ .flood-root .flood-navigation-tree[data-compact] > ul:has(> li > .flood-navigation-tree__flyout:popover-open)
2550
+ > li > .flood-navigation-tree__flyout:not(:popover-open) { transition-duration:0s; }
2551
+ }
2552
+
2553
+ /* Application-level reduction composes with the system preference. */
2554
+ .flood-root:is([data-flood-motion="reduce"], [data-flood-motion="reduce"] *) {
2555
+ --flood-sys-motion-duration-press: var(--flood-sys-motion-duration-reduced);
2556
+ --flood-sys-motion-duration-fast: var(--flood-sys-motion-duration-reduced);
2557
+ --flood-sys-motion-duration-normal: var(--flood-sys-motion-duration-reduced);
2558
+ --flood-sys-motion-duration-enter: var(--flood-sys-motion-duration-reduced);
2559
+ --flood-sys-motion-duration-layer: var(--flood-sys-motion-duration-reduced);
2560
+ --flood-sys-motion-duration-exit: var(--flood-sys-motion-duration-reduced);
2561
+ }
2562
+
2563
+ .flood-root[data-flood-motion="reduce"] :is(.flood-spinner, .flood-skeleton[data-animate="true"]),
2564
+ .flood-root[data-flood-motion="reduce"] .flood-indicator[data-indeterminate="true"] .flood-indicator__fill {
2565
+ animation: none;
2566
+ }
2567
+ .flood-root[data-flood-motion="reduce"] .flood-indicator[data-indeterminate="true"] .flood-indicator__fill {
2568
+ background: var(--flood-indicator-color);
2569
+ inline-size: 35%;
2570
+ }
2571
+ @media (forced-colors: active) {
2572
+ .flood-root[data-flood-motion="reduce"] .flood-indicator[data-indeterminate="true"] .flood-indicator__fill {
2573
+ background: Highlight;
2574
+ }
2575
+ }