.btn{--btn-bg:var(--color-primary);--btn-color:var(--color-white);--btn-border:var(--color-primary);--btn-hover-bg:rgba(82,40,132,.9);--btn-hover-border:rgba(82,40,132,.9);--btn-active-bg:rgba(82,40,132,.9);--btn-active-border:rgba(82,40,132,.9);--btn-disabled-opacity:0.65;--btn-focus-shadow:0 0 0 0.2rem rgba(82,40,132,.25);font-weight:500;text-align:center;white-space:nowrap;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;user-select:none;border:1px solid var(--btn-border);padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-base);line-height:1.5;border-radius:var(--border-radius-md);transition:var(--transition-medium);cursor:pointer;position:relative;overflow:hidden;background-color:var(--btn-bg);color:var(--btn-color);gap:.5rem}.btn,.btn-icon{display:inline-flex;align-items:center;justify-content:center}.btn-icon{flex-shrink:0}.start-icon{margin-right:.5rem;margin-left:-.25rem}.end-icon{margin-left:.5rem;margin-right:-.25rem}.btn-content{display:inline-flex;align-items:center;justify-content:center}.btn-loading-spinner{display:inline-block;width:1em;height:1em;border:.2em solid;border-right:.2em solid transparent;border-radius:50%;animation:button-spin .75s linear infinite;margin-right:.5em}@keyframes button-spin{to{transform:rotate(1turn)}}.btn:hover:not(:disabled){background-color:var(--btn-hover-bg);border-color:var(--btn-hover-border);color:var(--btn-color)}.btn:focus{outline:0;box-shadow:var(--btn-focus-shadow)}.btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn.btn-disabled,.btn:disabled{opacity:var(--btn-disabled-opacity);color:var(--btn-color);background-color:var(--btn-bg);border-color:var(--btn-border);cursor:not-allowed;pointer-events:auto}.btn-sm{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:var(--border-radius-sm);gap:.375rem}.btn-sm .btn-icon{font-size:.875em}.btn-small{padding:12px 25px}.btn-lg{padding:.75rem 1.5rem;font-size:1.125rem;line-height:1.5;border-radius:var(--border-radius-lg);gap:.625rem}.btn-xl{padding:16px 40px;border-radius:48px;gap:2px}.btn-lg .btn-icon{font-size:1.125em}.btn-primary{--btn-bg:var(--color-primary);--btn-color:var(--color-white);--btn-border:var(--color-primary);--btn-hover-bg:rgba(82,40,132,.9);--btn-hover-border:rgba(82,40,132,.9)}.btn-secondary{--btn-bg:var(--color-secondary);--btn-color:var(--color-white);--btn-border:var(--color-secondary);--btn-hover-bg:rgba(207,83,0,.9);--btn-hover-border:rgba(207,83,0,.9)}.btn-outline{--btn-color:var(--color-primary);--btn-border:var(--color-primary);--btn-hover-bg:var(--color-primary-light);--btn-hover-border:var(--color-primary);--btn-hover-color:var(--color-primary);border:1px solid var(--btn-border)}.btn-primary-outline{--btn-bg:transparent;--btn-color:var(--color-neutral-2);--btn-border:var(--color-gray-light);--btn-hover-bg:var(--color-primary-light);--btn-hover-border:var(--color-primary);--btn-hover-color:var(--color-primary);border:1px solid var(--color-gray-light)}.btn-text{--btn-bg:transparent;--btn-color:var(--color-primary);--btn-border:transparent;--btn-hover-bg:var(--color-primary-light);--btn-hover-border:transparent;--btn-focus-shadow:none;padding:.5rem .75rem;text-decoration:none;border:none;box-shadow:none}.btn-text:hover:not(:disabled){text-decoration:underline;background-color:var(--btn-hover-bg);transform:none}.btn-danger{--btn-bg:var(--color-danger);--btn-color:var(--color-white);--btn-border:var(--color-danger);--btn-hover-bg:var(--color-danger-hover);--btn-hover-border:var(--color-danger-hover)}.btn-red{--btn-bg:var(--color-red);--btn-color:var(--color-white);--btn-border:var(--color-red);--btn-hover-bg:var(--color-red);--btn-hover-border:var(--color-red)}.btn-success{--btn-bg:var(--color-success);--btn-color:var(--color-white);--btn-border:var(--color-success);--btn-hover-bg:var(--color-success-hover);--btn-hover-border:var(--color-success-hover)}.btn-warning{--btn-bg:var(--color-warning);--btn-color:var(--color-dark);--btn-border:var(--color-warning);--btn-hover-bg:var(--color-warning-hover);--btn-hover-border:var(--color-warning-hover)}.btn-info{--btn-bg:var(--color-info);--btn-color:var(--color-white);--btn-border:var(--color-info);--btn-hover-bg:var(--color-info-hover);--btn-hover-border:var(--color-info-hover)}.btn-light{--btn-bg:var(--color-light);--btn-color:var(--color-dark);--btn-border:var(--color-gray-300);--btn-hover-bg:var(--color-gray-200);--btn-hover-border:var(--color-gray-300)}.btn-dark{--btn-bg:var(--color-dark);--btn-color:var(--color-white);--btn-border:var(--color-dark);--btn-hover-bg:#23272b;--btn-hover-border:#1d2124}.w-100{width:100%}.hover-danger-action:hover{--btn-bg:var(--color-danger)!important;--btn-color:var(--color-white)!important;--btn-border:var(--color-danger)!important;--btn-hover-bg:var(--color-danger-hover)!important;--btn-hover-border:var(--color-danger-hover)!important}.btn-ripple{position:absolute;border-radius:50%;background-color:hsla(0,0%,100%,.7);transform:scale(0);animation:ripple .6s linear;pointer-events:none}@keyframes ripple{to{transform:scale(4);opacity:0}}.btn-loading{position:relative;color:transparent!important;pointer-events:none}.btn-loading>:not(.btn-loading-spinner){opacity:0}.btn-loading .btn-loading-spinner{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);margin:0}.btn-outline{--btn-bg:transparent;--btn-color:var(--color-gray-700);--btn-border:transparent;--btn-hover-bg:transparent;--btn-hover-border:transparent;--btn-focus-shadow:none;border:1px solid var(--color-gray-light);background-color:var(--color-white);color:var(--color-gray-700);transition:all .3s ease}.btn-outline:hover:not(:disabled){background-color:var(--color-gray-light);color:var(--color-primary)}