h2o-library 2.0.1 → 2.1.1

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 (81) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/dist/charts/components/index.d.ts +1 -0
  3. package/dist/charts/components/src/button/button.d.ts +3 -0
  4. package/dist/charts/components/src/chip/chip.d.ts +4 -1
  5. package/dist/charts/components/src/content-switch/content-switch.d.ts +3 -0
  6. package/dist/charts/components/src/input/input.d.ts +5 -0
  7. package/dist/charts/components/src/onboarding/onboarding.d.ts +100 -0
  8. package/dist/charts/components/src/radio-group/radio-group.d.ts +3 -0
  9. package/dist/charts/hooks/index.d.ts +1 -0
  10. package/dist/charts/hooks/src/use-click-outside.d.ts +1 -1
  11. package/dist/charts/hooks/src/use-dropdown-position.d.ts +1 -1
  12. package/dist/charts/hooks/src/use-onboarding.d.ts +66 -0
  13. package/dist/components/index.d.ts +1 -0
  14. package/dist/components/src/button/button.d.ts +3 -0
  15. package/dist/components/src/chip/chip.d.ts +4 -1
  16. package/dist/components/src/content-switch/content-switch.d.ts +3 -0
  17. package/dist/components/src/input/input.d.ts +5 -0
  18. package/dist/components/src/onboarding/onboarding.d.ts +100 -0
  19. package/dist/components/src/radio-group/radio-group.d.ts +3 -0
  20. package/dist/esm/components/index.d.ts +1 -0
  21. package/dist/esm/components/src/button/button.d.ts +3 -0
  22. package/dist/esm/components/src/button/button.js +1 -1
  23. package/dist/esm/components/src/chip/chip.d.ts +4 -1
  24. package/dist/esm/components/src/chip/chip.js +1 -1
  25. package/dist/esm/components/src/content-switch/content-switch.d.ts +3 -0
  26. package/dist/esm/components/src/content-switch/content-switch.js +1 -1
  27. package/dist/esm/components/src/input/input.d.ts +5 -0
  28. package/dist/esm/components/src/input/input.js +1 -1
  29. package/dist/esm/components/src/modal/modal.js +1 -1
  30. package/dist/esm/components/src/onboarding/onboarding.css +178 -0
  31. package/dist/esm/components/src/onboarding/onboarding.d.ts +100 -0
  32. package/dist/esm/components/src/onboarding/onboarding.js +2 -0
  33. package/dist/esm/components/src/radio-group/radio-group.d.ts +3 -0
  34. package/dist/esm/components/src/radio-group/radio-group.js +1 -1
  35. package/dist/esm/hooks/index.d.ts +1 -0
  36. package/dist/esm/hooks/src/use-click-outside.d.ts +1 -1
  37. package/dist/esm/hooks/src/use-dropdown-position.d.ts +1 -1
  38. package/dist/esm/hooks/src/use-onboarding.d.ts +66 -0
  39. package/dist/esm/hooks/src/use-onboarding.js +2 -0
  40. package/dist/esm/index.js +1 -1
  41. package/dist/hooks/components/index.d.ts +1 -0
  42. package/dist/hooks/components/src/button/button.d.ts +3 -0
  43. package/dist/hooks/components/src/chip/chip.d.ts +4 -1
  44. package/dist/hooks/components/src/content-switch/content-switch.d.ts +3 -0
  45. package/dist/hooks/components/src/input/input.d.ts +5 -0
  46. package/dist/hooks/components/src/onboarding/onboarding.d.ts +100 -0
  47. package/dist/hooks/components/src/radio-group/radio-group.d.ts +3 -0
  48. package/dist/hooks/hooks/index.d.ts +1 -0
  49. package/dist/hooks/hooks/src/use-click-outside.d.ts +1 -1
  50. package/dist/hooks/hooks/src/use-dropdown-position.d.ts +1 -1
  51. package/dist/hooks/hooks/src/use-onboarding.d.ts +66 -0
  52. package/dist/hooks/index.cjs.js +1 -1
  53. package/dist/hooks/index.js +1 -1
  54. package/dist/hooks/src/use-click-outside.d.ts +1 -1
  55. package/dist/hooks/src/use-dropdown-position.d.ts +1 -1
  56. package/dist/hooks/src/use-onboarding.d.ts +66 -0
  57. package/dist/index.cjs.js +1 -1
  58. package/dist/index.css +1 -1
  59. package/dist/types/components/index.d.ts +1 -0
  60. package/dist/types/components/src/button/button.d.ts +3 -0
  61. package/dist/types/components/src/chip/chip.d.ts +4 -1
  62. package/dist/types/components/src/content-switch/content-switch.d.ts +3 -0
  63. package/dist/types/components/src/input/input.d.ts +5 -0
  64. package/dist/types/components/src/onboarding/onboarding.d.ts +100 -0
  65. package/dist/types/components/src/radio-group/radio-group.d.ts +3 -0
  66. package/dist/types/hooks/index.d.ts +1 -0
  67. package/dist/types/hooks/src/use-click-outside.d.ts +1 -1
  68. package/dist/types/hooks/src/use-dropdown-position.d.ts +1 -1
  69. package/dist/types/hooks/src/use-onboarding.d.ts +66 -0
  70. package/dist/utils/components/index.d.ts +1 -0
  71. package/dist/utils/components/src/button/button.d.ts +3 -0
  72. package/dist/utils/components/src/chip/chip.d.ts +4 -1
  73. package/dist/utils/components/src/content-switch/content-switch.d.ts +3 -0
  74. package/dist/utils/components/src/input/input.d.ts +5 -0
  75. package/dist/utils/components/src/onboarding/onboarding.d.ts +100 -0
  76. package/dist/utils/components/src/radio-group/radio-group.d.ts +3 -0
  77. package/dist/utils/hooks/index.d.ts +1 -0
  78. package/dist/utils/hooks/src/use-click-outside.d.ts +1 -1
  79. package/dist/utils/hooks/src/use-dropdown-position.d.ts +1 -1
  80. package/dist/utils/hooks/src/use-onboarding.d.ts +66 -0
  81. package/package.json +8 -3
package/dist/index.css CHANGED
@@ -1,2 +1,2 @@
1
- .button{align-items:center;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;justify-content:center;min-width:-moz-fit-content;min-width:fit-content;transition:all .3s}.button--full-width{width:100%}.button:focus{outline:none}.button:disabled{cursor:not-allowed}.button--primary{background-color:hsl(var(--primary));color:#fff}.button--primary:focus-visible:not(:disabled),.button--primary:hover:not(:disabled){background-color:hsl(var(--primary-200))}.button--primary:active:not(:disabled){background-color:hsl(var(--primary-300))}.button--primary:disabled{background-color:hsl(var(--primary-disabled))}.button--secondary{background-color:hsl(var(--input));border:1px solid hsl(var(--border));color:hsl(var(--primary))}.button--secondary:focus-visible:not(:disabled),.button--secondary:hover:not(:disabled){border-color:hsl(var(--primary-200));color:hsl(var(--primary-200))}.button--secondary:active:not(:disabled){border-color:hsl(var(--primary-300));color:hsl(var(--primary-300))}.button--secondary:disabled{background-color:hsl(var(--input)/.5);border:none;color:hsl(var(--primary-disabled))}.button--ghost{background-color:transparent;color:hsl(var(--primary))}.button--ghost:focus-visible:not(:disabled),.button--ghost:hover:not(:disabled){color:hsl(var(--primary-200))}.button--ghost:active:not(:disabled){color:hsl(var(--primary-300))}.button--ghost:disabled{color:hsl(var(--primary-disabled));opacity:.5}.button--danger{background-color:hsl(var(--destructive));color:#fff}.button--danger:focus-visible:not(:disabled),.button--danger:hover:not(:disabled){background-color:hsl(var(--destructive-200))}.button--danger:active:not(:disabled){background-color:hsl(var(--destructive-300))}.button--danger:disabled{opacity:.5}.button--warning{background-color:hsl(var(--warning));color:#fff}.button--warning:focus-visible:not(:disabled),.button--warning:hover:not(:disabled){background-color:hsl(var(--warning-200))}.button--warning:active:not(:disabled){background-color:hsl(var(--warning-300))}.button--warning:disabled{opacity:.5}.button--success{background-color:hsl(var(--success));color:#fff}.button--success:focus-visible:not(:disabled),.button--success:hover:not(:disabled){background-color:hsl(var(--success-200))}.button--success:active:not(:disabled){background-color:hsl(var(--success-300))}.button--success:disabled{opacity:.5}.button--sm{font-size:.875rem;height:2rem}.button--sm.button--icon-only{padding:0;width:2rem}.button--sm:not(.button--icon-only){padding:0 .75rem}.button--md{font-size:1rem;height:2.5rem}.button--md.button--icon-only{padding:0;width:2.5rem}.button--md:not(.button--icon-only){padding:0 1rem}.button--lg{font-size:1.125rem;height:3rem}.button--lg.button--icon-only{padding:0;width:3rem}.button--lg:not(.button--icon-only){padding:0 1.5rem}.button--loading{cursor:not-allowed;opacity:.7}.button--loading .button__content{min-width:-moz-fit-content;min-width:fit-content;white-space:nowrap}.button__content{align-items:center;display:flex;gap:.5rem;justify-content:center;min-width:-moz-fit-content;min-width:fit-content}.button__spinner{animation:spin 1s linear infinite;flex-shrink:0;height:1.25rem;width:1.25rem}.button__spinner-circle{opacity:.25}.button__spinner-path{opacity:.75}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.button--sm .button__icon{height:20px;width:20px}.button--md .button__icon{height:24px;width:24px}.button--lg .button__icon{height:28px;width:28px}.tooltip-container{display:inline-block;position:relative}.tooltip-box{word-wrap:break-word;border-radius:6px;box-shadow:0 4px 12px rgba(0,0,0,.15);font-size:.8125rem;max-width:220px;opacity:0;padding:.5rem .75rem;pointer-events:none;position:fixed;transition:opacity .15s ease;visibility:hidden;z-index:1001}.tooltip-box--dark{background-color:hsl(var(--tooltip-dark-bg));color:hsl(var(--tooltip-dark-fg))}.tooltip-box--light{background-color:hsl(var(--card));box-shadow:0 4px 12px rgba(0,0,0,.12);color:hsl(var(--foreground))}.tooltip-box:after{border:6px solid transparent;content:"";pointer-events:none;position:absolute;z-index:1000}.tooltip-box.tooltip-visible,.tooltip-box.tooltip-visible:after{opacity:1;visibility:visible}.tooltip-box--dark[data-position=top]:after{border-top-color:hsl(var(--tooltip-dark-bg))}.tooltip-box--light[data-position=top]:after{border-top-color:hsl(var(--card))}.tooltip-box[data-position=top]:after{left:50%;top:100%;transform:translateX(-50%)}.tooltip-box--dark[data-position=bottom]:after{border-bottom-color:hsl(var(--tooltip-dark-bg))}.tooltip-box--light[data-position=bottom]:after{border-bottom-color:hsl(var(--card))}.tooltip-box[data-position=bottom]:after{bottom:100%;left:50%;transform:translateX(-50%)}.tooltip-box--dark[data-position=left]:after{border-left-color:hsl(var(--tooltip-dark-bg))}.tooltip-box--light[data-position=left]:after{border-left-color:hsl(var(--card))}.tooltip-box[data-position=left]:after{left:100%;top:50%;transform:translateY(-50%)}.tooltip-box--dark[data-position=right]:after{border-right-color:hsl(var(--tooltip-dark-bg))}.tooltip-box--light[data-position=right]:after{border-right-color:hsl(var(--card))}.tooltip-box[data-position=right]:after{right:100%;top:50%;transform:translateY(-50%)}.checkbox-wrapper{display:flex;flex-direction:column;gap:.25rem}.checkbox-label{align-items:center;cursor:pointer;display:flex;gap:10px;min-width:0;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.checkbox-label input{height:0;opacity:0;position:absolute;width:0}.checkbox--sm{--cb-size:16px;--cb-radius:3px;--cb-mark-top:1px;--cb-mark-left:4px;--cb-mark-w:4px;--cb-mark-h:8px;--cb-dash-w:8px;--cb-dash-top:5px;--cb-dash-left:2px;font-size:.75rem}.checkbox--md{--cb-size:20px;--cb-radius:4px;--cb-mark-top:2px;--cb-mark-left:6px;--cb-mark-w:5px;--cb-mark-h:10px;--cb-dash-w:10px;--cb-dash-top:7px;--cb-dash-left:3px;font-size:.875rem}.checkbox--lg{--cb-size:24px;--cb-radius:5px;--cb-mark-top:2px;--cb-mark-left:7px;--cb-mark-w:6px;--cb-mark-h:12px;--cb-dash-w:12px;--cb-dash-top:9px;--cb-dash-left:4px;font-size:1rem}.checkbox-box{border:2px solid hsl(var(--muted));border-radius:var(--cb-radius,4px);display:inline-block;flex-shrink:0;height:var(--cb-size,20px);position:relative;transition:all .2s;width:var(--cb-size,20px)}.checkbox-label:not(:has(input:disabled)):hover .checkbox-box{border-color:hsl(var(--primary-200))}.checkbox-box:after{border:solid #fff;border-width:0 2px 2px 0;content:"";height:var(--cb-mark-h,10px);left:var(--cb-mark-left,6px);opacity:0;position:absolute;top:var(--cb-mark-top,2px);transform:rotate(45deg) scale(0);transition:all .2s;width:var(--cb-mark-w,5px)}.checkbox-label input:indeterminate+.checkbox-box{background-color:hsl(var(--primary));border-color:hsl(var(--primary))}.checkbox-label input:indeterminate+.checkbox-box:after{background:#fff;border:none;height:2px;left:var(--cb-dash-left,3px);opacity:1;top:var(--cb-dash-top,7px);transform:none;width:var(--cb-dash-w,10px)}.checkbox-label input:checked+.checkbox-box{background-color:hsl(var(--primary));border-color:hsl(var(--primary))}.checkbox-label:not(:has(input:disabled)):hover input:checked+.checkbox-box,.checkbox-label:not(:has(input:disabled)):hover input:indeterminate+.checkbox-box{background-color:hsl(var(--primary-200));border-color:hsl(var(--primary-200))}.checkbox-label input:checked+.checkbox-box:after{opacity:1;transform:rotate(45deg) scale(1)}.checkbox-label-row{align-items:center;display:flex;flex:1;gap:.25rem;min-width:0;overflow:hidden}.checkbox-text{color:hsl(var(--foreground));min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.checkbox-label:has(input:disabled) .checkbox-text{color:hsl(var(--muted))}.checkbox-card{align-items:center;border:1.5px solid hsl(var(--muted));border-radius:.5rem;display:flex;justify-content:space-between;padding:.5rem .7rem;transition:border-color .2s;width:100%}.checkbox-card:not(:has(input:disabled)):hover{border-color:hsl(var(--primary-200))}.checkbox-card:not(:has(input:disabled)):has(input:checked):hover .checkbox-text{color:hsl(var(--primary-200))}.checkbox-card:has(input:checked){border-color:hsl(var(--primary))}.checkbox-card:has(input:checked) .checkbox-text{color:hsl(var(--primary));font-weight:500}.checkbox-card:has(input:checked:disabled){border-color:hsl(var(--primary-disabled))}.checkbox-card:has(input:checked:disabled) .checkbox-text{color:hsl(var(--primary-disabled))}.checkbox-group,.checkbox-group-children{display:flex;flex-direction:column;gap:.5rem}.checkbox-group-children{margin-left:2rem}.checkbox-label:has(input:disabled){cursor:not-allowed}.checkbox-label:has(input:disabled) .checkbox-box{opacity:.5}.checkbox-info-icon{color:hsl(var(--muted-200));flex-shrink:0}.checkbox-info-icon:hover{color:hsl(var(--primary))}.checkbox-note{color:hsl(var(--muted-200))}.checkbox-error,.checkbox-note{font-size:.75rem;padding-left:calc(var(--cb-size, 20px) + 10px)}.checkbox-error{color:hsl(var(--destructive))}.radio--sm{--rb-size:16px;--rb-dot:6px;font-size:.75rem}.radio--md{--rb-size:20px;--rb-dot:8px;font-size:.875rem}.radio--lg{--rb-size:24px;--rb-dot:10px;font-size:1rem}.radio-wrapper{display:flex;flex-direction:column;gap:.25rem}.radio-label{align-items:center;cursor:pointer;display:flex;gap:10px;min-width:0;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.radio-label input{height:0;opacity:0;position:absolute;width:0}.radio-button{border:2px solid hsl(var(--muted));border-radius:50%;display:inline-block;flex-shrink:0;height:var(--rb-size,20px);position:relative;transition:all .2s;width:var(--rb-size,20px)}.radio-label:not(:has(input:disabled)):hover .radio-button{border-color:hsl(var(--primary))}.radio-button:after{background-color:#fff;border-radius:50%;content:"";height:var(--rb-dot,8px);left:50%;position:absolute;top:50%;transform:translate(-50%,-50%) scale(0);transition:transform .2s;width:var(--rb-dot,8px)}.radio-label input:checked+.radio-button{background-color:hsl(var(--primary));border-color:hsl(var(--primary))}.radio-label:not(:has(input:disabled)):hover input:checked+.radio-button{background-color:hsl(var(--primary-300));border-color:hsl(var(--primary-300))}.radio-label input:checked+.radio-button:after{transform:translate(-50%,-50%) scale(1)}.radio-label:has(input:disabled){cursor:not-allowed}.radio-label input:disabled+.radio-button{border-color:hsl(var(--muted))}.radio-label input:checked:disabled+.radio-button{opacity:.5}.radio-label input:disabled+.radio-button+.radio-label-content .radio-text{color:hsl(var(--muted))}.radio-label-content{display:flex;flex:1;flex-direction:column;gap:2px;min-width:0}.radio-label-row{align-items:center;display:flex;gap:.25rem;min-width:0;overflow:hidden}.radio-text{color:hsl(var(--foreground));min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.radio-description{color:hsl(var(--muted-200));font-size:.8125rem;font-weight:400}.radio-note{color:hsl(var(--muted-200))}.radio-error-message,.radio-note{font-size:.75rem;padding-left:calc(var(--rb-size, 20px) + 10px)}.radio-error-message{color:hsl(var(--destructive))}.radio-info-icon{color:hsl(var(--muted-200));flex-shrink:0}.radio-info-icon:hover{color:hsl(var(--primary))}.radio-card{border:1.5px solid hsl(var(--muted));border-radius:.5rem;padding:.5rem .7rem;transition:border-color .2s,background-color .2s;width:100%}.radio-card:not(:has(input:disabled)):hover{border-color:hsl(var(--primary-200))}.radio-card:has(input:checked){background-color:hsl(var(--primary)/.04);border-color:hsl(var(--primary))}.radio-card:not(:has(input:disabled)):hover .radio-card:has(input:checked){border-color:hsl(var(--primary-200))}.radio-card:has(input:checked) .radio-text{color:hsl(var(--primary));font-weight:500}.radio-card:has(input:checked) .radio-button{background-color:hsl(var(--primary));border-color:hsl(var(--primary))}.radio-card:has(input:checked:disabled){background-color:transparent;border-color:hsl(var(--primary-disabled))}.radio-card:has(input:checked:disabled) .radio-text{color:hsl(var(--primary-disabled))}.toggle-label{align-items:center;cursor:pointer;display:inline-flex;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%}.toggle-text{color:hsl(var(--foreground));line-height:1.4;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toggle-label-row{align-items:center;display:flex;gap:.25rem}.toggle-label-content{display:flex;flex:1;flex-direction:column;gap:2px;min-width:0}.toggle-description{color:hsl(var(--muted-200));font-size:.875rem;line-height:1.25rem;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:normal}.toggle-label input{height:0;opacity:0;position:absolute;width:0}.toggle-container{align-items:center;display:flex;gap:12px;width:100%}.toggle--sm{--toggle-width:36px;--toggle-height:20px;--toggle-thumb:14px;--toggle-offset:3px;--toggle-translate:16px}.toggle--sm .toggle-description,.toggle--sm .toggle-text{font-size:.75rem}.toggle--md{--toggle-width:44px;--toggle-height:24px;--toggle-thumb:18px;--toggle-offset:3px;--toggle-translate:20px}.toggle--md .toggle-text{font-size:.875rem}.toggle--md .toggle-description{font-size:.8125rem}.toggle--lg{--toggle-width:52px;--toggle-height:28px;--toggle-thumb:22px;--toggle-offset:3px;--toggle-translate:24px}.toggle--lg .toggle-text{font-size:1rem}.toggle--lg .toggle-description{font-size:.875rem}.toggle-switch{background-color:hsl(var(--muted));border-radius:var(--toggle-height,24px);display:inline-block;flex-shrink:0;height:var(--toggle-height,24px);position:relative;transition:background-color .2s;width:var(--toggle-width,44px)}.toggle-label:not(:has(input:disabled)):hover .toggle-switch{background-color:hsl(var(--muted-200))}.toggle-switch:after{background-color:hsl(var(--primary-foreground));border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.1);content:"";height:var(--toggle-thumb,18px);left:var(--toggle-offset,3px);position:absolute;top:var(--toggle-offset,3px);transition:transform .2s;width:var(--toggle-thumb,18px)}.toggle-label input:checked+.toggle-switch{background-color:hsl(var(--primary))}.toggle-label:not(:has(input:disabled)):hover input:checked+.toggle-switch{background-color:hsl(var(--primary-200))}.toggle-label input:checked+.toggle-switch:after{transform:translateX(var(--toggle-translate,20px))}.toggle-label input:disabled+.toggle-switch{cursor:not-allowed;opacity:.5}.toggle-card-container{align-items:center;display:flex;justify-content:space-between;width:100%}.toggle-card{background-color:hsl(var(--muted-50));border-radius:.5rem;display:flex;gap:12px;padding:.5rem .8rem;transition:background-color .2s;width:100%}.toggle-card:not(:has(input:disabled)):hover{background-color:hsl(var(--muted))}.toggle-drag-handle{color:hsl(var(--muted-200));cursor:grab}.toggle-drag-handle:active{cursor:grabbing}.toggle-label:has(input:disabled){cursor:not-allowed}.toggle-label:has(input:disabled) .toggle-switch{opacity:.5}.toggle-label:has(input:disabled) .toggle-text{color:hsl(var(--muted-200))}.toggle-label:has(input:disabled) .toggle-description{color:hsl(var(--muted))}.toggle-info-icon{color:hsl(var(--muted-200));flex-shrink:0}.toggle-info-icon:hover{color:hsl(var(--primary))}.toggle-wrapper{display:flex;flex-direction:column;gap:.25rem}.toggle-note{color:hsl(var(--muted-200))}.toggle-error,.toggle-note{font-size:.75rem;padding-left:.125rem}.toggle-error{color:hsl(var(--destructive))}.content-switch-secondary{border:1px solid hsl(var(--muted));border-radius:8px;display:flex;overflow:hidden;transition:border-color .3s ease-in-out;width:-moz-fit-content;width:fit-content}.content-switch-secondary .content-switch-option:not(:last-child){border-right:1px solid hsl(var(--muted))}.content-switch-secondary:hover,.content-switch-secondary:hover>.content-switch-option{border-color:hsl(var(--primary))}.content-switch-secondary .content-switch-option{padding:.3rem 1rem;transition:background-color .3s ease-in-out;&:hover{background-color:hsl(var(--primary-disabled))}}.content-switch-secondary .content-switch-option-selected{background-color:hsl(var(--primary));color:#fff;font-weight:500;transition:all .3s ease-in-out;&:hover{background-color:hsl(var(--primary-200))}}.content-switch-primary{background-color:hsl(var(--input));border:1px solid transparent;border-radius:12px;display:flex;gap:.5rem;overflow:hidden;padding:.5rem;transition:border-color .3s ease-in-out;width:-moz-fit-content;width:fit-content;&:hover{border-color:hsl(var(--primary-disabled))}}.content-switch-primary .content-switch-option{border-radius:8px;padding:.3rem 1rem;transition:all .3s ease-in-out;&:hover{border-color:hsl(var(--primary))}}.content-switch-primary .content-switch-option-selected{background-color:hsl(var(--primary-disabled));color:hsl(var(--primary));font-weight:500;transition:all .3s ease-in-out}.content-switch-primary .content-switch-option:hover{background-color:hsl(var(--primary-disabled))}.content-switch-primary .content-switch-option-selected:hover{background-color:hsl(var(--primary-200));color:#fff}.content-switch-option-disabled{cursor:not-allowed;opacity:.5}.content-switch-option-disabled:hover{background-color:inherit!important;border-color:inherit!important;color:inherit!important}.content-switch-option-disabled.content-switch-option-selected{opacity:.7}.content-switch-option-icon{flex-shrink:0}.content-switch-option{align-items:center;background:none;border:none;color:inherit;cursor:pointer;display:inline-flex;font:inherit;gap:.375rem;justify-content:center}.input-container{display:flex;flex-direction:column;gap:.375rem;width:100%}.input-header{justify-content:space-between}.input-header,.input-label{align-items:center;display:flex}.input-label{color:hsl(var(--foreground));font-size:.875rem;font-weight:500;gap:.2rem}.input-clear{background:none;border:none;color:hsl(var(--muted));cursor:pointer;font-size:.875rem;transition:color .2s}.input-clear:hover{color:hsl(var(--muted-200))}.input-wrapper{align-items:center;background:hsl(var(--input));border:1.5px solid hsl(var(--muted));border-radius:var(--radius-md);display:flex;position:relative;transition:border-color .2s,background-color .2s;width:100%}.input-wrapper:not(.input-disabled):not(.input-error):hover{border-color:hsl(var(--primary))}.input-wrapper:not(.input-disabled):not(.input-error):has(input:focus){border-color:hsl(var(--primary-300))}.input-wrapper.input-error{background-color:hsl(var(--destructive-bg)/.3);border-color:hsl(var(--destructive))}.input-wrapper.input-error:has(input:focus),.input-wrapper.input-error:hover{border-color:hsl(var(--destructive))}.input-wrapper.input-disabled{cursor:not-allowed;opacity:.5}.input{background:none;border:none;color:hsl(var(--foreground));height:100%;outline:none;padding:0 .8rem;width:100%}.input::-moz-placeholder{color:hsl(var(--muted));font-size:.875rem;font-weight:400}.input::placeholder{color:hsl(var(--muted));font-size:.875rem;font-weight:400}.input:disabled{cursor:not-allowed}.input-sm{font-size:.875rem;height:2rem}.input-md{font-size:1rem;height:2.5rem}.input-lg{font-size:1.125rem;height:3rem}.input-icon-left,.input-icon-right{align-items:center;color:hsl(var(--muted-200));display:flex;height:100%;position:absolute;transition:color .2s}.input-icon-left{left:.75rem}.input-icon-right{right:.75rem}.input-wrapper:not(.input-disabled):not(.input-error):hover .input-icon-left,.input-wrapper:not(.input-disabled):not(.input-error):hover .input-icon-right{color:hsl(var(--primary))}.input-wrapper:not(.input-disabled):not(.input-error):has(input:focus) .input-icon-left,.input-wrapper:not(.input-disabled):not(.input-error):has(input:focus) .input-icon-right{color:hsl(var(--primary))}.input-has-left-icon{padding-left:2.5rem}.input-has-right-icon{padding-right:2.5rem}.input-has-both-icons{padding-left:2.5rem;padding-right:2.5rem}.input-icon-button{align-items:center;background:none;border:none;cursor:pointer;display:flex;height:100%;justify-content:center;padding:0;transition:color .2s}.input-icon-button:hover:not(:disabled){color:hsl(var(--primary-300))}.input-icon-button:disabled{cursor:not-allowed;opacity:.5}.input-note{color:hsl(var(--muted-200));font-size:.875rem;transition:color .2s}.input-wrapper:not(.input-disabled):not(.input-error):hover+.input-note{color:hsl(var(--primary))}.input-wrapper:not(.input-disabled):not(.input-error):has(input:focus)+.input-note{color:hsl(var(--primary))}.input-error-message{color:hsl(var(--destructive));font-size:.875rem}.input-info-icon{color:hsl(var(--muted-200))}.input-info-icon:hover{color:hsl(var(--primary))}.textarea-container,.textarea-root{display:flex;flex-direction:column;gap:.375rem;width:100%}.textarea::-moz-placeholder{color:hsl(var(--muted));font-size:.875rem;font-weight:400}.textarea::placeholder{color:hsl(var(--muted));font-size:.875rem;font-weight:400}.textarea-header{align-items:center;display:flex;justify-content:space-between}.textarea-label{align-items:center;color:hsl(var(--foreground));display:flex;font-size:.875rem;font-weight:500;gap:.2rem}.textarea-clear{background:none;border:none;color:hsl(var(--muted-200));cursor:pointer;font-size:.875rem;outline:none;padding:0;transition:color .2s}.textarea-clear:focus{outline:none}.textarea-clear:hover{color:hsl(var(--primary))}.textarea-wrapper{background:hsl(var(--input));border:1.5px solid hsl(var(--muted));border-radius:var(--radius-md);display:flex;position:relative;transition:border-color .2s,background-color .2s;width:100%}.textarea-wrapper-resizable:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='24' height='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M19.5 15a1.5 1.5 0 1 1 0-3 1.5 1.5 0 1 1 0 3Zm0-6a1.5 1.5 0 1 1 0-3 1.5 1.5 0 1 1 0 3Zm-6 12a1.5 1.5 0 1 1-.002-2.998A1.5 1.5 0 0 1 13.5 21Zm0-6a1.5 1.5 0 1 1 0-3 1.5 1.5 0 1 1 0 3Zm-6 6a1.501 1.501 0 0 1 0-3 1.501 1.501 0 0 1 0 3Zm12-3a1.501 1.501 0 1 1-.002 3.002A1.501 1.501 0 0 1 19.5 18Z' fill='hsl(var(--muted))'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:16px;bottom:0;content:"";cursor:se-resize;height:24px;opacity:.5;pointer-events:none;position:absolute;right:0;transition:opacity .2s;width:24px}.textarea-wrapper-resizable:hover:after{opacity:1}.textarea-wrapper-resizable .textarea-counter{right:1.75rem}.textarea-wrapper:not(.textarea-disabled):not(.textarea-error):hover{border-color:hsl(var(--primary))}.textarea-wrapper:not(.textarea-disabled):not(.textarea-error):has(textarea:focus){border-color:hsl(var(--primary-300))}.textarea-wrapper.textarea-error{background-color:hsl(var(--destructive-bg)/.3);border-color:hsl(var(--destructive))}.textarea-wrapper.textarea-error:has(textarea:focus),.textarea-wrapper.textarea-error:hover{border-color:hsl(var(--destructive))}.textarea-wrapper.textarea-disabled{cursor:not-allowed;opacity:.5}.textarea{-moz-appearance:none;appearance:none;-webkit-appearance:none;background:none;border:none;color:hsl(var(--foreground));font-family:inherit;font-size:.875rem;min-height:100px;outline:none;padding:.75rem 1rem;resize:none;width:100%}.textarea-wrapper-resizable .textarea{resize:vertical}.textarea::-webkit-resizer{display:none}.textarea:disabled{cursor:not-allowed}.textarea-note{color:hsl(var(--muted-200));font-size:.875rem;transition:color .2s}.textarea-container:not(:has(.textarea-disabled)):not(:has(.textarea-error)):hover~.textarea-note{color:hsl(var(--primary))}.textarea-container:not(:has(.textarea-disabled)):not(:has(.textarea-error)):has(textarea:focus)~.textarea-note{color:hsl(var(--primary))}.textarea-error-message{color:hsl(var(--destructive));font-size:.875rem}.textarea-info-icon{color:hsl(var(--muted-200))}.textarea-info-icon:hover{color:hsl(var(--primary))}.textarea-counter{bottom:.5rem;color:hsl(var(--muted-200));font-size:.75rem;line-height:1;pointer-events:none;position:absolute;right:.5rem}.textarea-counter--warning{color:hsl(var(--warning-200))}.textarea-counter--danger{color:hsl(var(--destructive))}.dropdown-container{display:flex;flex-direction:column;gap:.375rem;width:100%}.dropdown-header{align-items:center;display:flex;justify-content:space-between}.dropdown-label{align-items:center;color:hsl(var(--foreground));display:flex;font-size:.875rem;font-weight:500;gap:.2rem}.dropdown-info-icon{color:hsl(var(--muted-200))}.dropdown-info-icon:hover{color:hsl(var(--primary))}.dropdown-clear{background:none;border:none;color:hsl(var(--muted-200));cursor:pointer;font-size:.875rem;transition:color .2s}.dropdown-clear:hover{color:hsl(var(--primary))}.dropdown-wrapper{background:hsl(var(--input));border:1.5px solid hsl(var(--muted));border-radius:.375rem;display:flex;position:relative;transition:border-color .2s,background-color .2s;width:100%}.dropdown-wrapper:not(.dropdown-disabled):not(.dropdown-error):hover{border-color:hsl(var(--primary))}.dropdown-wrapper.dropdown-focused:not(.dropdown-disabled):not(.dropdown-error){border-color:hsl(var(--primary-300))}.dropdown-wrapper.dropdown-error{background-color:hsl(var(--destructive-bg)/.3)}.dropdown-wrapper.dropdown-error,.dropdown-wrapper.dropdown-error.dropdown-focused,.dropdown-wrapper.dropdown-error:hover{border-color:hsl(var(--destructive))}.dropdown-wrapper.dropdown-disabled{cursor:not-allowed;opacity:.5}.dropdown{align-items:center;border:none;color:hsl(var(--foreground));cursor:pointer;display:flex;font-family:inherit;justify-content:space-between;outline:none;padding:0 .5rem 0 .8rem;width:100%}.dropdown:disabled{cursor:not-allowed}.dropdown-value{flex:1;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.dropdown-value-placeholder{color:hsl(var(--muted));font-size:.875rem;font-weight:400}.dropdown-chevron{color:hsl(var(--muted));flex-shrink:0;margin-left:.5rem;transition:transform .2s ease}.dropdown-chevron-open{transform:rotate(180deg)}.dropdown-sm{font-size:.875rem;height:2rem}.dropdown-md{font-size:1rem;height:2.5rem}.dropdown-lg{font-size:1.125rem;height:3rem}.dropdown-menu{background-color:hsl(var(--input));border:1px solid hsl(var(--muted));border-radius:.375rem;box-shadow:0 2px 10px rgba(0,0,0,.1);display:flex;flex-direction:column;margin-bottom:.25rem;margin-top:.25rem;max-height:15rem;z-index:50}.dropdown-search-wrapper{border-bottom:1.5px solid hsl(var(--muted));padding:.5rem}.dropdown-options-wrapper{overflow-y:auto;padding:.25rem}.dropdown-menu-top{animation:dropdownSlideUp .1s ease-out;transform-origin:bottom}.dropdown-menu-bottom{animation:dropdownSlideDown .1s ease-out;transform-origin:top}.dropdown-no-options{color:hsl(var(--muted-200));cursor:default;text-align:center}.dropdown-no-options,.dropdown-option{font-size:inherit;padding:.5rem .75rem}.dropdown-option{align-items:center;background:none;border:none;border-radius:.25rem;color:hsl(var(--foreground));cursor:pointer;display:flex;text-align:left;transition:all .2s;width:100%}.dropdown-option:hover:not(.dropdown-option-disabled):not(.dropdown-option-selected){background-color:hsl(var(--primary-disabled))}.dropdown-option-selected{background-color:hsl(var(--primary));color:#fff}.dropdown-option-selected:hover{background-color:hsl(var(--primary-200))}.dropdown-option-disabled{cursor:not-allowed;opacity:.5}.dropdown-note{color:hsl(var(--muted-200));font-size:.875rem;transition:color .2s}.dropdown-wrapper.dropdown-focused:not(.dropdown-disabled):not(.dropdown-error)+.dropdown-note,.dropdown-wrapper:not(.dropdown-disabled):not(.dropdown-error):hover+.dropdown-note{color:hsl(var(--primary))}.dropdown-error-message{color:hsl(var(--destructive));font-size:.875rem}.slider-container{--slider-track-h:6px;--slider-thumb:18px;display:flex;flex-direction:column;gap:.375rem;width:100%}.slider-header{gap:.5rem;justify-content:space-between}.slider-header,.slider-label{align-items:center;display:flex}.slider-label{color:hsl(var(--foreground));font-size:.875rem;font-weight:500;gap:.2rem}.slider-value-readout{color:hsl(var(--muted-200));font-size:.8125rem;font-variant-numeric:tabular-nums;font-weight:500}.slider-wrapper{display:flex;flex-direction:column;gap:.5rem;padding-block:.35rem;position:relative}.slider-wrapper.slider-disabled{opacity:.5;pointer-events:none}.slider-wrapper.slider-error .slider-track{background-color:hsl(var(--destructive-bg)/.35)}.slider-track-shell{align-items:center;display:flex;height:calc(var(--slider-thumb) + 8px);position:relative;touch-action:none}.slider-track{background-color:hsl(var(--muted)/.35);border-radius:var(--radius-full);cursor:pointer;height:var(--slider-track-h);position:relative;width:100%}.slider-range-fill{background-color:hsl(var(--primary));height:100%;left:0;pointer-events:none}.slider-range-fill,.slider-thumb{border-radius:var(--radius-full);position:absolute}.slider-thumb{background-color:hsl(var(--popover));border:2.5px solid hsl(var(--primary));box-shadow:0 1px 3px hsl(var(--foreground)/.08);cursor:grab;height:var(--slider-thumb);margin-left:calc(var(--slider-thumb)/-2);padding:0;top:50%;transform:translateY(-50%);transition:box-shadow .15s ease,border-color .15s ease;width:var(--slider-thumb);z-index:2}.slider-thumb:hover:not(:disabled){border-color:hsl(var(--primary-200));box-shadow:0 2px 6px hsl(var(--primary)/.25)}.slider-thumb:focus-visible{box-shadow:0 0 0 2px hsl(var(--background)),0 0 0 4px hsl(var(--primary));outline:none}.slider-thumb:active:not(:disabled){cursor:grabbing}.slider-thumb-disabled{cursor:not-allowed}.slider-thumb-active{border-color:hsl(var(--primary-200));z-index:3}.slider-tooltip{background-color:hsl(var(--primary));border-radius:var(--radius-sm);bottom:calc(100% + 10px);box-shadow:0 2px 8px hsl(var(--foreground)/.12);color:hsl(var(--primary-foreground));font-size:.75rem;font-variant-numeric:tabular-nums;font-weight:600;padding:.25rem .5rem;pointer-events:none;white-space:nowrap;z-index:4}.slider-tooltip,.slider-tooltip:after{left:50%;position:absolute;transform:translateX(-50%)}.slider-tooltip:after{border:5px solid transparent;border-top:5px solid hsl(var(--primary));content:"";top:100%}.slider-extents{color:hsl(var(--muted-200));display:flex;font-size:.75rem;font-variant-numeric:tabular-nums;justify-content:space-between;margin-top:-.15rem}.slider-marks{height:1rem;margin-top:.15rem;position:relative;width:100%}.slider-mark{align-items:center;display:flex;flex-direction:column;gap:.15rem;pointer-events:none;position:absolute;top:0;transform:translateX(-50%)}.slider-mark-dot{background-color:hsl(var(--muted-200)/.9);border-radius:var(--radius-full);height:4px;width:4px}.slider-mark-label{color:hsl(var(--muted-200));font-size:.65rem;white-space:nowrap}.slider-note{color:hsl(var(--muted-200));font-size:.8125rem}.slider-error{color:hsl(var(--destructive));font-size:.8125rem}.slider-output-sr{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.side-panel-overlay{animation:overlayShow .15s ease-out;background-color:rgba(0,0,0,.5);display:flex;inset:0;position:fixed;z-index:400}.side-panel-overlay-right{justify-content:flex-end}.side-panel-overlay-left{justify-content:flex-start}.side-panel-scrim{-webkit-tap-highlight-color:transparent;align-self:stretch;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;cursor:pointer;flex:1 1 0;margin:0;min-height:100%;min-width:0;padding:0}.side-panel{background-color:hsl(var(--background));display:flex;flex-direction:column;height:100vh;width:100%}.side-panel--sm{max-width:20rem}.side-panel--md{max-width:24rem}.side-panel--lg{max-width:36rem}.side-panel-header{align-items:flex-start;display:flex;flex-shrink:0;justify-content:space-between;padding:1.5rem}.side-panel-title-container{flex:1;margin-right:1rem}.side-panel-title{color:hsl(var(--foreground));font-size:1.25rem;font-weight:600;margin:0}.side-panel-description{color:hsl(var(--muted-200));font-size:.875rem;margin:.5rem 0 0}.side-panel-close{background:none;border:none;border-radius:.375rem;color:hsl(var(--muted-200));cursor:pointer;padding:.5rem;transition:all .2s}.side-panel-close:hover{background-color:hsl(var(--primary-disabled));color:hsl(var(--primary))}.side-panel-content{flex:1;overflow-y:auto}.side-panel-footer{border-top:1px solid hsl(var(--muted)/.3);display:flex;flex-shrink:0;gap:.5rem;justify-content:flex-end;padding:1rem 1.5rem 1.5rem}.side-panel-right{animation:sidePanelShowRight .3s cubic-bezier(.16,1,.3,1)}.side-panel-left{animation:sidePanelShowLeft .3s cubic-bezier(.16,1,.3,1)}@keyframes sidePanelShowRight{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@keyframes sidePanelShowLeft{0%{opacity:0;transform:translateX(-100%)}to{opacity:1;transform:translateX(0)}}.modal-overlay{align-items:center;animation:overlayShow .15s ease-out;background-color:rgba(0,0,0,.5);display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:500}.modal{animation:modalShow .3s cubic-bezier(.16,1,.3,1);background-color:hsl(var(--background));border-radius:.5rem;box-shadow:0 2px 10px rgba(0,0,0,.1);display:flex;flex-direction:column;max-height:85vh;width:100%}.modal--sm{max-width:24rem}.modal--md{max-width:32rem}.modal--lg{max-width:48rem}.modal-header{align-items:flex-start;display:flex;flex-shrink:0;justify-content:space-between;padding:1.5rem}.modal-title-container{flex:1;margin-right:1rem}.modal-title{color:hsl(var(--foreground));font-size:1.25rem;font-weight:600;margin:0}.modal-description{color:hsl(var(--muted-200));font-size:.875rem;margin:.5rem 0 0}.modal-close{background:none;border:none;border-radius:.375rem;color:hsl(var(--muted-200));cursor:pointer;padding:.5rem;transition:all .2s}.modal-close:hover{background-color:hsl(var(--primary-disabled));color:hsl(var(--primary))}.modal-content{flex:1;overflow-y:auto;padding:0 1.5rem 1.5rem}.modal-footer{border-top:1px solid hsl(var(--muted)/.3);display:flex;flex-shrink:0;gap:.5rem;justify-content:flex-end;padding:1rem 1.5rem 1.5rem}@keyframes overlayShow{0%{opacity:0}to{opacity:1}}@keyframes modalShow{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.tag-base{align-items:center;border-radius:var(--radius-sm);display:flex;justify-content:space-between;transition:all .2s}.tag--sm{font-size:.75rem;padding:.15rem .15rem .15rem .45rem}.tag--md{font-size:.875rem;padding:.3rem .3rem .3rem .6rem}.tag--lg{font-size:1rem;padding:.4rem .4rem .4rem .75rem}.tag-primary{border:1.5px solid hsl(var(--primary));color:hsl(var(--primary));&:hover{color:hsl(var(--primary-200))}}.tag-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag-secondary{background-color:hsl(var(--muted-25));border:1.5px solid hsl(var(--muted))}.tag-primary .tag-remove{border-radius:.2rem;color:hsl(var(--primary));transition:all .3s ease-in-out;&:hover{background-color:hsl(var(--primary-disabled));color:hsl(var(--primary-300))}}.tag-secondary .tag-remove{color:hsl(var(--muted-200));transition:all .3s ease-in-out;&:hover{color:hsl(var(--foreground))}}.tag-remove{background:none;border:none;cursor:pointer}.accordion{width:100%}.accordion-trigger{align-items:flex-start;background:none;border:none;cursor:pointer;display:flex;flex-direction:column;gap:.6rem;transition:color .2s;width:100%}.accordion-trigger:disabled{cursor:not-allowed;opacity:.5}.accordion-title-container{align-items:center;display:flex;justify-content:space-between;width:100%}.accordion-description,.accordion-icon{color:hsl(var(--muted-200))}.accordion-icon{transition:transform .3s cubic-bezier(.16,1,.3,1)}.accordion-trigger:hover,.accordion-trigger:hover .accordion-icon{color:hsl(var(--primary))}.accordion-icon-open{transform:rotate(180deg)}.accordion-content{height:0;margin-top:.5rem;overflow:hidden;transition:height .3s cubic-bezier(.16,1,.3,1)}.multi-select-container{border-radius:var(--radius-md);display:flex;flex-direction:column;gap:.5rem;position:relative;transition:all .3s}.multi-select-trigger-container{align-items:center;background-color:hsl(var(--input));border:1.5px solid hsl(var(--muted));border-radius:.5rem;cursor:pointer;display:flex;height:2.5rem;justify-content:space-between;padding:.2rem .3rem;transition:all .2s}.multi-select-trigger-container-open{border-color:hsl(var(--primary));border-radius:.5rem .5rem 0 0;padding:0 .8rem}.multi-select-tag{font-size:.75rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.multi-select-show-more{text-wrap:nowrap;color:hsl(var(--primary));cursor:pointer;font-size:.875rem;font-weight:500;text-decoration:underline}.multi-select-trigger{align-items:center;display:flex;gap:.5rem;justify-content:space-between}.multi-select-trigger-container:hover{border-color:hsl(var(--primary))}.multi-select-trigger-container:hover .multi-select-trigger-icon{color:hsl(var(--primary))}.multi-select-trigger-placeholder{color:hsl(var(--muted));font-size:.875rem;font-weight:400;padding-left:.5rem}.multi-select-trigger-icon{color:hsl(var(--muted-200));transition:all .2s}.multi-select-trigger-icon-open{color:hsl(var(--primary));transform:rotate(180deg)}.multi-select-search-input,.multi-select-toggle{margin-bottom:.25rem;margin-top:.25rem}.multi-select-toggle{font-size:.875rem;line-height:1.4rem}.multi-select-option{font-size:.875rem}.multi-select-options-container{background-color:hsl(var(--input));border:1.5px solid hsl(var(--primary));border-radius:0 0 .5rem .5rem;border-top:none;display:flex;flex-direction:column;gap:.2rem;left:0;padding:.5rem;position:absolute;top:100%;width:100%;z-index:100}.multi-select-selected-options-container{display:grid;gap:.3rem;grid-template-columns:repeat(3,1fr);max-height:6rem;overflow-y:auto;padding:.2rem 0}.multi-select-options-list{display:flex;flex-direction:column;gap:.2rem;max-height:18rem;overflow-y:auto}.multi-select-header{align-items:center;display:flex;justify-content:space-between}.multi-select-label{color:hsl(var(--foreground));font-size:.875rem;font-weight:500}.multi-select-clear{background:none;border:none;color:hsl(var(--muted-200));cursor:pointer;font-size:.875rem;transition:color .2s}.multi-select-clear:hover{color:hsl(var(--primary))}.multi-select-wrapper{position:relative}.multi-select-counter{color:hsl(var(--primary));font-size:.875rem}.multi-select-overflow{align-items:center;display:flex;gap:.5rem}.multi-select-overflow-tags{display:grid;gap:.25rem;grid-template-columns:repeat(2,1fr)}.multi-select-trigger-sm{font-size:.875rem;height:2rem}.multi-select-trigger-md{font-size:1rem;height:2.5rem}.multi-select-trigger-lg{font-size:1.125rem;height:3rem}.multi-select-trigger-disabled .multi-select-trigger-container{cursor:not-allowed;opacity:.5;pointer-events:none}.multi-select-trigger-error .multi-select-trigger-container{background-color:hsl(var(--destructive-bg)/.3);border-color:hsl(var(--destructive))}.multi-select-note{color:hsl(var(--muted-200));font-size:.875rem}.multi-select-error-message{color:hsl(var(--destructive));font-size:.875rem}.radio-group{display:flex;flex-wrap:wrap;gap:.5rem}.radio-group-option{align-items:center;background:transparent;border:1.5px solid hsl(var(--muted));border-radius:var(--radius-md);color:hsl(var(--foreground));cursor:pointer;display:flex;font-family:inherit;font-size:.875rem;gap:.5rem;padding:.5rem 1rem;transition:border-color .2s,background-color .2s,color .2s}.radio-group-option-selected,.radio-group-option:not(.radio-group-option-disabled):hover{border-color:hsl(var(--primary));color:hsl(var(--primary))}.radio-group-option-selected{background-color:hsl(var(--primary)/.06);font-weight:500}.radio-group-option-selected:not(.radio-group-option-disabled):hover{background-color:hsl(var(--primary-200)/.08);border-color:hsl(var(--primary-200));color:hsl(var(--primary-200))}.radio-group-option-label{line-height:1}.radio-group-option-icon{color:currentColor;flex-shrink:0}.radio-group-option-info{color:hsl(var(--muted-200));flex-shrink:0}.radio-group-option-selected .radio-group-option-info{color:hsl(var(--primary)/.6)}.radio-group-option-dot{border-radius:50%;flex-shrink:0;height:.5rem;width:.5rem}.radio-group-option-dot--active{background-color:hsl(var(--success))}.radio-group-option-dot--inactive{background-color:hsl(var(--destructive))}.radio-group-option-disabled{cursor:not-allowed;opacity:.4}.radio-group--sm .radio-group-option{font-size:.75rem;padding:.25rem .75rem}.radio-group--lg .radio-group-option{font-size:1rem;padding:.75rem 1.25rem}.tabs{display:flex;gap:1.5rem}.tab{background:none;border:none;color:hsl(var(--muted-200));cursor:pointer;font-weight:500;padding:.2rem;position:relative;transition:color .2s}.tab-selected,.tab:hover{color:hsl(var(--foreground))}.tab-selected:after{background-color:hsl(var(--primary));bottom:-1px;content:"";height:2px;left:0;position:absolute;width:100%}.tabs--sm .tab{font-size:.75rem;padding:.15rem}.tabs--md .tab{font-size:.875rem}.tabs--lg .tab{font-size:1.125rem;padding:.3rem}.tabs--lg .tab-selected:after{height:2.5px}.tabs--lg{gap:2rem}.tab-disabled{cursor:not-allowed;opacity:.4;pointer-events:none}.popover-trigger{cursor:pointer;display:inline-flex;outline:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.popover-trigger:focus-visible{border-radius:2px;outline:2px solid hsl(var(--primary));outline-offset:2px}.popover-content{animation:popoverShow .2s cubic-bezier(.16,1,.3,1);transform-origin:var(--origin,top);z-index:300}@keyframes popoverShow{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.pagination{align-items:center;display:flex;gap:1rem;justify-content:space-between}.pagination-per-page{min-width:140px}.pagination-controls{align-items:center;display:flex;gap:.25rem}.pagination-arrow{align-items:center;background:none;border:none;border-radius:var(--radius-md);color:hsl(var(--foreground));cursor:pointer;display:flex;justify-content:center;padding:.5rem;position:relative}.pagination-arrow:hover:not(:disabled){background-color:hsl(var(--muted-25))}.pagination-arrow:disabled{color:hsl(var(--muted));cursor:not-allowed}.pagination-arrow .second-chevron{left:8px;position:absolute}.pagination-pages{align-items:center;display:flex;gap:.25rem}.pagination-page{align-items:center;background:none;border:none;border-radius:var(--radius-md);color:hsl(var(--foreground));cursor:pointer;display:flex;font-size:.875rem;height:2rem;justify-content:center;min-width:2rem}.pagination-page:hover:not(:disabled){background-color:hsl(var(--muted-25))}.pagination-page:disabled{cursor:default}.pagination-page-active{background-color:hsl(var(--primary));color:#fff}.pagination-page-active:hover{background-color:hsl(var(--primary-200))!important}.pagination-ellipsis{align-items:center;color:hsl(var(--muted));display:flex;font-size:.875rem;height:2rem;justify-content:center;min-width:2rem;-webkit-user-select:none;-moz-user-select:none;user-select:none}.pagination-info{color:hsl(var(--muted-200));font-size:.875rem;white-space:nowrap}.table-container{background-color:hsl(var(--background));border:1px solid hsl(var(--muted)/60%);border-radius:var(--radius-md);display:flex;flex-direction:column;overflow:hidden;position:relative;width:100%}.table-wrapper{overflow-x:auto;width:100%}.table{border-collapse:collapse;font-size:.875rem;text-align:left;width:100%}.table thead{background-color:hsl(var(--background));position:sticky;top:0;z-index:1}.table thead:before{background-color:hsl(var(--muted)/60%);content:"";height:.5px;left:0;position:absolute;top:100%;width:100%}.table th{color:hsl(var(--foreground));font-weight:600;padding:.75rem 1rem;white-space:nowrap}.table th.sortable{cursor:pointer}.table th.sortable:hover{color:hsl(var(--primary));transition:color .2s ease-in-out}.table-header-content{align-items:center;display:flex;gap:.5rem}.table-sort-icon{align-items:center;color:hsl(var(--muted));display:flex}.table-sort-icon.active{color:hsl(var(--foreground))}.table-sort-icon .default{opacity:.5}.table td{border-bottom:1px solid hsl(var(--muted)/60%);color:hsl(var(--foreground));padding:.75rem 1rem}.table tr:last-child td{border-bottom:none}.table-empty,.table-loading{color:hsl(var(--muted));padding:2rem!important;text-align:center}.table-loader{height:8rem}.table-empty-content,.table-loader{align-items:center;display:flex;justify-content:center}.table-empty-content{color:hsl(var(--muted));font-size:1.25rem;gap:.5rem}.table-pagination{border-top:1px solid hsl(var(--muted)/60%);padding:.8rem}.table-header-actions{padding:.4rem;position:absolute;right:0;top:0;z-index:100}.edit-columns-popover{background-color:hsl(var(--background));border:1px solid hsl(var(--muted)/60%);border-radius:var(--radius-md);display:flex;flex-direction:column;padding:1rem;width:300px}.edit-columns-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.edit-columns-title{font-size:1rem;font-weight:600}.edit-columns-content{display:flex;flex-direction:column;gap:.5rem}.edit-columns-subtitle{color:hsl(var(--muted-200));font-size:.75rem;margin-bottom:.5rem}.edit-columns-list{display:flex;flex-direction:column;gap:.5rem;max-height:200px;overflow-y:auto}.edit-columns-item{align-items:center;background-color:hsl(var(--background));border:1px solid hsl(var(--muted)/60%);border-radius:var(--radius-md);display:flex;gap:.75rem;padding:.5rem;-webkit-user-select:none;-moz-user-select:none;user-select:none}.edit-columns-item-label{font-size:14px}.edit-columns-item.dragging{border-color:hsl(var(--primary));box-shadow:0 4px 6px rgba(0,0,0,.1)}.drag-handle{color:hsl(var(--muted-200));cursor:grab}.edit-columns-item.dragging .drag-handle{cursor:grabbing}.edit-columns-actions{display:flex;gap:.5rem;justify-content:flex-end;padding-top:.4rem}.edit-columns-item-content{align-items:center;display:flex;justify-content:space-between;width:100%}.h2o-loader{--loader-color:hsl(var(--primary));align-items:center;box-sizing:border-box;display:inline-flex;justify-content:center}.h2o-loader__visual{box-sizing:border-box;display:block;flex-shrink:0}.h2o-loader__visual--dots{--_g:no-repeat radial-gradient(circle closest-side,var(--loader-color) 90%,transparent);animation:h2o-loader-dots 1s linear infinite;aspect-ratio:2;background:var(--_g) 0 50%,var(--_g) 50% 50%,var(--_g) 100% 50%;background-size:33.33333% 50%;width:60px}@keyframes h2o-loader-dots{20%{background-position:0 0,50% 50%,100% 50%}40%{background-position:0 100%,50% 0,100% 50%}60%{background-position:0 50%,50% 100%,100% 0}80%{background-position:0 50%,50% 50%,100% 100%}}.h2o-loader__visual--bars{animation:h2o-loader-bars 1s linear infinite;aspect-ratio:1;background:linear-gradient(transparent 16.66667%,var(--loader-color) 0 50%,transparent 0) 0 100%,linear-gradient(transparent 33.33333%,var(--loader-color) 0 66.66667%,transparent 0) bottom,linear-gradient(transparent 50%,var(--loader-color) 0 83.33333%,transparent 0) 100% 100%;background-repeat:no-repeat;background-size:20% 600%;width:45px}@keyframes h2o-loader-bars{to{background-position:0 0,top,100% 0}}.h2o-loader__visual--spinner{animation:h2o-loader-spinner 1s linear infinite;aspect-ratio:1;background:radial-gradient(farthest-side,var(--loader-color) 94%,transparent) top /8px 8px no-repeat,conic-gradient(transparent 30%,var(--loader-color));border-radius:50%;-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 8px),#000 0);mask:radial-gradient(farthest-side,transparent calc(100% - 8px),#000 0);width:50px}@keyframes h2o-loader-spinner{to{transform:rotate(1turn)}}.toast-container{display:flex;flex-direction:column;gap:.5rem;max-width:420px;pointer-events:none;position:fixed;width:calc(100% - 2rem);z-index:600}.toast-container>*{pointer-events:all}.toast-container--bottom-right{bottom:1rem;right:1rem}.toast-container--bottom-left{bottom:1rem;left:1rem}.toast-container--top-right{right:1rem;top:1rem}.toast-container--top-left{left:1rem;top:1rem}.toast-container--top-center{left:50%;top:1rem;transform:translateX(-50%)}.toast-container--bottom-center{bottom:1rem;left:50%;transform:translateX(-50%)}.toast{animation:toastSlideIn .2s ease-out;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius-md);box-shadow:0 4px 12px rgba(0,0,0,.1);display:flex;gap:.75rem;padding:1rem}@keyframes toastSlideIn{0%{opacity:0;transform:translateY(.5rem)}to{opacity:1;transform:translateY(0)}}.toast-content{flex:1;min-width:0}.toast-header{align-items:flex-start;display:flex;gap:.5rem;justify-content:space-between}.toast-title{color:hsl(var(--foreground));font-size:.875rem;font-weight:600;margin:0}.toast-description{color:hsl(var(--muted-200));font-size:.875rem;margin:.25rem 0 0}.toast-close{align-items:center;background:none;border:none;color:hsl(var(--muted));cursor:pointer;display:flex;flex-shrink:0;justify-content:center;padding:0}.toast-close:hover{color:hsl(var(--foreground))}.toast-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:.75rem}.toast-info .toast-icon{color:hsl(var(--primary))}.toast-error .toast-icon{color:hsl(var(--destructive))}.toast-warning .toast-icon{color:hsl(var(--warning))}.toast-success .toast-icon{color:hsl(var(--success))}.calendar-container{background-color:hsl(var(--background));border:1px solid hsl(var(--muted)/50%);border-radius:.5rem;max-width:24rem;padding:0 1rem;width:100%}.calendar-container--no-header{border:none;box-shadow:none;max-width:none;padding:0}.calendar-header{align-items:center;border-bottom:1px solid hsl(var(--muted)/50%);display:flex;justify-content:space-between;padding:1rem .5rem;text-transform:capitalize}.calendar-title{font-size:1rem;font-weight:500}.calendar-nav-button{align-items:center;background:none;border:none;border-radius:.25rem;cursor:pointer;display:flex;justify-content:center;padding:.2rem}.calendar-nav-button:hover{background-color:hsl(var(--muted-50));color:hsl(var(--primary));transition:all .2s ease-in-out}.calendar-grid{grid-row-gap:.5rem;display:grid;grid-template-columns:repeat(7,1fr);padding:.5rem}.calendar-weekday{font-size:.7rem;font-weight:500;padding:.25rem;text-align:center;text-transform:uppercase}.calendar-day{aspect-ratio:1;background:none;border:none;cursor:pointer;font-size:.75rem;position:relative}.calendar-day:disabled{color:hsl(var(--muted));cursor:not-allowed}.calendar-day.outside-month{color:hsl(var(--muted-200))}.calendar-day-inner{align-items:center;border-radius:50%;display:flex;inset:0;justify-content:center;position:absolute;z-index:2}.calendar-day:not(:disabled):not(.selected):not(.in-range):hover .calendar-day-inner{background-color:hsl(var(--primary));color:#fff;transition:background-color .2s ease-in-out}.calendar-day.selected .calendar-day-inner{background-color:hsl(var(--primary));color:#fff}.calendar-day.selected:hover .calendar-day-inner{background-color:hsl(var(--primary-200))}.calendar-day.in-range:not(.range-start):not(.range-end){background-color:hsl(var(--primary-muted));border-radius:0}.calendar-day.in-range:not(.range-start):not(.range-end):hover .calendar-day-inner{color:hsl(var(--primary));transition:color .2s ease-in-out}.calendar-day.range-end .calendar-day-inner,.calendar-day.range-start .calendar-day-inner{background-color:hsl(var(--primary));color:#fff}.calendar-day.range-end:hover .calendar-day-inner,.calendar-day.range-start:hover .calendar-day-inner{background-color:hsl(var(--primary-200));transition:background-color .2s ease-in-out}.calendar-day.range-end:not(.range-start):after,.calendar-day.range-start:not(.range-end):after{background-color:hsl(var(--primary-muted));bottom:0;content:"";position:absolute;top:0;width:100%;z-index:1}.calendar-day.range-start:not(.range-end):after{border-radius:50% 0 0 50%;right:0}.calendar-day.range-end:not(.range-start):after{border-radius:0 50% 50% 0;left:0}.calendar-day.in-range.week-start:not(.range-start):not(.range-end){border-radius:50% 0 0 50%!important}.calendar-day.in-range.week-end:not(.range-start):not(.range-end){border-radius:0 50% 50% 0!important}.calendar-day.today:not(.selected):not(.range-start):not(.range-end) .calendar-day-inner{color:hsl(var(--primary));font-weight:700}.calendar-day.today:not(.selected):not(.range-start):not(.range-end):not(:disabled):hover .calendar-day-inner{color:#fff}.today-indicator{background-color:#fff;border-radius:50%;bottom:4px;height:4px;left:50%;position:absolute;transform:translateX(-50%);width:4px;z-index:50}.calendar-day.today:not(.selected):not(.range-start):not(.range-end) .today-indicator{background-color:hsl(var(--primary))}.calendar-day.today:not(.selected):not(.range-start):not(.range-end):not(:disabled):hover .today-indicator{background-color:#fff}.month-calendar-container{background-color:hsl(var(--background));border:1px solid hsl(var(--muted)/50%);border-radius:.5rem;max-width:24rem;padding:0 1rem;width:100%}.month-calendar-header{align-items:center;border-bottom:1px solid hsl(var(--muted)/50%);display:flex;justify-content:space-between;padding:.8rem .5rem}.month-calendar-title{background:none;border:none;border-radius:.25rem;cursor:pointer;font-size:1.2rem;font-weight:500;padding:.5rem 1rem}.month-calendar-title:hover{color:hsl(var(--primary));transition:all .2s ease-in-out}.month-calendar-nav-button{align-items:center;background:none;border:none;border-radius:.25rem;cursor:pointer;display:flex;justify-content:center;padding:.2rem}.month-calendar-nav-button:hover{background-color:hsl(var(--muted-50));color:hsl(var(--primary));transition:all .2s ease-in-out}.month-calendar-grid{display:grid;gap:.5rem;grid-template-columns:repeat(3,1fr);padding:1rem .5rem}.month-calendar-item{align-items:center;aspect-ratio:1.8;background:none;border:1px solid transparent;border-radius:.5rem;cursor:pointer;display:flex;font-size:.8rem;justify-content:center;transition:all .2s ease-in-out}.month-calendar-item:not(:disabled):not(.selected):hover{border:1px solid hsl(var(--primary));color:hsl(var(--primary))}.month-calendar-item.selected{background-color:hsl(var(--primary));color:#fff}.month-calendar-item.selected:hover{background-color:hsl(var(--primary-200))}.month-calendar-item.disabled{color:hsl(var(--muted));cursor:not-allowed}.month-calendar-grid[data-view=years]{grid-template-columns:repeat(3,1fr)}.message{align-items:center;border-radius:var(--radius-md);display:flex;font-size:.875rem;gap:.5rem;line-height:1.25rem;padding:.75rem}.message-text{flex:1}.message-dismiss{align-items:center;background:none;border:none;border-radius:.25rem;color:currentColor;cursor:pointer;display:flex;flex-shrink:0;opacity:.6;padding:.1rem}.message-dismiss:hover{opacity:1}.message-info{background-color:hsl(var(--primary-muted)/.7);border:1px solid hsl(var(--primary)/.2);color:hsl(var(--primary-300))}.message-muted{background-color:hsl(var(--muted-25)/.5);border:1px solid hsl(var(--muted)/.2);color:hsl(var(--muted-200))}.message-error{background-color:hsl(var(--destructive-bg)/.5);border:1px solid hsl(var(--destructive)/.2);color:hsl(var(--destructive))}.message-warning{background-color:hsl(var(--warning-bg)/.4);border:1px solid hsl(var(--warning)/.3);color:hsl(var(--warning))}.message-success{background-color:hsl(var(--success-bg)/.4);border:1px solid hsl(var(--success)/.3);color:hsl(var(--success))}.multi-menu-container{display:inline-flex;flex-direction:column}.multi-menu-trigger-wrapper{background:hsl(var(--input));border:1.5px solid hsl(var(--muted));border-radius:.375rem;display:flex;position:relative;transition:border-color .2s,background-color .2s}.multi-menu-trigger-wrapper:not(.multi-menu-disabled):hover{border-color:hsl(var(--primary))}.multi-menu-trigger-wrapper:not(.multi-menu-disabled):focus-within{border-color:hsl(var(--primary-300))}.multi-menu-trigger-wrapper.multi-menu-disabled{cursor:not-allowed;opacity:.5}.multi-menu-trigger{align-items:center;background:transparent;border:none;color:hsl(var(--foreground));cursor:pointer;display:flex;font-family:inherit;justify-content:space-between;outline:none;padding:0 .5rem 0 .8rem;width:100%}.multi-menu-trigger:disabled{cursor:not-allowed}.multi-menu-trigger-value{flex:1;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.multi-menu-chevron{color:hsl(var(--muted));flex-shrink:0;margin-left:.5rem;transition:transform .2s ease}.multi-menu-chevron-open{transform:rotate(180deg)}.multi-menu-trigger-sm{font-size:.875rem;height:2rem}.multi-menu-trigger-md{font-size:1rem;height:2.5rem}.multi-menu-trigger-lg{font-size:1.125rem;height:3rem}.multi-menu-panels{align-items:flex-start;display:flex;left:0;margin-top:.25rem;position:absolute;top:100%;z-index:50}.multi-menu-panels-flip{flex-direction:row-reverse;left:auto;right:0}.multi-menu-panel{animation:dropdownSlideDown .1s ease-out;background-color:hsl(var(--background));border:1px solid hsl(var(--muted));border-radius:.375rem;box-shadow:0 2px 10px rgba(0,0,0,.1);max-height:15rem;overflow-y:auto;padding:.25rem;width:12rem}.multi-menu-panel+.multi-menu-panel{margin-left:.25rem}.multi-menu-panels-flip .multi-menu-panel+.multi-menu-panel{margin-left:0;margin-right:.25rem}.multi-menu-option{align-items:center;background:none;border:none;border-radius:.25rem;color:hsl(var(--foreground));cursor:pointer;display:flex;font-size:inherit;justify-content:space-between;outline:none;padding:.5rem .75rem;text-align:left;transition:background-color .15s;white-space:nowrap;width:100%}.multi-menu-option-active:not(.multi-menu-option-disabled),.multi-menu-option:focus:not(.multi-menu-option-disabled),.multi-menu-option:hover:not(.multi-menu-option-disabled){background-color:hsl(var(--primary-disabled))}.multi-menu-option-disabled{cursor:not-allowed;opacity:.5}.multi-menu-option-label{flex-grow:1;margin-right:1rem;overflow:hidden;text-overflow:ellipsis}.multi-menu-option-chevron{color:hsl(var(--muted-200));flex-shrink:0}.compact-multi-select-container{display:flex;flex-direction:column;gap:.375rem;position:relative;width:100%}.compact-multi-select-header{align-items:center;display:flex;justify-content:space-between}.compact-multi-select-label{align-items:center;color:hsl(var(--foreground));display:flex;font-size:.875rem;font-weight:500;gap:.2rem}.compact-multi-select-clear{background:none;border:none;color:hsl(var(--muted-200));cursor:pointer;font-size:.875rem;transition:color .2s}.compact-multi-select-clear:hover{color:hsl(var(--primary))}.compact-multi-select-wrapper{background:hsl(var(--input));border:1.5px solid hsl(var(--muted));border-radius:.375rem;display:flex;position:relative;transition:border-color .2s,background-color .2s;width:100%}.compact-multi-select-wrapper:not(.compact-multi-select-disabled):not(.compact-multi-select-error):hover{border-color:hsl(var(--primary))}.compact-multi-select-wrapper.compact-multi-select-focused:not(.compact-multi-select-disabled):not(.compact-multi-select-error){border-color:hsl(var(--primary-300))}.compact-multi-select-wrapper.compact-multi-select-error{background-color:hsl(var(--destructive-bg)/.3);border-color:hsl(var(--destructive))}.compact-multi-select-wrapper.compact-multi-select-error.compact-multi-select-focused,.compact-multi-select-wrapper.compact-multi-select-error:hover{border-color:hsl(var(--destructive))}.compact-multi-select-wrapper.compact-multi-select-disabled{cursor:not-allowed;opacity:.5}.compact-multi-select{align-items:center;border:none;color:hsl(var(--foreground));cursor:pointer;display:flex;font-family:inherit;justify-content:space-between;min-height:2.5rem;outline:none;padding:.3rem .5rem .3rem .8rem;width:100%}.compact-multi-select:disabled{cursor:not-allowed}.compact-multi-select-content{align-items:center;display:flex;flex:1;flex-wrap:wrap;gap:.375rem}.compact-multi-select-placeholder{color:hsl(var(--muted));font-size:.875rem;font-weight:400}.compact-multi-select-chevron{color:hsl(var(--muted));flex-shrink:0;margin-left:.5rem;transition:transform .2s ease}.compact-multi-select-chevron-open{transform:rotate(180deg)}.compact-multi-select-sm{font-size:.875rem;min-height:2rem;padding-bottom:.25rem;padding-top:.25rem}.compact-multi-select-md{font-size:1rem;min-height:2.5rem}.compact-multi-select-lg{font-size:1.125rem;min-height:3rem}.compact-multi-select-menu{background-color:hsl(var(--popover));border:1px solid hsl(var(--border));border-radius:.375rem;box-shadow:0 2px 10px rgba(0,0,0,.1);display:flex;flex-direction:column;margin-bottom:.25rem;margin-top:.25rem;max-height:15rem;z-index:50}.compact-multi-select-search-wrapper{border-bottom:1.5px solid hsl(var(--border));padding:.5rem}.compact-multi-select-options-wrapper{overflow-y:auto;padding:.25rem}.compact-multi-select-menu-top{animation:dropdownSlideUp .1s ease-out;transform-origin:bottom}.compact-multi-select-menu-bottom{animation:dropdownSlideDown .1s ease-out;transform-origin:top}.compact-multi-select-no-options{color:hsl(var(--muted-200));cursor:default;font-size:inherit;padding:.5rem .75rem;text-align:center}.compact-multi-select-option{align-items:center;background:none;border:none;border-radius:.25rem;color:hsl(var(--foreground));cursor:pointer;display:flex;font-size:inherit;justify-content:space-between;padding:.5rem .75rem;text-align:left;transition:all .2s;width:100%}.compact-multi-select-option:hover:not(.compact-multi-select-option-disabled):not(.compact-multi-select-option-selected){background-color:hsl(var(--primary-disabled))}.compact-multi-select-option-selected{background-color:hsl(var(--primary));color:#fff}.compact-multi-select-option-selected .icon{color:#fff}.compact-multi-select-option-selected:hover{background-color:hsl(var(--primary-200))}.compact-multi-select-option-disabled{cursor:not-allowed;opacity:.5}.compact-multi-select-note{color:hsl(var(--muted-200));font-size:.875rem;transition:color .2s}.compact-multi-select-wrapper.compact-multi-select-focused:not(.compact-multi-select-disabled):not(.compact-multi-select-error)+.compact-multi-select-note,.compact-multi-select-wrapper:not(.compact-multi-select-disabled):not(.compact-multi-select-error):hover+.compact-multi-select-note{color:hsl(var(--primary))}.compact-multi-select-error-message{color:hsl(var(--destructive));font-size:.875rem}.compact-multi-select-info-icon{color:hsl(var(--muted-200))}.compact-multi-select-info-icon:hover{color:hsl(var(--primary))}@keyframes dropdownSlideDown{0%{opacity:0;transform:translateY(-.5rem)}to{opacity:1;transform:translateY(0)}}@keyframes dropdownSlideUp{0%{opacity:0;transform:translateY(.5rem)}to{opacity:1;transform:translateY(0)}}.date-range-picker{background-color:hsl(var(--background));border:1px solid hsl(var(--muted)/50%);border-radius:.5rem;display:flex;font-family:inherit}.date-range-picker__presets{border-right:1px solid hsl(var(--muted)/50%);display:flex;flex-direction:column;font-size:.875rem;gap:.5rem;padding:1rem;width:14rem}.date-range-picker__presets .radio-label{width:100%}.date-range-picker__main{flex-grow:1;padding:1rem}.date-range-picker__display{font-size:1rem;font-weight:500;margin-bottom:1rem;padding:0 .5rem}.date-range-picker__calendars{display:grid;gap:1.5rem;grid-template-areas:"header1 header2" "cal1 cal2";grid-template-columns:1fr 1fr}.date-range-picker__calendars .calendar-container{border:none;box-shadow:none;max-width:none;padding:0}.date-range-picker__header{align-items:center;display:flex;justify-content:space-between;padding:0 .5rem}.date-range-picker__header:first-of-type{grid-area:header1}.date-range-picker__header:nth-of-type(2){grid-area:header2}.date-range-picker__calendars .calendar-container:first-of-type{grid-area:cal1}.date-range-picker__calendars .calendar-container:nth-of-type(2){grid-area:cal2}.expandable-table .expand-column{padding:0!important;text-align:center;width:48px}.expandable-table .expand-button{align-items:center;background:none;border:none;color:hsl(var(--muted));cursor:pointer;display:flex;height:100%;justify-content:center;padding:8px;transition:all .2s ease-in-out;width:100%}.expandable-table .expand-button:hover{color:hsl(var(--primary))}.expandable-table .expand-button svg{transition:transform .2s ease-in-out}.expandable-table .expand-button svg.expanded{color:hsl(var(--primary));transform:rotate(90deg)}.expandable-table tbody tr:has(+tr.expanded-row) td{border-bottom-color:hsl(var(--primary))}.expandable-table tr.expanded-row td{border-bottom:1px solid hsl(var(--primary));border-left:none;border-right:none}.expandable-table tr.expanded-row td:first-child{border-left:1px solid hsl(var(--primary))}.expandable-table tr.expanded-row td:last-child{border-right:1px solid hsl(var(--primary))}.expandable-table tbody tr.expanded-row td{border-top:1px solid hsl(var(--primary))}.expandable-table tr.expanded-row .expand-button{color:hsl(var(--primary))}.expandable-table .expandable-content{padding:1rem}.expandable-table .expandable-row td{border:1px solid hsl(var(--primary));padding:0}.expandable-table tbody tr.expandable-row:last-child td{border-bottom:1px solid hsl(var(--primary))}.expandable-table .expandable-row{transition:all .3s ease-in-out}.expandable-table .expandable-content{animation:slideDown .3s ease-in-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.chip-base{align-items:center;border:1.5px solid transparent;border-radius:.75rem;display:inline-flex;font-size:.8rem;font-weight:500;gap:.3rem;line-height:1;padding:.25rem .625rem;transition:opacity .2s;white-space:nowrap}.chip--icon{padding-left:.375rem}.chip-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chip-neutral{background-color:hsl(var(--muted-25));color:hsl(var(--foreground)/.8)}.chip-neutral.chip--border{border-color:hsl(var(--muted))}.chip-primary{background-color:hsl(var(--primary-muted));color:hsl(var(--primary))}.chip-primary.chip--border{border-color:hsl(var(--primary)/.3)}.chip-success{background-color:hsl(var(--success-bg)/.5);color:hsl(var(--success))}.chip-success.chip--border{border-color:hsl(var(--success)/.4)}.chip-warning{background-color:hsl(var(--warning-bg)/.5);color:hsl(var(--warning-200))}.chip-warning.chip--border{border-color:hsl(var(--warning-200)/.4)}.chip-error{background-color:hsl(var(--destructive-bg)/.5);color:hsl(var(--destructive))}.chip-error.chip--border{border-color:hsl(var(--destructive)/.4)}.chip-dot{background-color:currentColor;border-radius:50%;flex-shrink:0;height:.45rem;width:.45rem}.chip--sm .chip-dot{height:.375rem;width:.375rem}.chip--lg .chip-dot{height:.5rem;width:.5rem}.chip--sm{font-size:.7rem;gap:.25rem;padding:.175rem .45rem}.chip--md{font-size:.8rem;padding:.25rem .625rem}.chip--lg{font-size:.875rem;gap:.35rem;padding:.35rem .75rem}.chip--disabled{cursor:not-allowed;opacity:.45}[role=button].chip-base{cursor:pointer}[role=button].chip-base:not(.chip--disabled):hover{opacity:.8}[role=button].chip-base:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px}.segmented-toggle{background-color:hsl(var(--input));border:1.5px solid hsl(var(--muted)/.6);border-radius:.3rem;display:flex;gap:.125rem;overflow:hidden;padding:.2rem;transition:border-color .2s ease-in-out;width:-moz-fit-content;width:fit-content}.segmented-toggle:hover{border-color:hsl(var(--primary))}.segmented-toggle-option{text-wrap:nowrap;align-items:center;background:none;border:none;border-radius:var(--radius-sm);color:hsl(var(--muted-200));cursor:pointer;display:flex;font:inherit;line-height:1;overflow:hidden;padding:.375rem .5rem;text-overflow:ellipsis;transition:all .2s ease-in-out;white-space:nowrap}.segmented-toggle-option:hover:not(.segmented-toggle-option-disabled):not(.segmented-toggle-option-selected){color:hsl(var(--foreground))}.segmented-toggle-option-selected{background-color:hsl(var(--primary));color:#fff}.segmented-toggle-option-selected:hover:not(.segmented-toggle-option-disabled){background-color:hsl(var(--primary-200))}.segmented-toggle-option-content{align-items:center;display:inline-flex;gap:.3rem;justify-content:center}.segmented-toggle-option-icon{flex-shrink:0}.segmented-toggle--sm .segmented-toggle-option{font-size:.75rem;padding:.25rem .5rem}.segmented-toggle--md .segmented-toggle-option{font-size:.875rem;padding:.3rem .75rem}.segmented-toggle--lg .segmented-toggle-option{font-size:1rem;padding:.375rem 1rem}.segmented-toggle-option-disabled{cursor:not-allowed;opacity:.5}.segmented-toggle-option-disabled:hover{background-color:inherit!important;color:inherit!important}.segmented-toggle-option-disabled.segmented-toggle-option-selected{opacity:.7}.skeleton{background-color:hsl(var(--muted)/.38);box-shadow:inset 0 0 0 1px hsl(var(--muted-200)/.22);box-sizing:border-box;display:block;flex-shrink:0;overflow:hidden;position:relative}.dark .skeleton{background-color:hsl(var(--muted-50));box-shadow:none}.skeleton--static:after{display:none}.skeleton:after{animation:skeleton-shimmer 1.35s ease-in-out infinite;background:linear-gradient(90deg,transparent 0,hsl(var(--popover)/.35) 42%,hsl(var(--popover)/.85) 50%,hsl(var(--popover)/.35) 58%,transparent 100%);content:"";inset:0;position:absolute;transform:translateX(-100%)}.dark .skeleton:after{background:linear-gradient(90deg,transparent 0,hsl(var(--muted)/.25) 45%,hsl(var(--muted-200)/.35) 50%,hsl(var(--muted)/.25) 55%,transparent 100%)}@keyframes skeleton-shimmer{to{transform:translateX(100%)}}.skeleton--text{border-radius:var(--radius-sm);width:100%}.skeleton--text.skeleton--sm{height:.75rem}.skeleton--text.skeleton--md{height:.875rem}.skeleton--text.skeleton--lg{height:1rem}.skeleton--rectangular{border-radius:var(--radius-md);width:100%}.skeleton--circular{border-radius:var(--radius-full)}.date-picker-container{display:flex;flex-direction:column;font-family:inherit;gap:.5rem}.date-picker-header{align-items:center;display:flex;justify-content:space-between}.date-picker-labels{display:flex;flex:1;gap:.75rem}.date-picker-label{color:hsl(var(--foreground));flex:1;font-size:.875rem;font-weight:500}.date-picker-clear{background:none;border:none;color:hsl(var(--muted-200));cursor:pointer;flex-shrink:0;font-size:.875rem;padding:0;transition:color .2s}.date-picker-clear:hover{color:hsl(var(--primary))}.date-picker-wrapper{position:relative}.date-picker-range-wrapper{display:grid;gap:.75rem;grid-template-columns:1fr 1fr}.date-picker-field-wrapper{position:relative}.date-picker-trigger{align-items:center;background:hsl(var(--input));border:1.5px solid hsl(var(--muted));border-radius:.5rem;cursor:pointer;display:flex;font-family:inherit;font-size:.875rem;height:2.5rem;justify-content:space-between;padding:0 .75rem;text-align:left;transition:border-color .2s;width:100%}.date-picker-trigger:hover:not([disabled]){border-color:hsl(var(--primary))}.date-picker-trigger:hover:not([disabled]) .date-picker-icon{color:hsl(var(--primary))}.date-picker-trigger--open{border-color:hsl(var(--primary));border-radius:.5rem .5rem 0 0}.date-picker-trigger--error{background-color:hsl(var(--destructive-bg)/.3);border-color:hsl(var(--destructive))}.date-picker-trigger[disabled]{cursor:not-allowed;opacity:.5}.date-picker-placeholder{color:hsl(var(--muted));font-size:.875rem}.date-picker-value{color:hsl(var(--foreground));font-size:.875rem}.date-picker-icon{color:hsl(var(--muted-200));flex-shrink:0;transition:color .2s}.date-picker-icon--open{color:hsl(var(--primary))}.date-picker-panel{background-color:hsl(var(--input));border:1.5px solid hsl(var(--primary));border-radius:0 0 .5rem .5rem;border-top:none;box-sizing:border-box;left:0;overflow:hidden;position:absolute;top:100%;width:100%;z-index:200}.date-picker-panel .calendar-container{background:none;border:none;box-sizing:border-box;max-width:none;min-width:0;width:100%}.date-picker-note{color:hsl(var(--muted-200));font-size:.875rem}.date-picker-error-message{color:hsl(var(--destructive));font-size:.875rem}.time-picker-container{box-sizing:border-box;display:flex;flex-direction:column;font-family:inherit;gap:.5rem;min-width:0;width:100%}.time-picker-header{align-items:center;display:flex;justify-content:space-between}.time-picker-labels{display:flex;flex:1;gap:.75rem}.time-picker-group-label,.time-picker-label{color:hsl(var(--foreground));flex:1;font-size:.875rem;font-weight:500}.time-picker-clear{background:none;border:none;color:hsl(var(--muted-200));cursor:pointer;flex-shrink:0;font-size:.875rem;padding:0;transition:color .2s}.time-picker-clear:hover{color:hsl(var(--primary))}.time-picker-fields{display:flex;min-width:0;width:100%}.time-picker-fields--range{display:grid;gap:.75rem;grid-template-columns:1fr 1fr;min-width:0;width:100%}.time-picker-field{align-items:stretch;background:hsl(var(--input));border:1.5px solid hsl(var(--muted));border-radius:.5rem;display:flex;font-family:inherit;font-size:.875rem;height:2.5rem;min-width:0;position:relative;transition:border-color .2s;width:100%}.time-picker-field:hover:not(.time-picker-field--disabled){border-color:hsl(var(--primary))}.time-picker-field:hover:not(.time-picker-field--disabled) .time-picker-icon{color:hsl(var(--primary))}.time-picker-field--open{border-color:hsl(var(--primary));border-radius:.5rem .5rem 0 0}.time-picker-field--error{background-color:hsl(var(--destructive-bg)/.3);border-color:hsl(var(--destructive))}.time-picker-field--disabled{opacity:.5;pointer-events:none}.time-picker-half{align-items:center;cursor:pointer;display:flex;flex:1;justify-content:space-between;min-width:0;outline:none;padding:0 .625rem;-webkit-user-select:none;-moz-user-select:none;user-select:none}.time-picker-half:focus-visible{border-radius:.375rem;outline:2px solid hsl(var(--primary));outline-offset:-2px}.time-picker-half-divider{background-color:hsl(var(--muted));flex-shrink:0;margin:.4rem 0;width:1px}.time-picker-placeholder{color:hsl(var(--muted));font-size:.875rem;letter-spacing:.04em}.time-picker-value{color:hsl(var(--foreground));font-size:.875rem;font-variant-numeric:tabular-nums}.time-picker-half--active .time-picker-placeholder,.time-picker-half--active .time-picker-value{color:hsl(var(--primary))}.time-picker-icon{color:hsl(var(--muted-200));flex-shrink:0;transition:color .2s}.time-picker-icon--open{color:hsl(var(--primary))}.time-picker-dropdown{background-color:hsl(var(--input));border:1.5px solid hsl(var(--primary));border-radius:0 0 .5rem .5rem;border-top:none;cursor:grab;max-height:11rem;overflow-y:auto;position:absolute;scrollbar-color:hsl(var(--muted)) transparent;scrollbar-width:thin;top:100%;-moz-user-select:none;user-select:none;-webkit-user-select:none;width:calc(50% + 1.5px);z-index:200}.time-picker-dropdown--dragging{cursor:grabbing}.time-picker-dropdown--left{left:-1.5px}.time-picker-dropdown--right{right:-1.5px}.time-picker-dropdown::-webkit-scrollbar{width:4px}.time-picker-dropdown::-webkit-scrollbar-track{background:transparent}.time-picker-dropdown::-webkit-scrollbar-thumb{background-color:hsl(var(--muted));border-radius:2px}.time-picker-option{color:hsl(var(--primary));cursor:pointer;font-size:.875rem;font-variant-numeric:tabular-nums;padding:.5rem .75rem;transition:background-color .15s}.time-picker-option--selected,.time-picker-option:hover{background-color:hsl(var(--primary-muted))}.time-picker-option--selected{font-weight:600}.time-picker-note{color:hsl(var(--muted-200));font-size:.875rem}.time-picker-error-message{color:hsl(var(--destructive));font-size:.875rem}.expandable-search{--expandable-search-height:40px;--expandable-search-width:200px;border:1.5px solid transparent;border-radius:var(--radius-md);overflow:hidden;position:relative;transition:border-color .2s ease,background-color .2s ease;width:-moz-fit-content;width:fit-content}.expandable-search--sm{--expandable-search-height:32px}.expandable-search--md{--expandable-search-height:40px}.expandable-search--lg{--expandable-search-height:48px}.expandable-search--expanded{background:hsl(var(--input));border-color:hsl(var(--primary))}.expandable-search-container{align-items:center;border-radius:var(--radius-md);display:flex;justify-content:flex-end;overflow:hidden;position:relative;transition:width .3s cubic-bezier(.4,0,.2,1);width:var(--expandable-search-height)}.expandable-search--expanded .expandable-search-container{width:calc(var(--expandable-search-width) + var(--expandable-search-height))}.expandable-search-button{align-items:center;background:transparent;border:none;border-radius:var(--radius-md);color:hsl(var(--primary));cursor:pointer;display:inline-flex;flex-shrink:0;height:var(--expandable-search-height);justify-content:center;padding:0;position:relative;transition:background-color .2s ease,color .2s ease;width:var(--expandable-search-height);z-index:2}.expandable-search-button:hover{background-color:hsl(var(--primary-disabled))}.expandable-search-button:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px}.expandable-search--expanded .expandable-search-button:hover{background-color:transparent;color:hsl(var(--primary-300))}.expandable-search-input{background:transparent;border:none;color:hsl(var(--foreground));font-family:inherit;font-size:.875rem;height:var(--expandable-search-height);margin:0;opacity:0;outline:none;padding:0 .875rem;pointer-events:none;position:absolute;right:var(--expandable-search-height);top:0;transform:translateX(100%);transition:transform .1s cubic-bezier(.4,0,.2,1),opacity .3s cubic-bezier(.4,0,.2,1),visibility 0s linear .3s;visibility:hidden;width:var(--expandable-search-width)}.expandable-search-input::-moz-placeholder{color:hsl(var(--muted))}.expandable-search-input::placeholder{color:hsl(var(--muted))}.expandable-search--expanded .expandable-search-input{opacity:1;pointer-events:all;transform:translateX(0);transition:transform .3s cubic-bezier(.4,0,.2,1) .1s,opacity .3s cubic-bezier(.4,0,.2,1) .1s,visibility 0s linear .1s;visibility:visible}
1
+ .button{align-items:center;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;justify-content:center;min-width:-moz-fit-content;min-width:fit-content;transition:all .3s}.button--full-width{width:100%}.button:focus{outline:none}.button:disabled{cursor:not-allowed}.button--primary{background-color:hsl(var(--primary));color:#fff}.button--primary:focus-visible:not(:disabled),.button--primary:hover:not(:disabled){background-color:hsl(var(--primary-200))}.button--primary:active:not(:disabled){background-color:hsl(var(--primary-300))}.button--primary:disabled{background-color:hsl(var(--primary-disabled))}.button--secondary{background-color:hsl(var(--input));border:1px solid hsl(var(--border));color:hsl(var(--primary))}.button--secondary:focus-visible:not(:disabled),.button--secondary:hover:not(:disabled){border-color:hsl(var(--primary-200));color:hsl(var(--primary-200))}.button--secondary:active:not(:disabled){border-color:hsl(var(--primary-300));color:hsl(var(--primary-300))}.button--secondary:disabled{background-color:hsl(var(--input)/.5);border:none;color:hsl(var(--primary-disabled))}.button--ghost{background-color:transparent;color:hsl(var(--primary))}.button--ghost:focus-visible:not(:disabled),.button--ghost:hover:not(:disabled){color:hsl(var(--primary-200))}.button--ghost:active:not(:disabled){color:hsl(var(--primary-300))}.button--ghost:disabled{color:hsl(var(--primary-disabled));opacity:.5}.button--danger{background-color:hsl(var(--destructive));color:#fff}.button--danger:focus-visible:not(:disabled),.button--danger:hover:not(:disabled){background-color:hsl(var(--destructive-200))}.button--danger:active:not(:disabled){background-color:hsl(var(--destructive-300))}.button--danger:disabled{opacity:.5}.button--warning{background-color:hsl(var(--warning));color:#fff}.button--warning:focus-visible:not(:disabled),.button--warning:hover:not(:disabled){background-color:hsl(var(--warning-200))}.button--warning:active:not(:disabled){background-color:hsl(var(--warning-300))}.button--warning:disabled{opacity:.5}.button--success{background-color:hsl(var(--success));color:#fff}.button--success:focus-visible:not(:disabled),.button--success:hover:not(:disabled){background-color:hsl(var(--success-200))}.button--success:active:not(:disabled){background-color:hsl(var(--success-300))}.button--success:disabled{opacity:.5}.button--sm{font-size:.875rem;height:2rem}.button--sm.button--icon-only{padding:0;width:2rem}.button--sm:not(.button--icon-only){padding:0 .75rem}.button--md{font-size:1rem;height:2.5rem}.button--md.button--icon-only{padding:0;width:2.5rem}.button--md:not(.button--icon-only){padding:0 1rem}.button--lg{font-size:1.125rem;height:3rem}.button--lg.button--icon-only{padding:0;width:3rem}.button--lg:not(.button--icon-only){padding:0 1.5rem}.button--loading{cursor:not-allowed;opacity:.7}.button--loading .button__content{min-width:-moz-fit-content;min-width:fit-content;white-space:nowrap}.button__content{align-items:center;display:flex;gap:.5rem;justify-content:center;min-width:-moz-fit-content;min-width:fit-content}.button__spinner{animation:spin 1s linear infinite;flex-shrink:0;height:1.25rem;width:1.25rem}.button__spinner-circle{opacity:.25}.button__spinner-path{opacity:.75}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.button--sm .button__icon{height:20px;width:20px}.button--md .button__icon{height:24px;width:24px}.button--lg .button__icon{height:28px;width:28px}.tooltip-container{display:inline-block;position:relative}.tooltip-box{word-wrap:break-word;border-radius:6px;box-shadow:0 4px 12px rgba(0,0,0,.15);font-size:.8125rem;max-width:220px;opacity:0;padding:.5rem .75rem;pointer-events:none;position:fixed;transition:opacity .15s ease;visibility:hidden;z-index:1001}.tooltip-box--dark{background-color:hsl(var(--tooltip-dark-bg));color:hsl(var(--tooltip-dark-fg))}.tooltip-box--light{background-color:hsl(var(--card));box-shadow:0 4px 12px rgba(0,0,0,.12);color:hsl(var(--foreground))}.tooltip-box:after{border:6px solid transparent;content:"";pointer-events:none;position:absolute;z-index:1000}.tooltip-box.tooltip-visible,.tooltip-box.tooltip-visible:after{opacity:1;visibility:visible}.tooltip-box--dark[data-position=top]:after{border-top-color:hsl(var(--tooltip-dark-bg))}.tooltip-box--light[data-position=top]:after{border-top-color:hsl(var(--card))}.tooltip-box[data-position=top]:after{left:50%;top:100%;transform:translateX(-50%)}.tooltip-box--dark[data-position=bottom]:after{border-bottom-color:hsl(var(--tooltip-dark-bg))}.tooltip-box--light[data-position=bottom]:after{border-bottom-color:hsl(var(--card))}.tooltip-box[data-position=bottom]:after{bottom:100%;left:50%;transform:translateX(-50%)}.tooltip-box--dark[data-position=left]:after{border-left-color:hsl(var(--tooltip-dark-bg))}.tooltip-box--light[data-position=left]:after{border-left-color:hsl(var(--card))}.tooltip-box[data-position=left]:after{left:100%;top:50%;transform:translateY(-50%)}.tooltip-box--dark[data-position=right]:after{border-right-color:hsl(var(--tooltip-dark-bg))}.tooltip-box--light[data-position=right]:after{border-right-color:hsl(var(--card))}.tooltip-box[data-position=right]:after{right:100%;top:50%;transform:translateY(-50%)}.checkbox-wrapper{display:flex;flex-direction:column;gap:.25rem}.checkbox-label{align-items:center;cursor:pointer;display:flex;gap:10px;min-width:0;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.checkbox-label input{height:0;opacity:0;position:absolute;width:0}.checkbox--sm{--cb-size:16px;--cb-radius:3px;--cb-mark-top:1px;--cb-mark-left:4px;--cb-mark-w:4px;--cb-mark-h:8px;--cb-dash-w:8px;--cb-dash-top:5px;--cb-dash-left:2px;font-size:.75rem}.checkbox--md{--cb-size:20px;--cb-radius:4px;--cb-mark-top:2px;--cb-mark-left:6px;--cb-mark-w:5px;--cb-mark-h:10px;--cb-dash-w:10px;--cb-dash-top:7px;--cb-dash-left:3px;font-size:.875rem}.checkbox--lg{--cb-size:24px;--cb-radius:5px;--cb-mark-top:2px;--cb-mark-left:7px;--cb-mark-w:6px;--cb-mark-h:12px;--cb-dash-w:12px;--cb-dash-top:9px;--cb-dash-left:4px;font-size:1rem}.checkbox-box{border:2px solid hsl(var(--muted));border-radius:var(--cb-radius,4px);display:inline-block;flex-shrink:0;height:var(--cb-size,20px);position:relative;transition:all .2s;width:var(--cb-size,20px)}.checkbox-label:not(:has(input:disabled)):hover .checkbox-box{border-color:hsl(var(--primary-200))}.checkbox-box:after{border:solid #fff;border-width:0 2px 2px 0;content:"";height:var(--cb-mark-h,10px);left:var(--cb-mark-left,6px);opacity:0;position:absolute;top:var(--cb-mark-top,2px);transform:rotate(45deg) scale(0);transition:all .2s;width:var(--cb-mark-w,5px)}.checkbox-label input:indeterminate+.checkbox-box{background-color:hsl(var(--primary));border-color:hsl(var(--primary))}.checkbox-label input:indeterminate+.checkbox-box:after{background:#fff;border:none;height:2px;left:var(--cb-dash-left,3px);opacity:1;top:var(--cb-dash-top,7px);transform:none;width:var(--cb-dash-w,10px)}.checkbox-label input:checked+.checkbox-box{background-color:hsl(var(--primary));border-color:hsl(var(--primary))}.checkbox-label:not(:has(input:disabled)):hover input:checked+.checkbox-box,.checkbox-label:not(:has(input:disabled)):hover input:indeterminate+.checkbox-box{background-color:hsl(var(--primary-200));border-color:hsl(var(--primary-200))}.checkbox-label input:checked+.checkbox-box:after{opacity:1;transform:rotate(45deg) scale(1)}.checkbox-label-row{align-items:center;display:flex;flex:1;gap:.25rem;min-width:0;overflow:hidden}.checkbox-text{color:hsl(var(--foreground));min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.checkbox-label:has(input:disabled) .checkbox-text{color:hsl(var(--muted))}.checkbox-card{align-items:center;border:1.5px solid hsl(var(--muted));border-radius:.5rem;display:flex;justify-content:space-between;padding:.5rem .7rem;transition:border-color .2s;width:100%}.checkbox-card:not(:has(input:disabled)):hover{border-color:hsl(var(--primary-200))}.checkbox-card:not(:has(input:disabled)):has(input:checked):hover .checkbox-text{color:hsl(var(--primary-200))}.checkbox-card:has(input:checked){border-color:hsl(var(--primary))}.checkbox-card:has(input:checked) .checkbox-text{color:hsl(var(--primary));font-weight:500}.checkbox-card:has(input:checked:disabled){border-color:hsl(var(--primary-disabled))}.checkbox-card:has(input:checked:disabled) .checkbox-text{color:hsl(var(--primary-disabled))}.checkbox-group,.checkbox-group-children{display:flex;flex-direction:column;gap:.5rem}.checkbox-group-children{margin-left:2rem}.checkbox-label:has(input:disabled){cursor:not-allowed}.checkbox-label:has(input:disabled) .checkbox-box{opacity:.5}.checkbox-info-icon{color:hsl(var(--muted-200));flex-shrink:0}.checkbox-info-icon:hover{color:hsl(var(--primary))}.checkbox-note{color:hsl(var(--muted-200))}.checkbox-error,.checkbox-note{font-size:.75rem;padding-left:calc(var(--cb-size, 20px) + 10px)}.checkbox-error{color:hsl(var(--destructive))}.radio--sm{--rb-size:16px;--rb-dot:6px;font-size:.75rem}.radio--md{--rb-size:20px;--rb-dot:8px;font-size:.875rem}.radio--lg{--rb-size:24px;--rb-dot:10px;font-size:1rem}.radio-wrapper{display:flex;flex-direction:column;gap:.25rem}.radio-label{align-items:center;cursor:pointer;display:flex;gap:10px;min-width:0;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.radio-label input{height:0;opacity:0;position:absolute;width:0}.radio-button{border:2px solid hsl(var(--muted));border-radius:50%;display:inline-block;flex-shrink:0;height:var(--rb-size,20px);position:relative;transition:all .2s;width:var(--rb-size,20px)}.radio-label:not(:has(input:disabled)):hover .radio-button{border-color:hsl(var(--primary))}.radio-button:after{background-color:#fff;border-radius:50%;content:"";height:var(--rb-dot,8px);left:50%;position:absolute;top:50%;transform:translate(-50%,-50%) scale(0);transition:transform .2s;width:var(--rb-dot,8px)}.radio-label input:checked+.radio-button{background-color:hsl(var(--primary));border-color:hsl(var(--primary))}.radio-label:not(:has(input:disabled)):hover input:checked+.radio-button{background-color:hsl(var(--primary-300));border-color:hsl(var(--primary-300))}.radio-label input:checked+.radio-button:after{transform:translate(-50%,-50%) scale(1)}.radio-label:has(input:disabled){cursor:not-allowed}.radio-label input:disabled+.radio-button{border-color:hsl(var(--muted))}.radio-label input:checked:disabled+.radio-button{opacity:.5}.radio-label input:disabled+.radio-button+.radio-label-content .radio-text{color:hsl(var(--muted))}.radio-label-content{display:flex;flex:1;flex-direction:column;gap:2px;min-width:0}.radio-label-row{align-items:center;display:flex;gap:.25rem;min-width:0;overflow:hidden}.radio-text{color:hsl(var(--foreground));min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.radio-description{color:hsl(var(--muted-200));font-size:.8125rem;font-weight:400}.radio-note{color:hsl(var(--muted-200))}.radio-error-message,.radio-note{font-size:.75rem;padding-left:calc(var(--rb-size, 20px) + 10px)}.radio-error-message{color:hsl(var(--destructive))}.radio-info-icon{color:hsl(var(--muted-200));flex-shrink:0}.radio-info-icon:hover{color:hsl(var(--primary))}.radio-card{border:1.5px solid hsl(var(--muted));border-radius:.5rem;padding:.5rem .7rem;transition:border-color .2s,background-color .2s;width:100%}.radio-card:not(:has(input:disabled)):hover{border-color:hsl(var(--primary-200))}.radio-card:has(input:checked){background-color:hsl(var(--primary)/.04);border-color:hsl(var(--primary))}.radio-card:not(:has(input:disabled)):hover .radio-card:has(input:checked){border-color:hsl(var(--primary-200))}.radio-card:has(input:checked) .radio-text{color:hsl(var(--primary));font-weight:500}.radio-card:has(input:checked) .radio-button{background-color:hsl(var(--primary));border-color:hsl(var(--primary))}.radio-card:has(input:checked:disabled){background-color:transparent;border-color:hsl(var(--primary-disabled))}.radio-card:has(input:checked:disabled) .radio-text{color:hsl(var(--primary-disabled))}.toggle-label{align-items:center;cursor:pointer;display:inline-flex;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%}.toggle-text{color:hsl(var(--foreground));line-height:1.4;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toggle-label-row{align-items:center;display:flex;gap:.25rem}.toggle-label-content{display:flex;flex:1;flex-direction:column;gap:2px;min-width:0}.toggle-description{color:hsl(var(--muted-200));font-size:.875rem;line-height:1.25rem;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:normal}.toggle-label input{height:0;opacity:0;position:absolute;width:0}.toggle-container{align-items:center;display:flex;gap:12px;width:100%}.toggle--sm{--toggle-width:36px;--toggle-height:20px;--toggle-thumb:14px;--toggle-offset:3px;--toggle-translate:16px}.toggle--sm .toggle-description,.toggle--sm .toggle-text{font-size:.75rem}.toggle--md{--toggle-width:44px;--toggle-height:24px;--toggle-thumb:18px;--toggle-offset:3px;--toggle-translate:20px}.toggle--md .toggle-text{font-size:.875rem}.toggle--md .toggle-description{font-size:.8125rem}.toggle--lg{--toggle-width:52px;--toggle-height:28px;--toggle-thumb:22px;--toggle-offset:3px;--toggle-translate:24px}.toggle--lg .toggle-text{font-size:1rem}.toggle--lg .toggle-description{font-size:.875rem}.toggle-switch{background-color:hsl(var(--muted));border-radius:var(--toggle-height,24px);display:inline-block;flex-shrink:0;height:var(--toggle-height,24px);position:relative;transition:background-color .2s;width:var(--toggle-width,44px)}.toggle-label:not(:has(input:disabled)):hover .toggle-switch{background-color:hsl(var(--muted-200))}.toggle-switch:after{background-color:hsl(var(--primary-foreground));border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.1);content:"";height:var(--toggle-thumb,18px);left:var(--toggle-offset,3px);position:absolute;top:var(--toggle-offset,3px);transition:transform .2s;width:var(--toggle-thumb,18px)}.toggle-label input:checked+.toggle-switch{background-color:hsl(var(--primary))}.toggle-label:not(:has(input:disabled)):hover input:checked+.toggle-switch{background-color:hsl(var(--primary-200))}.toggle-label input:checked+.toggle-switch:after{transform:translateX(var(--toggle-translate,20px))}.toggle-label input:disabled+.toggle-switch{cursor:not-allowed;opacity:.5}.toggle-card-container{align-items:center;display:flex;justify-content:space-between;width:100%}.toggle-card{background-color:hsl(var(--muted-50));border-radius:.5rem;display:flex;gap:12px;padding:.5rem .8rem;transition:background-color .2s;width:100%}.toggle-card:not(:has(input:disabled)):hover{background-color:hsl(var(--muted))}.toggle-drag-handle{color:hsl(var(--muted-200));cursor:grab}.toggle-drag-handle:active{cursor:grabbing}.toggle-label:has(input:disabled){cursor:not-allowed}.toggle-label:has(input:disabled) .toggle-switch{opacity:.5}.toggle-label:has(input:disabled) .toggle-text{color:hsl(var(--muted-200))}.toggle-label:has(input:disabled) .toggle-description{color:hsl(var(--muted))}.toggle-info-icon{color:hsl(var(--muted-200));flex-shrink:0}.toggle-info-icon:hover{color:hsl(var(--primary))}.toggle-wrapper{display:flex;flex-direction:column;gap:.25rem}.toggle-note{color:hsl(var(--muted-200))}.toggle-error,.toggle-note{font-size:.75rem;padding-left:.125rem}.toggle-error{color:hsl(var(--destructive))}.content-switch-secondary{border:1px solid hsl(var(--muted));border-radius:8px;display:flex;overflow:hidden;transition:border-color .3s ease-in-out;width:-moz-fit-content;width:fit-content}.content-switch-secondary .content-switch-option:not(:last-child){border-right:1px solid hsl(var(--muted))}.content-switch-secondary:hover,.content-switch-secondary:hover>.content-switch-option{border-color:hsl(var(--primary))}.content-switch-secondary .content-switch-option{padding:.3rem 1rem;transition:background-color .3s ease-in-out;&:hover{background-color:hsl(var(--primary-disabled))}}.content-switch-secondary .content-switch-option-selected{background-color:hsl(var(--primary));color:#fff;font-weight:500;transition:all .3s ease-in-out;&:hover{background-color:hsl(var(--primary-200))}}.content-switch-primary{background-color:hsl(var(--input));border:1px solid transparent;border-radius:12px;display:flex;gap:.5rem;overflow:hidden;padding:.5rem;transition:border-color .3s ease-in-out;width:-moz-fit-content;width:fit-content;&:hover{border-color:hsl(var(--primary-disabled))}}.content-switch-primary .content-switch-option{border-radius:8px;padding:.3rem 1rem;transition:all .3s ease-in-out;&:hover{border-color:hsl(var(--primary))}}.content-switch-primary .content-switch-option-selected{background-color:hsl(var(--primary-disabled));color:hsl(var(--primary));font-weight:500;transition:all .3s ease-in-out}.content-switch-primary .content-switch-option:hover{background-color:hsl(var(--primary-disabled))}.content-switch-primary .content-switch-option-selected:hover{background-color:hsl(var(--primary-200));color:#fff}.content-switch-option-disabled{cursor:not-allowed;opacity:.5}.content-switch-option-disabled:hover{background-color:inherit!important;border-color:inherit!important;color:inherit!important}.content-switch-option-disabled.content-switch-option-selected{opacity:.7}.content-switch-option-icon{flex-shrink:0}.content-switch-option{align-items:center;background:none;border:none;color:inherit;cursor:pointer;display:inline-flex;font:inherit;gap:.375rem;justify-content:center}.input-container{display:flex;flex-direction:column;gap:.375rem;width:100%}.input-header{justify-content:space-between}.input-header,.input-label{align-items:center;display:flex}.input-label{color:hsl(var(--foreground));font-size:.875rem;font-weight:500;gap:.2rem}.input-clear{background:none;border:none;color:hsl(var(--muted));cursor:pointer;font-size:.875rem;transition:color .2s}.input-clear:hover{color:hsl(var(--muted-200))}.input-wrapper{align-items:center;background:hsl(var(--input));border:1.5px solid hsl(var(--muted));border-radius:var(--radius-md);display:flex;position:relative;transition:border-color .2s,background-color .2s;width:100%}.input-wrapper:not(.input-disabled):not(.input-error):hover{border-color:hsl(var(--primary))}.input-wrapper:not(.input-disabled):not(.input-error):has(input:focus){border-color:hsl(var(--primary-300))}.input-wrapper.input-error{background-color:hsl(var(--destructive-bg)/.3);border-color:hsl(var(--destructive))}.input-wrapper.input-error:has(input:focus),.input-wrapper.input-error:hover{border-color:hsl(var(--destructive))}.input-wrapper.input-disabled{cursor:not-allowed;opacity:.5}.input{background:none;border:none;color:hsl(var(--foreground));height:100%;outline:none;padding:0 .8rem;width:100%}.input::-moz-placeholder{color:hsl(var(--muted));font-size:.875rem;font-weight:400}.input::placeholder{color:hsl(var(--muted));font-size:.875rem;font-weight:400}.input:disabled{cursor:not-allowed}.input-sm{font-size:.875rem;height:2rem}.input-md{font-size:1rem;height:2.5rem}.input-lg{font-size:1.125rem;height:3rem}.input-icon-left,.input-icon-right{align-items:center;color:hsl(var(--muted-200));display:flex;height:100%;position:absolute;transition:color .2s}.input-icon-left{left:.75rem}.input-icon-right{right:.75rem}.input-wrapper:not(.input-disabled):not(.input-error):hover .input-icon-left,.input-wrapper:not(.input-disabled):not(.input-error):hover .input-icon-right{color:hsl(var(--primary))}.input-wrapper:not(.input-disabled):not(.input-error):has(input:focus) .input-icon-left,.input-wrapper:not(.input-disabled):not(.input-error):has(input:focus) .input-icon-right{color:hsl(var(--primary))}.input-has-left-icon{padding-left:2.5rem}.input-has-right-icon{padding-right:2.5rem}.input-has-both-icons{padding-left:2.5rem;padding-right:2.5rem}.input-icon-button{align-items:center;background:none;border:none;cursor:pointer;display:flex;height:100%;justify-content:center;padding:0;transition:color .2s}.input-icon-button:hover:not(:disabled){color:hsl(var(--primary-300))}.input-icon-button:disabled{cursor:not-allowed;opacity:.5}.input-note{color:hsl(var(--muted-200));font-size:.875rem;transition:color .2s}.input-wrapper:not(.input-disabled):not(.input-error):hover+.input-note{color:hsl(var(--primary))}.input-wrapper:not(.input-disabled):not(.input-error):has(input:focus)+.input-note{color:hsl(var(--primary))}.input-error-message{color:hsl(var(--destructive));font-size:.875rem}.input-info-icon{color:hsl(var(--muted-200))}.input-info-icon:hover{color:hsl(var(--primary))}.textarea-container,.textarea-root{display:flex;flex-direction:column;gap:.375rem;width:100%}.textarea::-moz-placeholder{color:hsl(var(--muted));font-size:.875rem;font-weight:400}.textarea::placeholder{color:hsl(var(--muted));font-size:.875rem;font-weight:400}.textarea-header{align-items:center;display:flex;justify-content:space-between}.textarea-label{align-items:center;color:hsl(var(--foreground));display:flex;font-size:.875rem;font-weight:500;gap:.2rem}.textarea-clear{background:none;border:none;color:hsl(var(--muted-200));cursor:pointer;font-size:.875rem;outline:none;padding:0;transition:color .2s}.textarea-clear:focus{outline:none}.textarea-clear:hover{color:hsl(var(--primary))}.textarea-wrapper{background:hsl(var(--input));border:1.5px solid hsl(var(--muted));border-radius:var(--radius-md);display:flex;position:relative;transition:border-color .2s,background-color .2s;width:100%}.textarea-wrapper-resizable:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='24' height='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M19.5 15a1.5 1.5 0 1 1 0-3 1.5 1.5 0 1 1 0 3Zm0-6a1.5 1.5 0 1 1 0-3 1.5 1.5 0 1 1 0 3Zm-6 12a1.5 1.5 0 1 1-.002-2.998A1.5 1.5 0 0 1 13.5 21Zm0-6a1.5 1.5 0 1 1 0-3 1.5 1.5 0 1 1 0 3Zm-6 6a1.501 1.501 0 0 1 0-3 1.501 1.501 0 0 1 0 3Zm12-3a1.501 1.501 0 1 1-.002 3.002A1.501 1.501 0 0 1 19.5 18Z' fill='hsl(var(--muted))'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:16px;bottom:0;content:"";cursor:se-resize;height:24px;opacity:.5;pointer-events:none;position:absolute;right:0;transition:opacity .2s;width:24px}.textarea-wrapper-resizable:hover:after{opacity:1}.textarea-wrapper-resizable .textarea-counter{right:1.75rem}.textarea-wrapper:not(.textarea-disabled):not(.textarea-error):hover{border-color:hsl(var(--primary))}.textarea-wrapper:not(.textarea-disabled):not(.textarea-error):has(textarea:focus){border-color:hsl(var(--primary-300))}.textarea-wrapper.textarea-error{background-color:hsl(var(--destructive-bg)/.3);border-color:hsl(var(--destructive))}.textarea-wrapper.textarea-error:has(textarea:focus),.textarea-wrapper.textarea-error:hover{border-color:hsl(var(--destructive))}.textarea-wrapper.textarea-disabled{cursor:not-allowed;opacity:.5}.textarea{-moz-appearance:none;appearance:none;-webkit-appearance:none;background:none;border:none;color:hsl(var(--foreground));font-family:inherit;font-size:.875rem;min-height:100px;outline:none;padding:.75rem 1rem;resize:none;width:100%}.textarea-wrapper-resizable .textarea{resize:vertical}.textarea::-webkit-resizer{display:none}.textarea:disabled{cursor:not-allowed}.textarea-note{color:hsl(var(--muted-200));font-size:.875rem;transition:color .2s}.textarea-container:not(:has(.textarea-disabled)):not(:has(.textarea-error)):hover~.textarea-note{color:hsl(var(--primary))}.textarea-container:not(:has(.textarea-disabled)):not(:has(.textarea-error)):has(textarea:focus)~.textarea-note{color:hsl(var(--primary))}.textarea-error-message{color:hsl(var(--destructive));font-size:.875rem}.textarea-info-icon{color:hsl(var(--muted-200))}.textarea-info-icon:hover{color:hsl(var(--primary))}.textarea-counter{bottom:.5rem;color:hsl(var(--muted-200));font-size:.75rem;line-height:1;pointer-events:none;position:absolute;right:.5rem}.textarea-counter--warning{color:hsl(var(--warning-200))}.textarea-counter--danger{color:hsl(var(--destructive))}.dropdown-container{display:flex;flex-direction:column;gap:.375rem;width:100%}.dropdown-header{align-items:center;display:flex;justify-content:space-between}.dropdown-label{align-items:center;color:hsl(var(--foreground));display:flex;font-size:.875rem;font-weight:500;gap:.2rem}.dropdown-info-icon{color:hsl(var(--muted-200))}.dropdown-info-icon:hover{color:hsl(var(--primary))}.dropdown-clear{background:none;border:none;color:hsl(var(--muted-200));cursor:pointer;font-size:.875rem;transition:color .2s}.dropdown-clear:hover{color:hsl(var(--primary))}.dropdown-wrapper{background:hsl(var(--input));border:1.5px solid hsl(var(--muted));border-radius:.375rem;display:flex;position:relative;transition:border-color .2s,background-color .2s;width:100%}.dropdown-wrapper:not(.dropdown-disabled):not(.dropdown-error):hover{border-color:hsl(var(--primary))}.dropdown-wrapper.dropdown-focused:not(.dropdown-disabled):not(.dropdown-error){border-color:hsl(var(--primary-300))}.dropdown-wrapper.dropdown-error{background-color:hsl(var(--destructive-bg)/.3)}.dropdown-wrapper.dropdown-error,.dropdown-wrapper.dropdown-error.dropdown-focused,.dropdown-wrapper.dropdown-error:hover{border-color:hsl(var(--destructive))}.dropdown-wrapper.dropdown-disabled{cursor:not-allowed;opacity:.5}.dropdown{align-items:center;border:none;color:hsl(var(--foreground));cursor:pointer;display:flex;font-family:inherit;justify-content:space-between;outline:none;padding:0 .5rem 0 .8rem;width:100%}.dropdown:disabled{cursor:not-allowed}.dropdown-value{flex:1;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.dropdown-value-placeholder{color:hsl(var(--muted));font-size:.875rem;font-weight:400}.dropdown-chevron{color:hsl(var(--muted));flex-shrink:0;margin-left:.5rem;transition:transform .2s ease}.dropdown-chevron-open{transform:rotate(180deg)}.dropdown-sm{font-size:.875rem;height:2rem}.dropdown-md{font-size:1rem;height:2.5rem}.dropdown-lg{font-size:1.125rem;height:3rem}.dropdown-menu{background-color:hsl(var(--input));border:1px solid hsl(var(--muted));border-radius:.375rem;box-shadow:0 2px 10px rgba(0,0,0,.1);display:flex;flex-direction:column;margin-bottom:.25rem;margin-top:.25rem;max-height:15rem;z-index:50}.dropdown-search-wrapper{border-bottom:1.5px solid hsl(var(--muted));padding:.5rem}.dropdown-options-wrapper{overflow-y:auto;padding:.25rem}.dropdown-menu-top{animation:dropdownSlideUp .1s ease-out;transform-origin:bottom}.dropdown-menu-bottom{animation:dropdownSlideDown .1s ease-out;transform-origin:top}.dropdown-no-options{color:hsl(var(--muted-200));cursor:default;text-align:center}.dropdown-no-options,.dropdown-option{font-size:inherit;padding:.5rem .75rem}.dropdown-option{align-items:center;background:none;border:none;border-radius:.25rem;color:hsl(var(--foreground));cursor:pointer;display:flex;text-align:left;transition:all .2s;width:100%}.dropdown-option:hover:not(.dropdown-option-disabled):not(.dropdown-option-selected){background-color:hsl(var(--primary-disabled))}.dropdown-option-selected{background-color:hsl(var(--primary));color:#fff}.dropdown-option-selected:hover{background-color:hsl(var(--primary-200))}.dropdown-option-disabled{cursor:not-allowed;opacity:.5}.dropdown-note{color:hsl(var(--muted-200));font-size:.875rem;transition:color .2s}.dropdown-wrapper.dropdown-focused:not(.dropdown-disabled):not(.dropdown-error)+.dropdown-note,.dropdown-wrapper:not(.dropdown-disabled):not(.dropdown-error):hover+.dropdown-note{color:hsl(var(--primary))}.dropdown-error-message{color:hsl(var(--destructive));font-size:.875rem}.slider-container{--slider-track-h:6px;--slider-thumb:18px;display:flex;flex-direction:column;gap:.375rem;width:100%}.slider-header{gap:.5rem;justify-content:space-between}.slider-header,.slider-label{align-items:center;display:flex}.slider-label{color:hsl(var(--foreground));font-size:.875rem;font-weight:500;gap:.2rem}.slider-value-readout{color:hsl(var(--muted-200));font-size:.8125rem;font-variant-numeric:tabular-nums;font-weight:500}.slider-wrapper{display:flex;flex-direction:column;gap:.5rem;padding-block:.35rem;position:relative}.slider-wrapper.slider-disabled{opacity:.5;pointer-events:none}.slider-wrapper.slider-error .slider-track{background-color:hsl(var(--destructive-bg)/.35)}.slider-track-shell{align-items:center;display:flex;height:calc(var(--slider-thumb) + 8px);position:relative;touch-action:none}.slider-track{background-color:hsl(var(--muted)/.35);border-radius:var(--radius-full);cursor:pointer;height:var(--slider-track-h);position:relative;width:100%}.slider-range-fill{background-color:hsl(var(--primary));height:100%;left:0;pointer-events:none}.slider-range-fill,.slider-thumb{border-radius:var(--radius-full);position:absolute}.slider-thumb{background-color:hsl(var(--popover));border:2.5px solid hsl(var(--primary));box-shadow:0 1px 3px hsl(var(--foreground)/.08);cursor:grab;height:var(--slider-thumb);margin-left:calc(var(--slider-thumb)/-2);padding:0;top:50%;transform:translateY(-50%);transition:box-shadow .15s ease,border-color .15s ease;width:var(--slider-thumb);z-index:2}.slider-thumb:hover:not(:disabled){border-color:hsl(var(--primary-200));box-shadow:0 2px 6px hsl(var(--primary)/.25)}.slider-thumb:focus-visible{box-shadow:0 0 0 2px hsl(var(--background)),0 0 0 4px hsl(var(--primary));outline:none}.slider-thumb:active:not(:disabled){cursor:grabbing}.slider-thumb-disabled{cursor:not-allowed}.slider-thumb-active{border-color:hsl(var(--primary-200));z-index:3}.slider-tooltip{background-color:hsl(var(--primary));border-radius:var(--radius-sm);bottom:calc(100% + 10px);box-shadow:0 2px 8px hsl(var(--foreground)/.12);color:hsl(var(--primary-foreground));font-size:.75rem;font-variant-numeric:tabular-nums;font-weight:600;padding:.25rem .5rem;pointer-events:none;white-space:nowrap;z-index:4}.slider-tooltip,.slider-tooltip:after{left:50%;position:absolute;transform:translateX(-50%)}.slider-tooltip:after{border:5px solid transparent;border-top:5px solid hsl(var(--primary));content:"";top:100%}.slider-extents{color:hsl(var(--muted-200));display:flex;font-size:.75rem;font-variant-numeric:tabular-nums;justify-content:space-between;margin-top:-.15rem}.slider-marks{height:1rem;margin-top:.15rem;position:relative;width:100%}.slider-mark{align-items:center;display:flex;flex-direction:column;gap:.15rem;pointer-events:none;position:absolute;top:0;transform:translateX(-50%)}.slider-mark-dot{background-color:hsl(var(--muted-200)/.9);border-radius:var(--radius-full);height:4px;width:4px}.slider-mark-label{color:hsl(var(--muted-200));font-size:.65rem;white-space:nowrap}.slider-note{color:hsl(var(--muted-200));font-size:.8125rem}.slider-error{color:hsl(var(--destructive));font-size:.8125rem}.slider-output-sr{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.side-panel-overlay{animation:overlayShow .15s ease-out;background-color:rgba(0,0,0,.5);display:flex;inset:0;position:fixed;z-index:400}.side-panel-overlay-right{justify-content:flex-end}.side-panel-overlay-left{justify-content:flex-start}.side-panel-scrim{-webkit-tap-highlight-color:transparent;align-self:stretch;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;cursor:pointer;flex:1 1 0;margin:0;min-height:100%;min-width:0;padding:0}.side-panel{background-color:hsl(var(--background));display:flex;flex-direction:column;height:100vh;width:100%}.side-panel--sm{max-width:20rem}.side-panel--md{max-width:24rem}.side-panel--lg{max-width:36rem}.side-panel-header{align-items:flex-start;display:flex;flex-shrink:0;justify-content:space-between;padding:1.5rem}.side-panel-title-container{flex:1;margin-right:1rem}.side-panel-title{color:hsl(var(--foreground));font-size:1.25rem;font-weight:600;margin:0}.side-panel-description{color:hsl(var(--muted-200));font-size:.875rem;margin:.5rem 0 0}.side-panel-close{background:none;border:none;border-radius:.375rem;color:hsl(var(--muted-200));cursor:pointer;padding:.5rem;transition:all .2s}.side-panel-close:hover{background-color:hsl(var(--primary-disabled));color:hsl(var(--primary))}.side-panel-content{flex:1;overflow-y:auto}.side-panel-footer{border-top:1px solid hsl(var(--muted)/.3);display:flex;flex-shrink:0;gap:.5rem;justify-content:flex-end;padding:1rem 1.5rem 1.5rem}.side-panel-right{animation:sidePanelShowRight .3s cubic-bezier(.16,1,.3,1)}.side-panel-left{animation:sidePanelShowLeft .3s cubic-bezier(.16,1,.3,1)}@keyframes sidePanelShowRight{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@keyframes sidePanelShowLeft{0%{opacity:0;transform:translateX(-100%)}to{opacity:1;transform:translateX(0)}}.modal-overlay{align-items:center;animation:overlayShow .15s ease-out;background-color:rgba(0,0,0,.5);display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:500}.modal{animation:modalShow .3s cubic-bezier(.16,1,.3,1);background-color:hsl(var(--background));border-radius:.5rem;box-shadow:0 2px 10px rgba(0,0,0,.1);display:flex;flex-direction:column;max-height:85vh;width:100%}.modal--sm{max-width:24rem}.modal--md{max-width:32rem}.modal--lg{max-width:48rem}.modal-header{align-items:flex-start;display:flex;flex-shrink:0;justify-content:space-between;padding:1.5rem}.modal-title-container{flex:1;margin-right:1rem}.modal-title{color:hsl(var(--foreground));font-size:1.25rem;font-weight:600;margin:0}.modal-description{color:hsl(var(--muted-200));font-size:.875rem;margin:.5rem 0 0}.modal-close{background:none;border:none;border-radius:.375rem;color:hsl(var(--muted-200));cursor:pointer;padding:.5rem;transition:all .2s}.modal-close:hover{background-color:hsl(var(--primary-disabled));color:hsl(var(--primary))}.modal-content{flex:1;overflow-y:auto;padding:0 1.5rem 1.5rem}.modal-footer{border-top:1px solid hsl(var(--muted)/.3);display:flex;flex-shrink:0;gap:.5rem;justify-content:flex-end;padding:1rem 1.5rem 1.5rem}@keyframes overlayShow{0%{opacity:0}to{opacity:1}}@keyframes modalShow{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.tag-base{align-items:center;border-radius:var(--radius-sm);display:flex;justify-content:space-between;transition:all .2s}.tag--sm{font-size:.75rem;padding:.15rem .15rem .15rem .45rem}.tag--md{font-size:.875rem;padding:.3rem .3rem .3rem .6rem}.tag--lg{font-size:1rem;padding:.4rem .4rem .4rem .75rem}.tag-primary{border:1.5px solid hsl(var(--primary));color:hsl(var(--primary));&:hover{color:hsl(var(--primary-200))}}.tag-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag-secondary{background-color:hsl(var(--muted-25));border:1.5px solid hsl(var(--muted))}.tag-primary .tag-remove{border-radius:.2rem;color:hsl(var(--primary));transition:all .3s ease-in-out;&:hover{background-color:hsl(var(--primary-disabled));color:hsl(var(--primary-300))}}.tag-secondary .tag-remove{color:hsl(var(--muted-200));transition:all .3s ease-in-out;&:hover{color:hsl(var(--foreground))}}.tag-remove{background:none;border:none;cursor:pointer}.accordion{width:100%}.accordion-trigger{align-items:flex-start;background:none;border:none;cursor:pointer;display:flex;flex-direction:column;gap:.6rem;transition:color .2s;width:100%}.accordion-trigger:disabled{cursor:not-allowed;opacity:.5}.accordion-title-container{align-items:center;display:flex;justify-content:space-between;width:100%}.accordion-description,.accordion-icon{color:hsl(var(--muted-200))}.accordion-icon{transition:transform .3s cubic-bezier(.16,1,.3,1)}.accordion-trigger:hover,.accordion-trigger:hover .accordion-icon{color:hsl(var(--primary))}.accordion-icon-open{transform:rotate(180deg)}.accordion-content{height:0;margin-top:.5rem;overflow:hidden;transition:height .3s cubic-bezier(.16,1,.3,1)}.multi-select-container{border-radius:var(--radius-md);display:flex;flex-direction:column;gap:.5rem;position:relative;transition:all .3s}.multi-select-trigger-container{align-items:center;background-color:hsl(var(--input));border:1.5px solid hsl(var(--muted));border-radius:.5rem;cursor:pointer;display:flex;height:2.5rem;justify-content:space-between;padding:.2rem .3rem;transition:all .2s}.multi-select-trigger-container-open{border-color:hsl(var(--primary));border-radius:.5rem .5rem 0 0;padding:0 .8rem}.multi-select-tag{font-size:.75rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.multi-select-show-more{text-wrap:nowrap;color:hsl(var(--primary));cursor:pointer;font-size:.875rem;font-weight:500;text-decoration:underline}.multi-select-trigger{align-items:center;display:flex;gap:.5rem;justify-content:space-between}.multi-select-trigger-container:hover{border-color:hsl(var(--primary))}.multi-select-trigger-container:hover .multi-select-trigger-icon{color:hsl(var(--primary))}.multi-select-trigger-placeholder{color:hsl(var(--muted));font-size:.875rem;font-weight:400;padding-left:.5rem}.multi-select-trigger-icon{color:hsl(var(--muted-200));transition:all .2s}.multi-select-trigger-icon-open{color:hsl(var(--primary));transform:rotate(180deg)}.multi-select-search-input,.multi-select-toggle{margin-bottom:.25rem;margin-top:.25rem}.multi-select-toggle{font-size:.875rem;line-height:1.4rem}.multi-select-option{font-size:.875rem}.multi-select-options-container{background-color:hsl(var(--input));border:1.5px solid hsl(var(--primary));border-radius:0 0 .5rem .5rem;border-top:none;display:flex;flex-direction:column;gap:.2rem;left:0;padding:.5rem;position:absolute;top:100%;width:100%;z-index:100}.multi-select-selected-options-container{display:grid;gap:.3rem;grid-template-columns:repeat(3,1fr);max-height:6rem;overflow-y:auto;padding:.2rem 0}.multi-select-options-list{display:flex;flex-direction:column;gap:.2rem;max-height:18rem;overflow-y:auto}.multi-select-header{align-items:center;display:flex;justify-content:space-between}.multi-select-label{color:hsl(var(--foreground));font-size:.875rem;font-weight:500}.multi-select-clear{background:none;border:none;color:hsl(var(--muted-200));cursor:pointer;font-size:.875rem;transition:color .2s}.multi-select-clear:hover{color:hsl(var(--primary))}.multi-select-wrapper{position:relative}.multi-select-counter{color:hsl(var(--primary));font-size:.875rem}.multi-select-overflow{align-items:center;display:flex;gap:.5rem}.multi-select-overflow-tags{display:grid;gap:.25rem;grid-template-columns:repeat(2,1fr)}.multi-select-trigger-sm{font-size:.875rem;height:2rem}.multi-select-trigger-md{font-size:1rem;height:2.5rem}.multi-select-trigger-lg{font-size:1.125rem;height:3rem}.multi-select-trigger-disabled .multi-select-trigger-container{cursor:not-allowed;opacity:.5;pointer-events:none}.multi-select-trigger-error .multi-select-trigger-container{background-color:hsl(var(--destructive-bg)/.3);border-color:hsl(var(--destructive))}.multi-select-note{color:hsl(var(--muted-200));font-size:.875rem}.multi-select-error-message{color:hsl(var(--destructive));font-size:.875rem}.radio-group{display:flex;flex-wrap:wrap;gap:.5rem}.radio-group-option{align-items:center;background:transparent;border:1.5px solid hsl(var(--muted));border-radius:var(--radius-md);color:hsl(var(--foreground));cursor:pointer;display:flex;font-family:inherit;font-size:.875rem;gap:.5rem;padding:.5rem 1rem;transition:border-color .2s,background-color .2s,color .2s}.radio-group-option-selected,.radio-group-option:not(.radio-group-option-disabled):hover{border-color:hsl(var(--primary));color:hsl(var(--primary))}.radio-group-option-selected{background-color:hsl(var(--primary)/.06);font-weight:500}.radio-group-option-selected:not(.radio-group-option-disabled):hover{background-color:hsl(var(--primary-200)/.08);border-color:hsl(var(--primary-200));color:hsl(var(--primary-200))}.radio-group-option-label{line-height:1}.radio-group-option-icon{color:currentColor;flex-shrink:0}.radio-group-option-info{color:hsl(var(--muted-200));flex-shrink:0}.radio-group-option-selected .radio-group-option-info{color:hsl(var(--primary)/.6)}.radio-group-option-dot{border-radius:50%;flex-shrink:0;height:.5rem;width:.5rem}.radio-group-option-dot--active{background-color:hsl(var(--success))}.radio-group-option-dot--inactive{background-color:hsl(var(--destructive))}.radio-group-option-disabled{cursor:not-allowed;opacity:.4}.radio-group--sm .radio-group-option{font-size:.75rem;padding:.25rem .75rem}.radio-group--lg .radio-group-option{font-size:1rem;padding:.75rem 1.25rem}.tabs{display:flex;gap:1.5rem}.tab{background:none;border:none;color:hsl(var(--muted-200));cursor:pointer;font-weight:500;padding:.2rem;position:relative;transition:color .2s}.tab-selected,.tab:hover{color:hsl(var(--foreground))}.tab-selected:after{background-color:hsl(var(--primary));bottom:-1px;content:"";height:2px;left:0;position:absolute;width:100%}.tabs--sm .tab{font-size:.75rem;padding:.15rem}.tabs--md .tab{font-size:.875rem}.tabs--lg .tab{font-size:1.125rem;padding:.3rem}.tabs--lg .tab-selected:after{height:2.5px}.tabs--lg{gap:2rem}.tab-disabled{cursor:not-allowed;opacity:.4;pointer-events:none}.popover-trigger{cursor:pointer;display:inline-flex;outline:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.popover-trigger:focus-visible{border-radius:2px;outline:2px solid hsl(var(--primary));outline-offset:2px}.popover-content{animation:popoverShow .2s cubic-bezier(.16,1,.3,1);transform-origin:var(--origin,top);z-index:300}@keyframes popoverShow{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.pagination{align-items:center;display:flex;gap:1rem;justify-content:space-between}.pagination-per-page{min-width:140px}.pagination-controls{align-items:center;display:flex;gap:.25rem}.pagination-arrow{align-items:center;background:none;border:none;border-radius:var(--radius-md);color:hsl(var(--foreground));cursor:pointer;display:flex;justify-content:center;padding:.5rem;position:relative}.pagination-arrow:hover:not(:disabled){background-color:hsl(var(--muted-25))}.pagination-arrow:disabled{color:hsl(var(--muted));cursor:not-allowed}.pagination-arrow .second-chevron{left:8px;position:absolute}.pagination-pages{align-items:center;display:flex;gap:.25rem}.pagination-page{align-items:center;background:none;border:none;border-radius:var(--radius-md);color:hsl(var(--foreground));cursor:pointer;display:flex;font-size:.875rem;height:2rem;justify-content:center;min-width:2rem}.pagination-page:hover:not(:disabled){background-color:hsl(var(--muted-25))}.pagination-page:disabled{cursor:default}.pagination-page-active{background-color:hsl(var(--primary));color:#fff}.pagination-page-active:hover{background-color:hsl(var(--primary-200))!important}.pagination-ellipsis{align-items:center;color:hsl(var(--muted));display:flex;font-size:.875rem;height:2rem;justify-content:center;min-width:2rem;-webkit-user-select:none;-moz-user-select:none;user-select:none}.pagination-info{color:hsl(var(--muted-200));font-size:.875rem;white-space:nowrap}.table-container{background-color:hsl(var(--background));border:1px solid hsl(var(--muted)/60%);border-radius:var(--radius-md);display:flex;flex-direction:column;overflow:hidden;position:relative;width:100%}.table-wrapper{overflow-x:auto;width:100%}.table{border-collapse:collapse;font-size:.875rem;text-align:left;width:100%}.table thead{background-color:hsl(var(--background));position:sticky;top:0;z-index:1}.table thead:before{background-color:hsl(var(--muted)/60%);content:"";height:.5px;left:0;position:absolute;top:100%;width:100%}.table th{color:hsl(var(--foreground));font-weight:600;padding:.75rem 1rem;white-space:nowrap}.table th.sortable{cursor:pointer}.table th.sortable:hover{color:hsl(var(--primary));transition:color .2s ease-in-out}.table-header-content{align-items:center;display:flex;gap:.5rem}.table-sort-icon{align-items:center;color:hsl(var(--muted));display:flex}.table-sort-icon.active{color:hsl(var(--foreground))}.table-sort-icon .default{opacity:.5}.table td{border-bottom:1px solid hsl(var(--muted)/60%);color:hsl(var(--foreground));padding:.75rem 1rem}.table tr:last-child td{border-bottom:none}.table-empty,.table-loading{color:hsl(var(--muted));padding:2rem!important;text-align:center}.table-loader{height:8rem}.table-empty-content,.table-loader{align-items:center;display:flex;justify-content:center}.table-empty-content{color:hsl(var(--muted));font-size:1.25rem;gap:.5rem}.table-pagination{border-top:1px solid hsl(var(--muted)/60%);padding:.8rem}.table-header-actions{padding:.4rem;position:absolute;right:0;top:0;z-index:100}.edit-columns-popover{background-color:hsl(var(--background));border:1px solid hsl(var(--muted)/60%);border-radius:var(--radius-md);display:flex;flex-direction:column;padding:1rem;width:300px}.edit-columns-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.edit-columns-title{font-size:1rem;font-weight:600}.edit-columns-content{display:flex;flex-direction:column;gap:.5rem}.edit-columns-subtitle{color:hsl(var(--muted-200));font-size:.75rem;margin-bottom:.5rem}.edit-columns-list{display:flex;flex-direction:column;gap:.5rem;max-height:200px;overflow-y:auto}.edit-columns-item{align-items:center;background-color:hsl(var(--background));border:1px solid hsl(var(--muted)/60%);border-radius:var(--radius-md);display:flex;gap:.75rem;padding:.5rem;-webkit-user-select:none;-moz-user-select:none;user-select:none}.edit-columns-item-label{font-size:14px}.edit-columns-item.dragging{border-color:hsl(var(--primary));box-shadow:0 4px 6px rgba(0,0,0,.1)}.drag-handle{color:hsl(var(--muted-200));cursor:grab}.edit-columns-item.dragging .drag-handle{cursor:grabbing}.edit-columns-actions{display:flex;gap:.5rem;justify-content:flex-end;padding-top:.4rem}.edit-columns-item-content{align-items:center;display:flex;justify-content:space-between;width:100%}.h2o-loader{--loader-color:hsl(var(--primary));align-items:center;box-sizing:border-box;display:inline-flex;justify-content:center}.h2o-loader__visual{box-sizing:border-box;display:block;flex-shrink:0}.h2o-loader__visual--dots{--_g:no-repeat radial-gradient(circle closest-side,var(--loader-color) 90%,transparent);animation:h2o-loader-dots 1s linear infinite;aspect-ratio:2;background:var(--_g) 0 50%,var(--_g) 50% 50%,var(--_g) 100% 50%;background-size:33.33333% 50%;width:60px}@keyframes h2o-loader-dots{20%{background-position:0 0,50% 50%,100% 50%}40%{background-position:0 100%,50% 0,100% 50%}60%{background-position:0 50%,50% 100%,100% 0}80%{background-position:0 50%,50% 50%,100% 100%}}.h2o-loader__visual--bars{animation:h2o-loader-bars 1s linear infinite;aspect-ratio:1;background:linear-gradient(transparent 16.66667%,var(--loader-color) 0 50%,transparent 0) 0 100%,linear-gradient(transparent 33.33333%,var(--loader-color) 0 66.66667%,transparent 0) bottom,linear-gradient(transparent 50%,var(--loader-color) 0 83.33333%,transparent 0) 100% 100%;background-repeat:no-repeat;background-size:20% 600%;width:45px}@keyframes h2o-loader-bars{to{background-position:0 0,top,100% 0}}.h2o-loader__visual--spinner{animation:h2o-loader-spinner 1s linear infinite;aspect-ratio:1;background:radial-gradient(farthest-side,var(--loader-color) 94%,transparent) top /8px 8px no-repeat,conic-gradient(transparent 30%,var(--loader-color));border-radius:50%;-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 8px),#000 0);mask:radial-gradient(farthest-side,transparent calc(100% - 8px),#000 0);width:50px}@keyframes h2o-loader-spinner{to{transform:rotate(1turn)}}.toast-container{display:flex;flex-direction:column;gap:.5rem;max-width:420px;pointer-events:none;position:fixed;width:calc(100% - 2rem);z-index:600}.toast-container>*{pointer-events:all}.toast-container--bottom-right{bottom:1rem;right:1rem}.toast-container--bottom-left{bottom:1rem;left:1rem}.toast-container--top-right{right:1rem;top:1rem}.toast-container--top-left{left:1rem;top:1rem}.toast-container--top-center{left:50%;top:1rem;transform:translateX(-50%)}.toast-container--bottom-center{bottom:1rem;left:50%;transform:translateX(-50%)}.toast{animation:toastSlideIn .2s ease-out;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius-md);box-shadow:0 4px 12px rgba(0,0,0,.1);display:flex;gap:.75rem;padding:1rem}@keyframes toastSlideIn{0%{opacity:0;transform:translateY(.5rem)}to{opacity:1;transform:translateY(0)}}.toast-content{flex:1;min-width:0}.toast-header{align-items:flex-start;display:flex;gap:.5rem;justify-content:space-between}.toast-title{color:hsl(var(--foreground));font-size:.875rem;font-weight:600;margin:0}.toast-description{color:hsl(var(--muted-200));font-size:.875rem;margin:.25rem 0 0}.toast-close{align-items:center;background:none;border:none;color:hsl(var(--muted));cursor:pointer;display:flex;flex-shrink:0;justify-content:center;padding:0}.toast-close:hover{color:hsl(var(--foreground))}.toast-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:.75rem}.toast-info .toast-icon{color:hsl(var(--primary))}.toast-error .toast-icon{color:hsl(var(--destructive))}.toast-warning .toast-icon{color:hsl(var(--warning))}.toast-success .toast-icon{color:hsl(var(--success))}.calendar-container{background-color:hsl(var(--background));border:1px solid hsl(var(--muted)/50%);border-radius:.5rem;max-width:24rem;padding:0 1rem;width:100%}.calendar-container--no-header{border:none;box-shadow:none;max-width:none;padding:0}.calendar-header{align-items:center;border-bottom:1px solid hsl(var(--muted)/50%);display:flex;justify-content:space-between;padding:1rem .5rem;text-transform:capitalize}.calendar-title{font-size:1rem;font-weight:500}.calendar-nav-button{align-items:center;background:none;border:none;border-radius:.25rem;cursor:pointer;display:flex;justify-content:center;padding:.2rem}.calendar-nav-button:hover{background-color:hsl(var(--muted-50));color:hsl(var(--primary));transition:all .2s ease-in-out}.calendar-grid{grid-row-gap:.5rem;display:grid;grid-template-columns:repeat(7,1fr);padding:.5rem}.calendar-weekday{font-size:.7rem;font-weight:500;padding:.25rem;text-align:center;text-transform:uppercase}.calendar-day{aspect-ratio:1;background:none;border:none;cursor:pointer;font-size:.75rem;position:relative}.calendar-day:disabled{color:hsl(var(--muted));cursor:not-allowed}.calendar-day.outside-month{color:hsl(var(--muted-200))}.calendar-day-inner{align-items:center;border-radius:50%;display:flex;inset:0;justify-content:center;position:absolute;z-index:2}.calendar-day:not(:disabled):not(.selected):not(.in-range):hover .calendar-day-inner{background-color:hsl(var(--primary));color:#fff;transition:background-color .2s ease-in-out}.calendar-day.selected .calendar-day-inner{background-color:hsl(var(--primary));color:#fff}.calendar-day.selected:hover .calendar-day-inner{background-color:hsl(var(--primary-200))}.calendar-day.in-range:not(.range-start):not(.range-end){background-color:hsl(var(--primary-muted));border-radius:0}.calendar-day.in-range:not(.range-start):not(.range-end):hover .calendar-day-inner{color:hsl(var(--primary));transition:color .2s ease-in-out}.calendar-day.range-end .calendar-day-inner,.calendar-day.range-start .calendar-day-inner{background-color:hsl(var(--primary));color:#fff}.calendar-day.range-end:hover .calendar-day-inner,.calendar-day.range-start:hover .calendar-day-inner{background-color:hsl(var(--primary-200));transition:background-color .2s ease-in-out}.calendar-day.range-end:not(.range-start):after,.calendar-day.range-start:not(.range-end):after{background-color:hsl(var(--primary-muted));bottom:0;content:"";position:absolute;top:0;width:100%;z-index:1}.calendar-day.range-start:not(.range-end):after{border-radius:50% 0 0 50%;right:0}.calendar-day.range-end:not(.range-start):after{border-radius:0 50% 50% 0;left:0}.calendar-day.in-range.week-start:not(.range-start):not(.range-end){border-radius:50% 0 0 50%!important}.calendar-day.in-range.week-end:not(.range-start):not(.range-end){border-radius:0 50% 50% 0!important}.calendar-day.today:not(.selected):not(.range-start):not(.range-end) .calendar-day-inner{color:hsl(var(--primary));font-weight:700}.calendar-day.today:not(.selected):not(.range-start):not(.range-end):not(:disabled):hover .calendar-day-inner{color:#fff}.today-indicator{background-color:#fff;border-radius:50%;bottom:4px;height:4px;left:50%;position:absolute;transform:translateX(-50%);width:4px;z-index:50}.calendar-day.today:not(.selected):not(.range-start):not(.range-end) .today-indicator{background-color:hsl(var(--primary))}.calendar-day.today:not(.selected):not(.range-start):not(.range-end):not(:disabled):hover .today-indicator{background-color:#fff}.month-calendar-container{background-color:hsl(var(--background));border:1px solid hsl(var(--muted)/50%);border-radius:.5rem;max-width:24rem;padding:0 1rem;width:100%}.month-calendar-header{align-items:center;border-bottom:1px solid hsl(var(--muted)/50%);display:flex;justify-content:space-between;padding:.8rem .5rem}.month-calendar-title{background:none;border:none;border-radius:.25rem;cursor:pointer;font-size:1.2rem;font-weight:500;padding:.5rem 1rem}.month-calendar-title:hover{color:hsl(var(--primary));transition:all .2s ease-in-out}.month-calendar-nav-button{align-items:center;background:none;border:none;border-radius:.25rem;cursor:pointer;display:flex;justify-content:center;padding:.2rem}.month-calendar-nav-button:hover{background-color:hsl(var(--muted-50));color:hsl(var(--primary));transition:all .2s ease-in-out}.month-calendar-grid{display:grid;gap:.5rem;grid-template-columns:repeat(3,1fr);padding:1rem .5rem}.month-calendar-item{align-items:center;aspect-ratio:1.8;background:none;border:1px solid transparent;border-radius:.5rem;cursor:pointer;display:flex;font-size:.8rem;justify-content:center;transition:all .2s ease-in-out}.month-calendar-item:not(:disabled):not(.selected):hover{border:1px solid hsl(var(--primary));color:hsl(var(--primary))}.month-calendar-item.selected{background-color:hsl(var(--primary));color:#fff}.month-calendar-item.selected:hover{background-color:hsl(var(--primary-200))}.month-calendar-item.disabled{color:hsl(var(--muted));cursor:not-allowed}.month-calendar-grid[data-view=years]{grid-template-columns:repeat(3,1fr)}.message{align-items:center;border-radius:var(--radius-md);display:flex;font-size:.875rem;gap:.5rem;line-height:1.25rem;padding:.75rem}.message-text{flex:1}.message-dismiss{align-items:center;background:none;border:none;border-radius:.25rem;color:currentColor;cursor:pointer;display:flex;flex-shrink:0;opacity:.6;padding:.1rem}.message-dismiss:hover{opacity:1}.message-info{background-color:hsl(var(--primary-muted)/.7);border:1px solid hsl(var(--primary)/.2);color:hsl(var(--primary-300))}.message-muted{background-color:hsl(var(--muted-25)/.5);border:1px solid hsl(var(--muted)/.2);color:hsl(var(--muted-200))}.message-error{background-color:hsl(var(--destructive-bg)/.5);border:1px solid hsl(var(--destructive)/.2);color:hsl(var(--destructive))}.message-warning{background-color:hsl(var(--warning-bg)/.4);border:1px solid hsl(var(--warning)/.3);color:hsl(var(--warning))}.message-success{background-color:hsl(var(--success-bg)/.4);border:1px solid hsl(var(--success)/.3);color:hsl(var(--success))}.multi-menu-container{display:inline-flex;flex-direction:column}.multi-menu-trigger-wrapper{background:hsl(var(--input));border:1.5px solid hsl(var(--muted));border-radius:.375rem;display:flex;position:relative;transition:border-color .2s,background-color .2s}.multi-menu-trigger-wrapper:not(.multi-menu-disabled):hover{border-color:hsl(var(--primary))}.multi-menu-trigger-wrapper:not(.multi-menu-disabled):focus-within{border-color:hsl(var(--primary-300))}.multi-menu-trigger-wrapper.multi-menu-disabled{cursor:not-allowed;opacity:.5}.multi-menu-trigger{align-items:center;background:transparent;border:none;color:hsl(var(--foreground));cursor:pointer;display:flex;font-family:inherit;justify-content:space-between;outline:none;padding:0 .5rem 0 .8rem;width:100%}.multi-menu-trigger:disabled{cursor:not-allowed}.multi-menu-trigger-value{flex:1;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.multi-menu-chevron{color:hsl(var(--muted));flex-shrink:0;margin-left:.5rem;transition:transform .2s ease}.multi-menu-chevron-open{transform:rotate(180deg)}.multi-menu-trigger-sm{font-size:.875rem;height:2rem}.multi-menu-trigger-md{font-size:1rem;height:2.5rem}.multi-menu-trigger-lg{font-size:1.125rem;height:3rem}.multi-menu-panels{align-items:flex-start;display:flex;left:0;margin-top:.25rem;position:absolute;top:100%;z-index:50}.multi-menu-panels-flip{flex-direction:row-reverse;left:auto;right:0}.multi-menu-panel{animation:dropdownSlideDown .1s ease-out;background-color:hsl(var(--background));border:1px solid hsl(var(--muted));border-radius:.375rem;box-shadow:0 2px 10px rgba(0,0,0,.1);max-height:15rem;overflow-y:auto;padding:.25rem;width:12rem}.multi-menu-panel+.multi-menu-panel{margin-left:.25rem}.multi-menu-panels-flip .multi-menu-panel+.multi-menu-panel{margin-left:0;margin-right:.25rem}.multi-menu-option{align-items:center;background:none;border:none;border-radius:.25rem;color:hsl(var(--foreground));cursor:pointer;display:flex;font-size:inherit;justify-content:space-between;outline:none;padding:.5rem .75rem;text-align:left;transition:background-color .15s;white-space:nowrap;width:100%}.multi-menu-option-active:not(.multi-menu-option-disabled),.multi-menu-option:focus:not(.multi-menu-option-disabled),.multi-menu-option:hover:not(.multi-menu-option-disabled){background-color:hsl(var(--primary-disabled))}.multi-menu-option-disabled{cursor:not-allowed;opacity:.5}.multi-menu-option-label{flex-grow:1;margin-right:1rem;overflow:hidden;text-overflow:ellipsis}.multi-menu-option-chevron{color:hsl(var(--muted-200));flex-shrink:0}.compact-multi-select-container{display:flex;flex-direction:column;gap:.375rem;position:relative;width:100%}.compact-multi-select-header{align-items:center;display:flex;justify-content:space-between}.compact-multi-select-label{align-items:center;color:hsl(var(--foreground));display:flex;font-size:.875rem;font-weight:500;gap:.2rem}.compact-multi-select-clear{background:none;border:none;color:hsl(var(--muted-200));cursor:pointer;font-size:.875rem;transition:color .2s}.compact-multi-select-clear:hover{color:hsl(var(--primary))}.compact-multi-select-wrapper{background:hsl(var(--input));border:1.5px solid hsl(var(--muted));border-radius:.375rem;display:flex;position:relative;transition:border-color .2s,background-color .2s;width:100%}.compact-multi-select-wrapper:not(.compact-multi-select-disabled):not(.compact-multi-select-error):hover{border-color:hsl(var(--primary))}.compact-multi-select-wrapper.compact-multi-select-focused:not(.compact-multi-select-disabled):not(.compact-multi-select-error){border-color:hsl(var(--primary-300))}.compact-multi-select-wrapper.compact-multi-select-error{background-color:hsl(var(--destructive-bg)/.3);border-color:hsl(var(--destructive))}.compact-multi-select-wrapper.compact-multi-select-error.compact-multi-select-focused,.compact-multi-select-wrapper.compact-multi-select-error:hover{border-color:hsl(var(--destructive))}.compact-multi-select-wrapper.compact-multi-select-disabled{cursor:not-allowed;opacity:.5}.compact-multi-select{align-items:center;border:none;color:hsl(var(--foreground));cursor:pointer;display:flex;font-family:inherit;justify-content:space-between;min-height:2.5rem;outline:none;padding:.3rem .5rem .3rem .8rem;width:100%}.compact-multi-select:disabled{cursor:not-allowed}.compact-multi-select-content{align-items:center;display:flex;flex:1;flex-wrap:wrap;gap:.375rem}.compact-multi-select-placeholder{color:hsl(var(--muted));font-size:.875rem;font-weight:400}.compact-multi-select-chevron{color:hsl(var(--muted));flex-shrink:0;margin-left:.5rem;transition:transform .2s ease}.compact-multi-select-chevron-open{transform:rotate(180deg)}.compact-multi-select-sm{font-size:.875rem;min-height:2rem;padding-bottom:.25rem;padding-top:.25rem}.compact-multi-select-md{font-size:1rem;min-height:2.5rem}.compact-multi-select-lg{font-size:1.125rem;min-height:3rem}.compact-multi-select-menu{background-color:hsl(var(--popover));border:1px solid hsl(var(--border));border-radius:.375rem;box-shadow:0 2px 10px rgba(0,0,0,.1);display:flex;flex-direction:column;margin-bottom:.25rem;margin-top:.25rem;max-height:15rem;z-index:50}.compact-multi-select-search-wrapper{border-bottom:1.5px solid hsl(var(--border));padding:.5rem}.compact-multi-select-options-wrapper{overflow-y:auto;padding:.25rem}.compact-multi-select-menu-top{animation:dropdownSlideUp .1s ease-out;transform-origin:bottom}.compact-multi-select-menu-bottom{animation:dropdownSlideDown .1s ease-out;transform-origin:top}.compact-multi-select-no-options{color:hsl(var(--muted-200));cursor:default;font-size:inherit;padding:.5rem .75rem;text-align:center}.compact-multi-select-option{align-items:center;background:none;border:none;border-radius:.25rem;color:hsl(var(--foreground));cursor:pointer;display:flex;font-size:inherit;justify-content:space-between;padding:.5rem .75rem;text-align:left;transition:all .2s;width:100%}.compact-multi-select-option:hover:not(.compact-multi-select-option-disabled):not(.compact-multi-select-option-selected){background-color:hsl(var(--primary-disabled))}.compact-multi-select-option-selected{background-color:hsl(var(--primary));color:#fff}.compact-multi-select-option-selected .icon{color:#fff}.compact-multi-select-option-selected:hover{background-color:hsl(var(--primary-200))}.compact-multi-select-option-disabled{cursor:not-allowed;opacity:.5}.compact-multi-select-note{color:hsl(var(--muted-200));font-size:.875rem;transition:color .2s}.compact-multi-select-wrapper.compact-multi-select-focused:not(.compact-multi-select-disabled):not(.compact-multi-select-error)+.compact-multi-select-note,.compact-multi-select-wrapper:not(.compact-multi-select-disabled):not(.compact-multi-select-error):hover+.compact-multi-select-note{color:hsl(var(--primary))}.compact-multi-select-error-message{color:hsl(var(--destructive));font-size:.875rem}.compact-multi-select-info-icon{color:hsl(var(--muted-200))}.compact-multi-select-info-icon:hover{color:hsl(var(--primary))}@keyframes dropdownSlideDown{0%{opacity:0;transform:translateY(-.5rem)}to{opacity:1;transform:translateY(0)}}@keyframes dropdownSlideUp{0%{opacity:0;transform:translateY(.5rem)}to{opacity:1;transform:translateY(0)}}.date-range-picker{background-color:hsl(var(--background));border:1px solid hsl(var(--muted)/50%);border-radius:.5rem;display:flex;font-family:inherit}.date-range-picker__presets{border-right:1px solid hsl(var(--muted)/50%);display:flex;flex-direction:column;font-size:.875rem;gap:.5rem;padding:1rem;width:14rem}.date-range-picker__presets .radio-label{width:100%}.date-range-picker__main{flex-grow:1;padding:1rem}.date-range-picker__display{font-size:1rem;font-weight:500;margin-bottom:1rem;padding:0 .5rem}.date-range-picker__calendars{display:grid;gap:1.5rem;grid-template-areas:"header1 header2" "cal1 cal2";grid-template-columns:1fr 1fr}.date-range-picker__calendars .calendar-container{border:none;box-shadow:none;max-width:none;padding:0}.date-range-picker__header{align-items:center;display:flex;justify-content:space-between;padding:0 .5rem}.date-range-picker__header:first-of-type{grid-area:header1}.date-range-picker__header:nth-of-type(2){grid-area:header2}.date-range-picker__calendars .calendar-container:first-of-type{grid-area:cal1}.date-range-picker__calendars .calendar-container:nth-of-type(2){grid-area:cal2}.expandable-table .expand-column{padding:0!important;text-align:center;width:48px}.expandable-table .expand-button{align-items:center;background:none;border:none;color:hsl(var(--muted));cursor:pointer;display:flex;height:100%;justify-content:center;padding:8px;transition:all .2s ease-in-out;width:100%}.expandable-table .expand-button:hover{color:hsl(var(--primary))}.expandable-table .expand-button svg{transition:transform .2s ease-in-out}.expandable-table .expand-button svg.expanded{color:hsl(var(--primary));transform:rotate(90deg)}.expandable-table tbody tr:has(+tr.expanded-row) td{border-bottom-color:hsl(var(--primary))}.expandable-table tr.expanded-row td{border-bottom:1px solid hsl(var(--primary));border-left:none;border-right:none}.expandable-table tr.expanded-row td:first-child{border-left:1px solid hsl(var(--primary))}.expandable-table tr.expanded-row td:last-child{border-right:1px solid hsl(var(--primary))}.expandable-table tbody tr.expanded-row td{border-top:1px solid hsl(var(--primary))}.expandable-table tr.expanded-row .expand-button{color:hsl(var(--primary))}.expandable-table .expandable-content{padding:1rem}.expandable-table .expandable-row td{border:1px solid hsl(var(--primary));padding:0}.expandable-table tbody tr.expandable-row:last-child td{border-bottom:1px solid hsl(var(--primary))}.expandable-table .expandable-row{transition:all .3s ease-in-out}.expandable-table .expandable-content{animation:slideDown .3s ease-in-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.chip-base{align-items:center;border:1.5px solid transparent;border-radius:.75rem;display:inline-flex;font-size:.8rem;font-weight:500;gap:.3rem;line-height:1;padding:.25rem .625rem;transition:opacity .2s;white-space:nowrap}.chip--icon{padding-left:.375rem}.chip-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chip-neutral{background-color:hsl(var(--muted-25));color:hsl(var(--foreground)/.8)}.chip-neutral.chip--border{border-color:hsl(var(--muted))}.chip-primary{background-color:hsl(var(--primary-muted));color:hsl(var(--primary))}.chip-primary.chip--border{border-color:hsl(var(--primary)/.3)}.chip-success{background-color:hsl(var(--success-bg)/.5);color:hsl(var(--success))}.chip-success.chip--border{border-color:hsl(var(--success)/.4)}.chip-warning{background-color:hsl(var(--warning-bg)/.5);color:hsl(var(--warning-200))}.chip-warning.chip--border{border-color:hsl(var(--warning-200)/.4)}.chip-error{background-color:hsl(var(--destructive-bg)/.5);color:hsl(var(--destructive))}.chip-error.chip--border{border-color:hsl(var(--destructive)/.4)}.chip-dot{background-color:currentColor;border-radius:50%;flex-shrink:0;height:.45rem;width:.45rem}.chip--sm .chip-dot{height:.375rem;width:.375rem}.chip--lg .chip-dot{height:.5rem;width:.5rem}.chip--sm{font-size:.7rem;gap:.25rem;padding:.175rem .45rem}.chip--md{font-size:.8rem;padding:.25rem .625rem}.chip--lg{font-size:.875rem;gap:.35rem;padding:.35rem .75rem}.chip--disabled{cursor:not-allowed;opacity:.45}[role=button].chip-base{cursor:pointer}[role=button].chip-base:not(.chip--disabled):hover{opacity:.8}[role=button].chip-base:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px}.segmented-toggle{background-color:hsl(var(--input));border:1.5px solid hsl(var(--muted)/.6);border-radius:.3rem;display:flex;gap:.125rem;overflow:hidden;padding:.2rem;transition:border-color .2s ease-in-out;width:-moz-fit-content;width:fit-content}.segmented-toggle:hover{border-color:hsl(var(--primary))}.segmented-toggle-option{text-wrap:nowrap;align-items:center;background:none;border:none;border-radius:var(--radius-sm);color:hsl(var(--muted-200));cursor:pointer;display:flex;font:inherit;line-height:1;overflow:hidden;padding:.375rem .5rem;text-overflow:ellipsis;transition:all .2s ease-in-out;white-space:nowrap}.segmented-toggle-option:hover:not(.segmented-toggle-option-disabled):not(.segmented-toggle-option-selected){color:hsl(var(--foreground))}.segmented-toggle-option-selected{background-color:hsl(var(--primary));color:#fff}.segmented-toggle-option-selected:hover:not(.segmented-toggle-option-disabled){background-color:hsl(var(--primary-200))}.segmented-toggle-option-content{align-items:center;display:inline-flex;gap:.3rem;justify-content:center}.segmented-toggle-option-icon{flex-shrink:0}.segmented-toggle--sm .segmented-toggle-option{font-size:.75rem;padding:.25rem .5rem}.segmented-toggle--md .segmented-toggle-option{font-size:.875rem;padding:.3rem .75rem}.segmented-toggle--lg .segmented-toggle-option{font-size:1rem;padding:.375rem 1rem}.segmented-toggle-option-disabled{cursor:not-allowed;opacity:.5}.segmented-toggle-option-disabled:hover{background-color:inherit!important;color:inherit!important}.segmented-toggle-option-disabled.segmented-toggle-option-selected{opacity:.7}.skeleton{background-color:hsl(var(--muted)/.38);box-shadow:inset 0 0 0 1px hsl(var(--muted-200)/.22);box-sizing:border-box;display:block;flex-shrink:0;overflow:hidden;position:relative}.dark .skeleton{background-color:hsl(var(--muted-50));box-shadow:none}.skeleton--static:after{display:none}.skeleton:after{animation:skeleton-shimmer 1.35s ease-in-out infinite;background:linear-gradient(90deg,transparent 0,hsl(var(--popover)/.35) 42%,hsl(var(--popover)/.85) 50%,hsl(var(--popover)/.35) 58%,transparent 100%);content:"";inset:0;position:absolute;transform:translateX(-100%)}.dark .skeleton:after{background:linear-gradient(90deg,transparent 0,hsl(var(--muted)/.25) 45%,hsl(var(--muted-200)/.35) 50%,hsl(var(--muted)/.25) 55%,transparent 100%)}@keyframes skeleton-shimmer{to{transform:translateX(100%)}}.skeleton--text{border-radius:var(--radius-sm);width:100%}.skeleton--text.skeleton--sm{height:.75rem}.skeleton--text.skeleton--md{height:.875rem}.skeleton--text.skeleton--lg{height:1rem}.skeleton--rectangular{border-radius:var(--radius-md);width:100%}.skeleton--circular{border-radius:var(--radius-full)}.date-picker-container{display:flex;flex-direction:column;font-family:inherit;gap:.5rem}.date-picker-header{align-items:center;display:flex;justify-content:space-between}.date-picker-labels{display:flex;flex:1;gap:.75rem}.date-picker-label{color:hsl(var(--foreground));flex:1;font-size:.875rem;font-weight:500}.date-picker-clear{background:none;border:none;color:hsl(var(--muted-200));cursor:pointer;flex-shrink:0;font-size:.875rem;padding:0;transition:color .2s}.date-picker-clear:hover{color:hsl(var(--primary))}.date-picker-wrapper{position:relative}.date-picker-range-wrapper{display:grid;gap:.75rem;grid-template-columns:1fr 1fr}.date-picker-field-wrapper{position:relative}.date-picker-trigger{align-items:center;background:hsl(var(--input));border:1.5px solid hsl(var(--muted));border-radius:.5rem;cursor:pointer;display:flex;font-family:inherit;font-size:.875rem;height:2.5rem;justify-content:space-between;padding:0 .75rem;text-align:left;transition:border-color .2s;width:100%}.date-picker-trigger:hover:not([disabled]){border-color:hsl(var(--primary))}.date-picker-trigger:hover:not([disabled]) .date-picker-icon{color:hsl(var(--primary))}.date-picker-trigger--open{border-color:hsl(var(--primary));border-radius:.5rem .5rem 0 0}.date-picker-trigger--error{background-color:hsl(var(--destructive-bg)/.3);border-color:hsl(var(--destructive))}.date-picker-trigger[disabled]{cursor:not-allowed;opacity:.5}.date-picker-placeholder{color:hsl(var(--muted));font-size:.875rem}.date-picker-value{color:hsl(var(--foreground));font-size:.875rem}.date-picker-icon{color:hsl(var(--muted-200));flex-shrink:0;transition:color .2s}.date-picker-icon--open{color:hsl(var(--primary))}.date-picker-panel{background-color:hsl(var(--input));border:1.5px solid hsl(var(--primary));border-radius:0 0 .5rem .5rem;border-top:none;box-sizing:border-box;left:0;overflow:hidden;position:absolute;top:100%;width:100%;z-index:200}.date-picker-panel .calendar-container{background:none;border:none;box-sizing:border-box;max-width:none;min-width:0;width:100%}.date-picker-note{color:hsl(var(--muted-200));font-size:.875rem}.date-picker-error-message{color:hsl(var(--destructive));font-size:.875rem}.time-picker-container{box-sizing:border-box;display:flex;flex-direction:column;font-family:inherit;gap:.5rem;min-width:0;width:100%}.time-picker-header{align-items:center;display:flex;justify-content:space-between}.time-picker-labels{display:flex;flex:1;gap:.75rem}.time-picker-group-label,.time-picker-label{color:hsl(var(--foreground));flex:1;font-size:.875rem;font-weight:500}.time-picker-clear{background:none;border:none;color:hsl(var(--muted-200));cursor:pointer;flex-shrink:0;font-size:.875rem;padding:0;transition:color .2s}.time-picker-clear:hover{color:hsl(var(--primary))}.time-picker-fields{display:flex;min-width:0;width:100%}.time-picker-fields--range{display:grid;gap:.75rem;grid-template-columns:1fr 1fr;min-width:0;width:100%}.time-picker-field{align-items:stretch;background:hsl(var(--input));border:1.5px solid hsl(var(--muted));border-radius:.5rem;display:flex;font-family:inherit;font-size:.875rem;height:2.5rem;min-width:0;position:relative;transition:border-color .2s;width:100%}.time-picker-field:hover:not(.time-picker-field--disabled){border-color:hsl(var(--primary))}.time-picker-field:hover:not(.time-picker-field--disabled) .time-picker-icon{color:hsl(var(--primary))}.time-picker-field--open{border-color:hsl(var(--primary));border-radius:.5rem .5rem 0 0}.time-picker-field--error{background-color:hsl(var(--destructive-bg)/.3);border-color:hsl(var(--destructive))}.time-picker-field--disabled{opacity:.5;pointer-events:none}.time-picker-half{align-items:center;cursor:pointer;display:flex;flex:1;justify-content:space-between;min-width:0;outline:none;padding:0 .625rem;-webkit-user-select:none;-moz-user-select:none;user-select:none}.time-picker-half:focus-visible{border-radius:.375rem;outline:2px solid hsl(var(--primary));outline-offset:-2px}.time-picker-half-divider{background-color:hsl(var(--muted));flex-shrink:0;margin:.4rem 0;width:1px}.time-picker-placeholder{color:hsl(var(--muted));font-size:.875rem;letter-spacing:.04em}.time-picker-value{color:hsl(var(--foreground));font-size:.875rem;font-variant-numeric:tabular-nums}.time-picker-half--active .time-picker-placeholder,.time-picker-half--active .time-picker-value{color:hsl(var(--primary))}.time-picker-icon{color:hsl(var(--muted-200));flex-shrink:0;transition:color .2s}.time-picker-icon--open{color:hsl(var(--primary))}.time-picker-dropdown{background-color:hsl(var(--input));border:1.5px solid hsl(var(--primary));border-radius:0 0 .5rem .5rem;border-top:none;cursor:grab;max-height:11rem;overflow-y:auto;position:absolute;scrollbar-color:hsl(var(--muted)) transparent;scrollbar-width:thin;top:100%;-moz-user-select:none;user-select:none;-webkit-user-select:none;width:calc(50% + 1.5px);z-index:200}.time-picker-dropdown--dragging{cursor:grabbing}.time-picker-dropdown--left{left:-1.5px}.time-picker-dropdown--right{right:-1.5px}.time-picker-dropdown::-webkit-scrollbar{width:4px}.time-picker-dropdown::-webkit-scrollbar-track{background:transparent}.time-picker-dropdown::-webkit-scrollbar-thumb{background-color:hsl(var(--muted));border-radius:2px}.time-picker-option{color:hsl(var(--primary));cursor:pointer;font-size:.875rem;font-variant-numeric:tabular-nums;padding:.5rem .75rem;transition:background-color .15s}.time-picker-option--selected,.time-picker-option:hover{background-color:hsl(var(--primary-muted))}.time-picker-option--selected{font-weight:600}.time-picker-note{color:hsl(var(--muted-200));font-size:.875rem}.time-picker-error-message{color:hsl(var(--destructive));font-size:.875rem}.expandable-search{--expandable-search-height:40px;--expandable-search-width:200px;border:1.5px solid transparent;border-radius:var(--radius-md);overflow:hidden;position:relative;transition:border-color .2s ease,background-color .2s ease;width:-moz-fit-content;width:fit-content}.expandable-search--sm{--expandable-search-height:32px}.expandable-search--md{--expandable-search-height:40px}.expandable-search--lg{--expandable-search-height:48px}.expandable-search--expanded{background:hsl(var(--input));border-color:hsl(var(--primary))}.expandable-search-container{align-items:center;border-radius:var(--radius-md);display:flex;justify-content:flex-end;overflow:hidden;position:relative;transition:width .3s cubic-bezier(.4,0,.2,1);width:var(--expandable-search-height)}.expandable-search--expanded .expandable-search-container{width:calc(var(--expandable-search-width) + var(--expandable-search-height))}.expandable-search-button{align-items:center;background:transparent;border:none;border-radius:var(--radius-md);color:hsl(var(--primary));cursor:pointer;display:inline-flex;flex-shrink:0;height:var(--expandable-search-height);justify-content:center;padding:0;position:relative;transition:background-color .2s ease,color .2s ease;width:var(--expandable-search-height);z-index:2}.expandable-search-button:hover{background-color:hsl(var(--primary-disabled))}.expandable-search-button:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px}.expandable-search--expanded .expandable-search-button:hover{background-color:transparent;color:hsl(var(--primary-300))}.expandable-search-input{background:transparent;border:none;color:hsl(var(--foreground));font-family:inherit;font-size:.875rem;height:var(--expandable-search-height);margin:0;opacity:0;outline:none;padding:0 .875rem;pointer-events:none;position:absolute;right:var(--expandable-search-height);top:0;transform:translateX(100%);transition:transform .1s cubic-bezier(.4,0,.2,1),opacity .3s cubic-bezier(.4,0,.2,1),visibility 0s linear .3s;visibility:hidden;width:var(--expandable-search-width)}.expandable-search-input::-moz-placeholder{color:hsl(var(--muted))}.expandable-search-input::placeholder{color:hsl(var(--muted))}.expandable-search--expanded .expandable-search-input{opacity:1;pointer-events:all;transform:translateX(0);transition:transform .3s cubic-bezier(.4,0,.2,1) .1s,opacity .3s cubic-bezier(.4,0,.2,1) .1s,visibility 0s linear .1s;visibility:visible}.onboarding{inset:0;pointer-events:none;position:fixed}.onboarding__blocker{animation:onboardingFade .2s ease;background:rgba(0,0,0,.5);pointer-events:auto;position:fixed}.onboarding__spotlight{box-shadow:0 0 0 9999px rgba(0,0,0,.5),0 0 0 2px hsl(var(--primary)),0 0 18px 4px hsl(var(--primary)/.45);pointer-events:none;position:fixed;transition:top .25s cubic-bezier(.16,1,.3,1),left .25s cubic-bezier(.16,1,.3,1),width .25s cubic-bezier(.16,1,.3,1),height .25s cubic-bezier(.16,1,.3,1)}.onboarding:has(.onboarding__spotlight) .onboarding__blocker{background:transparent}.onboarding__popup{animation:onboardingPopIn .22s cubic-bezier(.16,1,.3,1);background:hsl(var(--card,var(--background)));border:1px solid hsl(var(--border));border-radius:var(--radius-md);box-shadow:0 10px 38px rgba(0,0,0,.22);color:hsl(var(--foreground));max-width:calc(100vw - 24px);padding:16px;pointer-events:auto;position:fixed;width:320px}.onboarding__close{align-items:center;background:transparent;border:none;border-radius:var(--radius-sm,6px);color:hsl(var(--muted));cursor:pointer;display:inline-flex;height:24px;justify-content:center;position:absolute;right:10px;top:10px;width:24px}.onboarding__close:hover{background:hsl(var(--primary)/.08);color:hsl(var(--foreground))}.onboarding__close:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:1px}.onboarding__title{font-size:15px;font-weight:600;line-height:1.3;margin-bottom:6px;padding-right:24px}.onboarding__content{color:hsl(var(--muted));font-size:13px;line-height:1.5}.onboarding__footer{justify-content:space-between;margin-top:16px}.onboarding__footer,.onboarding__footer-right{align-items:center;display:flex;gap:8px}.onboarding__progress{color:hsl(var(--muted));font-size:12px;font-variant-numeric:tabular-nums}.onboarding__arrow{background:hsl(var(--card,var(--background)));border:1px solid hsl(var(--border));height:10px;position:absolute;transform:rotate(45deg);width:10px}.onboarding__popup[data-placement=bottom] .onboarding__arrow{border-bottom:none;border-right:none;left:50%;margin-left:-5px;top:-6px}.onboarding__popup[data-placement=top] .onboarding__arrow{border-left:none;border-top:none;bottom:-6px;left:50%;margin-left:-5px}.onboarding__popup[data-placement=right] .onboarding__arrow{border-right:none;border-top:none;left:-6px;margin-top:-5px;top:50%}.onboarding__popup[data-placement=left] .onboarding__arrow{border-bottom:none;border-left:none;margin-top:-5px;right:-6px;top:50%}@keyframes onboardingFade{0%{opacity:0}to{opacity:1}}@keyframes onboardingPopIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.onboarding__blocker,.onboarding__popup,.onboarding__spotlight{animation:none;transition:none}}
2
2
  .bar-chart-container{font-family:inherit;padding:2rem 2rem 2rem 0;text-align:center}.bar-chart-y-label{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:hsl(var(--muted-200));display:-webkit-box;font-size:12px;line-height:1.25;overflow:hidden;text-align:right;text-overflow:ellipsis;word-break:break-word}.line-chart-container{padding:2rem 2rem 2rem 0}.line-chart-container,.pie-chart-container{font-family:inherit;text-align:center}.pie-chart-clickable .recharts-pie-sector,.pie-chart-clickable path{cursor:pointer}.pie-chart-container .recharts-layer path:focus,.pie-chart-container .recharts-pie-sector:focus,.pie-chart-container path:focus{outline:none}.stat-chart-container{display:flex;flex-direction:column;font-family:inherit}.stat-chart-compare-wrapper{align-items:flex-start;display:flex;gap:.5rem;width:100%}.stat-chart-compare-section{flex:1 1 0;min-width:0}.stat-chart-compare-label{align-items:flex-end;color:hsl(var(--muted-200));display:flex;font-size:.875rem;justify-content:center;text-align:center}.stat-chart-compare-center{display:flex;flex:0 0 auto;flex-direction:column;min-width:120px}.stat-chart-compare-center-label{color:hsl(var(--muted-200));font-size:.8125rem;text-align:center}.stat-chart-difference-col{flex:0 0 auto;padding-left:1rem;text-align:left}.stat-chart-difference-title{align-items:flex-end;color:hsl(var(--primary-400));display:flex;font-size:.8125rem;font-weight:600}.stat-chart-difference-row{align-items:center;display:flex;font-size:.8125rem;gap:.25rem;height:48px}.stat-chart-difference-negative,.stat-chart-difference-positive{align-items:center;display:inline-flex;gap:.25rem}.stat-chart-difference-positive{color:hsl(var(--success))}.stat-chart-difference-negative{color:hsl(var(--destructive))}.stat-chart-compare-section .stat-chart-bar-tooltip,.stat-chart-container .stat-chart-bar-tooltip{align-items:center;align-self:stretch;display:flex;flex:1;min-width:0}.stat-chart-bar-track{height:22px;overflow:hidden;position:relative;width:100%}.gantt-chart-container{display:flex;flex-direction:column;font-family:inherit;overflow:visible;width:100%}.gantt-chart-legend{margin-bottom:.75rem}.gantt-bar-tooltip{box-sizing:border-box;display:block;height:100%;width:100%}.gantt-bar-tooltip-hit{height:100%;min-height:1px;width:100%}.heatmap-header-label{color:hsl(var(--muted-200));font-size:.75rem}.custom-chart-tooltip{background-color:hsl(var(--tooltip-dark-bg));border-radius:.375rem;box-shadow:0 2px 8px rgba(0,0,0,.15);color:hsl(var(--tooltip-dark-fg));font-size:.75rem;padding:.5rem 1rem;position:relative;transform:translate(-50%,calc(-100% - 16px));white-space:nowrap}.custom-chart-tooltip>span{font-size:.875rem}.custom-chart-tooltip:after{border-color:hsl(var(--tooltip-dark-bg)) transparent transparent transparent;border-style:solid;border-width:8px;content:"";left:50%;position:absolute;top:100%;transform:translateX(-50%)}.recharts-tooltip-wrapper{z-index:1000}.heatmap-container{box-sizing:border-box;display:flex;flex-direction:column;height:100%;min-height:0;overflow:visible;padding:1rem;width:100%}.heatmap-grid{display:grid;flex-grow:1;gap:.5rem;min-height:0;overflow:visible}.heatmap-col-tooltip{box-sizing:border-box;display:block;min-width:0;width:100%}.heatmap-col-header{box-sizing:border-box;display:block;font-weight:400;max-width:100%;overflow:hidden;padding:.5rem;text-align:center;text-overflow:ellipsis;white-space:nowrap}.heatmap-row-tooltip{align-items:center;box-sizing:border-box;display:flex;height:100%;min-width:0;width:100%}.heatmap-row-header{display:block;font-weight:400;max-width:100%;padding:.5rem;text-overflow:ellipsis;white-space:nowrap}.heatmap-cell,.heatmap-row-header{box-sizing:border-box;overflow:hidden}.heatmap-cell{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;padding:.75rem;width:100%}.heatmap-cell-content{align-items:center;display:flex;gap:.25rem}.heatmap-cell-value-container{font-size:.875rem}.heatmap-cell-percentage-container{font-size:.75rem}.heatmap-icon{height:.75rem;width:.75rem}.heatmap-cell-tooltip-content{display:flex;flex-direction:column;font-size:.75rem;gap:.25rem}.chart-container{width:100%}.chart-container,.chart-header{display:flex;flex-direction:column;gap:1.5rem}.chart-title-container{align-items:center;display:flex;gap:.5rem}.chart-title{font-size:1.5rem;font-weight:600;margin:0}.chart-info-icon{color:hsl(var(--muted));cursor:help}.chart-metadata{display:flex;flex-direction:column;gap:1rem}.chart-kpis{border-bottom:1px solid hsl(var(--muted-50));display:flex;flex-wrap:wrap;gap:2rem;padding-bottom:.5rem}.chart-kpi{display:flex;flex-direction:column;gap:.25rem}.chart-kpi-label{color:hsl(var(--muted-200));font-size:.875rem}.chart-kpi-value{font-size:1.5rem;font-weight:600}.chart-legend{padding-top:.5rem}.chart-header-content{display:flex;flex-direction:column;gap:.25rem}.chart-description{color:hsl(var(--muted-200));font-size:1rem}.legend{display:flex;flex-wrap:wrap;gap:1rem}.legend--vertical{flex-direction:column}.legend-item{align-items:center;display:flex;gap:.5rem}.legend-item--clickable{cursor:pointer}.legend-swatch{height:1rem;width:1.5rem}.legend-swatch--line{height:.25rem}.legend-swatch--dashed-line{background-color:transparent;border-bottom:2px dashed;height:.25rem}.legend-swatch--circle{border-radius:9999px;width:1rem}.tooltip-container{display:inline-block;position:relative}.tooltip-box{word-wrap:break-word;border-radius:6px;box-shadow:0 4px 12px rgba(0,0,0,.15);font-size:.8125rem;max-width:220px;opacity:0;padding:.5rem .75rem;pointer-events:none;position:fixed;transition:opacity .15s ease;visibility:hidden;z-index:1001}.tooltip-box--dark{background-color:hsl(var(--tooltip-dark-bg));color:hsl(var(--tooltip-dark-fg))}.tooltip-box--light{background-color:hsl(var(--card));box-shadow:0 4px 12px rgba(0,0,0,.12);color:hsl(var(--foreground))}.tooltip-box:after{border:6px solid transparent;content:"";pointer-events:none;position:absolute;z-index:1000}.tooltip-box.tooltip-visible,.tooltip-box.tooltip-visible:after{opacity:1;visibility:visible}.tooltip-box--dark[data-position=top]:after{border-top-color:hsl(var(--tooltip-dark-bg))}.tooltip-box--light[data-position=top]:after{border-top-color:hsl(var(--card))}.tooltip-box[data-position=top]:after{left:50%;top:100%;transform:translateX(-50%)}.tooltip-box--dark[data-position=bottom]:after{border-bottom-color:hsl(var(--tooltip-dark-bg))}.tooltip-box--light[data-position=bottom]:after{border-bottom-color:hsl(var(--card))}.tooltip-box[data-position=bottom]:after{bottom:100%;left:50%;transform:translateX(-50%)}.tooltip-box--dark[data-position=left]:after{border-left-color:hsl(var(--tooltip-dark-bg))}.tooltip-box--light[data-position=left]:after{border-left-color:hsl(var(--card))}.tooltip-box[data-position=left]:after{left:100%;top:50%;transform:translateY(-50%)}.tooltip-box--dark[data-position=right]:after{border-right-color:hsl(var(--tooltip-dark-bg))}.tooltip-box--light[data-position=right]:after{border-right-color:hsl(var(--card))}.tooltip-box[data-position=right]:after{right:100%;top:50%;transform:translateY(-50%)}
@@ -35,3 +35,4 @@ export * from "./src/skeleton/skeleton";
35
35
  export * from "./src/date-picker/date-picker";
36
36
  export * from "./src/time-picker/time-picker";
37
37
  export * from "./src/expandable-search/expandable-search";
38
+ export * from "./src/onboarding/onboarding";
@@ -1,5 +1,6 @@
1
1
  import "./button.css";
2
2
  import type { IconType, TooltipPosition } from "../../../types";
3
+ import { Icon } from "../icon/icon";
3
4
  import React from "react";
4
5
  /**
5
6
  * Extends native `HTMLButtonElement` attributes
@@ -11,6 +12,7 @@ import React from "react";
11
12
  * @property {"left"|"right"} [iconPosition] - Icon position relative to the label. Default `"right"`.
12
13
  * @property {boolean} [iconOnly] - Icon without visible text.
13
14
  * @property {number} [iconStrokeWidth] - SVG stroke width for the icon. Default `1.5`.
15
+ * @property {Omit<React.ComponentProps<typeof Icon>, "icon">} [iconProps] - Extra props forwarded to the built-in `Icon` (and its `<svg>`); overrides defaults like `size`/`strokeWidth`.
14
16
  * @property {boolean} [isLoading] - Shows a spinner and disables the button. Default `false`.
15
17
  * @property {boolean} [fullWidth] - Stretches to 100% width of the container. Default `false`.
16
18
  * @property {string} [tooltip] - If set, wraps the button in a `Tooltip` with this text.
@@ -22,6 +24,7 @@ interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
22
24
  label?: string;
23
25
  iconStrokeWidth?: number;
24
26
  icon?: IconType;
27
+ iconProps?: Omit<React.ComponentProps<typeof Icon>, "icon">;
25
28
  iconPosition?: "left" | "right";
26
29
  iconOnly?: boolean;
27
30
  isLoading?: boolean;
@@ -1,5 +1,6 @@
1
1
  import "./chip.css";
2
2
  import type React from "react";
3
+ import { Icon } from "../icon/icon";
3
4
  import type { IconType, TooltipPosition } from "../../../types";
4
5
  /**
5
6
  * Props for the `Chip` component: extends `HTMLAttributes<HTMLElement>` with H2O badge fields.
@@ -7,6 +8,7 @@ import type { IconType, TooltipPosition } from "../../../types";
7
8
  *
8
9
  * @property {string} label - Visible text (required).
9
10
  * @property {import("../../../types").IconType} [icon] - Leading icon; overrides `dot` when present.
11
+ * @property {Omit<React.ComponentProps<typeof Icon>, "icon">} [iconProps] - Extra props forwarded to the built-in `Icon` (and its `<svg>`); overrides `iconSize`/`iconStrokeWidth`/`iconClassName`.
10
12
  * @property {"neutral"|"primary"|"success"|"warning"|"error"} [variant] - Color family. Default `"neutral"`.
11
13
  * @property {"sm"|"md"|"lg"} [size] - Padding and font. Default `"md"`.
12
14
  * @property {boolean} [dot] - Renders a status dot instead of an icon when no `icon`.
@@ -16,6 +18,7 @@ import type { IconType, TooltipPosition } from "../../../types";
16
18
  type ChipProps = React.HTMLAttributes<HTMLElement> & {
17
19
  label: string;
18
20
  icon?: IconType;
21
+ iconProps?: Omit<React.ComponentProps<typeof Icon>, "icon">;
19
22
  variant?: "neutral" | "primary" | "success" | "warning" | "error";
20
23
  size?: "sm" | "md" | "lg";
21
24
  iconStrokeWidth?: number;
@@ -33,5 +36,5 @@ type ChipProps = React.HTMLAttributes<HTMLElement> & {
33
36
  * @param {ChipProps} props - Extends native element props; includes `label` and presentation.
34
37
  * @returns {JSX.Element} A `span` or `button`-like chip per `onClick` usage.
35
38
  */
36
- export declare const Chip: ({ label, icon, variant, size, iconStrokeWidth, iconClassName, iconSize, disabled, showBorder, dot, tooltip, tooltipPosition, className, onClick, ...props }: ChipProps) => import("react/jsx-runtime").JSX.Element;
39
+ export declare const Chip: ({ label, icon, iconProps, variant, size, iconStrokeWidth, iconClassName, iconSize, disabled, showBorder, dot, tooltip, tooltipPosition, className, onClick, ...props }: ChipProps) => import("react/jsx-runtime").JSX.Element;
37
40
  export {};
@@ -1,14 +1,17 @@
1
1
  import "./content-switch.css";
2
+ import { Icon } from "../icon/icon";
2
3
  import type { IconType } from "../../../types";
3
4
  /**
4
5
  * Tab-like option in a `ContentSwitch` row (`role="tablist"` / `role="tab"`).
5
6
  * @property {string} value - Passed to `onChange` when selected.
6
7
  * @property {IconType} [icon] - Optional leading icon on the tab.
8
+ * @property {Omit<React.ComponentProps<typeof Icon>, "icon">} [iconProps] - Extra props forwarded to the built-in `Icon` (and its `<svg>`).
7
9
  */
8
10
  export type ContentSwitchOption = {
9
11
  label: string;
10
12
  value: string;
11
13
  icon?: IconType;
14
+ iconProps?: Omit<React.ComponentProps<typeof Icon>, "icon">;
12
15
  disabled?: boolean;
13
16
  };
14
17
  /**
@@ -1,11 +1,14 @@
1
1
  import "./input.css";
2
2
  import type { IconType, TooltipPosition } from "../../../types";
3
+ import { Icon } from "../icon/icon";
3
4
  /**
4
5
  * Extends `HTMLInputElement` attributes
5
6
  *
6
7
  * @property {"sm"|"md"|"lg"} [size] - Field height and font scale. Default `"md"`.
7
8
  * @property {import("../../../types").IconType} [leftIcon] - Optional left decorative/action icon.
9
+ * @property {Omit<React.ComponentProps<typeof Icon>, "icon">} [leftIconProps] - Extra props forwarded to the left `Icon` (and its `<svg>`).
8
10
  * @property {import("../../../types").IconType} [rightIcon] - Optional right icon; pair with `onRightIconClick` for an action.
11
+ * @property {Omit<React.ComponentProps<typeof Icon>, "icon">} [rightIconProps] - Extra props forwarded to the right `Icon` (and its `<svg>`).
9
12
  * @property {boolean} [showClear] - Shows a clear control when the field has a value. Default `false`.
10
13
  * @property {string} [note] - Helper text below the field (non-error).
11
14
  * @property {string} [error] - Error message; styles the field as invalid when set.
@@ -16,7 +19,9 @@ interface InputProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, "
16
19
  size?: "sm" | "md" | "lg";
17
20
  label?: string;
18
21
  leftIcon?: IconType;
22
+ leftIconProps?: Omit<React.ComponentProps<typeof Icon>, "icon">;
19
23
  rightIcon?: IconType;
24
+ rightIconProps?: Omit<React.ComponentProps<typeof Icon>, "icon">;
20
25
  onRightIconClick?: () => void;
21
26
  showClear?: boolean;
22
27
  note?: string;
@@ -0,0 +1,100 @@
1
+ import "./onboarding.css";
2
+ import type React from "react";
3
+ import type { ReactNode } from "react";
4
+ import { type OnboardingStorage, type UseOnboardingReturn } from "../../../hooks/src/use-onboarding";
5
+ /** Where a step popup sits relative to its target. `"center"` ignores the target and centers on screen. */
6
+ export type OnboardingPlacement = "top" | "bottom" | "left" | "right" | "auto" | "center";
7
+ /**
8
+ * How a step finds its anchor element:
9
+ * - `string` — a CSS selector (e.g. `"#sidebar"`, `".profile"`, `"[data-tour=save]"`). A bare word falls back to an element id.
10
+ * - `HTMLElement` — the element directly.
11
+ * - `() => HTMLElement | null` — resolved lazily when the step shows.
12
+ */
13
+ export type OnboardingTarget = string | HTMLElement | (() => HTMLElement | null);
14
+ /**
15
+ * A single step in an onboarding flow.
16
+ *
17
+ * @property {OnboardingTarget} [target] - Element to anchor + spotlight. Omit for a centered step (welcome/finish screens).
18
+ * @property {ReactNode} [title] - Heading shown at the top of the popup.
19
+ * @property {ReactNode} content - Body message (required).
20
+ * @property {OnboardingPlacement} [placement] - Popup side. Default: the flow's `placement` (which defaults to `"auto"`).
21
+ * @property {number} [spotlightPadding] - Extra px around the target in the spotlight cutout.
22
+ * @property {number} [spotlightRadius] - Spotlight corner radius in px.
23
+ * @property {boolean} [disableInteraction] - Block clicks on the spotlighted element. Default: the flow's `disableInteraction`.
24
+ */
25
+ export interface OnboardingStep {
26
+ target?: OnboardingTarget;
27
+ title?: ReactNode;
28
+ content: ReactNode;
29
+ placement?: OnboardingPlacement;
30
+ spotlightPadding?: number;
31
+ spotlightRadius?: number;
32
+ disableInteraction?: boolean;
33
+ showBack?: boolean;
34
+ showSkip?: boolean;
35
+ nextLabel?: string;
36
+ backLabel?: string;
37
+ finishLabel?: string;
38
+ }
39
+ /** Context passed to `renderStep` / `renderFooter` for fully custom popup UI. */
40
+ export interface OnboardingRenderContext extends UseOnboardingReturn {
41
+ step: OnboardingStep;
42
+ }
43
+ /** Imperative handle exposed via `ref` on `Onboarding`. */
44
+ export type OnboardingHandle = UseOnboardingReturn;
45
+ /**
46
+ * Props for `Onboarding`. Most are flow-wide defaults that individual steps can override.
47
+ *
48
+ * @property {string} id - Stable flow id; persistence key.
49
+ * @property {OnboardingStep[]} steps - Ordered steps.
50
+ * @property {boolean} [run] - Controlled active state. Omit to auto-manage (see `autoStart`).
51
+ */
52
+ export interface OnboardingProps {
53
+ id: string;
54
+ steps: OnboardingStep[];
55
+ run?: boolean;
56
+ autoStart?: boolean;
57
+ persist?: boolean;
58
+ storage?: OnboardingStorage;
59
+ startDelay?: number;
60
+ placement?: OnboardingPlacement;
61
+ spotlightPadding?: number;
62
+ spotlightRadius?: number;
63
+ disableInteraction?: boolean;
64
+ closeOnOverlayClick?: boolean;
65
+ closeOnEsc?: boolean;
66
+ keyboardNavigation?: boolean;
67
+ scrollIntoView?: boolean;
68
+ scrollBehavior?: ScrollBehavior;
69
+ offset?: number;
70
+ zIndex?: number;
71
+ showProgress?: boolean;
72
+ showSkip?: boolean;
73
+ showBack?: boolean;
74
+ showClose?: boolean;
75
+ nextLabel?: string;
76
+ backLabel?: string;
77
+ skipLabel?: string;
78
+ finishLabel?: string;
79
+ className?: string;
80
+ overlayClassName?: string;
81
+ onStart?: () => void;
82
+ onStepChange?: (index: number, previous: number, step: OnboardingStep) => void;
83
+ onSkip?: (index: number) => void;
84
+ onFinish?: () => void;
85
+ onClose?: () => void;
86
+ renderStep?: (ctx: OnboardingRenderContext) => ReactNode;
87
+ renderFooter?: (ctx: OnboardingRenderContext) => ReactNode;
88
+ }
89
+ /**
90
+ * Modular onboarding / product-tour overlay. Drive a flow by `id` with a `steps`
91
+ * array — each step spotlights an element (by selector/id) and shows a popup with
92
+ * Back / Skip / Next controls. Persists completion so a flow shows once.
93
+ *
94
+ * Headless control lives in {@link useOnboarding}; this component is the batteries-included UI.
95
+ *
96
+ * @param {OnboardingProps} props
97
+ * @param {React.Ref<OnboardingHandle>} ref - Imperative controls (`start`, `next`, `skip`, `reset`, …).
98
+ * @returns {JSX.Element | null} A portal with the spotlight overlay + popup while active.
99
+ */
100
+ export declare const Onboarding: React.ForwardRefExoticComponent<OnboardingProps & React.RefAttributes<UseOnboardingReturn>>;
@@ -1,16 +1,19 @@
1
1
  import "./radio-group.css";
2
+ import { Icon } from "../icon/icon";
2
3
  import type { IconType, TooltipPosition } from "../../../types";
3
4
  /**
4
5
  * One entry in a `RadioGroup` `options` array.
5
6
  * @property {string} label - Option title.
6
7
  * @property {string} value - Emitted to `onChange` when selected.
7
8
  * @property {import("../../../types").IconType} [icon] - Optional leading icon.
9
+ * @property {Omit<React.ComponentProps<typeof Icon>, "icon">} [iconProps] - Extra props forwarded to the built-in `Icon` (and its `<svg>`).
8
10
  * @property {"active"|"inactive"} [dot] - Optional status dot style when no icon.
9
11
  */
10
12
  export interface RadioOption {
11
13
  label: string;
12
14
  value: string;
13
15
  icon?: IconType;
16
+ iconProps?: Omit<React.ComponentProps<typeof Icon>, "icon">;
14
17
  dot?: "active" | "inactive";
15
18
  disabled?: boolean;
16
19
  tooltip?: string;