@layer vuetify-components {
  .v-fab {
    align-items: center;
    display: inline-flex;
    flex: 1 1 auto;
    pointer-events: none;
    position: relative;
    transition-duration: 0.2s;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    vertical-align: middle;
  }
  .v-fab .v-btn {
    pointer-events: auto;
  }
  .v-fab .v-btn--variant-elevated {
    box-shadow: 0px 1px 3px 0px rgba(var(--v-shadow-color), var(--v-shadow-key-opacity, 0.3)), 0px 4px 8px 3px rgba(var(--v-shadow-color), var(--v-shadow-ambient-opacity, 0.15));
    --v-elevation-overlay: color-mix(in srgb, var(--v-elevation-overlay-color) 6%, transparent);
  }
  .v-fab .v-btn--variant-elevated:hover {
    box-shadow: 0px 2px 3px 0px rgba(var(--v-shadow-color), var(--v-shadow-key-opacity, 0.3)), 0px 6px 10px 4px rgba(var(--v-shadow-color), var(--v-shadow-ambient-opacity, 0.15));
    --v-elevation-overlay: color-mix(in srgb, var(--v-elevation-overlay-color) 8%, transparent);
  }
  .v-fab--app, .v-fab--absolute {
    display: flex;
  }
  .v-fab--absolute {
    position: absolute;
    inset: 0;
  }
  .v-fab--start, .v-fab--left {
    justify-content: flex-start;
  }
  .v-fab--center {
    align-items: center;
    justify-content: center;
  }
  .v-fab--end, .v-fab--right {
    justify-content: flex-end;
  }
  .v-fab--bottom {
    align-items: flex-end;
  }
  .v-fab--top {
    align-items: flex-start;
  }
}
@layer vuetify-overrides {
  .v-fab--extended .v-btn {
    border-radius: 9999px;
  }
}
@layer vuetify-components {
  .v-fab__container {
    align-self: center;
    display: inline-flex;
    vertical-align: middle;
  }
  .v-fab--app .v-fab__container {
    margin: 12px;
    position: fixed;
  }
  .v-fab--absolute .v-fab__container {
    position: absolute;
    z-index: 4;
  }
  .v-fab--offset.v-fab--top .v-fab__container {
    transform: translateY(-50%);
  }
  .v-fab--offset.v-fab--bottom .v-fab__container {
    transform: translateY(50%);
  }
  .v-fab--top .v-fab__container {
    top: 0;
  }
  .v-fab--bottom .v-fab__container {
    bottom: 0;
  }
  .v-fab--left .v-fab__container, .v-fab--start .v-fab__container {
    left: 0;
  }
  .v-fab--right .v-fab__container, .v-fab--end .v-fab__container {
    right: 0;
  }
}