.badge{--_solid-bg:var(--primary);--_solid-fg:var(--primary-foreground);--_tint-bg:color-mix(in srgb, var(--primary) 12%, transparent);--_tint-color:var(--primary);--_border:var(--primary);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:.375rem;font-family:inherit;font-weight:500;line-height:1;transition:background-color .15s,color .15s,border-color .15s;display:inline-flex;border-radius:9999px!important}.badge--primary{--_solid-bg:var(--primary);--_solid-fg:var(--primary-foreground);--_tint-bg:color-mix(in srgb, var(--primary) 12%, transparent);--_tint-color:var(--primary);--_border:var(--primary)}.badge--secondary{--_solid-bg:var(--secondary);--_solid-fg:var(--secondary-foreground);--_tint-bg:var(--accent);--_tint-color:var(--foreground);--_border:var(--border)}.badge--success{--_solid-bg:var(--success);--_solid-fg:var(--success-foreground);--_tint-bg:var(--success-subtle);--_tint-color:var(--success);--_border:var(--success)}.badge--warning{--_solid-bg:var(--warning);--_solid-fg:var(--warning-foreground);--_tint-bg:var(--warning-subtle);--_tint-color:var(--warning);--_border:var(--warning)}.badge--danger{--_solid-bg:var(--destructive);--_solid-fg:var(--destructive-foreground);--_tint-bg:color-mix(in srgb, var(--destructive) 10%, transparent);--_tint-color:var(--destructive);--_border:var(--destructive)}.badge--info{--_solid-bg:var(--info);--_solid-fg:var(--info-foreground);--_tint-bg:var(--info-subtle);--_tint-color:var(--info);--_border:var(--info)}.badge--muted{--_solid-bg:var(--muted-foreground);--_solid-fg:var(--background);--_tint-bg:var(--muted);--_tint-color:var(--muted-foreground);--_border:var(--border)}.badge--filled{background-color:var(--_solid-bg);color:var(--_solid-fg);border-color:#0000}.badge--soft{background-color:var(--_tint-bg);color:var(--_tint-color);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--_border) 20%, transparent);border-color:#0000}.badge--outline{color:var(--_tint-color);border-color:var(--_border);background-color:#0000}.badge--ghost{color:var(--_tint-color);background-color:#0000;border-color:#0000}.badge--xs{gap:.25rem;height:1.125rem;padding:0 .375rem;font-size:.625rem;border-radius:9999px!important}.badge--sm{height:1.375rem;padding:0 .5rem;font-size:.6875rem;border-radius:9999px!important}.badge--md{height:1.5rem;padding:0 .625rem;font-size:.75rem;border-radius:9999px!important}.badge--lg{gap:.5rem;height:1.75rem;padding:0 .75rem;font-size:.875rem;border-radius:9999px!important}.badge--square{aspect-ratio:1;padding:0}.badge-dot{background-color:currentColor;border-radius:50%;flex-shrink:0;width:.4375rem;height:.4375rem}.badge--xs .badge-dot{width:.3125rem;height:.3125rem}.badge--lg .badge-dot{width:.5rem;height:.5rem}
.fi-toggle{align-items:center;gap:.75rem;display:inline-flex}.fi-toggle__track{border-radius:var(--radius-full);background-color:var(--muted-foreground);cursor:pointer;border:none;outline:none;flex-shrink:0;align-items:center;width:2.75rem;height:1.5rem;padding:0;transition:background-color .2s;display:inline-flex;position:relative}.fi-toggle__track:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.fi-toggle__track[data-checked]{background-color:var(--primary)}.fi-toggle__track:disabled{opacity:.5;cursor:not-allowed}.fi-toggle__thumb{pointer-events:none;background-color:#fff;border-radius:50%;width:1.125rem;height:1.125rem;transition:transform .2s;position:absolute;left:3px;box-shadow:0 1px 3px #0003}[data-checked] .fi-toggle__thumb{transform:translate(1.25rem)}.fi-radio{flex-direction:column;gap:.625rem;display:flex}.fi-radio--horizontal{flex-flow:wrap;gap:1.25rem}.fi-radio__item{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.5rem;display:flex}.fi-radio__item--disabled{opacity:.5;cursor:not-allowed}.fi-radio__native{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.fi-radio__native:focus-visible+.fi-radio__indicator{outline:2px solid var(--ring);outline-offset:2px}.fi-radio__native:checked+.fi-radio__indicator{border-color:var(--primary);background-color:var(--primary)}.fi-radio__native:checked+.fi-radio__indicator:after{opacity:1}.fi-radio__indicator{border:1.5px solid var(--border);background-color:var(--background);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:1rem;height:1rem;transition:border-color .15s,background-color .15s;display:flex;position:relative}.fi-radio__indicator:after{content:"";background-color:var(--primary-foreground);opacity:0;border-radius:50%;width:.375rem;height:.375rem;transition:opacity .15s}.fi-radio__text{color:var(--foreground);font-size:.875rem;line-height:1.25}.fi-textarea{resize:vertical;width:100%;min-height:5rem;font-family:inherit}
.btn{--_solid-bg:var(--primary);--_solid-fg:var(--primary-foreground);--_tint-bg:color-mix(in srgb, var(--primary) 10%, transparent);--_tint-color:var(--primary);--_border:var(--primary);white-space:nowrap;border-radius:var(--radius-md);cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid #0000;outline:none;justify-content:center;align-items:center;gap:.5rem;font-family:inherit;font-weight:500;text-decoration:none;transition:background-color .15s,color .15s,border-color .15s,opacity .15s;display:inline-flex}.btn:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.btn:disabled,.btn[aria-disabled=true]{pointer-events:none;opacity:.5}.btn--loading{pointer-events:none;opacity:.7}.btn--primary{--_solid-bg:var(--primary);--_solid-fg:var(--primary-foreground);--_tint-bg:color-mix(in srgb, var(--primary) 10%, transparent);--_tint-color:var(--primary);--_border:var(--primary)}.btn--secondary{--_solid-bg:var(--secondary);--_solid-fg:var(--secondary-foreground);--_tint-bg:var(--accent);--_tint-color:var(--foreground);--_border:var(--border)}.btn--destructive{--_solid-bg:var(--destructive);--_solid-fg:var(--destructive-foreground);--_tint-bg:color-mix(in srgb, var(--destructive) 10%, transparent);--_tint-color:var(--destructive);--_border:var(--destructive)}.btn--success{--_solid-bg:var(--success);--_solid-fg:var(--success-foreground);--_tint-bg:var(--success-subtle);--_tint-color:var(--success);--_border:var(--success)}.btn--warning{--_solid-bg:var(--warning);--_solid-fg:var(--warning-foreground);--_tint-bg:var(--warning-subtle);--_tint-color:var(--warning);--_border:var(--warning)}.btn--muted{--_solid-bg:var(--muted);--_solid-fg:var(--muted-foreground);--_tint-bg:var(--muted);--_tint-color:var(--muted-foreground);--_border:var(--border)}.btn--filled{background-color:var(--_solid-bg);color:var(--_solid-fg);border-color:#0000}.btn--filled:hover:not(:disabled):not([aria-disabled=true]){background-color:color-mix(in srgb, var(--_solid-bg) 88%, black)}.btn--filled:active:not(:disabled):not([aria-disabled=true]){background-color:color-mix(in srgb, var(--_solid-bg) 76%, black)}.btn--outline{color:var(--_tint-color);border-color:var(--_border);background-color:#0000}.btn--outline:hover:not(:disabled):not([aria-disabled=true]){background-color:var(--_tint-bg)}.btn--ghost{color:var(--_tint-color);background-color:#0000;border-color:#0000}.btn--ghost:hover:not(:disabled):not([aria-disabled=true]){background-color:var(--_tint-bg)}.btn--soft{background-color:var(--_tint-bg);color:var(--_tint-color);border-color:#0000}.btn--soft:hover:not(:disabled):not([aria-disabled=true]){background-color:color-mix(in srgb, var(--_tint-bg) 70%, var(--_solid-bg))}.btn--link{color:var(--_tint-color);text-underline-offset:3px;background-color:#0000;border-color:#0000;height:auto;padding:0;font-weight:400}.btn--link:hover:not(:disabled):not([aria-disabled=true]){text-decoration:underline}.btn--xs{border-radius:var(--radius-sm);gap:.25rem;height:1.625rem;padding:0 .5rem;font-size:.6875rem}.btn--sm{gap:.375rem;height:2rem;padding:0 .75rem;font-size:.75rem}.btn--md{height:2.25rem;padding:0 1rem;font-size:.875rem}.btn--lg{gap:.625rem;height:2.75rem;padding:0 1.5rem;font-size:1rem}.btn--xl{gap:.75rem;height:3.25rem;padding:0 2rem;font-size:1.0625rem}.btn--xs svg,.btn--sm svg{width:.875rem;height:.875rem}.btn--md svg{width:1rem;height:1rem}.btn--lg svg,.btn--xl svg{width:1.25rem;height:1.25rem}.btn--full-width{width:100%}.btn--rounded{border-radius:var(--radius-full)}.btn--icon-only{flex-shrink:0;padding:0}.btn--icon-only.btn--xs{width:1.625rem}.btn--icon-only.btn--sm{width:2rem}.btn--icon-only.btn--md{width:2.25rem}.btn--icon-only.btn--lg{width:2.75rem}.btn--icon-only.btn--xl{width:3.25rem}@keyframes btn-spin{to{transform:rotate(360deg)}}.btn-spinner{flex-shrink:0;animation:.75s linear infinite btn-spin}
