.fast-scrollbar::-webkit-scrollbar{width:6px}.fast-scrollbar::-webkit-scrollbar-track{background:0 0}.fast-scrollbar::-webkit-scrollbar-thumb{background:#0003;border-radius:3px}.dark .fast-scrollbar::-webkit-scrollbar-thumb{background:#fff3}.fast-scrollbar::-webkit-scrollbar-thumb:hover{background:#0000004d}.dark .fast-scrollbar::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.fast-button-save{background:rgb(var(--color-secondary));border:none;transition:all .15s}.fast-button-save:hover:not(:disabled){background:rgb(var(--color-secondary-highlight))}.fast-button-save:active{transform:translateY(0)}.fast-button-secondary{background:#00000014;border:1px solid #0003;transition:all .15s}.dark .fast-button-secondary{background:#ffffff0d;border:1px solid #ffffff1a}.fast-button-secondary:hover{background:#00000026;border-color:#0000004d}.dark .fast-button-secondary:hover{background:#ffffff1a;border-color:#fff3}.fast-progress{background:rgb(var(--color-secondary));border-radius:2px;transition:width .3s}.dark .fast-progress{background:rgb(var(--color-secondary-dark))}.fast-input{background:#fff;border:1px solid #0003;transition:border-color .15s}.dark .fast-input{background:#ffffff0d;border:1px solid #ffffff1a}.fast-input:focus{border-color:rgb(var(--color-secondary));box-shadow:0 0 0 2px rgb(var(--color-secondary) / .2);background:#fff;outline:none}.dark .fast-input:focus{border-color:rgb(var(--color-secondary-dark));box-shadow:0 0 0 2px rgb(var(--color-secondary-dark) / .2);background:#ffffff14}.fast-input:hover:not(:focus){background:#f9fafb;border-color:#0000004d}.dark .fast-input:hover:not(:focus){background:#ffffff14;border-color:#fff3}.fast-input:disabled{opacity:.6;background:#0000000d;border-color:#0000001a}.dark .fast-input:disabled{background:#ffffff05;border-color:#ffffff0d}.fast-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.fast-input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.fast-input[type=number]{appearance:textfield}.fast-checkbox{background:0 0;border:2px solid #0003;border-radius:4px;width:18px;height:18px;transition:all .15s;position:relative}.dark .fast-checkbox{border-color:#ffffff4d}.fast-checkbox-checked{background:rgb(var(--color-secondary));border-color:rgb(var(--color-secondary))}.dark .fast-checkbox-checked{background:rgb(var(--color-secondary-dark));border-color:rgb(var(--color-secondary-dark))}.fast-switch{background:#00000014;border:1px solid #00000026;border-radius:9999px;align-items:center;width:40px;height:22px;padding:2px;transition:background .15s,border-color .15s;display:inline-flex;position:relative}.dark .fast-switch{background:#ffffff26;border:1px solid #fff3}.fast-switch-on{background:rgb(var(--color-secondary));border-color:rgb(var(--color-secondary))}.dark .fast-switch-on{background:rgb(var(--color-secondary-dark));border-color:rgb(var(--color-secondary-dark))}.fast-switch-thumb{background:#fff;border-radius:9999px;width:18px;height:18px;transition:transform .15s;transform:translate(0);box-shadow:0 1px 2px #00000040}.fast-switch-on .fast-switch-thumb{transform:translate(18px)}.fast-upload-button{background:rgb(var(--color-secondary));transition:all .15s}.fast-upload-button:hover{background:rgb(var(--color-secondary-highlight))}.fast-divider{background:#ffffff1a;height:1px}.fast-multiselect{background:#00000008;border:1px solid #0000001a}.dark .fast-multiselect{background:#ffffff08;border:1px solid #ffffff1a}.fast-multiselect-item{border-radius:8px;transition:background-color .15s}.fast-multiselect-item:hover{background:#0000000d}.dark .fast-multiselect-item:hover{background:#ffffff0d}.fast-multiselect-item-selected{background:rgb(var(--color-secondary) / .15);border:1px solid rgb(var(--color-secondary) / .3)}.dark .fast-multiselect-item-selected{background:rgb(var(--color-secondary-dark) / .15);border:1px solid rgb(var(--color-secondary-dark) / .3)}.field-highlight-error{border-color:#ef4444!important;box-shadow:0 0 0 3px #ef44444d!important}.field-highlight-error:focus{border-color:#ef4444!important;box-shadow:0 0 0 3px #ef444466!important}.field-shake{animation:.5s ease-in-out field-shake}@keyframes field-shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}
