fokus-styles 2.0.0 → 2.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (131) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/README.md +4 -3
  3. package/dist/css/components.css +510 -2
  4. package/dist/css/components.css.map +1 -1
  5. package/dist/css/components.min.css +1 -1
  6. package/dist/css/components.min.css.map +1 -1
  7. package/dist/css/fokus-components.css +4050 -0
  8. package/dist/css/fokus-components.css.map +1 -0
  9. package/dist/css/fokus-components.min.css +2 -0
  10. package/dist/css/fokus-components.min.css.map +1 -0
  11. package/dist/css/fokus-core.css +1563 -0
  12. package/dist/css/fokus-core.css.map +1 -0
  13. package/dist/css/fokus-core.min.css +2 -0
  14. package/dist/css/fokus-core.min.css.map +1 -0
  15. package/dist/css/fokus-dark.css +304 -0
  16. package/dist/css/fokus-dark.css.map +1 -0
  17. package/dist/css/fokus-dark.min.css +2 -0
  18. package/dist/css/fokus-dark.min.css.map +1 -0
  19. package/dist/css/fokus-utilities.css +4176 -0
  20. package/dist/css/fokus-utilities.css.map +1 -0
  21. package/dist/css/fokus-utilities.min.css +2 -0
  22. package/dist/css/fokus-utilities.min.css.map +1 -0
  23. package/dist/css/fokus.css +1339 -53
  24. package/dist/css/fokus.css.map +1 -1
  25. package/dist/css/fokus.min.css +1 -1
  26. package/dist/css/fokus.min.css.map +1 -1
  27. package/dist/css/forms.css +115 -2
  28. package/dist/css/forms.css.map +1 -1
  29. package/dist/css/forms.min.css +1 -1
  30. package/dist/css/forms.min.css.map +1 -1
  31. package/dist/css/helpers.css +376 -2
  32. package/dist/css/helpers.css.map +1 -1
  33. package/dist/css/helpers.min.css +1 -1
  34. package/dist/css/helpers.min.css.map +1 -1
  35. package/dist/css/layout.css +560 -2
  36. package/dist/css/layout.css.map +1 -1
  37. package/dist/css/layout.min.css +1 -1
  38. package/dist/css/layout.min.css.map +1 -1
  39. package/dist/js/fokus.js +347 -12
  40. package/dist/js/fokus.js.map +4 -4
  41. package/dist/js/fokus.min.js +17 -17
  42. package/dist/js/fokus.min.js.map +4 -4
  43. package/docs/components/accordion.md +3 -0
  44. package/docs/components/avatar.md +13 -0
  45. package/docs/components/button-group.md +13 -0
  46. package/docs/components/close-button.md +13 -0
  47. package/docs/components/code.md +13 -0
  48. package/docs/components/icon-link.md +13 -0
  49. package/docs/components/list-group.md +13 -0
  50. package/docs/components/modal.md +3 -0
  51. package/docs/components/navbar.md +3 -0
  52. package/docs/components/pagination.md +3 -0
  53. package/docs/components/placeholder.md +13 -0
  54. package/docs/components/ratio.md +13 -0
  55. package/docs/components/scrollspy.md +13 -0
  56. package/docs/components/skeleton.md +3 -0
  57. package/docs/components/table.md +3 -0
  58. package/docs/guides/javascript-api.md +9 -0
  59. package/docs/guides/utility-api.md +9 -0
  60. package/docs/reference/size-baseline.json +13 -13
  61. package/mockup/assets/example-theme.css +3 -1
  62. package/mockup/assets/example-theme.js +2 -0
  63. package/mockup/assets/showcase-contracts.js +2 -2
  64. package/mockup/assets/showcase.css +4 -2
  65. package/mockup/assets/showcase.js +2 -0
  66. package/mockup/examples/js-foundation.html +25 -0
  67. package/mockup/examples/tables-navbar.html +12 -8
  68. package/mockup/examples/theming.html +2 -1
  69. package/mockup/foundations.html +2 -2
  70. package/package.json +14 -1
  71. package/packages/fokus-cli/bin/fokus.mjs +18 -1
  72. package/packages/fokus-cli/lib/build.mjs +12 -2
  73. package/packages/fokus-components/scss/components/_accordion.scss +19 -0
  74. package/packages/fokus-components/scss/components/_avatar.scss +22 -0
  75. package/packages/fokus-components/scss/components/_button-group.scss +14 -0
  76. package/packages/fokus-components/scss/components/_close-button.scss +22 -0
  77. package/packages/fokus-components/scss/components/_code.scss +19 -0
  78. package/packages/fokus-components/scss/components/_icon-link.scss +8 -0
  79. package/packages/fokus-components/scss/components/_index.scss +10 -0
  80. package/packages/fokus-components/scss/components/_list-group.scss +26 -0
  81. package/packages/fokus-components/scss/components/_modal.scss +36 -0
  82. package/packages/fokus-components/scss/components/_navbar.scss +48 -0
  83. package/packages/fokus-components/scss/components/_offcanvas.scss +19 -0
  84. package/packages/fokus-components/scss/components/_pagination.scss +10 -0
  85. package/packages/fokus-components/scss/components/_placeholder.scss +13 -0
  86. package/packages/fokus-components/scss/components/_progress.scss +8 -0
  87. package/packages/fokus-components/scss/components/_ratio.scss +10 -0
  88. package/packages/fokus-components/scss/components/_scrollspy.scss +5 -0
  89. package/packages/fokus-components/scss/components/_skeleton.scss +19 -0
  90. package/packages/fokus-components/scss/components/_spinner.scss +9 -53
  91. package/packages/fokus-components/scss/components/_tables.scss +20 -0
  92. package/packages/fokus-components/scss/forms/_forms.scss +29 -0
  93. package/packages/fokus-core/scss/base/_accessibility.scss +45 -0
  94. package/packages/fokus-core/scss/base/_index.scss +1 -0
  95. package/packages/fokus-core/scss/layout/_grid.scss +18 -0
  96. package/packages/fokus-core/scss/settings/_config.scss +43 -0
  97. package/packages/fokus-core/scss/settings/_index.scss +1 -0
  98. package/packages/fokus-core/scss/themes/_dark.scss +38 -2
  99. package/packages/fokus-core/scss/tokens/_root.scss +14 -0
  100. package/packages/fokus-core/scss/tools/_mixins.scss +8 -0
  101. package/packages/fokus-js/js/accordion.js +7 -1
  102. package/packages/fokus-js/js/core/focus.js +20 -0
  103. package/packages/fokus-js/js/core/overlay.d.ts +2 -0
  104. package/packages/fokus-js/js/core/overlay.js +10 -0
  105. package/packages/fokus-js/js/core/register.js +4 -2
  106. package/packages/fokus-js/js/focus-trap.d.ts +3 -0
  107. package/packages/fokus-js/js/focus-trap.js +1 -0
  108. package/packages/fokus-js/js/fokus.d.ts +7 -0
  109. package/packages/fokus-js/js/fokus.js +7 -0
  110. package/packages/fokus-js/js/form-validation.d.ts +7 -0
  111. package/packages/fokus-js/js/form-validation.js +20 -0
  112. package/packages/fokus-js/js/modal.js +16 -2
  113. package/packages/fokus-js/js/navbar.d.ts +10 -0
  114. package/packages/fokus-js/js/navbar.js +27 -0
  115. package/packages/fokus-js/js/offcanvas.d.ts +4 -0
  116. package/packages/fokus-js/js/offcanvas.js +16 -2
  117. package/packages/fokus-js/js/pagination.d.ts +7 -0
  118. package/packages/fokus-js/js/pagination.js +38 -0
  119. package/packages/fokus-js/js/scrollspy.d.ts +7 -0
  120. package/packages/fokus-js/js/scrollspy.js +26 -0
  121. package/packages/fokus-js/js/spinner.d.ts +9 -0
  122. package/packages/fokus-js/js/spinner.js +18 -0
  123. package/packages/fokus-js/js/theme.d.ts +9 -0
  124. package/packages/fokus-js/js/theme.js +19 -0
  125. package/packages/fokus-js/js/toast.js +4 -0
  126. package/packages/fokus-utilities/scss/utilities/_api.scss +48 -0
  127. package/packages/fokus-utilities/scss/utilities/_index.scss +2 -0
  128. package/packages/fokus-utilities/scss/utilities/_states.scss +19 -0
  129. package/packages/fokus-utilities/scss/utilities/_visibility.scss +24 -0
  130. package/scss/entries/core-entry.scss +5 -0
  131. package/scss/entries/dark-entry.scss +3 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/components/_datatable.scss","../../scss/fokus.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-core/scss/tokens/_root.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-core/scss/tokens/_semantic.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-core/scss/tokens/_charts.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-core/scss/base/_reset.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-core/scss/base/_typography.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-core/scss/base/_motion.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-core/scss/layout/_cluster.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-core/scss/layout/_containers.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-core/scss/tools/_mixins.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-core/scss/layout/_grid.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-core/scss/layout/_sidebar.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-core/scss/layout/_stack.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/forms/_forms.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-core/scss/settings/_typography.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/forms/_check-radio-switch.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/forms/_range.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/forms/_file-upload-advanced.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/components/_buttons.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/components/_cards.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/components/_alerts.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/components/_badges.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/components/_tables.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/components/_navbar.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/components/_combobox.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/components/_datepicker.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/components/_command-palette.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/components/_tree-view.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/components/_dropdown.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/components/_modal.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/components/_alert-dialog.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/components/_divider.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/components/_empty-state.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/components/_rating.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/components/_tag.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/components/_offcanvas.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/components/_accordion.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/components/_tabs.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/components/_tooltips.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/components/_popover.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/components/_toasts.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/components/_pagination.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/components/_breadcrumbs.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/components/_spinner.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/components/_carousel.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/components/_stepper.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/components/_segmented-control.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/components/_skeleton.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/components/_timeline.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/components/_collapse.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/components/_notification-center.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/components/_nested-menu.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/components/_tile.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-utilities/scss/utilities/_container-queries.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-utilities/scss/utilities/_display.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-utilities/scss/utilities/_flex.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-utilities/scss/utilities/_icon.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-utilities/scss/utilities/_position.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-utilities/scss/utilities/_print.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-utilities/scss/utilities/_shadow.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-utilities/scss/utilities/_spacing.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-core/scss/settings/_spacing.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-utilities/scss/utilities/_typography.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-utilities/scss/utilities/_visibility.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-core/scss/themes/_brands.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-core/scss/themes/_dark.scss"],"names":[],"mappings":"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I,aACE,aAAA,CACA,SVqbN,CUvbI,aACE,aAAA,CACA,oBVybN,CU3bI,aACE,aAAA,CACA,oBV6bN,CU/bI,aACE,aAAA,CACA,SVicN,CUncI,cACE,aAAA,CACA,oBVqcN,CUvcI,cACE,aAAA,CACA,oBVycN,CU3cI,cACE,aAAA,CACA,UV6cN,CACF,CS5eE,0BCkBE,WACE,WV6dJ,CU1dE,gBACE,aAAA,CACA,UV4dJ,CUxdI,aACE,aAAA,CACA,mBV0dN,CU5dI,aACE,aAAA,CACA,oBV8dN,CUheI,aACE,aAAA,CACA,SVkeN,CUpeI,aACE,aAAA,CACA,oBVseN,CUxeI,aACE,aAAA,CACA,oBV0eN,CU5eI,aACE,aAAA,CACA,SV8eN,CUhfI,aACE,aAAA,CACA,oBVkfN,CUpfI,aACE,aAAA,CACA,oBVsfN,CUxfI,aACE,aAAA,CACA,SV0fN,CU5fI,cACE,aAAA,CACA,oBV8fN,CUhgBI,cACE,aAAA,CACA,oBVkgBN,CUpgBI,cACE,aAAA,CACA,UVsgBN,CACF,CSriBE,0BCkBE,WACE,WVshBJ,CUnhBE,gBACE,aAAA,CACA,UVqhBJ,CUjhBI,aACE,aAAA,CACA,mBVmhBN,CUrhBI,aACE,aAAA,CACA,oBVuhBN,CUzhBI,aACE,aAAA,CACA,SV2hBN,CU7hBI,aACE,aAAA,CACA,oBV+hBN,CUjiBI,aACE,aAAA,CACA,oBVmiBN,CUriBI,aACE,aAAA,CACA,SVuiBN,CUziBI,aACE,aAAA,CACA,oBV2iBN,CU7iBI,aACE,aAAA,CACA,oBV+iBN,CUjjBI,aACE,aAAA,CACA,SVmjBN,CUrjBI,cACE,aAAA,CACA,oBVujBN,CUzjBI,cACE,aAAA,CACA,oBV2jBN,CU7jBI,cACE,aAAA,CACA,UV+jBN,CACF,CS9lBE,0BCkBE,YACE,WV+kBJ,CU5kBE,iBACE,aAAA,CACA,UV8kBJ,CU1kBI,cACE,aAAA,CACA,mBV4kBN,CU9kBI,cACE,aAAA,CACA,oBVglBN,CUllBI,cACE,aAAA,CACA,SVolBN,CUtlBI,cACE,aAAA,CACA,oBVwlBN,CU1lBI,cACE,aAAA,CACA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pD28IF,CoDt8IA,iCARE,QAAA,C3CFF,eAAA,CACA,sBAAA,CACA,kBTs9IA,CoD98IA,kBAEE,2BAAA,CACA,gBpD28IF,CoDt8IA,iBACE,YAAA,CACA,aAAA,CACA,kBAAA,CACA,OpDw8IF,CoDl8IA,wBACE,cpDo8IF,CoDj8IA,yCACE,eAAA,CACA,wBAAA,CACA,cpDm8IF,CoD97IA,mBACE,oEpDg8IF,CoD77IA,yDAEE,oCAAA,CACA,8BpD+7IF,CoD57IA,YACE,OAAA,CACA,WpD87IF,CoD37IA,0BACE,UAAA,CACA,WAAA,CACA,kBpD67IF,CoD17IA,2BACE,gBpD47IF,CoDz7IA,8BACE,kBpD27IF,CoDx7IA,YACE,QAAA,CACA,YpD07IF,CoDv7IA,0BACE,UAAA,CACA,WAAA,CACA,iBpDy7IF,CoDt7IA,2BACE,cpDw7IF,CA1PF,CiD/yIA,kBjDozIA,CkD9yIA,kBlD06IA,CmD16IA,kBnDs8IA,CoDz8IA,kBpDuiJA,CqDziJA,iBAGE,SACE,0BrDyiJF,CqDriJE,8BACE,mBACE,YrDuiJJ,CqDpiJE,oBACE,arDsiJJ,CqDniJE,2BACE,oBrDqiJJ,CqDliJE,mBACE,YrDoiJJ,CACF,CqDnjJE,8BACE,mBACE,YrDqjJJ,CqDljJE,oBACE,arDojJJ,CqDjjJE,2BACE,oBrDmjJJ,CqDhjJE,mBACE,YrDkjJJ,CACF,CqDjkJE,8BACE,mBACE,YrDmkJJ,CqDhkJE,oBACE,arDkkJJ,CqD/jJE,2BACE,oBrDikJJ,CqD9jJE,mBACE,YrDgkJJ,CACF,CACF,CsD9lJA,iBACE,aACE,YtDgmJF,CsD7lJA,cACE,atD+lJF,CsD5lJA,eACE,ctD8lJF,CsD3lJA,qBACE,oBtD6lJF,CsD1lJA,aACE,YtD4lJF,CuDtmJI,wBACE,sBvD0mJN,CuDvmJI,yBACE,kBvDymJN,CuDtmJI,sBACE,oBvDwmJN,CuDrmJI,4BACE,0BvDumJN,CuDpmJI,6BACE,sBvDsmJN,CuDnmJI,0BACE,wBvDqmJN,CuDlmJI,6BACE,4BvDomJN,CuDjmJI,8BACE,6BvDmmJN,CuDhmJI,uBACE,qBvDkmJN,CuD/lJI,wBACE,iBvDimJN,CuD9lJI,qBACE,mBvDgmJN,CAlCF,CuD5mJA,iB9CYI,yB8CPE,2BACE,sBvD4oJJ,CuDzoJE,4BACE,kBvD2oJJ,CuDxoJE,yBACE,oBvD0oJJ,CuDvoJE,+BACE,0BvDyoJJ,CuDtoJE,gCACE,sBvDwoJJ,CuDroJE,6BACE,wBvDuoJJ,CuDpoJE,gCACE,4BvDsoJJ,CuDnoJE,iCACE,6BvDqoJJ,CuDloJE,0BACE,qBvDooJJ,CuDjoJE,2BACE,iBvDmoJJ,CuDhoJE,wBACE,mBvDkoJJ,CACF,CSrqJE,yB8CPE,2BACE,sBvD+qJJ,CuD5qJE,4BACE,kBvD8qJJ,CuD3qJE,yBACE,oBvD6qJJ,CuD1qJE,+BACE,0BvD4qJJ,CuDzqJE,gCACE,sBvD2qJJ,CuDxqJE,6BACE,wBvD0qJJ,CuDvqJE,gCACE,4BvDyqJJ,CuDtqJE,iCACE,6BvDwqJJ,CuDrqJE,0BACE,qBvDuqJJ,CuDpqJE,2BACE,iBvDsqJJ,CuDnqJE,wBACE,mBvDqqJJ,CACF,CSxsJE,0B8CPE,2BACE,sBvDktJJ,CuD/sJE,4BACE,kBvDitJJ,CuD9sJE,yBACE,oBvDgtJJ,CuD7sJE,+BACE,0BvD+sJJ,CuD5sJE,gCACE,sBvD8sJJ,CuD3sJE,6BACE,wBvD6sJJ,CuD1sJE,gCACE,4BvD4sJJ,CuDzsJE,iCACE,6BvD2sJJ,CuDxsJE,0BACE,qBvD0sJJ,CuDvsJE,2BACE,iBvDysJJ,CuDtsJE,wBACE,mBvDwsJJ,CACF,CS3uJE,0B8CPE,2BACE,sBvDqvJJ,CuDlvJE,4BACE,kBvDovJJ,CuDjvJE,yBACE,oBvDmvJJ,CuDhvJE,+BACE,0BvDkvJJ,CuD/uJE,gCACE,sBvDivJJ,CuD9uJE,6BACE,wBvDgvJJ,CuD7uJE,gCACE,4BvD+uJJ,CuD5uJE,iCACE,6BvD8uJJ,CuD3uJE,0BACE,qBvD6uJJ,CuD1uJE,2BACE,iBvD4uJJ,CuDzuJE,wBACE,mBvD2uJJ,CACF,CS9wJE,0B8CPE,4BACE,sBvDwxJJ,CuDrxJE,6BACE,kBvDuxJJ,CuDpxJE,0BACE,oBvDsxJJ,CuDnxJE,gCACE,0BvDqxJJ,CuDlxJE,iCACE,sBvDoxJJ,CuDjxJE,8BACE,wBvDmxJJ,CuDhxJE,iCACE,4BvDkxJJ,CuD/wJE,kCACE,6BvDixJJ,CuD9wJE,2BACE,qBvDgxJJ,CuD7wJE,4BACE,iBvD+wJJ,CuD5wJE,yBACE,mBvD8wJJ,CACF,CSjzJE,0B8CPE,6BACE,sBvD2zJJ,CuDxzJE,8BACE,kBvD0zJJ,CuDvzJE,2BACE,oBvDyzJJ,CuDtzJE,iCACE,0BvDwzJJ,CuDrzJE,kCACE,sBvDuzJJ,CuDpzJE,+BACE,wBvDszJJ,CuDnzJE,kCACE,4BvDqzJJ,CuDlzJE,mCACE,6BvDozJJ,CuDjzJE,4BACE,qBvDmzJJ,CuDhzJE,6BACE,iBvDkzJJ,CuD/yJE,0BACE,mBvDizJJ,CACF,CACF,CwD31JA,iBACE,SACE,oBAAA,CACA,aAAA,CACA,SAAA,CACA,UAAA,CACA,sBAAA,CACA,mBxD61JF,CwD11JA,YACE,UAAA,CACA,WxD41JF,CwDz1JA,YACE,UAAA,CACA,WxD21JF,CwDx1JA,YACE,UAAA,CACA,WxD01JF,CwDv1JA,YACE,UAAA,CACA,WxDy1JF,CyDz3JA,iBACE,eAAA,CACA,0BAAA,CACA,YzD63JF,CyD13JA,oBACE,eAAA,CACA,gCAAA,CACA,YzD43JF,CAXF,CyD33JA,iBzDu4JA,C0D14JA,iBACE,aACE,iBACE,sB1D44JF,CACF,C0Dz4JA,iBACE,iBACE,sB1D24JF,CACF,C0Dx4JA,aACE,kBACE,uB1D04JF,C0Dv4JA,mBACE,wB1Dy4JF,C0Dt4JA,yBACE,8B1Dw4JF,CACF,CACF,C2Dj6JA,iBACE,gBACE,8B3Dm6JF,C2Dh6JA,aACE,8B3Dk6JF,C2D/5JA,gBACE,8B3Di6JF,C4Dl6JM,UACE,Q5Ds6JR,C4Dn6JM,WACE,Y5Dq6JR,C4Dl6JM,WACE,c5Do6JR,C4Dj6JM,WACE,e5Dm6JR,C4D55JM,sBAHE,a5Ds6JR,C4Dn6JM,WACE,c5Dk6JR,C4D95JM,WACE,YCnCA,CDoCA,e5Dg6JR,C4D75JM,UACE,S5D+5JR,C4D55JM,WACE,a5D85JR,C4D35JM,WACE,e5D65JR,C4D15JM,WACE,gB5D45JR,C4Dr5JM,sBAHE,c5D+5JR,C4D55JM,WACE,e5D25JR,C4Dv5JM,WACE,aCjEA,CDkEA,gB5Dy5JR,C4Dr5JM,UACE,eAAA,CACA,e5Du5JR,C4Dp5JM,WACE,e5Ds5JR,C4Dn5JM,WACE,e5Dq5JR,C4Dj5JM,YACE,K5Dm5JR,C4Dh5JM,cACE,Y5Dk5JR,C4D/4JM,cACE,S5Di5JR,C4Dr+JM,UACE,a5Du+JR,C4Dp+JM,WACE,iB5Ds+JR,C4Dn+JM,WACE,mB5Dq+JR,C4Dl+JM,WACE,oB5Do+JR,C4D79JM,sBAHE,kB5Du+JR,C4Dp+JM,WACE,mB5Dm+JR,C4D/9JM,WACE,iBCnCA,CDoCA,oB5Di+JR,C4D99JM,UACE,c5Dg+JR,C4D79JM,WACE,kB5D+9JR,C4D59JM,WACE,oB5D89JR,C4D39JM,WACE,qB5D69JR,C4Dt9JM,sBAHE,mB5Dg+JR,C4D79JM,WACE,oB5D49JR,C4Dx9JM,WACE,kBCjEA,CDkEA,qB5D09JR,C4Dt9JM,UACE,qBAAA,CACA,qB5Dw9JR,C4Dr9JM,WACE,qB5Du9JR,C4Dp9JM,WACE,qB5Ds9JR,C4Dl9JM,YACE,U5Do9JR,C4Dj9JM,cACE,iB5Dm9JR,C4Dh9JM,cACE,c5Dk9JR,C4DtiKM,UACE,Y5DwiKR,C4DriKM,WACE,gB5DuiKR,C4DpiKM,WACE,kB5DsiKR,C4DniKM,WACE,mB5DqiKR,C4D9hKM,sBAHE,iB5DwiKR,C4DriKM,WACE,kB5DoiKR,C4DhiKM,WACE,gBCnCA,CDoCA,mB5DkiKR,C4D/hKM,UACE,a5DiiKR,C4D9hKM,WACE,iB5DgiKR,C4D7hKM,WACE,mB5D+hKR,C4D5hKM,WACE,oB5D8hKR,C4DvhKM,sBAHE,kB5DiiKR,C4D9hKM,WACE,mB5D6hKR,C4DzhKM,WACE,iBCjEA,CDkEA,oB5D2hKR,C4DvhKM,UACE,oBAAA,CACA,oB5DyhKR,C4DthKM,WACE,oB5DwhKR,C4DrhKM,WACE,oB5DuhKR,C4DnhKM,YACE,S5DqhKR,C4DlhKM,cACE,gB5DohKR,C4DjhKM,cACE,a5DmhKR,C4DvmKM,UACE,W5DymKR,C4DtmKM,WACE,e5DwmKR,C4DrmKM,WACE,iB5DumKR,C4DpmKM,WACE,kB5DsmKR,C4D/lKM,sBAHE,gB5DymKR,C4DtmKM,WACE,iB5DqmKR,C4DjmKM,WACE,eCnCA,CDoCA,kB5DmmKR,C4DhmKM,UACE,Y5DkmKR,C4D/lKM,WACE,gB5DimKR,C4D9lKM,WACE,kB5DgmKR,C4D7lKM,WACE,mB5D+lKR,C4DxlKM,sBAHE,iB5DkmKR,C4D/lKM,WACE,kB5D8lKR,C4D1lKM,WACE,gBCjEA,CDkEA,mB5D4lKR,C4DxlKM,UACE,kBAAA,CACA,kB5D0lKR,C4DvlKM,WACE,kB5DylKR,C4DtlKM,WACE,kB5DwlKR,C4DplKM,YACE,Q5DslKR,C4DnlKM,cACE,e5DqlKR,C4DllKM,cACE,Y5DolKR,C4DxqKM,UACE,a5D0qKR,C4DvqKM,WACE,iB5DyqKR,C4DtqKM,WACE,mB5DwqKR,C4DrqKM,WACE,oB5DuqKR,C4DhqKM,sBAHE,kB5D0qKR,C4DvqKM,WACE,mB5DsqKR,C4DlqKM,WACE,iBCnCA,CDoCA,oB5DoqKR,C4DjqKM,UACE,c5DmqKR,C4DhqKM,WACE,kB5DkqKR,C4D/pKM,WACE,oB5DiqKR,C4D9pKM,WACE,qB5DgqKR,C4DzpKM,sBAHE,mB5DmqKR,C4DhqKM,WACE,oB5D+pKR,C4D3pKM,WACE,kBCjEA,CDkEA,qB5D6pKR,C4DzpKM,UACE,oBAAA,CACA,oB5D2pKR,C4DxpKM,WACE,oB5D0pKR,C4DvpKM,WACE,oB5DypKR,C4DrpKM,YACE,U5DupKR,C4DppKM,cACE,iB5DspKR,C4DnpKM,cACE,c5DqpKR,C4DzuKM,UACE,W5D2uKR,C4DxuKM,WACE,e5D0uKR,C4DvuKM,WACE,iB5DyuKR,C4DtuKM,WACE,kB5DwuKR,C4DjuKM,sBAHE,gB5D2uKR,C4DxuKM,WACE,iB5DuuKR,C4DnuKM,WACE,eCnCA,CDoCA,kB5DquKR,C4DluKM,UACE,Y5DouKR,C4DjuKM,WACE,gB5DmuKR,C4DhuKM,WACE,kB5DkuKR,C4D/tKM,WACE,mB5DiuKR,C4D1tKM,sBAHE,iB5DouKR,C4DjuKM,WACE,kB5DguKR,C4D5tKM,WACE,gBCjEA,CDkEA,mB5D8tKR,C4D1tKM,UACE,kBAAA,CACA,kB5D4tKR,C4DztKM,WACE,kB5D2tKR,C4DxtKM,WACE,kB5D0tKR,C4DttKM,YACE,Q5DwtKR,C4DrtKM,cACE,e5DutKR,C4DptKM,cACE,Y5DstKR,C4DltKI,aACE,W5DotKN,C4DjtKI,cACE,e5DmtKN,C4DhtKI,cACE,iB5DktKN,C4D/sKI,cACE,kB5DitKN,C4D1sKI,4BAHE,gB5DotKN,C4DjtKI,cACE,iB5DgtKN,C4D5sKI,cACE,eAAA,CACA,kB5D8sKN,CA9ZF,C4Dz6JA,iBnDYI,yBmDNI,aACE,Q5Do0KN,C4Dj0KI,cACE,Y5Dm0KN,C4Dh0KI,cACE,c5Dk0KN,C4D/zKI,cACE,e5Di0KN,C4D9zKI,cACE,a5Dg0KN,C4D7zKI,cACE,cC9BA,CD+BA,a5D+zKN,C4D5zKI,cACE,YCnCA,CDoCA,e5D8zKN,C4D3zKI,aACE,S5D6zKN,C4D1zKI,cACE,a5D4zKN,C4DzzKI,cACE,e5D2zKN,C4DxzKI,cACE,gB5D0zKN,C4DnzKI,4BAHE,c5D6zKN,C4D1zKI,cACE,e5DyzKN,C4DrzKI,cACE,aCjEA,CDkEA,gB5DuzKN,C4DnzKI,aACE,eAAA,CACA,e5DqzKN,C4DlzKI,cACE,e5DozKN,C4DjzKI,cACE,e5DmzKN,C4D/yKI,eACE,K5DizKN,C4D9yKI,iBACE,Y5DgzKN,C4D7yKI,iBACE,S5D+yKN,C4Dn4KI,aACE,a5Dq4KN,C4Dl4KI,cACE,iB5Do4KN,C4Dj4KI,cACE,mB5Dm4KN,C4Dh4KI,cACE,oB5Dk4KN,C4D33KI,4BAHE,kB5Dq4KN,C4Dl4KI,cACE,mB5Di4KN,C4D73KI,cACE,iBCnCA,CDoCA,oB5D+3KN,C4D53KI,aACE,c5D83KN,C4D33KI,cACE,kB5D63KN,C4D13KI,cACE,oB5D43KN,C4Dz3KI,cACE,qB5D23KN,C4Dp3KI,4BAHE,mB5D83KN,C4D33KI,cACE,oB5D03KN,C4Dt3KI,cACE,kBCjEA,CDkEA,qB5Dw3KN,C4Dp3KI,aACE,qBAAA,CACA,qB5Ds3KN,C4Dn3KI,cACE,qB5Dq3KN,C4Dl3KI,cACE,qB5Do3KN,C4Dh3KI,eACE,U5Dk3KN,C4D/2KI,iBACE,iB5Di3KN,C4D92KI,iBACE,c5Dg3KN,C4Dp8KI,aACE,Y5Ds8KN,C4Dn8KI,cACE,gB5Dq8KN,C4Dl8KI,cACE,kB5Do8KN,C4Dj8KI,cACE,mB5Dm8KN,C4D57KI,4BAHE,iB5Ds8KN,C4Dn8KI,cACE,kB5Dk8KN,C4D97KI,cACE,gBCnCA,CDoCA,mB5Dg8KN,C4D77KI,aACE,a5D+7KN,C4D57KI,cACE,iB5D87KN,C4D37KI,cACE,mB5D67KN,C4D17KI,cACE,oB5D47KN,C4Dr7KI,4BAHE,kB5D+7KN,C4D57KI,cACE,mB5D27KN,C4Dv7KI,cACE,iBCjEA,CDkEA,oB5Dy7KN,C4Dr7KI,aACE,oBAAA,CACA,oB5Du7KN,C4Dp7KI,cACE,oB5Ds7KN,C4Dn7KI,cACE,oB5Dq7KN,C4Dj7KI,eACE,S5Dm7KN,C4Dh7KI,iBACE,gB5Dk7KN,C4D/6KI,iBACE,a5Di7KN,C4DrgLI,aACE,W5DugLN,C4DpgLI,cACE,e5DsgLN,C4DngLI,cACE,iB5DqgLN,C4DlgLI,cACE,kB5DogLN,C4D7/KI,4BAHE,gB5DugLN,C4DpgLI,cACE,iB5DmgLN,C4D//KI,cACE,eCnCA,CDoCA,kB5DigLN,C4D9/KI,aACE,Y5DggLN,C4D7/KI,cACE,gB5D+/KN,C4D5/KI,cACE,kB5D8/KN,C4D3/KI,cACE,mB5D6/KN,C4Dt/KI,4BAHE,iB5DggLN,C4D7/KI,cACE,kB5D4/KN,C4Dx/KI,cACE,gBCjEA,CDkEA,mB5D0/KN,C4Dt/KI,aACE,kBAAA,CACA,kB5Dw/KN,C4Dr/KI,cACE,kB5Du/KN,C4Dp/KI,cACE,kB5Ds/KN,C4Dl/KI,eACE,Q5Do/KN,C4Dj/KI,iBACE,e5Dm/KN,C4Dh/KI,iBACE,Y5Dk/KN,C4DtkLI,aACE,a5DwkLN,C4DrkLI,cACE,iB5DukLN,C4DpkLI,cACE,mB5DskLN,C4DnkLI,cACE,oB5DqkLN,C4D9jLI,4BAHE,kB5DwkLN,C4DrkLI,cACE,mB5DokLN,C4DhkLI,cACE,iBCnCA,CDoCA,oB5DkkLN,C4D/jLI,aACE,c5DikLN,C4D9jLI,cACE,kB5DgkLN,C4D7jLI,cACE,oB5D+jLN,C4D5jLI,cACE,qB5D8jLN,C4DvjLI,4BAHE,mB5DikLN,C4D9jLI,cACE,oB5D6jLN,C4DzjLI,cACE,kBCjEA,CDkEA,qB5D2jLN,C4DvjLI,aACE,oBAAA,CACA,oB5DyjLN,C4DtjLI,cACE,oB5DwjLN,C4DrjLI,cACE,oB5DujLN,C4DnjLI,eACE,U5DqjLN,C4DljLI,iBACE,iB5DojLN,C4DjjLI,iBACE,c5DmjLN,C4DvoLI,aACE,W5DyoLN,C4DtoLI,cACE,e5DwoLN,C4DroLI,cACE,iB5DuoLN,C4DpoLI,cACE,kB5DsoLN,C4D/nLI,4BAHE,gB5DyoLN,C4DtoLI,cACE,iB5DqoLN,C4DjoLI,cACE,eCnCA,CDoCA,kB5DmoLN,C4DhoLI,aACE,Y5DkoLN,C4D/nLI,cACE,gB5DioLN,C4D9nLI,cACE,kB5DgoLN,C4D7nLI,cACE,mB5D+nLN,C4DxnLI,4BAHE,iB5DkoLN,C4D/nLI,cACE,kB5D8nLN,C4D1nLI,cACE,gBCjEA,CDkEA,mB5D4nLN,C4DxnLI,aACE,kBAAA,CACA,kB5D0nLN,C4DvnLI,cACE,kB5DynLN,C4DtnLI,cACE,kB5DwnLN,C4DpnLI,eACE,Q5DsnLN,C4DnnLI,iBACE,e5DqnLN,C4DlnLI,iBACE,Y5DonLN,C4DhnLE,gBACE,W5DknLJ,C4D/mLE,iBACE,e5DinLJ,C4D9mLE,iBACE,iB5DgnLJ,C4D7mLE,iBACE,kB5D+mLJ,C4D5mLE,iBACE,gB5D8mLJ,C4D3mLE,iBACE,iBAAA,CACA,gB5D6mLJ,C4D1mLE,iBACE,eAAA,CACA,kB5D4mLJ,CACF,CS1tLE,yBmDNI,aACE,Q5DmuLN,C4DhuLI,cACE,Y5DkuLN,C4D/tLI,cACE,c5DiuLN,C4D9tLI,cACE,e5DguLN,C4D7tLI,cACE,a5D+tLN,C4D5tLI,cACE,cC9BA,CD+BA,a5D8tLN,C4D3tLI,cACE,YCnCA,CDoCA,e5D6tLN,C4D1tLI,aACE,S5D4tLN,C4DztLI,cACE,a5D2tLN,C4DxtLI,cACE,e5D0tLN,C4DvtLI,cACE,gB5DytLN,C4DltLI,4BAHE,c5D4tLN,C4DztLI,cACE,e5DwtLN,C4DptLI,cACE,aCjEA,CDkEA,gB5DstLN,C4DltLI,aACE,eAAA,CACA,e5DotLN,C4DjtLI,cACE,e5DmtLN,C4DhtLI,cACE,e5DktLN,C4D9sLI,eACE,K5DgtLN,C4D7sLI,iBACE,Y5D+sLN,C4D5sLI,iBACE,S5D8sLN,C4DlyLI,aACE,a5DoyLN,C4DjyLI,cACE,iB5DmyLN,C4DhyLI,cACE,mB5DkyLN,C4D/xLI,cACE,oB5DiyLN,C4D1xLI,4BAHE,kB5DoyLN,C4DjyLI,cACE,mB5DgyLN,C4D5xLI,cACE,iBCnCA,CDoCA,oB5D8xLN,C4D3xLI,aACE,c5D6xLN,C4D1xLI,cACE,kB5D4xLN,C4DzxLI,cACE,oB5D2xLN,C4DxxLI,cACE,qB5D0xLN,C4DnxLI,4BAHE,mB5D6xLN,C4D1xLI,cACE,oB5DyxLN,C4DrxLI,cACE,kBCjEA,CDkEA,qB5DuxLN,C4DnxLI,aACE,qBAAA,CACA,qB5DqxLN,C4DlxLI,cACE,qB5DoxLN,C4DjxLI,cACE,qB5DmxLN,C4D/wLI,eACE,U5DixLN,C4D9wLI,iBACE,iB5DgxLN,C4D7wLI,iBACE,c5D+wLN,C4Dn2LI,aACE,Y5Dq2LN,C4Dl2LI,cACE,gB5Do2LN,C4Dj2LI,cACE,kB5Dm2LN,C4Dh2LI,cACE,mB5Dk2LN,C4D31LI,4BAHE,iB5Dq2LN,C4Dl2LI,cACE,kB5Di2LN,C4D71LI,cACE,gBCnCA,CDoCA,mB5D+1LN,C4D51LI,aACE,a5D81LN,C4D31LI,cACE,iB5D61LN,C4D11LI,cACE,mB5D41LN,C4Dz1LI,cACE,oB5D21LN,C4Dp1LI,4BAHE,kB5D81LN,C4D31LI,cACE,mB5D01LN,C4Dt1LI,cACE,iBCjEA,CDkEA,oB5Dw1LN,C4Dp1LI,aACE,oBAAA,CACA,oB5Ds1LN,C4Dn1LI,cACE,oB5Dq1LN,C4Dl1LI,cACE,oB5Do1LN,C4Dh1LI,eACE,S5Dk1LN,C4D/0LI,iBACE,gB5Di1LN,C4D90LI,iBACE,a5Dg1LN,C4Dp6LI,aACE,W5Ds6LN,C4Dn6LI,cACE,e5Dq6LN,C4Dl6LI,cACE,iB5Do6LN,C4Dj6LI,cACE,kB5Dm6LN,C4D55LI,4BAHE,gB5Ds6LN,C4Dn6LI,cACE,iB5Dk6LN,C4D95LI,cACE,eCnCA,CDoCA,kB5Dg6LN,C4D75LI,aACE,Y5D+5LN,C4D55LI,cACE,gB5D85LN,C4D35LI,cACE,kB5D65LN,C4D15LI,cACE,mB5D45LN,C4Dr5LI,4BAHE,iB5D+5LN,C4D55LI,cACE,kB5D25LN,C4Dv5LI,cACE,gBCjEA,CDkEA,mB5Dy5LN,C4Dr5LI,aACE,kBAAA,CACA,kB5Du5LN,C4Dp5LI,cACE,kB5Ds5LN,C4Dn5LI,cACE,kB5Dq5LN,C4Dj5LI,eACE,Q5Dm5LN,C4Dh5LI,iBACE,e5Dk5LN,C4D/4LI,iBACE,Y5Di5LN,C4Dr+LI,aACE,a5Du+LN,C4Dp+LI,cACE,iB5Ds+LN,C4Dn+LI,cACE,mB5Dq+LN,C4Dl+LI,cACE,oB5Do+LN,C4D79LI,4BAHE,kB5Du+LN,C4Dp+LI,cACE,mB5Dm+LN,C4D/9LI,cACE,iBCnCA,CDoCA,oB5Di+LN,C4D99LI,aACE,c5Dg+LN,C4D79LI,cACE,kB5D+9LN,C4D59LI,cACE,oB5D89LN,C4D39LI,cACE,qB5D69LN,C4Dt9LI,4BAHE,mB5Dg+LN,C4D79LI,cACE,oB5D49LN,C4Dx9LI,cACE,kBCjEA,CDkEA,qB5D09LN,C4Dt9LI,aACE,oBAAA,CACA,oB5Dw9LN,C4Dr9LI,cACE,oB5Du9LN,C4Dp9LI,cACE,oB5Ds9LN,C4Dl9LI,eACE,U5Do9LN,C4Dj9LI,iBACE,iB5Dm9LN,C4Dh9LI,iBACE,c5Dk9LN,C4DtiMI,aACE,W5DwiMN,C4DriMI,cACE,e5DuiMN,C4DpiMI,cACE,iB5DsiMN,C4DniMI,cACE,kB5DqiMN,C4D9hMI,4BAHE,gB5DwiMN,C4DriMI,cACE,iB5DoiMN,C4DhiMI,cACE,eCnCA,CDoCA,kB5DkiMN,C4D/hMI,aACE,Y5DiiMN,C4D9hMI,cACE,gB5DgiMN,C4D7hMI,cACE,kB5D+hMN,C4D5hMI,cACE,mB5D8hMN,C4DvhMI,4BAHE,iB5DiiMN,C4D9hMI,cACE,kB5D6hMN,C4DzhMI,cACE,gBCjEA,CDkEA,mB5D2hMN,C4DvhMI,aACE,kBAAA,CACA,kB5DyhMN,C4DthMI,cACE,kB5DwhMN,C4DrhMI,cACE,kB5DuhMN,C4DnhMI,eACE,Q5DqhMN,C4DlhMI,iBACE,e5DohMN,C4DjhMI,iBACE,Y5DmhMN,C4D/gME,gBACE,W5DihMJ,C4D9gME,iBACE,e5DghMJ,C4D7gME,iBACE,iB5D+gMJ,C4D5gME,iBACE,kB5D8gMJ,C4D3gME,iBACE,gB5D6gMJ,C4D1gME,iBACE,iBAAA,CACA,gB5D4gMJ,C4DzgME,iBACE,eAAA,CACA,kB5D2gMJ,CACF,CSznME,0BmDNI,aACE,Q5DkoMN,C4D/nMI,cACE,Y5DioMN,C4D9nMI,cACE,c5DgoMN,C4D7nMI,cACE,e5D+nMN,C4D5nMI,cACE,a5D8nMN,C4D3nMI,cACE,cC9BA,CD+BA,a5D6nMN,C4D1nMI,cACE,YCnCA,CDoCA,e5D4nMN,C4DznMI,aACE,S5D2nMN,C4DxnMI,cACE,a5D0nMN,C4DvnMI,cACE,e5DynMN,C4DtnMI,cACE,gB5DwnMN,C4DjnMI,4BAHE,c5D2nMN,C4DxnMI,cACE,e5DunMN,C4DnnMI,cACE,aCjEA,CDkEA,gB5DqnMN,C4DjnMI,aACE,eAAA,CACA,e5DmnMN,C4DhnMI,cACE,e5DknMN,C4D/mMI,cACE,e5DinMN,C4D7mMI,eACE,K5D+mMN,C4D5mMI,iBACE,Y5D8mMN,C4D3mMI,iBACE,S5D6mMN,C4DjsMI,aACE,a5DmsMN,C4DhsMI,cACE,iB5DksMN,C4D/rMI,cACE,mB5DisMN,C4D9rMI,cACE,oB5DgsMN,C4DzrMI,4BAHE,kB5DmsMN,C4DhsMI,cACE,mB5D+rMN,C4D3rMI,cACE,iBCnCA,CDoCA,oB5D6rMN,C4D1rMI,aACE,c5D4rMN,C4DzrMI,cACE,kB5D2rMN,C4DxrMI,cACE,oB5D0rMN,C4DvrMI,cACE,qB5DyrMN,C4DlrMI,4BAHE,mB5D4rMN,C4DzrMI,cACE,oB5DwrMN,C4DprMI,cACE,kBCjEA,CDkEA,qB5DsrMN,C4DlrMI,aACE,qBAAA,CACA,qB5DorMN,C4DjrMI,cACE,qB5DmrMN,C4DhrMI,cACE,qB5DkrMN,C4D9qMI,eACE,U5DgrMN,C4D7qMI,iBACE,iB5D+qMN,C4D5qMI,iBACE,c5D8qMN,C4DlwMI,aACE,Y5DowMN,C4DjwMI,cACE,gB5DmwMN,C4DhwMI,cACE,kB5DkwMN,C4D/vMI,cACE,mB5DiwMN,C4D1vMI,4BAHE,iB5DowMN,C4DjwMI,cACE,kB5DgwMN,C4D5vMI,cACE,gBCnCA,CDoCA,mB5D8vMN,C4D3vMI,aACE,a5D6vMN,C4D1vMI,cACE,iB5D4vMN,C4DzvMI,cACE,mB5D2vMN,C4DxvMI,cACE,oB5D0vMN,C4DnvMI,4BAHE,kB5D6vMN,C4D1vMI,cACE,mB5DyvMN,C4DrvMI,cACE,iBCjEA,CDkEA,oB5DuvMN,C4DnvMI,aACE,oBAAA,CACA,oB5DqvMN,C4DlvMI,cACE,oB5DovMN,C4DjvMI,cACE,oB5DmvMN,C4D/uMI,eACE,S5DivMN,C4D9uMI,iBACE,gB5DgvMN,C4D7uMI,iBACE,a5D+uMN,C4Dn0MI,aACE,W5Dq0MN,C4Dl0MI,cACE,e5Do0MN,C4Dj0MI,cACE,iB5Dm0MN,C4Dh0MI,cACE,kB5Dk0MN,C4D3zMI,4BAHE,gB5Dq0MN,C4Dl0MI,cACE,iB5Di0MN,C4D7zMI,cACE,eCnCA,CDoCA,kB5D+zMN,C4D5zMI,aACE,Y5D8zMN,C4D3zMI,cACE,gB5D6zMN,C4D1zMI,cACE,kB5D4zMN,C4DzzMI,cACE,mB5D2zMN,C4DpzMI,4BAHE,iB5D8zMN,C4D3zMI,cACE,kB5D0zMN,C4DtzMI,cACE,gBCjEA,CDkEA,mB5DwzMN,C4DpzMI,aACE,kBAAA,CACA,kB5DszMN,C4DnzMI,cACE,kB5DqzMN,C4DlzMI,cACE,kB5DozMN,C4DhzMI,eACE,Q5DkzMN,C4D/yMI,iBACE,e5DizMN,C4D9yMI,iBACE,Y5DgzMN,C4Dp4MI,aACE,a5Ds4MN,C4Dn4MI,cACE,iB5Dq4MN,C4Dl4MI,cACE,mB5Do4MN,C4Dj4MI,cACE,oB5Dm4MN,C4D53MI,4BAHE,kB5Ds4MN,C4Dn4MI,cACE,mB5Dk4MN,C4D93MI,cACE,iBCnCA,CDoCA,oB5Dg4MN,C4D73MI,aACE,c5D+3MN,C4D53MI,cACE,kB5D83MN,C4D33MI,cACE,oB5D63MN,C4D13MI,cACE,qB5D43MN,C4Dr3MI,4BAHE,mB5D+3MN,C4D53MI,cACE,oB5D23MN,C4Dv3MI,cACE,kBCjEA,CDkEA,qB5Dy3MN,C4Dr3MI,aACE,oBAAA,CACA,oB5Du3MN,C4Dp3MI,cACE,oB5Ds3MN,C4Dn3MI,cACE,oB5Dq3MN,C4Dj3MI,eACE,U5Dm3MN,C4Dh3MI,iBACE,iB5Dk3MN,C4D/2MI,iBACE,c5Di3MN,C4Dr8MI,aACE,W5Du8MN,C4Dp8MI,cACE,e5Ds8MN,C4Dn8MI,cACE,iB5Dq8MN,C4Dl8MI,cACE,kB5Do8MN,C4D77MI,4BAHE,gB5Du8MN,C4Dp8MI,cACE,iB5Dm8MN,C4D/7MI,cACE,eCnCA,CDoCA,kB5Di8MN,C4D97MI,aACE,Y5Dg8MN,C4D77MI,cACE,gB5D+7MN,C4D57MI,cACE,kB5D87MN,C4D37MI,cACE,mB5D67MN,C4Dt7MI,4BAHE,iB5Dg8MN,C4D77MI,cACE,kB5D47MN,C4Dx7MI,cACE,gBCjEA,CDkEA,mB5D07MN,C4Dt7MI,aACE,kBAAA,CACA,kB5Dw7MN,C4Dr7MI,cACE,kB5Du7MN,C4Dp7MI,cACE,kB5Ds7MN,C4Dl7MI,eACE,Q5Do7MN,C4Dj7MI,iBACE,e5Dm7MN,C4Dh7MI,iBACE,Y5Dk7MN,C4D96ME,gBACE,W5Dg7MJ,C4D76ME,iBACE,e5D+6MJ,C4D56ME,iBACE,iB5D86MJ,C4D36ME,iBACE,kB5D66MJ,C4D16ME,iBACE,gB5D46MJ,C4Dz6ME,iBACE,iBAAA,CACA,gB5D26MJ,C4Dx6ME,iBACE,eAAA,CACA,kB5D06MJ,CACF,CSxhNE,0BmDNI,aACE,Q5DiiNN,C4D9hNI,cACE,Y5DgiNN,C4D7hNI,cACE,c5D+hNN,C4D5hNI,cACE,e5D8hNN,C4D3hNI,cACE,a5D6hNN,C4D1hNI,cACE,cC9BA,CD+BA,a5D4hNN,C4DzhNI,cACE,YCnCA,CDoCA,e5D2hNN,C4DxhNI,aACE,S5D0hNN,C4DvhNI,cACE,a5DyhNN,C4DthNI,cACE,e5DwhNN,C4DrhNI,cACE,gB5DuhNN,C4DhhNI,4BAHE,c5D0hNN,C4DvhNI,cACE,e5DshNN,C4DlhNI,cACE,aCjEA,CDkEA,gB5DohNN,C4DhhNI,aACE,eAAA,CACA,e5DkhNN,C4D/gNI,cACE,e5DihNN,C4D9gNI,cACE,e5DghNN,C4D5gNI,eACE,K5D8gNN,C4D3gNI,iBACE,Y5D6gNN,C4D1gNI,iBACE,S5D4gNN,C4DhmNI,aACE,a5DkmNN,C4D/lNI,cACE,iB5DimNN,C4D9lNI,cACE,mB5DgmNN,C4D7lNI,cACE,oB5D+lNN,C4DxlNI,4BAHE,kB5DkmNN,C4D/lNI,cACE,mB5D8lNN,C4D1lNI,cACE,iBCnCA,CDoCA,oB5D4lNN,C4DzlNI,aACE,c5D2lNN,C4DxlNI,cACE,kB5D0lNN,C4DvlNI,cACE,oB5DylNN,C4DtlNI,cACE,qB5DwlNN,C4DjlNI,4BAHE,mB5D2lNN,C4DxlNI,cACE,oB5DulNN,C4DnlNI,cACE,kBCjEA,CDkEA,qB5DqlNN,C4DjlNI,aACE,qBAAA,CACA,qB5DmlNN,C4DhlNI,cACE,qB5DklNN,C4D/kNI,cACE,qB5DilNN,C4D7kNI,eACE,U5D+kNN,C4D5kNI,iBACE,iB5D8kNN,C4D3kNI,iBACE,c5D6kNN,C4DjqNI,aACE,Y5DmqNN,C4DhqNI,cACE,gB5DkqNN,C4D/pNI,cACE,kB5DiqNN,C4D9pNI,cACE,mB5DgqNN,C4DzpNI,4BAHE,iB5DmqNN,C4DhqNI,cACE,kB5D+pNN,C4D3pNI,cACE,gBCnCA,CDoCA,mB5D6pNN,C4D1pNI,aACE,a5D4pNN,C4DzpNI,cACE,iB5D2pNN,C4DxpNI,cACE,mB5D0pNN,C4DvpNI,cACE,oB5DypNN,C4DlpNI,4BAHE,kB5D4pNN,C4DzpNI,cACE,mB5DwpNN,C4DppNI,cACE,iBCjEA,CDkEA,oB5DspNN,C4DlpNI,aACE,oBAAA,CACA,oB5DopNN,C4DjpNI,cACE,oB5DmpNN,C4DhpNI,cACE,oB5DkpNN,C4D9oNI,eACE,S5DgpNN,C4D7oNI,iBACE,gB5D+oNN,C4D5oNI,iBACE,a5D8oNN,C4DluNI,aACE,W5DouNN,C4DjuNI,cACE,e5DmuNN,C4DhuNI,cACE,iB5DkuNN,C4D/tNI,cACE,kB5DiuNN,C4D1tNI,4BAHE,gB5DouNN,C4DjuNI,cACE,iB5DguNN,C4D5tNI,cACE,eCnCA,CDoCA,kB5D8tNN,C4D3tNI,aACE,Y5D6tNN,C4D1tNI,cACE,gB5D4tNN,C4DztNI,cACE,kB5D2tNN,C4DxtNI,cACE,mB5D0tNN,C4DntNI,4BAHE,iB5D6tNN,C4D1tNI,cACE,kB5DytNN,C4DrtNI,cACE,gBCjEA,CDkEA,mB5DutNN,C4DntNI,aACE,kBAAA,CACA,kB5DqtNN,C4DltNI,cACE,kB5DotNN,C4DjtNI,cACE,kB5DmtNN,C4D/sNI,eACE,Q5DitNN,C4D9sNI,iBACE,e5DgtNN,C4D7sNI,iBACE,Y5D+sNN,C4DnyNI,aACE,a5DqyNN,C4DlyNI,cACE,iB5DoyNN,C4DjyNI,cACE,mB5DmyNN,C4DhyNI,cACE,oB5DkyNN,C4D3xNI,4BAHE,kB5DqyNN,C4DlyNI,cACE,mB5DiyNN,C4D7xNI,cACE,iBCnCA,CDoCA,oB5D+xNN,C4D5xNI,aACE,c5D8xNN,C4D3xNI,cACE,kB5D6xNN,C4D1xNI,cACE,oB5D4xNN,C4DzxNI,cACE,qB5D2xNN,C4DpxNI,4BAHE,mB5D8xNN,C4D3xNI,cACE,oB5D0xNN,C4DtxNI,cACE,kBCjEA,CDkEA,qB5DwxNN,C4DpxNI,aACE,oBAAA,CACA,oB5DsxNN,C4DnxNI,cACE,oB5DqxNN,C4DlxNI,cACE,oB5DoxNN,C4DhxNI,eACE,U5DkxNN,C4D/wNI,iBACE,iB5DixNN,C4D9wNI,iBACE,c5DgxNN,C4Dp2NI,aACE,W5Ds2NN,C4Dn2NI,cACE,e5Dq2NN,C4Dl2NI,cACE,iB5Do2NN,C4Dj2NI,cACE,kB5Dm2NN,C4D51NI,4BAHE,gB5Ds2NN,C4Dn2NI,cACE,iB5Dk2NN,C4D91NI,cACE,eCnCA,CDoCA,kB5Dg2NN,C4D71NI,aACE,Y5D+1NN,C4D51NI,cACE,gB5D81NN,C4D31NI,cACE,kB5D61NN,C4D11NI,cACE,mB5D41NN,C4Dr1NI,4BAHE,iB5D+1NN,C4D51NI,cACE,kB5D21NN,C4Dv1NI,cACE,gBCjEA,CDkEA,mB5Dy1NN,C4Dr1NI,aACE,kBAAA,CACA,kB5Du1NN,C4Dp1NI,cACE,kB5Ds1NN,C4Dn1NI,cACE,kB5Dq1NN,C4Dj1NI,eACE,Q5Dm1NN,C4Dh1NI,iBACE,e5Dk1NN,C4D/0NI,iBACE,Y5Di1NN,C4D70NE,gBACE,W5D+0NJ,C4D50NE,iBACE,e5D80NJ,C4D30NE,iBACE,iB5D60NJ,C4D10NE,iBACE,kB5D40NJ,C4Dz0NE,iBACE,gB5D20NJ,C4Dx0NE,iBACE,iBAAA,CACA,gB5D00NJ,C4Dv0NE,iBACE,eAAA,CACA,kB5Dy0NJ,CACF,CSv7NE,0BmDNI,cACE,Q5Dg8NN,C4D77NI,eACE,Y5D+7NN,C4D57NI,eACE,c5D87NN,C4D37NI,eACE,e5D67NN,C4D17NI,eACE,a5D47NN,C4Dz7NI,eACE,cC9BA,CD+BA,a5D27NN,C4Dx7NI,eACE,YCnCA,CDoCA,e5D07NN,C4Dv7NI,cACE,S5Dy7NN,C4Dt7NI,eACE,a5Dw7NN,C4Dr7NI,eACE,e5Du7NN,C4Dp7NI,eACE,gB5Ds7NN,C4Dn7NI,eACE,c5Dq7NN,C4Dl7NI,eACE,eC5DA,CD6DA,c5Do7NN,C4Dj7NI,eACE,aCjEA,CDkEA,gB5Dm7NN,C4D/6NI,cACE,eAAA,CACA,e5Di7NN,C4D96NI,eACE,e5Dg7NN,C4D76NI,eACE,e5D+6NN,C4D36NI,gBACE,K5D66NN,C4D16NI,kBACE,Y5D46NN,C4Dz6NI,kBACE,S5D26NN,C4D//NI,cACE,a5DigON,C4D9/NI,eACE,iB5DggON,C4D7/NI,eACE,mB5D+/NN,C4D5/NI,eACE,oB5D8/NN,C4Dv/NI,8BAHE,kB5DigON,C4D9/NI,eACE,mB5D6/NN,C4Dz/NI,eACE,iBCnCA,CDoCA,oB5D2/NN,C4Dx/NI,cACE,c5D0/NN,C4Dv/NI,eACE,kB5Dy/NN,C4Dt/NI,eACE,oB5Dw/NN,C4Dr/NI,eACE,qB5Du/NN,C4Dh/NI,8BAHE,mB5D0/NN,C4Dv/NI,eACE,oB5Ds/NN,C4Dl/NI,eACE,kBCjEA,CDkEA,qB5Do/NN,C4Dh/NI,cACE,qBAAA,CACA,qB5Dk/NN,C4D/+NI,eACE,qB5Di/NN,C4D9+NI,eACE,qB5Dg/NN,C4D5+NI,gBACE,U5D8+NN,C4D3+NI,kBACE,iB5D6+NN,C4D1+NI,kBACE,c5D4+NN,C4DhkOI,cACE,Y5DkkON,C4D/jOI,eACE,gB5DikON,C4D9jOI,eACE,kB5DgkON,C4D7jOI,eACE,mB5D+jON,C4DxjOI,8BAHE,iB5DkkON,C4D/jOI,eACE,kB5D8jON,C4D1jOI,eACE,gBCnCA,CDoCA,mB5D4jON,C4DzjOI,cACE,a5D2jON,C4DxjOI,eACE,iB5D0jON,C4DvjOI,eACE,mB5DyjON,C4DtjOI,eACE,oB5DwjON,C4DjjOI,8BAHE,kB5D2jON,C4DxjOI,eACE,mB5DujON,C4DnjOI,eACE,iBCjEA,CDkEA,oB5DqjON,C4DjjOI,cACE,oBAAA,CACA,oB5DmjON,C4DhjOI,eACE,oB5DkjON,C4D/iOI,eACE,oB5DijON,C4D7iOI,gBACE,S5D+iON,C4D5iOI,kBACE,gB5D8iON,C4D3iOI,kBACE,a5D6iON,C4DjoOI,cACE,W5DmoON,C4DhoOI,eACE,e5DkoON,C4D/nOI,eACE,iB5DioON,C4D9nOI,eACE,kB5DgoON,C4DznOI,8BAHE,gB5DmoON,C4DhoOI,eACE,iB5D+nON,C4D3nOI,eACE,eCnCA,CDoCA,kB5D6nON,C4D1nOI,cACE,Y5D4nON,C4DznOI,eACE,gB5D2nON,C4DxnOI,eACE,kB5D0nON,C4DvnOI,eACE,mB5DynON,C4DlnOI,8BAHE,iB5D4nON,C4DznOI,eACE,kB5DwnON,C4DpnOI,eACE,gBCjEA,CDkEA,mB5DsnON,C4DlnOI,cACE,kBAAA,CACA,kB5DonON,C4DjnOI,eACE,kB5DmnON,C4DhnOI,eACE,kB5DknON,C4D9mOI,gBACE,Q5DgnON,C4D7mOI,kBACE,e5D+mON,C4D5mOI,kBACE,Y5D8mON,C4DlsOI,cACE,a5DosON,C4DjsOI,eACE,iB5DmsON,C4DhsOI,eACE,mB5DksON,C4D/rOI,eACE,oB5DisON,C4D1rOI,8BAHE,kB5DosON,C4DjsOI,eACE,mB5DgsON,C4D5rOI,eACE,iBCnCA,CDoCA,oB5D8rON,C4D3rOI,cACE,c5D6rON,C4D1rOI,eACE,kB5D4rON,C4DzrOI,eACE,oB5D2rON,C4DxrOI,eACE,qB5D0rON,C4DnrOI,8BAHE,mB5D6rON,C4D1rOI,eACE,oB5DyrON,C4DrrOI,eACE,kBCjEA,CDkEA,qB5DurON,C4DnrOI,cACE,oBAAA,CACA,oB5DqrON,C4DlrOI,eACE,oB5DorON,C4DjrOI,eACE,oB5DmrON,C4D/qOI,gBACE,U5DirON,C4D9qOI,kBACE,iB5DgrON,C4D7qOI,kBACE,c5D+qON,C4DnwOI,cACE,W5DqwON,C4DlwOI,eACE,e5DowON,C4DjwOI,eACE,iB5DmwON,C4DhwOI,eACE,kB5DkwON,C4D3vOI,8BAHE,gB5DqwON,C4DlwOI,eACE,iB5DiwON,C4D7vOI,eACE,eCnCA,CDoCA,kB5D+vON,C4D5vOI,cACE,Y5D8vON,C4D3vOI,eACE,gB5D6vON,C4D1vOI,eACE,kB5D4vON,C4DzvOI,eACE,mB5D2vON,C4DpvOI,8BAHE,iB5D8vON,C4D3vOI,eACE,kB5D0vON,C4DtvOI,eACE,gBCjEA,CDkEA,mB5DwvON,C4DpvOI,cACE,kBAAA,CACA,kB5DsvON,C4DnvOI,eACE,kB5DqvON,C4DlvOI,eACE,kB5DovON,C4DhvOI,gBACE,Q5DkvON,C4D/uOI,kBACE,e5DivON,C4D9uOI,kBACE,Y5DgvON,C4D5uOE,iBACE,W5D8uOJ,C4D3uOE,kBACE,e5D6uOJ,C4D1uOE,kBACE,iB5D4uOJ,C4DzuOE,kBACE,kB5D2uOJ,C4DxuOE,kBACE,gB5D0uOJ,C4DvuOE,kBACE,iBAAA,CACA,gB5DyuOJ,C4DtuOE,kBACE,eAAA,CACA,kB5DwuOJ,CACF,CSt1OE,0BmDNI,eACE,Q5D+1ON,C4D51OI,gBACE,Y5D81ON,C4D31OI,gBACE,c5D61ON,C4D11OI,gBACE,e5D41ON,C4Dz1OI,gBACE,a5D21ON,C4Dx1OI,gBACE,cC9BA,CD+BA,a5D01ON,C4Dv1OI,gBACE,YCnCA,CDoCA,e5Dy1ON,C4Dt1OI,eACE,S5Dw1ON,C4Dr1OI,gBACE,a5Du1ON,C4Dp1OI,gBACE,e5Ds1ON,C4Dn1OI,gBACE,gB5Dq1ON,C4Dl1OI,gBACE,c5Do1ON,C4Dj1OI,gBACE,eC5DA,CD6DA,c5Dm1ON,C4Dh1OI,gBACE,aCjEA,CDkEA,gB5Dk1ON,C4D90OI,eACE,eAAA,CACA,e5Dg1ON,C4D70OI,gBACE,e5D+0ON,C4D50OI,gBACE,e5D80ON,C4D10OI,iBACE,K5D40ON,C4Dz0OI,mBACE,Y5D20ON,C4Dx0OI,mBACE,S5D00ON,C4D95OI,eACE,a5Dg6ON,C4D75OI,gBACE,iB5D+5ON,C4D55OI,gBACE,mB5D85ON,C4D35OI,gBACE,oB5D65ON,C4Dt5OI,gCAHE,kB5Dg6ON,C4D75OI,gBACE,mB5D45ON,C4Dx5OI,gBACE,iBCnCA,CDoCA,oB5D05ON,C4Dv5OI,eACE,c5Dy5ON,C4Dt5OI,gBACE,kB5Dw5ON,C4Dr5OI,gBACE,oB5Du5ON,C4Dp5OI,gBACE,qB5Ds5ON,C4D/4OI,gCAHE,mB5Dy5ON,C4Dt5OI,gBACE,oB5Dq5ON,C4Dj5OI,gBACE,kBCjEA,CDkEA,qB5Dm5ON,C4D/4OI,eACE,qBAAA,CACA,qB5Di5ON,C4D94OI,gBACE,qB5Dg5ON,C4D74OI,gBACE,qB5D+4ON,C4D34OI,iBACE,U5D64ON,C4D14OI,mBACE,iB5D44ON,C4Dz4OI,mBACE,c5D24ON,C4D/9OI,eACE,Y5Di+ON,C4D99OI,gBACE,gB5Dg+ON,C4D79OI,gBACE,kB5D+9ON,C4D59OI,gBACE,mB5D89ON,C4Dv9OI,gCAHE,iB5Di+ON,C4D99OI,gBACE,kB5D69ON,C4Dz9OI,gBACE,gBCnCA,CDoCA,mB5D29ON,C4Dx9OI,eACE,a5D09ON,C4Dv9OI,gBACE,iB5Dy9ON,C4Dt9OI,gBACE,mB5Dw9ON,C4Dr9OI,gBACE,oB5Du9ON,C4Dh9OI,gCAHE,kB5D09ON,C4Dv9OI,gBACE,mB5Ds9ON,C4Dl9OI,gBACE,iBCjEA,CDkEA,oB5Do9ON,C4Dh9OI,eACE,oBAAA,CACA,oB5Dk9ON,C4D/8OI,gBACE,oB5Di9ON,C4D98OI,gBACE,oB5Dg9ON,C4D58OI,iBACE,S5D88ON,C4D38OI,mBACE,gB5D68ON,C4D18OI,mBACE,a5D48ON,C4DhiPI,eACE,W5DkiPN,C4D/hPI,gBACE,e5DiiPN,C4D9hPI,gBACE,iB5DgiPN,C4D7hPI,gBACE,kB5D+hPN,C4DxhPI,gCAHE,gB5DkiPN,C4D/hPI,gBACE,iB5D8hPN,C4D1hPI,gBACE,eCnCA,CDoCA,kB5D4hPN,C4DzhPI,eACE,Y5D2hPN,C4DxhPI,gBACE,gB5D0hPN,C4DvhPI,gBACE,kB5DyhPN,C4DthPI,gBACE,mB5DwhPN,C4DjhPI,gCAHE,iB5D2hPN,C4DxhPI,gBACE,kB5DuhPN,C4DnhPI,gBACE,gBCjEA,CDkEA,mB5DqhPN,C4DjhPI,eACE,kBAAA,CACA,kB5DmhPN,C4DhhPI,gBACE,kB5DkhPN,C4D/gPI,gBACE,kB5DihPN,C4D7gPI,iBACE,Q5D+gPN,C4D5gPI,mBACE,e5D8gPN,C4D3gPI,mBACE,Y5D6gPN,C4DjmPI,eACE,a5DmmPN,C4DhmPI,gBACE,iB5DkmPN,C4D/lPI,gBACE,mB5DimPN,C4D9lPI,gBACE,oB5DgmPN,C4DzlPI,gCAHE,kB5DmmPN,C4DhmPI,gBACE,mB5D+lPN,C4D3lPI,gBACE,iBCnCA,CDoCA,oB5D6lPN,C4D1lPI,eACE,c5D4lPN,C4DzlPI,gBACE,kB5D2lPN,C4DxlPI,gBACE,oB5D0lPN,C4DvlPI,gBACE,qB5DylPN,C4DllPI,gCAHE,mB5D4lPN,C4DzlPI,gBACE,oB5DwlPN,C4DplPI,gBACE,kBCjEA,CDkEA,qB5DslPN,C4DllPI,eACE,oBAAA,CACA,oB5DolPN,C4DjlPI,gBACE,oB5DmlPN,C4DhlPI,gBACE,oB5DklPN,C4D9kPI,iBACE,U5DglPN,C4D7kPI,mBACE,iB5D+kPN,C4D5kPI,mBACE,c5D8kPN,C4DlqPI,eACE,W5DoqPN,C4DjqPI,gBACE,e5DmqPN,C4DhqPI,gBACE,iB5DkqPN,C4D/pPI,gBACE,kB5DiqPN,C4D1pPI,gCAHE,gB5DoqPN,C4DjqPI,gBACE,iB5DgqPN,C4D5pPI,gBACE,eCnCA,CDoCA,kB5D8pPN,C4D3pPI,eACE,Y5D6pPN,C4D1pPI,gBACE,gB5D4pPN,C4DzpPI,gBACE,kB5D2pPN,C4DxpPI,gBACE,mB5D0pPN,C4DnpPI,gCAHE,iB5D6pPN,C4D1pPI,gBACE,kB5DypPN,C4DrpPI,gBACE,gBCjEA,CDkEA,mB5DupPN,C4DnpPI,eACE,kBAAA,CACA,kB5DqpPN,C4DlpPI,gBACE,kB5DopPN,C4DjpPI,gBACE,kB5DmpPN,C4D/oPI,iBACE,Q5DipPN,C4D9oPI,mBACE,e5DgpPN,C4D7oPI,mBACE,Y5D+oPN,C4D3oPE,kBACE,W5D6oPJ,C4D1oPE,mBACE,e5D4oPJ,C4DzoPE,mBACE,iB5D2oPJ,C4DxoPE,mBACE,kB5D0oPJ,C4DvoPE,mBACE,gB5DyoPJ,C4DtoPE,mBACE,iBAAA,CACA,gB5DwoPJ,C4DroPE,mBACE,eAAA,CACA,kB5DuoPJ,CACF,CACF,C8DlwPA,iBACE,iBACE,e9DowPF,C8DjwPA,kBACE,iB9DmwPF,C8DhwPA,eACE,gB9DkwPF,C8D/vPA,qBACE,wB9DiwPF,C8D9vPA,qBACE,wB9DgwPF,C8D7vPA,sBACE,yB9D+vPF,C8D5vPA,oBrDSA,eAAA,CACA,sBAAA,CACA,kBTsvPA,C8D7vPA,iBACE,e9D+vPF,C8D5vPA,gBACE,e9D8vPF,C8D3vPA,kBACE,e9D6vPF,C8D1vPA,cACE,e9D4vPF,C8DzvPA,YACE,kB9D2vPF,C8DxvPA,YACE,gB9D0vPF,C8DvvPA,YACE,kB9DyvPF,C8DtvPA,YACE,c9DwvPF,C8DrvPA,YACE,iB9DuvPF,C8DpvPA,YACE,iB9DsvPF,C8DnvPA,YACE,gB9DqvPF,C8DlvPA,YACE,mB9DovPF,C8DjvPA,YACE,kB9DmvPF,C8DhvPA,YACE,c9DkvPF,C8D/uPA,YACE,iB9DivPF,C8D9uPA,gBACE,+B9DgvPF,C8D7uPA,gBACE,+B9D+uPF,C+D/0PA,cACE,kB/Dm1PF,C+Dh1PA,gBACE,iB/Dk1PF,CAPF,C+Dj1PA,iB/Dy1PA,CgEv0PA,cAOE,uBACE,0BAAA,CACA,6BAAA,CACA,+BAAA,CACA,gChEm0PF,CgEh0PA,iFAEE,0BAAA,CACA,6BAAA,CACA,+BAAA,CACA,gChEk0PF,CgE/zPA,mCACE,uBACE,uEAAA,CACA,0EAAA,CACA,4EAAA,CACA,6EhEi0PF,CgE9zPA,iFAEE,uEAAA,CACA,wEAAA,CACA,2EAAA,CACA,2EhEg0PF,CACF,CgEzzPA,0BACE,0BAAA,CACA,6BAAA,CACA,+BAAA,CACA,gChE2zPF,CgExzPA,uFAEE,0BAAA,CACA,6BAAA,CACA,+BAAA,CACA,gChE0zPF,CgEnzPA,wBACE,0BAAA,CACA,6BAAA,CACA,+BAAA,CACA,gChEqzPF,CgElzPA,mFAEE,0BAAA,CACA,6BAAA,CACA,+BAAA,CACA,gChEozPF,CgEjzPA,mCACE,0BACE,uEAAA,CACA,0EAAA,CACA,2EAAA,CACA,6EhEmzPF,CgEhzPA,uFAEE,uEAAA,CACA,0EAAA,CACA,4EAAA,CACA,6EhEkzPF,CgE/yPA,wBACE,sEAAA,CACA,yEAAA,CACA,2EAAA,CACA,4EhEizPF,CgE9yPA,mFAEE,sEAAA,CACA,0EAAA,CACA,2EAAA,CACA,6EhEgzPF,CACF,CACF,CgElyPA,iBACE,+DAEE,mBAAA,CACA,qBhEoyPF,CgEjyPA,kCACE,oBhEmyPF,CACF,CiEz6PA,cAsBE,kBACE,uBAAA,CACA,wBAAA,CACA,yBAAA,CACA,0BAAA,CACA,yBAAA,CACA,6CAAA,CACA,2CAAA,CACA,iDAAA,CACA,qDAAA,CACA,4CAAA,CACA,2CAAA,CACA,gDAAA,CACA,wCAAA,CACA,iDAAA,CACA,+CAAA,CACA,kDAAA,CACA,uDAAA,CACA,qDAAA,CACA,uBAAA,CACA,yBAAA,CAGE,0BAAA,CACA,6BAAA,CACA,+BAAA,CACA,gCAAA,CAHA,4BAAA,CACA,+BAAA,CACA,iCAAA,CACA,kCAAA,CAHA,0BAAA,CACA,6BAAA,CACA,+BAAA,CACA,gCAAA,CAHA,0BAAA,CACA,6BAAA,CACA,+BAAA,CACA,gCAAA,CAHA,yBAAA,CACA,4BAAA,CACA,8BAAA,CACA,+BAAA,CAHA,uBAAA,CACA,0BAAA,CACA,4BAAA,CACA,6BjEw6PJ,CiEp6PA,mCACE,kBACE,mEAAA,CACA,qEAAA,CACA,qEAAA,CACA,uEAAA,CACA,sEAAA,CACA,6CAAA,CACA,2CAAA,CACA,iDAAA,CACA,qDAAA,CACA,4CAAA,CACA,2CAAA,CACA,gDAAA,CACA,wCAAA,CACA,iDAAA,CACA,+CAAA,CACA,oEAAA,CACA,sEAAA,CAGE,sEAAA,CACA,0EAAA,CACA,4EAAA,CACA,6EAAA,CAHA,yEAAA,CACA,4EAAA,CACA,8EAAA,CACA,+EAAA,CAHA,qEAAA,CACA,0EAAA,CACA,2EAAA,CACA,6EAAA,CAHA,sEAAA,CACA,0EAAA,CACA,2EAAA,CACA,6EAAA,CAHA,qEAAA,CACA,wEAAA,CACA,yEAAA,CACA,2EAAA,CAHA,oEAAA,CACA,uEAAA,CACA,yEAAA,CACA,0EjEw7PJ,CACF,CACF","file":"fokus.min.css","sourcesContent":["@use \"../../../fokus-core/scss/settings\" as *;\n@use \"../../../fokus-core/scss/tools\" as *;\n\n// Estilos exclusivos do DataTable (`js/datatable.js`) — a tabela, a\n// paginação e o empty state em si reusam `.fs-table`/`.fs-pagination`/\n// `.fs-empty-state` já existentes, sem duplicação.\n\n@layer components {\n .fs-datatable-toolbar {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-bottom: 12px;\n }\n\n .fs-datatable-sort-btn {\n display: inline-flex;\n align-items: center;\n width: 100%;\n padding: 0;\n border: 0;\n background-color: var(--fs-color-surface-raised);\n color: inherit;\n font: inherit;\n text-transform: inherit;\n text-align: left;\n cursor: pointer;\n }\n\n .fs-datatable-sort-btn:focus-visible {\n @include focus-ring;\n }\n\n .fs-datatable-sort-btn::after {\n flex-shrink: 0;\n margin-left: auto;\n padding-left: 4px;\n color: var(--fs-color-muted);\n font-size: $font-size-xs;\n content: \"↕\";\n }\n\n th[aria-sort=\"ascending\"] .fs-datatable-sort-btn::after {\n color: var(--fs-color-text);\n content: \"↑\";\n }\n\n th[aria-sort=\"descending\"] .fs-datatable-sort-btn::after {\n color: var(--fs-color-text);\n content: \"↓\";\n }\n\n .fs-datatable [data-fs-datatable-pagination] {\n display: flex;\n justify-content: flex-end;\n margin-top: 12px;\n }\n\n .fs-datatable td:focus-visible,\n .fs-datatable th:focus-visible {\n @include focus-ring;\n\n outline-offset: -2px;\n }\n}\n","@charset \"UTF-8\";\n@layer reset, tokens, base, layout, components, utilities, overrides;\n@layer tokens {\n :root {\n --fs-color-white: #ffffff;\n --fs-color-black: #000000;\n --fs-color-text: #1e293b;\n --fs-color-muted: #64748b;\n --fs-color-border: #e2e8f0;\n --fs-color-surface: #ffffff;\n --fs-color-subtle: #f8fafc;\n --fs-font-sans: Plus Jakarta Sans, sans-serif;\n --fs-font-mono: Source Code Pro, monospace;\n --fs-font-size-md: 0.8125rem;\n --fs-font-size-h1: 1.75rem;\n --fs-font-size-h2: 1.5rem;\n --fs-font-size-h3: 1.3125rem;\n --fs-font-size-h4: 1.125rem;\n --fs-font-size-h5: 1rem;\n --fs-font-size-h6: 0.875rem;\n --fs-font-weight-semibold: 600;\n --fs-line-height-base: 1.5;\n --fs-line-height-heading: 1.25;\n --fs-radius-sm: 4px;\n --fs-radius-md: 6px;\n --fs-radius-lg: 8px;\n --fs-gutter-x: 1.5rem;\n --fs-gutter-y: 0px;\n --fs-space-0: 0;\n --fs-space-1: 0.25rem;\n --fs-space-2: 0.5rem;\n --fs-space-3: 1rem;\n --fs-space-4: 1.5rem;\n --fs-space-5: 3rem;\n --fs-z-base: 0;\n --fs-z-dropdown: 1000;\n --fs-z-sticky: 1020;\n --fs-z-modal: 1050;\n --fs-z-offcanvas: 1060;\n --fs-z-notification: 1080;\n --fs-z-toast: 1090;\n --fs-z-tooltip: 1100;\n --fs-control-height: 38px;\n --fs-control-height-sm: 30px;\n --fs-control-height-lg: 46px;\n --fs-control-padding-x: 12px;\n --fs-control-padding-x-sm: 8px;\n --fs-control-padding-x-lg: 16px;\n --fs-focus-width: 2px;\n --fs-focus-offset: 2px;\n --fs-focus-ring-alpha: 22%;\n --fs-transition-fast: 150ms;\n --fs-transition-normal: 220ms;\n --fs-ease-standard: cubic-bezier(0.2, 0, 0, 1);\n --fs-border-width: 1px;\n --fs-disabled-opacity: 0.5;\n --fs-cq-sm: 320px;\n --fs-cq-md: 480px;\n --fs-cq-lg: 640px;\n --fs-shadow-sm: 0 1px 3px rgb(0 0 0 / 15%), 0 1px 2px rgb(0 0 0 / 10%);\n --fs-shadow-md: 0 6px 12px rgb(0 0 0 / 15%), 0 3px 6px rgb(0 0 0 / 10%);\n --fs-shadow-lg: 0 15px 30px rgb(0 0 0 / 18%), 0 6px 12px rgb(0 0 0 / 12%);\n --fs-tooltip-bg: #1e293b;\n --fs-tooltip-text: #ffffff;\n --fs-color-primary: #1a61e6;\n --fs-color-on-primary: #ffffff;\n --fs-alert-primary-bg: rgb(220.3846532222, 232.689549371, 254.1042117072);\n --fs-alert-primary-text: rgb(4.2540793692, 32.6552622518, 88.5748738661);\n --fs-color-secondary: #64748b;\n --fs-color-on-secondary: #ffffff;\n --fs-alert-secondary-bg: rgb(230.2895610064, 233.0325853352, 236.9919508609);\n --fs-alert-secondary-text: rgb(33.9166068747, 40.6437781967, 50.3140869721);\n --fs-color-success: rgb(13, 209, 87);\n --fs-color-on-success: #000000;\n --fs-alert-success-bg: rgb(228.9046733915, 249.1514320752, 230.8709345684);\n --fs-alert-success-text: rgb(1.6574790861, 79.745461506, 28.4507801755);\n --fs-color-warning: #fab633;\n --fs-color-on-warning: #000000;\n --fs-alert-warning-bg: rgb(254.9170612621, 244.6528756631, 228.9710928247);\n --fs-alert-warning-text: rgb(96.9838380187, 68.3933599001, 13.3146447009);\n --fs-color-danger: #cc3335;\n --fs-color-on-danger: #ffffff;\n --fs-alert-danger-bg: rgb(251.9225977632, 226.389403069, 223.5618211362);\n --fs-alert-danger-text: rgb(77.6432204678, 13.3146447009, 14.1555411162);\n --fs-color-info: #5e5cc7;\n --fs-color-on-info: #ffffff;\n --fs-alert-info-bg: rgb(228.2395257626, 230.4806192824, 248.3934544766);\n --fs-alert-info-text: rgb(31.3939176289, 30.5530212136, 75.5409794297);\n --fs-feedback-primary-bg: #e6f0ff;\n --fs-feedback-secondary-bg: #f8fafc;\n --fs-feedback-success-bg: #e6fff2;\n --fs-feedback-warning-bg: #fff9e6;\n --fs-feedback-danger-bg: #fff2f3;\n --fs-feedback-info-bg: #f2f2ff;\n }\n @supports (color: oklch(0% 0 0deg)) {\n :root {\n --fs-color-text: oklch(27.9495237712% 0.0368481257 260.0309873929deg);\n --fs-color-muted: oklch(55.4391007662% 0.040717043 257.4166191214deg);\n --fs-color-border: oklch(92.876126719% 0.0126187744 255.5078854448deg);\n --fs-color-subtle: oklch(98.4151869501% 0.0034126992 247.8577745944deg);\n --fs-tooltip-bg: oklch(27.9495237712% 0.0368481257 260.0309873929deg);\n --fs-color-primary: oklch(53.5630074284% 0.2132145174 261.6264320248deg);\n --fs-color-on-primary: #ffffff;\n --fs-alert-primary-bg: oklch(93.0344511143% 0.0319821776 261.6264320248deg);\n --fs-alert-primary-text: oklch(26.7815037142% 0.1066072587 261.6264320248deg);\n --fs-color-secondary: oklch(55.4391007662% 0.040717043 257.4166191214deg);\n --fs-color-on-secondary: #ffffff;\n --fs-alert-secondary-bg: oklch(93.3158651149% 0.0061075564 257.4166191214deg);\n --fs-alert-secondary-text: oklch(27.7195503831% 0.0203585215 257.4166191214deg);\n --fs-color-success: oklch(75.151587899% 0.2146126169 148.125846236deg);\n --fs-color-on-success: #000000;\n --fs-alert-success-bg: oklch(96.2727381849% 0.0321918925 148.125846236deg);\n --fs-alert-success-text: oklch(37.5757939495% 0.1073063085 148.125846236deg);\n --fs-color-warning: oklch(81.9510815663% 0.1562613975 78.6575213966deg);\n --fs-color-on-warning: #000000;\n --fs-alert-warning-bg: oklch(97.2926622349% 0.0234392096 78.6575213966deg);\n --fs-alert-warning-text: oklch(40.9755407832% 0.0781306987 78.6575213966deg);\n --fs-color-danger: oklch(55.9653139301% 0.1897270855 25.2407937498deg);\n --fs-color-on-danger: #ffffff;\n --fs-alert-danger-bg: oklch(93.3947970895% 0.0284590628 25.2407937498deg);\n --fs-alert-danger-text: oklch(27.982656965% 0.0948635427 25.2407937498deg);\n --fs-color-info: oklch(53.3359780029% 0.1620131129 280.2231949375deg);\n --fs-color-on-info: #ffffff;\n --fs-alert-info-bg: oklch(93.0003967004% 0.0243019669 280.2231949375deg);\n --fs-alert-info-text: oklch(26.6679890014% 0.0810065564 280.2231949375deg);\n --fs-feedback-primary-bg: oklch(95.2067827456% 0.0228899025 258.359342143deg);\n --fs-feedback-secondary-bg: oklch(98.4151869501% 0.0034126992 247.8577745944deg);\n --fs-feedback-success-bg: oklch(97.8305614459% 0.0311593614 163.2740567608deg);\n --fs-feedback-warning-bg: oklch(98.17094418% 0.025708244 92.3886876566deg);\n --fs-feedback-danger-bg: oklch(97.1603097552% 0.0140720277 12.0135639679deg);\n --fs-feedback-info-bg: oklch(96.4918490239% 0.0173174767 286.0707018324deg);\n }\n }\n}\n@layer tokens {\n :root {\n --fs-color-bg-surface: var(--fs-color-surface);\n --fs-color-bg-subtle: var(--fs-color-subtle);\n --fs-color-text-primary: var(--fs-color-text);\n --fs-color-text-muted: var(--fs-color-muted);\n --fs-color-border-default: var(--fs-color-border);\n --fs-color-focus: var(--fs-color-primary);\n --fs-color-surface-raised: var(--fs-color-surface);\n --fs-color-surface-interactive: var(--fs-color-subtle);\n --fs-color-action-primary: var(--fs-color-primary);\n --fs-color-action-danger: var(--fs-color-danger);\n }\n}\n@layer tokens {\n :root {\n --fs-chart-series-1: var(--fs-color-primary);\n --fs-chart-series-2: var(--fs-color-success);\n --fs-chart-series-3: var(--fs-color-warning);\n --fs-chart-series-4: var(--fs-color-danger);\n --fs-chart-series-5: var(--fs-color-info);\n --fs-chart-series-6: var(--fs-color-secondary);\n --fs-chart-grid: var(--fs-color-border);\n --fs-chart-axis: var(--fs-color-muted);\n --fs-chart-tooltip-bg: var(--fs-tooltip-bg);\n --fs-chart-tooltip-text: var(--fs-tooltip-text);\n }\n}\n@layer reset {\n *,\n *::before,\n *::after {\n box-sizing: border-box;\n }\n html {\n line-height: var(--fs-line-height-base);\n text-size-adjust: 100%;\n }\n body {\n margin: 0;\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface);\n }\n [hidden] {\n display: none !important;\n }\n}\n@layer base {\n body,\n button,\n input,\n select,\n textarea {\n font-family: var(--fs-font-sans);\n font-size: var(--fs-font-size-md);\n }\n code,\n kbd,\n pre,\n samp {\n font-family: var(--fs-font-mono);\n }\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n margin-top: 0;\n font-weight: var(--fs-font-weight-semibold);\n line-height: var(--fs-line-height-heading);\n }\n h1 {\n font-size: var(--fs-font-size-h1);\n }\n h2 {\n font-size: var(--fs-font-size-h2);\n }\n h3 {\n font-size: var(--fs-font-size-h3);\n }\n h4 {\n font-size: var(--fs-font-size-h4);\n }\n h5 {\n font-size: var(--fs-font-size-h5);\n }\n h6 {\n font-size: var(--fs-font-size-h6);\n }\n}\n@layer base {\n @media (prefers-reduced-motion: reduce) {\n *,\n *::before,\n *::after {\n scroll-behavior: auto !important;\n transition-duration: 0.01ms !important;\n animation-duration: 0.01ms !important;\n animation-iteration-count: 1 !important;\n }\n .fs-spinner,\n .fs-progress-bar-animated,\n .fs-progress-indeterminate .fs-progress-bar {\n animation-duration: 1.5s !important;\n animation-iteration-count: infinite !important;\n }\n }\n}\n@layer layout {\n .fs-cluster {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--fs-cluster-gap, 0.5rem);\n }\n .fs-cluster-gap-0 {\n --fs-cluster-gap: 0;\n }\n .fs-cluster-gap-1 {\n --fs-cluster-gap: 0.25rem;\n }\n .fs-cluster-gap-2 {\n --fs-cluster-gap: 0.5rem;\n }\n .fs-cluster-gap-3 {\n --fs-cluster-gap: 1rem;\n }\n .fs-cluster-gap-4 {\n --fs-cluster-gap: 1.5rem;\n }\n .fs-cluster-gap-5 {\n --fs-cluster-gap: 3rem;\n }\n}\n@layer layout {\n .fs-container,\n .fs-container-sm,\n .fs-container-md,\n .fs-container-lg,\n .fs-container-xl,\n .fs-container-xxl,\n .fs-container-xxxl,\n .fs-container-fluid {\n width: 100%;\n margin-right: auto;\n margin-left: auto;\n }\n @media (min-width: 640px) {\n .fs-container,\n .fs-container-sm {\n max-width: 600px;\n }\n }\n @media (min-width: 768px) {\n .fs-container,\n .fs-container-md {\n max-width: 720px;\n }\n }\n @media (min-width: 1024px) {\n .fs-container,\n .fs-container-lg {\n max-width: 960px;\n }\n }\n @media (min-width: 1280px) {\n .fs-container,\n .fs-container-xl {\n max-width: 1200px;\n }\n }\n @media (min-width: 1536px) {\n .fs-container,\n .fs-container-xxl {\n max-width: 1440px;\n }\n }\n @media (min-width: 1920px) {\n .fs-container,\n .fs-container-xxxl {\n max-width: 1800px;\n }\n }\n}\n@layer layout {\n .fs-row {\n display: flex;\n flex-wrap: wrap;\n margin-top: calc(var(--fs-gutter-y) * -1);\n margin-right: calc(var(--fs-gutter-x) / -2);\n margin-left: calc(var(--fs-gutter-x) / -2);\n }\n .fs-row > * {\n margin-top: var(--fs-gutter-y);\n padding-right: calc(var(--fs-gutter-x) / 2);\n padding-left: calc(var(--fs-gutter-x) / 2);\n }\n .fs-row-fluid {\n width: 100%;\n }\n .fs-col-fluid {\n width: 100%;\n }\n .fs-col {\n flex: 1 0 0%;\n }\n .fs-col-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .fs-col-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .fs-col-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .fs-col-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .fs-col-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .fs-col-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .fs-col-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .fs-col-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .fs-col-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .fs-col-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .fs-col-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .fs-col-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .fs-col-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n @media (min-width: 640px) {\n .fs-col-sm {\n flex: 1 0 0%;\n }\n .fs-col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .fs-col-sm-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .fs-col-sm-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .fs-col-sm-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .fs-col-sm-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .fs-col-sm-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .fs-col-sm-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .fs-col-sm-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .fs-col-sm-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .fs-col-sm-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .fs-col-sm-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .fs-col-sm-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .fs-col-sm-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n }\n @media (min-width: 768px) {\n .fs-col-md {\n flex: 1 0 0%;\n }\n .fs-col-md-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .fs-col-md-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .fs-col-md-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .fs-col-md-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .fs-col-md-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .fs-col-md-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .fs-col-md-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .fs-col-md-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .fs-col-md-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .fs-col-md-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .fs-col-md-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .fs-col-md-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .fs-col-md-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n }\n @media (min-width: 1024px) {\n .fs-col-lg {\n flex: 1 0 0%;\n }\n .fs-col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .fs-col-lg-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .fs-col-lg-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .fs-col-lg-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .fs-col-lg-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .fs-col-lg-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .fs-col-lg-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .fs-col-lg-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .fs-col-lg-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .fs-col-lg-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .fs-col-lg-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .fs-col-lg-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .fs-col-lg-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n }\n @media (min-width: 1280px) {\n .fs-col-xl {\n flex: 1 0 0%;\n }\n .fs-col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .fs-col-xl-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .fs-col-xl-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .fs-col-xl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .fs-col-xl-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .fs-col-xl-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .fs-col-xl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .fs-col-xl-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .fs-col-xl-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .fs-col-xl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .fs-col-xl-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .fs-col-xl-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .fs-col-xl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n }\n @media (min-width: 1536px) {\n .fs-col-xxl {\n flex: 1 0 0%;\n }\n .fs-col-xxl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .fs-col-xxl-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .fs-col-xxl-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .fs-col-xxl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .fs-col-xxl-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .fs-col-xxl-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .fs-col-xxl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .fs-col-xxl-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .fs-col-xxl-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .fs-col-xxl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .fs-col-xxl-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .fs-col-xxl-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .fs-col-xxl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n }\n @media (min-width: 1920px) {\n .fs-col-xxxl {\n flex: 1 0 0%;\n }\n .fs-col-xxxl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .fs-col-xxxl-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .fs-col-xxxl-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .fs-col-xxxl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .fs-col-xxxl-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .fs-col-xxxl-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .fs-col-xxxl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .fs-col-xxxl-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .fs-col-xxxl-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .fs-col-xxxl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .fs-col-xxxl-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .fs-col-xxxl-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .fs-col-xxxl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n }\n}\n@layer layout {\n .fs-sidebar {\n display: flex;\n flex-wrap: wrap;\n gap: var(--fs-sidebar-gap, 1rem);\n }\n .fs-sidebar-aside {\n flex-basis: var(--fs-sidebar-width, 16rem);\n flex-grow: 1;\n }\n .fs-sidebar-content {\n flex-basis: 0;\n flex-grow: 999;\n min-width: 50%;\n }\n .fs-sidebar-reverse {\n flex-direction: row-reverse;\n }\n .fs-sidebar-gap-0 {\n --fs-sidebar-gap: 0;\n }\n .fs-sidebar-gap-1 {\n --fs-sidebar-gap: 0.25rem;\n }\n .fs-sidebar-gap-2 {\n --fs-sidebar-gap: 0.5rem;\n }\n .fs-sidebar-gap-3 {\n --fs-sidebar-gap: 1rem;\n }\n .fs-sidebar-gap-4 {\n --fs-sidebar-gap: 1.5rem;\n }\n .fs-sidebar-gap-5 {\n --fs-sidebar-gap: 3rem;\n }\n .fs-sidebar-width-sm {\n --fs-sidebar-width: 120px;\n }\n .fs-sidebar-width-md {\n --fs-sidebar-width: 240px;\n }\n .fs-sidebar-width-lg {\n --fs-sidebar-width: 360px;\n }\n .fs-sidebar-width-xl {\n --fs-sidebar-width: 480px;\n }\n .fs-sidebar-width-xxl {\n --fs-sidebar-width: 600px;\n }\n .fs-sidebar-width-xxxl {\n --fs-sidebar-width: 720px;\n }\n}\n@layer layout {\n .fs-stack {\n display: flex;\n flex-direction: column;\n gap: var(--fs-stack-gap, 1rem);\n }\n .fs-stack-gap-0 {\n --fs-stack-gap: 0;\n }\n .fs-stack-gap-1 {\n --fs-stack-gap: 0.25rem;\n }\n .fs-stack-gap-2 {\n --fs-stack-gap: 0.5rem;\n }\n .fs-stack-gap-3 {\n --fs-stack-gap: 1rem;\n }\n .fs-stack-gap-4 {\n --fs-stack-gap: 1.5rem;\n }\n .fs-stack-gap-5 {\n --fs-stack-gap: 3rem;\n }\n}\n@layer components {\n .fs-form-row {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n align-items: flex-start;\n justify-content: flex-start;\n gap: 12px 16px;\n width: 100%;\n }\n .fs-form-col {\n display: flex;\n flex: 1 1 240px;\n flex-direction: column;\n align-items: stretch;\n min-width: 0;\n gap: 4px;\n }\n .fs-form-label {\n width: auto;\n margin: 0;\n color: var(--fs-color-muted);\n font-size: 0.75rem;\n font-weight: 400;\n }\n .fs-form-text {\n width: auto;\n margin: 0;\n color: var(--fs-color-muted);\n font-size: 0.6875rem;\n font-weight: 400;\n }\n .fs-form-text,\n .fs-valid-feedback,\n .fs-invalid-feedback {\n min-height: 1.25rem;\n padding: 3px 8px;\n border-radius: var(--fs-radius-sm);\n }\n .fs-form-text {\n color: var(--fs-color-muted);\n font-size: 0.6875rem;\n font-weight: 400;\n }\n .fs-valid-feedback,\n .fs-invalid-feedback {\n display: none;\n font-size: 0.6875rem;\n font-weight: 400;\n }\n .fs-valid-feedback {\n color: var(--fs-alert-success-text);\n background-color: var(--fs-feedback-success-bg);\n }\n .fs-invalid-feedback {\n color: var(--fs-alert-danger-text);\n background-color: var(--fs-feedback-danger-bg);\n }\n .is-valid ~ .fs-valid-feedback,\n .is-invalid ~ .fs-invalid-feedback {\n display: block;\n }\n .fs-form-control {\n width: 100%;\n min-width: 0;\n height: var(--fs-control-height);\n padding: 0 7px;\n border: var(--fs-border-width) solid var(--fs-color-border-default);\n border-radius: var(--fs-radius-sm);\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface);\n font-size: 0.8125rem;\n font-weight: 500;\n }\n .fs-form-control::placeholder {\n color: var(--fs-color-muted);\n }\n .fs-form-control:focus-visible {\n outline: var(--fs-focus-width) solid var(--fs-color-primary);\n outline-offset: var(--fs-focus-offset);\n border-color: var(--fs-color-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--fs-color-primary) 22%, transparent);\n }\n .fs-form-control:disabled {\n color: var(--fs-color-muted);\n background-color: var(--fs-color-subtle);\n opacity: var(--fs-disabled-opacity);\n pointer-events: none;\n }\n .fs-form-control:read-only {\n background-color: var(--fs-color-subtle);\n cursor: default;\n }\n .fs-form-control-sm {\n height: var(--fs-control-height-sm);\n font-size: 0.6875rem;\n }\n .fs-form-control-lg {\n height: var(--fs-control-height-lg);\n font-size: 0.8125rem;\n }\n .fs-form-size-sm {\n width: 120px;\n }\n .fs-form-size-md {\n width: 180px;\n }\n .fs-form-size-lg {\n width: 240px;\n }\n .fs-form-size-xl {\n width: 300px;\n }\n .fs-form-size-xxl {\n width: 360px;\n }\n .fs-form-control.is-valid {\n border-color: var(--fs-color-success);\n }\n .fs-form-control.is-valid:focus-visible {\n outline: var(--fs-focus-width) solid var(--fs-color-success);\n outline-offset: var(--fs-focus-offset);\n border-color: var(--fs-color-success);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--fs-color-success) 22%, transparent);\n }\n .fs-form-control.is-invalid {\n border-color: var(--fs-color-danger);\n }\n .fs-form-control.is-invalid:focus-visible {\n outline: var(--fs-focus-width) solid var(--fs-color-danger);\n outline-offset: var(--fs-focus-offset);\n border-color: var(--fs-color-danger);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--fs-color-danger) 22%, transparent);\n }\n .fs-form-select {\n display: flex;\n flex: 1;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n height: var(--fs-control-height);\n padding: 0 7px;\n border: var(--fs-border-width) solid var(--fs-color-border-default);\n border-radius: var(--fs-radius-sm);\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface);\n font-size: 0.8125rem;\n font-weight: 500;\n text-align: left;\n cursor: pointer;\n }\n .fs-form-select::after {\n flex-shrink: 0;\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 8px;\n content: \"\";\n border-top: 5px solid;\n border-right: 5px solid transparent;\n border-left: 5px solid transparent;\n }\n .fs-form-select:focus-visible {\n outline: var(--fs-focus-width) solid var(--fs-color-primary);\n outline-offset: var(--fs-focus-offset);\n border-color: var(--fs-color-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--fs-color-primary) 22%, transparent);\n }\n .fs-form-select:disabled {\n color: var(--fs-color-muted);\n background-color: var(--fs-color-subtle);\n opacity: 0.4;\n pointer-events: none;\n }\n .fs-form-select-sm {\n height: var(--fs-control-height-sm);\n font-size: 0.6875rem;\n }\n .fs-form-select-lg {\n height: var(--fs-control-height-lg);\n font-size: 0.8125rem;\n }\n .fs-file-upload {\n position: relative;\n display: inline-flex;\n }\n .fs-file-input {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip-path: inset(50%);\n white-space: nowrap;\n border: 0;\n }\n .fs-file-label {\n display: inline-flex;\n align-items: center;\n height: 38px;\n padding: 0 14px;\n border: 1px solid var(--fs-color-border);\n border-radius: var(--fs-radius-sm);\n color: var(--fs-color-text);\n background-color: var(--fs-color-subtle);\n font-size: 0.8125rem;\n font-weight: 500;\n cursor: pointer;\n user-select: none;\n transition: filter var(--fs-transition-fast) var(--fs-ease-standard);\n }\n .fs-file-label:hover {\n filter: brightness(0.96);\n }\n .fs-file-input:focus-visible + .fs-file-label {\n outline: var(--fs-focus-width) solid var(--fs-color-primary);\n outline-offset: var(--fs-focus-offset);\n border-color: var(--fs-color-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--fs-color-primary) 22%, transparent);\n }\n .fs-file-input:disabled + .fs-file-label {\n color: var(--fs-color-muted);\n opacity: var(--fs-disabled-opacity);\n pointer-events: none;\n cursor: default;\n }\n .fs-file-label-sm {\n height: 30px;\n padding: 0 10px;\n font-size: 0.6875rem;\n }\n .fs-file-label-lg {\n height: 46px;\n padding: 0 18px;\n font-size: 1rem;\n }\n .fs-file-label.is-dragover {\n border-color: var(--fs-color-primary);\n background-color: var(--fs-color-subtle);\n }\n .fs-file-label-dropzone {\n flex-direction: column;\n gap: 4px;\n width: 100%;\n height: auto;\n padding: 32px 16px;\n border-style: dashed;\n border-width: 2px;\n font-weight: 400;\n text-align: center;\n }\n .fs-file-label-dropzone .fs-file-dropzone-hint {\n color: var(--fs-color-muted);\n font-size: 0.6875rem;\n font-weight: 400;\n }\n .fs-input-group {\n display: flex;\n align-items: stretch;\n width: 100%;\n }\n .fs-input-group > .fs-form-control,\n .fs-input-group > .fs-form-select {\n flex: 1 1 auto;\n width: 1%;\n min-width: 0;\n }\n .fs-input-group-text {\n display: flex;\n align-items: center;\n padding: 0 12px;\n border: 1px solid var(--fs-color-border);\n color: var(--fs-color-muted);\n background-color: var(--fs-color-subtle);\n font-size: 0.8125rem;\n font-weight: 500;\n white-space: nowrap;\n }\n .fs-input-group > :not(:first-child) {\n margin-left: -1px;\n }\n .fs-input-group > :focus-visible,\n .fs-input-group > :focus-within {\n position: relative;\n z-index: 1;\n }\n .fs-input-group > * {\n border-radius: 0;\n }\n .fs-input-group > :first-child {\n border-top-left-radius: var(--fs-radius-sm);\n border-bottom-left-radius: var(--fs-radius-sm);\n }\n .fs-input-group > :last-child {\n border-top-right-radius: var(--fs-radius-sm);\n border-bottom-right-radius: var(--fs-radius-sm);\n }\n .fs-input-group-sm > .fs-form-control,\n .fs-input-group-sm > .fs-form-select,\n .fs-input-group-sm > .fs-input-group-text {\n height: 30px;\n padding: 0 8px;\n font-size: 0.6875rem;\n }\n .fs-input-group-lg > .fs-form-control,\n .fs-input-group-lg > .fs-form-select,\n .fs-input-group-lg > .fs-input-group-text {\n height: 46px;\n padding: 0 16px;\n font-size: 1rem;\n }\n}\n@layer components {\n .fs-check,\n .fs-radio,\n .fs-switch {\n display: inline-flex;\n align-items: center;\n }\n .fs-check {\n --fs-check-mark: var(--fs-color-on-primary);\n }\n .fs-check-input,\n .fs-radio-input,\n .fs-switch-input {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip-path: inset(50%);\n white-space: nowrap;\n border: 0;\n }\n .fs-check-label,\n .fs-radio-label,\n .fs-switch-label {\n position: relative;\n display: inline-flex;\n align-items: center;\n min-height: 20px;\n padding-left: 28px;\n color: var(--fs-color-text);\n font-size: 0.8125rem;\n cursor: pointer;\n user-select: none;\n }\n .fs-check-label::before,\n .fs-radio-label::before,\n .fs-switch-label::before {\n position: absolute;\n left: 0;\n box-sizing: border-box;\n border: 1px solid var(--fs-color-border);\n background-color: var(--fs-color-surface);\n content: \"\";\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;\n }\n .fs-check-label::before,\n .fs-radio-label::before {\n width: 18px;\n height: 18px;\n }\n .fs-check-label::before {\n border: 2px solid var(--fs-color-primary);\n border-radius: 0;\n }\n .fs-radio-label::before {\n border-radius: 50%;\n }\n .fs-check-label::after {\n position: absolute;\n left: 4px;\n width: 9px;\n height: 5px;\n content: \"\";\n opacity: 0;\n border-bottom: 2px solid var(--fs-check-mark);\n border-left: 2px solid var(--fs-check-mark);\n transform: translateY(-1px) rotate(-45deg);\n transition: opacity 0.1s ease-in-out;\n }\n .fs-radio-label::after {\n position: absolute;\n left: 5px;\n width: 8px;\n height: 8px;\n border-radius: 50%;\n content: \"\";\n opacity: 0;\n background-color: var(--fs-color-on-primary);\n transition: opacity 0.1s ease-in-out;\n }\n .fs-check-input:checked + .fs-check-label::before,\n .fs-radio-input:checked + .fs-radio-label::before {\n background-color: var(--fs-color-primary);\n border-color: var(--fs-color-primary);\n }\n .fs-check-input:checked + .fs-check-label::after,\n .fs-radio-input:checked + .fs-radio-label::after {\n opacity: 1;\n }\n .fs-check-input:not(:checked, :indeterminate, :disabled, .is-invalid) + .fs-check-label:hover::before {\n background-color: color-mix(in srgb, var(--fs-color-primary) 10%, transparent);\n }\n .fs-check-input:not(:disabled, :indeterminate, .is-invalid) + .fs-check-label:active::before {\n background-color: color-mix(in srgb, var(--fs-color-primary) 86%, var(--fs-color-black));\n border-color: var(--fs-color-primary);\n }\n .fs-check-input:checked:not(:disabled, .is-invalid) + .fs-check-label:active::after {\n transform: translateY(-1px) rotate(-45deg) scale(0.9);\n }\n .fs-switch-label {\n padding-left: 44px;\n }\n .fs-switch-label::before {\n width: 36px;\n height: 20px;\n border-radius: var(--fs-radius-md);\n }\n .fs-switch-label::after {\n position: absolute;\n left: 2px;\n width: 16px;\n height: 14px;\n border-radius: var(--fs-radius-sm);\n content: \"\";\n background-color: var(--fs-color-border);\n transition: left 0.15s ease-in-out, background-color 0.15s ease-in-out;\n }\n .fs-switch-input:checked + .fs-switch-label::before {\n background-color: var(--fs-color-primary);\n border-color: var(--fs-color-primary);\n }\n .fs-switch-input:checked + .fs-switch-label::after {\n left: 18px;\n background-color: var(--fs-color-on-primary);\n }\n .fs-check-input:focus-visible + .fs-check-label::before,\n .fs-radio-input:focus-visible + .fs-radio-label::before,\n .fs-switch-input:focus-visible + .fs-switch-label::before {\n outline: var(--fs-focus-width) solid var(--fs-color-primary);\n outline-offset: var(--fs-focus-offset);\n border-color: var(--fs-color-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--fs-color-primary) 22%, transparent);\n }\n .fs-radio-input:disabled + .fs-radio-label,\n .fs-switch-input:disabled + .fs-switch-label {\n opacity: 0.5;\n pointer-events: none;\n }\n .fs-check-input:disabled + .fs-check-label {\n color: var(--fs-color-muted);\n opacity: 1;\n pointer-events: none;\n }\n .fs-check-input:disabled:not(:checked, :indeterminate) + .fs-check-label::before {\n border-color: var(--fs-color-border);\n background-color: var(--fs-color-subtle);\n }\n .fs-check-input:disabled:checked + .fs-check-label::before {\n border-color: color-mix(in srgb, var(--fs-color-primary) 55%, var(--fs-color-border));\n background-color: color-mix(in srgb, var(--fs-color-primary) 45%, var(--fs-color-subtle));\n }\n .fs-check-input:disabled:checked + .fs-check-label::after {\n opacity: 0.72;\n }\n .fs-radio-input.is-valid + .fs-radio-label::before {\n border-color: var(--fs-color-success);\n }\n .fs-check-input.is-invalid + .fs-check-label::before,\n .fs-radio-input.is-invalid + .fs-radio-label::before {\n border-color: var(--fs-color-danger);\n }\n .fs-check-sm .fs-check-label,\n .fs-radio-sm .fs-radio-label {\n min-height: 16px;\n padding-left: 24px;\n font-size: 0.75rem;\n }\n .fs-check-sm .fs-check-label::before,\n .fs-radio-sm .fs-radio-label::before {\n width: 15px;\n height: 15px;\n }\n .fs-check-sm .fs-check-label::after {\n left: 3px;\n width: 8px;\n height: 4px;\n }\n .fs-radio-sm .fs-radio-label::after {\n left: 4px;\n width: 7px;\n height: 7px;\n }\n .fs-check-lg .fs-check-label,\n .fs-radio-lg .fs-radio-label {\n min-height: 24px;\n padding-left: 34px;\n font-size: 1rem;\n }\n .fs-check-lg .fs-check-label::before,\n .fs-radio-lg .fs-radio-label::before {\n width: 22px;\n height: 22px;\n }\n .fs-check-lg .fs-check-label::after {\n left: 5px;\n width: 11px;\n height: 6px;\n }\n .fs-radio-lg .fs-radio-label::after {\n left: 6px;\n width: 10px;\n height: 10px;\n }\n .fs-switch-sm .fs-switch-label {\n min-height: 16px;\n padding-left: 38px;\n font-size: 0.75rem;\n }\n .fs-switch-sm .fs-switch-label::before {\n width: 30px;\n height: 16px;\n }\n .fs-switch-sm .fs-switch-label::after {\n width: 12px;\n height: 10px;\n }\n .fs-switch-sm .fs-switch-input:checked + .fs-switch-label::after {\n left: 16px;\n }\n .fs-switch-lg .fs-switch-label {\n min-height: 26px;\n padding-left: 52px;\n font-size: 1rem;\n }\n .fs-switch-lg .fs-switch-label::before {\n width: 44px;\n height: 24px;\n }\n .fs-switch-lg .fs-switch-label::after {\n width: 20px;\n height: 18px;\n }\n .fs-switch-lg .fs-switch-input:checked + .fs-switch-label::after {\n left: 22px;\n }\n .fs-check-input:indeterminate + .fs-check-label::before {\n border: 2px dashed var(--fs-color-primary);\n background-color: var(--fs-color-surface);\n }\n .fs-check-input:indeterminate + .fs-check-label::after {\n left: 4px;\n width: 10px;\n height: 0;\n opacity: 1;\n border-bottom: 2px solid var(--fs-color-primary);\n border-left: 0;\n transform: translateY(3px) rotate(0deg);\n }\n .fs-check-sm .fs-check-input:indeterminate + .fs-check-label::after {\n left: 3px;\n width: 8px;\n }\n .fs-check-lg .fs-check-input:indeterminate + .fs-check-label::after {\n left: 5px;\n width: 12px;\n }\n .fs-check-input.is-invalid + .fs-check-label::before {\n background-color: var(--fs-color-danger);\n }\n .fs-check-input.is-invalid + .fs-check-label::after {\n top: 6px;\n left: 5px;\n width: 8px;\n height: 8px;\n opacity: 1;\n border: 0;\n background-image: linear-gradient(45deg, transparent 42%, #ffffff 42% 58%, transparent 58%), linear-gradient(-45deg, transparent 42%, #ffffff 42% 58%, transparent 58%);\n transform: none;\n }\n .fs-check-sm .fs-check-input.is-invalid + .fs-check-label::after {\n top: 5px;\n left: 4px;\n width: 7px;\n height: 7px;\n }\n .fs-check-lg .fs-check-input.is-invalid + .fs-check-label::after {\n top: 6px;\n left: 6px;\n width: 10px;\n height: 10px;\n }\n}\n@layer components {\n .fs-form-range {\n --fs-range-track-height: 6px;\n --fs-range-track-color: var(--fs-color-border);\n --fs-range-fill-color: var(--fs-color-primary);\n --fs-range-thumb-size: 18px;\n --fs-range-thumb-color: var(--fs-color-surface);\n --fs-range-thumb-border-color: var(--fs-color-primary);\n --fs-range-percent: 0%;\n width: 100%;\n height: var(--fs-range-thumb-size);\n padding: 0;\n background: transparent;\n appearance: none;\n cursor: pointer;\n }\n .fs-form-range::-webkit-slider-runnable-track {\n height: var(--fs-range-track-height);\n border-radius: var(--fs-radius-sm);\n background: linear-gradient(to right, var(--fs-range-fill-color) var(--fs-range-percent), var(--fs-range-track-color) var(--fs-range-percent));\n }\n .fs-form-range::-moz-range-track {\n height: var(--fs-range-track-height);\n border-radius: var(--fs-radius-sm);\n background: linear-gradient(to right, var(--fs-range-fill-color) var(--fs-range-percent), var(--fs-range-track-color) var(--fs-range-percent));\n }\n .fs-form-range::-webkit-slider-thumb {\n width: var(--fs-range-thumb-size);\n height: var(--fs-range-thumb-size);\n margin-top: calc((var(--fs-range-track-height) - var(--fs-range-thumb-size)) / 2);\n border: 2px solid var(--fs-range-thumb-border-color);\n border-radius: 50%;\n background-color: var(--fs-range-thumb-color);\n appearance: none;\n cursor: pointer;\n }\n .fs-form-range::-moz-range-thumb {\n width: calc(var(--fs-range-thumb-size) - 4px);\n height: calc(var(--fs-range-thumb-size) - 4px);\n border: 2px solid var(--fs-range-thumb-border-color);\n border-radius: 50%;\n background-color: var(--fs-range-thumb-color);\n cursor: pointer;\n }\n .fs-form-range:focus-visible::-webkit-slider-thumb {\n outline: var(--fs-focus-width) solid var(--fs-range-thumb-border-color);\n outline-offset: var(--fs-focus-offset);\n border-color: var(--fs-range-thumb-border-color);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--fs-range-thumb-border-color) 22%, transparent);\n }\n .fs-form-range:focus-visible::-moz-range-thumb {\n outline: var(--fs-focus-width) solid var(--fs-range-thumb-border-color);\n outline-offset: var(--fs-focus-offset);\n border-color: var(--fs-range-thumb-border-color);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--fs-range-thumb-border-color) 22%, transparent);\n }\n .fs-form-range:disabled {\n opacity: 0.6;\n cursor: not-allowed;\n }\n .fs-form-range:disabled::-webkit-slider-thumb {\n cursor: not-allowed;\n }\n .fs-form-range:disabled::-moz-range-thumb {\n cursor: not-allowed;\n }\n .fs-range-output {\n display: inline-block;\n min-width: 2.5em;\n color: var(--fs-color-text);\n font-size: 0.75rem;\n font-weight: 500;\n text-align: center;\n }\n}\n@layer components {\n .fs-file-upload-list {\n display: flex;\n flex-direction: column;\n gap: 8px;\n width: 100%;\n margin-top: 12px;\n padding: 0;\n list-style: none;\n }\n .fs-file-upload-item {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 8px 12px;\n border: 1px solid var(--fs-color-border);\n border-radius: var(--fs-radius-sm);\n background-color: var(--fs-color-surface);\n }\n .fs-file-upload-thumb {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n width: 40px;\n height: 40px;\n overflow: hidden;\n border-radius: var(--fs-radius-sm);\n background-color: var(--fs-color-subtle);\n color: var(--fs-color-muted);\n }\n .fs-file-upload-thumb img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n }\n .fs-file-upload-info {\n flex: 1;\n min-width: 0;\n }\n .fs-file-upload-name {\n margin: 0;\n color: var(--fs-color-text);\n font-size: 0.75rem;\n font-weight: 500;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .fs-file-upload-size {\n margin: 0 0 4px;\n color: var(--fs-color-muted);\n font-size: 0.6875rem;\n }\n .fs-file-upload-item.is-error .fs-file-upload-size {\n color: var(--fs-alert-danger-text);\n }\n .fs-file-upload-remove {\n flex-shrink: 0;\n }\n}\n@layer components {\n .fs-btn {\n --fs-btn-color: var(--fs-color-text-primary);\n --fs-btn-bg: var(--fs-color-bg-subtle);\n --fs-btn-border-color: var(--fs-color-border-default);\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: var(--fs-space-1);\n min-height: var(--fs-control-height);\n padding: 0 var(--fs-control-padding-x);\n border: var(--fs-border-width) solid var(--fs-btn-border-color);\n border-radius: var(--fs-radius-sm);\n color: var(--fs-btn-color);\n background-color: var(--fs-btn-bg);\n font-size: 0.8125rem;\n font-weight: 500;\n text-decoration: none;\n cursor: pointer;\n transition: color var(--fs-transition-fast) var(--fs-ease-standard), background-color var(--fs-transition-fast) var(--fs-ease-standard), border-color var(--fs-transition-fast) var(--fs-ease-standard), box-shadow var(--fs-transition-fast) var(--fs-ease-standard);\n }\n .fs-btn:hover {\n --fs-btn-bg: var(--fs-btn-hover-bg, var(--fs-color-subtle));\n }\n .fs-btn:active {\n --fs-btn-bg: var(--fs-btn-active-bg, var(--fs-color-border));\n }\n .fs-btn:focus-visible {\n outline: var(--fs-focus-width) solid var(--fs-color-primary);\n outline-offset: var(--fs-focus-offset);\n border-color: var(--fs-color-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--fs-color-primary) 22%, transparent);\n }\n .fs-btn:disabled,\n .fs-btn.is-disabled {\n opacity: var(--fs-disabled-opacity);\n pointer-events: none;\n }\n .fs-btn-primary {\n --fs-btn-color: var(--fs-color-on-primary);\n --fs-btn-bg: var(--fs-color-primary);\n --fs-btn-border-color: var(--fs-color-primary);\n --fs-btn-hover-bg: var(--fs-color-primary);\n --fs-btn-active-bg: var(--fs-color-primary);\n }\n .fs-btn-outline-primary {\n --fs-btn-color: var(--fs-alert-primary-text);\n --fs-btn-bg: transparent;\n --fs-btn-border-color: var(--fs-color-primary);\n }\n .fs-btn-outline-primary:hover,\n .fs-btn-outline-primary:active {\n --fs-btn-color: var(--fs-color-on-primary);\n --fs-btn-bg: var(--fs-color-primary);\n }\n .fs-btn-secondary {\n --fs-btn-color: var(--fs-color-on-secondary);\n --fs-btn-bg: var(--fs-color-secondary);\n --fs-btn-border-color: var(--fs-color-secondary);\n --fs-btn-hover-bg: var(--fs-color-secondary);\n --fs-btn-active-bg: var(--fs-color-secondary);\n }\n .fs-btn-outline-secondary {\n --fs-btn-color: var(--fs-alert-secondary-text);\n --fs-btn-bg: transparent;\n --fs-btn-border-color: var(--fs-color-secondary);\n }\n .fs-btn-outline-secondary:hover,\n .fs-btn-outline-secondary:active {\n --fs-btn-color: var(--fs-color-on-secondary);\n --fs-btn-bg: var(--fs-color-secondary);\n }\n .fs-btn-success {\n --fs-btn-color: var(--fs-color-on-success);\n --fs-btn-bg: var(--fs-color-success);\n --fs-btn-border-color: var(--fs-color-success);\n --fs-btn-hover-bg: var(--fs-color-success);\n --fs-btn-active-bg: var(--fs-color-success);\n }\n .fs-btn-outline-success {\n --fs-btn-color: var(--fs-alert-success-text);\n --fs-btn-bg: transparent;\n --fs-btn-border-color: var(--fs-color-success);\n }\n .fs-btn-outline-success:hover,\n .fs-btn-outline-success:active {\n --fs-btn-color: var(--fs-color-on-success);\n --fs-btn-bg: var(--fs-color-success);\n }\n .fs-btn-warning {\n --fs-btn-color: var(--fs-color-on-warning);\n --fs-btn-bg: var(--fs-color-warning);\n --fs-btn-border-color: var(--fs-color-warning);\n --fs-btn-hover-bg: var(--fs-color-warning);\n --fs-btn-active-bg: var(--fs-color-warning);\n }\n .fs-btn-outline-warning {\n --fs-btn-color: var(--fs-alert-warning-text);\n --fs-btn-bg: transparent;\n --fs-btn-border-color: var(--fs-color-warning);\n }\n .fs-btn-outline-warning:hover,\n .fs-btn-outline-warning:active {\n --fs-btn-color: var(--fs-color-on-warning);\n --fs-btn-bg: var(--fs-color-warning);\n }\n .fs-btn-danger {\n --fs-btn-color: var(--fs-color-on-danger);\n --fs-btn-bg: var(--fs-color-danger);\n --fs-btn-border-color: var(--fs-color-danger);\n --fs-btn-hover-bg: var(--fs-color-danger);\n --fs-btn-active-bg: var(--fs-color-danger);\n }\n .fs-btn-outline-danger {\n --fs-btn-color: var(--fs-alert-danger-text);\n --fs-btn-bg: transparent;\n --fs-btn-border-color: var(--fs-color-danger);\n }\n .fs-btn-outline-danger:hover,\n .fs-btn-outline-danger:active {\n --fs-btn-color: var(--fs-color-on-danger);\n --fs-btn-bg: var(--fs-color-danger);\n }\n .fs-btn-info {\n --fs-btn-color: var(--fs-color-on-info);\n --fs-btn-bg: var(--fs-color-info);\n --fs-btn-border-color: var(--fs-color-info);\n --fs-btn-hover-bg: var(--fs-color-info);\n --fs-btn-active-bg: var(--fs-color-info);\n }\n .fs-btn-outline-info {\n --fs-btn-color: var(--fs-alert-info-text);\n --fs-btn-bg: transparent;\n --fs-btn-border-color: var(--fs-color-info);\n }\n .fs-btn-outline-info:hover,\n .fs-btn-outline-info:active {\n --fs-btn-color: var(--fs-color-on-info);\n --fs-btn-bg: var(--fs-color-info);\n }\n .fs-btn-sm {\n min-height: var(--fs-control-height-sm);\n padding: 0 var(--fs-control-padding-x-sm);\n font-size: 0.75rem;\n }\n .fs-btn-lg {\n min-height: var(--fs-control-height-lg);\n padding: 0 var(--fs-control-padding-x-lg);\n font-size: 1rem;\n }\n .fs-btn-close {\n position: relative;\n width: 20px;\n height: 20px;\n padding: 0;\n border: none;\n border-radius: var(--fs-radius-sm);\n color: var(--fs-color-muted);\n background-color: var(--fs-color-surface-raised);\n cursor: pointer;\n }\n .fs-btn-close::before,\n .fs-btn-close::after {\n position: absolute;\n top: 50%;\n left: 50%;\n width: 12px;\n height: 2px;\n background-color: currentcolor;\n content: \"\";\n }\n .fs-btn-close::before {\n transform: translate(-50%, -50%) rotate(45deg);\n }\n .fs-btn-close::after {\n transform: translate(-50%, -50%) rotate(-45deg);\n }\n .fs-btn-close:hover {\n color: var(--fs-color-text);\n background-color: var(--fs-color-subtle);\n }\n .fs-btn-close:focus-visible {\n outline: var(--fs-focus-width) solid var(--fs-color-primary);\n outline-offset: var(--fs-focus-offset);\n border-color: var(--fs-color-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--fs-color-primary) 22%, transparent);\n }\n}\n@layer components {\n .fs-card {\n position: relative;\n display: flex;\n flex-direction: column;\n border: var(--fs-border-width) solid var(--fs-color-border-default);\n border-radius: var(--fs-radius-lg);\n background-color: var(--fs-color-surface);\n }\n .fs-card-horizontal {\n flex-direction: row;\n }\n .fs-card-horizontal .fs-card-header:first-child {\n border-radius: calc(var(--fs-radius-lg) - 1px) 0 0 calc(var(--fs-radius-lg) - 1px);\n border-right: 1px solid var(--fs-color-border);\n border-bottom: none;\n }\n .fs-card-horizontal .fs-card-footer:last-child {\n border-radius: 0 calc(var(--fs-radius-lg) - 1px) calc(var(--fs-radius-lg) - 1px) 0;\n border-left: 1px solid var(--fs-color-border);\n border-top: none;\n }\n .fs-card-clickable {\n transition: border-color var(--fs-transition-fast) var(--fs-ease-standard), box-shadow var(--fs-transition-fast) var(--fs-ease-standard), transform var(--fs-transition-fast) var(--fs-ease-standard);\n }\n .fs-card-clickable:hover,\n .fs-card-clickable:focus-within {\n border-color: var(--fs-color-primary);\n box-shadow: var(--fs-shadow-sm);\n transform: translateY(-1px);\n }\n .fs-stretched-link {\n color: inherit;\n text-decoration: none;\n }\n .fs-stretched-link::after {\n position: absolute;\n inset: 0;\n z-index: 1;\n content: \"\";\n }\n .fs-card-header,\n .fs-card-body,\n .fs-card-footer {\n padding: 10px;\n }\n .fs-card-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 8px;\n border-bottom: 1px solid var(--fs-color-border);\n background-color: var(--fs-color-subtle);\n }\n .fs-card-header .fs-card-title {\n margin: 0;\n }\n .fs-card-header:first-child {\n border-radius: calc(var(--fs-radius-lg) - 1px) calc(var(--fs-radius-lg) - 1px) 0 0;\n }\n .fs-card-footer {\n border-top: 1px solid var(--fs-color-border);\n background-color: var(--fs-color-subtle);\n }\n .fs-card-footer:last-child {\n border-radius: 0 0 calc(var(--fs-radius-lg) - 1px) calc(var(--fs-radius-lg) - 1px);\n }\n .fs-card-title {\n margin: 0 0 4px;\n color: var(--fs-color-text);\n font-size: 1rem;\n font-weight: 500;\n }\n .fs-card-subtitle {\n margin: 0 0 8px;\n color: var(--fs-color-muted);\n font-size: 0.75rem;\n }\n .fs-card-text {\n margin: 0 0 8px;\n color: var(--fs-color-text);\n font-size: 0.8125rem;\n }\n .fs-card-text:last-child {\n margin-bottom: 0;\n }\n .fs-card-sm .fs-card-header,\n .fs-card-sm .fs-card-body,\n .fs-card-sm .fs-card-footer {\n padding: 5px;\n }\n .fs-card-lg .fs-card-header,\n .fs-card-lg .fs-card-body,\n .fs-card-lg .fs-card-footer {\n padding: 15px;\n }\n}\n@layer components {\n .fs-alert {\n display: flex;\n align-items: flex-start;\n gap: 8px;\n padding: 12px 16px;\n border: 1px solid var(--fs-color-border);\n border-left: 5px solid var(--fs-color-border);\n border-radius: 0;\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface-raised);\n font-size: 0.75rem;\n }\n .fs-alert-primary {\n color: var(--fs-alert-primary-text);\n background-color: var(--fs-alert-primary-bg);\n border-color: var(--fs-color-primary);\n }\n .fs-alert-secondary {\n color: var(--fs-alert-secondary-text);\n background-color: var(--fs-alert-secondary-bg);\n border-color: var(--fs-color-secondary);\n }\n .fs-alert-success {\n color: var(--fs-alert-success-text);\n background-color: var(--fs-alert-success-bg);\n border-color: var(--fs-color-success);\n }\n .fs-alert-warning {\n color: var(--fs-alert-warning-text);\n background-color: var(--fs-alert-warning-bg);\n border-color: var(--fs-color-warning);\n }\n .fs-alert-danger {\n color: var(--fs-alert-danger-text);\n background-color: var(--fs-alert-danger-bg);\n border-color: var(--fs-color-danger);\n }\n .fs-alert-info {\n color: var(--fs-alert-info-text);\n background-color: var(--fs-alert-info-bg);\n border-color: var(--fs-color-info);\n }\n}\n@layer components {\n .fs-badge {\n --fs-badge-color: var(--fs-color-text);\n --fs-badge-bg: var(--fs-color-subtle);\n --fs-badge-border: transparent;\n --fs-badge-height: 22px;\n --fs-badge-radius: 0;\n display: inline-flex;\n align-items: center;\n gap: 6px;\n justify-content: center;\n min-height: var(--fs-badge-height);\n padding: 1px 8px 3px;\n border: 1px solid var(--fs-badge-border);\n border-radius: var(--fs-badge-radius);\n color: var(--fs-badge-color);\n background-color: var(--fs-badge-bg);\n font-size: 0.6875rem;\n font-weight: 500;\n line-height: 1;\n vertical-align: middle;\n white-space: nowrap;\n }\n .fs-badge-primary {\n --fs-badge-color: #ffffff;\n --fs-badge-bg: var(--fs-color-primary);\n }\n .fs-badge-soft-primary {\n --fs-badge-color: color-mix(in srgb, var(--fs-color-primary) 45%, var(--fs-color-text));\n --fs-badge-bg: color-mix(in srgb, var(--fs-color-primary) 14%, transparent);\n --fs-badge-border: color-mix(in srgb, var(--fs-color-primary) 38%, transparent);\n }\n .fs-badge-outline-primary {\n --fs-badge-color: color-mix(in srgb, var(--fs-color-primary) 45%, var(--fs-color-text));\n --fs-badge-bg: transparent;\n --fs-badge-border: var(--fs-badge-color);\n }\n .fs-badge-secondary {\n --fs-badge-color: #ffffff;\n --fs-badge-bg: var(--fs-color-secondary);\n }\n .fs-badge-soft-secondary {\n --fs-badge-color: color-mix(in srgb, var(--fs-color-secondary) 45%, var(--fs-color-text));\n --fs-badge-bg: color-mix(in srgb, var(--fs-color-secondary) 14%, transparent);\n --fs-badge-border: color-mix(in srgb, var(--fs-color-secondary) 38%, transparent);\n }\n .fs-badge-outline-secondary {\n --fs-badge-color: color-mix(in srgb, var(--fs-color-secondary) 45%, var(--fs-color-text));\n --fs-badge-bg: transparent;\n --fs-badge-border: var(--fs-badge-color);\n }\n .fs-badge-success {\n --fs-badge-color: #000000;\n --fs-badge-bg: var(--fs-color-success);\n }\n .fs-badge-soft-success {\n --fs-badge-color: color-mix(in srgb, var(--fs-color-success) 45%, var(--fs-color-text));\n --fs-badge-bg: color-mix(in srgb, var(--fs-color-success) 14%, transparent);\n --fs-badge-border: color-mix(in srgb, var(--fs-color-success) 38%, transparent);\n }\n .fs-badge-outline-success {\n --fs-badge-color: color-mix(in srgb, var(--fs-color-success) 45%, var(--fs-color-text));\n --fs-badge-bg: transparent;\n --fs-badge-border: var(--fs-badge-color);\n }\n .fs-badge-warning {\n --fs-badge-color: #000000;\n --fs-badge-bg: var(--fs-color-warning);\n }\n .fs-badge-soft-warning {\n --fs-badge-color: color-mix(in srgb, var(--fs-color-warning) 45%, var(--fs-color-text));\n --fs-badge-bg: color-mix(in srgb, var(--fs-color-warning) 14%, transparent);\n --fs-badge-border: color-mix(in srgb, var(--fs-color-warning) 38%, transparent);\n }\n .fs-badge-outline-warning {\n --fs-badge-color: color-mix(in srgb, var(--fs-color-warning) 45%, var(--fs-color-text));\n --fs-badge-bg: transparent;\n --fs-badge-border: var(--fs-badge-color);\n }\n .fs-badge-danger {\n --fs-badge-color: #ffffff;\n --fs-badge-bg: var(--fs-color-danger);\n }\n .fs-badge-soft-danger {\n --fs-badge-color: color-mix(in srgb, var(--fs-color-danger) 45%, var(--fs-color-text));\n --fs-badge-bg: color-mix(in srgb, var(--fs-color-danger) 14%, transparent);\n --fs-badge-border: color-mix(in srgb, var(--fs-color-danger) 38%, transparent);\n }\n .fs-badge-outline-danger {\n --fs-badge-color: color-mix(in srgb, var(--fs-color-danger) 45%, var(--fs-color-text));\n --fs-badge-bg: transparent;\n --fs-badge-border: var(--fs-badge-color);\n }\n .fs-badge-info {\n --fs-badge-color: #ffffff;\n --fs-badge-bg: var(--fs-color-info);\n }\n .fs-badge-soft-info {\n --fs-badge-color: color-mix(in srgb, var(--fs-color-info) 45%, var(--fs-color-text));\n --fs-badge-bg: color-mix(in srgb, var(--fs-color-info) 14%, transparent);\n --fs-badge-border: color-mix(in srgb, var(--fs-color-info) 38%, transparent);\n }\n .fs-badge-outline-info {\n --fs-badge-color: color-mix(in srgb, var(--fs-color-info) 45%, var(--fs-color-text));\n --fs-badge-bg: transparent;\n --fs-badge-border: var(--fs-badge-color);\n }\n .fs-badge-sm {\n --fs-badge-height: 18px;\n padding: 0 6px 2px;\n font-size: 0.6875rem;\n }\n .fs-badge-lg {\n --fs-badge-height: 26px;\n padding: 2px 10px 4px;\n font-size: 0.8125rem;\n }\n .fs-badge-dot::before {\n width: 6px;\n height: 6px;\n flex: 0 0 6px;\n border-radius: 50%;\n background-color: currentcolor;\n transform: translateY(1px);\n content: \"\";\n }\n .fs-badge-count {\n min-width: var(--fs-badge-height);\n padding-inline: 6px;\n font-variant-numeric: tabular-nums;\n }\n .fs-badge-split {\n --fs-badge-split-label-bg: var(--fs-color-black);\n --fs-badge-split-label-color: var(--fs-color-white);\n --fs-badge-split-value-bg: var(--fs-color-primary);\n --fs-badge-split-value-color: #ffffff;\n --fs-badge-split-height: 22px;\n --fs-badge-split-radius: 0;\n display: inline-flex;\n min-height: var(--fs-badge-split-height);\n overflow: hidden;\n border-radius: var(--fs-badge-split-radius);\n font-size: 0.6875rem;\n font-weight: 500;\n line-height: 1;\n vertical-align: middle;\n white-space: nowrap;\n }\n .fs-badge-split-label,\n .fs-badge-split-value {\n display: inline-flex;\n align-items: center;\n min-height: var(--fs-badge-split-height);\n padding: 1px 8px 3px;\n }\n .fs-badge-split-label {\n color: var(--fs-badge-split-label-color);\n background-color: var(--fs-badge-split-label-bg);\n }\n .fs-badge-split-value {\n color: var(--fs-badge-split-value-color);\n background-color: var(--fs-badge-split-value-bg);\n font-variant-numeric: tabular-nums;\n }\n .fs-badge-split-primary {\n --fs-badge-split-value-bg: var(--fs-color-primary);\n --fs-badge-split-value-color: #ffffff;\n }\n .fs-badge-split-secondary {\n --fs-badge-split-value-bg: var(--fs-color-secondary);\n --fs-badge-split-value-color: #ffffff;\n }\n .fs-badge-split-success {\n --fs-badge-split-value-bg: var(--fs-color-success);\n --fs-badge-split-value-color: #000000;\n }\n .fs-badge-split-warning {\n --fs-badge-split-value-bg: var(--fs-color-warning);\n --fs-badge-split-value-color: #000000;\n }\n .fs-badge-split-danger {\n --fs-badge-split-value-bg: var(--fs-color-danger);\n --fs-badge-split-value-color: #ffffff;\n }\n .fs-badge-split-info {\n --fs-badge-split-value-bg: var(--fs-color-info);\n --fs-badge-split-value-color: #ffffff;\n }\n .fs-badge-split.fs-badge-sm {\n --fs-badge-split-height: 18px;\n min-height: var(--fs-badge-split-height);\n padding: 0;\n }\n .fs-badge-split.fs-badge-lg {\n --fs-badge-split-height: 26px;\n min-height: var(--fs-badge-split-height);\n padding: 0;\n font-size: 0.8125rem;\n }\n .fs-badge-split.fs-badge-sm .fs-badge-split-label,\n .fs-badge-split.fs-badge-sm .fs-badge-split-value {\n padding: 0 6px 2px;\n }\n .fs-badge-split.fs-badge-lg .fs-badge-split-label,\n .fs-badge-split.fs-badge-lg .fs-badge-split-value {\n padding: 2px 10px 4px;\n }\n}\n@layer components {\n .fs-table {\n width: 100%;\n margin-bottom: 0;\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface-raised);\n border-collapse: collapse;\n }\n .fs-table th,\n .fs-table td {\n padding: 8px 12px;\n border-bottom: 1px solid var(--fs-color-border);\n text-align: left;\n vertical-align: middle;\n }\n .fs-table thead th {\n border-bottom-width: 2px;\n color: var(--fs-color-muted);\n font-size: 0.75rem;\n font-weight: 500;\n text-transform: uppercase;\n }\n .fs-table-striped tbody tr:nth-of-type(odd) {\n background-color: var(--fs-color-subtle);\n }\n .fs-table-hover tbody tr:hover {\n background-color: var(--fs-color-subtle);\n }\n .fs-table-bordered th,\n .fs-table-bordered td {\n border: 1px solid var(--fs-color-border);\n }\n .fs-table-borderless th,\n .fs-table-borderless td {\n border: 0;\n }\n .fs-table-primary {\n background-color: var(--fs-alert-primary-bg);\n color: var(--fs-alert-primary-text);\n }\n .fs-table-secondary {\n background-color: var(--fs-alert-secondary-bg);\n color: var(--fs-alert-secondary-text);\n }\n .fs-table-success {\n background-color: var(--fs-alert-success-bg);\n color: var(--fs-alert-success-text);\n }\n .fs-table-warning {\n background-color: var(--fs-alert-warning-bg);\n color: var(--fs-alert-warning-text);\n }\n .fs-table-danger {\n background-color: var(--fs-alert-danger-bg);\n color: var(--fs-alert-danger-text);\n }\n .fs-table-info {\n background-color: var(--fs-alert-info-bg);\n color: var(--fs-alert-info-text);\n }\n .fs-table-sm th,\n .fs-table-sm td {\n padding: 4px 8px;\n }\n .fs-table-responsive {\n overflow-x: auto;\n }\n}\n@layer components {\n .fs-navbar {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n gap: 16px;\n padding: 12px 16px;\n border-bottom: 1px solid var(--fs-color-border);\n background-color: var(--fs-color-surface);\n }\n .fs-navbar-brand {\n color: var(--fs-color-text);\n font-size: 1rem;\n font-weight: 500;\n text-decoration: none;\n }\n .fs-navbar-nav {\n display: flex;\n align-items: center;\n gap: 4px;\n margin: 0;\n padding: 0;\n list-style: none;\n }\n .fs-nav-link {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 8px 12px;\n border-radius: var(--fs-radius-sm);\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface-raised);\n text-decoration: none;\n transition: background-color 0.15s ease-in-out;\n }\n .fs-nav-link:hover {\n background-color: var(--fs-color-subtle);\n }\n .fs-nav-link:focus-visible {\n outline: var(--fs-focus-width) solid var(--fs-color-primary);\n outline-offset: var(--fs-focus-offset);\n border-color: var(--fs-color-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--fs-color-primary) 22%, transparent);\n }\n .fs-nav-link.is-active {\n color: var(--fs-alert-primary-text);\n font-weight: 500;\n }\n .fs-nav-link.is-disabled {\n color: var(--fs-color-muted);\n pointer-events: none;\n }\n}\n@layer components {\n .fs-combobox {\n position: relative;\n display: inline-flex;\n width: 100%;\n }\n .fs-combobox-listbox {\n overflow-y: auto;\n max-height: 240px;\n }\n}\n@layer components {\n [data-theme=dark] .fs-form-control[type=date]::-webkit-calendar-picker-indicator,\n [data-theme=dark] .fs-form-control[type=time]::-webkit-calendar-picker-indicator {\n filter: invert(1);\n }\n .fs-datepicker {\n position: relative;\n display: inline-flex;\n width: 100%;\n }\n .fs-datepicker-panel {\n display: none;\n width: min(280px, 100vw - 2 * var(--fs-space-3));\n padding: 12px;\n border: 1px solid var(--fs-color-border);\n border-radius: var(--fs-radius-md);\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface);\n box-shadow: var(--fs-shadow-md);\n z-index: var(--fs-z-dropdown);\n }\n .fs-datepicker-panel.is-open {\n display: block;\n }\n .fs-datepicker-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: 8px;\n }\n .fs-datepicker-nav {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n padding: 0;\n border: none;\n border-radius: var(--fs-radius-sm);\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface-raised);\n font-size: 0.8125rem;\n cursor: pointer;\n }\n .fs-datepicker-nav:hover {\n background-color: var(--fs-color-subtle);\n }\n .fs-datepicker-nav:focus-visible {\n outline: var(--fs-focus-width) solid var(--fs-color-primary);\n outline-offset: var(--fs-focus-offset);\n border-color: var(--fs-color-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--fs-color-primary) 22%, transparent);\n }\n .fs-datepicker-title {\n font-size: 0.75rem;\n font-weight: 500;\n text-transform: capitalize;\n }\n .fs-datepicker-grid {\n display: flex;\n flex-direction: column;\n gap: 2px;\n }\n .fs-datepicker-weekdays,\n .fs-datepicker-week {\n display: grid;\n grid-template-columns: repeat(7, 1fr);\n gap: 2px;\n }\n .fs-datepicker-weekday {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 28px;\n color: var(--fs-color-muted);\n font-size: 0.6875rem;\n font-weight: 500;\n text-align: center;\n text-transform: uppercase;\n }\n .fs-datepicker-day {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 32px;\n border: none;\n border-radius: var(--fs-radius-sm);\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface-raised);\n font-size: 0.75rem;\n cursor: pointer;\n }\n .fs-datepicker-day:hover {\n background-color: var(--fs-color-subtle);\n }\n .fs-datepicker-day:focus-visible {\n outline: var(--fs-focus-width) solid var(--fs-color-primary);\n outline-offset: var(--fs-focus-offset);\n border-color: var(--fs-color-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--fs-color-primary) 22%, transparent);\n }\n .fs-datepicker-day.is-outside {\n color: var(--fs-color-muted);\n }\n .fs-datepicker-day.is-today {\n font-weight: 600;\n box-shadow: inset 0 0 0 1px var(--fs-color-primary);\n }\n .fs-datepicker-day.is-selected {\n color: var(--fs-color-on-primary);\n background-color: var(--fs-color-primary);\n }\n .fs-datepicker-day:disabled {\n color: var(--fs-color-muted);\n pointer-events: none;\n opacity: 0.4;\n }\n}\n@layer components {\n .fs-datatable-toolbar {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-bottom: 12px;\n }\n .fs-datatable-sort-btn {\n display: inline-flex;\n align-items: center;\n width: 100%;\n padding: 0;\n border: 0;\n background-color: var(--fs-color-surface-raised);\n color: inherit;\n font: inherit;\n text-transform: inherit;\n text-align: left;\n cursor: pointer;\n }\n .fs-datatable-sort-btn:focus-visible {\n outline: var(--fs-focus-width) solid var(--fs-color-primary);\n outline-offset: var(--fs-focus-offset);\n border-color: var(--fs-color-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--fs-color-primary) 22%, transparent);\n }\n .fs-datatable-sort-btn::after {\n flex-shrink: 0;\n margin-left: auto;\n padding-left: 4px;\n color: var(--fs-color-muted);\n font-size: 0.6875rem;\n content: \"↕\";\n }\n th[aria-sort=ascending] .fs-datatable-sort-btn::after {\n color: var(--fs-color-text);\n content: \"↑\";\n }\n th[aria-sort=descending] .fs-datatable-sort-btn::after {\n color: var(--fs-color-text);\n content: \"↓\";\n }\n .fs-datatable [data-fs-datatable-pagination] {\n display: flex;\n justify-content: flex-end;\n margin-top: 12px;\n }\n .fs-datatable td:focus-visible,\n .fs-datatable th:focus-visible {\n outline: var(--fs-focus-width) solid var(--fs-color-primary);\n outline-offset: var(--fs-focus-offset);\n border-color: var(--fs-color-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--fs-color-primary) 22%, transparent);\n outline-offset: -2px;\n }\n}\n@layer components {\n .fs-command-palette {\n position: fixed;\n inset: 0;\n z-index: var(--fs-z-modal);\n display: none;\n align-items: flex-start;\n justify-content: center;\n padding: 72px 16px 16px;\n background-color: rgba(0, 0, 0, 0.5);\n }\n .fs-command-palette.is-open {\n display: flex;\n }\n .fs-command-palette-dialog {\n display: flex;\n flex-direction: column;\n width: 100%;\n max-width: 480px;\n max-height: calc(100vh - 88px);\n overflow: hidden;\n border-radius: var(--fs-radius-md);\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface);\n box-shadow: var(--fs-shadow-lg);\n }\n .fs-command-palette-input {\n width: 100%;\n padding: 16px 20px;\n border: none;\n border-bottom: 1px solid var(--fs-color-border);\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface-raised);\n font-size: 1rem;\n }\n .fs-command-palette-input:focus-visible {\n outline: var(--fs-focus-width) solid var(--fs-color-primary);\n outline-offset: var(--fs-focus-offset);\n border-color: var(--fs-color-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--fs-color-primary) 22%, transparent);\n }\n .fs-command-palette-list {\n margin: 0;\n padding: 6px 0;\n overflow-y: auto;\n list-style: none;\n }\n}\n@layer components {\n .fs-tree,\n .fs-tree [role=group] {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n .fs-tree [role=group] {\n padding-left: 20px;\n }\n .fs-tree [role=treeitem] {\n border-radius: var(--fs-radius-sm);\n }\n .fs-tree [role=treeitem]:focus-visible {\n outline: none;\n }\n .fs-tree [role=treeitem]:focus-visible > .fs-tree-label {\n outline: var(--fs-focus-width) solid var(--fs-color-primary);\n outline-offset: var(--fs-focus-offset);\n border-color: var(--fs-color-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--fs-color-primary) 22%, transparent);\n }\n .fs-tree-label {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 6px 8px;\n border-radius: var(--fs-radius-sm);\n color: var(--fs-color-text);\n font-size: 0.8125rem;\n cursor: pointer;\n user-select: none;\n }\n .fs-tree-label:hover {\n background-color: var(--fs-color-subtle);\n }\n .fs-tree [role=treeitem][aria-selected=true] > .fs-tree-label {\n color: var(--fs-color-on-primary);\n background-color: var(--fs-color-primary);\n }\n .fs-tree-toggle {\n flex-shrink: 0;\n width: 0;\n height: 0;\n border-top: 4px solid transparent;\n border-bottom: 4px solid transparent;\n border-left: 5px solid currentcolor;\n transition: transform 0.15s ease-in-out;\n }\n .fs-tree [role=treeitem][aria-expanded=true] > .fs-tree-label > .fs-tree-toggle {\n transform: rotate(90deg);\n }\n}\n@layer components {\n .fs-dropdown {\n position: relative;\n display: inline-flex;\n }\n .fs-dropdown-toggle::after {\n display: inline-block;\n width: 0;\n height: 0;\n vertical-align: middle;\n content: \"\";\n border-top: 5px solid;\n border-right: 5px solid transparent;\n border-left: 5px solid transparent;\n }\n .fs-dropdown-menu {\n position: absolute;\n display: none;\n min-width: 180px;\n margin: 0;\n padding: 6px 0;\n border: var(--fs-border-width) solid var(--fs-color-border-default);\n border-radius: var(--fs-radius-md);\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface);\n box-shadow: var(--fs-shadow-md);\n z-index: var(--fs-z-dropdown);\n }\n .fs-dropdown-menu.is-open {\n display: block;\n }\n .fs-dropdown-item {\n display: flex;\n align-items: center;\n width: 100%;\n padding: 8px 16px;\n border: 0;\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface-raised);\n font-size: 0.8125rem;\n text-align: left;\n text-decoration: none;\n cursor: pointer;\n }\n .fs-dropdown-item:hover,\n .fs-dropdown-item:focus-visible {\n color: var(--fs-color-text);\n background-color: var(--fs-color-subtle);\n outline: none;\n }\n .fs-dropdown-item.is-active {\n color: var(--fs-color-on-primary);\n background-color: var(--fs-color-primary);\n }\n .fs-dropdown-item.is-disabled {\n color: var(--fs-color-muted);\n pointer-events: none;\n opacity: 0.6;\n }\n .fs-dropdown-divider {\n height: 1px;\n margin: 6px 0;\n border: none;\n background-color: var(--fs-color-border);\n }\n .fs-dropdown-header {\n padding: 4px 16px;\n color: var(--fs-color-muted);\n font-size: 0.6875rem;\n font-weight: 500;\n text-transform: uppercase;\n }\n}\n@layer components {\n .fs-modal {\n position: fixed;\n inset: 0;\n z-index: var(--fs-z-modal);\n display: none;\n align-items: center;\n justify-content: center;\n padding: var(--fs-space-4);\n background-color: rgba(0, 0, 0, 0.5);\n }\n .fs-modal.is-open {\n display: flex;\n }\n .fs-modal-dialog {\n width: 100%;\n max-width: 480px;\n }\n .fs-modal-dialog.fs-modal-sm {\n max-width: 320px;\n }\n .fs-modal-dialog.fs-modal-lg {\n max-width: 720px;\n }\n .fs-modal-content {\n display: flex;\n flex-direction: column;\n max-height: calc(100vh - 2 * var(--fs-space-4));\n border: var(--fs-border-width) solid var(--fs-color-border-default);\n border-radius: var(--fs-radius-md);\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface);\n box-shadow: var(--fs-shadow-lg);\n }\n .fs-modal-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 16px 20px;\n border-bottom: 1px solid var(--fs-color-border);\n }\n .fs-modal-title {\n margin: 0;\n font-size: 1rem;\n font-weight: 500;\n }\n .fs-modal-body {\n padding: 20px;\n overflow-y: auto;\n }\n .fs-modal-footer {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: 8px;\n padding: 16px 20px;\n border-top: 1px solid var(--fs-color-border);\n }\n}\n@layer components {\n .fs-alert-dialog-message {\n margin: 4px 0 0;\n color: var(--fs-color-muted);\n font-size: 0.75rem;\n }\n}\n@layer components {\n .fs-divider {\n margin: 16px 0;\n border: 0;\n border-top: 1px solid var(--fs-color-border);\n }\n .fs-divider:not(hr) {\n display: flex;\n align-items: center;\n border-top: none;\n color: var(--fs-color-muted);\n font-size: 0.75rem;\n }\n .fs-divider:not(hr)::before,\n .fs-divider:not(hr)::after {\n flex: 1;\n content: \"\";\n border-top: 1px solid var(--fs-color-border);\n }\n .fs-divider-label {\n padding: 0 12px;\n }\n}\n@layer components {\n .fs-empty-state {\n display: flex;\n flex-direction: column;\n align-items: center;\n padding: 48px 24px;\n text-align: center;\n }\n .fs-empty-state[hidden] {\n display: none;\n }\n .fs-empty-state-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 64px;\n height: 64px;\n margin-bottom: 16px;\n border-radius: 50%;\n color: var(--fs-color-muted);\n background-color: var(--fs-color-subtle);\n font-size: 28px;\n }\n .fs-empty-state-title {\n margin: 0;\n color: var(--fs-color-text);\n font-size: 1rem;\n font-weight: 500;\n }\n .fs-empty-state-text {\n max-width: 360px;\n margin: 4px 0 20px;\n color: var(--fs-color-muted);\n font-size: 0.75rem;\n }\n}\n@layer components {\n .fs-rating {\n display: inline-flex;\n flex-direction: row-reverse;\n }\n .fs-rating-input {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip-path: inset(50%);\n white-space: nowrap;\n border: 0;\n }\n .fs-rating-star {\n display: flex;\n padding: 2px;\n color: var(--fs-color-border);\n font-size: 24px;\n cursor: pointer;\n }\n .fs-rating-input:checked ~ .fs-rating-star,\n .fs-rating-star:hover,\n .fs-rating-star:hover ~ .fs-rating-star {\n color: var(--fs-color-warning);\n }\n .fs-rating-input:checked ~ .fs-rating-star .fs-icon,\n .fs-rating-star:hover .fs-icon,\n .fs-rating-star:hover ~ .fs-rating-star .fs-icon {\n fill: currentcolor;\n }\n .fs-rating-input:focus-visible + .fs-rating-star {\n border-radius: var(--fs-radius-sm);\n outline: 2px solid var(--fs-color-primary);\n outline-offset: 2px;\n }\n .fs-rating-input:disabled + .fs-rating-star {\n opacity: 0.5;\n pointer-events: none;\n }\n .fs-rating-sm .fs-rating-star {\n font-size: 16px;\n }\n .fs-rating-lg .fs-rating-star {\n font-size: 32px;\n }\n}\n@layer components {\n .fs-tag {\n gap: 0;\n padding: 0 0 0 8px;\n }\n .fs-tag-label {\n min-width: 0;\n }\n .fs-tag-truncate {\n max-inline-size: min(100%, var(--fs-tag-max-inline-size, 20rem));\n }\n .fs-tag-truncate .fs-tag-label {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .fs-tag-icon {\n display: inline-grid;\n width: 12px;\n height: 12px;\n flex: 0 0 12px;\n margin-right: 4px;\n place-items: center;\n }\n .fs-tag-icon .fs-icon {\n width: 12px;\n height: 12px;\n stroke: currentcolor;\n }\n .fs-tag .fs-btn-close {\n width: calc(var(--fs-badge-height) - 2px);\n height: calc(var(--fs-badge-height) - 2px);\n flex: 0 0 calc(var(--fs-badge-height) - 2px);\n margin-left: 4px;\n border-radius: 0;\n background-color: transparent;\n color: inherit;\n opacity: 0.7;\n transition: opacity 0.1s ease-in-out, background-color 0.1s ease-in-out, transform 0.1s ease-in-out;\n }\n .fs-tag .fs-btn-close::before,\n .fs-tag .fs-btn-close::after {\n top: calc(50% + 1px);\n width: 8px;\n }\n .fs-tag .fs-btn-close:hover {\n color: inherit;\n background-color: color-mix(in srgb, currentcolor 18%, transparent);\n opacity: 1;\n }\n .fs-tag .fs-btn-close:active {\n background-color: color-mix(in srgb, currentcolor 28%, transparent);\n transform: scale(0.9);\n }\n .fs-tag-group {\n display: flex;\n flex-wrap: wrap;\n gap: 0;\n }\n .fs-tag:focus-within {\n outline: var(--fs-focus-width) solid var(--fs-color-primary);\n outline-offset: var(--fs-focus-offset);\n border-color: var(--fs-color-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--fs-color-primary) 22%, transparent);\n }\n .fs-tag.is-loading,\n .fs-tag[aria-busy=true] {\n --fs-badge-bg: var(--fs-color-warning);\n --fs-badge-color: var(--fs-color-black);\n --fs-badge-border: transparent;\n cursor: progress;\n }\n .fs-tag.is-loading .fs-spinner,\n .fs-tag[aria-busy=true] .fs-spinner {\n width: 12px;\n height: 12px;\n flex: 0 0 12px;\n margin: 0 6px 0 4px;\n border-width: 2px;\n color: var(--fs-color-black);\n }\n .fs-tag.is-loading .fs-btn-close,\n .fs-tag[aria-busy=true] .fs-btn-close {\n display: none;\n }\n .fs-tag-group .fs-tag + .fs-tag {\n border-inline-start-color: color-mix(in srgb, currentcolor 24%, transparent);\n }\n .fs-tag-group .fs-tag {\n padding-inline-start: calc(var(--fs-badge-height) + 2px);\n transition: background-color 0.1s ease-in-out;\n }\n .fs-tag-group .fs-btn-close {\n pointer-events: none;\n opacity: 0;\n }\n .fs-tag-group .fs-tag:hover .fs-btn-close,\n .fs-tag-group .fs-tag:focus-within .fs-btn-close {\n pointer-events: auto;\n opacity: 0.7;\n }\n .fs-tag-group .fs-tag:hover,\n .fs-tag-group .fs-tag:focus-within {\n background-color: color-mix(in srgb, currentcolor 18%, transparent);\n }\n .fs-tag-overflow {\n --fs-badge-bg: transparent;\n --fs-badge-color: var(--fs-alert-primary-text);\n --fs-badge-border: transparent;\n width: var(--fs-badge-height);\n height: var(--fs-badge-height);\n min-width: var(--fs-badge-height);\n padding: 0;\n border: 0;\n appearance: none;\n cursor: pointer;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n font: inherit;\n line-height: 0;\n }\n .fs-tag-overflow .fs-icon {\n display: block;\n flex: 0 0 13px;\n width: 13px;\n height: 13px;\n stroke: currentcolor;\n }\n .fs-tag-overflow:hover,\n .fs-tag-group .fs-tag-overflow:hover {\n background-color: transparent;\n border-color: transparent;\n }\n .fs-tag-group .fs-tag-overflow {\n padding-inline-start: 0;\n }\n .fs-tag-overflow:focus-visible {\n outline: var(--fs-focus-width) solid var(--fs-color-primary);\n outline-offset: var(--fs-focus-offset);\n border-color: var(--fs-color-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--fs-color-primary) 22%, transparent);\n }\n .fs-tag-group .fs-btn-close:hover {\n color: inherit;\n background-color: transparent;\n opacity: 0.7;\n }\n .fs-tag-protected {\n pointer-events: none;\n }\n .fs-tag-lock {\n display: inline-grid;\n width: calc(var(--fs-badge-height) - 2px);\n height: calc(var(--fs-badge-height) - 2px);\n margin-left: 4px;\n place-items: center;\n }\n .fs-tag-lock svg {\n width: 12px;\n height: 12px;\n stroke: currentcolor;\n stroke-width: 2;\n }\n}\n@layer components {\n .fs-offcanvas {\n position: fixed;\n z-index: var(--fs-z-offcanvas);\n display: flex;\n flex-direction: column;\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface);\n box-shadow: var(--fs-shadow-lg);\n visibility: hidden;\n transition: transform 0.3s ease, visibility 0.3s ease;\n }\n .fs-offcanvas.is-open {\n visibility: visible;\n transform: none;\n }\n .fs-offcanvas-start {\n inset: 0 auto 0 0;\n width: 320px;\n transform: translateX(-100%);\n }\n .fs-offcanvas-end {\n inset: 0 0 0 auto;\n width: 320px;\n transform: translateX(100%);\n }\n .fs-offcanvas-top {\n inset: 0 0 auto;\n height: 40vh;\n transform: translateY(-100%);\n }\n .fs-offcanvas-bottom {\n inset: auto 0 0;\n height: 40vh;\n transform: translateY(100%);\n }\n .fs-offcanvas-backdrop {\n position: fixed;\n inset: 0;\n z-index: calc(var(--fs-z-offcanvas) - 1);\n background-color: rgba(0, 0, 0, 0.5);\n opacity: 0;\n visibility: hidden;\n transition: opacity 0.3s ease, visibility 0.3s ease;\n }\n .fs-offcanvas-backdrop.is-open {\n visibility: visible;\n opacity: 1;\n }\n .fs-offcanvas-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 16px 20px;\n border-bottom: 1px solid var(--fs-color-border);\n }\n .fs-offcanvas-title {\n margin: 0;\n font-size: 1rem;\n font-weight: 500;\n }\n .fs-offcanvas-body {\n flex: 1 1 auto;\n padding: 20px;\n overflow-y: auto;\n }\n .fs-offcanvas-footer {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: 8px;\n padding: 16px 20px;\n border-top: 1px solid var(--fs-color-border);\n }\n @media (prefers-reduced-motion: reduce) {\n .fs-offcanvas,\n .fs-offcanvas-backdrop {\n transition: none;\n }\n }\n}\n@layer components {\n .fs-accordion {\n display: flex;\n flex-direction: column;\n }\n .fs-accordion-item {\n overflow: hidden;\n border: 1px solid var(--fs-color-border);\n background-color: var(--fs-color-surface-raised);\n }\n .fs-accordion-item + .fs-accordion-item {\n border-top: none;\n }\n .fs-accordion-item:first-child {\n border-top-left-radius: var(--fs-radius-md);\n border-top-right-radius: var(--fs-radius-md);\n }\n .fs-accordion-item:last-child {\n border-bottom-right-radius: var(--fs-radius-md);\n border-bottom-left-radius: var(--fs-radius-md);\n }\n .fs-accordion-header {\n margin: 0;\n }\n .fs-accordion-button {\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n padding: 14px 16px;\n border: none;\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface);\n font-size: 0.8125rem;\n font-weight: 500;\n text-align: left;\n cursor: pointer;\n }\n .fs-accordion-button:hover {\n background-color: var(--fs-color-subtle);\n }\n .fs-accordion-button:focus-visible {\n outline: var(--fs-focus-width) solid var(--fs-color-primary);\n outline-offset: var(--fs-focus-offset);\n border-color: var(--fs-color-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--fs-color-primary) 22%, transparent);\n }\n .fs-accordion-button::after {\n flex-shrink: 0;\n width: 8px;\n height: 8px;\n margin-left: 12px;\n content: \"\";\n border-right: 2px solid currentcolor;\n border-bottom: 2px solid currentcolor;\n transform: rotate(45deg);\n transition: transform 0.2s ease-in-out;\n }\n .fs-accordion-button[aria-expanded=true]::after {\n transform: rotate(-135deg);\n }\n .fs-accordion-collapse {\n overflow: hidden;\n }\n .fs-accordion-body {\n padding: 16px;\n border-top: 1px solid var(--fs-color-border);\n background-color: var(--fs-color-surface-raised);\n }\n}\n@layer components {\n .fs-tabs {\n display: flex;\n border-bottom: var(--fs-border-width) solid var(--fs-color-border-default);\n }\n .fs-tabs .fs-nav-link {\n margin-bottom: -1px;\n border-bottom: 2px solid transparent;\n border-radius: var(--fs-radius-sm) var(--fs-radius-sm) 0 0;\n }\n .fs-tabs .fs-nav-link.is-active {\n border-bottom-color: var(--fs-color-primary);\n }\n .fs-tabs-pill {\n gap: 4px;\n border-bottom: none;\n }\n .fs-tabs-pill .fs-nav-link {\n margin-bottom: 0;\n border-bottom: none;\n border-radius: var(--fs-radius-sm);\n }\n .fs-tabs-pill .fs-nav-link.is-active {\n color: var(--fs-color-on-primary);\n background-color: var(--fs-color-primary);\n }\n .fs-tabs-depth {\n gap: 2px;\n padding: 4px 4px 0;\n background-color: var(--fs-color-subtle);\n }\n .fs-tabs-depth .fs-nav-link {\n margin-bottom: -1px;\n border: 1px solid transparent;\n border-bottom: none;\n border-radius: var(--fs-radius-sm) var(--fs-radius-sm) 0 0;\n }\n .fs-tabs-depth .fs-nav-link.is-active {\n border-color: var(--fs-color-border);\n background-color: var(--fs-color-surface);\n }\n .fs-tabs-center {\n justify-content: center;\n }\n .fs-tabs-right {\n justify-content: flex-end;\n }\n .fs-tabs-fill .fs-nav-link {\n flex: 1;\n justify-content: center;\n text-align: center;\n }\n .fs-tabs-sm .fs-nav-link {\n padding: 6px 10px;\n font-size: 0.75rem;\n }\n .fs-tabs-lg .fs-nav-link {\n padding: 10px 16px;\n font-size: 1rem;\n }\n .fs-tab-content > .fs-tab-pane {\n display: none;\n }\n .fs-tab-content > .fs-tab-pane.is-active {\n display: block;\n }\n}\n@layer components {\n .fs-tooltip {\n position: absolute;\n z-index: var(--fs-z-tooltip);\n display: none;\n max-width: 220px;\n }\n .fs-tooltip.is-open {\n display: block;\n }\n .fs-tooltip-inner {\n padding: 6px 10px;\n border-radius: var(--fs-radius-sm);\n color: var(--fs-tooltip-text);\n background-color: var(--fs-tooltip-bg);\n font-size: 0.6875rem;\n text-align: center;\n }\n .fs-tooltip-arrow {\n position: absolute;\n width: 8px;\n height: 8px;\n background-color: var(--fs-tooltip-bg);\n transform: rotate(45deg);\n }\n .fs-tooltip[data-placement=top] .fs-tooltip-arrow {\n bottom: -4px;\n left: 50%;\n margin-left: -4px;\n }\n .fs-tooltip[data-placement=bottom] .fs-tooltip-arrow {\n top: -4px;\n left: 50%;\n margin-left: -4px;\n }\n .fs-tooltip[data-placement=left] .fs-tooltip-arrow {\n top: 50%;\n right: -4px;\n margin-top: -4px;\n }\n .fs-tooltip[data-placement=right] .fs-tooltip-arrow {\n top: 50%;\n left: -4px;\n margin-top: -4px;\n }\n}\n@layer components {\n .fs-popover {\n position: absolute;\n z-index: var(--fs-z-offcanvas);\n display: none;\n max-width: 280px;\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface);\n border: 1px solid var(--fs-color-border);\n border-radius: var(--fs-radius-md);\n box-shadow: var(--fs-shadow-md);\n }\n .fs-popover.is-open {\n display: block;\n }\n .fs-popover-header {\n padding: 10px 14px;\n background-color: var(--fs-color-subtle);\n border-bottom: 1px solid var(--fs-color-border);\n border-radius: var(--fs-radius-md) var(--fs-radius-md) 0 0;\n font-size: 0.75rem;\n font-weight: 500;\n }\n .fs-popover-body {\n padding: 14px;\n font-size: 0.75rem;\n }\n .fs-popover-footer {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: 8px;\n padding: 10px 14px;\n border-top: 1px solid var(--fs-color-border);\n }\n .fs-popover-arrow {\n position: absolute;\n width: 8px;\n height: 8px;\n background-color: var(--fs-color-surface);\n border: 1px solid var(--fs-color-border);\n transform: rotate(45deg);\n }\n .fs-popover[data-placement=top] .fs-popover-arrow {\n bottom: -5px;\n left: 50%;\n margin-left: -4px;\n border-top: 0;\n border-left: 0;\n }\n .fs-popover[data-placement=bottom] .fs-popover-arrow {\n top: -5px;\n left: 50%;\n margin-left: -4px;\n border-right: 0;\n border-bottom: 0;\n }\n .fs-popover[data-placement=left] .fs-popover-arrow {\n top: 50%;\n right: -5px;\n margin-top: -4px;\n border-bottom: 0;\n border-left: 0;\n }\n .fs-popover[data-placement=right] .fs-popover-arrow {\n top: 50%;\n left: -5px;\n margin-top: -4px;\n border-top: 0;\n border-right: 0;\n }\n .fs-popover-hover-card {\n max-width: 320px;\n }\n .fs-popover-hover-card .fs-popover-body {\n display: flex;\n gap: 12px;\n }\n}\n@layer components {\n .fs-toast-container {\n position: fixed;\n right: 16px;\n bottom: 16px;\n z-index: var(--fs-z-toast);\n display: flex;\n flex-direction: column;\n gap: 8px;\n width: min(360px, 100%);\n max-width: calc(100vw - 2 * var(--fs-space-3));\n }\n .fs-toast {\n display: flex;\n overflow: hidden;\n flex-direction: column;\n border: 1px solid var(--fs-color-border);\n border-radius: var(--fs-radius-md);\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface);\n box-shadow: var(--fs-shadow-md);\n }\n .fs-toast-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 10px 12px;\n border-bottom: 1px solid var(--fs-color-border);\n font-size: 0.75rem;\n font-weight: 500;\n }\n .fs-toast-body {\n padding: 12px;\n font-size: 0.75rem;\n }\n .fs-toast-primary .fs-toast-header {\n color: var(--fs-alert-primary-text);\n background-color: var(--fs-alert-primary-bg);\n }\n .fs-toast-secondary .fs-toast-header {\n color: var(--fs-alert-secondary-text);\n background-color: var(--fs-alert-secondary-bg);\n }\n .fs-toast-success .fs-toast-header {\n color: var(--fs-alert-success-text);\n background-color: var(--fs-alert-success-bg);\n }\n .fs-toast-warning .fs-toast-header {\n color: var(--fs-alert-warning-text);\n background-color: var(--fs-alert-warning-bg);\n }\n .fs-toast-danger .fs-toast-header {\n color: var(--fs-alert-danger-text);\n background-color: var(--fs-alert-danger-bg);\n }\n .fs-toast-info .fs-toast-header {\n color: var(--fs-alert-info-text);\n background-color: var(--fs-alert-info-bg);\n }\n}\n@layer components {\n .fs-pagination {\n display: flex;\n gap: 0.25rem;\n margin: 0;\n padding: 0;\n list-style: none;\n }\n .fs-page-link {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-width: 32px;\n height: 32px;\n padding: 0 8px;\n border: 1px solid var(--fs-color-border);\n border-radius: var(--fs-radius-sm);\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface);\n text-decoration: none;\n transition: background-color 0.15s ease-in-out;\n }\n .fs-page-link:hover {\n background-color: var(--fs-color-subtle);\n }\n .fs-page-link:focus-visible {\n outline: var(--fs-focus-width) solid var(--fs-color-primary);\n outline-offset: var(--fs-focus-offset);\n border-color: var(--fs-color-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--fs-color-primary) 22%, transparent);\n }\n .fs-page-item.is-active .fs-page-link {\n color: var(--fs-color-on-primary);\n background-color: var(--fs-color-primary);\n border-color: var(--fs-color-primary);\n }\n .fs-page-item.is-disabled .fs-page-link {\n color: var(--fs-color-muted);\n opacity: 0.6;\n pointer-events: none;\n }\n .fs-pagination-bordered {\n gap: 0;\n }\n .fs-pagination-bordered .fs-page-link {\n border-radius: 0;\n }\n .fs-pagination-bordered .fs-page-item:not(:first-child) .fs-page-link {\n margin-left: -1px;\n }\n .fs-pagination-bordered .fs-page-item:first-child .fs-page-link {\n border-top-left-radius: var(--fs-radius-sm);\n border-bottom-left-radius: var(--fs-radius-sm);\n }\n .fs-pagination-bordered .fs-page-item:last-child .fs-page-link {\n border-top-right-radius: var(--fs-radius-sm);\n border-bottom-right-radius: var(--fs-radius-sm);\n }\n .fs-pagination-bordered .fs-page-link:hover,\n .fs-pagination-bordered .fs-page-item.is-active .fs-page-link {\n position: relative;\n z-index: 1;\n }\n .fs-pagination-sm .fs-page-link {\n min-width: 26px;\n height: 26px;\n padding: 0 6px;\n font-size: 0.6875rem;\n }\n .fs-pagination-lg .fs-page-link {\n min-width: 40px;\n height: 40px;\n padding: 0 12px;\n font-size: 0.8125rem;\n }\n .fs-page-link-text {\n gap: 6px;\n padding: 0 14px;\n }\n}\n@layer components {\n .fs-breadcrumb {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: 4px;\n margin: 0;\n padding: 0;\n list-style: none;\n font-size: 0.75rem;\n }\n .fs-breadcrumb-item {\n display: flex;\n align-items: center;\n gap: 4px;\n color: var(--fs-color-muted);\n }\n .fs-breadcrumb-item + .fs-breadcrumb-item::before {\n color: var(--fs-color-muted);\n content: \"/\";\n }\n .fs-breadcrumb-item a {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n color: var(--fs-alert-primary-text);\n text-decoration: none;\n }\n .fs-breadcrumb-item a:hover {\n text-decoration: underline;\n }\n .fs-breadcrumb-item.is-active {\n color: var(--fs-color-text);\n }\n .fs-breadcrumb-item-truncate {\n display: inline-block;\n max-width: 160px;\n vertical-align: bottom;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .fs-breadcrumb-more {\n padding: 0;\n border: none;\n color: var(--fs-color-muted);\n background-color: var(--fs-color-surface-raised);\n font-size: inherit;\n font-family: inherit;\n line-height: inherit;\n cursor: pointer;\n }\n .fs-breadcrumb-more:hover {\n color: var(--fs-color-text);\n }\n}\n@layer components {\n .fs-spinner {\n --fs-spinner-size: 20px;\n --fs-spinner-stroke: 2px;\n --fs-spinner-duration: 0.8s;\n display: inline-block;\n box-sizing: border-box;\n width: var(--fs-spinner-size);\n height: var(--fs-spinner-size);\n vertical-align: middle;\n border: var(--fs-spinner-stroke) solid color-mix(in srgb, currentcolor 20%, transparent);\n border-top-color: currentcolor;\n border-radius: 50%;\n animation: fokus-spin var(--fs-spinner-duration) linear infinite;\n will-change: transform;\n }\n .fs-spinner-sm {\n --fs-spinner-size: 14px;\n --fs-spinner-stroke: 2px;\n }\n .fs-spinner-lg {\n --fs-spinner-size: 32px;\n --fs-spinner-stroke: 3px;\n }\n .fs-spinner-primary {\n color: var(--fs-color-primary);\n }\n .fs-spinner-secondary {\n color: var(--fs-color-secondary);\n }\n .fs-spinner-success {\n color: var(--fs-color-success);\n }\n .fs-spinner-warning {\n color: var(--fs-color-warning);\n }\n .fs-spinner-danger {\n color: var(--fs-color-danger);\n }\n .fs-spinner-info {\n color: var(--fs-color-info);\n }\n @keyframes fokus-spin {\n to {\n transform: rotate(360deg);\n }\n }\n .fs-progress {\n --fs-progress-height: 8px;\n --fs-progress-track: var(--fs-color-subtle);\n --fs-progress-radius: 0;\n position: relative;\n display: flex;\n height: var(--fs-progress-height);\n overflow: hidden;\n background-color: var(--fs-progress-track);\n border-radius: var(--fs-progress-radius);\n }\n .fs-progress-bar {\n --fs-progress-bar-bg: var(--fs-color-primary);\n --fs-progress-color: var(--fs-color-on-primary);\n display: flex;\n align-items: center;\n justify-content: center;\n width: calc(var(--fs-progress-value, 0) * 1%);\n height: 100%;\n min-width: 0;\n overflow: hidden;\n color: var(--fs-progress-color);\n background-color: var(--fs-progress-bar-bg);\n font-size: 0;\n line-height: 1;\n text-overflow: ellipsis;\n white-space: nowrap;\n transition: width 0.25s ease-out;\n }\n .fs-progress-bar-primary {\n --fs-progress-bar-bg: var(--fs-color-primary);\n --fs-progress-color: #ffffff;\n }\n .fs-progress-bar-secondary {\n --fs-progress-bar-bg: var(--fs-color-secondary);\n --fs-progress-color: #ffffff;\n }\n .fs-progress-bar-success {\n --fs-progress-bar-bg: var(--fs-color-success);\n --fs-progress-color: #000000;\n }\n .fs-progress-bar-warning {\n --fs-progress-bar-bg: var(--fs-color-warning);\n --fs-progress-color: #000000;\n }\n .fs-progress-bar-danger {\n --fs-progress-bar-bg: var(--fs-color-danger);\n --fs-progress-color: #ffffff;\n }\n .fs-progress-bar-info {\n --fs-progress-bar-bg: var(--fs-color-info);\n --fs-progress-color: #ffffff;\n }\n .fs-progress-sm {\n --fs-progress-height: 4px;\n }\n .fs-progress-lg {\n --fs-progress-height: 16px;\n }\n .fs-progress-lg .fs-progress-bar {\n padding-inline: 6px;\n font-size: 0.6875rem;\n }\n .fs-progress-meta {\n display: flex;\n align-items: baseline;\n justify-content: space-between;\n gap: 12px;\n max-width: 480px;\n margin-bottom: 6px;\n color: var(--fs-color-text);\n font-size: 0.75rem;\n }\n .fs-progress-value {\n color: var(--fs-color-muted);\n font-variant-numeric: tabular-nums;\n }\n .fs-progress-indeterminate .fs-progress-bar {\n width: 36%;\n animation: fokus-progress-indeterminate 1.25s ease-in-out infinite;\n }\n .fs-progress-indeterminate {\n --fs-progress-track: color-mix(in srgb, var(--fs-color-primary) 18%, transparent);\n }\n @keyframes fokus-progress-indeterminate {\n from {\n transform: translateX(-110%);\n }\n to {\n transform: translateX(290%);\n }\n }\n .fs-progress-complete .fs-progress-bar {\n --fs-progress-bar-bg: var(--fs-color-success);\n --fs-progress-color: #000000;\n }\n .fs-progress-error .fs-progress-bar {\n --fs-progress-bar-bg: var(--fs-color-danger);\n --fs-progress-color: #ffffff;\n }\n .fs-progress-status {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n margin-top: 6px;\n color: var(--fs-color-muted);\n font-size: 0.75rem;\n }\n .fs-progress-status-icon {\n display: inline-grid;\n width: 14px;\n height: 14px;\n place-items: center;\n color: var(--fs-alert-success-text);\n }\n .fs-progress-status-icon .fs-icon {\n width: 14px;\n height: 14px;\n stroke: currentcolor;\n }\n .fs-progress-status-danger,\n .fs-progress-error + .fs-progress-status {\n color: var(--fs-alert-danger-text);\n }\n .fs-progress-marker {\n position: absolute;\n z-index: 1;\n top: 0;\n bottom: 0;\n left: calc(var(--fs-progress-marker-value) * 1%);\n width: 2px;\n background-color: var(--fs-color-text);\n pointer-events: none;\n transform: translateX(-1px);\n }\n .fs-progress-minimum .fs-progress-bar {\n width: max(var(--fs-progress-value, 0) * 1%, 4px);\n }\n .fs-progress-bar-striped {\n background-image: linear-gradient(45deg, color-mix(in srgb, currentcolor 16%, transparent) 25%, transparent 25%, transparent 50%, color-mix(in srgb, currentcolor 16%, transparent) 50%, color-mix(in srgb, currentcolor 16%, transparent) 75%, transparent 75%, transparent);\n background-size: 16px 16px;\n }\n .fs-progress-bar-animated {\n animation: fokus-progress-stripes 1s linear infinite;\n }\n @keyframes fokus-progress-stripes {\n from {\n background-position: 16px 0;\n }\n to {\n background-position: 0 0;\n }\n }\n @media (prefers-reduced-motion: reduce) {\n .fs-spinner {\n --fs-spinner-duration: 1.5s;\n }\n .fs-progress-bar-animated {\n animation-duration: 1.5s;\n }\n .fs-progress-indeterminate .fs-progress-bar {\n animation-duration: 1.8s;\n }\n }\n}\n@layer components {\n .fs-carousel {\n --fs-carousel-radius: var(--fs-radius-md);\n --fs-carousel-transition-duration: var(--fs-transition-normal);\n --fs-carousel-transition-easing: var(--fs-ease-standard);\n --fs-carousel-control-size: 44px;\n --fs-carousel-control-inset: var(--fs-space-2);\n --fs-carousel-control-gap: var(--fs-space-1);\n --fs-carousel-control-color: var(--fs-color-white);\n --fs-carousel-control-paused-color: var(--fs-color-warning);\n --fs-carousel-control-bg: rgb(15 23 42 / 72%);\n --fs-carousel-control-bg-hover: rgb(15 23 42 / 88%);\n --fs-carousel-focus-color: var(--fs-color-white);\n --fs-carousel-indicator-size: 8px;\n --fs-carousel-indicator-active-width: 24px;\n --fs-carousel-indicator-color: rgb(255 255 255 / 62%);\n --fs-carousel-indicator-active-color: var(--fs-color-white);\n --fs-carousel-caption-scrim: rgb(15 23 42 / 78%);\n --fs-carousel-top-safe-area: calc(var(--fs-carousel-control-size) + (var(--fs-carousel-control-inset) * 2));\n --fs-carousel-bottom-safe-area: calc(32px + var(--fs-space-2) + 24px);\n --fs-carousel-progress-height: 3px;\n position: relative;\n overflow: hidden;\n border-radius: var(--fs-carousel-radius);\n }\n .fs-carousel::before {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n height: calc(var(--fs-carousel-control-size) + var(--fs-carousel-control-inset) * 2);\n pointer-events: none;\n content: \"\";\n background: linear-gradient(to bottom, rgba(15, 23, 42, 0.76), rgba(15, 23, 42, 0.32));\n opacity: 0;\n transition: opacity var(--fs-transition-fast) var(--fs-ease-standard);\n }\n .fs-carousel-inner {\n display: flex;\n transition: transform var(--fs-carousel-transition-duration) var(--fs-carousel-transition-easing);\n }\n .fs-carousel-item {\n position: relative;\n flex: 0 0 100%;\n width: 100%;\n }\n .fs-carousel-item img {\n display: block;\n width: 100%;\n }\n .fs-carousel.is-dragging .fs-carousel-inner {\n cursor: grabbing;\n transition: none;\n user-select: none;\n }\n .fs-carousel:not(.is-static) .fs-carousel-inner {\n cursor: grab;\n touch-action: pan-y;\n }\n .fs-carousel-fade .fs-carousel-inner {\n display: block;\n transform: none;\n }\n .fs-carousel-fade .fs-carousel-item {\n position: absolute;\n inset: 0;\n opacity: 0;\n transition: opacity var(--fs-carousel-transition-duration) var(--fs-carousel-transition-easing);\n }\n .fs-carousel-fade .fs-carousel-item.is-active {\n position: relative;\n opacity: 1;\n }\n .fs-carousel-control-prev,\n .fs-carousel-control-next,\n .fs-carousel-control-toggle {\n position: absolute;\n top: var(--fs-carousel-control-inset);\n z-index: 2;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--fs-carousel-control-size);\n height: var(--fs-carousel-control-size);\n padding: 0;\n color: var(--fs-carousel-control-color);\n background-color: transparent;\n background-repeat: no-repeat;\n background-position: center;\n background-size: 18px 18px;\n border: 0;\n border-radius: 0;\n cursor: pointer;\n opacity: 0;\n transition: background-color var(--fs-transition-fast) var(--fs-ease-standard), opacity var(--fs-transition-fast) var(--fs-ease-standard), transform var(--fs-transition-fast) var(--fs-ease-standard);\n }\n .fs-carousel-control-prev,\n .fs-carousel-control-next {\n transform: none;\n }\n .fs-carousel-control-prev {\n left: var(--fs-carousel-control-inset);\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 4 6 9l5 5'/%3E%3C/svg%3E\");\n }\n .fs-carousel-control-next {\n left: calc(var(--fs-carousel-control-inset) + var(--fs-carousel-control-size) + var(--fs-carousel-control-gap));\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 4 5 5-5 5'/%3E%3C/svg%3E\");\n }\n .fs-carousel-control-toggle {\n left: calc(var(--fs-carousel-control-inset) + var(--fs-carousel-control-size) + var(--fs-carousel-control-gap));\n }\n .fs-carousel:has(.fs-carousel-control-toggle) .fs-carousel-control-next {\n left: calc(var(--fs-carousel-control-inset) + (var(--fs-carousel-control-size) + var(--fs-carousel-control-gap)) * 2);\n }\n .fs-carousel-control-toggle[aria-pressed=true] {\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M7 5v8M11 5v8'/%3E%3C/svg%3E\");\n }\n .fs-carousel-control-toggle[aria-pressed=false] {\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='%23ffffff'%3E%3Cpath d='m7 4 7 5-7 5z'/%3E%3C/svg%3E\");\n }\n .fs-carousel.is-autoplay-paused .fs-carousel-control-toggle[aria-pressed=true] {\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='%23f0b40e' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M7 5v8M11 5v8'/%3E%3C/svg%3E\");\n }\n .fs-carousel.is-autoplay-paused .fs-carousel-control-toggle[aria-pressed=false] {\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='%23f0b40e'%3E%3Cpath d='m7 4 7 5-7 5z'/%3E%3C/svg%3E\");\n }\n .fs-carousel-control-prev:hover,\n .fs-carousel-control-next:hover,\n .fs-carousel-control-toggle:hover {\n background-color: var(--fs-carousel-control-bg-hover);\n }\n .fs-carousel-control-prev:active,\n .fs-carousel-control-next:active,\n .fs-carousel-control-toggle:active {\n transform: scale(0.94);\n }\n .fs-carousel-control-prev:focus-visible,\n .fs-carousel-control-next:focus-visible,\n .fs-carousel-control-toggle:focus-visible,\n .fs-carousel-indicators button:focus-visible {\n outline: var(--fs-focus-width) solid var(--fs-carousel-focus-color);\n outline-offset: var(--fs-focus-offset);\n border-color: var(--fs-carousel-focus-color);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--fs-carousel-focus-color) 22%, transparent);\n }\n .fs-carousel:hover .fs-carousel-control-prev,\n .fs-carousel:hover .fs-carousel-control-next,\n .fs-carousel:hover .fs-carousel-control-toggle,\n .fs-carousel:focus-within .fs-carousel-control-prev,\n .fs-carousel:focus-within .fs-carousel-control-next,\n .fs-carousel:focus-within .fs-carousel-control-toggle {\n opacity: 1;\n }\n .fs-carousel:hover::before,\n .fs-carousel:focus-within::before {\n opacity: 1;\n }\n .fs-carousel-indicators {\n position: absolute;\n right: 0;\n bottom: var(--fs-space-2);\n left: 0;\n z-index: 1;\n display: flex;\n justify-content: center;\n gap: 0;\n margin: 0;\n padding: 0;\n list-style: none;\n }\n .fs-carousel-indicators button {\n position: relative;\n display: grid;\n width: 28px;\n height: 32px;\n padding: 0;\n place-items: center;\n background: transparent;\n border: 0;\n cursor: pointer;\n }\n .fs-carousel-indicators button::before {\n width: var(--fs-carousel-indicator-size);\n height: var(--fs-carousel-indicator-size);\n content: \"\";\n background-color: var(--fs-carousel-indicator-color);\n border-radius: var(--fs-radius-lg);\n transition: width var(--fs-transition-fast) var(--fs-ease-standard), background-color var(--fs-transition-fast) var(--fs-ease-standard);\n }\n .fs-carousel-indicators button.is-active::before {\n width: var(--fs-carousel-indicator-active-width);\n background-color: var(--fs-carousel-indicator-active-color);\n }\n .fs-carousel-caption {\n position: absolute;\n right: 0;\n bottom: var(--fs-carousel-bottom-safe-area);\n left: 0;\n z-index: 1;\n box-sizing: border-box;\n max-width: min(100%, 42rem);\n max-block-size: calc(100% - var(--fs-carousel-top-safe-area) - var(--fs-carousel-bottom-safe-area));\n isolation: isolate;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: var(--fs-space-2);\n padding: calc(var(--fs-space-4) + 20px) var(--fs-space-4) var(--fs-space-3);\n color: var(--fs-color-white);\n }\n .fs-carousel-caption::before {\n position: absolute;\n top: 0;\n right: 0;\n bottom: calc(var(--fs-carousel-bottom-safe-area) * -1);\n left: 0;\n z-index: -1;\n content: \"\";\n background: linear-gradient(to top, var(--fs-carousel-caption-scrim), transparent);\n }\n .fs-carousel-caption > * {\n margin: 0;\n }\n .fs-carousel-caption .fs-btn {\n --fs-btn-color: var(--fs-color-text-primary);\n --fs-btn-bg: var(--fs-color-white);\n --fs-btn-border-color: var(--fs-color-white);\n --fs-btn-hover-bg: var(--fs-color-subtle);\n --fs-btn-active-bg: var(--fs-color-border-default);\n }\n .fs-carousel-caption-side .fs-carousel-caption {\n top: var(--fs-carousel-top-safe-area);\n right: 0;\n bottom: 0;\n left: auto;\n width: min(42%, 28rem);\n max-width: none;\n max-block-size: none;\n padding: var(--fs-space-4) var(--fs-space-4) calc(var(--fs-carousel-bottom-safe-area) + var(--fs-space-2));\n background: rgba(15, 23, 42, 0.84);\n }\n .fs-carousel-caption-side .fs-carousel-caption-start {\n right: auto;\n left: 0;\n }\n .fs-carousel-caption-side .fs-carousel-caption::before,\n .fs-carousel-caption-stacked .fs-carousel-caption::before {\n display: none;\n }\n .fs-carousel-caption-stacked {\n --fs-carousel-bottom-safe-area: 0px;\n }\n .fs-carousel-caption-stacked .fs-carousel-caption {\n position: static;\n max-width: none;\n max-block-size: none;\n overflow: visible;\n padding: var(--fs-space-4);\n color: var(--fs-color-text-primary);\n background: var(--fs-color-bg-surface);\n }\n .fs-carousel-caption-stacked .fs-carousel-indicators {\n position: relative;\n bottom: auto;\n background: var(--fs-color-bg-surface);\n }\n .fs-carousel-counter {\n position: absolute;\n right: var(--fs-space-3);\n bottom: var(--fs-space-2);\n z-index: 2;\n color: var(--fs-color-white);\n font-size: 0.75rem;\n font-variant-numeric: tabular-nums;\n }\n .fs-carousel-progress {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 2;\n height: var(--fs-carousel-progress-height);\n overflow: hidden;\n background-color: rgba(255, 255, 255, 0.24);\n }\n .fs-carousel-progress > span {\n display: block;\n width: 100%;\n height: 100%;\n background-color: var(--fs-color-white);\n transform: scaleX(0);\n transform-origin: left;\n }\n .fs-carousel-progress.is-running > span {\n animation: fs-carousel-progress var(--fs-carousel-progress-duration, 5000ms) linear forwards;\n }\n .fs-carousel.is-two-slides.fs-carousel-hide-indicators-two .fs-carousel-indicators {\n display: none;\n }\n .fs-carousel-no-media .fs-carousel-item {\n min-block-size: 15rem;\n background-color: var(--fs-color-bg-surface);\n border: var(--fs-border-width) solid var(--fs-color-border-default);\n }\n .fs-carousel-no-media .fs-carousel-counter {\n color: var(--fs-color-text-muted);\n }\n .fs-carousel-no-media .fs-carousel-progress {\n background-color: var(--fs-color-border-default);\n }\n .fs-carousel-no-media .fs-carousel-progress > span {\n background-color: var(--fs-color-action-primary);\n }\n .fs-carousel-media-placeholder {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n min-height: inherit;\n padding: calc(var(--fs-carousel-top-safe-area) + var(--fs-space-4)) var(--fs-space-4) calc(var(--fs-carousel-bottom-safe-area) + var(--fs-space-4));\n }\n .fs-carousel-media-placeholder > * {\n max-width: 36rem;\n margin: 0;\n }\n .fs-carousel-media-placeholder > * + * {\n margin-top: var(--fs-space-2);\n }\n .fs-carousel-media {\n min-block-size: 18rem;\n background-position: center;\n background-size: cover;\n }\n .fs-carousel.is-static .fs-carousel-control-prev,\n .fs-carousel.is-static .fs-carousel-control-next,\n .fs-carousel.is-static .fs-carousel-control-toggle,\n .fs-carousel.is-static .fs-carousel-indicators {\n display: none;\n }\n @media (max-width: 639px) {\n .fs-carousel {\n --fs-carousel-control-inset: var(--fs-space-1);\n }\n .fs-carousel-caption {\n padding: calc(var(--fs-space-3) + 20px) var(--fs-space-3) var(--fs-space-3);\n }\n .fs-carousel-caption-side .fs-carousel-caption {\n top: auto;\n bottom: var(--fs-carousel-bottom-safe-area);\n width: auto;\n max-block-size: calc(100% - var(--fs-carousel-top-safe-area) - var(--fs-carousel-bottom-safe-area));\n overflow: clip;\n align-items: flex-end;\n padding: calc(var(--fs-space-3) + 20px) var(--fs-space-3) calc(var(--fs-carousel-bottom-safe-area) + var(--fs-space-2));\n text-align: end;\n background: transparent;\n }\n .fs-carousel-caption-side .fs-carousel-caption-start {\n right: 0;\n left: 0;\n align-items: flex-start;\n text-align: start;\n }\n .fs-carousel-caption-side .fs-carousel-item::after {\n position: absolute;\n inset: 0;\n z-index: 0;\n pointer-events: none;\n content: \"\";\n background: linear-gradient(to top, var(--fs-carousel-caption-scrim) 0%, rgba(15, 23, 42, 0.52) 56%, transparent 100%);\n }\n }\n @media (prefers-reduced-motion: reduce) {\n .fs-carousel-inner,\n .fs-carousel-fade .fs-carousel-item,\n .fs-carousel-control-prev,\n .fs-carousel-control-next,\n .fs-carousel-control-toggle,\n .fs-carousel-indicators button::before,\n .fs-carousel-progress.is-running > span {\n transition: none;\n animation: none;\n transform: scaleX(1);\n }\n }\n @keyframes fs-carousel-progress {\n to {\n transform: scaleX(1);\n }\n }\n}\n@layer components {\n .fs-stepper-header {\n display: flex;\n margin: 0;\n padding: 0;\n list-style: none;\n }\n .fs-step {\n position: relative;\n display: flex;\n flex: 1 1 0;\n flex-direction: column;\n align-items: center;\n gap: 8px;\n text-align: center;\n }\n .fs-step-indicator {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n color: var(--fs-color-muted);\n background-color: var(--fs-color-surface);\n border: 2px solid var(--fs-color-border);\n border-radius: 50%;\n font-size: 0.75rem;\n font-weight: 500;\n }\n .fs-step-label {\n color: var(--fs-color-muted);\n font-size: 0.75rem;\n font-weight: 500;\n }\n .fs-step-description {\n color: var(--fs-color-muted);\n font-size: 0.6875rem;\n }\n .fs-step:not(:last-child)::after {\n content: \"\";\n position: absolute;\n top: 15px;\n left: calc(50% + 20px);\n width: calc(100% - 40px);\n height: 2px;\n background-color: var(--fs-color-border);\n }\n .fs-step-active .fs-step-indicator {\n color: var(--fs-color-on-primary);\n background-color: var(--fs-color-primary);\n border-color: var(--fs-color-primary);\n }\n .fs-step-active .fs-step-label {\n color: var(--fs-color-text);\n }\n .fs-step-completed .fs-step-indicator {\n color: transparent;\n background-color: var(--fs-color-primary);\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 8.5 6.5 12 13 4'/%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n background-position: center;\n border-color: var(--fs-color-primary);\n }\n .fs-step-completed .fs-step-label {\n color: var(--fs-color-text);\n }\n .fs-step-completed:not(:last-child)::after {\n background-color: var(--fs-color-primary);\n }\n .fs-step-error .fs-step-indicator {\n color: #ffffff;\n background-color: var(--fs-color-danger);\n border-color: var(--fs-color-danger);\n }\n .fs-step-error .fs-step-label {\n color: var(--fs-alert-danger-text);\n }\n .fs-step.fs-step-clickable {\n cursor: pointer;\n }\n .fs-step.fs-step-clickable:focus-visible {\n outline: 2px solid var(--fs-color-primary);\n outline-offset: 2px;\n border-radius: var(--fs-radius-sm);\n }\n .fs-stepper-vertical .fs-stepper-header {\n flex-direction: column;\n }\n .fs-stepper-vertical .fs-step {\n flex-direction: row;\n flex: 0 0 auto;\n align-items: flex-start;\n gap: 12px;\n min-height: 56px;\n text-align: left;\n }\n .fs-stepper-vertical .fs-step-content {\n display: flex;\n flex-direction: column;\n gap: 2px;\n padding-top: 5px;\n }\n .fs-stepper-vertical .fs-step:not(:last-child)::after {\n top: 34px;\n left: 15px;\n width: 2px;\n height: calc(100% - 22px);\n }\n .fs-step-panel {\n display: none;\n }\n .fs-step-panel.is-active {\n display: block;\n }\n .fs-stepper-content {\n margin-top: 20px;\n }\n .fs-stepper-actions {\n display: flex;\n justify-content: space-between;\n gap: 8px;\n margin-top: 20px;\n }\n}\n@layer components {\n .fs-segmented-control {\n display: inline-flex;\n border: 1px solid var(--fs-color-border);\n border-radius: var(--fs-radius-sm);\n overflow: hidden;\n }\n .fs-segmented-item {\n display: flex;\n }\n .fs-segmented-item:not(:first-child) .fs-segmented-label {\n border-left: 1px solid var(--fs-color-border);\n }\n .fs-segmented-input {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip-path: inset(50%);\n white-space: nowrap;\n border: 0;\n }\n .fs-segmented-label {\n display: inline-flex;\n flex: 1;\n align-items: center;\n justify-content: center;\n min-height: 38px;\n padding: 0 12px;\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface);\n font-size: 0.8125rem;\n font-weight: 500;\n text-align: center;\n white-space: nowrap;\n cursor: pointer;\n user-select: none;\n transition: background-color 0.15s ease-in-out, color 0.15s ease-in-out;\n }\n .fs-segmented-label:hover {\n background-color: var(--fs-color-subtle);\n }\n .fs-segmented-input:checked + .fs-segmented-label {\n color: var(--fs-color-on-primary);\n background-color: var(--fs-color-primary);\n }\n .fs-segmented-input:focus-visible + .fs-segmented-label {\n position: relative;\n z-index: 1;\n outline: var(--fs-focus-width) solid var(--fs-color-primary);\n outline-offset: var(--fs-focus-offset);\n border-color: var(--fs-color-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--fs-color-primary) 22%, transparent);\n }\n .fs-segmented-input:disabled + .fs-segmented-label {\n opacity: 0.4;\n pointer-events: none;\n }\n .fs-segmented-control-sm .fs-segmented-label {\n min-height: 30px;\n padding: 0 8px;\n font-size: 0.75rem;\n }\n .fs-segmented-control-lg .fs-segmented-label {\n min-height: 46px;\n padding: 0 16px;\n font-size: 1rem;\n }\n}\n@layer components {\n .fs-skeleton {\n display: block;\n background-color: var(--fs-color-subtle);\n border-radius: var(--fs-radius-sm);\n animation: fokus-skeleton-pulse 1.5s ease-in-out infinite;\n }\n .fs-skeleton-text {\n width: 100%;\n height: 1em;\n }\n .fs-skeleton-text:not(:last-child) {\n margin-bottom: 0.5em;\n }\n .fs-skeleton-text:last-child {\n width: 80%;\n }\n .fs-skeleton-circle {\n flex-shrink: 0;\n border-radius: 50%;\n }\n .fs-skeleton-rect {\n border-radius: var(--fs-radius-md);\n }\n @keyframes fokus-skeleton-pulse {\n 0%, 100% {\n opacity: 1;\n }\n 50% {\n opacity: 0.5;\n }\n }\n .fs-skeleton-wave {\n position: relative;\n overflow: hidden;\n animation: none;\n }\n .fs-skeleton-wave::after {\n position: absolute;\n inset: 0;\n content: \"\";\n background-image: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);\n transform: translateX(-100%);\n animation: fokus-skeleton-wave 1.6s linear infinite;\n }\n @keyframes fokus-skeleton-wave {\n 100% {\n transform: translateX(100%);\n }\n }\n @media (prefers-reduced-motion: reduce) {\n .fs-skeleton {\n animation: none;\n }\n .fs-skeleton-wave::after {\n animation: none;\n }\n }\n}\n@layer components {\n .fs-timeline {\n display: flex;\n flex-direction: column;\n margin: 0;\n padding: 0;\n list-style: none;\n }\n .fs-timeline-item {\n position: relative;\n display: flex;\n gap: 12px;\n padding-bottom: 24px;\n }\n .fs-timeline-item:last-child {\n padding-bottom: 0;\n }\n .fs-timeline-marker {\n flex-shrink: 0;\n width: 16px;\n height: 16px;\n margin-top: 3px;\n background-color: var(--fs-color-surface);\n background-repeat: no-repeat;\n background-position: center;\n border: 2px solid var(--fs-color-border);\n border-radius: 50%;\n }\n .fs-timeline-item:not(:last-child)::before {\n content: \"\";\n position: absolute;\n top: 22px;\n left: 7px;\n width: 2px;\n height: calc(100% - 22px);\n background-color: var(--fs-color-border);\n }\n .fs-timeline-content {\n flex: 1;\n padding-top: 1px;\n }\n .fs-timeline-title {\n margin: 0;\n color: var(--fs-color-text);\n font-size: 0.8125rem;\n font-weight: 500;\n }\n .fs-timeline-text {\n margin: 4px 0 0;\n color: var(--fs-color-muted);\n font-size: 0.75rem;\n }\n .fs-timeline-time {\n display: block;\n margin-top: 2px;\n color: var(--fs-color-muted);\n font-size: 0.6875rem;\n }\n .fs-timeline-active .fs-timeline-marker {\n background-color: var(--fs-color-primary);\n border-color: var(--fs-color-primary);\n }\n .fs-timeline-completed .fs-timeline-marker {\n background-color: var(--fs-color-success);\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' fill='none' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 5.5 4 8l4-6'/%3E%3C/svg%3E\");\n border-color: var(--fs-color-success);\n }\n .fs-timeline-completed:not(:last-child)::before {\n background-color: var(--fs-color-success);\n }\n .fs-timeline-failed .fs-timeline-marker {\n background-color: var(--fs-color-danger);\n border-color: var(--fs-color-danger);\n }\n .fs-timeline-failed .fs-timeline-title {\n color: var(--fs-alert-danger-text);\n }\n .fs-timeline-horizontal {\n flex-direction: row;\n }\n .fs-timeline-horizontal .fs-timeline-item {\n flex: 1 1 0;\n flex-direction: column;\n align-items: center;\n gap: 8px;\n padding-bottom: 0;\n text-align: center;\n }\n .fs-timeline-horizontal .fs-timeline-marker {\n margin-top: 0;\n }\n .fs-timeline-horizontal .fs-timeline-item:not(:last-child)::before {\n top: 7px;\n left: calc(50% + 15px);\n width: calc(100% - 30px);\n height: 2px;\n }\n .fs-timeline-horizontal .fs-timeline-content {\n padding-top: 0;\n }\n}\n@layer components {\n .fs-collapse {\n overflow: hidden;\n }\n}\n@layer components {\n [data-fs=notification-center] {\n position: relative;\n }\n .fs-notification-badge {\n position: absolute;\n top: -6px;\n right: -6px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-width: 18px;\n height: 18px;\n padding: 0 5px;\n border-radius: 999px;\n color: #ffffff;\n background-color: var(--fs-color-danger);\n font-size: 0.65rem;\n font-weight: 500;\n line-height: 1;\n }\n .fs-notification-badge[hidden] {\n display: none;\n }\n .fs-notification-center {\n position: absolute;\n display: none;\n flex-direction: column;\n width: min(320px, 100vw - 2 * var(--fs-space-3));\n max-height: 420px;\n border: 1px solid var(--fs-color-border);\n border-radius: var(--fs-radius-md);\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface);\n box-shadow: var(--fs-shadow-md);\n z-index: var(--fs-z-notification);\n }\n .fs-notification-center.is-open {\n display: flex;\n }\n .fs-notification-center-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 10px 14px;\n border-bottom: 1px solid var(--fs-color-border);\n }\n .fs-notification-center-title {\n font-size: 0.75rem;\n font-weight: 500;\n }\n .fs-notification-list {\n margin: 0;\n padding: 0;\n overflow-y: auto;\n list-style: none;\n }\n .fs-notification-item {\n display: flex;\n gap: 10px;\n align-items: flex-start;\n padding: 10px 14px;\n border-left: 3px solid transparent;\n border-bottom: 1px solid var(--fs-color-border);\n }\n .fs-notification-item:last-child {\n border-bottom: none;\n }\n .fs-notification-item-unread {\n background-color: var(--fs-color-subtle);\n }\n .fs-notification-item-primary {\n border-left-color: var(--fs-color-primary);\n }\n .fs-notification-item-secondary {\n border-left-color: var(--fs-color-secondary);\n }\n .fs-notification-item-success {\n border-left-color: var(--fs-color-success);\n }\n .fs-notification-item-warning {\n border-left-color: var(--fs-color-warning);\n }\n .fs-notification-item-danger {\n border-left-color: var(--fs-color-danger);\n }\n .fs-notification-item-info {\n border-left-color: var(--fs-color-info);\n }\n .fs-notification-item-content {\n flex: 1;\n min-width: 0;\n }\n .fs-notification-item-title {\n margin: 0;\n font-size: 0.75rem;\n font-weight: 500;\n }\n .fs-notification-item-text {\n margin: 2px 0 0;\n color: var(--fs-color-muted);\n font-size: 0.75rem;\n }\n .fs-notification-item-time {\n display: block;\n margin-top: 4px;\n color: var(--fs-color-muted);\n font-size: 0.6875rem;\n }\n .fs-notification-item .fs-btn-close {\n flex-shrink: 0;\n width: 16px;\n height: 16px;\n }\n .fs-notification-empty {\n padding: 24px 14px;\n color: var(--fs-color-muted);\n font-size: 0.75rem;\n text-align: center;\n }\n .fs-notification-empty[hidden] {\n display: none;\n }\n}\n@layer components {\n .fs-dropdown-submenu {\n position: relative;\n }\n .fs-dropdown-item-submenu {\n justify-content: space-between;\n }\n .fs-dropdown-item-submenu::after {\n margin-left: 8px;\n content: \"\";\n border-top: 5px solid transparent;\n border-bottom: 5px solid transparent;\n border-left: 5px solid currentcolor;\n }\n .fs-dropdown-submenu > .fs-dropdown-menu {\n top: -7px;\n left: 100%;\n margin: 0;\n }\n .fs-dropdown-submenu:hover > .fs-dropdown-menu,\n .fs-dropdown-submenu > .fs-dropdown-menu.is-open {\n display: block;\n }\n .fs-dropdown-submenu-left > .fs-dropdown-menu {\n right: 100%;\n left: auto;\n }\n}\n@layer components {\n .fs-tile {\n position: relative;\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 12px;\n border: 1px solid var(--fs-color-border);\n border-radius: var(--fs-radius-md);\n background-color: var(--fs-color-surface);\n }\n .fs-tile-icon {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n width: 40px;\n height: 40px;\n border-radius: var(--fs-radius-sm);\n color: var(--fs-color-text);\n background-color: var(--fs-color-subtle);\n font-size: 1rem;\n }\n .fs-tile-body {\n flex: 1 1 auto;\n min-width: 0;\n }\n .fs-tile-title {\n margin: 0;\n color: var(--fs-color-text);\n font-size: 0.8125rem;\n font-weight: 500;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .fs-tile-subtitle {\n margin: 0;\n color: var(--fs-color-muted);\n font-size: 0.75rem;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .fs-tile-actions {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n gap: 8px;\n }\n .fs-tile-actions-bottom {\n flex-wrap: wrap;\n }\n .fs-tile-actions-bottom .fs-tile-actions {\n flex-basis: 100%;\n justify-content: flex-end;\n margin-top: 4px;\n }\n .fs-tile-clickable {\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n }\n .fs-tile-clickable:hover,\n .fs-tile-clickable:focus-within {\n border-color: var(--fs-color-primary);\n box-shadow: var(--fs-shadow-sm);\n }\n .fs-tile-sm {\n gap: 8px;\n padding: 8px;\n }\n .fs-tile-sm .fs-tile-icon {\n width: 32px;\n height: 32px;\n font-size: 0.8125rem;\n }\n .fs-tile-sm .fs-tile-title {\n font-size: 0.75rem;\n }\n .fs-tile-sm .fs-tile-subtitle {\n font-size: 0.6875rem;\n }\n .fs-tile-lg {\n gap: 16px;\n padding: 16px;\n }\n .fs-tile-lg .fs-tile-icon {\n width: 48px;\n height: 48px;\n font-size: 1.25rem;\n }\n .fs-tile-lg .fs-tile-title {\n font-size: 1rem;\n }\n}\n@layer utilities {\n .fs-u-cq {\n container-type: inline-size;\n }\n @container (min-width: 320px) {\n .fs-u-cq-sm-d-none {\n display: none;\n }\n .fs-u-cq-sm-d-block {\n display: block;\n }\n .fs-u-cq-sm-d-inline-block {\n display: inline-block;\n }\n .fs-u-cq-sm-d-flex {\n display: flex;\n }\n }\n @container (min-width: 480px) {\n .fs-u-cq-md-d-none {\n display: none;\n }\n .fs-u-cq-md-d-block {\n display: block;\n }\n .fs-u-cq-md-d-inline-block {\n display: inline-block;\n }\n .fs-u-cq-md-d-flex {\n display: flex;\n }\n }\n @container (min-width: 640px) {\n .fs-u-cq-lg-d-none {\n display: none;\n }\n .fs-u-cq-lg-d-block {\n display: block;\n }\n .fs-u-cq-lg-d-inline-block {\n display: inline-block;\n }\n .fs-u-cq-lg-d-flex {\n display: flex;\n }\n }\n}\n@layer utilities {\n .fs-u-d-none {\n display: none;\n }\n .fs-u-d-block {\n display: block;\n }\n .fs-u-d-inline {\n display: inline;\n }\n .fs-u-d-inline-block {\n display: inline-block;\n }\n .fs-u-d-flex {\n display: flex;\n }\n}\n@layer utilities {\n .fs-u-align-items-start {\n align-items: flex-start;\n }\n .fs-u-align-items-center {\n align-items: center;\n }\n .fs-u-align-items-end {\n align-items: flex-end;\n }\n .fs-u-justify-content-start {\n justify-content: flex-start;\n }\n .fs-u-justify-content-center {\n justify-content: center;\n }\n .fs-u-justify-content-end {\n justify-content: flex-end;\n }\n .fs-u-justify-content-around {\n justify-content: space-around;\n }\n .fs-u-justify-content-between {\n justify-content: space-between;\n }\n .fs-u-align-self-start {\n align-self: flex-start;\n }\n .fs-u-align-self-center {\n align-self: center;\n }\n .fs-u-align-self-end {\n align-self: flex-end;\n }\n @media (min-width: 640px) {\n .fs-u-align-items-sm-start {\n align-items: flex-start;\n }\n .fs-u-align-items-sm-center {\n align-items: center;\n }\n .fs-u-align-items-sm-end {\n align-items: flex-end;\n }\n .fs-u-justify-content-sm-start {\n justify-content: flex-start;\n }\n .fs-u-justify-content-sm-center {\n justify-content: center;\n }\n .fs-u-justify-content-sm-end {\n justify-content: flex-end;\n }\n .fs-u-justify-content-sm-around {\n justify-content: space-around;\n }\n .fs-u-justify-content-sm-between {\n justify-content: space-between;\n }\n .fs-u-align-self-sm-start {\n align-self: flex-start;\n }\n .fs-u-align-self-sm-center {\n align-self: center;\n }\n .fs-u-align-self-sm-end {\n align-self: flex-end;\n }\n }\n @media (min-width: 768px) {\n .fs-u-align-items-md-start {\n align-items: flex-start;\n }\n .fs-u-align-items-md-center {\n align-items: center;\n }\n .fs-u-align-items-md-end {\n align-items: flex-end;\n }\n .fs-u-justify-content-md-start {\n justify-content: flex-start;\n }\n .fs-u-justify-content-md-center {\n justify-content: center;\n }\n .fs-u-justify-content-md-end {\n justify-content: flex-end;\n }\n .fs-u-justify-content-md-around {\n justify-content: space-around;\n }\n .fs-u-justify-content-md-between {\n justify-content: space-between;\n }\n .fs-u-align-self-md-start {\n align-self: flex-start;\n }\n .fs-u-align-self-md-center {\n align-self: center;\n }\n .fs-u-align-self-md-end {\n align-self: flex-end;\n }\n }\n @media (min-width: 1024px) {\n .fs-u-align-items-lg-start {\n align-items: flex-start;\n }\n .fs-u-align-items-lg-center {\n align-items: center;\n }\n .fs-u-align-items-lg-end {\n align-items: flex-end;\n }\n .fs-u-justify-content-lg-start {\n justify-content: flex-start;\n }\n .fs-u-justify-content-lg-center {\n justify-content: center;\n }\n .fs-u-justify-content-lg-end {\n justify-content: flex-end;\n }\n .fs-u-justify-content-lg-around {\n justify-content: space-around;\n }\n .fs-u-justify-content-lg-between {\n justify-content: space-between;\n }\n .fs-u-align-self-lg-start {\n align-self: flex-start;\n }\n .fs-u-align-self-lg-center {\n align-self: center;\n }\n .fs-u-align-self-lg-end {\n align-self: flex-end;\n }\n }\n @media (min-width: 1280px) {\n .fs-u-align-items-xl-start {\n align-items: flex-start;\n }\n .fs-u-align-items-xl-center {\n align-items: center;\n }\n .fs-u-align-items-xl-end {\n align-items: flex-end;\n }\n .fs-u-justify-content-xl-start {\n justify-content: flex-start;\n }\n .fs-u-justify-content-xl-center {\n justify-content: center;\n }\n .fs-u-justify-content-xl-end {\n justify-content: flex-end;\n }\n .fs-u-justify-content-xl-around {\n justify-content: space-around;\n }\n .fs-u-justify-content-xl-between {\n justify-content: space-between;\n }\n .fs-u-align-self-xl-start {\n align-self: flex-start;\n }\n .fs-u-align-self-xl-center {\n align-self: center;\n }\n .fs-u-align-self-xl-end {\n align-self: flex-end;\n }\n }\n @media (min-width: 1536px) {\n .fs-u-align-items-xxl-start {\n align-items: flex-start;\n }\n .fs-u-align-items-xxl-center {\n align-items: center;\n }\n .fs-u-align-items-xxl-end {\n align-items: flex-end;\n }\n .fs-u-justify-content-xxl-start {\n justify-content: flex-start;\n }\n .fs-u-justify-content-xxl-center {\n justify-content: center;\n }\n .fs-u-justify-content-xxl-end {\n justify-content: flex-end;\n }\n .fs-u-justify-content-xxl-around {\n justify-content: space-around;\n }\n .fs-u-justify-content-xxl-between {\n justify-content: space-between;\n }\n .fs-u-align-self-xxl-start {\n align-self: flex-start;\n }\n .fs-u-align-self-xxl-center {\n align-self: center;\n }\n .fs-u-align-self-xxl-end {\n align-self: flex-end;\n }\n }\n @media (min-width: 1920px) {\n .fs-u-align-items-xxxl-start {\n align-items: flex-start;\n }\n .fs-u-align-items-xxxl-center {\n align-items: center;\n }\n .fs-u-align-items-xxxl-end {\n align-items: flex-end;\n }\n .fs-u-justify-content-xxxl-start {\n justify-content: flex-start;\n }\n .fs-u-justify-content-xxxl-center {\n justify-content: center;\n }\n .fs-u-justify-content-xxxl-end {\n justify-content: flex-end;\n }\n .fs-u-justify-content-xxxl-around {\n justify-content: space-around;\n }\n .fs-u-justify-content-xxxl-between {\n justify-content: space-between;\n }\n .fs-u-align-self-xxxl-start {\n align-self: flex-start;\n }\n .fs-u-align-self-xxxl-center {\n align-self: center;\n }\n .fs-u-align-self-xxxl-end {\n align-self: flex-end;\n }\n }\n}\n@layer utilities {\n .fs-icon {\n display: inline-block;\n flex-shrink: 0;\n width: 1em;\n height: 1em;\n vertical-align: -0.125em;\n stroke: currentcolor;\n }\n .fs-icon-xs {\n width: 12px;\n height: 12px;\n }\n .fs-icon-sm {\n width: 16px;\n height: 16px;\n }\n .fs-icon-lg {\n width: 32px;\n height: 32px;\n }\n .fs-icon-xl {\n width: 48px;\n height: 48px;\n }\n}\n@layer utilities {\n .fs-u-sticky-top {\n position: sticky;\n top: var(--fs-sticky-top, 0);\n z-index: 1020;\n }\n .fs-u-sticky-bottom {\n position: sticky;\n bottom: var(--fs-sticky-bottom, 0);\n z-index: 1020;\n }\n}\n@layer utilities {\n @media print {\n .fs-u-print-hide {\n display: none !important;\n }\n }\n @media not print {\n .fs-u-print-only {\n display: none !important;\n }\n }\n @media print {\n .fs-u-print-block {\n display: block !important;\n }\n .fs-u-print-inline {\n display: inline !important;\n }\n .fs-u-print-inline-block {\n display: inline-block !important;\n }\n }\n}\n@layer utilities {\n .fs-u-shadow-sm {\n box-shadow: var(--fs-shadow-sm);\n }\n .fs-u-shadow {\n box-shadow: var(--fs-shadow-md);\n }\n .fs-u-shadow-lg {\n box-shadow: var(--fs-shadow-lg);\n }\n}\n@layer utilities {\n .fs-u-m-0 {\n margin: 0;\n }\n .fs-u-mt-0 {\n margin-top: 0;\n }\n .fs-u-mr-0 {\n margin-right: 0;\n }\n .fs-u-mb-0 {\n margin-bottom: 0;\n }\n .fs-u-ml-0 {\n margin-left: 0;\n }\n .fs-u-mx-0 {\n margin-right: 0;\n margin-left: 0;\n }\n .fs-u-my-0 {\n margin-top: 0;\n margin-bottom: 0;\n }\n .fs-u-p-0 {\n padding: 0;\n }\n .fs-u-pt-0 {\n padding-top: 0;\n }\n .fs-u-pr-0 {\n padding-right: 0;\n }\n .fs-u-pb-0 {\n padding-bottom: 0;\n }\n .fs-u-pl-0 {\n padding-left: 0;\n }\n .fs-u-px-0 {\n padding-right: 0;\n padding-left: 0;\n }\n .fs-u-py-0 {\n padding-top: 0;\n padding-bottom: 0;\n }\n .fs-u-g-0 {\n --fs-gutter-x: 0;\n --fs-gutter-y: 0;\n }\n .fs-u-gx-0 {\n --fs-gutter-x: 0;\n }\n .fs-u-gy-0 {\n --fs-gutter-y: 0;\n }\n .fs-u-gap-0 {\n gap: 0;\n }\n .fs-u-gap-x-0 {\n column-gap: 0;\n }\n .fs-u-gap-y-0 {\n row-gap: 0;\n }\n .fs-u-m-1 {\n margin: 0.25rem;\n }\n .fs-u-mt-1 {\n margin-top: 0.25rem;\n }\n .fs-u-mr-1 {\n margin-right: 0.25rem;\n }\n .fs-u-mb-1 {\n margin-bottom: 0.25rem;\n }\n .fs-u-ml-1 {\n margin-left: 0.25rem;\n }\n .fs-u-mx-1 {\n margin-right: 0.25rem;\n margin-left: 0.25rem;\n }\n .fs-u-my-1 {\n margin-top: 0.25rem;\n margin-bottom: 0.25rem;\n }\n .fs-u-p-1 {\n padding: 0.25rem;\n }\n .fs-u-pt-1 {\n padding-top: 0.25rem;\n }\n .fs-u-pr-1 {\n padding-right: 0.25rem;\n }\n .fs-u-pb-1 {\n padding-bottom: 0.25rem;\n }\n .fs-u-pl-1 {\n padding-left: 0.25rem;\n }\n .fs-u-px-1 {\n padding-right: 0.25rem;\n padding-left: 0.25rem;\n }\n .fs-u-py-1 {\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n }\n .fs-u-g-1 {\n --fs-gutter-x: 0.25rem;\n --fs-gutter-y: 0.25rem;\n }\n .fs-u-gx-1 {\n --fs-gutter-x: 0.25rem;\n }\n .fs-u-gy-1 {\n --fs-gutter-y: 0.25rem;\n }\n .fs-u-gap-1 {\n gap: 0.25rem;\n }\n .fs-u-gap-x-1 {\n column-gap: 0.25rem;\n }\n .fs-u-gap-y-1 {\n row-gap: 0.25rem;\n }\n .fs-u-m-2 {\n margin: 0.5rem;\n }\n .fs-u-mt-2 {\n margin-top: 0.5rem;\n }\n .fs-u-mr-2 {\n margin-right: 0.5rem;\n }\n .fs-u-mb-2 {\n margin-bottom: 0.5rem;\n }\n .fs-u-ml-2 {\n margin-left: 0.5rem;\n }\n .fs-u-mx-2 {\n margin-right: 0.5rem;\n margin-left: 0.5rem;\n }\n .fs-u-my-2 {\n margin-top: 0.5rem;\n margin-bottom: 0.5rem;\n }\n .fs-u-p-2 {\n padding: 0.5rem;\n }\n .fs-u-pt-2 {\n padding-top: 0.5rem;\n }\n .fs-u-pr-2 {\n padding-right: 0.5rem;\n }\n .fs-u-pb-2 {\n padding-bottom: 0.5rem;\n }\n .fs-u-pl-2 {\n padding-left: 0.5rem;\n }\n .fs-u-px-2 {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .fs-u-py-2 {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n }\n .fs-u-g-2 {\n --fs-gutter-x: 0.5rem;\n --fs-gutter-y: 0.5rem;\n }\n .fs-u-gx-2 {\n --fs-gutter-x: 0.5rem;\n }\n .fs-u-gy-2 {\n --fs-gutter-y: 0.5rem;\n }\n .fs-u-gap-2 {\n gap: 0.5rem;\n }\n .fs-u-gap-x-2 {\n column-gap: 0.5rem;\n }\n .fs-u-gap-y-2 {\n row-gap: 0.5rem;\n }\n .fs-u-m-3 {\n margin: 1rem;\n }\n .fs-u-mt-3 {\n margin-top: 1rem;\n }\n .fs-u-mr-3 {\n margin-right: 1rem;\n }\n .fs-u-mb-3 {\n margin-bottom: 1rem;\n }\n .fs-u-ml-3 {\n margin-left: 1rem;\n }\n .fs-u-mx-3 {\n margin-right: 1rem;\n margin-left: 1rem;\n }\n .fs-u-my-3 {\n margin-top: 1rem;\n margin-bottom: 1rem;\n }\n .fs-u-p-3 {\n padding: 1rem;\n }\n .fs-u-pt-3 {\n padding-top: 1rem;\n }\n .fs-u-pr-3 {\n padding-right: 1rem;\n }\n .fs-u-pb-3 {\n padding-bottom: 1rem;\n }\n .fs-u-pl-3 {\n padding-left: 1rem;\n }\n .fs-u-px-3 {\n padding-right: 1rem;\n padding-left: 1rem;\n }\n .fs-u-py-3 {\n padding-top: 1rem;\n padding-bottom: 1rem;\n }\n .fs-u-g-3 {\n --fs-gutter-x: 1rem;\n --fs-gutter-y: 1rem;\n }\n .fs-u-gx-3 {\n --fs-gutter-x: 1rem;\n }\n .fs-u-gy-3 {\n --fs-gutter-y: 1rem;\n }\n .fs-u-gap-3 {\n gap: 1rem;\n }\n .fs-u-gap-x-3 {\n column-gap: 1rem;\n }\n .fs-u-gap-y-3 {\n row-gap: 1rem;\n }\n .fs-u-m-4 {\n margin: 1.5rem;\n }\n .fs-u-mt-4 {\n margin-top: 1.5rem;\n }\n .fs-u-mr-4 {\n margin-right: 1.5rem;\n }\n .fs-u-mb-4 {\n margin-bottom: 1.5rem;\n }\n .fs-u-ml-4 {\n margin-left: 1.5rem;\n }\n .fs-u-mx-4 {\n margin-right: 1.5rem;\n margin-left: 1.5rem;\n }\n .fs-u-my-4 {\n margin-top: 1.5rem;\n margin-bottom: 1.5rem;\n }\n .fs-u-p-4 {\n padding: 1.5rem;\n }\n .fs-u-pt-4 {\n padding-top: 1.5rem;\n }\n .fs-u-pr-4 {\n padding-right: 1.5rem;\n }\n .fs-u-pb-4 {\n padding-bottom: 1.5rem;\n }\n .fs-u-pl-4 {\n padding-left: 1.5rem;\n }\n .fs-u-px-4 {\n padding-right: 1.5rem;\n padding-left: 1.5rem;\n }\n .fs-u-py-4 {\n padding-top: 1.5rem;\n padding-bottom: 1.5rem;\n }\n .fs-u-g-4 {\n --fs-gutter-x: 1.5rem;\n --fs-gutter-y: 1.5rem;\n }\n .fs-u-gx-4 {\n --fs-gutter-x: 1.5rem;\n }\n .fs-u-gy-4 {\n --fs-gutter-y: 1.5rem;\n }\n .fs-u-gap-4 {\n gap: 1.5rem;\n }\n .fs-u-gap-x-4 {\n column-gap: 1.5rem;\n }\n .fs-u-gap-y-4 {\n row-gap: 1.5rem;\n }\n .fs-u-m-5 {\n margin: 3rem;\n }\n .fs-u-mt-5 {\n margin-top: 3rem;\n }\n .fs-u-mr-5 {\n margin-right: 3rem;\n }\n .fs-u-mb-5 {\n margin-bottom: 3rem;\n }\n .fs-u-ml-5 {\n margin-left: 3rem;\n }\n .fs-u-mx-5 {\n margin-right: 3rem;\n margin-left: 3rem;\n }\n .fs-u-my-5 {\n margin-top: 3rem;\n margin-bottom: 3rem;\n }\n .fs-u-p-5 {\n padding: 3rem;\n }\n .fs-u-pt-5 {\n padding-top: 3rem;\n }\n .fs-u-pr-5 {\n padding-right: 3rem;\n }\n .fs-u-pb-5 {\n padding-bottom: 3rem;\n }\n .fs-u-pl-5 {\n padding-left: 3rem;\n }\n .fs-u-px-5 {\n padding-right: 3rem;\n padding-left: 3rem;\n }\n .fs-u-py-5 {\n padding-top: 3rem;\n padding-bottom: 3rem;\n }\n .fs-u-g-5 {\n --fs-gutter-x: 3rem;\n --fs-gutter-y: 3rem;\n }\n .fs-u-gx-5 {\n --fs-gutter-x: 3rem;\n }\n .fs-u-gy-5 {\n --fs-gutter-y: 3rem;\n }\n .fs-u-gap-5 {\n gap: 3rem;\n }\n .fs-u-gap-x-5 {\n column-gap: 3rem;\n }\n .fs-u-gap-y-5 {\n row-gap: 3rem;\n }\n .fs-u-m-auto {\n margin: auto;\n }\n .fs-u-mt-auto {\n margin-top: auto;\n }\n .fs-u-mr-auto {\n margin-right: auto;\n }\n .fs-u-mb-auto {\n margin-bottom: auto;\n }\n .fs-u-ml-auto {\n margin-left: auto;\n }\n .fs-u-mx-auto {\n margin-right: auto;\n margin-left: auto;\n }\n .fs-u-my-auto {\n margin-top: auto;\n margin-bottom: auto;\n }\n @media (min-width: 640px) {\n .fs-u-m-sm-0 {\n margin: 0;\n }\n .fs-u-mt-sm-0 {\n margin-top: 0;\n }\n .fs-u-mr-sm-0 {\n margin-right: 0;\n }\n .fs-u-mb-sm-0 {\n margin-bottom: 0;\n }\n .fs-u-ml-sm-0 {\n margin-left: 0;\n }\n .fs-u-mx-sm-0 {\n margin-right: 0;\n margin-left: 0;\n }\n .fs-u-my-sm-0 {\n margin-top: 0;\n margin-bottom: 0;\n }\n .fs-u-p-sm-0 {\n padding: 0;\n }\n .fs-u-pt-sm-0 {\n padding-top: 0;\n }\n .fs-u-pr-sm-0 {\n padding-right: 0;\n }\n .fs-u-pb-sm-0 {\n padding-bottom: 0;\n }\n .fs-u-pl-sm-0 {\n padding-left: 0;\n }\n .fs-u-px-sm-0 {\n padding-right: 0;\n padding-left: 0;\n }\n .fs-u-py-sm-0 {\n padding-top: 0;\n padding-bottom: 0;\n }\n .fs-u-g-sm-0 {\n --fs-gutter-x: 0;\n --fs-gutter-y: 0;\n }\n .fs-u-gx-sm-0 {\n --fs-gutter-x: 0;\n }\n .fs-u-gy-sm-0 {\n --fs-gutter-y: 0;\n }\n .fs-u-gap-sm-0 {\n gap: 0;\n }\n .fs-u-gap-x-sm-0 {\n column-gap: 0;\n }\n .fs-u-gap-y-sm-0 {\n row-gap: 0;\n }\n .fs-u-m-sm-1 {\n margin: 0.25rem;\n }\n .fs-u-mt-sm-1 {\n margin-top: 0.25rem;\n }\n .fs-u-mr-sm-1 {\n margin-right: 0.25rem;\n }\n .fs-u-mb-sm-1 {\n margin-bottom: 0.25rem;\n }\n .fs-u-ml-sm-1 {\n margin-left: 0.25rem;\n }\n .fs-u-mx-sm-1 {\n margin-right: 0.25rem;\n margin-left: 0.25rem;\n }\n .fs-u-my-sm-1 {\n margin-top: 0.25rem;\n margin-bottom: 0.25rem;\n }\n .fs-u-p-sm-1 {\n padding: 0.25rem;\n }\n .fs-u-pt-sm-1 {\n padding-top: 0.25rem;\n }\n .fs-u-pr-sm-1 {\n padding-right: 0.25rem;\n }\n .fs-u-pb-sm-1 {\n padding-bottom: 0.25rem;\n }\n .fs-u-pl-sm-1 {\n padding-left: 0.25rem;\n }\n .fs-u-px-sm-1 {\n padding-right: 0.25rem;\n padding-left: 0.25rem;\n }\n .fs-u-py-sm-1 {\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n }\n .fs-u-g-sm-1 {\n --fs-gutter-x: 0.25rem;\n --fs-gutter-y: 0.25rem;\n }\n .fs-u-gx-sm-1 {\n --fs-gutter-x: 0.25rem;\n }\n .fs-u-gy-sm-1 {\n --fs-gutter-y: 0.25rem;\n }\n .fs-u-gap-sm-1 {\n gap: 0.25rem;\n }\n .fs-u-gap-x-sm-1 {\n column-gap: 0.25rem;\n }\n .fs-u-gap-y-sm-1 {\n row-gap: 0.25rem;\n }\n .fs-u-m-sm-2 {\n margin: 0.5rem;\n }\n .fs-u-mt-sm-2 {\n margin-top: 0.5rem;\n }\n .fs-u-mr-sm-2 {\n margin-right: 0.5rem;\n }\n .fs-u-mb-sm-2 {\n margin-bottom: 0.5rem;\n }\n .fs-u-ml-sm-2 {\n margin-left: 0.5rem;\n }\n .fs-u-mx-sm-2 {\n margin-right: 0.5rem;\n margin-left: 0.5rem;\n }\n .fs-u-my-sm-2 {\n margin-top: 0.5rem;\n margin-bottom: 0.5rem;\n }\n .fs-u-p-sm-2 {\n padding: 0.5rem;\n }\n .fs-u-pt-sm-2 {\n padding-top: 0.5rem;\n }\n .fs-u-pr-sm-2 {\n padding-right: 0.5rem;\n }\n .fs-u-pb-sm-2 {\n padding-bottom: 0.5rem;\n }\n .fs-u-pl-sm-2 {\n padding-left: 0.5rem;\n }\n .fs-u-px-sm-2 {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .fs-u-py-sm-2 {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n }\n .fs-u-g-sm-2 {\n --fs-gutter-x: 0.5rem;\n --fs-gutter-y: 0.5rem;\n }\n .fs-u-gx-sm-2 {\n --fs-gutter-x: 0.5rem;\n }\n .fs-u-gy-sm-2 {\n --fs-gutter-y: 0.5rem;\n }\n .fs-u-gap-sm-2 {\n gap: 0.5rem;\n }\n .fs-u-gap-x-sm-2 {\n column-gap: 0.5rem;\n }\n .fs-u-gap-y-sm-2 {\n row-gap: 0.5rem;\n }\n .fs-u-m-sm-3 {\n margin: 1rem;\n }\n .fs-u-mt-sm-3 {\n margin-top: 1rem;\n }\n .fs-u-mr-sm-3 {\n margin-right: 1rem;\n }\n .fs-u-mb-sm-3 {\n margin-bottom: 1rem;\n }\n .fs-u-ml-sm-3 {\n margin-left: 1rem;\n }\n .fs-u-mx-sm-3 {\n margin-right: 1rem;\n margin-left: 1rem;\n }\n .fs-u-my-sm-3 {\n margin-top: 1rem;\n margin-bottom: 1rem;\n }\n .fs-u-p-sm-3 {\n padding: 1rem;\n }\n .fs-u-pt-sm-3 {\n padding-top: 1rem;\n }\n .fs-u-pr-sm-3 {\n padding-right: 1rem;\n }\n .fs-u-pb-sm-3 {\n padding-bottom: 1rem;\n }\n .fs-u-pl-sm-3 {\n padding-left: 1rem;\n }\n .fs-u-px-sm-3 {\n padding-right: 1rem;\n padding-left: 1rem;\n }\n .fs-u-py-sm-3 {\n padding-top: 1rem;\n padding-bottom: 1rem;\n }\n .fs-u-g-sm-3 {\n --fs-gutter-x: 1rem;\n --fs-gutter-y: 1rem;\n }\n .fs-u-gx-sm-3 {\n --fs-gutter-x: 1rem;\n }\n .fs-u-gy-sm-3 {\n --fs-gutter-y: 1rem;\n }\n .fs-u-gap-sm-3 {\n gap: 1rem;\n }\n .fs-u-gap-x-sm-3 {\n column-gap: 1rem;\n }\n .fs-u-gap-y-sm-3 {\n row-gap: 1rem;\n }\n .fs-u-m-sm-4 {\n margin: 1.5rem;\n }\n .fs-u-mt-sm-4 {\n margin-top: 1.5rem;\n }\n .fs-u-mr-sm-4 {\n margin-right: 1.5rem;\n }\n .fs-u-mb-sm-4 {\n margin-bottom: 1.5rem;\n }\n .fs-u-ml-sm-4 {\n margin-left: 1.5rem;\n }\n .fs-u-mx-sm-4 {\n margin-right: 1.5rem;\n margin-left: 1.5rem;\n }\n .fs-u-my-sm-4 {\n margin-top: 1.5rem;\n margin-bottom: 1.5rem;\n }\n .fs-u-p-sm-4 {\n padding: 1.5rem;\n }\n .fs-u-pt-sm-4 {\n padding-top: 1.5rem;\n }\n .fs-u-pr-sm-4 {\n padding-right: 1.5rem;\n }\n .fs-u-pb-sm-4 {\n padding-bottom: 1.5rem;\n }\n .fs-u-pl-sm-4 {\n padding-left: 1.5rem;\n }\n .fs-u-px-sm-4 {\n padding-right: 1.5rem;\n padding-left: 1.5rem;\n }\n .fs-u-py-sm-4 {\n padding-top: 1.5rem;\n padding-bottom: 1.5rem;\n }\n .fs-u-g-sm-4 {\n --fs-gutter-x: 1.5rem;\n --fs-gutter-y: 1.5rem;\n }\n .fs-u-gx-sm-4 {\n --fs-gutter-x: 1.5rem;\n }\n .fs-u-gy-sm-4 {\n --fs-gutter-y: 1.5rem;\n }\n .fs-u-gap-sm-4 {\n gap: 1.5rem;\n }\n .fs-u-gap-x-sm-4 {\n column-gap: 1.5rem;\n }\n .fs-u-gap-y-sm-4 {\n row-gap: 1.5rem;\n }\n .fs-u-m-sm-5 {\n margin: 3rem;\n }\n .fs-u-mt-sm-5 {\n margin-top: 3rem;\n }\n .fs-u-mr-sm-5 {\n margin-right: 3rem;\n }\n .fs-u-mb-sm-5 {\n margin-bottom: 3rem;\n }\n .fs-u-ml-sm-5 {\n margin-left: 3rem;\n }\n .fs-u-mx-sm-5 {\n margin-right: 3rem;\n margin-left: 3rem;\n }\n .fs-u-my-sm-5 {\n margin-top: 3rem;\n margin-bottom: 3rem;\n }\n .fs-u-p-sm-5 {\n padding: 3rem;\n }\n .fs-u-pt-sm-5 {\n padding-top: 3rem;\n }\n .fs-u-pr-sm-5 {\n padding-right: 3rem;\n }\n .fs-u-pb-sm-5 {\n padding-bottom: 3rem;\n }\n .fs-u-pl-sm-5 {\n padding-left: 3rem;\n }\n .fs-u-px-sm-5 {\n padding-right: 3rem;\n padding-left: 3rem;\n }\n .fs-u-py-sm-5 {\n padding-top: 3rem;\n padding-bottom: 3rem;\n }\n .fs-u-g-sm-5 {\n --fs-gutter-x: 3rem;\n --fs-gutter-y: 3rem;\n }\n .fs-u-gx-sm-5 {\n --fs-gutter-x: 3rem;\n }\n .fs-u-gy-sm-5 {\n --fs-gutter-y: 3rem;\n }\n .fs-u-gap-sm-5 {\n gap: 3rem;\n }\n .fs-u-gap-x-sm-5 {\n column-gap: 3rem;\n }\n .fs-u-gap-y-sm-5 {\n row-gap: 3rem;\n }\n .fs-u-m-sm-auto {\n margin: auto;\n }\n .fs-u-mt-sm-auto {\n margin-top: auto;\n }\n .fs-u-mr-sm-auto {\n margin-right: auto;\n }\n .fs-u-mb-sm-auto {\n margin-bottom: auto;\n }\n .fs-u-ml-sm-auto {\n margin-left: auto;\n }\n .fs-u-mx-sm-auto {\n margin-right: auto;\n margin-left: auto;\n }\n .fs-u-my-sm-auto {\n margin-top: auto;\n margin-bottom: auto;\n }\n }\n @media (min-width: 768px) {\n .fs-u-m-md-0 {\n margin: 0;\n }\n .fs-u-mt-md-0 {\n margin-top: 0;\n }\n .fs-u-mr-md-0 {\n margin-right: 0;\n }\n .fs-u-mb-md-0 {\n margin-bottom: 0;\n }\n .fs-u-ml-md-0 {\n margin-left: 0;\n }\n .fs-u-mx-md-0 {\n margin-right: 0;\n margin-left: 0;\n }\n .fs-u-my-md-0 {\n margin-top: 0;\n margin-bottom: 0;\n }\n .fs-u-p-md-0 {\n padding: 0;\n }\n .fs-u-pt-md-0 {\n padding-top: 0;\n }\n .fs-u-pr-md-0 {\n padding-right: 0;\n }\n .fs-u-pb-md-0 {\n padding-bottom: 0;\n }\n .fs-u-pl-md-0 {\n padding-left: 0;\n }\n .fs-u-px-md-0 {\n padding-right: 0;\n padding-left: 0;\n }\n .fs-u-py-md-0 {\n padding-top: 0;\n padding-bottom: 0;\n }\n .fs-u-g-md-0 {\n --fs-gutter-x: 0;\n --fs-gutter-y: 0;\n }\n .fs-u-gx-md-0 {\n --fs-gutter-x: 0;\n }\n .fs-u-gy-md-0 {\n --fs-gutter-y: 0;\n }\n .fs-u-gap-md-0 {\n gap: 0;\n }\n .fs-u-gap-x-md-0 {\n column-gap: 0;\n }\n .fs-u-gap-y-md-0 {\n row-gap: 0;\n }\n .fs-u-m-md-1 {\n margin: 0.25rem;\n }\n .fs-u-mt-md-1 {\n margin-top: 0.25rem;\n }\n .fs-u-mr-md-1 {\n margin-right: 0.25rem;\n }\n .fs-u-mb-md-1 {\n margin-bottom: 0.25rem;\n }\n .fs-u-ml-md-1 {\n margin-left: 0.25rem;\n }\n .fs-u-mx-md-1 {\n margin-right: 0.25rem;\n margin-left: 0.25rem;\n }\n .fs-u-my-md-1 {\n margin-top: 0.25rem;\n margin-bottom: 0.25rem;\n }\n .fs-u-p-md-1 {\n padding: 0.25rem;\n }\n .fs-u-pt-md-1 {\n padding-top: 0.25rem;\n }\n .fs-u-pr-md-1 {\n padding-right: 0.25rem;\n }\n .fs-u-pb-md-1 {\n padding-bottom: 0.25rem;\n }\n .fs-u-pl-md-1 {\n padding-left: 0.25rem;\n }\n .fs-u-px-md-1 {\n padding-right: 0.25rem;\n padding-left: 0.25rem;\n }\n .fs-u-py-md-1 {\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n }\n .fs-u-g-md-1 {\n --fs-gutter-x: 0.25rem;\n --fs-gutter-y: 0.25rem;\n }\n .fs-u-gx-md-1 {\n --fs-gutter-x: 0.25rem;\n }\n .fs-u-gy-md-1 {\n --fs-gutter-y: 0.25rem;\n }\n .fs-u-gap-md-1 {\n gap: 0.25rem;\n }\n .fs-u-gap-x-md-1 {\n column-gap: 0.25rem;\n }\n .fs-u-gap-y-md-1 {\n row-gap: 0.25rem;\n }\n .fs-u-m-md-2 {\n margin: 0.5rem;\n }\n .fs-u-mt-md-2 {\n margin-top: 0.5rem;\n }\n .fs-u-mr-md-2 {\n margin-right: 0.5rem;\n }\n .fs-u-mb-md-2 {\n margin-bottom: 0.5rem;\n }\n .fs-u-ml-md-2 {\n margin-left: 0.5rem;\n }\n .fs-u-mx-md-2 {\n margin-right: 0.5rem;\n margin-left: 0.5rem;\n }\n .fs-u-my-md-2 {\n margin-top: 0.5rem;\n margin-bottom: 0.5rem;\n }\n .fs-u-p-md-2 {\n padding: 0.5rem;\n }\n .fs-u-pt-md-2 {\n padding-top: 0.5rem;\n }\n .fs-u-pr-md-2 {\n padding-right: 0.5rem;\n }\n .fs-u-pb-md-2 {\n padding-bottom: 0.5rem;\n }\n .fs-u-pl-md-2 {\n padding-left: 0.5rem;\n }\n .fs-u-px-md-2 {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .fs-u-py-md-2 {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n }\n .fs-u-g-md-2 {\n --fs-gutter-x: 0.5rem;\n --fs-gutter-y: 0.5rem;\n }\n .fs-u-gx-md-2 {\n --fs-gutter-x: 0.5rem;\n }\n .fs-u-gy-md-2 {\n --fs-gutter-y: 0.5rem;\n }\n .fs-u-gap-md-2 {\n gap: 0.5rem;\n }\n .fs-u-gap-x-md-2 {\n column-gap: 0.5rem;\n }\n .fs-u-gap-y-md-2 {\n row-gap: 0.5rem;\n }\n .fs-u-m-md-3 {\n margin: 1rem;\n }\n .fs-u-mt-md-3 {\n margin-top: 1rem;\n }\n .fs-u-mr-md-3 {\n margin-right: 1rem;\n }\n .fs-u-mb-md-3 {\n margin-bottom: 1rem;\n }\n .fs-u-ml-md-3 {\n margin-left: 1rem;\n }\n .fs-u-mx-md-3 {\n margin-right: 1rem;\n margin-left: 1rem;\n }\n .fs-u-my-md-3 {\n margin-top: 1rem;\n margin-bottom: 1rem;\n }\n .fs-u-p-md-3 {\n padding: 1rem;\n }\n .fs-u-pt-md-3 {\n padding-top: 1rem;\n }\n .fs-u-pr-md-3 {\n padding-right: 1rem;\n }\n .fs-u-pb-md-3 {\n padding-bottom: 1rem;\n }\n .fs-u-pl-md-3 {\n padding-left: 1rem;\n }\n .fs-u-px-md-3 {\n padding-right: 1rem;\n padding-left: 1rem;\n }\n .fs-u-py-md-3 {\n padding-top: 1rem;\n padding-bottom: 1rem;\n }\n .fs-u-g-md-3 {\n --fs-gutter-x: 1rem;\n --fs-gutter-y: 1rem;\n }\n .fs-u-gx-md-3 {\n --fs-gutter-x: 1rem;\n }\n .fs-u-gy-md-3 {\n --fs-gutter-y: 1rem;\n }\n .fs-u-gap-md-3 {\n gap: 1rem;\n }\n .fs-u-gap-x-md-3 {\n column-gap: 1rem;\n }\n .fs-u-gap-y-md-3 {\n row-gap: 1rem;\n }\n .fs-u-m-md-4 {\n margin: 1.5rem;\n }\n .fs-u-mt-md-4 {\n margin-top: 1.5rem;\n }\n .fs-u-mr-md-4 {\n margin-right: 1.5rem;\n }\n .fs-u-mb-md-4 {\n margin-bottom: 1.5rem;\n }\n .fs-u-ml-md-4 {\n margin-left: 1.5rem;\n }\n .fs-u-mx-md-4 {\n margin-right: 1.5rem;\n margin-left: 1.5rem;\n }\n .fs-u-my-md-4 {\n margin-top: 1.5rem;\n margin-bottom: 1.5rem;\n }\n .fs-u-p-md-4 {\n padding: 1.5rem;\n }\n .fs-u-pt-md-4 {\n padding-top: 1.5rem;\n }\n .fs-u-pr-md-4 {\n padding-right: 1.5rem;\n }\n .fs-u-pb-md-4 {\n padding-bottom: 1.5rem;\n }\n .fs-u-pl-md-4 {\n padding-left: 1.5rem;\n }\n .fs-u-px-md-4 {\n padding-right: 1.5rem;\n padding-left: 1.5rem;\n }\n .fs-u-py-md-4 {\n padding-top: 1.5rem;\n padding-bottom: 1.5rem;\n }\n .fs-u-g-md-4 {\n --fs-gutter-x: 1.5rem;\n --fs-gutter-y: 1.5rem;\n }\n .fs-u-gx-md-4 {\n --fs-gutter-x: 1.5rem;\n }\n .fs-u-gy-md-4 {\n --fs-gutter-y: 1.5rem;\n }\n .fs-u-gap-md-4 {\n gap: 1.5rem;\n }\n .fs-u-gap-x-md-4 {\n column-gap: 1.5rem;\n }\n .fs-u-gap-y-md-4 {\n row-gap: 1.5rem;\n }\n .fs-u-m-md-5 {\n margin: 3rem;\n }\n .fs-u-mt-md-5 {\n margin-top: 3rem;\n }\n .fs-u-mr-md-5 {\n margin-right: 3rem;\n }\n .fs-u-mb-md-5 {\n margin-bottom: 3rem;\n }\n .fs-u-ml-md-5 {\n margin-left: 3rem;\n }\n .fs-u-mx-md-5 {\n margin-right: 3rem;\n margin-left: 3rem;\n }\n .fs-u-my-md-5 {\n margin-top: 3rem;\n margin-bottom: 3rem;\n }\n .fs-u-p-md-5 {\n padding: 3rem;\n }\n .fs-u-pt-md-5 {\n padding-top: 3rem;\n }\n .fs-u-pr-md-5 {\n padding-right: 3rem;\n }\n .fs-u-pb-md-5 {\n padding-bottom: 3rem;\n }\n .fs-u-pl-md-5 {\n padding-left: 3rem;\n }\n .fs-u-px-md-5 {\n padding-right: 3rem;\n padding-left: 3rem;\n }\n .fs-u-py-md-5 {\n padding-top: 3rem;\n padding-bottom: 3rem;\n }\n .fs-u-g-md-5 {\n --fs-gutter-x: 3rem;\n --fs-gutter-y: 3rem;\n }\n .fs-u-gx-md-5 {\n --fs-gutter-x: 3rem;\n }\n .fs-u-gy-md-5 {\n --fs-gutter-y: 3rem;\n }\n .fs-u-gap-md-5 {\n gap: 3rem;\n }\n .fs-u-gap-x-md-5 {\n column-gap: 3rem;\n }\n .fs-u-gap-y-md-5 {\n row-gap: 3rem;\n }\n .fs-u-m-md-auto {\n margin: auto;\n }\n .fs-u-mt-md-auto {\n margin-top: auto;\n }\n .fs-u-mr-md-auto {\n margin-right: auto;\n }\n .fs-u-mb-md-auto {\n margin-bottom: auto;\n }\n .fs-u-ml-md-auto {\n margin-left: auto;\n }\n .fs-u-mx-md-auto {\n margin-right: auto;\n margin-left: auto;\n }\n .fs-u-my-md-auto {\n margin-top: auto;\n margin-bottom: auto;\n }\n }\n @media (min-width: 1024px) {\n .fs-u-m-lg-0 {\n margin: 0;\n }\n .fs-u-mt-lg-0 {\n margin-top: 0;\n }\n .fs-u-mr-lg-0 {\n margin-right: 0;\n }\n .fs-u-mb-lg-0 {\n margin-bottom: 0;\n }\n .fs-u-ml-lg-0 {\n margin-left: 0;\n }\n .fs-u-mx-lg-0 {\n margin-right: 0;\n margin-left: 0;\n }\n .fs-u-my-lg-0 {\n margin-top: 0;\n margin-bottom: 0;\n }\n .fs-u-p-lg-0 {\n padding: 0;\n }\n .fs-u-pt-lg-0 {\n padding-top: 0;\n }\n .fs-u-pr-lg-0 {\n padding-right: 0;\n }\n .fs-u-pb-lg-0 {\n padding-bottom: 0;\n }\n .fs-u-pl-lg-0 {\n padding-left: 0;\n }\n .fs-u-px-lg-0 {\n padding-right: 0;\n padding-left: 0;\n }\n .fs-u-py-lg-0 {\n padding-top: 0;\n padding-bottom: 0;\n }\n .fs-u-g-lg-0 {\n --fs-gutter-x: 0;\n --fs-gutter-y: 0;\n }\n .fs-u-gx-lg-0 {\n --fs-gutter-x: 0;\n }\n .fs-u-gy-lg-0 {\n --fs-gutter-y: 0;\n }\n .fs-u-gap-lg-0 {\n gap: 0;\n }\n .fs-u-gap-x-lg-0 {\n column-gap: 0;\n }\n .fs-u-gap-y-lg-0 {\n row-gap: 0;\n }\n .fs-u-m-lg-1 {\n margin: 0.25rem;\n }\n .fs-u-mt-lg-1 {\n margin-top: 0.25rem;\n }\n .fs-u-mr-lg-1 {\n margin-right: 0.25rem;\n }\n .fs-u-mb-lg-1 {\n margin-bottom: 0.25rem;\n }\n .fs-u-ml-lg-1 {\n margin-left: 0.25rem;\n }\n .fs-u-mx-lg-1 {\n margin-right: 0.25rem;\n margin-left: 0.25rem;\n }\n .fs-u-my-lg-1 {\n margin-top: 0.25rem;\n margin-bottom: 0.25rem;\n }\n .fs-u-p-lg-1 {\n padding: 0.25rem;\n }\n .fs-u-pt-lg-1 {\n padding-top: 0.25rem;\n }\n .fs-u-pr-lg-1 {\n padding-right: 0.25rem;\n }\n .fs-u-pb-lg-1 {\n padding-bottom: 0.25rem;\n }\n .fs-u-pl-lg-1 {\n padding-left: 0.25rem;\n }\n .fs-u-px-lg-1 {\n padding-right: 0.25rem;\n padding-left: 0.25rem;\n }\n .fs-u-py-lg-1 {\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n }\n .fs-u-g-lg-1 {\n --fs-gutter-x: 0.25rem;\n --fs-gutter-y: 0.25rem;\n }\n .fs-u-gx-lg-1 {\n --fs-gutter-x: 0.25rem;\n }\n .fs-u-gy-lg-1 {\n --fs-gutter-y: 0.25rem;\n }\n .fs-u-gap-lg-1 {\n gap: 0.25rem;\n }\n .fs-u-gap-x-lg-1 {\n column-gap: 0.25rem;\n }\n .fs-u-gap-y-lg-1 {\n row-gap: 0.25rem;\n }\n .fs-u-m-lg-2 {\n margin: 0.5rem;\n }\n .fs-u-mt-lg-2 {\n margin-top: 0.5rem;\n }\n .fs-u-mr-lg-2 {\n margin-right: 0.5rem;\n }\n .fs-u-mb-lg-2 {\n margin-bottom: 0.5rem;\n }\n .fs-u-ml-lg-2 {\n margin-left: 0.5rem;\n }\n .fs-u-mx-lg-2 {\n margin-right: 0.5rem;\n margin-left: 0.5rem;\n }\n .fs-u-my-lg-2 {\n margin-top: 0.5rem;\n margin-bottom: 0.5rem;\n }\n .fs-u-p-lg-2 {\n padding: 0.5rem;\n }\n .fs-u-pt-lg-2 {\n padding-top: 0.5rem;\n }\n .fs-u-pr-lg-2 {\n padding-right: 0.5rem;\n }\n .fs-u-pb-lg-2 {\n padding-bottom: 0.5rem;\n }\n .fs-u-pl-lg-2 {\n padding-left: 0.5rem;\n }\n .fs-u-px-lg-2 {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .fs-u-py-lg-2 {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n }\n .fs-u-g-lg-2 {\n --fs-gutter-x: 0.5rem;\n --fs-gutter-y: 0.5rem;\n }\n .fs-u-gx-lg-2 {\n --fs-gutter-x: 0.5rem;\n }\n .fs-u-gy-lg-2 {\n --fs-gutter-y: 0.5rem;\n }\n .fs-u-gap-lg-2 {\n gap: 0.5rem;\n }\n .fs-u-gap-x-lg-2 {\n column-gap: 0.5rem;\n }\n .fs-u-gap-y-lg-2 {\n row-gap: 0.5rem;\n }\n .fs-u-m-lg-3 {\n margin: 1rem;\n }\n .fs-u-mt-lg-3 {\n margin-top: 1rem;\n }\n .fs-u-mr-lg-3 {\n margin-right: 1rem;\n }\n .fs-u-mb-lg-3 {\n margin-bottom: 1rem;\n }\n .fs-u-ml-lg-3 {\n margin-left: 1rem;\n }\n .fs-u-mx-lg-3 {\n margin-right: 1rem;\n margin-left: 1rem;\n }\n .fs-u-my-lg-3 {\n margin-top: 1rem;\n margin-bottom: 1rem;\n }\n .fs-u-p-lg-3 {\n padding: 1rem;\n }\n .fs-u-pt-lg-3 {\n padding-top: 1rem;\n }\n .fs-u-pr-lg-3 {\n padding-right: 1rem;\n }\n .fs-u-pb-lg-3 {\n padding-bottom: 1rem;\n }\n .fs-u-pl-lg-3 {\n padding-left: 1rem;\n }\n .fs-u-px-lg-3 {\n padding-right: 1rem;\n padding-left: 1rem;\n }\n .fs-u-py-lg-3 {\n padding-top: 1rem;\n padding-bottom: 1rem;\n }\n .fs-u-g-lg-3 {\n --fs-gutter-x: 1rem;\n --fs-gutter-y: 1rem;\n }\n .fs-u-gx-lg-3 {\n --fs-gutter-x: 1rem;\n }\n .fs-u-gy-lg-3 {\n --fs-gutter-y: 1rem;\n }\n .fs-u-gap-lg-3 {\n gap: 1rem;\n }\n .fs-u-gap-x-lg-3 {\n column-gap: 1rem;\n }\n .fs-u-gap-y-lg-3 {\n row-gap: 1rem;\n }\n .fs-u-m-lg-4 {\n margin: 1.5rem;\n }\n .fs-u-mt-lg-4 {\n margin-top: 1.5rem;\n }\n .fs-u-mr-lg-4 {\n margin-right: 1.5rem;\n }\n .fs-u-mb-lg-4 {\n margin-bottom: 1.5rem;\n }\n .fs-u-ml-lg-4 {\n margin-left: 1.5rem;\n }\n .fs-u-mx-lg-4 {\n margin-right: 1.5rem;\n margin-left: 1.5rem;\n }\n .fs-u-my-lg-4 {\n margin-top: 1.5rem;\n margin-bottom: 1.5rem;\n }\n .fs-u-p-lg-4 {\n padding: 1.5rem;\n }\n .fs-u-pt-lg-4 {\n padding-top: 1.5rem;\n }\n .fs-u-pr-lg-4 {\n padding-right: 1.5rem;\n }\n .fs-u-pb-lg-4 {\n padding-bottom: 1.5rem;\n }\n .fs-u-pl-lg-4 {\n padding-left: 1.5rem;\n }\n .fs-u-px-lg-4 {\n padding-right: 1.5rem;\n padding-left: 1.5rem;\n }\n .fs-u-py-lg-4 {\n padding-top: 1.5rem;\n padding-bottom: 1.5rem;\n }\n .fs-u-g-lg-4 {\n --fs-gutter-x: 1.5rem;\n --fs-gutter-y: 1.5rem;\n }\n .fs-u-gx-lg-4 {\n --fs-gutter-x: 1.5rem;\n }\n .fs-u-gy-lg-4 {\n --fs-gutter-y: 1.5rem;\n }\n .fs-u-gap-lg-4 {\n gap: 1.5rem;\n }\n .fs-u-gap-x-lg-4 {\n column-gap: 1.5rem;\n }\n .fs-u-gap-y-lg-4 {\n row-gap: 1.5rem;\n }\n .fs-u-m-lg-5 {\n margin: 3rem;\n }\n .fs-u-mt-lg-5 {\n margin-top: 3rem;\n }\n .fs-u-mr-lg-5 {\n margin-right: 3rem;\n }\n .fs-u-mb-lg-5 {\n margin-bottom: 3rem;\n }\n .fs-u-ml-lg-5 {\n margin-left: 3rem;\n }\n .fs-u-mx-lg-5 {\n margin-right: 3rem;\n margin-left: 3rem;\n }\n .fs-u-my-lg-5 {\n margin-top: 3rem;\n margin-bottom: 3rem;\n }\n .fs-u-p-lg-5 {\n padding: 3rem;\n }\n .fs-u-pt-lg-5 {\n padding-top: 3rem;\n }\n .fs-u-pr-lg-5 {\n padding-right: 3rem;\n }\n .fs-u-pb-lg-5 {\n padding-bottom: 3rem;\n }\n .fs-u-pl-lg-5 {\n padding-left: 3rem;\n }\n .fs-u-px-lg-5 {\n padding-right: 3rem;\n padding-left: 3rem;\n }\n .fs-u-py-lg-5 {\n padding-top: 3rem;\n padding-bottom: 3rem;\n }\n .fs-u-g-lg-5 {\n --fs-gutter-x: 3rem;\n --fs-gutter-y: 3rem;\n }\n .fs-u-gx-lg-5 {\n --fs-gutter-x: 3rem;\n }\n .fs-u-gy-lg-5 {\n --fs-gutter-y: 3rem;\n }\n .fs-u-gap-lg-5 {\n gap: 3rem;\n }\n .fs-u-gap-x-lg-5 {\n column-gap: 3rem;\n }\n .fs-u-gap-y-lg-5 {\n row-gap: 3rem;\n }\n .fs-u-m-lg-auto {\n margin: auto;\n }\n .fs-u-mt-lg-auto {\n margin-top: auto;\n }\n .fs-u-mr-lg-auto {\n margin-right: auto;\n }\n .fs-u-mb-lg-auto {\n margin-bottom: auto;\n }\n .fs-u-ml-lg-auto {\n margin-left: auto;\n }\n .fs-u-mx-lg-auto {\n margin-right: auto;\n margin-left: auto;\n }\n .fs-u-my-lg-auto {\n margin-top: auto;\n margin-bottom: auto;\n }\n }\n @media (min-width: 1280px) {\n .fs-u-m-xl-0 {\n margin: 0;\n }\n .fs-u-mt-xl-0 {\n margin-top: 0;\n }\n .fs-u-mr-xl-0 {\n margin-right: 0;\n }\n .fs-u-mb-xl-0 {\n margin-bottom: 0;\n }\n .fs-u-ml-xl-0 {\n margin-left: 0;\n }\n .fs-u-mx-xl-0 {\n margin-right: 0;\n margin-left: 0;\n }\n .fs-u-my-xl-0 {\n margin-top: 0;\n margin-bottom: 0;\n }\n .fs-u-p-xl-0 {\n padding: 0;\n }\n .fs-u-pt-xl-0 {\n padding-top: 0;\n }\n .fs-u-pr-xl-0 {\n padding-right: 0;\n }\n .fs-u-pb-xl-0 {\n padding-bottom: 0;\n }\n .fs-u-pl-xl-0 {\n padding-left: 0;\n }\n .fs-u-px-xl-0 {\n padding-right: 0;\n padding-left: 0;\n }\n .fs-u-py-xl-0 {\n padding-top: 0;\n padding-bottom: 0;\n }\n .fs-u-g-xl-0 {\n --fs-gutter-x: 0;\n --fs-gutter-y: 0;\n }\n .fs-u-gx-xl-0 {\n --fs-gutter-x: 0;\n }\n .fs-u-gy-xl-0 {\n --fs-gutter-y: 0;\n }\n .fs-u-gap-xl-0 {\n gap: 0;\n }\n .fs-u-gap-x-xl-0 {\n column-gap: 0;\n }\n .fs-u-gap-y-xl-0 {\n row-gap: 0;\n }\n .fs-u-m-xl-1 {\n margin: 0.25rem;\n }\n .fs-u-mt-xl-1 {\n margin-top: 0.25rem;\n }\n .fs-u-mr-xl-1 {\n margin-right: 0.25rem;\n }\n .fs-u-mb-xl-1 {\n margin-bottom: 0.25rem;\n }\n .fs-u-ml-xl-1 {\n margin-left: 0.25rem;\n }\n .fs-u-mx-xl-1 {\n margin-right: 0.25rem;\n margin-left: 0.25rem;\n }\n .fs-u-my-xl-1 {\n margin-top: 0.25rem;\n margin-bottom: 0.25rem;\n }\n .fs-u-p-xl-1 {\n padding: 0.25rem;\n }\n .fs-u-pt-xl-1 {\n padding-top: 0.25rem;\n }\n .fs-u-pr-xl-1 {\n padding-right: 0.25rem;\n }\n .fs-u-pb-xl-1 {\n padding-bottom: 0.25rem;\n }\n .fs-u-pl-xl-1 {\n padding-left: 0.25rem;\n }\n .fs-u-px-xl-1 {\n padding-right: 0.25rem;\n padding-left: 0.25rem;\n }\n .fs-u-py-xl-1 {\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n }\n .fs-u-g-xl-1 {\n --fs-gutter-x: 0.25rem;\n --fs-gutter-y: 0.25rem;\n }\n .fs-u-gx-xl-1 {\n --fs-gutter-x: 0.25rem;\n }\n .fs-u-gy-xl-1 {\n --fs-gutter-y: 0.25rem;\n }\n .fs-u-gap-xl-1 {\n gap: 0.25rem;\n }\n .fs-u-gap-x-xl-1 {\n column-gap: 0.25rem;\n }\n .fs-u-gap-y-xl-1 {\n row-gap: 0.25rem;\n }\n .fs-u-m-xl-2 {\n margin: 0.5rem;\n }\n .fs-u-mt-xl-2 {\n margin-top: 0.5rem;\n }\n .fs-u-mr-xl-2 {\n margin-right: 0.5rem;\n }\n .fs-u-mb-xl-2 {\n margin-bottom: 0.5rem;\n }\n .fs-u-ml-xl-2 {\n margin-left: 0.5rem;\n }\n .fs-u-mx-xl-2 {\n margin-right: 0.5rem;\n margin-left: 0.5rem;\n }\n .fs-u-my-xl-2 {\n margin-top: 0.5rem;\n margin-bottom: 0.5rem;\n }\n .fs-u-p-xl-2 {\n padding: 0.5rem;\n }\n .fs-u-pt-xl-2 {\n padding-top: 0.5rem;\n }\n .fs-u-pr-xl-2 {\n padding-right: 0.5rem;\n }\n .fs-u-pb-xl-2 {\n padding-bottom: 0.5rem;\n }\n .fs-u-pl-xl-2 {\n padding-left: 0.5rem;\n }\n .fs-u-px-xl-2 {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .fs-u-py-xl-2 {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n }\n .fs-u-g-xl-2 {\n --fs-gutter-x: 0.5rem;\n --fs-gutter-y: 0.5rem;\n }\n .fs-u-gx-xl-2 {\n --fs-gutter-x: 0.5rem;\n }\n .fs-u-gy-xl-2 {\n --fs-gutter-y: 0.5rem;\n }\n .fs-u-gap-xl-2 {\n gap: 0.5rem;\n }\n .fs-u-gap-x-xl-2 {\n column-gap: 0.5rem;\n }\n .fs-u-gap-y-xl-2 {\n row-gap: 0.5rem;\n }\n .fs-u-m-xl-3 {\n margin: 1rem;\n }\n .fs-u-mt-xl-3 {\n margin-top: 1rem;\n }\n .fs-u-mr-xl-3 {\n margin-right: 1rem;\n }\n .fs-u-mb-xl-3 {\n margin-bottom: 1rem;\n }\n .fs-u-ml-xl-3 {\n margin-left: 1rem;\n }\n .fs-u-mx-xl-3 {\n margin-right: 1rem;\n margin-left: 1rem;\n }\n .fs-u-my-xl-3 {\n margin-top: 1rem;\n margin-bottom: 1rem;\n }\n .fs-u-p-xl-3 {\n padding: 1rem;\n }\n .fs-u-pt-xl-3 {\n padding-top: 1rem;\n }\n .fs-u-pr-xl-3 {\n padding-right: 1rem;\n }\n .fs-u-pb-xl-3 {\n padding-bottom: 1rem;\n }\n .fs-u-pl-xl-3 {\n padding-left: 1rem;\n }\n .fs-u-px-xl-3 {\n padding-right: 1rem;\n padding-left: 1rem;\n }\n .fs-u-py-xl-3 {\n padding-top: 1rem;\n padding-bottom: 1rem;\n }\n .fs-u-g-xl-3 {\n --fs-gutter-x: 1rem;\n --fs-gutter-y: 1rem;\n }\n .fs-u-gx-xl-3 {\n --fs-gutter-x: 1rem;\n }\n .fs-u-gy-xl-3 {\n --fs-gutter-y: 1rem;\n }\n .fs-u-gap-xl-3 {\n gap: 1rem;\n }\n .fs-u-gap-x-xl-3 {\n column-gap: 1rem;\n }\n .fs-u-gap-y-xl-3 {\n row-gap: 1rem;\n }\n .fs-u-m-xl-4 {\n margin: 1.5rem;\n }\n .fs-u-mt-xl-4 {\n margin-top: 1.5rem;\n }\n .fs-u-mr-xl-4 {\n margin-right: 1.5rem;\n }\n .fs-u-mb-xl-4 {\n margin-bottom: 1.5rem;\n }\n .fs-u-ml-xl-4 {\n margin-left: 1.5rem;\n }\n .fs-u-mx-xl-4 {\n margin-right: 1.5rem;\n margin-left: 1.5rem;\n }\n .fs-u-my-xl-4 {\n margin-top: 1.5rem;\n margin-bottom: 1.5rem;\n }\n .fs-u-p-xl-4 {\n padding: 1.5rem;\n }\n .fs-u-pt-xl-4 {\n padding-top: 1.5rem;\n }\n .fs-u-pr-xl-4 {\n padding-right: 1.5rem;\n }\n .fs-u-pb-xl-4 {\n padding-bottom: 1.5rem;\n }\n .fs-u-pl-xl-4 {\n padding-left: 1.5rem;\n }\n .fs-u-px-xl-4 {\n padding-right: 1.5rem;\n padding-left: 1.5rem;\n }\n .fs-u-py-xl-4 {\n padding-top: 1.5rem;\n padding-bottom: 1.5rem;\n }\n .fs-u-g-xl-4 {\n --fs-gutter-x: 1.5rem;\n --fs-gutter-y: 1.5rem;\n }\n .fs-u-gx-xl-4 {\n --fs-gutter-x: 1.5rem;\n }\n .fs-u-gy-xl-4 {\n --fs-gutter-y: 1.5rem;\n }\n .fs-u-gap-xl-4 {\n gap: 1.5rem;\n }\n .fs-u-gap-x-xl-4 {\n column-gap: 1.5rem;\n }\n .fs-u-gap-y-xl-4 {\n row-gap: 1.5rem;\n }\n .fs-u-m-xl-5 {\n margin: 3rem;\n }\n .fs-u-mt-xl-5 {\n margin-top: 3rem;\n }\n .fs-u-mr-xl-5 {\n margin-right: 3rem;\n }\n .fs-u-mb-xl-5 {\n margin-bottom: 3rem;\n }\n .fs-u-ml-xl-5 {\n margin-left: 3rem;\n }\n .fs-u-mx-xl-5 {\n margin-right: 3rem;\n margin-left: 3rem;\n }\n .fs-u-my-xl-5 {\n margin-top: 3rem;\n margin-bottom: 3rem;\n }\n .fs-u-p-xl-5 {\n padding: 3rem;\n }\n .fs-u-pt-xl-5 {\n padding-top: 3rem;\n }\n .fs-u-pr-xl-5 {\n padding-right: 3rem;\n }\n .fs-u-pb-xl-5 {\n padding-bottom: 3rem;\n }\n .fs-u-pl-xl-5 {\n padding-left: 3rem;\n }\n .fs-u-px-xl-5 {\n padding-right: 3rem;\n padding-left: 3rem;\n }\n .fs-u-py-xl-5 {\n padding-top: 3rem;\n padding-bottom: 3rem;\n }\n .fs-u-g-xl-5 {\n --fs-gutter-x: 3rem;\n --fs-gutter-y: 3rem;\n }\n .fs-u-gx-xl-5 {\n --fs-gutter-x: 3rem;\n }\n .fs-u-gy-xl-5 {\n --fs-gutter-y: 3rem;\n }\n .fs-u-gap-xl-5 {\n gap: 3rem;\n }\n .fs-u-gap-x-xl-5 {\n column-gap: 3rem;\n }\n .fs-u-gap-y-xl-5 {\n row-gap: 3rem;\n }\n .fs-u-m-xl-auto {\n margin: auto;\n }\n .fs-u-mt-xl-auto {\n margin-top: auto;\n }\n .fs-u-mr-xl-auto {\n margin-right: auto;\n }\n .fs-u-mb-xl-auto {\n margin-bottom: auto;\n }\n .fs-u-ml-xl-auto {\n margin-left: auto;\n }\n .fs-u-mx-xl-auto {\n margin-right: auto;\n margin-left: auto;\n }\n .fs-u-my-xl-auto {\n margin-top: auto;\n margin-bottom: auto;\n }\n }\n @media (min-width: 1536px) {\n .fs-u-m-xxl-0 {\n margin: 0;\n }\n .fs-u-mt-xxl-0 {\n margin-top: 0;\n }\n .fs-u-mr-xxl-0 {\n margin-right: 0;\n }\n .fs-u-mb-xxl-0 {\n margin-bottom: 0;\n }\n .fs-u-ml-xxl-0 {\n margin-left: 0;\n }\n .fs-u-mx-xxl-0 {\n margin-right: 0;\n margin-left: 0;\n }\n .fs-u-my-xxl-0 {\n margin-top: 0;\n margin-bottom: 0;\n }\n .fs-u-p-xxl-0 {\n padding: 0;\n }\n .fs-u-pt-xxl-0 {\n padding-top: 0;\n }\n .fs-u-pr-xxl-0 {\n padding-right: 0;\n }\n .fs-u-pb-xxl-0 {\n padding-bottom: 0;\n }\n .fs-u-pl-xxl-0 {\n padding-left: 0;\n }\n .fs-u-px-xxl-0 {\n padding-right: 0;\n padding-left: 0;\n }\n .fs-u-py-xxl-0 {\n padding-top: 0;\n padding-bottom: 0;\n }\n .fs-u-g-xxl-0 {\n --fs-gutter-x: 0;\n --fs-gutter-y: 0;\n }\n .fs-u-gx-xxl-0 {\n --fs-gutter-x: 0;\n }\n .fs-u-gy-xxl-0 {\n --fs-gutter-y: 0;\n }\n .fs-u-gap-xxl-0 {\n gap: 0;\n }\n .fs-u-gap-x-xxl-0 {\n column-gap: 0;\n }\n .fs-u-gap-y-xxl-0 {\n row-gap: 0;\n }\n .fs-u-m-xxl-1 {\n margin: 0.25rem;\n }\n .fs-u-mt-xxl-1 {\n margin-top: 0.25rem;\n }\n .fs-u-mr-xxl-1 {\n margin-right: 0.25rem;\n }\n .fs-u-mb-xxl-1 {\n margin-bottom: 0.25rem;\n }\n .fs-u-ml-xxl-1 {\n margin-left: 0.25rem;\n }\n .fs-u-mx-xxl-1 {\n margin-right: 0.25rem;\n margin-left: 0.25rem;\n }\n .fs-u-my-xxl-1 {\n margin-top: 0.25rem;\n margin-bottom: 0.25rem;\n }\n .fs-u-p-xxl-1 {\n padding: 0.25rem;\n }\n .fs-u-pt-xxl-1 {\n padding-top: 0.25rem;\n }\n .fs-u-pr-xxl-1 {\n padding-right: 0.25rem;\n }\n .fs-u-pb-xxl-1 {\n padding-bottom: 0.25rem;\n }\n .fs-u-pl-xxl-1 {\n padding-left: 0.25rem;\n }\n .fs-u-px-xxl-1 {\n padding-right: 0.25rem;\n padding-left: 0.25rem;\n }\n .fs-u-py-xxl-1 {\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n }\n .fs-u-g-xxl-1 {\n --fs-gutter-x: 0.25rem;\n --fs-gutter-y: 0.25rem;\n }\n .fs-u-gx-xxl-1 {\n --fs-gutter-x: 0.25rem;\n }\n .fs-u-gy-xxl-1 {\n --fs-gutter-y: 0.25rem;\n }\n .fs-u-gap-xxl-1 {\n gap: 0.25rem;\n }\n .fs-u-gap-x-xxl-1 {\n column-gap: 0.25rem;\n }\n .fs-u-gap-y-xxl-1 {\n row-gap: 0.25rem;\n }\n .fs-u-m-xxl-2 {\n margin: 0.5rem;\n }\n .fs-u-mt-xxl-2 {\n margin-top: 0.5rem;\n }\n .fs-u-mr-xxl-2 {\n margin-right: 0.5rem;\n }\n .fs-u-mb-xxl-2 {\n margin-bottom: 0.5rem;\n }\n .fs-u-ml-xxl-2 {\n margin-left: 0.5rem;\n }\n .fs-u-mx-xxl-2 {\n margin-right: 0.5rem;\n margin-left: 0.5rem;\n }\n .fs-u-my-xxl-2 {\n margin-top: 0.5rem;\n margin-bottom: 0.5rem;\n }\n .fs-u-p-xxl-2 {\n padding: 0.5rem;\n }\n .fs-u-pt-xxl-2 {\n padding-top: 0.5rem;\n }\n .fs-u-pr-xxl-2 {\n padding-right: 0.5rem;\n }\n .fs-u-pb-xxl-2 {\n padding-bottom: 0.5rem;\n }\n .fs-u-pl-xxl-2 {\n padding-left: 0.5rem;\n }\n .fs-u-px-xxl-2 {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .fs-u-py-xxl-2 {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n }\n .fs-u-g-xxl-2 {\n --fs-gutter-x: 0.5rem;\n --fs-gutter-y: 0.5rem;\n }\n .fs-u-gx-xxl-2 {\n --fs-gutter-x: 0.5rem;\n }\n .fs-u-gy-xxl-2 {\n --fs-gutter-y: 0.5rem;\n }\n .fs-u-gap-xxl-2 {\n gap: 0.5rem;\n }\n .fs-u-gap-x-xxl-2 {\n column-gap: 0.5rem;\n }\n .fs-u-gap-y-xxl-2 {\n row-gap: 0.5rem;\n }\n .fs-u-m-xxl-3 {\n margin: 1rem;\n }\n .fs-u-mt-xxl-3 {\n margin-top: 1rem;\n }\n .fs-u-mr-xxl-3 {\n margin-right: 1rem;\n }\n .fs-u-mb-xxl-3 {\n margin-bottom: 1rem;\n }\n .fs-u-ml-xxl-3 {\n margin-left: 1rem;\n }\n .fs-u-mx-xxl-3 {\n margin-right: 1rem;\n margin-left: 1rem;\n }\n .fs-u-my-xxl-3 {\n margin-top: 1rem;\n margin-bottom: 1rem;\n }\n .fs-u-p-xxl-3 {\n padding: 1rem;\n }\n .fs-u-pt-xxl-3 {\n padding-top: 1rem;\n }\n .fs-u-pr-xxl-3 {\n padding-right: 1rem;\n }\n .fs-u-pb-xxl-3 {\n padding-bottom: 1rem;\n }\n .fs-u-pl-xxl-3 {\n padding-left: 1rem;\n }\n .fs-u-px-xxl-3 {\n padding-right: 1rem;\n padding-left: 1rem;\n }\n .fs-u-py-xxl-3 {\n padding-top: 1rem;\n padding-bottom: 1rem;\n }\n .fs-u-g-xxl-3 {\n --fs-gutter-x: 1rem;\n --fs-gutter-y: 1rem;\n }\n .fs-u-gx-xxl-3 {\n --fs-gutter-x: 1rem;\n }\n .fs-u-gy-xxl-3 {\n --fs-gutter-y: 1rem;\n }\n .fs-u-gap-xxl-3 {\n gap: 1rem;\n }\n .fs-u-gap-x-xxl-3 {\n column-gap: 1rem;\n }\n .fs-u-gap-y-xxl-3 {\n row-gap: 1rem;\n }\n .fs-u-m-xxl-4 {\n margin: 1.5rem;\n }\n .fs-u-mt-xxl-4 {\n margin-top: 1.5rem;\n }\n .fs-u-mr-xxl-4 {\n margin-right: 1.5rem;\n }\n .fs-u-mb-xxl-4 {\n margin-bottom: 1.5rem;\n }\n .fs-u-ml-xxl-4 {\n margin-left: 1.5rem;\n }\n .fs-u-mx-xxl-4 {\n margin-right: 1.5rem;\n margin-left: 1.5rem;\n }\n .fs-u-my-xxl-4 {\n margin-top: 1.5rem;\n margin-bottom: 1.5rem;\n }\n .fs-u-p-xxl-4 {\n padding: 1.5rem;\n }\n .fs-u-pt-xxl-4 {\n padding-top: 1.5rem;\n }\n .fs-u-pr-xxl-4 {\n padding-right: 1.5rem;\n }\n .fs-u-pb-xxl-4 {\n padding-bottom: 1.5rem;\n }\n .fs-u-pl-xxl-4 {\n padding-left: 1.5rem;\n }\n .fs-u-px-xxl-4 {\n padding-right: 1.5rem;\n padding-left: 1.5rem;\n }\n .fs-u-py-xxl-4 {\n padding-top: 1.5rem;\n padding-bottom: 1.5rem;\n }\n .fs-u-g-xxl-4 {\n --fs-gutter-x: 1.5rem;\n --fs-gutter-y: 1.5rem;\n }\n .fs-u-gx-xxl-4 {\n --fs-gutter-x: 1.5rem;\n }\n .fs-u-gy-xxl-4 {\n --fs-gutter-y: 1.5rem;\n }\n .fs-u-gap-xxl-4 {\n gap: 1.5rem;\n }\n .fs-u-gap-x-xxl-4 {\n column-gap: 1.5rem;\n }\n .fs-u-gap-y-xxl-4 {\n row-gap: 1.5rem;\n }\n .fs-u-m-xxl-5 {\n margin: 3rem;\n }\n .fs-u-mt-xxl-5 {\n margin-top: 3rem;\n }\n .fs-u-mr-xxl-5 {\n margin-right: 3rem;\n }\n .fs-u-mb-xxl-5 {\n margin-bottom: 3rem;\n }\n .fs-u-ml-xxl-5 {\n margin-left: 3rem;\n }\n .fs-u-mx-xxl-5 {\n margin-right: 3rem;\n margin-left: 3rem;\n }\n .fs-u-my-xxl-5 {\n margin-top: 3rem;\n margin-bottom: 3rem;\n }\n .fs-u-p-xxl-5 {\n padding: 3rem;\n }\n .fs-u-pt-xxl-5 {\n padding-top: 3rem;\n }\n .fs-u-pr-xxl-5 {\n padding-right: 3rem;\n }\n .fs-u-pb-xxl-5 {\n padding-bottom: 3rem;\n }\n .fs-u-pl-xxl-5 {\n padding-left: 3rem;\n }\n .fs-u-px-xxl-5 {\n padding-right: 3rem;\n padding-left: 3rem;\n }\n .fs-u-py-xxl-5 {\n padding-top: 3rem;\n padding-bottom: 3rem;\n }\n .fs-u-g-xxl-5 {\n --fs-gutter-x: 3rem;\n --fs-gutter-y: 3rem;\n }\n .fs-u-gx-xxl-5 {\n --fs-gutter-x: 3rem;\n }\n .fs-u-gy-xxl-5 {\n --fs-gutter-y: 3rem;\n }\n .fs-u-gap-xxl-5 {\n gap: 3rem;\n }\n .fs-u-gap-x-xxl-5 {\n column-gap: 3rem;\n }\n .fs-u-gap-y-xxl-5 {\n row-gap: 3rem;\n }\n .fs-u-m-xxl-auto {\n margin: auto;\n }\n .fs-u-mt-xxl-auto {\n margin-top: auto;\n }\n .fs-u-mr-xxl-auto {\n margin-right: auto;\n }\n .fs-u-mb-xxl-auto {\n margin-bottom: auto;\n }\n .fs-u-ml-xxl-auto {\n margin-left: auto;\n }\n .fs-u-mx-xxl-auto {\n margin-right: auto;\n margin-left: auto;\n }\n .fs-u-my-xxl-auto {\n margin-top: auto;\n margin-bottom: auto;\n }\n }\n @media (min-width: 1920px) {\n .fs-u-m-xxxl-0 {\n margin: 0;\n }\n .fs-u-mt-xxxl-0 {\n margin-top: 0;\n }\n .fs-u-mr-xxxl-0 {\n margin-right: 0;\n }\n .fs-u-mb-xxxl-0 {\n margin-bottom: 0;\n }\n .fs-u-ml-xxxl-0 {\n margin-left: 0;\n }\n .fs-u-mx-xxxl-0 {\n margin-right: 0;\n margin-left: 0;\n }\n .fs-u-my-xxxl-0 {\n margin-top: 0;\n margin-bottom: 0;\n }\n .fs-u-p-xxxl-0 {\n padding: 0;\n }\n .fs-u-pt-xxxl-0 {\n padding-top: 0;\n }\n .fs-u-pr-xxxl-0 {\n padding-right: 0;\n }\n .fs-u-pb-xxxl-0 {\n padding-bottom: 0;\n }\n .fs-u-pl-xxxl-0 {\n padding-left: 0;\n }\n .fs-u-px-xxxl-0 {\n padding-right: 0;\n padding-left: 0;\n }\n .fs-u-py-xxxl-0 {\n padding-top: 0;\n padding-bottom: 0;\n }\n .fs-u-g-xxxl-0 {\n --fs-gutter-x: 0;\n --fs-gutter-y: 0;\n }\n .fs-u-gx-xxxl-0 {\n --fs-gutter-x: 0;\n }\n .fs-u-gy-xxxl-0 {\n --fs-gutter-y: 0;\n }\n .fs-u-gap-xxxl-0 {\n gap: 0;\n }\n .fs-u-gap-x-xxxl-0 {\n column-gap: 0;\n }\n .fs-u-gap-y-xxxl-0 {\n row-gap: 0;\n }\n .fs-u-m-xxxl-1 {\n margin: 0.25rem;\n }\n .fs-u-mt-xxxl-1 {\n margin-top: 0.25rem;\n }\n .fs-u-mr-xxxl-1 {\n margin-right: 0.25rem;\n }\n .fs-u-mb-xxxl-1 {\n margin-bottom: 0.25rem;\n }\n .fs-u-ml-xxxl-1 {\n margin-left: 0.25rem;\n }\n .fs-u-mx-xxxl-1 {\n margin-right: 0.25rem;\n margin-left: 0.25rem;\n }\n .fs-u-my-xxxl-1 {\n margin-top: 0.25rem;\n margin-bottom: 0.25rem;\n }\n .fs-u-p-xxxl-1 {\n padding: 0.25rem;\n }\n .fs-u-pt-xxxl-1 {\n padding-top: 0.25rem;\n }\n .fs-u-pr-xxxl-1 {\n padding-right: 0.25rem;\n }\n .fs-u-pb-xxxl-1 {\n padding-bottom: 0.25rem;\n }\n .fs-u-pl-xxxl-1 {\n padding-left: 0.25rem;\n }\n .fs-u-px-xxxl-1 {\n padding-right: 0.25rem;\n padding-left: 0.25rem;\n }\n .fs-u-py-xxxl-1 {\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n }\n .fs-u-g-xxxl-1 {\n --fs-gutter-x: 0.25rem;\n --fs-gutter-y: 0.25rem;\n }\n .fs-u-gx-xxxl-1 {\n --fs-gutter-x: 0.25rem;\n }\n .fs-u-gy-xxxl-1 {\n --fs-gutter-y: 0.25rem;\n }\n .fs-u-gap-xxxl-1 {\n gap: 0.25rem;\n }\n .fs-u-gap-x-xxxl-1 {\n column-gap: 0.25rem;\n }\n .fs-u-gap-y-xxxl-1 {\n row-gap: 0.25rem;\n }\n .fs-u-m-xxxl-2 {\n margin: 0.5rem;\n }\n .fs-u-mt-xxxl-2 {\n margin-top: 0.5rem;\n }\n .fs-u-mr-xxxl-2 {\n margin-right: 0.5rem;\n }\n .fs-u-mb-xxxl-2 {\n margin-bottom: 0.5rem;\n }\n .fs-u-ml-xxxl-2 {\n margin-left: 0.5rem;\n }\n .fs-u-mx-xxxl-2 {\n margin-right: 0.5rem;\n margin-left: 0.5rem;\n }\n .fs-u-my-xxxl-2 {\n margin-top: 0.5rem;\n margin-bottom: 0.5rem;\n }\n .fs-u-p-xxxl-2 {\n padding: 0.5rem;\n }\n .fs-u-pt-xxxl-2 {\n padding-top: 0.5rem;\n }\n .fs-u-pr-xxxl-2 {\n padding-right: 0.5rem;\n }\n .fs-u-pb-xxxl-2 {\n padding-bottom: 0.5rem;\n }\n .fs-u-pl-xxxl-2 {\n padding-left: 0.5rem;\n }\n .fs-u-px-xxxl-2 {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .fs-u-py-xxxl-2 {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n }\n .fs-u-g-xxxl-2 {\n --fs-gutter-x: 0.5rem;\n --fs-gutter-y: 0.5rem;\n }\n .fs-u-gx-xxxl-2 {\n --fs-gutter-x: 0.5rem;\n }\n .fs-u-gy-xxxl-2 {\n --fs-gutter-y: 0.5rem;\n }\n .fs-u-gap-xxxl-2 {\n gap: 0.5rem;\n }\n .fs-u-gap-x-xxxl-2 {\n column-gap: 0.5rem;\n }\n .fs-u-gap-y-xxxl-2 {\n row-gap: 0.5rem;\n }\n .fs-u-m-xxxl-3 {\n margin: 1rem;\n }\n .fs-u-mt-xxxl-3 {\n margin-top: 1rem;\n }\n .fs-u-mr-xxxl-3 {\n margin-right: 1rem;\n }\n .fs-u-mb-xxxl-3 {\n margin-bottom: 1rem;\n }\n .fs-u-ml-xxxl-3 {\n margin-left: 1rem;\n }\n .fs-u-mx-xxxl-3 {\n margin-right: 1rem;\n margin-left: 1rem;\n }\n .fs-u-my-xxxl-3 {\n margin-top: 1rem;\n margin-bottom: 1rem;\n }\n .fs-u-p-xxxl-3 {\n padding: 1rem;\n }\n .fs-u-pt-xxxl-3 {\n padding-top: 1rem;\n }\n .fs-u-pr-xxxl-3 {\n padding-right: 1rem;\n }\n .fs-u-pb-xxxl-3 {\n padding-bottom: 1rem;\n }\n .fs-u-pl-xxxl-3 {\n padding-left: 1rem;\n }\n .fs-u-px-xxxl-3 {\n padding-right: 1rem;\n padding-left: 1rem;\n }\n .fs-u-py-xxxl-3 {\n padding-top: 1rem;\n padding-bottom: 1rem;\n }\n .fs-u-g-xxxl-3 {\n --fs-gutter-x: 1rem;\n --fs-gutter-y: 1rem;\n }\n .fs-u-gx-xxxl-3 {\n --fs-gutter-x: 1rem;\n }\n .fs-u-gy-xxxl-3 {\n --fs-gutter-y: 1rem;\n }\n .fs-u-gap-xxxl-3 {\n gap: 1rem;\n }\n .fs-u-gap-x-xxxl-3 {\n column-gap: 1rem;\n }\n .fs-u-gap-y-xxxl-3 {\n row-gap: 1rem;\n }\n .fs-u-m-xxxl-4 {\n margin: 1.5rem;\n }\n .fs-u-mt-xxxl-4 {\n margin-top: 1.5rem;\n }\n .fs-u-mr-xxxl-4 {\n margin-right: 1.5rem;\n }\n .fs-u-mb-xxxl-4 {\n margin-bottom: 1.5rem;\n }\n .fs-u-ml-xxxl-4 {\n margin-left: 1.5rem;\n }\n .fs-u-mx-xxxl-4 {\n margin-right: 1.5rem;\n margin-left: 1.5rem;\n }\n .fs-u-my-xxxl-4 {\n margin-top: 1.5rem;\n margin-bottom: 1.5rem;\n }\n .fs-u-p-xxxl-4 {\n padding: 1.5rem;\n }\n .fs-u-pt-xxxl-4 {\n padding-top: 1.5rem;\n }\n .fs-u-pr-xxxl-4 {\n padding-right: 1.5rem;\n }\n .fs-u-pb-xxxl-4 {\n padding-bottom: 1.5rem;\n }\n .fs-u-pl-xxxl-4 {\n padding-left: 1.5rem;\n }\n .fs-u-px-xxxl-4 {\n padding-right: 1.5rem;\n padding-left: 1.5rem;\n }\n .fs-u-py-xxxl-4 {\n padding-top: 1.5rem;\n padding-bottom: 1.5rem;\n }\n .fs-u-g-xxxl-4 {\n --fs-gutter-x: 1.5rem;\n --fs-gutter-y: 1.5rem;\n }\n .fs-u-gx-xxxl-4 {\n --fs-gutter-x: 1.5rem;\n }\n .fs-u-gy-xxxl-4 {\n --fs-gutter-y: 1.5rem;\n }\n .fs-u-gap-xxxl-4 {\n gap: 1.5rem;\n }\n .fs-u-gap-x-xxxl-4 {\n column-gap: 1.5rem;\n }\n .fs-u-gap-y-xxxl-4 {\n row-gap: 1.5rem;\n }\n .fs-u-m-xxxl-5 {\n margin: 3rem;\n }\n .fs-u-mt-xxxl-5 {\n margin-top: 3rem;\n }\n .fs-u-mr-xxxl-5 {\n margin-right: 3rem;\n }\n .fs-u-mb-xxxl-5 {\n margin-bottom: 3rem;\n }\n .fs-u-ml-xxxl-5 {\n margin-left: 3rem;\n }\n .fs-u-mx-xxxl-5 {\n margin-right: 3rem;\n margin-left: 3rem;\n }\n .fs-u-my-xxxl-5 {\n margin-top: 3rem;\n margin-bottom: 3rem;\n }\n .fs-u-p-xxxl-5 {\n padding: 3rem;\n }\n .fs-u-pt-xxxl-5 {\n padding-top: 3rem;\n }\n .fs-u-pr-xxxl-5 {\n padding-right: 3rem;\n }\n .fs-u-pb-xxxl-5 {\n padding-bottom: 3rem;\n }\n .fs-u-pl-xxxl-5 {\n padding-left: 3rem;\n }\n .fs-u-px-xxxl-5 {\n padding-right: 3rem;\n padding-left: 3rem;\n }\n .fs-u-py-xxxl-5 {\n padding-top: 3rem;\n padding-bottom: 3rem;\n }\n .fs-u-g-xxxl-5 {\n --fs-gutter-x: 3rem;\n --fs-gutter-y: 3rem;\n }\n .fs-u-gx-xxxl-5 {\n --fs-gutter-x: 3rem;\n }\n .fs-u-gy-xxxl-5 {\n --fs-gutter-y: 3rem;\n }\n .fs-u-gap-xxxl-5 {\n gap: 3rem;\n }\n .fs-u-gap-x-xxxl-5 {\n column-gap: 3rem;\n }\n .fs-u-gap-y-xxxl-5 {\n row-gap: 3rem;\n }\n .fs-u-m-xxxl-auto {\n margin: auto;\n }\n .fs-u-mt-xxxl-auto {\n margin-top: auto;\n }\n .fs-u-mr-xxxl-auto {\n margin-right: auto;\n }\n .fs-u-mb-xxxl-auto {\n margin-bottom: auto;\n }\n .fs-u-ml-xxxl-auto {\n margin-left: auto;\n }\n .fs-u-mx-xxxl-auto {\n margin-right: auto;\n margin-left: auto;\n }\n .fs-u-my-xxxl-auto {\n margin-top: auto;\n margin-bottom: auto;\n }\n }\n}\n@layer utilities {\n .fs-u-text-start {\n text-align: left;\n }\n .fs-u-text-center {\n text-align: center;\n }\n .fs-u-text-end {\n text-align: right;\n }\n .fs-u-text-lowercase {\n text-transform: lowercase;\n }\n .fs-u-text-uppercase {\n text-transform: uppercase;\n }\n .fs-u-text-capitalize {\n text-transform: capitalize;\n }\n .fs-u-text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .fs-u-fw-regular {\n font-weight: 400;\n }\n .fs-u-fw-medium {\n font-weight: 500;\n }\n .fs-u-fw-semibold {\n font-weight: 600;\n }\n .fs-u-fw-bold {\n font-weight: 700;\n }\n .fs-u-fs-xs {\n font-size: 0.6875rem;\n }\n .fs-u-fs-sm {\n font-size: 0.75rem;\n }\n .fs-u-fs-md {\n font-size: 0.8125rem;\n }\n .fs-u-fs-lg {\n font-size: 1rem;\n }\n .fs-u-fs-xl {\n font-size: 1.25rem;\n }\n .fs-u-fs-h1 {\n font-size: 1.75rem;\n }\n .fs-u-fs-h2 {\n font-size: 1.5rem;\n }\n .fs-u-fs-h3 {\n font-size: 1.3125rem;\n }\n .fs-u-fs-h4 {\n font-size: 1.125rem;\n }\n .fs-u-fs-h5 {\n font-size: 1rem;\n }\n .fs-u-fs-h6 {\n font-size: 0.875rem;\n }\n .fs-u-font-sans {\n font-family: var(--fs-font-sans);\n }\n .fs-u-font-mono {\n font-family: var(--fs-font-mono);\n }\n}\n@layer utilities {\n .fs-u-visible {\n visibility: visible;\n }\n .fs-u-invisible {\n visibility: hidden;\n }\n}\n@layer tokens {\n [data-fs-brand=violet] {\n --fs-color-primary: #6d28d9;\n --fs-alert-primary-bg: rgb(229.8834406263, 225.8717327657, 252.5458384302);\n --fs-alert-primary-text: rgb(37.7006407433, 8.7385189481, 83.109047167);\n --fs-feedback-primary-bg: rgb(229.8834406263, 225.8717327657, 252.5458384302);\n }\n [data-fs-brand=violet][data-theme=dark],\n [data-theme=dark] [data-fs-brand=violet] {\n --fs-color-primary: rgb(114.6495158739, 57.1165361442, 219.9746158745);\n --fs-alert-primary-bg: rgb(31.4819726714, 47.0564006856, 82.6607876597);\n --fs-alert-primary-text: rgb(167.4962913963, 147.746130571, 240.0249534535);\n --fs-feedback-primary-bg: rgb(31.4819726714, 47.0564006856, 82.6607876597);\n }\n @supports (color: oklch(0% 0 0deg)) {\n [data-fs-brand=violet] {\n --fs-color-primary: oklch(49.0666497236% 0.2412317343 292.5809393311deg);\n --fs-alert-primary-bg: oklch(92.3599974585% 0.0361847601 292.5809393311deg);\n --fs-alert-primary-text: oklch(24.5333248618% 0.1206158672 292.5809393311deg);\n --fs-feedback-primary-bg: oklch(92.3599974585% 0.0361847601 292.5809393311deg);\n }\n [data-fs-brand=violet][data-theme=dark],\n [data-theme=dark] [data-fs-brand=violet] {\n --fs-color-primary: oklch(51.6133172374% 0.2291701476 292.5809393311deg);\n --fs-alert-primary-bg: oklch(31.117092664% 0.067505667 264.9134801836deg);\n --fs-alert-primary-text: oklch(71.986657348% 0.1326774539 292.5809393311deg);\n --fs-feedback-primary-bg: oklch(31.117092664% 0.067505667 264.9134801836deg);\n }\n }\n [data-fs-brand=corporate] {\n --fs-color-primary: #1d4e89;\n --fs-alert-primary-bg: rgb(219.2237954153, 227.2186121739, 237.6990809983);\n --fs-alert-primary-text: rgb(5.0598830676, 24.6667463069, 49.4731905568);\n --fs-feedback-primary-bg: rgb(219.2237954153, 227.2186121739, 237.6990809983);\n }\n [data-fs-brand=corporate][data-theme=dark],\n [data-theme=dark] [data-fs-brand=corporate] {\n --fs-color-primary: rgb(40.8593466225, 86.5224214637, 143.0926598584);\n --fs-alert-primary-bg: rgb(31.2586947979, 46.3186220749, 70.1321749545);\n --fs-alert-primary-text: rgb(127.9940036809, 155.4045223568, 190.9765129762);\n --fs-feedback-primary-bg: rgb(31.2586947979, 46.3186220749, 70.1321749545);\n }\n [data-fs-brand=vibrant] {\n --fs-color-primary: #f2542d;\n --fs-alert-primary-bg: rgb(255, 231.3637253432, 224.6456124112);\n --fs-alert-primary-text: rgb(93.6202523577, 27.1894355526, 10.7919554552);\n --fs-feedback-primary-bg: rgb(255, 231.3637253432, 224.6456124112);\n }\n [data-fs-brand=vibrant][data-theme=dark],\n [data-theme=dark] [data-fs-brand=vibrant] {\n --fs-color-primary: rgb(244.0763687777, 94.774513804, 58.7750761343);\n --fs-alert-primary-bg: rgb(48.9487024594, 50.7990197305, 85.9119190034);\n --fs-alert-primary-text: rgb(255, 166.953251087, 144.6609410048);\n --fs-feedback-primary-bg: rgb(48.9487024594, 50.7990197305, 85.9119190034);\n }\n @supports (color: oklch(0% 0 0deg)) {\n [data-fs-brand=corporate] {\n --fs-color-primary: oklch(42.3377990386% 0.1112359961 255.1073474093deg);\n --fs-alert-primary-bg: oklch(91.3506698558% 0.0166853994 255.1073474093deg);\n --fs-alert-primary-text: oklch(21.1688995193% 0.055617998 255.1073474093deg);\n --fs-feedback-primary-bg: oklch(91.3506698558% 0.0166853994 255.1073474093deg);\n }\n [data-fs-brand=corporate][data-theme=dark],\n [data-theme=dark] [data-fs-brand=corporate] {\n --fs-color-primary: oklch(45.2209090867% 0.1056741963 255.1073474093deg);\n --fs-alert-primary-bg: oklch(30.1077650613% 0.0480063062 259.2924413953deg);\n --fs-alert-primary-text: oklch(68.2857894712% 0.0611797979 255.1073474093deg);\n --fs-feedback-primary-bg: oklch(30.1077650613% 0.0480063062 259.2924413953deg);\n }\n [data-fs-brand=vibrant] {\n --fs-color-primary: oklch(65.5786741493% 0.2007639921 34.7814711243deg);\n --fs-alert-primary-bg: oklch(94.8368011224% 0.0301145988 34.7814711243deg);\n --fs-alert-primary-text: oklch(32.7893370747% 0.1003819961 34.7814711243deg);\n --fs-feedback-primary-bg: oklch(94.8368011224% 0.0301145988 34.7814711243deg);\n }\n [data-fs-brand=vibrant][data-theme=dark],\n [data-theme=dark] [data-fs-brand=vibrant] {\n --fs-color-primary: oklch(67.2997404419% 0.1907257925 34.7814711243deg);\n --fs-alert-primary-bg: oklch(33.5938963279% 0.0614355056 280.2435599526deg);\n --fs-alert-primary-text: oklch(81.0682707821% 0.1104201957 34.7814711243deg);\n --fs-feedback-primary-bg: oklch(33.5938963279% 0.0614355056 280.2435599526deg);\n }\n }\n}\n@layer overrides {\n [data-fs-brand=vibrant] .fs-btn-primary,\n [data-fs-brand=vibrant] .fs-badge-primary {\n --fs-btn-color: #000000;\n --fs-badge-color: #000000;\n }\n [data-fs-brand=vibrant] .fs-check {\n --fs-check-mark: #000000;\n }\n}\n@layer tokens {\n [data-theme=dark] {\n --fs-color-text: #f1f3f4;\n --fs-color-muted: #bdc1c6;\n --fs-color-border: #3c4043;\n --fs-color-surface: #202124;\n --fs-color-subtle: #2b2c2f;\n --fs-color-bg-surface: var(--fs-color-surface);\n --fs-color-bg-subtle: var(--fs-color-subtle);\n --fs-color-surface-raised: var(--fs-color-surface);\n --fs-color-surface-interactive: var(--fs-color-subtle);\n --fs-color-text-primary: var(--fs-color-text);\n --fs-color-text-muted: var(--fs-color-muted);\n --fs-color-border-default: var(--fs-color-border);\n --fs-color-focus: var(--fs-color-primary);\n --fs-color-action-primary: var(--fs-color-primary);\n --fs-color-action-danger: var(--fs-color-danger);\n --fs-shadow-sm: 0 1px 3px rgb(0 0 0 / 50%), 0 1px 2px rgb(0 0 0 / 40%);\n --fs-shadow-md: 0 6px 12px rgb(0 0 0 / 55%), 0 3px 6px rgb(0 0 0 / 45%);\n --fs-shadow-lg: 0 15px 30px rgb(0 0 0 / 60%), 0 6px 12px rgb(0 0 0 / 50%);\n --fs-tooltip-bg: #f8fafc;\n --fs-tooltip-text: #1e293b;\n --fs-color-primary: rgb(39.8728684152, 106.2372587275, 232.1894887664);\n --fs-alert-primary-bg: rgb(30.765779113, 49.9974662348, 82.3021425489);\n --fs-alert-primary-text: rgb(130.6636212695, 172.0850768824, 246.4419684583);\n --fs-feedback-primary-bg: rgb(30.765779113, 49.9974662348, 82.3021425489);\n --fs-color-secondary: rgb(114.3557068426, 129.039220146, 150.1520317181);\n --fs-alert-secondary-bg: rgb(39.6548148226, 51.4270943358, 70.2648514061);\n --fs-alert-secondary-text: rgb(166.7597509121, 176.2809684237, 189.9919576187);\n --fs-feedback-secondary-bg: rgb(39.6548148226, 51.4270943358, 70.2648514061);\n --fs-color-success: rgb(134.4501166043, 226.9563331209, 149.6185042518);\n --fs-alert-success-bg: rgb(24.8621518491, 61.9088085702, 89.0318819222);\n --fs-alert-success-text: rgb(155.0475916512, 231.7231823866, 166.1609492581);\n --fs-feedback-success-bg: rgb(24.8621518491, 61.9088085702, 89.0318819222);\n --fs-color-warning: rgb(252.9400238762, 208.7461261831, 137.9221837268);\n --fs-alert-warning-bg: rgb(59.1359779173, 56.6792370273, 88.6687774507);\n --fs-alert-warning-text: rgb(253.5439861058, 216.1213263099, 157.1705651606);\n --fs-feedback-warning-bg: rgb(59.1359779173, 56.6792370273, 88.6687774507);\n --fs-color-danger: rgb(208.1189955268, 64.9740184262, 63.4302936954);\n --fs-alert-danger-bg: rgb(44.6823973866, 47.5125073063, 81.2083778204);\n --fs-alert-danger-text: rgb(235.4050745756, 149.9650253478, 142.4924034553);\n --fs-feedback-danger-bg: rgb(44.6823973866, 47.5125073063, 81.2083778204);\n --fs-color-info: #5e5cc7;\n --fs-alert-info-bg: rgb(35.0058091619, 49.6887857769, 78.5757788254);\n --fs-alert-info-text: rgb(160.628671266, 165.881962789, 227.610600335);\n --fs-feedback-info-bg: rgb(35.0058091619, 49.6887857769, 78.5757788254);\n }\n @supports (color: oklch(0% 0 0deg)) {\n [data-theme=dark] {\n --fs-color-text: oklch(96.2913383165% 0.002529697 228.7848682695deg);\n --fs-color-muted: oklch(80.9268110646% 0.0083071608 253.8653061211deg);\n --fs-color-border: oklch(36.8827622528% 0.0074489239 240.018838067deg);\n --fs-color-surface: oklch(24.7936263361% 0.0058460141 271.1764187765deg);\n --fs-color-subtle: oklch(29.3286259539% 0.0055990771 271.2234269855deg);\n --fs-color-bg-surface: var(--fs-color-surface);\n --fs-color-bg-subtle: var(--fs-color-subtle);\n --fs-color-surface-raised: var(--fs-color-surface);\n --fs-color-surface-interactive: var(--fs-color-subtle);\n --fs-color-text-primary: var(--fs-color-text);\n --fs-color-text-muted: var(--fs-color-muted);\n --fs-color-border-default: var(--fs-color-border);\n --fs-color-focus: var(--fs-color-primary);\n --fs-color-action-primary: var(--fs-color-primary);\n --fs-color-action-danger: var(--fs-color-danger);\n --fs-tooltip-bg: oklch(98.4151869501% 0.0034126992 247.8577745944deg);\n --fs-tooltip-text: oklch(27.9495237712% 0.0368481257 260.0309873929deg);\n --fs-color-primary: oklch(55.884857057% 0.2025537915 261.6264320248deg);\n --fs-alert-primary-bg: oklch(31.7915463198% 0.0633030844 260.2703040876deg);\n --fs-alert-primary-text: oklch(74.4596540856% 0.1172679846 261.6264320248deg);\n --fs-feedback-primary-bg: oklch(31.7915463198% 0.0633030844 260.2703040876deg);\n --fs-color-secondary: oklch(59.8951906896% 0.0366453387 257.4166191214deg);\n --fs-alert-secondary-bg: oklch(32.0729603204% 0.0374284633 259.6388321521deg);\n --fs-alert-secondary-text: oklch(75.4915054214% 0.0223943736 257.4166191214deg);\n --fs-feedback-secondary-bg: oklch(32.0729603204% 0.0374284633 259.6388321521deg);\n --fs-color-success: oklch(83.8485321344% 0.139498201 148.125846236deg);\n --fs-alert-success-bg: oklch(35.0298333903% 0.0635127994 243.2452162193deg);\n --fs-alert-success-text: oklch(86.3333733445% 0.1180369393 148.125846236deg);\n --fs-feedback-success-bg: oklch(35.0298333903% 0.0635127994 243.2452162193deg);\n --fs-color-warning: oklch(88.2682030181% 0.1015699084 78.6575213966deg);\n --fs-alert-warning-bg: oklch(36.0497574404% 0.0547601164 286.8249674934deg);\n --fs-alert-warning-text: oklch(90.0730948615% 0.0859437686 78.6575213966deg);\n --fs-feedback-warning-bg: oklch(36.0497574404% 0.0547601164 286.8249674934deg);\n --fs-color-danger: oklch(58.1670482336% 0.1802407312 25.2407937498deg);\n --fs-alert-danger-bg: oklch(32.151892295% 0.0597799696 278.8124583464deg);\n --fs-alert-danger-text: oklch(75.7809226615% 0.104349897 25.2407937498deg);\n --fs-feedback-danger-bg: oklch(32.151892295% 0.0597799696 278.8124583464deg);\n --fs-color-info: oklch(53.3359780029% 0.1620131129 280.2231949375deg);\n --fs-alert-info-bg: oklch(31.7574919059% 0.0556228738 263.0598185246deg);\n --fs-alert-info-text: oklch(74.3347879016% 0.0891072121 280.2231949375deg);\n --fs-feedback-info-bg: oklch(31.7574919059% 0.0556228738 263.0598185246deg);\n }\n }\n}","@use \"sass:map\";\n@use \"../settings\" as *;\n@use \"../tools\" as *;\n\n// Ordem canônica das camadas: declarada uma única vez aqui porque `tokens`\n// é sempre o primeiro `@use` de cada entry point (ver scss/entries/*.scss e\n// scss/fokus.scss) — evita repetir a declaração em cada bundle.\n@layer reset, tokens, base, layout, components, utilities, overrides;\n\n@layer tokens {\n // Bloco incondicional: fallback sRGB, aplicado em todo navegador. Os\n // valores de cor aqui vêm de `rgb-fallback()` (gamut-mapeado a partir do\n // primitivo OKLCH) — ver `tools/_mixins.scss`. É sempre sobrescrito pelo\n // bloco `@supports` abaixo em navegadores com suporte a `oklch()`; um\n // `--fs-*` de cor nunca deve ser lido só daqui em código novo.\n :root {\n --fs-color-white: #{$color-white};\n --fs-color-black: #{$color-black};\n --fs-color-text: #{rgb-fallback($color-gray-900)};\n --fs-color-muted: #{rgb-fallback($color-gray-600)};\n --fs-color-border: #{rgb-fallback($color-gray-300)};\n --fs-color-surface: #{$color-white};\n --fs-color-subtle: #{rgb-fallback($color-gray-100)};\n --fs-font-sans: #{$font-family-sans};\n --fs-font-mono: #{$font-family-mono};\n --fs-font-size-md: #{$font-size-md};\n --fs-font-size-h1: #{$font-size-h1};\n --fs-font-size-h2: #{$font-size-h2};\n --fs-font-size-h3: #{$font-size-h3};\n --fs-font-size-h4: #{$font-size-h4};\n --fs-font-size-h5: #{$font-size-h5};\n --fs-font-size-h6: #{$font-size-h6};\n --fs-font-weight-semibold: #{$font-weight-semibold};\n --fs-line-height-base: #{$line-height-base};\n --fs-line-height-heading: #{$line-height-heading};\n --fs-radius-sm: #{$radius-sm};\n --fs-radius-md: #{$radius-md};\n --fs-radius-lg: #{$radius-lg};\n --fs-gutter-x: #{map.get($spacers, 4)};\n --fs-gutter-y: 0px;\n\n @each $name, $space in $spacers {\n --fs-space-#{$name}: #{$space};\n }\n\n @each $name, $z-index in $z-indexes {\n --fs-z-#{$name}: #{$z-index};\n }\n\n --fs-control-height: 38px;\n --fs-control-height-sm: 30px;\n --fs-control-height-lg: 46px;\n --fs-control-padding-x: 12px;\n --fs-control-padding-x-sm: 8px;\n --fs-control-padding-x-lg: 16px;\n --fs-focus-width: 2px;\n --fs-focus-offset: 2px;\n --fs-focus-ring-alpha: 22%;\n --fs-transition-fast: 150ms;\n --fs-transition-normal: 220ms;\n --fs-ease-standard: cubic-bezier(0.2, 0, 0, 1);\n --fs-border-width: 1px;\n --fs-disabled-opacity: 0.5;\n\n // Referência dos limiares usados pelos utilitários `@container` (ver\n // `packages/fokus-utilities/scss/utilities/_container-queries.scss`).\n // Só informativas: a condição de um `@container` precisa de um valor\n // literal em tempo de build, não aceita `var()` — mudar aqui não\n // recalibra as regras já compiladas, só documenta os valores usados.\n @each $name, $width in $container-breakpoints {\n --fs-cq-#{$name}: #{$width};\n }\n\n --fs-shadow-sm: 0 1px 3px rgb(0 0 0 / 15%), 0 1px 2px rgb(0 0 0 / 10%);\n --fs-shadow-md: 0 6px 12px rgb(0 0 0 / 15%), 0 3px 6px rgb(0 0 0 / 10%);\n --fs-shadow-lg: 0 15px 30px rgb(0 0 0 / 18%), 0 6px 12px rgb(0 0 0 / 12%);\n --fs-tooltip-bg: #{rgb-fallback($color-gray-900)};\n --fs-tooltip-text: #{$color-white};\n\n @each $name, $color in $theme-colors {\n --fs-color-#{$name}: #{rgb-fallback($color)};\n --fs-color-on-#{$name}: #{color-contrast($color)};\n --fs-alert-#{$name}-bg: #{rgb-fallback(tint-color($color))};\n --fs-alert-#{$name}-text: #{rgb-fallback(shade-color($color))};\n }\n\n @each $name, $bg in $theme-bg-colors {\n --fs-feedback-#{$name}-bg: #{rgb-fallback($bg)};\n }\n }\n\n // Bloco condicional: valores nativos em OKLCH. `@supports (color: oklch(0%\n // 0 0))` só passa em navegadores que entendem a função — os demais ignoram\n // o bloco inteiro e mantêm o fallback sRGB acima. Só propriedades de cor\n // entram aqui; o resto (fontes, raio, sombra, gutter) não tem equivalente\n // \"melhor\" em OKLCH e já está definido de forma incondicional.\n @supports (color: oklch(0% 0 0)) {\n :root {\n --fs-color-text: #{$color-gray-900};\n --fs-color-muted: #{$color-gray-600};\n --fs-color-border: #{$color-gray-300};\n --fs-color-subtle: #{$color-gray-100};\n --fs-tooltip-bg: #{$color-gray-900};\n\n @each $name, $color in $theme-colors {\n --fs-color-#{$name}: #{$color};\n --fs-color-on-#{$name}: #{color-contrast($color)};\n --fs-alert-#{$name}-bg: #{tint-color($color)};\n --fs-alert-#{$name}-text: #{shade-color($color)};\n }\n\n @each $name, $bg in $theme-bg-colors {\n --fs-feedback-#{$name}-bg: #{$bg};\n }\n }\n }\n}\n","// Camada semântica: nomeia tokens por PAPEL (o que a cor faz na interface),\n// não por valor. Cada token aqui é um alias `var()` de um token primitivo\n// (`_root.scss`) — não introduz nenhuma cor nova, só um vocabulário estável\n// entre o primitivo e o consumo por componente (ver `_component-buttons.scss`\n// como referência de como um componente deve consumir esta camada).\n// Por que alias e não recalcular o valor: um `var()` encadeado continua\n// resolvendo o fallback sRGB/OKLCH já decidido em `_root.scss` — não precisa\n// repetir a lógica de `@supports` aqui.\n@layer tokens {\n :root {\n // Superfícies\n --fs-color-bg-surface: var(--fs-color-surface);\n --fs-color-bg-subtle: var(--fs-color-subtle);\n\n // Texto\n --fs-color-text-primary: var(--fs-color-text);\n --fs-color-text-muted: var(--fs-color-muted);\n\n // Bordas\n --fs-color-border-default: var(--fs-color-border);\n --fs-color-focus: var(--fs-color-primary);\n --fs-color-surface-raised: var(--fs-color-surface);\n --fs-color-surface-interactive: var(--fs-color-subtle);\n\n // Ação (mapeiam para a cor de tema correspondente — existem para dar um\n // nome estável a \"a cor de ação primária\", independente de qual token\n // primitivo ela usa por baixo).\n --fs-color-action-primary: var(--fs-color-primary);\n --fs-color-action-danger: var(--fs-color-danger);\n }\n}\n","// Tokens de gráficos: agnósticos de biblioteca — não é um wrapper de\n// Chart.js/ECharts/Recharts/etc., só cores/tema que qualquer uma delas pode\n// consumir via `getComputedStyle`/CSS custom properties. Aliases da camada\n// semântica já existente (mesma técnica de `_semantic.scss`), então\n// acompanham `data-theme`/`data-fs-brand` automaticamente sem token novo por\n// tema. Ver docs/guides/charts.md.\n@layer tokens {\n :root {\n --fs-chart-series-1: var(--fs-color-primary);\n --fs-chart-series-2: var(--fs-color-success);\n --fs-chart-series-3: var(--fs-color-warning);\n --fs-chart-series-4: var(--fs-color-danger);\n --fs-chart-series-5: var(--fs-color-info);\n --fs-chart-series-6: var(--fs-color-secondary);\n --fs-chart-grid: var(--fs-color-border);\n --fs-chart-axis: var(--fs-color-muted);\n --fs-chart-tooltip-bg: var(--fs-tooltip-bg);\n --fs-chart-tooltip-text: var(--fs-tooltip-text);\n }\n}\n","@layer reset {\n *,\n *::before,\n *::after {\n box-sizing: border-box;\n }\n\n html {\n line-height: var(--fs-line-height-base);\n text-size-adjust: 100%;\n }\n\n body {\n margin: 0;\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface);\n }\n\n [hidden] {\n display: none !important;\n }\n}\n","// As declarações @font-face das fontes self-hosted ficam em `_fonts.scss`,\n// distribuído à parte (dist/css/fonts.css) e fora dos bundles principais —\n// ver a nota nesse arquivo. Aqui só aplicamos as pilhas de `font-family`\n// (com fallback sans-serif/monospace, que valem mesmo sem fonts.css).\n\n@layer base {\n body,\n button,\n input,\n select,\n textarea {\n font-family: var(--fs-font-sans);\n font-size: var(--fs-font-size-md);\n }\n\n code,\n kbd,\n pre,\n samp {\n font-family: var(--fs-font-mono);\n }\n\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n margin-top: 0;\n font-weight: var(--fs-font-weight-semibold);\n line-height: var(--fs-line-height-heading);\n }\n\n h1 {\n font-size: var(--fs-font-size-h1);\n }\n\n h2 {\n font-size: var(--fs-font-size-h2);\n }\n\n h3 {\n font-size: var(--fs-font-size-h3);\n }\n\n h4 {\n font-size: var(--fs-font-size-h4);\n }\n\n h5 {\n font-size: var(--fs-font-size-h5);\n }\n\n h6 {\n font-size: var(--fs-font-size-h6);\n }\n}\n","// Respeita a preferência do sistema sem remover a funcionalidade dos\n// componentes: apenas reduz transições e animações ao estado final.\n@layer base {\n @media (prefers-reduced-motion: reduce) {\n *,\n *::before,\n *::after {\n scroll-behavior: auto !important;\n transition-duration: 0.01ms !important;\n animation-duration: 0.01ms !important;\n animation-iteration-count: 1 !important;\n }\n\n // Spinner comunica uma operação em curso; congelá-lo o transforma em um\n // ícone ambíguo. Mantemos a animação, porém em ritmo mais lento, para\n // respeitar a preferência sem perder o significado de carregamento.\n .fs-spinner,\n .fs-progress-bar-animated,\n .fs-progress-indeterminate .fs-progress-bar {\n animation-duration: 1.5s !important;\n animation-iteration-count: infinite !important;\n }\n }\n}\n","@use \"sass:map\";\n@use \"../settings\" as *;\n\n// Agrupa itens horizontalmente com quebra de linha automática e\n// espaçamento consistente nos dois eixos — ideal para grupos de\n// tags/botões/badges que precisam \"fluir\" sem estourar o container.\n@layer layout {\n .fs-cluster {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--fs-cluster-gap, #{map.get($spacers, 2)});\n }\n\n @each $key, $value in $spacers {\n .fs-cluster-gap-#{$key} {\n --fs-cluster-gap: #{$value};\n }\n }\n}\n","@use \"sass:map\";\n@use \"../settings\" as *;\n@use \"../tools\" as *;\n\n@layer layout {\n .fs-container,\n .fs-container-sm,\n .fs-container-md,\n .fs-container-lg,\n .fs-container-xl,\n .fs-container-xxl,\n .fs-container-xxxl,\n .fs-container-fluid {\n width: 100%;\n margin-right: auto;\n margin-left: auto;\n }\n\n @each $breakpoint, $width in $container-max-widths {\n @include media-breakpoint-up($breakpoint) {\n .fs-container,\n .fs-container-#{$breakpoint} {\n max-width: $width;\n }\n }\n }\n}\n","@use \"sass:map\";\n@use \"sass:math\";\n@use \"sass:color\";\n@use \"../settings\" as *;\n\n@mixin media-breakpoint-up($name) {\n $min: map.get($breakpoints, $name);\n\n @if $min == null {\n @error \"Unknown breakpoint `#{$name}`.\";\n }\n\n @if $min == 0 {\n @content;\n } @else {\n @media (min-width: $min) {\n @content;\n }\n }\n}\n\n@function breakpoint-infix($name) {\n @if $name == xs {\n @return \"\";\n }\n\n @return \"-#{$name}\";\n}\n\n@mixin focus-ring($color: var(--fs-color-primary)) {\n outline: var(--fs-focus-width) solid $color;\n outline-offset: var(--fs-focus-offset);\n border-color: $color;\n box-shadow: 0 0 0 3px color-mix(in srgb, #{$color} 22%, transparent);\n}\n\n@mixin truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n@function linearize-channel($value) {\n $c: math.div($value, 255);\n\n @if $c <= 0.0393 {\n @return math.div($c, 12.92);\n }\n\n @return math.pow(math.div($c + 0.055, 1.055), 2.4);\n}\n\n@function relative-luminance($color) {\n $r: linearize-channel(color.channel($color, \"red\", $space: rgb));\n $g: linearize-channel(color.channel($color, \"green\", $space: rgb));\n $b: linearize-channel(color.channel($color, \"blue\", $space: rgb));\n\n @return (0.2126 * $r) + (0.7152 * $g) + (0.0722 * $b);\n}\n\n@function color-contrast($background, $min-contrast: 4.5) {\n $contrast-with-white: math.div(1.05, relative-luminance($background) + 0.05);\n\n @if $contrast-with-white >= $min-contrast {\n @return $color-white;\n }\n\n @return $color-black;\n}\n\n// Razão de contraste WCAG entre duas cores (1–21). Usada pelo relatório de\n// contraste do build (`npm run contrast`, `scripts/contrast-report.scss`) —\n// ver docs/reference/contrast-report.md para os pares auditados.\n@function contrast-ratio($foreground, $background) {\n $l1: relative-luminance($foreground) + 0.05;\n $l2: relative-luminance($background) + 0.05;\n\n @if $l1 > $l2 {\n @return math.div($l1, $l2);\n }\n\n @return math.div($l2, $l1);\n}\n\n@function tint-color($color, $weight: 15%) {\n @return color.mix($color, $color-white, $weight, $method: oklch);\n}\n\n@function shade-color($color, $weight: 50%) {\n @return color.mix($color, $color-black, $weight, $method: oklch);\n}\n\n// Fallback sRGB de uma cor OKLCH para navegadores sem suporte a `oklch()`\n// (ver `@supports` em tokens/_root.scss e themes/_dark.scss). Faz gamut\n// mapping antes da conversão — misturas em OKLCH frequentemente caem fora do\n// gamut sRGB, e converter sem mapear gera `rgb()`/`hsl()` com canais\n// inválidos (saturação > 100%, etc.).\n@function rgb-fallback($color) {\n $mapped: color.to-gamut($color, $space: rgb, $method: local-minde);\n\n @return color.to-space($mapped, rgb);\n}\n","@use \"sass:math\";\n@use \"../settings\" as *;\n@use \"../tools\" as *;\n\n@layer layout {\n $grid-columns: 12;\n\n .fs-row {\n display: flex;\n flex-wrap: wrap;\n margin-top: calc(var(--fs-gutter-y) * -1);\n margin-right: calc(var(--fs-gutter-x) / -2);\n margin-left: calc(var(--fs-gutter-x) / -2);\n }\n\n .fs-row > * {\n margin-top: var(--fs-gutter-y);\n padding-right: calc(var(--fs-gutter-x) / 2);\n padding-left: calc(var(--fs-gutter-x) / 2);\n }\n\n .fs-row-fluid {\n width: 100%;\n }\n\n .fs-col-fluid {\n width: 100%;\n }\n\n @each $breakpoint, $min in $breakpoints {\n $infix: breakpoint-infix($breakpoint);\n\n @include media-breakpoint-up($breakpoint) {\n .fs-col#{$infix} {\n flex: 1 0 0%;\n }\n\n .fs-col#{$infix}-auto {\n flex: 0 0 auto;\n width: auto;\n }\n\n @for $i from 1 through $grid-columns {\n .fs-col#{$infix}-#{$i} {\n flex: 0 0 auto;\n width: math.percentage(math.div($i, $grid-columns));\n }\n }\n }\n }\n}\n","@use \"sass:map\";\n@use \"../settings\" as *;\n\n// Um lado com largura fixa (a \"aside\") e o outro preenchendo o espaço\n// restante, quebrando para empilhado quando o container fica estreito\n// demais — sem media query: `.fs-sidebar-content` força a quebra via\n// `min-width` quando não cabe ao lado da aside na mesma linha.\n@layer layout {\n .fs-sidebar {\n display: flex;\n flex-wrap: wrap;\n gap: var(--fs-sidebar-gap, #{map.get($spacers, 3)});\n }\n\n .fs-sidebar-aside {\n flex-basis: var(--fs-sidebar-width, 16rem);\n flex-grow: 1;\n }\n\n .fs-sidebar-content {\n flex-basis: 0;\n flex-grow: 999;\n min-width: 50%;\n }\n\n .fs-sidebar-reverse {\n flex-direction: row-reverse;\n }\n\n @each $key, $value in $spacers {\n .fs-sidebar-gap-#{$key} {\n --fs-sidebar-gap: #{$value};\n }\n }\n\n @each $key, $value in $column-max-widths {\n .fs-sidebar-width-#{$key} {\n --fs-sidebar-width: #{$value};\n }\n }\n}\n","@use \"sass:map\";\n@use \"../settings\" as *;\n\n// Empilha os filhos diretos verticalmente com espaçamento consistente —\n// `gap` em vez de margin, evita o problema clássico de \"último filho não\n// deve ter margin-bottom\" sem seletor extra.\n@layer layout {\n .fs-stack {\n display: flex;\n flex-direction: column;\n gap: var(--fs-stack-gap, #{map.get($spacers, 3)});\n }\n\n @each $key, $value in $spacers {\n .fs-stack-gap-#{$key} {\n --fs-stack-gap: #{$value};\n }\n }\n}\n","@use \"../../../fokus-core/scss/settings\" as *;\n@use \"../../../fokus-core/scss/tools\" as *;\n\n@layer components {\n .fs-form-row {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n align-items: flex-start;\n justify-content: flex-start;\n gap: 12px 16px;\n width: 100%;\n }\n\n .fs-form-col {\n display: flex;\n flex: 1 1 240px;\n flex-direction: column;\n align-items: stretch;\n min-width: 0;\n gap: 4px;\n }\n\n .fs-form-label {\n width: auto;\n margin: 0;\n color: var(--fs-color-muted);\n font-size: $font-size-sm;\n font-weight: $font-weight-regular;\n }\n\n .fs-form-text {\n width: auto;\n margin: 0;\n color: var(--fs-color-muted);\n font-size: $font-size-xs;\n font-weight: $font-weight-regular;\n }\n\n .fs-form-text,\n .fs-valid-feedback,\n .fs-invalid-feedback {\n min-height: 1.25rem;\n padding: 3px 8px;\n border-radius: var(--fs-radius-sm);\n }\n\n .fs-form-text {\n color: var(--fs-color-muted);\n font-size: $font-size-xs;\n font-weight: $font-weight-regular;\n }\n\n .fs-valid-feedback,\n .fs-invalid-feedback {\n display: none;\n font-size: $font-size-xs;\n font-weight: $font-weight-regular;\n\n }\n\n .fs-valid-feedback {\n color: var(--fs-alert-success-text);\n background-color: var(--fs-feedback-success-bg);\n }\n\n .fs-invalid-feedback {\n color: var(--fs-alert-danger-text);\n background-color: var(--fs-feedback-danger-bg);\n }\n\n .is-valid ~ .fs-valid-feedback,\n .is-invalid ~ .fs-invalid-feedback {\n display: block;\n }\n\n .fs-form-control {\n width: 100%;\n min-width: 0;\n height: var(--fs-control-height);\n padding: 0 7px;\n border: var(--fs-border-width) solid var(--fs-color-border-default);\n border-radius: var(--fs-radius-sm);\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface);\n font-size: $font-size-md;\n font-weight: $font-weight-medium;\n }\n\n .fs-form-control::placeholder {\n color: var(--fs-color-muted);\n }\n\n .fs-form-control:focus-visible {\n @include focus-ring;\n }\n\n .fs-form-control:disabled {\n color: var(--fs-color-muted);\n background-color: var(--fs-color-subtle);\n opacity: var(--fs-disabled-opacity);\n pointer-events: none;\n }\n\n .fs-form-control:read-only {\n background-color: var(--fs-color-subtle);\n cursor: default;\n }\n\n .fs-form-control-sm {\n height: var(--fs-control-height-sm);\n font-size: $font-size-xs;\n }\n\n .fs-form-control-lg {\n height: var(--fs-control-height-lg);\n font-size: $font-size-md;\n }\n\n .fs-form-size-sm {\n width: 120px;\n }\n\n .fs-form-size-md {\n width: 180px;\n }\n\n .fs-form-size-lg {\n width: 240px;\n }\n\n .fs-form-size-xl {\n width: 300px;\n }\n\n .fs-form-size-xxl {\n width: 360px;\n }\n\n .fs-form-control.is-valid {\n border-color: var(--fs-color-success);\n }\n\n .fs-form-control.is-valid:focus-visible {\n @include focus-ring(var(--fs-color-success));\n }\n\n .fs-form-control.is-invalid {\n border-color: var(--fs-color-danger);\n }\n\n .fs-form-control.is-invalid:focus-visible {\n @include focus-ring(var(--fs-color-danger));\n }\n\n .fs-form-select {\n display: flex;\n flex: 1;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n height: var(--fs-control-height);\n padding: 0 7px;\n border: var(--fs-border-width) solid var(--fs-color-border-default);\n border-radius: var(--fs-radius-sm);\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface);\n font-size: $font-size-md;\n font-weight: $font-weight-medium;\n text-align: left;\n cursor: pointer;\n }\n\n .fs-form-select::after {\n flex-shrink: 0;\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 8px;\n content: \"\";\n border-top: 5px solid;\n border-right: 5px solid transparent;\n border-left: 5px solid transparent;\n }\n\n .fs-form-select:focus-visible {\n @include focus-ring;\n }\n\n .fs-form-select:disabled {\n color: var(--fs-color-muted);\n background-color: var(--fs-color-subtle);\n opacity: 0.4;\n pointer-events: none;\n }\n\n .fs-form-select-sm {\n height: var(--fs-control-height-sm);\n font-size: $font-size-xs;\n }\n\n .fs-form-select-lg {\n height: var(--fs-control-height-lg);\n font-size: $font-size-md;\n }\n\n .fs-file-upload {\n position: relative;\n display: inline-flex;\n }\n\n .fs-file-input {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip-path: inset(50%);\n white-space: nowrap;\n border: 0;\n }\n\n .fs-file-label {\n display: inline-flex;\n align-items: center;\n height: 38px;\n padding: 0 14px;\n border: 1px solid var(--fs-color-border);\n border-radius: var(--fs-radius-sm);\n color: var(--fs-color-text);\n background-color: var(--fs-color-subtle);\n font-size: $font-size-md;\n font-weight: $font-weight-medium;\n cursor: pointer;\n user-select: none;\n transition: filter var(--fs-transition-fast) var(--fs-ease-standard);\n }\n\n .fs-file-label:hover {\n filter: brightness(0.96);\n }\n\n .fs-file-input:focus-visible + .fs-file-label {\n @include focus-ring;\n }\n\n .fs-file-input:disabled + .fs-file-label {\n color: var(--fs-color-muted);\n opacity: var(--fs-disabled-opacity);\n pointer-events: none;\n cursor: default;\n }\n\n .fs-file-label-sm {\n height: 30px;\n padding: 0 10px;\n font-size: $font-size-xs;\n }\n\n .fs-file-label-lg {\n height: 46px;\n padding: 0 18px;\n font-size: $font-size-lg;\n }\n\n // Drag-and-drop (js/file-drop.js): estado visual ao arrastar um arquivo por\n // cima do `.fs-file-label`, e uma variante maior (dropzone) para quando o alvo\n // de soltar precisa ser mais generoso que o botão padrão de `.fs-file-label`.\n .fs-file-label.is-dragover {\n border-color: var(--fs-color-primary);\n background-color: var(--fs-color-subtle);\n }\n\n .fs-file-label-dropzone {\n flex-direction: column;\n gap: 4px;\n width: 100%;\n height: auto;\n padding: 32px 16px;\n border-style: dashed;\n border-width: 2px;\n font-weight: $font-weight-regular;\n text-align: center;\n }\n\n .fs-file-label-dropzone .fs-file-dropzone-hint {\n color: var(--fs-color-muted);\n font-size: $font-size-xs;\n font-weight: $font-weight-regular;\n }\n\n // Input Group: funde `.fs-form-control` (ou `.fs-form-select`/`.fs-btn`) com \"addons\"\n // de texto/ícone de prefixo/sufixo, reaproveitando os tokens visuais do\n // próprio `.fs-form-control` (borda, cor, radius). 100% CSS — a altura do addon\n // acompanha a do controle via `align-items: stretch` (herdado), sem precisar\n // fixar `height` nele.\n .fs-input-group {\n display: flex;\n align-items: stretch;\n width: 100%;\n }\n\n .fs-input-group > .fs-form-control,\n .fs-input-group > .fs-form-select {\n flex: 1 1 auto;\n width: 1%;\n min-width: 0;\n }\n\n .fs-input-group-text {\n display: flex;\n align-items: center;\n padding: 0 12px;\n border: 1px solid var(--fs-color-border);\n color: var(--fs-color-muted);\n background-color: var(--fs-color-subtle);\n font-size: $font-size-md;\n font-weight: $font-weight-medium;\n white-space: nowrap;\n }\n\n // Funde as bordas dos itens adjacentes (remove a dupla borda) e mantém o\n // item focado por cima da sobreposição de -1px, senão a borda de foco fica\n // parcialmente escondida atrás do vizinho.\n .fs-input-group > :not(:first-child) {\n margin-left: -1px;\n }\n\n .fs-input-group > :focus-visible,\n .fs-input-group > :focus-within {\n position: relative;\n z-index: 1;\n }\n\n .fs-input-group > * {\n border-radius: 0;\n }\n\n .fs-input-group > :first-child {\n border-top-left-radius: var(--fs-radius-sm);\n border-bottom-left-radius: var(--fs-radius-sm);\n }\n\n .fs-input-group > :last-child {\n border-top-right-radius: var(--fs-radius-sm);\n border-bottom-right-radius: var(--fs-radius-sm);\n }\n\n .fs-input-group-sm > .fs-form-control,\n .fs-input-group-sm > .fs-form-select,\n .fs-input-group-sm > .fs-input-group-text {\n height: 30px;\n padding: 0 8px;\n font-size: $font-size-xs;\n }\n\n .fs-input-group-lg > .fs-form-control,\n .fs-input-group-lg > .fs-form-select,\n .fs-input-group-lg > .fs-input-group-text {\n height: 46px;\n padding: 0 16px;\n font-size: $font-size-lg;\n }\n}\n","$font-family-sans: \"Plus Jakarta Sans\", sans-serif !default;\n$font-family-mono: \"Source Code Pro\", monospace !default;\n\n// Escala compacta: corpo (md) ~13px, piso (xs) ~11px — reservado a\n// texto de apoio (meta/label), nunca corpo de leitura.\n$font-size-xs: 0.6875rem !default;\n$font-size-sm: 0.75rem !default;\n$font-size-md: 0.8125rem !default;\n$font-size-lg: 1rem !default;\n$font-size-xl: 1.25rem !default;\n\n// Escala de headings, deliberadamente menor que o padrão do navegador\n// (preferência por texto compacto — ver docs/internal/plans).\n$font-size-h1: 1.75rem !default;\n$font-size-h2: 1.5rem !default;\n$font-size-h3: 1.3125rem !default;\n$font-size-h4: 1.125rem !default;\n$font-size-h5: 1rem !default;\n$font-size-h6: 0.875rem !default;\n\n$font-weight-regular: 400 !default;\n$font-weight-medium: 500 !default;\n$font-weight-semibold: 600 !default;\n$font-weight-bold: 700 !default;\n\n$line-height-base: 1.5 !default;\n$line-height-heading: 1.25 !default;\n","@use \"../../../fokus-core/scss/settings\" as *;\n@use \"../../../fokus-core/scss/tools\" as *;\n\n// Checkbox/radio/switch 100% CSS, reusando a técnica de input oculto +\n// label irmã do Segmented Control (_segmented-control.scss) e do Rating\n// (_rating.scss): `<input>` clipado visualmente (não `display: none` — teclado\n// e leitor de tela continuam enxergando o controle) + `<label for=\"id\">`\n// como irmã, que desenha a caixa/trilho via `::before` e a marca/knob via\n// `::after`. O `<label>` é o alvo de clique/hover/estado, mas o input\n// continua sendo o elemento focável e semântico (checkbox/radio nativos).\n// Wrapper (`.fs-check`/`.fs-radio`/`.fs-switch`) carrega o tamanho\n// (`-sm`/`-lg`) e agrupa input+label, no mesmo papel de `.fs-segmented-item`.\n@layer components {\n .fs-check,\n .fs-radio,\n .fs-switch {\n display: inline-flex;\n align-items: center;\n }\n\n .fs-check {\n --fs-check-mark: var(--fs-color-on-primary);\n }\n\n .fs-check-input,\n .fs-radio-input,\n .fs-switch-input {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip-path: inset(50%);\n white-space: nowrap;\n border: 0;\n }\n\n .fs-check-label,\n .fs-radio-label,\n .fs-switch-label {\n position: relative;\n display: inline-flex;\n align-items: center;\n min-height: 20px;\n padding-left: 28px;\n color: var(--fs-color-text);\n font-size: $font-size-md;\n cursor: pointer;\n user-select: none;\n }\n\n // Caixa (checkbox/radio) ou trilho (switch), desenhados no `::before` da\n // label. Radio é a exceção redonda da regra anti-circular do projeto\n // (junto do spinner) — ver docs/internal/plans.\n .fs-check-label::before,\n .fs-radio-label::before,\n .fs-switch-label::before {\n position: absolute;\n left: 0;\n box-sizing: border-box;\n border: 1px solid var(--fs-color-border);\n background-color: var(--fs-color-surface);\n content: \"\";\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;\n }\n\n .fs-check-label::before,\n .fs-radio-label::before {\n width: 18px;\n height: 18px;\n }\n\n .fs-check-label::before {\n border: 2px solid var(--fs-color-primary);\n border-radius: 0;\n }\n\n .fs-radio-label::before {\n border-radius: 50%;\n }\n\n // Marca de check (dois traços em \"V\", via borda rotacionada). Os estados\n // indeterminado e inválido substituem essa geometria mais abaixo.\n .fs-check-label::after {\n position: absolute;\n left: 4px;\n width: 9px;\n height: 5px;\n content: \"\";\n opacity: 0;\n border-bottom: 2px solid var(--fs-check-mark);\n border-left: 2px solid var(--fs-check-mark);\n transform: translateY(-1px) rotate(-45deg);\n transition: opacity 0.1s ease-in-out;\n }\n\n .fs-radio-label::after {\n position: absolute;\n left: 5px;\n width: 8px;\n height: 8px;\n border-radius: 50%;\n content: \"\";\n opacity: 0;\n background-color: var(--fs-color-on-primary);\n transition: opacity 0.1s ease-in-out;\n }\n\n .fs-check-input:checked + .fs-check-label::before,\n .fs-radio-input:checked + .fs-radio-label::before {\n background-color: var(--fs-color-primary);\n border-color: var(--fs-color-primary);\n }\n\n .fs-check-input:checked + .fs-check-label::after,\n .fs-radio-input:checked + .fs-radio-label::after {\n opacity: 1;\n }\n\n .fs-check-input:not(:checked, :indeterminate, :disabled, .is-invalid) + .fs-check-label:hover::before {\n background-color: color-mix(in srgb, var(--fs-color-primary) 10%, transparent);\n }\n\n .fs-check-input:not(:disabled, :indeterminate, .is-invalid) + .fs-check-label:active::before {\n background-color: color-mix(in srgb, var(--fs-color-primary) 86%, var(--fs-color-black));\n border-color: var(--fs-color-primary);\n }\n\n .fs-check-input:checked:not(:disabled, .is-invalid) + .fs-check-label:active::after {\n transform: translateY(-1px) rotate(-45deg) scale(0.9);\n }\n\n // Switch: trilho retangular arredondado (não pílula) e knob também\n // retangular arredondado — decisão de forma do projeto (nada circular além\n // do radio/spinner). Desliza via `left` no `::after`.\n .fs-switch-label {\n padding-left: 44px;\n }\n\n .fs-switch-label::before {\n width: 36px;\n height: 20px;\n border-radius: var(--fs-radius-md);\n }\n\n .fs-switch-label::after {\n position: absolute;\n left: 2px;\n width: 16px;\n height: 14px;\n border-radius: var(--fs-radius-sm);\n content: \"\";\n background-color: var(--fs-color-border);\n transition: left 0.15s ease-in-out, background-color 0.15s ease-in-out;\n }\n\n .fs-switch-input:checked + .fs-switch-label::before {\n background-color: var(--fs-color-primary);\n border-color: var(--fs-color-primary);\n }\n\n .fs-switch-input:checked + .fs-switch-label::after {\n left: 18px;\n background-color: var(--fs-color-on-primary);\n }\n\n // Foco: anel sobre a caixa/trilho (`::before`), não sobre o texto.\n .fs-check-input:focus-visible + .fs-check-label::before,\n .fs-radio-input:focus-visible + .fs-radio-label::before,\n .fs-switch-input:focus-visible + .fs-switch-label::before {\n @include focus-ring;\n }\n\n .fs-radio-input:disabled + .fs-radio-label,\n .fs-switch-input:disabled + .fs-switch-label {\n opacity: 0.5;\n pointer-events: none;\n }\n\n .fs-check-input:disabled + .fs-check-label {\n color: var(--fs-color-muted);\n opacity: 1;\n pointer-events: none;\n }\n\n .fs-check-input:disabled:not(:checked, :indeterminate) + .fs-check-label::before {\n border-color: var(--fs-color-border);\n background-color: var(--fs-color-subtle);\n }\n\n .fs-check-input:disabled:checked + .fs-check-label::before {\n border-color: color-mix(in srgb, var(--fs-color-primary) 55%, var(--fs-color-border));\n background-color: color-mix(in srgb, var(--fs-color-primary) 45%, var(--fs-color-subtle));\n }\n\n .fs-check-input:disabled:checked + .fs-check-label::after {\n opacity: 0.72;\n }\n\n // Validação (mesma convenção de `.fs-form-control.is-valid`/`.is-invalid`).\n .fs-radio-input.is-valid + .fs-radio-label::before {\n border-color: var(--fs-color-success);\n }\n\n .fs-check-input.is-invalid + .fs-check-label::before,\n .fs-radio-input.is-invalid + .fs-radio-label::before {\n border-color: var(--fs-color-danger);\n }\n\n // Tamanhos: reescalam caixa/trilho/knob e o espaço reservado para eles\n // (`padding-left`) proporcionalmente.\n .fs-check-sm .fs-check-label,\n .fs-radio-sm .fs-radio-label {\n min-height: 16px;\n padding-left: 24px;\n font-size: $font-size-sm;\n }\n\n .fs-check-sm .fs-check-label::before,\n .fs-radio-sm .fs-radio-label::before {\n width: 15px;\n height: 15px;\n }\n\n .fs-check-sm .fs-check-label::after {\n left: 3px;\n width: 8px;\n height: 4px;\n }\n\n .fs-radio-sm .fs-radio-label::after {\n left: 4px;\n width: 7px;\n height: 7px;\n }\n\n .fs-check-lg .fs-check-label,\n .fs-radio-lg .fs-radio-label {\n min-height: 24px;\n padding-left: 34px;\n font-size: $font-size-lg;\n }\n\n .fs-check-lg .fs-check-label::before,\n .fs-radio-lg .fs-radio-label::before {\n width: 22px;\n height: 22px;\n }\n\n .fs-check-lg .fs-check-label::after {\n left: 5px;\n width: 11px;\n height: 6px;\n }\n\n .fs-radio-lg .fs-radio-label::after {\n left: 6px;\n width: 10px;\n height: 10px;\n }\n\n .fs-switch-sm .fs-switch-label {\n min-height: 16px;\n padding-left: 38px;\n font-size: $font-size-sm;\n }\n\n .fs-switch-sm .fs-switch-label::before {\n width: 30px;\n height: 16px;\n }\n\n .fs-switch-sm .fs-switch-label::after {\n width: 12px;\n height: 10px;\n }\n\n .fs-switch-sm .fs-switch-input:checked + .fs-switch-label::after {\n left: 16px;\n }\n\n .fs-switch-lg .fs-switch-label {\n min-height: 26px;\n padding-left: 52px;\n font-size: $font-size-lg;\n }\n\n .fs-switch-lg .fs-switch-label::before {\n width: 44px;\n height: 24px;\n }\n\n .fs-switch-lg .fs-switch-label::after {\n width: 20px;\n height: 18px;\n }\n\n .fs-switch-lg .fs-switch-input:checked + .fs-switch-label::after {\n left: 22px;\n }\n\n // Estado parcial: borda tracejada em primary e traço horizontal. Mantém o\n // fundo definido para não se confundir com a superfície ao redor.\n .fs-check-input:indeterminate + .fs-check-label::before {\n border: 2px dashed var(--fs-color-primary);\n background-color: var(--fs-color-surface);\n }\n\n .fs-check-input:indeterminate + .fs-check-label::after {\n left: 4px;\n width: 10px;\n height: 0;\n opacity: 1;\n border-bottom: 2px solid var(--fs-color-primary);\n border-left: 0;\n transform: translateY(3px) rotate(0deg);\n }\n\n .fs-check-sm .fs-check-input:indeterminate + .fs-check-label::after {\n left: 3px;\n width: 8px;\n }\n\n .fs-check-lg .fs-check-input:indeterminate + .fs-check-label::after {\n left: 5px;\n width: 12px;\n }\n\n // Erro: X branco sobre fundo danger, visível mesmo quando o checkbox não\n // está marcado. Os gradientes desenham o símbolo sem conteúdo decorativo no\n // HTML e preservam o input nativo como fonte de semântica.\n .fs-check-input.is-invalid + .fs-check-label::before {\n background-color: var(--fs-color-danger);\n }\n\n .fs-check-input.is-invalid + .fs-check-label::after {\n top: 6px;\n left: 5px;\n width: 8px;\n height: 8px;\n opacity: 1;\n border: 0;\n background-image:\n linear-gradient(45deg, transparent 42%, #{color-contrast($fokus-color-danger)} 42% 58%, transparent 58%),\n linear-gradient(-45deg, transparent 42%, #{color-contrast($fokus-color-danger)} 42% 58%, transparent 58%);\n transform: none;\n }\n\n .fs-check-sm .fs-check-input.is-invalid + .fs-check-label::after {\n top: 5px;\n left: 4px;\n width: 7px;\n height: 7px;\n }\n\n .fs-check-lg .fs-check-input.is-invalid + .fs-check-label::after {\n top: 6px;\n left: 6px;\n width: 10px;\n height: 10px;\n }\n}\n","@use \"../../../fokus-core/scss/settings\" as *;\n@use \"../../../fokus-core/scss/tools\" as *;\n\n// Range/Slider: <input type=\"range\"> nativo — teclado (setas, Home/End,\n// PageUp/Down) e ARIA (role=slider implícito, aria-valuenow/min/max\n// automáticos) já vêm de graça do navegador, então este componente só\n// estiliza a trilha/thumb (pseudo-elementos vendor-prefixados, sem padrão\n// unificado) e usa `--fs-range-percent` (escrito pelo JS opcional, ver\n// js/range.js) pra pintar a parte preenchida da trilha via gradiente —\n// truque necessário porque só o Firefox suporta `::-moz-range-progress`;\n// Chrome/Safari não têm equivalente.\n@layer components {\n .fs-form-range {\n --fs-range-track-height: 6px;\n --fs-range-track-color: var(--fs-color-border);\n --fs-range-fill-color: var(--fs-color-primary);\n --fs-range-thumb-size: 18px;\n --fs-range-thumb-color: var(--fs-color-surface);\n --fs-range-thumb-border-color: var(--fs-color-primary);\n --fs-range-percent: 0%;\n\n width: 100%;\n height: var(--fs-range-thumb-size);\n padding: 0;\n background: transparent;\n appearance: none;\n cursor: pointer;\n }\n\n .fs-form-range::-webkit-slider-runnable-track {\n height: var(--fs-range-track-height);\n border-radius: var(--fs-radius-sm);\n background: linear-gradient(\n to right,\n var(--fs-range-fill-color) var(--fs-range-percent),\n var(--fs-range-track-color) var(--fs-range-percent)\n );\n }\n\n .fs-form-range::-moz-range-track {\n height: var(--fs-range-track-height);\n border-radius: var(--fs-radius-sm);\n background: linear-gradient(\n to right,\n var(--fs-range-fill-color) var(--fs-range-percent),\n var(--fs-range-track-color) var(--fs-range-percent)\n );\n }\n\n .fs-form-range::-webkit-slider-thumb {\n width: var(--fs-range-thumb-size);\n height: var(--fs-range-thumb-size);\n margin-top: calc((var(--fs-range-track-height) - var(--fs-range-thumb-size)) / 2);\n border: 2px solid var(--fs-range-thumb-border-color);\n border-radius: 50%;\n background-color: var(--fs-range-thumb-color);\n appearance: none;\n cursor: pointer;\n }\n\n .fs-form-range::-moz-range-thumb {\n width: calc(var(--fs-range-thumb-size) - 4px);\n height: calc(var(--fs-range-thumb-size) - 4px);\n border: 2px solid var(--fs-range-thumb-border-color);\n border-radius: 50%;\n background-color: var(--fs-range-thumb-color);\n cursor: pointer;\n }\n\n .fs-form-range:focus-visible::-webkit-slider-thumb {\n @include focus-ring(var(--fs-range-thumb-border-color));\n }\n\n .fs-form-range:focus-visible::-moz-range-thumb {\n @include focus-ring(var(--fs-range-thumb-border-color));\n }\n\n .fs-form-range:disabled {\n opacity: 0.6;\n cursor: not-allowed;\n }\n\n .fs-form-range:disabled::-webkit-slider-thumb {\n cursor: not-allowed;\n }\n\n .fs-form-range:disabled::-moz-range-thumb {\n cursor: not-allowed;\n }\n\n .fs-range-output {\n display: inline-block;\n min-width: 2.5em;\n color: var(--fs-color-text);\n font-size: $font-size-sm;\n font-weight: $font-weight-medium;\n text-align: center;\n }\n}\n","@use \"../../../fokus-core/scss/settings\" as *;\n@use \"../../../fokus-core/scss/tools\" as *;\n\n// Upload avançado (js/file-upload-advanced.js): evolução do File Upload\n// simples (`.fs-file-upload`/`.fs-file-label`, forms/_forms.scss) — reusa a\n// mesma dropzone/botão como gatilho, só adiciona a lista de itens\n// selecionados (thumbnail/nome/tamanho/progresso/remoção) gerada pelo JS.\n@layer components {\n .fs-file-upload-list {\n display: flex;\n flex-direction: column;\n gap: 8px;\n width: 100%;\n margin-top: 12px;\n padding: 0;\n list-style: none;\n }\n\n .fs-file-upload-item {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 8px 12px;\n border: 1px solid var(--fs-color-border);\n border-radius: var(--fs-radius-sm);\n background-color: var(--fs-color-surface);\n }\n\n .fs-file-upload-thumb {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n width: 40px;\n height: 40px;\n overflow: hidden;\n border-radius: var(--fs-radius-sm);\n background-color: var(--fs-color-subtle);\n color: var(--fs-color-muted);\n }\n\n .fs-file-upload-thumb img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n }\n\n .fs-file-upload-info {\n flex: 1;\n min-width: 0;\n }\n\n .fs-file-upload-name {\n margin: 0;\n color: var(--fs-color-text);\n font-size: $font-size-sm;\n font-weight: $font-weight-medium;\n\n @include truncate;\n }\n\n .fs-file-upload-size {\n margin: 0 0 4px;\n color: var(--fs-color-muted);\n font-size: $font-size-xs;\n }\n\n .fs-file-upload-item.is-error .fs-file-upload-size {\n color: var(--fs-alert-danger-text);\n }\n\n .fs-file-upload-remove {\n flex-shrink: 0;\n }\n}\n","@use \"../../../fokus-core/scss/settings\" as *;\n@use \"../../../fokus-core/scss/tools\" as *;\n\n@layer components {\n // Tokens de componente: cada `.fs-btn-*` abaixo só sobrescreve estas três\n // custom properties (nunca `color`/`background-color`/`border-color`\n // diretamente) — permite customizar um botão específico via CSS\n // (`.minha-classe { --fs-btn-bg: ...; }`) sem precisar de `!important` nem\n // repetir a declaração de layout. Ver docs/scss-architecture.md.\n .fs-btn {\n --fs-btn-color: var(--fs-color-text-primary);\n --fs-btn-bg: var(--fs-color-bg-subtle);\n --fs-btn-border-color: var(--fs-color-border-default);\n\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: var(--fs-space-1);\n min-height: var(--fs-control-height);\n padding: 0 var(--fs-control-padding-x);\n border: var(--fs-border-width) solid var(--fs-btn-border-color);\n border-radius: var(--fs-radius-sm);\n color: var(--fs-btn-color);\n background-color: var(--fs-btn-bg);\n font-size: $font-size-md;\n font-weight: $font-weight-medium;\n text-decoration: none;\n cursor: pointer;\n transition: color var(--fs-transition-fast) var(--fs-ease-standard),\n background-color var(--fs-transition-fast) var(--fs-ease-standard),\n border-color var(--fs-transition-fast) var(--fs-ease-standard),\n box-shadow var(--fs-transition-fast) var(--fs-ease-standard);\n }\n\n .fs-btn:hover {\n --fs-btn-bg: var(--fs-btn-hover-bg, var(--fs-color-subtle));\n }\n\n .fs-btn:active {\n --fs-btn-bg: var(--fs-btn-active-bg, var(--fs-color-border));\n }\n\n .fs-btn:focus-visible {\n @include focus-ring;\n }\n\n .fs-btn:disabled,\n .fs-btn.is-disabled {\n opacity: var(--fs-disabled-opacity);\n pointer-events: none;\n }\n\n @each $name, $color in $theme-colors {\n .fs-btn-#{$name} {\n --fs-btn-color: var(--fs-color-on-#{$name});\n --fs-btn-bg: var(--fs-color-#{$name});\n --fs-btn-border-color: var(--fs-color-#{$name});\n --fs-btn-hover-bg: var(--fs-color-#{$name});\n --fs-btn-active-bg: var(--fs-color-#{$name});\n }\n\n .fs-btn-outline-#{$name} {\n --fs-btn-color: var(--fs-alert-#{$name}-text);\n --fs-btn-bg: transparent;\n --fs-btn-border-color: var(--fs-color-#{$name});\n }\n\n .fs-btn-outline-#{$name}:hover,\n .fs-btn-outline-#{$name}:active {\n --fs-btn-color: var(--fs-color-on-#{$name});\n --fs-btn-bg: var(--fs-color-#{$name});\n }\n }\n\n .fs-btn-sm {\n min-height: var(--fs-control-height-sm);\n padding: 0 var(--fs-control-padding-x-sm);\n font-size: $font-size-sm;\n }\n\n .fs-btn-lg {\n min-height: var(--fs-control-height-lg);\n padding: 0 var(--fs-control-padding-x-lg);\n font-size: $font-size-lg;\n }\n\n .fs-btn-close {\n position: relative;\n width: 20px;\n height: 20px;\n padding: 0;\n border: none;\n border-radius: var(--fs-radius-sm);\n color: var(--fs-color-muted);\n background-color: var(--fs-color-surface-raised);\n cursor: pointer;\n }\n\n .fs-btn-close::before,\n .fs-btn-close::after {\n position: absolute;\n top: 50%;\n left: 50%;\n width: 12px;\n height: 2px;\n background-color: currentcolor;\n content: \"\";\n }\n\n .fs-btn-close::before {\n transform: translate(-50%, -50%) rotate(45deg);\n }\n\n .fs-btn-close::after {\n transform: translate(-50%, -50%) rotate(-45deg);\n }\n\n .fs-btn-close:hover {\n color: var(--fs-color-text);\n background-color: var(--fs-color-subtle);\n }\n\n .fs-btn-close:focus-visible {\n @include focus-ring;\n }\n}\n","@use \"../../../fokus-core/scss/settings\" as *;\n\n@layer components {\n .fs-card {\n position: relative;\n display: flex;\n flex-direction: column;\n border: var(--fs-border-width) solid var(--fs-color-border-default);\n border-radius: var(--fs-radius-lg);\n background-color: var(--fs-color-surface);\n }\n\n .fs-card-horizontal {\n flex-direction: row;\n }\n\n .fs-card-horizontal .fs-card-header:first-child {\n border-radius: calc(var(--fs-radius-lg) - 1px) 0 0 calc(var(--fs-radius-lg) - 1px);\n border-right: 1px solid var(--fs-color-border);\n border-bottom: none;\n }\n\n .fs-card-horizontal .fs-card-footer:last-child {\n border-radius: 0 calc(var(--fs-radius-lg) - 1px) calc(var(--fs-radius-lg) - 1px) 0;\n border-left: 1px solid var(--fs-color-border);\n border-top: none;\n }\n\n .fs-card-clickable {\n transition: border-color var(--fs-transition-fast) var(--fs-ease-standard),\n box-shadow var(--fs-transition-fast) var(--fs-ease-standard),\n transform var(--fs-transition-fast) var(--fs-ease-standard);\n }\n\n .fs-card-clickable:hover,\n .fs-card-clickable:focus-within {\n border-color: var(--fs-color-primary);\n box-shadow: var(--fs-shadow-sm);\n transform: translateY(-1px);\n }\n\n .fs-stretched-link {\n color: inherit;\n text-decoration: none;\n }\n\n .fs-stretched-link::after {\n position: absolute;\n inset: 0;\n z-index: 1;\n content: \"\";\n }\n\n .fs-card-header,\n .fs-card-body,\n .fs-card-footer {\n padding: 10px;\n }\n\n .fs-card-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 8px;\n border-bottom: 1px solid var(--fs-color-border);\n background-color: var(--fs-color-subtle);\n }\n\n .fs-card-header .fs-card-title {\n margin: 0;\n }\n\n .fs-card-header:first-child {\n border-radius: calc(var(--fs-radius-lg) - 1px) calc(var(--fs-radius-lg) - 1px) 0 0;\n }\n\n .fs-card-footer {\n border-top: 1px solid var(--fs-color-border);\n background-color: var(--fs-color-subtle);\n }\n\n .fs-card-footer:last-child {\n border-radius: 0 0 calc(var(--fs-radius-lg) - 1px) calc(var(--fs-radius-lg) - 1px);\n }\n\n .fs-card-title {\n margin: 0 0 4px;\n color: var(--fs-color-text);\n font-size: $font-size-lg;\n font-weight: $font-weight-medium;\n }\n\n .fs-card-subtitle {\n margin: 0 0 8px;\n color: var(--fs-color-muted);\n font-size: $font-size-sm;\n }\n\n .fs-card-text {\n margin: 0 0 8px;\n color: var(--fs-color-text);\n font-size: $font-size-md;\n }\n\n .fs-card-text:last-child {\n margin-bottom: 0;\n }\n\n .fs-card-sm .fs-card-header,\n .fs-card-sm .fs-card-body,\n .fs-card-sm .fs-card-footer {\n padding: 5px;\n }\n\n .fs-card-lg .fs-card-header,\n .fs-card-lg .fs-card-body,\n .fs-card-lg .fs-card-footer {\n padding: 15px;\n }\n}\n","@use \"../../../fokus-core/scss/settings\" as *;\n\n@layer components {\n .fs-alert {\n display: flex;\n align-items: flex-start;\n gap: 8px;\n padding: 12px 16px;\n border: 1px solid var(--fs-color-border);\n border-left: 5px solid var(--fs-color-border);\n border-radius: 0;\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface-raised);\n font-size: $font-size-sm;\n }\n\n @each $name, $color in $theme-colors {\n .fs-alert-#{$name} {\n color: var(--fs-alert-#{$name}-text);\n background-color: var(--fs-alert-#{$name}-bg);\n border-color: var(--fs-color-#{$name});\n }\n }\n}\n","@use \"sass:map\";\n@use \"../../../fokus-core/scss/settings\" as *;\n@use \"../../../fokus-core/scss/tools\" as *;\n\n@layer components {\n // As variantes alteram somente tokens locais. Isso permite ajustar um badge\n // por marca sem sobrescrever propriedades de apresentação diretamente.\n .fs-badge {\n --fs-badge-color: var(--fs-color-text);\n --fs-badge-bg: var(--fs-color-subtle);\n --fs-badge-border: transparent;\n --fs-badge-height: 22px;\n --fs-badge-radius: 0;\n\n display: inline-flex;\n align-items: center;\n gap: 6px;\n justify-content: center;\n min-height: var(--fs-badge-height);\n\n // O peso óptico da fonte fica ligeiramente abaixo do centro geométrico.\n // Um pixel extra abaixo reposiciona a linha de texto para cima.\n padding: 1px 8px 3px;\n border: 1px solid var(--fs-badge-border);\n border-radius: var(--fs-badge-radius);\n color: var(--fs-badge-color);\n background-color: var(--fs-badge-bg);\n font-size: $font-size-xs;\n font-weight: $font-weight-medium;\n line-height: 1;\n vertical-align: middle;\n white-space: nowrap;\n }\n\n @each $name, $color in $theme-colors {\n .fs-badge-#{$name} {\n --fs-badge-color: #{color-contrast($color)};\n --fs-badge-bg: var(--fs-color-#{$name});\n }\n\n .fs-badge-soft-#{$name} {\n --fs-badge-color: color-mix(in srgb, var(--fs-color-#{$name}) 45%, var(--fs-color-text));\n --fs-badge-bg: color-mix(in srgb, var(--fs-color-#{$name}) 14%, transparent);\n --fs-badge-border: color-mix(in srgb, var(--fs-color-#{$name}) 38%, transparent);\n }\n\n .fs-badge-outline-#{$name} {\n --fs-badge-color: color-mix(in srgb, var(--fs-color-#{$name}) 45%, var(--fs-color-text));\n --fs-badge-bg: transparent;\n --fs-badge-border: var(--fs-badge-color);\n }\n }\n\n .fs-badge-sm {\n --fs-badge-height: 18px;\n\n padding: 0 6px 2px;\n font-size: $font-size-xs;\n }\n\n .fs-badge-lg {\n --fs-badge-height: 26px;\n\n padding: 2px 10px 4px;\n font-size: $font-size-md;\n }\n\n .fs-badge-dot::before {\n width: 6px;\n height: 6px;\n flex: 0 0 6px;\n border-radius: 50%;\n background-color: currentcolor;\n transform: translateY(1px);\n content: \"\";\n }\n\n .fs-badge-count {\n min-width: var(--fs-badge-height);\n padding-inline: 6px;\n font-variant-numeric: tabular-nums;\n }\n\n .fs-badge-split {\n --fs-badge-split-label-bg: var(--fs-color-black);\n --fs-badge-split-label-color: var(--fs-color-white);\n --fs-badge-split-value-bg: var(--fs-color-primary);\n --fs-badge-split-value-color: #{color-contrast(map.get($theme-colors, primary))};\n --fs-badge-split-height: 22px;\n --fs-badge-split-radius: 0;\n\n display: inline-flex;\n min-height: var(--fs-badge-split-height);\n overflow: hidden;\n border-radius: var(--fs-badge-split-radius);\n font-size: $font-size-xs;\n font-weight: $font-weight-medium;\n line-height: 1;\n vertical-align: middle;\n white-space: nowrap;\n }\n\n .fs-badge-split-label,\n .fs-badge-split-value {\n display: inline-flex;\n align-items: center;\n min-height: var(--fs-badge-split-height);\n padding: 1px 8px 3px;\n }\n\n .fs-badge-split-label {\n color: var(--fs-badge-split-label-color);\n background-color: var(--fs-badge-split-label-bg);\n }\n\n .fs-badge-split-value {\n color: var(--fs-badge-split-value-color);\n background-color: var(--fs-badge-split-value-bg);\n font-variant-numeric: tabular-nums;\n }\n\n @each $name, $color in $theme-colors {\n .fs-badge-split-#{$name} {\n --fs-badge-split-value-bg: var(--fs-color-#{$name});\n --fs-badge-split-value-color: #{color-contrast($color)};\n }\n }\n\n .fs-badge-split.fs-badge-sm {\n --fs-badge-split-height: 18px;\n\n min-height: var(--fs-badge-split-height);\n padding: 0;\n }\n\n .fs-badge-split.fs-badge-lg {\n --fs-badge-split-height: 26px;\n\n min-height: var(--fs-badge-split-height);\n padding: 0;\n font-size: $font-size-md;\n }\n\n .fs-badge-split.fs-badge-sm .fs-badge-split-label,\n .fs-badge-split.fs-badge-sm .fs-badge-split-value {\n padding: 0 6px 2px;\n }\n\n .fs-badge-split.fs-badge-lg .fs-badge-split-label,\n .fs-badge-split.fs-badge-lg .fs-badge-split-value {\n padding: 2px 10px 4px;\n }\n}\n","@use \"../../../fokus-core/scss/settings\" as *;\n\n@layer components {\n .fs-table {\n width: 100%;\n margin-bottom: 0;\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface-raised);\n border-collapse: collapse;\n }\n\n .fs-table th,\n .fs-table td {\n padding: 8px 12px;\n border-bottom: 1px solid var(--fs-color-border);\n text-align: left;\n vertical-align: middle;\n }\n\n .fs-table thead th {\n border-bottom-width: 2px;\n color: var(--fs-color-muted);\n font-size: $font-size-sm;\n font-weight: $font-weight-medium;\n text-transform: uppercase;\n }\n\n .fs-table-striped tbody tr:nth-of-type(odd) {\n background-color: var(--fs-color-subtle);\n }\n\n .fs-table-hover tbody tr:hover {\n background-color: var(--fs-color-subtle);\n }\n\n .fs-table-bordered th,\n .fs-table-bordered td {\n border: 1px solid var(--fs-color-border);\n }\n\n .fs-table-borderless th,\n .fs-table-borderless td {\n border: 0;\n }\n\n @each $name, $color in $theme-colors {\n .fs-table-#{$name} {\n background-color: var(--fs-alert-#{$name}-bg);\n color: var(--fs-alert-#{$name}-text);\n }\n }\n\n .fs-table-sm th,\n .fs-table-sm td {\n padding: 4px 8px;\n }\n\n .fs-table-responsive {\n overflow-x: auto;\n }\n}\n","@use \"../../../fokus-core/scss/settings\" as *;\n@use \"../../../fokus-core/scss/tools\" as *;\n\n@layer components {\n .fs-navbar {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n gap: 16px;\n padding: 12px 16px;\n border-bottom: 1px solid var(--fs-color-border);\n background-color: var(--fs-color-surface);\n }\n\n .fs-navbar-brand {\n color: var(--fs-color-text);\n font-size: $font-size-lg;\n font-weight: $font-weight-medium;\n text-decoration: none;\n }\n\n .fs-navbar-nav {\n display: flex;\n align-items: center;\n gap: 4px;\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n .fs-nav-link {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 8px 12px;\n border-radius: var(--fs-radius-sm);\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface-raised);\n text-decoration: none;\n transition: background-color 0.15s ease-in-out;\n }\n\n .fs-nav-link:hover {\n background-color: var(--fs-color-subtle);\n }\n\n .fs-nav-link:focus-visible {\n @include focus-ring;\n }\n\n .fs-nav-link.is-active {\n color: var(--fs-alert-primary-text);\n font-weight: $font-weight-medium;\n }\n\n .fs-nav-link.is-disabled {\n color: var(--fs-color-muted);\n pointer-events: none;\n }\n}\n","@layer components {\n // Wrapper posicionador do input — a listbox (`.fs-dropdown-menu`, mesma\n // classe do Dropdown/Select) é reanexada a `document.body` pelo JS e\n // posicionada via `core/positioning.js`; o wrapper só existe pra manter\n // o layout inline do input no fluxo normal do documento.\n .fs-combobox {\n position: relative;\n display: inline-flex;\n width: 100%;\n }\n\n .fs-combobox-listbox {\n overflow-y: auto;\n max-height: 240px;\n }\n}\n","@use \"../../../fokus-core/scss/settings\" as *;\n@use \"../../../fokus-core/scss/tools\" as *;\n\n@layer components {\n // Ajusta o indicador nativo de <input type=\"date\">/<input type=\"time\">\n // no tema escuro — por padrão o navegador desenha um ícone escuro fixo\n // (chrome do SO, não estilizável via token), que fica invisível sobre\n // --fs-color-surface escuro sem essa correção.\n [data-theme=\"dark\"] .fs-form-control[type=\"date\"]::-webkit-calendar-picker-indicator,\n [data-theme=\"dark\"] .fs-form-control[type=\"time\"]::-webkit-calendar-picker-indicator {\n filter: invert(1);\n }\n\n .fs-datepicker {\n position: relative;\n display: inline-flex;\n width: 100%;\n }\n\n .fs-datepicker-panel {\n display: none;\n width: min(280px, calc(100vw - 2 * var(--fs-space-3)));\n padding: 12px;\n border: 1px solid var(--fs-color-border);\n border-radius: var(--fs-radius-md);\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface);\n box-shadow: var(--fs-shadow-md);\n z-index: var(--fs-z-dropdown);\n }\n\n .fs-datepicker-panel.is-open {\n display: block;\n }\n\n .fs-datepicker-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: 8px;\n }\n\n .fs-datepicker-nav {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n padding: 0;\n border: none;\n border-radius: var(--fs-radius-sm);\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface-raised);\n font-size: $font-size-md;\n cursor: pointer;\n }\n\n .fs-datepicker-nav:hover {\n background-color: var(--fs-color-subtle);\n }\n\n .fs-datepicker-nav:focus-visible {\n @include focus-ring;\n }\n\n .fs-datepicker-title {\n font-size: $font-size-sm;\n font-weight: $font-weight-medium;\n text-transform: capitalize;\n }\n\n .fs-datepicker-grid {\n display: flex;\n flex-direction: column;\n gap: 2px;\n }\n\n .fs-datepicker-weekdays,\n .fs-datepicker-week {\n display: grid;\n grid-template-columns: repeat(7, 1fr);\n gap: 2px;\n }\n\n .fs-datepicker-weekday {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 28px;\n color: var(--fs-color-muted);\n font-size: $font-size-xs;\n font-weight: $font-weight-medium;\n text-align: center;\n text-transform: uppercase;\n }\n\n .fs-datepicker-day {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 32px;\n border: none;\n border-radius: var(--fs-radius-sm);\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface-raised);\n font-size: $font-size-sm;\n cursor: pointer;\n }\n\n .fs-datepicker-day:hover {\n background-color: var(--fs-color-subtle);\n }\n\n .fs-datepicker-day:focus-visible {\n @include focus-ring;\n }\n\n .fs-datepicker-day.is-outside {\n color: var(--fs-color-muted);\n }\n\n .fs-datepicker-day.is-today {\n font-weight: $font-weight-semibold;\n box-shadow: inset 0 0 0 1px var(--fs-color-primary);\n }\n\n .fs-datepicker-day.is-selected {\n color: var(--fs-color-on-primary);\n background-color: var(--fs-color-primary);\n }\n\n .fs-datepicker-day:disabled {\n color: var(--fs-color-muted);\n pointer-events: none;\n opacity: 0.4;\n }\n}\n","@use \"../../../fokus-core/scss/settings\" as *;\n@use \"../../../fokus-core/scss/tools\" as *;\n\n// Diálogo do Command Palette (`js/command-palette.js`). Os itens da lista\n// reusam `.fs-dropdown-item`/`.is-active`/`.is-disabled` (scss/components/\n// _dropdown.scss) sem duplicação — só o backdrop/diálogo/campo de busca são\n// CSS novo.\n\n@layer components {\n .fs-command-palette {\n position: fixed;\n inset: 0;\n z-index: var(--fs-z-modal);\n display: none;\n align-items: flex-start;\n justify-content: center;\n padding: 72px 16px 16px;\n background-color: rgb(0 0 0 / 50%);\n }\n\n .fs-command-palette.is-open {\n display: flex;\n }\n\n .fs-command-palette-dialog {\n display: flex;\n flex-direction: column;\n width: 100%;\n max-width: 480px;\n max-height: calc(100vh - 88px);\n overflow: hidden;\n border-radius: var(--fs-radius-md);\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface);\n box-shadow: var(--fs-shadow-lg);\n }\n\n .fs-command-palette-input {\n width: 100%;\n padding: 16px 20px;\n border: none;\n border-bottom: 1px solid var(--fs-color-border);\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface-raised);\n font-size: $font-size-lg;\n }\n\n .fs-command-palette-input:focus-visible {\n @include focus-ring;\n }\n\n .fs-command-palette-list {\n margin: 0;\n padding: 6px 0;\n overflow-y: auto;\n list-style: none;\n }\n}\n","@use \"../../../fokus-core/scss/settings\" as *;\n@use \"../../../fokus-core/scss/tools\" as *;\n\n@layer components {\n .fs-tree,\n .fs-tree [role=\"group\"] {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n .fs-tree [role=\"group\"] {\n padding-left: 20px;\n }\n\n .fs-tree [role=\"treeitem\"] {\n border-radius: var(--fs-radius-sm);\n }\n\n .fs-tree [role=\"treeitem\"]:focus-visible {\n outline: none;\n }\n\n .fs-tree [role=\"treeitem\"]:focus-visible > .fs-tree-label {\n @include focus-ring;\n }\n\n .fs-tree-label {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 6px 8px;\n border-radius: var(--fs-radius-sm);\n color: var(--fs-color-text);\n font-size: $font-size-md;\n cursor: pointer;\n user-select: none;\n }\n\n .fs-tree-label:hover {\n background-color: var(--fs-color-subtle);\n }\n\n .fs-tree [role=\"treeitem\"][aria-selected=\"true\"] > .fs-tree-label {\n color: var(--fs-color-on-primary);\n background-color: var(--fs-color-primary);\n }\n\n .fs-tree-toggle {\n flex-shrink: 0;\n width: 0;\n height: 0;\n border-top: 4px solid transparent;\n border-bottom: 4px solid transparent;\n border-left: 5px solid currentcolor;\n transition: transform 0.15s ease-in-out;\n }\n\n .fs-tree [role=\"treeitem\"][aria-expanded=\"true\"] > .fs-tree-label > .fs-tree-toggle {\n transform: rotate(90deg);\n }\n}\n","@use \"../../../fokus-core/scss/settings\" as *;\n@use \"../../../fokus-core/scss/tools\" as *;\n\n@layer components {\n .fs-dropdown {\n position: relative;\n display: inline-flex;\n }\n\n // Sem margin-left: `.fs-dropdown-toggle` é sempre usado com `.fs-btn`\n // (ver docs/components/dropdown.md), que já tem `gap` pros filhos —\n // incluindo este `::after`, que conta como item flex do `.fs-btn`.\n .fs-dropdown-toggle::after {\n display: inline-block;\n width: 0;\n height: 0;\n vertical-align: middle;\n content: \"\";\n border-top: 5px solid;\n border-right: 5px solid transparent;\n border-left: 5px solid transparent;\n }\n\n .fs-dropdown-menu {\n position: absolute;\n display: none;\n min-width: 180px;\n margin: 0;\n padding: 6px 0;\n border: var(--fs-border-width) solid var(--fs-color-border-default);\n border-radius: var(--fs-radius-md);\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface);\n box-shadow: var(--fs-shadow-md);\n z-index: var(--fs-z-dropdown);\n }\n\n .fs-dropdown-menu.is-open {\n display: block;\n }\n\n .fs-dropdown-item {\n display: flex;\n align-items: center;\n width: 100%;\n padding: 8px 16px;\n border: 0;\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface-raised);\n font-size: $font-size-md;\n text-align: left;\n text-decoration: none;\n cursor: pointer;\n }\n\n .fs-dropdown-item:hover,\n .fs-dropdown-item:focus-visible {\n color: var(--fs-color-text);\n background-color: var(--fs-color-subtle);\n outline: none;\n }\n\n .fs-dropdown-item.is-active {\n color: var(--fs-color-on-primary);\n background-color: var(--fs-color-primary);\n }\n\n .fs-dropdown-item.is-disabled {\n color: var(--fs-color-muted);\n pointer-events: none;\n opacity: 0.6;\n }\n\n .fs-dropdown-divider {\n height: 1px;\n margin: 6px 0;\n border: none;\n background-color: var(--fs-color-border);\n }\n\n .fs-dropdown-header {\n padding: 4px 16px;\n color: var(--fs-color-muted);\n font-size: $font-size-xs;\n font-weight: $font-weight-medium;\n text-transform: uppercase;\n }\n}\n","@use \"../../../fokus-core/scss/settings\" as *;\n\n@layer components {\n .fs-modal {\n position: fixed;\n inset: 0;\n z-index: var(--fs-z-modal);\n display: none;\n align-items: center;\n justify-content: center;\n padding: var(--fs-space-4);\n background-color: rgb(0 0 0 / 50%);\n }\n\n .fs-modal.is-open {\n display: flex;\n }\n\n .fs-modal-dialog {\n width: 100%;\n max-width: 480px;\n }\n\n .fs-modal-dialog.fs-modal-sm {\n max-width: 320px;\n }\n\n .fs-modal-dialog.fs-modal-lg {\n max-width: 720px;\n }\n\n .fs-modal-content {\n display: flex;\n flex-direction: column;\n max-height: calc(100vh - 2 * var(--fs-space-4));\n border: var(--fs-border-width) solid var(--fs-color-border-default);\n border-radius: var(--fs-radius-md);\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface);\n box-shadow: var(--fs-shadow-lg);\n }\n\n .fs-modal-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 16px 20px;\n border-bottom: 1px solid var(--fs-color-border);\n }\n\n .fs-modal-title {\n margin: 0;\n font-size: $font-size-lg;\n font-weight: $font-weight-medium;\n }\n\n .fs-modal-body {\n padding: 20px;\n overflow-y: auto;\n }\n\n .fs-modal-footer {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: 8px;\n padding: 16px 20px;\n border-top: 1px solid var(--fs-color-border);\n }\n}\n","@use \"../../../fokus-core/scss/settings\" as *;\n\n// Alert Dialog / Confirm: variante do Modal (scss/components/_modal.scss) para\n// confirmação, montada dinamicamente por FokusStyles.confirm() (js/confirm.js) —\n// reaproveita .fs-modal/.fs-modal-dialog/.fs-modal-content/.fs-modal-footer sem duplicar\n// layout, só adiciona a mensagem abaixo do título.\n\n@layer components {\n .fs-alert-dialog-message {\n margin: 4px 0 0;\n color: var(--fs-color-muted);\n font-size: $font-size-sm;\n }\n}\n","@use \"../../../fokus-core/scss/settings\" as *;\n\n// Linha divisória, 100% CSS. `<hr class=\"divider\">` para o traço simples;\n// `<div class=\"divider\">` (não pode ser `<hr>`, que não aceita filhos) com\n// `.fs-divider-label` para o texto centralizado, flanqueado por duas linhas via\n// pseudo-elementos.\n\n@layer components {\n .fs-divider {\n margin: 16px 0;\n border: 0;\n border-top: 1px solid var(--fs-color-border);\n }\n\n .fs-divider:not(hr) {\n display: flex;\n align-items: center;\n border-top: none;\n color: var(--fs-color-muted);\n font-size: $font-size-sm;\n }\n\n .fs-divider:not(hr)::before,\n .fs-divider:not(hr)::after {\n flex: 1;\n content: \"\";\n border-top: 1px solid var(--fs-color-border);\n }\n\n .fs-divider-label {\n padding: 0 12px;\n }\n}\n","@use \"../../../fokus-core/scss/settings\" as *;\n\n// Bloco padrão para listas/telas vazias, 100% CSS. `.fs-empty-state-icon` é um\n// slot vazio (o consumidor põe seu próprio SVG/emoji/ilustração dentro) — ao\n// contrário do ícone do Alert Dialog, aqui não há um conjunto fixo de\n// variantes de estado para gerar via CSS.\n\n@layer components {\n .fs-empty-state {\n display: flex;\n flex-direction: column;\n align-items: center;\n padding: 48px 24px;\n text-align: center;\n }\n\n // `[hidden]` sozinho não bastaria: a regra do user-agent stylesheet\n // perde pra `display: flex` acima (author styles sempre vencem UA\n // styles, mesmo em `@layer`) — sem isso, `.fs-empty-state[hidden]`\n // continua visível (bug real pego no DataTable, que alterna esse\n // atributo em `js/datatable.js`). Mesmo padrão já usado em\n // `.fs-notification-badge[hidden]`/`.fs-notification-empty[hidden]`.\n .fs-empty-state[hidden] {\n display: none;\n }\n\n .fs-empty-state-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 64px;\n height: 64px;\n margin-bottom: 16px;\n border-radius: 50%;\n color: var(--fs-color-muted);\n background-color: var(--fs-color-subtle);\n font-size: 28px;\n }\n\n .fs-empty-state-title {\n margin: 0;\n color: var(--fs-color-text);\n font-size: $font-size-lg;\n font-weight: $font-weight-medium;\n }\n\n .fs-empty-state-text {\n max-width: 360px;\n margin: 4px 0 20px;\n color: var(--fs-color-muted);\n font-size: $font-size-sm;\n }\n}\n","@use \"../../../fokus-core/scss/settings\" as *;\n\n// Rating / Stars, 100% CSS — mesma técnica de input oculto + label irmão do\n// Segmented Control (scss/components/_segmented-control.scss): um\n// `<input type=\"radio\">` por estrela, exclusivo dentro do grupo. A marcação\n// espera os pares input+label em ordem DECRESCENTE de valor (5, 4, 3...) com\n// `.fs-rating` em `row-reverse`, o truque clássico de CSS pra destacar \"a\n// estrela clicada e todas à esquerda dela\" usando só `~` (combinador de\n// irmãos gerais, que só enxerga o que vem DEPOIS no DOM).\n// A estrela em si é o ícone `star` de `fokus-styles/icons` (`.fs-icon`, outline\n// por padrão) — preenchida (`fill: currentcolor`) só quando selecionada/em\n// hover, pra imitar o glifo sólido que ★ tinha antes sem perder o contorno\n// vazio do estado \"não avaliada\".\n\n@layer components {\n .fs-rating {\n display: inline-flex;\n flex-direction: row-reverse;\n }\n\n .fs-rating-input {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip-path: inset(50%);\n white-space: nowrap;\n border: 0;\n }\n\n .fs-rating-star {\n display: flex;\n padding: 2px;\n color: var(--fs-color-border);\n font-size: 24px;\n cursor: pointer;\n }\n\n .fs-rating-input:checked ~ .fs-rating-star,\n .fs-rating-star:hover,\n .fs-rating-star:hover ~ .fs-rating-star {\n color: var(--fs-color-warning);\n }\n\n .fs-rating-input:checked ~ .fs-rating-star .fs-icon,\n .fs-rating-star:hover .fs-icon,\n .fs-rating-star:hover ~ .fs-rating-star .fs-icon {\n fill: currentcolor;\n }\n\n .fs-rating-input:focus-visible + .fs-rating-star {\n border-radius: var(--fs-radius-sm);\n outline: 2px solid var(--fs-color-primary);\n outline-offset: 2px;\n }\n\n .fs-rating-input:disabled + .fs-rating-star {\n opacity: 0.5;\n pointer-events: none;\n }\n\n .fs-rating-sm .fs-rating-star {\n font-size: 16px;\n }\n\n .fs-rating-lg .fs-rating-star {\n font-size: 32px;\n }\n}\n","@use \"../../../fokus-core/scss/settings\" as *;\n@use \"../../../fokus-core/scss/tools\" as *;\n\n// Badge dismissível / Tag: reaproveita `.fs-badge`\n// (scss/components/_badges.scss) e `.fs-btn-close`\n// (scss/components/_buttons.scss) — só ajusta o tamanho do botão de fechar\n// pra caber num badge, que é bem menor que um botão, e o espaçamento entre\n// o texto e o \"x\". O dismiss em si é feito por js/tag.js (FokusStyles.Tag).\n@layer components {\n .fs-tag {\n gap: 0;\n padding: 0 0 0 8px;\n }\n\n // O texto fica em um elemento próprio quando a tag puder ser truncada. A\n // string integral permanece no DOM, portanto continua disponível para AT.\n .fs-tag-label {\n min-width: 0;\n }\n\n .fs-tag-truncate {\n max-inline-size: min(100%, var(--fs-tag-max-inline-size, 20rem));\n }\n\n .fs-tag-truncate .fs-tag-label {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .fs-tag-icon {\n display: inline-grid;\n width: 12px;\n height: 12px;\n flex: 0 0 12px;\n margin-right: 4px;\n place-items: center;\n }\n\n .fs-tag-icon .fs-icon {\n width: 12px;\n height: 12px;\n stroke: currentcolor;\n }\n\n .fs-tag .fs-btn-close {\n width: calc(var(--fs-badge-height) - 2px);\n height: calc(var(--fs-badge-height) - 2px);\n flex: 0 0 calc(var(--fs-badge-height) - 2px);\n margin-left: 4px;\n border-radius: 0;\n background-color: transparent;\n\n // Herda a cor de texto do badge (contraste automático por variante) em vez\n // do cinza fixo do `.fs-btn-close`, pra o \"x\" ter contraste em qualquer fundo;\n // o `opacity` o deixa discreto sem depender de uma cor fixa.\n color: inherit;\n opacity: 0.7;\n transition: opacity 0.1s ease-in-out, background-color 0.1s ease-in-out, transform 0.1s ease-in-out;\n }\n\n .fs-tag .fs-btn-close::before,\n .fs-tag .fs-btn-close::after {\n top: calc(50% + 1px);\n width: 8px;\n }\n\n .fs-tag .fs-btn-close:hover {\n color: inherit;\n background-color: color-mix(in srgb, currentcolor 18%, transparent);\n opacity: 1;\n }\n\n // Feedback tátil ao clicar (o dismiss em si é assíncrono via evento\n // cancelável fs:tag:dismissed, então o \"afundar\" no clique reforça que a\n // ação registrou mesmo antes do elemento sumir).\n .fs-tag .fs-btn-close:active {\n background-color: color-mix(in srgb, currentcolor 28%, transparent);\n transform: scale(0.9);\n }\n\n // Agrupamento: várias tags lado a lado, quebrando linha sem cortar.\n .fs-tag-group {\n display: flex;\n flex-wrap: wrap;\n gap: 0;\n }\n\n // O botão já possui foco próprio; o contorno no contêiner evidencia qual\n // tag será removida, especialmente em grupos densos.\n .fs-tag:focus-within {\n @include focus-ring;\n }\n\n .fs-tag.is-loading,\n .fs-tag[aria-busy=\"true\"] {\n --fs-badge-bg: var(--fs-color-warning);\n --fs-badge-color: var(--fs-color-black);\n --fs-badge-border: transparent;\n\n cursor: progress;\n }\n\n // Usa o spinner do próprio FokusStyles. A classe é opt-in no markup para que o\n // conteúdo de uma tag carregando continue explícito e sem DOM implícito.\n .fs-tag.is-loading .fs-spinner,\n .fs-tag[aria-busy=\"true\"] .fs-spinner {\n width: 12px;\n height: 12px;\n flex: 0 0 12px;\n margin: 0 6px 0 4px;\n border-width: 2px;\n color: var(--fs-color-black);\n }\n\n .fs-tag.is-loading .fs-btn-close,\n .fs-tag[aria-busy=\"true\"] .fs-btn-close {\n display: none;\n }\n\n .fs-tag-group .fs-tag + .fs-tag {\n border-inline-start-color: color-mix(in srgb, currentcolor 24%, transparent);\n }\n\n .fs-tag-group .fs-tag {\n padding-inline-start: calc(var(--fs-badge-height) + 2px);\n transition: background-color 0.1s ease-in-out;\n }\n\n .fs-tag-group .fs-btn-close {\n pointer-events: none;\n opacity: 0;\n }\n\n .fs-tag-group .fs-tag:hover .fs-btn-close,\n .fs-tag-group .fs-tag:focus-within .fs-btn-close {\n pointer-events: auto;\n opacity: 0.7;\n }\n\n .fs-tag-group .fs-tag:hover,\n .fs-tag-group .fs-tag:focus-within {\n background-color: color-mix(in srgb, currentcolor 18%, transparent);\n }\n\n // Um botão de overflow representa as tags não exibidas. A abertura da lista\n // ou popover é responsabilidade da composição que o utiliza.\n .fs-tag-overflow {\n --fs-badge-bg: transparent;\n --fs-badge-color: var(--fs-alert-primary-text);\n --fs-badge-border: transparent;\n\n width: var(--fs-badge-height);\n height: var(--fs-badge-height);\n min-width: var(--fs-badge-height);\n padding: 0;\n border: 0;\n appearance: none;\n cursor: pointer;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n font: inherit;\n line-height: 0;\n }\n\n .fs-tag-overflow .fs-icon {\n display: block;\n flex: 0 0 13px;\n width: 13px;\n height: 13px;\n stroke: currentcolor;\n }\n\n .fs-tag-overflow:hover,\n .fs-tag-group .fs-tag-overflow:hover {\n background-color: transparent;\n border-color: transparent;\n }\n\n .fs-tag-group .fs-tag-overflow {\n padding-inline-start: 0;\n }\n\n .fs-tag-overflow:focus-visible {\n @include focus-ring;\n }\n\n .fs-tag-group .fs-btn-close:hover {\n color: inherit;\n background-color: transparent;\n opacity: 0.7;\n }\n\n .fs-tag-protected {\n pointer-events: none;\n }\n\n .fs-tag-lock {\n display: inline-grid;\n width: calc(var(--fs-badge-height) - 2px);\n height: calc(var(--fs-badge-height) - 2px);\n margin-left: 4px;\n place-items: center;\n }\n\n .fs-tag-lock svg {\n width: 12px;\n height: 12px;\n stroke: currentcolor;\n stroke-width: 2;\n }\n\n}\n","@use \"../../../fokus-core/scss/settings\" as *;\n\n// Offcanvas: painel deslizante (fora da viewport por padrão, `.is-open` traz\n// para dentro via transform) + `.fs-offcanvas-backdrop` separado (não fixo\n// junto ao painel, como no Modal, porque o painel não cobre a tela toda —\n// o backdrop escurece o restante). Mesma faixa de z-index do Modal (1050),\n// já que são overlays mutuamente exclusivos.\n\n@layer components {\n .fs-offcanvas {\n position: fixed;\n z-index: var(--fs-z-offcanvas);\n display: flex;\n flex-direction: column;\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface);\n box-shadow: var(--fs-shadow-lg);\n visibility: hidden;\n transition: transform 0.3s ease, visibility 0.3s ease;\n }\n\n .fs-offcanvas.is-open {\n visibility: visible;\n transform: none;\n }\n\n .fs-offcanvas-start {\n inset: 0 auto 0 0;\n width: 320px;\n transform: translateX(-100%);\n }\n\n .fs-offcanvas-end {\n inset: 0 0 0 auto;\n width: 320px;\n transform: translateX(100%);\n }\n\n .fs-offcanvas-top {\n inset: 0 0 auto;\n height: 40vh;\n transform: translateY(-100%);\n }\n\n .fs-offcanvas-bottom {\n inset: auto 0 0;\n height: 40vh;\n transform: translateY(100%);\n }\n\n .fs-offcanvas-backdrop {\n position: fixed;\n inset: 0;\n z-index: calc(var(--fs-z-offcanvas) - 1);\n background-color: rgb(0 0 0 / 50%);\n opacity: 0;\n visibility: hidden;\n transition: opacity 0.3s ease, visibility 0.3s ease;\n }\n\n .fs-offcanvas-backdrop.is-open {\n visibility: visible;\n opacity: 1;\n }\n\n .fs-offcanvas-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 16px 20px;\n border-bottom: 1px solid var(--fs-color-border);\n }\n\n .fs-offcanvas-title {\n margin: 0;\n font-size: $font-size-lg;\n font-weight: $font-weight-medium;\n }\n\n .fs-offcanvas-body {\n flex: 1 1 auto;\n padding: 20px;\n overflow-y: auto;\n }\n\n .fs-offcanvas-footer {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: 8px;\n padding: 16px 20px;\n border-top: 1px solid var(--fs-color-border);\n }\n\n @media (prefers-reduced-motion: reduce) {\n .fs-offcanvas,\n .fs-offcanvas-backdrop {\n transition: none;\n }\n }\n}\n","@use \"../../../fokus-core/scss/settings\" as *;\n@use \"../../../fokus-core/scss/tools\" as *;\n\n@layer components {\n .fs-accordion {\n display: flex;\n flex-direction: column;\n }\n\n .fs-accordion-item {\n overflow: hidden;\n border: 1px solid var(--fs-color-border);\n background-color: var(--fs-color-surface-raised);\n }\n\n .fs-accordion-item + .fs-accordion-item {\n border-top: none;\n }\n\n .fs-accordion-item:first-child {\n border-top-left-radius: var(--fs-radius-md);\n border-top-right-radius: var(--fs-radius-md);\n }\n\n .fs-accordion-item:last-child {\n border-bottom-right-radius: var(--fs-radius-md);\n border-bottom-left-radius: var(--fs-radius-md);\n }\n\n .fs-accordion-header {\n margin: 0;\n }\n\n .fs-accordion-button {\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n padding: 14px 16px;\n border: none;\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface);\n font-size: $font-size-md;\n font-weight: $font-weight-medium;\n text-align: left;\n cursor: pointer;\n }\n\n .fs-accordion-button:hover {\n background-color: var(--fs-color-subtle);\n }\n\n .fs-accordion-button:focus-visible {\n @include focus-ring;\n }\n\n .fs-accordion-button::after {\n flex-shrink: 0;\n width: 8px;\n height: 8px;\n margin-left: 12px;\n content: \"\";\n border-right: 2px solid currentcolor;\n border-bottom: 2px solid currentcolor;\n transform: rotate(45deg);\n transition: transform 0.2s ease-in-out;\n }\n\n .fs-accordion-button[aria-expanded=\"true\"]::after {\n transform: rotate(-135deg);\n }\n\n .fs-accordion-collapse {\n overflow: hidden;\n }\n\n .fs-accordion-body {\n padding: 16px;\n border-top: 1px solid var(--fs-color-border);\n background-color: var(--fs-color-surface-raised);\n }\n}\n","@use \"../../../fokus-core/scss/settings\" as *;\n@use \"../../../fokus-core/scss/tools\" as *;\n\n// Três estilos visuais (linha = padrão, pill, depth), mais alinhamento e\n// tamanho — todos modificadores de `.fs-tabs`, reaproveitando `.fs-nav-link`\n// (_navbar.scss) como o item clicável em todos os três, então o HTML e a\n// navegação por teclado (ArrowLeft/ArrowRight/Home/End, `js/tabs.js`) não\n// mudam entre estilos.\n@layer components {\n .fs-tabs {\n display: flex;\n border-bottom: var(--fs-border-width) solid var(--fs-color-border-default);\n }\n\n .fs-tabs .fs-nav-link {\n margin-bottom: -1px;\n border-bottom: 2px solid transparent;\n border-radius: var(--fs-radius-sm) var(--fs-radius-sm) 0 0;\n }\n\n .fs-tabs .fs-nav-link.is-active {\n border-bottom-color: var(--fs-color-primary);\n }\n\n // Pill: sem linha embaixo, cada item vira um \"chip\" com fundo próprio\n // quando ativo — nada de forma circular, só o token de raio padrão.\n .fs-tabs-pill {\n gap: 4px;\n border-bottom: none;\n }\n\n .fs-tabs-pill .fs-nav-link {\n margin-bottom: 0;\n border-bottom: none;\n border-radius: var(--fs-radius-sm);\n }\n\n .fs-tabs-pill .fs-nav-link.is-active {\n color: var(--fs-color-on-primary);\n background-color: var(--fs-color-primary);\n }\n\n // Depth: fundo neutro por trás dos itens; o ativo \"sobe\" com borda nos 3\n // lados e fundo igual ao do conteúdo, criando a ilusão de aba de pasta\n // fundida ao painel abaixo (a borda inferior do container fica por baixo\n // do item ativo, escondida pela cor de fundo igual).\n .fs-tabs-depth {\n gap: 2px;\n padding: 4px 4px 0;\n background-color: var(--fs-color-subtle);\n }\n\n .fs-tabs-depth .fs-nav-link {\n margin-bottom: -1px;\n border: 1px solid transparent;\n border-bottom: none;\n border-radius: var(--fs-radius-sm) var(--fs-radius-sm) 0 0;\n }\n\n .fs-tabs-depth .fs-nav-link.is-active {\n border-color: var(--fs-color-border);\n background-color: var(--fs-color-surface);\n }\n\n // Alinhamento dos itens dentro do container (padrão: início/esquerda).\n .fs-tabs-center {\n justify-content: center;\n }\n\n .fs-tabs-right {\n justify-content: flex-end;\n }\n\n .fs-tabs-fill .fs-nav-link {\n flex: 1;\n justify-content: center;\n text-align: center;\n }\n\n // Tamanhos — mesma escala sm/lg dos outros componentes.\n .fs-tabs-sm .fs-nav-link {\n padding: 6px 10px;\n font-size: $font-size-sm;\n }\n\n .fs-tabs-lg .fs-nav-link {\n padding: 10px 16px;\n font-size: $font-size-lg;\n }\n\n .fs-tab-content > .fs-tab-pane {\n display: none;\n }\n\n .fs-tab-content > .fs-tab-pane.is-active {\n display: block;\n }\n}\n","@use \"../../../fokus-core/scss/settings\" as *;\n\n@layer components {\n .fs-tooltip {\n position: absolute;\n z-index: var(--fs-z-tooltip);\n display: none;\n max-width: 220px;\n }\n\n .fs-tooltip.is-open {\n display: block;\n }\n\n .fs-tooltip-inner {\n padding: 6px 10px;\n border-radius: var(--fs-radius-sm);\n color: var(--fs-tooltip-text);\n background-color: var(--fs-tooltip-bg);\n font-size: $font-size-xs;\n text-align: center;\n }\n\n .fs-tooltip-arrow {\n position: absolute;\n width: 8px;\n height: 8px;\n background-color: var(--fs-tooltip-bg);\n transform: rotate(45deg);\n }\n\n .fs-tooltip[data-placement=\"top\"] .fs-tooltip-arrow {\n bottom: -4px;\n left: 50%;\n margin-left: -4px;\n }\n\n .fs-tooltip[data-placement=\"bottom\"] .fs-tooltip-arrow {\n top: -4px;\n left: 50%;\n margin-left: -4px;\n }\n\n .fs-tooltip[data-placement=\"left\"] .fs-tooltip-arrow {\n top: 50%;\n right: -4px;\n margin-top: -4px;\n }\n\n .fs-tooltip[data-placement=\"right\"] .fs-tooltip-arrow {\n top: 50%;\n left: -4px;\n margin-top: -4px;\n }\n}\n","@use \"../../../fokus-core/scss/settings\" as *;\n\n// Popover: painel flutuante com conteúdo rico (header/body/footer),\n// posicionado como o Tooltip (mesma técnica de seta rotacionada 45°), mas com\n// aparência de card de superfície em vez do chip escuro do tooltip — porque\n// pode conter elementos interativos. z-index entre o Dropdown (1000) e o\n// Tooltip (1080), para um tooltip aplicado a um gatilho de popover ainda\n// vencer visualmente.\n\n@layer components {\n .fs-popover {\n position: absolute;\n z-index: var(--fs-z-offcanvas);\n display: none;\n max-width: 280px;\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface);\n border: 1px solid var(--fs-color-border);\n border-radius: var(--fs-radius-md);\n box-shadow: var(--fs-shadow-md);\n }\n\n .fs-popover.is-open {\n display: block;\n }\n\n .fs-popover-header {\n padding: 10px 14px;\n background-color: var(--fs-color-subtle);\n border-bottom: 1px solid var(--fs-color-border);\n border-radius: var(--fs-radius-md) var(--fs-radius-md) 0 0;\n font-size: $font-size-sm;\n font-weight: $font-weight-medium;\n }\n\n .fs-popover-body {\n padding: 14px;\n font-size: $font-size-sm;\n }\n\n .fs-popover-footer {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: 8px;\n padding: 10px 14px;\n border-top: 1px solid var(--fs-color-border);\n }\n\n .fs-popover-arrow {\n position: absolute;\n width: 8px;\n height: 8px;\n background-color: var(--fs-color-surface);\n border: 1px solid var(--fs-color-border);\n transform: rotate(45deg);\n }\n\n .fs-popover[data-placement=\"top\"] .fs-popover-arrow {\n bottom: -5px;\n left: 50%;\n margin-left: -4px;\n border-top: 0;\n border-left: 0;\n }\n\n .fs-popover[data-placement=\"bottom\"] .fs-popover-arrow {\n top: -5px;\n left: 50%;\n margin-left: -4px;\n border-right: 0;\n border-bottom: 0;\n }\n\n .fs-popover[data-placement=\"left\"] .fs-popover-arrow {\n top: 50%;\n right: -5px;\n margin-top: -4px;\n border-bottom: 0;\n border-left: 0;\n }\n\n .fs-popover[data-placement=\"right\"] .fs-popover-arrow {\n top: 50%;\n left: -5px;\n margin-top: -4px;\n border-top: 0;\n border-right: 0;\n }\n\n // Hover Card: não é um componente novo — composição do Popover com\n // `data-trigger=\"hover\"` (já suportado por js/popover.js) e conteúdo mais\n // rico (ex. avatar + bio). Este modificador só alarga um pouco o popover e\n // alinha um layout de linha (avatar ao lado do texto) no corpo.\n .fs-popover-hover-card {\n max-width: 320px;\n }\n\n .fs-popover-hover-card .fs-popover-body {\n display: flex;\n gap: 12px;\n }\n}\n","@use \"../../../fokus-core/scss/settings\" as *;\n\n@layer components {\n .fs-toast-container {\n position: fixed;\n right: 16px;\n bottom: 16px;\n z-index: var(--fs-z-toast);\n display: flex;\n flex-direction: column;\n gap: 8px;\n width: min(360px, 100%);\n max-width: calc(100vw - 2 * var(--fs-space-3));\n }\n\n .fs-toast {\n display: flex;\n overflow: hidden;\n flex-direction: column;\n border: 1px solid var(--fs-color-border);\n border-radius: var(--fs-radius-md);\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface);\n box-shadow: var(--fs-shadow-md);\n }\n\n .fs-toast-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 10px 12px;\n border-bottom: 1px solid var(--fs-color-border);\n font-size: $font-size-sm;\n font-weight: $font-weight-medium;\n }\n\n .fs-toast-body {\n padding: 12px;\n font-size: $font-size-sm;\n }\n\n @each $name, $color in $theme-colors {\n .fs-toast-#{$name} .fs-toast-header {\n color: var(--fs-alert-#{$name}-text);\n background-color: var(--fs-alert-#{$name}-bg);\n }\n }\n}\n","@use \"../../../fokus-core/scss/settings\" as *;\n@use \"../../../fokus-core/scss/tools\" as *;\n\n@layer components {\n .fs-pagination {\n display: flex;\n gap: 0.25rem;\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n .fs-page-link {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-width: 32px;\n height: 32px;\n padding: 0 8px;\n border: 1px solid var(--fs-color-border);\n border-radius: var(--fs-radius-sm);\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface);\n text-decoration: none;\n transition: background-color 0.15s ease-in-out;\n }\n\n .fs-page-link:hover {\n background-color: var(--fs-color-subtle);\n }\n\n .fs-page-link:focus-visible {\n @include focus-ring;\n }\n\n .fs-page-item.is-active .fs-page-link {\n color: var(--fs-color-on-primary);\n background-color: var(--fs-color-primary);\n border-color: var(--fs-color-primary);\n }\n\n .fs-page-item.is-disabled .fs-page-link {\n color: var(--fs-color-muted);\n opacity: 0.6;\n pointer-events: none;\n }\n\n // Bordered: itens colados (sem gap), borda contínua fundida (técnica do\n // Input Group — margin negativo + z-index no item ativo/hover), cantos\n // arredondados só nas pontas.\n .fs-pagination-bordered {\n gap: 0;\n }\n\n .fs-pagination-bordered .fs-page-link {\n border-radius: 0;\n }\n\n .fs-pagination-bordered .fs-page-item:not(:first-child) .fs-page-link {\n margin-left: -1px;\n }\n\n .fs-pagination-bordered .fs-page-item:first-child .fs-page-link {\n border-top-left-radius: var(--fs-radius-sm);\n border-bottom-left-radius: var(--fs-radius-sm);\n }\n\n .fs-pagination-bordered .fs-page-item:last-child .fs-page-link {\n border-top-right-radius: var(--fs-radius-sm);\n border-bottom-right-radius: var(--fs-radius-sm);\n }\n\n .fs-pagination-bordered .fs-page-link:hover,\n .fs-pagination-bordered .fs-page-item.is-active .fs-page-link {\n position: relative;\n z-index: 1;\n }\n\n // Compacta / grande — mesma escala sm/lg dos outros componentes.\n .fs-pagination-sm .fs-page-link {\n min-width: 26px;\n height: 26px;\n padding: 0 6px;\n font-size: $font-size-xs;\n }\n\n .fs-pagination-lg .fs-page-link {\n min-width: 40px;\n height: 40px;\n padding: 0 12px;\n font-size: $font-size-md;\n }\n\n // Prev/next descritivo: item com ícone + texto (\"Anterior\"/\"Próxima\") em\n // vez de só \"«\"/\"»\" — `.fs-page-link` já acomoda largura variável\n // (min-width é piso, não teto); só falta o espaçamento entre ícone e texto.\n .fs-page-link-text {\n gap: 6px;\n padding: 0 14px;\n }\n}\n","@use \"../../../fokus-core/scss/settings\" as *;\n@use \"../../../fokus-core/scss/tools\" as *;\n\n@layer components {\n .fs-breadcrumb {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: 4px;\n margin: 0;\n padding: 0;\n list-style: none;\n font-size: $font-size-sm;\n }\n\n .fs-breadcrumb-item {\n display: flex;\n align-items: center;\n gap: 4px;\n color: var(--fs-color-muted);\n }\n\n .fs-breadcrumb-item + .fs-breadcrumb-item::before {\n color: var(--fs-color-muted);\n content: \"/\";\n }\n\n .fs-breadcrumb-item a {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n color: var(--fs-alert-primary-text);\n text-decoration: none;\n }\n\n .fs-breadcrumb-item a:hover {\n text-decoration: underline;\n }\n\n .fs-breadcrumb-item.is-active {\n color: var(--fs-color-text);\n }\n\n // Breadcrumb avançado (js/breadcrumb.js): trunca labels longos com reticências\n // (tooltip com o texto completo é anexado via js/tooltip.js só quando o texto\n // realmente transborda) e, em telas pequenas, recolhe os níveis\n // intermediários num único item \"…\" que abre um dropdown (js/dropdown.js)\n // com os links ocultos.\n .fs-breadcrumb-item-truncate {\n display: inline-block;\n max-width: 160px;\n vertical-align: bottom;\n\n @include truncate;\n }\n\n .fs-breadcrumb-more {\n padding: 0;\n border: none;\n color: var(--fs-color-muted);\n background-color: var(--fs-color-surface-raised);\n font-size: inherit;\n font-family: inherit;\n line-height: inherit;\n cursor: pointer;\n }\n\n .fs-breadcrumb-more:hover {\n color: var(--fs-color-text);\n }\n}\n","@use \"../../../fokus-core/scss/settings\" as *;\n@use \"../../../fokus-core/scss/tools\" as *;\n\n// Spinner giratório: trilho discreto + segmento ativo. A cor herda de\n// `currentColor`, permitindo usar as variantes semânticas ou utilitários de\n// cor de texto.\n\n@layer components {\n .fs-spinner {\n --fs-spinner-size: 20px;\n --fs-spinner-stroke: 2px;\n --fs-spinner-duration: 0.8s;\n\n display: inline-block;\n box-sizing: border-box;\n width: var(--fs-spinner-size);\n height: var(--fs-spinner-size);\n vertical-align: middle;\n border: var(--fs-spinner-stroke) solid color-mix(in srgb, currentcolor 20%, transparent);\n border-top-color: currentcolor;\n border-radius: 50%;\n animation: fokus-spin var(--fs-spinner-duration) linear infinite;\n will-change: transform;\n }\n\n .fs-spinner-sm {\n --fs-spinner-size: 14px;\n --fs-spinner-stroke: 2px;\n }\n\n .fs-spinner-lg {\n --fs-spinner-size: 32px;\n --fs-spinner-stroke: 3px;\n }\n\n @each $name, $color in $theme-colors {\n .fs-spinner-#{$name} {\n color: var(--fs-color-#{$name});\n }\n }\n\n @keyframes fokus-spin {\n to {\n transform: rotate(360deg);\n }\n }\n\n // Barra de progresso linear. A largura do `.fs-progress-bar` é controlada por\n // `--fs-progress-value` (0–100) ou diretamente por `style=\"width\"`.\n .fs-progress {\n --fs-progress-height: 8px;\n --fs-progress-track: var(--fs-color-subtle);\n --fs-progress-radius: 0;\n\n position: relative;\n display: flex;\n height: var(--fs-progress-height);\n overflow: hidden;\n background-color: var(--fs-progress-track);\n border-radius: var(--fs-progress-radius);\n }\n\n .fs-progress-bar {\n --fs-progress-bar-bg: var(--fs-color-primary);\n --fs-progress-color: var(--fs-color-on-primary);\n\n display: flex;\n align-items: center;\n justify-content: center;\n width: calc(var(--fs-progress-value, 0) * 1%);\n height: 100%;\n min-width: 0;\n overflow: hidden;\n color: var(--fs-progress-color);\n background-color: var(--fs-progress-bar-bg);\n font-size: 0;\n line-height: 1;\n text-overflow: ellipsis;\n white-space: nowrap;\n transition: width 0.25s ease-out;\n }\n\n @each $name, $color in $theme-colors {\n .fs-progress-bar-#{$name} {\n --fs-progress-bar-bg: var(--fs-color-#{$name});\n --fs-progress-color: #{color-contrast($color)};\n }\n }\n\n .fs-progress-sm {\n --fs-progress-height: 4px;\n }\n\n .fs-progress-lg {\n --fs-progress-height: 16px;\n }\n\n .fs-progress-lg .fs-progress-bar {\n padding-inline: 6px;\n font-size: $font-size-xs;\n }\n\n // Cabeçalho externo: preserva o valor legível sem comprimir texto dentro de\n // barras compactas.\n .fs-progress-meta {\n display: flex;\n align-items: baseline;\n justify-content: space-between;\n gap: 12px;\n max-width: 480px;\n margin-bottom: 6px;\n color: var(--fs-color-text);\n font-size: $font-size-sm;\n }\n\n .fs-progress-value {\n color: var(--fs-color-muted);\n font-variant-numeric: tabular-nums;\n }\n\n // Processo sem percentual conhecido: um preenchimento curto atravessa o\n // trilho. Não combine com aria-valuenow, pois o valor é indeterminado.\n .fs-progress-indeterminate .fs-progress-bar {\n width: 36%;\n animation: fokus-progress-indeterminate 1.25s ease-in-out infinite;\n }\n\n .fs-progress-indeterminate {\n --fs-progress-track: color-mix(in srgb, var(--fs-color-primary) 18%, transparent);\n }\n\n @keyframes fokus-progress-indeterminate {\n from {\n transform: translateX(-110%);\n }\n\n to {\n transform: translateX(290%);\n }\n }\n\n // Estados semânticos para operações finalizadas ou interrompidas.\n .fs-progress-complete .fs-progress-bar {\n --fs-progress-bar-bg: var(--fs-color-success);\n --fs-progress-color: #{color-contrast($fokus-color-success)};\n }\n\n .fs-progress-error .fs-progress-bar {\n --fs-progress-bar-bg: var(--fs-color-danger);\n --fs-progress-color: #{color-contrast($fokus-color-danger)};\n }\n\n .fs-progress-status {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n margin-top: 6px;\n color: var(--fs-color-muted);\n font-size: $font-size-sm;\n }\n\n .fs-progress-status-icon {\n display: inline-grid;\n width: 14px;\n height: 14px;\n place-items: center;\n color: var(--fs-alert-success-text);\n }\n\n .fs-progress-status-icon .fs-icon {\n width: 14px;\n height: 14px;\n stroke: currentcolor;\n }\n\n .fs-progress-status-danger,\n .fs-progress-error + .fs-progress-status {\n color: var(--fs-alert-danger-text);\n }\n\n // Marca uma meta/SLA no trilho. O valor usa a mesma escala percentual da\n // barra e deve ser acompanhado por texto fora do componente.\n .fs-progress-marker {\n position: absolute;\n z-index: 1;\n top: 0;\n bottom: 0;\n left: calc(var(--fs-progress-marker-value) * 1%);\n width: 2px;\n background-color: var(--fs-color-text);\n pointer-events: none;\n transform: translateX(-1px);\n }\n\n // Mantém progresso inicial perceptível sem alterar aria-valuenow. Use\n // apenas quando o valor real já for maior que zero.\n .fs-progress-minimum .fs-progress-bar {\n width: max(calc(var(--fs-progress-value, 0) * 1%), 4px);\n }\n\n // Faixas diagonais opcionais, animáveis com `.fs-progress-bar-animated`.\n .fs-progress-bar-striped {\n background-image: linear-gradient(\n 45deg,\n color-mix(in srgb, currentcolor 16%, transparent) 25%,\n transparent 25%,\n transparent 50%,\n color-mix(in srgb, currentcolor 16%, transparent) 50%,\n color-mix(in srgb, currentcolor 16%, transparent) 75%,\n transparent 75%,\n transparent\n );\n background-size: 16px 16px;\n }\n\n .fs-progress-bar-animated {\n animation: fokus-progress-stripes 1s linear infinite;\n }\n\n @keyframes fokus-progress-stripes {\n from {\n background-position: 16px 0;\n }\n\n to {\n background-position: 0 0;\n }\n }\n\n @media (prefers-reduced-motion: reduce) {\n .fs-spinner {\n --fs-spinner-duration: 1.5s;\n }\n\n .fs-progress-bar-animated {\n animation-duration: 1.5s;\n }\n\n .fs-progress-indeterminate .fs-progress-bar {\n animation-duration: 1.8s;\n }\n }\n}\n","@use \"../../../fokus-core/scss/settings\" as *;\n@use \"../../../fokus-core/scss/tools\" as *;\n@use \"sass:map\";\n\n@layer components {\n .fs-carousel {\n --fs-carousel-radius: var(--fs-radius-md);\n --fs-carousel-transition-duration: var(--fs-transition-normal);\n --fs-carousel-transition-easing: var(--fs-ease-standard);\n --fs-carousel-control-size: 44px;\n --fs-carousel-control-inset: var(--fs-space-2);\n --fs-carousel-control-gap: var(--fs-space-1);\n --fs-carousel-control-color: var(--fs-color-white);\n --fs-carousel-control-paused-color: var(--fs-color-warning);\n --fs-carousel-control-bg: rgb(15 23 42 / 72%);\n --fs-carousel-control-bg-hover: rgb(15 23 42 / 88%);\n --fs-carousel-focus-color: var(--fs-color-white);\n --fs-carousel-indicator-size: 8px;\n --fs-carousel-indicator-active-width: 24px;\n --fs-carousel-indicator-color: rgb(255 255 255 / 62%);\n --fs-carousel-indicator-active-color: var(--fs-color-white);\n --fs-carousel-caption-scrim: rgb(15 23 42 / 78%);\n --fs-carousel-top-safe-area: calc(var(--fs-carousel-control-size) + (var(--fs-carousel-control-inset) * 2));\n --fs-carousel-bottom-safe-area: calc(32px + var(--fs-space-2) + 24px);\n --fs-carousel-progress-height: 3px;\n\n position: relative;\n overflow: hidden;\n border-radius: var(--fs-carousel-radius);\n }\n\n .fs-carousel::before {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n height: calc(var(--fs-carousel-control-size) + (var(--fs-carousel-control-inset) * 2));\n pointer-events: none;\n content: \"\";\n background: linear-gradient(to bottom, rgb(15 23 42 / 76%), rgb(15 23 42 / 32%));\n opacity: 0;\n transition: opacity var(--fs-transition-fast) var(--fs-ease-standard);\n }\n\n .fs-carousel-inner {\n display: flex;\n transition: transform var(--fs-carousel-transition-duration) var(--fs-carousel-transition-easing);\n }\n\n .fs-carousel-item {\n position: relative;\n flex: 0 0 100%;\n width: 100%;\n }\n\n .fs-carousel-item img {\n display: block;\n width: 100%;\n }\n\n .fs-carousel.is-dragging .fs-carousel-inner {\n cursor: grabbing;\n transition: none;\n user-select: none;\n }\n\n .fs-carousel:not(.is-static) .fs-carousel-inner {\n cursor: grab;\n touch-action: pan-y;\n }\n\n .fs-carousel-fade .fs-carousel-inner {\n display: block;\n transform: none;\n }\n\n .fs-carousel-fade .fs-carousel-item {\n position: absolute;\n inset: 0;\n opacity: 0;\n transition: opacity var(--fs-carousel-transition-duration) var(--fs-carousel-transition-easing);\n }\n\n .fs-carousel-fade .fs-carousel-item.is-active {\n position: relative;\n opacity: 1;\n }\n\n .fs-carousel-control-prev,\n .fs-carousel-control-next,\n .fs-carousel-control-toggle {\n position: absolute;\n top: var(--fs-carousel-control-inset);\n z-index: 2;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--fs-carousel-control-size);\n height: var(--fs-carousel-control-size);\n padding: 0;\n color: var(--fs-carousel-control-color);\n background-color: transparent;\n background-repeat: no-repeat;\n background-position: center;\n background-size: 18px 18px;\n border: 0;\n border-radius: 0;\n cursor: pointer;\n opacity: 0;\n transition: background-color var(--fs-transition-fast) var(--fs-ease-standard),\n opacity var(--fs-transition-fast) var(--fs-ease-standard),\n transform var(--fs-transition-fast) var(--fs-ease-standard);\n }\n\n .fs-carousel-control-prev,\n .fs-carousel-control-next {\n transform: none;\n }\n\n .fs-carousel-control-prev {\n left: var(--fs-carousel-control-inset);\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 4 6 9l5 5'/%3E%3C/svg%3E\");\n }\n\n .fs-carousel-control-next {\n left: calc(var(--fs-carousel-control-inset) + var(--fs-carousel-control-size) + var(--fs-carousel-control-gap));\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 4 5 5-5 5'/%3E%3C/svg%3E\");\n }\n\n .fs-carousel-control-toggle {\n left: calc(var(--fs-carousel-control-inset) + var(--fs-carousel-control-size) + var(--fs-carousel-control-gap));\n }\n\n .fs-carousel:has(.fs-carousel-control-toggle) .fs-carousel-control-next {\n left: calc(var(--fs-carousel-control-inset) + ((var(--fs-carousel-control-size) + var(--fs-carousel-control-gap)) * 2));\n }\n\n .fs-carousel-control-toggle[aria-pressed=\"true\"] {\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M7 5v8M11 5v8'/%3E%3C/svg%3E\");\n }\n\n .fs-carousel-control-toggle[aria-pressed=\"false\"] {\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='%23ffffff'%3E%3Cpath d='m7 4 7 5-7 5z'/%3E%3C/svg%3E\");\n }\n\n .fs-carousel.is-autoplay-paused .fs-carousel-control-toggle[aria-pressed=\"true\"] {\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='%23f0b40e' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M7 5v8M11 5v8'/%3E%3C/svg%3E\");\n }\n\n .fs-carousel.is-autoplay-paused .fs-carousel-control-toggle[aria-pressed=\"false\"] {\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='%23f0b40e'%3E%3Cpath d='m7 4 7 5-7 5z'/%3E%3C/svg%3E\");\n }\n\n .fs-carousel-control-prev:hover,\n .fs-carousel-control-next:hover,\n .fs-carousel-control-toggle:hover {\n background-color: var(--fs-carousel-control-bg-hover);\n }\n\n .fs-carousel-control-prev:active,\n .fs-carousel-control-next:active,\n .fs-carousel-control-toggle:active {\n transform: scale(0.94);\n }\n\n .fs-carousel-control-prev:focus-visible,\n .fs-carousel-control-next:focus-visible,\n .fs-carousel-control-toggle:focus-visible,\n .fs-carousel-indicators button:focus-visible {\n @include focus-ring(var(--fs-carousel-focus-color));\n }\n\n .fs-carousel:hover .fs-carousel-control-prev,\n .fs-carousel:hover .fs-carousel-control-next,\n .fs-carousel:hover .fs-carousel-control-toggle,\n .fs-carousel:focus-within .fs-carousel-control-prev,\n .fs-carousel:focus-within .fs-carousel-control-next,\n .fs-carousel:focus-within .fs-carousel-control-toggle {\n opacity: 1;\n }\n\n .fs-carousel:hover::before,\n .fs-carousel:focus-within::before {\n opacity: 1;\n }\n\n .fs-carousel-indicators {\n position: absolute;\n right: 0;\n bottom: var(--fs-space-2);\n left: 0;\n z-index: 1;\n display: flex;\n justify-content: center;\n gap: 0;\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n .fs-carousel-indicators button {\n position: relative;\n display: grid;\n width: 28px;\n height: 32px;\n padding: 0;\n place-items: center;\n background: transparent;\n border: 0;\n cursor: pointer;\n }\n\n .fs-carousel-indicators button::before {\n width: var(--fs-carousel-indicator-size);\n height: var(--fs-carousel-indicator-size);\n content: \"\";\n background-color: var(--fs-carousel-indicator-color);\n border-radius: var(--fs-radius-lg);\n transition: width var(--fs-transition-fast) var(--fs-ease-standard),\n background-color var(--fs-transition-fast) var(--fs-ease-standard);\n }\n\n .fs-carousel-indicators button.is-active::before {\n width: var(--fs-carousel-indicator-active-width);\n background-color: var(--fs-carousel-indicator-active-color);\n }\n\n .fs-carousel-caption {\n position: absolute;\n right: 0;\n bottom: var(--fs-carousel-bottom-safe-area);\n left: 0;\n z-index: 1;\n box-sizing: border-box;\n max-width: min(100%, 42rem);\n max-block-size: calc(100% - var(--fs-carousel-top-safe-area) - var(--fs-carousel-bottom-safe-area));\n isolation: isolate;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: var(--fs-space-2);\n padding: calc(var(--fs-space-4) + 20px) var(--fs-space-4) var(--fs-space-3);\n color: var(--fs-color-white);\n }\n\n .fs-carousel-caption::before {\n position: absolute;\n top: 0;\n right: 0;\n bottom: calc(var(--fs-carousel-bottom-safe-area) * -1);\n left: 0;\n z-index: -1;\n content: \"\";\n background: linear-gradient(to top, var(--fs-carousel-caption-scrim), transparent);\n }\n\n .fs-carousel-caption > * {\n margin: 0;\n }\n\n .fs-carousel-caption .fs-btn {\n --fs-btn-color: var(--fs-color-text-primary);\n --fs-btn-bg: var(--fs-color-white);\n --fs-btn-border-color: var(--fs-color-white);\n --fs-btn-hover-bg: var(--fs-color-subtle);\n --fs-btn-active-bg: var(--fs-color-border-default);\n }\n\n .fs-carousel-caption-side .fs-carousel-caption {\n top: var(--fs-carousel-top-safe-area);\n right: 0;\n bottom: 0;\n left: auto;\n width: min(42%, 28rem);\n max-width: none;\n max-block-size: none;\n padding: var(--fs-space-4) var(--fs-space-4)\n calc(var(--fs-carousel-bottom-safe-area) + var(--fs-space-2));\n background: rgb(15 23 42 / 84%);\n }\n\n // A legenda lateral fica à direita por padrão. Esta variação permite\n // preservar o assunto principal da imagem quando ele estiver à direita.\n .fs-carousel-caption-side .fs-carousel-caption-start {\n right: auto;\n left: 0;\n }\n\n .fs-carousel-caption-side .fs-carousel-caption::before,\n .fs-carousel-caption-stacked .fs-carousel-caption::before {\n display: none;\n }\n\n .fs-carousel-caption-stacked {\n --fs-carousel-bottom-safe-area: 0px;\n }\n\n .fs-carousel-caption-stacked .fs-carousel-caption {\n position: static;\n max-width: none;\n max-block-size: none;\n overflow: visible;\n padding: var(--fs-space-4);\n color: var(--fs-color-text-primary);\n background: var(--fs-color-bg-surface);\n }\n\n .fs-carousel-caption-stacked .fs-carousel-indicators {\n position: relative;\n bottom: auto;\n background: var(--fs-color-bg-surface);\n }\n\n .fs-carousel-counter {\n position: absolute;\n right: var(--fs-space-3);\n bottom: var(--fs-space-2);\n z-index: 2;\n color: var(--fs-color-white);\n font-size: $font-size-sm;\n font-variant-numeric: tabular-nums;\n }\n\n .fs-carousel-progress {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 2;\n height: var(--fs-carousel-progress-height);\n overflow: hidden;\n background-color: rgb(255 255 255 / 24%);\n }\n\n .fs-carousel-progress > span {\n display: block;\n width: 100%;\n height: 100%;\n background-color: var(--fs-color-white);\n transform: scaleX(0);\n transform-origin: left;\n }\n\n .fs-carousel-progress.is-running > span {\n animation: fs-carousel-progress var(--fs-carousel-progress-duration, 5000ms) linear forwards;\n }\n\n .fs-carousel.is-two-slides.fs-carousel-hide-indicators-two .fs-carousel-indicators {\n display: none;\n }\n\n .fs-carousel-no-media .fs-carousel-item {\n min-block-size: 15rem;\n background-color: var(--fs-color-bg-surface);\n border: var(--fs-border-width) solid var(--fs-color-border-default);\n }\n\n .fs-carousel-no-media .fs-carousel-counter {\n color: var(--fs-color-text-muted);\n }\n\n .fs-carousel-no-media .fs-carousel-progress {\n background-color: var(--fs-color-border-default);\n }\n\n .fs-carousel-no-media .fs-carousel-progress > span {\n background-color: var(--fs-color-action-primary);\n }\n\n .fs-carousel-media-placeholder {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n min-height: inherit;\n padding: calc(var(--fs-carousel-top-safe-area) + var(--fs-space-4)) var(--fs-space-4)\n calc(var(--fs-carousel-bottom-safe-area) + var(--fs-space-4));\n }\n\n .fs-carousel-media-placeholder > * {\n max-width: 36rem;\n margin: 0;\n }\n\n .fs-carousel-media-placeholder > * + * {\n margin-top: var(--fs-space-2);\n }\n\n .fs-carousel-media {\n min-block-size: 18rem;\n background-position: center;\n background-size: cover;\n }\n\n .fs-carousel.is-static .fs-carousel-control-prev,\n .fs-carousel.is-static .fs-carousel-control-next,\n .fs-carousel.is-static .fs-carousel-control-toggle,\n .fs-carousel.is-static .fs-carousel-indicators {\n display: none;\n }\n\n @media (max-width: map.get($breakpoints, sm) - 1px) {\n .fs-carousel {\n --fs-carousel-control-inset: var(--fs-space-1);\n }\n\n .fs-carousel-caption {\n padding: calc(var(--fs-space-3) + 20px) var(--fs-space-3) var(--fs-space-3);\n }\n\n .fs-carousel-caption-side .fs-carousel-caption {\n top: auto;\n bottom: var(--fs-carousel-bottom-safe-area);\n width: auto;\n max-block-size: calc(100% - var(--fs-carousel-top-safe-area) - var(--fs-carousel-bottom-safe-area));\n overflow: clip;\n align-items: flex-end;\n padding: calc(var(--fs-space-3) + 20px) var(--fs-space-3)\n calc(var(--fs-carousel-bottom-safe-area) + var(--fs-space-2));\n text-align: end;\n background: transparent;\n }\n\n .fs-carousel-caption-side .fs-carousel-caption-start {\n right: 0;\n left: 0;\n align-items: flex-start;\n text-align: start;\n }\n\n .fs-carousel-caption-side .fs-carousel-item::after {\n position: absolute;\n inset: 0;\n z-index: 0;\n pointer-events: none;\n content: \"\";\n background: linear-gradient(\n to top,\n var(--fs-carousel-caption-scrim) 0%,\n rgb(15 23 42 / 52%) 56%,\n transparent 100%\n );\n }\n }\n\n @media (prefers-reduced-motion: reduce) {\n .fs-carousel-inner,\n .fs-carousel-fade .fs-carousel-item,\n .fs-carousel-control-prev,\n .fs-carousel-control-next,\n .fs-carousel-control-toggle,\n .fs-carousel-indicators button::before,\n .fs-carousel-progress.is-running > span {\n transition: none;\n animation: none;\n transform: scaleX(1);\n }\n }\n\n @keyframes fs-carousel-progress {\n to {\n transform: scaleX(1);\n }\n }\n}\n","@use \"../../../fokus-core/scss/settings\" as *;\n@use \"../../../fokus-core/scss/tools\" as *;\n\n// Stepper / Wizard. Cabeçalho com os passos (`.fs-step`) e, opcionalmente, painéis\n// de conteúdo (`.fs-step-panel`) e ações de navegação (`.fs-stepper-actions`).\n// Estados por passo: padrão (pendente), `.fs-step-active`, `.fs-step-completed`,\n// `.fs-step-error` — controlados por `js/stepper.js`.\n\n@layer components {\n .fs-stepper-header {\n display: flex;\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n .fs-step {\n position: relative;\n display: flex;\n flex: 1 1 0;\n flex-direction: column;\n align-items: center;\n gap: 8px;\n text-align: center;\n }\n\n .fs-step-indicator {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n color: var(--fs-color-muted);\n background-color: var(--fs-color-surface);\n border: 2px solid var(--fs-color-border);\n border-radius: 50%;\n font-size: $font-size-sm;\n font-weight: $font-weight-medium;\n }\n\n .fs-step-label {\n color: var(--fs-color-muted);\n font-size: $font-size-sm;\n font-weight: $font-weight-medium;\n }\n\n .fs-step-description {\n color: var(--fs-color-muted);\n font-size: $font-size-xs;\n }\n\n // Conector entre passos: linha do centro deste passo ao centro do próximo.\n .fs-step:not(:last-child)::after {\n content: \"\";\n position: absolute;\n top: 15px;\n left: calc(50% + 20px);\n width: calc(100% - 40px);\n height: 2px;\n background-color: var(--fs-color-border);\n }\n\n // Passo ativo.\n .fs-step-active .fs-step-indicator {\n color: var(--fs-color-on-primary);\n background-color: var(--fs-color-primary);\n border-color: var(--fs-color-primary);\n }\n\n .fs-step-active .fs-step-label {\n color: var(--fs-color-text);\n }\n\n // Passo concluído: círculo preenchido com um \"check\" no lugar do número, e o\n // conector à direita fica na cor primária (indica progresso).\n .fs-step-completed .fs-step-indicator {\n color: transparent;\n background-color: var(--fs-color-primary);\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 8.5 6.5 12 13 4'/%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n background-position: center;\n border-color: var(--fs-color-primary);\n }\n\n .fs-step-completed .fs-step-label {\n color: var(--fs-color-text);\n }\n\n // `:not(:last-child)` casa a especificidade da regra base do conector\n // (senão o cinza dela venceria e o progresso não apareceria).\n .fs-step-completed:not(:last-child)::after {\n background-color: var(--fs-color-primary);\n }\n\n // Passo em erro.\n .fs-step-error .fs-step-indicator {\n color: color-contrast($fokus-color-danger);\n background-color: var(--fs-color-danger);\n border-color: var(--fs-color-danger);\n }\n\n .fs-step-error .fs-step-label {\n color: var(--fs-alert-danger-text);\n }\n\n // Passo clicável (navegação para trás via cabeçalho).\n .fs-step.fs-step-clickable {\n cursor: pointer;\n }\n\n .fs-step.fs-step-clickable:focus-visible {\n outline: 2px solid var(--fs-color-primary);\n outline-offset: 2px;\n border-radius: var(--fs-radius-sm);\n }\n\n // Variante vertical.\n .fs-stepper-vertical .fs-stepper-header {\n flex-direction: column;\n }\n\n .fs-stepper-vertical .fs-step {\n flex-direction: row;\n flex: 0 0 auto;\n align-items: flex-start;\n gap: 12px;\n min-height: 56px;\n text-align: left;\n }\n\n .fs-stepper-vertical .fs-step-content {\n display: flex;\n flex-direction: column;\n gap: 2px;\n padding-top: 5px;\n }\n\n .fs-stepper-vertical .fs-step:not(:last-child)::after {\n top: 34px;\n left: 15px;\n width: 2px;\n height: calc(100% - 22px);\n }\n\n // Painéis de conteúdo (wizard) e ações de navegação.\n .fs-step-panel {\n display: none;\n }\n\n .fs-step-panel.is-active {\n display: block;\n }\n\n .fs-stepper-content {\n margin-top: 20px;\n }\n\n .fs-stepper-actions {\n display: flex;\n justify-content: space-between;\n gap: 8px;\n margin-top: 20px;\n }\n}\n","@use \"../../../fokus-core/scss/settings\" as *;\n@use \"../../../fokus-core/scss/tools\" as *;\n\n// Grupo de botões com estado selecionado. Modo exclusivo: `<input\n// type=\"radio\">` (mesmo `name` em todos os itens). Modo inclusivo: `<input\n// type=\"checkbox\">`, cada item seleciona/deseleciona de forma independente.\n// O input fica visualmente oculto (mesma técnica de `.fs-file-input`,\n// scss/forms/_forms.scss) e o `<label>` irmão recebe o estilo.\n\n@layer components {\n .fs-segmented-control {\n display: inline-flex;\n border: 1px solid var(--fs-color-border);\n border-radius: var(--fs-radius-sm);\n overflow: hidden;\n }\n\n .fs-segmented-item {\n display: flex;\n }\n\n .fs-segmented-item:not(:first-child) .fs-segmented-label {\n border-left: 1px solid var(--fs-color-border);\n }\n\n .fs-segmented-input {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip-path: inset(50%);\n white-space: nowrap;\n border: 0;\n }\n\n .fs-segmented-label {\n display: inline-flex;\n flex: 1;\n align-items: center;\n justify-content: center;\n min-height: 38px;\n padding: 0 12px;\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface);\n font-size: $font-size-md;\n font-weight: $font-weight-medium;\n text-align: center;\n white-space: nowrap;\n cursor: pointer;\n user-select: none;\n transition: background-color 0.15s ease-in-out, color 0.15s ease-in-out;\n }\n\n .fs-segmented-label:hover {\n background-color: var(--fs-color-subtle);\n }\n\n .fs-segmented-input:checked + .fs-segmented-label {\n color: var(--fs-color-on-primary);\n background-color: var(--fs-color-primary);\n }\n\n .fs-segmented-input:focus-visible + .fs-segmented-label {\n position: relative;\n z-index: 1;\n\n @include focus-ring;\n }\n\n .fs-segmented-input:disabled + .fs-segmented-label {\n opacity: 0.4;\n pointer-events: none;\n }\n\n .fs-segmented-control-sm .fs-segmented-label {\n min-height: 30px;\n padding: 0 8px;\n font-size: $font-size-sm;\n }\n\n .fs-segmented-control-lg .fs-segmented-label {\n min-height: 46px;\n padding: 0 16px;\n font-size: $font-size-lg;\n }\n}\n","@use \"../../../fokus-core/scss/settings\" as *;\n\n// Placeholder de carregamento. Tamanho/forma controlados por largura/altura\n// inline (`style=\"width: ...; height: ...\"`) ou pelas variantes abaixo —\n// mesma abordagem de `.fs-progress-bar` (scss/components/_spinner.scss), que já\n// usa `style=\"width\"` em vez de classes de tamanho fixas.\n\n@layer components {\n .fs-skeleton {\n display: block;\n background-color: var(--fs-color-subtle);\n border-radius: var(--fs-radius-sm);\n animation: fokus-skeleton-pulse 1.5s ease-in-out infinite;\n }\n\n .fs-skeleton-text {\n width: 100%;\n height: 1em;\n }\n\n .fs-skeleton-text:not(:last-child) {\n margin-bottom: 0.5em;\n }\n\n .fs-skeleton-text:last-child {\n width: 80%;\n }\n\n .fs-skeleton-circle {\n flex-shrink: 0;\n border-radius: 50%;\n }\n\n .fs-skeleton-rect {\n border-radius: var(--fs-radius-md);\n }\n\n @keyframes fokus-skeleton-pulse {\n 0%,\n 100% {\n opacity: 1;\n }\n\n 50% {\n opacity: 0.5;\n }\n }\n\n // Variante \"wave\": em vez de pulsar a opacidade inteira, varre um brilho da\n // esquerda pra direita — precisa de `overflow: hidden` porque o brilho é um\n // pseudo-elemento maior que o próprio skeleton, deslocado por `translateX`.\n .fs-skeleton-wave {\n position: relative;\n overflow: hidden;\n animation: none;\n }\n\n .fs-skeleton-wave::after {\n position: absolute;\n inset: 0;\n content: \"\";\n background-image: linear-gradient(90deg, transparent, rgb(255 255 255 / 30%), transparent);\n transform: translateX(-100%);\n animation: fokus-skeleton-wave 1.6s linear infinite;\n }\n\n @keyframes fokus-skeleton-wave {\n 100% {\n transform: translateX(100%);\n }\n }\n\n @media (prefers-reduced-motion: reduce) {\n .fs-skeleton {\n animation: none;\n }\n\n .fs-skeleton-wave::after {\n animation: none;\n }\n }\n}\n","@use \"../../../fokus-core/scss/settings\" as *;\n\n// Linha do tempo, 100% CSS. Vertical por padrão (`.fs-timeline`); variante\n// `.fs-timeline-horizontal` inverte o eixo. Estados por item (`.fs-timeline-item`):\n// padrão (pendente), `.fs-timeline-active`, `.fs-timeline-completed`,\n// `.fs-timeline-failed` — mesma lógica de conector do Stepper\n// (scss/components/_stepper.scss): a linha entre marcadores fica na cor do\n// item concluído para indicar progresso.\n\n@layer components {\n .fs-timeline {\n display: flex;\n flex-direction: column;\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n .fs-timeline-item {\n position: relative;\n display: flex;\n gap: 12px;\n padding-bottom: 24px;\n }\n\n .fs-timeline-item:last-child {\n padding-bottom: 0;\n }\n\n .fs-timeline-marker {\n flex-shrink: 0;\n width: 16px;\n height: 16px;\n margin-top: 3px;\n background-color: var(--fs-color-surface);\n background-repeat: no-repeat;\n background-position: center;\n border: 2px solid var(--fs-color-border);\n border-radius: 50%;\n }\n\n .fs-timeline-item:not(:last-child)::before {\n content: \"\";\n position: absolute;\n top: 22px;\n left: 7px;\n width: 2px;\n height: calc(100% - 22px);\n background-color: var(--fs-color-border);\n }\n\n .fs-timeline-content {\n flex: 1;\n padding-top: 1px;\n }\n\n .fs-timeline-title {\n margin: 0;\n color: var(--fs-color-text);\n font-size: $font-size-md;\n font-weight: $font-weight-medium;\n }\n\n .fs-timeline-text {\n margin: 4px 0 0;\n color: var(--fs-color-muted);\n font-size: $font-size-sm;\n }\n\n .fs-timeline-time {\n display: block;\n margin-top: 2px;\n color: var(--fs-color-muted);\n font-size: $font-size-xs;\n }\n\n // Item ativo (em andamento).\n .fs-timeline-active .fs-timeline-marker {\n background-color: var(--fs-color-primary);\n border-color: var(--fs-color-primary);\n }\n\n // Item concluído: marcador preenchido com um \"check\" (mesmo ícone do\n // Stepper) e o conector seguinte fica na cor de sucesso (indica progresso).\n .fs-timeline-completed .fs-timeline-marker {\n background-color: var(--fs-color-success);\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' fill='none' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 5.5 4 8l4-6'/%3E%3C/svg%3E\");\n border-color: var(--fs-color-success);\n }\n\n .fs-timeline-completed:not(:last-child)::before {\n background-color: var(--fs-color-success);\n }\n\n // Item com falha.\n .fs-timeline-failed .fs-timeline-marker {\n background-color: var(--fs-color-danger);\n border-color: var(--fs-color-danger);\n }\n\n .fs-timeline-failed .fs-timeline-title {\n color: var(--fs-alert-danger-text);\n }\n\n // Variante horizontal: cada item vira uma coluna, marcador no topo e\n // conector correndo na horizontal entre os centros dos marcadores (mesma\n // técnica do `.fs-step` padrão em scss/components/_stepper.scss).\n .fs-timeline-horizontal {\n flex-direction: row;\n }\n\n .fs-timeline-horizontal .fs-timeline-item {\n flex: 1 1 0;\n flex-direction: column;\n align-items: center;\n gap: 8px;\n padding-bottom: 0;\n text-align: center;\n }\n\n // No modo horizontal o marcador não precisa do deslocamento vertical usado\n // para alinhar com a primeira linha de texto (margin-top no modo vertical);\n // zerá-lo faz o conector cair exatamente no centro do círculo.\n .fs-timeline-horizontal .fs-timeline-marker {\n margin-top: 0;\n }\n\n .fs-timeline-horizontal .fs-timeline-item:not(:last-child)::before {\n top: 7px;\n left: calc(50% + 15px);\n width: calc(100% - 30px);\n height: 2px;\n }\n\n .fs-timeline-horizontal .fs-timeline-content {\n padding-top: 0;\n }\n}\n","// Extraído do padrão já usado por `.fs-accordion-collapse`\n// (scss/components/_accordion.scss): o `overflow: hidden` é exigido pelo\n// `collapse()`/`expand()` de js/core/transition.js, que anima a propriedade\n// `height` do elemento.\n\n@layer components {\n .fs-collapse {\n overflow: hidden;\n }\n}\n","@use \"../../../fokus-core/scss/settings\" as *;\n@use \"../../../fokus-core/scss/tools\" as *;\n\n// Notification Center (Etapa 10): orquestra o Toast (scss/components/_toasts.scss)\n// e guarda um histórico. Os toasts em si reaproveitam `.fs-toast`/`.fs-toast-container`\n// sem estilo novo; aqui ficam só o contador de não-lidas no gatilho e o painel\n// de histórico. O comportamento (empilhar toasts, marcar lido, persistir) é do\n// js/notification-center.js (FokusStyles.NotificationCenter).\n\n// O gatilho estabelece o contexto de posicionamento do contador.\n\n@layer components {\n [data-fs=\"notification-center\"] {\n position: relative;\n }\n\n .fs-notification-badge {\n position: absolute;\n top: -6px;\n right: -6px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-width: 18px;\n height: 18px;\n padding: 0 5px;\n border-radius: 999px;\n color: color-contrast($fokus-color-danger);\n background-color: var(--fs-color-danger);\n font-size: 0.65rem;\n font-weight: $font-weight-medium;\n line-height: 1;\n }\n\n .fs-notification-badge[hidden] {\n display: none;\n }\n\n // Painel de histórico: reaproveita a mesma linguagem visual do Dropdown/Toast\n // (superfície + borda + sombra), posicionado via js/core/positioning.js.\n .fs-notification-center {\n position: absolute;\n display: none;\n flex-direction: column;\n width: min(320px, calc(100vw - 2 * var(--fs-space-3)));\n max-height: 420px;\n border: 1px solid var(--fs-color-border);\n border-radius: var(--fs-radius-md);\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface);\n box-shadow: var(--fs-shadow-md);\n z-index: var(--fs-z-notification);\n }\n\n .fs-notification-center.is-open {\n display: flex;\n }\n\n .fs-notification-center-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 10px 14px;\n border-bottom: 1px solid var(--fs-color-border);\n }\n\n .fs-notification-center-title {\n font-size: $font-size-sm;\n font-weight: $font-weight-medium;\n }\n\n .fs-notification-list {\n margin: 0;\n padding: 0;\n overflow-y: auto;\n list-style: none;\n }\n\n .fs-notification-item {\n display: flex;\n gap: 10px;\n align-items: flex-start;\n padding: 10px 14px;\n border-left: 3px solid transparent;\n border-bottom: 1px solid var(--fs-color-border);\n }\n\n .fs-notification-item:last-child {\n border-bottom: none;\n }\n\n .fs-notification-item-unread {\n background-color: var(--fs-color-subtle);\n }\n\n @each $name, $color in $theme-colors {\n .fs-notification-item-#{$name} {\n border-left-color: var(--fs-color-#{$name});\n }\n }\n\n .fs-notification-item-content {\n flex: 1;\n min-width: 0;\n }\n\n .fs-notification-item-title {\n margin: 0;\n font-size: $font-size-sm;\n font-weight: $font-weight-medium;\n }\n\n .fs-notification-item-text {\n margin: 2px 0 0;\n color: var(--fs-color-muted);\n font-size: $font-size-sm;\n }\n\n .fs-notification-item-time {\n display: block;\n margin-top: 4px;\n color: var(--fs-color-muted);\n font-size: $font-size-xs;\n }\n\n .fs-notification-item .fs-btn-close {\n flex-shrink: 0;\n width: 16px;\n height: 16px;\n }\n\n .fs-notification-empty {\n padding: 24px 14px;\n color: var(--fs-color-muted);\n font-size: $font-size-sm;\n text-align: center;\n }\n\n .fs-notification-empty[hidden] {\n display: none;\n }\n}\n","@use \"../../../fokus-core/scss/settings\" as *;\n\n// Nested Menu (Etapa 10): Dropdown com submenus recursivos. Reaproveita\n// `.fs-dropdown-menu`/`.fs-dropdown-item` (scss/components/_dropdown.scss) sem\n// reestilizar — só adiciona o posicionamento em cascata dos submenus e a seta\n// indicadora. Abertura por hover é 100% CSS; teclado/clique e o flip de borda\n// ficam no js/nested-menu.js (FokusStyles.NestedMenu), que adiciona `.is-open`.\n\n// Cada nível de submenu é envolto por `.fs-dropdown-submenu`, que serve de âncora\n// de posicionamento para o `.fs-dropdown-menu` filho.\n\n@layer components {\n .fs-dropdown-submenu {\n position: relative;\n }\n\n // Item que abre um submenu: seta apontando para o lado (em vez da seta pra\n // baixo do `.fs-dropdown-toggle`), empurrada para a direita do item.\n .fs-dropdown-item-submenu {\n justify-content: space-between;\n }\n\n .fs-dropdown-item-submenu::after {\n margin-left: 8px;\n content: \"\";\n border-top: 5px solid transparent;\n border-bottom: 5px solid transparent;\n border-left: 5px solid currentcolor;\n }\n\n // Submenu abre à direita do item, alinhado ao topo (compensa o padding + borda\n // do menu pai para os primeiros itens ficarem na mesma linha).\n .fs-dropdown-submenu > .fs-dropdown-menu {\n top: -7px;\n left: 100%;\n margin: 0;\n }\n\n .fs-dropdown-submenu:hover > .fs-dropdown-menu,\n .fs-dropdown-submenu > .fs-dropdown-menu.is-open {\n display: block;\n }\n\n // Sem espaço à direita: o JS marca `.fs-dropdown-submenu-left` e o submenu abre\n // para a esquerda.\n .fs-dropdown-submenu-left > .fs-dropdown-menu {\n right: 100%;\n left: auto;\n }\n}\n","@use \"../../../fokus-core/scss/settings\" as *;\n@use \"../../../fokus-core/scss/tools\" as *;\n\n// Tile: linha compacta ícone + título/subtítulo + ações, para listas de\n// opções/configurações/itens de navegação (sinergia com Notification Center\n// e Empty State — mesmo vocabulário visual de ícone+texto). Reusa `.fs-btn`\n// nas ações e `.fs-stretched-link` (_cards.scss) para a variante clicável\n// (tile inteiro age como link, sem precisar envolver tudo numa `<a>`).\n@layer components {\n .fs-tile {\n position: relative;\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 12px;\n border: 1px solid var(--fs-color-border);\n border-radius: var(--fs-radius-md);\n background-color: var(--fs-color-surface);\n }\n\n .fs-tile-icon {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n width: 40px;\n height: 40px;\n border-radius: var(--fs-radius-sm);\n color: var(--fs-color-text);\n background-color: var(--fs-color-subtle);\n font-size: $font-size-lg;\n }\n\n .fs-tile-body {\n flex: 1 1 auto;\n min-width: 0;\n }\n\n .fs-tile-title {\n margin: 0;\n color: var(--fs-color-text);\n font-size: $font-size-md;\n font-weight: $font-weight-medium;\n\n @include truncate;\n }\n\n .fs-tile-subtitle {\n margin: 0;\n color: var(--fs-color-muted);\n font-size: $font-size-sm;\n\n @include truncate;\n }\n\n .fs-tile-actions {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n gap: 8px;\n }\n\n // Ações embaixo: o tile quebra linha (flex-wrap) e `.fs-tile-actions` ocupa\n // a largura toda numa segunda linha, alinhada à direita — em vez do padrão\n // (ações à direita, na mesma linha do ícone/corpo).\n .fs-tile-actions-bottom {\n flex-wrap: wrap;\n }\n\n .fs-tile-actions-bottom .fs-tile-actions {\n flex-basis: 100%;\n justify-content: flex-end;\n margin-top: 4px;\n }\n\n // Tile inteiro clicável: usa `.fs-stretched-link` num link dentro do corpo\n // (mesma técnica do Card) — o hover/focus visual fica no `.fs-tile`.\n .fs-tile-clickable {\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n }\n\n .fs-tile-clickable:hover,\n .fs-tile-clickable:focus-within {\n border-color: var(--fs-color-primary);\n box-shadow: var(--fs-shadow-sm);\n }\n\n .fs-tile-sm {\n gap: 8px;\n padding: 8px;\n }\n\n .fs-tile-sm .fs-tile-icon {\n width: 32px;\n height: 32px;\n font-size: $font-size-md;\n }\n\n .fs-tile-sm .fs-tile-title {\n font-size: $font-size-sm;\n }\n\n .fs-tile-sm .fs-tile-subtitle {\n font-size: $font-size-xs;\n }\n\n .fs-tile-lg {\n gap: 16px;\n padding: 16px;\n }\n\n .fs-tile-lg .fs-tile-icon {\n width: 48px;\n height: 48px;\n font-size: $font-size-xl;\n }\n\n .fs-tile-lg .fs-tile-title {\n font-size: $font-size-lg;\n }\n}\n","@use \"../../../fokus-core/scss/settings\" as *;\n\n// Utilitários de container query — reagem à largura do container mais\n// próximo (`.fs-u-cq`), não da viewport. Complementam (não substituem) os\n// utilitários de display responsivos por viewport já existentes\n// (`_display.scss`); ver `docs/guides/layout-advanced.md`.\n@layer utilities {\n // Opt-in: aplique num elemento pai pra que os filhos possam reagir à\n // largura dele via os utilitários `.fs-u-cq-{sm,md,lg}-d-*` abaixo.\n .fs-u-cq {\n container-type: inline-size;\n }\n\n @each $name, $width in $container-breakpoints {\n @container (min-width: #{$width}) {\n .fs-u-cq-#{$name}-d-none {\n display: none;\n }\n\n .fs-u-cq-#{$name}-d-block {\n display: block;\n }\n\n .fs-u-cq-#{$name}-d-inline-block {\n display: inline-block;\n }\n\n .fs-u-cq-#{$name}-d-flex {\n display: flex;\n }\n }\n }\n}\n","@layer utilities {\n .fs-u-d-none {\n display: none;\n }\n\n .fs-u-d-block {\n display: block;\n }\n\n .fs-u-d-inline {\n display: inline;\n }\n\n .fs-u-d-inline-block {\n display: inline-block;\n }\n\n .fs-u-d-flex {\n display: flex;\n }\n}\n","@use \"../../../fokus-core/scss/settings\" as *;\n@use \"../../../fokus-core/scss/tools\" as *;\n\n@layer utilities {\n @each $breakpoint, $min in $breakpoints {\n $infix: breakpoint-infix($breakpoint);\n\n @include media-breakpoint-up($breakpoint) {\n .fs-u-align-items#{$infix}-start {\n align-items: flex-start;\n }\n\n .fs-u-align-items#{$infix}-center {\n align-items: center;\n }\n\n .fs-u-align-items#{$infix}-end {\n align-items: flex-end;\n }\n\n .fs-u-justify-content#{$infix}-start {\n justify-content: flex-start;\n }\n\n .fs-u-justify-content#{$infix}-center {\n justify-content: center;\n }\n\n .fs-u-justify-content#{$infix}-end {\n justify-content: flex-end;\n }\n\n .fs-u-justify-content#{$infix}-around {\n justify-content: space-around;\n }\n\n .fs-u-justify-content#{$infix}-between {\n justify-content: space-between;\n }\n\n .fs-u-align-self#{$infix}-start {\n align-self: flex-start;\n }\n\n .fs-u-align-self#{$infix}-center {\n align-self: center;\n }\n\n .fs-u-align-self#{$infix}-end {\n align-self: flex-end;\n }\n }\n }\n}\n","@use \"../../../fokus-core/scss/settings\" as *;\n\n// Estilo base pra ícones SVG inline — pensado pro pacote opcional\n// `fokus-styles/icons` (ver docs/guides/icons.md), mas funciona com qualquer SVG\n// que siga a mesma convenção (`stroke=\"currentColor\"`, sem width/height\n// fixos via CSS). Tamanho relativo ao texto ao redor (`1em`), não em px\n// fixo, pra acompanhar `.fs-u-fs-*`/headings sem precisar de uma classe de\n// tamanho por contexto.\n\n@layer utilities {\n .fs-icon {\n display: inline-block;\n flex-shrink: 0;\n width: 1em;\n height: 1em;\n vertical-align: -0.125em;\n stroke: currentcolor;\n }\n\n .fs-icon-xs {\n width: 12px;\n height: 12px;\n }\n\n .fs-icon-sm {\n width: 16px;\n height: 16px;\n }\n\n .fs-icon-lg {\n width: 32px;\n height: 32px;\n }\n\n .fs-icon-xl {\n width: 48px;\n height: 48px;\n }\n}\n","// z-index 1020: mesma faixa numérica usada pelos componentes de overlay\n// (dropdown 1000, modal/offcanvas 1050, popover 1070...) — fica acima de\n// conteúdo normal e do dropdown, abaixo de qualquer overlay modal.\n@layer utilities {\n .fs-u-sticky-top {\n position: sticky;\n top: var(--fs-sticky-top, 0);\n z-index: 1020;\n }\n\n .fs-u-sticky-bottom {\n position: sticky;\n bottom: var(--fs-sticky-bottom, 0);\n z-index: 1020;\n }\n}\n","@layer utilities {\n @media print {\n .fs-u-print-hide {\n display: none !important;\n }\n }\n\n @media not print {\n .fs-u-print-only {\n display: none !important;\n }\n }\n\n @media print {\n .fs-u-print-block {\n display: block !important;\n }\n\n .fs-u-print-inline {\n display: inline !important;\n }\n\n .fs-u-print-inline-block {\n display: inline-block !important;\n }\n }\n}\n","@layer utilities {\n .fs-u-shadow-sm {\n box-shadow: var(--fs-shadow-sm);\n }\n\n .fs-u-shadow {\n box-shadow: var(--fs-shadow-md);\n }\n\n .fs-u-shadow-lg {\n box-shadow: var(--fs-shadow-lg);\n }\n}\n","@use \"../../../fokus-core/scss/settings\" as *;\n@use \"../../../fokus-core/scss/tools\" as *;\n\n@layer utilities {\n @each $breakpoint, $min in $breakpoints {\n $infix: breakpoint-infix($breakpoint);\n\n @include media-breakpoint-up($breakpoint) {\n @each $key, $value in $spacers {\n .fs-u-m#{$infix}-#{$key} {\n margin: $value;\n }\n\n .fs-u-mt#{$infix}-#{$key} {\n margin-top: $value;\n }\n\n .fs-u-mr#{$infix}-#{$key} {\n margin-right: $value;\n }\n\n .fs-u-mb#{$infix}-#{$key} {\n margin-bottom: $value;\n }\n\n .fs-u-ml#{$infix}-#{$key} {\n margin-left: $value;\n }\n\n .fs-u-mx#{$infix}-#{$key} {\n margin-right: $value;\n margin-left: $value;\n }\n\n .fs-u-my#{$infix}-#{$key} {\n margin-top: $value;\n margin-bottom: $value;\n }\n\n .fs-u-p#{$infix}-#{$key} {\n padding: $value;\n }\n\n .fs-u-pt#{$infix}-#{$key} {\n padding-top: $value;\n }\n\n .fs-u-pr#{$infix}-#{$key} {\n padding-right: $value;\n }\n\n .fs-u-pb#{$infix}-#{$key} {\n padding-bottom: $value;\n }\n\n .fs-u-pl#{$infix}-#{$key} {\n padding-left: $value;\n }\n\n .fs-u-px#{$infix}-#{$key} {\n padding-right: $value;\n padding-left: $value;\n }\n\n .fs-u-py#{$infix}-#{$key} {\n padding-top: $value;\n padding-bottom: $value;\n }\n\n // Controla o gutter da grid (--fs-gutter-x/-y), consumido por .row/.row > *.\n .fs-u-g#{$infix}-#{$key} {\n --fs-gutter-x: #{$value};\n --fs-gutter-y: #{$value};\n }\n\n .fs-u-gx#{$infix}-#{$key} {\n --fs-gutter-x: #{$value};\n }\n\n .fs-u-gy#{$infix}-#{$key} {\n --fs-gutter-y: #{$value};\n }\n\n // Gap literal (flex/grid), independente da grid de colunas.\n .fs-u-gap#{$infix}-#{$key} {\n gap: $value;\n }\n\n .fs-u-gap-x#{$infix}-#{$key} {\n column-gap: $value;\n }\n\n .fs-u-gap-y#{$infix}-#{$key} {\n row-gap: $value;\n }\n }\n\n .fs-u-m#{$infix}-auto {\n margin: auto;\n }\n\n .fs-u-mt#{$infix}-auto {\n margin-top: auto;\n }\n\n .fs-u-mr#{$infix}-auto {\n margin-right: auto;\n }\n\n .fs-u-mb#{$infix}-auto {\n margin-bottom: auto;\n }\n\n .fs-u-ml#{$infix}-auto {\n margin-left: auto;\n }\n\n .fs-u-mx#{$infix}-auto {\n margin-right: auto;\n margin-left: auto;\n }\n\n .fs-u-my#{$infix}-auto {\n margin-top: auto;\n margin-bottom: auto;\n }\n }\n }\n}\n","$spacers: (\n 0: 0,\n 1: 0.25rem,\n 2: 0.5rem,\n 3: 1rem,\n 4: 1.5rem,\n 5: 3rem\n) !default;\n\n$z-indexes: (\n base: 0,\n dropdown: 1000,\n sticky: 1020,\n modal: 1050,\n offcanvas: 1060,\n notification: 1080,\n toast: 1090,\n tooltip: 1100\n) !default;\n\n$radius-sm: 4px !default;\n$radius-md: 6px !default;\n$radius-lg: 8px !default;\n","@use \"../../../fokus-core/scss/settings\" as *;\n@use \"../../../fokus-core/scss/tools\" as *;\n\n@layer utilities {\n .fs-u-text-start {\n text-align: left;\n }\n\n .fs-u-text-center {\n text-align: center;\n }\n\n .fs-u-text-end {\n text-align: right;\n }\n\n .fs-u-text-lowercase {\n text-transform: lowercase;\n }\n\n .fs-u-text-uppercase {\n text-transform: uppercase;\n }\n\n .fs-u-text-capitalize {\n text-transform: capitalize;\n }\n\n .fs-u-text-truncate {\n @include truncate;\n }\n\n .fs-u-fw-regular {\n font-weight: $font-weight-regular;\n }\n\n .fs-u-fw-medium {\n font-weight: $font-weight-medium;\n }\n\n .fs-u-fw-semibold {\n font-weight: $font-weight-semibold;\n }\n\n .fs-u-fw-bold {\n font-weight: $font-weight-bold;\n }\n\n .fs-u-fs-xs {\n font-size: $font-size-xs;\n }\n\n .fs-u-fs-sm {\n font-size: $font-size-sm;\n }\n\n .fs-u-fs-md {\n font-size: $font-size-md;\n }\n\n .fs-u-fs-lg {\n font-size: $font-size-lg;\n }\n\n .fs-u-fs-xl {\n font-size: $font-size-xl;\n }\n\n .fs-u-fs-h1 {\n font-size: $font-size-h1;\n }\n\n .fs-u-fs-h2 {\n font-size: $font-size-h2;\n }\n\n .fs-u-fs-h3 {\n font-size: $font-size-h3;\n }\n\n .fs-u-fs-h4 {\n font-size: $font-size-h4;\n }\n\n .fs-u-fs-h5 {\n font-size: $font-size-h5;\n }\n\n .fs-u-fs-h6 {\n font-size: $font-size-h6;\n }\n\n .fs-u-font-sans {\n font-family: var(--fs-font-sans);\n }\n\n .fs-u-font-mono {\n font-family: var(--fs-font-mono);\n }\n}\n","@layer utilities {\n .fs-u-visible {\n visibility: visible;\n }\n\n .fs-u-invisible {\n visibility: hidden;\n }\n}\n","@use \"sass:color\";\n@use \"../settings\" as *;\n@use \"../tools\" as *;\n\n// Theming multi-brand: um `data-fs-brand=\"x\"` sobrescreve só a cor de AÇÃO\n// PRIMÁRIA (--fs-color-primary e os tokens derivados) — secondary/success/\n// warning/danger/info continuam universais entre marcas, porque são\n// semânticos (sucesso é sempre verde, erro sempre vermelho, independente\n// de qual marca está ativa). Composto com `data-theme=\"dark\"` do mesmo\n// jeito que `_dark.scss` faz para a paleta padrão: mistura o primitivo com\n// branco/preto em OKLCH, não recalcula do zero.\n// Limitação conhecida: `.fs-btn-primary`/`.fs-badge-primary` (preenchimento\n// sólido) calculam a cor do texto em tempo de build via `color-contrast()`\n// a partir do primary padrão (azul) — não recalculam por marca. Escolha um\n// primitivo de marca escuro o bastante pro texto branco continuar legível\n// (como o exemplo abaixo), ou sobrescreva `--fs-btn-color`/`--fs-badge-color`\n// manualmente se o primitivo da marca for muito claro. Ver\n// `docs/guides/theming.md#multi-brand`.\n@layer tokens {\n // Marca de exemplo (\"violet\") — mesmo tom usado no exemplo de\n // customização do README, só pra provar que a troca funciona em runtime\n // sem recompilar CSS. Um projeto real substitui/adiciona marcas\n // definindo o próprio primitivo antes de `@use` este arquivo.\n $brand-violet-primary: color.to-space(#6d28d9, oklch) !default;\n\n [data-fs-brand=\"violet\"] {\n --fs-color-primary: #{rgb-fallback($brand-violet-primary)};\n --fs-alert-primary-bg: #{rgb-fallback(tint-color($brand-violet-primary))};\n --fs-alert-primary-text: #{rgb-fallback(shade-color($brand-violet-primary))};\n --fs-feedback-primary-bg: #{rgb-fallback(tint-color($brand-violet-primary))};\n }\n\n [data-fs-brand=\"violet\"][data-theme=\"dark\"],\n [data-theme=\"dark\"] [data-fs-brand=\"violet\"] {\n --fs-color-primary: #{rgb-fallback(color.mix($brand-violet-primary, $color-white, 95%, $method: oklch))};\n --fs-alert-primary-bg: #{rgb-fallback(color.mix($brand-violet-primary, $color-gray-900, 15%, $method: oklch))};\n --fs-alert-primary-text: #{rgb-fallback(color.mix($brand-violet-primary, $color-white, 55%, $method: oklch))};\n --fs-feedback-primary-bg: #{rgb-fallback(color.mix($brand-violet-primary, $color-gray-900, 15%, $method: oklch))};\n }\n\n @supports (color: oklch(0% 0 0)) {\n [data-fs-brand=\"violet\"] {\n --fs-color-primary: #{$brand-violet-primary};\n --fs-alert-primary-bg: #{tint-color($brand-violet-primary)};\n --fs-alert-primary-text: #{shade-color($brand-violet-primary)};\n --fs-feedback-primary-bg: #{tint-color($brand-violet-primary)};\n }\n\n [data-fs-brand=\"violet\"][data-theme=\"dark\"],\n [data-theme=\"dark\"] [data-fs-brand=\"violet\"] {\n --fs-color-primary: #{color.mix($brand-violet-primary, $color-white, 95%, $method: oklch)};\n --fs-alert-primary-bg: #{color.mix($brand-violet-primary, $color-gray-900, 15%, $method: oklch)};\n --fs-alert-primary-text: #{color.mix($brand-violet-primary, $color-white, 55%, $method: oklch)};\n --fs-feedback-primary-bg: #{color.mix($brand-violet-primary, $color-gray-900, 15%, $method: oklch)};\n }\n }\n\n // Preset \"corporate\" — azul-marinho/steel blue, tom sóbrio para\n // aplicações internas/B2B. Mesma técnica de mistura OKLCH acima.\n $brand-corporate-primary: color.to-space(#1d4e89, oklch) !default;\n\n [data-fs-brand=\"corporate\"] {\n --fs-color-primary: #{rgb-fallback($brand-corporate-primary)};\n --fs-alert-primary-bg: #{rgb-fallback(tint-color($brand-corporate-primary))};\n --fs-alert-primary-text: #{rgb-fallback(shade-color($brand-corporate-primary))};\n --fs-feedback-primary-bg: #{rgb-fallback(tint-color($brand-corporate-primary))};\n }\n\n [data-fs-brand=\"corporate\"][data-theme=\"dark\"],\n [data-theme=\"dark\"] [data-fs-brand=\"corporate\"] {\n --fs-color-primary: #{rgb-fallback(color.mix($brand-corporate-primary, $color-white, 95%, $method: oklch))};\n --fs-alert-primary-bg: #{rgb-fallback(color.mix($brand-corporate-primary, $color-gray-900, 15%, $method: oklch))};\n --fs-alert-primary-text: #{rgb-fallback(color.mix($brand-corporate-primary, $color-white, 55%, $method: oklch))};\n --fs-feedback-primary-bg: #{rgb-fallback(color.mix($brand-corporate-primary, $color-gray-900, 15%, $method: oklch))};\n }\n\n // Preset \"vibrant\" — laranja energético, tom para produtos de consumo/\n // marketing que queiram uma ação primária mais chamativa.\n $brand-vibrant-primary: color.to-space(#f2542d, oklch) !default;\n\n [data-fs-brand=\"vibrant\"] {\n --fs-color-primary: #{rgb-fallback($brand-vibrant-primary)};\n --fs-alert-primary-bg: #{rgb-fallback(tint-color($brand-vibrant-primary))};\n --fs-alert-primary-text: #{rgb-fallback(shade-color($brand-vibrant-primary))};\n --fs-feedback-primary-bg: #{rgb-fallback(tint-color($brand-vibrant-primary))};\n }\n\n [data-fs-brand=\"vibrant\"][data-theme=\"dark\"],\n [data-theme=\"dark\"] [data-fs-brand=\"vibrant\"] {\n --fs-color-primary: #{rgb-fallback(color.mix($brand-vibrant-primary, $color-white, 95%, $method: oklch))};\n --fs-alert-primary-bg: #{rgb-fallback(color.mix($brand-vibrant-primary, $color-gray-900, 15%, $method: oklch))};\n --fs-alert-primary-text: #{rgb-fallback(color.mix($brand-vibrant-primary, $color-white, 55%, $method: oklch))};\n --fs-feedback-primary-bg: #{rgb-fallback(color.mix($brand-vibrant-primary, $color-gray-900, 15%, $method: oklch))};\n }\n\n @supports (color: oklch(0% 0 0)) {\n [data-fs-brand=\"corporate\"] {\n --fs-color-primary: #{$brand-corporate-primary};\n --fs-alert-primary-bg: #{tint-color($brand-corporate-primary)};\n --fs-alert-primary-text: #{shade-color($brand-corporate-primary)};\n --fs-feedback-primary-bg: #{tint-color($brand-corporate-primary)};\n }\n\n [data-fs-brand=\"corporate\"][data-theme=\"dark\"],\n [data-theme=\"dark\"] [data-fs-brand=\"corporate\"] {\n --fs-color-primary: #{color.mix($brand-corporate-primary, $color-white, 95%, $method: oklch)};\n --fs-alert-primary-bg: #{color.mix($brand-corporate-primary, $color-gray-900, 15%, $method: oklch)};\n --fs-alert-primary-text: #{color.mix($brand-corporate-primary, $color-white, 55%, $method: oklch)};\n --fs-feedback-primary-bg: #{color.mix($brand-corporate-primary, $color-gray-900, 15%, $method: oklch)};\n }\n\n [data-fs-brand=\"vibrant\"] {\n --fs-color-primary: #{$brand-vibrant-primary};\n --fs-alert-primary-bg: #{tint-color($brand-vibrant-primary)};\n --fs-alert-primary-text: #{shade-color($brand-vibrant-primary)};\n --fs-feedback-primary-bg: #{tint-color($brand-vibrant-primary)};\n }\n\n [data-fs-brand=\"vibrant\"][data-theme=\"dark\"],\n [data-theme=\"dark\"] [data-fs-brand=\"vibrant\"] {\n --fs-color-primary: #{color.mix($brand-vibrant-primary, $color-white, 95%, $method: oklch)};\n --fs-alert-primary-bg: #{color.mix($brand-vibrant-primary, $color-gray-900, 15%, $method: oklch)};\n --fs-alert-primary-text: #{color.mix($brand-vibrant-primary, $color-white, 55%, $method: oklch)};\n --fs-feedback-primary-bg: #{color.mix($brand-vibrant-primary, $color-gray-900, 15%, $method: oklch)};\n }\n }\n}\n\n// Ao contrário de violet/corporate, o primitivo \"vibrant\" (laranja) é claro\n// o bastante pra o texto branco padrão de `.fs-btn-primary`/`.fs-badge-primary`\n// (calculado em tempo de build a partir do primary PADRÃO, não do de marca —\n// ver nota no topo do arquivo) cair abaixo de 4.5:1 — exatamente o caso que\n// a mitigação documentada em docs/guides/theming.md#multi-brand cobre.\n// Precisa estar em `@layer overrides` (a camada de maior prioridade — ver\n// `tokens/_root.scss`): `.fs-btn-primary`/`.fs-badge-primary` setam\n// `--fs-btn-color`/`--fs-badge-color` no próprio elemento dentro de\n// `@layer components`, e cascade layers ignoram especificidade — um\n// seletor mais específico em `@layer tokens` (onde vivem os blocos acima)\n// perderia mesmo assim.\n@layer overrides {\n [data-fs-brand=\"vibrant\"] .fs-btn-primary,\n [data-fs-brand=\"vibrant\"] .fs-badge-primary {\n --fs-btn-color: #{$color-black};\n --fs-badge-color: #{$color-black};\n }\n\n [data-fs-brand=\"vibrant\"] .fs-check {\n --fs-check-mark: #{$color-black};\n }\n}\n","@use \"sass:color\";\n@use \"sass:map\";\n@use \"../settings\" as *;\n@use \"../tools\" as *;\n\n// Peso (% da cor original mantida, ver color.mix()) de cada cor de estado no\n// tema escuro. O limite de cada uma é o quanto dá pra clarear em direção ao\n// branco antes de virar o texto branco/preto que color-contrast() já\n// pré-calculou para os preenchimentos sólidos (botões, badges) no tema claro\n// — passar do limite deixaria esse texto ilegível. `primary` e `danger` têm\n// texto branco no preenchimento, então clareiam pouco (clarear reduz o\n// contraste com o branco); `info` não tem margem e fica sem alteração (100%).\n// Misturas em `$method: oklch` (ver tools/_mixins.scss) — recalibrado e\n// revalidado com `npm run contrast` após a migração para OKLCH.\n@layer tokens {\n $dark-color-weights: (\n primary: 95%,\n secondary: 90%,\n success: 65%,\n warning: 65%,\n danger: 95%,\n info: 100%\n ) !default;\n\n $dark-text: color.to-space(#f1f3f4, oklch) !default;\n $dark-muted: color.to-space(#bdc1c6, oklch) !default;\n $dark-border: color.to-space(#3c4043, oklch) !default;\n $dark-surface: color.to-space(#202124, oklch) !default;\n $dark-subtle: color.to-space(#2b2c2f, oklch) !default;\n\n // Pesos de alert/feedback bg+text no escuro: validados por\n // `npm run contrast` para ≥4.5:1 (texto normal) em todas as 6 cores —\n // não abaixe sem reconferir o relatório.\n $dark-alert-bg-weight: 15%;\n $dark-alert-text-weight: 55%;\n\n [data-theme=\"dark\"] {\n --fs-color-text: #{rgb-fallback($dark-text)};\n --fs-color-muted: #{rgb-fallback($dark-muted)};\n --fs-color-border: #{rgb-fallback($dark-border)};\n --fs-color-surface: #{rgb-fallback($dark-surface)};\n --fs-color-subtle: #{rgb-fallback($dark-subtle)};\n --fs-color-bg-surface: var(--fs-color-surface);\n --fs-color-bg-subtle: var(--fs-color-subtle);\n --fs-color-surface-raised: var(--fs-color-surface);\n --fs-color-surface-interactive: var(--fs-color-subtle);\n --fs-color-text-primary: var(--fs-color-text);\n --fs-color-text-muted: var(--fs-color-muted);\n --fs-color-border-default: var(--fs-color-border);\n --fs-color-focus: var(--fs-color-primary);\n --fs-color-action-primary: var(--fs-color-primary);\n --fs-color-action-danger: var(--fs-color-danger);\n --fs-shadow-sm: 0 1px 3px rgb(0 0 0 / 50%), 0 1px 2px rgb(0 0 0 / 40%);\n --fs-shadow-md: 0 6px 12px rgb(0 0 0 / 55%), 0 3px 6px rgb(0 0 0 / 45%);\n --fs-shadow-lg: 0 15px 30px rgb(0 0 0 / 60%), 0 6px 12px rgb(0 0 0 / 50%);\n --fs-tooltip-bg: #{rgb-fallback($color-gray-100)};\n --fs-tooltip-text: #{rgb-fallback($color-gray-900)};\n\n @each $name, $color in $theme-colors {\n --fs-color-#{$name}: #{rgb-fallback(color.mix($color, $color-white, map.get($dark-color-weights, $name), $method: oklch))};\n --fs-alert-#{$name}-bg: #{rgb-fallback(color.mix($color, $color-gray-900, $dark-alert-bg-weight, $method: oklch))};\n --fs-alert-#{$name}-text: #{rgb-fallback(color.mix($color, $color-white, $dark-alert-text-weight, $method: oklch))};\n --fs-feedback-#{$name}-bg: #{rgb-fallback(color.mix($color, $color-gray-900, $dark-alert-bg-weight, $method: oklch))};\n }\n }\n\n @supports (color: oklch(0% 0 0)) {\n [data-theme=\"dark\"] {\n --fs-color-text: #{$dark-text};\n --fs-color-muted: #{$dark-muted};\n --fs-color-border: #{$dark-border};\n --fs-color-surface: #{$dark-surface};\n --fs-color-subtle: #{$dark-subtle};\n --fs-color-bg-surface: var(--fs-color-surface);\n --fs-color-bg-subtle: var(--fs-color-subtle);\n --fs-color-surface-raised: var(--fs-color-surface);\n --fs-color-surface-interactive: var(--fs-color-subtle);\n --fs-color-text-primary: var(--fs-color-text);\n --fs-color-text-muted: var(--fs-color-muted);\n --fs-color-border-default: var(--fs-color-border);\n --fs-color-focus: var(--fs-color-primary);\n --fs-color-action-primary: var(--fs-color-primary);\n --fs-color-action-danger: var(--fs-color-danger);\n --fs-tooltip-bg: #{$color-gray-100};\n --fs-tooltip-text: #{$color-gray-900};\n\n @each $name, $color in $theme-colors {\n --fs-color-#{$name}: #{color.mix($color, $color-white, map.get($dark-color-weights, $name), $method: oklch)};\n --fs-alert-#{$name}-bg: #{color.mix($color, $color-gray-900, $dark-alert-bg-weight, $method: oklch)};\n --fs-alert-#{$name}-text: #{color.mix($color, $color-white, $dark-alert-text-weight, $method: oklch)};\n --fs-feedback-#{$name}-bg: #{color.mix($color, $color-gray-900, $dark-alert-bg-weight, $method: oklch)};\n }\n }\n }\n}\n"]}
1
+ {"version":3,"sources":["file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/components/_datatable.scss","../../scss/fokus.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-core/scss/tokens/_root.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-core/scss/tokens/_semantic.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-core/scss/tokens/_charts.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-core/scss/base/_reset.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-core/scss/base/_typography.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-core/scss/base/_motion.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-core/scss/base/_accessibility.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-core/scss/layout/_cluster.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-core/scss/layout/_containers.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-core/scss/tools/_mixins.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-core/scss/layout/_grid.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-core/scss/layout/_sidebar.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-core/scss/layout/_stack.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/forms/_forms.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-core/scss/settings/_typography.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/forms/_check-radio-switch.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/forms/_range.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/forms/_file-upload-advanced.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/components/_buttons.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/components/_cards.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/components/_alerts.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/components/_badges.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/components/_tables.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/components/_navbar.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/components/_combobox.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/components/_datepicker.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/components/_command-palette.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/components/_tree-view.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/components/_dropdown.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/components/_modal.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/components/_alert-dialog.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/components/_divider.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/components/_empty-state.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/components/_rating.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/components/_tag.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/components/_offcanvas.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/components/_accordion.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/components/_tabs.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/components/_tooltips.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/components/_popover.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/components/_toasts.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/components/_pagination.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/components/_breadcrumbs.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/components/_spinner.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/components/_carousel.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/components/_stepper.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/components/_segmented-control.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/components/_skeleton.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/components/_timeline.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/components/_collapse.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/components/_notification-center.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/components/_nested-menu.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/components/_tile.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/components/_avatar.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/components/_button-group.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/components/_close-button.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/components/_list-group.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/components/_code.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/components/_ratio.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/components/_icon-link.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/components/_placeholder.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/components/_progress.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-components/scss/components/_scrollspy.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-utilities/scss/utilities/_container-queries.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-utilities/scss/utilities/_display.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-utilities/scss/utilities/_flex.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-utilities/scss/utilities/_icon.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-utilities/scss/utilities/_position.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-utilities/scss/utilities/_print.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-utilities/scss/utilities/_shadow.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-utilities/scss/utilities/_spacing.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-core/scss/settings/_spacing.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-utilities/scss/utilities/_typography.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-utilities/scss/utilities/_visibility.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-utilities/scss/utilities/_states.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-utilities/scss/utilities/_api.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-core/scss/themes/_brands.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-core/scss/themes/_dark.scss"],"names":[],"mappings":"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uiLF,CiEpiLA,cACE,ajEsiLF,CiEniLA,eACE,cjEqiLF,CiEliLA,qBACE,oBjEoiLF,CiEjiLA,aACE,YjEmiLF,CkE7iLI,wBACE,sBlEijLN,CkE9iLI,yBACE,kBlEgjLN,CkE7iLI,sBACE,oBlE+iLN,CkE5iLI,4BACE,0BlE8iLN,CkE3iLI,6BACE,sBlE6iLN,CkE1iLI,0BACE,wBlE4iLN,CkEziLI,6BACE,4BlE2iLN,CkExiLI,8BACE,6BlE0iLN,CkEviLI,uBACE,qBlEyiLN,CkEtiLI,wBACE,iBlEwiLN,CkEriLI,qBACE,mBlEuiLN,CAlCF,CkEnjLA,iBxDoBI,yBwDfE,2BACE,sBlEmlLJ,CkEhlLE,4BACE,kBlEklLJ,CkE/kLE,yBACE,oBlEilLJ,CkE9kLE,+BACE,0BlEglLJ,CkE7kLE,gCACE,sBlE+kLJ,CkE5kLE,6BACE,wBlE8kLJ,CkE3kLE,gCACE,4BlE6kLJ,CkE1kLE,iCACE,6BlE4kLJ,CkEzkLE,0BACE,qBlE2kLJ,CkExkLE,2BACE,iBlE0kLJ,CkEvkLE,wBACE,mBlEykLJ,CACF,CUpmLE,yBwDfE,2BACE,sBlEsnLJ,CkEnnLE,4BACE,kBlEqnLJ,CkElnLE,yBACE,oBlEonLJ,CkEjnLE,+BACE,0BlEmnLJ,CkEhnLE,gCACE,sBlEknLJ,CkE/mLE,6BACE,wBlEinLJ,CkE9mLE,gCACE,4BlEgnLJ,CkE7mLE,iCACE,6BlE+mLJ,CkE5mLE,0BACE,qBlE8mLJ,CkE3mLE,2BACE,iBlE6mLJ,CkE1mLE,wBACE,mBlE4mLJ,CACF,CUvoLE,0BwDfE,2BACE,sBlEypLJ,CkEtpLE,4BACE,kBlEwpLJ,CkErpLE,yBACE,oBlEupLJ,CkEppLE,+BACE,0BlEspLJ,CkEnpLE,gCACE,sBlEqpLJ,CkElpLE,6BACE,wBlEopLJ,CkEjpLE,gCACE,4BlEmpLJ,CkEhpLE,iCACE,6BlEkpLJ,CkE/oLE,0BACE,qBlEipLJ,CkE9oLE,2BACE,iBlEgpLJ,CkE7oLE,wBACE,mBlE+oLJ,CACF,CU1qLE,0BwDfE,2BACE,sBlE4rLJ,CkEzrLE,4BACE,kBlE2rLJ,CkExrLE,yBACE,oBlE0rLJ,CkEvrLE,+BACE,0BlEyrLJ,CkEtrLE,gCACE,sBlEwrLJ,CkErrLE,6BACE,wBlEurLJ,CkEprLE,gCACE,4BlEsrLJ,CkEnrLE,iCACE,6BlEqrLJ,CkElrLE,0BACE,qBlEorLJ,CkEjrLE,2BACE,iBlEmrLJ,CkEhrLE,wBACE,mBlEkrLJ,CACF,CU7sLE,0BwDfE,4BACE,sBlE+tLJ,CkE5tLE,6BACE,kBlE8tLJ,CkE3tLE,0BACE,oBlE6tLJ,CkE1tLE,gCACE,0BlE4tLJ,CkEztLE,iCACE,sBlE2tLJ,CkExtLE,8BACE,wBlE0tLJ,CkEvtLE,iCACE,4BlEytLJ,CkEttLE,kCACE,6BlEwtLJ,CkErtLE,2BACE,qBlEutLJ,CkEptLE,4BACE,iBlEstLJ,CkEntLE,yBACE,mBlEqtLJ,CACF,CUhvLE,0BwDfE,6BACE,sBlEkwLJ,CkE/vLE,8BACE,kBlEiwLJ,CkE9vLE,2BACE,oBlEgwLJ,CkE7vLE,iCACE,0BlE+vLJ,CkE5vLE,kCACE,sBlE8vLJ,CkE3vLE,+BACE,wBlE6vLJ,CkE1vLE,kCACE,4BlE4vLJ,CkEzvLE,mCACE,6BlE2vLJ,CkExvLE,4BACE,qBlE0vLJ,CkEvvLE,6BACE,iBlEyvLJ,CkEtvLE,0BACE,mBlEwvLJ,CACF,CACF,CmElyLA,iBACE,SACE,oBAAA,CACA,aAAA,CACA,SAAA,CACA,UAAA,CACA,sBAAA,CACA,mBnEoyLF,CmEjyLA,YACE,UAAA,CACA,WnEmyLF,CmEhyLA,YACE,UAAA,CACA,WnEkyLF,CmE/xLA,YACE,UAAA,CACA,WnEiyLF,CmE9xLA,YACE,UAAA,CACA,WnEgyLF,CoEh0LA,iBACE,eAAA,CACA,0BAAA,CACA,YpEo0LF,CoEj0LA,oBACE,eAAA,CACA,gCAAA,CACA,YpEm0LF,CAXF,CoEl0LA,iBpE80LA,CqEj1LA,iBACE,aACE,iBACE,sBrEm1LF,CACF,CqEh1LA,iBACE,iBACE,sBrEk1LF,CACF,CqE/0LA,aACE,kBACE,uBrEi1LF,CqE90LA,mBACE,wBrEg1LF,CqE70LA,yBACE,8BrE+0LF,CACF,CACF,CsEx2LA,iBACE,gBACE,8BtE02LF,CsEv2LA,aACE,8BtEy2LF,CsEt2LA,gBACE,8BtEw2LF,CuEz2LM,UACE,QvE62LR,CuE12LM,WACE,YvE42LR,CuEz2LM,WACE,cvE22LR,CuEx2LM,WACE,evE02LR,CuEn2LM,sBAHE,avE62LR,CuE12LM,WACE,cvEy2LR,CuEr2LM,WACE,YCnCA,CDoCA,evEu2LR,CuEp2LM,UACE,SvEs2LR,CuEn2LM,WACE,avEq2LR,CuEl2LM,WACE,evEo2LR,CuEj2LM,WACE,gBvEm2LR,CuE51LM,sBAHE,cvEs2LR,CuEn2LM,WACE,evEk2LR,CuE91LM,WACE,aCjEA,CDkEA,gBvEg2LR,CuE51LM,UACE,eAAA,CACA,evE81LR,CuE31LM,WACE,evE61LR,CuE11LM,WACE,evE41LR,CuEx1LM,YACE,KvE01LR,CuEv1LM,cACE,YvEy1LR,CuEt1LM,cACE,SvEw1LR,CuE56LM,UACE,avE86LR,CuE36LM,WACE,iBvE66LR,CuE16LM,WACE,mBvE46LR,CuEz6LM,WACE,oBvE26LR,CuEp6LM,sBAHE,kBvE86LR,CuE36LM,WACE,mBvE06LR,CuEt6LM,WACE,iBCnCA,CDoCA,oBvEw6LR,CuEr6LM,UACE,cvEu6LR,CuEp6LM,WACE,kBvEs6LR,CuEn6LM,WACE,oBvEq6LR,CuEl6LM,WACE,qBvEo6LR,CuE75LM,sBAHE,mBvEu6LR,CuEp6LM,WACE,oBvEm6LR,CuE/5LM,WACE,kBCjEA,CDkEA,qBvEi6LR,CuE75LM,UACE,qBAAA,CACA,qBvE+5LR,CuE55LM,WACE,qBvE85LR,CuE35LM,WACE,qBvE65LR,CuEz5LM,YACE,UvE25LR,CuEx5LM,cACE,iBvE05LR,CuEv5LM,cACE,cvEy5LR,CuE7+LM,UACE,YvE++LR,CuE5+LM,WACE,gBvE8+LR,CuE3+LM,WACE,kBvE6+LR,CuE1+LM,WACE,mBvE4+LR,CuEr+LM,sBAHE,iBvE++LR,CuE5+LM,WACE,kBvE2+LR,CuEv+LM,WACE,gBCnCA,CDoCA,mBvEy+LR,CuEt+LM,UACE,avEw+LR,CuEr+LM,WACE,iBvEu+LR,CuEp+LM,WACE,mBvEs+LR,CuEn+LM,WACE,oBvEq+LR,CuE99LM,sBAHE,kBvEw+LR,CuEr+LM,WACE,mBvEo+LR,CuEh+LM,WACE,iBCjEA,CDkEA,oBvEk+LR,CuE99LM,UACE,oBAAA,CACA,oBvEg+LR,CuE79LM,WACE,oBvE+9LR,CuE59LM,WACE,oBvE89LR,CuE19LM,YACE,SvE49LR,CuEz9LM,cACE,gBvE29LR,CuEx9LM,cACE,avE09LR,CuE9iMM,UACE,WvEgjMR,CuE7iMM,WACE,evE+iMR,CuE5iMM,WACE,iBvE8iMR,CuE3iMM,WACE,kBvE6iMR,CuEtiMM,sBAHE,gBvEgjMR,CuE7iMM,WACE,iBvE4iMR,CuExiMM,WACE,eCnCA,CDoCA,kBvE0iMR,CuEviMM,UACE,YvEyiMR,CuEtiMM,WACE,gBvEwiMR,CuEriMM,WACE,kBvEuiMR,CuEpiMM,WACE,mBvEsiMR,CuE/hMM,sBAHE,iBvEyiMR,CuEtiMM,WACE,kBvEqiMR,CuEjiMM,WACE,gBCjEA,CDkEA,mBvEmiMR,CuE/hMM,UACE,kBAAA,CACA,kBvEiiMR,CuE9hMM,WACE,kBvEgiMR,CuE7hMM,WACE,kBvE+hMR,CuE3hMM,YACE,QvE6hMR,CuE1hMM,cACE,evE4hMR,CuEzhMM,cACE,YvE2hMR,CuE/mMM,UACE,avEinMR,CuE9mMM,WACE,iBvEgnMR,CuE7mMM,WACE,mBvE+mMR,CuE5mMM,WACE,oBvE8mMR,CuEvmMM,sBAHE,kBvEinMR,CuE9mMM,WACE,mBvE6mMR,CuEzmMM,WACE,iBCnCA,CDoCA,oBvE2mMR,CuExmMM,UACE,cvE0mMR,CuEvmMM,WACE,kBvEymMR,CuEtmMM,WACE,oBvEwmMR,CuErmMM,WACE,qBvEumMR,CuEhmMM,sBAHE,mBvE0mMR,CuEvmMM,WACE,oBvEsmMR,CuElmMM,WACE,kBCjEA,CDkEA,qBvEomMR,CuEhmMM,UACE,oBAAA,CACA,oBvEkmMR,CuE/lMM,WACE,oBvEimMR,CuE9lMM,WACE,oBvEgmMR,CuE5lMM,YACE,UvE8lMR,CuE3lMM,cACE,iBvE6lMR,CuE1lMM,cACE,cvE4lMR,CuEhrMM,UACE,WvEkrMR,CuE/qMM,WACE,evEirMR,CuE9qMM,WACE,iBvEgrMR,CuE7qMM,WACE,kBvE+qMR,CuExqMM,sBAHE,gBvEkrMR,CuE/qMM,WACE,iBvE8qMR,CuE1qMM,WACE,eCnCA,CDoCA,kBvE4qMR,CuEzqMM,UACE,YvE2qMR,CuExqMM,WACE,gBvE0qMR,CuEvqMM,WACE,kBvEyqMR,CuEtqMM,WACE,mBvEwqMR,CuEjqMM,sBAHE,iBvE2qMR,CuExqMM,WACE,kBvEuqMR,CuEnqMM,WACE,gBCjEA,CDkEA,mBvEqqMR,CuEjqMM,UACE,kBAAA,CACA,kBvEmqMR,CuEhqMM,WACE,kBvEkqMR,CuE/pMM,WACE,kBvEiqMR,CuE7pMM,YACE,QvE+pMR,CuE5pMM,cACE,evE8pMR,CuE3pMM,cACE,YvE6pMR,CuEzpMI,aACE,WvE2pMN,CuExpMI,cACE,evE0pMN,CuEvpMI,cACE,iBvEypMN,CuEtpMI,cACE,kBvEwpMN,CuEjpMI,4BAHE,gBvE2pMN,CuExpMI,cACE,iBvEupMN,CuEnpMI,cACE,eAAA,CACA,kBvEqpMN,CA9ZF,CuEh3LA,iB7DoBI,yB6DdI,aACE,QvE2wMN,CuExwMI,cACE,YvE0wMN,CuEvwMI,cACE,cvEywMN,CuEtwMI,cACE,evEwwMN,CuErwMI,cACE,avEuwMN,CuEpwMI,cACE,cC9BA,CD+BA,avEswMN,CuEnwMI,cACE,YCnCA,CDoCA,evEqwMN,CuElwMI,aACE,SvEowMN,CuEjwMI,cACE,avEmwMN,CuEhwMI,cACE,evEkwMN,CuE/vMI,cACE,gBvEiwMN,CuE1vMI,4BAHE,cvEowMN,CuEjwMI,cACE,evEgwMN,CuE5vMI,cACE,aCjEA,CDkEA,gBvE8vMN,CuE1vMI,aACE,eAAA,CACA,evE4vMN,CuEzvMI,cACE,evE2vMN,CuExvMI,cACE,evE0vMN,CuEtvMI,eACE,KvEwvMN,CuErvMI,iBACE,YvEuvMN,CuEpvMI,iBACE,SvEsvMN,CuE10MI,aACE,avE40MN,CuEz0MI,cACE,iBvE20MN,CuEx0MI,cACE,mBvE00MN,CuEv0MI,cACE,oBvEy0MN,CuEl0MI,4BAHE,kBvE40MN,CuEz0MI,cACE,mBvEw0MN,CuEp0MI,cACE,iBCnCA,CDoCA,oBvEs0MN,CuEn0MI,aACE,cvEq0MN,CuEl0MI,cACE,kBvEo0MN,CuEj0MI,cACE,oBvEm0MN,CuEh0MI,cACE,qBvEk0MN,CuE3zMI,4BAHE,mBvEq0MN,CuEl0MI,cACE,oBvEi0MN,CuE7zMI,cACE,kBCjEA,CDkEA,qBvE+zMN,CuE3zMI,aACE,qBAAA,CACA,qBvE6zMN,CuE1zMI,cACE,qBvE4zMN,CuEzzMI,cACE,qBvE2zMN,CuEvzMI,eACE,UvEyzMN,CuEtzMI,iBACE,iBvEwzMN,CuErzMI,iBACE,cvEuzMN,CuE34MI,aACE,YvE64MN,CuE14MI,cACE,gBvE44MN,CuEz4MI,cACE,kBvE24MN,CuEx4MI,cACE,mBvE04MN,CuEn4MI,4BAHE,iBvE64MN,CuE14MI,cACE,kBvEy4MN,CuEr4MI,cACE,gBCnCA,CDoCA,mBvEu4MN,CuEp4MI,aACE,avEs4MN,CuEn4MI,cACE,iBvEq4MN,CuEl4MI,cACE,mBvEo4MN,CuEj4MI,cACE,oBvEm4MN,CuE53MI,4BAHE,kBvEs4MN,CuEn4MI,cACE,mBvEk4MN,CuE93MI,cACE,iBCjEA,CDkEA,oBvEg4MN,CuE53MI,aACE,oBAAA,CACA,oBvE83MN,CuE33MI,cACE,oBvE63MN,CuE13MI,cACE,oBvE43MN,CuEx3MI,eACE,SvE03MN,CuEv3MI,iBACE,gBvEy3MN,CuEt3MI,iBACE,avEw3MN,CuE58MI,aACE,WvE88MN,CuE38MI,cACE,evE68MN,CuE18MI,cACE,iBvE48MN,CuEz8MI,cACE,kBvE28MN,CuEp8MI,4BAHE,gBvE88MN,CuE38MI,cACE,iBvE08MN,CuEt8MI,cACE,eCnCA,CDoCA,kBvEw8MN,CuEr8MI,aACE,YvEu8MN,CuEp8MI,cACE,gBvEs8MN,CuEn8MI,cACE,kBvEq8MN,CuEl8MI,cACE,mBvEo8MN,CuE77MI,4BAHE,iBvEu8MN,CuEp8MI,cACE,kBvEm8MN,CuE/7MI,cACE,gBCjEA,CDkEA,mBvEi8MN,CuE77MI,aACE,kBAAA,CACA,kBvE+7MN,CuE57MI,cACE,kBvE87MN,CuE37MI,cACE,kBvE67MN,CuEz7MI,eACE,QvE27MN,CuEx7MI,iBACE,evE07MN,CuEv7MI,iBACE,YvEy7MN,CuE7gNI,aACE,avE+gNN,CuE5gNI,cACE,iBvE8gNN,CuE3gNI,cACE,mBvE6gNN,CuE1gNI,cACE,oBvE4gNN,CuErgNI,4BAHE,kBvE+gNN,CuE5gNI,cACE,mBvE2gNN,CuEvgNI,cACE,iBCnCA,CDoCA,oBvEygNN,CuEtgNI,aACE,cvEwgNN,CuErgNI,cACE,kBvEugNN,CuEpgNI,cACE,oBvEsgNN,CuEngNI,cACE,qBvEqgNN,CuE9/MI,4BAHE,mBvEwgNN,CuErgNI,cACE,oBvEogNN,CuEhgNI,cACE,kBCjEA,CDkEA,qBvEkgNN,CuE9/MI,aACE,oBAAA,CACA,oBvEggNN,CuE7/MI,cACE,oBvE+/MN,CuE5/MI,cACE,oBvE8/MN,CuE1/MI,eACE,UvE4/MN,CuEz/MI,iBACE,iBvE2/MN,CuEx/MI,iBACE,cvE0/MN,CuE9kNI,aACE,WvEglNN,CuE7kNI,cACE,evE+kNN,CuE5kNI,cACE,iBvE8kNN,CuE3kNI,cACE,kBvE6kNN,CuEtkNI,4BAHE,gBvEglNN,CuE7kNI,cACE,iBvE4kNN,CuExkNI,cACE,eCnCA,CDoCA,kBvE0kNN,CuEvkNI,aACE,YvEykNN,CuEtkNI,cACE,gBvEwkNN,CuErkNI,cACE,kBvEukNN,CuEpkNI,cACE,mBvEskNN,CuE/jNI,4BAHE,iBvEykNN,CuEtkNI,cACE,kBvEqkNN,CuEjkNI,cACE,gBCjEA,CDkEA,mBvEmkNN,CuE/jNI,aACE,kBAAA,CACA,kBvEikNN,CuE9jNI,cACE,kBvEgkNN,CuE7jNI,cACE,kBvE+jNN,CuE3jNI,eACE,QvE6jNN,CuE1jNI,iBACE,evE4jNN,CuEzjNI,iBACE,YvE2jNN,CuEvjNE,gBACE,WvEyjNJ,CuEtjNE,iBACE,evEwjNJ,CuErjNE,iBACE,iBvEujNJ,CuEpjNE,iBACE,kBvEsjNJ,CuEnjNE,iBACE,gBvEqjNJ,CuEljNE,iBACE,iBAAA,CACA,gBvEojNJ,CuEjjNE,iBACE,eAAA,CACA,kBvEmjNJ,CACF,CUzpNE,yB6DdI,aACE,QvE0qNN,CuEvqNI,cACE,YvEyqNN,CuEtqNI,cACE,cvEwqNN,CuErqNI,cACE,evEuqNN,CuEpqNI,cACE,avEsqNN,CuEnqNI,cACE,cC9BA,CD+BA,avEqqNN,CuElqNI,cACE,YCnCA,CDoCA,evEoqNN,CuEjqNI,aACE,SvEmqNN,CuEhqNI,cACE,avEkqNN,CuE/pNI,cACE,evEiqNN,CuE9pNI,cACE,gBvEgqNN,CuEzpNI,4BAHE,cvEmqNN,CuEhqNI,cACE,evE+pNN,CuE3pNI,cACE,aCjEA,CDkEA,gBvE6pNN,CuEzpNI,aACE,eAAA,CACA,evE2pNN,CuExpNI,cACE,evE0pNN,CuEvpNI,cACE,evEypNN,CuErpNI,eACE,KvEupNN,CuEppNI,iBACE,YvEspNN,CuEnpNI,iBACE,SvEqpNN,CuEzuNI,aACE,avE2uNN,CuExuNI,cACE,iBvE0uNN,CuEvuNI,cACE,mBvEyuNN,CuEtuNI,cACE,oBvEwuNN,CuEjuNI,4BAHE,kBvE2uNN,CuExuNI,cACE,mBvEuuNN,CuEnuNI,cACE,iBCnCA,CDoCA,oBvEquNN,CuEluNI,aACE,cvEouNN,CuEjuNI,cACE,kBvEmuNN,CuEhuNI,cACE,oBvEkuNN,CuE/tNI,cACE,qBvEiuNN,CuE1tNI,4BAHE,mBvEouNN,CuEjuNI,cACE,oBvEguNN,CuE5tNI,cACE,kBCjEA,CDkEA,qBvE8tNN,CuE1tNI,aACE,qBAAA,CACA,qBvE4tNN,CuEztNI,cACE,qBvE2tNN,CuExtNI,cACE,qBvE0tNN,CuEttNI,eACE,UvEwtNN,CuErtNI,iBACE,iBvEutNN,CuEptNI,iBACE,cvEstNN,CuE1yNI,aACE,YvE4yNN,CuEzyNI,cACE,gBvE2yNN,CuExyNI,cACE,kBvE0yNN,CuEvyNI,cACE,mBvEyyNN,CuElyNI,4BAHE,iBvE4yNN,CuEzyNI,cACE,kBvEwyNN,CuEpyNI,cACE,gBCnCA,CDoCA,mBvEsyNN,CuEnyNI,aACE,avEqyNN,CuElyNI,cACE,iBvEoyNN,CuEjyNI,cACE,mBvEmyNN,CuEhyNI,cACE,oBvEkyNN,CuE3xNI,4BAHE,kBvEqyNN,CuElyNI,cACE,mBvEiyNN,CuE7xNI,cACE,iBCjEA,CDkEA,oBvE+xNN,CuE3xNI,aACE,oBAAA,CACA,oBvE6xNN,CuE1xNI,cACE,oBvE4xNN,CuEzxNI,cACE,oBvE2xNN,CuEvxNI,eACE,SvEyxNN,CuEtxNI,iBACE,gBvEwxNN,CuErxNI,iBACE,avEuxNN,CuE32NI,aACE,WvE62NN,CuE12NI,cACE,evE42NN,CuEz2NI,cACE,iBvE22NN,CuEx2NI,cACE,kBvE02NN,CuEn2NI,4BAHE,gBvE62NN,CuE12NI,cACE,iBvEy2NN,CuEr2NI,cACE,eCnCA,CDoCA,kBvEu2NN,CuEp2NI,aACE,YvEs2NN,CuEn2NI,cACE,gBvEq2NN,CuEl2NI,cACE,kBvEo2NN,CuEj2NI,cACE,mBvEm2NN,CuE51NI,4BAHE,iBvEs2NN,CuEn2NI,cACE,kBvEk2NN,CuE91NI,cACE,gBCjEA,CDkEA,mBvEg2NN,CuE51NI,aACE,kBAAA,CACA,kBvE81NN,CuE31NI,cACE,kBvE61NN,CuE11NI,cACE,kBvE41NN,CuEx1NI,eACE,QvE01NN,CuEv1NI,iBACE,evEy1NN,CuEt1NI,iBACE,YvEw1NN,CuE56NI,aACE,avE86NN,CuE36NI,cACE,iBvE66NN,CuE16NI,cACE,mBvE46NN,CuEz6NI,cACE,oBvE26NN,CuEp6NI,4BAHE,kBvE86NN,CuE36NI,cACE,mBvE06NN,CuEt6NI,cACE,iBCnCA,CDoCA,oBvEw6NN,CuEr6NI,aACE,cvEu6NN,CuEp6NI,cACE,kBvEs6NN,CuEn6NI,cACE,oBvEq6NN,CuEl6NI,cACE,qBvEo6NN,CuE75NI,4BAHE,mBvEu6NN,CuEp6NI,cACE,oBvEm6NN,CuE/5NI,cACE,kBCjEA,CDkEA,qBvEi6NN,CuE75NI,aACE,oBAAA,CACA,oBvE+5NN,CuE55NI,cACE,oBvE85NN,CuE35NI,cACE,oBvE65NN,CuEz5NI,eACE,UvE25NN,CuEx5NI,iBACE,iBvE05NN,CuEv5NI,iBACE,cvEy5NN,CuE7+NI,aACE,WvE++NN,CuE5+NI,cACE,evE8+NN,CuE3+NI,cACE,iBvE6+NN,CuE1+NI,cACE,kBvE4+NN,CuEr+NI,4BAHE,gBvE++NN,CuE5+NI,cACE,iBvE2+NN,CuEv+NI,cACE,eCnCA,CDoCA,kBvEy+NN,CuEt+NI,aACE,YvEw+NN,CuEr+NI,cACE,gBvEu+NN,CuEp+NI,cACE,kBvEs+NN,CuEn+NI,cACE,mBvEq+NN,CuE99NI,4BAHE,iBvEw+NN,CuEr+NI,cACE,kBvEo+NN,CuEh+NI,cACE,gBCjEA,CDkEA,mBvEk+NN,CuE99NI,aACE,kBAAA,CACA,kBvEg+NN,CuE79NI,cACE,kBvE+9NN,CuE59NI,cACE,kBvE89NN,CuE19NI,eACE,QvE49NN,CuEz9NI,iBACE,evE29NN,CuEx9NI,iBACE,YvE09NN,CuEt9NE,gBACE,WvEw9NJ,CuEr9NE,iBACE,evEu9NJ,CuEp9NE,iBACE,iBvEs9NJ,CuEn9NE,iBACE,kBvEq9NJ,CuEl9NE,iBACE,gBvEo9NJ,CuEj9NE,iBACE,iBAAA,CACA,gBvEm9NJ,CuEh9NE,iBACE,eAAA,CACA,kBvEk9NJ,CACF,CUxjOE,0B6DdI,aACE,QvEykON,CuEtkOI,cACE,YvEwkON,CuErkOI,cACE,cvEukON,CuEpkOI,cACE,evEskON,CuEnkOI,cACE,avEqkON,CuElkOI,cACE,cC9BA,CD+BA,avEokON,CuEjkOI,cACE,YCnCA,CDoCA,evEmkON,CuEhkOI,aACE,SvEkkON,CuE/jOI,cACE,avEikON,CuE9jOI,cACE,evEgkON,CuE7jOI,cACE,gBvE+jON,CuExjOI,4BAHE,cvEkkON,CuE/jOI,cACE,evE8jON,CuE1jOI,cACE,aCjEA,CDkEA,gBvE4jON,CuExjOI,aACE,eAAA,CACA,evE0jON,CuEvjOI,cACE,evEyjON,CuEtjOI,cACE,evEwjON,CuEpjOI,eACE,KvEsjON,CuEnjOI,iBACE,YvEqjON,CuEljOI,iBACE,SvEojON,CuExoOI,aACE,avE0oON,CuEvoOI,cACE,iBvEyoON,CuEtoOI,cACE,mBvEwoON,CuEroOI,cACE,oBvEuoON,CuEhoOI,4BAHE,kBvE0oON,CuEvoOI,cACE,mBvEsoON,CuEloOI,cACE,iBCnCA,CDoCA,oBvEooON,CuEjoOI,aACE,cvEmoON,CuEhoOI,cACE,kBvEkoON,CuE/nOI,cACE,oBvEioON,CuE9nOI,cACE,qBvEgoON,CuEznOI,4BAHE,mBvEmoON,CuEhoOI,cACE,oBvE+nON,CuE3nOI,cACE,kBCjEA,CDkEA,qBvE6nON,CuEznOI,aACE,qBAAA,CACA,qBvE2nON,CuExnOI,cACE,qBvE0nON,CuEvnOI,cACE,qBvEynON,CuErnOI,eACE,UvEunON,CuEpnOI,iBACE,iBvEsnON,CuEnnOI,iBACE,cvEqnON,CuEzsOI,aACE,YvE2sON,CuExsOI,cACE,gBvE0sON,CuEvsOI,cACE,kBvEysON,CuEtsOI,cACE,mBvEwsON,CuEjsOI,4BAHE,iBvE2sON,CuExsOI,cACE,kBvEusON,CuEnsOI,cACE,gBCnCA,CDoCA,mBvEqsON,CuElsOI,aACE,avEosON,CuEjsOI,cACE,iBvEmsON,CuEhsOI,cACE,mBvEksON,CuE/rOI,cACE,oBvEisON,CuE1rOI,4BAHE,kBvEosON,CuEjsOI,cACE,mBvEgsON,CuE5rOI,cACE,iBCjEA,CDkEA,oBvE8rON,CuE1rOI,aACE,oBAAA,CACA,oBvE4rON,CuEzrOI,cACE,oBvE2rON,CuExrOI,cACE,oBvE0rON,CuEtrOI,eACE,SvEwrON,CuErrOI,iBACE,gBvEurON,CuEprOI,iBACE,avEsrON,CuE1wOI,aACE,WvE4wON,CuEzwOI,cACE,evE2wON,CuExwOI,cACE,iBvE0wON,CuEvwOI,cACE,kBvEywON,CuElwOI,4BAHE,gBvE4wON,CuEzwOI,cACE,iBvEwwON,CuEpwOI,cACE,eCnCA,CDoCA,kBvEswON,CuEnwOI,aACE,YvEqwON,CuElwOI,cACE,gBvEowON,CuEjwOI,cACE,kBvEmwON,CuEhwOI,cACE,mBvEkwON,CuE3vOI,4BAHE,iBvEqwON,CuElwOI,cACE,kBvEiwON,CuE7vOI,cACE,gBCjEA,CDkEA,mBvE+vON,CuE3vOI,aACE,kBAAA,CACA,kBvE6vON,CuE1vOI,cACE,kBvE4vON,CuEzvOI,cACE,kBvE2vON,CuEvvOI,eACE,QvEyvON,CuEtvOI,iBACE,evEwvON,CuErvOI,iBACE,YvEuvON,CuE30OI,aACE,avE60ON,CuE10OI,cACE,iBvE40ON,CuEz0OI,cACE,mBvE20ON,CuEx0OI,cACE,oBvE00ON,CuEn0OI,4BAHE,kBvE60ON,CuE10OI,cACE,mBvEy0ON,CuEr0OI,cACE,iBCnCA,CDoCA,oBvEu0ON,CuEp0OI,aACE,cvEs0ON,CuEn0OI,cACE,kBvEq0ON,CuEl0OI,cACE,oBvEo0ON,CuEj0OI,cACE,qBvEm0ON,CuE5zOI,4BAHE,mBvEs0ON,CuEn0OI,cACE,oBvEk0ON,CuE9zOI,cACE,kBCjEA,CDkEA,qBvEg0ON,CuE5zOI,aACE,oBAAA,CACA,oBvE8zON,CuE3zOI,cACE,oBvE6zON,CuE1zOI,cACE,oBvE4zON,CuExzOI,eACE,UvE0zON,CuEvzOI,iBACE,iBvEyzON,CuEtzOI,iBACE,cvEwzON,CuE54OI,aACE,WvE84ON,CuE34OI,cACE,evE64ON,CuE14OI,cACE,iBvE44ON,CuEz4OI,cACE,kBvE24ON,CuEp4OI,4BAHE,gBvE84ON,CuE34OI,cACE,iBvE04ON,CuEt4OI,cACE,eCnCA,CDoCA,kBvEw4ON,CuEr4OI,aACE,YvEu4ON,CuEp4OI,cACE,gBvEs4ON,CuEn4OI,cACE,kBvEq4ON,CuEl4OI,cACE,mBvEo4ON,CuE73OI,4BAHE,iBvEu4ON,CuEp4OI,cACE,kBvEm4ON,CuE/3OI,cACE,gBCjEA,CDkEA,mBvEi4ON,CuE73OI,aACE,kBAAA,CACA,kBvE+3ON,CuE53OI,cACE,kBvE83ON,CuE33OI,cACE,kBvE63ON,CuEz3OI,eACE,QvE23ON,CuEx3OI,iBACE,evE03ON,CuEv3OI,iBACE,YvEy3ON,CuEr3OE,gBACE,WvEu3OJ,CuEp3OE,iBACE,evEs3OJ,CuEn3OE,iBACE,iBvEq3OJ,CuEl3OE,iBACE,kBvEo3OJ,CuEj3OE,iBACE,gBvEm3OJ,CuEh3OE,iBACE,iBAAA,CACA,gBvEk3OJ,CuE/2OE,iBACE,eAAA,CACA,kBvEi3OJ,CACF,CUv9OE,0B6DdI,aACE,QvEw+ON,CuEr+OI,cACE,YvEu+ON,CuEp+OI,cACE,cvEs+ON,CuEn+OI,cACE,evEq+ON,CuEl+OI,cACE,avEo+ON,CuEj+OI,cACE,cC9BA,CD+BA,avEm+ON,CuEh+OI,cACE,YCnCA,CDoCA,evEk+ON,CuE/9OI,aACE,SvEi+ON,CuE99OI,cACE,avEg+ON,CuE79OI,cACE,evE+9ON,CuE59OI,cACE,gBvE89ON,CuEv9OI,4BAHE,cvEi+ON,CuE99OI,cACE,evE69ON,CuEz9OI,cACE,aCjEA,CDkEA,gBvE29ON,CuEv9OI,aACE,eAAA,CACA,evEy9ON,CuEt9OI,cACE,evEw9ON,CuEr9OI,cACE,evEu9ON,CuEn9OI,eACE,KvEq9ON,CuEl9OI,iBACE,YvEo9ON,CuEj9OI,iBACE,SvEm9ON,CuEviPI,aACE,avEyiPN,CuEtiPI,cACE,iBvEwiPN,CuEriPI,cACE,mBvEuiPN,CuEpiPI,cACE,oBvEsiPN,CuE/hPI,4BAHE,kBvEyiPN,CuEtiPI,cACE,mBvEqiPN,CuEjiPI,cACE,iBCnCA,CDoCA,oBvEmiPN,CuEhiPI,aACE,cvEkiPN,CuE/hPI,cACE,kBvEiiPN,CuE9hPI,cACE,oBvEgiPN,CuE7hPI,cACE,qBvE+hPN,CuExhPI,4BAHE,mBvEkiPN,CuE/hPI,cACE,oBvE8hPN,CuE1hPI,cACE,kBCjEA,CDkEA,qBvE4hPN,CuExhPI,aACE,qBAAA,CACA,qBvE0hPN,CuEvhPI,cACE,qBvEyhPN,CuEthPI,cACE,qBvEwhPN,CuEphPI,eACE,UvEshPN,CuEnhPI,iBACE,iBvEqhPN,CuElhPI,iBACE,cvEohPN,CuExmPI,aACE,YvE0mPN,CuEvmPI,cACE,gBvEymPN,CuEtmPI,cACE,kBvEwmPN,CuErmPI,cACE,mBvEumPN,CuEhmPI,4BAHE,iBvE0mPN,CuEvmPI,cACE,kBvEsmPN,CuElmPI,cACE,gBCnCA,CDoCA,mBvEomPN,CuEjmPI,aACE,avEmmPN,CuEhmPI,cACE,iBvEkmPN,CuE/lPI,cACE,mBvEimPN,CuE9lPI,cACE,oBvEgmPN,CuEzlPI,4BAHE,kBvEmmPN,CuEhmPI,cACE,mBvE+lPN,CuE3lPI,cACE,iBCjEA,CDkEA,oBvE6lPN,CuEzlPI,aACE,oBAAA,CACA,oBvE2lPN,CuExlPI,cACE,oBvE0lPN,CuEvlPI,cACE,oBvEylPN,CuErlPI,eACE,SvEulPN,CuEplPI,iBACE,gBvEslPN,CuEnlPI,iBACE,avEqlPN,CuEzqPI,aACE,WvE2qPN,CuExqPI,cACE,evE0qPN,CuEvqPI,cACE,iBvEyqPN,CuEtqPI,cACE,kBvEwqPN,CuEjqPI,4BAHE,gBvE2qPN,CuExqPI,cACE,iBvEuqPN,CuEnqPI,cACE,eCnCA,CDoCA,kBvEqqPN,CuElqPI,aACE,YvEoqPN,CuEjqPI,cACE,gBvEmqPN,CuEhqPI,cACE,kBvEkqPN,CuE/pPI,cACE,mBvEiqPN,CuE1pPI,4BAHE,iBvEoqPN,CuEjqPI,cACE,kBvEgqPN,CuE5pPI,cACE,gBCjEA,CDkEA,mBvE8pPN,CuE1pPI,aACE,kBAAA,CACA,kBvE4pPN,CuEzpPI,cACE,kBvE2pPN,CuExpPI,cACE,kBvE0pPN,CuEtpPI,eACE,QvEwpPN,CuErpPI,iBACE,evEupPN,CuEppPI,iBACE,YvEspPN,CuE1uPI,aACE,avE4uPN,CuEzuPI,cACE,iBvE2uPN,CuExuPI,cACE,mBvE0uPN,CuEvuPI,cACE,oBvEyuPN,CuEluPI,4BAHE,kBvE4uPN,CuEzuPI,cACE,mBvEwuPN,CuEpuPI,cACE,iBCnCA,CDoCA,oBvEsuPN,CuEnuPI,aACE,cvEquPN,CuEluPI,cACE,kBvEouPN,CuEjuPI,cACE,oBvEmuPN,CuEhuPI,cACE,qBvEkuPN,CuE3tPI,4BAHE,mBvEquPN,CuEluPI,cACE,oBvEiuPN,CuE7tPI,cACE,kBCjEA,CDkEA,qBvE+tPN,CuE3tPI,aACE,oBAAA,CACA,oBvE6tPN,CuE1tPI,cACE,oBvE4tPN,CuEztPI,cACE,oBvE2tPN,CuEvtPI,eACE,UvEytPN,CuEttPI,iBACE,iBvEwtPN,CuErtPI,iBACE,cvEutPN,CuE3yPI,aACE,WvE6yPN,CuE1yPI,cACE,evE4yPN,CuEzyPI,cACE,iBvE2yPN,CuExyPI,cACE,kBvE0yPN,CuEnyPI,4BAHE,gBvE6yPN,CuE1yPI,cACE,iBvEyyPN,CuEryPI,cACE,eCnCA,CDoCA,kBvEuyPN,CuEpyPI,aACE,YvEsyPN,CuEnyPI,cACE,gBvEqyPN,CuElyPI,cACE,kBvEoyPN,CuEjyPI,cACE,mBvEmyPN,CuE5xPI,4BAHE,iBvEsyPN,CuEnyPI,cACE,kBvEkyPN,CuE9xPI,cACE,gBCjEA,CDkEA,mBvEgyPN,CuE5xPI,aACE,kBAAA,CACA,kBvE8xPN,CuE3xPI,cACE,kBvE6xPN,CuE1xPI,cACE,kBvE4xPN,CuExxPI,eACE,QvE0xPN,CuEvxPI,iBACE,evEyxPN,CuEtxPI,iBACE,YvEwxPN,CuEpxPE,gBACE,WvEsxPJ,CuEnxPE,iBACE,evEqxPJ,CuElxPE,iBACE,iBvEoxPJ,CuEjxPE,iBACE,kBvEmxPJ,CuEhxPE,iBACE,gBvEkxPJ,CuE/wPE,iBACE,iBAAA,CACA,gBvEixPJ,CuE9wPE,iBACE,eAAA,CACA,kBvEgxPJ,CACF,CUt3PE,0B6DdI,cACE,QvEu4PN,CuEp4PI,eACE,YvEs4PN,CuEn4PI,eACE,cvEq4PN,CuEl4PI,eACE,evEo4PN,CuEj4PI,eACE,avEm4PN,CuEh4PI,eACE,cC9BA,CD+BA,avEk4PN,CuE/3PI,eACE,YCnCA,CDoCA,evEi4PN,CuE93PI,cACE,SvEg4PN,CuE73PI,eACE,avE+3PN,CuE53PI,eACE,evE83PN,CuE33PI,eACE,gBvE63PN,CuE13PI,eACE,cvE43PN,CuEz3PI,eACE,eC5DA,CD6DA,cvE23PN,CuEx3PI,eACE,aCjEA,CDkEA,gBvE03PN,CuEt3PI,cACE,eAAA,CACA,evEw3PN,CuEr3PI,eACE,evEu3PN,CuEp3PI,eACE,evEs3PN,CuEl3PI,gBACE,KvEo3PN,CuEj3PI,kBACE,YvEm3PN,CuEh3PI,kBACE,SvEk3PN,CuEt8PI,cACE,avEw8PN,CuEr8PI,eACE,iBvEu8PN,CuEp8PI,eACE,mBvEs8PN,CuEn8PI,eACE,oBvEq8PN,CuE97PI,8BAHE,kBvEw8PN,CuEr8PI,eACE,mBvEo8PN,CuEh8PI,eACE,iBCnCA,CDoCA,oBvEk8PN,CuE/7PI,cACE,cvEi8PN,CuE97PI,eACE,kBvEg8PN,CuE77PI,eACE,oBvE+7PN,CuE57PI,eACE,qBvE87PN,CuEv7PI,8BAHE,mBvEi8PN,CuE97PI,eACE,oBvE67PN,CuEz7PI,eACE,kBCjEA,CDkEA,qBvE27PN,CuEv7PI,cACE,qBAAA,CACA,qBvEy7PN,CuEt7PI,eACE,qBvEw7PN,CuEr7PI,eACE,qBvEu7PN,CuEn7PI,gBACE,UvEq7PN,CuEl7PI,kBACE,iBvEo7PN,CuEj7PI,kBACE,cvEm7PN,CuEvgQI,cACE,YvEygQN,CuEtgQI,eACE,gBvEwgQN,CuErgQI,eACE,kBvEugQN,CuEpgQI,eACE,mBvEsgQN,CuE//PI,8BAHE,iBvEygQN,CuEtgQI,eACE,kBvEqgQN,CuEjgQI,eACE,gBCnCA,CDoCA,mBvEmgQN,CuEhgQI,cACE,avEkgQN,CuE//PI,eACE,iBvEigQN,CuE9/PI,eACE,mBvEggQN,CuE7/PI,eACE,oBvE+/PN,CuEx/PI,8BAHE,kBvEkgQN,CuE//PI,eACE,mBvE8/PN,CuE1/PI,eACE,iBCjEA,CDkEA,oBvE4/PN,CuEx/PI,cACE,oBAAA,CACA,oBvE0/PN,CuEv/PI,eACE,oBvEy/PN,CuEt/PI,eACE,oBvEw/PN,CuEp/PI,gBACE,SvEs/PN,CuEn/PI,kBACE,gBvEq/PN,CuEl/PI,kBACE,avEo/PN,CuExkQI,cACE,WvE0kQN,CuEvkQI,eACE,evEykQN,CuEtkQI,eACE,iBvEwkQN,CuErkQI,eACE,kBvEukQN,CuEhkQI,8BAHE,gBvE0kQN,CuEvkQI,eACE,iBvEskQN,CuElkQI,eACE,eCnCA,CDoCA,kBvEokQN,CuEjkQI,cACE,YvEmkQN,CuEhkQI,eACE,gBvEkkQN,CuE/jQI,eACE,kBvEikQN,CuE9jQI,eACE,mBvEgkQN,CuEzjQI,8BAHE,iBvEmkQN,CuEhkQI,eACE,kBvE+jQN,CuE3jQI,eACE,gBCjEA,CDkEA,mBvE6jQN,CuEzjQI,cACE,kBAAA,CACA,kBvE2jQN,CuExjQI,eACE,kBvE0jQN,CuEvjQI,eACE,kBvEyjQN,CuErjQI,gBACE,QvEujQN,CuEpjQI,kBACE,evEsjQN,CuEnjQI,kBACE,YvEqjQN,CuEzoQI,cACE,avE2oQN,CuExoQI,eACE,iBvE0oQN,CuEvoQI,eACE,mBvEyoQN,CuEtoQI,eACE,oBvEwoQN,CuEjoQI,8BAHE,kBvE2oQN,CuExoQI,eACE,mBvEuoQN,CuEnoQI,eACE,iBCnCA,CDoCA,oBvEqoQN,CuEloQI,cACE,cvEooQN,CuEjoQI,eACE,kBvEmoQN,CuEhoQI,eACE,oBvEkoQN,CuE/nQI,eACE,qBvEioQN,CuE1nQI,8BAHE,mBvEooQN,CuEjoQI,eACE,oBvEgoQN,CuE5nQI,eACE,kBCjEA,CDkEA,qBvE8nQN,CuE1nQI,cACE,oBAAA,CACA,oBvE4nQN,CuEznQI,eACE,oBvE2nQN,CuExnQI,eACE,oBvE0nQN,CuEtnQI,gBACE,UvEwnQN,CuErnQI,kBACE,iBvEunQN,CuEpnQI,kBACE,cvEsnQN,CuE1sQI,cACE,WvE4sQN,CuEzsQI,eACE,evE2sQN,CuExsQI,eACE,iBvE0sQN,CuEvsQI,eACE,kBvEysQN,CuElsQI,8BAHE,gBvE4sQN,CuEzsQI,eACE,iBvEwsQN,CuEpsQI,eACE,eCnCA,CDoCA,kBvEssQN,CuEnsQI,cACE,YvEqsQN,CuElsQI,eACE,gBvEosQN,CuEjsQI,eACE,kBvEmsQN,CuEhsQI,eACE,mBvEksQN,CuE3rQI,8BAHE,iBvEqsQN,CuElsQI,eACE,kBvEisQN,CuE7rQI,eACE,gBCjEA,CDkEA,mBvE+rQN,CuE3rQI,cACE,kBAAA,CACA,kBvE6rQN,CuE1rQI,eACE,kBvE4rQN,CuEzrQI,eACE,kBvE2rQN,CuEvrQI,gBACE,QvEyrQN,CuEtrQI,kBACE,evEwrQN,CuErrQI,kBACE,YvEurQN,CuEnrQE,iBACE,WvEqrQJ,CuElrQE,kBACE,evEorQJ,CuEjrQE,kBACE,iBvEmrQJ,CuEhrQE,kBACE,kBvEkrQJ,CuE/qQE,kBACE,gBvEirQJ,CuE9qQE,kBACE,iBAAA,CACA,gBvEgrQJ,CuE7qQE,kBACE,eAAA,CACA,kBvE+qQJ,CACF,CUrxQE,0B6DdI,eACE,QvEsyQN,CuEnyQI,gBACE,YvEqyQN,CuElyQI,gBACE,cvEoyQN,CuEjyQI,gBACE,evEmyQN,CuEhyQI,gBACE,avEkyQN,CuE/xQI,gBACE,cC9BA,CD+BA,avEiyQN,CuE9xQI,gBACE,YCnCA,CDoCA,evEgyQN,CuE7xQI,eACE,SvE+xQN,CuE5xQI,gBACE,avE8xQN,CuE3xQI,gBACE,evE6xQN,CuE1xQI,gBACE,gBvE4xQN,CuEzxQI,gBACE,cvE2xQN,CuExxQI,gBACE,eC5DA,CD6DA,cvE0xQN,CuEvxQI,gBACE,aCjEA,CDkEA,gBvEyxQN,CuErxQI,eACE,eAAA,CACA,evEuxQN,CuEpxQI,gBACE,evEsxQN,CuEnxQI,gBACE,evEqxQN,CuEjxQI,iBACE,KvEmxQN,CuEhxQI,mBACE,YvEkxQN,CuE/wQI,mBACE,SvEixQN,CuEr2QI,eACE,avEu2QN,CuEp2QI,gBACE,iBvEs2QN,CuEn2QI,gBACE,mBvEq2QN,CuEl2QI,gBACE,oBvEo2QN,CuE71QI,gCAHE,kBvEu2QN,CuEp2QI,gBACE,mBvEm2QN,CuE/1QI,gBACE,iBCnCA,CDoCA,oBvEi2QN,CuE91QI,eACE,cvEg2QN,CuE71QI,gBACE,kBvE+1QN,CuE51QI,gBACE,oBvE81QN,CuE31QI,gBACE,qBvE61QN,CuEt1QI,gCAHE,mBvEg2QN,CuE71QI,gBACE,oBvE41QN,CuEx1QI,gBACE,kBCjEA,CDkEA,qBvE01QN,CuEt1QI,eACE,qBAAA,CACA,qBvEw1QN,CuEr1QI,gBACE,qBvEu1QN,CuEp1QI,gBACE,qBvEs1QN,CuEl1QI,iBACE,UvEo1QN,CuEj1QI,mBACE,iBvEm1QN,CuEh1QI,mBACE,cvEk1QN,CuEt6QI,eACE,YvEw6QN,CuEr6QI,gBACE,gBvEu6QN,CuEp6QI,gBACE,kBvEs6QN,CuEn6QI,gBACE,mBvEq6QN,CuE95QI,gCAHE,iBvEw6QN,CuEr6QI,gBACE,kBvEo6QN,CuEh6QI,gBACE,gBCnCA,CDoCA,mBvEk6QN,CuE/5QI,eACE,avEi6QN,CuE95QI,gBACE,iBvEg6QN,CuE75QI,gBACE,mBvE+5QN,CuE55QI,gBACE,oBvE85QN,CuEv5QI,gCAHE,kBvEi6QN,CuE95QI,gBACE,mBvE65QN,CuEz5QI,gBACE,iBCjEA,CDkEA,oBvE25QN,CuEv5QI,eACE,oBAAA,CACA,oBvEy5QN,CuEt5QI,gBACE,oBvEw5QN,CuEr5QI,gBACE,oBvEu5QN,CuEn5QI,iBACE,SvEq5QN,CuEl5QI,mBACE,gBvEo5QN,CuEj5QI,mBACE,avEm5QN,CuEv+QI,eACE,WvEy+QN,CuEt+QI,gBACE,evEw+QN,CuEr+QI,gBACE,iBvEu+QN,CuEp+QI,gBACE,kBvEs+QN,CuE/9QI,gCAHE,gBvEy+QN,CuEt+QI,gBACE,iBvEq+QN,CuEj+QI,gBACE,eCnCA,CDoCA,kBvEm+QN,CuEh+QI,eACE,YvEk+QN,CuE/9QI,gBACE,gBvEi+QN,CuE99QI,gBACE,kBvEg+QN,CuE79QI,gBACE,mBvE+9QN,CuEx9QI,gCAHE,iBvEk+QN,CuE/9QI,gBACE,kBvE89QN,CuE19QI,gBACE,gBCjEA,CDkEA,mBvE49QN,CuEx9QI,eACE,kBAAA,CACA,kBvE09QN,CuEv9QI,gBACE,kBvEy9QN,CuEt9QI,gBACE,kBvEw9QN,CuEp9QI,iBACE,QvEs9QN,CuEn9QI,mBACE,evEq9QN,CuEl9QI,mBACE,YvEo9QN,CuExiRI,eACE,avE0iRN,CuEviRI,gBACE,iBvEyiRN,CuEtiRI,gBACE,mBvEwiRN,CuEriRI,gBACE,oBvEuiRN,CuEhiRI,gCAHE,kBvE0iRN,CuEviRI,gBACE,mBvEsiRN,CuEliRI,gBACE,iBCnCA,CDoCA,oBvEoiRN,CuEjiRI,eACE,cvEmiRN,CuEhiRI,gBACE,kBvEkiRN,CuE/hRI,gBACE,oBvEiiRN,CuE9hRI,gBACE,qBvEgiRN,CuEzhRI,gCAHE,mBvEmiRN,CuEhiRI,gBACE,oBvE+hRN,CuE3hRI,gBACE,kBCjEA,CDkEA,qBvE6hRN,CuEzhRI,eACE,oBAAA,CACA,oBvE2hRN,CuExhRI,gBACE,oBvE0hRN,CuEvhRI,gBACE,oBvEyhRN,CuErhRI,iBACE,UvEuhRN,CuEphRI,mBACE,iBvEshRN,CuEnhRI,mBACE,cvEqhRN,CuEzmRI,eACE,WvE2mRN,CuExmRI,gBACE,evE0mRN,CuEvmRI,gBACE,iBvEymRN,CuEtmRI,gBACE,kBvEwmRN,CuEjmRI,gCAHE,gBvE2mRN,CuExmRI,gBACE,iBvEumRN,CuEnmRI,gBACE,eCnCA,CDoCA,kBvEqmRN,CuElmRI,eACE,YvEomRN,CuEjmRI,gBACE,gBvEmmRN,CuEhmRI,gBACE,kBvEkmRN,CuE/lRI,gBACE,mBvEimRN,CuE1lRI,gCAHE,iBvEomRN,CuEjmRI,gBACE,kBvEgmRN,CuE5lRI,gBACE,gBCjEA,CDkEA,mBvE8lRN,CuE1lRI,eACE,kBAAA,CACA,kBvE4lRN,CuEzlRI,gBACE,kBvE2lRN,CuExlRI,gBACE,kBvE0lRN,CuEtlRI,iBACE,QvEwlRN,CuErlRI,mBACE,evEulRN,CuEplRI,mBACE,YvEslRN,CuEllRE,kBACE,WvEolRJ,CuEjlRE,mBACE,evEmlRJ,CuEhlRE,mBACE,iBvEklRJ,CuE/kRE,mBACE,kBvEilRJ,CuE9kRE,mBACE,gBvEglRJ,CuE7kRE,mBACE,iBAAA,CACA,gBvE+kRJ,CuE5kRE,mBACE,eAAA,CACA,kBvE8kRJ,CACF,CACF,CyEzsRA,iBACE,iBACE,ezE2sRF,CyExsRA,kBACE,iBzE0sRF,CyEvsRA,eACE,gBzEysRF,CyEtsRA,qBACE,wBzEwsRF,CyErsRA,qBACE,wBzEusRF,CyEpsRA,sBACE,yBzEssRF,CyEnsRA,oB/DiBA,eAAA,CACA,sBAAA,CACA,kBVqrRA,CyEpsRA,iBACE,ezEssRF,CyEnsRA,gBACE,ezEqsRF,CyElsRA,kBACE,ezEosRF,CyEjsRA,cACE,ezEmsRF,CyEhsRA,YACE,kBzEksRF,CyE/rRA,YACE,gBzEisRF,CyE9rRA,YACE,kBzEgsRF,CyE7rRA,YACE,czE+rRF,CyE5rRA,YACE,iBzE8rRF,CyE3rRA,YACE,iBzE6rRF,CyE1rRA,YACE,gBzE4rRF,CyEzrRA,YACE,mBzE2rRF,CyExrRA,YACE,kBzE0rRF,CyEvrRA,YACE,czEyrRF,CyEtrRA,YACE,iBzEwrRF,CyErrRA,gBACE,+BzEurRF,CyEprRA,gBACE,+BzEsrRF,C0EtxRA,cACE,kB1E0xRF,C0EvxRA,gBACE,iB1EyxRF,C0EtxRA,sDAEE,2BAAA,CACA,mBAAA,CACA,oBAAA,CACA,mBAAA,CACA,qBAAA,CACA,yBAAA,CACA,8BAAA,CACA,4BAAA,CACA,kB1EwxRF,C0ErxRA,mFAEE,yBAAA,CACA,oBAAA,CACA,qBAAA,CACA,kBAAA,CACA,0BAAA,CACA,wBAAA,CACA,4B1EuxRF,C2EpzRA,+BACE,yDAAA,CACA,qCAAA,CACA,qE3EwzRF,C2ErzRA,kDAEE,kBAAA,CACA,kCAAA,CACA,mB3EuzRF,CA1CF,C0ExxRA,iB1EszRA,C2EtzRA,iBAcE,aACE,mBAAqB,sB3EuzRrB,C2EtzRA,oBAAsB,uB3EyzRtB,CACF,CACF,C4Ej0RA,iBAGM,oBAAuB,2F5Ek0R3B,C4Ej0RI,iBAAoB,sG5Eo0RxB,C4Er0RI,sBAAuB,4F5Ew0R3B,C4Ev0RI,mBAAoB,uG5E00RxB,C4E30RI,oBAAuB,yF5E80R3B,C4E70RI,iBAAoB,oG5Eg1RxB,C4Ej1RI,oBAAuB,0F5Eo1R3B,C4En1RI,iBAAoB,qG5Es1RxB,C4Ev1RI,mBAAuB,yF5E01R3B,C4Ez1RI,gBAAoB,oG5E41RxB,C4E71RI,iBAAuB,wF5Eg2R3B,C4E/1RI,cAAoB,mG5Ek2RxB,C4E51RI,UAAmB,kB5E+1RvB,C4E91RI,WAAoB,yB5Ei2RxB,C4Eh2RI,WAAoB,wB5Em2RxB,C4El2RI,UAAmB,mB5Eq2RvB,C4Ep2RI,WAAoB,0B5Eu2RxB,C4Et2RI,WAAoB,yB5Ey2RxB,C4E92RI,UAAmB,uB5Ei3RvB,C4Eh3RI,WAAoB,8B5Em3RxB,C4El3RI,WAAoB,6B5Eq3RxB,C4Ep3RI,UAAmB,wB5Eu3RvB,C4Et3RI,WAAoB,+B5Ey3RxB,C4Ex3RI,WAAoB,8B5E23RxB,C4Eh4RI,UAAmB,sB5Em4RvB,C4El4RI,WAAoB,6B5Eq4RxB,C4Ep4RI,WAAoB,4B5Eu4RxB,C4Et4RI,UAAmB,uB5Ey4RvB,C4Ex4RI,WAAoB,8B5E24RxB,C4E14RI,WAAoB,6B5E64RxB,C4El5RI,UAAmB,qB5Eq5RvB,C4Ep5RI,WAAoB,4B5Eu5RxB,C4Et5RI,WAAoB,2B5Ey5RxB,C4Ex5RI,UAAmB,sB5E25RvB,C4E15RI,WAAoB,6B5E65RxB,C4E55RI,WAAoB,4B5E+5RxB,C4Ep6RI,UAAmB,uB5Eu6RvB,C4Et6RI,WAAoB,8B5Ey6RxB,C4Ex6RI,WAAoB,6B5E26RxB,C4E16RI,UAAmB,wB5E66RvB,C4E56RI,WAAoB,+B5E+6RxB,C4E96RI,WAAoB,8B5Ei7RxB,C4Et7RI,UAAmB,qB5Ey7RvB,C4Ex7RI,WAAoB,4B5E27RxB,C4E17RI,WAAoB,2B5E67RxB,C4E57RI,UAAmB,sB5E+7RvB,C4E97RI,WAAoB,6B5Ei8RxB,C4Eh8RI,WAAoB,4B5Em8RxB,C4E77RI,WAAmB,mB5Eg8RvB,C4E/7RI,WAAmB,oB5Ek8RvB,C4En8RI,WAAmB,mB5Es8RvB,C4Er8RI,WAAmB,oB5Ew8RvB,C4Ez8RI,WAAmB,mB5E48RvB,C4E38RI,WAAmB,oB5E88RvB,C4E/8RI,YAAmB,oB5Ek9RvB,C4Ej9RI,YAAmB,qB5Eo9RvB,C4Er9RI,aAAmB,oB5Ew9RvB,C4Ev9RI,aAAmB,qB5E09RvB,C4En9RM,yBACE,gBAA8B,sB5Es9RpC,C4Er9RM,gBAA8B,sB5Ew9RpC,C4Ev9RM,oBAAkC,0B5E09RxC,CACF,C4E99RM,yBACE,gBAA8B,sB5Ei+RpC,C4Eh+RM,gBAA8B,sB5Em+RpC,C4El+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","file":"fokus.min.css","sourcesContent":["@use \"../../../fokus-core/scss/settings\" as *;\n@use \"../../../fokus-core/scss/tools\" as *;\n\n// Estilos exclusivos do DataTable (`js/datatable.js`) — a tabela, a\n// paginação e o empty state em si reusam `.fs-table`/`.fs-pagination`/\n// `.fs-empty-state` já existentes, sem duplicação.\n\n@layer components {\n .fs-datatable-toolbar {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-bottom: 12px;\n }\n\n .fs-datatable-sort-btn {\n display: inline-flex;\n align-items: center;\n width: 100%;\n padding: 0;\n border: 0;\n background-color: var(--fs-color-surface-raised);\n color: inherit;\n font: inherit;\n text-transform: inherit;\n text-align: left;\n cursor: pointer;\n }\n\n .fs-datatable-sort-btn:focus-visible {\n @include focus-ring;\n }\n\n .fs-datatable-sort-btn::after {\n flex-shrink: 0;\n margin-left: auto;\n padding-left: 4px;\n color: var(--fs-color-muted);\n font-size: $font-size-xs;\n content: \"↕\";\n }\n\n th[aria-sort=\"ascending\"] .fs-datatable-sort-btn::after {\n color: var(--fs-color-text);\n content: \"↑\";\n }\n\n th[aria-sort=\"descending\"] .fs-datatable-sort-btn::after {\n color: var(--fs-color-text);\n content: \"↓\";\n }\n\n .fs-datatable [data-fs-datatable-pagination] {\n display: flex;\n justify-content: flex-end;\n margin-top: 12px;\n }\n\n .fs-datatable td:focus-visible,\n .fs-datatable th:focus-visible {\n @include focus-ring;\n\n outline-offset: -2px;\n }\n}\n","@charset \"UTF-8\";\n@layer reset, tokens, base, layout, components, utilities, overrides;\n@layer tokens {\n :root {\n --fs-color-white: #ffffff;\n --fs-color-black: #000000;\n --fs-color-text: #1e293b;\n --fs-color-muted: #64748b;\n --fs-color-border: #e2e8f0;\n --fs-color-surface: #ffffff;\n --fs-color-subtle: #f8fafc;\n --fs-font-sans: Plus Jakarta Sans, sans-serif;\n --fs-font-mono: Source Code Pro, monospace;\n --fs-font-size-md: 0.8125rem;\n --fs-font-size-h1: 1.75rem;\n --fs-font-size-h2: 1.5rem;\n --fs-font-size-h3: 1.3125rem;\n --fs-font-size-h4: 1.125rem;\n --fs-font-size-h5: 1rem;\n --fs-font-size-h6: 0.875rem;\n --fs-font-weight-semibold: 600;\n --fs-line-height-base: 1.5;\n --fs-line-height-heading: 1.25;\n --fs-radius-sm: 4px;\n --fs-radius-md: 6px;\n --fs-radius-lg: 8px;\n --fs-gutter-x: 1.5rem;\n --fs-gutter-y: 0px;\n --fs-space-0: 0;\n --fs-space-1: 0.25rem;\n --fs-space-2: 0.5rem;\n --fs-space-3: 1rem;\n --fs-space-4: 1.5rem;\n --fs-space-5: 3rem;\n --fs-z-base: 0;\n --fs-z-dropdown: 1000;\n --fs-z-sticky: 1020;\n --fs-z-modal: 1050;\n --fs-z-offcanvas: 1060;\n --fs-z-notification: 1080;\n --fs-z-toast: 1090;\n --fs-z-tooltip: 1100;\n --fs-control-height: 38px;\n --fs-control-height-sm: 30px;\n --fs-control-height-lg: 46px;\n --fs-control-padding-x: 12px;\n --fs-control-padding-x-sm: 8px;\n --fs-control-padding-x-lg: 16px;\n --fs-focus-width: 2px;\n --fs-focus-offset: 2px;\n --fs-focus-color: var(--fs-color-primary);\n --fs-focus-ring-size: 3px;\n --fs-focus-ring-color: color-mix(in srgb, var(--fs-focus-color) 22%, transparent);\n --fs-focus-ring-alpha: 22%;\n --fs-transition-fast: 150ms;\n --fs-transition-normal: 220ms;\n --fs-motion-duration-fast: var(--fs-transition-fast);\n --fs-motion-duration-normal: var(--fs-transition-normal);\n --fs-motion-ease-standard: var(--fs-ease-standard);\n --fs-ease-standard: cubic-bezier(0.2, 0, 0, 1);\n --fs-border-width: 1px;\n --fs-disabled-opacity: 0.5;\n --fs-safe-area-top: env(safe-area-inset-top, 0px);\n --fs-safe-area-right: env(safe-area-inset-right, 0px);\n --fs-safe-area-bottom: env(safe-area-inset-bottom, 0px);\n --fs-safe-area-left: env(safe-area-inset-left, 0px);\n --fs-component-control-height: var(--fs-control-height);\n --fs-component-overlay-backdrop: rgb(0 0 0 / 55%);\n --fs-component-panel-radius: var(--fs-radius-md);\n --fs-component-panel-shadow: var(--fs-shadow-lg);\n --fs-cq-sm: 320px;\n --fs-cq-md: 480px;\n --fs-cq-lg: 640px;\n --fs-shadow-sm: 0 1px 3px rgb(0 0 0 / 15%), 0 1px 2px rgb(0 0 0 / 10%);\n --fs-shadow-md: 0 6px 12px rgb(0 0 0 / 15%), 0 3px 6px rgb(0 0 0 / 10%);\n --fs-shadow-lg: 0 15px 30px rgb(0 0 0 / 18%), 0 6px 12px rgb(0 0 0 / 12%);\n --fs-tooltip-bg: #1e293b;\n --fs-tooltip-text: #ffffff;\n --fs-color-primary: #1a61e6;\n --fs-color-on-primary: #ffffff;\n --fs-alert-primary-bg: rgb(220.3846532222, 232.689549371, 254.1042117072);\n --fs-alert-primary-text: rgb(4.2540793692, 32.6552622518, 88.5748738661);\n --fs-color-secondary: #64748b;\n --fs-color-on-secondary: #ffffff;\n --fs-alert-secondary-bg: rgb(230.2895610064, 233.0325853352, 236.9919508609);\n --fs-alert-secondary-text: rgb(33.9166068747, 40.6437781967, 50.3140869721);\n --fs-color-success: rgb(13, 209, 87);\n --fs-color-on-success: #000000;\n --fs-alert-success-bg: rgb(228.9046733915, 249.1514320752, 230.8709345684);\n --fs-alert-success-text: rgb(1.6574790861, 79.745461506, 28.4507801755);\n --fs-color-warning: #fab633;\n --fs-color-on-warning: #000000;\n --fs-alert-warning-bg: rgb(254.9170612621, 244.6528756631, 228.9710928247);\n --fs-alert-warning-text: rgb(96.9838380187, 68.3933599001, 13.3146447009);\n --fs-color-danger: #cc3335;\n --fs-color-on-danger: #ffffff;\n --fs-alert-danger-bg: rgb(251.9225977632, 226.389403069, 223.5618211362);\n --fs-alert-danger-text: rgb(77.6432204678, 13.3146447009, 14.1555411162);\n --fs-color-info: #5e5cc7;\n --fs-color-on-info: #ffffff;\n --fs-alert-info-bg: rgb(228.2395257626, 230.4806192824, 248.3934544766);\n --fs-alert-info-text: rgb(31.3939176289, 30.5530212136, 75.5409794297);\n --fs-feedback-primary-bg: #e6f0ff;\n --fs-feedback-secondary-bg: #f8fafc;\n --fs-feedback-success-bg: #e6fff2;\n --fs-feedback-warning-bg: #fff9e6;\n --fs-feedback-danger-bg: #fff2f3;\n --fs-feedback-info-bg: #f2f2ff;\n }\n @supports (color: oklch(0% 0 0deg)) {\n :root {\n --fs-color-text: oklch(27.9495237712% 0.0368481257 260.0309873929deg);\n --fs-color-muted: oklch(55.4391007662% 0.040717043 257.4166191214deg);\n --fs-color-border: oklch(92.876126719% 0.0126187744 255.5078854448deg);\n --fs-color-subtle: oklch(98.4151869501% 0.0034126992 247.8577745944deg);\n --fs-tooltip-bg: oklch(27.9495237712% 0.0368481257 260.0309873929deg);\n --fs-color-primary: oklch(53.5630074284% 0.2132145174 261.6264320248deg);\n --fs-color-on-primary: #ffffff;\n --fs-alert-primary-bg: oklch(93.0344511143% 0.0319821776 261.6264320248deg);\n --fs-alert-primary-text: oklch(26.7815037142% 0.1066072587 261.6264320248deg);\n --fs-color-secondary: oklch(55.4391007662% 0.040717043 257.4166191214deg);\n --fs-color-on-secondary: #ffffff;\n --fs-alert-secondary-bg: oklch(93.3158651149% 0.0061075564 257.4166191214deg);\n --fs-alert-secondary-text: oklch(27.7195503831% 0.0203585215 257.4166191214deg);\n --fs-color-success: oklch(75.151587899% 0.2146126169 148.125846236deg);\n --fs-color-on-success: #000000;\n --fs-alert-success-bg: oklch(96.2727381849% 0.0321918925 148.125846236deg);\n --fs-alert-success-text: oklch(37.5757939495% 0.1073063085 148.125846236deg);\n --fs-color-warning: oklch(81.9510815663% 0.1562613975 78.6575213966deg);\n --fs-color-on-warning: #000000;\n --fs-alert-warning-bg: oklch(97.2926622349% 0.0234392096 78.6575213966deg);\n --fs-alert-warning-text: oklch(40.9755407832% 0.0781306987 78.6575213966deg);\n --fs-color-danger: oklch(55.9653139301% 0.1897270855 25.2407937498deg);\n --fs-color-on-danger: #ffffff;\n --fs-alert-danger-bg: oklch(93.3947970895% 0.0284590628 25.2407937498deg);\n --fs-alert-danger-text: oklch(27.982656965% 0.0948635427 25.2407937498deg);\n --fs-color-info: oklch(53.3359780029% 0.1620131129 280.2231949375deg);\n --fs-color-on-info: #ffffff;\n --fs-alert-info-bg: oklch(93.0003967004% 0.0243019669 280.2231949375deg);\n --fs-alert-info-text: oklch(26.6679890014% 0.0810065564 280.2231949375deg);\n --fs-feedback-primary-bg: oklch(95.2067827456% 0.0228899025 258.359342143deg);\n --fs-feedback-secondary-bg: oklch(98.4151869501% 0.0034126992 247.8577745944deg);\n --fs-feedback-success-bg: oklch(97.8305614459% 0.0311593614 163.2740567608deg);\n --fs-feedback-warning-bg: oklch(98.17094418% 0.025708244 92.3886876566deg);\n --fs-feedback-danger-bg: oklch(97.1603097552% 0.0140720277 12.0135639679deg);\n --fs-feedback-info-bg: oklch(96.4918490239% 0.0173174767 286.0707018324deg);\n }\n }\n}\n@layer tokens {\n :root {\n --fs-color-bg-surface: var(--fs-color-surface);\n --fs-color-bg-subtle: var(--fs-color-subtle);\n --fs-color-text-primary: var(--fs-color-text);\n --fs-color-text-muted: var(--fs-color-muted);\n --fs-color-border-default: var(--fs-color-border);\n --fs-color-focus: var(--fs-color-primary);\n --fs-color-surface-raised: var(--fs-color-surface);\n --fs-color-surface-interactive: var(--fs-color-subtle);\n --fs-color-action-primary: var(--fs-color-primary);\n --fs-color-action-danger: var(--fs-color-danger);\n }\n}\n@layer tokens {\n :root {\n --fs-chart-series-1: var(--fs-color-primary);\n --fs-chart-series-2: var(--fs-color-success);\n --fs-chart-series-3: var(--fs-color-warning);\n --fs-chart-series-4: var(--fs-color-danger);\n --fs-chart-series-5: var(--fs-color-info);\n --fs-chart-series-6: var(--fs-color-secondary);\n --fs-chart-grid: var(--fs-color-border);\n --fs-chart-axis: var(--fs-color-muted);\n --fs-chart-tooltip-bg: var(--fs-tooltip-bg);\n --fs-chart-tooltip-text: var(--fs-tooltip-text);\n }\n}\n@layer reset {\n *,\n *::before,\n *::after {\n box-sizing: border-box;\n }\n html {\n line-height: var(--fs-line-height-base);\n text-size-adjust: 100%;\n }\n body {\n margin: 0;\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface);\n }\n [hidden] {\n display: none !important;\n }\n}\n@layer base {\n body,\n button,\n input,\n select,\n textarea {\n font-family: var(--fs-font-sans);\n font-size: var(--fs-font-size-md);\n }\n code,\n kbd,\n pre,\n samp {\n font-family: var(--fs-font-mono);\n }\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n margin-top: 0;\n font-weight: var(--fs-font-weight-semibold);\n line-height: var(--fs-line-height-heading);\n }\n h1 {\n font-size: var(--fs-font-size-h1);\n }\n h2 {\n font-size: var(--fs-font-size-h2);\n }\n h3 {\n font-size: var(--fs-font-size-h3);\n }\n h4 {\n font-size: var(--fs-font-size-h4);\n }\n h5 {\n font-size: var(--fs-font-size-h5);\n }\n h6 {\n font-size: var(--fs-font-size-h6);\n }\n}\n@layer base {\n @media (prefers-reduced-motion: reduce) {\n *,\n *::before,\n *::after {\n scroll-behavior: auto !important;\n transition-duration: 0.01ms !important;\n animation-duration: 0.01ms !important;\n animation-iteration-count: 1 !important;\n }\n .fs-spinner,\n .fs-progress-bar-animated,\n .fs-progress-indeterminate .fs-progress-bar {\n animation-duration: 1.5s !important;\n animation-iteration-count: infinite !important;\n }\n }\n}\n/* stylelint-disable property-no-deprecated, selector-not-notation */\n@layer reset {\n :focus-visible {\n outline: var(--fs-focus-width) solid var(--fs-focus-color);\n outline-offset: var(--fs-focus-offset);\n }\n @media (forced-colors: active) {\n :focus-visible {\n outline: 2px solid CanvasText;\n outline-offset: 2px;\n }\n }\n}\n@layer utilities {\n .fs-u-visually-hidden:not(:focus):not(:focus-within),\n .fs-u-visually-hidden-focusable:not(:focus):not(:focus-within) {\n position: absolute !important;\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n margin: -1px !important;\n overflow: hidden !important;\n clip-path: inset(50%) !important;\n white-space: nowrap !important;\n border: 0 !important;\n }\n .fs-skip-link {\n position: fixed;\n z-index: 1000;\n inset-block-start: var(--fs-space-2);\n inset-inline-start: var(--fs-space-2);\n transform: translateY(-200%);\n padding: var(--fs-space-2) var(--fs-space-3);\n color: var(--fs-color-on-primary);\n background: var(--fs-color-primary);\n border-radius: var(--fs-radius-sm);\n }\n .fs-skip-link:focus {\n transform: translateY(0);\n }\n}\n@layer layout {\n .fs-cluster {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--fs-cluster-gap, 0.5rem);\n }\n .fs-cluster-gap-0 {\n --fs-cluster-gap: 0;\n }\n .fs-cluster-gap-1 {\n --fs-cluster-gap: 0.25rem;\n }\n .fs-cluster-gap-2 {\n --fs-cluster-gap: 0.5rem;\n }\n .fs-cluster-gap-3 {\n --fs-cluster-gap: 1rem;\n }\n .fs-cluster-gap-4 {\n --fs-cluster-gap: 1.5rem;\n }\n .fs-cluster-gap-5 {\n --fs-cluster-gap: 3rem;\n }\n}\n@layer layout {\n .fs-container,\n .fs-container-sm,\n .fs-container-md,\n .fs-container-lg,\n .fs-container-xl,\n .fs-container-xxl,\n .fs-container-xxxl,\n .fs-container-fluid {\n width: 100%;\n margin-right: auto;\n margin-left: auto;\n }\n @media (min-width: 640px) {\n .fs-container,\n .fs-container-sm {\n max-width: 600px;\n }\n }\n @media (min-width: 768px) {\n .fs-container,\n .fs-container-md {\n max-width: 720px;\n }\n }\n @media (min-width: 1024px) {\n .fs-container,\n .fs-container-lg {\n max-width: 960px;\n }\n }\n @media (min-width: 1280px) {\n .fs-container,\n .fs-container-xl {\n max-width: 1200px;\n }\n }\n @media (min-width: 1536px) {\n .fs-container,\n .fs-container-xxl {\n max-width: 1440px;\n }\n }\n @media (min-width: 1920px) {\n .fs-container,\n .fs-container-xxxl {\n max-width: 1800px;\n }\n }\n}\n@layer layout {\n .fs-row {\n display: flex;\n flex-wrap: wrap;\n margin-top: calc(var(--fs-gutter-y) * -1);\n margin-right: calc(var(--fs-gutter-x) / -2);\n margin-left: calc(var(--fs-gutter-x) / -2);\n }\n .fs-row > * {\n margin-top: var(--fs-gutter-y);\n padding-right: calc(var(--fs-gutter-x) / 2);\n padding-left: calc(var(--fs-gutter-x) / 2);\n }\n .fs-row-fluid {\n width: 100%;\n }\n .fs-col-fluid {\n width: 100%;\n }\n .fs-row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .fs-row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .fs-row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .fs-row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .fs-row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .fs-row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .fs-row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .fs-order-0 {\n order: 0;\n }\n .fs-order-1 {\n order: 1;\n }\n .fs-order-2 {\n order: 2;\n }\n .fs-order-3 {\n order: 3;\n }\n .fs-order-4 {\n order: 4;\n }\n .fs-order-5 {\n order: 5;\n }\n .fs-order-6 {\n order: 6;\n }\n .fs-order-7 {\n order: 7;\n }\n .fs-order-8 {\n order: 8;\n }\n .fs-order-9 {\n order: 9;\n }\n .fs-order-10 {\n order: 10;\n }\n .fs-order-11 {\n order: 11;\n }\n .fs-order-12 {\n order: 12;\n }\n .fs-col {\n flex: 1 0 0%;\n }\n .fs-col-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .fs-col-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .fs-col-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .fs-col-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .fs-col-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .fs-col-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .fs-col-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .fs-col-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .fs-col-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .fs-col-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .fs-col-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .fs-col-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .fs-col-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n @media (min-width: 640px) {\n .fs-row-cols-sm-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .fs-row-cols-sm-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .fs-row-cols-sm-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .fs-row-cols-sm-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .fs-row-cols-sm-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .fs-row-cols-sm-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .fs-row-cols-sm-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .fs-order-sm-0 {\n order: 0;\n }\n .fs-order-sm-1 {\n order: 1;\n }\n .fs-order-sm-2 {\n order: 2;\n }\n .fs-order-sm-3 {\n order: 3;\n }\n .fs-order-sm-4 {\n order: 4;\n }\n .fs-order-sm-5 {\n order: 5;\n }\n .fs-order-sm-6 {\n order: 6;\n }\n .fs-order-sm-7 {\n order: 7;\n }\n .fs-order-sm-8 {\n order: 8;\n }\n .fs-order-sm-9 {\n order: 9;\n }\n .fs-order-sm-10 {\n order: 10;\n }\n .fs-order-sm-11 {\n order: 11;\n }\n .fs-order-sm-12 {\n order: 12;\n }\n .fs-col-sm {\n flex: 1 0 0%;\n }\n .fs-col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .fs-col-sm-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .fs-col-sm-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .fs-col-sm-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .fs-col-sm-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .fs-col-sm-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .fs-col-sm-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .fs-col-sm-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .fs-col-sm-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .fs-col-sm-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .fs-col-sm-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .fs-col-sm-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .fs-col-sm-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n }\n @media (min-width: 768px) {\n .fs-row-cols-md-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .fs-row-cols-md-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .fs-row-cols-md-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .fs-row-cols-md-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .fs-row-cols-md-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .fs-row-cols-md-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .fs-row-cols-md-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .fs-order-md-0 {\n order: 0;\n }\n .fs-order-md-1 {\n order: 1;\n }\n .fs-order-md-2 {\n order: 2;\n }\n .fs-order-md-3 {\n order: 3;\n }\n .fs-order-md-4 {\n order: 4;\n }\n .fs-order-md-5 {\n order: 5;\n }\n .fs-order-md-6 {\n order: 6;\n }\n .fs-order-md-7 {\n order: 7;\n }\n .fs-order-md-8 {\n order: 8;\n }\n .fs-order-md-9 {\n order: 9;\n }\n .fs-order-md-10 {\n order: 10;\n }\n .fs-order-md-11 {\n order: 11;\n }\n .fs-order-md-12 {\n order: 12;\n }\n .fs-col-md {\n flex: 1 0 0%;\n }\n .fs-col-md-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .fs-col-md-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .fs-col-md-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .fs-col-md-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .fs-col-md-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .fs-col-md-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .fs-col-md-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .fs-col-md-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .fs-col-md-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .fs-col-md-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .fs-col-md-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .fs-col-md-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .fs-col-md-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n }\n @media (min-width: 1024px) {\n .fs-row-cols-lg-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .fs-row-cols-lg-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .fs-row-cols-lg-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .fs-row-cols-lg-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .fs-row-cols-lg-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .fs-row-cols-lg-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .fs-row-cols-lg-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .fs-order-lg-0 {\n order: 0;\n }\n .fs-order-lg-1 {\n order: 1;\n }\n .fs-order-lg-2 {\n order: 2;\n }\n .fs-order-lg-3 {\n order: 3;\n }\n .fs-order-lg-4 {\n order: 4;\n }\n .fs-order-lg-5 {\n order: 5;\n }\n .fs-order-lg-6 {\n order: 6;\n }\n .fs-order-lg-7 {\n order: 7;\n }\n .fs-order-lg-8 {\n order: 8;\n }\n .fs-order-lg-9 {\n order: 9;\n }\n .fs-order-lg-10 {\n order: 10;\n }\n .fs-order-lg-11 {\n order: 11;\n }\n .fs-order-lg-12 {\n order: 12;\n }\n .fs-col-lg {\n flex: 1 0 0%;\n }\n .fs-col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .fs-col-lg-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .fs-col-lg-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .fs-col-lg-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .fs-col-lg-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .fs-col-lg-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .fs-col-lg-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .fs-col-lg-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .fs-col-lg-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .fs-col-lg-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .fs-col-lg-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .fs-col-lg-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .fs-col-lg-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n }\n @media (min-width: 1280px) {\n .fs-row-cols-xl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .fs-row-cols-xl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .fs-row-cols-xl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .fs-row-cols-xl-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .fs-row-cols-xl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .fs-row-cols-xl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .fs-row-cols-xl-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .fs-order-xl-0 {\n order: 0;\n }\n .fs-order-xl-1 {\n order: 1;\n }\n .fs-order-xl-2 {\n order: 2;\n }\n .fs-order-xl-3 {\n order: 3;\n }\n .fs-order-xl-4 {\n order: 4;\n }\n .fs-order-xl-5 {\n order: 5;\n }\n .fs-order-xl-6 {\n order: 6;\n }\n .fs-order-xl-7 {\n order: 7;\n }\n .fs-order-xl-8 {\n order: 8;\n }\n .fs-order-xl-9 {\n order: 9;\n }\n .fs-order-xl-10 {\n order: 10;\n }\n .fs-order-xl-11 {\n order: 11;\n }\n .fs-order-xl-12 {\n order: 12;\n }\n .fs-col-xl {\n flex: 1 0 0%;\n }\n .fs-col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .fs-col-xl-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .fs-col-xl-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .fs-col-xl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .fs-col-xl-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .fs-col-xl-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .fs-col-xl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .fs-col-xl-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .fs-col-xl-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .fs-col-xl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .fs-col-xl-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .fs-col-xl-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .fs-col-xl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n }\n @media (min-width: 1536px) {\n .fs-row-cols-xxl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .fs-row-cols-xxl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .fs-row-cols-xxl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .fs-row-cols-xxl-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .fs-row-cols-xxl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .fs-row-cols-xxl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .fs-row-cols-xxl-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .fs-order-xxl-0 {\n order: 0;\n }\n .fs-order-xxl-1 {\n order: 1;\n }\n .fs-order-xxl-2 {\n order: 2;\n }\n .fs-order-xxl-3 {\n order: 3;\n }\n .fs-order-xxl-4 {\n order: 4;\n }\n .fs-order-xxl-5 {\n order: 5;\n }\n .fs-order-xxl-6 {\n order: 6;\n }\n .fs-order-xxl-7 {\n order: 7;\n }\n .fs-order-xxl-8 {\n order: 8;\n }\n .fs-order-xxl-9 {\n order: 9;\n }\n .fs-order-xxl-10 {\n order: 10;\n }\n .fs-order-xxl-11 {\n order: 11;\n }\n .fs-order-xxl-12 {\n order: 12;\n }\n .fs-col-xxl {\n flex: 1 0 0%;\n }\n .fs-col-xxl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .fs-col-xxl-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .fs-col-xxl-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .fs-col-xxl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .fs-col-xxl-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .fs-col-xxl-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .fs-col-xxl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .fs-col-xxl-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .fs-col-xxl-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .fs-col-xxl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .fs-col-xxl-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .fs-col-xxl-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .fs-col-xxl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n }\n @media (min-width: 1920px) {\n .fs-row-cols-xxxl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .fs-row-cols-xxxl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .fs-row-cols-xxxl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .fs-row-cols-xxxl-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .fs-row-cols-xxxl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .fs-row-cols-xxxl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .fs-row-cols-xxxl-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .fs-order-xxxl-0 {\n order: 0;\n }\n .fs-order-xxxl-1 {\n order: 1;\n }\n .fs-order-xxxl-2 {\n order: 2;\n }\n .fs-order-xxxl-3 {\n order: 3;\n }\n .fs-order-xxxl-4 {\n order: 4;\n }\n .fs-order-xxxl-5 {\n order: 5;\n }\n .fs-order-xxxl-6 {\n order: 6;\n }\n .fs-order-xxxl-7 {\n order: 7;\n }\n .fs-order-xxxl-8 {\n order: 8;\n }\n .fs-order-xxxl-9 {\n order: 9;\n }\n .fs-order-xxxl-10 {\n order: 10;\n }\n .fs-order-xxxl-11 {\n order: 11;\n }\n .fs-order-xxxl-12 {\n order: 12;\n }\n .fs-col-xxxl {\n flex: 1 0 0%;\n }\n .fs-col-xxxl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .fs-col-xxxl-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .fs-col-xxxl-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .fs-col-xxxl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .fs-col-xxxl-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .fs-col-xxxl-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .fs-col-xxxl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .fs-col-xxxl-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .fs-col-xxxl-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .fs-col-xxxl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .fs-col-xxxl-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .fs-col-xxxl-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .fs-col-xxxl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n }\n}\n@layer layout {\n .fs-sidebar {\n display: flex;\n flex-wrap: wrap;\n gap: var(--fs-sidebar-gap, 1rem);\n }\n .fs-sidebar-aside {\n flex-basis: var(--fs-sidebar-width, 16rem);\n flex-grow: 1;\n }\n .fs-sidebar-content {\n flex-basis: 0;\n flex-grow: 999;\n min-width: 50%;\n }\n .fs-sidebar-reverse {\n flex-direction: row-reverse;\n }\n .fs-sidebar-gap-0 {\n --fs-sidebar-gap: 0;\n }\n .fs-sidebar-gap-1 {\n --fs-sidebar-gap: 0.25rem;\n }\n .fs-sidebar-gap-2 {\n --fs-sidebar-gap: 0.5rem;\n }\n .fs-sidebar-gap-3 {\n --fs-sidebar-gap: 1rem;\n }\n .fs-sidebar-gap-4 {\n --fs-sidebar-gap: 1.5rem;\n }\n .fs-sidebar-gap-5 {\n --fs-sidebar-gap: 3rem;\n }\n .fs-sidebar-width-sm {\n --fs-sidebar-width: 120px;\n }\n .fs-sidebar-width-md {\n --fs-sidebar-width: 240px;\n }\n .fs-sidebar-width-lg {\n --fs-sidebar-width: 360px;\n }\n .fs-sidebar-width-xl {\n --fs-sidebar-width: 480px;\n }\n .fs-sidebar-width-xxl {\n --fs-sidebar-width: 600px;\n }\n .fs-sidebar-width-xxxl {\n --fs-sidebar-width: 720px;\n }\n}\n@layer layout {\n .fs-stack {\n display: flex;\n flex-direction: column;\n gap: var(--fs-stack-gap, 1rem);\n }\n .fs-stack-gap-0 {\n --fs-stack-gap: 0;\n }\n .fs-stack-gap-1 {\n --fs-stack-gap: 0.25rem;\n }\n .fs-stack-gap-2 {\n --fs-stack-gap: 0.5rem;\n }\n .fs-stack-gap-3 {\n --fs-stack-gap: 1rem;\n }\n .fs-stack-gap-4 {\n --fs-stack-gap: 1.5rem;\n }\n .fs-stack-gap-5 {\n --fs-stack-gap: 3rem;\n }\n}\n@layer components {\n .fs-form-row {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n align-items: flex-start;\n justify-content: flex-start;\n gap: 12px 16px;\n width: 100%;\n }\n .fs-form-col {\n display: flex;\n flex: 1 1 240px;\n flex-direction: column;\n align-items: stretch;\n min-width: 0;\n gap: 4px;\n }\n .fs-form-label {\n width: auto;\n margin: 0;\n color: var(--fs-color-muted);\n font-size: 0.75rem;\n font-weight: 400;\n }\n .fs-form-text {\n width: auto;\n margin: 0;\n color: var(--fs-color-muted);\n font-size: 0.6875rem;\n font-weight: 400;\n }\n .fs-form-text,\n .fs-valid-feedback,\n .fs-invalid-feedback {\n min-height: 1.25rem;\n padding: 3px 8px;\n border-radius: var(--fs-radius-sm);\n }\n .fs-form-text {\n color: var(--fs-color-muted);\n font-size: 0.6875rem;\n font-weight: 400;\n }\n .fs-valid-feedback,\n .fs-invalid-feedback {\n display: none;\n font-size: 0.6875rem;\n font-weight: 400;\n }\n .fs-valid-feedback {\n color: var(--fs-alert-success-text);\n background-color: var(--fs-feedback-success-bg);\n }\n .fs-invalid-feedback {\n color: var(--fs-alert-danger-text);\n background-color: var(--fs-feedback-danger-bg);\n }\n .is-valid ~ .fs-valid-feedback,\n .is-invalid ~ .fs-invalid-feedback {\n display: block;\n }\n .fs-form-control {\n width: 100%;\n min-width: 0;\n height: var(--fs-control-height);\n padding: 0 7px;\n border: var(--fs-border-width) solid var(--fs-color-border-default);\n border-radius: var(--fs-radius-sm);\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface);\n font-size: 0.8125rem;\n font-weight: 500;\n }\n .fs-form-control::placeholder {\n color: var(--fs-color-muted);\n }\n .fs-form-control:focus-visible {\n outline: var(--fs-focus-width) solid var(--fs-color-primary);\n outline-offset: var(--fs-focus-offset);\n border-color: var(--fs-color-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--fs-color-primary) 22%, transparent);\n }\n .fs-form-control:disabled {\n color: var(--fs-color-muted);\n background-color: var(--fs-color-subtle);\n opacity: var(--fs-disabled-opacity);\n pointer-events: none;\n }\n .fs-form-control:read-only {\n background-color: var(--fs-color-subtle);\n cursor: default;\n }\n .fs-floating-label {\n position: relative;\n }\n .fs-floating-label > .fs-form-control {\n height: 56px;\n padding-top: 20px;\n }\n .fs-floating-label > .fs-form-label {\n position: absolute;\n z-index: 1;\n top: 8px;\n left: 8px;\n color: var(--fs-color-muted);\n font-size: 0.6875rem;\n pointer-events: none;\n }\n .fs-form-control[aria-invalid=true],\n .fs-was-validated .fs-form-control:invalid {\n border-color: var(--fs-color-danger);\n }\n .fs-form-control[aria-invalid=false],\n .fs-was-validated .fs-form-control:valid {\n border-color: var(--fs-color-success);\n }\n .fs-form-control-sm {\n height: var(--fs-control-height-sm);\n font-size: 0.6875rem;\n }\n .fs-form-control-lg {\n height: var(--fs-control-height-lg);\n font-size: 0.8125rem;\n }\n .fs-form-size-sm {\n width: 120px;\n }\n .fs-form-size-md {\n width: 180px;\n }\n .fs-form-size-lg {\n width: 240px;\n }\n .fs-form-size-xl {\n width: 300px;\n }\n .fs-form-size-xxl {\n width: 360px;\n }\n .fs-form-control.is-valid {\n border-color: var(--fs-color-success);\n }\n .fs-form-control.is-valid:focus-visible {\n outline: var(--fs-focus-width) solid var(--fs-color-success);\n outline-offset: var(--fs-focus-offset);\n border-color: var(--fs-color-success);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--fs-color-success) 22%, transparent);\n }\n .fs-form-control.is-invalid {\n border-color: var(--fs-color-danger);\n }\n .fs-form-control.is-invalid:focus-visible {\n outline: var(--fs-focus-width) solid var(--fs-color-danger);\n outline-offset: var(--fs-focus-offset);\n border-color: var(--fs-color-danger);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--fs-color-danger) 22%, transparent);\n }\n .fs-form-select {\n display: flex;\n flex: 1;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n height: var(--fs-control-height);\n padding: 0 7px;\n border: var(--fs-border-width) solid var(--fs-color-border-default);\n border-radius: var(--fs-radius-sm);\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface);\n font-size: 0.8125rem;\n font-weight: 500;\n text-align: left;\n cursor: pointer;\n }\n .fs-form-select::after {\n flex-shrink: 0;\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 8px;\n content: \"\";\n border-top: 5px solid;\n border-right: 5px solid transparent;\n border-left: 5px solid transparent;\n }\n .fs-form-select:focus-visible {\n outline: var(--fs-focus-width) solid var(--fs-color-primary);\n outline-offset: var(--fs-focus-offset);\n border-color: var(--fs-color-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--fs-color-primary) 22%, transparent);\n }\n .fs-form-select:disabled {\n color: var(--fs-color-muted);\n background-color: var(--fs-color-subtle);\n opacity: 0.4;\n pointer-events: none;\n }\n .fs-form-select-sm {\n height: var(--fs-control-height-sm);\n font-size: 0.6875rem;\n }\n .fs-form-select-lg {\n height: var(--fs-control-height-lg);\n font-size: 0.8125rem;\n }\n .fs-file-upload {\n position: relative;\n display: inline-flex;\n }\n .fs-file-input {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip-path: inset(50%);\n white-space: nowrap;\n border: 0;\n }\n .fs-file-label {\n display: inline-flex;\n align-items: center;\n height: 38px;\n padding: 0 14px;\n border: 1px solid var(--fs-color-border);\n border-radius: var(--fs-radius-sm);\n color: var(--fs-color-text);\n background-color: var(--fs-color-subtle);\n font-size: 0.8125rem;\n font-weight: 500;\n cursor: pointer;\n user-select: none;\n transition: filter var(--fs-transition-fast) var(--fs-ease-standard);\n }\n .fs-file-label:hover {\n filter: brightness(0.96);\n }\n .fs-file-input:focus-visible + .fs-file-label {\n outline: var(--fs-focus-width) solid var(--fs-color-primary);\n outline-offset: var(--fs-focus-offset);\n border-color: var(--fs-color-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--fs-color-primary) 22%, transparent);\n }\n .fs-file-input:disabled + .fs-file-label {\n color: var(--fs-color-muted);\n opacity: var(--fs-disabled-opacity);\n pointer-events: none;\n cursor: default;\n }\n .fs-file-label-sm {\n height: 30px;\n padding: 0 10px;\n font-size: 0.6875rem;\n }\n .fs-file-label-lg {\n height: 46px;\n padding: 0 18px;\n font-size: 1rem;\n }\n .fs-file-label.is-dragover {\n border-color: var(--fs-color-primary);\n background-color: var(--fs-color-subtle);\n }\n .fs-file-label-dropzone {\n flex-direction: column;\n gap: 4px;\n width: 100%;\n height: auto;\n padding: 32px 16px;\n border-style: dashed;\n border-width: 2px;\n font-weight: 400;\n text-align: center;\n }\n .fs-file-label-dropzone .fs-file-dropzone-hint {\n color: var(--fs-color-muted);\n font-size: 0.6875rem;\n font-weight: 400;\n }\n .fs-input-group {\n display: flex;\n align-items: stretch;\n width: 100%;\n }\n .fs-input-group > .fs-form-control,\n .fs-input-group > .fs-form-select {\n flex: 1 1 auto;\n width: 1%;\n min-width: 0;\n }\n .fs-input-group-text {\n display: flex;\n align-items: center;\n padding: 0 12px;\n border: 1px solid var(--fs-color-border);\n color: var(--fs-color-muted);\n background-color: var(--fs-color-subtle);\n font-size: 0.8125rem;\n font-weight: 500;\n white-space: nowrap;\n }\n .fs-input-group > :not(:first-child) {\n margin-left: -1px;\n }\n .fs-input-group > :focus-visible,\n .fs-input-group > :focus-within {\n position: relative;\n z-index: 1;\n }\n .fs-input-group > * {\n border-radius: 0;\n }\n .fs-input-group > :first-child {\n border-top-left-radius: var(--fs-radius-sm);\n border-bottom-left-radius: var(--fs-radius-sm);\n }\n .fs-input-group > :last-child {\n border-top-right-radius: var(--fs-radius-sm);\n border-bottom-right-radius: var(--fs-radius-sm);\n }\n .fs-input-group-sm > .fs-form-control,\n .fs-input-group-sm > .fs-form-select,\n .fs-input-group-sm > .fs-input-group-text {\n height: 30px;\n padding: 0 8px;\n font-size: 0.6875rem;\n }\n .fs-input-group-lg > .fs-form-control,\n .fs-input-group-lg > .fs-form-select,\n .fs-input-group-lg > .fs-input-group-text {\n height: 46px;\n padding: 0 16px;\n font-size: 1rem;\n }\n}\n@layer components {\n .fs-check,\n .fs-radio,\n .fs-switch {\n display: inline-flex;\n align-items: center;\n }\n .fs-check {\n --fs-check-mark: var(--fs-color-on-primary);\n }\n .fs-check-input,\n .fs-radio-input,\n .fs-switch-input {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip-path: inset(50%);\n white-space: nowrap;\n border: 0;\n }\n .fs-check-label,\n .fs-radio-label,\n .fs-switch-label {\n position: relative;\n display: inline-flex;\n align-items: center;\n min-height: 20px;\n padding-left: 28px;\n color: var(--fs-color-text);\n font-size: 0.8125rem;\n cursor: pointer;\n user-select: none;\n }\n .fs-check-label::before,\n .fs-radio-label::before,\n .fs-switch-label::before {\n position: absolute;\n left: 0;\n box-sizing: border-box;\n border: 1px solid var(--fs-color-border);\n background-color: var(--fs-color-surface);\n content: \"\";\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;\n }\n .fs-check-label::before,\n .fs-radio-label::before {\n width: 18px;\n height: 18px;\n }\n .fs-check-label::before {\n border: 2px solid var(--fs-color-primary);\n border-radius: 0;\n }\n .fs-radio-label::before {\n border-radius: 50%;\n }\n .fs-check-label::after {\n position: absolute;\n left: 4px;\n width: 9px;\n height: 5px;\n content: \"\";\n opacity: 0;\n border-bottom: 2px solid var(--fs-check-mark);\n border-left: 2px solid var(--fs-check-mark);\n transform: translateY(-1px) rotate(-45deg);\n transition: opacity 0.1s ease-in-out;\n }\n .fs-radio-label::after {\n position: absolute;\n left: 5px;\n width: 8px;\n height: 8px;\n border-radius: 50%;\n content: \"\";\n opacity: 0;\n background-color: var(--fs-color-on-primary);\n transition: opacity 0.1s ease-in-out;\n }\n .fs-check-input:checked + .fs-check-label::before,\n .fs-radio-input:checked + .fs-radio-label::before {\n background-color: var(--fs-color-primary);\n border-color: var(--fs-color-primary);\n }\n .fs-check-input:checked + .fs-check-label::after,\n .fs-radio-input:checked + .fs-radio-label::after {\n opacity: 1;\n }\n .fs-check-input:not(:checked, :indeterminate, :disabled, .is-invalid) + .fs-check-label:hover::before {\n background-color: color-mix(in srgb, var(--fs-color-primary) 10%, transparent);\n }\n .fs-check-input:not(:disabled, :indeterminate, .is-invalid) + .fs-check-label:active::before {\n background-color: color-mix(in srgb, var(--fs-color-primary) 86%, var(--fs-color-black));\n border-color: var(--fs-color-primary);\n }\n .fs-check-input:checked:not(:disabled, .is-invalid) + .fs-check-label:active::after {\n transform: translateY(-1px) rotate(-45deg) scale(0.9);\n }\n .fs-switch-label {\n padding-left: 44px;\n }\n .fs-switch-label::before {\n width: 36px;\n height: 20px;\n border-radius: var(--fs-radius-md);\n }\n .fs-switch-label::after {\n position: absolute;\n left: 2px;\n width: 16px;\n height: 14px;\n border-radius: var(--fs-radius-sm);\n content: \"\";\n background-color: var(--fs-color-border);\n transition: left 0.15s ease-in-out, background-color 0.15s ease-in-out;\n }\n .fs-switch-input:checked + .fs-switch-label::before {\n background-color: var(--fs-color-primary);\n border-color: var(--fs-color-primary);\n }\n .fs-switch-input:checked + .fs-switch-label::after {\n left: 18px;\n background-color: var(--fs-color-on-primary);\n }\n .fs-check-input:focus-visible + .fs-check-label::before,\n .fs-radio-input:focus-visible + .fs-radio-label::before,\n .fs-switch-input:focus-visible + .fs-switch-label::before {\n outline: var(--fs-focus-width) solid var(--fs-color-primary);\n outline-offset: var(--fs-focus-offset);\n border-color: var(--fs-color-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--fs-color-primary) 22%, transparent);\n }\n .fs-radio-input:disabled + .fs-radio-label,\n .fs-switch-input:disabled + .fs-switch-label {\n opacity: 0.5;\n pointer-events: none;\n }\n .fs-check-input:disabled + .fs-check-label {\n color: var(--fs-color-muted);\n opacity: 1;\n pointer-events: none;\n }\n .fs-check-input:disabled:not(:checked, :indeterminate) + .fs-check-label::before {\n border-color: var(--fs-color-border);\n background-color: var(--fs-color-subtle);\n }\n .fs-check-input:disabled:checked + .fs-check-label::before {\n border-color: color-mix(in srgb, var(--fs-color-primary) 55%, var(--fs-color-border));\n background-color: color-mix(in srgb, var(--fs-color-primary) 45%, var(--fs-color-subtle));\n }\n .fs-check-input:disabled:checked + .fs-check-label::after {\n opacity: 0.72;\n }\n .fs-radio-input.is-valid + .fs-radio-label::before {\n border-color: var(--fs-color-success);\n }\n .fs-check-input.is-invalid + .fs-check-label::before,\n .fs-radio-input.is-invalid + .fs-radio-label::before {\n border-color: var(--fs-color-danger);\n }\n .fs-check-sm .fs-check-label,\n .fs-radio-sm .fs-radio-label {\n min-height: 16px;\n padding-left: 24px;\n font-size: 0.75rem;\n }\n .fs-check-sm .fs-check-label::before,\n .fs-radio-sm .fs-radio-label::before {\n width: 15px;\n height: 15px;\n }\n .fs-check-sm .fs-check-label::after {\n left: 3px;\n width: 8px;\n height: 4px;\n }\n .fs-radio-sm .fs-radio-label::after {\n left: 4px;\n width: 7px;\n height: 7px;\n }\n .fs-check-lg .fs-check-label,\n .fs-radio-lg .fs-radio-label {\n min-height: 24px;\n padding-left: 34px;\n font-size: 1rem;\n }\n .fs-check-lg .fs-check-label::before,\n .fs-radio-lg .fs-radio-label::before {\n width: 22px;\n height: 22px;\n }\n .fs-check-lg .fs-check-label::after {\n left: 5px;\n width: 11px;\n height: 6px;\n }\n .fs-radio-lg .fs-radio-label::after {\n left: 6px;\n width: 10px;\n height: 10px;\n }\n .fs-switch-sm .fs-switch-label {\n min-height: 16px;\n padding-left: 38px;\n font-size: 0.75rem;\n }\n .fs-switch-sm .fs-switch-label::before {\n width: 30px;\n height: 16px;\n }\n .fs-switch-sm .fs-switch-label::after {\n width: 12px;\n height: 10px;\n }\n .fs-switch-sm .fs-switch-input:checked + .fs-switch-label::after {\n left: 16px;\n }\n .fs-switch-lg .fs-switch-label {\n min-height: 26px;\n padding-left: 52px;\n font-size: 1rem;\n }\n .fs-switch-lg .fs-switch-label::before {\n width: 44px;\n height: 24px;\n }\n .fs-switch-lg .fs-switch-label::after {\n width: 20px;\n height: 18px;\n }\n .fs-switch-lg .fs-switch-input:checked + .fs-switch-label::after {\n left: 22px;\n }\n .fs-check-input:indeterminate + .fs-check-label::before {\n border: 2px dashed var(--fs-color-primary);\n background-color: var(--fs-color-surface);\n }\n .fs-check-input:indeterminate + .fs-check-label::after {\n left: 4px;\n width: 10px;\n height: 0;\n opacity: 1;\n border-bottom: 2px solid var(--fs-color-primary);\n border-left: 0;\n transform: translateY(3px) rotate(0deg);\n }\n .fs-check-sm .fs-check-input:indeterminate + .fs-check-label::after {\n left: 3px;\n width: 8px;\n }\n .fs-check-lg .fs-check-input:indeterminate + .fs-check-label::after {\n left: 5px;\n width: 12px;\n }\n .fs-check-input.is-invalid + .fs-check-label::before {\n background-color: var(--fs-color-danger);\n }\n .fs-check-input.is-invalid + .fs-check-label::after {\n top: 6px;\n left: 5px;\n width: 8px;\n height: 8px;\n opacity: 1;\n border: 0;\n background-image: linear-gradient(45deg, transparent 42%, #ffffff 42% 58%, transparent 58%), linear-gradient(-45deg, transparent 42%, #ffffff 42% 58%, transparent 58%);\n transform: none;\n }\n .fs-check-sm .fs-check-input.is-invalid + .fs-check-label::after {\n top: 5px;\n left: 4px;\n width: 7px;\n height: 7px;\n }\n .fs-check-lg .fs-check-input.is-invalid + .fs-check-label::after {\n top: 6px;\n left: 6px;\n width: 10px;\n height: 10px;\n }\n}\n@layer components {\n .fs-form-range {\n --fs-range-track-height: 6px;\n --fs-range-track-color: var(--fs-color-border);\n --fs-range-fill-color: var(--fs-color-primary);\n --fs-range-thumb-size: 18px;\n --fs-range-thumb-color: var(--fs-color-surface);\n --fs-range-thumb-border-color: var(--fs-color-primary);\n --fs-range-percent: 0%;\n width: 100%;\n height: var(--fs-range-thumb-size);\n padding: 0;\n background: transparent;\n appearance: none;\n cursor: pointer;\n }\n .fs-form-range::-webkit-slider-runnable-track {\n height: var(--fs-range-track-height);\n border-radius: var(--fs-radius-sm);\n background: linear-gradient(to right, var(--fs-range-fill-color) var(--fs-range-percent), var(--fs-range-track-color) var(--fs-range-percent));\n }\n .fs-form-range::-moz-range-track {\n height: var(--fs-range-track-height);\n border-radius: var(--fs-radius-sm);\n background: linear-gradient(to right, var(--fs-range-fill-color) var(--fs-range-percent), var(--fs-range-track-color) var(--fs-range-percent));\n }\n .fs-form-range::-webkit-slider-thumb {\n width: var(--fs-range-thumb-size);\n height: var(--fs-range-thumb-size);\n margin-top: calc((var(--fs-range-track-height) - var(--fs-range-thumb-size)) / 2);\n border: 2px solid var(--fs-range-thumb-border-color);\n border-radius: 50%;\n background-color: var(--fs-range-thumb-color);\n appearance: none;\n cursor: pointer;\n }\n .fs-form-range::-moz-range-thumb {\n width: calc(var(--fs-range-thumb-size) - 4px);\n height: calc(var(--fs-range-thumb-size) - 4px);\n border: 2px solid var(--fs-range-thumb-border-color);\n border-radius: 50%;\n background-color: var(--fs-range-thumb-color);\n cursor: pointer;\n }\n .fs-form-range:focus-visible::-webkit-slider-thumb {\n outline: var(--fs-focus-width) solid var(--fs-range-thumb-border-color);\n outline-offset: var(--fs-focus-offset);\n border-color: var(--fs-range-thumb-border-color);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--fs-range-thumb-border-color) 22%, transparent);\n }\n .fs-form-range:focus-visible::-moz-range-thumb {\n outline: var(--fs-focus-width) solid var(--fs-range-thumb-border-color);\n outline-offset: var(--fs-focus-offset);\n border-color: var(--fs-range-thumb-border-color);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--fs-range-thumb-border-color) 22%, transparent);\n }\n .fs-form-range:disabled {\n opacity: 0.6;\n cursor: not-allowed;\n }\n .fs-form-range:disabled::-webkit-slider-thumb {\n cursor: not-allowed;\n }\n .fs-form-range:disabled::-moz-range-thumb {\n cursor: not-allowed;\n }\n .fs-range-output {\n display: inline-block;\n min-width: 2.5em;\n color: var(--fs-color-text);\n font-size: 0.75rem;\n font-weight: 500;\n text-align: center;\n }\n}\n@layer components {\n .fs-file-upload-list {\n display: flex;\n flex-direction: column;\n gap: 8px;\n width: 100%;\n margin-top: 12px;\n padding: 0;\n list-style: none;\n }\n .fs-file-upload-item {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 8px 12px;\n border: 1px solid var(--fs-color-border);\n border-radius: var(--fs-radius-sm);\n background-color: var(--fs-color-surface);\n }\n .fs-file-upload-thumb {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n width: 40px;\n height: 40px;\n overflow: hidden;\n border-radius: var(--fs-radius-sm);\n background-color: var(--fs-color-subtle);\n color: var(--fs-color-muted);\n }\n .fs-file-upload-thumb img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n }\n .fs-file-upload-info {\n flex: 1;\n min-width: 0;\n }\n .fs-file-upload-name {\n margin: 0;\n color: var(--fs-color-text);\n font-size: 0.75rem;\n font-weight: 500;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .fs-file-upload-size {\n margin: 0 0 4px;\n color: var(--fs-color-muted);\n font-size: 0.6875rem;\n }\n .fs-file-upload-item.is-error .fs-file-upload-size {\n color: var(--fs-alert-danger-text);\n }\n .fs-file-upload-remove {\n flex-shrink: 0;\n }\n}\n@layer components {\n .fs-btn {\n --fs-btn-color: var(--fs-color-text-primary);\n --fs-btn-bg: var(--fs-color-bg-subtle);\n --fs-btn-border-color: var(--fs-color-border-default);\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: var(--fs-space-1);\n min-height: var(--fs-control-height);\n padding: 0 var(--fs-control-padding-x);\n border: var(--fs-border-width) solid var(--fs-btn-border-color);\n border-radius: var(--fs-radius-sm);\n color: var(--fs-btn-color);\n background-color: var(--fs-btn-bg);\n font-size: 0.8125rem;\n font-weight: 500;\n text-decoration: none;\n cursor: pointer;\n transition: color var(--fs-transition-fast) var(--fs-ease-standard), background-color var(--fs-transition-fast) var(--fs-ease-standard), border-color var(--fs-transition-fast) var(--fs-ease-standard), box-shadow var(--fs-transition-fast) var(--fs-ease-standard);\n }\n .fs-btn:hover {\n --fs-btn-bg: var(--fs-btn-hover-bg, var(--fs-color-subtle));\n }\n .fs-btn:active {\n --fs-btn-bg: var(--fs-btn-active-bg, var(--fs-color-border));\n }\n .fs-btn:focus-visible {\n outline: var(--fs-focus-width) solid var(--fs-color-primary);\n outline-offset: var(--fs-focus-offset);\n border-color: var(--fs-color-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--fs-color-primary) 22%, transparent);\n }\n .fs-btn:disabled,\n .fs-btn.is-disabled {\n opacity: var(--fs-disabled-opacity);\n pointer-events: none;\n }\n .fs-btn-primary {\n --fs-btn-color: var(--fs-color-on-primary);\n --fs-btn-bg: var(--fs-color-primary);\n --fs-btn-border-color: var(--fs-color-primary);\n --fs-btn-hover-bg: var(--fs-color-primary);\n --fs-btn-active-bg: var(--fs-color-primary);\n }\n .fs-btn-outline-primary {\n --fs-btn-color: var(--fs-alert-primary-text);\n --fs-btn-bg: transparent;\n --fs-btn-border-color: var(--fs-color-primary);\n }\n .fs-btn-outline-primary:hover,\n .fs-btn-outline-primary:active {\n --fs-btn-color: var(--fs-color-on-primary);\n --fs-btn-bg: var(--fs-color-primary);\n }\n .fs-btn-secondary {\n --fs-btn-color: var(--fs-color-on-secondary);\n --fs-btn-bg: var(--fs-color-secondary);\n --fs-btn-border-color: var(--fs-color-secondary);\n --fs-btn-hover-bg: var(--fs-color-secondary);\n --fs-btn-active-bg: var(--fs-color-secondary);\n }\n .fs-btn-outline-secondary {\n --fs-btn-color: var(--fs-alert-secondary-text);\n --fs-btn-bg: transparent;\n --fs-btn-border-color: var(--fs-color-secondary);\n }\n .fs-btn-outline-secondary:hover,\n .fs-btn-outline-secondary:active {\n --fs-btn-color: var(--fs-color-on-secondary);\n --fs-btn-bg: var(--fs-color-secondary);\n }\n .fs-btn-success {\n --fs-btn-color: var(--fs-color-on-success);\n --fs-btn-bg: var(--fs-color-success);\n --fs-btn-border-color: var(--fs-color-success);\n --fs-btn-hover-bg: var(--fs-color-success);\n --fs-btn-active-bg: var(--fs-color-success);\n }\n .fs-btn-outline-success {\n --fs-btn-color: var(--fs-alert-success-text);\n --fs-btn-bg: transparent;\n --fs-btn-border-color: var(--fs-color-success);\n }\n .fs-btn-outline-success:hover,\n .fs-btn-outline-success:active {\n --fs-btn-color: var(--fs-color-on-success);\n --fs-btn-bg: var(--fs-color-success);\n }\n .fs-btn-warning {\n --fs-btn-color: var(--fs-color-on-warning);\n --fs-btn-bg: var(--fs-color-warning);\n --fs-btn-border-color: var(--fs-color-warning);\n --fs-btn-hover-bg: var(--fs-color-warning);\n --fs-btn-active-bg: var(--fs-color-warning);\n }\n .fs-btn-outline-warning {\n --fs-btn-color: var(--fs-alert-warning-text);\n --fs-btn-bg: transparent;\n --fs-btn-border-color: var(--fs-color-warning);\n }\n .fs-btn-outline-warning:hover,\n .fs-btn-outline-warning:active {\n --fs-btn-color: var(--fs-color-on-warning);\n --fs-btn-bg: var(--fs-color-warning);\n }\n .fs-btn-danger {\n --fs-btn-color: var(--fs-color-on-danger);\n --fs-btn-bg: var(--fs-color-danger);\n --fs-btn-border-color: var(--fs-color-danger);\n --fs-btn-hover-bg: var(--fs-color-danger);\n --fs-btn-active-bg: var(--fs-color-danger);\n }\n .fs-btn-outline-danger {\n --fs-btn-color: var(--fs-alert-danger-text);\n --fs-btn-bg: transparent;\n --fs-btn-border-color: var(--fs-color-danger);\n }\n .fs-btn-outline-danger:hover,\n .fs-btn-outline-danger:active {\n --fs-btn-color: var(--fs-color-on-danger);\n --fs-btn-bg: var(--fs-color-danger);\n }\n .fs-btn-info {\n --fs-btn-color: var(--fs-color-on-info);\n --fs-btn-bg: var(--fs-color-info);\n --fs-btn-border-color: var(--fs-color-info);\n --fs-btn-hover-bg: var(--fs-color-info);\n --fs-btn-active-bg: var(--fs-color-info);\n }\n .fs-btn-outline-info {\n --fs-btn-color: var(--fs-alert-info-text);\n --fs-btn-bg: transparent;\n --fs-btn-border-color: var(--fs-color-info);\n }\n .fs-btn-outline-info:hover,\n .fs-btn-outline-info:active {\n --fs-btn-color: var(--fs-color-on-info);\n --fs-btn-bg: var(--fs-color-info);\n }\n .fs-btn-sm {\n min-height: var(--fs-control-height-sm);\n padding: 0 var(--fs-control-padding-x-sm);\n font-size: 0.75rem;\n }\n .fs-btn-lg {\n min-height: var(--fs-control-height-lg);\n padding: 0 var(--fs-control-padding-x-lg);\n font-size: 1rem;\n }\n .fs-btn-close {\n position: relative;\n width: 20px;\n height: 20px;\n padding: 0;\n border: none;\n border-radius: var(--fs-radius-sm);\n color: var(--fs-color-muted);\n background-color: var(--fs-color-surface-raised);\n cursor: pointer;\n }\n .fs-btn-close::before,\n .fs-btn-close::after {\n position: absolute;\n top: 50%;\n left: 50%;\n width: 12px;\n height: 2px;\n background-color: currentcolor;\n content: \"\";\n }\n .fs-btn-close::before {\n transform: translate(-50%, -50%) rotate(45deg);\n }\n .fs-btn-close::after {\n transform: translate(-50%, -50%) rotate(-45deg);\n }\n .fs-btn-close:hover {\n color: var(--fs-color-text);\n background-color: var(--fs-color-subtle);\n }\n .fs-btn-close:focus-visible {\n outline: var(--fs-focus-width) solid var(--fs-color-primary);\n outline-offset: var(--fs-focus-offset);\n border-color: var(--fs-color-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--fs-color-primary) 22%, transparent);\n }\n}\n@layer components {\n .fs-card {\n position: relative;\n display: flex;\n flex-direction: column;\n border: var(--fs-border-width) solid var(--fs-color-border-default);\n border-radius: var(--fs-radius-lg);\n background-color: var(--fs-color-surface);\n }\n .fs-card-horizontal {\n flex-direction: row;\n }\n .fs-card-horizontal .fs-card-header:first-child {\n border-radius: calc(var(--fs-radius-lg) - 1px) 0 0 calc(var(--fs-radius-lg) - 1px);\n border-right: 1px solid var(--fs-color-border);\n border-bottom: none;\n }\n .fs-card-horizontal .fs-card-footer:last-child {\n border-radius: 0 calc(var(--fs-radius-lg) - 1px) calc(var(--fs-radius-lg) - 1px) 0;\n border-left: 1px solid var(--fs-color-border);\n border-top: none;\n }\n .fs-card-clickable {\n transition: border-color var(--fs-transition-fast) var(--fs-ease-standard), box-shadow var(--fs-transition-fast) var(--fs-ease-standard), transform var(--fs-transition-fast) var(--fs-ease-standard);\n }\n .fs-card-clickable:hover,\n .fs-card-clickable:focus-within {\n border-color: var(--fs-color-primary);\n box-shadow: var(--fs-shadow-sm);\n transform: translateY(-1px);\n }\n .fs-stretched-link {\n color: inherit;\n text-decoration: none;\n }\n .fs-stretched-link::after {\n position: absolute;\n inset: 0;\n z-index: 1;\n content: \"\";\n }\n .fs-card-header,\n .fs-card-body,\n .fs-card-footer {\n padding: 10px;\n }\n .fs-card-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 8px;\n border-bottom: 1px solid var(--fs-color-border);\n background-color: var(--fs-color-subtle);\n }\n .fs-card-header .fs-card-title {\n margin: 0;\n }\n .fs-card-header:first-child {\n border-radius: calc(var(--fs-radius-lg) - 1px) calc(var(--fs-radius-lg) - 1px) 0 0;\n }\n .fs-card-footer {\n border-top: 1px solid var(--fs-color-border);\n background-color: var(--fs-color-subtle);\n }\n .fs-card-footer:last-child {\n border-radius: 0 0 calc(var(--fs-radius-lg) - 1px) calc(var(--fs-radius-lg) - 1px);\n }\n .fs-card-title {\n margin: 0 0 4px;\n color: var(--fs-color-text);\n font-size: 1rem;\n font-weight: 500;\n }\n .fs-card-subtitle {\n margin: 0 0 8px;\n color: var(--fs-color-muted);\n font-size: 0.75rem;\n }\n .fs-card-text {\n margin: 0 0 8px;\n color: var(--fs-color-text);\n font-size: 0.8125rem;\n }\n .fs-card-text:last-child {\n margin-bottom: 0;\n }\n .fs-card-sm .fs-card-header,\n .fs-card-sm .fs-card-body,\n .fs-card-sm .fs-card-footer {\n padding: 5px;\n }\n .fs-card-lg .fs-card-header,\n .fs-card-lg .fs-card-body,\n .fs-card-lg .fs-card-footer {\n padding: 15px;\n }\n}\n@layer components {\n .fs-alert {\n display: flex;\n align-items: flex-start;\n gap: 8px;\n padding: 12px 16px;\n border: 1px solid var(--fs-color-border);\n border-left: 5px solid var(--fs-color-border);\n border-radius: 0;\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface-raised);\n font-size: 0.75rem;\n }\n .fs-alert-primary {\n color: var(--fs-alert-primary-text);\n background-color: var(--fs-alert-primary-bg);\n border-color: var(--fs-color-primary);\n }\n .fs-alert-secondary {\n color: var(--fs-alert-secondary-text);\n background-color: var(--fs-alert-secondary-bg);\n border-color: var(--fs-color-secondary);\n }\n .fs-alert-success {\n color: var(--fs-alert-success-text);\n background-color: var(--fs-alert-success-bg);\n border-color: var(--fs-color-success);\n }\n .fs-alert-warning {\n color: var(--fs-alert-warning-text);\n background-color: var(--fs-alert-warning-bg);\n border-color: var(--fs-color-warning);\n }\n .fs-alert-danger {\n color: var(--fs-alert-danger-text);\n background-color: var(--fs-alert-danger-bg);\n border-color: var(--fs-color-danger);\n }\n .fs-alert-info {\n color: var(--fs-alert-info-text);\n background-color: var(--fs-alert-info-bg);\n border-color: var(--fs-color-info);\n }\n}\n@layer components {\n .fs-badge {\n --fs-badge-color: var(--fs-color-text);\n --fs-badge-bg: var(--fs-color-subtle);\n --fs-badge-border: transparent;\n --fs-badge-height: 22px;\n --fs-badge-radius: 0;\n display: inline-flex;\n align-items: center;\n gap: 6px;\n justify-content: center;\n min-height: var(--fs-badge-height);\n padding: 1px 8px 3px;\n border: 1px solid var(--fs-badge-border);\n border-radius: var(--fs-badge-radius);\n color: var(--fs-badge-color);\n background-color: var(--fs-badge-bg);\n font-size: 0.6875rem;\n font-weight: 500;\n line-height: 1;\n vertical-align: middle;\n white-space: nowrap;\n }\n .fs-badge-primary {\n --fs-badge-color: #ffffff;\n --fs-badge-bg: var(--fs-color-primary);\n }\n .fs-badge-soft-primary {\n --fs-badge-color: color-mix(in srgb, var(--fs-color-primary) 45%, var(--fs-color-text));\n --fs-badge-bg: color-mix(in srgb, var(--fs-color-primary) 14%, transparent);\n --fs-badge-border: color-mix(in srgb, var(--fs-color-primary) 38%, transparent);\n }\n .fs-badge-outline-primary {\n --fs-badge-color: color-mix(in srgb, var(--fs-color-primary) 45%, var(--fs-color-text));\n --fs-badge-bg: transparent;\n --fs-badge-border: var(--fs-badge-color);\n }\n .fs-badge-secondary {\n --fs-badge-color: #ffffff;\n --fs-badge-bg: var(--fs-color-secondary);\n }\n .fs-badge-soft-secondary {\n --fs-badge-color: color-mix(in srgb, var(--fs-color-secondary) 45%, var(--fs-color-text));\n --fs-badge-bg: color-mix(in srgb, var(--fs-color-secondary) 14%, transparent);\n --fs-badge-border: color-mix(in srgb, var(--fs-color-secondary) 38%, transparent);\n }\n .fs-badge-outline-secondary {\n --fs-badge-color: color-mix(in srgb, var(--fs-color-secondary) 45%, var(--fs-color-text));\n --fs-badge-bg: transparent;\n --fs-badge-border: var(--fs-badge-color);\n }\n .fs-badge-success {\n --fs-badge-color: #000000;\n --fs-badge-bg: var(--fs-color-success);\n }\n .fs-badge-soft-success {\n --fs-badge-color: color-mix(in srgb, var(--fs-color-success) 45%, var(--fs-color-text));\n --fs-badge-bg: color-mix(in srgb, var(--fs-color-success) 14%, transparent);\n --fs-badge-border: color-mix(in srgb, var(--fs-color-success) 38%, transparent);\n }\n .fs-badge-outline-success {\n --fs-badge-color: color-mix(in srgb, var(--fs-color-success) 45%, var(--fs-color-text));\n --fs-badge-bg: transparent;\n --fs-badge-border: var(--fs-badge-color);\n }\n .fs-badge-warning {\n --fs-badge-color: #000000;\n --fs-badge-bg: var(--fs-color-warning);\n }\n .fs-badge-soft-warning {\n --fs-badge-color: color-mix(in srgb, var(--fs-color-warning) 45%, var(--fs-color-text));\n --fs-badge-bg: color-mix(in srgb, var(--fs-color-warning) 14%, transparent);\n --fs-badge-border: color-mix(in srgb, var(--fs-color-warning) 38%, transparent);\n }\n .fs-badge-outline-warning {\n --fs-badge-color: color-mix(in srgb, var(--fs-color-warning) 45%, var(--fs-color-text));\n --fs-badge-bg: transparent;\n --fs-badge-border: var(--fs-badge-color);\n }\n .fs-badge-danger {\n --fs-badge-color: #ffffff;\n --fs-badge-bg: var(--fs-color-danger);\n }\n .fs-badge-soft-danger {\n --fs-badge-color: color-mix(in srgb, var(--fs-color-danger) 45%, var(--fs-color-text));\n --fs-badge-bg: color-mix(in srgb, var(--fs-color-danger) 14%, transparent);\n --fs-badge-border: color-mix(in srgb, var(--fs-color-danger) 38%, transparent);\n }\n .fs-badge-outline-danger {\n --fs-badge-color: color-mix(in srgb, var(--fs-color-danger) 45%, var(--fs-color-text));\n --fs-badge-bg: transparent;\n --fs-badge-border: var(--fs-badge-color);\n }\n .fs-badge-info {\n --fs-badge-color: #ffffff;\n --fs-badge-bg: var(--fs-color-info);\n }\n .fs-badge-soft-info {\n --fs-badge-color: color-mix(in srgb, var(--fs-color-info) 45%, var(--fs-color-text));\n --fs-badge-bg: color-mix(in srgb, var(--fs-color-info) 14%, transparent);\n --fs-badge-border: color-mix(in srgb, var(--fs-color-info) 38%, transparent);\n }\n .fs-badge-outline-info {\n --fs-badge-color: color-mix(in srgb, var(--fs-color-info) 45%, var(--fs-color-text));\n --fs-badge-bg: transparent;\n --fs-badge-border: var(--fs-badge-color);\n }\n .fs-badge-sm {\n --fs-badge-height: 18px;\n padding: 0 6px 2px;\n font-size: 0.6875rem;\n }\n .fs-badge-lg {\n --fs-badge-height: 26px;\n padding: 2px 10px 4px;\n font-size: 0.8125rem;\n }\n .fs-badge-dot::before {\n width: 6px;\n height: 6px;\n flex: 0 0 6px;\n border-radius: 50%;\n background-color: currentcolor;\n transform: translateY(1px);\n content: \"\";\n }\n .fs-badge-count {\n min-width: var(--fs-badge-height);\n padding-inline: 6px;\n font-variant-numeric: tabular-nums;\n }\n .fs-badge-split {\n --fs-badge-split-label-bg: var(--fs-color-black);\n --fs-badge-split-label-color: var(--fs-color-white);\n --fs-badge-split-value-bg: var(--fs-color-primary);\n --fs-badge-split-value-color: #ffffff;\n --fs-badge-split-height: 22px;\n --fs-badge-split-radius: 0;\n display: inline-flex;\n min-height: var(--fs-badge-split-height);\n overflow: hidden;\n border-radius: var(--fs-badge-split-radius);\n font-size: 0.6875rem;\n font-weight: 500;\n line-height: 1;\n vertical-align: middle;\n white-space: nowrap;\n }\n .fs-badge-split-label,\n .fs-badge-split-value {\n display: inline-flex;\n align-items: center;\n min-height: var(--fs-badge-split-height);\n padding: 1px 8px 3px;\n }\n .fs-badge-split-label {\n color: var(--fs-badge-split-label-color);\n background-color: var(--fs-badge-split-label-bg);\n }\n .fs-badge-split-value {\n color: var(--fs-badge-split-value-color);\n background-color: var(--fs-badge-split-value-bg);\n font-variant-numeric: tabular-nums;\n }\n .fs-badge-split-primary {\n --fs-badge-split-value-bg: var(--fs-color-primary);\n --fs-badge-split-value-color: #ffffff;\n }\n .fs-badge-split-secondary {\n --fs-badge-split-value-bg: var(--fs-color-secondary);\n --fs-badge-split-value-color: #ffffff;\n }\n .fs-badge-split-success {\n --fs-badge-split-value-bg: var(--fs-color-success);\n --fs-badge-split-value-color: #000000;\n }\n .fs-badge-split-warning {\n --fs-badge-split-value-bg: var(--fs-color-warning);\n --fs-badge-split-value-color: #000000;\n }\n .fs-badge-split-danger {\n --fs-badge-split-value-bg: var(--fs-color-danger);\n --fs-badge-split-value-color: #ffffff;\n }\n .fs-badge-split-info {\n --fs-badge-split-value-bg: var(--fs-color-info);\n --fs-badge-split-value-color: #ffffff;\n }\n .fs-badge-split.fs-badge-sm {\n --fs-badge-split-height: 18px;\n min-height: var(--fs-badge-split-height);\n padding: 0;\n }\n .fs-badge-split.fs-badge-lg {\n --fs-badge-split-height: 26px;\n min-height: var(--fs-badge-split-height);\n padding: 0;\n font-size: 0.8125rem;\n }\n .fs-badge-split.fs-badge-sm .fs-badge-split-label,\n .fs-badge-split.fs-badge-sm .fs-badge-split-value {\n padding: 0 6px 2px;\n }\n .fs-badge-split.fs-badge-lg .fs-badge-split-label,\n .fs-badge-split.fs-badge-lg .fs-badge-split-value {\n padding: 2px 10px 4px;\n }\n}\n@layer components {\n .fs-table {\n width: 100%;\n margin-bottom: 0;\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface-raised);\n border-collapse: collapse;\n }\n .fs-table th,\n .fs-table td {\n padding: 8px 12px;\n border-bottom: 1px solid var(--fs-color-border);\n text-align: left;\n vertical-align: middle;\n }\n .fs-table thead th {\n border-bottom-width: 2px;\n color: var(--fs-color-muted);\n font-size: 0.75rem;\n font-weight: 500;\n text-transform: uppercase;\n }\n .fs-table-striped tbody tr:nth-of-type(odd) {\n background-color: var(--fs-color-subtle);\n }\n .fs-table-hover tbody tr:hover {\n background-color: var(--fs-color-subtle);\n }\n .fs-table-bordered th,\n .fs-table-bordered td {\n border: 1px solid var(--fs-color-border);\n }\n .fs-table-borderless th,\n .fs-table-borderless td {\n border: 0;\n }\n .fs-table-primary {\n background-color: var(--fs-alert-primary-bg);\n color: var(--fs-alert-primary-text);\n }\n .fs-table-secondary {\n background-color: var(--fs-alert-secondary-bg);\n color: var(--fs-alert-secondary-text);\n }\n .fs-table-success {\n background-color: var(--fs-alert-success-bg);\n color: var(--fs-alert-success-text);\n }\n .fs-table-warning {\n background-color: var(--fs-alert-warning-bg);\n color: var(--fs-alert-warning-text);\n }\n .fs-table-danger {\n background-color: var(--fs-alert-danger-bg);\n color: var(--fs-alert-danger-text);\n }\n .fs-table-info {\n background-color: var(--fs-alert-info-bg);\n color: var(--fs-alert-info-text);\n }\n .fs-table-sm th,\n .fs-table-sm td {\n padding: 4px 8px;\n }\n .fs-table-responsive {\n overflow-x: auto;\n }\n .fs-table-caption {\n caption-side: top;\n padding: var(--fs-space-2) 0;\n color: var(--fs-color-muted);\n text-align: start;\n }\n .fs-table-empty {\n padding: var(--fs-space-5);\n color: var(--fs-color-muted);\n text-align: center;\n }\n @media (width < 640px) {\n .fs-table-priority th:nth-child(n+4),\n .fs-table-priority td:nth-child(n+4) {\n display: none;\n }\n }\n}\n@layer components {\n .fs-navbar {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n gap: 16px;\n padding: 12px 16px;\n border-bottom: 1px solid var(--fs-color-border);\n background-color: var(--fs-color-surface);\n }\n .fs-navbar-brand {\n color: var(--fs-color-text);\n font-size: 1rem;\n font-weight: 500;\n text-decoration: none;\n }\n .fs-navbar-nav {\n display: flex;\n align-items: center;\n gap: 4px;\n margin: 0;\n padding: 0;\n list-style: none;\n }\n .fs-navbar-toggler {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-width: 44px;\n min-height: 44px;\n padding: 8px;\n color: var(--fs-color-text);\n background: transparent;\n border: 1px solid var(--fs-color-border);\n border-radius: var(--fs-radius-sm);\n cursor: pointer;\n }\n .fs-navbar-collapse {\n flex-basis: 100%;\n width: 100%;\n }\n .fs-navbar-collapse:not(.is-open) {\n display: none;\n }\n .fs-navbar-collapse.is-open .fs-navbar-nav {\n flex-direction: column;\n align-items: stretch;\n }\n @media (width >= 768px) {\n .fs-navbar-toggler {\n display: none;\n }\n .fs-navbar-collapse,\n .fs-navbar-collapse:not(.is-open),\n .fs-navbar-collapse[hidden] {\n display: flex;\n flex: 1 1 auto;\n align-items: center;\n justify-content: flex-end;\n width: auto;\n }\n .fs-navbar-collapse .fs-navbar-nav {\n flex-direction: row;\n }\n }\n .fs-nav-link {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 8px 12px;\n border-radius: var(--fs-radius-sm);\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface-raised);\n text-decoration: none;\n transition: background-color 0.15s ease-in-out;\n }\n .fs-nav-link:hover {\n background-color: var(--fs-color-subtle);\n }\n .fs-nav-link:focus-visible {\n outline: var(--fs-focus-width) solid var(--fs-color-primary);\n outline-offset: var(--fs-focus-offset);\n border-color: var(--fs-color-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--fs-color-primary) 22%, transparent);\n }\n .fs-nav-link.is-active {\n color: var(--fs-alert-primary-text);\n font-weight: 500;\n }\n .fs-nav-link.is-disabled {\n color: var(--fs-color-muted);\n pointer-events: none;\n }\n}\n@layer components {\n .fs-combobox {\n position: relative;\n display: inline-flex;\n width: 100%;\n }\n .fs-combobox-listbox {\n overflow-y: auto;\n max-height: 240px;\n }\n}\n@layer components {\n [data-theme=dark] .fs-form-control[type=date]::-webkit-calendar-picker-indicator,\n [data-theme=dark] .fs-form-control[type=time]::-webkit-calendar-picker-indicator {\n filter: invert(1);\n }\n .fs-datepicker {\n position: relative;\n display: inline-flex;\n width: 100%;\n }\n .fs-datepicker-panel {\n display: none;\n width: min(280px, 100vw - 2 * var(--fs-space-3));\n padding: 12px;\n border: 1px solid var(--fs-color-border);\n border-radius: var(--fs-radius-md);\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface);\n box-shadow: var(--fs-shadow-md);\n z-index: var(--fs-z-dropdown);\n }\n .fs-datepicker-panel.is-open {\n display: block;\n }\n .fs-datepicker-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: 8px;\n }\n .fs-datepicker-nav {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n padding: 0;\n border: none;\n border-radius: var(--fs-radius-sm);\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface-raised);\n font-size: 0.8125rem;\n cursor: pointer;\n }\n .fs-datepicker-nav:hover {\n background-color: var(--fs-color-subtle);\n }\n .fs-datepicker-nav:focus-visible {\n outline: var(--fs-focus-width) solid var(--fs-color-primary);\n outline-offset: var(--fs-focus-offset);\n border-color: var(--fs-color-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--fs-color-primary) 22%, transparent);\n }\n .fs-datepicker-title {\n font-size: 0.75rem;\n font-weight: 500;\n text-transform: capitalize;\n }\n .fs-datepicker-grid {\n display: flex;\n flex-direction: column;\n gap: 2px;\n }\n .fs-datepicker-weekdays,\n .fs-datepicker-week {\n display: grid;\n grid-template-columns: repeat(7, 1fr);\n gap: 2px;\n }\n .fs-datepicker-weekday {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 28px;\n color: var(--fs-color-muted);\n font-size: 0.6875rem;\n font-weight: 500;\n text-align: center;\n text-transform: uppercase;\n }\n .fs-datepicker-day {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 32px;\n border: none;\n border-radius: var(--fs-radius-sm);\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface-raised);\n font-size: 0.75rem;\n cursor: pointer;\n }\n .fs-datepicker-day:hover {\n background-color: var(--fs-color-subtle);\n }\n .fs-datepicker-day:focus-visible {\n outline: var(--fs-focus-width) solid var(--fs-color-primary);\n outline-offset: var(--fs-focus-offset);\n border-color: var(--fs-color-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--fs-color-primary) 22%, transparent);\n }\n .fs-datepicker-day.is-outside {\n color: var(--fs-color-muted);\n }\n .fs-datepicker-day.is-today {\n font-weight: 600;\n box-shadow: inset 0 0 0 1px var(--fs-color-primary);\n }\n .fs-datepicker-day.is-selected {\n color: var(--fs-color-on-primary);\n background-color: var(--fs-color-primary);\n }\n .fs-datepicker-day:disabled {\n color: var(--fs-color-muted);\n pointer-events: none;\n opacity: 0.4;\n }\n}\n@layer components {\n .fs-datatable-toolbar {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-bottom: 12px;\n }\n .fs-datatable-sort-btn {\n display: inline-flex;\n align-items: center;\n width: 100%;\n padding: 0;\n border: 0;\n background-color: var(--fs-color-surface-raised);\n color: inherit;\n font: inherit;\n text-transform: inherit;\n text-align: left;\n cursor: pointer;\n }\n .fs-datatable-sort-btn:focus-visible {\n outline: var(--fs-focus-width) solid var(--fs-color-primary);\n outline-offset: var(--fs-focus-offset);\n border-color: var(--fs-color-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--fs-color-primary) 22%, transparent);\n }\n .fs-datatable-sort-btn::after {\n flex-shrink: 0;\n margin-left: auto;\n padding-left: 4px;\n color: var(--fs-color-muted);\n font-size: 0.6875rem;\n content: \"↕\";\n }\n th[aria-sort=ascending] .fs-datatable-sort-btn::after {\n color: var(--fs-color-text);\n content: \"↑\";\n }\n th[aria-sort=descending] .fs-datatable-sort-btn::after {\n color: var(--fs-color-text);\n content: \"↓\";\n }\n .fs-datatable [data-fs-datatable-pagination] {\n display: flex;\n justify-content: flex-end;\n margin-top: 12px;\n }\n .fs-datatable td:focus-visible,\n .fs-datatable th:focus-visible {\n outline: var(--fs-focus-width) solid var(--fs-color-primary);\n outline-offset: var(--fs-focus-offset);\n border-color: var(--fs-color-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--fs-color-primary) 22%, transparent);\n outline-offset: -2px;\n }\n}\n@layer components {\n .fs-command-palette {\n position: fixed;\n inset: 0;\n z-index: var(--fs-z-modal);\n display: none;\n align-items: flex-start;\n justify-content: center;\n padding: 72px 16px 16px;\n background-color: rgba(0, 0, 0, 0.5);\n }\n .fs-command-palette.is-open {\n display: flex;\n }\n .fs-command-palette-dialog {\n display: flex;\n flex-direction: column;\n width: 100%;\n max-width: 480px;\n max-height: calc(100vh - 88px);\n overflow: hidden;\n border-radius: var(--fs-radius-md);\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface);\n box-shadow: var(--fs-shadow-lg);\n }\n .fs-command-palette-input {\n width: 100%;\n padding: 16px 20px;\n border: none;\n border-bottom: 1px solid var(--fs-color-border);\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface-raised);\n font-size: 1rem;\n }\n .fs-command-palette-input:focus-visible {\n outline: var(--fs-focus-width) solid var(--fs-color-primary);\n outline-offset: var(--fs-focus-offset);\n border-color: var(--fs-color-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--fs-color-primary) 22%, transparent);\n }\n .fs-command-palette-list {\n margin: 0;\n padding: 6px 0;\n overflow-y: auto;\n list-style: none;\n }\n}\n@layer components {\n .fs-tree,\n .fs-tree [role=group] {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n .fs-tree [role=group] {\n padding-left: 20px;\n }\n .fs-tree [role=treeitem] {\n border-radius: var(--fs-radius-sm);\n }\n .fs-tree [role=treeitem]:focus-visible {\n outline: none;\n }\n .fs-tree [role=treeitem]:focus-visible > .fs-tree-label {\n outline: var(--fs-focus-width) solid var(--fs-color-primary);\n outline-offset: var(--fs-focus-offset);\n border-color: var(--fs-color-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--fs-color-primary) 22%, transparent);\n }\n .fs-tree-label {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 6px 8px;\n border-radius: var(--fs-radius-sm);\n color: var(--fs-color-text);\n font-size: 0.8125rem;\n cursor: pointer;\n user-select: none;\n }\n .fs-tree-label:hover {\n background-color: var(--fs-color-subtle);\n }\n .fs-tree [role=treeitem][aria-selected=true] > .fs-tree-label {\n color: var(--fs-color-on-primary);\n background-color: var(--fs-color-primary);\n }\n .fs-tree-toggle {\n flex-shrink: 0;\n width: 0;\n height: 0;\n border-top: 4px solid transparent;\n border-bottom: 4px solid transparent;\n border-left: 5px solid currentcolor;\n transition: transform 0.15s ease-in-out;\n }\n .fs-tree [role=treeitem][aria-expanded=true] > .fs-tree-label > .fs-tree-toggle {\n transform: rotate(90deg);\n }\n}\n@layer components {\n .fs-dropdown {\n position: relative;\n display: inline-flex;\n }\n .fs-dropdown-toggle::after {\n display: inline-block;\n width: 0;\n height: 0;\n vertical-align: middle;\n content: \"\";\n border-top: 5px solid;\n border-right: 5px solid transparent;\n border-left: 5px solid transparent;\n }\n .fs-dropdown-menu {\n position: absolute;\n display: none;\n min-width: 180px;\n margin: 0;\n padding: 6px 0;\n border: var(--fs-border-width) solid var(--fs-color-border-default);\n border-radius: var(--fs-radius-md);\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface);\n box-shadow: var(--fs-shadow-md);\n z-index: var(--fs-z-dropdown);\n }\n .fs-dropdown-menu.is-open {\n display: block;\n }\n .fs-dropdown-item {\n display: flex;\n align-items: center;\n width: 100%;\n padding: 8px 16px;\n border: 0;\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface-raised);\n font-size: 0.8125rem;\n text-align: left;\n text-decoration: none;\n cursor: pointer;\n }\n .fs-dropdown-item:hover,\n .fs-dropdown-item:focus-visible {\n color: var(--fs-color-text);\n background-color: var(--fs-color-subtle);\n outline: none;\n }\n .fs-dropdown-item.is-active {\n color: var(--fs-color-on-primary);\n background-color: var(--fs-color-primary);\n }\n .fs-dropdown-item.is-disabled {\n color: var(--fs-color-muted);\n pointer-events: none;\n opacity: 0.6;\n }\n .fs-dropdown-divider {\n height: 1px;\n margin: 6px 0;\n border: none;\n background-color: var(--fs-color-border);\n }\n .fs-dropdown-header {\n padding: 4px 16px;\n color: var(--fs-color-muted);\n font-size: 0.6875rem;\n font-weight: 500;\n text-transform: uppercase;\n }\n}\n@layer components {\n .fs-modal {\n position: fixed;\n inset: 0;\n z-index: var(--fs-z-modal);\n display: none;\n align-items: center;\n justify-content: center;\n padding: var(--fs-space-4);\n background-color: rgba(0, 0, 0, 0.5);\n }\n .fs-modal.is-open {\n display: flex;\n }\n .fs-modal-dialog {\n width: 100%;\n max-width: 480px;\n }\n .fs-modal-dialog.fs-modal-sm {\n max-width: 320px;\n }\n .fs-modal-dialog.fs-modal-lg {\n max-width: 720px;\n }\n .fs-modal-dialog.fs-modal-xl {\n max-width: 1140px;\n }\n .fs-modal-dialog.fs-modal-fullscreen {\n max-width: none;\n height: 100%;\n }\n .fs-modal-content {\n display: flex;\n flex-direction: column;\n max-height: calc(100vh - 2 * var(--fs-space-4));\n border: var(--fs-border-width) solid var(--fs-color-border-default);\n border-radius: var(--fs-radius-md);\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface);\n box-shadow: var(--fs-shadow-lg);\n }\n .fs-modal-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 16px 20px;\n border-bottom: 1px solid var(--fs-color-border);\n }\n .fs-modal-title {\n margin: 0;\n font-size: 1rem;\n font-weight: 500;\n }\n .fs-modal-body {\n padding: 20px;\n overflow-y: auto;\n }\n .fs-modal-scrollable .fs-modal-content {\n overflow: hidden;\n }\n .fs-modal-scrollable .fs-modal-body {\n overflow-y: auto;\n }\n @media (width < 640px) {\n .fs-modal {\n align-items: flex-end;\n padding: 0;\n }\n .fs-modal-dialog,\n .fs-modal-dialog.fs-modal-sm,\n .fs-modal-dialog.fs-modal-lg,\n .fs-modal-dialog.fs-modal-xl {\n max-width: none;\n }\n .fs-modal-content {\n max-height: calc(100dvh - var(--fs-safe-area-top));\n border-radius: var(--fs-radius-md) var(--fs-radius-md) 0 0;\n }\n }\n .fs-modal-footer {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: 8px;\n padding: 16px 20px;\n border-top: 1px solid var(--fs-color-border);\n }\n}\n@layer components {\n .fs-alert-dialog-message {\n margin: 4px 0 0;\n color: var(--fs-color-muted);\n font-size: 0.75rem;\n }\n}\n@layer components {\n .fs-divider {\n margin: 16px 0;\n border: 0;\n border-top: 1px solid var(--fs-color-border);\n }\n .fs-divider:not(hr) {\n display: flex;\n align-items: center;\n border-top: none;\n color: var(--fs-color-muted);\n font-size: 0.75rem;\n }\n .fs-divider:not(hr)::before,\n .fs-divider:not(hr)::after {\n flex: 1;\n content: \"\";\n border-top: 1px solid var(--fs-color-border);\n }\n .fs-divider-label {\n padding: 0 12px;\n }\n}\n@layer components {\n .fs-empty-state {\n display: flex;\n flex-direction: column;\n align-items: center;\n padding: 48px 24px;\n text-align: center;\n }\n .fs-empty-state[hidden] {\n display: none;\n }\n .fs-empty-state-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 64px;\n height: 64px;\n margin-bottom: 16px;\n border-radius: 50%;\n color: var(--fs-color-muted);\n background-color: var(--fs-color-subtle);\n font-size: 28px;\n }\n .fs-empty-state-title {\n margin: 0;\n color: var(--fs-color-text);\n font-size: 1rem;\n font-weight: 500;\n }\n .fs-empty-state-text {\n max-width: 360px;\n margin: 4px 0 20px;\n color: var(--fs-color-muted);\n font-size: 0.75rem;\n }\n}\n@layer components {\n .fs-rating {\n display: inline-flex;\n flex-direction: row-reverse;\n }\n .fs-rating-input {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip-path: inset(50%);\n white-space: nowrap;\n border: 0;\n }\n .fs-rating-star {\n display: flex;\n padding: 2px;\n color: var(--fs-color-border);\n font-size: 24px;\n cursor: pointer;\n }\n .fs-rating-input:checked ~ .fs-rating-star,\n .fs-rating-star:hover,\n .fs-rating-star:hover ~ .fs-rating-star {\n color: var(--fs-color-warning);\n }\n .fs-rating-input:checked ~ .fs-rating-star .fs-icon,\n .fs-rating-star:hover .fs-icon,\n .fs-rating-star:hover ~ .fs-rating-star .fs-icon {\n fill: currentcolor;\n }\n .fs-rating-input:focus-visible + .fs-rating-star {\n border-radius: var(--fs-radius-sm);\n outline: 2px solid var(--fs-color-primary);\n outline-offset: 2px;\n }\n .fs-rating-input:disabled + .fs-rating-star {\n opacity: 0.5;\n pointer-events: none;\n }\n .fs-rating-sm .fs-rating-star {\n font-size: 16px;\n }\n .fs-rating-lg .fs-rating-star {\n font-size: 32px;\n }\n}\n@layer components {\n .fs-tag {\n gap: 0;\n padding: 0 0 0 8px;\n }\n .fs-tag-label {\n min-width: 0;\n }\n .fs-tag-truncate {\n max-inline-size: min(100%, var(--fs-tag-max-inline-size, 20rem));\n }\n .fs-tag-truncate .fs-tag-label {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .fs-tag-icon {\n display: inline-grid;\n width: 12px;\n height: 12px;\n flex: 0 0 12px;\n margin-right: 4px;\n place-items: center;\n }\n .fs-tag-icon .fs-icon {\n width: 12px;\n height: 12px;\n stroke: currentcolor;\n }\n .fs-tag .fs-btn-close {\n width: calc(var(--fs-badge-height) - 2px);\n height: calc(var(--fs-badge-height) - 2px);\n flex: 0 0 calc(var(--fs-badge-height) - 2px);\n margin-left: 4px;\n border-radius: 0;\n background-color: transparent;\n color: inherit;\n opacity: 0.7;\n transition: opacity 0.1s ease-in-out, background-color 0.1s ease-in-out, transform 0.1s ease-in-out;\n }\n .fs-tag .fs-btn-close::before,\n .fs-tag .fs-btn-close::after {\n top: calc(50% + 1px);\n width: 8px;\n }\n .fs-tag .fs-btn-close:hover {\n color: inherit;\n background-color: color-mix(in srgb, currentcolor 18%, transparent);\n opacity: 1;\n }\n .fs-tag .fs-btn-close:active {\n background-color: color-mix(in srgb, currentcolor 28%, transparent);\n transform: scale(0.9);\n }\n .fs-tag-group {\n display: flex;\n flex-wrap: wrap;\n gap: 0;\n }\n .fs-tag:focus-within {\n outline: var(--fs-focus-width) solid var(--fs-color-primary);\n outline-offset: var(--fs-focus-offset);\n border-color: var(--fs-color-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--fs-color-primary) 22%, transparent);\n }\n .fs-tag.is-loading,\n .fs-tag[aria-busy=true] {\n --fs-badge-bg: var(--fs-color-warning);\n --fs-badge-color: var(--fs-color-black);\n --fs-badge-border: transparent;\n cursor: progress;\n }\n .fs-tag.is-loading .fs-spinner,\n .fs-tag[aria-busy=true] .fs-spinner {\n width: 12px;\n height: 12px;\n flex: 0 0 12px;\n margin: 0 6px 0 4px;\n border-width: 2px;\n color: var(--fs-color-black);\n }\n .fs-tag.is-loading .fs-btn-close,\n .fs-tag[aria-busy=true] .fs-btn-close {\n display: none;\n }\n .fs-tag-group .fs-tag + .fs-tag {\n border-inline-start-color: color-mix(in srgb, currentcolor 24%, transparent);\n }\n .fs-tag-group .fs-tag {\n padding-inline-start: calc(var(--fs-badge-height) + 2px);\n transition: background-color 0.1s ease-in-out;\n }\n .fs-tag-group .fs-btn-close {\n pointer-events: none;\n opacity: 0;\n }\n .fs-tag-group .fs-tag:hover .fs-btn-close,\n .fs-tag-group .fs-tag:focus-within .fs-btn-close {\n pointer-events: auto;\n opacity: 0.7;\n }\n .fs-tag-group .fs-tag:hover,\n .fs-tag-group .fs-tag:focus-within {\n background-color: color-mix(in srgb, currentcolor 18%, transparent);\n }\n .fs-tag-overflow {\n --fs-badge-bg: transparent;\n --fs-badge-color: var(--fs-alert-primary-text);\n --fs-badge-border: transparent;\n width: var(--fs-badge-height);\n height: var(--fs-badge-height);\n min-width: var(--fs-badge-height);\n padding: 0;\n border: 0;\n appearance: none;\n cursor: pointer;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n font: inherit;\n line-height: 0;\n }\n .fs-tag-overflow .fs-icon {\n display: block;\n flex: 0 0 13px;\n width: 13px;\n height: 13px;\n stroke: currentcolor;\n }\n .fs-tag-overflow:hover,\n .fs-tag-group .fs-tag-overflow:hover {\n background-color: transparent;\n border-color: transparent;\n }\n .fs-tag-group .fs-tag-overflow {\n padding-inline-start: 0;\n }\n .fs-tag-overflow:focus-visible {\n outline: var(--fs-focus-width) solid var(--fs-color-primary);\n outline-offset: var(--fs-focus-offset);\n border-color: var(--fs-color-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--fs-color-primary) 22%, transparent);\n }\n .fs-tag-group .fs-btn-close:hover {\n color: inherit;\n background-color: transparent;\n opacity: 0.7;\n }\n .fs-tag-protected {\n pointer-events: none;\n }\n .fs-tag-lock {\n display: inline-grid;\n width: calc(var(--fs-badge-height) - 2px);\n height: calc(var(--fs-badge-height) - 2px);\n margin-left: 4px;\n place-items: center;\n }\n .fs-tag-lock svg {\n width: 12px;\n height: 12px;\n stroke: currentcolor;\n stroke-width: 2;\n }\n}\n@layer components {\n .fs-offcanvas {\n position: fixed;\n z-index: var(--fs-z-offcanvas);\n display: flex;\n flex-direction: column;\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface);\n box-shadow: var(--fs-shadow-lg);\n visibility: hidden;\n transition: transform 0.3s ease, visibility 0.3s ease;\n }\n .fs-offcanvas.is-open {\n visibility: visible;\n transform: none;\n }\n .fs-offcanvas-start {\n inset: 0 auto 0 0;\n width: 320px;\n transform: translateX(-100%);\n }\n .fs-offcanvas-end {\n inset: 0 0 0 auto;\n width: 320px;\n transform: translateX(100%);\n }\n .fs-offcanvas-top {\n inset: 0 0 auto;\n height: 40vh;\n transform: translateY(-100%);\n }\n .fs-offcanvas-bottom {\n inset: auto 0 0;\n height: 40vh;\n transform: translateY(100%);\n }\n .fs-offcanvas-backdrop {\n position: fixed;\n inset: 0;\n z-index: calc(var(--fs-z-offcanvas) - 1);\n background-color: rgba(0, 0, 0, 0.5);\n opacity: 0;\n visibility: hidden;\n transition: opacity 0.3s ease, visibility 0.3s ease;\n }\n .fs-offcanvas-backdrop.is-open {\n visibility: visible;\n opacity: 1;\n }\n .fs-offcanvas-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 16px 20px;\n border-bottom: 1px solid var(--fs-color-border);\n }\n .fs-offcanvas-title {\n margin: 0;\n font-size: 1rem;\n font-weight: 500;\n }\n .fs-offcanvas-body {\n flex: 1 1 auto;\n padding: 20px;\n overflow-y: auto;\n }\n .fs-offcanvas-footer {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: 8px;\n padding: 16px 20px;\n border-top: 1px solid var(--fs-color-border);\n }\n .fs-offcanvas-responsive {\n width: min(100%, 420px);\n }\n @media (width >= 1024px) {\n .fs-offcanvas-lg {\n position: static;\n width: auto;\n height: auto;\n visibility: visible;\n transform: none;\n box-shadow: none;\n }\n .fs-offcanvas-lg + .fs-offcanvas-backdrop {\n display: none;\n }\n }\n @media (prefers-reduced-motion: reduce) {\n .fs-offcanvas,\n .fs-offcanvas-backdrop {\n transition: none;\n }\n }\n}\n@layer components {\n .fs-accordion {\n display: flex;\n flex-direction: column;\n }\n .fs-accordion-item {\n overflow: hidden;\n border: 1px solid var(--fs-color-border);\n background-color: var(--fs-color-surface-raised);\n }\n .fs-accordion-item + .fs-accordion-item {\n border-top: none;\n }\n .fs-accordion-item:first-child {\n border-top-left-radius: var(--fs-radius-md);\n border-top-right-radius: var(--fs-radius-md);\n }\n .fs-accordion-item:last-child {\n border-bottom-right-radius: var(--fs-radius-md);\n border-bottom-left-radius: var(--fs-radius-md);\n }\n .fs-accordion-flush .fs-accordion-item {\n border-inline: 0;\n border-radius: 0;\n }\n .fs-accordion-flush .fs-accordion-item:first-child {\n border-block-start: 0;\n }\n .fs-accordion-always-open .fs-accordion-button[aria-expanded=true]::after {\n transform: rotate(-135deg);\n }\n .fs-accordion-header {\n margin: 0;\n }\n .fs-accordion-button {\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n padding: 14px 16px;\n border: none;\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface);\n font-size: 0.8125rem;\n font-weight: 500;\n text-align: left;\n cursor: pointer;\n }\n .fs-accordion-button:hover {\n background-color: var(--fs-color-subtle);\n }\n .fs-accordion-button:focus-visible {\n outline: var(--fs-focus-width) solid var(--fs-color-primary);\n outline-offset: var(--fs-focus-offset);\n border-color: var(--fs-color-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--fs-color-primary) 22%, transparent);\n }\n .fs-accordion-button::after {\n flex-shrink: 0;\n width: 8px;\n height: 8px;\n margin-left: 12px;\n content: \"\";\n border-right: 2px solid currentcolor;\n border-bottom: 2px solid currentcolor;\n transform: rotate(45deg);\n transition: transform 0.2s ease-in-out;\n }\n .fs-accordion-button[aria-expanded=true]::after {\n transform: rotate(-135deg);\n }\n .fs-accordion-collapse {\n overflow: hidden;\n }\n .fs-accordion-body {\n padding: 16px;\n border-top: 1px solid var(--fs-color-border);\n background-color: var(--fs-color-surface-raised);\n }\n @media (prefers-reduced-motion: reduce) {\n .fs-accordion-button::after {\n transition: none;\n }\n }\n}\n@layer components {\n .fs-tabs {\n display: flex;\n border-bottom: var(--fs-border-width) solid var(--fs-color-border-default);\n }\n .fs-tabs .fs-nav-link {\n margin-bottom: -1px;\n border-bottom: 2px solid transparent;\n border-radius: var(--fs-radius-sm) var(--fs-radius-sm) 0 0;\n }\n .fs-tabs .fs-nav-link.is-active {\n border-bottom-color: var(--fs-color-primary);\n }\n .fs-tabs-pill {\n gap: 4px;\n border-bottom: none;\n }\n .fs-tabs-pill .fs-nav-link {\n margin-bottom: 0;\n border-bottom: none;\n border-radius: var(--fs-radius-sm);\n }\n .fs-tabs-pill .fs-nav-link.is-active {\n color: var(--fs-color-on-primary);\n background-color: var(--fs-color-primary);\n }\n .fs-tabs-depth {\n gap: 2px;\n padding: 4px 4px 0;\n background-color: var(--fs-color-subtle);\n }\n .fs-tabs-depth .fs-nav-link {\n margin-bottom: -1px;\n border: 1px solid transparent;\n border-bottom: none;\n border-radius: var(--fs-radius-sm) var(--fs-radius-sm) 0 0;\n }\n .fs-tabs-depth .fs-nav-link.is-active {\n border-color: var(--fs-color-border);\n background-color: var(--fs-color-surface);\n }\n .fs-tabs-center {\n justify-content: center;\n }\n .fs-tabs-right {\n justify-content: flex-end;\n }\n .fs-tabs-fill .fs-nav-link {\n flex: 1;\n justify-content: center;\n text-align: center;\n }\n .fs-tabs-sm .fs-nav-link {\n padding: 6px 10px;\n font-size: 0.75rem;\n }\n .fs-tabs-lg .fs-nav-link {\n padding: 10px 16px;\n font-size: 1rem;\n }\n .fs-tab-content > .fs-tab-pane {\n display: none;\n }\n .fs-tab-content > .fs-tab-pane.is-active {\n display: block;\n }\n}\n@layer components {\n .fs-tooltip {\n position: absolute;\n z-index: var(--fs-z-tooltip);\n display: none;\n max-width: 220px;\n }\n .fs-tooltip.is-open {\n display: block;\n }\n .fs-tooltip-inner {\n padding: 6px 10px;\n border-radius: var(--fs-radius-sm);\n color: var(--fs-tooltip-text);\n background-color: var(--fs-tooltip-bg);\n font-size: 0.6875rem;\n text-align: center;\n }\n .fs-tooltip-arrow {\n position: absolute;\n width: 8px;\n height: 8px;\n background-color: var(--fs-tooltip-bg);\n transform: rotate(45deg);\n }\n .fs-tooltip[data-placement=top] .fs-tooltip-arrow {\n bottom: -4px;\n left: 50%;\n margin-left: -4px;\n }\n .fs-tooltip[data-placement=bottom] .fs-tooltip-arrow {\n top: -4px;\n left: 50%;\n margin-left: -4px;\n }\n .fs-tooltip[data-placement=left] .fs-tooltip-arrow {\n top: 50%;\n right: -4px;\n margin-top: -4px;\n }\n .fs-tooltip[data-placement=right] .fs-tooltip-arrow {\n top: 50%;\n left: -4px;\n margin-top: -4px;\n }\n}\n@layer components {\n .fs-popover {\n position: absolute;\n z-index: var(--fs-z-offcanvas);\n display: none;\n max-width: 280px;\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface);\n border: 1px solid var(--fs-color-border);\n border-radius: var(--fs-radius-md);\n box-shadow: var(--fs-shadow-md);\n }\n .fs-popover.is-open {\n display: block;\n }\n .fs-popover-header {\n padding: 10px 14px;\n background-color: var(--fs-color-subtle);\n border-bottom: 1px solid var(--fs-color-border);\n border-radius: var(--fs-radius-md) var(--fs-radius-md) 0 0;\n font-size: 0.75rem;\n font-weight: 500;\n }\n .fs-popover-body {\n padding: 14px;\n font-size: 0.75rem;\n }\n .fs-popover-footer {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: 8px;\n padding: 10px 14px;\n border-top: 1px solid var(--fs-color-border);\n }\n .fs-popover-arrow {\n position: absolute;\n width: 8px;\n height: 8px;\n background-color: var(--fs-color-surface);\n border: 1px solid var(--fs-color-border);\n transform: rotate(45deg);\n }\n .fs-popover[data-placement=top] .fs-popover-arrow {\n bottom: -5px;\n left: 50%;\n margin-left: -4px;\n border-top: 0;\n border-left: 0;\n }\n .fs-popover[data-placement=bottom] .fs-popover-arrow {\n top: -5px;\n left: 50%;\n margin-left: -4px;\n border-right: 0;\n border-bottom: 0;\n }\n .fs-popover[data-placement=left] .fs-popover-arrow {\n top: 50%;\n right: -5px;\n margin-top: -4px;\n border-bottom: 0;\n border-left: 0;\n }\n .fs-popover[data-placement=right] .fs-popover-arrow {\n top: 50%;\n left: -5px;\n margin-top: -4px;\n border-top: 0;\n border-right: 0;\n }\n .fs-popover-hover-card {\n max-width: 320px;\n }\n .fs-popover-hover-card .fs-popover-body {\n display: flex;\n gap: 12px;\n }\n}\n@layer components {\n .fs-toast-container {\n position: fixed;\n right: 16px;\n bottom: 16px;\n z-index: var(--fs-z-toast);\n display: flex;\n flex-direction: column;\n gap: 8px;\n width: min(360px, 100%);\n max-width: calc(100vw - 2 * var(--fs-space-3));\n }\n .fs-toast {\n display: flex;\n overflow: hidden;\n flex-direction: column;\n border: 1px solid var(--fs-color-border);\n border-radius: var(--fs-radius-md);\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface);\n box-shadow: var(--fs-shadow-md);\n }\n .fs-toast-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 10px 12px;\n border-bottom: 1px solid var(--fs-color-border);\n font-size: 0.75rem;\n font-weight: 500;\n }\n .fs-toast-body {\n padding: 12px;\n font-size: 0.75rem;\n }\n .fs-toast-primary .fs-toast-header {\n color: var(--fs-alert-primary-text);\n background-color: var(--fs-alert-primary-bg);\n }\n .fs-toast-secondary .fs-toast-header {\n color: var(--fs-alert-secondary-text);\n background-color: var(--fs-alert-secondary-bg);\n }\n .fs-toast-success .fs-toast-header {\n color: var(--fs-alert-success-text);\n background-color: var(--fs-alert-success-bg);\n }\n .fs-toast-warning .fs-toast-header {\n color: var(--fs-alert-warning-text);\n background-color: var(--fs-alert-warning-bg);\n }\n .fs-toast-danger .fs-toast-header {\n color: var(--fs-alert-danger-text);\n background-color: var(--fs-alert-danger-bg);\n }\n .fs-toast-info .fs-toast-header {\n color: var(--fs-alert-info-text);\n background-color: var(--fs-alert-info-bg);\n }\n}\n@layer components {\n .fs-pagination {\n display: flex;\n gap: 0.25rem;\n margin: 0;\n padding: 0;\n list-style: none;\n }\n .fs-pagination-scroll {\n max-width: 100%;\n overflow-x: auto;\n padding-block: 2px;\n }\n .fs-pagination-scroll .fs-pagination {\n width: max-content;\n }\n .fs-page-link {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-width: 32px;\n height: 32px;\n padding: 0 8px;\n border: 1px solid var(--fs-color-border);\n border-radius: var(--fs-radius-sm);\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface);\n text-decoration: none;\n transition: background-color 0.15s ease-in-out;\n }\n .fs-page-link:hover {\n background-color: var(--fs-color-subtle);\n }\n .fs-page-link:focus-visible {\n outline: var(--fs-focus-width) solid var(--fs-color-primary);\n outline-offset: var(--fs-focus-offset);\n border-color: var(--fs-color-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--fs-color-primary) 22%, transparent);\n }\n .fs-page-item.is-active .fs-page-link {\n color: var(--fs-color-on-primary);\n background-color: var(--fs-color-primary);\n border-color: var(--fs-color-primary);\n }\n .fs-page-item.is-disabled .fs-page-link {\n color: var(--fs-color-muted);\n opacity: 0.6;\n pointer-events: none;\n }\n .fs-pagination-bordered {\n gap: 0;\n }\n .fs-pagination-bordered .fs-page-link {\n border-radius: 0;\n }\n .fs-pagination-bordered .fs-page-item:not(:first-child) .fs-page-link {\n margin-left: -1px;\n }\n .fs-pagination-bordered .fs-page-item:first-child .fs-page-link {\n border-top-left-radius: var(--fs-radius-sm);\n border-bottom-left-radius: var(--fs-radius-sm);\n }\n .fs-pagination-bordered .fs-page-item:last-child .fs-page-link {\n border-top-right-radius: var(--fs-radius-sm);\n border-bottom-right-radius: var(--fs-radius-sm);\n }\n .fs-pagination-bordered .fs-page-link:hover,\n .fs-pagination-bordered .fs-page-item.is-active .fs-page-link {\n position: relative;\n z-index: 1;\n }\n .fs-pagination-sm .fs-page-link {\n min-width: 26px;\n height: 26px;\n padding: 0 6px;\n font-size: 0.6875rem;\n }\n .fs-pagination-lg .fs-page-link {\n min-width: 40px;\n height: 40px;\n padding: 0 12px;\n font-size: 0.8125rem;\n }\n .fs-page-link-text {\n gap: 6px;\n padding: 0 14px;\n }\n}\n@layer components {\n .fs-breadcrumb {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: 4px;\n margin: 0;\n padding: 0;\n list-style: none;\n font-size: 0.75rem;\n }\n .fs-breadcrumb-item {\n display: flex;\n align-items: center;\n gap: 4px;\n color: var(--fs-color-muted);\n }\n .fs-breadcrumb-item + .fs-breadcrumb-item::before {\n color: var(--fs-color-muted);\n content: \"/\";\n }\n .fs-breadcrumb-item a {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n color: var(--fs-alert-primary-text);\n text-decoration: none;\n }\n .fs-breadcrumb-item a:hover {\n text-decoration: underline;\n }\n .fs-breadcrumb-item.is-active {\n color: var(--fs-color-text);\n }\n .fs-breadcrumb-item-truncate {\n display: inline-block;\n max-width: 160px;\n vertical-align: bottom;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .fs-breadcrumb-more {\n padding: 0;\n border: none;\n color: var(--fs-color-muted);\n background-color: var(--fs-color-surface-raised);\n font-size: inherit;\n font-family: inherit;\n line-height: inherit;\n cursor: pointer;\n }\n .fs-breadcrumb-more:hover {\n color: var(--fs-color-text);\n }\n}\n@layer components {\n .fs-spinner {\n --fs-spinner-size: 20px;\n --fs-spinner-stroke: 2px;\n --fs-spinner-duration: 0.8s;\n display: inline-block;\n box-sizing: border-box;\n width: var(--fs-spinner-size);\n height: var(--fs-spinner-size);\n vertical-align: middle;\n border: var(--fs-spinner-stroke) solid color-mix(in srgb, currentcolor 20%, transparent);\n border-top-color: currentcolor;\n border-radius: 50%;\n animation: fokus-spin var(--fs-spinner-duration) linear infinite;\n will-change: transform;\n }\n .fs-spinner-sm {\n --fs-spinner-size: 14px;\n --fs-spinner-stroke: 2px;\n }\n .fs-spinner-lg {\n --fs-spinner-size: 32px;\n --fs-spinner-stroke: 3px;\n }\n .fs-spinner-primary {\n color: var(--fs-color-primary);\n }\n .fs-spinner-secondary {\n color: var(--fs-color-secondary);\n }\n .fs-spinner-success {\n color: var(--fs-color-success);\n }\n .fs-spinner-warning {\n color: var(--fs-color-warning);\n }\n .fs-spinner-danger {\n color: var(--fs-color-danger);\n }\n .fs-spinner-info {\n color: var(--fs-color-info);\n }\n @keyframes fokus-spin {\n to {\n transform: rotate(360deg);\n }\n }\n .fs-progress {\n --fs-progress-height: 8px;\n --fs-progress-track: var(--fs-color-subtle);\n --fs-progress-radius: 0;\n position: relative;\n display: flex;\n height: var(--fs-progress-height);\n overflow: hidden;\n background-color: var(--fs-progress-track);\n border-radius: var(--fs-progress-radius);\n }\n .fs-progress-bar {\n --fs-progress-bar-bg: var(--fs-color-primary);\n --fs-progress-color: var(--fs-color-on-primary);\n display: flex;\n align-items: center;\n justify-content: center;\n width: calc(var(--fs-progress-value, 0) * 1%);\n height: 100%;\n min-width: 0;\n overflow: hidden;\n color: var(--fs-progress-color);\n background-color: var(--fs-progress-bar-bg);\n font-size: 0;\n line-height: 1;\n text-overflow: ellipsis;\n white-space: nowrap;\n transition: width 0.25s ease-out;\n }\n .fs-progress-bar-primary {\n --fs-progress-bar-bg: var(--fs-color-primary);\n --fs-progress-color: #ffffff;\n }\n .fs-progress-bar-secondary {\n --fs-progress-bar-bg: var(--fs-color-secondary);\n --fs-progress-color: #ffffff;\n }\n .fs-progress-bar-success {\n --fs-progress-bar-bg: var(--fs-color-success);\n --fs-progress-color: #000000;\n }\n .fs-progress-bar-warning {\n --fs-progress-bar-bg: var(--fs-color-warning);\n --fs-progress-color: #000000;\n }\n .fs-progress-bar-danger {\n --fs-progress-bar-bg: var(--fs-color-danger);\n --fs-progress-color: #ffffff;\n }\n .fs-progress-bar-info {\n --fs-progress-bar-bg: var(--fs-color-info);\n --fs-progress-color: #ffffff;\n }\n .fs-spinner[data-fs-loading=false] {\n display: none;\n }\n .fs-progress-sm {\n --fs-progress-height: 4px;\n }\n .fs-progress-lg {\n --fs-progress-height: 16px;\n }\n .fs-progress-lg .fs-progress-bar {\n padding-inline: 6px;\n font-size: 0.6875rem;\n }\n .fs-progress-meta {\n display: flex;\n align-items: baseline;\n justify-content: space-between;\n gap: 12px;\n max-width: 480px;\n margin-bottom: 6px;\n color: var(--fs-color-text);\n font-size: 0.75rem;\n }\n .fs-progress-value {\n color: var(--fs-color-muted);\n font-variant-numeric: tabular-nums;\n }\n .fs-progress-indeterminate .fs-progress-bar {\n width: 36%;\n animation: fokus-progress-indeterminate 1.25s ease-in-out infinite;\n }\n .fs-progress-indeterminate {\n --fs-progress-track: color-mix(in srgb, var(--fs-color-primary) 18%, transparent);\n }\n @keyframes fokus-progress-indeterminate {\n from {\n transform: translateX(-110%);\n }\n to {\n transform: translateX(290%);\n }\n }\n .fs-progress-complete .fs-progress-bar {\n --fs-progress-bar-bg: var(--fs-color-success);\n --fs-progress-color: #000000;\n }\n .fs-progress-error .fs-progress-bar {\n --fs-progress-bar-bg: var(--fs-color-danger);\n --fs-progress-color: #ffffff;\n }\n .fs-progress-status {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n margin-top: 6px;\n color: var(--fs-color-muted);\n font-size: 0.75rem;\n }\n .fs-progress-status-icon {\n display: inline-grid;\n width: 14px;\n height: 14px;\n place-items: center;\n color: var(--fs-alert-success-text);\n }\n .fs-progress-status-icon .fs-icon {\n width: 14px;\n height: 14px;\n stroke: currentcolor;\n }\n .fs-progress-status-danger,\n .fs-progress-error + .fs-progress-status {\n color: var(--fs-alert-danger-text);\n }\n .fs-progress-marker {\n position: absolute;\n z-index: 1;\n top: 0;\n bottom: 0;\n left: calc(var(--fs-progress-marker-value) * 1%);\n width: 2px;\n background-color: var(--fs-color-text);\n pointer-events: none;\n transform: translateX(-1px);\n }\n .fs-progress-minimum .fs-progress-bar {\n width: max(var(--fs-progress-value, 0) * 1%, 4px);\n }\n .fs-progress-bar-striped {\n background-image: linear-gradient(45deg, color-mix(in srgb, currentcolor 16%, transparent) 25%, transparent 25%, transparent 50%, color-mix(in srgb, currentcolor 16%, transparent) 50%, color-mix(in srgb, currentcolor 16%, transparent) 75%, transparent 75%, transparent);\n background-size: 16px 16px;\n }\n .fs-progress-bar-animated {\n animation: fokus-progress-stripes 1s linear infinite;\n }\n @keyframes fokus-progress-stripes {\n from {\n background-position: 16px 0;\n }\n to {\n background-position: 0 0;\n }\n }\n @media (prefers-reduced-motion: reduce) {\n .fs-spinner {\n --fs-spinner-duration: 1.5s;\n }\n .fs-progress-bar-animated {\n animation-duration: 1.5s;\n }\n .fs-progress-indeterminate .fs-progress-bar {\n animation-duration: 1.8s;\n }\n }\n}\n@layer components {\n .fs-carousel {\n --fs-carousel-radius: var(--fs-radius-md);\n --fs-carousel-transition-duration: var(--fs-transition-normal);\n --fs-carousel-transition-easing: var(--fs-ease-standard);\n --fs-carousel-control-size: 44px;\n --fs-carousel-control-inset: var(--fs-space-2);\n --fs-carousel-control-gap: var(--fs-space-1);\n --fs-carousel-control-color: var(--fs-color-white);\n --fs-carousel-control-paused-color: var(--fs-color-warning);\n --fs-carousel-control-bg: rgb(15 23 42 / 72%);\n --fs-carousel-control-bg-hover: rgb(15 23 42 / 88%);\n --fs-carousel-focus-color: var(--fs-color-white);\n --fs-carousel-indicator-size: 8px;\n --fs-carousel-indicator-active-width: 24px;\n --fs-carousel-indicator-color: rgb(255 255 255 / 62%);\n --fs-carousel-indicator-active-color: var(--fs-color-white);\n --fs-carousel-caption-scrim: rgb(15 23 42 / 78%);\n --fs-carousel-top-safe-area: calc(var(--fs-carousel-control-size) + (var(--fs-carousel-control-inset) * 2));\n --fs-carousel-bottom-safe-area: calc(32px + var(--fs-space-2) + 24px);\n --fs-carousel-progress-height: 3px;\n position: relative;\n overflow: hidden;\n border-radius: var(--fs-carousel-radius);\n }\n .fs-carousel::before {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n height: calc(var(--fs-carousel-control-size) + var(--fs-carousel-control-inset) * 2);\n pointer-events: none;\n content: \"\";\n background: linear-gradient(to bottom, rgba(15, 23, 42, 0.76), rgba(15, 23, 42, 0.32));\n opacity: 0;\n transition: opacity var(--fs-transition-fast) var(--fs-ease-standard);\n }\n .fs-carousel-inner {\n display: flex;\n transition: transform var(--fs-carousel-transition-duration) var(--fs-carousel-transition-easing);\n }\n .fs-carousel-item {\n position: relative;\n flex: 0 0 100%;\n width: 100%;\n }\n .fs-carousel-item img {\n display: block;\n width: 100%;\n }\n .fs-carousel.is-dragging .fs-carousel-inner {\n cursor: grabbing;\n transition: none;\n user-select: none;\n }\n .fs-carousel:not(.is-static) .fs-carousel-inner {\n cursor: grab;\n touch-action: pan-y;\n }\n .fs-carousel-fade .fs-carousel-inner {\n display: block;\n transform: none;\n }\n .fs-carousel-fade .fs-carousel-item {\n position: absolute;\n inset: 0;\n opacity: 0;\n transition: opacity var(--fs-carousel-transition-duration) var(--fs-carousel-transition-easing);\n }\n .fs-carousel-fade .fs-carousel-item.is-active {\n position: relative;\n opacity: 1;\n }\n .fs-carousel-control-prev,\n .fs-carousel-control-next,\n .fs-carousel-control-toggle {\n position: absolute;\n top: var(--fs-carousel-control-inset);\n z-index: 2;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--fs-carousel-control-size);\n height: var(--fs-carousel-control-size);\n padding: 0;\n color: var(--fs-carousel-control-color);\n background-color: transparent;\n background-repeat: no-repeat;\n background-position: center;\n background-size: 18px 18px;\n border: 0;\n border-radius: 0;\n cursor: pointer;\n opacity: 0;\n transition: background-color var(--fs-transition-fast) var(--fs-ease-standard), opacity var(--fs-transition-fast) var(--fs-ease-standard), transform var(--fs-transition-fast) var(--fs-ease-standard);\n }\n .fs-carousel-control-prev,\n .fs-carousel-control-next {\n transform: none;\n }\n .fs-carousel-control-prev {\n left: var(--fs-carousel-control-inset);\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 4 6 9l5 5'/%3E%3C/svg%3E\");\n }\n .fs-carousel-control-next {\n left: calc(var(--fs-carousel-control-inset) + var(--fs-carousel-control-size) + var(--fs-carousel-control-gap));\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 4 5 5-5 5'/%3E%3C/svg%3E\");\n }\n .fs-carousel-control-toggle {\n left: calc(var(--fs-carousel-control-inset) + var(--fs-carousel-control-size) + var(--fs-carousel-control-gap));\n }\n .fs-carousel:has(.fs-carousel-control-toggle) .fs-carousel-control-next {\n left: calc(var(--fs-carousel-control-inset) + (var(--fs-carousel-control-size) + var(--fs-carousel-control-gap)) * 2);\n }\n .fs-carousel-control-toggle[aria-pressed=true] {\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M7 5v8M11 5v8'/%3E%3C/svg%3E\");\n }\n .fs-carousel-control-toggle[aria-pressed=false] {\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='%23ffffff'%3E%3Cpath d='m7 4 7 5-7 5z'/%3E%3C/svg%3E\");\n }\n .fs-carousel.is-autoplay-paused .fs-carousel-control-toggle[aria-pressed=true] {\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='%23f0b40e' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M7 5v8M11 5v8'/%3E%3C/svg%3E\");\n }\n .fs-carousel.is-autoplay-paused .fs-carousel-control-toggle[aria-pressed=false] {\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='%23f0b40e'%3E%3Cpath d='m7 4 7 5-7 5z'/%3E%3C/svg%3E\");\n }\n .fs-carousel-control-prev:hover,\n .fs-carousel-control-next:hover,\n .fs-carousel-control-toggle:hover {\n background-color: var(--fs-carousel-control-bg-hover);\n }\n .fs-carousel-control-prev:active,\n .fs-carousel-control-next:active,\n .fs-carousel-control-toggle:active {\n transform: scale(0.94);\n }\n .fs-carousel-control-prev:focus-visible,\n .fs-carousel-control-next:focus-visible,\n .fs-carousel-control-toggle:focus-visible,\n .fs-carousel-indicators button:focus-visible {\n outline: var(--fs-focus-width) solid var(--fs-carousel-focus-color);\n outline-offset: var(--fs-focus-offset);\n border-color: var(--fs-carousel-focus-color);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--fs-carousel-focus-color) 22%, transparent);\n }\n .fs-carousel:hover .fs-carousel-control-prev,\n .fs-carousel:hover .fs-carousel-control-next,\n .fs-carousel:hover .fs-carousel-control-toggle,\n .fs-carousel:focus-within .fs-carousel-control-prev,\n .fs-carousel:focus-within .fs-carousel-control-next,\n .fs-carousel:focus-within .fs-carousel-control-toggle {\n opacity: 1;\n }\n .fs-carousel:hover::before,\n .fs-carousel:focus-within::before {\n opacity: 1;\n }\n .fs-carousel-indicators {\n position: absolute;\n right: 0;\n bottom: var(--fs-space-2);\n left: 0;\n z-index: 1;\n display: flex;\n justify-content: center;\n gap: 0;\n margin: 0;\n padding: 0;\n list-style: none;\n }\n .fs-carousel-indicators button {\n position: relative;\n display: grid;\n width: 28px;\n height: 32px;\n padding: 0;\n place-items: center;\n background: transparent;\n border: 0;\n cursor: pointer;\n }\n .fs-carousel-indicators button::before {\n width: var(--fs-carousel-indicator-size);\n height: var(--fs-carousel-indicator-size);\n content: \"\";\n background-color: var(--fs-carousel-indicator-color);\n border-radius: var(--fs-radius-lg);\n transition: width var(--fs-transition-fast) var(--fs-ease-standard), background-color var(--fs-transition-fast) var(--fs-ease-standard);\n }\n .fs-carousel-indicators button.is-active::before {\n width: var(--fs-carousel-indicator-active-width);\n background-color: var(--fs-carousel-indicator-active-color);\n }\n .fs-carousel-caption {\n position: absolute;\n right: 0;\n bottom: var(--fs-carousel-bottom-safe-area);\n left: 0;\n z-index: 1;\n box-sizing: border-box;\n max-width: min(100%, 42rem);\n max-block-size: calc(100% - var(--fs-carousel-top-safe-area) - var(--fs-carousel-bottom-safe-area));\n isolation: isolate;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: var(--fs-space-2);\n padding: calc(var(--fs-space-4) + 20px) var(--fs-space-4) var(--fs-space-3);\n color: var(--fs-color-white);\n }\n .fs-carousel-caption::before {\n position: absolute;\n top: 0;\n right: 0;\n bottom: calc(var(--fs-carousel-bottom-safe-area) * -1);\n left: 0;\n z-index: -1;\n content: \"\";\n background: linear-gradient(to top, var(--fs-carousel-caption-scrim), transparent);\n }\n .fs-carousel-caption > * {\n margin: 0;\n }\n .fs-carousel-caption .fs-btn {\n --fs-btn-color: var(--fs-color-text-primary);\n --fs-btn-bg: var(--fs-color-white);\n --fs-btn-border-color: var(--fs-color-white);\n --fs-btn-hover-bg: var(--fs-color-subtle);\n --fs-btn-active-bg: var(--fs-color-border-default);\n }\n .fs-carousel-caption-side .fs-carousel-caption {\n top: var(--fs-carousel-top-safe-area);\n right: 0;\n bottom: 0;\n left: auto;\n width: min(42%, 28rem);\n max-width: none;\n max-block-size: none;\n padding: var(--fs-space-4) var(--fs-space-4) calc(var(--fs-carousel-bottom-safe-area) + var(--fs-space-2));\n background: rgba(15, 23, 42, 0.84);\n }\n .fs-carousel-caption-side .fs-carousel-caption-start {\n right: auto;\n left: 0;\n }\n .fs-carousel-caption-side .fs-carousel-caption::before,\n .fs-carousel-caption-stacked .fs-carousel-caption::before {\n display: none;\n }\n .fs-carousel-caption-stacked {\n --fs-carousel-bottom-safe-area: 0px;\n }\n .fs-carousel-caption-stacked .fs-carousel-caption {\n position: static;\n max-width: none;\n max-block-size: none;\n overflow: visible;\n padding: var(--fs-space-4);\n color: var(--fs-color-text-primary);\n background: var(--fs-color-bg-surface);\n }\n .fs-carousel-caption-stacked .fs-carousel-indicators {\n position: relative;\n bottom: auto;\n background: var(--fs-color-bg-surface);\n }\n .fs-carousel-counter {\n position: absolute;\n right: var(--fs-space-3);\n bottom: var(--fs-space-2);\n z-index: 2;\n color: var(--fs-color-white);\n font-size: 0.75rem;\n font-variant-numeric: tabular-nums;\n }\n .fs-carousel-progress {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 2;\n height: var(--fs-carousel-progress-height);\n overflow: hidden;\n background-color: rgba(255, 255, 255, 0.24);\n }\n .fs-carousel-progress > span {\n display: block;\n width: 100%;\n height: 100%;\n background-color: var(--fs-color-white);\n transform: scaleX(0);\n transform-origin: left;\n }\n .fs-carousel-progress.is-running > span {\n animation: fs-carousel-progress var(--fs-carousel-progress-duration, 5000ms) linear forwards;\n }\n .fs-carousel.is-two-slides.fs-carousel-hide-indicators-two .fs-carousel-indicators {\n display: none;\n }\n .fs-carousel-no-media .fs-carousel-item {\n min-block-size: 15rem;\n background-color: var(--fs-color-bg-surface);\n border: var(--fs-border-width) solid var(--fs-color-border-default);\n }\n .fs-carousel-no-media .fs-carousel-counter {\n color: var(--fs-color-text-muted);\n }\n .fs-carousel-no-media .fs-carousel-progress {\n background-color: var(--fs-color-border-default);\n }\n .fs-carousel-no-media .fs-carousel-progress > span {\n background-color: var(--fs-color-action-primary);\n }\n .fs-carousel-media-placeholder {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n min-height: inherit;\n padding: calc(var(--fs-carousel-top-safe-area) + var(--fs-space-4)) var(--fs-space-4) calc(var(--fs-carousel-bottom-safe-area) + var(--fs-space-4));\n }\n .fs-carousel-media-placeholder > * {\n max-width: 36rem;\n margin: 0;\n }\n .fs-carousel-media-placeholder > * + * {\n margin-top: var(--fs-space-2);\n }\n .fs-carousel-media {\n min-block-size: 18rem;\n background-position: center;\n background-size: cover;\n }\n .fs-carousel.is-static .fs-carousel-control-prev,\n .fs-carousel.is-static .fs-carousel-control-next,\n .fs-carousel.is-static .fs-carousel-control-toggle,\n .fs-carousel.is-static .fs-carousel-indicators {\n display: none;\n }\n @media (max-width: 639px) {\n .fs-carousel {\n --fs-carousel-control-inset: var(--fs-space-1);\n }\n .fs-carousel-caption {\n padding: calc(var(--fs-space-3) + 20px) var(--fs-space-3) var(--fs-space-3);\n }\n .fs-carousel-caption-side .fs-carousel-caption {\n top: auto;\n bottom: var(--fs-carousel-bottom-safe-area);\n width: auto;\n max-block-size: calc(100% - var(--fs-carousel-top-safe-area) - var(--fs-carousel-bottom-safe-area));\n overflow: clip;\n align-items: flex-end;\n padding: calc(var(--fs-space-3) + 20px) var(--fs-space-3) calc(var(--fs-carousel-bottom-safe-area) + var(--fs-space-2));\n text-align: end;\n background: transparent;\n }\n .fs-carousel-caption-side .fs-carousel-caption-start {\n right: 0;\n left: 0;\n align-items: flex-start;\n text-align: start;\n }\n .fs-carousel-caption-side .fs-carousel-item::after {\n position: absolute;\n inset: 0;\n z-index: 0;\n pointer-events: none;\n content: \"\";\n background: linear-gradient(to top, var(--fs-carousel-caption-scrim) 0%, rgba(15, 23, 42, 0.52) 56%, transparent 100%);\n }\n }\n @media (prefers-reduced-motion: reduce) {\n .fs-carousel-inner,\n .fs-carousel-fade .fs-carousel-item,\n .fs-carousel-control-prev,\n .fs-carousel-control-next,\n .fs-carousel-control-toggle,\n .fs-carousel-indicators button::before,\n .fs-carousel-progress.is-running > span {\n transition: none;\n animation: none;\n transform: scaleX(1);\n }\n }\n @keyframes fs-carousel-progress {\n to {\n transform: scaleX(1);\n }\n }\n}\n@layer components {\n .fs-stepper-header {\n display: flex;\n margin: 0;\n padding: 0;\n list-style: none;\n }\n .fs-step {\n position: relative;\n display: flex;\n flex: 1 1 0;\n flex-direction: column;\n align-items: center;\n gap: 8px;\n text-align: center;\n }\n .fs-step-indicator {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n color: var(--fs-color-muted);\n background-color: var(--fs-color-surface);\n border: 2px solid var(--fs-color-border);\n border-radius: 50%;\n font-size: 0.75rem;\n font-weight: 500;\n }\n .fs-step-label {\n color: var(--fs-color-muted);\n font-size: 0.75rem;\n font-weight: 500;\n }\n .fs-step-description {\n color: var(--fs-color-muted);\n font-size: 0.6875rem;\n }\n .fs-step:not(:last-child)::after {\n content: \"\";\n position: absolute;\n top: 15px;\n left: calc(50% + 20px);\n width: calc(100% - 40px);\n height: 2px;\n background-color: var(--fs-color-border);\n }\n .fs-step-active .fs-step-indicator {\n color: var(--fs-color-on-primary);\n background-color: var(--fs-color-primary);\n border-color: var(--fs-color-primary);\n }\n .fs-step-active .fs-step-label {\n color: var(--fs-color-text);\n }\n .fs-step-completed .fs-step-indicator {\n color: transparent;\n background-color: var(--fs-color-primary);\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 8.5 6.5 12 13 4'/%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n background-position: center;\n border-color: var(--fs-color-primary);\n }\n .fs-step-completed .fs-step-label {\n color: var(--fs-color-text);\n }\n .fs-step-completed:not(:last-child)::after {\n background-color: var(--fs-color-primary);\n }\n .fs-step-error .fs-step-indicator {\n color: #ffffff;\n background-color: var(--fs-color-danger);\n border-color: var(--fs-color-danger);\n }\n .fs-step-error .fs-step-label {\n color: var(--fs-alert-danger-text);\n }\n .fs-step.fs-step-clickable {\n cursor: pointer;\n }\n .fs-step.fs-step-clickable:focus-visible {\n outline: 2px solid var(--fs-color-primary);\n outline-offset: 2px;\n border-radius: var(--fs-radius-sm);\n }\n .fs-stepper-vertical .fs-stepper-header {\n flex-direction: column;\n }\n .fs-stepper-vertical .fs-step {\n flex-direction: row;\n flex: 0 0 auto;\n align-items: flex-start;\n gap: 12px;\n min-height: 56px;\n text-align: left;\n }\n .fs-stepper-vertical .fs-step-content {\n display: flex;\n flex-direction: column;\n gap: 2px;\n padding-top: 5px;\n }\n .fs-stepper-vertical .fs-step:not(:last-child)::after {\n top: 34px;\n left: 15px;\n width: 2px;\n height: calc(100% - 22px);\n }\n .fs-step-panel {\n display: none;\n }\n .fs-step-panel.is-active {\n display: block;\n }\n .fs-stepper-content {\n margin-top: 20px;\n }\n .fs-stepper-actions {\n display: flex;\n justify-content: space-between;\n gap: 8px;\n margin-top: 20px;\n }\n}\n@layer components {\n .fs-segmented-control {\n display: inline-flex;\n border: 1px solid var(--fs-color-border);\n border-radius: var(--fs-radius-sm);\n overflow: hidden;\n }\n .fs-segmented-item {\n display: flex;\n }\n .fs-segmented-item:not(:first-child) .fs-segmented-label {\n border-left: 1px solid var(--fs-color-border);\n }\n .fs-segmented-input {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip-path: inset(50%);\n white-space: nowrap;\n border: 0;\n }\n .fs-segmented-label {\n display: inline-flex;\n flex: 1;\n align-items: center;\n justify-content: center;\n min-height: 38px;\n padding: 0 12px;\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface);\n font-size: 0.8125rem;\n font-weight: 500;\n text-align: center;\n white-space: nowrap;\n cursor: pointer;\n user-select: none;\n transition: background-color 0.15s ease-in-out, color 0.15s ease-in-out;\n }\n .fs-segmented-label:hover {\n background-color: var(--fs-color-subtle);\n }\n .fs-segmented-input:checked + .fs-segmented-label {\n color: var(--fs-color-on-primary);\n background-color: var(--fs-color-primary);\n }\n .fs-segmented-input:focus-visible + .fs-segmented-label {\n position: relative;\n z-index: 1;\n outline: var(--fs-focus-width) solid var(--fs-color-primary);\n outline-offset: var(--fs-focus-offset);\n border-color: var(--fs-color-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--fs-color-primary) 22%, transparent);\n }\n .fs-segmented-input:disabled + .fs-segmented-label {\n opacity: 0.4;\n pointer-events: none;\n }\n .fs-segmented-control-sm .fs-segmented-label {\n min-height: 30px;\n padding: 0 8px;\n font-size: 0.75rem;\n }\n .fs-segmented-control-lg .fs-segmented-label {\n min-height: 46px;\n padding: 0 16px;\n font-size: 1rem;\n }\n}\n@layer components {\n .fs-skeleton {\n display: block;\n background-color: var(--fs-color-subtle);\n border-radius: var(--fs-radius-sm);\n animation: fokus-skeleton-pulse 1.5s ease-in-out infinite;\n }\n .fs-skeleton-text {\n width: 100%;\n height: 1em;\n }\n .fs-skeleton-text:not(:last-child) {\n margin-bottom: 0.5em;\n }\n .fs-skeleton-text:last-child {\n width: 80%;\n }\n .fs-skeleton-circle {\n flex-shrink: 0;\n border-radius: 50%;\n }\n .fs-skeleton-rect {\n border-radius: var(--fs-radius-md);\n }\n .fs-skeleton-card {\n display: grid;\n gap: var(--fs-space-3);\n min-height: 10rem;\n padding: var(--fs-space-4);\n border-radius: var(--fs-radius-md);\n }\n .fs-skeleton-table {\n height: 1.25rem;\n margin-block-end: var(--fs-space-2);\n }\n .fs-skeleton-avatar {\n width: 2.5rem;\n height: 2.5rem;\n border-radius: 50%;\n }\n @keyframes fokus-skeleton-pulse {\n 0%, 100% {\n opacity: 1;\n }\n 50% {\n opacity: 0.5;\n }\n }\n .fs-skeleton-wave {\n position: relative;\n overflow: hidden;\n animation: none;\n }\n .fs-skeleton-wave::after {\n position: absolute;\n inset: 0;\n content: \"\";\n background-image: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);\n transform: translateX(-100%);\n animation: fokus-skeleton-wave 1.6s linear infinite;\n }\n @keyframes fokus-skeleton-wave {\n 100% {\n transform: translateX(100%);\n }\n }\n @media (prefers-reduced-motion: reduce) {\n .fs-skeleton {\n animation: none;\n }\n .fs-skeleton-wave::after {\n animation: none;\n }\n }\n}\n@layer components {\n .fs-timeline {\n display: flex;\n flex-direction: column;\n margin: 0;\n padding: 0;\n list-style: none;\n }\n .fs-timeline-item {\n position: relative;\n display: flex;\n gap: 12px;\n padding-bottom: 24px;\n }\n .fs-timeline-item:last-child {\n padding-bottom: 0;\n }\n .fs-timeline-marker {\n flex-shrink: 0;\n width: 16px;\n height: 16px;\n margin-top: 3px;\n background-color: var(--fs-color-surface);\n background-repeat: no-repeat;\n background-position: center;\n border: 2px solid var(--fs-color-border);\n border-radius: 50%;\n }\n .fs-timeline-item:not(:last-child)::before {\n content: \"\";\n position: absolute;\n top: 22px;\n left: 7px;\n width: 2px;\n height: calc(100% - 22px);\n background-color: var(--fs-color-border);\n }\n .fs-timeline-content {\n flex: 1;\n padding-top: 1px;\n }\n .fs-timeline-title {\n margin: 0;\n color: var(--fs-color-text);\n font-size: 0.8125rem;\n font-weight: 500;\n }\n .fs-timeline-text {\n margin: 4px 0 0;\n color: var(--fs-color-muted);\n font-size: 0.75rem;\n }\n .fs-timeline-time {\n display: block;\n margin-top: 2px;\n color: var(--fs-color-muted);\n font-size: 0.6875rem;\n }\n .fs-timeline-active .fs-timeline-marker {\n background-color: var(--fs-color-primary);\n border-color: var(--fs-color-primary);\n }\n .fs-timeline-completed .fs-timeline-marker {\n background-color: var(--fs-color-success);\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' fill='none' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 5.5 4 8l4-6'/%3E%3C/svg%3E\");\n border-color: var(--fs-color-success);\n }\n .fs-timeline-completed:not(:last-child)::before {\n background-color: var(--fs-color-success);\n }\n .fs-timeline-failed .fs-timeline-marker {\n background-color: var(--fs-color-danger);\n border-color: var(--fs-color-danger);\n }\n .fs-timeline-failed .fs-timeline-title {\n color: var(--fs-alert-danger-text);\n }\n .fs-timeline-horizontal {\n flex-direction: row;\n }\n .fs-timeline-horizontal .fs-timeline-item {\n flex: 1 1 0;\n flex-direction: column;\n align-items: center;\n gap: 8px;\n padding-bottom: 0;\n text-align: center;\n }\n .fs-timeline-horizontal .fs-timeline-marker {\n margin-top: 0;\n }\n .fs-timeline-horizontal .fs-timeline-item:not(:last-child)::before {\n top: 7px;\n left: calc(50% + 15px);\n width: calc(100% - 30px);\n height: 2px;\n }\n .fs-timeline-horizontal .fs-timeline-content {\n padding-top: 0;\n }\n}\n@layer components {\n .fs-collapse {\n overflow: hidden;\n }\n}\n@layer components {\n [data-fs=notification-center] {\n position: relative;\n }\n .fs-notification-badge {\n position: absolute;\n top: -6px;\n right: -6px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-width: 18px;\n height: 18px;\n padding: 0 5px;\n border-radius: 999px;\n color: #ffffff;\n background-color: var(--fs-color-danger);\n font-size: 0.65rem;\n font-weight: 500;\n line-height: 1;\n }\n .fs-notification-badge[hidden] {\n display: none;\n }\n .fs-notification-center {\n position: absolute;\n display: none;\n flex-direction: column;\n width: min(320px, 100vw - 2 * var(--fs-space-3));\n max-height: 420px;\n border: 1px solid var(--fs-color-border);\n border-radius: var(--fs-radius-md);\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface);\n box-shadow: var(--fs-shadow-md);\n z-index: var(--fs-z-notification);\n }\n .fs-notification-center.is-open {\n display: flex;\n }\n .fs-notification-center-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 10px 14px;\n border-bottom: 1px solid var(--fs-color-border);\n }\n .fs-notification-center-title {\n font-size: 0.75rem;\n font-weight: 500;\n }\n .fs-notification-list {\n margin: 0;\n padding: 0;\n overflow-y: auto;\n list-style: none;\n }\n .fs-notification-item {\n display: flex;\n gap: 10px;\n align-items: flex-start;\n padding: 10px 14px;\n border-left: 3px solid transparent;\n border-bottom: 1px solid var(--fs-color-border);\n }\n .fs-notification-item:last-child {\n border-bottom: none;\n }\n .fs-notification-item-unread {\n background-color: var(--fs-color-subtle);\n }\n .fs-notification-item-primary {\n border-left-color: var(--fs-color-primary);\n }\n .fs-notification-item-secondary {\n border-left-color: var(--fs-color-secondary);\n }\n .fs-notification-item-success {\n border-left-color: var(--fs-color-success);\n }\n .fs-notification-item-warning {\n border-left-color: var(--fs-color-warning);\n }\n .fs-notification-item-danger {\n border-left-color: var(--fs-color-danger);\n }\n .fs-notification-item-info {\n border-left-color: var(--fs-color-info);\n }\n .fs-notification-item-content {\n flex: 1;\n min-width: 0;\n }\n .fs-notification-item-title {\n margin: 0;\n font-size: 0.75rem;\n font-weight: 500;\n }\n .fs-notification-item-text {\n margin: 2px 0 0;\n color: var(--fs-color-muted);\n font-size: 0.75rem;\n }\n .fs-notification-item-time {\n display: block;\n margin-top: 4px;\n color: var(--fs-color-muted);\n font-size: 0.6875rem;\n }\n .fs-notification-item .fs-btn-close {\n flex-shrink: 0;\n width: 16px;\n height: 16px;\n }\n .fs-notification-empty {\n padding: 24px 14px;\n color: var(--fs-color-muted);\n font-size: 0.75rem;\n text-align: center;\n }\n .fs-notification-empty[hidden] {\n display: none;\n }\n}\n@layer components {\n .fs-dropdown-submenu {\n position: relative;\n }\n .fs-dropdown-item-submenu {\n justify-content: space-between;\n }\n .fs-dropdown-item-submenu::after {\n margin-left: 8px;\n content: \"\";\n border-top: 5px solid transparent;\n border-bottom: 5px solid transparent;\n border-left: 5px solid currentcolor;\n }\n .fs-dropdown-submenu > .fs-dropdown-menu {\n top: -7px;\n left: 100%;\n margin: 0;\n }\n .fs-dropdown-submenu:hover > .fs-dropdown-menu,\n .fs-dropdown-submenu > .fs-dropdown-menu.is-open {\n display: block;\n }\n .fs-dropdown-submenu-left > .fs-dropdown-menu {\n right: 100%;\n left: auto;\n }\n}\n@layer components {\n .fs-tile {\n position: relative;\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 12px;\n border: 1px solid var(--fs-color-border);\n border-radius: var(--fs-radius-md);\n background-color: var(--fs-color-surface);\n }\n .fs-tile-icon {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n width: 40px;\n height: 40px;\n border-radius: var(--fs-radius-sm);\n color: var(--fs-color-text);\n background-color: var(--fs-color-subtle);\n font-size: 1rem;\n }\n .fs-tile-body {\n flex: 1 1 auto;\n min-width: 0;\n }\n .fs-tile-title {\n margin: 0;\n color: var(--fs-color-text);\n font-size: 0.8125rem;\n font-weight: 500;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .fs-tile-subtitle {\n margin: 0;\n color: var(--fs-color-muted);\n font-size: 0.75rem;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .fs-tile-actions {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n gap: 8px;\n }\n .fs-tile-actions-bottom {\n flex-wrap: wrap;\n }\n .fs-tile-actions-bottom .fs-tile-actions {\n flex-basis: 100%;\n justify-content: flex-end;\n margin-top: 4px;\n }\n .fs-tile-clickable {\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n }\n .fs-tile-clickable:hover,\n .fs-tile-clickable:focus-within {\n border-color: var(--fs-color-primary);\n box-shadow: var(--fs-shadow-sm);\n }\n .fs-tile-sm {\n gap: 8px;\n padding: 8px;\n }\n .fs-tile-sm .fs-tile-icon {\n width: 32px;\n height: 32px;\n font-size: 0.8125rem;\n }\n .fs-tile-sm .fs-tile-title {\n font-size: 0.75rem;\n }\n .fs-tile-sm .fs-tile-subtitle {\n font-size: 0.6875rem;\n }\n .fs-tile-lg {\n gap: 16px;\n padding: 16px;\n }\n .fs-tile-lg .fs-tile-icon {\n width: 48px;\n height: 48px;\n font-size: 1.25rem;\n }\n .fs-tile-lg .fs-tile-title {\n font-size: 1rem;\n }\n}\n/* stylelint-disable declaration-block-single-line-max-declarations */\n@layer components {\n .fs-avatar {\n display: inline-flex;\n flex: 0 0 auto;\n align-items: center;\n justify-content: center;\n width: 2.5rem;\n height: 2.5rem;\n overflow: hidden;\n color: var(--fs-color-on-primary);\n font-weight: 600;\n background: var(--fs-color-primary);\n border-radius: 50%;\n object-fit: cover;\n }\n .fs-avatar-sm {\n width: 2rem;\n height: 2rem;\n font-size: 0.8125rem;\n }\n .fs-avatar-lg {\n width: 3.5rem;\n height: 3.5rem;\n font-size: 1.25rem;\n }\n .fs-avatar-square {\n border-radius: var(--fs-radius-md);\n }\n .fs-avatar img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n }\n}\n/* stylelint-disable declaration-block-single-line-max-declarations */\n@layer components {\n .fs-button-group {\n display: inline-flex;\n vertical-align: middle;\n }\n .fs-button-group > .fs-btn {\n border-radius: 0;\n }\n .fs-button-group > .fs-btn:first-child {\n border-start-start-radius: var(--fs-radius-sm);\n border-end-start-radius: var(--fs-radius-sm);\n }\n .fs-button-group > .fs-btn:last-child {\n border-start-end-radius: var(--fs-radius-sm);\n border-end-end-radius: var(--fs-radius-sm);\n }\n .fs-button-group > .fs-btn + .fs-btn {\n margin-inline-start: -1px;\n }\n .fs-button-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n }\n .fs-button-group-vertical > .fs-btn {\n width: 100%;\n }\n}\n/* stylelint-disable declaration-block-single-line-max-declarations */\n@layer components {\n .fs-close {\n display: inline-grid;\n width: 2rem;\n height: 2rem;\n place-items: center;\n padding: 0;\n color: currentcolor;\n font-size: 1.5rem;\n line-height: 1;\n background: transparent;\n border: 0;\n border-radius: 50%;\n cursor: pointer;\n opacity: 0.72;\n }\n .fs-close::before {\n content: \"×\";\n }\n .fs-close:hover {\n opacity: 1;\n background: var(--fs-color-subtle);\n }\n .fs-close:focus-visible {\n outline: var(--fs-focus-width) solid var(--fs-focus-color);\n outline-offset: var(--fs-focus-offset);\n }\n}\n/* stylelint-disable declaration-block-single-line-max-declarations */\n@layer components {\n .fs-list-group {\n display: flex;\n flex-direction: column;\n padding: 0;\n margin: 0;\n list-style: none;\n border: 1px solid var(--fs-color-border);\n border-radius: var(--fs-radius-md);\n }\n .fs-list-group-item {\n position: relative;\n display: block;\n padding: var(--fs-space-3) var(--fs-space-4);\n color: var(--fs-color-text);\n background: var(--fs-color-surface);\n border-block-end: 1px solid var(--fs-color-border);\n }\n .fs-list-group-item:last-child {\n border-block-end: 0;\n }\n button.fs-list-group-item, a.fs-list-group-item {\n width: 100%;\n text-align: start;\n cursor: pointer;\n }\n .fs-list-group-item:hover {\n background: var(--fs-color-subtle);\n }\n .fs-list-group-item.is-active {\n color: var(--fs-color-on-primary);\n background: var(--fs-color-primary);\n }\n}\n@layer components {\n .fs-code {\n padding: 0.125em 0.35em;\n color: var(--fs-color-danger);\n background: var(--fs-color-subtle);\n border-radius: var(--fs-radius-sm);\n }\n .fs-pre {\n display: block;\n max-width: 100%;\n padding: var(--fs-space-4);\n overflow: auto;\n color: var(--fs-color-text);\n background: var(--fs-color-subtle);\n border: 1px solid var(--fs-color-border);\n border-radius: var(--fs-radius-md);\n }\n}\n/* stylelint-disable declaration-block-single-line-max-declarations */\n@layer components {\n .fs-ratio {\n position: relative;\n width: 100%;\n }\n .fs-ratio::before {\n display: block;\n padding-top: var(--fs-ratio, 56.25%);\n content: \"\";\n }\n .fs-ratio > * {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n object-fit: cover;\n }\n .fs-ratio-1x1 {\n --fs-ratio: 100%;\n }\n .fs-ratio-4x3 {\n --fs-ratio: 75%;\n }\n .fs-ratio-16x9 {\n --fs-ratio: 56.25%;\n }\n .fs-ratio-21x9 {\n --fs-ratio: 42.857%;\n }\n}\n/* stylelint-disable declaration-block-single-line-max-declarations */\n@layer components {\n .fs-icon-link {\n display: inline-flex;\n gap: 0.5em;\n align-items: center;\n }\n .fs-icon-link svg {\n width: 1em;\n height: 1em;\n flex: 0 0 auto;\n }\n .fs-icon-link:hover svg {\n transform: translateX(0.15em);\n }\n @media (prefers-reduced-motion: reduce) {\n .fs-icon-link svg {\n transition: none;\n }\n }\n}\n/* stylelint-disable declaration-block-single-line-max-declarations */\n@layer components {\n .fs-placeholder {\n display: inline-block;\n min-height: 1em;\n vertical-align: middle;\n cursor: wait;\n background: currentcolor;\n opacity: 0.18;\n }\n .fs-placeholder-glow {\n animation: fs-placeholder-glow 1.5s ease-in-out infinite;\n }\n .fs-placeholder-wave {\n background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.35), transparent), currentcolor;\n background-size: 200% 100%;\n animation: fs-placeholder-wave 1.5s linear infinite;\n }\n .fs-placeholder-btn {\n width: 6rem;\n height: 2.5rem;\n border-radius: var(--fs-radius-sm);\n }\n @keyframes fs-placeholder-glow {\n 50% {\n opacity: 0.08;\n }\n }\n @keyframes fs-placeholder-wave {\n to {\n background-position: -200% 0;\n }\n }\n @media (prefers-reduced-motion: reduce) {\n .fs-placeholder-glow, .fs-placeholder-wave {\n animation: none;\n }\n }\n}\n/* stylelint-disable declaration-block-single-line-max-declarations */\n@layer components {\n .fs-progress {\n display: flex;\n height: 0.75rem;\n overflow: hidden;\n background: var(--fs-color-subtle);\n border-radius: 999px;\n }\n .fs-progress-bar {\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--fs-color-on-primary);\n background: var(--fs-color-primary);\n transition: width var(--fs-motion-duration-normal) var(--fs-motion-ease-standard);\n }\n .fs-progress-bar-striped {\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%);\n background-size: 1rem 1rem;\n }\n @media (prefers-reduced-motion: reduce) {\n .fs-progress-bar {\n transition: none;\n }\n }\n}\n/* stylelint-disable declaration-block-single-line-max-declarations */\n@layer components {\n [data-fs-scrollspy] .is-active {\n color: var(--fs-color-primary);\n font-weight: 600;\n }\n .fs-scrollspy-nav {\n position: sticky;\n inset-block-start: var(--fs-space-4);\n }\n}\n@layer utilities {\n .fs-u-cq {\n container-type: inline-size;\n }\n @container (min-width: 320px) {\n .fs-u-cq-sm-d-none {\n display: none;\n }\n .fs-u-cq-sm-d-block {\n display: block;\n }\n .fs-u-cq-sm-d-inline-block {\n display: inline-block;\n }\n .fs-u-cq-sm-d-flex {\n display: flex;\n }\n }\n @container (min-width: 480px) {\n .fs-u-cq-md-d-none {\n display: none;\n }\n .fs-u-cq-md-d-block {\n display: block;\n }\n .fs-u-cq-md-d-inline-block {\n display: inline-block;\n }\n .fs-u-cq-md-d-flex {\n display: flex;\n }\n }\n @container (min-width: 640px) {\n .fs-u-cq-lg-d-none {\n display: none;\n }\n .fs-u-cq-lg-d-block {\n display: block;\n }\n .fs-u-cq-lg-d-inline-block {\n display: inline-block;\n }\n .fs-u-cq-lg-d-flex {\n display: flex;\n }\n }\n}\n@layer utilities {\n .fs-u-d-none {\n display: none;\n }\n .fs-u-d-block {\n display: block;\n }\n .fs-u-d-inline {\n display: inline;\n }\n .fs-u-d-inline-block {\n display: inline-block;\n }\n .fs-u-d-flex {\n display: flex;\n }\n}\n@layer utilities {\n .fs-u-align-items-start {\n align-items: flex-start;\n }\n .fs-u-align-items-center {\n align-items: center;\n }\n .fs-u-align-items-end {\n align-items: flex-end;\n }\n .fs-u-justify-content-start {\n justify-content: flex-start;\n }\n .fs-u-justify-content-center {\n justify-content: center;\n }\n .fs-u-justify-content-end {\n justify-content: flex-end;\n }\n .fs-u-justify-content-around {\n justify-content: space-around;\n }\n .fs-u-justify-content-between {\n justify-content: space-between;\n }\n .fs-u-align-self-start {\n align-self: flex-start;\n }\n .fs-u-align-self-center {\n align-self: center;\n }\n .fs-u-align-self-end {\n align-self: flex-end;\n }\n @media (min-width: 640px) {\n .fs-u-align-items-sm-start {\n align-items: flex-start;\n }\n .fs-u-align-items-sm-center {\n align-items: center;\n }\n .fs-u-align-items-sm-end {\n align-items: flex-end;\n }\n .fs-u-justify-content-sm-start {\n justify-content: flex-start;\n }\n .fs-u-justify-content-sm-center {\n justify-content: center;\n }\n .fs-u-justify-content-sm-end {\n justify-content: flex-end;\n }\n .fs-u-justify-content-sm-around {\n justify-content: space-around;\n }\n .fs-u-justify-content-sm-between {\n justify-content: space-between;\n }\n .fs-u-align-self-sm-start {\n align-self: flex-start;\n }\n .fs-u-align-self-sm-center {\n align-self: center;\n }\n .fs-u-align-self-sm-end {\n align-self: flex-end;\n }\n }\n @media (min-width: 768px) {\n .fs-u-align-items-md-start {\n align-items: flex-start;\n }\n .fs-u-align-items-md-center {\n align-items: center;\n }\n .fs-u-align-items-md-end {\n align-items: flex-end;\n }\n .fs-u-justify-content-md-start {\n justify-content: flex-start;\n }\n .fs-u-justify-content-md-center {\n justify-content: center;\n }\n .fs-u-justify-content-md-end {\n justify-content: flex-end;\n }\n .fs-u-justify-content-md-around {\n justify-content: space-around;\n }\n .fs-u-justify-content-md-between {\n justify-content: space-between;\n }\n .fs-u-align-self-md-start {\n align-self: flex-start;\n }\n .fs-u-align-self-md-center {\n align-self: center;\n }\n .fs-u-align-self-md-end {\n align-self: flex-end;\n }\n }\n @media (min-width: 1024px) {\n .fs-u-align-items-lg-start {\n align-items: flex-start;\n }\n .fs-u-align-items-lg-center {\n align-items: center;\n }\n .fs-u-align-items-lg-end {\n align-items: flex-end;\n }\n .fs-u-justify-content-lg-start {\n justify-content: flex-start;\n }\n .fs-u-justify-content-lg-center {\n justify-content: center;\n }\n .fs-u-justify-content-lg-end {\n justify-content: flex-end;\n }\n .fs-u-justify-content-lg-around {\n justify-content: space-around;\n }\n .fs-u-justify-content-lg-between {\n justify-content: space-between;\n }\n .fs-u-align-self-lg-start {\n align-self: flex-start;\n }\n .fs-u-align-self-lg-center {\n align-self: center;\n }\n .fs-u-align-self-lg-end {\n align-self: flex-end;\n }\n }\n @media (min-width: 1280px) {\n .fs-u-align-items-xl-start {\n align-items: flex-start;\n }\n .fs-u-align-items-xl-center {\n align-items: center;\n }\n .fs-u-align-items-xl-end {\n align-items: flex-end;\n }\n .fs-u-justify-content-xl-start {\n justify-content: flex-start;\n }\n .fs-u-justify-content-xl-center {\n justify-content: center;\n }\n .fs-u-justify-content-xl-end {\n justify-content: flex-end;\n }\n .fs-u-justify-content-xl-around {\n justify-content: space-around;\n }\n .fs-u-justify-content-xl-between {\n justify-content: space-between;\n }\n .fs-u-align-self-xl-start {\n align-self: flex-start;\n }\n .fs-u-align-self-xl-center {\n align-self: center;\n }\n .fs-u-align-self-xl-end {\n align-self: flex-end;\n }\n }\n @media (min-width: 1536px) {\n .fs-u-align-items-xxl-start {\n align-items: flex-start;\n }\n .fs-u-align-items-xxl-center {\n align-items: center;\n }\n .fs-u-align-items-xxl-end {\n align-items: flex-end;\n }\n .fs-u-justify-content-xxl-start {\n justify-content: flex-start;\n }\n .fs-u-justify-content-xxl-center {\n justify-content: center;\n }\n .fs-u-justify-content-xxl-end {\n justify-content: flex-end;\n }\n .fs-u-justify-content-xxl-around {\n justify-content: space-around;\n }\n .fs-u-justify-content-xxl-between {\n justify-content: space-between;\n }\n .fs-u-align-self-xxl-start {\n align-self: flex-start;\n }\n .fs-u-align-self-xxl-center {\n align-self: center;\n }\n .fs-u-align-self-xxl-end {\n align-self: flex-end;\n }\n }\n @media (min-width: 1920px) {\n .fs-u-align-items-xxxl-start {\n align-items: flex-start;\n }\n .fs-u-align-items-xxxl-center {\n align-items: center;\n }\n .fs-u-align-items-xxxl-end {\n align-items: flex-end;\n }\n .fs-u-justify-content-xxxl-start {\n justify-content: flex-start;\n }\n .fs-u-justify-content-xxxl-center {\n justify-content: center;\n }\n .fs-u-justify-content-xxxl-end {\n justify-content: flex-end;\n }\n .fs-u-justify-content-xxxl-around {\n justify-content: space-around;\n }\n .fs-u-justify-content-xxxl-between {\n justify-content: space-between;\n }\n .fs-u-align-self-xxxl-start {\n align-self: flex-start;\n }\n .fs-u-align-self-xxxl-center {\n align-self: center;\n }\n .fs-u-align-self-xxxl-end {\n align-self: flex-end;\n }\n }\n}\n@layer utilities {\n .fs-icon {\n display: inline-block;\n flex-shrink: 0;\n width: 1em;\n height: 1em;\n vertical-align: -0.125em;\n stroke: currentcolor;\n }\n .fs-icon-xs {\n width: 12px;\n height: 12px;\n }\n .fs-icon-sm {\n width: 16px;\n height: 16px;\n }\n .fs-icon-lg {\n width: 32px;\n height: 32px;\n }\n .fs-icon-xl {\n width: 48px;\n height: 48px;\n }\n}\n@layer utilities {\n .fs-u-sticky-top {\n position: sticky;\n top: var(--fs-sticky-top, 0);\n z-index: 1020;\n }\n .fs-u-sticky-bottom {\n position: sticky;\n bottom: var(--fs-sticky-bottom, 0);\n z-index: 1020;\n }\n}\n@layer utilities {\n @media print {\n .fs-u-print-hide {\n display: none !important;\n }\n }\n @media not print {\n .fs-u-print-only {\n display: none !important;\n }\n }\n @media print {\n .fs-u-print-block {\n display: block !important;\n }\n .fs-u-print-inline {\n display: inline !important;\n }\n .fs-u-print-inline-block {\n display: inline-block !important;\n }\n }\n}\n@layer utilities {\n .fs-u-shadow-sm {\n box-shadow: var(--fs-shadow-sm);\n }\n .fs-u-shadow {\n box-shadow: var(--fs-shadow-md);\n }\n .fs-u-shadow-lg {\n box-shadow: var(--fs-shadow-lg);\n }\n}\n@layer utilities {\n .fs-u-m-0 {\n margin: 0;\n }\n .fs-u-mt-0 {\n margin-top: 0;\n }\n .fs-u-mr-0 {\n margin-right: 0;\n }\n .fs-u-mb-0 {\n margin-bottom: 0;\n }\n .fs-u-ml-0 {\n margin-left: 0;\n }\n .fs-u-mx-0 {\n margin-right: 0;\n margin-left: 0;\n }\n .fs-u-my-0 {\n margin-top: 0;\n margin-bottom: 0;\n }\n .fs-u-p-0 {\n padding: 0;\n }\n .fs-u-pt-0 {\n padding-top: 0;\n }\n .fs-u-pr-0 {\n padding-right: 0;\n }\n .fs-u-pb-0 {\n padding-bottom: 0;\n }\n .fs-u-pl-0 {\n padding-left: 0;\n }\n .fs-u-px-0 {\n padding-right: 0;\n padding-left: 0;\n }\n .fs-u-py-0 {\n padding-top: 0;\n padding-bottom: 0;\n }\n .fs-u-g-0 {\n --fs-gutter-x: 0;\n --fs-gutter-y: 0;\n }\n .fs-u-gx-0 {\n --fs-gutter-x: 0;\n }\n .fs-u-gy-0 {\n --fs-gutter-y: 0;\n }\n .fs-u-gap-0 {\n gap: 0;\n }\n .fs-u-gap-x-0 {\n column-gap: 0;\n }\n .fs-u-gap-y-0 {\n row-gap: 0;\n }\n .fs-u-m-1 {\n margin: 0.25rem;\n }\n .fs-u-mt-1 {\n margin-top: 0.25rem;\n }\n .fs-u-mr-1 {\n margin-right: 0.25rem;\n }\n .fs-u-mb-1 {\n margin-bottom: 0.25rem;\n }\n .fs-u-ml-1 {\n margin-left: 0.25rem;\n }\n .fs-u-mx-1 {\n margin-right: 0.25rem;\n margin-left: 0.25rem;\n }\n .fs-u-my-1 {\n margin-top: 0.25rem;\n margin-bottom: 0.25rem;\n }\n .fs-u-p-1 {\n padding: 0.25rem;\n }\n .fs-u-pt-1 {\n padding-top: 0.25rem;\n }\n .fs-u-pr-1 {\n padding-right: 0.25rem;\n }\n .fs-u-pb-1 {\n padding-bottom: 0.25rem;\n }\n .fs-u-pl-1 {\n padding-left: 0.25rem;\n }\n .fs-u-px-1 {\n padding-right: 0.25rem;\n padding-left: 0.25rem;\n }\n .fs-u-py-1 {\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n }\n .fs-u-g-1 {\n --fs-gutter-x: 0.25rem;\n --fs-gutter-y: 0.25rem;\n }\n .fs-u-gx-1 {\n --fs-gutter-x: 0.25rem;\n }\n .fs-u-gy-1 {\n --fs-gutter-y: 0.25rem;\n }\n .fs-u-gap-1 {\n gap: 0.25rem;\n }\n .fs-u-gap-x-1 {\n column-gap: 0.25rem;\n }\n .fs-u-gap-y-1 {\n row-gap: 0.25rem;\n }\n .fs-u-m-2 {\n margin: 0.5rem;\n }\n .fs-u-mt-2 {\n margin-top: 0.5rem;\n }\n .fs-u-mr-2 {\n margin-right: 0.5rem;\n }\n .fs-u-mb-2 {\n margin-bottom: 0.5rem;\n }\n .fs-u-ml-2 {\n margin-left: 0.5rem;\n }\n .fs-u-mx-2 {\n margin-right: 0.5rem;\n margin-left: 0.5rem;\n }\n .fs-u-my-2 {\n margin-top: 0.5rem;\n margin-bottom: 0.5rem;\n }\n .fs-u-p-2 {\n padding: 0.5rem;\n }\n .fs-u-pt-2 {\n padding-top: 0.5rem;\n }\n .fs-u-pr-2 {\n padding-right: 0.5rem;\n }\n .fs-u-pb-2 {\n padding-bottom: 0.5rem;\n }\n .fs-u-pl-2 {\n padding-left: 0.5rem;\n }\n .fs-u-px-2 {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .fs-u-py-2 {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n }\n .fs-u-g-2 {\n --fs-gutter-x: 0.5rem;\n --fs-gutter-y: 0.5rem;\n }\n .fs-u-gx-2 {\n --fs-gutter-x: 0.5rem;\n }\n .fs-u-gy-2 {\n --fs-gutter-y: 0.5rem;\n }\n .fs-u-gap-2 {\n gap: 0.5rem;\n }\n .fs-u-gap-x-2 {\n column-gap: 0.5rem;\n }\n .fs-u-gap-y-2 {\n row-gap: 0.5rem;\n }\n .fs-u-m-3 {\n margin: 1rem;\n }\n .fs-u-mt-3 {\n margin-top: 1rem;\n }\n .fs-u-mr-3 {\n margin-right: 1rem;\n }\n .fs-u-mb-3 {\n margin-bottom: 1rem;\n }\n .fs-u-ml-3 {\n margin-left: 1rem;\n }\n .fs-u-mx-3 {\n margin-right: 1rem;\n margin-left: 1rem;\n }\n .fs-u-my-3 {\n margin-top: 1rem;\n margin-bottom: 1rem;\n }\n .fs-u-p-3 {\n padding: 1rem;\n }\n .fs-u-pt-3 {\n padding-top: 1rem;\n }\n .fs-u-pr-3 {\n padding-right: 1rem;\n }\n .fs-u-pb-3 {\n padding-bottom: 1rem;\n }\n .fs-u-pl-3 {\n padding-left: 1rem;\n }\n .fs-u-px-3 {\n padding-right: 1rem;\n padding-left: 1rem;\n }\n .fs-u-py-3 {\n padding-top: 1rem;\n padding-bottom: 1rem;\n }\n .fs-u-g-3 {\n --fs-gutter-x: 1rem;\n --fs-gutter-y: 1rem;\n }\n .fs-u-gx-3 {\n --fs-gutter-x: 1rem;\n }\n .fs-u-gy-3 {\n --fs-gutter-y: 1rem;\n }\n .fs-u-gap-3 {\n gap: 1rem;\n }\n .fs-u-gap-x-3 {\n column-gap: 1rem;\n }\n .fs-u-gap-y-3 {\n row-gap: 1rem;\n }\n .fs-u-m-4 {\n margin: 1.5rem;\n }\n .fs-u-mt-4 {\n margin-top: 1.5rem;\n }\n .fs-u-mr-4 {\n margin-right: 1.5rem;\n }\n .fs-u-mb-4 {\n margin-bottom: 1.5rem;\n }\n .fs-u-ml-4 {\n margin-left: 1.5rem;\n }\n .fs-u-mx-4 {\n margin-right: 1.5rem;\n margin-left: 1.5rem;\n }\n .fs-u-my-4 {\n margin-top: 1.5rem;\n margin-bottom: 1.5rem;\n }\n .fs-u-p-4 {\n padding: 1.5rem;\n }\n .fs-u-pt-4 {\n padding-top: 1.5rem;\n }\n .fs-u-pr-4 {\n padding-right: 1.5rem;\n }\n .fs-u-pb-4 {\n padding-bottom: 1.5rem;\n }\n .fs-u-pl-4 {\n padding-left: 1.5rem;\n }\n .fs-u-px-4 {\n padding-right: 1.5rem;\n padding-left: 1.5rem;\n }\n .fs-u-py-4 {\n padding-top: 1.5rem;\n padding-bottom: 1.5rem;\n }\n .fs-u-g-4 {\n --fs-gutter-x: 1.5rem;\n --fs-gutter-y: 1.5rem;\n }\n .fs-u-gx-4 {\n --fs-gutter-x: 1.5rem;\n }\n .fs-u-gy-4 {\n --fs-gutter-y: 1.5rem;\n }\n .fs-u-gap-4 {\n gap: 1.5rem;\n }\n .fs-u-gap-x-4 {\n column-gap: 1.5rem;\n }\n .fs-u-gap-y-4 {\n row-gap: 1.5rem;\n }\n .fs-u-m-5 {\n margin: 3rem;\n }\n .fs-u-mt-5 {\n margin-top: 3rem;\n }\n .fs-u-mr-5 {\n margin-right: 3rem;\n }\n .fs-u-mb-5 {\n margin-bottom: 3rem;\n }\n .fs-u-ml-5 {\n margin-left: 3rem;\n }\n .fs-u-mx-5 {\n margin-right: 3rem;\n margin-left: 3rem;\n }\n .fs-u-my-5 {\n margin-top: 3rem;\n margin-bottom: 3rem;\n }\n .fs-u-p-5 {\n padding: 3rem;\n }\n .fs-u-pt-5 {\n padding-top: 3rem;\n }\n .fs-u-pr-5 {\n padding-right: 3rem;\n }\n .fs-u-pb-5 {\n padding-bottom: 3rem;\n }\n .fs-u-pl-5 {\n padding-left: 3rem;\n }\n .fs-u-px-5 {\n padding-right: 3rem;\n padding-left: 3rem;\n }\n .fs-u-py-5 {\n padding-top: 3rem;\n padding-bottom: 3rem;\n }\n .fs-u-g-5 {\n --fs-gutter-x: 3rem;\n --fs-gutter-y: 3rem;\n }\n .fs-u-gx-5 {\n --fs-gutter-x: 3rem;\n }\n .fs-u-gy-5 {\n --fs-gutter-y: 3rem;\n }\n .fs-u-gap-5 {\n gap: 3rem;\n }\n .fs-u-gap-x-5 {\n column-gap: 3rem;\n }\n .fs-u-gap-y-5 {\n row-gap: 3rem;\n }\n .fs-u-m-auto {\n margin: auto;\n }\n .fs-u-mt-auto {\n margin-top: auto;\n }\n .fs-u-mr-auto {\n margin-right: auto;\n }\n .fs-u-mb-auto {\n margin-bottom: auto;\n }\n .fs-u-ml-auto {\n margin-left: auto;\n }\n .fs-u-mx-auto {\n margin-right: auto;\n margin-left: auto;\n }\n .fs-u-my-auto {\n margin-top: auto;\n margin-bottom: auto;\n }\n @media (min-width: 640px) {\n .fs-u-m-sm-0 {\n margin: 0;\n }\n .fs-u-mt-sm-0 {\n margin-top: 0;\n }\n .fs-u-mr-sm-0 {\n margin-right: 0;\n }\n .fs-u-mb-sm-0 {\n margin-bottom: 0;\n }\n .fs-u-ml-sm-0 {\n margin-left: 0;\n }\n .fs-u-mx-sm-0 {\n margin-right: 0;\n margin-left: 0;\n }\n .fs-u-my-sm-0 {\n margin-top: 0;\n margin-bottom: 0;\n }\n .fs-u-p-sm-0 {\n padding: 0;\n }\n .fs-u-pt-sm-0 {\n padding-top: 0;\n }\n .fs-u-pr-sm-0 {\n padding-right: 0;\n }\n .fs-u-pb-sm-0 {\n padding-bottom: 0;\n }\n .fs-u-pl-sm-0 {\n padding-left: 0;\n }\n .fs-u-px-sm-0 {\n padding-right: 0;\n padding-left: 0;\n }\n .fs-u-py-sm-0 {\n padding-top: 0;\n padding-bottom: 0;\n }\n .fs-u-g-sm-0 {\n --fs-gutter-x: 0;\n --fs-gutter-y: 0;\n }\n .fs-u-gx-sm-0 {\n --fs-gutter-x: 0;\n }\n .fs-u-gy-sm-0 {\n --fs-gutter-y: 0;\n }\n .fs-u-gap-sm-0 {\n gap: 0;\n }\n .fs-u-gap-x-sm-0 {\n column-gap: 0;\n }\n .fs-u-gap-y-sm-0 {\n row-gap: 0;\n }\n .fs-u-m-sm-1 {\n margin: 0.25rem;\n }\n .fs-u-mt-sm-1 {\n margin-top: 0.25rem;\n }\n .fs-u-mr-sm-1 {\n margin-right: 0.25rem;\n }\n .fs-u-mb-sm-1 {\n margin-bottom: 0.25rem;\n }\n .fs-u-ml-sm-1 {\n margin-left: 0.25rem;\n }\n .fs-u-mx-sm-1 {\n margin-right: 0.25rem;\n margin-left: 0.25rem;\n }\n .fs-u-my-sm-1 {\n margin-top: 0.25rem;\n margin-bottom: 0.25rem;\n }\n .fs-u-p-sm-1 {\n padding: 0.25rem;\n }\n .fs-u-pt-sm-1 {\n padding-top: 0.25rem;\n }\n .fs-u-pr-sm-1 {\n padding-right: 0.25rem;\n }\n .fs-u-pb-sm-1 {\n padding-bottom: 0.25rem;\n }\n .fs-u-pl-sm-1 {\n padding-left: 0.25rem;\n }\n .fs-u-px-sm-1 {\n padding-right: 0.25rem;\n padding-left: 0.25rem;\n }\n .fs-u-py-sm-1 {\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n }\n .fs-u-g-sm-1 {\n --fs-gutter-x: 0.25rem;\n --fs-gutter-y: 0.25rem;\n }\n .fs-u-gx-sm-1 {\n --fs-gutter-x: 0.25rem;\n }\n .fs-u-gy-sm-1 {\n --fs-gutter-y: 0.25rem;\n }\n .fs-u-gap-sm-1 {\n gap: 0.25rem;\n }\n .fs-u-gap-x-sm-1 {\n column-gap: 0.25rem;\n }\n .fs-u-gap-y-sm-1 {\n row-gap: 0.25rem;\n }\n .fs-u-m-sm-2 {\n margin: 0.5rem;\n }\n .fs-u-mt-sm-2 {\n margin-top: 0.5rem;\n }\n .fs-u-mr-sm-2 {\n margin-right: 0.5rem;\n }\n .fs-u-mb-sm-2 {\n margin-bottom: 0.5rem;\n }\n .fs-u-ml-sm-2 {\n margin-left: 0.5rem;\n }\n .fs-u-mx-sm-2 {\n margin-right: 0.5rem;\n margin-left: 0.5rem;\n }\n .fs-u-my-sm-2 {\n margin-top: 0.5rem;\n margin-bottom: 0.5rem;\n }\n .fs-u-p-sm-2 {\n padding: 0.5rem;\n }\n .fs-u-pt-sm-2 {\n padding-top: 0.5rem;\n }\n .fs-u-pr-sm-2 {\n padding-right: 0.5rem;\n }\n .fs-u-pb-sm-2 {\n padding-bottom: 0.5rem;\n }\n .fs-u-pl-sm-2 {\n padding-left: 0.5rem;\n }\n .fs-u-px-sm-2 {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .fs-u-py-sm-2 {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n }\n .fs-u-g-sm-2 {\n --fs-gutter-x: 0.5rem;\n --fs-gutter-y: 0.5rem;\n }\n .fs-u-gx-sm-2 {\n --fs-gutter-x: 0.5rem;\n }\n .fs-u-gy-sm-2 {\n --fs-gutter-y: 0.5rem;\n }\n .fs-u-gap-sm-2 {\n gap: 0.5rem;\n }\n .fs-u-gap-x-sm-2 {\n column-gap: 0.5rem;\n }\n .fs-u-gap-y-sm-2 {\n row-gap: 0.5rem;\n }\n .fs-u-m-sm-3 {\n margin: 1rem;\n }\n .fs-u-mt-sm-3 {\n margin-top: 1rem;\n }\n .fs-u-mr-sm-3 {\n margin-right: 1rem;\n }\n .fs-u-mb-sm-3 {\n margin-bottom: 1rem;\n }\n .fs-u-ml-sm-3 {\n margin-left: 1rem;\n }\n .fs-u-mx-sm-3 {\n margin-right: 1rem;\n margin-left: 1rem;\n }\n .fs-u-my-sm-3 {\n margin-top: 1rem;\n margin-bottom: 1rem;\n }\n .fs-u-p-sm-3 {\n padding: 1rem;\n }\n .fs-u-pt-sm-3 {\n padding-top: 1rem;\n }\n .fs-u-pr-sm-3 {\n padding-right: 1rem;\n }\n .fs-u-pb-sm-3 {\n padding-bottom: 1rem;\n }\n .fs-u-pl-sm-3 {\n padding-left: 1rem;\n }\n .fs-u-px-sm-3 {\n padding-right: 1rem;\n padding-left: 1rem;\n }\n .fs-u-py-sm-3 {\n padding-top: 1rem;\n padding-bottom: 1rem;\n }\n .fs-u-g-sm-3 {\n --fs-gutter-x: 1rem;\n --fs-gutter-y: 1rem;\n }\n .fs-u-gx-sm-3 {\n --fs-gutter-x: 1rem;\n }\n .fs-u-gy-sm-3 {\n --fs-gutter-y: 1rem;\n }\n .fs-u-gap-sm-3 {\n gap: 1rem;\n }\n .fs-u-gap-x-sm-3 {\n column-gap: 1rem;\n }\n .fs-u-gap-y-sm-3 {\n row-gap: 1rem;\n }\n .fs-u-m-sm-4 {\n margin: 1.5rem;\n }\n .fs-u-mt-sm-4 {\n margin-top: 1.5rem;\n }\n .fs-u-mr-sm-4 {\n margin-right: 1.5rem;\n }\n .fs-u-mb-sm-4 {\n margin-bottom: 1.5rem;\n }\n .fs-u-ml-sm-4 {\n margin-left: 1.5rem;\n }\n .fs-u-mx-sm-4 {\n margin-right: 1.5rem;\n margin-left: 1.5rem;\n }\n .fs-u-my-sm-4 {\n margin-top: 1.5rem;\n margin-bottom: 1.5rem;\n }\n .fs-u-p-sm-4 {\n padding: 1.5rem;\n }\n .fs-u-pt-sm-4 {\n padding-top: 1.5rem;\n }\n .fs-u-pr-sm-4 {\n padding-right: 1.5rem;\n }\n .fs-u-pb-sm-4 {\n padding-bottom: 1.5rem;\n }\n .fs-u-pl-sm-4 {\n padding-left: 1.5rem;\n }\n .fs-u-px-sm-4 {\n padding-right: 1.5rem;\n padding-left: 1.5rem;\n }\n .fs-u-py-sm-4 {\n padding-top: 1.5rem;\n padding-bottom: 1.5rem;\n }\n .fs-u-g-sm-4 {\n --fs-gutter-x: 1.5rem;\n --fs-gutter-y: 1.5rem;\n }\n .fs-u-gx-sm-4 {\n --fs-gutter-x: 1.5rem;\n }\n .fs-u-gy-sm-4 {\n --fs-gutter-y: 1.5rem;\n }\n .fs-u-gap-sm-4 {\n gap: 1.5rem;\n }\n .fs-u-gap-x-sm-4 {\n column-gap: 1.5rem;\n }\n .fs-u-gap-y-sm-4 {\n row-gap: 1.5rem;\n }\n .fs-u-m-sm-5 {\n margin: 3rem;\n }\n .fs-u-mt-sm-5 {\n margin-top: 3rem;\n }\n .fs-u-mr-sm-5 {\n margin-right: 3rem;\n }\n .fs-u-mb-sm-5 {\n margin-bottom: 3rem;\n }\n .fs-u-ml-sm-5 {\n margin-left: 3rem;\n }\n .fs-u-mx-sm-5 {\n margin-right: 3rem;\n margin-left: 3rem;\n }\n .fs-u-my-sm-5 {\n margin-top: 3rem;\n margin-bottom: 3rem;\n }\n .fs-u-p-sm-5 {\n padding: 3rem;\n }\n .fs-u-pt-sm-5 {\n padding-top: 3rem;\n }\n .fs-u-pr-sm-5 {\n padding-right: 3rem;\n }\n .fs-u-pb-sm-5 {\n padding-bottom: 3rem;\n }\n .fs-u-pl-sm-5 {\n padding-left: 3rem;\n }\n .fs-u-px-sm-5 {\n padding-right: 3rem;\n padding-left: 3rem;\n }\n .fs-u-py-sm-5 {\n padding-top: 3rem;\n padding-bottom: 3rem;\n }\n .fs-u-g-sm-5 {\n --fs-gutter-x: 3rem;\n --fs-gutter-y: 3rem;\n }\n .fs-u-gx-sm-5 {\n --fs-gutter-x: 3rem;\n }\n .fs-u-gy-sm-5 {\n --fs-gutter-y: 3rem;\n }\n .fs-u-gap-sm-5 {\n gap: 3rem;\n }\n .fs-u-gap-x-sm-5 {\n column-gap: 3rem;\n }\n .fs-u-gap-y-sm-5 {\n row-gap: 3rem;\n }\n .fs-u-m-sm-auto {\n margin: auto;\n }\n .fs-u-mt-sm-auto {\n margin-top: auto;\n }\n .fs-u-mr-sm-auto {\n margin-right: auto;\n }\n .fs-u-mb-sm-auto {\n margin-bottom: auto;\n }\n .fs-u-ml-sm-auto {\n margin-left: auto;\n }\n .fs-u-mx-sm-auto {\n margin-right: auto;\n margin-left: auto;\n }\n .fs-u-my-sm-auto {\n margin-top: auto;\n margin-bottom: auto;\n }\n }\n @media (min-width: 768px) {\n .fs-u-m-md-0 {\n margin: 0;\n }\n .fs-u-mt-md-0 {\n margin-top: 0;\n }\n .fs-u-mr-md-0 {\n margin-right: 0;\n }\n .fs-u-mb-md-0 {\n margin-bottom: 0;\n }\n .fs-u-ml-md-0 {\n margin-left: 0;\n }\n .fs-u-mx-md-0 {\n margin-right: 0;\n margin-left: 0;\n }\n .fs-u-my-md-0 {\n margin-top: 0;\n margin-bottom: 0;\n }\n .fs-u-p-md-0 {\n padding: 0;\n }\n .fs-u-pt-md-0 {\n padding-top: 0;\n }\n .fs-u-pr-md-0 {\n padding-right: 0;\n }\n .fs-u-pb-md-0 {\n padding-bottom: 0;\n }\n .fs-u-pl-md-0 {\n padding-left: 0;\n }\n .fs-u-px-md-0 {\n padding-right: 0;\n padding-left: 0;\n }\n .fs-u-py-md-0 {\n padding-top: 0;\n padding-bottom: 0;\n }\n .fs-u-g-md-0 {\n --fs-gutter-x: 0;\n --fs-gutter-y: 0;\n }\n .fs-u-gx-md-0 {\n --fs-gutter-x: 0;\n }\n .fs-u-gy-md-0 {\n --fs-gutter-y: 0;\n }\n .fs-u-gap-md-0 {\n gap: 0;\n }\n .fs-u-gap-x-md-0 {\n column-gap: 0;\n }\n .fs-u-gap-y-md-0 {\n row-gap: 0;\n }\n .fs-u-m-md-1 {\n margin: 0.25rem;\n }\n .fs-u-mt-md-1 {\n margin-top: 0.25rem;\n }\n .fs-u-mr-md-1 {\n margin-right: 0.25rem;\n }\n .fs-u-mb-md-1 {\n margin-bottom: 0.25rem;\n }\n .fs-u-ml-md-1 {\n margin-left: 0.25rem;\n }\n .fs-u-mx-md-1 {\n margin-right: 0.25rem;\n margin-left: 0.25rem;\n }\n .fs-u-my-md-1 {\n margin-top: 0.25rem;\n margin-bottom: 0.25rem;\n }\n .fs-u-p-md-1 {\n padding: 0.25rem;\n }\n .fs-u-pt-md-1 {\n padding-top: 0.25rem;\n }\n .fs-u-pr-md-1 {\n padding-right: 0.25rem;\n }\n .fs-u-pb-md-1 {\n padding-bottom: 0.25rem;\n }\n .fs-u-pl-md-1 {\n padding-left: 0.25rem;\n }\n .fs-u-px-md-1 {\n padding-right: 0.25rem;\n padding-left: 0.25rem;\n }\n .fs-u-py-md-1 {\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n }\n .fs-u-g-md-1 {\n --fs-gutter-x: 0.25rem;\n --fs-gutter-y: 0.25rem;\n }\n .fs-u-gx-md-1 {\n --fs-gutter-x: 0.25rem;\n }\n .fs-u-gy-md-1 {\n --fs-gutter-y: 0.25rem;\n }\n .fs-u-gap-md-1 {\n gap: 0.25rem;\n }\n .fs-u-gap-x-md-1 {\n column-gap: 0.25rem;\n }\n .fs-u-gap-y-md-1 {\n row-gap: 0.25rem;\n }\n .fs-u-m-md-2 {\n margin: 0.5rem;\n }\n .fs-u-mt-md-2 {\n margin-top: 0.5rem;\n }\n .fs-u-mr-md-2 {\n margin-right: 0.5rem;\n }\n .fs-u-mb-md-2 {\n margin-bottom: 0.5rem;\n }\n .fs-u-ml-md-2 {\n margin-left: 0.5rem;\n }\n .fs-u-mx-md-2 {\n margin-right: 0.5rem;\n margin-left: 0.5rem;\n }\n .fs-u-my-md-2 {\n margin-top: 0.5rem;\n margin-bottom: 0.5rem;\n }\n .fs-u-p-md-2 {\n padding: 0.5rem;\n }\n .fs-u-pt-md-2 {\n padding-top: 0.5rem;\n }\n .fs-u-pr-md-2 {\n padding-right: 0.5rem;\n }\n .fs-u-pb-md-2 {\n padding-bottom: 0.5rem;\n }\n .fs-u-pl-md-2 {\n padding-left: 0.5rem;\n }\n .fs-u-px-md-2 {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .fs-u-py-md-2 {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n }\n .fs-u-g-md-2 {\n --fs-gutter-x: 0.5rem;\n --fs-gutter-y: 0.5rem;\n }\n .fs-u-gx-md-2 {\n --fs-gutter-x: 0.5rem;\n }\n .fs-u-gy-md-2 {\n --fs-gutter-y: 0.5rem;\n }\n .fs-u-gap-md-2 {\n gap: 0.5rem;\n }\n .fs-u-gap-x-md-2 {\n column-gap: 0.5rem;\n }\n .fs-u-gap-y-md-2 {\n row-gap: 0.5rem;\n }\n .fs-u-m-md-3 {\n margin: 1rem;\n }\n .fs-u-mt-md-3 {\n margin-top: 1rem;\n }\n .fs-u-mr-md-3 {\n margin-right: 1rem;\n }\n .fs-u-mb-md-3 {\n margin-bottom: 1rem;\n }\n .fs-u-ml-md-3 {\n margin-left: 1rem;\n }\n .fs-u-mx-md-3 {\n margin-right: 1rem;\n margin-left: 1rem;\n }\n .fs-u-my-md-3 {\n margin-top: 1rem;\n margin-bottom: 1rem;\n }\n .fs-u-p-md-3 {\n padding: 1rem;\n }\n .fs-u-pt-md-3 {\n padding-top: 1rem;\n }\n .fs-u-pr-md-3 {\n padding-right: 1rem;\n }\n .fs-u-pb-md-3 {\n padding-bottom: 1rem;\n }\n .fs-u-pl-md-3 {\n padding-left: 1rem;\n }\n .fs-u-px-md-3 {\n padding-right: 1rem;\n padding-left: 1rem;\n }\n .fs-u-py-md-3 {\n padding-top: 1rem;\n padding-bottom: 1rem;\n }\n .fs-u-g-md-3 {\n --fs-gutter-x: 1rem;\n --fs-gutter-y: 1rem;\n }\n .fs-u-gx-md-3 {\n --fs-gutter-x: 1rem;\n }\n .fs-u-gy-md-3 {\n --fs-gutter-y: 1rem;\n }\n .fs-u-gap-md-3 {\n gap: 1rem;\n }\n .fs-u-gap-x-md-3 {\n column-gap: 1rem;\n }\n .fs-u-gap-y-md-3 {\n row-gap: 1rem;\n }\n .fs-u-m-md-4 {\n margin: 1.5rem;\n }\n .fs-u-mt-md-4 {\n margin-top: 1.5rem;\n }\n .fs-u-mr-md-4 {\n margin-right: 1.5rem;\n }\n .fs-u-mb-md-4 {\n margin-bottom: 1.5rem;\n }\n .fs-u-ml-md-4 {\n margin-left: 1.5rem;\n }\n .fs-u-mx-md-4 {\n margin-right: 1.5rem;\n margin-left: 1.5rem;\n }\n .fs-u-my-md-4 {\n margin-top: 1.5rem;\n margin-bottom: 1.5rem;\n }\n .fs-u-p-md-4 {\n padding: 1.5rem;\n }\n .fs-u-pt-md-4 {\n padding-top: 1.5rem;\n }\n .fs-u-pr-md-4 {\n padding-right: 1.5rem;\n }\n .fs-u-pb-md-4 {\n padding-bottom: 1.5rem;\n }\n .fs-u-pl-md-4 {\n padding-left: 1.5rem;\n }\n .fs-u-px-md-4 {\n padding-right: 1.5rem;\n padding-left: 1.5rem;\n }\n .fs-u-py-md-4 {\n padding-top: 1.5rem;\n padding-bottom: 1.5rem;\n }\n .fs-u-g-md-4 {\n --fs-gutter-x: 1.5rem;\n --fs-gutter-y: 1.5rem;\n }\n .fs-u-gx-md-4 {\n --fs-gutter-x: 1.5rem;\n }\n .fs-u-gy-md-4 {\n --fs-gutter-y: 1.5rem;\n }\n .fs-u-gap-md-4 {\n gap: 1.5rem;\n }\n .fs-u-gap-x-md-4 {\n column-gap: 1.5rem;\n }\n .fs-u-gap-y-md-4 {\n row-gap: 1.5rem;\n }\n .fs-u-m-md-5 {\n margin: 3rem;\n }\n .fs-u-mt-md-5 {\n margin-top: 3rem;\n }\n .fs-u-mr-md-5 {\n margin-right: 3rem;\n }\n .fs-u-mb-md-5 {\n margin-bottom: 3rem;\n }\n .fs-u-ml-md-5 {\n margin-left: 3rem;\n }\n .fs-u-mx-md-5 {\n margin-right: 3rem;\n margin-left: 3rem;\n }\n .fs-u-my-md-5 {\n margin-top: 3rem;\n margin-bottom: 3rem;\n }\n .fs-u-p-md-5 {\n padding: 3rem;\n }\n .fs-u-pt-md-5 {\n padding-top: 3rem;\n }\n .fs-u-pr-md-5 {\n padding-right: 3rem;\n }\n .fs-u-pb-md-5 {\n padding-bottom: 3rem;\n }\n .fs-u-pl-md-5 {\n padding-left: 3rem;\n }\n .fs-u-px-md-5 {\n padding-right: 3rem;\n padding-left: 3rem;\n }\n .fs-u-py-md-5 {\n padding-top: 3rem;\n padding-bottom: 3rem;\n }\n .fs-u-g-md-5 {\n --fs-gutter-x: 3rem;\n --fs-gutter-y: 3rem;\n }\n .fs-u-gx-md-5 {\n --fs-gutter-x: 3rem;\n }\n .fs-u-gy-md-5 {\n --fs-gutter-y: 3rem;\n }\n .fs-u-gap-md-5 {\n gap: 3rem;\n }\n .fs-u-gap-x-md-5 {\n column-gap: 3rem;\n }\n .fs-u-gap-y-md-5 {\n row-gap: 3rem;\n }\n .fs-u-m-md-auto {\n margin: auto;\n }\n .fs-u-mt-md-auto {\n margin-top: auto;\n }\n .fs-u-mr-md-auto {\n margin-right: auto;\n }\n .fs-u-mb-md-auto {\n margin-bottom: auto;\n }\n .fs-u-ml-md-auto {\n margin-left: auto;\n }\n .fs-u-mx-md-auto {\n margin-right: auto;\n margin-left: auto;\n }\n .fs-u-my-md-auto {\n margin-top: auto;\n margin-bottom: auto;\n }\n }\n @media (min-width: 1024px) {\n .fs-u-m-lg-0 {\n margin: 0;\n }\n .fs-u-mt-lg-0 {\n margin-top: 0;\n }\n .fs-u-mr-lg-0 {\n margin-right: 0;\n }\n .fs-u-mb-lg-0 {\n margin-bottom: 0;\n }\n .fs-u-ml-lg-0 {\n margin-left: 0;\n }\n .fs-u-mx-lg-0 {\n margin-right: 0;\n margin-left: 0;\n }\n .fs-u-my-lg-0 {\n margin-top: 0;\n margin-bottom: 0;\n }\n .fs-u-p-lg-0 {\n padding: 0;\n }\n .fs-u-pt-lg-0 {\n padding-top: 0;\n }\n .fs-u-pr-lg-0 {\n padding-right: 0;\n }\n .fs-u-pb-lg-0 {\n padding-bottom: 0;\n }\n .fs-u-pl-lg-0 {\n padding-left: 0;\n }\n .fs-u-px-lg-0 {\n padding-right: 0;\n padding-left: 0;\n }\n .fs-u-py-lg-0 {\n padding-top: 0;\n padding-bottom: 0;\n }\n .fs-u-g-lg-0 {\n --fs-gutter-x: 0;\n --fs-gutter-y: 0;\n }\n .fs-u-gx-lg-0 {\n --fs-gutter-x: 0;\n }\n .fs-u-gy-lg-0 {\n --fs-gutter-y: 0;\n }\n .fs-u-gap-lg-0 {\n gap: 0;\n }\n .fs-u-gap-x-lg-0 {\n column-gap: 0;\n }\n .fs-u-gap-y-lg-0 {\n row-gap: 0;\n }\n .fs-u-m-lg-1 {\n margin: 0.25rem;\n }\n .fs-u-mt-lg-1 {\n margin-top: 0.25rem;\n }\n .fs-u-mr-lg-1 {\n margin-right: 0.25rem;\n }\n .fs-u-mb-lg-1 {\n margin-bottom: 0.25rem;\n }\n .fs-u-ml-lg-1 {\n margin-left: 0.25rem;\n }\n .fs-u-mx-lg-1 {\n margin-right: 0.25rem;\n margin-left: 0.25rem;\n }\n .fs-u-my-lg-1 {\n margin-top: 0.25rem;\n margin-bottom: 0.25rem;\n }\n .fs-u-p-lg-1 {\n padding: 0.25rem;\n }\n .fs-u-pt-lg-1 {\n padding-top: 0.25rem;\n }\n .fs-u-pr-lg-1 {\n padding-right: 0.25rem;\n }\n .fs-u-pb-lg-1 {\n padding-bottom: 0.25rem;\n }\n .fs-u-pl-lg-1 {\n padding-left: 0.25rem;\n }\n .fs-u-px-lg-1 {\n padding-right: 0.25rem;\n padding-left: 0.25rem;\n }\n .fs-u-py-lg-1 {\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n }\n .fs-u-g-lg-1 {\n --fs-gutter-x: 0.25rem;\n --fs-gutter-y: 0.25rem;\n }\n .fs-u-gx-lg-1 {\n --fs-gutter-x: 0.25rem;\n }\n .fs-u-gy-lg-1 {\n --fs-gutter-y: 0.25rem;\n }\n .fs-u-gap-lg-1 {\n gap: 0.25rem;\n }\n .fs-u-gap-x-lg-1 {\n column-gap: 0.25rem;\n }\n .fs-u-gap-y-lg-1 {\n row-gap: 0.25rem;\n }\n .fs-u-m-lg-2 {\n margin: 0.5rem;\n }\n .fs-u-mt-lg-2 {\n margin-top: 0.5rem;\n }\n .fs-u-mr-lg-2 {\n margin-right: 0.5rem;\n }\n .fs-u-mb-lg-2 {\n margin-bottom: 0.5rem;\n }\n .fs-u-ml-lg-2 {\n margin-left: 0.5rem;\n }\n .fs-u-mx-lg-2 {\n margin-right: 0.5rem;\n margin-left: 0.5rem;\n }\n .fs-u-my-lg-2 {\n margin-top: 0.5rem;\n margin-bottom: 0.5rem;\n }\n .fs-u-p-lg-2 {\n padding: 0.5rem;\n }\n .fs-u-pt-lg-2 {\n padding-top: 0.5rem;\n }\n .fs-u-pr-lg-2 {\n padding-right: 0.5rem;\n }\n .fs-u-pb-lg-2 {\n padding-bottom: 0.5rem;\n }\n .fs-u-pl-lg-2 {\n padding-left: 0.5rem;\n }\n .fs-u-px-lg-2 {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .fs-u-py-lg-2 {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n }\n .fs-u-g-lg-2 {\n --fs-gutter-x: 0.5rem;\n --fs-gutter-y: 0.5rem;\n }\n .fs-u-gx-lg-2 {\n --fs-gutter-x: 0.5rem;\n }\n .fs-u-gy-lg-2 {\n --fs-gutter-y: 0.5rem;\n }\n .fs-u-gap-lg-2 {\n gap: 0.5rem;\n }\n .fs-u-gap-x-lg-2 {\n column-gap: 0.5rem;\n }\n .fs-u-gap-y-lg-2 {\n row-gap: 0.5rem;\n }\n .fs-u-m-lg-3 {\n margin: 1rem;\n }\n .fs-u-mt-lg-3 {\n margin-top: 1rem;\n }\n .fs-u-mr-lg-3 {\n margin-right: 1rem;\n }\n .fs-u-mb-lg-3 {\n margin-bottom: 1rem;\n }\n .fs-u-ml-lg-3 {\n margin-left: 1rem;\n }\n .fs-u-mx-lg-3 {\n margin-right: 1rem;\n margin-left: 1rem;\n }\n .fs-u-my-lg-3 {\n margin-top: 1rem;\n margin-bottom: 1rem;\n }\n .fs-u-p-lg-3 {\n padding: 1rem;\n }\n .fs-u-pt-lg-3 {\n padding-top: 1rem;\n }\n .fs-u-pr-lg-3 {\n padding-right: 1rem;\n }\n .fs-u-pb-lg-3 {\n padding-bottom: 1rem;\n }\n .fs-u-pl-lg-3 {\n padding-left: 1rem;\n }\n .fs-u-px-lg-3 {\n padding-right: 1rem;\n padding-left: 1rem;\n }\n .fs-u-py-lg-3 {\n padding-top: 1rem;\n padding-bottom: 1rem;\n }\n .fs-u-g-lg-3 {\n --fs-gutter-x: 1rem;\n --fs-gutter-y: 1rem;\n }\n .fs-u-gx-lg-3 {\n --fs-gutter-x: 1rem;\n }\n .fs-u-gy-lg-3 {\n --fs-gutter-y: 1rem;\n }\n .fs-u-gap-lg-3 {\n gap: 1rem;\n }\n .fs-u-gap-x-lg-3 {\n column-gap: 1rem;\n }\n .fs-u-gap-y-lg-3 {\n row-gap: 1rem;\n }\n .fs-u-m-lg-4 {\n margin: 1.5rem;\n }\n .fs-u-mt-lg-4 {\n margin-top: 1.5rem;\n }\n .fs-u-mr-lg-4 {\n margin-right: 1.5rem;\n }\n .fs-u-mb-lg-4 {\n margin-bottom: 1.5rem;\n }\n .fs-u-ml-lg-4 {\n margin-left: 1.5rem;\n }\n .fs-u-mx-lg-4 {\n margin-right: 1.5rem;\n margin-left: 1.5rem;\n }\n .fs-u-my-lg-4 {\n margin-top: 1.5rem;\n margin-bottom: 1.5rem;\n }\n .fs-u-p-lg-4 {\n padding: 1.5rem;\n }\n .fs-u-pt-lg-4 {\n padding-top: 1.5rem;\n }\n .fs-u-pr-lg-4 {\n padding-right: 1.5rem;\n }\n .fs-u-pb-lg-4 {\n padding-bottom: 1.5rem;\n }\n .fs-u-pl-lg-4 {\n padding-left: 1.5rem;\n }\n .fs-u-px-lg-4 {\n padding-right: 1.5rem;\n padding-left: 1.5rem;\n }\n .fs-u-py-lg-4 {\n padding-top: 1.5rem;\n padding-bottom: 1.5rem;\n }\n .fs-u-g-lg-4 {\n --fs-gutter-x: 1.5rem;\n --fs-gutter-y: 1.5rem;\n }\n .fs-u-gx-lg-4 {\n --fs-gutter-x: 1.5rem;\n }\n .fs-u-gy-lg-4 {\n --fs-gutter-y: 1.5rem;\n }\n .fs-u-gap-lg-4 {\n gap: 1.5rem;\n }\n .fs-u-gap-x-lg-4 {\n column-gap: 1.5rem;\n }\n .fs-u-gap-y-lg-4 {\n row-gap: 1.5rem;\n }\n .fs-u-m-lg-5 {\n margin: 3rem;\n }\n .fs-u-mt-lg-5 {\n margin-top: 3rem;\n }\n .fs-u-mr-lg-5 {\n margin-right: 3rem;\n }\n .fs-u-mb-lg-5 {\n margin-bottom: 3rem;\n }\n .fs-u-ml-lg-5 {\n margin-left: 3rem;\n }\n .fs-u-mx-lg-5 {\n margin-right: 3rem;\n margin-left: 3rem;\n }\n .fs-u-my-lg-5 {\n margin-top: 3rem;\n margin-bottom: 3rem;\n }\n .fs-u-p-lg-5 {\n padding: 3rem;\n }\n .fs-u-pt-lg-5 {\n padding-top: 3rem;\n }\n .fs-u-pr-lg-5 {\n padding-right: 3rem;\n }\n .fs-u-pb-lg-5 {\n padding-bottom: 3rem;\n }\n .fs-u-pl-lg-5 {\n padding-left: 3rem;\n }\n .fs-u-px-lg-5 {\n padding-right: 3rem;\n padding-left: 3rem;\n }\n .fs-u-py-lg-5 {\n padding-top: 3rem;\n padding-bottom: 3rem;\n }\n .fs-u-g-lg-5 {\n --fs-gutter-x: 3rem;\n --fs-gutter-y: 3rem;\n }\n .fs-u-gx-lg-5 {\n --fs-gutter-x: 3rem;\n }\n .fs-u-gy-lg-5 {\n --fs-gutter-y: 3rem;\n }\n .fs-u-gap-lg-5 {\n gap: 3rem;\n }\n .fs-u-gap-x-lg-5 {\n column-gap: 3rem;\n }\n .fs-u-gap-y-lg-5 {\n row-gap: 3rem;\n }\n .fs-u-m-lg-auto {\n margin: auto;\n }\n .fs-u-mt-lg-auto {\n margin-top: auto;\n }\n .fs-u-mr-lg-auto {\n margin-right: auto;\n }\n .fs-u-mb-lg-auto {\n margin-bottom: auto;\n }\n .fs-u-ml-lg-auto {\n margin-left: auto;\n }\n .fs-u-mx-lg-auto {\n margin-right: auto;\n margin-left: auto;\n }\n .fs-u-my-lg-auto {\n margin-top: auto;\n margin-bottom: auto;\n }\n }\n @media (min-width: 1280px) {\n .fs-u-m-xl-0 {\n margin: 0;\n }\n .fs-u-mt-xl-0 {\n margin-top: 0;\n }\n .fs-u-mr-xl-0 {\n margin-right: 0;\n }\n .fs-u-mb-xl-0 {\n margin-bottom: 0;\n }\n .fs-u-ml-xl-0 {\n margin-left: 0;\n }\n .fs-u-mx-xl-0 {\n margin-right: 0;\n margin-left: 0;\n }\n .fs-u-my-xl-0 {\n margin-top: 0;\n margin-bottom: 0;\n }\n .fs-u-p-xl-0 {\n padding: 0;\n }\n .fs-u-pt-xl-0 {\n padding-top: 0;\n }\n .fs-u-pr-xl-0 {\n padding-right: 0;\n }\n .fs-u-pb-xl-0 {\n padding-bottom: 0;\n }\n .fs-u-pl-xl-0 {\n padding-left: 0;\n }\n .fs-u-px-xl-0 {\n padding-right: 0;\n padding-left: 0;\n }\n .fs-u-py-xl-0 {\n padding-top: 0;\n padding-bottom: 0;\n }\n .fs-u-g-xl-0 {\n --fs-gutter-x: 0;\n --fs-gutter-y: 0;\n }\n .fs-u-gx-xl-0 {\n --fs-gutter-x: 0;\n }\n .fs-u-gy-xl-0 {\n --fs-gutter-y: 0;\n }\n .fs-u-gap-xl-0 {\n gap: 0;\n }\n .fs-u-gap-x-xl-0 {\n column-gap: 0;\n }\n .fs-u-gap-y-xl-0 {\n row-gap: 0;\n }\n .fs-u-m-xl-1 {\n margin: 0.25rem;\n }\n .fs-u-mt-xl-1 {\n margin-top: 0.25rem;\n }\n .fs-u-mr-xl-1 {\n margin-right: 0.25rem;\n }\n .fs-u-mb-xl-1 {\n margin-bottom: 0.25rem;\n }\n .fs-u-ml-xl-1 {\n margin-left: 0.25rem;\n }\n .fs-u-mx-xl-1 {\n margin-right: 0.25rem;\n margin-left: 0.25rem;\n }\n .fs-u-my-xl-1 {\n margin-top: 0.25rem;\n margin-bottom: 0.25rem;\n }\n .fs-u-p-xl-1 {\n padding: 0.25rem;\n }\n .fs-u-pt-xl-1 {\n padding-top: 0.25rem;\n }\n .fs-u-pr-xl-1 {\n padding-right: 0.25rem;\n }\n .fs-u-pb-xl-1 {\n padding-bottom: 0.25rem;\n }\n .fs-u-pl-xl-1 {\n padding-left: 0.25rem;\n }\n .fs-u-px-xl-1 {\n padding-right: 0.25rem;\n padding-left: 0.25rem;\n }\n .fs-u-py-xl-1 {\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n }\n .fs-u-g-xl-1 {\n --fs-gutter-x: 0.25rem;\n --fs-gutter-y: 0.25rem;\n }\n .fs-u-gx-xl-1 {\n --fs-gutter-x: 0.25rem;\n }\n .fs-u-gy-xl-1 {\n --fs-gutter-y: 0.25rem;\n }\n .fs-u-gap-xl-1 {\n gap: 0.25rem;\n }\n .fs-u-gap-x-xl-1 {\n column-gap: 0.25rem;\n }\n .fs-u-gap-y-xl-1 {\n row-gap: 0.25rem;\n }\n .fs-u-m-xl-2 {\n margin: 0.5rem;\n }\n .fs-u-mt-xl-2 {\n margin-top: 0.5rem;\n }\n .fs-u-mr-xl-2 {\n margin-right: 0.5rem;\n }\n .fs-u-mb-xl-2 {\n margin-bottom: 0.5rem;\n }\n .fs-u-ml-xl-2 {\n margin-left: 0.5rem;\n }\n .fs-u-mx-xl-2 {\n margin-right: 0.5rem;\n margin-left: 0.5rem;\n }\n .fs-u-my-xl-2 {\n margin-top: 0.5rem;\n margin-bottom: 0.5rem;\n }\n .fs-u-p-xl-2 {\n padding: 0.5rem;\n }\n .fs-u-pt-xl-2 {\n padding-top: 0.5rem;\n }\n .fs-u-pr-xl-2 {\n padding-right: 0.5rem;\n }\n .fs-u-pb-xl-2 {\n padding-bottom: 0.5rem;\n }\n .fs-u-pl-xl-2 {\n padding-left: 0.5rem;\n }\n .fs-u-px-xl-2 {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .fs-u-py-xl-2 {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n }\n .fs-u-g-xl-2 {\n --fs-gutter-x: 0.5rem;\n --fs-gutter-y: 0.5rem;\n }\n .fs-u-gx-xl-2 {\n --fs-gutter-x: 0.5rem;\n }\n .fs-u-gy-xl-2 {\n --fs-gutter-y: 0.5rem;\n }\n .fs-u-gap-xl-2 {\n gap: 0.5rem;\n }\n .fs-u-gap-x-xl-2 {\n column-gap: 0.5rem;\n }\n .fs-u-gap-y-xl-2 {\n row-gap: 0.5rem;\n }\n .fs-u-m-xl-3 {\n margin: 1rem;\n }\n .fs-u-mt-xl-3 {\n margin-top: 1rem;\n }\n .fs-u-mr-xl-3 {\n margin-right: 1rem;\n }\n .fs-u-mb-xl-3 {\n margin-bottom: 1rem;\n }\n .fs-u-ml-xl-3 {\n margin-left: 1rem;\n }\n .fs-u-mx-xl-3 {\n margin-right: 1rem;\n margin-left: 1rem;\n }\n .fs-u-my-xl-3 {\n margin-top: 1rem;\n margin-bottom: 1rem;\n }\n .fs-u-p-xl-3 {\n padding: 1rem;\n }\n .fs-u-pt-xl-3 {\n padding-top: 1rem;\n }\n .fs-u-pr-xl-3 {\n padding-right: 1rem;\n }\n .fs-u-pb-xl-3 {\n padding-bottom: 1rem;\n }\n .fs-u-pl-xl-3 {\n padding-left: 1rem;\n }\n .fs-u-px-xl-3 {\n padding-right: 1rem;\n padding-left: 1rem;\n }\n .fs-u-py-xl-3 {\n padding-top: 1rem;\n padding-bottom: 1rem;\n }\n .fs-u-g-xl-3 {\n --fs-gutter-x: 1rem;\n --fs-gutter-y: 1rem;\n }\n .fs-u-gx-xl-3 {\n --fs-gutter-x: 1rem;\n }\n .fs-u-gy-xl-3 {\n --fs-gutter-y: 1rem;\n }\n .fs-u-gap-xl-3 {\n gap: 1rem;\n }\n .fs-u-gap-x-xl-3 {\n column-gap: 1rem;\n }\n .fs-u-gap-y-xl-3 {\n row-gap: 1rem;\n }\n .fs-u-m-xl-4 {\n margin: 1.5rem;\n }\n .fs-u-mt-xl-4 {\n margin-top: 1.5rem;\n }\n .fs-u-mr-xl-4 {\n margin-right: 1.5rem;\n }\n .fs-u-mb-xl-4 {\n margin-bottom: 1.5rem;\n }\n .fs-u-ml-xl-4 {\n margin-left: 1.5rem;\n }\n .fs-u-mx-xl-4 {\n margin-right: 1.5rem;\n margin-left: 1.5rem;\n }\n .fs-u-my-xl-4 {\n margin-top: 1.5rem;\n margin-bottom: 1.5rem;\n }\n .fs-u-p-xl-4 {\n padding: 1.5rem;\n }\n .fs-u-pt-xl-4 {\n padding-top: 1.5rem;\n }\n .fs-u-pr-xl-4 {\n padding-right: 1.5rem;\n }\n .fs-u-pb-xl-4 {\n padding-bottom: 1.5rem;\n }\n .fs-u-pl-xl-4 {\n padding-left: 1.5rem;\n }\n .fs-u-px-xl-4 {\n padding-right: 1.5rem;\n padding-left: 1.5rem;\n }\n .fs-u-py-xl-4 {\n padding-top: 1.5rem;\n padding-bottom: 1.5rem;\n }\n .fs-u-g-xl-4 {\n --fs-gutter-x: 1.5rem;\n --fs-gutter-y: 1.5rem;\n }\n .fs-u-gx-xl-4 {\n --fs-gutter-x: 1.5rem;\n }\n .fs-u-gy-xl-4 {\n --fs-gutter-y: 1.5rem;\n }\n .fs-u-gap-xl-4 {\n gap: 1.5rem;\n }\n .fs-u-gap-x-xl-4 {\n column-gap: 1.5rem;\n }\n .fs-u-gap-y-xl-4 {\n row-gap: 1.5rem;\n }\n .fs-u-m-xl-5 {\n margin: 3rem;\n }\n .fs-u-mt-xl-5 {\n margin-top: 3rem;\n }\n .fs-u-mr-xl-5 {\n margin-right: 3rem;\n }\n .fs-u-mb-xl-5 {\n margin-bottom: 3rem;\n }\n .fs-u-ml-xl-5 {\n margin-left: 3rem;\n }\n .fs-u-mx-xl-5 {\n margin-right: 3rem;\n margin-left: 3rem;\n }\n .fs-u-my-xl-5 {\n margin-top: 3rem;\n margin-bottom: 3rem;\n }\n .fs-u-p-xl-5 {\n padding: 3rem;\n }\n .fs-u-pt-xl-5 {\n padding-top: 3rem;\n }\n .fs-u-pr-xl-5 {\n padding-right: 3rem;\n }\n .fs-u-pb-xl-5 {\n padding-bottom: 3rem;\n }\n .fs-u-pl-xl-5 {\n padding-left: 3rem;\n }\n .fs-u-px-xl-5 {\n padding-right: 3rem;\n padding-left: 3rem;\n }\n .fs-u-py-xl-5 {\n padding-top: 3rem;\n padding-bottom: 3rem;\n }\n .fs-u-g-xl-5 {\n --fs-gutter-x: 3rem;\n --fs-gutter-y: 3rem;\n }\n .fs-u-gx-xl-5 {\n --fs-gutter-x: 3rem;\n }\n .fs-u-gy-xl-5 {\n --fs-gutter-y: 3rem;\n }\n .fs-u-gap-xl-5 {\n gap: 3rem;\n }\n .fs-u-gap-x-xl-5 {\n column-gap: 3rem;\n }\n .fs-u-gap-y-xl-5 {\n row-gap: 3rem;\n }\n .fs-u-m-xl-auto {\n margin: auto;\n }\n .fs-u-mt-xl-auto {\n margin-top: auto;\n }\n .fs-u-mr-xl-auto {\n margin-right: auto;\n }\n .fs-u-mb-xl-auto {\n margin-bottom: auto;\n }\n .fs-u-ml-xl-auto {\n margin-left: auto;\n }\n .fs-u-mx-xl-auto {\n margin-right: auto;\n margin-left: auto;\n }\n .fs-u-my-xl-auto {\n margin-top: auto;\n margin-bottom: auto;\n }\n }\n @media (min-width: 1536px) {\n .fs-u-m-xxl-0 {\n margin: 0;\n }\n .fs-u-mt-xxl-0 {\n margin-top: 0;\n }\n .fs-u-mr-xxl-0 {\n margin-right: 0;\n }\n .fs-u-mb-xxl-0 {\n margin-bottom: 0;\n }\n .fs-u-ml-xxl-0 {\n margin-left: 0;\n }\n .fs-u-mx-xxl-0 {\n margin-right: 0;\n margin-left: 0;\n }\n .fs-u-my-xxl-0 {\n margin-top: 0;\n margin-bottom: 0;\n }\n .fs-u-p-xxl-0 {\n padding: 0;\n }\n .fs-u-pt-xxl-0 {\n padding-top: 0;\n }\n .fs-u-pr-xxl-0 {\n padding-right: 0;\n }\n .fs-u-pb-xxl-0 {\n padding-bottom: 0;\n }\n .fs-u-pl-xxl-0 {\n padding-left: 0;\n }\n .fs-u-px-xxl-0 {\n padding-right: 0;\n padding-left: 0;\n }\n .fs-u-py-xxl-0 {\n padding-top: 0;\n padding-bottom: 0;\n }\n .fs-u-g-xxl-0 {\n --fs-gutter-x: 0;\n --fs-gutter-y: 0;\n }\n .fs-u-gx-xxl-0 {\n --fs-gutter-x: 0;\n }\n .fs-u-gy-xxl-0 {\n --fs-gutter-y: 0;\n }\n .fs-u-gap-xxl-0 {\n gap: 0;\n }\n .fs-u-gap-x-xxl-0 {\n column-gap: 0;\n }\n .fs-u-gap-y-xxl-0 {\n row-gap: 0;\n }\n .fs-u-m-xxl-1 {\n margin: 0.25rem;\n }\n .fs-u-mt-xxl-1 {\n margin-top: 0.25rem;\n }\n .fs-u-mr-xxl-1 {\n margin-right: 0.25rem;\n }\n .fs-u-mb-xxl-1 {\n margin-bottom: 0.25rem;\n }\n .fs-u-ml-xxl-1 {\n margin-left: 0.25rem;\n }\n .fs-u-mx-xxl-1 {\n margin-right: 0.25rem;\n margin-left: 0.25rem;\n }\n .fs-u-my-xxl-1 {\n margin-top: 0.25rem;\n margin-bottom: 0.25rem;\n }\n .fs-u-p-xxl-1 {\n padding: 0.25rem;\n }\n .fs-u-pt-xxl-1 {\n padding-top: 0.25rem;\n }\n .fs-u-pr-xxl-1 {\n padding-right: 0.25rem;\n }\n .fs-u-pb-xxl-1 {\n padding-bottom: 0.25rem;\n }\n .fs-u-pl-xxl-1 {\n padding-left: 0.25rem;\n }\n .fs-u-px-xxl-1 {\n padding-right: 0.25rem;\n padding-left: 0.25rem;\n }\n .fs-u-py-xxl-1 {\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n }\n .fs-u-g-xxl-1 {\n --fs-gutter-x: 0.25rem;\n --fs-gutter-y: 0.25rem;\n }\n .fs-u-gx-xxl-1 {\n --fs-gutter-x: 0.25rem;\n }\n .fs-u-gy-xxl-1 {\n --fs-gutter-y: 0.25rem;\n }\n .fs-u-gap-xxl-1 {\n gap: 0.25rem;\n }\n .fs-u-gap-x-xxl-1 {\n column-gap: 0.25rem;\n }\n .fs-u-gap-y-xxl-1 {\n row-gap: 0.25rem;\n }\n .fs-u-m-xxl-2 {\n margin: 0.5rem;\n }\n .fs-u-mt-xxl-2 {\n margin-top: 0.5rem;\n }\n .fs-u-mr-xxl-2 {\n margin-right: 0.5rem;\n }\n .fs-u-mb-xxl-2 {\n margin-bottom: 0.5rem;\n }\n .fs-u-ml-xxl-2 {\n margin-left: 0.5rem;\n }\n .fs-u-mx-xxl-2 {\n margin-right: 0.5rem;\n margin-left: 0.5rem;\n }\n .fs-u-my-xxl-2 {\n margin-top: 0.5rem;\n margin-bottom: 0.5rem;\n }\n .fs-u-p-xxl-2 {\n padding: 0.5rem;\n }\n .fs-u-pt-xxl-2 {\n padding-top: 0.5rem;\n }\n .fs-u-pr-xxl-2 {\n padding-right: 0.5rem;\n }\n .fs-u-pb-xxl-2 {\n padding-bottom: 0.5rem;\n }\n .fs-u-pl-xxl-2 {\n padding-left: 0.5rem;\n }\n .fs-u-px-xxl-2 {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .fs-u-py-xxl-2 {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n }\n .fs-u-g-xxl-2 {\n --fs-gutter-x: 0.5rem;\n --fs-gutter-y: 0.5rem;\n }\n .fs-u-gx-xxl-2 {\n --fs-gutter-x: 0.5rem;\n }\n .fs-u-gy-xxl-2 {\n --fs-gutter-y: 0.5rem;\n }\n .fs-u-gap-xxl-2 {\n gap: 0.5rem;\n }\n .fs-u-gap-x-xxl-2 {\n column-gap: 0.5rem;\n }\n .fs-u-gap-y-xxl-2 {\n row-gap: 0.5rem;\n }\n .fs-u-m-xxl-3 {\n margin: 1rem;\n }\n .fs-u-mt-xxl-3 {\n margin-top: 1rem;\n }\n .fs-u-mr-xxl-3 {\n margin-right: 1rem;\n }\n .fs-u-mb-xxl-3 {\n margin-bottom: 1rem;\n }\n .fs-u-ml-xxl-3 {\n margin-left: 1rem;\n }\n .fs-u-mx-xxl-3 {\n margin-right: 1rem;\n margin-left: 1rem;\n }\n .fs-u-my-xxl-3 {\n margin-top: 1rem;\n margin-bottom: 1rem;\n }\n .fs-u-p-xxl-3 {\n padding: 1rem;\n }\n .fs-u-pt-xxl-3 {\n padding-top: 1rem;\n }\n .fs-u-pr-xxl-3 {\n padding-right: 1rem;\n }\n .fs-u-pb-xxl-3 {\n padding-bottom: 1rem;\n }\n .fs-u-pl-xxl-3 {\n padding-left: 1rem;\n }\n .fs-u-px-xxl-3 {\n padding-right: 1rem;\n padding-left: 1rem;\n }\n .fs-u-py-xxl-3 {\n padding-top: 1rem;\n padding-bottom: 1rem;\n }\n .fs-u-g-xxl-3 {\n --fs-gutter-x: 1rem;\n --fs-gutter-y: 1rem;\n }\n .fs-u-gx-xxl-3 {\n --fs-gutter-x: 1rem;\n }\n .fs-u-gy-xxl-3 {\n --fs-gutter-y: 1rem;\n }\n .fs-u-gap-xxl-3 {\n gap: 1rem;\n }\n .fs-u-gap-x-xxl-3 {\n column-gap: 1rem;\n }\n .fs-u-gap-y-xxl-3 {\n row-gap: 1rem;\n }\n .fs-u-m-xxl-4 {\n margin: 1.5rem;\n }\n .fs-u-mt-xxl-4 {\n margin-top: 1.5rem;\n }\n .fs-u-mr-xxl-4 {\n margin-right: 1.5rem;\n }\n .fs-u-mb-xxl-4 {\n margin-bottom: 1.5rem;\n }\n .fs-u-ml-xxl-4 {\n margin-left: 1.5rem;\n }\n .fs-u-mx-xxl-4 {\n margin-right: 1.5rem;\n margin-left: 1.5rem;\n }\n .fs-u-my-xxl-4 {\n margin-top: 1.5rem;\n margin-bottom: 1.5rem;\n }\n .fs-u-p-xxl-4 {\n padding: 1.5rem;\n }\n .fs-u-pt-xxl-4 {\n padding-top: 1.5rem;\n }\n .fs-u-pr-xxl-4 {\n padding-right: 1.5rem;\n }\n .fs-u-pb-xxl-4 {\n padding-bottom: 1.5rem;\n }\n .fs-u-pl-xxl-4 {\n padding-left: 1.5rem;\n }\n .fs-u-px-xxl-4 {\n padding-right: 1.5rem;\n padding-left: 1.5rem;\n }\n .fs-u-py-xxl-4 {\n padding-top: 1.5rem;\n padding-bottom: 1.5rem;\n }\n .fs-u-g-xxl-4 {\n --fs-gutter-x: 1.5rem;\n --fs-gutter-y: 1.5rem;\n }\n .fs-u-gx-xxl-4 {\n --fs-gutter-x: 1.5rem;\n }\n .fs-u-gy-xxl-4 {\n --fs-gutter-y: 1.5rem;\n }\n .fs-u-gap-xxl-4 {\n gap: 1.5rem;\n }\n .fs-u-gap-x-xxl-4 {\n column-gap: 1.5rem;\n }\n .fs-u-gap-y-xxl-4 {\n row-gap: 1.5rem;\n }\n .fs-u-m-xxl-5 {\n margin: 3rem;\n }\n .fs-u-mt-xxl-5 {\n margin-top: 3rem;\n }\n .fs-u-mr-xxl-5 {\n margin-right: 3rem;\n }\n .fs-u-mb-xxl-5 {\n margin-bottom: 3rem;\n }\n .fs-u-ml-xxl-5 {\n margin-left: 3rem;\n }\n .fs-u-mx-xxl-5 {\n margin-right: 3rem;\n margin-left: 3rem;\n }\n .fs-u-my-xxl-5 {\n margin-top: 3rem;\n margin-bottom: 3rem;\n }\n .fs-u-p-xxl-5 {\n padding: 3rem;\n }\n .fs-u-pt-xxl-5 {\n padding-top: 3rem;\n }\n .fs-u-pr-xxl-5 {\n padding-right: 3rem;\n }\n .fs-u-pb-xxl-5 {\n padding-bottom: 3rem;\n }\n .fs-u-pl-xxl-5 {\n padding-left: 3rem;\n }\n .fs-u-px-xxl-5 {\n padding-right: 3rem;\n padding-left: 3rem;\n }\n .fs-u-py-xxl-5 {\n padding-top: 3rem;\n padding-bottom: 3rem;\n }\n .fs-u-g-xxl-5 {\n --fs-gutter-x: 3rem;\n --fs-gutter-y: 3rem;\n }\n .fs-u-gx-xxl-5 {\n --fs-gutter-x: 3rem;\n }\n .fs-u-gy-xxl-5 {\n --fs-gutter-y: 3rem;\n }\n .fs-u-gap-xxl-5 {\n gap: 3rem;\n }\n .fs-u-gap-x-xxl-5 {\n column-gap: 3rem;\n }\n .fs-u-gap-y-xxl-5 {\n row-gap: 3rem;\n }\n .fs-u-m-xxl-auto {\n margin: auto;\n }\n .fs-u-mt-xxl-auto {\n margin-top: auto;\n }\n .fs-u-mr-xxl-auto {\n margin-right: auto;\n }\n .fs-u-mb-xxl-auto {\n margin-bottom: auto;\n }\n .fs-u-ml-xxl-auto {\n margin-left: auto;\n }\n .fs-u-mx-xxl-auto {\n margin-right: auto;\n margin-left: auto;\n }\n .fs-u-my-xxl-auto {\n margin-top: auto;\n margin-bottom: auto;\n }\n }\n @media (min-width: 1920px) {\n .fs-u-m-xxxl-0 {\n margin: 0;\n }\n .fs-u-mt-xxxl-0 {\n margin-top: 0;\n }\n .fs-u-mr-xxxl-0 {\n margin-right: 0;\n }\n .fs-u-mb-xxxl-0 {\n margin-bottom: 0;\n }\n .fs-u-ml-xxxl-0 {\n margin-left: 0;\n }\n .fs-u-mx-xxxl-0 {\n margin-right: 0;\n margin-left: 0;\n }\n .fs-u-my-xxxl-0 {\n margin-top: 0;\n margin-bottom: 0;\n }\n .fs-u-p-xxxl-0 {\n padding: 0;\n }\n .fs-u-pt-xxxl-0 {\n padding-top: 0;\n }\n .fs-u-pr-xxxl-0 {\n padding-right: 0;\n }\n .fs-u-pb-xxxl-0 {\n padding-bottom: 0;\n }\n .fs-u-pl-xxxl-0 {\n padding-left: 0;\n }\n .fs-u-px-xxxl-0 {\n padding-right: 0;\n padding-left: 0;\n }\n .fs-u-py-xxxl-0 {\n padding-top: 0;\n padding-bottom: 0;\n }\n .fs-u-g-xxxl-0 {\n --fs-gutter-x: 0;\n --fs-gutter-y: 0;\n }\n .fs-u-gx-xxxl-0 {\n --fs-gutter-x: 0;\n }\n .fs-u-gy-xxxl-0 {\n --fs-gutter-y: 0;\n }\n .fs-u-gap-xxxl-0 {\n gap: 0;\n }\n .fs-u-gap-x-xxxl-0 {\n column-gap: 0;\n }\n .fs-u-gap-y-xxxl-0 {\n row-gap: 0;\n }\n .fs-u-m-xxxl-1 {\n margin: 0.25rem;\n }\n .fs-u-mt-xxxl-1 {\n margin-top: 0.25rem;\n }\n .fs-u-mr-xxxl-1 {\n margin-right: 0.25rem;\n }\n .fs-u-mb-xxxl-1 {\n margin-bottom: 0.25rem;\n }\n .fs-u-ml-xxxl-1 {\n margin-left: 0.25rem;\n }\n .fs-u-mx-xxxl-1 {\n margin-right: 0.25rem;\n margin-left: 0.25rem;\n }\n .fs-u-my-xxxl-1 {\n margin-top: 0.25rem;\n margin-bottom: 0.25rem;\n }\n .fs-u-p-xxxl-1 {\n padding: 0.25rem;\n }\n .fs-u-pt-xxxl-1 {\n padding-top: 0.25rem;\n }\n .fs-u-pr-xxxl-1 {\n padding-right: 0.25rem;\n }\n .fs-u-pb-xxxl-1 {\n padding-bottom: 0.25rem;\n }\n .fs-u-pl-xxxl-1 {\n padding-left: 0.25rem;\n }\n .fs-u-px-xxxl-1 {\n padding-right: 0.25rem;\n padding-left: 0.25rem;\n }\n .fs-u-py-xxxl-1 {\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n }\n .fs-u-g-xxxl-1 {\n --fs-gutter-x: 0.25rem;\n --fs-gutter-y: 0.25rem;\n }\n .fs-u-gx-xxxl-1 {\n --fs-gutter-x: 0.25rem;\n }\n .fs-u-gy-xxxl-1 {\n --fs-gutter-y: 0.25rem;\n }\n .fs-u-gap-xxxl-1 {\n gap: 0.25rem;\n }\n .fs-u-gap-x-xxxl-1 {\n column-gap: 0.25rem;\n }\n .fs-u-gap-y-xxxl-1 {\n row-gap: 0.25rem;\n }\n .fs-u-m-xxxl-2 {\n margin: 0.5rem;\n }\n .fs-u-mt-xxxl-2 {\n margin-top: 0.5rem;\n }\n .fs-u-mr-xxxl-2 {\n margin-right: 0.5rem;\n }\n .fs-u-mb-xxxl-2 {\n margin-bottom: 0.5rem;\n }\n .fs-u-ml-xxxl-2 {\n margin-left: 0.5rem;\n }\n .fs-u-mx-xxxl-2 {\n margin-right: 0.5rem;\n margin-left: 0.5rem;\n }\n .fs-u-my-xxxl-2 {\n margin-top: 0.5rem;\n margin-bottom: 0.5rem;\n }\n .fs-u-p-xxxl-2 {\n padding: 0.5rem;\n }\n .fs-u-pt-xxxl-2 {\n padding-top: 0.5rem;\n }\n .fs-u-pr-xxxl-2 {\n padding-right: 0.5rem;\n }\n .fs-u-pb-xxxl-2 {\n padding-bottom: 0.5rem;\n }\n .fs-u-pl-xxxl-2 {\n padding-left: 0.5rem;\n }\n .fs-u-px-xxxl-2 {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .fs-u-py-xxxl-2 {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n }\n .fs-u-g-xxxl-2 {\n --fs-gutter-x: 0.5rem;\n --fs-gutter-y: 0.5rem;\n }\n .fs-u-gx-xxxl-2 {\n --fs-gutter-x: 0.5rem;\n }\n .fs-u-gy-xxxl-2 {\n --fs-gutter-y: 0.5rem;\n }\n .fs-u-gap-xxxl-2 {\n gap: 0.5rem;\n }\n .fs-u-gap-x-xxxl-2 {\n column-gap: 0.5rem;\n }\n .fs-u-gap-y-xxxl-2 {\n row-gap: 0.5rem;\n }\n .fs-u-m-xxxl-3 {\n margin: 1rem;\n }\n .fs-u-mt-xxxl-3 {\n margin-top: 1rem;\n }\n .fs-u-mr-xxxl-3 {\n margin-right: 1rem;\n }\n .fs-u-mb-xxxl-3 {\n margin-bottom: 1rem;\n }\n .fs-u-ml-xxxl-3 {\n margin-left: 1rem;\n }\n .fs-u-mx-xxxl-3 {\n margin-right: 1rem;\n margin-left: 1rem;\n }\n .fs-u-my-xxxl-3 {\n margin-top: 1rem;\n margin-bottom: 1rem;\n }\n .fs-u-p-xxxl-3 {\n padding: 1rem;\n }\n .fs-u-pt-xxxl-3 {\n padding-top: 1rem;\n }\n .fs-u-pr-xxxl-3 {\n padding-right: 1rem;\n }\n .fs-u-pb-xxxl-3 {\n padding-bottom: 1rem;\n }\n .fs-u-pl-xxxl-3 {\n padding-left: 1rem;\n }\n .fs-u-px-xxxl-3 {\n padding-right: 1rem;\n padding-left: 1rem;\n }\n .fs-u-py-xxxl-3 {\n padding-top: 1rem;\n padding-bottom: 1rem;\n }\n .fs-u-g-xxxl-3 {\n --fs-gutter-x: 1rem;\n --fs-gutter-y: 1rem;\n }\n .fs-u-gx-xxxl-3 {\n --fs-gutter-x: 1rem;\n }\n .fs-u-gy-xxxl-3 {\n --fs-gutter-y: 1rem;\n }\n .fs-u-gap-xxxl-3 {\n gap: 1rem;\n }\n .fs-u-gap-x-xxxl-3 {\n column-gap: 1rem;\n }\n .fs-u-gap-y-xxxl-3 {\n row-gap: 1rem;\n }\n .fs-u-m-xxxl-4 {\n margin: 1.5rem;\n }\n .fs-u-mt-xxxl-4 {\n margin-top: 1.5rem;\n }\n .fs-u-mr-xxxl-4 {\n margin-right: 1.5rem;\n }\n .fs-u-mb-xxxl-4 {\n margin-bottom: 1.5rem;\n }\n .fs-u-ml-xxxl-4 {\n margin-left: 1.5rem;\n }\n .fs-u-mx-xxxl-4 {\n margin-right: 1.5rem;\n margin-left: 1.5rem;\n }\n .fs-u-my-xxxl-4 {\n margin-top: 1.5rem;\n margin-bottom: 1.5rem;\n }\n .fs-u-p-xxxl-4 {\n padding: 1.5rem;\n }\n .fs-u-pt-xxxl-4 {\n padding-top: 1.5rem;\n }\n .fs-u-pr-xxxl-4 {\n padding-right: 1.5rem;\n }\n .fs-u-pb-xxxl-4 {\n padding-bottom: 1.5rem;\n }\n .fs-u-pl-xxxl-4 {\n padding-left: 1.5rem;\n }\n .fs-u-px-xxxl-4 {\n padding-right: 1.5rem;\n padding-left: 1.5rem;\n }\n .fs-u-py-xxxl-4 {\n padding-top: 1.5rem;\n padding-bottom: 1.5rem;\n }\n .fs-u-g-xxxl-4 {\n --fs-gutter-x: 1.5rem;\n --fs-gutter-y: 1.5rem;\n }\n .fs-u-gx-xxxl-4 {\n --fs-gutter-x: 1.5rem;\n }\n .fs-u-gy-xxxl-4 {\n --fs-gutter-y: 1.5rem;\n }\n .fs-u-gap-xxxl-4 {\n gap: 1.5rem;\n }\n .fs-u-gap-x-xxxl-4 {\n column-gap: 1.5rem;\n }\n .fs-u-gap-y-xxxl-4 {\n row-gap: 1.5rem;\n }\n .fs-u-m-xxxl-5 {\n margin: 3rem;\n }\n .fs-u-mt-xxxl-5 {\n margin-top: 3rem;\n }\n .fs-u-mr-xxxl-5 {\n margin-right: 3rem;\n }\n .fs-u-mb-xxxl-5 {\n margin-bottom: 3rem;\n }\n .fs-u-ml-xxxl-5 {\n margin-left: 3rem;\n }\n .fs-u-mx-xxxl-5 {\n margin-right: 3rem;\n margin-left: 3rem;\n }\n .fs-u-my-xxxl-5 {\n margin-top: 3rem;\n margin-bottom: 3rem;\n }\n .fs-u-p-xxxl-5 {\n padding: 3rem;\n }\n .fs-u-pt-xxxl-5 {\n padding-top: 3rem;\n }\n .fs-u-pr-xxxl-5 {\n padding-right: 3rem;\n }\n .fs-u-pb-xxxl-5 {\n padding-bottom: 3rem;\n }\n .fs-u-pl-xxxl-5 {\n padding-left: 3rem;\n }\n .fs-u-px-xxxl-5 {\n padding-right: 3rem;\n padding-left: 3rem;\n }\n .fs-u-py-xxxl-5 {\n padding-top: 3rem;\n padding-bottom: 3rem;\n }\n .fs-u-g-xxxl-5 {\n --fs-gutter-x: 3rem;\n --fs-gutter-y: 3rem;\n }\n .fs-u-gx-xxxl-5 {\n --fs-gutter-x: 3rem;\n }\n .fs-u-gy-xxxl-5 {\n --fs-gutter-y: 3rem;\n }\n .fs-u-gap-xxxl-5 {\n gap: 3rem;\n }\n .fs-u-gap-x-xxxl-5 {\n column-gap: 3rem;\n }\n .fs-u-gap-y-xxxl-5 {\n row-gap: 3rem;\n }\n .fs-u-m-xxxl-auto {\n margin: auto;\n }\n .fs-u-mt-xxxl-auto {\n margin-top: auto;\n }\n .fs-u-mr-xxxl-auto {\n margin-right: auto;\n }\n .fs-u-mb-xxxl-auto {\n margin-bottom: auto;\n }\n .fs-u-ml-xxxl-auto {\n margin-left: auto;\n }\n .fs-u-mx-xxxl-auto {\n margin-right: auto;\n margin-left: auto;\n }\n .fs-u-my-xxxl-auto {\n margin-top: auto;\n margin-bottom: auto;\n }\n }\n}\n@layer utilities {\n .fs-u-text-start {\n text-align: left;\n }\n .fs-u-text-center {\n text-align: center;\n }\n .fs-u-text-end {\n text-align: right;\n }\n .fs-u-text-lowercase {\n text-transform: lowercase;\n }\n .fs-u-text-uppercase {\n text-transform: uppercase;\n }\n .fs-u-text-capitalize {\n text-transform: capitalize;\n }\n .fs-u-text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .fs-u-fw-regular {\n font-weight: 400;\n }\n .fs-u-fw-medium {\n font-weight: 500;\n }\n .fs-u-fw-semibold {\n font-weight: 600;\n }\n .fs-u-fw-bold {\n font-weight: 700;\n }\n .fs-u-fs-xs {\n font-size: 0.6875rem;\n }\n .fs-u-fs-sm {\n font-size: 0.75rem;\n }\n .fs-u-fs-md {\n font-size: 0.8125rem;\n }\n .fs-u-fs-lg {\n font-size: 1rem;\n }\n .fs-u-fs-xl {\n font-size: 1.25rem;\n }\n .fs-u-fs-h1 {\n font-size: 1.75rem;\n }\n .fs-u-fs-h2 {\n font-size: 1.5rem;\n }\n .fs-u-fs-h3 {\n font-size: 1.3125rem;\n }\n .fs-u-fs-h4 {\n font-size: 1.125rem;\n }\n .fs-u-fs-h5 {\n font-size: 1rem;\n }\n .fs-u-fs-h6 {\n font-size: 0.875rem;\n }\n .fs-u-font-sans {\n font-family: var(--fs-font-sans);\n }\n .fs-u-font-mono {\n font-family: var(--fs-font-mono);\n }\n}\n@layer utilities {\n .fs-u-visible {\n visibility: visible;\n }\n .fs-u-invisible {\n visibility: hidden;\n }\n .fs-u-visually-hidden,\n .fs-u-visually-hidden-focusable {\n position: absolute !important;\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n margin: -1px !important;\n overflow: hidden !important;\n clip-path: inset(50%) !important;\n white-space: nowrap !important;\n border: 0 !important;\n }\n .fs-u-visually-hidden-focusable:focus,\n .fs-u-visually-hidden-focusable:focus-within {\n position: static !important;\n width: auto !important;\n height: auto !important;\n margin: 0 !important;\n overflow: visible !important;\n clip-path: none !important;\n white-space: normal !important;\n }\n}\n@layer utilities {\n .fs-u-focus-ring:focus-visible {\n outline: var(--fs-focus-width) solid var(--fs-focus-color);\n outline-offset: var(--fs-focus-offset);\n box-shadow: 0 0 0 var(--fs-focus-ring-size) var(--fs-focus-ring-color);\n }\n .fs-u-disabled,\n .fs-u-disabled[aria-disabled=true] {\n cursor: not-allowed;\n opacity: var(--fs-disabled-opacity);\n pointer-events: none;\n }\n @media print {\n .fs-u-print-hidden {\n display: none !important;\n }\n .fs-u-print-visible {\n display: block !important;\n }\n }\n}\n@layer utilities {\n .fs-u-color-primary {\n color: var(--fs-color-primary, oklch(53.5630074284% 0.2132145174 261.6264320248deg)) !important;\n }\n .fs-u-bg-primary {\n background-color: var(--fs-color-primary, oklch(53.5630074284% 0.2132145174 261.6264320248deg)) !important;\n }\n .fs-u-color-secondary {\n color: var(--fs-color-secondary, oklch(55.4391007662% 0.040717043 257.4166191214deg)) !important;\n }\n .fs-u-bg-secondary {\n background-color: var(--fs-color-secondary, oklch(55.4391007662% 0.040717043 257.4166191214deg)) !important;\n }\n .fs-u-color-success {\n color: var(--fs-color-success, oklch(75.151587899% 0.2146126169 148.125846236deg)) !important;\n }\n .fs-u-bg-success {\n background-color: var(--fs-color-success, oklch(75.151587899% 0.2146126169 148.125846236deg)) !important;\n }\n .fs-u-color-warning {\n color: var(--fs-color-warning, oklch(81.9510815663% 0.1562613975 78.6575213966deg)) !important;\n }\n .fs-u-bg-warning {\n background-color: var(--fs-color-warning, oklch(81.9510815663% 0.1562613975 78.6575213966deg)) !important;\n }\n .fs-u-color-danger {\n color: var(--fs-color-danger, oklch(55.9653139301% 0.1897270855 25.2407937498deg)) !important;\n }\n .fs-u-bg-danger {\n background-color: var(--fs-color-danger, oklch(55.9653139301% 0.1897270855 25.2407937498deg)) !important;\n }\n .fs-u-color-info {\n color: var(--fs-color-info, oklch(53.3359780029% 0.1620131129 280.2231949375deg)) !important;\n }\n .fs-u-bg-info {\n background-color: var(--fs-color-info, oklch(53.3359780029% 0.1620131129 280.2231949375deg)) !important;\n }\n .fs-u-m-0 {\n margin: 0 !important;\n }\n .fs-u-mx-0 {\n margin-inline: 0 !important;\n }\n .fs-u-my-0 {\n margin-block: 0 !important;\n }\n .fs-u-p-0 {\n padding: 0 !important;\n }\n .fs-u-px-0 {\n padding-inline: 0 !important;\n }\n .fs-u-py-0 {\n padding-block: 0 !important;\n }\n .fs-u-m-1 {\n margin: 0.25rem !important;\n }\n .fs-u-mx-1 {\n margin-inline: 0.25rem !important;\n }\n .fs-u-my-1 {\n margin-block: 0.25rem !important;\n }\n .fs-u-p-1 {\n padding: 0.25rem !important;\n }\n .fs-u-px-1 {\n padding-inline: 0.25rem !important;\n }\n .fs-u-py-1 {\n padding-block: 0.25rem !important;\n }\n .fs-u-m-2 {\n margin: 0.5rem !important;\n }\n .fs-u-mx-2 {\n margin-inline: 0.5rem !important;\n }\n .fs-u-my-2 {\n margin-block: 0.5rem !important;\n }\n .fs-u-p-2 {\n padding: 0.5rem !important;\n }\n .fs-u-px-2 {\n padding-inline: 0.5rem !important;\n }\n .fs-u-py-2 {\n padding-block: 0.5rem !important;\n }\n .fs-u-m-3 {\n margin: 1rem !important;\n }\n .fs-u-mx-3 {\n margin-inline: 1rem !important;\n }\n .fs-u-my-3 {\n margin-block: 1rem !important;\n }\n .fs-u-p-3 {\n padding: 1rem !important;\n }\n .fs-u-px-3 {\n padding-inline: 1rem !important;\n }\n .fs-u-py-3 {\n padding-block: 1rem !important;\n }\n .fs-u-m-4 {\n margin: 1.5rem !important;\n }\n .fs-u-mx-4 {\n margin-inline: 1.5rem !important;\n }\n .fs-u-my-4 {\n margin-block: 1.5rem !important;\n }\n .fs-u-p-4 {\n padding: 1.5rem !important;\n }\n .fs-u-px-4 {\n padding-inline: 1.5rem !important;\n }\n .fs-u-py-4 {\n padding-block: 1.5rem !important;\n }\n .fs-u-m-5 {\n margin: 3rem !important;\n }\n .fs-u-mx-5 {\n margin-inline: 3rem !important;\n }\n .fs-u-my-5 {\n margin-block: 3rem !important;\n }\n .fs-u-p-5 {\n padding: 3rem !important;\n }\n .fs-u-px-5 {\n padding-inline: 3rem !important;\n }\n .fs-u-py-5 {\n padding-block: 3rem !important;\n }\n .fs-u-w-25 {\n width: 25% !important;\n }\n .fs-u-h-25 {\n height: 25% !important;\n }\n .fs-u-w-50 {\n width: 50% !important;\n }\n .fs-u-h-50 {\n height: 50% !important;\n }\n .fs-u-w-75 {\n width: 75% !important;\n }\n .fs-u-h-75 {\n height: 75% !important;\n }\n .fs-u-w-100 {\n width: 100% !important;\n }\n .fs-u-h-100 {\n height: 100% !important;\n }\n .fs-u-w-auto {\n width: auto !important;\n }\n .fs-u-h-auto {\n height: auto !important;\n }\n @media (min-width: 640px) {\n .fs-u-d-sm-flex {\n display: flex !important;\n }\n .fs-u-d-sm-none {\n display: none !important;\n }\n .fs-u-text-sm-start {\n text-align: start !important;\n }\n }\n @media (min-width: 768px) {\n .fs-u-d-md-flex {\n display: flex !important;\n }\n .fs-u-d-md-none {\n display: none !important;\n }\n .fs-u-text-md-start {\n text-align: start !important;\n }\n }\n @media (min-width: 1024px) {\n .fs-u-d-lg-flex {\n display: flex !important;\n }\n .fs-u-d-lg-none {\n display: none !important;\n }\n .fs-u-text-lg-start {\n text-align: start !important;\n }\n }\n @media (min-width: 1280px) {\n .fs-u-d-xl-flex {\n display: flex !important;\n }\n .fs-u-d-xl-none {\n display: none !important;\n }\n .fs-u-text-xl-start {\n text-align: start !important;\n }\n }\n @media (min-width: 1536px) {\n .fs-u-d-xxl-flex {\n display: flex !important;\n }\n .fs-u-d-xxl-none {\n display: none !important;\n }\n .fs-u-text-xxl-start {\n text-align: start !important;\n }\n }\n @media (min-width: 1920px) {\n .fs-u-d-xxxl-flex {\n display: flex !important;\n }\n .fs-u-d-xxxl-none {\n display: none !important;\n }\n .fs-u-text-xxxl-start {\n text-align: start !important;\n }\n }\n}\n@layer tokens {\n [data-fs-brand=violet] {\n --fs-color-primary: #6d28d9;\n --fs-alert-primary-bg: rgb(229.8834406263, 225.8717327657, 252.5458384302);\n --fs-alert-primary-text: rgb(37.7006407433, 8.7385189481, 83.109047167);\n --fs-feedback-primary-bg: rgb(229.8834406263, 225.8717327657, 252.5458384302);\n }\n [data-fs-brand=violet][data-theme=dark],\n [data-theme=dark] [data-fs-brand=violet] {\n --fs-color-primary: rgb(114.6495158739, 57.1165361442, 219.9746158745);\n --fs-alert-primary-bg: rgb(31.4819726714, 47.0564006856, 82.6607876597);\n --fs-alert-primary-text: rgb(167.4962913963, 147.746130571, 240.0249534535);\n --fs-feedback-primary-bg: rgb(31.4819726714, 47.0564006856, 82.6607876597);\n }\n @supports (color: oklch(0% 0 0deg)) {\n [data-fs-brand=violet] {\n --fs-color-primary: oklch(49.0666497236% 0.2412317343 292.5809393311deg);\n --fs-alert-primary-bg: oklch(92.3599974585% 0.0361847601 292.5809393311deg);\n --fs-alert-primary-text: oklch(24.5333248618% 0.1206158672 292.5809393311deg);\n --fs-feedback-primary-bg: oklch(92.3599974585% 0.0361847601 292.5809393311deg);\n }\n [data-fs-brand=violet][data-theme=dark],\n [data-theme=dark] [data-fs-brand=violet] {\n --fs-color-primary: oklch(51.6133172374% 0.2291701476 292.5809393311deg);\n --fs-alert-primary-bg: oklch(31.117092664% 0.067505667 264.9134801836deg);\n --fs-alert-primary-text: oklch(71.986657348% 0.1326774539 292.5809393311deg);\n --fs-feedback-primary-bg: oklch(31.117092664% 0.067505667 264.9134801836deg);\n }\n }\n [data-fs-brand=corporate] {\n --fs-color-primary: #1d4e89;\n --fs-alert-primary-bg: rgb(219.2237954153, 227.2186121739, 237.6990809983);\n --fs-alert-primary-text: rgb(5.0598830676, 24.6667463069, 49.4731905568);\n --fs-feedback-primary-bg: rgb(219.2237954153, 227.2186121739, 237.6990809983);\n }\n [data-fs-brand=corporate][data-theme=dark],\n [data-theme=dark] [data-fs-brand=corporate] {\n --fs-color-primary: rgb(40.8593466225, 86.5224214637, 143.0926598584);\n --fs-alert-primary-bg: rgb(31.2586947979, 46.3186220749, 70.1321749545);\n --fs-alert-primary-text: rgb(127.9940036809, 155.4045223568, 190.9765129762);\n --fs-feedback-primary-bg: rgb(31.2586947979, 46.3186220749, 70.1321749545);\n }\n [data-fs-brand=vibrant] {\n --fs-color-primary: #f2542d;\n --fs-alert-primary-bg: rgb(255, 231.3637253432, 224.6456124112);\n --fs-alert-primary-text: rgb(93.6202523577, 27.1894355526, 10.7919554552);\n --fs-feedback-primary-bg: rgb(255, 231.3637253432, 224.6456124112);\n }\n [data-fs-brand=vibrant][data-theme=dark],\n [data-theme=dark] [data-fs-brand=vibrant] {\n --fs-color-primary: rgb(244.0763687777, 94.774513804, 58.7750761343);\n --fs-alert-primary-bg: rgb(48.9487024594, 50.7990197305, 85.9119190034);\n --fs-alert-primary-text: rgb(255, 166.953251087, 144.6609410048);\n --fs-feedback-primary-bg: rgb(48.9487024594, 50.7990197305, 85.9119190034);\n }\n @supports (color: oklch(0% 0 0deg)) {\n [data-fs-brand=corporate] {\n --fs-color-primary: oklch(42.3377990386% 0.1112359961 255.1073474093deg);\n --fs-alert-primary-bg: oklch(91.3506698558% 0.0166853994 255.1073474093deg);\n --fs-alert-primary-text: oklch(21.1688995193% 0.055617998 255.1073474093deg);\n --fs-feedback-primary-bg: oklch(91.3506698558% 0.0166853994 255.1073474093deg);\n }\n [data-fs-brand=corporate][data-theme=dark],\n [data-theme=dark] [data-fs-brand=corporate] {\n --fs-color-primary: oklch(45.2209090867% 0.1056741963 255.1073474093deg);\n --fs-alert-primary-bg: oklch(30.1077650613% 0.0480063062 259.2924413953deg);\n --fs-alert-primary-text: oklch(68.2857894712% 0.0611797979 255.1073474093deg);\n --fs-feedback-primary-bg: oklch(30.1077650613% 0.0480063062 259.2924413953deg);\n }\n [data-fs-brand=vibrant] {\n --fs-color-primary: oklch(65.5786741493% 0.2007639921 34.7814711243deg);\n --fs-alert-primary-bg: oklch(94.8368011224% 0.0301145988 34.7814711243deg);\n --fs-alert-primary-text: oklch(32.7893370747% 0.1003819961 34.7814711243deg);\n --fs-feedback-primary-bg: oklch(94.8368011224% 0.0301145988 34.7814711243deg);\n }\n [data-fs-brand=vibrant][data-theme=dark],\n [data-theme=dark] [data-fs-brand=vibrant] {\n --fs-color-primary: oklch(67.2997404419% 0.1907257925 34.7814711243deg);\n --fs-alert-primary-bg: oklch(33.5938963279% 0.0614355056 280.2435599526deg);\n --fs-alert-primary-text: oklch(81.0682707821% 0.1104201957 34.7814711243deg);\n --fs-feedback-primary-bg: oklch(33.5938963279% 0.0614355056 280.2435599526deg);\n }\n }\n}\n@layer overrides {\n [data-fs-brand=vibrant] .fs-btn-primary,\n [data-fs-brand=vibrant] .fs-badge-primary {\n --fs-btn-color: #000000;\n --fs-badge-color: #000000;\n }\n [data-fs-brand=vibrant] .fs-check {\n --fs-check-mark: #000000;\n }\n}\n@layer tokens {\n [data-theme=dark],\n [data-fs-theme=dark] {\n --fs-color-text: #f1f3f4;\n --fs-color-muted: #bdc1c6;\n --fs-color-border: #3c4043;\n --fs-color-surface: #202124;\n --fs-color-subtle: #2b2c2f;\n --fs-color-bg-surface: var(--fs-color-surface);\n --fs-color-bg-subtle: var(--fs-color-subtle);\n --fs-color-surface-raised: var(--fs-color-surface);\n --fs-color-surface-interactive: var(--fs-color-subtle);\n --fs-color-text-primary: var(--fs-color-text);\n --fs-color-text-muted: var(--fs-color-muted);\n --fs-color-border-default: var(--fs-color-border);\n --fs-color-focus: var(--fs-color-primary);\n --fs-color-action-primary: var(--fs-color-primary);\n --fs-color-action-danger: var(--fs-color-danger);\n --fs-shadow-sm: 0 1px 3px rgb(0 0 0 / 50%), 0 1px 2px rgb(0 0 0 / 40%);\n --fs-shadow-md: 0 6px 12px rgb(0 0 0 / 55%), 0 3px 6px rgb(0 0 0 / 45%);\n --fs-shadow-lg: 0 15px 30px rgb(0 0 0 / 60%), 0 6px 12px rgb(0 0 0 / 50%);\n --fs-tooltip-bg: #f8fafc;\n --fs-tooltip-text: #1e293b;\n --fs-color-primary: rgb(39.8728684152, 106.2372587275, 232.1894887664);\n --fs-alert-primary-bg: rgb(30.765779113, 49.9974662348, 82.3021425489);\n --fs-alert-primary-text: rgb(130.6636212695, 172.0850768824, 246.4419684583);\n --fs-feedback-primary-bg: rgb(30.765779113, 49.9974662348, 82.3021425489);\n --fs-color-secondary: rgb(114.3557068426, 129.039220146, 150.1520317181);\n --fs-alert-secondary-bg: rgb(39.6548148226, 51.4270943358, 70.2648514061);\n --fs-alert-secondary-text: rgb(166.7597509121, 176.2809684237, 189.9919576187);\n --fs-feedback-secondary-bg: rgb(39.6548148226, 51.4270943358, 70.2648514061);\n --fs-color-success: rgb(134.4501166043, 226.9563331209, 149.6185042518);\n --fs-alert-success-bg: rgb(24.8621518491, 61.9088085702, 89.0318819222);\n --fs-alert-success-text: rgb(155.0475916512, 231.7231823866, 166.1609492581);\n --fs-feedback-success-bg: rgb(24.8621518491, 61.9088085702, 89.0318819222);\n --fs-color-warning: rgb(252.9400238762, 208.7461261831, 137.9221837268);\n --fs-alert-warning-bg: rgb(59.1359779173, 56.6792370273, 88.6687774507);\n --fs-alert-warning-text: rgb(253.5439861058, 216.1213263099, 157.1705651606);\n --fs-feedback-warning-bg: rgb(59.1359779173, 56.6792370273, 88.6687774507);\n --fs-color-danger: rgb(208.1189955268, 64.9740184262, 63.4302936954);\n --fs-alert-danger-bg: rgb(44.6823973866, 47.5125073063, 81.2083778204);\n --fs-alert-danger-text: rgb(235.4050745756, 149.9650253478, 142.4924034553);\n --fs-feedback-danger-bg: rgb(44.6823973866, 47.5125073063, 81.2083778204);\n --fs-color-info: #5e5cc7;\n --fs-alert-info-bg: rgb(35.0058091619, 49.6887857769, 78.5757788254);\n --fs-alert-info-text: rgb(160.628671266, 165.881962789, 227.610600335);\n --fs-feedback-info-bg: rgb(35.0058091619, 49.6887857769, 78.5757788254);\n }\n @supports (color: oklch(0% 0 0deg)) {\n [data-theme=dark],\n [data-fs-theme=dark] {\n --fs-color-text: oklch(96.2913383165% 0.002529697 228.7848682695deg);\n --fs-color-muted: oklch(80.9268110646% 0.0083071608 253.8653061211deg);\n --fs-color-border: oklch(36.8827622528% 0.0074489239 240.018838067deg);\n --fs-color-surface: oklch(24.7936263361% 0.0058460141 271.1764187765deg);\n --fs-color-subtle: oklch(29.3286259539% 0.0055990771 271.2234269855deg);\n --fs-color-bg-surface: var(--fs-color-surface);\n --fs-color-bg-subtle: var(--fs-color-subtle);\n --fs-color-surface-raised: var(--fs-color-surface);\n --fs-color-surface-interactive: var(--fs-color-subtle);\n --fs-color-text-primary: var(--fs-color-text);\n --fs-color-text-muted: var(--fs-color-muted);\n --fs-color-border-default: var(--fs-color-border);\n --fs-color-focus: var(--fs-color-primary);\n --fs-color-action-primary: var(--fs-color-primary);\n --fs-color-action-danger: var(--fs-color-danger);\n --fs-tooltip-bg: oklch(98.4151869501% 0.0034126992 247.8577745944deg);\n --fs-tooltip-text: oklch(27.9495237712% 0.0368481257 260.0309873929deg);\n --fs-color-primary: oklch(55.884857057% 0.2025537915 261.6264320248deg);\n --fs-alert-primary-bg: oklch(31.7915463198% 0.0633030844 260.2703040876deg);\n --fs-alert-primary-text: oklch(74.4596540856% 0.1172679846 261.6264320248deg);\n --fs-feedback-primary-bg: oklch(31.7915463198% 0.0633030844 260.2703040876deg);\n --fs-color-secondary: oklch(59.8951906896% 0.0366453387 257.4166191214deg);\n --fs-alert-secondary-bg: oklch(32.0729603204% 0.0374284633 259.6388321521deg);\n --fs-alert-secondary-text: oklch(75.4915054214% 0.0223943736 257.4166191214deg);\n --fs-feedback-secondary-bg: oklch(32.0729603204% 0.0374284633 259.6388321521deg);\n --fs-color-success: oklch(83.8485321344% 0.139498201 148.125846236deg);\n --fs-alert-success-bg: oklch(35.0298333903% 0.0635127994 243.2452162193deg);\n --fs-alert-success-text: oklch(86.3333733445% 0.1180369393 148.125846236deg);\n --fs-feedback-success-bg: oklch(35.0298333903% 0.0635127994 243.2452162193deg);\n --fs-color-warning: oklch(88.2682030181% 0.1015699084 78.6575213966deg);\n --fs-alert-warning-bg: oklch(36.0497574404% 0.0547601164 286.8249674934deg);\n --fs-alert-warning-text: oklch(90.0730948615% 0.0859437686 78.6575213966deg);\n --fs-feedback-warning-bg: oklch(36.0497574404% 0.0547601164 286.8249674934deg);\n --fs-color-danger: oklch(58.1670482336% 0.1802407312 25.2407937498deg);\n --fs-alert-danger-bg: oklch(32.151892295% 0.0597799696 278.8124583464deg);\n --fs-alert-danger-text: oklch(75.7809226615% 0.104349897 25.2407937498deg);\n --fs-feedback-danger-bg: oklch(32.151892295% 0.0597799696 278.8124583464deg);\n --fs-color-info: oklch(53.3359780029% 0.1620131129 280.2231949375deg);\n --fs-alert-info-bg: oklch(31.7574919059% 0.0556228738 263.0598185246deg);\n --fs-alert-info-text: oklch(74.3347879016% 0.0891072121 280.2231949375deg);\n --fs-feedback-info-bg: oklch(31.7574919059% 0.0556228738 263.0598185246deg);\n }\n }\n @media (prefers-color-scheme: dark) {\n [data-fs-theme=auto] {\n --fs-color-text: #f1f3f4;\n --fs-color-muted: #bdc1c6;\n --fs-color-border: #3c4043;\n --fs-color-surface: #202124;\n --fs-color-subtle: #2b2c2f;\n --fs-color-bg-surface: var(--fs-color-surface);\n --fs-color-bg-subtle: var(--fs-color-subtle);\n --fs-color-surface-raised: var(--fs-color-surface);\n --fs-color-surface-interactive: var(--fs-color-subtle);\n --fs-color-text-primary: var(--fs-color-text);\n --fs-color-text-muted: var(--fs-color-muted);\n --fs-color-border-default: var(--fs-color-border);\n --fs-color-focus: var(--fs-color-primary);\n --fs-tooltip-bg: #f8fafc;\n --fs-tooltip-text: #1e293b;\n }\n }\n @media (forced-colors: active) {\n :root,\n [data-theme=dark],\n [data-fs-theme=light],\n [data-fs-theme=dark],\n [data-fs-theme=auto] {\n --fs-color-border: CanvasText;\n --fs-color-text: CanvasText;\n --fs-color-surface: Canvas;\n --fs-color-subtle: Canvas;\n --fs-focus-color: Highlight;\n }\n }\n}","@use \"sass:map\";\n@use \"../settings\" as *;\n@use \"../tools\" as *;\n\n// Ordem canônica das camadas: declarada uma única vez aqui porque `tokens`\n// é sempre o primeiro `@use` de cada entry point (ver scss/entries/*.scss e\n// scss/fokus.scss) — evita repetir a declaração em cada bundle.\n@layer reset, tokens, base, layout, components, utilities, overrides;\n\n@layer tokens {\n // Bloco incondicional: fallback sRGB, aplicado em todo navegador. Os\n // valores de cor aqui vêm de `rgb-fallback()` (gamut-mapeado a partir do\n // primitivo OKLCH) — ver `tools/_mixins.scss`. É sempre sobrescrito pelo\n // bloco `@supports` abaixo em navegadores com suporte a `oklch()`; um\n // `--fs-*` de cor nunca deve ser lido só daqui em código novo.\n :root {\n --fs-color-white: #{$color-white};\n --fs-color-black: #{$color-black};\n --fs-color-text: #{rgb-fallback($color-gray-900)};\n --fs-color-muted: #{rgb-fallback($color-gray-600)};\n --fs-color-border: #{rgb-fallback($color-gray-300)};\n --fs-color-surface: #{$color-white};\n --fs-color-subtle: #{rgb-fallback($color-gray-100)};\n --fs-font-sans: #{$font-family-sans};\n --fs-font-mono: #{$font-family-mono};\n --fs-font-size-md: #{$font-size-md};\n --fs-font-size-h1: #{$font-size-h1};\n --fs-font-size-h2: #{$font-size-h2};\n --fs-font-size-h3: #{$font-size-h3};\n --fs-font-size-h4: #{$font-size-h4};\n --fs-font-size-h5: #{$font-size-h5};\n --fs-font-size-h6: #{$font-size-h6};\n --fs-font-weight-semibold: #{$font-weight-semibold};\n --fs-line-height-base: #{$line-height-base};\n --fs-line-height-heading: #{$line-height-heading};\n --fs-radius-sm: #{$radius-sm};\n --fs-radius-md: #{$radius-md};\n --fs-radius-lg: #{$radius-lg};\n --fs-gutter-x: #{map.get($spacers, 4)};\n --fs-gutter-y: 0px;\n\n @each $name, $space in $spacers {\n --fs-space-#{$name}: #{$space};\n }\n\n @each $name, $z-index in $z-indexes {\n --fs-z-#{$name}: #{$z-index};\n }\n\n --fs-control-height: 38px;\n --fs-control-height-sm: 30px;\n --fs-control-height-lg: 46px;\n --fs-control-padding-x: 12px;\n --fs-control-padding-x-sm: 8px;\n --fs-control-padding-x-lg: 16px;\n --fs-focus-width: 2px;\n --fs-focus-offset: 2px;\n --fs-focus-color: var(--fs-color-primary);\n --fs-focus-ring-size: 3px;\n --fs-focus-ring-color: color-mix(in srgb, var(--fs-focus-color) 22%, transparent);\n --fs-focus-ring-alpha: 22%;\n --fs-transition-fast: 150ms;\n --fs-transition-normal: 220ms;\n --fs-motion-duration-fast: var(--fs-transition-fast);\n --fs-motion-duration-normal: var(--fs-transition-normal);\n --fs-motion-ease-standard: var(--fs-ease-standard);\n --fs-ease-standard: cubic-bezier(0.2, 0, 0, 1);\n --fs-border-width: 1px;\n --fs-disabled-opacity: 0.5;\n --fs-safe-area-top: env(safe-area-inset-top, 0px);\n --fs-safe-area-right: env(safe-area-inset-right, 0px);\n --fs-safe-area-bottom: env(safe-area-inset-bottom, 0px);\n --fs-safe-area-left: env(safe-area-inset-left, 0px);\n --fs-component-control-height: var(--fs-control-height);\n --fs-component-overlay-backdrop: rgb(0 0 0 / 55%);\n --fs-component-panel-radius: var(--fs-radius-md);\n --fs-component-panel-shadow: var(--fs-shadow-lg);\n\n // Referência dos limiares usados pelos utilitários `@container` (ver\n // `packages/fokus-utilities/scss/utilities/_container-queries.scss`).\n // Só informativas: a condição de um `@container` precisa de um valor\n // literal em tempo de build, não aceita `var()` — mudar aqui não\n // recalibra as regras já compiladas, só documenta os valores usados.\n @each $name, $width in $container-breakpoints {\n --fs-cq-#{$name}: #{$width};\n }\n\n --fs-shadow-sm: 0 1px 3px rgb(0 0 0 / 15%), 0 1px 2px rgb(0 0 0 / 10%);\n --fs-shadow-md: 0 6px 12px rgb(0 0 0 / 15%), 0 3px 6px rgb(0 0 0 / 10%);\n --fs-shadow-lg: 0 15px 30px rgb(0 0 0 / 18%), 0 6px 12px rgb(0 0 0 / 12%);\n --fs-tooltip-bg: #{rgb-fallback($color-gray-900)};\n --fs-tooltip-text: #{$color-white};\n\n @each $name, $color in $theme-colors {\n --fs-color-#{$name}: #{rgb-fallback($color)};\n --fs-color-on-#{$name}: #{color-contrast($color)};\n --fs-alert-#{$name}-bg: #{rgb-fallback(tint-color($color))};\n --fs-alert-#{$name}-text: #{rgb-fallback(shade-color($color))};\n }\n\n @each $name, $bg in $theme-bg-colors {\n --fs-feedback-#{$name}-bg: #{rgb-fallback($bg)};\n }\n }\n\n // Bloco condicional: valores nativos em OKLCH. `@supports (color: oklch(0%\n // 0 0))` só passa em navegadores que entendem a função — os demais ignoram\n // o bloco inteiro e mantêm o fallback sRGB acima. Só propriedades de cor\n // entram aqui; o resto (fontes, raio, sombra, gutter) não tem equivalente\n // \"melhor\" em OKLCH e já está definido de forma incondicional.\n @supports (color: oklch(0% 0 0)) {\n :root {\n --fs-color-text: #{$color-gray-900};\n --fs-color-muted: #{$color-gray-600};\n --fs-color-border: #{$color-gray-300};\n --fs-color-subtle: #{$color-gray-100};\n --fs-tooltip-bg: #{$color-gray-900};\n\n @each $name, $color in $theme-colors {\n --fs-color-#{$name}: #{$color};\n --fs-color-on-#{$name}: #{color-contrast($color)};\n --fs-alert-#{$name}-bg: #{tint-color($color)};\n --fs-alert-#{$name}-text: #{shade-color($color)};\n }\n\n @each $name, $bg in $theme-bg-colors {\n --fs-feedback-#{$name}-bg: #{$bg};\n }\n }\n }\n}\n","// Camada semântica: nomeia tokens por PAPEL (o que a cor faz na interface),\n// não por valor. Cada token aqui é um alias `var()` de um token primitivo\n// (`_root.scss`) — não introduz nenhuma cor nova, só um vocabulário estável\n// entre o primitivo e o consumo por componente (ver `_component-buttons.scss`\n// como referência de como um componente deve consumir esta camada).\n// Por que alias e não recalcular o valor: um `var()` encadeado continua\n// resolvendo o fallback sRGB/OKLCH já decidido em `_root.scss` — não precisa\n// repetir a lógica de `@supports` aqui.\n@layer tokens {\n :root {\n // Superfícies\n --fs-color-bg-surface: var(--fs-color-surface);\n --fs-color-bg-subtle: var(--fs-color-subtle);\n\n // Texto\n --fs-color-text-primary: var(--fs-color-text);\n --fs-color-text-muted: var(--fs-color-muted);\n\n // Bordas\n --fs-color-border-default: var(--fs-color-border);\n --fs-color-focus: var(--fs-color-primary);\n --fs-color-surface-raised: var(--fs-color-surface);\n --fs-color-surface-interactive: var(--fs-color-subtle);\n\n // Ação (mapeiam para a cor de tema correspondente — existem para dar um\n // nome estável a \"a cor de ação primária\", independente de qual token\n // primitivo ela usa por baixo).\n --fs-color-action-primary: var(--fs-color-primary);\n --fs-color-action-danger: var(--fs-color-danger);\n }\n}\n","// Tokens de gráficos: agnósticos de biblioteca — não é um wrapper de\n// Chart.js/ECharts/Recharts/etc., só cores/tema que qualquer uma delas pode\n// consumir via `getComputedStyle`/CSS custom properties. Aliases da camada\n// semântica já existente (mesma técnica de `_semantic.scss`), então\n// acompanham `data-theme`/`data-fs-brand` automaticamente sem token novo por\n// tema. Ver docs/guides/charts.md.\n@layer tokens {\n :root {\n --fs-chart-series-1: var(--fs-color-primary);\n --fs-chart-series-2: var(--fs-color-success);\n --fs-chart-series-3: var(--fs-color-warning);\n --fs-chart-series-4: var(--fs-color-danger);\n --fs-chart-series-5: var(--fs-color-info);\n --fs-chart-series-6: var(--fs-color-secondary);\n --fs-chart-grid: var(--fs-color-border);\n --fs-chart-axis: var(--fs-color-muted);\n --fs-chart-tooltip-bg: var(--fs-tooltip-bg);\n --fs-chart-tooltip-text: var(--fs-tooltip-text);\n }\n}\n","@layer reset {\n *,\n *::before,\n *::after {\n box-sizing: border-box;\n }\n\n html {\n line-height: var(--fs-line-height-base);\n text-size-adjust: 100%;\n }\n\n body {\n margin: 0;\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface);\n }\n\n [hidden] {\n display: none !important;\n }\n}\n","// As declarações @font-face das fontes self-hosted ficam em `_fonts.scss`,\n// distribuído à parte (dist/css/fonts.css) e fora dos bundles principais —\n// ver a nota nesse arquivo. Aqui só aplicamos as pilhas de `font-family`\n// (com fallback sans-serif/monospace, que valem mesmo sem fonts.css).\n\n@layer base {\n body,\n button,\n input,\n select,\n textarea {\n font-family: var(--fs-font-sans);\n font-size: var(--fs-font-size-md);\n }\n\n code,\n kbd,\n pre,\n samp {\n font-family: var(--fs-font-mono);\n }\n\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n margin-top: 0;\n font-weight: var(--fs-font-weight-semibold);\n line-height: var(--fs-line-height-heading);\n }\n\n h1 {\n font-size: var(--fs-font-size-h1);\n }\n\n h2 {\n font-size: var(--fs-font-size-h2);\n }\n\n h3 {\n font-size: var(--fs-font-size-h3);\n }\n\n h4 {\n font-size: var(--fs-font-size-h4);\n }\n\n h5 {\n font-size: var(--fs-font-size-h5);\n }\n\n h6 {\n font-size: var(--fs-font-size-h6);\n }\n}\n","// Respeita a preferência do sistema sem remover a funcionalidade dos\n// componentes: apenas reduz transições e animações ao estado final.\n@layer base {\n @media (prefers-reduced-motion: reduce) {\n *,\n *::before,\n *::after {\n scroll-behavior: auto !important;\n transition-duration: 0.01ms !important;\n animation-duration: 0.01ms !important;\n animation-iteration-count: 1 !important;\n }\n\n // Spinner comunica uma operação em curso; congelá-lo o transforma em um\n // ícone ambíguo. Mantemos a animação, porém em ritmo mais lento, para\n // respeitar a preferência sem perder o significado de carregamento.\n .fs-spinner,\n .fs-progress-bar-animated,\n .fs-progress-indeterminate .fs-progress-bar {\n animation-duration: 1.5s !important;\n animation-iteration-count: infinite !important;\n }\n }\n}\n","/* stylelint-disable property-no-deprecated, selector-not-notation */\n@layer reset {\n :focus-visible {\n outline: var(--fs-focus-width) solid var(--fs-focus-color);\n outline-offset: var(--fs-focus-offset);\n }\n\n @media (forced-colors: active) {\n :focus-visible {\n outline: 2px solid CanvasText;\n outline-offset: 2px;\n }\n }\n}\n\n@layer utilities {\n .fs-u-visually-hidden:not(:focus):not(:focus-within),\n .fs-u-visually-hidden-focusable:not(:focus):not(:focus-within) {\n position: absolute !important;\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n margin: -1px !important;\n overflow: hidden !important;\n clip-path: inset(50%) !important;\n white-space: nowrap !important;\n border: 0 !important;\n }\n\n .fs-skip-link {\n position: fixed;\n z-index: 1000;\n inset-block-start: var(--fs-space-2);\n inset-inline-start: var(--fs-space-2);\n transform: translateY(-200%);\n padding: var(--fs-space-2) var(--fs-space-3);\n color: var(--fs-color-on-primary);\n background: var(--fs-color-primary);\n border-radius: var(--fs-radius-sm);\n }\n\n .fs-skip-link:focus {\n transform: translateY(0);\n }\n}\n","@use \"sass:map\";\n@use \"../settings\" as *;\n\n// Agrupa itens horizontalmente com quebra de linha automática e\n// espaçamento consistente nos dois eixos — ideal para grupos de\n// tags/botões/badges que precisam \"fluir\" sem estourar o container.\n@layer layout {\n .fs-cluster {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--fs-cluster-gap, #{map.get($spacers, 2)});\n }\n\n @each $key, $value in $spacers {\n .fs-cluster-gap-#{$key} {\n --fs-cluster-gap: #{$value};\n }\n }\n}\n","@use \"sass:map\";\n@use \"../settings\" as *;\n@use \"../tools\" as *;\n\n@layer layout {\n .fs-container,\n .fs-container-sm,\n .fs-container-md,\n .fs-container-lg,\n .fs-container-xl,\n .fs-container-xxl,\n .fs-container-xxxl,\n .fs-container-fluid {\n width: 100%;\n margin-right: auto;\n margin-left: auto;\n }\n\n @each $breakpoint, $width in $container-max-widths {\n @include media-breakpoint-up($breakpoint) {\n .fs-container,\n .fs-container-#{$breakpoint} {\n max-width: $width;\n }\n }\n }\n}\n","@use \"sass:map\";\n@use \"sass:math\";\n@use \"sass:color\";\n@use \"../settings\" as *;\n\n@mixin fs-fluid-type($min, $max, $min-vw: 320px, $max-vw: 1280px) {\n font-size: clamp($min, calc(#{$min} + (#{ $max } - #{ $min }) * ((100vw - #{ $min-vw }) / (#{ $max-vw } - #{ $min-vw }))), $max);\n}\n\n@mixin fs-fluid-value($property, $min, $max, $min-vw: 320px, $max-vw: 1280px) {\n #{$property}: clamp($min, calc(#{$min} + (#{ $max } - #{ $min }) * ((100vw - #{ $min-vw }) / (#{ $max-vw } - #{ $min-vw }))), $max);\n}\n\n@mixin media-breakpoint-up($name) {\n $min: map.get($breakpoints, $name);\n\n @if $min == null {\n @error \"Unknown breakpoint `#{$name}`.\";\n }\n\n @if $min == 0 {\n @content;\n } @else {\n @media (min-width: $min) {\n @content;\n }\n }\n}\n\n@function breakpoint-infix($name) {\n @if $name == xs {\n @return \"\";\n }\n\n @return \"-#{$name}\";\n}\n\n@mixin focus-ring($color: var(--fs-color-primary)) {\n outline: var(--fs-focus-width) solid $color;\n outline-offset: var(--fs-focus-offset);\n border-color: $color;\n box-shadow: 0 0 0 3px color-mix(in srgb, #{$color} 22%, transparent);\n}\n\n@mixin truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n@function linearize-channel($value) {\n $c: math.div($value, 255);\n\n @if $c <= 0.0393 {\n @return math.div($c, 12.92);\n }\n\n @return math.pow(math.div($c + 0.055, 1.055), 2.4);\n}\n\n@function relative-luminance($color) {\n $r: linearize-channel(color.channel($color, \"red\", $space: rgb));\n $g: linearize-channel(color.channel($color, \"green\", $space: rgb));\n $b: linearize-channel(color.channel($color, \"blue\", $space: rgb));\n\n @return (0.2126 * $r) + (0.7152 * $g) + (0.0722 * $b);\n}\n\n@function color-contrast($background, $min-contrast: 4.5) {\n $contrast-with-white: math.div(1.05, relative-luminance($background) + 0.05);\n\n @if $contrast-with-white >= $min-contrast {\n @return $color-white;\n }\n\n @return $color-black;\n}\n\n// Razão de contraste WCAG entre duas cores (1–21). Usada pelo relatório de\n// contraste do build (`npm run contrast`, `scripts/contrast-report.scss`) —\n// ver docs/reference/contrast-report.md para os pares auditados.\n@function contrast-ratio($foreground, $background) {\n $l1: relative-luminance($foreground) + 0.05;\n $l2: relative-luminance($background) + 0.05;\n\n @if $l1 > $l2 {\n @return math.div($l1, $l2);\n }\n\n @return math.div($l2, $l1);\n}\n\n@function tint-color($color, $weight: 15%) {\n @return color.mix($color, $color-white, $weight, $method: oklch);\n}\n\n@function shade-color($color, $weight: 50%) {\n @return color.mix($color, $color-black, $weight, $method: oklch);\n}\n\n// Fallback sRGB de uma cor OKLCH para navegadores sem suporte a `oklch()`\n// (ver `@supports` em tokens/_root.scss e themes/_dark.scss). Faz gamut\n// mapping antes da conversão — misturas em OKLCH frequentemente caem fora do\n// gamut sRGB, e converter sem mapear gera `rgb()`/`hsl()` com canais\n// inválidos (saturação > 100%, etc.).\n@function rgb-fallback($color) {\n $mapped: color.to-gamut($color, $space: rgb, $method: local-minde);\n\n @return color.to-space($mapped, rgb);\n}\n","@use \"sass:math\";\n@use \"../settings\" as *;\n@use \"../tools\" as *;\n\n@layer layout {\n $grid-columns: 12;\n\n .fs-row {\n display: flex;\n flex-wrap: wrap;\n margin-top: calc(var(--fs-gutter-y) * -1);\n margin-right: calc(var(--fs-gutter-x) / -2);\n margin-left: calc(var(--fs-gutter-x) / -2);\n }\n\n .fs-row > * {\n margin-top: var(--fs-gutter-y);\n padding-right: calc(var(--fs-gutter-x) / 2);\n padding-left: calc(var(--fs-gutter-x) / 2);\n }\n\n .fs-row-fluid {\n width: 100%;\n }\n\n .fs-col-fluid {\n width: 100%;\n }\n\n @each $breakpoint, $min in $breakpoints {\n $infix: breakpoint-infix($breakpoint);\n\n @include media-breakpoint-up($breakpoint) {\n .fs-row-cols#{$infix}-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n\n @for $count from 1 through 6 {\n .fs-row-cols#{$infix}-#{$count} > * {\n flex: 0 0 auto;\n width: math.percentage(math.div(1, $count));\n }\n }\n\n @for $order from 0 through $grid-columns {\n .fs-order#{$infix}-#{$order} {\n order: $order;\n }\n }\n\n .fs-col#{$infix} {\n flex: 1 0 0%;\n }\n\n .fs-col#{$infix}-auto {\n flex: 0 0 auto;\n width: auto;\n }\n\n @for $i from 1 through $grid-columns {\n .fs-col#{$infix}-#{$i} {\n flex: 0 0 auto;\n width: math.percentage(math.div($i, $grid-columns));\n }\n }\n }\n }\n}\n","@use \"sass:map\";\n@use \"../settings\" as *;\n\n// Um lado com largura fixa (a \"aside\") e o outro preenchendo o espaço\n// restante, quebrando para empilhado quando o container fica estreito\n// demais — sem media query: `.fs-sidebar-content` força a quebra via\n// `min-width` quando não cabe ao lado da aside na mesma linha.\n@layer layout {\n .fs-sidebar {\n display: flex;\n flex-wrap: wrap;\n gap: var(--fs-sidebar-gap, #{map.get($spacers, 3)});\n }\n\n .fs-sidebar-aside {\n flex-basis: var(--fs-sidebar-width, 16rem);\n flex-grow: 1;\n }\n\n .fs-sidebar-content {\n flex-basis: 0;\n flex-grow: 999;\n min-width: 50%;\n }\n\n .fs-sidebar-reverse {\n flex-direction: row-reverse;\n }\n\n @each $key, $value in $spacers {\n .fs-sidebar-gap-#{$key} {\n --fs-sidebar-gap: #{$value};\n }\n }\n\n @each $key, $value in $column-max-widths {\n .fs-sidebar-width-#{$key} {\n --fs-sidebar-width: #{$value};\n }\n }\n}\n","@use \"sass:map\";\n@use \"../settings\" as *;\n\n// Empilha os filhos diretos verticalmente com espaçamento consistente —\n// `gap` em vez de margin, evita o problema clássico de \"último filho não\n// deve ter margin-bottom\" sem seletor extra.\n@layer layout {\n .fs-stack {\n display: flex;\n flex-direction: column;\n gap: var(--fs-stack-gap, #{map.get($spacers, 3)});\n }\n\n @each $key, $value in $spacers {\n .fs-stack-gap-#{$key} {\n --fs-stack-gap: #{$value};\n }\n }\n}\n","@use \"../../../fokus-core/scss/settings\" as *;\n@use \"../../../fokus-core/scss/tools\" as *;\n\n@layer components {\n .fs-form-row {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n align-items: flex-start;\n justify-content: flex-start;\n gap: 12px 16px;\n width: 100%;\n }\n\n .fs-form-col {\n display: flex;\n flex: 1 1 240px;\n flex-direction: column;\n align-items: stretch;\n min-width: 0;\n gap: 4px;\n }\n\n .fs-form-label {\n width: auto;\n margin: 0;\n color: var(--fs-color-muted);\n font-size: $font-size-sm;\n font-weight: $font-weight-regular;\n }\n\n .fs-form-text {\n width: auto;\n margin: 0;\n color: var(--fs-color-muted);\n font-size: $font-size-xs;\n font-weight: $font-weight-regular;\n }\n\n .fs-form-text,\n .fs-valid-feedback,\n .fs-invalid-feedback {\n min-height: 1.25rem;\n padding: 3px 8px;\n border-radius: var(--fs-radius-sm);\n }\n\n .fs-form-text {\n color: var(--fs-color-muted);\n font-size: $font-size-xs;\n font-weight: $font-weight-regular;\n }\n\n .fs-valid-feedback,\n .fs-invalid-feedback {\n display: none;\n font-size: $font-size-xs;\n font-weight: $font-weight-regular;\n\n }\n\n .fs-valid-feedback {\n color: var(--fs-alert-success-text);\n background-color: var(--fs-feedback-success-bg);\n }\n\n .fs-invalid-feedback {\n color: var(--fs-alert-danger-text);\n background-color: var(--fs-feedback-danger-bg);\n }\n\n .is-valid ~ .fs-valid-feedback,\n .is-invalid ~ .fs-invalid-feedback {\n display: block;\n }\n\n .fs-form-control {\n width: 100%;\n min-width: 0;\n height: var(--fs-control-height);\n padding: 0 7px;\n border: var(--fs-border-width) solid var(--fs-color-border-default);\n border-radius: var(--fs-radius-sm);\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface);\n font-size: $font-size-md;\n font-weight: $font-weight-medium;\n }\n\n .fs-form-control::placeholder {\n color: var(--fs-color-muted);\n }\n\n .fs-form-control:focus-visible {\n @include focus-ring;\n }\n\n .fs-form-control:disabled {\n color: var(--fs-color-muted);\n background-color: var(--fs-color-subtle);\n opacity: var(--fs-disabled-opacity);\n pointer-events: none;\n }\n\n .fs-form-control:read-only {\n background-color: var(--fs-color-subtle);\n cursor: default;\n }\n\n .fs-floating-label {\n position: relative;\n }\n\n .fs-floating-label > .fs-form-control {\n height: 56px;\n padding-top: 20px;\n }\n\n .fs-floating-label > .fs-form-label {\n position: absolute;\n z-index: 1;\n top: 8px;\n left: 8px;\n color: var(--fs-color-muted);\n font-size: $font-size-xs;\n pointer-events: none;\n }\n\n .fs-form-control[aria-invalid=\"true\"],\n .fs-was-validated .fs-form-control:invalid {\n border-color: var(--fs-color-danger);\n }\n\n .fs-form-control[aria-invalid=\"false\"],\n .fs-was-validated .fs-form-control:valid {\n border-color: var(--fs-color-success);\n }\n\n .fs-form-control-sm {\n height: var(--fs-control-height-sm);\n font-size: $font-size-xs;\n }\n\n .fs-form-control-lg {\n height: var(--fs-control-height-lg);\n font-size: $font-size-md;\n }\n\n .fs-form-size-sm {\n width: 120px;\n }\n\n .fs-form-size-md {\n width: 180px;\n }\n\n .fs-form-size-lg {\n width: 240px;\n }\n\n .fs-form-size-xl {\n width: 300px;\n }\n\n .fs-form-size-xxl {\n width: 360px;\n }\n\n .fs-form-control.is-valid {\n border-color: var(--fs-color-success);\n }\n\n .fs-form-control.is-valid:focus-visible {\n @include focus-ring(var(--fs-color-success));\n }\n\n .fs-form-control.is-invalid {\n border-color: var(--fs-color-danger);\n }\n\n .fs-form-control.is-invalid:focus-visible {\n @include focus-ring(var(--fs-color-danger));\n }\n\n .fs-form-select {\n display: flex;\n flex: 1;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n height: var(--fs-control-height);\n padding: 0 7px;\n border: var(--fs-border-width) solid var(--fs-color-border-default);\n border-radius: var(--fs-radius-sm);\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface);\n font-size: $font-size-md;\n font-weight: $font-weight-medium;\n text-align: left;\n cursor: pointer;\n }\n\n .fs-form-select::after {\n flex-shrink: 0;\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 8px;\n content: \"\";\n border-top: 5px solid;\n border-right: 5px solid transparent;\n border-left: 5px solid transparent;\n }\n\n .fs-form-select:focus-visible {\n @include focus-ring;\n }\n\n .fs-form-select:disabled {\n color: var(--fs-color-muted);\n background-color: var(--fs-color-subtle);\n opacity: 0.4;\n pointer-events: none;\n }\n\n .fs-form-select-sm {\n height: var(--fs-control-height-sm);\n font-size: $font-size-xs;\n }\n\n .fs-form-select-lg {\n height: var(--fs-control-height-lg);\n font-size: $font-size-md;\n }\n\n .fs-file-upload {\n position: relative;\n display: inline-flex;\n }\n\n .fs-file-input {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip-path: inset(50%);\n white-space: nowrap;\n border: 0;\n }\n\n .fs-file-label {\n display: inline-flex;\n align-items: center;\n height: 38px;\n padding: 0 14px;\n border: 1px solid var(--fs-color-border);\n border-radius: var(--fs-radius-sm);\n color: var(--fs-color-text);\n background-color: var(--fs-color-subtle);\n font-size: $font-size-md;\n font-weight: $font-weight-medium;\n cursor: pointer;\n user-select: none;\n transition: filter var(--fs-transition-fast) var(--fs-ease-standard);\n }\n\n .fs-file-label:hover {\n filter: brightness(0.96);\n }\n\n .fs-file-input:focus-visible + .fs-file-label {\n @include focus-ring;\n }\n\n .fs-file-input:disabled + .fs-file-label {\n color: var(--fs-color-muted);\n opacity: var(--fs-disabled-opacity);\n pointer-events: none;\n cursor: default;\n }\n\n .fs-file-label-sm {\n height: 30px;\n padding: 0 10px;\n font-size: $font-size-xs;\n }\n\n .fs-file-label-lg {\n height: 46px;\n padding: 0 18px;\n font-size: $font-size-lg;\n }\n\n // Drag-and-drop (js/file-drop.js): estado visual ao arrastar um arquivo por\n // cima do `.fs-file-label`, e uma variante maior (dropzone) para quando o alvo\n // de soltar precisa ser mais generoso que o botão padrão de `.fs-file-label`.\n .fs-file-label.is-dragover {\n border-color: var(--fs-color-primary);\n background-color: var(--fs-color-subtle);\n }\n\n .fs-file-label-dropzone {\n flex-direction: column;\n gap: 4px;\n width: 100%;\n height: auto;\n padding: 32px 16px;\n border-style: dashed;\n border-width: 2px;\n font-weight: $font-weight-regular;\n text-align: center;\n }\n\n .fs-file-label-dropzone .fs-file-dropzone-hint {\n color: var(--fs-color-muted);\n font-size: $font-size-xs;\n font-weight: $font-weight-regular;\n }\n\n // Input Group: funde `.fs-form-control` (ou `.fs-form-select`/`.fs-btn`) com \"addons\"\n // de texto/ícone de prefixo/sufixo, reaproveitando os tokens visuais do\n // próprio `.fs-form-control` (borda, cor, radius). 100% CSS — a altura do addon\n // acompanha a do controle via `align-items: stretch` (herdado), sem precisar\n // fixar `height` nele.\n .fs-input-group {\n display: flex;\n align-items: stretch;\n width: 100%;\n }\n\n .fs-input-group > .fs-form-control,\n .fs-input-group > .fs-form-select {\n flex: 1 1 auto;\n width: 1%;\n min-width: 0;\n }\n\n .fs-input-group-text {\n display: flex;\n align-items: center;\n padding: 0 12px;\n border: 1px solid var(--fs-color-border);\n color: var(--fs-color-muted);\n background-color: var(--fs-color-subtle);\n font-size: $font-size-md;\n font-weight: $font-weight-medium;\n white-space: nowrap;\n }\n\n // Funde as bordas dos itens adjacentes (remove a dupla borda) e mantém o\n // item focado por cima da sobreposição de -1px, senão a borda de foco fica\n // parcialmente escondida atrás do vizinho.\n .fs-input-group > :not(:first-child) {\n margin-left: -1px;\n }\n\n .fs-input-group > :focus-visible,\n .fs-input-group > :focus-within {\n position: relative;\n z-index: 1;\n }\n\n .fs-input-group > * {\n border-radius: 0;\n }\n\n .fs-input-group > :first-child {\n border-top-left-radius: var(--fs-radius-sm);\n border-bottom-left-radius: var(--fs-radius-sm);\n }\n\n .fs-input-group > :last-child {\n border-top-right-radius: var(--fs-radius-sm);\n border-bottom-right-radius: var(--fs-radius-sm);\n }\n\n .fs-input-group-sm > .fs-form-control,\n .fs-input-group-sm > .fs-form-select,\n .fs-input-group-sm > .fs-input-group-text {\n height: 30px;\n padding: 0 8px;\n font-size: $font-size-xs;\n }\n\n .fs-input-group-lg > .fs-form-control,\n .fs-input-group-lg > .fs-form-select,\n .fs-input-group-lg > .fs-input-group-text {\n height: 46px;\n padding: 0 16px;\n font-size: $font-size-lg;\n }\n}\n","$font-family-sans: \"Plus Jakarta Sans\", sans-serif !default;\n$font-family-mono: \"Source Code Pro\", monospace !default;\n\n// Escala compacta: corpo (md) ~13px, piso (xs) ~11px — reservado a\n// texto de apoio (meta/label), nunca corpo de leitura.\n$font-size-xs: 0.6875rem !default;\n$font-size-sm: 0.75rem !default;\n$font-size-md: 0.8125rem !default;\n$font-size-lg: 1rem !default;\n$font-size-xl: 1.25rem !default;\n\n// Escala de headings, deliberadamente menor que o padrão do navegador\n// (preferência por texto compacto — ver docs/internal/plans).\n$font-size-h1: 1.75rem !default;\n$font-size-h2: 1.5rem !default;\n$font-size-h3: 1.3125rem !default;\n$font-size-h4: 1.125rem !default;\n$font-size-h5: 1rem !default;\n$font-size-h6: 0.875rem !default;\n\n$font-weight-regular: 400 !default;\n$font-weight-medium: 500 !default;\n$font-weight-semibold: 600 !default;\n$font-weight-bold: 700 !default;\n\n$line-height-base: 1.5 !default;\n$line-height-heading: 1.25 !default;\n","@use \"../../../fokus-core/scss/settings\" as *;\n@use \"../../../fokus-core/scss/tools\" as *;\n\n// Checkbox/radio/switch 100% CSS, reusando a técnica de input oculto +\n// label irmã do Segmented Control (_segmented-control.scss) e do Rating\n// (_rating.scss): `<input>` clipado visualmente (não `display: none` — teclado\n// e leitor de tela continuam enxergando o controle) + `<label for=\"id\">`\n// como irmã, que desenha a caixa/trilho via `::before` e a marca/knob via\n// `::after`. O `<label>` é o alvo de clique/hover/estado, mas o input\n// continua sendo o elemento focável e semântico (checkbox/radio nativos).\n// Wrapper (`.fs-check`/`.fs-radio`/`.fs-switch`) carrega o tamanho\n// (`-sm`/`-lg`) e agrupa input+label, no mesmo papel de `.fs-segmented-item`.\n@layer components {\n .fs-check,\n .fs-radio,\n .fs-switch {\n display: inline-flex;\n align-items: center;\n }\n\n .fs-check {\n --fs-check-mark: var(--fs-color-on-primary);\n }\n\n .fs-check-input,\n .fs-radio-input,\n .fs-switch-input {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip-path: inset(50%);\n white-space: nowrap;\n border: 0;\n }\n\n .fs-check-label,\n .fs-radio-label,\n .fs-switch-label {\n position: relative;\n display: inline-flex;\n align-items: center;\n min-height: 20px;\n padding-left: 28px;\n color: var(--fs-color-text);\n font-size: $font-size-md;\n cursor: pointer;\n user-select: none;\n }\n\n // Caixa (checkbox/radio) ou trilho (switch), desenhados no `::before` da\n // label. Radio é a exceção redonda da regra anti-circular do projeto\n // (junto do spinner) — ver docs/internal/plans.\n .fs-check-label::before,\n .fs-radio-label::before,\n .fs-switch-label::before {\n position: absolute;\n left: 0;\n box-sizing: border-box;\n border: 1px solid var(--fs-color-border);\n background-color: var(--fs-color-surface);\n content: \"\";\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;\n }\n\n .fs-check-label::before,\n .fs-radio-label::before {\n width: 18px;\n height: 18px;\n }\n\n .fs-check-label::before {\n border: 2px solid var(--fs-color-primary);\n border-radius: 0;\n }\n\n .fs-radio-label::before {\n border-radius: 50%;\n }\n\n // Marca de check (dois traços em \"V\", via borda rotacionada). Os estados\n // indeterminado e inválido substituem essa geometria mais abaixo.\n .fs-check-label::after {\n position: absolute;\n left: 4px;\n width: 9px;\n height: 5px;\n content: \"\";\n opacity: 0;\n border-bottom: 2px solid var(--fs-check-mark);\n border-left: 2px solid var(--fs-check-mark);\n transform: translateY(-1px) rotate(-45deg);\n transition: opacity 0.1s ease-in-out;\n }\n\n .fs-radio-label::after {\n position: absolute;\n left: 5px;\n width: 8px;\n height: 8px;\n border-radius: 50%;\n content: \"\";\n opacity: 0;\n background-color: var(--fs-color-on-primary);\n transition: opacity 0.1s ease-in-out;\n }\n\n .fs-check-input:checked + .fs-check-label::before,\n .fs-radio-input:checked + .fs-radio-label::before {\n background-color: var(--fs-color-primary);\n border-color: var(--fs-color-primary);\n }\n\n .fs-check-input:checked + .fs-check-label::after,\n .fs-radio-input:checked + .fs-radio-label::after {\n opacity: 1;\n }\n\n .fs-check-input:not(:checked, :indeterminate, :disabled, .is-invalid) + .fs-check-label:hover::before {\n background-color: color-mix(in srgb, var(--fs-color-primary) 10%, transparent);\n }\n\n .fs-check-input:not(:disabled, :indeterminate, .is-invalid) + .fs-check-label:active::before {\n background-color: color-mix(in srgb, var(--fs-color-primary) 86%, var(--fs-color-black));\n border-color: var(--fs-color-primary);\n }\n\n .fs-check-input:checked:not(:disabled, .is-invalid) + .fs-check-label:active::after {\n transform: translateY(-1px) rotate(-45deg) scale(0.9);\n }\n\n // Switch: trilho retangular arredondado (não pílula) e knob também\n // retangular arredondado — decisão de forma do projeto (nada circular além\n // do radio/spinner). Desliza via `left` no `::after`.\n .fs-switch-label {\n padding-left: 44px;\n }\n\n .fs-switch-label::before {\n width: 36px;\n height: 20px;\n border-radius: var(--fs-radius-md);\n }\n\n .fs-switch-label::after {\n position: absolute;\n left: 2px;\n width: 16px;\n height: 14px;\n border-radius: var(--fs-radius-sm);\n content: \"\";\n background-color: var(--fs-color-border);\n transition: left 0.15s ease-in-out, background-color 0.15s ease-in-out;\n }\n\n .fs-switch-input:checked + .fs-switch-label::before {\n background-color: var(--fs-color-primary);\n border-color: var(--fs-color-primary);\n }\n\n .fs-switch-input:checked + .fs-switch-label::after {\n left: 18px;\n background-color: var(--fs-color-on-primary);\n }\n\n // Foco: anel sobre a caixa/trilho (`::before`), não sobre o texto.\n .fs-check-input:focus-visible + .fs-check-label::before,\n .fs-radio-input:focus-visible + .fs-radio-label::before,\n .fs-switch-input:focus-visible + .fs-switch-label::before {\n @include focus-ring;\n }\n\n .fs-radio-input:disabled + .fs-radio-label,\n .fs-switch-input:disabled + .fs-switch-label {\n opacity: 0.5;\n pointer-events: none;\n }\n\n .fs-check-input:disabled + .fs-check-label {\n color: var(--fs-color-muted);\n opacity: 1;\n pointer-events: none;\n }\n\n .fs-check-input:disabled:not(:checked, :indeterminate) + .fs-check-label::before {\n border-color: var(--fs-color-border);\n background-color: var(--fs-color-subtle);\n }\n\n .fs-check-input:disabled:checked + .fs-check-label::before {\n border-color: color-mix(in srgb, var(--fs-color-primary) 55%, var(--fs-color-border));\n background-color: color-mix(in srgb, var(--fs-color-primary) 45%, var(--fs-color-subtle));\n }\n\n .fs-check-input:disabled:checked + .fs-check-label::after {\n opacity: 0.72;\n }\n\n // Validação (mesma convenção de `.fs-form-control.is-valid`/`.is-invalid`).\n .fs-radio-input.is-valid + .fs-radio-label::before {\n border-color: var(--fs-color-success);\n }\n\n .fs-check-input.is-invalid + .fs-check-label::before,\n .fs-radio-input.is-invalid + .fs-radio-label::before {\n border-color: var(--fs-color-danger);\n }\n\n // Tamanhos: reescalam caixa/trilho/knob e o espaço reservado para eles\n // (`padding-left`) proporcionalmente.\n .fs-check-sm .fs-check-label,\n .fs-radio-sm .fs-radio-label {\n min-height: 16px;\n padding-left: 24px;\n font-size: $font-size-sm;\n }\n\n .fs-check-sm .fs-check-label::before,\n .fs-radio-sm .fs-radio-label::before {\n width: 15px;\n height: 15px;\n }\n\n .fs-check-sm .fs-check-label::after {\n left: 3px;\n width: 8px;\n height: 4px;\n }\n\n .fs-radio-sm .fs-radio-label::after {\n left: 4px;\n width: 7px;\n height: 7px;\n }\n\n .fs-check-lg .fs-check-label,\n .fs-radio-lg .fs-radio-label {\n min-height: 24px;\n padding-left: 34px;\n font-size: $font-size-lg;\n }\n\n .fs-check-lg .fs-check-label::before,\n .fs-radio-lg .fs-radio-label::before {\n width: 22px;\n height: 22px;\n }\n\n .fs-check-lg .fs-check-label::after {\n left: 5px;\n width: 11px;\n height: 6px;\n }\n\n .fs-radio-lg .fs-radio-label::after {\n left: 6px;\n width: 10px;\n height: 10px;\n }\n\n .fs-switch-sm .fs-switch-label {\n min-height: 16px;\n padding-left: 38px;\n font-size: $font-size-sm;\n }\n\n .fs-switch-sm .fs-switch-label::before {\n width: 30px;\n height: 16px;\n }\n\n .fs-switch-sm .fs-switch-label::after {\n width: 12px;\n height: 10px;\n }\n\n .fs-switch-sm .fs-switch-input:checked + .fs-switch-label::after {\n left: 16px;\n }\n\n .fs-switch-lg .fs-switch-label {\n min-height: 26px;\n padding-left: 52px;\n font-size: $font-size-lg;\n }\n\n .fs-switch-lg .fs-switch-label::before {\n width: 44px;\n height: 24px;\n }\n\n .fs-switch-lg .fs-switch-label::after {\n width: 20px;\n height: 18px;\n }\n\n .fs-switch-lg .fs-switch-input:checked + .fs-switch-label::after {\n left: 22px;\n }\n\n // Estado parcial: borda tracejada em primary e traço horizontal. Mantém o\n // fundo definido para não se confundir com a superfície ao redor.\n .fs-check-input:indeterminate + .fs-check-label::before {\n border: 2px dashed var(--fs-color-primary);\n background-color: var(--fs-color-surface);\n }\n\n .fs-check-input:indeterminate + .fs-check-label::after {\n left: 4px;\n width: 10px;\n height: 0;\n opacity: 1;\n border-bottom: 2px solid var(--fs-color-primary);\n border-left: 0;\n transform: translateY(3px) rotate(0deg);\n }\n\n .fs-check-sm .fs-check-input:indeterminate + .fs-check-label::after {\n left: 3px;\n width: 8px;\n }\n\n .fs-check-lg .fs-check-input:indeterminate + .fs-check-label::after {\n left: 5px;\n width: 12px;\n }\n\n // Erro: X branco sobre fundo danger, visível mesmo quando o checkbox não\n // está marcado. Os gradientes desenham o símbolo sem conteúdo decorativo no\n // HTML e preservam o input nativo como fonte de semântica.\n .fs-check-input.is-invalid + .fs-check-label::before {\n background-color: var(--fs-color-danger);\n }\n\n .fs-check-input.is-invalid + .fs-check-label::after {\n top: 6px;\n left: 5px;\n width: 8px;\n height: 8px;\n opacity: 1;\n border: 0;\n background-image:\n linear-gradient(45deg, transparent 42%, #{color-contrast($fokus-color-danger)} 42% 58%, transparent 58%),\n linear-gradient(-45deg, transparent 42%, #{color-contrast($fokus-color-danger)} 42% 58%, transparent 58%);\n transform: none;\n }\n\n .fs-check-sm .fs-check-input.is-invalid + .fs-check-label::after {\n top: 5px;\n left: 4px;\n width: 7px;\n height: 7px;\n }\n\n .fs-check-lg .fs-check-input.is-invalid + .fs-check-label::after {\n top: 6px;\n left: 6px;\n width: 10px;\n height: 10px;\n }\n}\n","@use \"../../../fokus-core/scss/settings\" as *;\n@use \"../../../fokus-core/scss/tools\" as *;\n\n// Range/Slider: <input type=\"range\"> nativo — teclado (setas, Home/End,\n// PageUp/Down) e ARIA (role=slider implícito, aria-valuenow/min/max\n// automáticos) já vêm de graça do navegador, então este componente só\n// estiliza a trilha/thumb (pseudo-elementos vendor-prefixados, sem padrão\n// unificado) e usa `--fs-range-percent` (escrito pelo JS opcional, ver\n// js/range.js) pra pintar a parte preenchida da trilha via gradiente —\n// truque necessário porque só o Firefox suporta `::-moz-range-progress`;\n// Chrome/Safari não têm equivalente.\n@layer components {\n .fs-form-range {\n --fs-range-track-height: 6px;\n --fs-range-track-color: var(--fs-color-border);\n --fs-range-fill-color: var(--fs-color-primary);\n --fs-range-thumb-size: 18px;\n --fs-range-thumb-color: var(--fs-color-surface);\n --fs-range-thumb-border-color: var(--fs-color-primary);\n --fs-range-percent: 0%;\n\n width: 100%;\n height: var(--fs-range-thumb-size);\n padding: 0;\n background: transparent;\n appearance: none;\n cursor: pointer;\n }\n\n .fs-form-range::-webkit-slider-runnable-track {\n height: var(--fs-range-track-height);\n border-radius: var(--fs-radius-sm);\n background: linear-gradient(\n to right,\n var(--fs-range-fill-color) var(--fs-range-percent),\n var(--fs-range-track-color) var(--fs-range-percent)\n );\n }\n\n .fs-form-range::-moz-range-track {\n height: var(--fs-range-track-height);\n border-radius: var(--fs-radius-sm);\n background: linear-gradient(\n to right,\n var(--fs-range-fill-color) var(--fs-range-percent),\n var(--fs-range-track-color) var(--fs-range-percent)\n );\n }\n\n .fs-form-range::-webkit-slider-thumb {\n width: var(--fs-range-thumb-size);\n height: var(--fs-range-thumb-size);\n margin-top: calc((var(--fs-range-track-height) - var(--fs-range-thumb-size)) / 2);\n border: 2px solid var(--fs-range-thumb-border-color);\n border-radius: 50%;\n background-color: var(--fs-range-thumb-color);\n appearance: none;\n cursor: pointer;\n }\n\n .fs-form-range::-moz-range-thumb {\n width: calc(var(--fs-range-thumb-size) - 4px);\n height: calc(var(--fs-range-thumb-size) - 4px);\n border: 2px solid var(--fs-range-thumb-border-color);\n border-radius: 50%;\n background-color: var(--fs-range-thumb-color);\n cursor: pointer;\n }\n\n .fs-form-range:focus-visible::-webkit-slider-thumb {\n @include focus-ring(var(--fs-range-thumb-border-color));\n }\n\n .fs-form-range:focus-visible::-moz-range-thumb {\n @include focus-ring(var(--fs-range-thumb-border-color));\n }\n\n .fs-form-range:disabled {\n opacity: 0.6;\n cursor: not-allowed;\n }\n\n .fs-form-range:disabled::-webkit-slider-thumb {\n cursor: not-allowed;\n }\n\n .fs-form-range:disabled::-moz-range-thumb {\n cursor: not-allowed;\n }\n\n .fs-range-output {\n display: inline-block;\n min-width: 2.5em;\n color: var(--fs-color-text);\n font-size: $font-size-sm;\n font-weight: $font-weight-medium;\n text-align: center;\n }\n}\n","@use \"../../../fokus-core/scss/settings\" as *;\n@use \"../../../fokus-core/scss/tools\" as *;\n\n// Upload avançado (js/file-upload-advanced.js): evolução do File Upload\n// simples (`.fs-file-upload`/`.fs-file-label`, forms/_forms.scss) — reusa a\n// mesma dropzone/botão como gatilho, só adiciona a lista de itens\n// selecionados (thumbnail/nome/tamanho/progresso/remoção) gerada pelo JS.\n@layer components {\n .fs-file-upload-list {\n display: flex;\n flex-direction: column;\n gap: 8px;\n width: 100%;\n margin-top: 12px;\n padding: 0;\n list-style: none;\n }\n\n .fs-file-upload-item {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 8px 12px;\n border: 1px solid var(--fs-color-border);\n border-radius: var(--fs-radius-sm);\n background-color: var(--fs-color-surface);\n }\n\n .fs-file-upload-thumb {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n width: 40px;\n height: 40px;\n overflow: hidden;\n border-radius: var(--fs-radius-sm);\n background-color: var(--fs-color-subtle);\n color: var(--fs-color-muted);\n }\n\n .fs-file-upload-thumb img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n }\n\n .fs-file-upload-info {\n flex: 1;\n min-width: 0;\n }\n\n .fs-file-upload-name {\n margin: 0;\n color: var(--fs-color-text);\n font-size: $font-size-sm;\n font-weight: $font-weight-medium;\n\n @include truncate;\n }\n\n .fs-file-upload-size {\n margin: 0 0 4px;\n color: var(--fs-color-muted);\n font-size: $font-size-xs;\n }\n\n .fs-file-upload-item.is-error .fs-file-upload-size {\n color: var(--fs-alert-danger-text);\n }\n\n .fs-file-upload-remove {\n flex-shrink: 0;\n }\n}\n","@use \"../../../fokus-core/scss/settings\" as *;\n@use \"../../../fokus-core/scss/tools\" as *;\n\n@layer components {\n // Tokens de componente: cada `.fs-btn-*` abaixo só sobrescreve estas três\n // custom properties (nunca `color`/`background-color`/`border-color`\n // diretamente) — permite customizar um botão específico via CSS\n // (`.minha-classe { --fs-btn-bg: ...; }`) sem precisar de `!important` nem\n // repetir a declaração de layout. Ver docs/scss-architecture.md.\n .fs-btn {\n --fs-btn-color: var(--fs-color-text-primary);\n --fs-btn-bg: var(--fs-color-bg-subtle);\n --fs-btn-border-color: var(--fs-color-border-default);\n\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: var(--fs-space-1);\n min-height: var(--fs-control-height);\n padding: 0 var(--fs-control-padding-x);\n border: var(--fs-border-width) solid var(--fs-btn-border-color);\n border-radius: var(--fs-radius-sm);\n color: var(--fs-btn-color);\n background-color: var(--fs-btn-bg);\n font-size: $font-size-md;\n font-weight: $font-weight-medium;\n text-decoration: none;\n cursor: pointer;\n transition: color var(--fs-transition-fast) var(--fs-ease-standard),\n background-color var(--fs-transition-fast) var(--fs-ease-standard),\n border-color var(--fs-transition-fast) var(--fs-ease-standard),\n box-shadow var(--fs-transition-fast) var(--fs-ease-standard);\n }\n\n .fs-btn:hover {\n --fs-btn-bg: var(--fs-btn-hover-bg, var(--fs-color-subtle));\n }\n\n .fs-btn:active {\n --fs-btn-bg: var(--fs-btn-active-bg, var(--fs-color-border));\n }\n\n .fs-btn:focus-visible {\n @include focus-ring;\n }\n\n .fs-btn:disabled,\n .fs-btn.is-disabled {\n opacity: var(--fs-disabled-opacity);\n pointer-events: none;\n }\n\n @each $name, $color in $theme-colors {\n .fs-btn-#{$name} {\n --fs-btn-color: var(--fs-color-on-#{$name});\n --fs-btn-bg: var(--fs-color-#{$name});\n --fs-btn-border-color: var(--fs-color-#{$name});\n --fs-btn-hover-bg: var(--fs-color-#{$name});\n --fs-btn-active-bg: var(--fs-color-#{$name});\n }\n\n .fs-btn-outline-#{$name} {\n --fs-btn-color: var(--fs-alert-#{$name}-text);\n --fs-btn-bg: transparent;\n --fs-btn-border-color: var(--fs-color-#{$name});\n }\n\n .fs-btn-outline-#{$name}:hover,\n .fs-btn-outline-#{$name}:active {\n --fs-btn-color: var(--fs-color-on-#{$name});\n --fs-btn-bg: var(--fs-color-#{$name});\n }\n }\n\n .fs-btn-sm {\n min-height: var(--fs-control-height-sm);\n padding: 0 var(--fs-control-padding-x-sm);\n font-size: $font-size-sm;\n }\n\n .fs-btn-lg {\n min-height: var(--fs-control-height-lg);\n padding: 0 var(--fs-control-padding-x-lg);\n font-size: $font-size-lg;\n }\n\n .fs-btn-close {\n position: relative;\n width: 20px;\n height: 20px;\n padding: 0;\n border: none;\n border-radius: var(--fs-radius-sm);\n color: var(--fs-color-muted);\n background-color: var(--fs-color-surface-raised);\n cursor: pointer;\n }\n\n .fs-btn-close::before,\n .fs-btn-close::after {\n position: absolute;\n top: 50%;\n left: 50%;\n width: 12px;\n height: 2px;\n background-color: currentcolor;\n content: \"\";\n }\n\n .fs-btn-close::before {\n transform: translate(-50%, -50%) rotate(45deg);\n }\n\n .fs-btn-close::after {\n transform: translate(-50%, -50%) rotate(-45deg);\n }\n\n .fs-btn-close:hover {\n color: var(--fs-color-text);\n background-color: var(--fs-color-subtle);\n }\n\n .fs-btn-close:focus-visible {\n @include focus-ring;\n }\n}\n","@use \"../../../fokus-core/scss/settings\" as *;\n\n@layer components {\n .fs-card {\n position: relative;\n display: flex;\n flex-direction: column;\n border: var(--fs-border-width) solid var(--fs-color-border-default);\n border-radius: var(--fs-radius-lg);\n background-color: var(--fs-color-surface);\n }\n\n .fs-card-horizontal {\n flex-direction: row;\n }\n\n .fs-card-horizontal .fs-card-header:first-child {\n border-radius: calc(var(--fs-radius-lg) - 1px) 0 0 calc(var(--fs-radius-lg) - 1px);\n border-right: 1px solid var(--fs-color-border);\n border-bottom: none;\n }\n\n .fs-card-horizontal .fs-card-footer:last-child {\n border-radius: 0 calc(var(--fs-radius-lg) - 1px) calc(var(--fs-radius-lg) - 1px) 0;\n border-left: 1px solid var(--fs-color-border);\n border-top: none;\n }\n\n .fs-card-clickable {\n transition: border-color var(--fs-transition-fast) var(--fs-ease-standard),\n box-shadow var(--fs-transition-fast) var(--fs-ease-standard),\n transform var(--fs-transition-fast) var(--fs-ease-standard);\n }\n\n .fs-card-clickable:hover,\n .fs-card-clickable:focus-within {\n border-color: var(--fs-color-primary);\n box-shadow: var(--fs-shadow-sm);\n transform: translateY(-1px);\n }\n\n .fs-stretched-link {\n color: inherit;\n text-decoration: none;\n }\n\n .fs-stretched-link::after {\n position: absolute;\n inset: 0;\n z-index: 1;\n content: \"\";\n }\n\n .fs-card-header,\n .fs-card-body,\n .fs-card-footer {\n padding: 10px;\n }\n\n .fs-card-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 8px;\n border-bottom: 1px solid var(--fs-color-border);\n background-color: var(--fs-color-subtle);\n }\n\n .fs-card-header .fs-card-title {\n margin: 0;\n }\n\n .fs-card-header:first-child {\n border-radius: calc(var(--fs-radius-lg) - 1px) calc(var(--fs-radius-lg) - 1px) 0 0;\n }\n\n .fs-card-footer {\n border-top: 1px solid var(--fs-color-border);\n background-color: var(--fs-color-subtle);\n }\n\n .fs-card-footer:last-child {\n border-radius: 0 0 calc(var(--fs-radius-lg) - 1px) calc(var(--fs-radius-lg) - 1px);\n }\n\n .fs-card-title {\n margin: 0 0 4px;\n color: var(--fs-color-text);\n font-size: $font-size-lg;\n font-weight: $font-weight-medium;\n }\n\n .fs-card-subtitle {\n margin: 0 0 8px;\n color: var(--fs-color-muted);\n font-size: $font-size-sm;\n }\n\n .fs-card-text {\n margin: 0 0 8px;\n color: var(--fs-color-text);\n font-size: $font-size-md;\n }\n\n .fs-card-text:last-child {\n margin-bottom: 0;\n }\n\n .fs-card-sm .fs-card-header,\n .fs-card-sm .fs-card-body,\n .fs-card-sm .fs-card-footer {\n padding: 5px;\n }\n\n .fs-card-lg .fs-card-header,\n .fs-card-lg .fs-card-body,\n .fs-card-lg .fs-card-footer {\n padding: 15px;\n }\n}\n","@use \"../../../fokus-core/scss/settings\" as *;\n\n@layer components {\n .fs-alert {\n display: flex;\n align-items: flex-start;\n gap: 8px;\n padding: 12px 16px;\n border: 1px solid var(--fs-color-border);\n border-left: 5px solid var(--fs-color-border);\n border-radius: 0;\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface-raised);\n font-size: $font-size-sm;\n }\n\n @each $name, $color in $theme-colors {\n .fs-alert-#{$name} {\n color: var(--fs-alert-#{$name}-text);\n background-color: var(--fs-alert-#{$name}-bg);\n border-color: var(--fs-color-#{$name});\n }\n }\n}\n","@use \"sass:map\";\n@use \"../../../fokus-core/scss/settings\" as *;\n@use \"../../../fokus-core/scss/tools\" as *;\n\n@layer components {\n // As variantes alteram somente tokens locais. Isso permite ajustar um badge\n // por marca sem sobrescrever propriedades de apresentação diretamente.\n .fs-badge {\n --fs-badge-color: var(--fs-color-text);\n --fs-badge-bg: var(--fs-color-subtle);\n --fs-badge-border: transparent;\n --fs-badge-height: 22px;\n --fs-badge-radius: 0;\n\n display: inline-flex;\n align-items: center;\n gap: 6px;\n justify-content: center;\n min-height: var(--fs-badge-height);\n\n // O peso óptico da fonte fica ligeiramente abaixo do centro geométrico.\n // Um pixel extra abaixo reposiciona a linha de texto para cima.\n padding: 1px 8px 3px;\n border: 1px solid var(--fs-badge-border);\n border-radius: var(--fs-badge-radius);\n color: var(--fs-badge-color);\n background-color: var(--fs-badge-bg);\n font-size: $font-size-xs;\n font-weight: $font-weight-medium;\n line-height: 1;\n vertical-align: middle;\n white-space: nowrap;\n }\n\n @each $name, $color in $theme-colors {\n .fs-badge-#{$name} {\n --fs-badge-color: #{color-contrast($color)};\n --fs-badge-bg: var(--fs-color-#{$name});\n }\n\n .fs-badge-soft-#{$name} {\n --fs-badge-color: color-mix(in srgb, var(--fs-color-#{$name}) 45%, var(--fs-color-text));\n --fs-badge-bg: color-mix(in srgb, var(--fs-color-#{$name}) 14%, transparent);\n --fs-badge-border: color-mix(in srgb, var(--fs-color-#{$name}) 38%, transparent);\n }\n\n .fs-badge-outline-#{$name} {\n --fs-badge-color: color-mix(in srgb, var(--fs-color-#{$name}) 45%, var(--fs-color-text));\n --fs-badge-bg: transparent;\n --fs-badge-border: var(--fs-badge-color);\n }\n }\n\n .fs-badge-sm {\n --fs-badge-height: 18px;\n\n padding: 0 6px 2px;\n font-size: $font-size-xs;\n }\n\n .fs-badge-lg {\n --fs-badge-height: 26px;\n\n padding: 2px 10px 4px;\n font-size: $font-size-md;\n }\n\n .fs-badge-dot::before {\n width: 6px;\n height: 6px;\n flex: 0 0 6px;\n border-radius: 50%;\n background-color: currentcolor;\n transform: translateY(1px);\n content: \"\";\n }\n\n .fs-badge-count {\n min-width: var(--fs-badge-height);\n padding-inline: 6px;\n font-variant-numeric: tabular-nums;\n }\n\n .fs-badge-split {\n --fs-badge-split-label-bg: var(--fs-color-black);\n --fs-badge-split-label-color: var(--fs-color-white);\n --fs-badge-split-value-bg: var(--fs-color-primary);\n --fs-badge-split-value-color: #{color-contrast(map.get($theme-colors, primary))};\n --fs-badge-split-height: 22px;\n --fs-badge-split-radius: 0;\n\n display: inline-flex;\n min-height: var(--fs-badge-split-height);\n overflow: hidden;\n border-radius: var(--fs-badge-split-radius);\n font-size: $font-size-xs;\n font-weight: $font-weight-medium;\n line-height: 1;\n vertical-align: middle;\n white-space: nowrap;\n }\n\n .fs-badge-split-label,\n .fs-badge-split-value {\n display: inline-flex;\n align-items: center;\n min-height: var(--fs-badge-split-height);\n padding: 1px 8px 3px;\n }\n\n .fs-badge-split-label {\n color: var(--fs-badge-split-label-color);\n background-color: var(--fs-badge-split-label-bg);\n }\n\n .fs-badge-split-value {\n color: var(--fs-badge-split-value-color);\n background-color: var(--fs-badge-split-value-bg);\n font-variant-numeric: tabular-nums;\n }\n\n @each $name, $color in $theme-colors {\n .fs-badge-split-#{$name} {\n --fs-badge-split-value-bg: var(--fs-color-#{$name});\n --fs-badge-split-value-color: #{color-contrast($color)};\n }\n }\n\n .fs-badge-split.fs-badge-sm {\n --fs-badge-split-height: 18px;\n\n min-height: var(--fs-badge-split-height);\n padding: 0;\n }\n\n .fs-badge-split.fs-badge-lg {\n --fs-badge-split-height: 26px;\n\n min-height: var(--fs-badge-split-height);\n padding: 0;\n font-size: $font-size-md;\n }\n\n .fs-badge-split.fs-badge-sm .fs-badge-split-label,\n .fs-badge-split.fs-badge-sm .fs-badge-split-value {\n padding: 0 6px 2px;\n }\n\n .fs-badge-split.fs-badge-lg .fs-badge-split-label,\n .fs-badge-split.fs-badge-lg .fs-badge-split-value {\n padding: 2px 10px 4px;\n }\n}\n","@use \"../../../fokus-core/scss/settings\" as *;\n\n@layer components {\n .fs-table {\n width: 100%;\n margin-bottom: 0;\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface-raised);\n border-collapse: collapse;\n }\n\n .fs-table th,\n .fs-table td {\n padding: 8px 12px;\n border-bottom: 1px solid var(--fs-color-border);\n text-align: left;\n vertical-align: middle;\n }\n\n .fs-table thead th {\n border-bottom-width: 2px;\n color: var(--fs-color-muted);\n font-size: $font-size-sm;\n font-weight: $font-weight-medium;\n text-transform: uppercase;\n }\n\n .fs-table-striped tbody tr:nth-of-type(odd) {\n background-color: var(--fs-color-subtle);\n }\n\n .fs-table-hover tbody tr:hover {\n background-color: var(--fs-color-subtle);\n }\n\n .fs-table-bordered th,\n .fs-table-bordered td {\n border: 1px solid var(--fs-color-border);\n }\n\n .fs-table-borderless th,\n .fs-table-borderless td {\n border: 0;\n }\n\n @each $name, $color in $theme-colors {\n .fs-table-#{$name} {\n background-color: var(--fs-alert-#{$name}-bg);\n color: var(--fs-alert-#{$name}-text);\n }\n }\n\n .fs-table-sm th,\n .fs-table-sm td {\n padding: 4px 8px;\n }\n\n .fs-table-responsive {\n overflow-x: auto;\n }\n\n .fs-table-caption {\n caption-side: top;\n padding: var(--fs-space-2) 0;\n color: var(--fs-color-muted);\n text-align: start;\n }\n\n .fs-table-empty {\n padding: var(--fs-space-5);\n color: var(--fs-color-muted);\n text-align: center;\n }\n\n @media (width < 640px) {\n .fs-table-priority th:nth-child(n + 4),\n .fs-table-priority td:nth-child(n + 4) {\n display: none;\n }\n }\n}\n","@use \"../../../fokus-core/scss/settings\" as *;\n@use \"../../../fokus-core/scss/tools\" as *;\n\n@layer components {\n .fs-navbar {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n gap: 16px;\n padding: 12px 16px;\n border-bottom: 1px solid var(--fs-color-border);\n background-color: var(--fs-color-surface);\n }\n\n .fs-navbar-brand {\n color: var(--fs-color-text);\n font-size: $font-size-lg;\n font-weight: $font-weight-medium;\n text-decoration: none;\n }\n\n .fs-navbar-nav {\n display: flex;\n align-items: center;\n gap: 4px;\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n .fs-navbar-toggler {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-width: 44px;\n min-height: 44px;\n padding: 8px;\n color: var(--fs-color-text);\n background: transparent;\n border: 1px solid var(--fs-color-border);\n border-radius: var(--fs-radius-sm);\n cursor: pointer;\n }\n\n .fs-navbar-collapse {\n flex-basis: 100%;\n width: 100%;\n }\n\n .fs-navbar-collapse:not(.is-open) {\n display: none;\n }\n\n .fs-navbar-collapse.is-open .fs-navbar-nav {\n flex-direction: column;\n align-items: stretch;\n }\n\n @media (width >= 768px) {\n .fs-navbar-toggler {\n display: none;\n }\n\n .fs-navbar-collapse,\n .fs-navbar-collapse:not(.is-open),\n .fs-navbar-collapse[hidden] {\n display: flex;\n flex: 1 1 auto;\n align-items: center;\n justify-content: flex-end;\n width: auto;\n }\n\n .fs-navbar-collapse .fs-navbar-nav {\n flex-direction: row;\n }\n }\n\n .fs-nav-link {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 8px 12px;\n border-radius: var(--fs-radius-sm);\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface-raised);\n text-decoration: none;\n transition: background-color 0.15s ease-in-out;\n }\n\n .fs-nav-link:hover {\n background-color: var(--fs-color-subtle);\n }\n\n .fs-nav-link:focus-visible {\n @include focus-ring;\n }\n\n .fs-nav-link.is-active {\n color: var(--fs-alert-primary-text);\n font-weight: $font-weight-medium;\n }\n\n .fs-nav-link.is-disabled {\n color: var(--fs-color-muted);\n pointer-events: none;\n }\n}\n","@layer components {\n // Wrapper posicionador do input — a listbox (`.fs-dropdown-menu`, mesma\n // classe do Dropdown/Select) é reanexada a `document.body` pelo JS e\n // posicionada via `core/positioning.js`; o wrapper só existe pra manter\n // o layout inline do input no fluxo normal do documento.\n .fs-combobox {\n position: relative;\n display: inline-flex;\n width: 100%;\n }\n\n .fs-combobox-listbox {\n overflow-y: auto;\n max-height: 240px;\n }\n}\n","@use \"../../../fokus-core/scss/settings\" as *;\n@use \"../../../fokus-core/scss/tools\" as *;\n\n@layer components {\n // Ajusta o indicador nativo de <input type=\"date\">/<input type=\"time\">\n // no tema escuro — por padrão o navegador desenha um ícone escuro fixo\n // (chrome do SO, não estilizável via token), que fica invisível sobre\n // --fs-color-surface escuro sem essa correção.\n [data-theme=\"dark\"] .fs-form-control[type=\"date\"]::-webkit-calendar-picker-indicator,\n [data-theme=\"dark\"] .fs-form-control[type=\"time\"]::-webkit-calendar-picker-indicator {\n filter: invert(1);\n }\n\n .fs-datepicker {\n position: relative;\n display: inline-flex;\n width: 100%;\n }\n\n .fs-datepicker-panel {\n display: none;\n width: min(280px, calc(100vw - 2 * var(--fs-space-3)));\n padding: 12px;\n border: 1px solid var(--fs-color-border);\n border-radius: var(--fs-radius-md);\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface);\n box-shadow: var(--fs-shadow-md);\n z-index: var(--fs-z-dropdown);\n }\n\n .fs-datepicker-panel.is-open {\n display: block;\n }\n\n .fs-datepicker-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: 8px;\n }\n\n .fs-datepicker-nav {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n padding: 0;\n border: none;\n border-radius: var(--fs-radius-sm);\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface-raised);\n font-size: $font-size-md;\n cursor: pointer;\n }\n\n .fs-datepicker-nav:hover {\n background-color: var(--fs-color-subtle);\n }\n\n .fs-datepicker-nav:focus-visible {\n @include focus-ring;\n }\n\n .fs-datepicker-title {\n font-size: $font-size-sm;\n font-weight: $font-weight-medium;\n text-transform: capitalize;\n }\n\n .fs-datepicker-grid {\n display: flex;\n flex-direction: column;\n gap: 2px;\n }\n\n .fs-datepicker-weekdays,\n .fs-datepicker-week {\n display: grid;\n grid-template-columns: repeat(7, 1fr);\n gap: 2px;\n }\n\n .fs-datepicker-weekday {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 28px;\n color: var(--fs-color-muted);\n font-size: $font-size-xs;\n font-weight: $font-weight-medium;\n text-align: center;\n text-transform: uppercase;\n }\n\n .fs-datepicker-day {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 32px;\n border: none;\n border-radius: var(--fs-radius-sm);\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface-raised);\n font-size: $font-size-sm;\n cursor: pointer;\n }\n\n .fs-datepicker-day:hover {\n background-color: var(--fs-color-subtle);\n }\n\n .fs-datepicker-day:focus-visible {\n @include focus-ring;\n }\n\n .fs-datepicker-day.is-outside {\n color: var(--fs-color-muted);\n }\n\n .fs-datepicker-day.is-today {\n font-weight: $font-weight-semibold;\n box-shadow: inset 0 0 0 1px var(--fs-color-primary);\n }\n\n .fs-datepicker-day.is-selected {\n color: var(--fs-color-on-primary);\n background-color: var(--fs-color-primary);\n }\n\n .fs-datepicker-day:disabled {\n color: var(--fs-color-muted);\n pointer-events: none;\n opacity: 0.4;\n }\n}\n","@use \"../../../fokus-core/scss/settings\" as *;\n@use \"../../../fokus-core/scss/tools\" as *;\n\n// Diálogo do Command Palette (`js/command-palette.js`). Os itens da lista\n// reusam `.fs-dropdown-item`/`.is-active`/`.is-disabled` (scss/components/\n// _dropdown.scss) sem duplicação — só o backdrop/diálogo/campo de busca são\n// CSS novo.\n\n@layer components {\n .fs-command-palette {\n position: fixed;\n inset: 0;\n z-index: var(--fs-z-modal);\n display: none;\n align-items: flex-start;\n justify-content: center;\n padding: 72px 16px 16px;\n background-color: rgb(0 0 0 / 50%);\n }\n\n .fs-command-palette.is-open {\n display: flex;\n }\n\n .fs-command-palette-dialog {\n display: flex;\n flex-direction: column;\n width: 100%;\n max-width: 480px;\n max-height: calc(100vh - 88px);\n overflow: hidden;\n border-radius: var(--fs-radius-md);\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface);\n box-shadow: var(--fs-shadow-lg);\n }\n\n .fs-command-palette-input {\n width: 100%;\n padding: 16px 20px;\n border: none;\n border-bottom: 1px solid var(--fs-color-border);\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface-raised);\n font-size: $font-size-lg;\n }\n\n .fs-command-palette-input:focus-visible {\n @include focus-ring;\n }\n\n .fs-command-palette-list {\n margin: 0;\n padding: 6px 0;\n overflow-y: auto;\n list-style: none;\n }\n}\n","@use \"../../../fokus-core/scss/settings\" as *;\n@use \"../../../fokus-core/scss/tools\" as *;\n\n@layer components {\n .fs-tree,\n .fs-tree [role=\"group\"] {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n .fs-tree [role=\"group\"] {\n padding-left: 20px;\n }\n\n .fs-tree [role=\"treeitem\"] {\n border-radius: var(--fs-radius-sm);\n }\n\n .fs-tree [role=\"treeitem\"]:focus-visible {\n outline: none;\n }\n\n .fs-tree [role=\"treeitem\"]:focus-visible > .fs-tree-label {\n @include focus-ring;\n }\n\n .fs-tree-label {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 6px 8px;\n border-radius: var(--fs-radius-sm);\n color: var(--fs-color-text);\n font-size: $font-size-md;\n cursor: pointer;\n user-select: none;\n }\n\n .fs-tree-label:hover {\n background-color: var(--fs-color-subtle);\n }\n\n .fs-tree [role=\"treeitem\"][aria-selected=\"true\"] > .fs-tree-label {\n color: var(--fs-color-on-primary);\n background-color: var(--fs-color-primary);\n }\n\n .fs-tree-toggle {\n flex-shrink: 0;\n width: 0;\n height: 0;\n border-top: 4px solid transparent;\n border-bottom: 4px solid transparent;\n border-left: 5px solid currentcolor;\n transition: transform 0.15s ease-in-out;\n }\n\n .fs-tree [role=\"treeitem\"][aria-expanded=\"true\"] > .fs-tree-label > .fs-tree-toggle {\n transform: rotate(90deg);\n }\n}\n","@use \"../../../fokus-core/scss/settings\" as *;\n@use \"../../../fokus-core/scss/tools\" as *;\n\n@layer components {\n .fs-dropdown {\n position: relative;\n display: inline-flex;\n }\n\n // Sem margin-left: `.fs-dropdown-toggle` é sempre usado com `.fs-btn`\n // (ver docs/components/dropdown.md), que já tem `gap` pros filhos —\n // incluindo este `::after`, que conta como item flex do `.fs-btn`.\n .fs-dropdown-toggle::after {\n display: inline-block;\n width: 0;\n height: 0;\n vertical-align: middle;\n content: \"\";\n border-top: 5px solid;\n border-right: 5px solid transparent;\n border-left: 5px solid transparent;\n }\n\n .fs-dropdown-menu {\n position: absolute;\n display: none;\n min-width: 180px;\n margin: 0;\n padding: 6px 0;\n border: var(--fs-border-width) solid var(--fs-color-border-default);\n border-radius: var(--fs-radius-md);\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface);\n box-shadow: var(--fs-shadow-md);\n z-index: var(--fs-z-dropdown);\n }\n\n .fs-dropdown-menu.is-open {\n display: block;\n }\n\n .fs-dropdown-item {\n display: flex;\n align-items: center;\n width: 100%;\n padding: 8px 16px;\n border: 0;\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface-raised);\n font-size: $font-size-md;\n text-align: left;\n text-decoration: none;\n cursor: pointer;\n }\n\n .fs-dropdown-item:hover,\n .fs-dropdown-item:focus-visible {\n color: var(--fs-color-text);\n background-color: var(--fs-color-subtle);\n outline: none;\n }\n\n .fs-dropdown-item.is-active {\n color: var(--fs-color-on-primary);\n background-color: var(--fs-color-primary);\n }\n\n .fs-dropdown-item.is-disabled {\n color: var(--fs-color-muted);\n pointer-events: none;\n opacity: 0.6;\n }\n\n .fs-dropdown-divider {\n height: 1px;\n margin: 6px 0;\n border: none;\n background-color: var(--fs-color-border);\n }\n\n .fs-dropdown-header {\n padding: 4px 16px;\n color: var(--fs-color-muted);\n font-size: $font-size-xs;\n font-weight: $font-weight-medium;\n text-transform: uppercase;\n }\n}\n","@use \"../../../fokus-core/scss/settings\" as *;\n\n@layer components {\n .fs-modal {\n position: fixed;\n inset: 0;\n z-index: var(--fs-z-modal);\n display: none;\n align-items: center;\n justify-content: center;\n padding: var(--fs-space-4);\n background-color: rgb(0 0 0 / 50%);\n }\n\n .fs-modal.is-open {\n display: flex;\n }\n\n .fs-modal-dialog {\n width: 100%;\n max-width: 480px;\n }\n\n .fs-modal-dialog.fs-modal-sm {\n max-width: 320px;\n }\n\n .fs-modal-dialog.fs-modal-lg {\n max-width: 720px;\n }\n\n .fs-modal-dialog.fs-modal-xl {\n max-width: 1140px;\n }\n\n .fs-modal-dialog.fs-modal-fullscreen {\n max-width: none;\n height: 100%;\n }\n\n .fs-modal-content {\n display: flex;\n flex-direction: column;\n max-height: calc(100vh - 2 * var(--fs-space-4));\n border: var(--fs-border-width) solid var(--fs-color-border-default);\n border-radius: var(--fs-radius-md);\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface);\n box-shadow: var(--fs-shadow-lg);\n }\n\n .fs-modal-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 16px 20px;\n border-bottom: 1px solid var(--fs-color-border);\n }\n\n .fs-modal-title {\n margin: 0;\n font-size: $font-size-lg;\n font-weight: $font-weight-medium;\n }\n\n .fs-modal-body {\n padding: 20px;\n overflow-y: auto;\n }\n\n .fs-modal-scrollable .fs-modal-content {\n overflow: hidden;\n }\n\n .fs-modal-scrollable .fs-modal-body {\n overflow-y: auto;\n }\n\n @media (width < 640px) {\n .fs-modal {\n align-items: flex-end;\n padding: 0;\n }\n\n .fs-modal-dialog,\n .fs-modal-dialog.fs-modal-sm,\n .fs-modal-dialog.fs-modal-lg,\n .fs-modal-dialog.fs-modal-xl {\n max-width: none;\n }\n\n .fs-modal-content {\n max-height: calc(100dvh - var(--fs-safe-area-top));\n border-radius: var(--fs-radius-md) var(--fs-radius-md) 0 0;\n }\n }\n\n .fs-modal-footer {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: 8px;\n padding: 16px 20px;\n border-top: 1px solid var(--fs-color-border);\n }\n}\n","@use \"../../../fokus-core/scss/settings\" as *;\n\n// Alert Dialog / Confirm: variante do Modal (scss/components/_modal.scss) para\n// confirmação, montada dinamicamente por FokusStyles.confirm() (js/confirm.js) —\n// reaproveita .fs-modal/.fs-modal-dialog/.fs-modal-content/.fs-modal-footer sem duplicar\n// layout, só adiciona a mensagem abaixo do título.\n\n@layer components {\n .fs-alert-dialog-message {\n margin: 4px 0 0;\n color: var(--fs-color-muted);\n font-size: $font-size-sm;\n }\n}\n","@use \"../../../fokus-core/scss/settings\" as *;\n\n// Linha divisória, 100% CSS. `<hr class=\"divider\">` para o traço simples;\n// `<div class=\"divider\">` (não pode ser `<hr>`, que não aceita filhos) com\n// `.fs-divider-label` para o texto centralizado, flanqueado por duas linhas via\n// pseudo-elementos.\n\n@layer components {\n .fs-divider {\n margin: 16px 0;\n border: 0;\n border-top: 1px solid var(--fs-color-border);\n }\n\n .fs-divider:not(hr) {\n display: flex;\n align-items: center;\n border-top: none;\n color: var(--fs-color-muted);\n font-size: $font-size-sm;\n }\n\n .fs-divider:not(hr)::before,\n .fs-divider:not(hr)::after {\n flex: 1;\n content: \"\";\n border-top: 1px solid var(--fs-color-border);\n }\n\n .fs-divider-label {\n padding: 0 12px;\n }\n}\n","@use \"../../../fokus-core/scss/settings\" as *;\n\n// Bloco padrão para listas/telas vazias, 100% CSS. `.fs-empty-state-icon` é um\n// slot vazio (o consumidor põe seu próprio SVG/emoji/ilustração dentro) — ao\n// contrário do ícone do Alert Dialog, aqui não há um conjunto fixo de\n// variantes de estado para gerar via CSS.\n\n@layer components {\n .fs-empty-state {\n display: flex;\n flex-direction: column;\n align-items: center;\n padding: 48px 24px;\n text-align: center;\n }\n\n // `[hidden]` sozinho não bastaria: a regra do user-agent stylesheet\n // perde pra `display: flex` acima (author styles sempre vencem UA\n // styles, mesmo em `@layer`) — sem isso, `.fs-empty-state[hidden]`\n // continua visível (bug real pego no DataTable, que alterna esse\n // atributo em `js/datatable.js`). Mesmo padrão já usado em\n // `.fs-notification-badge[hidden]`/`.fs-notification-empty[hidden]`.\n .fs-empty-state[hidden] {\n display: none;\n }\n\n .fs-empty-state-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 64px;\n height: 64px;\n margin-bottom: 16px;\n border-radius: 50%;\n color: var(--fs-color-muted);\n background-color: var(--fs-color-subtle);\n font-size: 28px;\n }\n\n .fs-empty-state-title {\n margin: 0;\n color: var(--fs-color-text);\n font-size: $font-size-lg;\n font-weight: $font-weight-medium;\n }\n\n .fs-empty-state-text {\n max-width: 360px;\n margin: 4px 0 20px;\n color: var(--fs-color-muted);\n font-size: $font-size-sm;\n }\n}\n","@use \"../../../fokus-core/scss/settings\" as *;\n\n// Rating / Stars, 100% CSS — mesma técnica de input oculto + label irmão do\n// Segmented Control (scss/components/_segmented-control.scss): um\n// `<input type=\"radio\">` por estrela, exclusivo dentro do grupo. A marcação\n// espera os pares input+label em ordem DECRESCENTE de valor (5, 4, 3...) com\n// `.fs-rating` em `row-reverse`, o truque clássico de CSS pra destacar \"a\n// estrela clicada e todas à esquerda dela\" usando só `~` (combinador de\n// irmãos gerais, que só enxerga o que vem DEPOIS no DOM).\n// A estrela em si é o ícone `star` de `fokus-styles/icons` (`.fs-icon`, outline\n// por padrão) — preenchida (`fill: currentcolor`) só quando selecionada/em\n// hover, pra imitar o glifo sólido que ★ tinha antes sem perder o contorno\n// vazio do estado \"não avaliada\".\n\n@layer components {\n .fs-rating {\n display: inline-flex;\n flex-direction: row-reverse;\n }\n\n .fs-rating-input {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip-path: inset(50%);\n white-space: nowrap;\n border: 0;\n }\n\n .fs-rating-star {\n display: flex;\n padding: 2px;\n color: var(--fs-color-border);\n font-size: 24px;\n cursor: pointer;\n }\n\n .fs-rating-input:checked ~ .fs-rating-star,\n .fs-rating-star:hover,\n .fs-rating-star:hover ~ .fs-rating-star {\n color: var(--fs-color-warning);\n }\n\n .fs-rating-input:checked ~ .fs-rating-star .fs-icon,\n .fs-rating-star:hover .fs-icon,\n .fs-rating-star:hover ~ .fs-rating-star .fs-icon {\n fill: currentcolor;\n }\n\n .fs-rating-input:focus-visible + .fs-rating-star {\n border-radius: var(--fs-radius-sm);\n outline: 2px solid var(--fs-color-primary);\n outline-offset: 2px;\n }\n\n .fs-rating-input:disabled + .fs-rating-star {\n opacity: 0.5;\n pointer-events: none;\n }\n\n .fs-rating-sm .fs-rating-star {\n font-size: 16px;\n }\n\n .fs-rating-lg .fs-rating-star {\n font-size: 32px;\n }\n}\n","@use \"../../../fokus-core/scss/settings\" as *;\n@use \"../../../fokus-core/scss/tools\" as *;\n\n// Badge dismissível / Tag: reaproveita `.fs-badge`\n// (scss/components/_badges.scss) e `.fs-btn-close`\n// (scss/components/_buttons.scss) — só ajusta o tamanho do botão de fechar\n// pra caber num badge, que é bem menor que um botão, e o espaçamento entre\n// o texto e o \"x\". O dismiss em si é feito por js/tag.js (FokusStyles.Tag).\n@layer components {\n .fs-tag {\n gap: 0;\n padding: 0 0 0 8px;\n }\n\n // O texto fica em um elemento próprio quando a tag puder ser truncada. A\n // string integral permanece no DOM, portanto continua disponível para AT.\n .fs-tag-label {\n min-width: 0;\n }\n\n .fs-tag-truncate {\n max-inline-size: min(100%, var(--fs-tag-max-inline-size, 20rem));\n }\n\n .fs-tag-truncate .fs-tag-label {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .fs-tag-icon {\n display: inline-grid;\n width: 12px;\n height: 12px;\n flex: 0 0 12px;\n margin-right: 4px;\n place-items: center;\n }\n\n .fs-tag-icon .fs-icon {\n width: 12px;\n height: 12px;\n stroke: currentcolor;\n }\n\n .fs-tag .fs-btn-close {\n width: calc(var(--fs-badge-height) - 2px);\n height: calc(var(--fs-badge-height) - 2px);\n flex: 0 0 calc(var(--fs-badge-height) - 2px);\n margin-left: 4px;\n border-radius: 0;\n background-color: transparent;\n\n // Herda a cor de texto do badge (contraste automático por variante) em vez\n // do cinza fixo do `.fs-btn-close`, pra o \"x\" ter contraste em qualquer fundo;\n // o `opacity` o deixa discreto sem depender de uma cor fixa.\n color: inherit;\n opacity: 0.7;\n transition: opacity 0.1s ease-in-out, background-color 0.1s ease-in-out, transform 0.1s ease-in-out;\n }\n\n .fs-tag .fs-btn-close::before,\n .fs-tag .fs-btn-close::after {\n top: calc(50% + 1px);\n width: 8px;\n }\n\n .fs-tag .fs-btn-close:hover {\n color: inherit;\n background-color: color-mix(in srgb, currentcolor 18%, transparent);\n opacity: 1;\n }\n\n // Feedback tátil ao clicar (o dismiss em si é assíncrono via evento\n // cancelável fs:tag:dismissed, então o \"afundar\" no clique reforça que a\n // ação registrou mesmo antes do elemento sumir).\n .fs-tag .fs-btn-close:active {\n background-color: color-mix(in srgb, currentcolor 28%, transparent);\n transform: scale(0.9);\n }\n\n // Agrupamento: várias tags lado a lado, quebrando linha sem cortar.\n .fs-tag-group {\n display: flex;\n flex-wrap: wrap;\n gap: 0;\n }\n\n // O botão já possui foco próprio; o contorno no contêiner evidencia qual\n // tag será removida, especialmente em grupos densos.\n .fs-tag:focus-within {\n @include focus-ring;\n }\n\n .fs-tag.is-loading,\n .fs-tag[aria-busy=\"true\"] {\n --fs-badge-bg: var(--fs-color-warning);\n --fs-badge-color: var(--fs-color-black);\n --fs-badge-border: transparent;\n\n cursor: progress;\n }\n\n // Usa o spinner do próprio FokusStyles. A classe é opt-in no markup para que o\n // conteúdo de uma tag carregando continue explícito e sem DOM implícito.\n .fs-tag.is-loading .fs-spinner,\n .fs-tag[aria-busy=\"true\"] .fs-spinner {\n width: 12px;\n height: 12px;\n flex: 0 0 12px;\n margin: 0 6px 0 4px;\n border-width: 2px;\n color: var(--fs-color-black);\n }\n\n .fs-tag.is-loading .fs-btn-close,\n .fs-tag[aria-busy=\"true\"] .fs-btn-close {\n display: none;\n }\n\n .fs-tag-group .fs-tag + .fs-tag {\n border-inline-start-color: color-mix(in srgb, currentcolor 24%, transparent);\n }\n\n .fs-tag-group .fs-tag {\n padding-inline-start: calc(var(--fs-badge-height) + 2px);\n transition: background-color 0.1s ease-in-out;\n }\n\n .fs-tag-group .fs-btn-close {\n pointer-events: none;\n opacity: 0;\n }\n\n .fs-tag-group .fs-tag:hover .fs-btn-close,\n .fs-tag-group .fs-tag:focus-within .fs-btn-close {\n pointer-events: auto;\n opacity: 0.7;\n }\n\n .fs-tag-group .fs-tag:hover,\n .fs-tag-group .fs-tag:focus-within {\n background-color: color-mix(in srgb, currentcolor 18%, transparent);\n }\n\n // Um botão de overflow representa as tags não exibidas. A abertura da lista\n // ou popover é responsabilidade da composição que o utiliza.\n .fs-tag-overflow {\n --fs-badge-bg: transparent;\n --fs-badge-color: var(--fs-alert-primary-text);\n --fs-badge-border: transparent;\n\n width: var(--fs-badge-height);\n height: var(--fs-badge-height);\n min-width: var(--fs-badge-height);\n padding: 0;\n border: 0;\n appearance: none;\n cursor: pointer;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n font: inherit;\n line-height: 0;\n }\n\n .fs-tag-overflow .fs-icon {\n display: block;\n flex: 0 0 13px;\n width: 13px;\n height: 13px;\n stroke: currentcolor;\n }\n\n .fs-tag-overflow:hover,\n .fs-tag-group .fs-tag-overflow:hover {\n background-color: transparent;\n border-color: transparent;\n }\n\n .fs-tag-group .fs-tag-overflow {\n padding-inline-start: 0;\n }\n\n .fs-tag-overflow:focus-visible {\n @include focus-ring;\n }\n\n .fs-tag-group .fs-btn-close:hover {\n color: inherit;\n background-color: transparent;\n opacity: 0.7;\n }\n\n .fs-tag-protected {\n pointer-events: none;\n }\n\n .fs-tag-lock {\n display: inline-grid;\n width: calc(var(--fs-badge-height) - 2px);\n height: calc(var(--fs-badge-height) - 2px);\n margin-left: 4px;\n place-items: center;\n }\n\n .fs-tag-lock svg {\n width: 12px;\n height: 12px;\n stroke: currentcolor;\n stroke-width: 2;\n }\n\n}\n","@use \"../../../fokus-core/scss/settings\" as *;\n\n// Offcanvas: painel deslizante (fora da viewport por padrão, `.is-open` traz\n// para dentro via transform) + `.fs-offcanvas-backdrop` separado (não fixo\n// junto ao painel, como no Modal, porque o painel não cobre a tela toda —\n// o backdrop escurece o restante). Mesma faixa de z-index do Modal (1050),\n// já que são overlays mutuamente exclusivos.\n\n@layer components {\n .fs-offcanvas {\n position: fixed;\n z-index: var(--fs-z-offcanvas);\n display: flex;\n flex-direction: column;\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface);\n box-shadow: var(--fs-shadow-lg);\n visibility: hidden;\n transition: transform 0.3s ease, visibility 0.3s ease;\n }\n\n .fs-offcanvas.is-open {\n visibility: visible;\n transform: none;\n }\n\n .fs-offcanvas-start {\n inset: 0 auto 0 0;\n width: 320px;\n transform: translateX(-100%);\n }\n\n .fs-offcanvas-end {\n inset: 0 0 0 auto;\n width: 320px;\n transform: translateX(100%);\n }\n\n .fs-offcanvas-top {\n inset: 0 0 auto;\n height: 40vh;\n transform: translateY(-100%);\n }\n\n .fs-offcanvas-bottom {\n inset: auto 0 0;\n height: 40vh;\n transform: translateY(100%);\n }\n\n .fs-offcanvas-backdrop {\n position: fixed;\n inset: 0;\n z-index: calc(var(--fs-z-offcanvas) - 1);\n background-color: rgb(0 0 0 / 50%);\n opacity: 0;\n visibility: hidden;\n transition: opacity 0.3s ease, visibility 0.3s ease;\n }\n\n .fs-offcanvas-backdrop.is-open {\n visibility: visible;\n opacity: 1;\n }\n\n .fs-offcanvas-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 16px 20px;\n border-bottom: 1px solid var(--fs-color-border);\n }\n\n .fs-offcanvas-title {\n margin: 0;\n font-size: $font-size-lg;\n font-weight: $font-weight-medium;\n }\n\n .fs-offcanvas-body {\n flex: 1 1 auto;\n padding: 20px;\n overflow-y: auto;\n }\n\n .fs-offcanvas-footer {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: 8px;\n padding: 16px 20px;\n border-top: 1px solid var(--fs-color-border);\n }\n\n .fs-offcanvas-responsive {\n width: min(100%, 420px);\n }\n\n @media (width >= 1024px) {\n .fs-offcanvas-lg {\n position: static;\n width: auto;\n height: auto;\n visibility: visible;\n transform: none;\n box-shadow: none;\n }\n\n .fs-offcanvas-lg + .fs-offcanvas-backdrop {\n display: none;\n }\n }\n\n @media (prefers-reduced-motion: reduce) {\n .fs-offcanvas,\n .fs-offcanvas-backdrop {\n transition: none;\n }\n }\n}\n","@use \"../../../fokus-core/scss/settings\" as *;\n@use \"../../../fokus-core/scss/tools\" as *;\n\n@layer components {\n .fs-accordion {\n display: flex;\n flex-direction: column;\n }\n\n .fs-accordion-item {\n overflow: hidden;\n border: 1px solid var(--fs-color-border);\n background-color: var(--fs-color-surface-raised);\n }\n\n .fs-accordion-item + .fs-accordion-item {\n border-top: none;\n }\n\n .fs-accordion-item:first-child {\n border-top-left-radius: var(--fs-radius-md);\n border-top-right-radius: var(--fs-radius-md);\n }\n\n .fs-accordion-item:last-child {\n border-bottom-right-radius: var(--fs-radius-md);\n border-bottom-left-radius: var(--fs-radius-md);\n }\n\n .fs-accordion-flush .fs-accordion-item {\n border-inline: 0;\n border-radius: 0;\n }\n\n .fs-accordion-flush .fs-accordion-item:first-child {\n border-block-start: 0;\n }\n\n .fs-accordion-always-open .fs-accordion-button[aria-expanded=\"true\"]::after {\n transform: rotate(-135deg);\n }\n\n .fs-accordion-header {\n margin: 0;\n }\n\n .fs-accordion-button {\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n padding: 14px 16px;\n border: none;\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface);\n font-size: $font-size-md;\n font-weight: $font-weight-medium;\n text-align: left;\n cursor: pointer;\n }\n\n .fs-accordion-button:hover {\n background-color: var(--fs-color-subtle);\n }\n\n .fs-accordion-button:focus-visible {\n @include focus-ring;\n }\n\n .fs-accordion-button::after {\n flex-shrink: 0;\n width: 8px;\n height: 8px;\n margin-left: 12px;\n content: \"\";\n border-right: 2px solid currentcolor;\n border-bottom: 2px solid currentcolor;\n transform: rotate(45deg);\n transition: transform 0.2s ease-in-out;\n }\n\n .fs-accordion-button[aria-expanded=\"true\"]::after {\n transform: rotate(-135deg);\n }\n\n .fs-accordion-collapse {\n overflow: hidden;\n }\n\n .fs-accordion-body {\n padding: 16px;\n border-top: 1px solid var(--fs-color-border);\n background-color: var(--fs-color-surface-raised);\n }\n\n @media (prefers-reduced-motion: reduce) {\n .fs-accordion-button::after {\n transition: none;\n }\n }\n}\n","@use \"../../../fokus-core/scss/settings\" as *;\n@use \"../../../fokus-core/scss/tools\" as *;\n\n// Três estilos visuais (linha = padrão, pill, depth), mais alinhamento e\n// tamanho — todos modificadores de `.fs-tabs`, reaproveitando `.fs-nav-link`\n// (_navbar.scss) como o item clicável em todos os três, então o HTML e a\n// navegação por teclado (ArrowLeft/ArrowRight/Home/End, `js/tabs.js`) não\n// mudam entre estilos.\n@layer components {\n .fs-tabs {\n display: flex;\n border-bottom: var(--fs-border-width) solid var(--fs-color-border-default);\n }\n\n .fs-tabs .fs-nav-link {\n margin-bottom: -1px;\n border-bottom: 2px solid transparent;\n border-radius: var(--fs-radius-sm) var(--fs-radius-sm) 0 0;\n }\n\n .fs-tabs .fs-nav-link.is-active {\n border-bottom-color: var(--fs-color-primary);\n }\n\n // Pill: sem linha embaixo, cada item vira um \"chip\" com fundo próprio\n // quando ativo — nada de forma circular, só o token de raio padrão.\n .fs-tabs-pill {\n gap: 4px;\n border-bottom: none;\n }\n\n .fs-tabs-pill .fs-nav-link {\n margin-bottom: 0;\n border-bottom: none;\n border-radius: var(--fs-radius-sm);\n }\n\n .fs-tabs-pill .fs-nav-link.is-active {\n color: var(--fs-color-on-primary);\n background-color: var(--fs-color-primary);\n }\n\n // Depth: fundo neutro por trás dos itens; o ativo \"sobe\" com borda nos 3\n // lados e fundo igual ao do conteúdo, criando a ilusão de aba de pasta\n // fundida ao painel abaixo (a borda inferior do container fica por baixo\n // do item ativo, escondida pela cor de fundo igual).\n .fs-tabs-depth {\n gap: 2px;\n padding: 4px 4px 0;\n background-color: var(--fs-color-subtle);\n }\n\n .fs-tabs-depth .fs-nav-link {\n margin-bottom: -1px;\n border: 1px solid transparent;\n border-bottom: none;\n border-radius: var(--fs-radius-sm) var(--fs-radius-sm) 0 0;\n }\n\n .fs-tabs-depth .fs-nav-link.is-active {\n border-color: var(--fs-color-border);\n background-color: var(--fs-color-surface);\n }\n\n // Alinhamento dos itens dentro do container (padrão: início/esquerda).\n .fs-tabs-center {\n justify-content: center;\n }\n\n .fs-tabs-right {\n justify-content: flex-end;\n }\n\n .fs-tabs-fill .fs-nav-link {\n flex: 1;\n justify-content: center;\n text-align: center;\n }\n\n // Tamanhos — mesma escala sm/lg dos outros componentes.\n .fs-tabs-sm .fs-nav-link {\n padding: 6px 10px;\n font-size: $font-size-sm;\n }\n\n .fs-tabs-lg .fs-nav-link {\n padding: 10px 16px;\n font-size: $font-size-lg;\n }\n\n .fs-tab-content > .fs-tab-pane {\n display: none;\n }\n\n .fs-tab-content > .fs-tab-pane.is-active {\n display: block;\n }\n}\n","@use \"../../../fokus-core/scss/settings\" as *;\n\n@layer components {\n .fs-tooltip {\n position: absolute;\n z-index: var(--fs-z-tooltip);\n display: none;\n max-width: 220px;\n }\n\n .fs-tooltip.is-open {\n display: block;\n }\n\n .fs-tooltip-inner {\n padding: 6px 10px;\n border-radius: var(--fs-radius-sm);\n color: var(--fs-tooltip-text);\n background-color: var(--fs-tooltip-bg);\n font-size: $font-size-xs;\n text-align: center;\n }\n\n .fs-tooltip-arrow {\n position: absolute;\n width: 8px;\n height: 8px;\n background-color: var(--fs-tooltip-bg);\n transform: rotate(45deg);\n }\n\n .fs-tooltip[data-placement=\"top\"] .fs-tooltip-arrow {\n bottom: -4px;\n left: 50%;\n margin-left: -4px;\n }\n\n .fs-tooltip[data-placement=\"bottom\"] .fs-tooltip-arrow {\n top: -4px;\n left: 50%;\n margin-left: -4px;\n }\n\n .fs-tooltip[data-placement=\"left\"] .fs-tooltip-arrow {\n top: 50%;\n right: -4px;\n margin-top: -4px;\n }\n\n .fs-tooltip[data-placement=\"right\"] .fs-tooltip-arrow {\n top: 50%;\n left: -4px;\n margin-top: -4px;\n }\n}\n","@use \"../../../fokus-core/scss/settings\" as *;\n\n// Popover: painel flutuante com conteúdo rico (header/body/footer),\n// posicionado como o Tooltip (mesma técnica de seta rotacionada 45°), mas com\n// aparência de card de superfície em vez do chip escuro do tooltip — porque\n// pode conter elementos interativos. z-index entre o Dropdown (1000) e o\n// Tooltip (1080), para um tooltip aplicado a um gatilho de popover ainda\n// vencer visualmente.\n\n@layer components {\n .fs-popover {\n position: absolute;\n z-index: var(--fs-z-offcanvas);\n display: none;\n max-width: 280px;\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface);\n border: 1px solid var(--fs-color-border);\n border-radius: var(--fs-radius-md);\n box-shadow: var(--fs-shadow-md);\n }\n\n .fs-popover.is-open {\n display: block;\n }\n\n .fs-popover-header {\n padding: 10px 14px;\n background-color: var(--fs-color-subtle);\n border-bottom: 1px solid var(--fs-color-border);\n border-radius: var(--fs-radius-md) var(--fs-radius-md) 0 0;\n font-size: $font-size-sm;\n font-weight: $font-weight-medium;\n }\n\n .fs-popover-body {\n padding: 14px;\n font-size: $font-size-sm;\n }\n\n .fs-popover-footer {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: 8px;\n padding: 10px 14px;\n border-top: 1px solid var(--fs-color-border);\n }\n\n .fs-popover-arrow {\n position: absolute;\n width: 8px;\n height: 8px;\n background-color: var(--fs-color-surface);\n border: 1px solid var(--fs-color-border);\n transform: rotate(45deg);\n }\n\n .fs-popover[data-placement=\"top\"] .fs-popover-arrow {\n bottom: -5px;\n left: 50%;\n margin-left: -4px;\n border-top: 0;\n border-left: 0;\n }\n\n .fs-popover[data-placement=\"bottom\"] .fs-popover-arrow {\n top: -5px;\n left: 50%;\n margin-left: -4px;\n border-right: 0;\n border-bottom: 0;\n }\n\n .fs-popover[data-placement=\"left\"] .fs-popover-arrow {\n top: 50%;\n right: -5px;\n margin-top: -4px;\n border-bottom: 0;\n border-left: 0;\n }\n\n .fs-popover[data-placement=\"right\"] .fs-popover-arrow {\n top: 50%;\n left: -5px;\n margin-top: -4px;\n border-top: 0;\n border-right: 0;\n }\n\n // Hover Card: não é um componente novo — composição do Popover com\n // `data-trigger=\"hover\"` (já suportado por js/popover.js) e conteúdo mais\n // rico (ex. avatar + bio). Este modificador só alarga um pouco o popover e\n // alinha um layout de linha (avatar ao lado do texto) no corpo.\n .fs-popover-hover-card {\n max-width: 320px;\n }\n\n .fs-popover-hover-card .fs-popover-body {\n display: flex;\n gap: 12px;\n }\n}\n","@use \"../../../fokus-core/scss/settings\" as *;\n\n@layer components {\n .fs-toast-container {\n position: fixed;\n right: 16px;\n bottom: 16px;\n z-index: var(--fs-z-toast);\n display: flex;\n flex-direction: column;\n gap: 8px;\n width: min(360px, 100%);\n max-width: calc(100vw - 2 * var(--fs-space-3));\n }\n\n .fs-toast {\n display: flex;\n overflow: hidden;\n flex-direction: column;\n border: 1px solid var(--fs-color-border);\n border-radius: var(--fs-radius-md);\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface);\n box-shadow: var(--fs-shadow-md);\n }\n\n .fs-toast-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 10px 12px;\n border-bottom: 1px solid var(--fs-color-border);\n font-size: $font-size-sm;\n font-weight: $font-weight-medium;\n }\n\n .fs-toast-body {\n padding: 12px;\n font-size: $font-size-sm;\n }\n\n @each $name, $color in $theme-colors {\n .fs-toast-#{$name} .fs-toast-header {\n color: var(--fs-alert-#{$name}-text);\n background-color: var(--fs-alert-#{$name}-bg);\n }\n }\n}\n","@use \"../../../fokus-core/scss/settings\" as *;\n@use \"../../../fokus-core/scss/tools\" as *;\n\n@layer components {\n .fs-pagination {\n display: flex;\n gap: 0.25rem;\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n .fs-pagination-scroll {\n max-width: 100%;\n overflow-x: auto;\n padding-block: 2px;\n }\n\n .fs-pagination-scroll .fs-pagination {\n width: max-content;\n }\n\n .fs-page-link {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-width: 32px;\n height: 32px;\n padding: 0 8px;\n border: 1px solid var(--fs-color-border);\n border-radius: var(--fs-radius-sm);\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface);\n text-decoration: none;\n transition: background-color 0.15s ease-in-out;\n }\n\n .fs-page-link:hover {\n background-color: var(--fs-color-subtle);\n }\n\n .fs-page-link:focus-visible {\n @include focus-ring;\n }\n\n .fs-page-item.is-active .fs-page-link {\n color: var(--fs-color-on-primary);\n background-color: var(--fs-color-primary);\n border-color: var(--fs-color-primary);\n }\n\n .fs-page-item.is-disabled .fs-page-link {\n color: var(--fs-color-muted);\n opacity: 0.6;\n pointer-events: none;\n }\n\n // Bordered: itens colados (sem gap), borda contínua fundida (técnica do\n // Input Group — margin negativo + z-index no item ativo/hover), cantos\n // arredondados só nas pontas.\n .fs-pagination-bordered {\n gap: 0;\n }\n\n .fs-pagination-bordered .fs-page-link {\n border-radius: 0;\n }\n\n .fs-pagination-bordered .fs-page-item:not(:first-child) .fs-page-link {\n margin-left: -1px;\n }\n\n .fs-pagination-bordered .fs-page-item:first-child .fs-page-link {\n border-top-left-radius: var(--fs-radius-sm);\n border-bottom-left-radius: var(--fs-radius-sm);\n }\n\n .fs-pagination-bordered .fs-page-item:last-child .fs-page-link {\n border-top-right-radius: var(--fs-radius-sm);\n border-bottom-right-radius: var(--fs-radius-sm);\n }\n\n .fs-pagination-bordered .fs-page-link:hover,\n .fs-pagination-bordered .fs-page-item.is-active .fs-page-link {\n position: relative;\n z-index: 1;\n }\n\n // Compacta / grande — mesma escala sm/lg dos outros componentes.\n .fs-pagination-sm .fs-page-link {\n min-width: 26px;\n height: 26px;\n padding: 0 6px;\n font-size: $font-size-xs;\n }\n\n .fs-pagination-lg .fs-page-link {\n min-width: 40px;\n height: 40px;\n padding: 0 12px;\n font-size: $font-size-md;\n }\n\n // Prev/next descritivo: item com ícone + texto (\"Anterior\"/\"Próxima\") em\n // vez de só \"«\"/\"»\" — `.fs-page-link` já acomoda largura variável\n // (min-width é piso, não teto); só falta o espaçamento entre ícone e texto.\n .fs-page-link-text {\n gap: 6px;\n padding: 0 14px;\n }\n}\n","@use \"../../../fokus-core/scss/settings\" as *;\n@use \"../../../fokus-core/scss/tools\" as *;\n\n@layer components {\n .fs-breadcrumb {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: 4px;\n margin: 0;\n padding: 0;\n list-style: none;\n font-size: $font-size-sm;\n }\n\n .fs-breadcrumb-item {\n display: flex;\n align-items: center;\n gap: 4px;\n color: var(--fs-color-muted);\n }\n\n .fs-breadcrumb-item + .fs-breadcrumb-item::before {\n color: var(--fs-color-muted);\n content: \"/\";\n }\n\n .fs-breadcrumb-item a {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n color: var(--fs-alert-primary-text);\n text-decoration: none;\n }\n\n .fs-breadcrumb-item a:hover {\n text-decoration: underline;\n }\n\n .fs-breadcrumb-item.is-active {\n color: var(--fs-color-text);\n }\n\n // Breadcrumb avançado (js/breadcrumb.js): trunca labels longos com reticências\n // (tooltip com o texto completo é anexado via js/tooltip.js só quando o texto\n // realmente transborda) e, em telas pequenas, recolhe os níveis\n // intermediários num único item \"…\" que abre um dropdown (js/dropdown.js)\n // com os links ocultos.\n .fs-breadcrumb-item-truncate {\n display: inline-block;\n max-width: 160px;\n vertical-align: bottom;\n\n @include truncate;\n }\n\n .fs-breadcrumb-more {\n padding: 0;\n border: none;\n color: var(--fs-color-muted);\n background-color: var(--fs-color-surface-raised);\n font-size: inherit;\n font-family: inherit;\n line-height: inherit;\n cursor: pointer;\n }\n\n .fs-breadcrumb-more:hover {\n color: var(--fs-color-text);\n }\n}\n","@use \"../../../fokus-core/scss/settings\" as *;\n@use \"../../../fokus-core/scss/tools\" as *;\n\n@layer components {\n .fs-spinner {\n --fs-spinner-size: 20px;\n --fs-spinner-stroke: 2px;\n --fs-spinner-duration: 0.8s;\n\n display: inline-block;\n box-sizing: border-box;\n width: var(--fs-spinner-size);\n height: var(--fs-spinner-size);\n vertical-align: middle;\n border: var(--fs-spinner-stroke) solid color-mix(in srgb, currentcolor 20%, transparent);\n border-top-color: currentcolor;\n border-radius: 50%;\n animation: fokus-spin var(--fs-spinner-duration) linear infinite;\n will-change: transform;\n }\n\n .fs-spinner-sm {\n --fs-spinner-size: 14px;\n --fs-spinner-stroke: 2px;\n }\n\n .fs-spinner-lg {\n --fs-spinner-size: 32px;\n --fs-spinner-stroke: 3px;\n }\n\n @each $name, $color in $theme-colors {\n .fs-spinner-#{$name} {\n color: var(--fs-color-#{$name});\n }\n }\n\n @keyframes fokus-spin { to { transform: rotate(360deg); } }\n\n .fs-progress {\n --fs-progress-height: 8px;\n --fs-progress-track: var(--fs-color-subtle);\n --fs-progress-radius: 0;\n\n position: relative;\n display: flex;\n height: var(--fs-progress-height);\n overflow: hidden;\n background-color: var(--fs-progress-track);\n border-radius: var(--fs-progress-radius);\n }\n\n .fs-progress-bar {\n --fs-progress-bar-bg: var(--fs-color-primary);\n --fs-progress-color: var(--fs-color-on-primary);\n\n display: flex;\n align-items: center;\n justify-content: center;\n width: calc(var(--fs-progress-value, 0) * 1%);\n height: 100%;\n min-width: 0;\n overflow: hidden;\n color: var(--fs-progress-color);\n background-color: var(--fs-progress-bar-bg);\n font-size: 0;\n line-height: 1;\n text-overflow: ellipsis;\n white-space: nowrap;\n transition: width 0.25s ease-out;\n }\n\n @each $name, $color in $theme-colors {\n .fs-progress-bar-#{$name} {\n --fs-progress-bar-bg: var(--fs-color-#{$name});\n --fs-progress-color: #{color-contrast($color)};\n }\n }\n\n .fs-spinner[data-fs-loading=\"false\"] {\n display: none;\n }\n\n .fs-progress-sm {\n --fs-progress-height: 4px;\n }\n\n .fs-progress-lg {\n --fs-progress-height: 16px;\n }\n\n .fs-progress-lg .fs-progress-bar {\n padding-inline: 6px;\n font-size: $font-size-xs;\n }\n\n .fs-progress-meta {\n display: flex;\n align-items: baseline;\n justify-content: space-between;\n gap: 12px;\n max-width: 480px;\n margin-bottom: 6px;\n color: var(--fs-color-text);\n font-size: $font-size-sm;\n }\n\n .fs-progress-value {\n color: var(--fs-color-muted);\n font-variant-numeric: tabular-nums;\n }\n\n .fs-progress-indeterminate .fs-progress-bar {\n width: 36%;\n animation: fokus-progress-indeterminate 1.25s ease-in-out infinite;\n }\n\n .fs-progress-indeterminate {\n --fs-progress-track: color-mix(in srgb, var(--fs-color-primary) 18%, transparent);\n }\n\n @keyframes fokus-progress-indeterminate { from { transform: translateX(-110%); } to { transform: translateX(290%); } }\n\n .fs-progress-complete .fs-progress-bar {\n --fs-progress-bar-bg: var(--fs-color-success);\n --fs-progress-color: #{color-contrast($fokus-color-success)};\n }\n\n .fs-progress-error .fs-progress-bar {\n --fs-progress-bar-bg: var(--fs-color-danger);\n --fs-progress-color: #{color-contrast($fokus-color-danger)};\n }\n\n .fs-progress-status {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n margin-top: 6px;\n color: var(--fs-color-muted);\n font-size: $font-size-sm;\n }\n\n .fs-progress-status-icon {\n display: inline-grid;\n width: 14px;\n height: 14px;\n place-items: center;\n color: var(--fs-alert-success-text);\n }\n\n .fs-progress-status-icon .fs-icon {\n width: 14px;\n height: 14px;\n stroke: currentcolor;\n }\n\n .fs-progress-status-danger,\n .fs-progress-error + .fs-progress-status {\n color: var(--fs-alert-danger-text);\n }\n\n .fs-progress-marker {\n position: absolute;\n z-index: 1;\n top: 0;\n bottom: 0;\n left: calc(var(--fs-progress-marker-value) * 1%);\n width: 2px;\n background-color: var(--fs-color-text);\n pointer-events: none;\n transform: translateX(-1px);\n }\n\n .fs-progress-minimum .fs-progress-bar {\n width: max(calc(var(--fs-progress-value, 0) * 1%), 4px);\n }\n\n .fs-progress-bar-striped {\n background-image: linear-gradient(45deg, color-mix(in srgb, currentcolor 16%, transparent) 25%, transparent 25%, transparent 50%, color-mix(in srgb, currentcolor 16%, transparent) 50%, color-mix(in srgb, currentcolor 16%, transparent) 75%, transparent 75%, transparent);\n background-size: 16px 16px;\n }\n .fs-progress-bar-animated { animation: fokus-progress-stripes 1s linear infinite; }\n\n @keyframes fokus-progress-stripes { from { background-position: 16px 0; } to { background-position: 0 0; } }\n\n @media (prefers-reduced-motion: reduce) {\n .fs-spinner {\n --fs-spinner-duration: 1.5s;\n }\n\n .fs-progress-bar-animated {\n animation-duration: 1.5s;\n }\n\n .fs-progress-indeterminate .fs-progress-bar {\n animation-duration: 1.8s;\n }\n }\n}\n","@use \"../../../fokus-core/scss/settings\" as *;\n@use \"../../../fokus-core/scss/tools\" as *;\n@use \"sass:map\";\n\n@layer components {\n .fs-carousel {\n --fs-carousel-radius: var(--fs-radius-md);\n --fs-carousel-transition-duration: var(--fs-transition-normal);\n --fs-carousel-transition-easing: var(--fs-ease-standard);\n --fs-carousel-control-size: 44px;\n --fs-carousel-control-inset: var(--fs-space-2);\n --fs-carousel-control-gap: var(--fs-space-1);\n --fs-carousel-control-color: var(--fs-color-white);\n --fs-carousel-control-paused-color: var(--fs-color-warning);\n --fs-carousel-control-bg: rgb(15 23 42 / 72%);\n --fs-carousel-control-bg-hover: rgb(15 23 42 / 88%);\n --fs-carousel-focus-color: var(--fs-color-white);\n --fs-carousel-indicator-size: 8px;\n --fs-carousel-indicator-active-width: 24px;\n --fs-carousel-indicator-color: rgb(255 255 255 / 62%);\n --fs-carousel-indicator-active-color: var(--fs-color-white);\n --fs-carousel-caption-scrim: rgb(15 23 42 / 78%);\n --fs-carousel-top-safe-area: calc(var(--fs-carousel-control-size) + (var(--fs-carousel-control-inset) * 2));\n --fs-carousel-bottom-safe-area: calc(32px + var(--fs-space-2) + 24px);\n --fs-carousel-progress-height: 3px;\n\n position: relative;\n overflow: hidden;\n border-radius: var(--fs-carousel-radius);\n }\n\n .fs-carousel::before {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n height: calc(var(--fs-carousel-control-size) + (var(--fs-carousel-control-inset) * 2));\n pointer-events: none;\n content: \"\";\n background: linear-gradient(to bottom, rgb(15 23 42 / 76%), rgb(15 23 42 / 32%));\n opacity: 0;\n transition: opacity var(--fs-transition-fast) var(--fs-ease-standard);\n }\n\n .fs-carousel-inner {\n display: flex;\n transition: transform var(--fs-carousel-transition-duration) var(--fs-carousel-transition-easing);\n }\n\n .fs-carousel-item {\n position: relative;\n flex: 0 0 100%;\n width: 100%;\n }\n\n .fs-carousel-item img {\n display: block;\n width: 100%;\n }\n\n .fs-carousel.is-dragging .fs-carousel-inner {\n cursor: grabbing;\n transition: none;\n user-select: none;\n }\n\n .fs-carousel:not(.is-static) .fs-carousel-inner {\n cursor: grab;\n touch-action: pan-y;\n }\n\n .fs-carousel-fade .fs-carousel-inner {\n display: block;\n transform: none;\n }\n\n .fs-carousel-fade .fs-carousel-item {\n position: absolute;\n inset: 0;\n opacity: 0;\n transition: opacity var(--fs-carousel-transition-duration) var(--fs-carousel-transition-easing);\n }\n\n .fs-carousel-fade .fs-carousel-item.is-active {\n position: relative;\n opacity: 1;\n }\n\n .fs-carousel-control-prev,\n .fs-carousel-control-next,\n .fs-carousel-control-toggle {\n position: absolute;\n top: var(--fs-carousel-control-inset);\n z-index: 2;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--fs-carousel-control-size);\n height: var(--fs-carousel-control-size);\n padding: 0;\n color: var(--fs-carousel-control-color);\n background-color: transparent;\n background-repeat: no-repeat;\n background-position: center;\n background-size: 18px 18px;\n border: 0;\n border-radius: 0;\n cursor: pointer;\n opacity: 0;\n transition: background-color var(--fs-transition-fast) var(--fs-ease-standard),\n opacity var(--fs-transition-fast) var(--fs-ease-standard),\n transform var(--fs-transition-fast) var(--fs-ease-standard);\n }\n\n .fs-carousel-control-prev,\n .fs-carousel-control-next {\n transform: none;\n }\n\n .fs-carousel-control-prev {\n left: var(--fs-carousel-control-inset);\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 4 6 9l5 5'/%3E%3C/svg%3E\");\n }\n\n .fs-carousel-control-next {\n left: calc(var(--fs-carousel-control-inset) + var(--fs-carousel-control-size) + var(--fs-carousel-control-gap));\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 4 5 5-5 5'/%3E%3C/svg%3E\");\n }\n\n .fs-carousel-control-toggle {\n left: calc(var(--fs-carousel-control-inset) + var(--fs-carousel-control-size) + var(--fs-carousel-control-gap));\n }\n\n .fs-carousel:has(.fs-carousel-control-toggle) .fs-carousel-control-next {\n left: calc(var(--fs-carousel-control-inset) + ((var(--fs-carousel-control-size) + var(--fs-carousel-control-gap)) * 2));\n }\n\n .fs-carousel-control-toggle[aria-pressed=\"true\"] {\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M7 5v8M11 5v8'/%3E%3C/svg%3E\");\n }\n\n .fs-carousel-control-toggle[aria-pressed=\"false\"] {\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='%23ffffff'%3E%3Cpath d='m7 4 7 5-7 5z'/%3E%3C/svg%3E\");\n }\n\n .fs-carousel.is-autoplay-paused .fs-carousel-control-toggle[aria-pressed=\"true\"] {\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='%23f0b40e' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M7 5v8M11 5v8'/%3E%3C/svg%3E\");\n }\n\n .fs-carousel.is-autoplay-paused .fs-carousel-control-toggle[aria-pressed=\"false\"] {\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='%23f0b40e'%3E%3Cpath d='m7 4 7 5-7 5z'/%3E%3C/svg%3E\");\n }\n\n .fs-carousel-control-prev:hover,\n .fs-carousel-control-next:hover,\n .fs-carousel-control-toggle:hover {\n background-color: var(--fs-carousel-control-bg-hover);\n }\n\n .fs-carousel-control-prev:active,\n .fs-carousel-control-next:active,\n .fs-carousel-control-toggle:active {\n transform: scale(0.94);\n }\n\n .fs-carousel-control-prev:focus-visible,\n .fs-carousel-control-next:focus-visible,\n .fs-carousel-control-toggle:focus-visible,\n .fs-carousel-indicators button:focus-visible {\n @include focus-ring(var(--fs-carousel-focus-color));\n }\n\n .fs-carousel:hover .fs-carousel-control-prev,\n .fs-carousel:hover .fs-carousel-control-next,\n .fs-carousel:hover .fs-carousel-control-toggle,\n .fs-carousel:focus-within .fs-carousel-control-prev,\n .fs-carousel:focus-within .fs-carousel-control-next,\n .fs-carousel:focus-within .fs-carousel-control-toggle {\n opacity: 1;\n }\n\n .fs-carousel:hover::before,\n .fs-carousel:focus-within::before {\n opacity: 1;\n }\n\n .fs-carousel-indicators {\n position: absolute;\n right: 0;\n bottom: var(--fs-space-2);\n left: 0;\n z-index: 1;\n display: flex;\n justify-content: center;\n gap: 0;\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n .fs-carousel-indicators button {\n position: relative;\n display: grid;\n width: 28px;\n height: 32px;\n padding: 0;\n place-items: center;\n background: transparent;\n border: 0;\n cursor: pointer;\n }\n\n .fs-carousel-indicators button::before {\n width: var(--fs-carousel-indicator-size);\n height: var(--fs-carousel-indicator-size);\n content: \"\";\n background-color: var(--fs-carousel-indicator-color);\n border-radius: var(--fs-radius-lg);\n transition: width var(--fs-transition-fast) var(--fs-ease-standard),\n background-color var(--fs-transition-fast) var(--fs-ease-standard);\n }\n\n .fs-carousel-indicators button.is-active::before {\n width: var(--fs-carousel-indicator-active-width);\n background-color: var(--fs-carousel-indicator-active-color);\n }\n\n .fs-carousel-caption {\n position: absolute;\n right: 0;\n bottom: var(--fs-carousel-bottom-safe-area);\n left: 0;\n z-index: 1;\n box-sizing: border-box;\n max-width: min(100%, 42rem);\n max-block-size: calc(100% - var(--fs-carousel-top-safe-area) - var(--fs-carousel-bottom-safe-area));\n isolation: isolate;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: var(--fs-space-2);\n padding: calc(var(--fs-space-4) + 20px) var(--fs-space-4) var(--fs-space-3);\n color: var(--fs-color-white);\n }\n\n .fs-carousel-caption::before {\n position: absolute;\n top: 0;\n right: 0;\n bottom: calc(var(--fs-carousel-bottom-safe-area) * -1);\n left: 0;\n z-index: -1;\n content: \"\";\n background: linear-gradient(to top, var(--fs-carousel-caption-scrim), transparent);\n }\n\n .fs-carousel-caption > * {\n margin: 0;\n }\n\n .fs-carousel-caption .fs-btn {\n --fs-btn-color: var(--fs-color-text-primary);\n --fs-btn-bg: var(--fs-color-white);\n --fs-btn-border-color: var(--fs-color-white);\n --fs-btn-hover-bg: var(--fs-color-subtle);\n --fs-btn-active-bg: var(--fs-color-border-default);\n }\n\n .fs-carousel-caption-side .fs-carousel-caption {\n top: var(--fs-carousel-top-safe-area);\n right: 0;\n bottom: 0;\n left: auto;\n width: min(42%, 28rem);\n max-width: none;\n max-block-size: none;\n padding: var(--fs-space-4) var(--fs-space-4)\n calc(var(--fs-carousel-bottom-safe-area) + var(--fs-space-2));\n background: rgb(15 23 42 / 84%);\n }\n\n // A legenda lateral fica à direita por padrão. Esta variação permite\n // preservar o assunto principal da imagem quando ele estiver à direita.\n .fs-carousel-caption-side .fs-carousel-caption-start {\n right: auto;\n left: 0;\n }\n\n .fs-carousel-caption-side .fs-carousel-caption::before,\n .fs-carousel-caption-stacked .fs-carousel-caption::before {\n display: none;\n }\n\n .fs-carousel-caption-stacked {\n --fs-carousel-bottom-safe-area: 0px;\n }\n\n .fs-carousel-caption-stacked .fs-carousel-caption {\n position: static;\n max-width: none;\n max-block-size: none;\n overflow: visible;\n padding: var(--fs-space-4);\n color: var(--fs-color-text-primary);\n background: var(--fs-color-bg-surface);\n }\n\n .fs-carousel-caption-stacked .fs-carousel-indicators {\n position: relative;\n bottom: auto;\n background: var(--fs-color-bg-surface);\n }\n\n .fs-carousel-counter {\n position: absolute;\n right: var(--fs-space-3);\n bottom: var(--fs-space-2);\n z-index: 2;\n color: var(--fs-color-white);\n font-size: $font-size-sm;\n font-variant-numeric: tabular-nums;\n }\n\n .fs-carousel-progress {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 2;\n height: var(--fs-carousel-progress-height);\n overflow: hidden;\n background-color: rgb(255 255 255 / 24%);\n }\n\n .fs-carousel-progress > span {\n display: block;\n width: 100%;\n height: 100%;\n background-color: var(--fs-color-white);\n transform: scaleX(0);\n transform-origin: left;\n }\n\n .fs-carousel-progress.is-running > span {\n animation: fs-carousel-progress var(--fs-carousel-progress-duration, 5000ms) linear forwards;\n }\n\n .fs-carousel.is-two-slides.fs-carousel-hide-indicators-two .fs-carousel-indicators {\n display: none;\n }\n\n .fs-carousel-no-media .fs-carousel-item {\n min-block-size: 15rem;\n background-color: var(--fs-color-bg-surface);\n border: var(--fs-border-width) solid var(--fs-color-border-default);\n }\n\n .fs-carousel-no-media .fs-carousel-counter {\n color: var(--fs-color-text-muted);\n }\n\n .fs-carousel-no-media .fs-carousel-progress {\n background-color: var(--fs-color-border-default);\n }\n\n .fs-carousel-no-media .fs-carousel-progress > span {\n background-color: var(--fs-color-action-primary);\n }\n\n .fs-carousel-media-placeholder {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n min-height: inherit;\n padding: calc(var(--fs-carousel-top-safe-area) + var(--fs-space-4)) var(--fs-space-4)\n calc(var(--fs-carousel-bottom-safe-area) + var(--fs-space-4));\n }\n\n .fs-carousel-media-placeholder > * {\n max-width: 36rem;\n margin: 0;\n }\n\n .fs-carousel-media-placeholder > * + * {\n margin-top: var(--fs-space-2);\n }\n\n .fs-carousel-media {\n min-block-size: 18rem;\n background-position: center;\n background-size: cover;\n }\n\n .fs-carousel.is-static .fs-carousel-control-prev,\n .fs-carousel.is-static .fs-carousel-control-next,\n .fs-carousel.is-static .fs-carousel-control-toggle,\n .fs-carousel.is-static .fs-carousel-indicators {\n display: none;\n }\n\n @media (max-width: map.get($breakpoints, sm) - 1px) {\n .fs-carousel {\n --fs-carousel-control-inset: var(--fs-space-1);\n }\n\n .fs-carousel-caption {\n padding: calc(var(--fs-space-3) + 20px) var(--fs-space-3) var(--fs-space-3);\n }\n\n .fs-carousel-caption-side .fs-carousel-caption {\n top: auto;\n bottom: var(--fs-carousel-bottom-safe-area);\n width: auto;\n max-block-size: calc(100% - var(--fs-carousel-top-safe-area) - var(--fs-carousel-bottom-safe-area));\n overflow: clip;\n align-items: flex-end;\n padding: calc(var(--fs-space-3) + 20px) var(--fs-space-3)\n calc(var(--fs-carousel-bottom-safe-area) + var(--fs-space-2));\n text-align: end;\n background: transparent;\n }\n\n .fs-carousel-caption-side .fs-carousel-caption-start {\n right: 0;\n left: 0;\n align-items: flex-start;\n text-align: start;\n }\n\n .fs-carousel-caption-side .fs-carousel-item::after {\n position: absolute;\n inset: 0;\n z-index: 0;\n pointer-events: none;\n content: \"\";\n background: linear-gradient(\n to top,\n var(--fs-carousel-caption-scrim) 0%,\n rgb(15 23 42 / 52%) 56%,\n transparent 100%\n );\n }\n }\n\n @media (prefers-reduced-motion: reduce) {\n .fs-carousel-inner,\n .fs-carousel-fade .fs-carousel-item,\n .fs-carousel-control-prev,\n .fs-carousel-control-next,\n .fs-carousel-control-toggle,\n .fs-carousel-indicators button::before,\n .fs-carousel-progress.is-running > span {\n transition: none;\n animation: none;\n transform: scaleX(1);\n }\n }\n\n @keyframes fs-carousel-progress {\n to {\n transform: scaleX(1);\n }\n }\n}\n","@use \"../../../fokus-core/scss/settings\" as *;\n@use \"../../../fokus-core/scss/tools\" as *;\n\n// Stepper / Wizard. Cabeçalho com os passos (`.fs-step`) e, opcionalmente, painéis\n// de conteúdo (`.fs-step-panel`) e ações de navegação (`.fs-stepper-actions`).\n// Estados por passo: padrão (pendente), `.fs-step-active`, `.fs-step-completed`,\n// `.fs-step-error` — controlados por `js/stepper.js`.\n\n@layer components {\n .fs-stepper-header {\n display: flex;\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n .fs-step {\n position: relative;\n display: flex;\n flex: 1 1 0;\n flex-direction: column;\n align-items: center;\n gap: 8px;\n text-align: center;\n }\n\n .fs-step-indicator {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n color: var(--fs-color-muted);\n background-color: var(--fs-color-surface);\n border: 2px solid var(--fs-color-border);\n border-radius: 50%;\n font-size: $font-size-sm;\n font-weight: $font-weight-medium;\n }\n\n .fs-step-label {\n color: var(--fs-color-muted);\n font-size: $font-size-sm;\n font-weight: $font-weight-medium;\n }\n\n .fs-step-description {\n color: var(--fs-color-muted);\n font-size: $font-size-xs;\n }\n\n // Conector entre passos: linha do centro deste passo ao centro do próximo.\n .fs-step:not(:last-child)::after {\n content: \"\";\n position: absolute;\n top: 15px;\n left: calc(50% + 20px);\n width: calc(100% - 40px);\n height: 2px;\n background-color: var(--fs-color-border);\n }\n\n // Passo ativo.\n .fs-step-active .fs-step-indicator {\n color: var(--fs-color-on-primary);\n background-color: var(--fs-color-primary);\n border-color: var(--fs-color-primary);\n }\n\n .fs-step-active .fs-step-label {\n color: var(--fs-color-text);\n }\n\n // Passo concluído: círculo preenchido com um \"check\" no lugar do número, e o\n // conector à direita fica na cor primária (indica progresso).\n .fs-step-completed .fs-step-indicator {\n color: transparent;\n background-color: var(--fs-color-primary);\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 8.5 6.5 12 13 4'/%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n background-position: center;\n border-color: var(--fs-color-primary);\n }\n\n .fs-step-completed .fs-step-label {\n color: var(--fs-color-text);\n }\n\n // `:not(:last-child)` casa a especificidade da regra base do conector\n // (senão o cinza dela venceria e o progresso não apareceria).\n .fs-step-completed:not(:last-child)::after {\n background-color: var(--fs-color-primary);\n }\n\n // Passo em erro.\n .fs-step-error .fs-step-indicator {\n color: color-contrast($fokus-color-danger);\n background-color: var(--fs-color-danger);\n border-color: var(--fs-color-danger);\n }\n\n .fs-step-error .fs-step-label {\n color: var(--fs-alert-danger-text);\n }\n\n // Passo clicável (navegação para trás via cabeçalho).\n .fs-step.fs-step-clickable {\n cursor: pointer;\n }\n\n .fs-step.fs-step-clickable:focus-visible {\n outline: 2px solid var(--fs-color-primary);\n outline-offset: 2px;\n border-radius: var(--fs-radius-sm);\n }\n\n // Variante vertical.\n .fs-stepper-vertical .fs-stepper-header {\n flex-direction: column;\n }\n\n .fs-stepper-vertical .fs-step {\n flex-direction: row;\n flex: 0 0 auto;\n align-items: flex-start;\n gap: 12px;\n min-height: 56px;\n text-align: left;\n }\n\n .fs-stepper-vertical .fs-step-content {\n display: flex;\n flex-direction: column;\n gap: 2px;\n padding-top: 5px;\n }\n\n .fs-stepper-vertical .fs-step:not(:last-child)::after {\n top: 34px;\n left: 15px;\n width: 2px;\n height: calc(100% - 22px);\n }\n\n // Painéis de conteúdo (wizard) e ações de navegação.\n .fs-step-panel {\n display: none;\n }\n\n .fs-step-panel.is-active {\n display: block;\n }\n\n .fs-stepper-content {\n margin-top: 20px;\n }\n\n .fs-stepper-actions {\n display: flex;\n justify-content: space-between;\n gap: 8px;\n margin-top: 20px;\n }\n}\n","@use \"../../../fokus-core/scss/settings\" as *;\n@use \"../../../fokus-core/scss/tools\" as *;\n\n// Grupo de botões com estado selecionado. Modo exclusivo: `<input\n// type=\"radio\">` (mesmo `name` em todos os itens). Modo inclusivo: `<input\n// type=\"checkbox\">`, cada item seleciona/deseleciona de forma independente.\n// O input fica visualmente oculto (mesma técnica de `.fs-file-input`,\n// scss/forms/_forms.scss) e o `<label>` irmão recebe o estilo.\n\n@layer components {\n .fs-segmented-control {\n display: inline-flex;\n border: 1px solid var(--fs-color-border);\n border-radius: var(--fs-radius-sm);\n overflow: hidden;\n }\n\n .fs-segmented-item {\n display: flex;\n }\n\n .fs-segmented-item:not(:first-child) .fs-segmented-label {\n border-left: 1px solid var(--fs-color-border);\n }\n\n .fs-segmented-input {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip-path: inset(50%);\n white-space: nowrap;\n border: 0;\n }\n\n .fs-segmented-label {\n display: inline-flex;\n flex: 1;\n align-items: center;\n justify-content: center;\n min-height: 38px;\n padding: 0 12px;\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface);\n font-size: $font-size-md;\n font-weight: $font-weight-medium;\n text-align: center;\n white-space: nowrap;\n cursor: pointer;\n user-select: none;\n transition: background-color 0.15s ease-in-out, color 0.15s ease-in-out;\n }\n\n .fs-segmented-label:hover {\n background-color: var(--fs-color-subtle);\n }\n\n .fs-segmented-input:checked + .fs-segmented-label {\n color: var(--fs-color-on-primary);\n background-color: var(--fs-color-primary);\n }\n\n .fs-segmented-input:focus-visible + .fs-segmented-label {\n position: relative;\n z-index: 1;\n\n @include focus-ring;\n }\n\n .fs-segmented-input:disabled + .fs-segmented-label {\n opacity: 0.4;\n pointer-events: none;\n }\n\n .fs-segmented-control-sm .fs-segmented-label {\n min-height: 30px;\n padding: 0 8px;\n font-size: $font-size-sm;\n }\n\n .fs-segmented-control-lg .fs-segmented-label {\n min-height: 46px;\n padding: 0 16px;\n font-size: $font-size-lg;\n }\n}\n","@use \"../../../fokus-core/scss/settings\" as *;\n\n// Placeholder de carregamento. Tamanho/forma controlados por largura/altura\n// inline (`style=\"width: ...; height: ...\"`) ou pelas variantes abaixo —\n// mesma abordagem de `.fs-progress-bar` (scss/components/_spinner.scss), que já\n// usa `style=\"width\"` em vez de classes de tamanho fixas.\n\n@layer components {\n .fs-skeleton {\n display: block;\n background-color: var(--fs-color-subtle);\n border-radius: var(--fs-radius-sm);\n animation: fokus-skeleton-pulse 1.5s ease-in-out infinite;\n }\n\n .fs-skeleton-text {\n width: 100%;\n height: 1em;\n }\n\n .fs-skeleton-text:not(:last-child) {\n margin-bottom: 0.5em;\n }\n\n .fs-skeleton-text:last-child {\n width: 80%;\n }\n\n .fs-skeleton-circle {\n flex-shrink: 0;\n border-radius: 50%;\n }\n\n .fs-skeleton-rect {\n border-radius: var(--fs-radius-md);\n }\n\n .fs-skeleton-card {\n display: grid;\n gap: var(--fs-space-3);\n min-height: 10rem;\n padding: var(--fs-space-4);\n border-radius: var(--fs-radius-md);\n }\n\n .fs-skeleton-table {\n height: 1.25rem;\n margin-block-end: var(--fs-space-2);\n }\n\n .fs-skeleton-avatar {\n width: 2.5rem;\n height: 2.5rem;\n border-radius: 50%;\n }\n\n @keyframes fokus-skeleton-pulse {\n 0%,\n 100% {\n opacity: 1;\n }\n\n 50% {\n opacity: 0.5;\n }\n }\n\n // Variante \"wave\": em vez de pulsar a opacidade inteira, varre um brilho da\n // esquerda pra direita — precisa de `overflow: hidden` porque o brilho é um\n // pseudo-elemento maior que o próprio skeleton, deslocado por `translateX`.\n .fs-skeleton-wave {\n position: relative;\n overflow: hidden;\n animation: none;\n }\n\n .fs-skeleton-wave::after {\n position: absolute;\n inset: 0;\n content: \"\";\n background-image: linear-gradient(90deg, transparent, rgb(255 255 255 / 30%), transparent);\n transform: translateX(-100%);\n animation: fokus-skeleton-wave 1.6s linear infinite;\n }\n\n @keyframes fokus-skeleton-wave {\n 100% {\n transform: translateX(100%);\n }\n }\n\n @media (prefers-reduced-motion: reduce) {\n .fs-skeleton {\n animation: none;\n }\n\n .fs-skeleton-wave::after {\n animation: none;\n }\n }\n}\n","@use \"../../../fokus-core/scss/settings\" as *;\n\n// Linha do tempo, 100% CSS. Vertical por padrão (`.fs-timeline`); variante\n// `.fs-timeline-horizontal` inverte o eixo. Estados por item (`.fs-timeline-item`):\n// padrão (pendente), `.fs-timeline-active`, `.fs-timeline-completed`,\n// `.fs-timeline-failed` — mesma lógica de conector do Stepper\n// (scss/components/_stepper.scss): a linha entre marcadores fica na cor do\n// item concluído para indicar progresso.\n\n@layer components {\n .fs-timeline {\n display: flex;\n flex-direction: column;\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n .fs-timeline-item {\n position: relative;\n display: flex;\n gap: 12px;\n padding-bottom: 24px;\n }\n\n .fs-timeline-item:last-child {\n padding-bottom: 0;\n }\n\n .fs-timeline-marker {\n flex-shrink: 0;\n width: 16px;\n height: 16px;\n margin-top: 3px;\n background-color: var(--fs-color-surface);\n background-repeat: no-repeat;\n background-position: center;\n border: 2px solid var(--fs-color-border);\n border-radius: 50%;\n }\n\n .fs-timeline-item:not(:last-child)::before {\n content: \"\";\n position: absolute;\n top: 22px;\n left: 7px;\n width: 2px;\n height: calc(100% - 22px);\n background-color: var(--fs-color-border);\n }\n\n .fs-timeline-content {\n flex: 1;\n padding-top: 1px;\n }\n\n .fs-timeline-title {\n margin: 0;\n color: var(--fs-color-text);\n font-size: $font-size-md;\n font-weight: $font-weight-medium;\n }\n\n .fs-timeline-text {\n margin: 4px 0 0;\n color: var(--fs-color-muted);\n font-size: $font-size-sm;\n }\n\n .fs-timeline-time {\n display: block;\n margin-top: 2px;\n color: var(--fs-color-muted);\n font-size: $font-size-xs;\n }\n\n // Item ativo (em andamento).\n .fs-timeline-active .fs-timeline-marker {\n background-color: var(--fs-color-primary);\n border-color: var(--fs-color-primary);\n }\n\n // Item concluído: marcador preenchido com um \"check\" (mesmo ícone do\n // Stepper) e o conector seguinte fica na cor de sucesso (indica progresso).\n .fs-timeline-completed .fs-timeline-marker {\n background-color: var(--fs-color-success);\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' fill='none' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 5.5 4 8l4-6'/%3E%3C/svg%3E\");\n border-color: var(--fs-color-success);\n }\n\n .fs-timeline-completed:not(:last-child)::before {\n background-color: var(--fs-color-success);\n }\n\n // Item com falha.\n .fs-timeline-failed .fs-timeline-marker {\n background-color: var(--fs-color-danger);\n border-color: var(--fs-color-danger);\n }\n\n .fs-timeline-failed .fs-timeline-title {\n color: var(--fs-alert-danger-text);\n }\n\n // Variante horizontal: cada item vira uma coluna, marcador no topo e\n // conector correndo na horizontal entre os centros dos marcadores (mesma\n // técnica do `.fs-step` padrão em scss/components/_stepper.scss).\n .fs-timeline-horizontal {\n flex-direction: row;\n }\n\n .fs-timeline-horizontal .fs-timeline-item {\n flex: 1 1 0;\n flex-direction: column;\n align-items: center;\n gap: 8px;\n padding-bottom: 0;\n text-align: center;\n }\n\n // No modo horizontal o marcador não precisa do deslocamento vertical usado\n // para alinhar com a primeira linha de texto (margin-top no modo vertical);\n // zerá-lo faz o conector cair exatamente no centro do círculo.\n .fs-timeline-horizontal .fs-timeline-marker {\n margin-top: 0;\n }\n\n .fs-timeline-horizontal .fs-timeline-item:not(:last-child)::before {\n top: 7px;\n left: calc(50% + 15px);\n width: calc(100% - 30px);\n height: 2px;\n }\n\n .fs-timeline-horizontal .fs-timeline-content {\n padding-top: 0;\n }\n}\n","// Extraído do padrão já usado por `.fs-accordion-collapse`\n// (scss/components/_accordion.scss): o `overflow: hidden` é exigido pelo\n// `collapse()`/`expand()` de js/core/transition.js, que anima a propriedade\n// `height` do elemento.\n\n@layer components {\n .fs-collapse {\n overflow: hidden;\n }\n}\n","@use \"../../../fokus-core/scss/settings\" as *;\n@use \"../../../fokus-core/scss/tools\" as *;\n\n// Notification Center (Etapa 10): orquestra o Toast (scss/components/_toasts.scss)\n// e guarda um histórico. Os toasts em si reaproveitam `.fs-toast`/`.fs-toast-container`\n// sem estilo novo; aqui ficam só o contador de não-lidas no gatilho e o painel\n// de histórico. O comportamento (empilhar toasts, marcar lido, persistir) é do\n// js/notification-center.js (FokusStyles.NotificationCenter).\n\n// O gatilho estabelece o contexto de posicionamento do contador.\n\n@layer components {\n [data-fs=\"notification-center\"] {\n position: relative;\n }\n\n .fs-notification-badge {\n position: absolute;\n top: -6px;\n right: -6px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-width: 18px;\n height: 18px;\n padding: 0 5px;\n border-radius: 999px;\n color: color-contrast($fokus-color-danger);\n background-color: var(--fs-color-danger);\n font-size: 0.65rem;\n font-weight: $font-weight-medium;\n line-height: 1;\n }\n\n .fs-notification-badge[hidden] {\n display: none;\n }\n\n // Painel de histórico: reaproveita a mesma linguagem visual do Dropdown/Toast\n // (superfície + borda + sombra), posicionado via js/core/positioning.js.\n .fs-notification-center {\n position: absolute;\n display: none;\n flex-direction: column;\n width: min(320px, calc(100vw - 2 * var(--fs-space-3)));\n max-height: 420px;\n border: 1px solid var(--fs-color-border);\n border-radius: var(--fs-radius-md);\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface);\n box-shadow: var(--fs-shadow-md);\n z-index: var(--fs-z-notification);\n }\n\n .fs-notification-center.is-open {\n display: flex;\n }\n\n .fs-notification-center-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 10px 14px;\n border-bottom: 1px solid var(--fs-color-border);\n }\n\n .fs-notification-center-title {\n font-size: $font-size-sm;\n font-weight: $font-weight-medium;\n }\n\n .fs-notification-list {\n margin: 0;\n padding: 0;\n overflow-y: auto;\n list-style: none;\n }\n\n .fs-notification-item {\n display: flex;\n gap: 10px;\n align-items: flex-start;\n padding: 10px 14px;\n border-left: 3px solid transparent;\n border-bottom: 1px solid var(--fs-color-border);\n }\n\n .fs-notification-item:last-child {\n border-bottom: none;\n }\n\n .fs-notification-item-unread {\n background-color: var(--fs-color-subtle);\n }\n\n @each $name, $color in $theme-colors {\n .fs-notification-item-#{$name} {\n border-left-color: var(--fs-color-#{$name});\n }\n }\n\n .fs-notification-item-content {\n flex: 1;\n min-width: 0;\n }\n\n .fs-notification-item-title {\n margin: 0;\n font-size: $font-size-sm;\n font-weight: $font-weight-medium;\n }\n\n .fs-notification-item-text {\n margin: 2px 0 0;\n color: var(--fs-color-muted);\n font-size: $font-size-sm;\n }\n\n .fs-notification-item-time {\n display: block;\n margin-top: 4px;\n color: var(--fs-color-muted);\n font-size: $font-size-xs;\n }\n\n .fs-notification-item .fs-btn-close {\n flex-shrink: 0;\n width: 16px;\n height: 16px;\n }\n\n .fs-notification-empty {\n padding: 24px 14px;\n color: var(--fs-color-muted);\n font-size: $font-size-sm;\n text-align: center;\n }\n\n .fs-notification-empty[hidden] {\n display: none;\n }\n}\n","@use \"../../../fokus-core/scss/settings\" as *;\n\n// Nested Menu (Etapa 10): Dropdown com submenus recursivos. Reaproveita\n// `.fs-dropdown-menu`/`.fs-dropdown-item` (scss/components/_dropdown.scss) sem\n// reestilizar — só adiciona o posicionamento em cascata dos submenus e a seta\n// indicadora. Abertura por hover é 100% CSS; teclado/clique e o flip de borda\n// ficam no js/nested-menu.js (FokusStyles.NestedMenu), que adiciona `.is-open`.\n\n// Cada nível de submenu é envolto por `.fs-dropdown-submenu`, que serve de âncora\n// de posicionamento para o `.fs-dropdown-menu` filho.\n\n@layer components {\n .fs-dropdown-submenu {\n position: relative;\n }\n\n // Item que abre um submenu: seta apontando para o lado (em vez da seta pra\n // baixo do `.fs-dropdown-toggle`), empurrada para a direita do item.\n .fs-dropdown-item-submenu {\n justify-content: space-between;\n }\n\n .fs-dropdown-item-submenu::after {\n margin-left: 8px;\n content: \"\";\n border-top: 5px solid transparent;\n border-bottom: 5px solid transparent;\n border-left: 5px solid currentcolor;\n }\n\n // Submenu abre à direita do item, alinhado ao topo (compensa o padding + borda\n // do menu pai para os primeiros itens ficarem na mesma linha).\n .fs-dropdown-submenu > .fs-dropdown-menu {\n top: -7px;\n left: 100%;\n margin: 0;\n }\n\n .fs-dropdown-submenu:hover > .fs-dropdown-menu,\n .fs-dropdown-submenu > .fs-dropdown-menu.is-open {\n display: block;\n }\n\n // Sem espaço à direita: o JS marca `.fs-dropdown-submenu-left` e o submenu abre\n // para a esquerda.\n .fs-dropdown-submenu-left > .fs-dropdown-menu {\n right: 100%;\n left: auto;\n }\n}\n","@use \"../../../fokus-core/scss/settings\" as *;\n@use \"../../../fokus-core/scss/tools\" as *;\n\n// Tile: linha compacta ícone + título/subtítulo + ações, para listas de\n// opções/configurações/itens de navegação (sinergia com Notification Center\n// e Empty State — mesmo vocabulário visual de ícone+texto). Reusa `.fs-btn`\n// nas ações e `.fs-stretched-link` (_cards.scss) para a variante clicável\n// (tile inteiro age como link, sem precisar envolver tudo numa `<a>`).\n@layer components {\n .fs-tile {\n position: relative;\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 12px;\n border: 1px solid var(--fs-color-border);\n border-radius: var(--fs-radius-md);\n background-color: var(--fs-color-surface);\n }\n\n .fs-tile-icon {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n width: 40px;\n height: 40px;\n border-radius: var(--fs-radius-sm);\n color: var(--fs-color-text);\n background-color: var(--fs-color-subtle);\n font-size: $font-size-lg;\n }\n\n .fs-tile-body {\n flex: 1 1 auto;\n min-width: 0;\n }\n\n .fs-tile-title {\n margin: 0;\n color: var(--fs-color-text);\n font-size: $font-size-md;\n font-weight: $font-weight-medium;\n\n @include truncate;\n }\n\n .fs-tile-subtitle {\n margin: 0;\n color: var(--fs-color-muted);\n font-size: $font-size-sm;\n\n @include truncate;\n }\n\n .fs-tile-actions {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n gap: 8px;\n }\n\n // Ações embaixo: o tile quebra linha (flex-wrap) e `.fs-tile-actions` ocupa\n // a largura toda numa segunda linha, alinhada à direita — em vez do padrão\n // (ações à direita, na mesma linha do ícone/corpo).\n .fs-tile-actions-bottom {\n flex-wrap: wrap;\n }\n\n .fs-tile-actions-bottom .fs-tile-actions {\n flex-basis: 100%;\n justify-content: flex-end;\n margin-top: 4px;\n }\n\n // Tile inteiro clicável: usa `.fs-stretched-link` num link dentro do corpo\n // (mesma técnica do Card) — o hover/focus visual fica no `.fs-tile`.\n .fs-tile-clickable {\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n }\n\n .fs-tile-clickable:hover,\n .fs-tile-clickable:focus-within {\n border-color: var(--fs-color-primary);\n box-shadow: var(--fs-shadow-sm);\n }\n\n .fs-tile-sm {\n gap: 8px;\n padding: 8px;\n }\n\n .fs-tile-sm .fs-tile-icon {\n width: 32px;\n height: 32px;\n font-size: $font-size-md;\n }\n\n .fs-tile-sm .fs-tile-title {\n font-size: $font-size-sm;\n }\n\n .fs-tile-sm .fs-tile-subtitle {\n font-size: $font-size-xs;\n }\n\n .fs-tile-lg {\n gap: 16px;\n padding: 16px;\n }\n\n .fs-tile-lg .fs-tile-icon {\n width: 48px;\n height: 48px;\n font-size: $font-size-xl;\n }\n\n .fs-tile-lg .fs-tile-title {\n font-size: $font-size-lg;\n }\n}\n","/* stylelint-disable declaration-block-single-line-max-declarations */\n@layer components {\n .fs-avatar {\n display: inline-flex;\n flex: 0 0 auto;\n align-items: center;\n justify-content: center;\n width: 2.5rem;\n height: 2.5rem;\n overflow: hidden;\n color: var(--fs-color-on-primary);\n font-weight: 600;\n background: var(--fs-color-primary);\n border-radius: 50%;\n object-fit: cover;\n }\n\n .fs-avatar-sm { width: 2rem; height: 2rem; font-size: .8125rem; }\n .fs-avatar-lg { width: 3.5rem; height: 3.5rem; font-size: 1.25rem; }\n .fs-avatar-square { border-radius: var(--fs-radius-md); }\n .fs-avatar img { width: 100%; height: 100%; object-fit: cover; }\n}\n","/* stylelint-disable declaration-block-single-line-max-declarations */\n@layer components {\n .fs-button-group {\n display: inline-flex;\n vertical-align: middle;\n }\n\n .fs-button-group > .fs-btn { border-radius: 0; }\n .fs-button-group > .fs-btn:first-child { border-start-start-radius: var(--fs-radius-sm); border-end-start-radius: var(--fs-radius-sm); }\n .fs-button-group > .fs-btn:last-child { border-start-end-radius: var(--fs-radius-sm); border-end-end-radius: var(--fs-radius-sm); }\n .fs-button-group > .fs-btn + .fs-btn { margin-inline-start: -1px; }\n .fs-button-group-vertical { flex-direction: column; align-items: flex-start; }\n .fs-button-group-vertical > .fs-btn { width: 100%; }\n}\n","/* stylelint-disable declaration-block-single-line-max-declarations */\n@layer components {\n .fs-close {\n display: inline-grid;\n width: 2rem;\n height: 2rem;\n place-items: center;\n padding: 0;\n color: currentcolor;\n font-size: 1.5rem;\n line-height: 1;\n background: transparent;\n border: 0;\n border-radius: 50%;\n cursor: pointer;\n opacity: .72;\n }\n\n .fs-close::before { content: \"×\"; }\n .fs-close:hover { opacity: 1; background: var(--fs-color-subtle); }\n .fs-close:focus-visible { outline: var(--fs-focus-width) solid var(--fs-focus-color); outline-offset: var(--fs-focus-offset); }\n}\n","/* stylelint-disable declaration-block-single-line-max-declarations */\n@layer components {\n .fs-list-group {\n display: flex;\n flex-direction: column;\n padding: 0;\n margin: 0;\n list-style: none;\n border: 1px solid var(--fs-color-border);\n border-radius: var(--fs-radius-md);\n }\n\n .fs-list-group-item {\n position: relative;\n display: block;\n padding: var(--fs-space-3) var(--fs-space-4);\n color: var(--fs-color-text);\n background: var(--fs-color-surface);\n border-block-end: 1px solid var(--fs-color-border);\n }\n\n .fs-list-group-item:last-child { border-block-end: 0; }\n button.fs-list-group-item, a.fs-list-group-item { width: 100%; text-align: start; cursor: pointer; }\n .fs-list-group-item:hover { background: var(--fs-color-subtle); }\n .fs-list-group-item.is-active { color: var(--fs-color-on-primary); background: var(--fs-color-primary); }\n}\n","@layer components {\n .fs-code {\n padding: .125em .35em;\n color: var(--fs-color-danger);\n background: var(--fs-color-subtle);\n border-radius: var(--fs-radius-sm);\n }\n\n .fs-pre {\n display: block;\n max-width: 100%;\n padding: var(--fs-space-4);\n overflow: auto;\n color: var(--fs-color-text);\n background: var(--fs-color-subtle);\n border: 1px solid var(--fs-color-border);\n border-radius: var(--fs-radius-md);\n }\n}\n","/* stylelint-disable declaration-block-single-line-max-declarations */\n@layer components {\n .fs-ratio { position: relative; width: 100%; }\n .fs-ratio::before { display: block; padding-top: var(--fs-ratio, 56.25%); content: \"\"; }\n .fs-ratio > * { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }\n .fs-ratio-1x1 { --fs-ratio: 100%; }\n .fs-ratio-4x3 { --fs-ratio: 75%; }\n .fs-ratio-16x9 { --fs-ratio: 56.25%; }\n .fs-ratio-21x9 { --fs-ratio: 42.857%; }\n}\n","/* stylelint-disable declaration-block-single-line-max-declarations */\n@layer components {\n .fs-icon-link { display: inline-flex; gap: .5em; align-items: center; }\n .fs-icon-link svg { width: 1em; height: 1em; flex: 0 0 auto; }\n .fs-icon-link:hover svg { transform: translateX(.15em); }\n\n @media (prefers-reduced-motion: reduce) { .fs-icon-link svg { transition: none; } }\n}\n","/* stylelint-disable declaration-block-single-line-max-declarations */\n@layer components {\n .fs-placeholder { display: inline-block; min-height: 1em; vertical-align: middle; cursor: wait; background: currentcolor; opacity: .18; }\n .fs-placeholder-glow { animation: fs-placeholder-glow 1.5s ease-in-out infinite; }\n .fs-placeholder-wave { background: linear-gradient(90deg, transparent, rgb(255 255 255 / 35%), transparent), currentcolor; background-size: 200% 100%; animation: fs-placeholder-wave 1.5s linear infinite; }\n .fs-placeholder-btn { width: 6rem; height: 2.5rem; border-radius: var(--fs-radius-sm); }\n\n @keyframes fs-placeholder-glow { 50% { opacity: .08; } }\n\n @keyframes fs-placeholder-wave { to { background-position: -200% 0; } }\n\n @media (prefers-reduced-motion: reduce) { .fs-placeholder-glow, .fs-placeholder-wave { animation: none; } }\n}\n","/* stylelint-disable declaration-block-single-line-max-declarations */\n@layer components {\n .fs-progress { display: flex; height: .75rem; overflow: hidden; background: var(--fs-color-subtle); border-radius: 999px; }\n .fs-progress-bar { display: flex; align-items: center; justify-content: center; color: var(--fs-color-on-primary); background: var(--fs-color-primary); transition: width var(--fs-motion-duration-normal) var(--fs-motion-ease-standard); }\n .fs-progress-bar-striped { background-image: linear-gradient(45deg, rgb(255 255 255 / 15%) 25%, transparent 25%, transparent 50%, rgb(255 255 255 / 15%) 50%, rgb(255 255 255 / 15%) 75%, transparent 75%); background-size: 1rem 1rem; }\n\n @media (prefers-reduced-motion: reduce) { .fs-progress-bar { transition: none; } }\n}\n","/* stylelint-disable declaration-block-single-line-max-declarations */\n@layer components {\n [data-fs-scrollspy] .is-active { color: var(--fs-color-primary); font-weight: 600; }\n .fs-scrollspy-nav { position: sticky; inset-block-start: var(--fs-space-4); }\n}\n","@use \"../../../fokus-core/scss/settings\" as *;\n\n// Utilitários de container query — reagem à largura do container mais\n// próximo (`.fs-u-cq`), não da viewport. Complementam (não substituem) os\n// utilitários de display responsivos por viewport já existentes\n// (`_display.scss`); ver `docs/guides/layout-advanced.md`.\n@layer utilities {\n // Opt-in: aplique num elemento pai pra que os filhos possam reagir à\n // largura dele via os utilitários `.fs-u-cq-{sm,md,lg}-d-*` abaixo.\n .fs-u-cq {\n container-type: inline-size;\n }\n\n @each $name, $width in $container-breakpoints {\n @container (min-width: #{$width}) {\n .fs-u-cq-#{$name}-d-none {\n display: none;\n }\n\n .fs-u-cq-#{$name}-d-block {\n display: block;\n }\n\n .fs-u-cq-#{$name}-d-inline-block {\n display: inline-block;\n }\n\n .fs-u-cq-#{$name}-d-flex {\n display: flex;\n }\n }\n }\n}\n","@layer utilities {\n .fs-u-d-none {\n display: none;\n }\n\n .fs-u-d-block {\n display: block;\n }\n\n .fs-u-d-inline {\n display: inline;\n }\n\n .fs-u-d-inline-block {\n display: inline-block;\n }\n\n .fs-u-d-flex {\n display: flex;\n }\n}\n","@use \"../../../fokus-core/scss/settings\" as *;\n@use \"../../../fokus-core/scss/tools\" as *;\n\n@layer utilities {\n @each $breakpoint, $min in $breakpoints {\n $infix: breakpoint-infix($breakpoint);\n\n @include media-breakpoint-up($breakpoint) {\n .fs-u-align-items#{$infix}-start {\n align-items: flex-start;\n }\n\n .fs-u-align-items#{$infix}-center {\n align-items: center;\n }\n\n .fs-u-align-items#{$infix}-end {\n align-items: flex-end;\n }\n\n .fs-u-justify-content#{$infix}-start {\n justify-content: flex-start;\n }\n\n .fs-u-justify-content#{$infix}-center {\n justify-content: center;\n }\n\n .fs-u-justify-content#{$infix}-end {\n justify-content: flex-end;\n }\n\n .fs-u-justify-content#{$infix}-around {\n justify-content: space-around;\n }\n\n .fs-u-justify-content#{$infix}-between {\n justify-content: space-between;\n }\n\n .fs-u-align-self#{$infix}-start {\n align-self: flex-start;\n }\n\n .fs-u-align-self#{$infix}-center {\n align-self: center;\n }\n\n .fs-u-align-self#{$infix}-end {\n align-self: flex-end;\n }\n }\n }\n}\n","@use \"../../../fokus-core/scss/settings\" as *;\n\n// Estilo base pra ícones SVG inline — pensado pro pacote opcional\n// `fokus-styles/icons` (ver docs/guides/icons.md), mas funciona com qualquer SVG\n// que siga a mesma convenção (`stroke=\"currentColor\"`, sem width/height\n// fixos via CSS). Tamanho relativo ao texto ao redor (`1em`), não em px\n// fixo, pra acompanhar `.fs-u-fs-*`/headings sem precisar de uma classe de\n// tamanho por contexto.\n\n@layer utilities {\n .fs-icon {\n display: inline-block;\n flex-shrink: 0;\n width: 1em;\n height: 1em;\n vertical-align: -0.125em;\n stroke: currentcolor;\n }\n\n .fs-icon-xs {\n width: 12px;\n height: 12px;\n }\n\n .fs-icon-sm {\n width: 16px;\n height: 16px;\n }\n\n .fs-icon-lg {\n width: 32px;\n height: 32px;\n }\n\n .fs-icon-xl {\n width: 48px;\n height: 48px;\n }\n}\n","// z-index 1020: mesma faixa numérica usada pelos componentes de overlay\n// (dropdown 1000, modal/offcanvas 1050, popover 1070...) — fica acima de\n// conteúdo normal e do dropdown, abaixo de qualquer overlay modal.\n@layer utilities {\n .fs-u-sticky-top {\n position: sticky;\n top: var(--fs-sticky-top, 0);\n z-index: 1020;\n }\n\n .fs-u-sticky-bottom {\n position: sticky;\n bottom: var(--fs-sticky-bottom, 0);\n z-index: 1020;\n }\n}\n","@layer utilities {\n @media print {\n .fs-u-print-hide {\n display: none !important;\n }\n }\n\n @media not print {\n .fs-u-print-only {\n display: none !important;\n }\n }\n\n @media print {\n .fs-u-print-block {\n display: block !important;\n }\n\n .fs-u-print-inline {\n display: inline !important;\n }\n\n .fs-u-print-inline-block {\n display: inline-block !important;\n }\n }\n}\n","@layer utilities {\n .fs-u-shadow-sm {\n box-shadow: var(--fs-shadow-sm);\n }\n\n .fs-u-shadow {\n box-shadow: var(--fs-shadow-md);\n }\n\n .fs-u-shadow-lg {\n box-shadow: var(--fs-shadow-lg);\n }\n}\n","@use \"../../../fokus-core/scss/settings\" as *;\n@use \"../../../fokus-core/scss/tools\" as *;\n\n@layer utilities {\n @each $breakpoint, $min in $breakpoints {\n $infix: breakpoint-infix($breakpoint);\n\n @include media-breakpoint-up($breakpoint) {\n @each $key, $value in $spacers {\n .fs-u-m#{$infix}-#{$key} {\n margin: $value;\n }\n\n .fs-u-mt#{$infix}-#{$key} {\n margin-top: $value;\n }\n\n .fs-u-mr#{$infix}-#{$key} {\n margin-right: $value;\n }\n\n .fs-u-mb#{$infix}-#{$key} {\n margin-bottom: $value;\n }\n\n .fs-u-ml#{$infix}-#{$key} {\n margin-left: $value;\n }\n\n .fs-u-mx#{$infix}-#{$key} {\n margin-right: $value;\n margin-left: $value;\n }\n\n .fs-u-my#{$infix}-#{$key} {\n margin-top: $value;\n margin-bottom: $value;\n }\n\n .fs-u-p#{$infix}-#{$key} {\n padding: $value;\n }\n\n .fs-u-pt#{$infix}-#{$key} {\n padding-top: $value;\n }\n\n .fs-u-pr#{$infix}-#{$key} {\n padding-right: $value;\n }\n\n .fs-u-pb#{$infix}-#{$key} {\n padding-bottom: $value;\n }\n\n .fs-u-pl#{$infix}-#{$key} {\n padding-left: $value;\n }\n\n .fs-u-px#{$infix}-#{$key} {\n padding-right: $value;\n padding-left: $value;\n }\n\n .fs-u-py#{$infix}-#{$key} {\n padding-top: $value;\n padding-bottom: $value;\n }\n\n // Controla o gutter da grid (--fs-gutter-x/-y), consumido por .row/.row > *.\n .fs-u-g#{$infix}-#{$key} {\n --fs-gutter-x: #{$value};\n --fs-gutter-y: #{$value};\n }\n\n .fs-u-gx#{$infix}-#{$key} {\n --fs-gutter-x: #{$value};\n }\n\n .fs-u-gy#{$infix}-#{$key} {\n --fs-gutter-y: #{$value};\n }\n\n // Gap literal (flex/grid), independente da grid de colunas.\n .fs-u-gap#{$infix}-#{$key} {\n gap: $value;\n }\n\n .fs-u-gap-x#{$infix}-#{$key} {\n column-gap: $value;\n }\n\n .fs-u-gap-y#{$infix}-#{$key} {\n row-gap: $value;\n }\n }\n\n .fs-u-m#{$infix}-auto {\n margin: auto;\n }\n\n .fs-u-mt#{$infix}-auto {\n margin-top: auto;\n }\n\n .fs-u-mr#{$infix}-auto {\n margin-right: auto;\n }\n\n .fs-u-mb#{$infix}-auto {\n margin-bottom: auto;\n }\n\n .fs-u-ml#{$infix}-auto {\n margin-left: auto;\n }\n\n .fs-u-mx#{$infix}-auto {\n margin-right: auto;\n margin-left: auto;\n }\n\n .fs-u-my#{$infix}-auto {\n margin-top: auto;\n margin-bottom: auto;\n }\n }\n }\n}\n","$spacers: (\n 0: 0,\n 1: 0.25rem,\n 2: 0.5rem,\n 3: 1rem,\n 4: 1.5rem,\n 5: 3rem\n) !default;\n\n$z-indexes: (\n base: 0,\n dropdown: 1000,\n sticky: 1020,\n modal: 1050,\n offcanvas: 1060,\n notification: 1080,\n toast: 1090,\n tooltip: 1100\n) !default;\n\n$radius-sm: 4px !default;\n$radius-md: 6px !default;\n$radius-lg: 8px !default;\n","@use \"../../../fokus-core/scss/settings\" as *;\n@use \"../../../fokus-core/scss/tools\" as *;\n\n@layer utilities {\n .fs-u-text-start {\n text-align: left;\n }\n\n .fs-u-text-center {\n text-align: center;\n }\n\n .fs-u-text-end {\n text-align: right;\n }\n\n .fs-u-text-lowercase {\n text-transform: lowercase;\n }\n\n .fs-u-text-uppercase {\n text-transform: uppercase;\n }\n\n .fs-u-text-capitalize {\n text-transform: capitalize;\n }\n\n .fs-u-text-truncate {\n @include truncate;\n }\n\n .fs-u-fw-regular {\n font-weight: $font-weight-regular;\n }\n\n .fs-u-fw-medium {\n font-weight: $font-weight-medium;\n }\n\n .fs-u-fw-semibold {\n font-weight: $font-weight-semibold;\n }\n\n .fs-u-fw-bold {\n font-weight: $font-weight-bold;\n }\n\n .fs-u-fs-xs {\n font-size: $font-size-xs;\n }\n\n .fs-u-fs-sm {\n font-size: $font-size-sm;\n }\n\n .fs-u-fs-md {\n font-size: $font-size-md;\n }\n\n .fs-u-fs-lg {\n font-size: $font-size-lg;\n }\n\n .fs-u-fs-xl {\n font-size: $font-size-xl;\n }\n\n .fs-u-fs-h1 {\n font-size: $font-size-h1;\n }\n\n .fs-u-fs-h2 {\n font-size: $font-size-h2;\n }\n\n .fs-u-fs-h3 {\n font-size: $font-size-h3;\n }\n\n .fs-u-fs-h4 {\n font-size: $font-size-h4;\n }\n\n .fs-u-fs-h5 {\n font-size: $font-size-h5;\n }\n\n .fs-u-fs-h6 {\n font-size: $font-size-h6;\n }\n\n .fs-u-font-sans {\n font-family: var(--fs-font-sans);\n }\n\n .fs-u-font-mono {\n font-family: var(--fs-font-mono);\n }\n}\n","@layer utilities {\n .fs-u-visible {\n visibility: visible;\n }\n\n .fs-u-invisible {\n visibility: hidden;\n }\n\n .fs-u-visually-hidden,\n .fs-u-visually-hidden-focusable {\n position: absolute !important;\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n margin: -1px !important;\n overflow: hidden !important;\n clip-path: inset(50%) !important;\n white-space: nowrap !important;\n border: 0 !important;\n }\n\n .fs-u-visually-hidden-focusable:focus,\n .fs-u-visually-hidden-focusable:focus-within {\n position: static !important;\n width: auto !important;\n height: auto !important;\n margin: 0 !important;\n overflow: visible !important;\n clip-path: none !important;\n white-space: normal !important;\n }\n}\n","@layer utilities {\n .fs-u-focus-ring:focus-visible {\n outline: var(--fs-focus-width) solid var(--fs-focus-color);\n outline-offset: var(--fs-focus-offset);\n box-shadow: 0 0 0 var(--fs-focus-ring-size) var(--fs-focus-ring-color);\n }\n\n .fs-u-disabled,\n .fs-u-disabled[aria-disabled=\"true\"] {\n cursor: not-allowed;\n opacity: var(--fs-disabled-opacity);\n pointer-events: none;\n }\n\n @media print {\n .fs-u-print-hidden { display: none !important; }\n .fs-u-print-visible { display: block !important; }\n }\n}\n","@use \"sass:map\";\n@use \"../../fokus-core/scss/settings\" as *;\n@use \"../../fokus-core/scss/tools\" as tools;\n\n// Utility API do Fokus Styles: os mapas são públicos e podem ser estendidos\n// antes do @use do entry-point pelo consumidor.\n$fs-utility-colors: $theme-colors !default;\n$fs-utility-spacers: $spacers !default;\n$fs-utility-sizes: (25: 25%, 50: 50%, 75: 75%, 100: 100%, auto: auto) !default;\n\n@layer utilities {\n @if fs-config-list-enabled(colors, color) {\n @each $name, $value in $fs-utility-colors {\n .fs-u-color-#{$name} { color: var(--fs-color-#{$name}, #{$value}) !important; }\n .fs-u-bg-#{$name} { background-color: var(--fs-color-#{$name}, #{$value}) !important; }\n }\n }\n\n @if fs-config-list-enabled(spacing, margin) and fs-config-list-enabled(spacing, padding) {\n @each $name, $value in $fs-utility-spacers {\n .fs-u-m-#{$name} { margin: $value !important; }\n .fs-u-mx-#{$name} { margin-inline: $value !important; }\n .fs-u-my-#{$name} { margin-block: $value !important; }\n .fs-u-p-#{$name} { padding: $value !important; }\n .fs-u-px-#{$name} { padding-inline: $value !important; }\n .fs-u-py-#{$name} { padding-block: $value !important; }\n }\n }\n\n @if fs-config-list-enabled(sizing, width) {\n @each $name, $value in $fs-utility-sizes {\n .fs-u-w-#{$name} { width: $value !important; }\n .fs-u-h-#{$name} { height: $value !important; }\n }\n }\n\n @if fs-config-get(responsive, true) {\n @each $breakpoint, $min in $breakpoints {\n @if $min != 0 {\n @media (min-width: $min) {\n .fs-u-d-#{$breakpoint}-flex { display: flex !important; }\n .fs-u-d-#{$breakpoint}-none { display: none !important; }\n .fs-u-text-#{$breakpoint}-start { text-align: start !important; }\n }\n }\n }\n }\n}\n","@use \"sass:color\";\n@use \"../settings\" as *;\n@use \"../tools\" as *;\n\n// Theming multi-brand: um `data-fs-brand=\"x\"` sobrescreve só a cor de AÇÃO\n// PRIMÁRIA (--fs-color-primary e os tokens derivados) — secondary/success/\n// warning/danger/info continuam universais entre marcas, porque são\n// semânticos (sucesso é sempre verde, erro sempre vermelho, independente\n// de qual marca está ativa). Composto com `data-theme=\"dark\"` do mesmo\n// jeito que `_dark.scss` faz para a paleta padrão: mistura o primitivo com\n// branco/preto em OKLCH, não recalcula do zero.\n// Limitação conhecida: `.fs-btn-primary`/`.fs-badge-primary` (preenchimento\n// sólido) calculam a cor do texto em tempo de build via `color-contrast()`\n// a partir do primary padrão (azul) — não recalculam por marca. Escolha um\n// primitivo de marca escuro o bastante pro texto branco continuar legível\n// (como o exemplo abaixo), ou sobrescreva `--fs-btn-color`/`--fs-badge-color`\n// manualmente se o primitivo da marca for muito claro. Ver\n// `docs/guides/theming.md#multi-brand`.\n@layer tokens {\n // Marca de exemplo (\"violet\") — mesmo tom usado no exemplo de\n // customização do README, só pra provar que a troca funciona em runtime\n // sem recompilar CSS. Um projeto real substitui/adiciona marcas\n // definindo o próprio primitivo antes de `@use` este arquivo.\n $brand-violet-primary: color.to-space(#6d28d9, oklch) !default;\n\n [data-fs-brand=\"violet\"] {\n --fs-color-primary: #{rgb-fallback($brand-violet-primary)};\n --fs-alert-primary-bg: #{rgb-fallback(tint-color($brand-violet-primary))};\n --fs-alert-primary-text: #{rgb-fallback(shade-color($brand-violet-primary))};\n --fs-feedback-primary-bg: #{rgb-fallback(tint-color($brand-violet-primary))};\n }\n\n [data-fs-brand=\"violet\"][data-theme=\"dark\"],\n [data-theme=\"dark\"] [data-fs-brand=\"violet\"] {\n --fs-color-primary: #{rgb-fallback(color.mix($brand-violet-primary, $color-white, 95%, $method: oklch))};\n --fs-alert-primary-bg: #{rgb-fallback(color.mix($brand-violet-primary, $color-gray-900, 15%, $method: oklch))};\n --fs-alert-primary-text: #{rgb-fallback(color.mix($brand-violet-primary, $color-white, 55%, $method: oklch))};\n --fs-feedback-primary-bg: #{rgb-fallback(color.mix($brand-violet-primary, $color-gray-900, 15%, $method: oklch))};\n }\n\n @supports (color: oklch(0% 0 0)) {\n [data-fs-brand=\"violet\"] {\n --fs-color-primary: #{$brand-violet-primary};\n --fs-alert-primary-bg: #{tint-color($brand-violet-primary)};\n --fs-alert-primary-text: #{shade-color($brand-violet-primary)};\n --fs-feedback-primary-bg: #{tint-color($brand-violet-primary)};\n }\n\n [data-fs-brand=\"violet\"][data-theme=\"dark\"],\n [data-theme=\"dark\"] [data-fs-brand=\"violet\"] {\n --fs-color-primary: #{color.mix($brand-violet-primary, $color-white, 95%, $method: oklch)};\n --fs-alert-primary-bg: #{color.mix($brand-violet-primary, $color-gray-900, 15%, $method: oklch)};\n --fs-alert-primary-text: #{color.mix($brand-violet-primary, $color-white, 55%, $method: oklch)};\n --fs-feedback-primary-bg: #{color.mix($brand-violet-primary, $color-gray-900, 15%, $method: oklch)};\n }\n }\n\n // Preset \"corporate\" — azul-marinho/steel blue, tom sóbrio para\n // aplicações internas/B2B. Mesma técnica de mistura OKLCH acima.\n $brand-corporate-primary: color.to-space(#1d4e89, oklch) !default;\n\n [data-fs-brand=\"corporate\"] {\n --fs-color-primary: #{rgb-fallback($brand-corporate-primary)};\n --fs-alert-primary-bg: #{rgb-fallback(tint-color($brand-corporate-primary))};\n --fs-alert-primary-text: #{rgb-fallback(shade-color($brand-corporate-primary))};\n --fs-feedback-primary-bg: #{rgb-fallback(tint-color($brand-corporate-primary))};\n }\n\n [data-fs-brand=\"corporate\"][data-theme=\"dark\"],\n [data-theme=\"dark\"] [data-fs-brand=\"corporate\"] {\n --fs-color-primary: #{rgb-fallback(color.mix($brand-corporate-primary, $color-white, 95%, $method: oklch))};\n --fs-alert-primary-bg: #{rgb-fallback(color.mix($brand-corporate-primary, $color-gray-900, 15%, $method: oklch))};\n --fs-alert-primary-text: #{rgb-fallback(color.mix($brand-corporate-primary, $color-white, 55%, $method: oklch))};\n --fs-feedback-primary-bg: #{rgb-fallback(color.mix($brand-corporate-primary, $color-gray-900, 15%, $method: oklch))};\n }\n\n // Preset \"vibrant\" — laranja energético, tom para produtos de consumo/\n // marketing que queiram uma ação primária mais chamativa.\n $brand-vibrant-primary: color.to-space(#f2542d, oklch) !default;\n\n [data-fs-brand=\"vibrant\"] {\n --fs-color-primary: #{rgb-fallback($brand-vibrant-primary)};\n --fs-alert-primary-bg: #{rgb-fallback(tint-color($brand-vibrant-primary))};\n --fs-alert-primary-text: #{rgb-fallback(shade-color($brand-vibrant-primary))};\n --fs-feedback-primary-bg: #{rgb-fallback(tint-color($brand-vibrant-primary))};\n }\n\n [data-fs-brand=\"vibrant\"][data-theme=\"dark\"],\n [data-theme=\"dark\"] [data-fs-brand=\"vibrant\"] {\n --fs-color-primary: #{rgb-fallback(color.mix($brand-vibrant-primary, $color-white, 95%, $method: oklch))};\n --fs-alert-primary-bg: #{rgb-fallback(color.mix($brand-vibrant-primary, $color-gray-900, 15%, $method: oklch))};\n --fs-alert-primary-text: #{rgb-fallback(color.mix($brand-vibrant-primary, $color-white, 55%, $method: oklch))};\n --fs-feedback-primary-bg: #{rgb-fallback(color.mix($brand-vibrant-primary, $color-gray-900, 15%, $method: oklch))};\n }\n\n @supports (color: oklch(0% 0 0)) {\n [data-fs-brand=\"corporate\"] {\n --fs-color-primary: #{$brand-corporate-primary};\n --fs-alert-primary-bg: #{tint-color($brand-corporate-primary)};\n --fs-alert-primary-text: #{shade-color($brand-corporate-primary)};\n --fs-feedback-primary-bg: #{tint-color($brand-corporate-primary)};\n }\n\n [data-fs-brand=\"corporate\"][data-theme=\"dark\"],\n [data-theme=\"dark\"] [data-fs-brand=\"corporate\"] {\n --fs-color-primary: #{color.mix($brand-corporate-primary, $color-white, 95%, $method: oklch)};\n --fs-alert-primary-bg: #{color.mix($brand-corporate-primary, $color-gray-900, 15%, $method: oklch)};\n --fs-alert-primary-text: #{color.mix($brand-corporate-primary, $color-white, 55%, $method: oklch)};\n --fs-feedback-primary-bg: #{color.mix($brand-corporate-primary, $color-gray-900, 15%, $method: oklch)};\n }\n\n [data-fs-brand=\"vibrant\"] {\n --fs-color-primary: #{$brand-vibrant-primary};\n --fs-alert-primary-bg: #{tint-color($brand-vibrant-primary)};\n --fs-alert-primary-text: #{shade-color($brand-vibrant-primary)};\n --fs-feedback-primary-bg: #{tint-color($brand-vibrant-primary)};\n }\n\n [data-fs-brand=\"vibrant\"][data-theme=\"dark\"],\n [data-theme=\"dark\"] [data-fs-brand=\"vibrant\"] {\n --fs-color-primary: #{color.mix($brand-vibrant-primary, $color-white, 95%, $method: oklch)};\n --fs-alert-primary-bg: #{color.mix($brand-vibrant-primary, $color-gray-900, 15%, $method: oklch)};\n --fs-alert-primary-text: #{color.mix($brand-vibrant-primary, $color-white, 55%, $method: oklch)};\n --fs-feedback-primary-bg: #{color.mix($brand-vibrant-primary, $color-gray-900, 15%, $method: oklch)};\n }\n }\n}\n\n// Ao contrário de violet/corporate, o primitivo \"vibrant\" (laranja) é claro\n// o bastante pra o texto branco padrão de `.fs-btn-primary`/`.fs-badge-primary`\n// (calculado em tempo de build a partir do primary PADRÃO, não do de marca —\n// ver nota no topo do arquivo) cair abaixo de 4.5:1 — exatamente o caso que\n// a mitigação documentada em docs/guides/theming.md#multi-brand cobre.\n// Precisa estar em `@layer overrides` (a camada de maior prioridade — ver\n// `tokens/_root.scss`): `.fs-btn-primary`/`.fs-badge-primary` setam\n// `--fs-btn-color`/`--fs-badge-color` no próprio elemento dentro de\n// `@layer components`, e cascade layers ignoram especificidade — um\n// seletor mais específico em `@layer tokens` (onde vivem os blocos acima)\n// perderia mesmo assim.\n@layer overrides {\n [data-fs-brand=\"vibrant\"] .fs-btn-primary,\n [data-fs-brand=\"vibrant\"] .fs-badge-primary {\n --fs-btn-color: #{$color-black};\n --fs-badge-color: #{$color-black};\n }\n\n [data-fs-brand=\"vibrant\"] .fs-check {\n --fs-check-mark: #{$color-black};\n }\n}\n","@use \"sass:color\";\n@use \"sass:map\";\n@use \"../settings\" as *;\n@use \"../tools\" as *;\n\n// Peso (% da cor original mantida, ver color.mix()) de cada cor de estado no\n// tema escuro. O limite de cada uma é o quanto dá pra clarear em direção ao\n// branco antes de virar o texto branco/preto que color-contrast() já\n// pré-calculou para os preenchimentos sólidos (botões, badges) no tema claro\n// — passar do limite deixaria esse texto ilegível. `primary` e `danger` têm\n// texto branco no preenchimento, então clareiam pouco (clarear reduz o\n// contraste com o branco); `info` não tem margem e fica sem alteração (100%).\n// Misturas em `$method: oklch` (ver tools/_mixins.scss) — recalibrado e\n// revalidado com `npm run contrast` após a migração para OKLCH.\n@layer tokens {\n $dark-color-weights: (\n primary: 95%,\n secondary: 90%,\n success: 65%,\n warning: 65%,\n danger: 95%,\n info: 100%\n ) !default;\n\n $dark-text: color.to-space(#f1f3f4, oklch) !default;\n $dark-muted: color.to-space(#bdc1c6, oklch) !default;\n $dark-border: color.to-space(#3c4043, oklch) !default;\n $dark-surface: color.to-space(#202124, oklch) !default;\n $dark-subtle: color.to-space(#2b2c2f, oklch) !default;\n\n // Pesos de alert/feedback bg+text no escuro: validados por\n // `npm run contrast` para ≥4.5:1 (texto normal) em todas as 6 cores —\n // não abaixe sem reconferir o relatório.\n $dark-alert-bg-weight: 15%;\n $dark-alert-text-weight: 55%;\n\n [data-theme=\"dark\"],\n [data-fs-theme=\"dark\"] {\n --fs-color-text: #{rgb-fallback($dark-text)};\n --fs-color-muted: #{rgb-fallback($dark-muted)};\n --fs-color-border: #{rgb-fallback($dark-border)};\n --fs-color-surface: #{rgb-fallback($dark-surface)};\n --fs-color-subtle: #{rgb-fallback($dark-subtle)};\n --fs-color-bg-surface: var(--fs-color-surface);\n --fs-color-bg-subtle: var(--fs-color-subtle);\n --fs-color-surface-raised: var(--fs-color-surface);\n --fs-color-surface-interactive: var(--fs-color-subtle);\n --fs-color-text-primary: var(--fs-color-text);\n --fs-color-text-muted: var(--fs-color-muted);\n --fs-color-border-default: var(--fs-color-border);\n --fs-color-focus: var(--fs-color-primary);\n --fs-color-action-primary: var(--fs-color-primary);\n --fs-color-action-danger: var(--fs-color-danger);\n --fs-shadow-sm: 0 1px 3px rgb(0 0 0 / 50%), 0 1px 2px rgb(0 0 0 / 40%);\n --fs-shadow-md: 0 6px 12px rgb(0 0 0 / 55%), 0 3px 6px rgb(0 0 0 / 45%);\n --fs-shadow-lg: 0 15px 30px rgb(0 0 0 / 60%), 0 6px 12px rgb(0 0 0 / 50%);\n --fs-tooltip-bg: #{rgb-fallback($color-gray-100)};\n --fs-tooltip-text: #{rgb-fallback($color-gray-900)};\n\n @each $name, $color in $theme-colors {\n --fs-color-#{$name}: #{rgb-fallback(color.mix($color, $color-white, map.get($dark-color-weights, $name), $method: oklch))};\n --fs-alert-#{$name}-bg: #{rgb-fallback(color.mix($color, $color-gray-900, $dark-alert-bg-weight, $method: oklch))};\n --fs-alert-#{$name}-text: #{rgb-fallback(color.mix($color, $color-white, $dark-alert-text-weight, $method: oklch))};\n --fs-feedback-#{$name}-bg: #{rgb-fallback(color.mix($color, $color-gray-900, $dark-alert-bg-weight, $method: oklch))};\n }\n }\n\n @supports (color: oklch(0% 0 0)) {\n [data-theme=\"dark\"],\n [data-fs-theme=\"dark\"] {\n --fs-color-text: #{$dark-text};\n --fs-color-muted: #{$dark-muted};\n --fs-color-border: #{$dark-border};\n --fs-color-surface: #{$dark-surface};\n --fs-color-subtle: #{$dark-subtle};\n --fs-color-bg-surface: var(--fs-color-surface);\n --fs-color-bg-subtle: var(--fs-color-subtle);\n --fs-color-surface-raised: var(--fs-color-surface);\n --fs-color-surface-interactive: var(--fs-color-subtle);\n --fs-color-text-primary: var(--fs-color-text);\n --fs-color-text-muted: var(--fs-color-muted);\n --fs-color-border-default: var(--fs-color-border);\n --fs-color-focus: var(--fs-color-primary);\n --fs-color-action-primary: var(--fs-color-primary);\n --fs-color-action-danger: var(--fs-color-danger);\n --fs-tooltip-bg: #{$color-gray-100};\n --fs-tooltip-text: #{$color-gray-900};\n\n @each $name, $color in $theme-colors {\n --fs-color-#{$name}: #{color.mix($color, $color-white, map.get($dark-color-weights, $name), $method: oklch)};\n --fs-alert-#{$name}-bg: #{color.mix($color, $color-gray-900, $dark-alert-bg-weight, $method: oklch)};\n --fs-alert-#{$name}-text: #{color.mix($color, $color-white, $dark-alert-text-weight, $method: oklch)};\n --fs-feedback-#{$name}-bg: #{color.mix($color, $color-gray-900, $dark-alert-bg-weight, $method: oklch)};\n }\n }\n }\n\n @media (prefers-color-scheme: dark) {\n [data-fs-theme=\"auto\"] {\n --fs-color-text: #{rgb-fallback($dark-text)};\n --fs-color-muted: #{rgb-fallback($dark-muted)};\n --fs-color-border: #{rgb-fallback($dark-border)};\n --fs-color-surface: #{rgb-fallback($dark-surface)};\n --fs-color-subtle: #{rgb-fallback($dark-subtle)};\n --fs-color-bg-surface: var(--fs-color-surface);\n --fs-color-bg-subtle: var(--fs-color-subtle);\n --fs-color-surface-raised: var(--fs-color-surface);\n --fs-color-surface-interactive: var(--fs-color-subtle);\n --fs-color-text-primary: var(--fs-color-text);\n --fs-color-text-muted: var(--fs-color-muted);\n --fs-color-border-default: var(--fs-color-border);\n --fs-color-focus: var(--fs-color-primary);\n --fs-tooltip-bg: #{rgb-fallback($color-gray-100)};\n --fs-tooltip-text: #{rgb-fallback($color-gray-900)};\n }\n }\n\n @media (forced-colors: active) {\n :root,\n [data-theme=\"dark\"],\n [data-fs-theme=\"light\"],\n [data-fs-theme=\"dark\"],\n [data-fs-theme=\"auto\"] {\n --fs-color-border: CanvasText;\n --fs-color-text: CanvasText;\n --fs-color-surface: Canvas;\n --fs-color-subtle: Canvas;\n --fs-focus-color: Highlight;\n }\n }\n}\n"]}